
:root{
  --paper:#f4f1eb;
  --paper2:#ebe5da;
  --ink:#0a0a09;
  --soft:#726d65;
  --line:rgba(10,10,9,.16);
  --dark:#0d0d0c;
  --white:#f7f4ee;
  --max:1520px;
  --gutter:clamp(20px,4vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;
  overflow-x:hidden
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button{font:inherit}
.shell{width:min(100%,var(--max));margin:auto;padding-inline:var(--gutter)}
.kicker{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)
}
.pill{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 18px;border:1px solid currentColor;border-radius:999px;
  font-size:11px;letter-spacing:.11em;text-transform:uppercase
}

/* NAV */
.header{
  position:fixed;inset:0 0 auto 0;z-index:100;transition:.3s ease
}
.header.scrolled{
  background:rgba(244,241,235,.88);backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)
}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo img{width:142px;height:auto;max-height:58px;object-fit:contain}
.navlinks{display:flex;gap:30px;font-size:12px}
.navlinks a{position:relative}
.navlinks a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:currentColor;transition:.25s
}
.navlinks a:hover:after{right:0}
.menu{display:none;border:0;background:none;padding:9px;margin:-9px}
.menu span{display:block;width:28px;height:1px;background:#000;margin:6px 0}
.mobile-nav{
  display:none;position:fixed;z-index:95;inset:0;background:var(--paper);
  padding:118px var(--gutter) 32px
}
.mobile-nav.active{display:block}
.mobile-nav a{
  display:block;font-size:clamp(42px,13vw,68px);font-weight:700;letter-spacing:-.06em;
  padding:12px 0;border-bottom:1px solid var(--line)
}

/* REVEAL */
.reveal{opacity:1;transform:none}
.mask{overflow:hidden;display:block}
.mask > span{display:block;transform:none}

/* Animations are progressive enhancement only */
.js-anim .reveal{
  opacity:0;transform:translateY(34px);
  transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1)
}
.js-anim .reveal.in{opacity:1;transform:none}
.js-anim .mask > span{
  transform:translateY(115%);
  transition:transform 1s cubic-bezier(.16,1,.3,1)
}
.js-anim .mask.in > span{transform:none}

/* HERO */
.hero{
  min-height:100svh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#ddd
}
.hero-media{position:absolute;inset:0}
.hero-media img{
  width:100%;height:114%;object-fit:cover;object-position:center 58%;
  transform:translate3d(0,var(--heroY,0),0) scale(1.035);will-change:transform
}
.hero-media:after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.74) 100%),
    linear-gradient(90deg,rgba(0,0,0,.08),transparent 45%)
}
.hero-inner{
  width:100%;position:relative;z-index:2;color:#fff;padding-top:150px;padding-bottom:clamp(34px,5vw,70px)
}
.hero-meta{
  display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.52);
  padding-top:14px;margin-bottom:34px;font-size:11px;letter-spacing:.17em;text-transform:uppercase
}
.hero h1{
  margin:0;max-width:1260px;font-size:clamp(62px,10.1vw,160px);
  line-height:.79;letter-spacing:-.078em;text-transform:uppercase
}
.hero-bottom{
  margin-top:46px;display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end
}
.hero-bottom p{margin:0;max-width:720px;font-size:clamp(18px,1.6vw,25px);line-height:1.48}
.hero-bottom .actions{display:flex;justify-content:flex-end}
.hero-scroll{
  position:absolute;right:var(--gutter);bottom:22px;z-index:3;color:#fff;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)
}

/* MANIFESTO */
.manifesto{padding:clamp(100px,14vw,210px) 0}
.manifesto-grid{display:grid;grid-template-columns:.55fr 1.8fr;gap:clamp(40px,9vw,140px)}
.manifesto h2{
  margin:0;font-size:clamp(48px,7.6vw,112px);line-height:.9;letter-spacing:-.062em;font-weight:600
}
.manifesto-copy{
  display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:56px
}
.manifesto-copy p{margin:0;color:var(--soft);font-size:16px;line-height:1.74}

/* CINEMATIC IMAGE */
.cinematic{
  margin-inline:var(--gutter);height:min(75vw,930px);overflow:hidden;position:relative;background:#ddd
}
.cinematic img{
  width:100%;height:112%;object-fit:cover;object-position:center;
  transform:translateY(var(--cinY,0));will-change:transform
}
.cinematic .floating{
  position:absolute;left:clamp(20px,4vw,56px);bottom:clamp(20px,4vw,56px);
  width:min(440px,calc(100% - 40px));background:rgba(244,241,235,.94);
  padding:22px 24px
}
.cinematic .floating strong{display:block;font-size:23px;letter-spacing:-.03em;margin:8px 0 9px}
.cinematic .floating p{margin:0;color:var(--soft);line-height:1.55;font-size:13px}

/* SECTORS */
.sectors{padding:clamp(110px,13vw,190px) 0;background:var(--dark);color:var(--white)}
.sector-head{
  display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:44px
}
.sector-head h2{font-size:clamp(54px,8vw,118px);line-height:.87;letter-spacing:-.067em;margin:0}
.sector-head p{margin:0;color:#aaa59d;line-height:1.7;max-width:540px}
.sector-row{
  display:grid;grid-template-columns:70px 1fr 1fr;gap:28px;padding:31px 0;
  border-top:1px solid rgba(255,255,255,.18)
}
.sector-row:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.sector-row .n{font-size:11px;color:#827d75;letter-spacing:.16em;padding-top:6px}
.sector-row h3{font-size:clamp(32px,3.4vw,52px);font-weight:500;letter-spacing:-.04em;margin:0}
.sector-row p{margin:0;color:#aaa59d;line-height:1.68;max-width:680px}

/* COLLAGE */
.collage{padding:clamp(90px,11vw,160px) 0}
.collage-grid{
  display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(14px,2vw,26px);align-items:start
}
.collage-left{padding-top:14vw}
.collage-left .photo:first-child{height:42vw;max-height:590px}
.collage-left .photo:last-child{height:29vw;max-height:420px;margin-top:clamp(14px,2vw,26px)}
.collage-right .photo:first-child{height:64vw;max-height:900px}
.collage-right .photo:last-child{height:32vw;max-height:460px;margin-top:clamp(14px,2vw,26px)}
.photo{overflow:hidden;background:#ddd;position:relative}
.photo img{height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.photo:hover img{transform:scale(1.028)}

/* CAPABILITIES */
.capabilities{padding:clamp(110px,14vw,210px) 0;background:var(--paper2)}
.cap-grid{display:grid;grid-template-columns:.72fr 1.6fr;gap:clamp(44px,8vw,130px)}
.cap-aside{position:sticky;top:130px;align-self:start}
.cap-aside h2{font-size:clamp(48px,6.4vw,94px);line-height:.92;letter-spacing:-.06em;margin:14px 0 0}
.cap-item{
  display:grid;grid-template-columns:60px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)
}
.cap-item:last-child{border-bottom:1px solid var(--line)}
.cap-item .n{font-size:11px;letter-spacing:.15em;color:var(--soft);padding-top:6px}
.cap-item h3{font-size:clamp(25px,2.7vw,39px);letter-spacing:-.035em;font-weight:500;margin:0 0 10px}
.cap-item p{margin:0;color:var(--soft);line-height:1.7;max-width:760px}

/* HORIZONTAL STATEMENT */
.statement{
  min-height:72svh;display:flex;align-items:center;background:#fff;overflow:hidden
}
.statement-track{
  white-space:nowrap;font-weight:800;text-transform:uppercase;
  font-size:clamp(82px,14vw,220px);line-height:.8;letter-spacing:-.08em;
  transform:translateX(var(--trackX,0));will-change:transform
}
.statement-track .outline{
  color:transparent;-webkit-text-stroke:1px #111
}

/* APPROACH */
.approach{padding:clamp(110px,13vw,190px) 0}
.approach-top{
  display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:64px
}
.approach h2{font-size:clamp(52px,7.2vw,108px);line-height:.88;letter-spacing:-.065em;margin:0}
.approach-top p{margin:0;font-size:18px;line-height:1.68;color:var(--soft)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.step{
  min-height:360px;border:1px solid var(--line);padding:24px;
  display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.22)
}
.step .num{font-size:11px;letter-spacing:.15em}
.step h3{font-size:30px;letter-spacing:-.035em;margin:0 0 12px}
.step p{margin:0;color:var(--soft);line-height:1.56;font-size:14px}

/* TRUST */
.trust{
  position:relative;min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;background:#bbb
}
.trust img{position:absolute;inset:0;width:100%;height:110%;object-fit:cover;transform:translateY(var(--trustY,0))}
.trust:after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.68))
}
.trust-content{
  position:relative;z-index:2;color:#fff;padding-top:150px;padding-bottom:clamp(40px,6vw,80px)
}
.trust h2{font-size:clamp(56px,8vw,122px);line-height:.86;letter-spacing:-.068em;margin:0;max-width:1170px}
.trust-bottom{
  margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;
  border-top:1px solid rgba(255,255,255,.42);padding-top:18px
}
.trust-bottom p{margin:0;line-height:1.65;max-width:650px}
.trust-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fact{font-size:12px;line-height:1.5}
.fact strong{display:block;font-size:14px;margin-bottom:4px}

/* CONTACT */
.contact{background:var(--dark);color:var(--white);padding:clamp(100px,14vw,200px) 0 48px}
.contact h2{
  font-size:clamp(64px,10.5vw,165px);line-height:.78;letter-spacing:-.08em;
  text-transform:uppercase;margin:0
}
.contact-row{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;
  border-top:1px solid rgba(255,255,255,.23);padding-top:20px;margin-top:58px
}
.contact-row p{margin:0;color:#aaa59d;max-width:720px;font-size:17px;line-height:1.67}
.footer{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;
  border-top:1px solid rgba(255,255,255,.13);margin-top:110px;padding-top:22px;
  font-size:11px;color:#817c74;letter-spacing:.06em
}
.footer div:last-child{text-align:right}

/* MOBILE */
@media(max-width:900px){
  .navlinks,.nav>.pill{display:none}
  .menu{display:block}
  .nav{height:76px}
  .logo img{width:120px}
  .hero-bottom,.manifesto-grid,.sector-head,.cap-grid,.approach-top,.trust-bottom{grid-template-columns:1fr}
  .hero-bottom .actions{justify-content:flex-start}
  .manifesto-copy{grid-template-columns:1fr}
  .sector-row{grid-template-columns:50px 1fr}
  .sector-row p{grid-column:2}
  .cap-aside{position:static}
  .steps{grid-template-columns:1fr 1fr}
  .collage-grid{grid-template-columns:1fr}
  .collage-left{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .collage-left .photo:first-child,.collage-left .photo:last-child{height:60vw;max-height:none;margin:0}
  .collage-right .photo:first-child{height:90vw;max-height:none}
  .collage-right .photo:last-child{height:55vw;max-height:none}
}
@media(max-width:600px){
  .hero{min-height:88svh}
  .hero-media img{height:100%;object-position:62% center;transform:none!important}
  .hero-meta span:last-child{display:none}
  .hero h1{font-size:clamp(56px,18vw,92px)}
  .hero-bottom{margin-top:30px}
  .hero-bottom p{font-size:17px}
  .hero-scroll{display:none}
  .cinematic{margin-inline:0;height:84svh;min-height:560px}
  .cinematic img{height:100%;transform:none!important}
  .cinematic .floating{left:18px;right:18px;bottom:18px;width:auto}
  .sector-row{grid-template-columns:38px 1fr;gap:12px}
  .sector-row p{font-size:14px}
  .collage-left{grid-template-columns:1fr}
  .collage-left .photo:first-child{height:105vw}
  .collage-left .photo:last-child{height:75vw}
  .collage-right .photo:first-child{height:115vw}
  .collage-right .photo:last-child{height:70vw}
  .cap-item{grid-template-columns:40px 1fr;gap:12px}
  .statement{min-height:50svh}
  .statement-track{white-space:normal;transform:none!important;padding:70px 20px}
  .steps{grid-template-columns:1fr}
  .step{min-height:255px}
  .trust{min-height:88svh}
  .trust img{height:100%;transform:none!important;object-position:55% center}
  .trust-facts{grid-template-columns:1fr}
  .contact-row{grid-template-columns:1fr}
  .footer{grid-template-columns:1fr}
  .footer div:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
  .hero-media img,.cinematic img,.trust img,.statement-track{transform:none!important}
  .reveal,.mask>span{opacity:1!important;transform:none!important}
}

/* SEO edition: accessible shared navigation and editorial inner pages */
:root{--soft:#625d56} .kicker{line-height:1.6} section[id]{scroll-margin-top:96px}
.header{background:rgba(244,241,235,.94);border-bottom:1px solid var(--line)}
.logo img{mix-blend-mode:multiply}.skip-link{position:fixed;left:16px;top:-100px;z-index:200;background:var(--paper);padding:15px}.skip-link:focus{top:8px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b66c32;outline-offset:6px}
.mobile-nav[hidden]{display:none!important}.mobile-nav.active{overflow-y:auto}.mobile-nav a{font-size:clamp(23px,5vw,42px);letter-spacing:-.04em;padding:11px 0}.menu{min-width:44px;min-height:44px}
.footer{color:#b5afa6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin-top:75px}.footer-links a{font-size:14px;padding:16px 0;border-bottom:1px solid #44413c}.footer-links a:hover,.text-link:hover{text-decoration:underline}
.sector-row h3 a{display:block}.text-link{display:inline-block;margin-top:16px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}
.inner-hero{padding:130px var(--gutter) 55px;max-width:var(--max);margin:auto}.breadcrumbs{font-size:12px;color:var(--soft);display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}.breadcrumbs a{text-decoration:underline}
.inner-hero h1{font-size:clamp(45px,6.9vw,106px);font-weight:600;line-height:.99;letter-spacing:-.064em;margin:20px 0 32px;max-width:1220px;text-wrap:balance}.inner-hero .lead{max-width:810px;font-size:clamp(18px,2vw,25px);line-height:1.6;margin:0}
.inner-media{margin:0 var(--gutter);height:clamp(310px,51vw,720px);overflow:hidden}.inner-media img{height:100%;object-fit:cover}.inner-media figcaption{display:none}
.editorial{padding:90px 0 110px}.editorial-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(30px,7vw,100px)}.editorial-aside h2{font-size:clamp(42px,4.7vw,72px);line-height:.98;letter-spacing:-.055em;margin:14px 0 28px}.editorial-aside p{font-size:17px;line-height:1.8;color:var(--soft)}.editorial-body article{padding:28px 0;border-top:1px solid var(--line)}.editorial-body h3{font-size:clamp(25px,2.5vw,37px);font-weight:500;letter-spacing:-.035em;margin:0 0 18px}.editorial-body p{font-size:17px;line-height:1.8;color:var(--soft);margin:0}
.page-process{background:var(--paper2);padding:80px 0}.page-process h2,.faq h2,.related h2{font-size:clamp(36px,4vw,60px);line-height:1.05;letter-spacing:-.05em;margin:15px 0 35px}.page-process .step{min-height:265px}
.faq{padding:85px 0}.faq-inner{max-width:920px;margin:auto}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:20px;line-height:1.5}.faq details p{line-height:1.8;font-size:16px;max-width:800px;color:var(--soft)}
.related{padding:70px 0 95px;background:var(--paper2)}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.related-links a{display:flex;justify-content:space-between;padding:23px 0;border-top:1px solid var(--line);font-size:24px;letter-spacing:-.03em}.related-links a:hover{text-decoration:underline}
.hero h1{font-size:clamp(60px,9.6vw,147px);line-height:.87}.hero-meta{line-height:1.6}.hero{padding-top:76px}.pill{line-height:1.5;max-width:100%;overflow-wrap:anywhere}.statement{contain:paint}
@media(max-width:1100px){.navlinks{gap:18px}.nav{gap:18px}.nav>.pill{font-size:10px;padding:10px 13px}}
@media(max-width:900px){.editorial-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}.inner-hero{padding-top:110px}.breadcrumbs{margin-bottom:32px}.editorial{padding:65px 0}.inner-media{margin-inline:0}}
@media(max-width:600px){.footer-links,.related-links{grid-template-columns:1fr}.inner-hero h1{font-size:clamp(42px,10.8vw,64px)}.inner-hero{padding-bottom:35px}.inner-media{height:340px}.hero h1{font-size:clamp(49px,14.3vw,86px)}.hero-bottom{gap:25px}.hero-inner{padding-top:95px}.contact h2{font-size:clamp(58px,15vw,90px)}.step h3{font-size:27px}.contact-row p{font-size:16px}.hero-meta{margin-bottom:25px}.footer{margin-top:60px}.editorial-body p{font-size:16px}.related-links a{font-size:23px}.hero-bottom p{font-size:17px}}
