@font-face{font-family:'GFS Didot';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/gfs-didot-latin.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 500;font-display:swap;src:url(fonts/inter-latin-var.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* loveandmgmt — site v1 · Brand Kit 01 palette only */
:root{
  --obsidian:#070707;--carbon:#1D1D1D;--graphite:#3A3A3A;--steel:#7B7B7B;--chrome:#C9C9C9;--pearl:#F4F2EE;
  --display:"GFS Didot","Didot","Bodoni 72",serif;--sans:"Inter",system-ui,-apple-system,sans-serif;
  --pad:clamp(22px,5vw,88px);--ease:cubic-bezier(.19,1,.22,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--obsidian);color:var(--pearl);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--chrome);color:var(--obsidian)}
.has-cursor,.has-cursor a,.has-cursor button{cursor:none}

/* type */
.label{font:500 11px/1.5 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--steel)}
.display{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.01em}
.h1{font-family:var(--display);font-weight:400;font-size:clamp(52px,6.4vw,116px);line-height:1.02;letter-spacing:-.012em}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(42px,5.4vw,96px);line-height:1.04;letter-spacing:-.01em}
.h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,40px);line-height:1.12}
.line-1{font-size:clamp(16px,1.25vw,19px);line-height:1.7;max-width:30em;opacity:.72}
em{font-style:italic}
.pearl{background:var(--pearl);color:var(--obsidian)}
.pearl .label{color:var(--graphite)}
.carbon{background:var(--carbon)}

/* split text masks */
.w-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w-in{display:inline-block;will-change:transform}

/* rules */
.rule{display:block;height:1px;background:var(--chrome);opacity:.5;transform-origin:0 50%}
.pearl .rule{opacity:.9}
.rule.c{transform-origin:50% 50%}

/* links */
.more{align-self:flex-start;display:inline-flex;align-items:center;gap:16px;font:500 11px var(--sans);letter-spacing:.32em;text-transform:uppercase;padding:10px 0;position:relative}
.more::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:currentColor;opacity:.35;transform-origin:100% 50%;transition:transform .9s var(--ease)}
.more:hover::after{transform:scaleX(0)}
.more .arr,.btn .arr{display:inline-block;width:26px;height:1px;background:currentColor;position:relative;transition:width .7s var(--ease)}
.more .arr::after,.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.more:hover .arr,.btn:hover .arr{width:40px}
.btn{display:inline-flex;align-items:center;gap:16px;font:500 11px var(--sans);letter-spacing:.32em;text-transform:uppercase;padding:18px 30px;border:1px solid rgba(201,201,201,.5);color:var(--pearl);background:transparent;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .7s var(--ease),border-color .7s}
.btn::before{content:"";position:absolute;inset:0;background:var(--pearl);transform:translateY(101%);transition:transform .8s var(--ease);z-index:-1}
.btn:hover{color:var(--obsidian);border-color:var(--pearl)}
.btn:hover::before{transform:none}
.btn.ink{color:var(--obsidian);border-color:rgba(7,7,7,.45)}
.btn.ink::before{background:var(--obsidian)}
.btn.ink:hover{color:var(--pearl);border-color:var(--obsidian)}
.ph{display:inline-block;font:500 9px var(--sans);letter-spacing:.26em;text-transform:uppercase;padding:4px 8px;border:1px dashed rgba(201,201,201,.4);color:var(--chrome);vertical-align:middle}
.pearl .ph{border-color:rgba(7,7,7,.35);color:var(--graphite)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);transition:transform .9s var(--ease),background .6s,padding .6s var(--ease)}
.nav.scrolled{background:rgba(7,7,7,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding-top:12px;padding-bottom:12px}
.nav.hide{transform:translateY(-100%)}
.nav .brand{display:flex;align-items:center;gap:14px}
.nav .brand img{width:48px;height:48px}
.nav .brand span{font-family:var(--display);font-size:21px;color:var(--pearl)}
.nav ul{display:flex;gap:40px;list-style:none}
.nav ul a{font:500 11px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--chrome);position:relative;padding:6px 0}
.nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--chrome);transform:scaleX(0);transform-origin:100% 50%;transition:transform .8s var(--ease)}
.nav ul a:hover::after,.nav ul a[aria-current]::after{transform:scaleX(1);transform-origin:0 50%}
.nav ul a[aria-current]{color:var(--pearl)}
.nav .btn{padding:13px 22px}
.menu-toggle{display:none;background:none;border:0;color:var(--pearl);font:500 11px var(--sans);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;padding:10px 0}

/* layout */
.wrap{padding-left:var(--pad);padding-right:var(--pad);max-width:1640px;margin:0 auto}
.sec{padding:clamp(120px,16vw,260px) 0}
.sec-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:clamp(56px,8vw,130px)}
.sec-top .rule{flex:1;margin:0 28px}
.split{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,7vw,140px);align-items:end}
.stack > * + *{margin-top:28px}

/* photo fields: borderless, cinematic placeholders (no frames, no cards) */
.field{position:relative;width:100%;overflow:hidden;background:linear-gradient(155deg,#1D1D1D 0%,#070707 78%);isolation:isolate}
.field .inner{position:absolute;inset:-12% -4%;will-change:transform;
  background:radial-gradient(65% 55% at 72% 22%,rgba(201,201,201,.16),rgba(201,201,201,0) 70%),radial-gradient(120% 90% at 20% 100%,rgba(7,7,7,.9),rgba(7,7,7,0) 60%)}
.field::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>")}
.field .fig{position:absolute;right:18px;bottom:16px;z-index:2;font:500 9px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(201,201,201,.55)}
.field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r-4x5{aspect-ratio:4/5}.r-2x3{aspect-ratio:2/3}.r-5x4{aspect-ratio:5/4}.r-3x4{aspect-ratio:3/4}.r-21x9{aspect-ratio:21/9}.r-16x9{aspect-ratio:16/9}

/* HERO: full-viewport, image field bleeds off top/right/bottom and interlocks with the type */
.hero-x{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--obsidian)}
.hero-media{position:absolute;top:0;right:0;bottom:0;width:62%}
.hero-media .field{position:absolute;inset:0;height:100%}
.hero-media .field .inner{background:radial-gradient(55% 60% at 70% 30%,rgba(201,201,201,.26),rgba(201,201,201,0) 72%),radial-gradient(80% 70% at 100% 0%,rgba(244,242,238,.05),transparent 60%)}
.hero-media::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.82) 16%,rgba(7,7,7,.25) 42%,rgba(7,7,7,0) 64%),linear-gradient(0deg,rgba(7,7,7,.75) 0%,rgba(7,7,7,0) 34%)}
.hero-media .fig{z-index:3;right:var(--pad);bottom:28px}
.hero-copy{position:relative;z-index:2;width:100%;padding-top:150px;padding-bottom:clamp(56px,9vh,110px)}
.hero-copy .kick{display:flex;align-items:center;gap:20px;margin-bottom:clamp(30px,5vh,56px)}
.hero-copy .kick .rule{width:64px}
.hero-copy .after{margin-top:clamp(36px,6vh,64px)}

/* split-screen: tall 3:4 field bleeding off the left edge, Didot pull quote overlapping it */
.split-x{position:relative;display:grid;grid-template-columns:46vw 1fr;align-items:center;min-height:100vh;padding:clamp(80px,9vw,140px) 0}
.split-media .field{aspect-ratio:3/4;max-height:92vh}
.split-quote{position:relative;z-index:2;margin-left:-12vw;padding-right:var(--pad);mix-blend-mode:difference;color:var(--pearl)}
.split-quote .label{color:var(--pearl);opacity:.7}
.pq-x{font-family:var(--display);font-size:clamp(48px,6.6vw,120px);line-height:1.02;margin:28px 0 34px;max-width:9.5em}

/* 21:9 edge-to-edge band with slow scroll-scale */
.band-sec{padding-bottom:0}
.field.band{aspect-ratio:21/9;margin-top:clamp(70px,9vw,140px)}

/* filmstrip: large off-grid crops */
.filmstrip .hz-track{align-items:flex-start}
.crop figcaption{margin-top:16px;font:400 12px/1.5 var(--sans);color:var(--steel)}
.crop figcaption b{display:block;font:400 clamp(20px,1.7vw,28px)/1.2 var(--display);color:var(--pearl);margin-bottom:6px}
.filmstrip .c1{flex-basis:clamp(300px,30vw,520px)}
.filmstrip .c2{flex-basis:clamp(240px,22vw,380px);margin-top:14vh}
.filmstrip .c3{flex-basis:clamp(360px,40vw,680px);margin-top:4vh}
html:not(.no-hz) .filmstrip .hz-track{padding-right:12vw}

/* sliver → full-bleed scroll reveal */
.sliver-sec{position:relative;background:var(--obsidian)}
.sliver-stage{position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:flex-end}
.field.sliver{position:absolute;inset:0;height:100%}
.sliver-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(7,7,7,.85) 0%,rgba(7,7,7,0) 55%)}
.sliver-copy{position:relative;z-index:2;width:100%;padding-bottom:clamp(60px,10vh,120px)}

/* HERO */
.page-hero{padding-top:clamp(180px,24vh,260px);padding-bottom:clamp(80px,10vw,150px)}
.page-hero .h1{max-width:12em}
.page-hero .line-1{margin-top:36px}

/* statement */
.statement{text-align:center;padding:clamp(140px,18vw,280px) var(--pad)}
.statement .h2{max-width:13em;margin:0 auto}
.statement .sig{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:56px}
.statement .sig .rule{width:clamp(50px,9vw,140px)}

/* horizontal pinned */
.hz{position:relative;overflow:hidden}
.hz-track{display:flex;gap:clamp(24px,3vw,56px);padding:0 var(--pad);will-change:transform}
.hz-panel{flex:0 0 clamp(300px,34vw,560px)}
.hz-intro{flex:0 0 clamp(300px,30vw,480px);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:20px}
.hz-intro .h2{margin-bottom:28px}
.pillar-card{border-top:1px solid rgba(201,201,201,.25);padding-top:30px}
.pillar-card .n{font:500 10px var(--sans);letter-spacing:.3em;color:var(--steel)}
.pillar-card h3{font-family:var(--display);font-weight:400;font-size:clamp(40px,4.2vw,76px);letter-spacing:.05em;margin:28px 0 14px;line-height:1}
.pillar-card .who{font:500 11px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--chrome);margin-bottom:14px}
.pillar-card p{font-size:15px;color:rgba(244,242,238,.6);max-width:22em}
.pearl .pillar-card{border-top-color:rgba(7,7,7,.16)}
.pearl .pillar-card .who{color:var(--graphite)}
.pearl .pillar-card p{color:rgba(7,7,7,.6)}
.brand-card .cap{margin-top:26px;display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid rgba(201,201,201,.2);padding-top:18px}
.brand-card .cap p{font-size:13px;color:rgba(244,242,238,.55);margin-top:6px}

/* lists */
.list{list-style:none;border-top:1px solid rgba(201,201,201,.18)}
.list li{display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:baseline;padding:30px 0;border-bottom:1px solid rgba(201,201,201,.12)}
.list .n{font:500 10px var(--sans);letter-spacing:.3em;color:var(--steel)}
.list h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.6vw,44px);line-height:1.1}
.list p{font-size:15px;color:rgba(244,242,238,.55);grid-column:2;margin-top:4px;max-width:34em}
.pearl .list{border-top-color:rgba(7,7,7,.16)}
.pearl .list li{border-bottom-color:rgba(7,7,7,.1)}
.pearl .list p{color:rgba(7,7,7,.58)}

/* leaders */
.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,48px)}
.leaders article:nth-child(2){margin-top:clamp(40px,8vw,140px)}
.leaders article:nth-child(3){margin-top:clamp(20px,4vw,70px)}
.leaders .pill{display:flex;justify-content:space-between;margin:28px 0 14px;padding-bottom:14px;border-bottom:1px solid rgba(7,7,7,.14)}
.leaders .pill span:first-child{font-family:var(--display);letter-spacing:.22em;font-size:15px}
.leaders .role{font:500 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--graphite);margin:10px 0 0}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,60px);margin-top:clamp(60px,8vw,120px)}
.timeline .yr{font-family:var(--display);font-size:clamp(54px,6vw,104px);line-height:1}
.timeline p{margin-top:18px;font-size:15px;color:rgba(7,7,7,.62);max-width:20em}
.timeline > div{border-top:1px solid rgba(7,7,7,.16);padding-top:28px}

/* press */
.press-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,56px);row-gap:clamp(70px,9vw,150px)}
.press-card{grid-column:span 6;display:block;border-top:1px solid rgba(201,201,201,.22);padding-top:30px}
.press-card:nth-child(4n+1){grid-column:1 / span 7}
.press-card:nth-child(4n+2){grid-column:9 / span 4;margin-top:clamp(40px,8vw,140px)}
.press-card:nth-child(4n+3){grid-column:2 / span 5}
.press-card:nth-child(4n+4){grid-column:7 / span 6;margin-top:clamp(30px,5vw,90px)}
.press-card .top{display:flex;justify-content:space-between;gap:20px}
.press-card .press-h{font:400 clamp(30px,3vw,52px)/1.1 var(--display);color:var(--pearl);margin:36px 0 26px;max-width:14em}
.press-card blockquote{font:400 italic 15px/1.6 var(--sans);color:var(--steel);margin:0 0 30px;max-width:34em;padding-left:18px;border-left:1px solid rgba(201,201,201,.3)}
.press-card .go{margin-top:22px}
.note-box{margin-top:clamp(80px,10vw,150px);padding-top:26px;border-top:1px solid rgba(201,201,201,.14);font-size:13px;color:rgba(244,242,238,.45);max-width:52em}

/* form */
.inq{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,140px)}
form{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.f{position:relative;padding-top:22px;margin-bottom:30px}
.f.full{grid-column:1 / -1}
.f label{position:absolute;top:0;left:0;font:500 10px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--graphite)}
.f input,.f select,.f textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(7,7,7,.22);padding:12px 0;font:300 17px var(--sans);color:var(--obsidian);outline:none;border-radius:0;transition:border-color .5s}
.f textarea{min-height:130px;resize:vertical;line-height:1.6}
.f select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#3A3A3A 50%),linear-gradient(135deg,#3A3A3A 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.f input:focus,.f select:focus,.f textarea:focus{border-bottom-color:var(--obsidian)}
.f input::placeholder,.f textarea::placeholder{color:rgba(7,7,7,.3)}
.form-foot{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;margin-top:16px}
.form-foot small{font-size:12px;color:rgba(7,7,7,.68);max-width:30em}
.sent{display:none;grid-column:1 / -1;padding:60px 0;border-top:1px solid rgba(7,7,7,.16)}
.sent p{font-family:var(--display);font-size:clamp(28px,3vw,46px);margin-top:18px}
form.done .f,form.done .form-foot{display:none}
form.done .sent:not(.offline),form.offline-done .sent.offline{display:block}
form.offline-done .f,form.offline-done .form-foot,form.offline-done .form-status{display:none}
.sent.offline small{display:block;margin-top:18px;font-size:14px;color:rgba(7,7,7,.68)}
.sent.offline a,.sent a{text-decoration:underline;text-underline-offset:3px}
.sent:focus{outline:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.hp input{background:transparent;border:0}
.f .req{letter-spacing:0;color:var(--graphite)}
.f .err{display:block;min-height:0;font-size:12px;line-height:1.4;color:var(--obsidian);font-weight:500;margin-top:8px}
.f .err:empty{display:none}
.f .err:not(:empty)::before{content:"— "}
.f [aria-invalid="true"]{border-bottom:2px solid var(--obsidian)}
.form-status{grid-column:1 / -1;font-size:13px;color:var(--graphite);margin-top:14px;min-height:1px}
form.sending button[type=submit]{opacity:.5;pointer-events:none}
.inq-mark{width:340px;max-width:100%;margin-bottom:70px}

/* footer */
footer{padding:clamp(110px,12vw,180px) 0 40px;text-align:center;background:var(--obsidian)}
footer .mark{width:min(540px,76vw);margin:0 auto}
footer .tag{margin-top:56px;font-family:var(--display);font-size:clamp(22px,2vw,30px);color:var(--chrome)}
footer .bottom{margin-top:100px;padding-top:26px;border-top:1px solid rgba(201,201,201,.12);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:500 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--steel)}
footer .bottom nav{display:flex;gap:30px}
footer .lc{text-transform:none;letter-spacing:.06em}

/* preloader + page transition */
.preloader{position:fixed;inset:0;z-index:200;background:var(--obsidian);display:none;place-items:center}
.js-pre .preloader{display:grid}
.preloader .pl-inner{position:relative;width:132px;height:132px;display:grid;place-items:center}
.preloader svg{position:absolute;inset:-14px;width:160px;height:160px;transform:rotate(-90deg)}
.preloader circle{fill:none;stroke:var(--chrome);stroke-width:.6;stroke-dasharray:471;stroke-dashoffset:471}
.preloader img{width:112px;height:112px;clip-path:inset(100% 0 0 0)}
.preloader .pl-label{position:absolute;top:calc(100% + 44px);left:50%;transform:translateX(-50%);white-space:nowrap;opacity:0}
.cover-in .curtain{transform:none}
.curtain{position:fixed;inset:0;z-index:190;background:var(--carbon);transform:translateY(100%);pointer-events:none}
.curtain::after{content:"";position:absolute;left:50%;top:50%;width:60px;height:1px;background:var(--chrome);transform:translateX(-50%)}

/* cursor */
.cursor,.cursor-dot{position:fixed;top:0;left:0;z-index:300;pointer-events:none;border-radius:50%;mix-blend-mode:difference}
.cursor{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid var(--chrome);transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),background .5s}
.cursor-dot{width:4px;height:4px;margin:-2px 0 0 -2px;background:var(--pearl)}
.cursor.hover{width:76px;height:76px;margin:-38px 0 0 -38px;background:rgba(244,242,238,.08)}

/* static / reduced: show everything, no pin */
.static .preloader,.static .curtain,.static .cursor,.static .cursor-dot{display:none!important}
.no-hz .hz{padding:clamp(110px,13vw,220px) 0}
.no-hz .hz-track{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px)}
.no-hz .pillar-card h3{font-size:clamp(32px,3.3vw,54px);letter-spacing:.06em}
.no-hz .hz-panel,.no-hz .hz-intro{flex:none;width:auto}
.no-hz .hz-intro{grid-column:1 / -1;margin-bottom:50px}

@media (min-width:901px){html:not(.no-hz) .hz{height:100vh;display:flex;flex-direction:column;justify-content:center}}
/* responsive */
@media (max-width:900px){
  .nav ul,.nav .btn{display:none}
  .menu-toggle{display:block}
  .nav.open{background:var(--obsidian);flex-wrap:wrap;height:100vh;align-content:flex-start}
  .nav.open ul{display:flex;flex-direction:column;width:100%;gap:26px;padding:60px 0 30px}
  .nav.open ul a{font-family:var(--display);font-size:34px;letter-spacing:0;text-transform:none;color:var(--pearl)}
  .nav.open .btn{display:inline-flex}
  .hero-media{width:100%;bottom:auto;height:74%}
  .hero-media::after{background:linear-gradient(180deg,rgba(7,7,7,0) 35%,#070707 98%)}
  .hero-media .fig{bottom:auto;top:96px}
  .split-x{grid-template-columns:1fr;min-height:0;padding:0 0 90px}
  .split-media .field{aspect-ratio:3/4;max-height:none;width:88vw}
  .split-quote{margin:-26vw 0 0 0;padding:0 var(--pad)}
  .filmstrip .c1,.filmstrip .c2,.filmstrip .c3{flex:0 0 74vw;margin-top:0}
  .filmstrip .c2{margin-top:40px}
  .field.band{aspect-ratio:4/3}
  .split,.inq{grid-template-columns:1fr}
  .leaders,.timeline{grid-template-columns:1fr;gap:70px}
  .leaders article:nth-child(n){margin-top:0}
  form{grid-template-columns:1fr}
  .press-grid{grid-template-columns:1fr;row-gap:80px}
  .press-card:nth-child(n){grid-column:1 / -1;margin-top:0}
  .sec-top .rule{display:none}
  .sec-top .label + .label{display:none}
  .list li{grid-template-columns:44px 1fr}
  .list li > :last-child:not(div){display:none}
  /* horizontal sections become native swipe rows on touch/mobile */
  .hz-track,.no-hz .hz-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:20px;scrollbar-width:none}
  .hz-track::-webkit-scrollbar{display:none}
  .hz-panel,.no-hz .hz-panel{flex:0 0 78vw;scroll-snap-align:start}
  .hz-intro,.no-hz .hz-intro{flex:0 0 84vw;scroll-snap-align:start}
  .hz-track{scroll-padding-inline:var(--pad)}
  .no-hz .hz{padding:clamp(100px,22vw,160px) 0}
  footer .bottom{flex-direction:column;align-items:center;gap:18px}
}
@media (max-width:480px){
  .h1{font-size:clamp(44px,12.4vw,58px)}
  .h2{font-size:clamp(36px,10.4vw,50px)}
  
  .nav .brand span{font-size:19px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn::before,.more::after{transition:none}}
/* pages that open on pearl */
.nav-ink .nav:not(.scrolled):not(.open) ul a{color:var(--graphite)}
.nav-ink .nav:not(.scrolled):not(.open) ul a::after{background:var(--obsidian)}
.nav-ink .nav:not(.scrolled):not(.open) ul a[aria-current]{color:var(--obsidian)}
.nav-ink .nav:not(.scrolled):not(.open) .brand span,.nav-ink .nav:not(.scrolled):not(.open) .menu-toggle{color:var(--obsidian)}
.nav-ink .nav:not(.scrolled):not(.open) .btn{color:var(--obsidian);border-color:rgba(7,7,7,.4)}
.nav-ink .nav:not(.scrolled):not(.open) .btn::before{background:var(--obsidian)}
.nav-ink .nav:not(.scrolled):not(.open) .btn:hover{color:var(--pearl)}
main > section.sec:last-child{padding-bottom:clamp(90px,9vw,150px)}

/* ===== editorial magazine layer ===== */
.masthead{display:flex;align-items:center;gap:16px;font:500 10px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--steel);margin-bottom:clamp(40px,7vh,80px)}
.masthead .dot{width:3px;height:3px;border-radius:50%;background:var(--steel)}
.caption{margin-top:16px;font:400 12px/1.5 var(--sans);color:var(--steel);letter-spacing:.02em}
.caption span{font-weight:500;letter-spacing:.24em;text-transform:uppercase;font-size:10px;margin-right:10px;color:inherit}
.pearl .caption{color:var(--graphite)}
.hero .photo > div{width:100%}
/* section opener: oversized Didot numeral */
.opener{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:clamp(24px,4vw,70px);margin-bottom:28px}
.opener-n{font-family:var(--display);font-size:clamp(120px,17vw,280px);line-height:.78;color:transparent;-webkit-text-stroke:1px var(--steel);letter-spacing:-.02em}
.opener .label{display:block;margin-bottom:18px}
.opener .h2{max-width:14em}
/* pull quote */
.pull{max-width:1100px;margin:0 auto;text-align:center}
.pull .rule{width:120px;margin:0 auto}
.pq{font-family:var(--display);font-size:clamp(40px,5.2vw,92px);line-height:1.08;margin:clamp(40px,5vw,70px) 0 30px;position:relative}
.pq::before{content:"“";position:absolute;left:50%;top:-.62em;transform:translateX(-50%);font-size:1.6em;line-height:1;color:var(--chrome)}
.pull figcaption{display:block;margin-bottom:clamp(40px,5vw,70px)}
.statement .sig{margin-top:44px}
/* columns + drop cap */
.ed-grid{display:grid;grid-template-columns:8fr 3fr;gap:clamp(30px,6vw,120px);align-items:start}
.cols{column-count:2;column-gap:clamp(30px,4vw,64px);font-size:clamp(16px,1.2vw,18px);line-height:1.75;color:rgba(7,7,7,.75)}
.cols p + p{margin-top:1em}
.dropcap p:first-child::first-letter{float:left;font-family:var(--display);font-size:5.2em;line-height:.8;padding:.06em .1em 0 0;color:var(--obsidian)}
.side-note{border-left:1px solid rgba(7,7,7,.16);padding-left:28px}
.side-note p{font-family:var(--display);font-size:clamp(22px,1.8vw,30px);margin:8px 0 28px}
/* contents */
.firm-hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,7vw,140px);align-items:end}
.contents ol{list-style:none;margin-top:22px;border-top:1px solid rgba(201,201,201,.2)}
.contents li a{display:grid;grid-template-columns:44px auto 1fr auto;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid rgba(201,201,201,.1);transition:padding .7s var(--ease)}
.contents li a:hover{padding-left:12px}
.contents .n{font:500 10px var(--sans);letter-spacing:.3em;color:var(--steel)}
.contents .t{font-family:var(--display);font-size:clamp(20px,1.7vw,26px)}
.contents .lead{border-bottom:1px dotted rgba(201,201,201,.35);transform:translateY(-5px)}
.contents .pg{font:500 10px var(--sans);letter-spacing:.24em;color:var(--steel)}
.firm-hero .h1{max-width:none;font-size:clamp(46px,5.2vw,96px)}
/* philosophy columns */
.pillar-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px)}
.pillar-cols .pillar-card h3{font-size:clamp(34px,3.6vw,62px)}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px);border-top:1px solid rgba(7,7,7,.14);padding-top:30px}
.three-col p{font-family:var(--display);font-size:clamp(22px,1.9vw,30px);line-height:1.25;margin-top:14px}
.fit-p{grid-column:auto!important;font-size:17px!important;color:rgba(244,242,238,.85)!important;margin:0!important}
.fit-p.muted{color:rgba(244,242,238,.5)!important}
@media (max-width:900px){
  .ed-grid,.firm-hero-grid,.pillar-cols,.three-col{grid-template-columns:1fr}
  .cols{column-count:1}
  .side-note{border-left:0;border-top:1px solid rgba(7,7,7,.16);padding:24px 0 0}
  .opener{grid-template-columns:1fr;gap:10px}
  .opener-n{font-size:clamp(96px,30vw,150px)}
  .contents li a{grid-template-columns:36px auto 1fr auto}
}

/* ---------- services (locked menu, Oct 20) ---------- */
.svc-home-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,120px);align-items:start}
.svc-index{list-style:none;border-top:1px solid rgba(201,201,201,.18)}
.svc-index li{display:grid;grid-template-columns:56px 1fr auto;gap:18px;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(201,201,201,.12)}
.svc-index .n{font:500 10px var(--sans);letter-spacing:.3em;color:var(--steel)}
.svc-index h3{font:400 clamp(22px,1.9vw,32px)/1.15 var(--display)}
.svc-index p{font-size:14px;color:rgba(244,242,238,.55);margin-top:6px}
.svc-index li.lead{padding:34px 0}
.svc-index li.lead h3{font-size:clamp(34px,3.4vw,58px)}
.svc-index li.lead p{font-size:16px;color:rgba(244,242,238,.75)}
.svc-index .tag,.svc-spread .tag{font:500 9px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--chrome);white-space:nowrap}

.svc-contents{list-style:none;display:flex;flex-wrap:wrap;gap:14px 36px;margin-top:clamp(50px,7vw,90px);padding-top:26px;border-top:1px solid rgba(201,201,201,.18)}
.svc-contents a{font:400 clamp(16px,1.2vw,19px) var(--display);color:var(--chrome)}
.svc-contents a:hover{color:var(--pearl)}
.svc-contents .n{font:500 9px var(--sans);letter-spacing:.3em;color:var(--steel);margin-right:10px;vertical-align:middle}

.svc-spread{padding:clamp(110px,13vw,220px) 0;border-top:1px solid rgba(201,201,201,.1)}
.spread-grid{display:grid;grid-template-columns:6fr 5fr;gap:clamp(40px,7vw,140px);align-items:end}
.svc-spread.flip .spread-head{order:2}
.svc-spread.flip .spread-grid{grid-template-columns:5fr 6fr}
.spread-head .opener-n{display:block;margin-bottom:clamp(26px,3vw,44px)}
.spread-head .label{display:block;margin-bottom:20px}
.spread-head .h2{max-width:9em}
.svc-st{font:400 clamp(28px,2.6vw,46px)/1.18 var(--display);max-width:15em}
.spread-body .rule{margin:clamp(34px,4vw,56px) 0 26px}
.spread-body .inc{display:block;margin-bottom:14px}
.inc-list{list-style:none}
.inc-list li{font-size:15px;line-height:1.5;padding:12px 0;border-bottom:1px solid rgba(201,201,201,.12);color:rgba(244,242,238,.72)}
.svc-spread.lead{min-height:100vh;display:flex;align-items:center;border-top:0}
.svc-spread.lead .h1{font-size:clamp(64px,8.4vw,150px);max-width:7em}
.svc-spread.lead .opener-n{-webkit-text-stroke-color:var(--graphite)}
.pearl .inc-list li{border-bottom-color:rgba(7,7,7,.12);color:rgba(7,7,7,.7)}

.engage-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,4vw,70px)}
.engage-list li{border-top:1px solid rgba(201,201,201,.22);padding-top:28px}
.engage-list h3{font:400 clamp(26px,2.4vw,40px)/1.1 var(--display);margin-bottom:16px}
.engage-list .label{color:var(--chrome)}
.engage-list p{font-size:15px;line-height:1.6;color:rgba(244,242,238,.6);margin-top:14px;max-width:24em}
.engage-end{display:flex;align-items:center;gap:36px;margin-top:clamp(80px,9vw,140px);padding-top:40px;border-top:1px solid rgba(201,201,201,.18)}
@media (max-width:900px){
  .svc-home-grid,.spread-grid,.svc-spread.flip .spread-grid{grid-template-columns:1fr}
  .svc-spread.flip .spread-head{order:0}
  .svc-index li{grid-template-columns:40px 1fr}
  .svc-index .tag{grid-column:2}
  .engage-list{grid-template-columns:1fr}
  .engage-end{flex-direction:column;align-items:flex-start;gap:22px}
  .svc-spread.lead{min-height:0}
}

/* ---------- real photography (Oct 15 shoot) ---------- */
.field picture{position:absolute;inset:0;display:block}
.field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--op,50% 50%)}
.field.has-photo{background:var(--carbon)}
.field.has-photo::after{display:none}
.field.has-photo .fig{color:rgba(244,242,238,.6)}
.field.has-photo .inner{background:none}
/* hero: the obsidian gradient feathers the photo into the type side */
.hero-media .field.has-photo .inner{inset:-6% 0}
.hero-media::after{background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.7) 14%,rgba(7,7,7,.18) 38%,rgba(7,7,7,0) 58%),linear-gradient(0deg,rgba(7,7,7,.7) 0%,rgba(7,7,7,0) 30%),linear-gradient(180deg,rgba(7,7,7,.5) 0%,rgba(7,7,7,0) 18%)}
/* split quote over a photograph: ink type, no blend */
.split-quote.ink{mix-blend-mode:normal;color:var(--obsidian)}
.split-quote.ink .label{color:var(--graphite);opacity:1}
.split-x.in-page{min-height:0;padding:clamp(40px,5vw,80px) 0 clamp(80px,9vw,140px)}
/* bands outside the Firm section start flush */
.onset-sec .band,.firm-band .band,.svc-band .band,.inq-band .band{margin-top:0}
/* on set: off-grid crops, bleeding off the right edge */
.onset-sec{overflow:hidden;padding-bottom:clamp(120px,14vw,220px)}
.onset-head{padding-top:clamp(90px,10vw,160px);padding-bottom:clamp(50px,6vw,90px)}
.onset{display:grid;grid-template-columns:48vw 22vw 34vw;gap:3vw;padding-left:var(--pad);width:max-content;align-items:start}
.onset .o2{margin-top:22vh}.onset .o3{margin-top:8vh}
.onset figcaption{margin-top:14px;font:500 10px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--steel)}
/* press: tall photo bleeding off the top, right and bottom */
.press-hero-x{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.press-hero-copy{position:relative;z-index:2;width:100%;padding-top:170px;padding-bottom:clamp(70px,10vh,120px)}
.press-media{position:absolute;top:0;right:0;bottom:0;width:44vw}
.press-media .field{position:absolute;inset:0;height:100%}
.press-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#070707 0%,rgba(7,7,7,.35) 22%,rgba(7,7,7,0) 48%),linear-gradient(0deg,rgba(7,7,7,.6) 0%,rgba(7,7,7,0) 26%)}
.press-media .fig{z-index:3}
@media (max-width:900px){
  .field img{object-position:var(--opm,var(--op,50% 50%))}
  .onset{grid-template-columns:86vw 60vw 86vw;gap:5vw}
  .onset .o2{margin-top:12vh}.onset .o3{margin-top:4vh}
  .onset-wrap{overflow-x:auto}
  .press-hero-x{display:block;min-height:0}
  .press-media{position:relative;width:100%;height:auto;aspect-ratio:4/5}
  .press-media::after{background:linear-gradient(0deg,#070707 0%,rgba(7,7,7,0) 40%)}
  .press-hero-copy{padding-top:30px}
  .split-x.in-page{padding-top:0}
}
.split-quote.ink{margin-left:-7vw}
@media (max-width:900px){.split-quote.ink{margin:-14vw 0 0 0;padding-top:0}
  .onset{grid-template-columns:1fr;width:auto;gap:44px;padding-right:var(--pad)}
  .onset .o2{margin-top:0;width:64%;margin-left:auto}.onset .o3{margin-top:0;width:86%}}
.r-3x2{aspect-ratio:3/2}
.field.band.has-photo .inner,.field.sliver.has-photo .inner{inset:-6% 0}
.sliver-stage::after{background:linear-gradient(0deg,#070707 0%,rgba(7,7,7,.9) 22%,rgba(7,7,7,.35) 48%,rgba(7,7,7,0) 66%),linear-gradient(90deg,rgba(7,7,7,.55) 0%,rgba(7,7,7,0) 45%)}
@media (max-width:900px){
  .hero-x .masthead{margin-bottom:18px;color:var(--chrome)}
  .hero-x .masthead span{color:var(--chrome)}
  .hero-media{height:72%}
  .hero-media::after{background:linear-gradient(180deg,rgba(7,7,7,.45) 0%,rgba(7,7,7,0) 16%,rgba(7,7,7,0) 38%,rgba(7,7,7,.8) 72%,#070707 100%)}
  .split-quote.ink{margin:28px 0 0 0}
}
@media (max-width:900px){
  .press-hero-x{display:flex;flex-direction:column;align-items:stretch}
  .press-media{order:-1}
  .press-hero-copy{padding-top:36px;padding-bottom:60px}
}
@media (max-width:900px){
  .press-media{aspect-ratio:3/4}
  .press-media .field.has-photo .inner{inset:0}
  .press-media::after{background:linear-gradient(180deg,rgba(7,7,7,.55) 0%,rgba(7,7,7,0) 14%),linear-gradient(0deg,#070707 0%,rgba(7,7,7,0) 40%)}
}
/* owned-brand filmstrip with real photos: no resting crop beyond the card ratio (all subjects stay in frame) */
.brands-hz .field.has-photo .inner{inset:0}
.filmstrip .c1{flex-basis:clamp(320px,34vw,600px)}
.filmstrip .c2{flex-basis:clamp(240px,24vw,400px);margin-top:16vh}
.filmstrip .c3{flex-basis:clamp(300px,30vw,520px);margin-top:5vh}
@media (max-width:900px){.filmstrip .c1,.filmstrip .c2,.filmstrip .c3{flex:0 0 80vw}}
.filmstrip .c1{flex-basis:min(31vw,calc((100vh - 170px)*.8))}
.filmstrip .c2{flex-basis:min(29vw,calc((100vh - 240px)*.8));margin-top:8vh}
.filmstrip .c3{flex-basis:min(27vw,calc((100vh - 200px)*.8));margin-top:3vh}
.no-hz .filmstrip .hz-track{align-items:start}
/* mobile: owned brands stack as full-bleed editorial frames (no swipe row), so every subject is visible */
@media (max-width:900px){
  .brands-hz .hz-track,.no-hz .brands-hz .hz-track{display:flex;flex-direction:column;overflow:visible;scroll-snap-type:none;padding:0;gap:64px}
  .brands-hz .hz-intro,.no-hz .brands-hz .hz-intro{flex:none;width:auto;padding:0 var(--pad);margin-bottom:0}
  .brands-hz .hz-panel,.no-hz .brands-hz .hz-panel,.filmstrip .c1,.filmstrip .c2,.filmstrip .c3{flex:none;width:100%;margin-top:0}
  .brands-hz .crop figcaption{padding:0 var(--pad)}
  .filmstrip .c2{width:88%;margin-left:auto}
  .filmstrip .c3{width:88%}
}

/* 404 */
.nf{min-height:86vh;padding-top:clamp(150px,22vh,240px);padding-bottom:clamp(80px,10vw,140px)}
.nf .nf-links{display:flex;gap:36px;align-items:center;flex-wrap:wrap;margin-top:56px}
/* mobile legibility (launch QA) */
@media (max-width:900px){footer .bottom{font-size:12px;letter-spacing:.2em}.f label{font-size:12px;letter-spacing:.22em}.f .err{font-size:13px}}
/* application form (Oct 21) */
.app-form fieldset{border:0;margin:0;min-width:0}
.app-form .grp{padding-top:0;margin-bottom:38px}
.app-form legend{padding:0;margin-bottom:16px;font:500 10px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--graphite)}
.app-form .opt{letter-spacing:.12em;text-transform:none;font-size:11px;color:rgba(7,7,7,.62);margin-left:6px}
.app-form .f label .opt{letter-spacing:.12em}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative;display:inline-flex;cursor:pointer}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid rgba(7,7,7,.26);font:400 14px/1.3 var(--sans);color:var(--obsidian);transition:background .3s,color .3s,border-color .3s}
.chip:hover span{border-color:var(--obsidian)}
.chip input:checked+span{background:var(--obsidian);color:var(--pearl);border-color:var(--obsidian)}
.chip input:focus-visible+span{outline:2px solid var(--obsidian);outline-offset:3px}
.grp.invalid .chip span{border-color:rgba(7,7,7,.6)}
.grp-note{display:block;margin-top:12px;font-size:13px;color:rgba(7,7,7,.68)}
.app-form .f textarea{min-height:96px}
.ack-f{padding-top:6px}
.ack{position:relative!important;top:auto!important;display:flex!important;gap:14px;align-items:flex-start;cursor:pointer;font:400 15px/1.5 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;color:var(--obsidian)!important}
.ack input{position:absolute;opacity:0;width:24px;height:24px;margin:0;cursor:pointer}
.ack .box{flex:0 0 22px;height:22px;border:1px solid rgba(7,7,7,.45);margin-top:1px;position:relative;transition:background .3s}
.ack input:checked+.box{background:var(--obsidian);border-color:var(--obsidian)}
.ack input:checked+.box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid var(--pearl);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ack input:focus-visible+.box{outline:2px solid var(--obsidian);outline-offset:3px}
.ack input[aria-invalid=true]+.box{border:2px solid var(--obsidian)}
.ack-f .grp-note{margin-left:36px;margin-top:6px}
.ack-f.not-needed{opacity:.5}
.ack-f .err{margin-left:36px}
.app-form .sent p{font-size:clamp(24px,2.4vw,36px);line-height:1.3;max-width:22em}
@media (max-width:900px){
  .app-form{grid-template-columns:1fr;gap:0}
  .app-form .f input,.app-form .f textarea{font-size:16px}
  .chip span{font-size:15px;padding:11px 16px}
  .app-form legend{font-size:12px;letter-spacing:.22em}
  .app-form .form-foot .btn{width:100%;justify-content:center}
}
.app-form .f label.chip{position:relative;top:auto;left:auto;font:inherit;letter-spacing:0;text-transform:none;color:inherit}
.app-form .f .chip input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0}
.app-form .f .ack input{padding:0;border:0;width:24px;height:24px}
.app-form .f:not(.grp):not(.ack-f){padding-top:0}
.app-form .f>label:not(.ack){position:static;display:block;line-height:1.6;margin-bottom:2px}

/* statement: full-figure cutout (contain-fit, never cropped). Variants via LM_STATEMENT in build.py */
.obsidian-sec{background:var(--obsidian);color:var(--pearl)}
.statement-x{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(30px,5vw,96px);min-height:100vh;padding:clamp(90px,9vw,150px) var(--pad) clamp(60px,6vw,100px);overflow:hidden}
.statement-media{position:relative;display:flex;justify-content:center;align-items:flex-end;isolation:isolate}
.statement-media picture{display:block;position:relative;z-index:1}
.statement-media img{display:block;height:min(86vh,1000px);width:auto;max-width:100%;object-fit:contain}
.statement-media .cut{position:relative;display:block}
.statement-media .floor{position:absolute;z-index:0;left:30%;bottom:11.2%;width:46%;height:3.2%;border-radius:50%;background:radial-gradient(closest-side,rgba(7,7,7,.26),rgba(7,7,7,.1) 50%,rgba(7,7,7,0));filter:blur(4px);pointer-events:none}
.statement-black .statement-media .floor{display:none}
.statement-quote{position:relative;z-index:2;margin:0}
.statement-quote .pq-x{max-width:8.5em}
.statement-light .statement-quote{color:var(--obsidian)}
.statement-light .statement-quote .label{color:var(--graphite);opacity:1}
.statement-black .statement-quote{color:var(--pearl)}
.statement-black .statement-quote .label{color:var(--chrome);opacity:1}
@media (max-width:900px){
  .statement-x{grid-template-columns:1fr;min-height:0;gap:40px;padding:80px var(--pad) 90px}
  .statement-media img{height:auto;width:min(64vw,360px)}
  .statement-quote .pq-x{font-size:clamp(44px,12vw,64px)}
}

/* ---------- v5 (Oct 21) ---------- */
/* uncropped photos at their own aspect ratio */
.nat picture,.nat img{display:block}
.nat img{width:100%;height:auto}
.floor-band,.inq-band{line-height:0}
/* Firm story: two columns, each starts a complete thought (no split sentences) */
.story-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,64px);font-size:clamp(16px,1.2vw,18px);line-height:1.75;color:rgba(7,7,7,.75);text-wrap:pretty}
.story-2 p{margin:0}
/* On set a: trio at hero scale, uncropped; then one full-bleed team frame with slow drift */
.onset-x{position:relative;overflow:hidden}
.onset-a{padding:clamp(90px,9vw,150px) 0 0}
.onset-lead{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,6vw,110px);align-items:end;padding:0 var(--pad) clamp(90px,9vw,150px)}
.onset-lead .lead img{height:min(calc(100vh - 60px),1400px);width:auto;max-width:none}
.onset-line .h2{margin-top:24px;max-width:9em}
.onset-wide{line-height:0}
/* On set b: pinned filmstrip, frames uncropped (height-led), trio largest */
.onset-b .hz-track{align-items:center}
.onset-b .hz-panel{flex:0 0 auto}
.onset-b .hz-panel img{height:62vh;width:auto;max-width:none}
.onset-b .ob-lead img{height:84vh}
.onset-b .hz-intro{flex-basis:clamp(260px,24vw,400px)}
html:not(.no-hz) .onset-b .hz-track{padding-right:10vw}
/* Home portrait band: dark, uncropped, chest-up or wider */
.portrait-band{display:grid;grid-template-columns:46vw 1fr;align-items:center;gap:clamp(40px,6vw,110px)}
.pb-copy{padding-right:var(--pad)}
.pb-copy .h2{margin-top:24px;max-width:9em;color:var(--pearl)}
.pb-copy .label{color:var(--chrome)}
/* Firm opener: full-height, image bleeds top/bottom/left, never cropped */
.firm-open{display:grid;grid-template-columns:auto 1fr;min-height:100vh;align-items:end}
.fo-media{line-height:0}
.fo-media img{height:100vh;min-height:640px;width:auto;max-width:none;display:block}
.fo-copy{padding:0 var(--pad) clamp(60px,8vh,110px) clamp(40px,5vw,90px)}
.fo-copy .label{display:block;margin:34px 0 26px;color:var(--chrome)}
.fo-copy .h1{color:var(--pearl);font-size:clamp(46px,5.2vw,96px)}
.fo-copy .masthead{color:var(--chrome)}
.firm-open + .firm-hero{padding-top:clamp(60px,7vw,110px)}
/* Press: 1a624e21 kept uncropped-ish on mobile */
@media (max-width:900px){
  .story-2{grid-template-columns:1fr}
  .onset-lead{grid-template-columns:1fr;gap:36px}
  .onset-lead .lead img{width:100%;height:auto}
  .onset-b .hz-panel img,.onset-b .ob-lead img{height:auto;width:86vw}
  .onset-b .hz-panel{flex:0 0 86vw}
  .portrait-band{grid-template-columns:1fr;gap:40px;padding-bottom:90px}
  .pb-copy{padding:0 var(--pad)}
  .firm-open{grid-template-columns:1fr;min-height:0}
  .fo-media img{width:100%;height:auto;min-height:0}
  .fo-copy{padding:40px var(--pad) 70px}
  .press-media{aspect-ratio:2/3}
}
.onset-a{padding-bottom:6vw}
.onset-a .onset-wide{margin-top:-2vw}
.statement-media .floor{left:18%;bottom:.4%;width:66%;height:2.4%;background:radial-gradient(closest-side,rgba(7,7,7,.2),rgba(7,7,7,.08) 55%,rgba(7,7,7,0));filter:blur(6px)}
/* On set b without pinning (touch, reduced motion): native scroll-snap filmstrip, frames stay uncropped */
.no-hz .onset-b .hz-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center}
.no-hz .onset-b .hz-panel{scroll-snap-align:start}
.no-hz .onset-b .hz-intro{flex:0 0 clamp(260px,24vw,400px);grid-column:auto;margin-bottom:0}
@media (min-width:901px){.no-hz .onset-b .hz-panel img{height:62vh}.no-hz .onset-b .ob-lead img{height:84vh}}
.statement-media .floor{left:8%;bottom:1.2%;width:72%;height:2.6%}
.no-hz .onset-b .hz-intro,.onset-b .hz-intro{scroll-snap-align:start}
.no-hz .onset-b .hz-track{scroll-snap-type:x proximity;scroll-padding-inline:0}
@media (min-width:901px){.no-hz .onset-b .hz-track{scroll-snap-type:none}}
.fo-copy .label,.fo-copy .masthead{color:rgba(244,242,238,.82);opacity:1}
.firm-hero .contents > .label{color:#8E8E8E}

/* ---------- v6 (Oct 21): soft photo edges ----------
   Every photo fades to transparent at its outer edges, so it melts into whatever
   section background sits behind it (pearl or obsidian), with no hard lines.
   Fades sit on the outer edges only; faces stay fully opaque. */
:root{--ft:9%;--fb:15%;--fs:16%}
.field.has-photo,.nat,.fo-media{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%)}
/* side photos also fade on the edge that faces the copy */
.fo-media{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(270deg,transparent 0,#000 var(--fs));
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(270deg,transparent 0,#000 var(--fs));
  -webkit-mask-composite:source-in;mask-composite:intersect}
.hero-media .field.has-photo,.press-media .field.has-photo{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 var(--fs));
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 var(--fs));
  -webkit-mask-composite:source-in;mask-composite:intersect}
.nat.pb-media{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 var(--fs),#000 calc(100% - var(--fs)),transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 var(--fs),#000 calc(100% - var(--fs)),transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
/* Home portrait band: photo only (no line), centred */
.portrait-band{grid-template-columns:1fr;justify-items:center;padding:clamp(40px,5vw,80px) 0}
.portrait-band .pb-media{width:min(46vw,900px)}
/* the full-bleed and closing photos get a longer, gentler fade */
.floor-band .nat,.inq-band .nat,.field.sliver.has-photo{--ft:12%;--fb:18%}
@media (max-width:900px){
  :root{--ft:8%;--fb:14%}
  .fo-media,.hero-media .field.has-photo,.press-media .field.has-photo,.nat.pb-media{
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%)}
  .portrait-band .pb-media{width:100%}
  .portrait-band{padding:0 0 40px}
}
/* framed blocks (brand cards, split photos) soften on all four edges */
.field.r-4x5.has-photo,.split-media .field.has-photo,.field.split-field.has-photo:not(.bleed-r){
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}

/* ---------- v8 (Oct 21): Home statement shows the whole BTS frame (all four people), full-bleed ---------- */
/* photo spans the viewport, the copy sits below it so nobody is covered; top/bottom fade into pearl, no side fade (keeps the edge people whole) */
.statement-x:has(.stm-team){grid-template-columns:minmax(0,1fr);min-height:0;gap:clamp(28px,3.5vw,56px);padding:clamp(40px,4vw,72px) var(--pad) clamp(90px,9vw,150px)}
.statement-media.stm-team{display:block;align-self:stretch;margin:0 calc(-1*var(--pad))}
.stm-team .nat{width:100%;--ft:10%;--fb:16%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%)}
.stm-team .nat img{width:100%;height:auto;max-width:none}
.statement-x:has(.stm-team) .statement-quote{justify-self:center;width:min(100%,1100px)}
@media (max-width:900px){
  .statement-x:has(.stm-team){gap:28px;padding:24px var(--pad) 80px}
  .stm-team .nat{--ft:9%;--fb:15%}
  .statement-x:has(.stm-team) .statement-quote{width:100%}
}

/* ---------- v9 (Oct 21): Home 09 Inquire, mobile scroll zoom-out (desktop unchanged) ---------- */
/* Resting state = the whole frame as a full-width band above the copy (this is what reduced-motion / no-JS
   shows). On scroll, site.js starts it zoomed in on the founder (covering the screen) and scrubs out to this. */
@media (max-width:900px){
  .field.sliver.has-photo .inner{inset:auto 0 auto 0;--zh:calc(100vw / var(--zar,1.7778));top:clamp(40px,calc(100svh - var(--zh) - 400px),22svh);height:var(--zh);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 84%,transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 84%,transparent 100%)}
  .field.sliver.has-photo .inner img{object-position:50% 50%}
  /* slightly stronger bottom gradient so the copy reads on the floor/papers, but it stays clear of the band's faces */
  .sliver-stage::after{background:linear-gradient(0deg,#070707 0%,rgba(7,7,7,.94) 26%,rgba(7,7,7,.55) 40%,rgba(7,7,7,0) 54%)}
}

/* ---------- v10 (Oct 21): Home 09 Inquire uses the folder frame (1 27 39 PM, 3:2) ---------- */
/* little headroom above the heads in this frame, so the image is top-anchored, the parallax overscan is off
   and the top fade is shorter (it only touches the backdrop and hair tops, never faces); bottom fade unchanged */
@media (min-width:901px){
  .field.sliver.has-photo{--ft:6%}
  .field.sliver.has-photo .inner{inset:0}
}
@media (max-width:900px){
  .field.sliver.has-photo .inner{
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 84%,transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 84%,transparent 100%)}
}
/* soften the grey studio backdrop into obsidian: CSS overlay only (photo pixels untouched); darkest at the
   top edge and the far corners, clear over the three people */
.field.sliver.has-photo .inner::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(7,7,7,.6) 0%,rgba(7,7,7,.22) 6%,rgba(7,7,7,0) 13%),
             radial-gradient(ellipse 70% 95% at 47% 45%,rgba(7,7,7,0) 62%,rgba(7,7,7,.5) 100%)}

/* ---------- v13 (Oct 22): Press hero = three-person frame (press-team-burgundy, 1 53 09 PM; fallback press-chair-chin / 1a624e21) ----------
   The 7:6 crop already holds all three people with ~7% side margins, so the panel takes that exact ratio (no cover crop),
   with no scale/drift. Short top fade (heads start at ~10%), longer bottom fade; the gray backdrop is eased into #070707 with a
   soft top/left wash and a radial corner vignette (same treatment as the v10 folder frame). */
.press-media.pm-team{top:auto;bottom:0;height:auto;width:min(44vw,calc((100svh - 110px)*7/6));aspect-ratio:7/6}
.press-media.pm-team .field.has-photo .inner{inset:0;transform:none!important}
.press-media.pm-team .field.has-photo{--ft:7%;--fb:15%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 7%);
          mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%),linear-gradient(90deg,transparent 0,#000 7%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.press-media.pm-team::after{z-index:2;background:
  linear-gradient(180deg,rgba(7,7,7,.7) 0%,rgba(7,7,7,.25) 5%,rgba(7,7,7,0) 9%),
  linear-gradient(90deg,rgba(7,7,7,.75) 0%,rgba(7,7,7,.3) 4%,rgba(7,7,7,0) 8%),
  linear-gradient(0deg,rgba(7,7,7,.6) 0%,rgba(7,7,7,0) 20%),
  radial-gradient(ellipse 75% 92% at 51% 54%,rgba(7,7,7,0) 58%,rgba(7,7,7,.5) 80%,rgba(7,7,7,.85) 100%)}
/* wide screens: keep the headline clear of the left team member */
@media (min-width:1600px){.press-media.pm-team{width:min(40vw,calc((100svh - 110px)*7/6))}}
@media (max-width:900px){
  .press-media.pm-team{position:relative;top:auto;bottom:auto;width:100%;height:auto;aspect-ratio:7/6;margin-top:92px}
  .press-media.pm-team .field.has-photo{--ft:6%;--fb:16%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%);
            mask-image:linear-gradient(180deg,transparent 0,#000 var(--ft),#000 calc(100% - var(--fb)),transparent 100%)}
  .press-media.pm-team::after{background:
    linear-gradient(180deg,rgba(7,7,7,.5) 0%,rgba(7,7,7,.18) 5%,rgba(7,7,7,0) 8.5%),
    linear-gradient(0deg,#070707 0%,rgba(7,7,7,0) 22%),
    radial-gradient(ellipse 80% 95% at 50% 50%,rgba(7,7,7,0) 66%,rgba(7,7,7,.45) 100%)}
}

/* Oct 22: "Or email us" line under the submit button (same Inter small style as the form note) */
.form-alt{grid-column:1 / -1;font-size:12px;color:rgba(7,7,7,.68);margin-top:12px}
.form-alt a{text-decoration:underline;text-underline-offset:3px}
form.done .form-alt,form.offline-done .form-alt{display:none}
