:root {
  --paper: #e9e6de;
  --paper-light: #f2efe8;
  --paper-deep: #ded9cf;
  --ink: #22241f;
  --muted: #77766f;
  --line: #c9c6be;
  --pale: #eae8df;
  --off-white: #f1eee7;
  --sans: 'Yantramanav', 'Helvetica Neue', Arial, sans-serif;
  --gutter: clamp(22px, 4.55vw, 84px);
  --max-content: 1800px;
  --header-h: 92px;
  --utility-h: 33px;
  --brand-blue: #0A99FF;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + var(--utility-h)); }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:300; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font-family:var(--sans); }
button { font:inherit; cursor:pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
img { display:block; max-width:100%; }
::selection { background:#777a70; color:#fff; }
.skip-link { position:fixed; top:-70px; left:16px; z-index:200; background:var(--paper); color:var(--ink); padding:10px 15px; }
.skip-link:focus { top:12px; }
#main { display:block; }
.section-wrap { padding-left:var(--gutter);padding-right:var(--gutter); }
.eyebrow { font-size:12px; line-height:1.5; font-weight:400; letter-spacing:.14em; text-transform:uppercase; }
.section-marker { display:flex; gap:17px; align-items:baseline; font-size:12px; font-weight:400; line-height:1.2; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.section-marker span:first-child { color:#929088; }
.section-marker--light { color:#e0ded6; }
.section-marker--light span:first-child { color:#858781; }
.editorial-heading { font-family:var(--sans); font-size:clamp(44px,5.5vw,94px); line-height:1.09; letter-spacing:-.025em; font-weight:300; margin:0; }
.editorial-heading em { font-style:normal; font-weight:400; }
.fine-link { display:inline-flex; gap:40px; align-items:center; justify-content:space-between; font-size:13px; text-transform:uppercase; font-weight:400; letter-spacing:.11em; border-bottom:1px solid var(--ink); padding:0 0 11px; transition:opacity .3s ease; }
.fine-link:hover { opacity:.65; }
.fine-link--light { color:#e8e6de; border-bottom-color:#777b74; }
.image-stack { position:absolute; inset:0; display:block; width:100%; height:100%; overflow:hidden; background:#4c4e49; }
.image-stack img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(90%); }
.image-stack__remote { opacity:0; transition:opacity 1.1s ease; }
.image-stack__remote.is-loaded { opacity:1; }

/* Fixed bright-blue utility strip — visual reference: Ralph Lauren's slim top bar. */
.utility-bar { height:var(--utility-h); background:var(--brand-blue); color:#fff; width:100%; }
.utility-bar__inner { max-width:2100px; height:100%; margin:auto; padding:0 var(--gutter); display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2vw,32px); }
.utility-bar__edition,.utility-bar__link { font:400 10px/1 var(--sans); letter-spacing:.095em; white-space:nowrap; }
.utility-bar__link { display:inline-flex; align-items:center; gap:5px; transition:opacity .2s ease; }
.utility-bar__link:hover { opacity:.72; }

/* Main navigation — two-line centered identity over the hero. */
.site-header { position:fixed; z-index:90; top:0; right:0; left:0; color:#f2f0eb; transition:background .38s ease,color .38s ease,border-color .38s ease; border-bottom:1px solid transparent; }
.site-header.is-solid,.site-header--solid { color:var(--ink); background:rgba(235,232,224,.98); border-bottom-color:rgba(45,45,42,.13); backdrop-filter:blur(18px); }
/* The navigation softly fades to a pale ivory panel when hovered.
   Like the Ralph Lauren reference, the text changes from ivory to charcoal.
   The independent #0A99FF utility strip remains unchanged. */
.top-nav { position:relative; isolation:isolate; height:var(--header-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 var(--gutter); max-width:2100px; margin:auto; color:inherit; transition:color .48s ease; }
.top-nav::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(250,249,246,.98);
  opacity:0;
  pointer-events:none;
  transition:opacity .48s ease;
}
@media (hover:hover) and (pointer:fine) {
  .top-nav:hover::before { opacity:1; }
  .top-nav:hover { color:var(--ink); }
}
/* The same treatment is available to keyboard users. */
.top-nav:focus-within::before { opacity:1; }
.top-nav:focus-within { color:var(--ink); }
.top-nav__side { display:flex; gap:clamp(25px,3vw,61px); align-items:center; }
.top-nav__side--right { justify-content:flex-end; }
.top-nav__link { font-size:13px; font-weight:400; letter-spacing:.075em; transition:opacity .2s; }
.top-nav__link:hover { opacity:.54; }
.wordmark { align-self:center; display:flex; flex-direction:column; gap:1px; align-items:center; justify-content:center; white-space:nowrap; }
.wordmark__name { font-size:26px; line-height:1; font-weight:400; letter-spacing:.105em; }
.wordmark__sub { margin-top:3px; font-size:9px; line-height:1; font-weight:300; letter-spacing:.29em; transform:translateX(.145em); }
.menu-toggle { display:none; background:none; border:0; color:inherit; width:35px; height:35px; padding:8px 0; }
.menu-toggle span { height:1px; width:100%; background:currentColor; display:block; margin:8px 0; }

/* Full-page menu, mobile-first interaction also works on desktop via keyboard. */
.menu-overlay { z-index:95; position:fixed; inset:0; background:var(--paper-light); color:var(--ink); display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateY(-10px); transition:opacity .25s ease, visibility .25s ease, transform .25s ease; padding:38px var(--gutter) 30px; }
.menu-open { overflow:hidden; }
.menu-open .menu-overlay { opacity:1; visibility:visible; transform:none; }
.menu-overlay__top, .menu-overlay__bottom { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:400; letter-spacing:.12em; }
.menu-overlay__top { padding-bottom:25px; border-bottom:1px solid var(--line); }
.menu-close { border:0; background:transparent; font-size:12px; text-transform:uppercase; letter-spacing:.12em; padding:0; color:inherit; }
.menu-close span { font-size:25px; font-weight:300; vertical-align:middle; margin-left:15px; }
.menu-overlay__links { flex:1; display:flex; flex-direction:column; justify-content:center; gap:clamp(10px,2.4vh,25px); }
.menu-overlay__links a { position:relative; display:flex; align-items:baseline; gap:40px; font-family:var(--sans); font-size:clamp(43px,7.7vw,94px); line-height:1.12; letter-spacing:-.02em; font-weight:300; transition:opacity .2s,transform .35s; }
.menu-overlay__links a:before { content:attr(data-num); font-family:var(--sans); font-size:11px; letter-spacing:.12em; color:#8d8d84; }
.menu-overlay__links a:hover { opacity:.5; transform:translateX(8px); }
.menu-overlay__bottom { border-top:1px solid var(--line); padding-top:25px; }

/* The blue strip sits above the opening image; navigation remains over the image. */
.home-main { padding-top:var(--utility-h); }

/* Full viewport editorial opening, with replaceable photo / muted video slides. */
.hero { position:relative; width:100%; min-height:720px; height:calc(100svh - var(--utility-h)); max-height:1300px; display:flex; justify-content:center; align-items:center; background:#272a26; color:#f7f4ec; isolation:isolate; }
.hero__media { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#272a26; }
.hero__slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.25s ease,visibility 0s linear 1.25s; }
.hero__slide.is-active { opacity:1; visibility:visible; transition:opacity 1.25s ease; }
.hero__slide .image-stack { z-index:0; }
.hero__slide .image-stack img { object-position:center center; }
.hero__video { display:block; width:100%; height:100%; object-fit:cover; filter:grayscale(90%); }
.hero__veil { position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,rgba(12,14,13,.46) 0%,rgba(12,14,13,.15) 28%,rgba(12,14,13,.35) 69%,rgba(10,12,11,.72) 100%); pointer-events:none; }
.hero__center { text-align:center; margin-top:clamp(20px,5vh,60px); display:flex; flex-direction:column; align-items:center; gap:18px; padding:0 20px; transform:translateY(clamp(75px,12vh,135px)); }
.hero__overline { font-size:clamp(10px,1vw,13px); letter-spacing:.28em; font-weight:300; line-height:1.8; }
.hero__center h1 { font-size:clamp(120px,18vw,315px); letter-spacing:-.07em; font-weight:300; line-height:.78; margin:4px 0 18px; transform:translateX(-.035em); }
.hero__bottom { position:absolute; bottom:0; left:var(--gutter); right:var(--gutter); height:80px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-top:1px solid rgba(255,255,255,.35); font-size:10px; font-weight:400; letter-spacing:.18em; }
.hero__scroll { display:flex; align-items:center; gap:16px; text-align:center; white-space:nowrap; }
.hero__scroll > span { font-size:20px; line-height:1; }
.hero__end { display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2.5vw,42px); }
.hero__edition { white-space:nowrap; }
.hero__rotation { display:flex; align-items:center; gap:14px; white-space:nowrap; }
.hero__counter { font-size:10px; font-weight:400; letter-spacing:.14em; font-variant-numeric:tabular-nums; }
.hero__pause,.hero__next { border:0; border-radius:0; background:transparent; color:inherit; padding:7px 2px; line-height:1; font-size:15px; transition:opacity .2s ease; }
.hero__pause:hover,.hero__next:hover { opacity:.55; }
.hero__pause > span { font-family:var(--sans); font-size:11px; }
.hero__next > span { font-size:18px; }

/* Introduction */
.intro { position:relative; min-height:620px; display:grid; grid-template-columns:1fr 4fr; column-gap:5vw; padding-top:150px; padding-bottom:110px; }
.intro__body { padding-top:clamp(25px,6vw,90px); }
.intro__description { max-width:350px; margin:45px 0 0 2px; font-size:clamp(15px,1.3vw,18px); line-height:1.5; font-weight:300; color:#5c5b55; }
.intro__edition { font-size:10px; font-weight:400; letter-spacing:.17em; position:absolute; bottom:62px; right:var(--gutter); color:#97948c; }

/* Image-led fields, offset editorial grid */
.practice { padding-top:68px; padding-bottom:170px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; border-top:1px solid var(--line); padding-top:28px; margin-bottom:55px; }
.section-heading p { margin:0; color:#6c6b64; font-size:14px; font-weight:300; line-height:1.35; }
.practice-grid { display:grid; grid-template-columns:minmax(0, 1.07fr) minmax(0, .93fr); gap:28px clamp(28px,6vw,120px); align-items:start; }
.practice-card { min-width:0; display:block; }
.practice-card__visual { position:relative; display:block; width:100%; overflow:hidden; background:#a7a29a; aspect-ratio:1/1.05; }
.practice-card__visual .image-stack img { transition:transform .9s ease,filter .7s ease,opacity 1.1s ease; }
.practice-card:hover .practice-card__visual .image-stack img { transform:scale(1.035); filter:grayscale(75%); }
.practice-card--moving-image .practice-card__visual { aspect-ratio:1.13/1; }
.practice-card--modeling { margin-top:130px; }
.practice-card--modeling .practice-card__visual { aspect-ratio:.81/1; }
.practice-card--art { margin-top:-110px; }
.practice-card--art .practice-card__visual { aspect-ratio:1.18/1; }
.practice-card--media { margin-top:65px; }
.practice-card--media .practice-card__visual { aspect-ratio:1.06/1; }
.practice-card--photography { margin-top:-45px; }
.practice-card--photography .practice-card__visual { aspect-ratio:1.1/1; }
.practice-card--photography .image-stack img, .practice-card--photography:hover .image-stack img { filter:none; }
.practice-card__meta { display:flex; justify-content:space-between; align-items:baseline; gap:15px; margin-top:17px; padding-bottom:5px; font-size:clamp(18px,1.75vw,25px); font-weight:300; line-height:1.15; }
.practice-card__number { font-size:11px; letter-spacing:.05em; margin-right:15px; color:#85857d; vertical-align:3px; font-weight:400; }
.practice-card__caption { display:block; font-size:12px; font-weight:300; color:#77766f; }

/* Manifesto / archive gateway */
.manifesto { position:relative; overflow:hidden; background:#272a26; min-height:620px; padding-top:42px; padding-bottom:65px; color:#e7e5dd; display:flex; flex-direction:column; justify-content:space-between; }
.manifesto:after { content:''; position:absolute; width:65vw; height:65vw; max-width:850px; max-height:850px; border-radius:50%; top:-330px; right:-170px; border:1px solid rgba(230,228,216,.06); pointer-events:none; }
.manifesto__center { align-self:center; text-align:center; position:relative; z-index:1; }
.manifesto__small { display:block; font-size:10px; letter-spacing:.23em; font-weight:400; margin-bottom:40px; }
.manifesto__center p { margin:0 0 52px; font:300 clamp(52px,7.7vw,118px)/1.07 var(--sans); letter-spacing:-.031em; }
.manifesto__center em { font-style:normal; font-weight:400; }
.manifesto__year { align-self:flex-end; letter-spacing:.12em; font-size:11px; font-weight:400; color:#8d8e87; }

/* Journal preview */
.notes { padding-top:155px; padding-bottom:180px; }
.notes__grid { margin-top:86px; display:grid; grid-template-columns:1fr .95fr; gap:8vw; align-items:center; }
.notes__grid > div { align-self:center; }
.notes__body { max-width:380px; font-size:18px; line-height:1.55; color:#66665e; margin:40px 0 42px; }
.notes__image { height:min(600px,55vw); position:relative; display:block; overflow:hidden; background:#656761; }
.notes__image .image-stack img { transition:transform .8s ease; }
.notes__image:hover .image-stack img { transform:scale(1.035); }
.notes__image-label { position:absolute; bottom:24px; left:28px; font-size:11px; letter-spacing:.18em; color:#ece9e0; font-weight:400; }

/* Final invitation */
.closing { min-height:440px; background:#dcd8cf; padding-top:85px; padding-bottom:85px; display:flex; justify-content:space-between; align-items:end; gap:30px; }
.closing h2 { font:300 clamp(50px,6vw,100px)/1.08 var(--sans); letter-spacing:-.032em; margin:40px 0 0; }
.closing h2 em { font-style:normal; font-weight:400; }
.closing__link { border-bottom:1px solid var(--ink); min-width:190px; display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; font-size:13px; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; font-weight:400; }

/* Footer */
.site-footer { padding:45px var(--gutter) 28px; background:#222520; color:#e8e7dd; }
.footer-top { display:flex; justify-content:space-between; padding-bottom:50px; border-bottom:1px solid #575b54; }
.footer-back { font-size:12px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; padding:60px 0 95px; }
.footer-statement p { font:300 clamp(37px,4.8vw,70px)/1.12 var(--sans); letter-spacing:-.025em; margin:0; }
.underlined-link { font-size:12px; font-weight:400; letter-spacing:.12em; border-bottom:1px solid #a4a69e; text-transform:uppercase; padding-bottom:9px; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:10px 30px; align-content:start; justify-self:end; width:min(100%,350px); font-size:14px; font-weight:300; }
.footer-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.footer-end { display:grid; grid-template-columns:1fr auto 1fr; gap:35px; align-items:end; border-top:1px solid #575b54; padding-top:26px; font-size:10px; letter-spacing:.1em; font-weight:400; color:#aaa9a0; }
.footer-end > span:last-child { text-align:right; }
.footer-end__identity { display:flex; align-items:center; gap:19px; font-size:11px; letter-spacing:.17em; line-height:1.6; color:#dedbd3; }
.signature { object-fit:contain; width:58px; height:45px; }

/* Reusable interior pages */
.interior-main { padding-top:calc(var(--header-h) + var(--utility-h)); }
.interior-main--plain { padding-top:calc(var(--header-h) + var(--utility-h)); }
.division-hero { position:relative; min-height:650px; height:78svh; max-height:1050px; background:#323531; color:#f1efe6; display:flex; align-items:flex-end; padding:0 var(--gutter) 90px; isolation:isolate; }
.division-hero__image { position:absolute; inset:0; z-index:-2; }
.division-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,18,16,.55),rgba(15,18,16,.2)),linear-gradient(0deg,rgba(15,18,16,.62),transparent 55%); }
.division-hero__content h1 { font:300 clamp(74px,10vw,164px)/1 var(--sans); letter-spacing:-.035em; margin:30px 0 12px; }
.division-hero__content p { font-size:14px; letter-spacing:.045em; font-weight:300; }
.division-hero__index { position:absolute; right:var(--gutter); bottom:93px; font-size:11px; letter-spacing:.15em; font-weight:400; }
.division-description { min-height:520px; padding-top:125px; padding-bottom:135px; display:grid; grid-template-columns:1fr 3fr; gap:40px; }
.division-description .editorial-heading { max-width:1030px; font-size:clamp(42px,5.2vw,86px); }
.division-categories { padding-top:40px; padding-bottom:120px; }
.division-categories .section-marker { margin-bottom:36px; }
.category-row { display:grid; grid-template-columns:110px 1fr 35px; border-top:1px solid var(--line); padding:18px 0; align-items:baseline; font-size:clamp(20px,2.5vw,38px); }
.category-row:last-child { border-bottom:1px solid var(--line); }
.category-row span:first-child,.category-row span:last-child { font-size:12px; color:var(--muted); }
.category-row span:last-child { text-align:right; }
.division-coming { background:#dad6cd; padding-top:115px; padding-bottom:125px; }
.division-coming h2 { max-width:930px; margin:25px 0; }
.division-coming p { font-size:16px; line-height:1.5; max-width:480px; margin-bottom:40px; color:#6d6b64; }
.next-field { padding-top:70px; padding-bottom:90px; }
.next-field > div { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:25px; }
.next-field a { border-top:1px solid var(--line); padding:13px 0; font-size:24px; display:flex; justify-content:space-between; }
.plain-hero { padding-top:130px; padding-bottom:140px; min-height:510px; }
.plain-hero h1 { font:300 clamp(82px,11vw,182px)/1 var(--sans); letter-spacing:-.042em; margin:55px 0 40px; }
.period { color:#a6a297; }
.plain-hero p { font-size:clamp(17px,1.5vw,22px); max-width:570px; line-height:1.45; color:#595b54; }
.archive-list,.archive-projects { padding-bottom:120px; }
.archive-list .section-marker,.archive-projects .section-marker { margin-bottom:35px; }
.archive-row { display:grid; grid-template-columns:120px 1fr; align-items:center; border-top:1px solid var(--line); padding:18px 0; }
.archive-row:last-child { border-bottom:1px solid var(--line); }
.archive-row span:first-child { font-size:12px; color:#86867f; font-weight:400; }
.archive-row span:nth-child(2) { font:300 clamp(38px,5.8vw,88px)/1.12 var(--sans); letter-spacing:-.022em; transition:opacity .2s ease; }
.archive-row:hover span:nth-child(2) { opacity:.64; }
.project-row { display:grid; grid-template-columns:140px 1fr 1fr; align-items:center; gap:20px; border-top:1px solid var(--line); padding:20px 0; }
.project-row strong { font-weight:400; }
.quiet-empty { border-top:1px solid var(--line); padding:50px 0; font:300 clamp(31px,4.1vw,54px)/1.24 var(--sans); letter-spacing:-.018em; }
.quiet-empty span { display:block; font:300 16px/1.5 var(--sans); color:#77766e; margin-top:12px; }
.journal-feature { display:grid; grid-template-columns:1fr 1fr; min-height:550px; gap:6vw; padding-bottom:160px; align-items:center; }
.journal-feature > .image-stack { position:relative; height:500px; }
.journal-feature h2 { font:300 clamp(43px,4.9vw,76px)/1.1 var(--sans); letter-spacing:-.025em; margin:25px 0; }
.journal-feature p { max-width:410px; font-size:17px; line-height:1.6; color:#676760; }
.about-layout,.inquiry-layout { display:grid; grid-template-columns:1fr 3fr; gap:40px; padding-top:60px; padding-bottom:150px; }
.about-layout .editorial-heading,.inquiry-layout .editorial-heading { margin:0 0 35px; }
.about-layout > div:last-child > p,.inquiry-layout > div:last-child > p { font-size:18px; color:#60615a; line-height:1.6; max-width:650px; margin:0 0 24px; }
.about-layout .fine-link { margin-top:22px; }
.about-signature { min-height:310px; background:#292b28; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; }
.about-signature .signature { height:150px; width:260px; }
.about-signature span { color:#8c8e86; font-size:11px; letter-spacing:.2em; }
.inquiry-state { margin:60px 0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; gap:16px; font-size:12px; font-weight:400; letter-spacing:.13em; }
.inquiry-dot { width:6px; height:6px; border-radius:50%; background:#a09e92; }

/* Optional reveal — good with reduced motion disabled */
.reveal { opacity:1; transform:none; }
.reveal.is-visible { opacity:1; transform:none; }

@media(max-width: 960px) {
  :root { --header-h:80px; }
  .top-nav__side { gap:22px; }
  .top-nav__link { font-size:12px; }
  .wordmark__name { font-size:21px; }
  .hero__bottom-label,.hero__edition { display:none; }
  .hero__bottom { grid-template-columns:1fr auto; }
  .hero__scroll { display:flex; }
  .intro { grid-template-columns:1fr 3fr; gap:28px; }
  .practice-grid { gap:40px; }
  .practice-card--modeling { margin-top:100px; }
  .practice-card--art { margin-top:-80px; }
  .notes__grid { gap:40px; }
}
@media(max-width: 680px) {
  :root { --header-h:76px; --utility-h:31px; --gutter:22px; }
  .utility-bar__inner { gap:17px; }
  .utility-bar__edition,.utility-bar__link { font-size:9px; letter-spacing:.06em; }
  .top-nav { grid-template-columns:1fr auto; }
  .top-nav__side { display:none; }
  .wordmark { justify-self:start; align-items:start; }
  .wordmark__name { font-size:22px; }
  .wordmark__sub { font-size:8px; letter-spacing:.27em; }
  .menu-toggle { display:block; justify-self:end; }
  .hero { min-height:620px; height:calc(100svh - var(--utility-h)); max-height:none; }
  .hero__center { margin-top:20px; gap:21px; transform:translateY(clamp(45px,7vh,80px)); }
  .hero__center h1 { font-size:clamp(104px,30vw,185px); margin:0 0 10px; }
  .hero__overline { max-width:300px; font-size:9px; letter-spacing:.21em; }
  .hero__bottom { height:66px; grid-template-columns:1fr auto; gap:14px; font-size:8px; letter-spacing:.10em; }
  .hero__scroll { gap:7px; }
  .hero__scroll > span { font-size:17px; }
  .hero__rotation { gap:9px; }
  .hero__counter { font-size:8px; }
  .hero__pause,.hero__next { padding:6px 1px; }
  .intro { min-height:auto; display:block; padding-top:85px; padding-bottom:110px; }
  .intro__body { padding-top:58px; }
  .editorial-heading { font-size:clamp(46px,11.5vw,70px); }
  .intro__description { margin-top:35px; font-size:16px; }
  .intro__edition { bottom:35px; }
  .practice { padding-top:10px; padding-bottom:105px; }
  .section-heading { margin-bottom:35px; }
  .section-heading p { max-width:145px; font-size:12px; text-align:right; }
  .section-marker { font-size:10px; gap:10px; }
  .practice-grid { display:block; }
  .practice-card,.practice-card--art,.practice-card--modeling,.practice-card--media,.practice-card--photography { margin:0 0 48px; }
  .practice-card:nth-child(even) { margin-left:14%; }
  .practice-card:nth-child(odd) { margin-right:8%; }
  .practice-card__visual,.practice-card--moving-image .practice-card__visual,.practice-card--modeling .practice-card__visual,.practice-card--art .practice-card__visual,.practice-card--media .practice-card__visual { aspect-ratio:1.02/1; }
  .practice-card--modeling .practice-card__visual { aspect-ratio:.95/1; }
  .practice-card__number { margin-right:6px; }
  .manifesto { min-height:500px; padding-top:35px; padding-bottom:35px; }
  .manifesto__small { font-size:9px; margin-bottom:24px; }
  .manifesto__center p { font-size:clamp(55px,13vw,85px); margin-bottom:38px; }
  .notes { padding-top:90px; padding-bottom:100px; }
  .notes__grid { display:flex; flex-direction:column; gap:55px; margin-top:65px; align-items:stretch; }
  .notes__body { font-size:16px; margin:30px 0; }
  .notes__image { height:390px; }
  .closing { min-height:360px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding-top:55px; padding-bottom:55px; }
  .closing h2 { font-size:clamp(52px,11vw,75px); margin:30px 0 0; }
  .closing__link { align-self:flex-end; }
  .site-footer { padding-top:35px; }
  .footer-top { padding-bottom:35px; }
  .footer-grid { display:flex; flex-direction:column; gap:55px; padding:50px 0 65px; }
  .footer-statement p { font-size:45px; }
  .footer-links { justify-self:start; width:100%; }
  .footer-end { grid-template-columns:1fr 1fr; gap:18px; }
  .footer-end__identity { grid-column:1/-1; margin-bottom:15px; }
  .footer-end > span:last-child { display:none; }
  .footer-end > span:nth-child(2) { grid-column:1/-1; }
  .menu-overlay { padding-top:30px; }
  .menu-overlay__top,.menu-overlay__bottom { font-size:10px; }
  .menu-overlay__links { gap:16px; }
  .menu-overlay__links a { font-size:clamp(49px,12vw,80px); gap:22px; }
  .division-hero { height:75svh; min-height:530px; padding-bottom:65px; }
  .division-hero__content h1 { font-size:clamp(70px,17vw,110px); }
  .division-hero__index { bottom:20px; font-size:9px; }
  .division-description,.about-layout,.inquiry-layout { display:block; padding-top:80px; padding-bottom:90px; }
  .division-description .editorial-heading { margin-top:42px; font-size:42px; }
  .division-categories { padding-bottom:85px; }
  .category-row { grid-template-columns:55px 1fr 20px; font-size:27px; }
  .division-coming { padding-top:90px; padding-bottom:95px; }
  .next-field { padding-top:70px; }
  .next-field > div { display:block; }
  .next-field a { font-size:26px; }
  .plain-hero { min-height:430px; padding-top:115px; padding-bottom:80px; }
  .plain-hero h1 { font-size:clamp(74px,19vw,125px); margin:45px 0 32px; }
  .plain-hero p { font-size:17px; }
  .archive-row { grid-template-columns:40px 1fr; }
  .archive-row span:nth-child(2) { font-size:48px; }
  .quiet-empty { font-size:32px; }
  .journal-feature { display:block; padding-bottom:100px; }
  .journal-feature > .image-stack { height:340px; }
  .journal-feature > div { padding-top:40px; }
  .journal-feature h2 { font-size:51px; }
  .about-layout .editorial-heading,.inquiry-layout .editorial-heading { margin-top:40px; }
  .about-layout > div:last-child > p,.inquiry-layout > div:last-child > p { font-size:16px; }
  .project-row { grid-template-columns:70px 1fr; }
  .project-row > span:last-child { grid-column:2; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  .reveal { opacity:1; transform:none; }
}

/* The art division holds drawn and digital work as separate visual collections. */
.art-two { padding-top:30px; padding-bottom:130px; }
.art-two__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,5vw,80px); align-items:start; margin-top:36px; }
.art-two__grid > div:nth-child(2) { margin-top:90px; }
.art-two__image { position:relative; height:520px; overflow:hidden; background:#a59f96; }
.art-two__image .image-stack img { transition:transform .7s ease; }
.art-two__image:hover .image-stack img { transform:scale(1.035); }
.art-two__grid > div > span { display:block; margin-top:15px; font-size:12px; letter-spacing:.13em; font-weight:400; }
@media (max-width:680px) {
  .art-two { padding-bottom:90px; }
  .art-two__grid { display:block; }
  .art-two__grid > div:nth-child(2) { margin-top:40px; }
  .art-two__image { height:370px; }
}

/* Keep the header usable without transition for reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .top-nav, .top-nav::before { transition:none; }
}


/* V1.9 — PHOTOGRAPHY / LONDON 2026 */
.photography-main { background:var(--paper-light); }
.photography-intro { padding-top:clamp(105px,11vw,200px); padding-bottom:clamp(75px,9vw,160px); border-bottom:1px solid var(--line); }
.photography-intro__heading { display:flex; align-items:end; justify-content:space-between; gap:45px; margin-top:75px; }
.photography-intro h1 { font:300 clamp(78px,10.3vw,172px)/1 var(--sans); letter-spacing:-.037em; margin:0; }
.photography-intro__heading p { font:300 17px/1.35 var(--sans); max-width:205px; margin:0 0 5px; color:#77756f; }
.photo-series { padding-top:clamp(65px,8vw,135px); padding-bottom:clamp(115px,11vw,185px); }
.photo-series__heading { display:flex; justify-content:space-between; align-items:start; gap:45px; margin-bottom:50px; }
.photo-series__heading > div:last-child { flex:0 1 64%; }
.photo-series__heading h2 { font:300 clamp(55px,6.7vw,118px)/.95 var(--sans); letter-spacing:.045em; margin:0 0 12px; white-space:nowrap; }
.photo-series__heading p { font:400 11px/1.4 var(--sans); letter-spacing:.14em; color:#77756e; margin:0; }
/* Long editorial series titles wrap rather than overflow their column. */
.photo-series--long-title .photo-series__heading h2 { font-size:clamp(34px,4.4vw,78px); letter-spacing:.022em; line-height:1.06; white-space:normal; text-wrap:balance; }
.photo-carousel { outline:none; }
.photo-carousel:focus-visible { outline:1px solid #858278; outline-offset:7px; }
.photo-carousel__stage { height:clamp(510px,75svh,920px); width:100%; position:relative; overflow:hidden; background:#dad6ce; }
.photo-carousel__slide { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; margin:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility 0s linear .65s; }
.photo-carousel__slide.is-current { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .65s ease; }
.photo-carousel__slide img { width:100%; height:100%; object-fit:contain; object-position:center center; display:block; filter:none; }
.photo-carousel__toolbar { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); min-height:77px; }
.photo-carousel__position { font:400 12px/1 var(--sans); letter-spacing:.14em; font-variant-numeric:tabular-nums; }
.photo-carousel__buttons { display:flex; gap:clamp(24px,4vw,60px); align-items:center; }
.photo-carousel__buttons button { border:0; background:transparent; color:var(--ink); font:400 11px/1 var(--sans); letter-spacing:.15em; padding:20px 0; transition:opacity .25s ease; }
.photo-carousel__buttons button:hover { opacity:.46; }
.photo-carousel__buttons button:focus-visible { outline:1px solid var(--ink); outline-offset:3px; }
.photo-carousel__filmstrip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(10px,2vw,25px); width:min(100%,620px); margin:28px 0 0 auto; }
.photo-carousel__thumb { border:0; background:none; color:var(--ink); padding:0 0 9px; text-align:left; cursor:pointer; opacity:.57; border-bottom:1px solid transparent; transition:opacity .3s ease,border-color .3s ease; }
.photo-carousel__thumb:hover { opacity:.82; }
.photo-carousel__thumb.is-current { border-bottom-color:var(--ink); opacity:1; }
.photo-carousel__thumb img { width:100%; height:clamp(68px,10vw,125px); object-fit:cover; object-position:center; display:block; }
.photo-carousel__thumb span { display:block; font:400 10px/1 var(--sans); letter-spacing:.08em; margin-top:9px; }
.photo-outro { display:flex; justify-content:space-between; align-items:baseline; padding-top:45px; padding-bottom:85px; background:var(--paper); gap:20px; }
.photo-outro .fine-link { white-space:nowrap; }
.project-row--link { transition:opacity .3s ease; }
.project-row--link:hover { opacity:.55; }
@media (max-width:960px) {
  .photography-intro__heading { flex-wrap:wrap; }
  .photo-series__heading { display:block; }
  .photo-series__heading > div:last-child { margin-top:50px; }
}
@media (max-width:680px) {
  .photography-intro { padding-top:65px; padding-bottom:70px; }
  .photography-intro__heading { display:block; margin-top:75px; }
  .photography-intro h1 { font-size:clamp(62px,13vw,95px); }
  .photography-intro__heading p { margin-top:29px; }
  .photo-series { padding-top:70px; padding-bottom:100px; }
  .photo-series__heading h2 { font-size:clamp(36px,9vw,60px); letter-spacing:.03em; }
  .photo-series--long-title .photo-series__heading h2 { font-size:clamp(31px,7.8vw,49px); }
  .photo-series__heading > div:last-child { margin-top:40px; }
  .photo-series__heading { margin-bottom:27px; }
  .photo-carousel__stage { height:min(64svh,650px); min-height:370px; }
  .photo-carousel__toolbar { min-height:68px; }
  .photo-carousel__filmstrip { gap:11px; margin-top:20px; }
  .photo-carousel__thumb img { height:65px; }
  .photo-outro { flex-direction:column; gap:30px; }
}
@media (prefers-reduced-motion:reduce) { .photo-carousel__slide,.photo-carousel__thumb { transition:none; } }

/* V2.2 — reusable immersive photo/video viewer. Original media is never cropped. */
body.media-viewer-open { overflow:hidden; }
.media-viewer[hidden], .media-viewer__nav[hidden] { display:none !important; }
.media-viewer {
  position:fixed; inset:0; z-index:1000; width:100%; height:100vh; height:100dvh;
  display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  background:#131513; color:#f2f0eb; padding:clamp(16px,2vw,31px) var(--gutter);
  font-family:var(--sans); font-weight:400;
}
.media-viewer:fullscreen { width:100%; height:100%; padding:clamp(16px,2vw,31px) var(--gutter); background:#131513; }
.media-viewer__head, .media-viewer__foot { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; min-height:35px; }
.media-viewer__title { font-size:clamp(10px,1vw,13px); font-weight:400; letter-spacing:.14em; text-transform:uppercase; }
.media-viewer__head button,.media-viewer__nav button {
  border:0; background:transparent; color:inherit; font:400 12px/1 var(--sans); letter-spacing:.12em;
  padding:10px 1px; transition:opacity .2s ease;
}
.media-viewer__head button:hover,.media-viewer__nav button:hover { opacity:.57; }
.media-viewer__close span { font-size:22px; font-weight:300; margin-left:11px; vertical-align:-1px; }
.media-viewer__stage { position:relative; min-width:0; min-height:0; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:12px 0; }
.media-viewer__image, .media-viewer__video { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; filter:none; box-shadow:none; }
.media-viewer__image { flex:0 1 auto; }
.media-viewer video { width:min(100%,1440px); height:100%; object-fit:contain; }
.media-viewer iframe { width:min(100%,1440px); height:100%; aspect-ratio:16/9; border:0; }
.media-viewer__count { font-size:11px; font-weight:400; letter-spacing:.18em; font-variant-numeric:tabular-nums; }
.media-viewer__nav { display:flex; align-items:center; gap:clamp(22px,3vw,55px); }
.photo-carousel__slide.is-current img { cursor:zoom-in; }
.photo-carousel__buttons [data-photo-action="fullscreen"] { display:inline-flex; align-items:center; gap:9px; }
.photo-carousel__buttons [data-photo-action="fullscreen"] svg { width:14px; height:14px; }
.hero__fullscreen { border:0; border-radius:0; background:transparent; color:inherit; padding:7px 2px; line-height:1; transition:opacity .2s ease; display:inline-flex; align-items:center; }
.hero__fullscreen:hover { opacity:.55; }
@media (max-width:680px) {
  .media-viewer { padding:16px 15px; }
  .media-viewer__stage { padding:6px 0; }
  .media-viewer__head,.media-viewer__foot { min-height:44px; }
  .media-viewer__nav { gap:22px; }
  .media-viewer__head button,.media-viewer__nav button { font-size:11px; }
  .photo-carousel__buttons { gap:clamp(12px,3vw,24px); }
  .photo-carousel__buttons button { font-size:10px; letter-spacing:.08em; }
  .photo-carousel__buttons [data-photo-action="fullscreen"] { gap:5px; }
  .photo-carousel__buttons [data-photo-action="fullscreen"] svg { width:13px; height:13px; }
}
@media (prefers-reduced-motion:reduce) { .media-viewer__head button,.media-viewer__nav button { transition:none; } }
