/* ==========================================================================
   Parco Studio: Architecture (built on the Version 1 Final design)
   Butler display, Raleway small caps, the script headings and the wordmark curtain: white pages, every photograph
   whole, Mulish for reading and a Fraunces drop cap.
   ========================================================================== */

@font-face{font-family:"Butler";font-weight:200;font-style:normal;font-display:swap;src:url(../fonts/Butler_Ultra_Light.woff) format("woff")}
@font-face{font-family:"Butler";font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/Butler_Light.woff) format("woff")}
@font-face{font-family:"Butler";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/Butler_Regular.woff) format("woff")}
/* self-hosted, SIL Open Font License (assets/fonts/OFL-Mulish.txt, OFL-Fraunces.txt) */
@font-face{font-family:"Mulish";font-weight:200 1000;font-style:normal;font-display:swap;src:url(../fonts/mulish-latin.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/fraunces-opsz-400.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/fraunces-opsz-400-italic.woff2) format("woff2")}

:root{
  --bg:#FFFFFF;
  --ink:#1A1A19;
  --text:#2A2A28;
  --muted:#4A4A47;
  --soft:#62666C;
  --line:#E3E2DD;
  --rule:#CDCBC4;
  --tint:#F4F4F1;
  --wash:#FAFAF8;
  --sand:#E6E4DD;
  --bronze:#8A6A44;
  --display:"Butler","Cormorant Garamond",Georgia,serif;
  --caps:"Raleway",Helvetica,Arial,sans-serif;
  --serif:"Cormorant Garamond",Georgia,serif;
  --script:"Mrs Saint Delafield",cursive;
  --body:"Mulish","Helvetica Neue",Arial,sans-serif;
  --drop:"Fraunces",Georgia,serif;
  --header-h:79px;
  --gutter:clamp(16px,4vw,60px);
  --maxw:1240px;
  --gutter-wide:clamp(12px,1.6vw,32px);
  --gut:6px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --vh:100vh;
}
@supports (height:100svh){:root{--vh:100svh}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:400}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
figure{margin:0}
[hidden]{display:none!important}
::selection{background:var(--sand);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;z-index:999;font-family:var(--caps);font-size:12px;letter-spacing:2px;text-transform:uppercase}
.skip:focus-visible{left:16px}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

/* ---------- Typography primitives (Version 1) ---------- */
.display{font-family:var(--display);font-weight:200;text-transform:uppercase;letter-spacing:2px;color:var(--ink);line-height:1.15}
.d-xl{font-size:clamp(34px,4.4vw,63px);line-height:1.12}
.d-l{font-size:clamp(32px,3.3vw,47px);line-height:1.15}
.d-m{font-size:clamp(28px,3vw,44px);line-height:1.15}
.d-s{font-size:clamp(24px,2.1vw,30px);line-height:1.15}
.caps,.caps-l{font-family:var(--caps);font-weight:500;font-size:13.5px;line-height:23px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.eyebrow{font-family:var(--serif);font-size:19px;line-height:28px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.script{font-family:var(--script);font-size:clamp(44px,4.4vw,62px);line-height:1.1;color:#000;letter-spacing:0;text-transform:none;font-weight:400}
.lede{font-family:var(--body);font-size:clamp(17px,1.25vw,18.5px);line-height:1.8;color:var(--text)}
.center{text-align:center}
.statement{margin:0 auto 30px;max-width:820px;font-family:var(--display);font-weight:200;font-size:clamp(28px,3.6vw,52px);line-height:1.2;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-family:var(--caps);font-weight:500;font-size:13px;line-height:13px;letter-spacing:2px;text-transform:uppercase;padding:15px 25px;background:var(--sand);color:var(--muted);transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.btn:hover{background:var(--ink);color:#fff}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--sand);color:var(--ink)}
.btn--sm{padding:12px 24px}
.link-line{display:inline-block;font-family:var(--caps);font-weight:500;font-size:13px;line-height:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:12px 0 5px;border-bottom:1px solid currentColor;transition:opacity .3s}
.link-line:hover{opacity:.6}
a.u{border-bottom:1px solid currentColor;transition:opacity .3s}
a.u:hover{opacity:.65}

/* ---------- Header (Version 1) ---------- */
.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:var(--bg);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(16px,var(--gutter-wide));transition:background-color .45s var(--ease),box-shadow .45s var(--ease)}
.site-header.is-scrolled{box-shadow:0 1px 0 rgba(0,0,0,.06)}
.brand{display:flex;flex-direction:column;justify-content:center;gap:7px;line-height:1;color:var(--ink);flex:none;min-height:44px}
.brand__logo{display:block;width:230px;height:auto;transition:filter .45s var(--ease)}
.brand__sub{font-family:var(--caps);font-size:8.5px;letter-spacing:3.2px;text-transform:uppercase;color:var(--muted);padding-left:1px;white-space:nowrap;transition:color .45s var(--ease)}
.nav{display:flex;align-items:center;gap:clamp(16px,1.9vw,32px)}
.nav a{font-family:var(--caps);font-weight:500;font-size:13px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);position:relative;padding:4px 0;white-space:nowrap;transition:color .45s var(--ease)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .btn{margin-left:clamp(4px,1vw,20px);padding:12px 24px;line-height:13px}
.nav .btn::after{display:none}
.menu-toggle{display:none;background:var(--sand);width:100px;height:40px;align-items:center;justify-content:center;transition:background-color .45s,box-shadow .45s}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:16px;height:1.5px;background:var(--muted);position:relative;content:"";transition:background-color .45s}
.menu-toggle span::before{position:absolute;top:-5px}
.menu-toggle span::after{position:absolute;top:5px}
.header-inquire{display:none}
@media (max-width:1320px){.nav a{letter-spacing:1.5px}.nav{gap:clamp(12px,1.4vw,22px)}.brand__logo{width:200px}}
@media (max-width:1180px){
  .nav{display:none}
  .menu-toggle{display:flex;position:absolute;left:50%;transform:translateX(-50%)}
  .header-inquire{display:inline-block}
}
@media (max-width:760px){.brand__sub{display:none}}
@media (max-width:640px){
  .brand__logo{width:136px}
  .menu-toggle{position:static;transform:none;margin-left:auto;width:48px;height:40px}
  .header-inquire{padding:13px 14px;font-size:11px;letter-spacing:1.5px}
}
/* over a full-screen photograph: the same header in white, solid again once the photograph has scrolled away */
html.js body.has-hero .site-header{position:fixed;left:0;right:0;top:0;background:transparent}
html.js body.has-hero .site-header:not(.is-solid){box-shadow:none}
html.js body.has-hero .site-header.is-solid{background:var(--bg);box-shadow:0 1px 0 rgba(0,0,0,.06)}
html.js body.has-hero .site-header:not(.is-solid) .brand__logo{filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(0,0,0,.18))}
html.js body.has-hero .site-header:not(.is-solid) .brand__sub,
html.js body.has-hero .site-header:not(.is-solid) .nav a{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.28)}
html.js body.has-hero .site-header:not(.is-solid) .btn{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.85);text-shadow:0 1px 10px rgba(0,0,0,.25)}
html.js body.has-hero .site-header:not(.is-solid) .btn:hover{background:#fff;color:var(--ink);text-shadow:none}
html.js body.has-hero .site-header:not(.is-solid) .menu-toggle{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
html.js body.has-hero .site-header:not(.is-solid) .menu-toggle span,
html.js body.has-hero .site-header:not(.is-solid) .menu-toggle span::before,
html.js body.has-hero .site-header:not(.is-solid) .menu-toggle span::after{background:#fff}
html.js body.has-hero .site-header:not(.is-solid) :focus-visible{outline-color:#fff}

/* Mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.drawer.is-open{opacity:1;visibility:visible;transition:opacity .4s var(--ease),visibility 0s}
.drawer__inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:80px 24px 40px;text-align:center}
.drawer__nav{display:flex;flex-direction:column;align-items:center}
.drawer__nav a{font-family:var(--display);font-weight:200;font-size:clamp(24px,7vw,30px);letter-spacing:2px;text-transform:uppercase;color:var(--ink);padding:8px 0}
.drawer__nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.drawer__logo{width:200px;height:auto;margin-bottom:14px}
.drawer__meta{margin-top:20px;font-family:var(--caps);font-size:12px;line-height:26px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);overflow-wrap:anywhere}
.drawer__close{position:absolute;top:18px;right:var(--gutter);min-height:44px;padding:0 6px;font-family:var(--caps);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}

/* ---------- Layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.wrap--wide{max-width:none;padding:0 var(--gutter-wide)}  /* image sections run nearly full screen (2026-10-24) */
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.section{padding:clamp(64px,8vw,120px) 0}
.section--top0{padding-top:0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.mb-s{margin-bottom:14px}.mb-m{margin-bottom:28px}.mb-l{margin-bottom:50px}
.mt-m{margin-top:28px}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin-bottom:clamp(30px,3.4vw,52px);padding-bottom:12px;border-bottom:1px solid var(--line)}
.sec-head .script{line-height:.95}
.sec-head .link-line{margin-bottom:6px}
.sec-head--center{flex-direction:column;align-items:center;text-align:center;border:0;padding-bottom:0}
.sec-head--center .caps{margin:6px auto 0;max-width:640px}

/* reveal on scroll: a light fade and rise */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
html.js:not(.static) img.lz{opacity:0;transition:opacity .5s ease}
html.js img.lz.is-ld{opacity:1}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}html.js img.lz{opacity:1;transition:none}}

/* ---------- Page title band (now white) ---------- */
.page-band{background:var(--bg);padding:clamp(56px,6vw,96px) var(--gutter) clamp(40px,4.4vw,64px);text-align:center}
.page-band h1{margin-bottom:14px}
.page-band .caps{max-width:780px;margin-left:auto;margin-right:auto;font-size:15px;line-height:26px;color:var(--muted)}
.page-band--left{text-align:left;padding-left:0;padding-right:0}
.page-band--left .caps{margin-left:0}

/* ---------- Home: full-screen hero slideshow (the preview's) ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:480px;overflow:hidden;background:var(--tint)}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity 2s ease}
.hero__slide.is-on{opacity:1;z-index:1}
.hero__slide picture{width:100%;height:100%}
.hero__img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--op,50% 50%)}
@media (orientation:portrait){.hero__img{object-position:var(--opp,50% 50%)}}
.scrim{position:absolute;left:0;right:0;z-index:2;pointer-events:none}
.scrim--top,.p-hero__scrim{top:0;height:150px;opacity:var(--so,.3);background:linear-gradient(to bottom,rgba(20,20,19,.92) 0%,rgba(20,20,19,.68) 19%,rgba(20,20,19,.5) 34%,rgba(20,20,19,.35) 47%,rgba(20,20,19,.25) 56.5%,rgba(20,20,19,.17) 65%,rgba(20,20,19,.11) 73%,rgba(20,20,19,.065) 80.2%,rgba(20,20,19,.035) 86.1%,rgba(20,20,19,.016) 91%,rgba(20,20,19,.005) 95.2%,rgba(20,20,19,0) 100%)}
.scrim--bottom{bottom:0;height:140px;z-index:3;opacity:.4;background:linear-gradient(to top,rgba(20,20,19,.9) 0%,rgba(20,20,19,.62) 22%,rgba(20,20,19,.4) 40%,rgba(20,20,19,.22) 58%,rgba(20,20,19,.09) 76%,rgba(20,20,19,0) 100%)}
@media (min-width:768px){.scrim--top,.p-hero__scrim{height:170px}}
.hero__pause{position:absolute;left:var(--gutter);bottom:22px;z-index:5;display:flex;align-items:center;gap:9px;min-height:44px;padding:0 4px;font-family:var(--caps);font-weight:500;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3);opacity:.85;transition:opacity .3s}
.hero__pause:hover{opacity:1}
.hero__pause-i{width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.hero__pause[aria-pressed="true"] .hero__pause-i{width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor}
.cue{position:absolute;left:50%;bottom:0;z-index:4;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#fff;font-family:var(--caps);font-weight:500;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.3);transition:opacity .3s}
.cue:hover{opacity:.7}
.cue__t{display:block;white-space:nowrap;padding-top:10px;animation:fadein 1s ease .3s both}
.cue__line{display:block;width:1px;height:28px;margin:14px 0 16px;background:currentColor;transform:scaleY(0);transform-origin:center top;animation:cue 7s ease .6s infinite}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes cue{0%{transform:scaleY(0);transform-origin:center top}10%{transform:scaleY(1);transform-origin:center top}90%{transform:scaleY(1);transform-origin:center bottom}100%{transform:scaleY(0);transform-origin:center bottom}}
.hero :focus-visible{outline-color:#fff}
@media (prefers-reduced-motion:reduce){.hero__slide{transition:none}.cue__line{animation:none;transform:none}.cue__t{animation:none}.hero__pause{display:none}}

/* first-visit splash: the Parco Studio wordmark curtain */
.spl{display:none}
html.splash .spl{display:block;position:fixed;inset:0;z-index:100;pointer-events:none;--wm:min(70vw,1100px);--sx:calc(50vw + (var(--sf) - .5) * var(--wm));--e-splash:cubic-bezier(.455,.03,.515,.955)}
@media (max-width:767.98px){html.splash .spl{--wm:85vw}}
.spl__p{position:absolute;top:0;bottom:0;overflow:hidden;background:var(--bg);pointer-events:auto;cursor:pointer}
.spl__p--1{left:0;width:calc(var(--sx) + 1px);animation:spl-p1 1.2s var(--e-splash) 3.9s both}
.spl__p--2{left:calc(var(--sx) - 1px);right:0;animation:spl-p2 1.2s var(--e-splash) 3.9s both}
.spl__svg{position:absolute;top:50%;width:var(--wm);height:calc(var(--wm) * .133128);max-width:none;transform:translateY(-50%);fill:var(--ink);overflow:visible;opacity:0;animation:spl-fade 1s linear .1s both}
.spl__p--1 .spl__svg{left:calc(50vw - var(--wm) / 2)}
.spl__p--2 .spl__svg{left:calc(50vw - var(--wm) / 2 - var(--sx) + 1px)}
.spl__g--l{transform:translateX(var(--tl));animation:spl-l 1.4s var(--e-splash) 1.1s both}
.spl__g--r{transform:translateX(var(--tr));animation:spl-r 1.4s var(--e-splash) 1.1s both}
.spl__seam{position:absolute;top:50%;left:calc(var(--sx) - 1px);width:2px;height:calc(var(--wm) * var(--lh) * 1.39);margin-top:calc(var(--wm) * var(--lh) * -.695);background:var(--ink);opacity:0;animation:spl-fade 1s linear .1s both,spl-seam .6s var(--e-splash) 3.9s both}
@media (max-width:767.98px){.spl__seam{width:1px;left:calc(var(--sx) - .5px)}}
html.spl-skip .spl{opacity:0;transition:opacity .45s ease}
@keyframes spl-fade{from{opacity:0}to{opacity:1}}
@keyframes spl-l{from{transform:translateX(var(--tl))}to{transform:translateX(0)}}
@keyframes spl-r{from{transform:translateX(var(--tr))}to{transform:translateX(0)}}
@keyframes spl-seam{from{transform:scaleY(1)}to{transform:scaleY(0)}}
@keyframes spl-p1{from{transform:none}to{transform:translateX(-100%)}}
@keyframes spl-p2{from{transform:none}to{transform:translateX(100%)}}

/* ---------- Home: selected projects, one whole photograph each (the preview's bands) ---------- */
.work{padding:clamp(64px,7vw,110px) 0 clamp(30px,3vw,50px)}
.band{margin-bottom:clamp(54px,6.5vw,100px)}
.band__img{display:block;overflow:hidden;background:var(--tint)}
.band__img img{width:100%;height:auto;transition:opacity .5s ease,transform 3s ease}
.band__cap{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-top:16px}
.band__name{font-family:var(--serif);font-weight:500;font-size:clamp(25px,2.2vw,33px);line-height:1.15;letter-spacing:.2px;color:var(--ink)}
.band__name a{transition:opacity .3s}
.band__name a:hover{opacity:.6}
.band__d{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;font-family:var(--caps);font-weight:500;font-size:12px;line-height:20px;letter-spacing:2.2px;text-transform:uppercase;color:var(--soft)}
.band__d li+li::before{content:"";display:inline-block;width:1px;height:.9em;background:currentColor;margin:0 .8em;vertical-align:-1px;opacity:.7}
@media (hover:hover){.band__img:hover img{transform:scale(1.015)}}
@media (max-width:560px){.band__cap{flex-direction:column;align-items:flex-start;margin-top:12px}.band__d{justify-content:flex-start;font-size:11px;letter-spacing:1.8px}}
@media (prefers-reduced-motion:reduce){.band__img img{transition:none}.band__img:hover img{transform:none}}

/* calm text sections */
.intro{padding:clamp(40px,5vw,80px) 0 clamp(70px,8vw,120px)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(44px,7vw,120px)}
.duo h2{margin-bottom:16px}
.duo .caps{margin-bottom:20px}
.duo .link-line{margin-top:6px}
@media (max-width:820px){.duo{grid-template-columns:1fr}}
.fb img{width:100%;height:auto}
.fb{background:var(--tint)}
/* full-width photographs on inner pages: two whole portraits in a justified pair (stacked on phones) */
.fbp{display:flex;gap:var(--gut);margin:0}
.fbp__i{min-width:0;background:var(--tint)}
.fbp__i img{width:100%;height:auto}
@media (max-width:600px){.fbp{flex-direction:column}.fbp__i{flex:none!important;width:100%}}
/* a calm centered text section between full-width photographs (inner pages) */
.tband{padding:clamp(64px,8vw,120px) 0}
.tband--top0{padding-top:0}
.tband h1,.tband h2{margin-bottom:12px}
.tband .caps{margin-bottom:22px}
.tband .link-line{margin-top:8px}
.hello{padding:clamp(70px,8vw,120px) 0}
.hello h2{margin-bottom:10px}
.hello .caps{margin-bottom:24px}
.hello .link-line{margin-top:8px}
.recog{padding:clamp(50px,5vw,70px) var(--gutter);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.recog__label{margin-bottom:26px}
.brands{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 42px;max-width:1340px;margin-left:auto;margin-right:auto}
@media (max-width:1340px){.brands{max-width:1000px}}
@media (max-width:900px){.brands{max-width:560px}}
.brands img{width:auto;max-width:220px;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.82;transition:filter .5s var(--ease),opacity .5s var(--ease)}
.brands img:hover{filter:none;opacity:1}
.brands img[src*="wynn"]{filter:grayscale(1) brightness(.35)}
.brands img[src*="wynn"]:hover{filter:none}
.brands--left{justify-content:flex-start;gap:24px 44px}
@media (max-width:640px){.brands{gap:22px 30px}.brands img{max-width:140px;transform:scale(.85)}}
.quote{padding:clamp(80px,9vw,140px) var(--gutter);text-align:center}
.quote--tight{padding-top:clamp(20px,3vw,40px);padding-bottom:clamp(50px,6vw,90px)}
.quote__eyebrow{margin-bottom:20px}
.where{padding:clamp(70px,8vw,120px) 0}

/* where we work: text links */
.mkt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.mkt-list--3{grid-template-columns:repeat(3,1fr)}
.mkt-list li{border-right:1px solid var(--line)}
.mkt-list li:last-child{border-right:0}
.mkt-list a{display:block;height:100%;padding:28px 22px 24px;transition:background .4s var(--ease)}
.mkt-list a:hover{background:var(--wash)}
.mkt-list h3{font-family:var(--display);font-weight:200;font-size:clamp(26px,2.4vw,34px);line-height:1.1;letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.mkt-list .caps{font-size:12px;line-height:20px;margin:0}
@media (max-width:820px){.mkt-list,.mkt-list--3{grid-template-columns:1fr 1fr}.mkt-list li{border-bottom:1px solid var(--line)}.mkt-list li:nth-child(2n){border-right:0}}
@media (max-width:480px){.mkt-list,.mkt-list--3{grid-template-columns:1fr}.mkt-list li{border-right:0}.mkt-list a{padding:22px 4px 18px}}

/* the closing inquire call: a bright section */
.inq{background:var(--wash);border-top:1px solid var(--line);padding:clamp(80px,9vw,140px) 0}
.inq__eyebrow{margin-bottom:14px}
.inq h2{max-width:760px;margin:0 auto 18px}
.inq .lede{max-width:600px;margin:0 auto 24px}
.inq .btn{margin-top:14px}

/* ---------- Footer (light) ---------- */
.site-footer{padding:0 var(--gutter) 34px;text-align:center;background:var(--bg)}
.site-footer__rule{max-width:1120px;margin:0 auto;border-top:1px solid var(--rule);padding-top:56px}
.inq+.spacer,.site-footer{position:relative}
main>.inq:last-child{margin-bottom:0}
body:has(main>.inq:last-child) .site-footer__rule{border-top:0;padding-top:64px}
.footer-logo{display:inline-block;margin-bottom:26px}
.footer-logo img{width:260px;height:auto}
.site-footer__lede{max-width:600px;margin:0 auto 26px;font-size:16.5px;line-height:1.75;color:var(--text)}
.footer-addr{font-size:16.5px;line-height:1.7;color:var(--ink);margin-bottom:10px}
.social{display:flex;justify-content:center;gap:10px;margin:18px 0 20px}
.social a{width:44px;height:44px;display:grid;place-items:center;transition:opacity .3s}
.social a:hover{opacity:.6}
.social svg{width:21px;height:21px;fill:#69727D}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;max-width:1100px;margin:0 auto}
.footer-nav a{font-family:var(--caps);font-weight:400;font-size:12.5px;line-height:13px;letter-spacing:1px;text-transform:uppercase;color:#000;padding:8px 14px;border-right:1px solid var(--rule);margin:6px 0}
.footer-nav a:last-child{border-right:0}
.footer-copy{margin-top:24px;font-family:var(--caps);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--soft)}
@media (max-width:900px){.footer-nav{gap:4px 6px}.footer-nav a{border-right:0;padding:10px 10px}}
.to-top{position:fixed;right:18px;bottom:18px;z-index:40;width:44px;height:44px;background:rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px var(--rule);display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.to-top.show{opacity:1;visibility:visible}
.to-top svg{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:1.5}

/* ---------- Portfolio: large whole photographs in justified rows, Residential / Commercial filter ---------- */
.pf{padding-bottom:clamp(70px,8vw,120px)}
.pf__bar{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0;margin-bottom:clamp(30px,3.4vw,52px)}
.pf__n{margin:0;font-size:12px;color:var(--soft)}
.filters{display:flex;flex-wrap:wrap;gap:0 28px}
.filters a{font-family:var(--caps);font-weight:500;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--soft);padding:12px 0 6px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.filters a[aria-current="page"],.filters a:hover{color:var(--ink);border-color:var(--ink)}
.pgrid{--rh:clamp(230px,24vw,560px);display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(38px,4vw,60px) clamp(14px,1.6vw,26px)}
.pgrid--few{--rh:clamp(200px,20vw,460px)}
/* every card grows in proportion to its photograph, so a row shares one height; the cap (1.7x) lets a row of three
   portraits fill the width, while a single short last card stays smaller than a full row */
.pcard{display:block;flex:var(--a) 1 calc(var(--a) * var(--rh));max-width:calc(var(--a) * var(--rh) * 1.7);min-width:0}
.pcard__img{display:block;position:relative;aspect-ratio:var(--a);overflow:hidden;background:var(--tint)}
.pcard__img picture{width:100%;height:100%}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease,transform 2.4s ease}
.pcard.is-drawing .pcard__img{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.pcard.is-drawing .pcard__img img{object-fit:contain;padding:7%}
.pcard__t{display:block;margin-top:15px;font-family:var(--caps);font-weight:500;font-size:14px;line-height:1.55;letter-spacing:2px;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.pcard__m{display:block;margin-top:3px;font-size:15px;line-height:1.5;color:var(--soft)}
@media (hover:hover){.pcard:hover .pcard__img img{transform:scale(1.025)}.pcard:hover .pcard__t{opacity:.65}.pcard.is-drawing:hover .pcard__img img{transform:none}}
@media (max-width:640px){.pgrid{gap:40px 0}.pcard{flex:1 1 100%;max-width:none}}
@media (prefers-reduced-motion:reduce){.pcard__img img{transition:none}.pcard:hover .pcard__img img{transform:none}}
.pcard.is-leaving{opacity:0;transition:opacity .35s ease}
.pcard.is-entering{opacity:0}
.pcard.is-entering.is-shown{opacity:1;transition:opacity .7s ease}

/* ---------- Project page ---------- */
.p-hero{position:relative;background:var(--tint)}
.p-hero__img{display:block;cursor:zoom-in}
.p-hero__img img,.p-hero>div img{width:100%;height:auto}
.p-hero__scrim{position:absolute;left:0;right:0;pointer-events:none;z-index:2}
.p-head{padding-top:clamp(48px,5.4vw,84px)}
body:not(.has-hero) .p-head,html:not(.js) .p-head{padding-top:clamp(56px,6vw,96px)}
.p-head__eyebrow{margin-bottom:12px}
.p-head h1{max-width:1100px}
.p-head__credit{margin:16px 0 0;font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:18px;letter-spacing:1.8px;text-transform:uppercase;color:var(--soft)}
.p-head__credit a{border-bottom:1px solid var(--rule)}
.p-intro{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.15fr);gap:clamp(36px,6vw,120px);align-items:start;padding-top:clamp(34px,4vw,60px);padding-bottom:clamp(64px,7vw,112px)}
.p-facts{margin:0;display:flex;flex-direction:column;gap:22px;border-top:1px solid var(--ink);padding-top:22px}
.p-facts dt{font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:18px;letter-spacing:2.6px;text-transform:uppercase;color:var(--soft)}
.p-facts dd{margin:7px 0 0;font-size:16px;line-height:1.6;color:var(--ink)}
.p-facts dd span{display:block}
.p-desc{max-width:720px;border-top:1px solid var(--line);padding-top:22px}
.p-desc p{font-family:var(--body);font-weight:400;font-size:clamp(17px,1.3vw,19px);line-height:1.8;color:#262624;margin:0 0 1.3em}
.p-desc p:last-child{margin-bottom:0}
.p-desc:not(.p-desc--short) p:first-child::first-letter{float:left;font-family:var(--drop);font-weight:400;font-variation-settings:"opsz" 144;font-size:3.6em;line-height:.82;padding:.07em .1em 0 0;margin-left:-.02em;color:var(--bronze)}
@media (max-width:820px){.p-intro{grid-template-columns:1fr;gap:34px}.p-desc{border-top:0;padding-top:0}}
/* project catalog download (the PDF made by _build/catalog.py), under the facts */
.p-side{min-width:0}
.p-cat{margin:34px 0 0;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.p-cat a{display:inline-flex;align-items:flex-start;gap:10px;font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:18px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.p-cat a span{border-bottom:1px solid var(--rule);padding-bottom:2px;transition:border-color .3s}
.p-cat a:hover span{border-color:var(--ink)}
.p-cat svg{width:13px;height:13px;flex:none;margin-top:2px;fill:none;stroke:var(--bronze);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.p-cat small{font-family:var(--body);font-size:12.5px;line-height:18px;color:var(--soft);padding-left:23px}

/* gallery: every photograph whole. Landscapes edge to edge; portraits in justified pairs at one shared height */
.gallery{display:flex;flex-direction:column;gap:var(--gut);padding-bottom:clamp(64px,7vw,110px)}
.g{display:flex;gap:var(--gut)}
.g-item{display:block;position:relative;min-width:0;background:var(--tint);cursor:zoom-in}
.g-item img{width:100%;height:auto}
.g--full .g-item{flex:1 1 auto}
.g-item.is-drawing{background:#fff}
.g--dfull,.g--dpair{padding:clamp(20px,4vw,64px) clamp(16px,7vw,120px)}
.g--dfull{justify-content:center}
.g--dfull .g-item{flex:0 1 auto;width:min(100%,calc((var(--vh) - 110px) * var(--a)))}
.g--single,.g--dsingle{justify-content:center;padding:clamp(16px,3vw,48px) 16px}
.g--single .g-item,.g--dsingle .g-item{width:min(100%,calc((var(--vh) - 110px) * var(--a)))}
.p-hero .g{gap:var(--gut)}
.p-hero--pair .g-item{background:var(--tint)}
@media (max-width:600px){.gallery .g--pair,.gallery .g--dpair{flex-direction:column}.gallery .g--pair .g-item,.gallery .g--dpair .g-item{flex:none!important;width:100%}}

.p-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(28px,4vw,56px);border-top:1px solid var(--line);padding:34px 0 clamp(60px,6vw,90px)}
.p-nav a{display:flex;flex-direction:column;gap:4px}
.p-nav .next{align-items:flex-end;text-align:right}
.p-nav small{display:block;font-family:var(--caps);font-size:11.5px;line-height:18px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.p-nav strong{display:block;max-width:22ch;font-family:var(--display);font-weight:300;font-size:clamp(17px,1.6vw,22px);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.p-nav a:hover strong{opacity:.6}
@media (max-width:700px){.p-nav{grid-template-columns:1fr 1fr;align-items:start}.p-nav .all{display:none}}

/* ---------- Lightbox (light) ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(255,255,255,.985);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
.lb.is-open{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}
.lb__stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:64px clamp(12px,6vw,90px)}
.lb__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity .45s var(--ease)}
.lb__img.ready{opacity:1}
.lb button{position:absolute;color:var(--ink);font-family:var(--caps);font-size:12px;letter-spacing:2px;text-transform:uppercase;min-width:44px;min-height:44px;padding:12px}
.lb button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.lb__close{top:10px;right:12px}
.lb__prev,.lb__next{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px var(--rule);display:grid;place-items:center}
.lb__prev{left:10px}.lb__next{right:10px}
.lb__prev svg,.lb__next svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.4}
.lb__bar{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--caps);font-size:12px;letter-spacing:2px;color:var(--soft)}
.lb.is-single .lb__prev,.lb.is-single .lb__next{display:none}

/* ---------- One whole photograph beside text ---------- */
.side{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,110px);align-items:center}
.side__img{justify-self:center;width:min(100%,calc((var(--vh) - 120px) * var(--a)));background:var(--tint)}
.side__img img{width:100%;height:auto}
.side__text h1,.side__text h2{margin-bottom:14px}
.side__text .caps{margin-bottom:22px}
.side__text .link-line{margin-top:6px}
.side--flip .side__img{order:2}
.side--portrait{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.side--stack{grid-template-columns:1fr;gap:28px}
.side--stack .side__img{justify-self:start}
@media (max-width:860px){.side,.side--portrait{grid-template-columns:1fr}.side--flip .side__img{order:0}.side__img{justify-self:stretch;width:100%}}
.about-top{padding-top:clamp(48px,6vw,96px)}

/* ---------- About ---------- */
.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px)}
.credit{display:block;border-top:1px solid var(--ink);padding-top:22px}
.credit__role{font-size:12px;line-height:20px;margin-bottom:8px}
.credit__title{font-family:var(--display);font-weight:200;font-size:clamp(22px,1.9vw,27px);line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin-bottom:12px}
.credit p:not(.caps){font-size:16.5px;line-height:1.75}
.credit:hover .link-line{opacity:.6}
@media (max-width:820px){.credits{grid-template-columns:1fr;max-width:560px;margin:0 auto;gap:44px}}
.awards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.award{padding:36px clamp(18px,2vw,30px) 32px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.award__mark{min-height:104px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.award__mark img{width:auto;max-width:200px;height:46px!important;filter:grayscale(1) contrast(1.05);opacity:.85}
.tmark{display:inline-flex;flex-direction:column;align-items:center;gap:7px;max-width:100%;padding:12px 18px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.tmark small{font-family:var(--caps);font-weight:500;font-size:10.5px;line-height:15px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);text-wrap:balance}
.tmark b{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.1vw,30px);line-height:1.05;letter-spacing:2px;text-transform:uppercase;color:var(--ink);text-wrap:balance}
.award__title{font-family:var(--caps);font-weight:500;font-size:14px;line-height:22px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.award__title a,.award__sub a{border-bottom:1px solid var(--line)}
.award__title a:hover,.award__sub a:hover{border-color:currentColor}
.award__sub{font-size:16px;line-height:1.6;margin:0;color:var(--muted)}
@media (max-width:900px){.awards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.awards{grid-template-columns:1fr}.award__mark{min-height:88px}}
.wordmark{display:inline-block;font-family:var(--display);font-weight:300;font-size:17px;line-height:1.2;letter-spacing:3px;text-transform:uppercase;color:#333;white-space:nowrap;padding:7px 2px;border-top:1px solid #333;border-bottom:1px solid #333;opacity:.9}
@media (max-width:640px){.wordmark{font-size:13.5px;letter-spacing:2px}}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);padding:0;margin:0}
.timeline li{list-style:none;padding:28px 22px 10px;border-right:1px solid var(--line)}
.timeline li:last-child{border-right:0}
.timeline b{display:block;font-family:var(--display);font-weight:200;font-size:clamp(34px,3.2vw,46px);line-height:1.1;letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.timeline span{font-size:16px;line-height:1.7}
@media (max-width:820px){.timeline{grid-template-columns:1fr 1fr}.timeline li:nth-child(2){border-right:0}}
@media (max-width:480px){.timeline{grid-template-columns:1fr}.timeline li{border-right:0;border-bottom:1px solid var(--line)}}

/* ---------- Approach ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,4vw,64px) clamp(28px,3vw,48px)}
.svc__item{border-top:1px solid var(--ink);padding-top:22px}
.svc__n{display:block;font-family:var(--caps);font-weight:500;font-size:12px;letter-spacing:2px;color:var(--soft);margin-bottom:10px}
.svc__title{font-family:var(--display);font-weight:200;font-size:clamp(22px,1.75vw,26px);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin-bottom:12px;line-height:1.2}
.svc__item p{font-size:16.5px;line-height:1.75}
@media (max-width:900px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}
.steps{display:grid}
.step{display:grid;grid-template-columns:140px 1fr 1.2fr;gap:clamp(20px,4vw,60px);align-items:start;padding:44px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step__n{font-family:var(--display);font-weight:200;font-size:clamp(48px,5vw,72px);line-height:.9;color:var(--ink)}
.step h3{font-family:var(--display);font-weight:200;font-size:clamp(24px,2.3vw,32px);letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.step p{font-size:17px;line-height:1.75;margin:0}
@media (max-width:820px){.step{grid-template-columns:70px 1fr}.step>p{grid-column:2}}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:0 auto}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-family:var(--display);font-weight:200;font-size:clamp(20px,1.9vw,26px);line-height:1.25;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--caps);font-weight:300;font-size:26px;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{font-size:17.5px;line-height:1.8;padding:0 0 26px;margin:0;max-width:760px}

/* ---------- Contact ---------- */
.contact__addr{font-family:var(--caps);font-size:13px;line-height:22px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:22px}
.form-wrap{position:relative;padding:clamp(40px,5vw,80px) var(--gutter) clamp(70px,8vw,120px);overflow:hidden}
.form-side{position:absolute;top:50%;font-family:var(--display);font-weight:200;font-size:clamp(60px,7vw,110px);letter-spacing:4px;text-transform:uppercase;color:rgba(26,26,25,.05);white-space:nowrap;pointer-events:none}
.form-side--l{left:0;transform:translate(-38%,-50%) rotate(-90deg)}
.form-side--r{right:0;transform:translate(38%,-50%) rotate(90deg)}
.form-card{position:relative;max-width:864px;margin:0 auto;border:1px solid var(--rule);padding:clamp(34px,7vw,90px) clamp(20px,7vw,100px) clamp(34px,7vw,95px);background:#fff}
.form-card .script{text-align:center;margin-bottom:34px}
.form-intro{text-align:center;margin:-16px auto 34px;max-width:560px;font-size:17px;line-height:1.75}
.field{margin-bottom:24px}
.field label,.field legend{display:block;font-size:16.5px;line-height:26px;font-weight:500;margin-bottom:8px;color:var(--ink);padding:0}
.field em{font-style:normal;font-weight:400;color:#9C3A33;font-size:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-row>.field{margin-bottom:24px}
.field input,.field select,.field textarea{width:100%;min-height:53px;font-family:var(--body);font-size:17px;padding:10px 14px;border:1px solid #8a8984;background:#fff;color:#222;border-radius:0;appearance:none}
.field input::placeholder{text-transform:uppercase;font-size:14px;letter-spacing:1px;color:#6b6b6b}
.field textarea{min-height:170px;resize:vertical}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23444'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.field [aria-invalid="true"]{border-color:#9C3A33;box-shadow:inset 0 0 0 1px #9C3A33}
.field .checks{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 24px}
.field .checks label{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;font-size:16.5px;font-weight:400;line-height:24px;cursor:pointer}
.field .checks input{flex:none;width:22px;height:22px;min-height:0;padding:0;border:1px solid #6c6b66;background:#fff;-webkit-appearance:none;appearance:none;cursor:pointer}
.field .checks input:checked{background:#1A1A19 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11'%3E%3Cpath d='M1 5.5l4 4L13 1' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") center/13px no-repeat;border-color:#1A1A19}
.field .checks input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.form-note{font-size:16px;color:var(--ink);margin-top:14px;text-align:center}
@media (max-width:1100px){.form-side{display:none}}
@media (max-width:560px){.field-row{grid-template-columns:1fr;gap:12px}}
@media (max-width:420px){.field .checks{grid-template-columns:1fr}}

/* ---------- Locations ---------- */
.loc{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(40px,7vw,120px);align-items:start;padding-top:clamp(34px,4vw,60px)}
.loc__text .lede{max-width:660px}
.loc__cta{margin-top:34px}
.loc__cta .btn{line-height:19px;padding-top:12px;padding-bottom:12px}
.loc__aside{border-top:1px solid var(--ink);padding-top:26px}
.loc__h{font-size:13px;line-height:20px;margin:0 0 12px;color:var(--soft)}
.svc-list{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--line)}
.svc-list li{border-bottom:1px solid var(--line)}
.svc-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;font-family:var(--display);font-weight:200;font-size:21px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);transition:opacity .3s}
.svc-list a::after{content:"";flex:none;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.55}
.svc-list a:hover{opacity:.6}
.loc__addr{font-size:16.5px;line-height:1.7;margin:0 0 32px;color:var(--ink);overflow-wrap:anywhere}
.loc__addr a{border-bottom:1px solid var(--line)}
@media (max-width:900px){.loc{grid-template-columns:1fr}}
.showrooms{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:760px;margin:0 auto}
.showrooms .loc__addr{margin-bottom:0}
@media (max-width:640px){.showrooms{grid-template-columns:1fr}}
.loc-items{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,48px)}
.loc-item{display:block;border-top:1px solid var(--ink);padding-top:24px}
.loc-item__name{font-family:var(--display);font-weight:200;font-size:clamp(28px,2.5vw,36px);line-height:1.1;letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.loc-item .caps{font-size:12px;line-height:20px;margin-bottom:14px}
.loc-item__text{font-size:16.5px;line-height:1.75}
.loc-item:hover .link-line{opacity:.6}
@media (max-width:1100px){.loc-items{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.loc-items{grid-template-columns:1fr}}
.keep .nw{white-space:nowrap}

/* ---------- Shop ---------- */
.wpair{display:flex;gap:clamp(16px,2.4vw,40px);max-width:1180px;margin:0 auto}
.wpair__it{display:block;min-width:0}
.wpair__img{display:block;aspect-ratio:var(--a);background:#fff;overflow:hidden}
.wpair__img picture{width:100%;height:100%}
.wpair__img img{width:100%;height:100%;object-fit:contain;transition:opacity .5s ease,transform 2.4s ease}
.wpair__t{display:block;margin-top:16px;font-family:var(--caps);font-weight:500;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);text-align:center}
.wpair__m{display:block;margin-top:2px;font-size:15px;color:var(--soft);text-align:center}
@media (hover:hover){.wpair__it:hover img{transform:scale(1.02)}}
@media (max-width:640px){.wpair{flex-direction:column;gap:44px}.wpair__it{flex:none!important}}
.product{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,80px);align-items:start;padding:clamp(40px,6vw,90px) 0}
.product__imgs{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px)}
.product__img{display:block;background:#fff;cursor:zoom-in}
.product__img img{width:100%;height:auto}
.product__info{position:sticky;top:calc(var(--header-h) + 30px)}
.product__info h1{margin:8px 0 18px}
.product__info .price{font-family:var(--caps);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}
@media (max-width:820px){.product{grid-template-columns:1fr}.product__info{position:static;order:-1}}

/* ---------- misc ---------- */
.bignum{font-family:var(--display);font-weight:200;font-size:clamp(64px,8vw,120px);line-height:1;color:var(--ink)}
h1,h2,h3,dt,.statement,.caps,.caps-l,.footer-copy,.eyebrow{text-wrap:balance}
p{text-wrap:pretty}
.nw{white-space:nowrap}
@media (max-width:640px){.footer-addr .sep{display:none}.footer-mail{display:block}.nw{white-space:normal}}
/* sticky header: reverse-tabbing into it must not scroll the page */
.site-header a,.site-header button{scroll-margin-top:calc(-1 * (var(--header-h) + 12px))}
/* without JavaScript */
html:not(.js) .menu-toggle{display:none}
html:not(.js) .hero__pause{display:none}
html:not(.js) #inquiry-form [type=submit]{display:none}

/* ==========================================================================
   About: a monograph. Recognition: the complete record (2026-10-24, _build/about_page.py)
   ========================================================================== */
:root{--paper:#F4F0E8}
.ab-eye{font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:18px;letter-spacing:3.2px;text-transform:uppercase;color:var(--bronze);margin:0 0 16px}
.ab-sf{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(21px,1.9vw,28px);line-height:1.45;color:var(--ink);max-width:780px;margin:0 auto}
.ab-sh{text-align:center;max-width:960px;margin:0 auto clamp(34px,3.6vw,56px)}
.ab-sh__t{font-size:clamp(34px,4vw,60px);line-height:1.1;letter-spacing:2.5px;margin:0 0 18px}
.ab-sh__lede{max-width:780px;margin:8px auto 0}
.ab-links{display:flex;flex-wrap:wrap;gap:4px 30px;margin:8px 0 0}
cite{font-style:italic}
/* quiet captions under whole photographs */
.ab-fig{margin:0}
.ab-fig>picture{background:var(--tint)}
.ab-fig img{width:100%;height:auto}
.ab-print{margin:0;padding:0 clamp(0px,4vw,60px)}
.ab-print__in{width:min(100%,calc((var(--vh) - 140px) * var(--a)),1100px);margin:0 auto}  /* archival film scans: a print, never edge to edge */
.ab-print__in>picture{background:var(--tint)}
.ab-print__in img{width:100%;height:auto}
.ab-print .ab-cap{padding:14px 0 0}
@media (max-width:640px){.ab-print .ab-cap{padding:14px var(--gutter-wide) 0}}
.ab-cap{margin:0;padding:14px var(--gutter-wide) 0;font-family:var(--caps);font-weight:500;font-size:11px;line-height:18px;letter-spacing:1.8px;text-transform:uppercase;color:var(--soft)}
.ab-cap a{color:var(--muted);border-bottom:1px solid var(--rule);transition:border-color .3s}
.ab-cap a:hover{border-color:currentColor}
.ab-cap i{font-style:normal}
/* opening: the photograph, then a title page */
.ab-hero .p-hero__img{cursor:default}
.ab-open{padding:0 0 clamp(54px,6vw,94px)}
.ab-open__title{text-align:center;padding-top:clamp(44px,5.4vw,88px)}
.ab-open__title>.caps:first-child{margin-bottom:24px}
.ab-open__h1{font-size:clamp(42px,6.2vw,100px);line-height:1.02;letter-spacing:clamp(2px,.28vw,5px);margin:0 0 16px}
.ab-open__sub{margin-bottom:clamp(30px,3.4vw,48px)}
.ab-open__sf{max-width:880px;font-size:clamp(22px,2.1vw,32px);line-height:1.42}
/* portrait and biography */
.ab-intro{padding:0 0 clamp(60px,6.6vw,106px)}
.ab-side .side__img{max-width:520px}
.ab-side .side__text h2{margin-bottom:22px}
.ab-side .side__text .lede{font-size:clamp(16.5px,1.15vw,18px)}
/* three dated chapters */
.ab-ch{padding:0 0 clamp(44px,4.6vw,74px)}
.ab-fig+.ab-ch,.ab-print+.ab-ch{padding-top:clamp(60px,6.6vw,106px)}
.ab-ch+.ab-ch{padding-top:clamp(20px,3vw,50px)}
.ab-ch__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,120px);align-items:start;border-top:1px solid var(--ink);padding-top:clamp(24px,2.6vw,36px)}
.ab-ch__no{margin:0}
.ab-ch__yr{margin:clamp(20px,2.2vw,34px) 0 clamp(20px,2.2vw,30px);font-family:var(--display);font-weight:200;font-size:clamp(92px,11.6vw,204px);line-height:.82;letter-spacing:-.01em;color:var(--ink)}
.ab-ch__yr--w{font-size:clamp(74px,8.6vw,150px)}
.ab-ch__t{margin:0 0 12px;font-family:var(--display);font-weight:200;font-size:clamp(25px,2.3vw,34px);line-height:1.15;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.ab-ch__label{margin:0;font-size:12px;line-height:20px}
.ab-ch__text{padding-top:4px}
.ab-ch__text p{font-size:clamp(17px,1.3vw,19px);line-height:1.82;color:#262624;margin:0 0 1.3em}
.ab-ch__text p:last-child{margin-bottom:0}
.ab-ch__text p:first-child::first-letter{float:left;font-family:var(--drop);font-weight:400;font-variation-settings:"opsz" 144;font-size:3.6em;line-height:.82;padding:.07em .1em 0 0;margin-left:-.02em;color:var(--bronze)}
@media (max-width:860px){.ab-ch__grid{grid-template-columns:1fr;gap:28px}}
/* the Wearable Chair, set as a typographic plate on paper */
.ab-plate{max-width:1060px;margin:clamp(40px,4vw,64px) auto 0;background:var(--paper);padding:clamp(12px,1.4vw,20px)}
.ab-plate__in{border:1px solid rgba(26,26,25,.22);padding:clamp(36px,5vw,72px) clamp(18px,4.4vw,64px) clamp(30px,4vw,56px);text-align:center}
.ab-plate__t{margin:0 0 10px;font-family:var(--display);font-weight:200;font-size:clamp(30px,3.6vw,54px);line-height:1.08;letter-spacing:3px;text-transform:uppercase;color:var(--ink)}
.ab-plate__s{margin:0 0 clamp(30px,3.6vw,50px);font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.5vw,22px);color:var(--muted)}
.ab-plate__dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:1px solid rgba(26,26,25,.22)}
.ab-plate__dl>div{padding:24px clamp(10px,1.4vw,22px) 6px;border-left:1px solid rgba(26,26,25,.14)}
.ab-plate__dl>div:first-child{border-left:0}
.ab-plate__dl dt{margin-bottom:12px;font-family:var(--caps);font-weight:500;font-size:11px;line-height:16px;letter-spacing:2.6px;text-transform:uppercase;color:var(--bronze)}
.ab-plate__dl dd{margin:0;font-size:15px;line-height:1.7;color:var(--ink)}
.ab-plate__dl i{font-family:var(--serif);font-size:17px;color:var(--muted)}
@media (max-width:900px){.ab-plate__dl{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-plate__dl>div:nth-child(3){border-left:0}.ab-plate__dl>div:nth-child(n+3){border-top:1px solid rgba(26,26,25,.14)}}
@media (max-width:520px){.ab-plate__dl{grid-template-columns:1fr}.ab-plate__dl>div{border-left:0;padding:20px 4px 6px}.ab-plate__dl>div+div{border-top:1px solid rgba(26,26,25,.14)}}
/* the practice */
.ab-prac{padding:clamp(60px,6.6vw,106px) 0 clamp(46px,5.4vw,80px)}
.ab-prac h2{margin-bottom:12px}
.ab-prac .caps{margin-bottom:24px}
.ab-prac .link-line{margin-top:6px}
/* the record: numbers, marks and a ledger by decade */
.ab-rec{padding:clamp(60px,6.6vw,106px) 0 clamp(54px,6vw,94px)}
.ab-rec--full{border-top:1px solid var(--line)}
/* the numbers band: counts only, one row of five on wide screens, pairs below (the fifth across the width) */
.ab-nums{list-style:none;margin:0 0 clamp(40px,4vw,64px);padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.ab-num{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.6vw,40px) clamp(12px,1.4vw,24px) clamp(22px,2.4vw,34px);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.ab-num:nth-child(2n+1){border-left:0}
.ab-num:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:1100px){.ab-nums{grid-template-columns:repeat(5,minmax(0,1fr))}.ab-num:nth-child(2n+1){border-left:1px solid var(--line)}.ab-num:first-child{border-left:0}.ab-num:last-child:nth-child(odd){grid-column:auto}}
.ab-num b{font-family:var(--display);font-weight:200;font-size:clamp(56px,5.6vw,96px);line-height:.84;letter-spacing:-.01em;color:var(--ink)}
.ab-num span{max-width:24ch;font-family:var(--body);font-size:14.5px;line-height:1.55;color:var(--muted)}
.ab-marks{margin-bottom:clamp(40px,4vw,64px);gap:26px 46px}
.ab-marks .wordmark{font-size:13px;line-height:1.4;letter-spacing:2.2px;white-space:normal;text-align:center;max-width:240px}
@media (max-width:600px){.ab-marks{gap:14px 18px}.ab-marks .wordmark{font-size:11px;letter-spacing:1.6px;max-width:150px}.ab-aia img{height:20px!important}}
.ab-aia{display:inline-flex;flex-direction:column;align-items:center;gap:9px}
.ab-aia small{font-family:var(--caps);font-weight:500;font-size:10.5px;line-height:14px;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted)}
.ab-led{border-top:1px solid var(--ink)}
.ab-dec__h{margin:0;padding:clamp(36px,4vw,56px) 0 12px;font-family:var(--display);font-weight:200;font-size:clamp(30px,2.8vw,44px);line-height:1.1;letter-spacing:.04em;color:var(--bronze);border-bottom:1px solid var(--line)}
.ab-dec:first-child .ab-dec__h{padding-top:clamp(20px,2.2vw,30px)}
.ab-rows{list-style:none;margin:0;padding:0}
.ab-row{display:grid;grid-template-columns:clamp(110px,12vw,180px) minmax(0,1fr) minmax(150px,.45fr);gap:4px clamp(18px,3vw,48px);align-items:baseline;padding:clamp(18px,1.9vw,26px) 0;border-bottom:1px solid var(--line)}
.ab-row__y{font-family:var(--display);font-weight:200;font-size:clamp(40px,4vw,62px);line-height:.9;color:var(--ink)}
.ab-row__m p{margin:0}
.ab-row__h{font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.8vw,27px);line-height:1.25;color:var(--ink)}
.ab-row .ab-row__p{margin-top:6px;font-size:15.5px;line-height:1.6;color:var(--muted)}
.ab-row__p a{color:var(--ink);border-bottom:1px solid var(--rule);transition:border-color .3s}
.ab-row__p a:hover{border-color:var(--ink)}
.ab-row__by{margin:0;font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:19px;letter-spacing:2.1px;text-transform:uppercase;color:var(--soft);text-align:right}
.ab-nb{white-space:nowrap}  /* 'Chicago-Midwest' never breaks at its hyphen */
.ab-dag{margin-left:3px;font-family:var(--body);font-size:.55em;line-height:0;color:var(--bronze);vertical-align:super}
.ab-led__note{margin:22px 0 0;font-size:14.5px;line-height:1.65;color:var(--soft)}
.ab-led__note sup{color:var(--bronze)}
.ab-more{margin:clamp(32px,3.4vw,48px) 0 0}
@media (max-width:760px){.ab-row{grid-template-columns:66px minmax(0,1fr);gap:4px 14px}.ab-row__y{font-size:32px}.ab-row__by{grid-column:2;text-align:left;margin-top:6px}.ab-row__h{font-size:20px}}
/* museums and collections */
.ab-mus{padding:clamp(60px,6.6vw,100px) 0;background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ab-mus--rec{background:var(--bg);border-bottom:0}
.ab-mus__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(36px,6vw,110px);align-items:start}
.ab-mus__lead .lede{font-size:clamp(18px,1.45vw,21px)}
.ab-mus__lead .brands{margin-top:24px}
.ab-ex{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.ab-ex--wide{max-width:980px;margin:0 auto}
.ab-ex__i{display:grid;grid-template-columns:clamp(100px,10vw,150px) minmax(0,1fr);gap:4px clamp(16px,2.4vw,36px);align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line)}
.ab-ex__y{grid-row:span 2;font-family:var(--display);font-weight:300;font-size:clamp(17px,1.4vw,21px);line-height:1.3;letter-spacing:1px;color:var(--ink)}
.ab-ex__w{margin:0;font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:18px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.ab-ex__d{margin:0;font-family:var(--serif);font-size:clamp(19px,1.5vw,22px);line-height:1.35;color:var(--ink)}
.ab-eye--left{text-align:left}
.ab-mus__claim{margin-top:clamp(44px,4.6vw,74px);padding-top:clamp(34px,4vw,54px);border-top:1px solid var(--line);text-align:center}
.ab-mus__claim .lede{max-width:760px;margin:0 auto 32px}
@media (max-width:860px){.ab-mus__grid{grid-template-columns:1fr}}
@media (max-width:520px){.ab-ex__i{grid-template-columns:1fr}.ab-ex__y{grid-row:auto}}
/* Mattaliano */
.ab-matt{padding:clamp(60px,6.6vw,100px) 0}
.ab-matt__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,110px);align-items:center}
.ab-matt__img{justify-self:center;width:min(100%,420px)}
.ab-matt__img img{width:100%;height:auto}
.ab-matt__text h2{margin-bottom:20px}
.ab-matt__inst{margin-top:clamp(46px,5.4vw,80px);padding-top:clamp(34px,4vw,56px);border-top:1px solid var(--line);text-align:center}
.ab-state{max-width:880px;margin:0 auto 36px;font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.9vw,28px);line-height:1.45;color:var(--ink)}
@media (max-width:820px){.ab-matt__grid{grid-template-columns:1fr}.ab-matt__img{width:min(78%,360px)}}
/* publications: a typographic press wall and a shelf of books */
.ab-pub{padding:clamp(60px,6.6vw,100px) 0;border-top:1px solid var(--line)}
.ab-inst{padding-top:clamp(20px,2.4vw,40px)}  /* Recognition: right after the press list */
.ab-press{list-style:none;margin:0 auto;padding:0;max-width:1120px;text-align:center;line-height:1;text-wrap:balance}
.ab-press li{display:inline-block;margin:0 clamp(12px,1.7vw,28px) clamp(22px,2.4vw,36px);white-space:nowrap}
.ab-press b{font-family:var(--display);font-weight:200;font-size:clamp(26px,2.9vw,44px);line-height:1.1;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink)}
.ab-press span{margin-left:10px;font-family:var(--caps);font-weight:500;font-size:11px;letter-spacing:2.2px;color:var(--bronze);vertical-align:.95em}
@media (max-width:560px){.ab-press li{white-space:normal;margin:0 8px 22px}.ab-press span{display:block;margin:8px 0 0;vertical-align:baseline}}
.ab-books__h{margin-top:clamp(46px,5.4vw,74px);text-align:center}
.ab-books{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid var(--ink)}
.ab-books li{padding:20px 0 18px;border-bottom:1px solid var(--line)}
.ab-books cite{display:block;font-family:var(--serif);font-size:clamp(20px,1.6vw,24px);line-height:1.3;color:var(--ink)}
.ab-books span{display:block;margin-top:6px;font-family:var(--caps);font-weight:500;font-size:11px;line-height:17px;letter-spacing:1.9px;text-transform:uppercase;color:var(--soft)}
@media (max-width:900px){.ab-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ab-books{grid-template-columns:1fr}.ab-press b{font-size:23px;letter-spacing:2px}}
/* the hand: a drawing shown whole on paper; it opens full screen to zoom */
.ab-hand{padding:clamp(60px,6.6vw,100px) 0;background:var(--paper)}
.ab-hand__fig{margin:0;padding:0 clamp(16px,7vw,120px)}
.ab-hand__sheet{position:relative;display:block;width:min(100%,1500px,calc((var(--vh) - 150px) * var(--a)));margin:0 auto;background:#fff;box-shadow:0 0 0 1px rgba(26,26,25,.07);cursor:zoom-in}
.ab-hand__sheet img{width:100%;height:auto}
.ab-hand__hint{position:absolute;right:12px;bottom:12px;padding:9px 13px;background:rgba(255,255,255,.94);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--caps);font-weight:500;font-size:10.5px;line-height:1;letter-spacing:2px;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .35s var(--ease)}
.ab-hand__sheet:hover .ab-hand__hint,.ab-hand__sheet:focus-visible .ab-hand__hint{opacity:1}
@media (hover:none){.ab-hand__hint{display:none}}  /* touch: never over the title block; the caption's link says it */
.ab-hand__fig .ab-cap{padding:16px 0 0;text-align:center}
.ab-hand .narrow{margin-top:clamp(44px,5vw,72px)}
.ab-hand .lede{margin-bottom:30px}
.ab-quiet{margin:0 0 18px;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2vw,28px);line-height:1.4;color:var(--ink)}
/* Recognition: the summary list keeps its facts style */
.rec-facts{gap:20px}
.rec-facts dd a{border-bottom:1px solid var(--rule)}
/* the drawing viewer (site.js) */
.zv{position:fixed;inset:0;z-index:110;background:var(--paper);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;overscroll-behavior:contain}
.zv.is-open{opacity:1;visibility:visible;transition:opacity .3s var(--ease),visibility 0s}
.zv__stage{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:zoom-in}
.zv__stage:focus{outline:none}  /* focused on a click or drag so the keyboard stays in the viewer */
.zv.is-zoomed .zv__stage{cursor:grab}
.zv.is-zoomed .zv__stage.is-drag{cursor:grabbing}
.zv__img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;background:#fff;box-shadow:0 0 0 1px rgba(26,26,25,.08);-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.zv__hint{position:absolute;left:0;right:0;top:22px;margin:0;text-align:center;font-family:var(--caps);font-weight:500;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .5s ease;pointer-events:none}
.zv__hint.show{opacity:1}
@media (max-width:640px){.zv__hint{top:auto;bottom:84px}}
.zv button{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0 12px;font-family:var(--caps);font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.zv button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.zv__close{position:absolute;top:10px;right:12px;background:rgba(244,240,232,.9)}
.zv__bar{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:2px;padding:3px;background:rgba(255,255,255,.94);box-shadow:inset 0 0 0 1px var(--rule)}
.zv__bar svg{width:15px;height:15px;fill:none;stroke:var(--ink);stroke-width:1.4}
@media (prefers-reduced-motion:reduce){.zv{transition:none}}

/* ==========================================================================
   By Hand: a print room of numbered plates, each sheet whole on paper (2026-10-24, _build/drawings_page.py)
   ========================================================================== */
/* the menu gained By Hand: a little less space between its links where the full menu is narrowest */
@media (min-width:1181px) and (max-width:1260px){.nav{gap:clamp(10px,1.1vw,14px)}.nav .btn{margin-left:8px;padding:12px 18px}}
.bh-sheet{position:relative;display:block;margin:0 auto;background:#fff;box-shadow:0 0 0 1px rgba(26,26,25,.07),0 18px 34px -24px rgba(26,26,25,.34);cursor:zoom-in}
.bh-sheet img{width:100%;height:auto}
.bh-sheet__hint{position:absolute;right:12px;bottom:12px;padding:9px 13px;background:rgba(255,255,255,.94);box-shadow:inset 0 0 0 1px var(--line);font-family:var(--caps);font-weight:500;font-size:10.5px;line-height:1;letter-spacing:2px;text-transform:uppercase;color:var(--muted);opacity:0;transition:opacity .35s var(--ease)}
.bh-sheet:hover .bh-sheet__hint,.bh-sheet:focus-visible .bh-sheet__hint{opacity:1}
@media (hover:none){.bh-sheet__hint{display:none}}  /* touch: never over the title block (a tap opens the sheet) */
/* title, then the opening plate on the paper ground */
.bh-head{padding:clamp(56px,6.4vw,104px) 0 clamp(44px,4.8vw,72px)}
.bh-h1{font-size:clamp(46px,6.4vw,104px);line-height:1;letter-spacing:clamp(3px,.32vw,6px);margin:0 0 18px}
.bh-sub{margin:0 0 clamp(26px,3vw,40px)}
.bh-sf{max-width:860px}
.bh-open{background:var(--paper);padding:clamp(40px,5vw,84px) 0 clamp(36px,4vw,64px)}
.bh-open__fig{margin:0;padding:0 clamp(16px,6vw,110px)}
.bh-sheet--open{width:min(100%,1640px,calc((var(--vh) - 190px) * var(--a)))}
.bh-label{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 18px;max-width:1100px;margin:24px auto 0;text-align:center}
.bh-label__no{font-family:var(--caps);font-weight:500;font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--bronze)}
.bh-label__t{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.6vw,24px);line-height:1.3;color:var(--ink)}
.bh-label__m{font-family:var(--caps);font-weight:500;font-size:11px;line-height:18px;letter-spacing:1.8px;text-transform:uppercase;color:var(--soft)}
.bh-label__m a,.bh-cap__m a{color:var(--muted);border-bottom:1px solid var(--rule);transition:border-color .3s}
.bh-label__m a:hover,.bh-cap__m a:hover{border-color:currentColor}
.bh-label .link-line{padding-top:0}
.bh-open .narrow{margin-top:clamp(40px,4.6vw,64px)}
.bh-own{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(21px,1.9vw,27px);line-height:1.45;color:var(--ink)}
.bh-own footer{margin-top:12px;font-family:var(--caps);font-style:normal;font-weight:500;font-size:11.5px;letter-spacing:2.4px;text-transform:uppercase;color:var(--bronze)}
/* the drawing room and the plates: equal-height paper mats, every sheet whole */
.bh-room{padding:clamp(84px,9vw,140px) 0 0}
.bh-cat{padding:clamp(84px,9vw,140px) 0}
.bh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(44px,4.6vw,76px) clamp(16px,2vw,32px)}
.bh-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.bh-grid,.bh-grid--3{grid-template-columns:minmax(0,1fr)}}
@media (min-width:2000px){.bh-grid{max-width:1900px;margin:0 auto}}  /* a row of two mats stays within one screen */
@media (min-width:761px){.bh-grid .bh-last-odd{grid-column:1/-1;justify-self:center;width:calc((100% - clamp(16px,2vw,32px)) / 2)}}  /* a lone last plate is centered (site.js) */
.bh-mat{display:block;position:relative;aspect-ratio:4/3;background:var(--paper);transition:background-color .4s var(--ease)}
.bh-mat__in{position:absolute;inset:6%;display:flex;align-items:center;justify-content:center;container-type:size}
@media (max-width:760px){.bh-grid .bh-mat__in{inset:6% 5%}}
.bh-mat__sheet{display:block;width:100%;height:100%}
.bh-mat__sheet picture{width:100%;height:100%}
.bh-mat__sheet img{width:100%;height:100%;object-fit:contain}
@supports (width:1cqh){
  .bh-mat__sheet{width:min(100cqw,calc(100cqh * var(--a)));height:auto;background:#fff;box-shadow:0 0 0 1px rgba(26,26,25,.06),0 12px 26px -18px rgba(26,26,25,.32)}
  .bh-mat__sheet picture,.bh-mat__sheet img{height:auto}
}
@media (hover:hover){.bh-mat:hover{background-color:#EFE9DD}}
.bh-cap{padding-top:16px}
.bh-cap__no{margin:0 0 6px;font-family:var(--caps);font-weight:500;font-size:11px;line-height:17px;letter-spacing:2.4px;text-transform:uppercase;color:var(--bronze)}
.bh-cap__t{margin:0 0 6px;font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.7vw,26px);line-height:1.25;color:var(--ink);text-wrap:balance}
.bh-cap__t a{transition:opacity .3s}
.bh-cap__t a:hover{opacity:.6}
.bh-cap__m{margin:0;font-family:var(--caps);font-weight:500;font-size:11px;line-height:19px;letter-spacing:1.8px;text-transform:uppercase;color:var(--soft)}
.bh-cap__add{margin:8px 0 0;font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.4;color:var(--muted)}
/* filter by type and by project */
.bh-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 28px;padding:4px 0;margin-bottom:clamp(30px,3.4vw,52px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bh-f__types{display:flex;flex-wrap:wrap;gap:0 26px}
.bh-f__types button{min-height:44px;padding:12px 0 6px;font-family:var(--caps);font-weight:500;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--soft);border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.bh-f__types button[aria-pressed="true"],.bh-f__types button:hover{color:var(--ink);border-color:var(--ink)}
.bh-f__n{margin-left:7px;font-size:10.5px;letter-spacing:1px;color:var(--bronze)}
.bh-f__proj{display:flex;align-items:center;gap:12px;font-family:var(--caps);font-weight:500;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.bh-f__proj select{min-height:44px;max-width:72vw;padding:8px 36px 8px 12px;font-family:var(--body);font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23444'/%3E%3C/svg%3E") no-repeat right 13px center;border:1px solid var(--rule);border-radius:0;-webkit-appearance:none;appearance:none}
.bh-f__count{margin:0;font-family:var(--caps);font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
html:not(.js) .bh-f{display:none}
@media (max-width:760px){.bh-f{padding:6px 0 12px}.bh-f__types{gap:0 20px}.bh-f__count{width:100%}}
.bh-none{margin:10px 0 0;text-align:center;font-size:16px;color:var(--muted)}
.bh-none button{margin-left:10px}
.bh-privacy{margin:clamp(48px,5vw,72px) 0 0;text-align:center;font-size:14.5px;line-height:1.65;color:var(--soft)}
/* from drawing to room: two whole pictures side by side on paper; the handle moves the division */
.bh-d2r{padding:clamp(84px,9vw,140px) 0;background:var(--paper)}
.bh-cmp{--h:max(320px,min(calc(var(--vh) - 170px),44vw,820px));position:relative;display:flex;height:var(--h)}
.bh-cmp__pane{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;margin:0;padding:0 clamp(12px,1.6vw,28px)}
.bh-cmp__pane--a{flex:0 0 calc(var(--split) * 1%)}
.bh-cmp__pane--b{flex:1 1 0}
.bh-cmp__img{display:block;width:min(100%,calc((var(--h) - 46px) * var(--a)));background:var(--tint);transition:width .25s var(--ease)}
.bh-cmp.is-drag .bh-cmp__img{transition:none}
.bh-cmp__img img{width:100%;height:auto}
.bh-cmp__lab{margin-top:14px;font-family:var(--caps);font-weight:500;font-size:11px;line-height:18px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-align:center}
.bh-cmp__handle{position:absolute;top:0;bottom:0;left:calc(var(--split) * 1%);width:44px;margin-left:-22px;display:flex;justify-content:center;cursor:ew-resize;touch-action:none}
.bh-cmp__handle::before{content:"";width:1px;height:100%;background:rgba(26,26,25,.28)}
.bh-cmp__handle span{position:absolute;top:calc(50% - 20px);left:2px;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px var(--rule),0 6px 16px -8px rgba(0,0,0,.3)}
.bh-cmp__handle span::before,.bh-cmp__handle span::after{content:"";position:absolute;top:16px;width:7px;height:7px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.bh-cmp__handle span::before{left:11px;transform:rotate(-45deg)}
.bh-cmp__handle span::after{right:11px;transform:rotate(135deg)}
.bh-cmp__handle:focus-visible{outline:none}
.bh-cmp__handle:focus-visible span{outline:2px solid var(--ink);outline-offset:2px}
.bh-cmp__cap{text-align:center;padding-top:22px}
html:not(.js) .bh-cmp__handle{display:none}
.bh-cmp__hint{display:none;margin:8px 0 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--soft)}
@media (hover:hover) and (min-width:761px){html.js .bh-cmp__hint{display:block}}  /* only where the handle is shown */
@media (max-width:760px){.bh-cmp{flex-direction:column;height:auto;gap:28px}.bh-cmp__pane{flex:none!important;padding:0}.bh-cmp__img{width:100%}.bh-cmp__handle{display:none}}
/* models: whole photographs */
.bh-models{padding:clamp(84px,9vw,140px) 0 clamp(70px,8vw,120px)}
.bh-model+.bh-model{margin-top:clamp(56px,6vw,96px)}
.bh-model__cap{padding:0 var(--gutter-wide) 14px}
.bh-model__rows{display:flex;flex-direction:column;gap:var(--gut)}
/* origins: a short dated strip */
.bh-origins{padding:clamp(84px,9vw,140px) 0;border-top:1px solid var(--line)}
.bh-orig{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(28px,3vw,52px)}
.bh-orig__i{border-top:1px solid var(--ink);padding-top:24px}
.bh-orig__y{margin:0 0 18px;font-family:var(--display);font-weight:200;font-size:clamp(34px,3.2vw,50px);line-height:1;letter-spacing:.01em;color:var(--ink)}
.bh-orig__t{margin:0 0 10px;font-family:var(--serif);font-weight:500;font-size:clamp(21px,1.7vw,25px);line-height:1.25;color:var(--ink)}
.bh-orig__x{font-size:16.5px;line-height:1.75}
.bh-orig .link-line{margin-top:2px}
@media (max-width:860px){.bh-orig{grid-template-columns:minmax(0,1fr)}}
/* one plate: the sheet large on paper, then a museum label */
.bh-crumb{text-align:center;padding-top:clamp(16px,1.6vw,24px);padding-bottom:clamp(14px,1.4vw,20px);font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.bh-crumb a{color:var(--muted);border-bottom:1px solid var(--rule)}
.bh-plate{background:var(--paper);padding:clamp(24px,2.6vw,44px) 0 clamp(18px,2vw,28px)}
.bh-plate__fig{margin:0;padding:0 clamp(16px,5vw,90px)}
.bh-sheet--plate{width:min(100%,calc((var(--vh) - 240px) * var(--a)))}  /* the whole sheet and its zoom link in the first screen */
@media (max-width:640px){.bh-sheet--plate{width:100%}}
.bh-plate__zoom{margin-top:14px;text-align:center}
.bh-plate__zoom .link-line{padding-top:6px}
.bh-lab{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);align-items:start;padding-top:clamp(48px,5.4vw,84px);padding-bottom:clamp(56px,6vw,96px)}
.bh-lab__head{border-top:1px solid var(--ink);padding-top:22px}
.bh-lab__no{margin:0 0 22px;font-family:var(--display);font-weight:200;font-size:clamp(54px,6vw,100px);line-height:.9;letter-spacing:.01em;color:var(--ink)}
.bh-lab__t{margin:0 0 14px;font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.6vw,40px);line-height:1.18;color:var(--ink);text-wrap:balance}
.bh-lab__k{margin:0;font-size:12px;line-height:20px}
.bh-lab__dl small{display:block;margin-top:3px;font-size:14px;line-height:1.5;color:var(--soft)}
.bh-lab__dl a.u{border-bottom-color:var(--rule)}
.bh-masked{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--soft)}
.bh-lab__links{display:flex;flex-wrap:wrap;gap:4px 30px;margin:30px 0 0}
@media (max-width:860px){.bh-lab{grid-template-columns:minmax(0,1fr);gap:30px}}
/* the Drawings strip on a project page */
.bh-strip{background:var(--paper);padding:clamp(56px,6vw,96px) 0}
.bh-strip+.wrap .p-nav{border-top:0}
.bh-strip__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px 28px;margin-bottom:clamp(26px,3vw,42px)}
.bh-strip__head .ab-eye{margin-bottom:8px}
.bh-strip__h{margin:0;font-family:var(--display);font-weight:200;font-size:clamp(30px,3vw,44px);line-height:1.1;letter-spacing:2px;text-transform:uppercase;color:var(--ink)}
.bh-strip__sub{margin:0;font-family:var(--caps);font-weight:500;font-size:11.5px;line-height:20px;letter-spacing:2px;text-transform:uppercase;color:var(--soft)}
.bh-strip__sub .link-line{padding-top:0;margin-left:4px;color:var(--ink)}
.bh-strip__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n,6),minmax(0,210px));gap:clamp(22px,2vw,34px) clamp(14px,1.6vw,26px)}  /* one column per sheet: no empty slots */
@media (max-width:1100px){.bh-strip__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.bh-strip__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bh-strip__it{display:block}
.bh-strip__mat{position:relative;display:block;aspect-ratio:4/3}
.bh-strip__mat .bh-mat__in{inset:4%}
.bh-strip__no{display:block;margin-top:12px;font-family:var(--caps);font-weight:500;font-size:10.5px;line-height:16px;letter-spacing:2.2px;text-transform:uppercase;color:var(--bronze)}
.bh-strip__t{display:block;margin-top:3px;font-family:var(--serif);font-weight:500;font-size:17.5px;line-height:1.3;color:var(--ink);transition:opacity .3s}
.bh-strip__it:hover .bh-strip__t{opacity:.6}

/* ---------- Parco Studio: the serpent beside the wordmark, journal, numbers row ---------- */
.brand--mark{flex-direction:row;align-items:center;justify-content:flex-start;gap:11px}
.brand__symbol{display:block;width:auto;height:44px;transition:filter .45s var(--ease)}
.brand__stack{display:flex;flex-direction:column;justify-content:center;gap:6px}
@media (max-width:400px){.brand--mark{gap:8px}.brand--mark .brand__logo{width:108px!important}.brand__symbol{height:32px!important}}
.brand--mark .brand__logo{width:172px}
@media (max-width:1320px){.brand--mark .brand__logo{width:160px}}
@media (max-width:1100px){.brand--mark .brand__logo{width:134px}.brand__symbol{height:38px}}
html.js body.has-hero .site-header:not(.is-solid) .brand__symbol{filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(0,0,0,.18))}
.footer-logo{display:inline-flex;flex-direction:column;align-items:center;gap:16px}
.footer-logo .footer-symbol{width:auto;height:58px}
.drawer__logo{width:180px;height:auto}
.statement+.lede{max-width:640px;margin:0 auto}
.where--top0{padding-top:0}
.pcard__x{display:block;margin-top:9px;font-size:15.5px;line-height:1.65;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.j-lede{max-width:760px;margin-top:18px}
.j-head{text-align:center;margin-bottom:clamp(30px,4vw,56px)}
.j-print{margin-bottom:clamp(40px,4.4vw,70px)}
.j-body{max-width:760px;margin:0 auto clamp(60px,6vw,100px)}
.j-body h2{font-family:var(--display);font-weight:200;font-size:clamp(23px,2vw,29px);line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);margin:2em 0 .8em}
.j-body a{border-bottom:1px solid var(--rule)}
.j-body ul,.j-body ol{font-size:clamp(17px,1.3vw,19px);line-height:1.8;color:#262624;padding-left:1.2em}
.j-body blockquote{margin:1.6em 0;padding-left:1.2em;border-left:1px solid var(--rule);font-family:var(--serif);font-style:italic;font-size:1.25em;line-height:1.5}
.recog .ab-nums{max-width:1240px;margin:0 auto clamp(34px,4vw,56px);text-align:left}
@media (min-width:1100px){.recog .ab-nums{grid-template-columns:repeat(4,minmax(0,1fr))}}
