/* Shared portfolio accent: exact favicon colour. */
:root{--portfolio-forest:#313210;--portfolio-ink:#262818;--portfolio-tint:#f3f3ed;--portfolio-line:#dcddd0}
.portfolio-intro h1,.site-header .logo,.project-cover .title{color:var(--portfolio-forest)!important}
.site-header nav a{transition:color .15s}.site-header nav a:hover,.site-header nav a.active{color:var(--portfolio-forest)!important}
.ngo-case{--ngo-green:#313210;--ngo-ink:#262818;--ngo-soft:#f3f3ed;--ngo-line:#dcddd0;--ngo-sand:#eeeee4;color:var(--ngo-ink)}
.ngo-case .ngo-eyebrow,.ngo-case .ngo-back,.ngo-case h1,.ngo-case .ngo-split h2,.ngo-case .project-showcase h2{color:#313210}
.ngo-case .ngo-closing .ngo-eyebrow{color:#e2e3d3}.ngo-case .ngo-closing{background:#313210;color:#fafaf5}.ngo-case .ngo-closing h2{color:#fafaf5}.ngo-case .ngo-disclosure{border-color:#74754d;color:#e2e3d3}
.ngo-case .ngo-callout{border-color:#73754d}.ngo-case a:focus-visible{outline-color:#727547}.ngo-case .ngo-flow{background:#f3f3ed}
.ngo-case .case-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:32px;border:1px solid #dcddd0;border-radius:18px;width:100%}
.ngo-case .ngo-section{width:100%;min-width:0}.ngo-case .ngo-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.unified-case .ngo-intro{max-width:1000px}.unified-case .ngo-intro>p:last-child{max-width:760px}.unified-case h1{font-size:clamp(46px,6.8vw,88px)}
.project-cover-hero{position:relative;overflow:hidden;border-radius:18px;background:#f3f3ed}.project-cover-hero>img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover}.project-cover-hero>.project-brand-badge{position:absolute;width:85px;padding:10px;right:5%;bottom:5%;background:#fff;border-radius:5px}.project-brand-badge img{width:100%;height:auto}
.ngo-case .project-figure{min-width:0;margin:0}.project-figure>a{display:block;overflow:hidden;border-radius:12px;background:#fff}.project-figure img{width:100%;height:auto;object-fit:contain}.project-figure a:focus-visible{outline:3px solid #313210;outline-offset:5px}
.project-gallery{display:grid;gap:26px;margin:36px 0 0}.project-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}.project-gallery .project-figure{padding:20px;background:#f3f3ed;border:1px solid #e3e4d9;border-radius:18px}.project-gallery .project-figure img{border-radius:4px}.project-gallery figcaption{font-size:12px}.project-gallery.phones{align-items:start;gap:34px}.project-gallery.phones .project-figure{padding:22px}.project-gallery.phones img{max-height:660px;object-fit:contain}.project-gallery.entry-mobile{max-width:720px;margin-left:auto;margin-right:auto}.project-gallery.entry-mobile .project-figure{padding:28px}.project-gallery.sms{max-width:800px;margin-left:auto;margin-right:auto}
.project-showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:90px;align-items:start}.showcase-copy{position:sticky;top:45px}.showcase-copy>p:not(.ngo-eyebrow){margin-top:28px}.project-showcase .phone-long{max-width:375px;justify-self:center;padding:18px;background:#f3f3ed;border:1px solid #dcddd0;border-radius:20px}.project-decisions{padding:0;list-style:none;counter-reset:decision;margin-top:36px}.project-decisions li{padding:20px 0;border-top:1px solid #dcddd0}.project-decisions strong{display:block;font-size:16px;font-weight:500}.project-decisions span{display:block;font-size:14px;color:#5b604e;margin-top:5px}
.project-section-lead{max-width:740px;margin-top:26px!important}.project-annotated{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:28px;align-items:center;margin-top:38px;padding:28px;background:#f3f3ed;border-radius:18px;border:1px solid #dcddd0}.project-annotated figure{min-width:0}.interface-crop{overflow:hidden;position:relative;width:100%;border-radius:12px;background:#fff;border:1px solid #dcddd0}.interface-crop img{position:absolute;display:block}.project-annotation{border:1.5px solid #77794e;border-radius:16px;padding:25px;background:#fbfbf7}.project-annotation h3{font-size:23px;color:#313210}.project-annotation p{font-size:14px;line-height:1.7;margin-top:18px}.project-annotation .annotation-note{font-size:13px;color:#565a3e;border-top:1px solid #dcddd0;padding-top:16px;margin-bottom:0}.annotation-number{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;background:#e5e6d7;border-radius:10px;font-size:12px;color:#313210;margin-bottom:18px}
.project-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.project-insights>div{padding:25px;border-top:2px solid #73754d;background:#f3f3ed;border-radius:0 0 16px 16px}.project-insights span{display:block;font-size:12px;color:#656847;margin-bottom:20px}.project-insights p{font-size:14px;margin-top:14px}.ngo-case .store-photo{max-width:600px;margin:38px auto 0;padding:22px;border-radius:18px;background:#f3f3ed}.store-photo img{max-height:620px;object-fit:contain}.terminal-flow .project-figure img{aspect-ratio:1.5;object-fit:contain}
.project-footer{display:flex;justify-content:space-between;gap:24px;padding-top:28px;border-top:1px solid #dcddd0;font-size:14px;margin-top:50px}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:90px;align-items:start}.about-layout>div{padding-top:20px}.about-layout figure{border-radius:18px;overflow:hidden}.about-layout img{width:100%;height:auto;max-height:660px;object-fit:cover}.project-contact{display:inline-block!important;margin-top:25px;font-size:24px;font-family:Manrope,sans-serif}.project-contact span{display:block;font-family:Inter,sans-serif;font-size:14px;margin-top:8px}.ngo-case .about-layout~.ngo-panel{margin-bottom:65px}
@media(max-width:760px){.ngo-case .case-summary{grid-template-columns:minmax(0,1fr);padding:25px}.ngo-case .ngo-split{grid-template-columns:minmax(0,1fr)}.unified-case h1{font-size:clamp(40px,9vw,65px)}.project-cover-hero>img{aspect-ratio:1.2}.project-cover-hero>.project-brand-badge{width:65px}.project-gallery.two,.project-gallery.three{grid-template-columns:minmax(0,1fr)}.project-gallery{gap:22px}.project-gallery .project-figure{padding:16px}.project-gallery.phones{grid-template-columns:minmax(0,1fr);max-width:380px;margin-left:auto;margin-right:auto}.project-gallery.entry-mobile{max-width:380px}.project-showcase{grid-template-columns:minmax(0,1fr);gap:35px}.showcase-copy{position:static}.project-annotated{grid-template-columns:minmax(0,1fr);padding:16px;gap:20px}.project-annotation{padding:22px}.project-annotation h3{font-size:22px}.project-insights{grid-template-columns:minmax(0,1fr);gap:20px}.project-footer{flex-direction:column}.about-layout{grid-template-columns:minmax(0,1fr);gap:30px}.about-layout figure{max-width:480px}.about-layout img{max-height:560px}.project-gallery.phones img{max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{transition:none!important;animation:none!important}}

.project-cover-hero.minor-hero{border:1px solid #dcddd0}.project-cover-hero.minor-hero>img{aspect-ratio:auto;max-height:680px;object-fit:contain}

/* Supplied logos: consistent placement, white edge and radius. */
.ngo-brand.supplied-brand{padding:8px!important;border-radius:4px!important;background:#fff!important}.ngo-brand.supplied-brand>img{position:static!important;transform:none!important;filter:none!important;max-width:100%!important;width:100%!important;height:auto!important;border-radius:0!important}
.project-cover-hero.minor-hero{aspect-ratio:1.65;position:relative}.project-cover-hero.minor-hero>img{width:100%;height:100%;max-height:none;aspect-ratio:1.65;object-fit:cover}.minor-hero .lf-exact-brand{isolation:isolate;width:85px!important;padding:10px!important;right:5%!important;bottom:5%!important;border-radius:5px!important}.minor-hero .lf-exact-brand::before{content:"";position:absolute;inset:-10px;background:#fff;z-index:-1;border-radius:5px}
.project-brand-badge.systembolaget-brand{width:calc(10% + 16px);padding:4px!important;border-radius:5px;background:#fff}.ngo-case .project-brand-badge.systembolaget-brand{width:110px;padding:4px!important}.systembolaget-brand img{display:block;width:100%;height:auto;filter:none!important}.ngo-flow-crop{background:#f8f8f2!important}
@media(max-width:760px){.project-cover-hero.minor-hero{aspect-ratio:1.2}.project-cover-hero.minor-hero>img{aspect-ratio:1.2}.minor-hero .lf-exact-brand{width:65px!important}.ngo-case .project-brand-badge.systembolaget-brand{width:85px}}
.systembolaget-cover .project-brand-badge.systembolaget-brand{width:calc(17% + 8px);padding:4px!important}

.ngo-case .ngo-flow-crop img{margin:0!important;width:100%;height:auto;min-width:0;max-width:100%}@media(max-width:760px){.ngo-case .ngo-flow-crop img{min-width:760px;max-width:none}}
/* Hide the logo baked into the original white KYC artwork beneath the shared badge. */
.project-cover-hero.minor-hero::after{content:"";position:absolute;right:0;bottom:0;width:27%;height:27%;background:#fff;z-index:1}.minor-hero .lf-exact-brand{z-index:2}.minor-hero .lf-exact-brand::before{display:none}
.minors-cover .cover-image-wrap::before{content:"";position:absolute;right:0;bottom:0;width:27%;height:27%;background:#fff;z-index:1}.minors-cover .project-brand-badge{z-index:2}.minors-cover .project-brand-badge::before{display:none}
/* KYC logo: 48px mark, exactly 16px white padding, 8px corner radius. */
.minors-cover .cover-image-wrap,.project-cover-hero.minor-hero{background:#fff!important}
.minors-cover .cover-image-wrap::before,.project-cover-hero.minor-hero::after{display:none!important}
.minors-cover .cover__img,.project-cover-hero.minor-hero>img{clip-path:inset(0 0 24% 0)}
.minors-cover .project-brand-badge,.project-cover-hero.minor-hero .project-brand-badge.lf-exact-brand{box-sizing:content-box!important;width:48px!important;height:48px!important;padding:16px!important;border:0!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important;isolation:auto!important;z-index:2}
.minors-cover .project-brand-badge::before,.minor-hero .lf-exact-brand::before{display:none!important}
.minors-cover .project-brand-badge img,.minor-hero .lf-exact-brand img{display:block!important;width:48px!important;height:48px!important;max-width:none!important;border-radius:0!important;clip-path:none!important}
/* KYC uses the same badge and mark dimensions as the two other LF projects. */
.minors-cover .project-brand-badge{box-sizing:border-box!important;width:calc(7.2% + 16px)!important;height:auto!important;padding:8px!important;border-radius:8px!important}
.project-cover-hero.minor-hero .project-brand-badge.lf-exact-brand{box-sizing:border-box!important;width:85px!important;height:auto!important;padding:10px!important;border-radius:8px!important}
.minors-cover .project-brand-badge img,.minor-hero .lf-exact-brand img{width:100%!important;height:auto!important;max-width:100%!important}
@media(max-width:760px){.project-cover-hero.minor-hero .project-brand-badge.lf-exact-brand{width:65px!important}}
/* Systembolaget mark without a white badge. */
.project-brand-badge.systembolaget-brand,.ngo-case .project-brand-badge.systembolaget-brand,.systembolaget-cover .project-brand-badge.systembolaget-brand{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}
/* Keep the name's existing typography stable; hover only adds an underline. */
body .site-header .logo a,body .site-header .logo a:hover{font-family:"Manrope",Arial,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:20px;letter-spacing:-.025em}
body .site-header .logo a:hover{text-decoration:underline;text-underline-offset:4px}
