: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: #17377A;
}
* { 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; text-transform:uppercase; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font-family:var(--sans); text-transform:uppercase; }
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 deep-blue utility strip — full-width; user-selected brand color #17377A. */
.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 #17377A utility strip remains unchanged in size and position. */
.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: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; object-position:center; background:#111; }
.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__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; }
  .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__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; }
   .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; }
/* Homepage hero: no bottom bar, divider or scroll prompt. Keep fullscreen floating over media. */
.hero__end--floating {
  position:absolute;
  z-index:2;
  right:var(--gutter);
  bottom:clamp(18px,2.35vw,34px);
  top:auto;
  transform:none;
  display:flex;
  justify-content:flex-end;
}
.hero__end--floating .hero__fullscreen {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.65));
}
.hero__end--floating .hero__fullscreen svg { width:18px; height:18px; }
@media (max-width:680px) {
  .hero__end--floating { bottom:18px; }
  .hero__end--floating .hero__fullscreen { width:44px; height:44px; }
}
@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; } }

/* ============================================================
   V2.6 — ONE VOICE / FIVE FIELDS
   Uppercase Yantramanav (300, 400, 500) everywhere.
   No serif type, no bold or automatically advancing hero slides.
   ============================================================ */
strong, b { font-weight:500; }

/* Editorial background-image chapter 001 */
.intro {
  padding-top:clamp(48px,6vw,106px);
  padding-bottom:clamp(75px,9vw,150px);
  display:block;
  min-height:auto;
}
.intro__frame {
  position:relative; isolation:isolate; overflow:hidden;
  min-height:clamp(565px,77svh,860px);
  background:#444842; color:#f5f2e9;
}
.intro__image {
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover; object-position:center;
  filter:grayscale(58%); transform:scale(1.01);
}
.intro__shade {
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(10,13,13,.52),rgba(12,15,14,.38) 30%,rgba(10,12,11,.63));
}
.intro__content {
  position:relative; z-index:1;
  width:100%; min-height:inherit;
  padding:clamp(29px,4.5vw,76px);
  display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; gap:30px;
}
.intro__content .section-marker { color:#f4f0e8; }
.intro__content .section-marker span:first-child { color:rgba(244,240,232,.68); }
.intro__body { padding:0; margin:auto 0; text-align:center; }
.intro__body .editorial-heading {
  font:300 clamp(38px,6.4vw,104px)/1.08 var(--sans);
  letter-spacing:-.025em;
  text-wrap:balance;
  max-width:1400px; margin:0 auto;
}
.intro__link {
  position:absolute;
  z-index:3;
  left:50%;
  bottom:clamp(34px,6svh,88px);
  transform:translateX(-50%);
  display:inline-block;
  margin:0;
  font:400 13px/1.35 var(--sans);
  letter-spacing:.19em;
  border-bottom:1px solid currentColor;
  padding:6px 0 7px;
  white-space:nowrap;
  transition:opacity .25s ease;
}
.intro__link:hover { opacity:.58; }
/* The first portfolio panel is the destination of SEE HOW. */
.practice { scroll-margin-top:calc(var(--header-h) + var(--utility-h) + 16px); }
.section-heading p { font-size:13px; font-weight:400; line-height:1.45; letter-spacing:.11em; }
.practice-card__meta { letter-spacing:.035em; }
.practice-card__caption { letter-spacing:.075em; font-weight:400; }

/* Editorial background-image chapter 003 */
.manifesto {
  isolation:isolate; min-height:clamp(620px,76svh,900px);
  background:#272a26;
}
.manifesto::after { display:none; }
.manifesto__image {
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(45%); transform:scale(1.02);
}
.manifesto__shade {
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(13,17,16,.73),rgba(13,16,15,.55) 38%,rgba(12,15,14,.79));
}
.manifesto .section-marker { position:relative; z-index:1; }
.manifesto__center { width:100%; max-width:1400px; padding:32px 6px; }
.manifesto__center h2 {
  margin:0 0 clamp(32px,5vw,62px);
  font:300 clamp(38px,5.8vw,95px)/1.13 var(--sans);
  letter-spacing:-.025em; text-wrap:balance;
}

/* Final statement: longer copy needs smaller type and measured line length. */
.closing h2 {
  font:300 clamp(33px,4.2vw,72px)/1.12 var(--sans);
  letter-spacing:-.025em;
}
.footer-statement p { text-transform:uppercase; }

@media (max-width:960px) {
  .intro { display:block; padding-top:55px; padding-bottom:92px; }
  .intro__body { padding:0; }
}
@media (max-width:680px) {
  .intro { padding-top:34px; padding-bottom:72px; }
  .intro__frame { min-height:clamp(480px,73svh,690px); }
  .intro__content { padding:24px 20px 26px; }
  .intro__body .editorial-heading { font-size:clamp(35px,8.9vw,60px); line-height:1.12; letter-spacing:-.025em; }
  .intro__link { bottom:clamp(28px,5svh,50px); margin:0; font-size:12px; }
  .manifesto { min-height:clamp(520px,72svh,780px); }
  .manifesto__center { padding:25px 0; }
  .manifesto__center h2 { font-size:clamp(33px,8.4vw,56px); line-height:1.13; }
  .closing h2 { font-size:clamp(30px,7vw,48px); line-height:1.15; }
  .section-heading p { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .intro__link { transition:none; }
}

/* V2.7 — NO DECORATIVE SECTION NUMBERS
   Keep carousel image-position counters as functional navigation. */
.section-marker > span:first-child,
.section-marker--light > span:first-child,
.intro__content .section-marker > span:first-child { color:inherit; }
.archive-row { display:block; }
.archive-row > span:first-child {
  font:300 clamp(38px,5.8vw,88px)/1.12 var(--sans);
  letter-spacing:-.022em; color:var(--ink);
  transition:opacity .2s ease;
}
.archive-row:hover > span:first-child { opacity:.64; }
.category-row { grid-template-columns:1fr 35px; }
.category-row > span:first-child { font-size:inherit; color:var(--ink); }
@media (max-width:680px) {
  .archive-row > span:first-child { font-size:48px; }
  .category-row { grid-template-columns:1fr 20px; }
}

/* V2.8 — looping MOVING IMAGE portfolio preview (poster fallback on mobile). */
.practice-card__video-frame { position:absolute; inset:0; display:block; overflow:hidden; background:#22241f; }
.practice-card__video-poster,
.practice-card__preview-video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.practice-card__video-poster { z-index:0; }
.practice-card__preview-video { z-index:1; opacity:0; pointer-events:none; transition:opacity .5s ease,transform .9s ease; }
.practice-card__preview-video.is-playing { opacity:1; }
.practice-card--moving-image:hover .practice-card__preview-video { transform:scale(1.035); }
@media (prefers-reduced-motion:reduce) { .practice-card__preview-video { display:none; } }


/* V3.1 — MODELING, ART and MEDIA carousel images fill their panels. */
.practice-card__gallery-carousel {
  position:absolute; inset:0; display:block; overflow:hidden;
  background:#202421;
}
.practice-card__gallery-slide {
  position:absolute; inset:0; display:block;
  width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0; transition:opacity 1.1s ease;
  pointer-events:none;
}
.practice-card__gallery-slide.is-active { opacity:1; }
@media (prefers-reduced-motion:reduce) {
  .practice-card__gallery-slide { transition:none; }
}


/* V3.1 — full-bleed rotating backgrounds for JACK OF ALL TRADES.
   Each image is center-cropped to fill the frame, with no letterboxing or stretching. */
.intro__carousel { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.intro__slide { position:absolute; inset:0; opacity:0; transition:opacity 1.25s ease; }
.intro__slide.is-active { opacity:1; }
.intro__artwork { position:absolute; inset:0; height:100%; width:100%; display:block; object-fit:cover; object-position:center; }
.intro__shade { background:linear-gradient(180deg,rgba(8,10,12,.52),rgba(8,10,12,.32) 36%,rgba(8,10,12,.62)); }
@media (prefers-reduced-motion: reduce) {
  .intro__slide { transition:none; }
}

/* V3.2 — wide seasonal headline replaces the four-digit year; fit on all screens. */
.hero__center h1.hero__season { font-size:clamp(52px,10vw,184px); letter-spacing:-.045em; line-height:.92; white-space:nowrap; }
@media (max-width:600px) { .hero__center h1.hero__season { font-size:clamp(44px,11vw,64px); letter-spacing:-.035em; } }


/* V3.3 — all five portfolio cards share the same subtle cool-toned hover tint.
   The transparent layer works on photography, images, image carousels and video.
   Never tint the source assets; only the card appearance changes on interaction. */
.practice-card__visual::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: rgba(11, 51, 71, .33);
  opacity: 0;
  transition: opacity .48s ease;
}
@media (hover: hover) and (pointer: fine) {
  .practice-card:hover .practice-card__visual::after { opacity: 1; }
}
.practice-card:focus-visible .practice-card__visual::after,
.practice-card:focus-within .practice-card__visual::after { opacity: 1; }
.practice-card__gallery-slide { transition-duration: .72s; }
@media (prefers-reduced-motion: reduce) {
  .practice-card__visual::after { transition: none; }
  .practice-card__gallery-slide { transition: none; }
}


/* V3.4 — match PHOTOGRAPHY's gentle zoom on every ALL FIELDS card.
   Scale the media inside its clipped frame; never stretch source images.
   The existing blue-gray hover tint stays unchanged. */
.practice-card__gallery-slide,
.practice-card__video-poster {
  transform: scale(1);
  transform-origin: center center;
  transition: opacity .72s ease, transform .9s ease;
}
@media (hover: hover) and (pointer: fine) {
  .practice-card:hover .practice-card__gallery-slide,
  .practice-card:hover .practice-card__video-poster,
  .practice-card:hover .practice-card__preview-video {
    transform: scale(1.035);
  }
}
.practice-card:focus-visible .practice-card__gallery-slide,
.practice-card:focus-visible .practice-card__video-poster,
.practice-card:focus-visible .practice-card__preview-video,
.practice-card:focus-visible .practice-card__visual .image-stack img {
  transform: scale(1.035);
}
@media (prefers-reduced-motion: reduce) {
  .practice-card__gallery-slide,
  .practice-card__video-poster,
  .practice-card__preview-video,
  .practice-card__visual .image-stack img {
    transition-duration: 0s;
  }
  .practice-card:hover .practice-card__gallery-slide,
  .practice-card:hover .practice-card__video-poster,
  .practice-card:hover .practice-card__preview-video,
  .practice-card:hover .practice-card__visual .image-stack img,
  .practice-card:focus-visible .practice-card__gallery-slide,
  .practice-card:focus-visible .practice-card__video-poster,
  .practice-card:focus-visible .practice-card__preview-video,
  .practice-card:focus-visible .practice-card__visual .image-stack img {
    transform: none;
  }
}

/* V3.6 — editorial photography landing and non-destructive collection index */
.photography-landing[hidden], .photography-detail[hidden], .photo-series[hidden] { display:none !important; }
.photography-intro__links { display:flex; align-items:center; gap:38px; margin-top:50px; }
.photography-featured { padding-top:clamp(65px,8vw,135px); padding-bottom:clamp(85px,10vw,165px); }
.photography-featured > .section-marker, .photography-index > .section-marker { margin-bottom:36px; }
.photography-covers { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(32px,5vw,76px) clamp(16px,2.4vw,38px); }
.photography-cover { display:block; grid-column:span 6; text-decoration:none; color:var(--ink); min-width:0; }
.photography-cover--lead { grid-column:span 12; }
.photography-cover__frame { height:clamp(340px,42vw,680px); overflow:hidden; background:#d8d4cd; }
.photography-cover--lead .photography-cover__frame { height:clamp(470px,60vw,950px); }
.photography-cover__frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:transform .7s cubic-bezier(.2,.55,.2,1); }
.photography-cover:hover .photography-cover__frame img, .photography-cover:focus-visible .photography-cover__frame img { transform:scale(1.035); }
.photography-cover:focus-visible { outline:1px solid var(--ink); outline-offset:6px; }
.photography-cover__caption { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px 22px; margin:17px 0 0; }
.photography-cover__caption h3 { margin:0; font:300 clamp(27px,3.3vw,54px)/1.04 var(--sans); letter-spacing:-.012em; }
.photography-cover__caption span, .photography-cover__subtitle { margin:0; color:#6f6b63; font:400 11px/1.5 var(--sans); letter-spacing:.08em; }
.photography-cover__subtitle { margin-top:15px; max-width:680px; }
.photography-index { padding-top:clamp(65px,8vw,135px); padding-bottom:clamp(90px,10vw,165px); border-top:1px solid var(--line); }
.photography-index__row { display:grid; grid-template-columns:100px minmax(0,1fr) 120px; gap:20px; align-items:baseline; border-top:1px solid var(--line); padding:24px 0 20px; color:var(--ink); text-decoration:none; }
.photography-index__row:last-child { border-bottom:1px solid var(--line); }
.photography-index__row strong { font:300 clamp(28px,4vw,62px)/1.04 var(--sans); letter-spacing:-.018em; }
.photography-index__row > span { font:400 11px/1.3 var(--sans); letter-spacing:.1em; color:#827f76; }
.photography-index__row > span:last-child { text-align:right; }
.photography-index__row:hover strong { opacity:.56; }
.photography-index__note { max-width:470px; font:300 15px/1.5 var(--sans); color:#77756e; margin-top:24px; }
.photography-detail .photo-series { padding-top:clamp(125px,13vw,215px); }
.photo-series__back { display:flex; justify-content:space-between; align-items:center; margin-bottom:clamp(50px,6vw,100px); }
.photo-series__back span { font:400 11px/1 var(--sans); letter-spacing:.14em; color:#77756e; }
.photo-series__subtitle { max-width:650px; margin-top:17px !important; font-size:12px !important; line-height:1.65 !important; letter-spacing:.055em !important; }
.photo-series__end { margin:44px 0 0; }
.photo-carousel__filmstrip { display:flex; flex-wrap:nowrap; gap:10px; width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:13px; scrollbar-width:thin; scrollbar-color:#918f86 transparent; }
.photo-carousel__thumb { flex:0 0 clamp(72px,7.6vw,116px); }
.photo-carousel__thumb img { height:clamp(65px,8vw,105px); }
.photo-carousel__stage { background:#e2ded8; }
#photo-selected, #photo-index { scroll-margin-top:120px; }
@media (max-width:800px) {
 .photography-cover { grid-column:span 12; }
 .photography-cover__frame,.photography-cover--lead .photography-cover__frame {height:clamp(360px,75vw,660px);}
 .photography-index__row {grid-template-columns:65px minmax(0,1fr) 69px;gap:12px;}
 .photography-index__row strong {font-size:clamp(23px,4.7vw,40px);}
}
@media (max-width:480px) {
 .photography-intro__links { gap:22px;flex-wrap:wrap; }
 .photography-cover__frame,.photography-cover--lead .photography-cover__frame {height:clamp(350px,105vw,550px);}
 .photography-cover__caption {display:block;}
 .photography-cover__caption span {display:block;margin-top:7px;}
 .photography-index__row > span {font-size:9px;}
 .photography-index__row {grid-template-columns:46px minmax(0,1fr) 49px;}
 .photo-series__back {margin-bottom:35px;}
 .photo-carousel__filmstrip {margin-top:18px;}
}
@media(prefers-reduced-motion:reduce){.photography-cover__frame img{transition:none;}}


/* V3.8 — curated, mixed-media modeling projects; inherited editorial visual language. */
#modeling-landing[hidden], #modeling-detail[hidden] { display:none !important; }
.modeling-covers { grid-template-columns:repeat(12,minmax(0,1fr)); }
.modeling-cover { grid-column:span 6; }
.modeling-cover .photography-cover__frame {height:clamp(420px,48vw,800px);}
.modeling-cover .photography-cover__frame img {object-position:center 29%;}
.modeling-cover .photography-cover__caption h3 {font-size:clamp(24px,2.65vw,46px);}
.modeling-main .photography-featured { padding-bottom:clamp(85px,10vw,165px); }
#modeling-detail .photo-series { padding-top:clamp(125px,13vw,215px); }
.modeling-series .photo-series__heading h2 { max-width:1040px; }
.modeling-film-badge {pointer-events:none;position:absolute;bottom:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px);background:rgba(17,17,17,.68);color:white;backdrop-filter:blur(6px);padding:12px 16px;font:400 11px/1 var(--sans);letter-spacing:.16em;}
.modeling-video-slide img {cursor:pointer;}
.modeling-film-thumb__visual {display:block;position:relative;margin:0;}
.modeling-film-thumb__visual img {width:100%;}
.modeling-film-thumb__visual b {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(17,17,17,.68);color:#fff;font-size:12px;font-weight:400;border-radius:50%;display:flex;align-items:center;justify-content:center;width:34px;height:34px;}
@media(max-width:800px) {
 .modeling-cover {grid-column:span 12;}
 .modeling-cover .photography-cover__frame {height:clamp(430px,110vw,850px);}
}
@media(prefers-reduced-motion:reduce) { .modeling-cover .photography-cover__frame img {transition:none;} }


/* V3.9 — MODELING as an editorial, scroll-first gallery. No image carousels. */
.modeling-main--scroll .modeling-scroll-intro {padding-bottom:clamp(35px,5vw,65px)}
.modeling-scroll-intro__footer {display:flex;justify-content:space-between;align-items:center;margin-top:70px;font:400 11px/1.2 var(--sans);letter-spacing:.15em;color:#6d6a63}
.modeling-editorial-index {display:grid;grid-template-columns:220px 1fr;gap:35px;padding-top:34px;padding-bottom:clamp(65px,8vw,140px);border-bottom:1px solid var(--line)}
.modeling-editorial-index__title {font:400 11px/1.2 var(--sans);letter-spacing:.12em;color:#6c6964}
.modeling-editorial-index__links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 38px}
.modeling-editorial-index__links a {font:400 12px/1.5 var(--sans);letter-spacing:.045em;color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:13px;transition:opacity .25s ease}
.modeling-editorial-index__links a:hover {opacity:.55}
.modeling-editorial-index__links span {font:400 10px/1 var(--sans);color:#918f89}
.modeling-editorial {padding-top:clamp(75px,10vw,150px);padding-bottom:clamp(85px,11vw,165px);border-bottom:1px solid var(--line);scroll-margin-top:95px}
.modeling-editorial__meta {display:flex;justify-content:space-between;gap:20px;color:#77746e;font:400 11px/1.3 var(--sans);letter-spacing:.13em}
.modeling-editorial__heading {display:flex;justify-content:space-between;align-items:end;gap:30px;margin:clamp(23px,3vw,46px) 0 clamp(28px,4vw,65px)}
.modeling-editorial__heading h2 {font:300 clamp(40px,5.6vw,98px)/.99 var(--sans);letter-spacing:-.02em;font-weight:300;max-width:960px;margin:0;overflow-wrap:anywhere}
.modeling-editorial__heading p {max-width:175px;flex:0 0 175px;font:300 13px/1.35 var(--sans);color:#77746e;margin:0 0 7px}
.modeling-editorial__lead {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(12px,2.2vw,35px);align-items:stretch}
.modeling-editorial__lead--photo-only {grid-template-columns:minmax(0,1fr)}
.modeling-editorial__lead--photo-only .modeling-editorial__photo {max-width:100%}
.modeling-editorial__photo,.modeling-editorial__film {min-width:0;margin:0;position:relative}
.modeling-editorial__photo--hero,.modeling-editorial__film--hero {height:clamp(440px,61vw,790px)}
.modeling-editorial__image-open {display:block;width:100%;height:100%;border:0;padding:0;background:#e3dfd8;cursor:zoom-in}
.modeling-editorial__photo img {width:100%;height:100%;object-fit:contain;display:block;filter:none;background:#e3dfd8}
.modeling-editorial__photo--hero img {object-position:center center}
.modeling-editorial__film-screen {height:100%;min-height:0;position:relative;background:#151515;overflow:hidden}
.modeling-editorial__moving-image {width:100%;height:100%;object-fit:contain;display:block;background:#151515}
.modeling-editorial__film-controls {position:absolute;left:0;right:0;bottom:0;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(transparent,rgba(0,0,0,.74));font:400 9px/1.2 var(--sans);letter-spacing:.12em}
.modeling-editorial__film-controls > span {max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.modeling-editorial__film-actions {display:flex;gap:10px;align-items:center}
.modeling-editorial__film-actions button {border:1px solid rgba(255,255,255,.45);background:rgba(20,20,20,.35);color:white;font:400 9px/1.2 var(--sans);letter-spacing:.08em;padding:7px 9px;cursor:pointer;white-space:nowrap}
.modeling-editorial__film-actions button:hover {background:rgba(255,255,255,.16)}
.modeling-editorial__film-actions button:focus-visible,.modeling-editorial__image-open:focus-visible {outline:2px solid #a28dff;outline-offset:3px}
.modeling-editorial__work {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2.2vw,35px);margin-top:clamp(12px,2.2vw,35px)}
.modeling-editorial__work .modeling-editorial__photo,.modeling-editorial__work .modeling-editorial__film {height:clamp(300px,54vw,630px)}
.modeling-editorial__end {display:flex;justify-content:space-between;align-items:center;margin-top:clamp(38px,5vw,70px);font:400 10px/1 var(--sans);letter-spacing:.14em;color:#77746e}
.modeling-main--scroll .photo-outro {margin-top:clamp(50px,8vw,100px)}
@media(max-width:900px) {
  .modeling-editorial-index {grid-template-columns:1fr;gap:20px}
  .modeling-editorial__heading {display:block}
  .modeling-editorial__heading p {margin-top:12px;max-width:300px}
  .modeling-editorial__photo--hero,.modeling-editorial__film--hero {height:clamp(330px,65vw,650px)}
}
@media(max-width:640px) {
  .modeling-scroll-intro__footer {margin-top:55px}
  .modeling-editorial-index__links {grid-template-columns:1fr;gap:12px}
  .modeling-editorial {padding-top:75px;padding-bottom:90px;scroll-margin-top:75px}
  .modeling-editorial__heading h2 {font-size:clamp(35px,9vw,56px);line-height:1.03}
  .modeling-editorial__meta {font-size:9px;letter-spacing:.07em}
  .modeling-editorial__lead {grid-template-columns:minmax(0,1fr);gap:14px}
  .modeling-editorial__lead .modeling-editorial__film {order:-1}
  .modeling-editorial__photo--hero {height:auto;min-height:0}
  .modeling-editorial__photo--hero img {height:auto;max-height:none}
  .modeling-editorial__film--hero {height:clamp(250px,64vw,420px)}
  .modeling-editorial__work {grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px}
  .modeling-editorial__work .modeling-editorial__photo {height:auto}
  .modeling-editorial__work .modeling-editorial__photo img {height:auto}
  .modeling-editorial__work .modeling-editorial__film {height:clamp(250px,64vw,400px)}
  .modeling-editorial__film-controls {padding:12px 10px}
  .modeling-editorial__film-controls > span {max-width:35%}
  .modeling-editorial__film-actions {gap:5px}
  .modeling-editorial__film-actions button {font-size:9px;padding:7px}
}
@media(prefers-reduced-motion:reduce) {
  .modeling-editorial-index__links a {transition:none}
}

/* Social media: three linked blue-square icons, as in supplied reference.
   Enlarged invisible hit targets make the 24px badges usable on mobile. */
.footer-social { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin-top:23px; padding-top:19px; border-top:1px solid #575b54; }
.footer-social__link { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:3px; text-decoration:none; transition:transform .2s ease; }
.footer-social__badge { display:inline-flex; width:25px; height:25px; align-items:center; justify-content:center; background:#536caa; color:#fff; }
.footer-social__badge svg { width:16px; height:16px; }
.footer-social__link:hover { transform:translateY(-2px); }
.footer-social__link:focus-visible { outline:2px solid #e8e7dd; outline-offset:2px; }
@media (prefers-reduced-motion: reduce) { .footer-social__link { transition:none; } .footer-social__link:hover { transform:none; } }


/* STAGED: Narrower desktop header / larger horizontal navigation; blue strip unchanged.
   Ralph Lauren is a spatial reference only — keep Yantramanav, original color palette, and
   the exact MICAHMP3 brand. Desktop reading and keyboard focus orders now match. */
@media (min-width: 821px) {
  :root { --header-h: 84px; }
  .top-nav {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:clamp(48px,5.4vw,110px);
    max-width:1500px;
    padding-inline:clamp(30px,3.4vw,58px);
  }
  .top-nav__links {
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:clamp(28px,2.9vw,50px);
    white-space:nowrap;
  }
  .top-nav__link { font-size:15px; font-weight:400; line-height:1.1; letter-spacing:.085em; }
  .wordmark { flex:none; }
  .wordmark__name { font-size:29px; }
  .wordmark__sub { font-size:9.5px; }
  .utility-bar__inner { max-width:1500px; padding-inline:clamp(30px,3.4vw,58px); }
  .utility-bar__edition,.utility-bar__link { font-size:11px; }
}
@media (min-width:821px) and (max-width:1100px) {
  .top-nav { gap:clamp(28px,4vw,60px); }
  .top-nav__links { gap:clamp(18px,2.3vw,26px); }
  .top-nav__link { font-size:13px; }
  .wordmark__name { font-size:25px; }
}
@media (max-width:820px) {
  .top-nav { display:flex; justify-content:space-between; align-items:center; }
  .top-nav__links { display:none; }
  .wordmark { flex:none; align-items:flex-start; }
  .menu-toggle { display:block; margin-left:auto; }
}


/* JACK OF ALL TRADES — video background with static poster fallback. */
.intro__motion { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#101215 url('/assets/hero/jack-of-all-trades-city-night-poster.jpg') center / cover no-repeat; }
.intro__motion-video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
@media (prefers-reduced-motion: reduce) { .intro__motion-video { display:none; } }

/* V4.0 — ART / Original works. Typography only Yantramanav. */
.art-main { overflow:hidden; }
.art-intro { padding-top:clamp(150px,15vw,250px);padding-bottom:clamp(90px,10vw,170px); }
.art-intro .section-marker { justify-content:space-between; gap:20px; }
.art-intro__title {display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:clamp(34px,5vw,86px);}
.art-intro h1 {font:300 clamp(90px,18vw,260px)/.86 var(--sans); letter-spacing:-.08em;margin:0;}
.art-intro__title p {font:300 16px/1.35 var(--sans);margin:0 0 6px;max-width:270px;color:#68675f;}
.art-feature { margin-bottom:clamp(18px,2.1vw,35px); }
.art-feature__link { display:block;position:relative;isolation:isolate;height:clamp(350px,53vw,660px);overflow:hidden;background:#171719;color:#f6f4ed; }
.art-feature__link img {display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.15s ease,filter .8s ease;filter:saturate(.85);}
.art-feature__link:hover img {transform:scale(1.035);filter:saturate(1);}
.art-feature--personal .art-feature__link {height:clamp(270px,37vw,490px);}
.art-feature--personal .art-feature__link img {object-position:center 45%;}
.art-feature__shade {position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.67) 0%,rgba(8,9,10,.12) 63%,rgba(8,9,10,.23) 100%);pointer-events:none;}
.art-feature__copy {position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(22px,4vw,58px);right:20px;display:flex;flex-direction:column;gap:8px;text-shadow:0 1px 20px #0008;}
.art-feature__copy small,.art-feature__copy em {font:400 11px/1.3 var(--sans);letter-spacing:.16em;font-style:normal;}
.art-feature__copy strong {font:300 clamp(50px,8.3vw,146px)/.95 var(--sans);letter-spacing:-.045em;}
.art-feature--personal .art-feature__copy strong {font-size:clamp(37px,6.4vw,97px);}
.art-categories {padding-top:clamp(80px,10vw,155px);padding-bottom:clamp(90px,12vw,190px);}
.art-categories__label {display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0 28px;font:400 11px/1 var(--sans);letter-spacing:.1em;}
.art-categories__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.1vw,31px);}
.art-category-card {display:block;min-width:0;}
.art-category-card__media {height:clamp(230px,32vw,530px);background:#c7c4bd;position:relative;overflow:hidden;isolation:isolate;}
.art-category-card__media>img,.art-category-card__media>video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s ease,filter .9s ease;}
.art-category-card__media img {filter:saturate(.8) contrast(.96);}
.art-category-card:hover .art-category-card__media>img,.art-category-card:hover .art-category-card__media>video {transform:scale(1.035);filter:saturate(1);}
.art-category-card__details {display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:16px;border-bottom:1px solid var(--line);padding-bottom:14px;}
.art-category-card__details h3 {font:300 clamp(25px,3.1vw,54px)/1 var(--sans);letter-spacing:-.01em;margin:0;}
.art-category-card__details span {font:400 11px/1 var(--sans);white-space:nowrap;letter-spacing:.1em;}
.art-category-card--wide {grid-column:span 2;}
.art-category-card--wide .art-category-card__media {height:clamp(240px,45vw,560px);background:#181818;}
.art-category-card--wide .art-category-card__media>img,.art-category-card--wide .art-category-card__media>video {object-fit:cover;}
.art-category-card__media video {opacity:0;}
.art-category-card__media video.is-playing {opacity:1;}
.art-series {padding-top:clamp(96px,11vw,175px);padding-bottom:clamp(80px,11vw,160px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + var(--utility-h) + 18px);}
.art-series__index {display:flex;align-items:baseline;justify-content:space-between;gap:16px;font:400 11px/1.1 var(--sans);letter-spacing:.15em;color:#77746e;}
.art-series__heading {display:flex;gap:30px;align-items:end;justify-content:space-between;padding:clamp(20px,3vw,48px) 0 clamp(35px,5vw,78px);}
.art-series__heading h2 {font:300 clamp(54px,8.3vw,145px)/.97 var(--sans);letter-spacing:-.05em;margin:0;overflow-wrap:anywhere;}
.art-series__heading p {font:300 14px/1.45 var(--sans);margin:0;max-width:300px;color:#77746e;}
.art-subseries + .art-subseries {margin-top:clamp(90px,10vw,165px);}
.art-subseries__heading {display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--line);padding:18px 0 clamp(20px,3vw,46px);}
.art-subseries__heading h3 {font:300 clamp(40px,5vw,86px)/1 var(--sans);letter-spacing:-.025em;margin:0;}
.art-subseries__heading span {font:400 11px/1.3 var(--sans);letter-spacing:.1em;color:#77746e;}
.art-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,44px);align-items:start;}
.art-gallery--covers {grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.7vw,26px);}
.art-gallery--graphic {grid-template-columns:repeat(2,minmax(0,1fr));}
.art-gallery--titles {grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,34px);}
.art-gallery--mixed {grid-template-columns:repeat(2,minmax(0,1fr));}
.art-work {min-width:0;margin:0;}
.art-work__open,.art-work__visual {position:relative;display:block;width:100%;border:0;padding:0;cursor:zoom-in;background:#e0ddd5;overflow:hidden;}
.art-work__open img {display:block;width:100%;height:auto;max-height:740px;object-fit:contain;transition:transform .55s ease;}
.art-work__open:hover img {transform:scale(1.012);}
.art-gallery--covers .art-work__open img {aspect-ratio:1/1;max-height:none;object-fit:contain;background:#dedbd4;}
.art-gallery--titles .art-work__open {background:#cfcac0;}
.art-gallery--titles .art-work__open img {width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;max-height:none;}
.art-work__caption {display:flex;justify-content:space-between;gap:14px;align-items:baseline;font:400 10px/1.3 var(--sans);letter-spacing:.12em;color:#66635e;padding-top:12px;}
.art-work__caption button {border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;}
.art-work__visual {background:#151515;cursor:default;aspect-ratio:16/9;}
.art-gallery--mixed .art-work__visual {aspect-ratio:16/10;}
.art-work__poster,.art-work__video {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.art-work__video {opacity:0;transition:opacity .15s ease;}
.art-work__video.is-playing {opacity:1;}
/* V4.0.1 — do not composite an outdated still underneath transparent frames. */
.art-work__visual.has-live-video .art-work__poster {opacity:0;}
.art-work__poster {transition:opacity .12s ease;}
.media-viewer--alpha .media-viewer__stage {background:#e9e6de;}
.media-viewer--alpha .media-viewer__video {background:transparent;}
.art-work--alpha .art-work__visual {background:#e6e2d9;}
.art-gallery--titles .art-work__visual {aspect-ratio:16/9;}
.art-gallery--mixed .art-work__open {background:#dcd9d2;}
.art-gallery--mixed .art-work__open img {max-height:none;}
.art-titles-hero {position:relative;aspect-ratio:16/9;background:#121315;overflow:hidden;margin-bottom:clamp(24px,3.4vw,58px);}
.art-titles-hero>img,.art-titles-hero>video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.art-titles-hero>video {opacity:0;}.art-titles-hero>video.is-playing {opacity:1;}
.art-titles-hero__label {position:absolute;bottom:24px;left:28px;color:white;font:400 10px/1.3 var(--sans);letter-spacing:.16em;background:#0007;padding:8px 10px;}
.art-process {padding:clamp(90px,12vw,170px) 0 0;margin-top:clamp(85px,10vw,160px);border-top:1px solid var(--line);}
.art-process__copy {display:flex;gap:30px;justify-content:space-between;align-items:start;margin-bottom:clamp(25px,3vw,55px);}
.art-process__copy span {flex:0 0 200px;font:400 11px/1.3 var(--sans);letter-spacing:.14em;}
.art-process__copy h3 {font:300 clamp(28px,4.4vw,70px)/1.12 var(--sans);max-width:1030px;margin:0;}
.art-process__frame {aspect-ratio:16/9;background:#171919;position:relative;overflow:hidden;}
.art-process__play {border:0;width:100%;height:100%;background:linear-gradient(135deg,#22292a,#101313);color:#f1eee7;display:flex;align-items:center;justify-content:center;gap:32px;font:400 clamp(18px,3vw,42px)/1.2 var(--sans);letter-spacing:.14em;cursor:pointer;}
.art-process__play span {font-size:17px;border:1px solid #d2ccc0;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;}
.art-process__frame iframe {width:100%;height:100%;border:0;display:block;}
.art-process__link {display:inline-block;margin-top:14px;font:400 11px/1.3 var(--sans);letter-spacing:.1em;}
.art-outro {border-top:1px solid var(--line);padding-top:30px;padding-bottom:110px;display:flex;justify-content:space-between;gap:30px;align-items:start;font:400 11px/1.3 var(--sans);letter-spacing:.12em;}
.art-work__open:focus-visible,.art-work__expand:focus-visible,.art-feature__link:focus-visible {outline:2px solid var(--brand-blue);outline-offset:4px;}
.manifesto__video {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;background:#171717 url('/assets/hero/archive-city-poster.jpg') center/cover no-repeat;}
@media (max-width:960px) { .art-gallery--covers {grid-template-columns:repeat(3,minmax(0,1fr));} .art-series__heading {align-items:start;flex-direction:column;} }
@media (max-width:680px) {
  .art-intro {padding-top:148px;padding-bottom:75px;}
  .art-intro .section-marker {font-size:10px;}
  .art-intro__title {align-items:start;flex-direction:column;gap:23px;}
  .art-intro h1 {font-size:clamp(85px,24vw,150px);}
  .art-feature__link {height:320px;}
  .art-feature--personal .art-feature__link {height:255px;}
  .art-feature__copy {left:20px;bottom:23px;}
  .art-feature__copy strong {font-size:clamp(43px,12vw,65px);line-height:.97;}
  .art-feature--personal .art-feature__copy strong {font-size:clamp(34px,9vw,56px);}
  .art-categories {padding-top:70px;padding-bottom:100px;}
  .art-categories__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .art-category-card__media {height:clamp(170px,51vw,260px);}
  .art-category-card__details {display:block;padding-top:10px;min-height:66px;}
  .art-category-card__details h3 {font-size:clamp(19px,5.6vw,30px);}
  .art-category-card__details span {display:inline-block;margin-top:8px;font-size:9px;}
  .art-category-card--wide .art-category-card__media {height:245px;}
  .art-series {padding-top:96px;padding-bottom:90px;}
  .art-series__heading {padding:20px 0 35px;}
  .art-series__heading h2 {font-size:clamp(52px,12vw,83px);}
  .art-subseries__heading {display:block;}
  .art-subseries__heading span {display:block;margin-top:11px;}
  .art-gallery,.art-gallery--graphic,.art-gallery--mixed,.art-gallery--titles {grid-template-columns:minmax(0,1fr);gap:28px;}
  .art-gallery--covers {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
  .art-gallery--covers .art-work__caption {font-size:9px;letter-spacing:.03em;}
  .art-gallery--covers .art-work__caption span:last-child {display:none;}
  .art-process__copy {display:block;}
  .art-process__copy h3 {margin-top:20px;}
  .art-titles-hero__label {left:12px;bottom:12px;}
  .art-outro {flex-wrap:wrap;}
}
@media (prefers-reduced-motion:reduce) {
  .art-feature__link img,.art-category-card__media>img,.art-work__open img {transition:none;}
  .art-work__video,.art-titles-hero>video,.art-category-card__media>video {display:none!important;}
}

@media (max-width:680px) { .photography-intro h1 {font-size:clamp(42px,10.2vw,70px);letter-spacing:-.04em;} }


/* ============================================================
   V4.0.2 — Slim, centered editorial canvas (desktop)
   Inspired by the supplied narrower fashion-homepage reference.
   Keep blue utility bar full viewport width; preserve mobile.
   ============================================================ */
:root { --site-canvas-width: 1280px; }

/* The content itself is a centered, measured editorial column. */
#app {
  width: 100%;
  max-width: var(--site-canvas-width);
  margin-inline: auto;
  background: var(--paper);
  min-width: 0;
}

/* White desktop gutters. On narrower screens the site fills the width. */
@media (min-width: 1281px) {
  body { background: #fff; }
}

/* Header stays pinned to the viewport. Only its navigation aligns with
   the page canvas; the navy utility strip is intentionally full-bleed. */
.site-header .top-nav {
  width: 100%;
  max-width: var(--site-canvas-width);
}
.site-header.is-solid,
.site-header--solid {
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
}
.site-header.is-solid .top-nav,
.site-header--solid .top-nav {
  background: rgba(235,232,224,.98);
  border-bottom: 1px solid rgba(45,45,42,.13);
  backdrop-filter: blur(18px);
}

/* At laptop/desktop sizes: tighter inner spacing and a cinematic,
   landscape-proportioned video rather than a 100vh-tall narrow rectangle. */
@media (min-width: 1100px) {
  :root { --gutter: clamp(36px, 3.2vw, 54px); }
  .top-nav { padding-inline: clamp(32px, 3.2vw, 52px); }
  .hero {
    min-height: 580px;
    height: min(72svh, 690px);
    max-height: none;
  }
}

@media (max-width: 1099px) {
  /* Keep the original full-height mobile/tablet hero behavior. */
  .hero { max-height: 1300px; }
}


/* ============================================================
   V4.0.3 — WHITE CANVAS / FLOATING MEDIA
   User direction: eliminate colored mats, grey panels, letterbox
   frames and gallery tile backgrounds across the entire site.
   Images, drawings and films sit on the white canvas directly.
   Cinematic hero footage keeps its intrinsic imagery and overlays.
   ============================================================ */
:root {
  --paper:#ffffff;
  --paper-light:#ffffff;
  --paper-deep:#ffffff;
  --pale:#ffffff;
  --off-white:#ffffff;
  --line:#dedede;
}
html, body, #app, main,
.photography-main, .modeling-main, .art-main,
.interior-main, .interior-main--plain, .division-coming,
.closing, .photo-outro {
  background:#ffffff;
}
/* Keep the utility bar's #17377A color; make the navigation white
   when it becomes solid, and preserve its dark-over-video state. */
.site-header.is-solid, .site-header--solid {
  background:#ffffff;
  color:var(--ink);
}
.site-header.is-solid .top-nav, .site-header--solid .top-nav {
  background:rgba(255,255,255,.985);
  border-bottom:1px solid var(--line);
}
.top-nav::before { background:rgba(255,255,255,.985); }
.menu-overlay { background:#ffffff; }

/* Eliminate decorative colored photo holders. Editorial photography
   still maintains its gallery interaction and original proportions. */
.image-stack,
.practice-card__visual,
.notes__image,
.art-two__image,
.photography-cover__frame,
.photo-carousel__stage {
  background:transparent;
}
.photo-carousel__slide,
.photo-carousel__slide img { background:transparent; }

/* MODELING: photos and films float at their native proportions.
   No fixed-height gray/black mat beside portrait photography. */
.modeling-editorial__lead,
.modeling-editorial__work { align-items:start; }
.modeling-editorial__photo,
.modeling-editorial__film,
.modeling-editorial__photo--hero,
.modeling-editorial__film--hero,
.modeling-editorial__work .modeling-editorial__photo,
.modeling-editorial__work .modeling-editorial__film {
  height:auto;
  min-height:0;
  background:transparent;
}
.modeling-editorial__image-open {
  width:100%;
  height:auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  border:0;
  padding:0;
  background:transparent;
}
.modeling-editorial__photo img,
.modeling-editorial__photo--hero img,
.modeling-editorial__work .modeling-editorial__photo img {
  width:auto;
  max-width:100%;
  height:auto;
  max-height:760px;
  object-fit:contain;
  display:block;
  margin-inline:auto;
  background:transparent;
}
.modeling-editorial__film-screen {
  height:auto;
  min-height:0;
  overflow:visible;
  background:transparent;
}
.modeling-editorial__moving-image {
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:760px;
  margin-inline:auto;
  object-fit:contain;
  background:transparent;
}
/* Put muted playback controls beneath the film instead of creating
   a dark gradient bar across the white negative space. */
.modeling-editorial__film-controls {
  position:relative;
  bottom:auto;
  left:auto;
  right:auto;
  width:100%;
  padding:11px 0 0;
  background:transparent;
  color:var(--ink);
  text-shadow:none;
}
.modeling-editorial__film-actions button {
  background:transparent;
  border:1px solid #cfcfcf;
  color:var(--ink);
}
.modeling-editorial__film-actions button:hover { background:#f3f3f3; }

/* ART: stills, transparent letterforms and moving work sit directly
   on white, not on cream tiles. Preserve media poster fallback. */
.art-work__open,
.art-work__visual,
.art-work--alpha .art-work__visual,
.art-gallery--covers .art-work__open img,
.art-gallery--titles .art-work__open,
.art-gallery--mixed .art-work__open,
.art-work__poster,
.art-work__video,
.art-gallery--titles .art-work__visual,
.art-titles-hero,
.art-category-card__media,
.art-category-card--wide .art-category-card__media {
  background:transparent;
}
.art-work__visual { isolation:isolate; }
.art-work__poster, .art-work__video { background:transparent; }
/* Do not force white opacity onto transparent pixels of PNG/WebM. */
.art-work__open img { background:transparent; }
.art-feature__link { background:transparent; }
.art-process__frame { background:transparent; }
.art-process__play {
  background:#ffffff;
  color:var(--ink);
  border:1px solid var(--line);
}
.art-process__play span { border-color:var(--ink); }

/* Fullscreen viewing matches the gallery's clean, white artwork
   canvas (including transparent titles). */
.media-viewer, .media-viewer:fullscreen,
.media-viewer__stage, .media-viewer--alpha .media-viewer__stage {
  background:#ffffff;
  color:var(--ink);
}
.media-viewer__image, .media-viewer__video { background:transparent; }

/* A footer that continues the same white exhibition canvas. */
.site-footer { background:#ffffff; color:var(--ink); }
.footer-top, .footer-end, .footer-social { border-color:var(--line); }
.footer-end, .footer-end__identity { color:var(--muted); }
.underlined-link { border-bottom-color:var(--ink); }
.footer-social__link:focus-visible { outline-color:var(--brand-blue); }

/* Responsive galleries never reintroduce fixed panel heights. */
@media (max-width:900px) {
  .modeling-editorial__photo--hero,
  .modeling-editorial__film--hero { height:auto; }
}
@media (max-width:640px) {
  .modeling-editorial__photo--hero,
  .modeling-editorial__film--hero,
  .modeling-editorial__work .modeling-editorial__photo,
  .modeling-editorial__work .modeling-editorial__film {height:auto;}
  .modeling-editorial__photo img,
  .modeling-editorial__moving-image,
  .modeling-editorial__work .modeling-editorial__photo img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:none;
  }
}


/* ================================================================
   STAGED REFINEMENTS — LOCAL PREVIEW ONLY; NO NEW RELEASE OR DEPLOYMENT
   ================================================================ */
:root { --site-canvas-width: 1440px; }

/* Broader than the earlier 1280px site, still with white side gutters. */
#app { max-width:var(--site-canvas-width); }
.site-header .top-nav { max-width:var(--site-canvas-width); }
@media (min-width:821px) {
  .utility-bar__inner { max-width:var(--site-canvas-width); }
}

/* Films are independent, large editorial pieces above the photo galleries.
   Portrait films retain their native proportions; no gray letterbox mats. */
.modeling-editorial__lead,
.modeling-editorial__lead--with-film,
.modeling-editorial__lead--photo-only {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(22px,3.8vw,56px);
}
.modeling-editorial__lead .modeling-editorial__film,
.modeling-editorial__lead .modeling-editorial__photo { width:100%; height:auto; }
.modeling-editorial__film-screen { display:flex; flex-direction:column; align-items:center; }
.modeling-editorial__moving-image {
  width:auto;
  max-width:100%;
  height:auto;
  max-height:min(116svh,1160px);
  object-fit:contain;
  background:transparent;
}
.modeling-editorial__film--hero .modeling-editorial__moving-image { max-height:min(118svh,1180px); }
.modeling-editorial__lead .modeling-editorial__photo img {max-height:min(90svh,920px);width:auto;max-width:100%;height:auto;}
.modeling-editorial__film-controls {align-self:stretch;min-height:42px;}
/* Secondary film tiles also occupy a full row instead of a side column. */
.modeling-editorial__work .modeling-editorial__film {grid-column:1/-1;}
.modeling-editorial__work .modeling-editorial__moving-image {max-height:min(115svh,1120px);}
.modeling-editorial__film-actions {flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:640px) {
  .modeling-editorial__lead .modeling-editorial__film {order:0;}
  .modeling-editorial__moving-image,.modeling-editorial__film--hero .modeling-editorial__moving-image {max-height:min(83svh,720px);}
  .modeling-editorial__film-controls {gap:10px;align-items:flex-start;}
  .modeling-editorial__film-controls > span {max-width:100%;}
}

/* The JACK OF ALL TRADES section is purely cinematic, and much shorter than
   the Fall 2026 opening. It matches the opening video's full canvas width. */
.intro {padding-left:0; padding-right:0;}
.intro__frame {height:clamp(230px,25vw,360px);min-height:0;}
.intro__content {min-height:0;height:100%;}
.intro__link {bottom:clamp(22px,4vw,42px);}
@media (max-width:680px) {
  .intro__frame {height:clamp(190px,55vw,300px);min-height:0;}
  .intro__content {min-height:0;height:100%;}
  .intro__link {bottom:24px;}
}

/* The ALMOST A THOUSAND PROJECTS footage stays at its original color,
   brightness and contrast; only the text receives a tiny legibility shadow. */
.manifesto__shade {display:none!important;}
.manifesto__video {filter:none;opacity:1;}
.manifesto__center h2,.manifesto__center a {text-shadow:0 1px 10px rgba(0,0,0,.4);}

/* Inline, dismissible Photography collection panels.  The cover grid and
   the collection index stay visible, with no page replacement or back button. */
.photography-landing[hidden] {display:block!important;}
.photography-detail {grid-column:1 / -1;width:100%;min-width:0;scroll-margin-top:calc(var(--header-h) + var(--utility-h) + 22px);}
.photography-detail[hidden],.photo-series[hidden] {display:none!important;}
.photography-detail .photo-series {padding:clamp(40px,6vw,90px) 0 clamp(58px,7vw,110px);border-block:1px solid var(--line);}
.photography-detail .photo-series__back {margin-bottom:clamp(25px,4vw,60px);}
.photo-gallery-close {border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;}
.photography-covers > .photography-detail {margin-top:18px;}
.photography-index__list > .photography-detail {padding-block:16px;}
.photography-cover[aria-expanded="true"] .photography-cover__caption h3,
.photography-index__row[aria-expanded="true"] strong {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;}

/* Fullscreen gallery next/previous remains visible and touch-friendly
   for ART and MODELING, as for PHOTOGRAPHY. */
.media-viewer__nav button {min-width:70px;min-height:44px;}

/* Moving pieces deserve cinematic space throughout ART, while static
   compositions keep the restrained multi-column exhibition grid. */
.art-gallery--mixed .art-work--film,
.art-gallery--titles .art-work--film {grid-column:1/-1;}
.art-gallery--mixed .art-work--film .art-work__visual,
.art-gallery--titles .art-work--film .art-work__visual {aspect-ratio:16/9;}
.art-gallery--mixed .art-work--film video,
.art-gallery--titles .art-work--film video {width:100%;height:100%;object-fit:contain;}


/* ==============================================================
   UNRELEASED HOME HERO WIDTH REFINEMENT — no version bump
   Reference: expand the three homepage cinematic panels to the
   marked red boundaries (approx. 83vw) while the rest of the
   editorial site remains a centered 1440px canvas.
   ============================================================= */
@media (min-width: 1100px) {
  .home-main > .hero,
  .home-main > .intro,
  .home-main > .manifesto {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 83vw;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  /* The short JACK section still has its own reduced height. */
  .home-main > .intro { padding-inline: 0; }
}
/* Narrow layouts keep the media flush with the page edges. */
@media (max-width: 1099px) {
  .home-main > .hero,
  .home-main > .intro,
  .home-main > .manifesto {
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
  }
}


/* ============================================================
   LOCAL PREVIEW REFINEMENT — MATCHING CINEMATIC HOMEPAGE HEROES
   Maintain the approved extra-wide ~83vw panels and original
   16:9 video frame (1920 x 1080 aspect ratio).  This is a CSS
   presentation change, not destructive upscaling of source media.
   ============================================================ */
.home-main > .hero {
  aspect-ratio: 16 / 9;
  min-height: 0;
  height: auto;
  max-height: none;
}
.home-main > .intro {
  padding-top: clamp(32px, 4vw, 84px);
  padding-bottom: clamp(40px, 4.5vw, 96px);
  min-height: 0;
}
.home-main > .intro .intro__frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  min-height: 0;
  max-height: none;
}
.home-main > .intro .intro__content {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
/* Preserve breathing room and a readable title on small screens,
   while keeping the hero media widescreen rather than cropping it
   into a tall rectangle. */
@media (max-width: 680px) {
  .home-main > .hero {
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
    max-height: none;
  }
  .hero__center {
    margin-top: 0;
    transform: translateY(12px);
  }
  .hero__center h1.hero__season {
    font-size: clamp(33px, 10vw, 64px);
    white-space: nowrap;
  }
  .home-main > .intro {
    padding-block: 22px 32px;
  }
  .home-main > .intro .intro__frame {
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
  }
  .home-main > .intro .intro__link {
    bottom: 15px;
    font-size: 11px;
  }
}


/* V4.0.4 — DISTINCT HERO PROPORTIONS
   Fall 2026 stays in its original 1920:1080 (16:9) format.
   The second cinematic hero keeps the SAME WIDTH but is intentionally
   much shorter. Neither video asset nor any other gallery is altered. */
.home-main > .hero {
  aspect-ratio: 16 / 9;
  min-height: 0;
  height: auto;
  max-height: none;
}
.home-main > .intro .intro__frame {
  aspect-ratio: auto;
  height: clamp(230px, 22vw, 375px);
  min-height: 0;
  max-height: none;
}
.home-main > .intro .intro__motion-video {
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 680px) {
  .home-main > .intro .intro__frame {
    aspect-ratio: auto;
    height: clamp(155px, 48vw, 275px);
    min-height: 0;
    max-height: none;
  }
}
