@font-face{font-family:"Nimbus Sans";src:url("assets/fonts/NimbusSans-Regular.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Nimbus Sans";src:url("assets/fonts/NimbusSans-Bold.otf") format("opentype");font-style:normal;font-weight:700;font-display:swap}

:root{
  --gadi-bone:#F3F0E8;
  --gadi-ink:#0D0D0F;
  --gadi-white:#FFFFFF;
  --gadi-cobalt:#315CFF;
  --gadi-cobalt-dark:#6F8EFF;
  --gadi-muted:#6F706F;
  --gadi-muted-dark:#AAA9A5;
  --gadi-line:rgba(13,13,15,.16);
  --gadi-line-dark:rgba(243,240,232,.18);
  --gadi-font:"Nimbus Sans",sans-serif;
}
html[data-theme="light"]{
  --gadi-bg:var(--gadi-bone);--gadi-fg:var(--gadi-ink);--gadi-paper:var(--gadi-white);--gadi-accent:var(--gadi-cobalt);--gadi-ui-muted:var(--gadi-muted);--gadi-ui-line:var(--gadi-line);
  --bg:var(--gadi-bone);--fg:var(--gadi-ink);--bone:var(--gadi-bone);--ink:var(--gadi-ink);--paper:var(--gadi-white);--white:var(--gadi-white);
  --blue:var(--gadi-cobalt);--accent:var(--gadi-cobalt);--cobalt-light:var(--gadi-cobalt);--muted:var(--gadi-muted);--line:var(--gadi-line);--rule:rgba(13,13,15,.18);
  --control-bg:rgba(255,255,255,.88);--control-border:rgba(13,13,15,.18);--control-shadow:0 8px 28px rgba(13,13,15,.08);
}
html[data-theme="dark"]{
  --gadi-bg:var(--gadi-ink);--gadi-fg:var(--gadi-bone);--gadi-paper:#141416;--gadi-accent:var(--gadi-cobalt-dark);--gadi-ui-muted:var(--gadi-muted-dark);--gadi-ui-line:var(--gadi-line-dark);
  --bg:var(--gadi-ink);--fg:var(--gadi-bone);--bone:var(--gadi-ink);--ink:var(--gadi-bone);--paper:#141416;--white:#141416;
  --blue:var(--gadi-cobalt-dark);--accent:var(--gadi-cobalt-dark);--cobalt-dark:var(--gadi-cobalt-dark);--muted:var(--gadi-muted-dark);--line:var(--gadi-line-dark);--rule:rgba(243,240,232,.22);
  --control-bg:rgba(20,20,22,.9);--control-border:rgba(243,240,232,.18);--control-shadow:0 10px 30px rgba(0,0,0,.28);
}
html{color-scheme:light;scroll-behavior:smooth}
html[data-theme="dark"]{color-scheme:dark}
body{background:var(--gadi-bg)!important;color:var(--gadi-fg)!important;font-family:var(--gadi-font)!important;font-style:normal!important;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body :where(h1,h2,h3,h4,h5,h6,.project-title,.section-heading,.section05-title,.section06-title,.section-title,.kicker,.section-kicker,.eyebrow,.intro-eyebrow-row,.header-nav,.theme-control){font-style:normal}
body :where(button,a){font-family:inherit}
.container{width:min(1320px,calc(100% - 120px));margin-inline:auto}

.site-bar{position:sticky!important;top:0!important;z-index:100!important;padding:18px 0 10px!important;background:color-mix(in srgb,var(--gadi-bg) 90%,transparent)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-bar-inner{display:flex!important;align-items:center!important;min-height:52px!important}
.brand-link{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;text-decoration:none!important}
.brand-mark{width:108px!important;height:auto!important;display:block!important;flex:0 0 auto!important}.brand-mark.reverse{display:none!important}html[data-theme="dark"] .brand-mark.primary{display:none!important}html[data-theme="dark"] .brand-mark.reverse{display:block!important}
.header-nav{margin-left:auto;margin-right:154px;display:flex;align-items:center;gap:28px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.header-nav .nav-link{color:var(--gadi-ui-muted);text-decoration:none}.header-nav .nav-link.active{color:var(--gadi-accent)}.header-nav .nav-link[href]:hover{color:var(--gadi-fg)}.header-nav .nav-link[href]:focus-visible{outline:2px solid var(--gadi-accent);outline-offset:4px}.header-nav .is-planned{cursor:default}
.theme-control{position:fixed!important;top:18px!important;right:24px!important;z-index:200!important;display:inline-flex!important;min-height:38px!important;padding:2px!important;border:1px solid var(--control-border)!important;border-radius:999px!important;background:var(--control-bg)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--control-shadow)!important}
.theme-control button{min-height:34px!important;min-width:58px!important;padding:0 12px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--gadi-fg)!important;font:700 11px/1 var(--gadi-font)!important;letter-spacing:.08em!important;cursor:pointer!important}
.theme-control button[aria-pressed="true"]{background:var(--gadi-fg)!important;color:var(--gadi-bg)!important}.theme-control button:focus-visible{outline:2px solid var(--gadi-accent)!important;outline-offset:3px!important}

.hero h1,.project-title{font-family:var(--gadi-font)!important;font-size:clamp(64px,6vw,88px)!important;line-height:.93!important;letter-spacing:-.05em!important;font-weight:700!important}
.case-copy h2,.section-title h2,.section-heading,.section05-title,.section06-title,#approved-s02 .copy h2,#approved-s03 .copy h2{font-family:var(--gadi-font)!important;font-size:clamp(46px,4.3vw,66px)!important;line-height:.96!important;letter-spacing:-.045em!important;font-weight:700!important}
.kicker,.section-kicker,.eyebrow,.intro-eyebrow-row{font-family:var(--gadi-font)!important;font-size:12px!important;line-height:1!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--gadi-accent)!important}
.hero .lead,.hero> .container>p,.project-intro-copy,.section-title>p,.section05-copy,.section06-copy,#approved-s02 .copy p,#approved-s03 .copy p{font-family:var(--gadi-font)!important;font-size:20px!important;line-height:1.52!important}

.case-link,.visit-cta,.gallery-trigger,.ghost-link,.report-link,.text-link{font-family:var(--gadi-font)!important;font-style:normal!important}

.other-work-placeholder{color:inherit;text-decoration:none}.closing h2 a,.closing-copy h2 a{color:inherit;text-decoration:none}.closing h2 a:hover,.closing-copy h2 a:hover{color:var(--gadi-accent)}

/* GADI typography lock: exact normal/bold face aliases, never synthetic italic. */
body :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,a,button,label,figcaption){font-family:var(--gadi-font)!important;font-style:normal!important;font-synthesis:none!important}
.gm3-full,.gm3-full :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,a,button,label,figcaption,div){font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important}

/* Shared cross-case-study navigation. */
.gadi-more-cases{padding:112px 0 120px;border-top:1px solid var(--gadi-ui-line);background:var(--gadi-bg)}
.gadi-more-head{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:40px}
.gadi-more-kicker{grid-column:1/3;margin:0;color:var(--gadi-accent);font-size:12px;line-height:1;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gadi-more-title{grid-column:4/11;margin:0;font-size:clamp(38px,3.6vw,54px);line-height:.98;letter-spacing:-.04em;font-weight:700}
.gadi-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gadi-more-card{min-height:260px;padding:28px;border:1px solid var(--gadi-ui-line);display:flex;flex-direction:column;color:var(--gadi-fg);text-decoration:none;background:transparent;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.gadi-more-card:hover{transform:translateY(-3px);border-color:var(--gadi-accent);background:var(--gadi-paper)}
.gadi-more-card:focus-visible{outline:2px solid var(--gadi-accent);outline-offset:4px}
.gadi-more-meta{font-size:11px;line-height:1;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gadi-accent)}
.gadi-more-card strong{display:block;margin-top:auto;font-size:34px;line-height:1;letter-spacing:-.035em;font-weight:700}
.gadi-more-card p{margin:14px 0 0;max-width:480px;color:var(--gadi-ui-muted);font-size:15px;line-height:1.5}
.gadi-more-cta{display:block;margin-top:24px;font-size:11px;line-height:1;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

@media(max-width:900px){
  .gadi-more-cases{padding:88px 0 96px}.gadi-more-head{display:block;margin-bottom:28px}.gadi-more-title{margin-top:20px;font-size:44px}.gadi-more-grid{grid-template-columns:1fr}.gadi-more-card{min-height:220px}

  .container{width:min(100% - 48px,720px)}.header-nav{display:none!important}
  .hero h1,.project-title{font-size:56px!important}.case-copy h2,.case-copy h2,.section-title h2,.section-heading,.section05-title,.section06-title,#approved-s02 .copy h2,#approved-s03 .copy h2{font-size:44px!important}
  .hero .lead,.hero> .container>p,.project-intro-copy,.section-title>p,.section05-copy,.section06-copy,#approved-s02 .copy p,#approved-s03 .copy p{font-size:18px!important}
}
@media(max-width:520px){
  .gadi-more-cases{padding:72px 0 80px}.gadi-more-title{font-size:38px}.gadi-more-card{min-height:190px;padding:24px}.gadi-more-card strong{font-size:30px}

  .container{width:calc(100% - 48px)}.brand-mark{width:94px!important}.theme-control{top:14px!important;right:12px!important}.theme-control button{min-width:52px!important;min-height:30px!important;padding:0 10px!important;font-size:10px!important}
  .hero h1,.project-title{font-size:46px!important}.case-copy h2,.case-copy h2,.section-title h2,.section-heading,.section05-title,.section06-title,#approved-s02 .copy h2,#approved-s03 .copy h2{font-size:38px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
