/* inter-latin-ext-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/inter-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-400-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/inter-latin-400-normal.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;
}
/* inter-latin-ext-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(/fonts/inter-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-500-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(/fonts/inter-latin-500-normal.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;
}
/* inter-latin-ext-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url(/fonts/inter-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* inter-latin-600-normal */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src:url(/fonts/inter-latin-600-normal.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;
}
/* cormorant-garamond-latin-ext-300-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src:url(/fonts/cormorant-garamond-latin-ext-300-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* cormorant-garamond-latin-300-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src:url(/fonts/cormorant-garamond-latin-300-normal.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;
}
/* cormorant-garamond-latin-ext-400-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/cormorant-garamond-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* cormorant-garamond-latin-400-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/cormorant-garamond-latin-400-normal.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;
}
/* cormorant-garamond-latin-ext-500-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(/fonts/cormorant-garamond-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* cormorant-garamond-latin-500-normal */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src:url(/fonts/cormorant-garamond-latin-500-normal.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;
}
/* space-mono-latin-ext-400-normal */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/space-mono-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* space-mono-latin-400-normal */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/space-mono-latin-400-normal.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;
}
/* anton-latin-ext-400-normal */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/anton-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* anton-latin-400-normal */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src:url(/fonts/anton-latin-400-normal.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;
}
/* Sarah Wolff Bensimon — site styles (from Figma tokens) */
:root{
  --bg:#eeebe5; --ink:#17191a; --accent:#b5673c; --muted:#7a7870; --card:#fbfaf7; --cream:#f2efe7;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:Inter,system-ui,-apple-system,sans-serif; --mono:"Space Mono",ui-monospace,monospace; --display:Anton,Impact,sans-serif;
  --pad:64px; --max:1440px; --gap:16px;
  --u:min(1px, calc(100vw / 1440));
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* type */
.mono,.label,.mono-10,.mono-11{font-family:var(--mono);text-transform:uppercase}
.label{font-size:11px;letter-spacing:.22em;color:var(--accent);line-height:1.45}
.label.k12{font-size:12px}
.mono-10{font-size:10px;letter-spacing:.18em;color:var(--muted);line-height:1.6}
.mono-11{font-size:11px;letter-spacing:.2em;color:var(--muted)}
.display{font-family:var(--serif);font-weight:300;font-size:72px;line-height:1.02;letter-spacing:-.005em;margin-top:16px}
.display.d72{font-size:64px}.display.d64{font-size:60px;max-width:1150px}
.serif-56{font-family:var(--serif);font-weight:300;font-size:56px;line-height:1.05}
.serif-40{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.1}
.serif-36{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.15}
.serif-30{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.15}
.serif-28{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.2}
.intro-24{font-family:var(--serif);font-size:24px;line-height:1.3;max-width:1000px;margin-top:20px}
.intro-28{font-family:var(--serif);font-size:26px;line-height:1.25;max-width:1000px;margin-top:20px}
.intro-30{font-family:var(--serif);font-size:28px;line-height:1.25;max-width:1150px;margin-top:20px}
.lead-20{font-size:20px;line-height:1.5}
.body-18{font-size:18px;line-height:1.6}
.body-18+.body-18{margin-top:1em}
.body-16{font-size:16px;line-height:1.6}
.body-14{font-size:14px;line-height:1.5;color:var(--muted)}
.muted{color:var(--muted)}
.blink{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:24px;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.blink:hover,a:hover .blink{border-color:var(--accent)}
.ulink{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding-bottom:5px;border-bottom:2px solid var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:158px;height:48px;padding:0 22px;background:var(--ink);color:var(--cream);font-size:15px;font-weight:500;border-radius:2px;transition:background .2s}
.btn:hover{background:#2b2e30}
.btns{display:flex;gap:16px;flex-wrap:wrap}

/* nav */
.nav{position:relative;z-index:20;max-width:var(--max);margin:0 auto;height:78px;padding:32px var(--pad) 0;display:flex;justify-content:space-between;align-items:flex-start}
.logo{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1.2}
.nav-links{display:flex;gap:26px;margin-top:-8px}
.nav-links a,.nav-m a,.menu-btn{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px;border-radius:8px}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--accent)}
.nav-m{display:none}
.p-home .nav{position:absolute;left:0;right:0;top:0;margin:0 auto;max-width:calc(1440*var(--x));padding:40px calc(64*var(--x)) 0}
.menu{position:fixed;inset:0;z-index:50;background:var(--bg);overflow:auto}
.menu-in{padding:16px 24px 40px;min-height:100%;display:flex;flex-direction:column}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-close{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px}
.menu nav{display:flex;flex-direction:column;margin-top:48px;gap:6px}
.menu nav a{font-family:var(--serif);font-size:38px;line-height:1.15}
.menu-foot{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:10px;font-size:14px}

/* footer */
.foot{padding-top:72px;padding-bottom:40px}
.foot-row{display:flex;align-items:center;gap:20px;padding-top:24px;border-top:1px solid rgba(23,25,26,.12)}
.foot-c{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-right:auto}
.foot-c:hover{color:var(--accent)}
.ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;transition:background .2s}
.ico svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ico:hover{background:rgba(23,25,26,.06)}
.ico:hover svg{stroke:var(--accent)}
.p-home .foot{padding-top:0;padding-bottom:20px}.p-home .foot-row{padding-top:16px}

/* generic sections */
.intro{padding-top:48px}
.filters{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:28px;font-size:14px}
.filters a,.filters button{font-size:14px;color:var(--ink);padding:2px 0;border-bottom:1px solid transparent}
.filters a[aria-current],.filters button[aria-pressed=true]{font-weight:600}
.filters a[aria-current]::after,.filters button[aria-pressed=true]::after{content:" •"}
.filters a:hover,.filters button:hover{border-color:var(--accent)}

/* tile with offset color block */
.tile{position:relative;aspect-ratio:644/362}
.tile-blk{position:absolute;left:16px;top:16px;right:-16px;bottom:-16px;background:var(--blk)}
.tile img,.tile .ph{position:relative;width:100%;height:100%;object-fit:cover;box-shadow:0 34px 60px -28px rgba(0,0,0,.26)}
.ph{background:#e2dfd6}

/* home */
.p-home{--x:min(1px, calc(100vw / 1440), calc((100svh - 84px) / 856))}
.home-hero{position:relative;width:calc(1440*var(--x));height:calc(856*var(--x));margin:0 auto}
.home-hero>*{position:absolute}
.hh-circle,.ch-circle{border:1px solid rgba(23,25,26,.07);border-radius:50%}
.home-hero .c1{left:calc(410*var(--x));top:calc(-40*var(--x));width:calc(980*var(--x));height:calc(980*var(--x))}
.home-hero .c2{left:calc(550*var(--x));top:calc(100*var(--x));width:calc(700*var(--x));height:calc(700*var(--x))}
.hh-desc{left:calc(64*var(--x));top:62px;font-size:calc(10*var(--x));letter-spacing:.18em;color:var(--muted)}
.hh-block{left:calc(490*var(--x));top:calc(170*var(--x));width:calc(780*var(--x));height:calc(640*var(--x));background:#2e3d4f}
.hh-photo{left:calc(560*var(--x));top:calc(120*var(--x));width:calc(780*var(--x));height:calc(640*var(--x));box-shadow:0 34px 60px -24px rgba(0,0,0,.26)}
.hh-photo img{width:100%;height:100%;object-fit:cover}
.hh-word{left:calc(168*var(--x));top:calc(275*var(--x));width:calc(1172*var(--x));height:calc(330*var(--x));font-family:var(--display);font-size:calc(330*var(--x));line-height:1;letter-spacing:-.003em;pointer-events:none}
.hh-word span{position:absolute;left:0;top:0;white-space:nowrap}
.hw-photo{background-image:linear-gradient(rgba(23,25,26,.22),rgba(23,25,26,.22)),var(--ph);background-repeat:no-repeat;background-size:cover;background-position:center 40%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.hw-photo{color:rgba(23,25,26,.55)}}
.hw-solid{color:#fff;clip-path:inset(0 0 0 calc(392*var(--x)));text-shadow:0 10px 24px rgba(0,0,0,.28)}
.hh-line{left:calc(64*var(--x));top:calc(684*var(--x));font-family:var(--serif);font-size:calc(34*var(--x));line-height:1}
.hh-sub{left:calc(66*var(--x));top:calc(730*var(--x));width:calc(400*var(--x));font-size:calc(10*var(--x));letter-spacing:.14em;color:var(--muted);text-transform:none;line-height:1.5}
.hh-ctas{left:calc(64*var(--x));top:calc(812*var(--x));display:flex;gap:40px}
.hh-vtag{left:calc(1400*var(--x));top:calc(579*var(--x));transform-origin:0 0;transform:rotate(-90deg);font-size:calc(10*var(--x));letter-spacing:.4em;color:var(--muted);white-space:nowrap}
.home-sel{padding-top:96px}
.hs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:40px}
.hs-img{aspect-ratio:405/300;overflow:hidden;margin-bottom:24px}
.hs-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.hs-tile:hover img{transform:scale(1.03)}
.hs-tile .body-14{margin-top:8px}
.home-svc{display:grid;grid-template-columns:380px 1fr;gap:80px;padding-top:88px}
.home-svc h2{margin-top:10px}

/* hub */
.hub{padding-top:48px;display:flex;flex-direction:column;gap:56px}
.hub-row{display:grid;grid-template-columns:644fr 604fr;gap:64px;align-items:center}
.hub-row.flip .tile{order:2}
.hub-row .label{margin-bottom:14px}
.hub-row .lead-20{margin-top:20px}
.hub-row:hover .blink{border-color:var(--accent)}
.credit{padding-top:56px}.credit .body-16{color:var(--muted);margin-top:8px;max-width:1000px}

/* leadership */
.lead-list{padding-top:40px}
.lead-row{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:36px 0;border-top:1px solid rgba(23,25,26,.12)}
.lead-row:last-child{border-bottom:1px solid rgba(23,25,26,.12)}
.lead-num{display:block;font-family:var(--serif);font-weight:300;font-size:64px;line-height:1;color:var(--accent);margin-bottom:14px}
.lead-row .body-18{margin-top:14px;max-width:908px}
.lead-row:hover .lead-num{color:var(--ink)}
.meta2{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:24px}
.meta2 .body-16{margin-top:4px}
.ls{padding-top:48px;display:flex;flex-direction:column;gap:40px}
.ls-sec{display:grid;grid-template-columns:380px 1fr;gap:80px}
.ls-sec .serif-36{margin-top:6px}
.related{padding-top:56px}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.rel-img{aspect-ratio:292/164;overflow:hidden;margin-bottom:10px;background:#e2dfd6}
.rel-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rel:hover img{transform:scale(1.04)}
.rel span{font-size:13px}
.pager{padding-top:40px;display:flex;flex-wrap:wrap;gap:16px 48px}

/* selected */
.sel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 28px;padding-top:44px}
.sel-grid .tile-blk{left:10px;top:10px;right:-10px;bottom:-10px}
.sel-grid .sel-h{font-size:30px}.sel-grid .sel-c{font-size:17px;margin:4px 0 8px}
.sel-tile .tile{margin-bottom:24px}
.sel-h{font-family:var(--serif);font-weight:300;font-size:40px;line-height:1.1}
.sel-n{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent);margin-right:14px;vertical-align:middle}
.sel-c{font-family:var(--serif);font-size:20px;color:var(--muted);margin:6px 0 10px}
.sel-tile:hover .tile img{transform:translateY(-4px)}
.sel-tile .tile img{transition:transform .4s}
.big-link{display:inline-block;font-family:var(--serif);font-size:30px;margin-top:56px;border-bottom:1px solid transparent}
.big-link:hover{border-color:var(--accent)}

/* case hero */
.case-hero{position:relative;width:calc(1440*var(--u));height:calc(900*var(--u));margin:0 auto;--x:var(--u)}
.case-hero>*{position:absolute}
.case-hero .c1{left:calc(270*var(--x));top:calc(-80*var(--x));width:calc(980*var(--x));height:calc(980*var(--x))}
.case-hero .c2{left:calc(410*var(--x));top:calc(60*var(--x));width:calc(700*var(--x));height:calc(700*var(--x))}
.ch-kicker{left:calc(64*var(--x));top:40px}
.ch-back{left:calc(64*var(--x));top:68px;font-size:11px;letter-spacing:.22em;color:var(--muted)}
.ch-back:hover{color:var(--ink)}
.ch-count{right:calc(64*var(--x));top:40px;font-size:11px;letter-spacing:.2em;color:var(--muted)}
.ch-title{left:calc(150*var(--x));bottom:calc(208*var(--x));writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--serif);font-weight:300;font-size:calc(var(--ts)*var(--x));line-height:1.18;letter-spacing:.03em;white-space:nowrap;max-height:calc(720*var(--x))}
.ch-photo{left:calc(470*var(--x));top:calc(80*var(--x));width:calc(520*var(--x));height:calc(640*var(--x))}
.ch-blk{position:absolute;left:calc(56*var(--x));top:calc(56*var(--x));width:100%;height:100%;background:var(--blk)}
.ch-photo img{position:relative;width:100%;height:100%;object-fit:cover;box-shadow:0 34px 60px -24px rgba(0,0,0,.26)}
.noimg .ch-photo::after{content:"";position:absolute;inset:0;background:var(--card)}
.ch-card{left:calc(940*var(--x));top:calc(250*var(--x));width:340px;max-width:calc(340*var(--x) + 30px);background:var(--card);padding:30px;box-shadow:0 16px 30px -10px rgba(0,0,0,.2)}
.ch-ck{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--accent);text-transform:uppercase;line-height:1.5}
.ch-ct{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.05;margin-top:14px}
.ch-cb{font-size:13px;line-height:1.55;color:var(--muted);margin-top:14px}
.ch-cap{left:calc(470*var(--x));top:calc(800*var(--x))}
.ch-camp{left:calc(470*var(--x));top:calc(822*var(--x));font-family:var(--serif);font-weight:300;font-size:40px;line-height:1;max-width:calc(700*var(--x))}
.ch-arrows{left:calc(64*var(--x));top:calc(830*var(--x));display:flex;gap:28px;font-family:var(--mono);font-size:18px}
.ch-arrows a:hover{color:var(--accent)}
.case-hero .play-film{right:calc(72*var(--x));top:calc(810*var(--x))}

/* story */
.story{padding-top:48px;display:flex;flex-direction:column}
.ra{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-bottom:48px}
.appr{font-family:var(--serif);font-size:20px;line-height:1.25;margin-top:14px}
.role-t{font-family:var(--serif);font-weight:300;font-size:14px;margin-top:14px}
.role-x{font-size:20px;line-height:1.6;color:var(--muted);margin-top:12px}
.sec-l{margin:40px 0 14px}
.ra+.sec-l{margin-top:0}
.sec-h{margin:40px 0 10px}
.story-p{font-size:18px;line-height:1.6;max-width:880px;margin:8px 0 28px}
.sub-hd{margin:48px 0 20px}
.sub-hd .label{margin-top:10px}
.jrow{display:flex;gap:var(--gap);margin-bottom:var(--gap)}
.jrow .cell{flex:var(--a) 1 0;min-width:0}
.cell>img,.cell>video,.cell>.vtile{width:100%;aspect-ratio:var(--a);object-fit:cover;box-shadow:0 20px 40px -24px rgba(0,0,0,.22)}
.cell figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.feat{position:relative;width:min(100%,520px);margin:12px 0 56px}
.feat-blk{position:absolute;left:40px;top:40px;width:100%;height:100%;background:var(--blk)}
.feat-v{position:relative;aspect-ratio:var(--a);width:66%}
.feat-v .vtile{width:100%;height:100%}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:32px 0 40px;padding:32px 0;border-top:1px solid rgba(23,25,26,.12);border-bottom:1px solid rgba(23,25,26,.12)}
.stat-n{font-family:var(--serif);font-weight:300;font-size:56px;line-height:1;margin-bottom:10px}
.next{font-family:var(--serif);font-size:30px;line-height:1.35;margin-top:56px;align-self:flex-start;border-bottom:1px solid transparent}
.next.sm{font-size:24px;margin-top:40px}
.next:hover{border-color:var(--accent)}
.next+.next{margin-top:16px}

/* video tiles */
.vtile{position:relative;display:block;width:100%;height:100%;background:#1d1f20;overflow:hidden;border-radius:2px}
.vtile img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.vtile:hover img{transform:scale(1.03)}
.vt-name{position:absolute;left:16px;right:16px;bottom:16px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,231,.7);text-align:left}
.play{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(23,25,26,.42);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;transition:transform .25s,background .25s}
.play svg{width:20px;height:20px;fill:#fff;margin-left:2px}
.vtile:hover .play{transform:scale(1.08);background:rgba(23,25,26,.6)}

/* archive */
.cat-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:28px;flex-wrap:wrap}
.cat-bar .filters{margin-top:0;gap:8px 24px}
.cat-sort{display:flex;gap:14px;font-size:14px;align-items:center}
.cat-sort span{color:var(--muted)}
.cat-sort button{font-size:14px}
.cat-sort button[aria-pressed=true]{font-weight:600}
.cat-grid{display:flex;flex-wrap:wrap;gap:44px 20px;padding-top:40px;align-items:flex-start}
.cat-grid::after{content:"";flex:999 1 0}
.cat-tile{--a:1.7778;flex:var(--a) 1 calc(var(--a) * 300px);min-width:0}
.cat-tile.is-portrait{--a:.5625}
.cat-tile[hidden]{display:none}
.cat-media{aspect-ratio:var(--a);background:#e6e2da;margin-bottom:12px}
.cat-media .vtile.fill,.cat-media .still{width:100%;height:100%}
.cat-media .vtile.tall{width:100%;height:100%}
.cat-media .still img{width:100%;height:100%;object-fit:cover}
.cat-tags{color:var(--accent)!important;margin-top:8px}
.cat-tile .sel-h{font-size:24px}.cat-tile .sel-c{font-size:16px;margin:2px 0 6px}.cat-tile .mono-10{font-size:9px;letter-spacing:.14em}

.cat-case{display:inline-block;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--accent)}
.cat-empty{grid-column:1/-1;color:var(--muted)}

/* photography */
.h-photo{margin-top:18px}
.photos{padding-top:32px}

/* services */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:48px}
.svc-card{background:var(--card);padding:32px 36px;box-shadow:0 20px 40px -10px rgba(0,0,0,.08)}
.svc-card .serif-36{margin:10px 0 18px}
.clients{padding-top:56px}
.clients-t{font-family:var(--serif);font-size:20px;line-height:1.6;margin-top:16px;max-width:1312px}
.svc-close{padding-top:56px}
.svc-close .body-18{margin-top:14px}

/* about */
.about{display:grid;grid-template-columns:440px 1fr;gap:48px;padding-top:48px;align-items:start}
.about-ph{aspect-ratio:510/650}
.about-bio .serif-36{margin-bottom:24px}
.exp{display:grid;grid-template-columns:380px 1fr;gap:64px;padding-top:72px}
.exp ol{list-style:none;display:flex;flex-direction:column;gap:20px}
.exp li{display:flex;gap:24px;align-items:baseline;padding-bottom:20px;border-bottom:1px solid rgba(23,25,26,.12)}
.howlead{padding-top:72px}
.hl-in{background:var(--card);padding:48px;box-shadow:0 20px 40px -10px rgba(0,0,0,.06)}
.hl-in .serif-36{margin:16px 0 20px;max-width:820px}.hl-in .body-18{max-width:820px}

/* contact */
.ct-top{display:grid;grid-template-columns:1fr 563px;gap:64px;align-items:start}
.ct-photos{display:flex;gap:22px}
.ct-photos figure{flex:var(--a) 1 0;aspect-ratio:var(--a)}
.ct-photos img{width:100%;height:100%;object-fit:cover;box-shadow:0 20px 40px -24px rgba(0,0,0,.22)}
.onset{padding-top:56px}
.onset .sec-l{margin-top:0}
.contact .body-18{margin-top:24px}
.contact-card{margin-top:36px;background:var(--card);padding:28px 21px 32px;max-width:1312px;box-shadow:0 20px 40px -10px rgba(0,0,0,.06)}
.contact-card .serif-28{display:inline-block;margin:10px 0 26px;border-bottom:1px solid transparent}
.contact-card .serif-28:hover{border-color:var(--accent)}
.p-contact .foot{display:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(17,18,19,.94);display:flex;align-items:center;justify-content:center;padding:56px 24px}
.lb[hidden]{display:none}
.lb-in{width:min(1200px,100%);max-height:100%}
.lb-v video{width:100%;max-height:calc(100vh - 160px);background:#000;display:block}
.lb-msg{color:var(--cream);font-family:var(--serif);font-size:28px;text-align:center;padding:80px 20px}
.lb-t{color:rgba(242,239,231,.7);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:14px;text-align:center}
.lb-x{position:absolute;top:18px;right:24px;color:var(--cream);font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:8px}

/* ------------------------------------------------ overall scale: inner pages read at 80% on desktop */
@media (min-width:1101px){body:not(.p-home){zoom:.8}}

/* ------------------------------------------------ tablet */
@media (max-width:1100px){
  :root{--pad:40px}
  .display{font-size:64px}.display.d72,.display.d64{font-size:56px}
  .serif-56{font-size:44px}
  .ls-sec,.exp,.home-svc{grid-template-columns:1fr;gap:16px}
  .about{grid-template-columns:1fr 1fr}
  .rel-grid{grid-template-columns:repeat(2,1fr)}
  .sel-grid{grid-template-columns:1fr 1fr}
  .lead-row{grid-template-columns:200px 1fr;padding:40px 0}
  .ra{gap:32px}
  .stats{grid-template-columns:repeat(2,1fr)}
}

/* ------------------------------------------------ mobile (390 frames) */
@media (max-width:760px){
  :root{--pad:24px;--m:calc(100vw / 390)}
  body{font-size:15px}
  .nav{height:46px;padding:16px 24px 0}
  .nav-links{display:none}
  .nav-m{display:flex;gap:10px;margin-top:-8px}
  .p-home .nav{padding:30px 24px 0;max-width:calc(390*var(--x))}
  .display,.display.d72,.display.d64{font-size:46px;line-height:1.04}
  .serif-56{font-size:40px}.serif-40{font-size:32px}.serif-36{font-size:30px}.serif-28{font-size:24px}
  .intro{padding-top:32px}
  .intro-24,.intro-28,.intro-30{font-size:22px}
  .lead-20{font-size:18px}
  .body-18{font-size:16px}
  .hs-grid,.sel-grid,.svc-grid,.about,.rel-grid{grid-template-columns:1fr}
  .cat-grid{gap:32px 12px}.cat-tile{flex-basis:calc(var(--a) * 260px)}
  .hub-row{grid-template-columns:1fr;gap:36px}.hub-row.flip .tile{order:0}
  .hub{gap:48px;padding-top:32px}
  .tile-blk{left:10px;top:10px;right:-10px;bottom:-10px}
  .sel-grid{gap:44px;padding-top:32px}
  .lead-row{grid-template-columns:1fr;gap:10px;padding:36px 0}
  .lead-num{font-size:48px}
  .meta2{grid-template-columns:1fr;gap:16px}
  .ls{gap:40px}
  .stats{grid-template-columns:1fr 1fr;gap:24px}.stat-n{font-size:40px}
  .svc-card{padding:28px}
  .hl-in{padding:32px 24px}
  .exp li{gap:14px}
  .big-link,.next{font-size:26px}
  .foot{padding-top:56px}
  .cat-bar{flex-direction:column}
  .cat-tile .sel-h{font-size:22px}

  /* home hero: mobile frame 63:1576 */
  .p-home{--x:min(calc(100vw / 390), calc((100svh - 76px) / 790))}
  .home-hero{width:calc(390*var(--x));height:calc(790*var(--x))}
  .home-hero .c1{left:calc(-295*var(--x));top:calc(-160*var(--x))}
  .home-hero .c2{left:calc(-155*var(--x));top:calc(-20*var(--x))}
  .hh-desc{left:24px;top:58px;font-size:9px;letter-spacing:.16em;width:calc(342*var(--x))}
  .hh-block{left:calc(24*var(--x));top:calc(140*var(--x));width:calc(314*var(--x));height:calc(400*var(--x))}
  .hh-photo{left:calc(52*var(--x));top:calc(110*var(--x));width:calc(314*var(--x));height:calc(400*var(--x))}
  .hh-word{left:calc(20*var(--x));top:calc(358*var(--x));width:calc(346*var(--x));height:calc(124*var(--x));font-size:calc(124*var(--x))}
  .hw-solid{clip-path:inset(0 0 0 calc(32*var(--x)))}
  .hh-line{left:24px;top:calc(590*var(--x));font-size:calc(30*var(--x))}
  .hh-sub{left:24px;top:calc(636*var(--x));width:calc(330*var(--x));max-width:none;font-size:calc(9*var(--x));letter-spacing:.12em}
  .hh-ctas{left:24px;top:calc(740*var(--x));gap:40px}
  .ulink{font-size:11px}
  .hh-vtag{display:none}
  .home-sel{padding-top:72px}

  /* case hero: mobile frame 152:2671 */
  .case-hero{width:100%;height:auto;padding:28px 24px 0;display:flex;flex-direction:column}
  .case-hero>*{position:static}
  .ch-circle{display:none}
  .ch-back{order:1;font-size:10px}
  .ch-count{order:1;position:absolute!important;right:24px;top:28px;font-size:10px}
  .ch-kicker{order:2;margin-top:24px;font-size:10px}
  .ch-title{order:3;writing-mode:horizontal-tb;transform:none;font-size:min(84px,calc(var(--ts)*0.56px));line-height:.95;letter-spacing:.02em;margin-top:22px;white-space:normal;max-height:none}
  .ch-photo{order:4;position:relative!important;left:auto;top:auto;width:calc(320*var(--m));height:calc(420*var(--m));margin:22px 0 22px}
  .ch-blk{left:22px;top:22px}
  .ch-cap{order:5;margin-top:10px}
  .ch-camp{order:6;font-size:30px;margin-top:6px;max-width:none}
  .ch-card{order:7;width:100%;max-width:none;padding:22px;margin-top:22px}
  .ch-ck{font-size:9px}.ch-ct{font-size:24px}
  .ch-arrows{display:none}
  .ct-top{grid-template-columns:1fr;gap:28px}.ct-photos{gap:12px}
  .contact-card .btn{min-width:0;flex:1}
  .onset{padding-top:40px}
  .case-hero .play-film{order:8;align-self:flex-start;margin-top:22px}
  .story{padding-top:40px}
  .ra{grid-template-columns:1fr;gap:36px;margin-bottom:48px}
  .appr{font-size:18px}.role-x{font-size:17px}
  .sec-l{margin:40px 0 14px}
  .jrow{flex-wrap:wrap}
  .jrow .cell{flex:var(--a) 1 calc(var(--a) * 150px)}
  .feat{width:100%}.feat-v{width:72%}.feat-blk{left:24px;top:24px;width:72%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
