:root{
  --ink:#0b1418;
  --ink-2:#14242b;
  --paper:#f2f2ee;
  --white:#fff;
  --sea:#5fd4cf;
  --sea-dark:#174e50;
  --muted:#6f7b7f;
  --line:rgba(11,20,24,.15);
  --line-light:rgba(255,255,255,.18);
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"DM Mono",monospace;
  --shell:min(1480px,calc(100vw - 96px));
  --header:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.45;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}
.shell{width:var(--shell);margin-inline:auto}.section-xl{padding:150px 0}
em{font-family:var(--serif);font-weight:400;font-style:italic}
.micro{font-family:var(--mono);font-size:10px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}.micro.light{color:#d0e2e3}
.text-link{display:inline-flex;align-items:center;gap:14px;margin-top:28px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;z-index:80;left:0;right:0;top:0;height:var(--header);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:34px;padding:0 max(48px,calc((100vw - 1480px)/2));color:#fff;transition:background .3s,color .3s,border-color .3s}
.site-header.is-scrolled,.page-about .site-header,.page-services .site-header,.page-contact .site-header,.page-service-detail .site-header{background:rgba(242,242,238,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.page-home .site-header:not(.is-scrolled){text-shadow:0 1px 10px rgba(0,0,0,.62)}
.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;gap:5px;width:34px}.brand-mark i{height:2px;background:currentColor;transform:skewX(-24deg)}.brand-mark i:last-child{width:68%;margin-left:24%}.brand-word{font-size:16px;font-weight:600;letter-spacing:.28em;white-space:nowrap}
.site-nav{justify-self:center;display:flex;gap:32px}.site-nav a{font-size:12px;font-weight:500;position:relative;padding:10px 0}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:currentColor;transition:.25s}.site-nav a:hover:after,.site-nav a[aria-current="page"]:after{right:0}
.header-contact{justify-self:end;display:flex;align-items:center;gap:13px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.header-contact b{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;font-weight:400}
.menu-toggle{display:none;background:transparent;border:0;color:inherit;width:42px;height:42px}.menu-toggle i{display:block;height:1px;background:currentColor;margin:7px 0}

/* Hero */
.hero{position:relative;height:100vh;min-height:760px;background:#071117;color:#fff;overflow:hidden}
.hero-video,.hero-poster,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-poster{z-index:0;background-size:cover;background-position:center;opacity:1;transition:opacity .8s ease}.hero-video{z-index:1;object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease}.video-ready .hero-video{opacity:1}.video-ready .hero-poster{opacity:0}.hero-overlay{z-index:2;background:linear-gradient(90deg,rgba(3,10,14,.60) 0%,rgba(3,10,14,.28) 44%,rgba(3,10,14,.14) 72%),linear-gradient(180deg,rgba(3,10,14,.56) 0%,rgba(3,10,14,.18) 32%,rgba(3,10,14,.80) 100%);pointer-events:none}
.hero:after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:58%;background:linear-gradient(180deg,transparent,rgba(3,10,14,.38));pointer-events:none}.hero-grid{position:relative;z-index:3;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;padding-top:calc(var(--header) + 38px);padding-bottom:56px}.hero-meta{grid-column:1/-1;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#f2f6f6;text-shadow:0 1px 8px rgba(0,0,0,.7)}.hero-copy{align-self:end;max-width:900px;grid-column:1/-1}.hero .micro.light{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.75)}
.hero-copy h1{font-size:clamp(74px,7.3vw,132px);line-height:.82;letter-spacing:-.055em;font-weight:500;margin:20px 0 28px;max-width:1120px;text-shadow:0 2px 22px rgba(0,0,0,.34)}.hero-copy h1 em{color:#c9f2ee}.hero-lead{max-width:690px;font-size:17px;line-height:1.7;color:#f4f8f8;margin:0;text-shadow:0 1px 12px rgba(0,0,0,.56)}.hero-scroll{align-self:end;justify-self:end;display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.hero-scroll b{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-weight:400}.hero-wordmark{position:absolute;z-index:3;right:-.03em;bottom:-.1em;font-size:clamp(110px,18vw,320px);line-height:.65;letter-spacing:-.07em;font-weight:600;color:rgba(255,255,255,.055);white-space:nowrap;pointer-events:none}

/* Manifesto */
.manifesto{display:grid;grid-template-columns:120px 1.45fr .75fr;gap:5vw;align-items:start}.manifesto-label{padding-top:12px}.manifesto-head h2{font-size:clamp(66px,6.4vw,112px);line-height:.88;letter-spacing:-.05em;font-weight:500;margin:0}.manifesto-copy{padding-top:12px}.manifesto-copy p{font-size:16px;line-height:1.85;color:#4f6066;margin:0;max-width:560px}

/* Expertise */
.expertise{background:var(--ink);color:#fff;padding:130px 0 0}.expertise-head{display:grid;grid-template-columns:180px 1fr;gap:5vw;align-items:start;padding-bottom:80px}.expertise-head h2{font-size:clamp(62px,6vw,108px);line-height:.86;letter-spacing:-.055em;font-weight:500;margin:0}.expertise-list{border-top:1px solid var(--line-light)}
.expertise-row{position:relative;display:block;border-bottom:1px solid var(--line-light);overflow:hidden}.expertise-row-inner{position:relative;z-index:2;display:grid;grid-template-columns:80px 1.1fr 1fr 42px;gap:36px;align-items:center;min-height:175px}.expertise-no{font-family:var(--mono);font-size:10px;color:#8fb0b2}.expertise-title small{display:block;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#8fb0b2;margin-bottom:7px}.expertise-title h3{font-family:var(--serif);font-size:clamp(34px,3.2vw,54px);font-weight:400;margin:0;line-height:.98}.expertise-row p{font-size:13px;line-height:1.65;color:#b8c8ca;max-width:540px;margin:0}.expertise-arrow{font-size:25px;font-weight:300}.expertise-thumb{position:absolute;right:11vw;top:50%;width:310px;height:190px;transform:translateY(-50%) scale(.92);opacity:0;z-index:1;transition:.35s ease;pointer-events:none}.expertise-thumb img{width:100%;height:100%;object-fit:cover}.expertise-row:hover .expertise-thumb{opacity:.38;transform:translateY(-50%) scale(1)}.expertise-row:hover .expertise-row-inner{background:linear-gradient(90deg,rgba(95,212,207,.05),transparent)}

/* Visual grid */
.visual-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 340px 240px;gap:24px}.visual-grid-copy{padding-right:7vw}.visual-grid-copy h2{font-size:clamp(58px,5.8vw,100px);line-height:.9;letter-spacing:-.05em;font-weight:500;margin:22px 0 28px}.visual-grid-copy p{font-size:15px;line-height:1.8;color:#56666c;max-width:620px}.visual-grid figure{margin:0;position:relative;overflow:hidden}.visual-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}.visual-grid figure:hover img{transform:scale(1.025)}.visual-grid figcaption{position:absolute;left:14px;bottom:12px;padding:8px 10px;background:rgba(242,242,238,.9);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.visual-a{grid-column:2;grid-row:1/3;min-height:620px}.visual-b{grid-column:1;grid-row:2/4}.visual-c{grid-column:2;grid-row:3}

/* Method */
.method{background:#dfe9e7;padding:130px 0}.method-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw}.method-title h2{font-size:clamp(60px,5.7vw,98px);line-height:.87;letter-spacing:-.055em;font-weight:500;margin:22px 0 0}.method-line{border-top:1px solid rgba(11,20,24,.22)}.method-line article{display:grid;grid-template-columns:70px 180px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid rgba(11,20,24,.22);align-items:start}.method-line article>span{font-family:var(--mono);font-size:10px;color:#46696b;padding-top:7px}.method-line h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:0}.method-line p{font-size:13px;line-height:1.75;color:#52656b;margin:4px 0 0;max-width:480px}

/* Origin */
.origin{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:start}.origin-year{font-size:clamp(150px,20vw,360px);line-height:.65;letter-spacing:-.08em;font-weight:600;color:#d2d7d4}.origin-copy{padding-top:28px}.origin-copy h2{font-size:clamp(60px,5.5vw,96px);line-height:.89;letter-spacing:-.052em;font-weight:500;margin:20px 0 28px}.origin-copy>p{font-size:15px;line-height:1.85;color:#56666c;max-width:620px}.origin-facts{display:flex;gap:50px;margin-top:38px}.origin-facts div{display:grid;gap:6px}.origin-facts strong{font-family:var(--serif);font-size:46px;font-weight:400}.origin-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#6e7b80;max-width:150px}

/* Closing image */
.closing-image{position:relative;min-height:82vh;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.closing-image>img,.closing-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing-shade{background:linear-gradient(180deg,rgba(4,12,16,.08),rgba(4,12,16,.72))}.closing-copy{position:relative;z-index:2;padding-bottom:80px}.closing-copy h2{font-size:clamp(62px,6vw,106px);line-height:.86;letter-spacing:-.05em;font-weight:500;margin:20px 0 28px;max-width:1000px}.closing-copy p{max-width:620px;font-size:15px;line-height:1.75;color:#e4ebeb}.outline-link{display:inline-flex;align-items:center;gap:18px;margin-top:22px;padding:14px 18px;border:1px solid rgba(255,255,255,.6);font-size:10px;text-transform:uppercase;letter-spacing:.12em}

/* Generic inner intro */
.page-intro{padding:190px 0 120px;display:grid;grid-template-columns:170px 1.25fr .75fr;gap:5vw;align-items:end;border-bottom:1px solid var(--line)}.page-intro>span{align-self:start;padding-top:10px}.page-intro h1{font-size:clamp(76px,8vw,140px);line-height:.82;letter-spacing:-.06em;font-weight:500;margin:0}.page-intro-copy p{font-size:15px;line-height:1.8;color:#56666c;margin:0}

/* Services page */
.service-chapters{display:grid}.service-chapter{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;border-bottom:1px solid var(--line)}.service-chapter.reverse .service-chapter-image{order:2}.service-chapter.reverse .service-chapter-copy{order:1}.service-chapter-image{overflow:hidden}.service-chapter-image img{width:100%;height:100%;object-fit:cover}.service-chapter-copy{padding:90px max(48px,8vw);display:flex;flex-direction:column;justify-content:center}.service-chapter-no{font-family:var(--serif);font-size:78px;line-height:1;color:#bdc5c2;margin-bottom:35px}.service-chapter-copy h2{font-size:clamp(54px,5vw,88px);line-height:.9;letter-spacing:-.052em;font-weight:500;margin:18px 0 24px}.service-chapter-copy .lead{font-size:18px;line-height:1.55;color:#223940}.service-chapter-copy>p:not(.lead){font-size:14px;line-height:1.8;color:#5f6d72;max-width:620px}.service-cta{border-top:1px solid var(--line)}.service-cta h2{font-size:clamp(62px,6vw,104px);line-height:.88;letter-spacing:-.055em;font-weight:500;margin:22px 0 0;max-width:1150px}

/* About */
.about-hero{height:84vh;min-height:700px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.about-hero>img,.about-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-hero-shade{background:linear-gradient(180deg,rgba(4,12,16,.15),rgba(4,12,16,.75))}.about-hero-copy{position:relative;z-index:2;padding-bottom:75px}.about-hero-copy h1{font-size:clamp(72px,7.5vw,130px);line-height:.83;letter-spacing:-.055em;font-weight:500;margin:20px 0 0;max-width:1120px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.about-story-year{font-size:clamp(160px,19vw,330px);line-height:.65;letter-spacing:-.08em;font-weight:600;color:#d4d9d6}.about-story-copy h2{font-size:clamp(58px,5.4vw,94px);line-height:.9;letter-spacing:-.052em;font-weight:500;margin:20px 0 28px}.about-story-copy p{font-size:15px;line-height:1.85;color:#56666c;max-width:680px}.quote-band{background:var(--ink);color:#fff;padding:120px 0}.quote-band blockquote{font-family:var(--serif);font-size:clamp(60px,7vw,116px);line-height:.88;letter-spacing:-.045em;margin:0;max-width:1250px}.quote-band cite{display:block;margin-top:35px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#a8bbbb;font-style:normal}.vision-mission{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.vision-mission article{border-top:1px solid var(--line);padding-top:25px}.vision-mission h2{font-size:clamp(48px,4.6vw,78px);line-height:.9;letter-spacing:-.045em;font-weight:500;margin:50px 0 25px}.vision-mission p{font-size:14px;line-height:1.8;color:#5c6b70;max-width:620px}.values{background:#dfe9e7;padding:120px 0 0}.values-head{padding-bottom:70px}.values-head h2{font-size:clamp(58px,5.6vw,96px);line-height:.87;letter-spacing:-.05em;font-weight:500;margin:20px 0 0}.values-list{border-top:1px solid rgba(11,20,24,.22)}.values-list article{border-bottom:1px solid rgba(11,20,24,.22)}.values-row{display:grid;grid-template-columns:80px .7fr 1.3fr;gap:5vw;align-items:center;min-height:160px}.values-row>span{font-family:var(--mono);font-size:10px;color:#4c6d6e}.values-row h3{font-family:var(--serif);font-size:40px;font-weight:400;margin:0}.values-row p{font-size:13px;line-height:1.75;color:#52656b;margin:0;max-width:620px}

/* Contact */
.contact-shell{padding:190px 0 140px;display:grid;grid-template-columns:1fr .95fr;column-gap:8vw;row-gap:70px}.contact-head h1{font-size:clamp(76px,7.6vw,132px);line-height:.82;letter-spacing:-.06em;font-weight:500;margin:24px 0 28px}.contact-head>p{font-size:15px;line-height:1.8;color:#5a686d;max-width:570px}.contact-direct{align-self:end;display:grid;gap:12px;padding-bottom:10px}.contact-direct a{font-family:var(--serif);font-size:28px;width:max-content;border-bottom:1px solid var(--line)}.contact-direct span{font-size:11px;color:#718087;margin-top:8px}.contact-form{grid-column:2;border-top:1px solid var(--line);padding-top:44px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-form label{display:grid;gap:10px;margin-bottom:28px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:13px 0;font-family:var(--sans);font-size:16px;outline:none}.contact-form textarea{border:1px solid var(--line);padding:16px;resize:vertical;min-height:210px}.contact-form button{border:0;background:var(--ink);color:#fff;padding:15px 20px;display:inline-flex;gap:16px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;cursor:pointer}

/* Service detail */
.service-detail-hero{height:80vh;min-height:680px;position:relative;color:#fff;display:flex;align-items:flex-end;overflow:hidden}.service-detail-hero>img,.service-detail-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-detail-shade{background:linear-gradient(180deg,rgba(3,10,14,.08),rgba(3,10,14,.78))}.service-detail-copy{position:relative;z-index:2;padding-bottom:72px}.service-detail-copy h1{font-size:clamp(72px,8vw,136px);line-height:.82;letter-spacing:-.06em;font-weight:500;margin:20px 0 24px;max-width:1200px}.service-detail-copy p{max-width:760px;font-size:17px;line-height:1.65;color:#e0e7e8}.service-detail-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.service-detail-intro h2{font-size:clamp(58px,5.5vw,94px);line-height:.89;letter-spacing:-.05em;font-weight:500;margin:20px 0 0}.service-detail-intro .lead{font-size:18px;line-height:1.65;color:#263e45}.service-detail-intro p{font-size:14px;line-height:1.8;color:#5d6c71}.service-detail-process{background:var(--ink);color:#fff;padding:100px 0}.detail-process-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}.detail-process-grid article{min-height:280px;padding:28px 24px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}.detail-process-grid article>span{font-family:var(--mono);font-size:10px;color:#93aaac}.detail-process-grid h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:100px 0 12px}.detail-process-grid p{font-size:12px;line-height:1.7;color:#b9c8ca}.related-list{display:grid;margin-top:35px;border-top:1px solid var(--line)}.related-list a{display:grid;grid-template-columns:70px 1fr 30px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.related-list span{font-family:var(--mono);font-size:10px}.related-list strong{font-family:var(--serif);font-size:34px;font-weight:400}.related-list b{font-weight:400;font-size:20px}

/* Footer */
.site-footer{background:#061015;color:#fff;padding:90px 0 26px}.footer-main{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.footer-statement h2{font-size:clamp(58px,5.7vw,98px);line-height:.87;letter-spacing:-.052em;font-weight:500;margin:20px 0 0}.footer-contact{display:grid;gap:12px;justify-items:start}.footer-contact a{font-family:var(--serif);font-size:25px;border-bottom:1px solid rgba(255,255,255,.28)}.footer-contact span{font-size:10px;color:#96a5a9;margin-top:8px}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;border-top:1px solid var(--line-light);margin-top:72px;padding-top:20px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#829499}.footer-bottom nav{display:flex;gap:22px}.footer-bottom>span{text-align:right}

@media(max-width:1100px){
  :root{--shell:min(100% - 48px,1040px)}
  .site-header{padding:0 24px}.header-contact{display:none}.site-nav{justify-self:end}.manifesto{grid-template-columns:80px 1fr}.manifesto-copy{grid-column:2}.expertise-row-inner{grid-template-columns:60px 1fr 1fr 30px}.expertise-thumb{display:none}.visual-grid{grid-template-columns:1fr 1fr}.method-layout,.origin,.about-story,.vision-mission,.service-detail-intro,.contact-shell{grid-template-columns:1fr 1fr}.page-intro{grid-template-columns:120px 1fr}.page-intro-copy{grid-column:2}.service-chapter{min-height:650px}.service-chapter-copy{padding:70px 48px}.contact-form{grid-column:2}.footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  :root{--shell:calc(100% - 28px);--header:70px}.section-xl{padding:88px 0}.site-header{height:var(--header);padding:0 14px;grid-template-columns:1fr auto}.brand-word{font-size:14px}.menu-toggle{display:block}.site-nav{position:fixed;top:var(--header);left:0;right:0;background:var(--paper);color:var(--ink);display:grid;padding:18px 14px;gap:0;transform:translateY(-140%);transition:.3s;border-bottom:1px solid var(--line)}body.menu-open .site-nav{transform:none}.site-nav a{padding:14px 0;border-bottom:1px solid var(--line)}
  .hero{min-height:720px}.hero-grid{grid-template-columns:1fr;padding-top:110px;padding-bottom:26px}.hero-meta{font-size:8px}.hero .micro.light{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.75)}
.hero-copy h1{font-size:clamp(58px,17vw,82px);line-height:.84;margin-top:18px}.hero-lead{font-size:14px}.hero-scroll{display:none}.hero-wordmark{font-size:34vw;bottom:-.04em}
  .manifesto{grid-template-columns:1fr;gap:28px}.manifesto-label,.manifesto-copy{grid-column:auto}.manifesto-head h2{font-size:clamp(54px,14vw,78px)}.manifesto-copy p{font-size:14px}
  .expertise{padding-top:80px}.expertise-head{grid-template-columns:1fr;gap:28px;padding-bottom:50px}.expertise-head h2{font-size:56px}.expertise-row-inner{grid-template-columns:42px 1fr 24px;gap:14px;min-height:150px}.expertise-row p{grid-column:2;font-size:12px}.expertise-arrow{grid-column:3;grid-row:1}.expertise-title h3{font-size:34px}
  .visual-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}.visual-grid-copy{padding-right:0}.visual-grid-copy h2{font-size:56px}.visual-a,.visual-b,.visual-c{grid-column:auto;grid-row:auto;min-height:0;height:360px}.visual-c{height:240px}
  .method{padding:82px 0}.method-layout{grid-template-columns:1fr;gap:48px}.method-title h2{font-size:56px}.method-line article{grid-template-columns:44px 1fr;gap:16px}.method-line p{grid-column:2}.method-line h3{font-size:30px}
  .origin{grid-template-columns:1fr;gap:45px}.origin-year{font-size:42vw}.origin-copy{padding-top:0}.origin-copy h2{font-size:56px}.origin-facts{gap:28px;flex-wrap:wrap}
  .closing-image{min-height:680px}.closing-copy{padding-bottom:48px}.closing-copy h2{font-size:58px}
  .page-intro{padding:130px 0 80px;grid-template-columns:1fr;gap:28px}.page-intro>span,.page-intro-copy{grid-column:auto}.page-intro h1{font-size:66px}.service-chapter,.service-chapter.reverse{grid-template-columns:1fr;min-height:0}.service-chapter.reverse .service-chapter-image,.service-chapter.reverse .service-chapter-copy{order:initial}.service-chapter-image{height:430px}.service-chapter-copy{padding:52px 20px 68px}.service-chapter-no{font-size:54px;margin-bottom:22px}.service-chapter-copy h2{font-size:52px}.service-cta h2{font-size:58px}
  .about-hero{min-height:620px;height:76vh}.about-hero-copy{padding-bottom:45px}.about-hero-copy h1{font-size:62px}.about-story{grid-template-columns:1fr;gap:40px}.about-story-year{font-size:42vw}.about-story-copy h2{font-size:54px}.quote-band{padding:80px 0}.quote-band blockquote{font-size:56px}.vision-mission{grid-template-columns:1fr;gap:60px}.vision-mission h2{font-size:48px}.values{padding-top:80px}.values-head h2{font-size:56px}.values-row{grid-template-columns:42px 1fr;gap:16px;min-height:0;padding:28px 0}.values-row p{grid-column:2}.values-row h3{font-size:34px}
  .contact-shell{padding:130px 0 90px;grid-template-columns:1fr;row-gap:48px}.contact-head h1{font-size:64px}.contact-direct{align-self:start}.contact-form{grid-column:auto}.form-grid{grid-template-columns:1fr}
  .service-detail-hero{height:72vh;min-height:590px}.service-detail-copy{padding-bottom:42px}.service-detail-copy h1{font-size:64px}.service-detail-copy p{font-size:15px}.service-detail-intro{grid-template-columns:1fr;gap:32px}.service-detail-intro h2{font-size:54px}.service-detail-process{padding:75px 0}.detail-process-grid{grid-template-columns:1fr}.detail-process-grid article{min-height:190px}.detail-process-grid h3{margin-top:48px}.related-list strong{font-size:26px}
  .footer-main{grid-template-columns:1fr;gap:50px}.footer-statement h2{font-size:56px}.footer-bottom{grid-template-columns:1fr;gap:16px}.footer-bottom nav{flex-wrap:wrap}.footer-bottom>span{text-align:left}
}

/* =========================================================
   Mobile navigation — immersive agency treatment
   ========================================================= */
.nav-primary{display:flex;gap:32px}
.nav-index,.nav-arrow,.mobile-nav-footer{display:none}
.menu-toggle-label,.menu-toggle-icon{display:none}

@media(max-width:760px){
  body.menu-open{overflow:hidden;touch-action:none}

  .site-header{
    z-index:120;
    padding:0 18px;
    grid-template-columns:1fr auto;
    transition:color .35s ease,background .35s ease,border-color .35s ease;
  }

  body.menu-open .site-header,
  body.menu-open.page-home .site-header,
  body.menu-open.page-about .site-header,
  body.menu-open.page-services .site-header,
  body.menu-open.page-contact .site-header,
  body.menu-open.page-service-detail .site-header{
    color:#fff;
    background:transparent;
    border-bottom-color:transparent;
    backdrop-filter:none;
  }

  .brand{position:relative;z-index:3;gap:11px}
  .brand-word{font-size:13px;letter-spacing:.31em}
  .brand-mark{width:29px;gap:4px}
  .brand-mark i{height:1.5px}

  .menu-toggle{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:11px;
    width:auto;
    min-width:76px;
    height:44px;
    padding:0;
    cursor:pointer;
  }
  .menu-toggle-label{
    display:block;
    font-family:var(--mono);
    font-size:8px;
    line-height:1;
    letter-spacing:.15em;
    text-transform:uppercase;
    transition:opacity .25s ease,transform .25s ease;
  }
  .menu-toggle-icon{
    position:relative;
    display:block;
    width:30px;
    height:18px;
  }
  .menu-toggle-icon i{
    position:absolute;
    left:0;
    display:block;
    width:30px;
    height:1px;
    margin:0;
    background:currentColor;
    transform-origin:center;
    transition:top .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1),width .35s ease;
  }
  .menu-toggle-icon i:first-child{top:4px}
  .menu-toggle-icon i:last-child{top:13px;width:21px;left:9px}
  body.menu-open .menu-toggle-label{opacity:.52;transform:translateX(-2px)}
  body.menu-open .menu-toggle-icon i:first-child{top:8px;transform:rotate(45deg);width:28px}
  body.menu-open .menu-toggle-icon i:last-child{top:8px;left:0;transform:rotate(-45deg);width:28px}

  .site-nav{
    position:fixed;
    z-index:1;
    inset:0;
    top:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:0;
    min-height:100dvh;
    padding:calc(var(--header) + 54px) 24px 28px;
    overflow:auto;
    color:#f4f6f5;
    background:
      linear-gradient(180deg,rgba(7,17,22,.95),rgba(7,17,22,.99)),
      url('/assets/images/hero.jpg') center/cover no-repeat;
    border:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:none;
    clip-path:inset(0 0 100% 0);
    transition:clip-path .72s cubic-bezier(.76,0,.24,1),opacity .25s ease,visibility 0s linear .72s;
  }
  .site-nav:before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at 92% 18%,rgba(95,212,207,.16),transparent 26%),
      linear-gradient(90deg,transparent 0 20px,rgba(255,255,255,.06) 20px 21px,transparent 21px);
  }
  .site-nav:after{
    content:"ON BOARD";
    position:absolute;
    right:-.13em;
    bottom:18%;
    font-size:27vw;
    line-height:.7;
    letter-spacing:-.075em;
    font-weight:600;
    color:rgba(255,255,255,.025);
    white-space:nowrap;
    pointer-events:none;
  }
  body.menu-open .site-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    clip-path:inset(0 0 0 0);
    transition:clip-path .72s cubic-bezier(.76,0,.24,1),opacity .2s ease,visibility 0s;
  }

  .nav-primary{
    position:relative;
    z-index:2;
    display:grid;
    gap:0;
    width:100%;
    border-top:1px solid rgba(255,255,255,.17);
  }
  .site-nav .nav-primary>a{
    position:relative;
    display:grid;
    grid-template-columns:40px 1fr 32px;
    align-items:center;
    gap:12px;
    padding:21px 0 20px;
    border-bottom:1px solid rgba(255,255,255,.17);
    color:#fff;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .38s ease,transform .55s cubic-bezier(.22,1,.36,1),color .25s ease;
  }
  body.menu-open .site-nav .nav-primary>a{opacity:1;transform:none}
  body.menu-open .site-nav .nav-primary>a:nth-child(1){transition-delay:.19s}
  body.menu-open .site-nav .nav-primary>a:nth-child(2){transition-delay:.25s}
  body.menu-open .site-nav .nav-primary>a:nth-child(3){transition-delay:.31s}
  body.menu-open .site-nav .nav-primary>a:nth-child(4){transition-delay:.37s}

  .site-nav .nav-primary>a:after{display:none}
  .nav-index{
    display:block;
    align-self:start;
    padding-top:8px;
    font-family:var(--mono);
    font-size:8px;
    letter-spacing:.14em;
    color:#91a5a8;
  }
  .nav-label{
    font-family:var(--serif);
    font-size:clamp(43px,13vw,62px);
    line-height:.86;
    letter-spacing:-.035em;
    font-weight:400;
  }
  .nav-arrow{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border:1px solid rgba(255,255,255,.32);
    border-radius:50%;
    font-size:12px;
    transition:background .25s,color .25s,border-color .25s,transform .25s;
  }
  .site-nav .nav-primary>a[aria-current="page"] .nav-label{color:#bdece7}
  .site-nav .nav-primary>a[aria-current="page"] .nav-arrow{background:#bdece7;color:#081318;border-color:#bdece7}
  .site-nav .nav-primary>a:active .nav-arrow{transform:rotate(45deg)}

  .mobile-nav-footer{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    padding-top:30px;
    opacity:0;
    transform:translateY(18px);
    transition:opacity .4s ease .42s,transform .55s cubic-bezier(.22,1,.36,1) .42s;
  }
  body.menu-open .mobile-nav-footer{opacity:1;transform:none}
  .mobile-nav-project{display:grid;gap:9px}
  .mobile-nav-project>a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:16px 0;
    border-top:1px solid rgba(255,255,255,.17);
    border-bottom:1px solid rgba(255,255,255,.17);
    font-family:var(--serif);
    font-size:27px;
  }
  .mobile-nav-project>a b{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;
    font-family:var(--sans);
    font-size:13px;
    font-weight:400;
  }
  .mobile-nav-contact{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px 14px;
    font-family:var(--mono);
    font-size:8px;
    line-height:1.5;
    letter-spacing:.07em;
    color:#9caeb1;
  }
  .mobile-nav-contact a:first-child{grid-column:1/-1;color:#d7e1e2}
  .mobile-nav-contact a:nth-child(2){color:#d7e1e2}
  .mobile-nav-contact span{text-align:right;text-transform:uppercase;letter-spacing:.12em}
  .mobile-nav-signature{display:none}
}

@media(max-width:390px) and (max-height:760px){
  .site-nav{padding-top:calc(var(--header) + 30px);padding-bottom:20px}
  .site-nav .nav-primary>a{padding:15px 0 14px}
  .nav-label{font-size:40px}
  .mobile-nav-footer{padding-top:20px;gap:16px}
  .mobile-nav-project>a{padding:11px 0;font-size:23px}
}
@media(max-width:760px){
  .site-nav{width:100vw;max-width:none;justify-self:stretch;margin:0}
}
@media(max-width:760px){
  .site-nav{background-color:#071116}
}
