/* =============================================================================
   tf-archidex - GRAYFORM Studio. Cinematic Architecture Studio archetype.
   ONE component system, TWO skins: .v-cinematic (dark MAIN) + .v-classic (light).
   Monochrome, no accent color. Exo 2 (display+UI) + Instrument Serif (accent).
   LIKENESS build of the Archidex reference; original CSS/JS/copy/imagery/fonts.
   ============================================================================= */

/* ---- fonts ---- */
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Exo 2";src:url("../fonts/exo2-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

/* ---- tokens ---- */
:root{
  --dark:#0a0a0b; --ink:#141416; --panel:#22222b;
  --paper:#ffffff; --paper-warm:#f4f4f1; --paper-gray:#eeeeee;
  --muted:#6b6f79; --gray:#585858; --hairline:#e4e4e1; --grid-line:#ececea;
  --sans:"Exo 2",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --wrap:1440px; --gutter:75px;
  --r-pill:500px; --r-sm:15px;
  --e:cubic-bezier(.22,.61,.36,1);
  --dur:.5s;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font-family:var(--sans); font-weight:500; font-size:16px; line-height:1.35;
  letter-spacing:-.01em; color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
body.v-cinematic{background:var(--dark)}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font-family:inherit; cursor:pointer}
h1,h2,h3,h4{margin:0; font-weight:500; letter-spacing:-.03em; line-height:1.02}
p{margin:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:9999}
.skip:focus{left:8px;top:8px}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter)}
.serif{font-family:var(--serif); font-weight:400; letter-spacing:0}
.ital{font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:0}

/* clamps */
.t-mega{font-size:clamp(64px,17vw,250px); line-height:.82; letter-spacing:-.03em}
.t-huge{font-size:clamp(56px,10.4vw,150px); line-height:.84; letter-spacing:-.05em}
.t-big{font-size:clamp(30px,3.4vw,50px); line-height:1.0; letter-spacing:-.03em}
.t-mid{font-size:clamp(24px,2vw,30px); line-height:1.05; letter-spacing:-.02em}
.t-lead{font-size:clamp(28px,3.4vw,50px); line-height:1.08; letter-spacing:-.03em; font-weight:500}

/* eyebrow / tag chip */
.tagchip{display:inline-block; font-size:14px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; padding:9px 16px; background:var(--paper-gray); color:var(--ink)}
.v-cinematic .tagchip{background:#17171b; color:#fff}
.label{display:inline-flex; align-items:center; gap:14px; font-size:16px; font-weight:500; color:var(--ink)}
.label::before{content:""; width:34px; height:1px; background:currentColor; display:inline-block}
.label--plain::before{display:none}
.v-cinematic .label{color:#fff}

/* underline link */
.ulink{position:relative; display:inline-flex; align-items:center; gap:8px; font-weight:500; padding-bottom:4px}
.ulink::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:100%; background:currentColor; transform-origin:right; transition:transform var(--dur) var(--e)}
.ulink:hover::after{transform:scaleX(0); transform-origin:left}
.ulink svg{width:15px;height:15px}

/* arrow (NE) icon default size */
svg.ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* -------- pill button with per-letter hover wave -------- */
.btn-pill{
  --bg:var(--ink); --fg:#fff;
  display:inline-flex; align-items:center; gap:12px; padding:16px 26px;
  border-radius:var(--r-pill); background:var(--bg); color:var(--fg);
  font-weight:500; font-size:16px; border:1px solid var(--bg);
  transition:background .3s var(--e),color .3s var(--e); overflow:hidden;
}
.btn-pill .lw{display:inline-flex}
.btn-pill .lw span{display:inline-block; transition:transform .3s var(--e); white-space:pre}
.btn-pill:hover .lw span{transform:translateY(-2px)}
.btn-pill .arw{display:inline-flex; width:20px; height:20px; align-items:center; justify-content:center; transition:transform .3s var(--e)}
.btn-pill:hover .arw{transform:translate(2px,-2px)}
.btn-pill--ghost{--bg:transparent; --fg:var(--ink); border-color:var(--hairline)}
.btn-pill--ghost:hover{--bg:var(--ink); --fg:#fff}
.btn-pill--white{--bg:#fff; --fg:var(--ink); border-color:#fff}
.v-cinematic .btn-pill--ghost{--bg:#fff; --fg:var(--ink); border-color:#e3e3e0; box-shadow:0 10px 24px rgba(0,0,0,.07)}
.v-cinematic .btn-pill--ghost:hover{--bg:var(--ink); --fg:#fff}

/* =============================================================================
   HEADER (shared component, skin params)
   ============================================================================= */
.site-header{position:absolute; top:0; left:0; width:100%; z-index:60; height:90px; display:flex; align-items:center}
.site-header .wrap{max-width:1890px; display:flex; align-items:center; gap:34px; width:100%}
.hd-left{display:flex; align-items:center; gap:26px}
.burger-circle{width:52px; height:52px; border-radius:50%; border:1px solid var(--hairline); display:flex; align-items:center; justify-content:center; background:transparent; flex:none}
.burger-circle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round}
.v-cinematic .burger-circle{border-color:rgba(255,255,255,.22)}
.meta-line{font-size:16px; font-weight:500; color:var(--ink)}
.v-cinematic .meta-line, .v-inner-dark .meta-line{color:#fff}
.brand-word{font-size:23px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); font-family:var(--sans)}
.brand-word .dot{font-family:var(--serif); font-style:italic; font-weight:400}
.v-cinematic .brand-word, .v-inner-dark .brand-word{color:#fff}
.hd-nav{display:flex; align-items:center; gap:30px; margin-left:auto}
.hd-nav a{font-size:16px; font-weight:500; letter-spacing:.01em; text-transform:uppercase; color:var(--ink); position:relative; padding:4px 0}
.hd-nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width var(--dur) var(--e)}
.hd-nav a:hover::after,.hd-nav a[aria-current]::after{width:100%}
.v-cinematic .hd-nav a, .v-inner-dark .hd-nav a{color:#fff}
.hd-cta{margin-left:8px}

/* --- .v-cinematic MAIN header: location left, centered logo, pill right ---
   Light from the start (hero begins at full size on the paper canvas). */
.v-cinematic .site-header{height:80px; background:#fff; border-bottom:1px solid var(--hairline)}
.v-cinematic .brand-word,.v-cinematic .meta-line{color:var(--ink)}
.v-cinematic .btn-pill--white{background:#fff; color:var(--ink); border:1px solid #d9d9d6}
.v-cinematic .site-header .wrap{max-width:none; padding:0 26px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center}
.v-cinematic .hd-left{padding-left:88px}
.v-cinematic .brand-word{justify-self:center; text-align:center}
.v-cinematic .hd-right{justify-self:end; display:flex; align-items:center; gap:14px}
.v-cinematic .hd-nav{display:none}
/* sticky invert */
.v-cinematic .site-header.stuck{position:fixed; background:#fff; height:70px; transition:background .3s,height .3s}
.v-cinematic .site-header.stuck .brand-word,.v-cinematic .site-header.stuck .meta-line{color:var(--ink)}

/* inner-dark header (about) */
.v-inner-dark .site-header{background:transparent}

/* =============================================================================
   FIXED LEFT AWARD RAIL (.v-cinematic only)
   ============================================================================= */
.award-rail{position:fixed; top:0; left:0; width:88px; height:100vh; z-index:55; border-right:1px solid var(--hairline); pointer-events:none}
.award-rail__burger{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:flex; flex-direction:row; gap:6px; padding:10px; pointer-events:auto; background:none; border:0; cursor:pointer}
.award-rail__burger span{display:block; width:1.5px; height:22px; background:currentColor; color:var(--ink)}
.award-rail__bottom{position:absolute; left:0; bottom:38px; width:100%; display:flex; flex-direction:column; align-items:center; gap:26px; color:var(--ink)}
.award-rail__txt{writing-mode:vertical-rl; transform:rotate(180deg); font-size:13px; font-weight:500; letter-spacing:.02em; line-height:1.3; white-space:nowrap}

/* =============================================================================
   OFFCANVAS MENU (shared)
   ============================================================================= */
.offcanvas{position:fixed; inset:0; z-index:200; visibility:hidden; pointer-events:none}
.offcanvas__scrim{position:absolute; inset:0; background:rgba(0,0,0,.5); opacity:0; transition:opacity .4s var(--e)}
.offcanvas__panel{position:absolute; top:0; right:0; width:min(460px,92vw); height:100%; background:var(--panel); color:#fff; transform:translateX(100%); transition:transform .5s var(--e); padding:44px; display:flex; flex-direction:column; overflow-y:auto}
.offcanvas.open{visibility:visible; pointer-events:auto}
.offcanvas.open .offcanvas__scrim{opacity:1}
.offcanvas.open .offcanvas__panel{transform:none}
.offcanvas__top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:40px}
.offcanvas__close{display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.3); border-radius:var(--r-sm); padding:8px 16px; background:transparent; color:#fff; transition:.3s linear}
.offcanvas__close:hover{background:#fff; color:var(--ink)}
.offcanvas__tag{font-size:14px; color:rgba(255,255,255,.6); max-width:230px; line-height:1.5}
.offcanvas__estab{font-size:14px; color:rgba(255,255,255,.6); margin:18px 0 30px}
.offcanvas__nav{display:flex; flex-direction:column; gap:2px; margin-bottom:auto}
.offcanvas__nav a{font-size:44px; font-weight:500; letter-spacing:-.03em; padding:6px 0; transition:color .3s,padding-left .3s}
.offcanvas__nav a:hover{padding-left:12px; color:rgba(255,255,255,.7)}
.offcanvas__social{display:flex; gap:22px; margin-top:34px; font-size:15px; color:rgba(255,255,255,.7)}
.offcanvas__social a:hover{color:#fff}

/* =============================================================================
   MAIN HOME - PRELOADER
   ============================================================================= */
.loader-wrap{position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; background:#000}
.loader-wrap.done{opacity:0; transform:translateY(-100%); transition:transform .9s var(--e),opacity .9s var(--e); pointer-events:none}
.loader-name{display:flex; gap:.01em}
.loader-name span{font-size:clamp(40px,10vw,100px); font-weight:800; text-transform:uppercase; color:#fff; line-height:1; font-family:var(--sans); animation:tf-blink 1s ease infinite}
@keyframes tf-blink{0%{opacity:1}100%{opacity:0}}
.loader-num{position:absolute; bottom:40px; left:0; width:100%; text-align:center; color:rgba(255,255,255,.5); font-size:14px; letter-spacing:.2em}
html.preloading,body.preloading{overflow:hidden}

/* =============================================================================
   MAIN HOME - SCROLL-ZOOM HERO
   ============================================================================= */
/* Hero starts AT FULL SIZE (Brandon 07-19): no scroll-zoom scrub, no scale/slide.
   The grid canvas fills the first viewport under the header. */
.zoomhero{position:relative; background:var(--paper); padding-top:80px}
.zoomhero__sticky{position:static; height:auto; overflow:visible; display:block}
.zoomhero__stage{width:100%; height:auto; display:block; padding:0}
.zoomhero__page{width:100%; transform:none}
.minipage{display:flex; flex-direction:column; background:var(--paper); background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size:36px 36px; overflow:hidden}
.minipage__top{padding:24px 90px 48px; text-align:center; min-height:calc(100svh - 80px); display:flex; flex-direction:column; justify-content:center}
.minipage__eyebrow{font-size:16px; color:var(--gray); margin-bottom:38px}
.minipage h1{font-size:min(17.4vw,250px); line-height:.78; letter-spacing:-.04em; text-transform:uppercase; font-weight:500; color:var(--ink)}
.minipage h1 .tile{display:inline-flex; vertical-align:middle; width:.62em; height:.62em; margin:0 .02em; border-radius:6px; overflow:hidden; transform:translateY(-.06em)}
.minipage h1 .tile img{width:100%;height:100%;object-fit:cover}
.minipage__sub{font-size:50px; line-height:1.08; letter-spacing:-.03em; margin-top:34px; color:var(--ink)}
.minipage__cta{margin-top:40px; display:flex; justify-content:center}
.minipage__photo{position:relative; height:1080px}
.minipage__photo img{width:100%;height:100%;object-fit:cover}
.minipage__spec{position:absolute; left:70px; top:50%; transform:translateY(-50%); width:340px; background:var(--paper); padding:34px}
.minipage__spec h4{font-size:22px; margin-bottom:18px; font-weight:500}
.minipage__spec ul{list-style:none; margin:0 0 20px; padding:0}
.minipage__spec li{font-size:17px; padding:8px 0; border-bottom:1px solid var(--hairline); color:var(--gray)}
.minipage__spec p{font-size:15px; color:var(--muted); line-height:1.5}

/* =============================================================================
   SHARED SECTION SCAFFOLD
   ============================================================================= */
.section{position:relative; background:var(--paper)}
.section--pad{padding:130px 0}
.section--padt{padding:130px 0 0}
.v-cinematic .section{background:var(--paper); color:var(--ink)}
.v-cinematic #main{background:var(--paper)}  /* no dark body bleed through any gap */
.rail-pad{padding-left:88px}   /* content clears the fixed rail on .v-cinematic */
.section--flow{overflow:hidden}  /* BFC: contains child margins, no collapse */

/* vertical hairline column grid (.v-classic + footers) */
.gridlines{position:absolute; inset:0; pointer-events:none; z-index:0}
.gridlines i{position:absolute; top:0; bottom:0; width:1px; background:var(--hairline)}
.gridlines i:nth-child(1){left:75px}
.gridlines i:nth-child(2){left:505px}
.gridlines i:nth-child(3){left:933px}
.gridlines i:nth-child(4){left:1364px}
.gridlines--dark i{background:rgba(255,255,255,.12)}

/* =============================================================================
   MAIN GALLERY BAND (sticky meta + stacked photos)
   ============================================================================= */
.gallery{padding:130px 0}
.gallery__label{margin-bottom:50px}
.gallery__grid{display:grid; grid-template-columns:390px 1fr; gap:0}
.gallery__meta{padding-right:40px; border-right:1px solid var(--hairline)}
.gallery__metabox{position:sticky; top:120px}
.gallery__yl{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px}
.gallery__yl .k{font-size:14px; color:var(--muted)}
.gallery__yl .v{font-size:17px; color:var(--ink)}
.gallery__metabox hr{border:none; border-top:1px solid var(--hairline); margin:22px 0}
.gallery__tag{display:inline-block; border:1px solid var(--hairline); border-radius:var(--r-pill); padding:8px 20px; font-size:15px; margin-bottom:26px}
.gallery__title{font-size:26px; line-height:1.08; letter-spacing:-.02em}
.gallery__photos{display:flex; flex-direction:column; gap:26px; padding-left:40px}
.gallery__photo{overflow:hidden; height:500px}
.gallery__photo img{width:100%;height:100%;object-fit:cover; transition:transform .8s var(--e)}
.gallery__photo:hover img{transform:scale(1.03)}

/* =============================================================================
   EXPERTISE BAND (blueprint bg + serif headline + numbered service list)
   ============================================================================= */
.expertise{position:relative; padding:80px 0 0; overflow:hidden}
.blueprint{position:absolute; opacity:.5; pointer-events:none; z-index:0}
.blueprint svg{width:100%;height:100%}
.blueprint svg *{stroke:#c9c9c4; fill:none; stroke-width:1}
.expertise__blue{top:20px; left:30%; width:640px; height:520px}
.expertise__grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:0}
.expertise__head{max-width:330px}
.expertise__title{font-size:50px; line-height:1.02; letter-spacing:-.03em}
.expertise__title .l1{font-family:var(--serif); font-weight:400; letter-spacing:0; display:block}
.expertise__body{font-size:16px; color:var(--gray); margin-top:40px; max-width:300px; line-height:1.55}
.expertise__trust{border-left:2px solid var(--ink); padding-left:16px; font-size:16px; line-height:1.4; margin-bottom:60px}
.svclist{border-top:1px solid var(--hairline)}
.svclist a{display:flex; align-items:center; gap:22px; padding:22px 4px; border-bottom:1px solid var(--hairline); font-size:20px; letter-spacing:-.01em}
.svclist .num{color:var(--muted); font-size:20px; width:24px}
.svclist .arw{margin-left:auto; width:22px;height:22px; transition:transform .3s var(--e)}
.svclist a:hover .arw{transform:translate(3px,-3px)}
.svclist a:hover{color:var(--ink)}

/* category strip */
.catstrip{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--hairline); margin-top:70px}
.catcell{display:flex; align-items:center; gap:14px; padding:28px 20px; border-right:1px solid var(--hairline)}
.catcell:last-child{border-right:none}
.catcell svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5}
.catcell .nm{font-size:18px; margin-right:auto}
.catcell .chev{width:34px;height:34px;border-radius:50%;border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;flex:none}
.catcell .chev svg{width:15px;height:15px}

/* photo diptych */
.diptych{display:grid; grid-template-columns:44% 56%; height:815px}
.diptych>div{overflow:hidden}
.diptych img{width:100%;height:100%;object-fit:cover}

/* =============================================================================
   STUDIO BAND (label + center small photo/para + tall right photo)
   ============================================================================= */
.studioband{padding:130px 0; position:relative}
.studioband__grid{display:grid; grid-template-columns:330px 1fr 1fr; gap:40px; align-items:start}
.studioband__label{padding-top:6px}
.studioband__mid{max-width:420px}
.studioband__mid .ph{height:270px; overflow:hidden; margin-bottom:120px}
.studioband__mid .ph img{width:100%;height:100%;object-fit:cover}
.studioband__mid p{font-size:16px; color:var(--gray); line-height:1.55; margin-bottom:24px}
.studioband__tall{height:730px; overflow:hidden}
.studioband__tall img{width:100%;height:100%;object-fit:cover}

/* =============================================================================
   INDEX SLIDER (shared: MAIN band 7 + classic services band)
   ============================================================================= */
.idxslider{padding:120px 0}
.idxslider__head{font-size:50px; letter-spacing:-.03em; margin-bottom:60px; max-width:760px; line-height:1.02}
.idxslider__wrap{display:grid; grid-template-columns:56% 44%; border-top:1px solid var(--hairline)}
.idxslider__photo{position:relative; overflow:hidden; height:555px}
.idxslider__slide{position:absolute; inset:0; opacity:0; transition:opacity .6s var(--e)}
.idxslider__slide.is-active{opacity:1}
.idxslider__slide img{width:100%;height:100%;object-fit:cover}
.idxslider__dots{position:absolute; left:24px; bottom:24px; display:flex; gap:8px; z-index:2}
.idxslider__dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.5)}
.idxslider__dots button.is-active{background:#fff}
.idxslider__card{position:relative; padding:0 40px 40px; border-left:1px solid var(--hairline)}
.idxslider__idxrow{display:grid; grid-template-columns:1fr 2fr 1fr; text-align:center; padding:22px 0; border-bottom:1px solid var(--hairline); color:var(--muted); font-size:16px}
.idxslider__ghost{font-family:var(--serif); font-style:italic; font-weight:400; font-size:48px; text-align:center; color:#cfcfcb; margin:70px 0 40px}
.idxslider__mini{width:100%; max-width:370px; height:240px; margin:0 auto 26px; overflow:hidden}
.idxslider__mini img{width:100%;height:100%;object-fit:cover}
.idxslider__cap{text-align:center; font-size:16px; color:var(--gray); max-width:320px; margin:0 auto; line-height:1.5}

/* =============================================================================
   FOOTER-LIGHT (4-col hairline grid)
   ============================================================================= */
.footer-light{background:var(--paper); border-top:1px solid var(--hairline); padding:80px 0}
.footer-light__grid{display:grid; grid-template-columns:repeat(4,1fr)}
.footer-light__col{padding:0 40px; border-right:1px solid var(--hairline); min-height:230px; display:flex; flex-direction:column}
.footer-light__col:first-child{padding-left:0}
.footer-light__col:last-child{border-right:none}
.footer-light__col h4{font-size:18px; color:var(--muted); font-weight:500; margin-bottom:26px}
.footer-light__col ul{list-style:none; margin:auto 0 0; padding:0; display:flex; flex-direction:column; gap:12px}
.footer-light__col li a{font-size:16px}
.footer-light__col li a:hover{color:var(--muted)}
.footer-light__col address{font-style:normal; font-size:16px; color:var(--gray); line-height:1.6; margin-top:auto}
.subrow{display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--hairline); padding:10px 0; margin-bottom:16px}
.subrow input{flex:1; border:none; background:transparent; font-family:inherit; font-size:16px; color:var(--ink); outline:none}
.subrow button{border:none; background:transparent; display:flex}
.subrow button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6}
.footer-legal{border-top:1px solid var(--hairline); margin-top:60px; padding-top:26px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:14px; color:var(--muted)}
.footer-disc{margin-top:18px; font-size:13px; color:var(--muted); line-height:1.6; max-width:900px}
.v-cinematic .footer-light{padding-left:88px}

/* =============================================================================
   CLASSIC HOME - HERO
   ============================================================================= */
.chero{position:relative; padding:150px 0 40px; min-height:600px}
.chero__grid{display:grid; grid-template-columns:1fr 323px; gap:40px}
.chero h1{font-size:clamp(56px,10.4vw,150px); line-height:.84; letter-spacing:-.05em; font-weight:500; max-width:970px}
.chero__eyebrow{margin-top:60px; display:inline-block; font-size:18px; font-weight:500; padding-bottom:8px; border-bottom:1px solid var(--ink)}
.chero__list{border-top:1px solid var(--hairline); margin-top:118px}
.chero__list a{display:flex; align-items:center; padding:12px 0; border-bottom:1px solid var(--hairline); font-size:20px; letter-spacing:-.01em}
.chero__list a .chev{margin-left:auto; width:22px;height:22px}
.chero__list a:hover{color:var(--muted)}

/* classic category text columns */
.catcols{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.catcols__c{padding:44px 40px 44px 0}
.catcols__c h3{font-size:20px; margin-bottom:16px}
.catcols__c p{font-size:16px; color:var(--gray); line-height:1.55}

/* classic company band */
.company{position:relative; padding:70px 0}
.company__grid{display:grid; grid-template-columns:1fr 675px; gap:40px; align-items:start}
.company__tag{margin-bottom:26px}
.company h2{font-size:30px; line-height:1.12; letter-spacing:-.02em; max-width:430px; margin-bottom:26px}
.company__estabrow{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:70px; max-width:520px}
.company__estab .k{font-size:16px; color:var(--muted)}
.company__estab .num{font-size:76px; line-height:1; letter-spacing:-.03em}
.company__estabrow p{font-size:16px; color:var(--gray); line-height:1.5}
.company__photo{height:420px; overflow:hidden}
.company__photo img{width:100%;height:100%;object-fit:cover}
.hatch{position:absolute; top:0; bottom:0; width:80px; z-index:0; background:repeating-linear-gradient(-45deg,var(--hairline) 0 1px,transparent 1px 9px); opacity:.7}
.hatch--l{left:0}.hatch--r{right:0}

/* classic project carousel */
.carousel{overflow:hidden; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.carousel__track{display:flex; will-change:transform}
.carousel__slide{flex:0 0 365px; height:469px; position:relative; overflow:hidden; border-right:1px solid rgba(255,255,255,.15)}
.carousel__slide img{width:100%;height:100%;object-fit:cover}
.carousel__slide figcaption{position:absolute; left:26px; bottom:24px; color:#fff; font-size:24px; letter-spacing:-.02em; max-width:70%; text-shadow:0 1px 20px rgba(0,0,0,.4)}

/* classic services band */
.services-classic{position:relative; padding:120px 0 0; overflow:hidden}
.services-classic__blue{top:60px; left:2%; width:520px; height:420px}
.services-classic__grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; position:relative; z-index:1}
.services-classic__ghost{font-family:var(--serif); font-style:italic; font-weight:400; font-size:48px; color:#cfcfcb; margin:120px 0 40px}
.accordion{border-top:1px solid var(--hairline)}
.acc-item{border-bottom:1px solid var(--hairline)}
.acc-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 4px; background:transparent; border:none; font-family:inherit; font-size:20px; letter-spacing:-.01em; color:var(--ink); text-align:left}
.acc-q .pm{position:relative; width:20px; height:20px; flex:none}
.acc-q .pm::before,.acc-q .pm::after{content:""; position:absolute; background:var(--ink); transition:transform .3s var(--e)}
.acc-q .pm::before{left:0; top:9px; width:20px; height:1.5px}
.acc-q .pm::after{left:9px; top:0; width:1.5px; height:20px}
.acc-q[aria-expanded="true"] .pm::after{transform:scaleY(0)}
.acc-a{max-height:0; overflow:hidden; transition:max-height .4s var(--e)}
.acc-a__inner{padding:0 4px 24px; font-size:16px; color:var(--gray); line-height:1.6; max-width:90%}

/* classic quote band */
.quoteband{padding:120px 0}
.quoteband__grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
.quoteband p{font-size:clamp(24px,3vw,42px); line-height:1.14; letter-spacing:-.02em}
.quoteband .ph{height:420px; overflow:hidden}
.quoteband .ph img{width:100%;height:100%;object-fit:cover}

/* stat rows (odometer) */
.statrow{padding:100px 0; position:relative}
.statrow__grid{display:grid; grid-template-columns:repeat(3,1fr)}
.statcell{padding:0 40px; border-right:1px solid var(--hairline)}
.statcell:first-child{padding-left:0}
.statcell:last-child{border-right:none}
.statcell__k{font-size:16px; color:var(--muted); padding-bottom:20px; border-bottom:1px solid var(--hairline); margin-bottom:24px; display:block}
.statcell__n{font-size:clamp(80px,10.4vw,150px); line-height:.9; letter-spacing:-.04em; font-weight:500}
.statcell--big .statcell__n{font-size:clamp(110px,17vw,250px)}
.statcell p{font-size:16px; color:var(--gray); line-height:1.5; margin-top:20px}

/* classic team band */
.teamband{padding:120px 0}
.teamband__top{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:60px; align-items:end}
.teamband__ghost{font-family:var(--serif); font-style:italic; font-weight:400; font-size:48px; color:#cfcfcb}
.teamgrid{display:grid; grid-template-columns:1fr 1fr}
.member{display:grid; grid-template-columns:225px 1fr; gap:30px; padding:40px 40px 40px 0; border-top:1px solid var(--hairline); border-right:1px solid var(--hairline)}
.member:nth-child(even){border-right:none; padding-left:40px}
.member__ph{height:373px; overflow:hidden}
.member__ph img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:24px; margin-bottom:6px}
.member .role{font-size:16px; color:var(--muted); margin-bottom:26px}
.member .con{font-size:15px; color:var(--gray); line-height:1.7}

/* classic awards band */
.awardsband{background:var(--paper-gray); padding:100px 0; position:relative}
.awardsband__grid{display:grid; grid-template-columns:1fr 1fr; gap:60px}
.awardsband__ghost{font-family:var(--serif); font-style:italic; font-weight:400; font-size:44px; color:#c3c3bf; margin:24px 0 34px}
.awardsband__intro{font-size:16px; color:var(--gray); line-height:1.6; max-width:300px}
.awardrows{border-top:1px solid rgba(0,0,0,.12)}
.awardrow{display:flex; justify-content:space-between; align-items:center; padding:24px 0; border-bottom:1px solid rgba(0,0,0,.12); font-size:20px; letter-spacing:-.01em}
.awardrow .yr{color:var(--ink)}
.awardsband .viewmore{display:flex; justify-content:flex-end; margin-top:24px}

/* insight cards */
.insight{padding:110px 0}
.insight__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:40px}
.icard__img{height:250px; overflow:hidden; margin-bottom:22px}
.icard__img img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--e)}
.icard:hover img{transform:scale(1.04)}
.icard__meta{font-size:14px; color:var(--muted); margin-bottom:10px}
.icard h3{font-size:24px; line-height:1.12; letter-spacing:-.02em}
.insight__viewmore{margin-top:40px}

/* logo wall */
.logowall{padding:70px 0 100px}
.logowall__grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline)}
.logocell{background:var(--paper); aspect-ratio:2/1; display:flex; align-items:center; justify-content:center}
.logocell svg{width:96px; height:56px; stroke:var(--ink); fill:none; stroke-width:1.4}

/* footer dark (classic + inner) */
.footer-dark{background:var(--dark); color:#fff; position:relative; overflow:hidden}
.footer-dark__top{padding:120px 0 90px; position:relative; z-index:1}
.footer-dark__ghost{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(30px,5vw,60px); color:rgba(255,255,255,.16); margin-bottom:40px}
.footer-dark__cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; align-items:start}
.footer-dark__cols h4{font-size:18px; color:rgba(255,255,255,.55); font-weight:500; margin-bottom:26px}
.footer-dark__cols ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px}
.footer-dark__cols a:hover{color:rgba(255,255,255,.6)}
.footer-dark address{font-style:normal; line-height:1.7; color:rgba(255,255,255,.8)}
.footer-dark__bottom{border-top:1px solid rgba(255,255,255,.14); padding:26px 0; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:14px; color:rgba(255,255,255,.5); position:relative; z-index:1}
.footer-dark__disc{padding:0 0 30px; font-size:13px; color:rgba(255,255,255,.4); line-height:1.6; max-width:920px; position:relative; z-index:1}

/* =============================================================================
   INNER: ABOUT
   ============================================================================= */
.about-hero{position:relative; height:560px; display:flex; align-items:flex-end; overflow:hidden}
.about-hero__bg{position:absolute; inset:0}
.about-hero__bg img{width:100%;height:100%;object-fit:cover}
.about-hero__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,.35) 50%,rgba(10,10,11,.7))}
.about-hero__creditwrap{position:absolute; top:120px; left:0; width:100%; z-index:1}
.about-hero__credit{color:rgba(255,255,255,.85); font-size:15px}
.about-hero__inner{position:relative; z-index:1; padding-bottom:50px; width:100%}
.about-hero h1{color:#fff; font-size:clamp(56px,7vw,100px); line-height:.9; letter-spacing:-.04em; font-weight:500}
.intro-band{padding:120px 0}
.intro-band__lead{font-size:clamp(28px,3.4vw,50px); line-height:1.12; letter-spacing:-.03em; margin-bottom:80px}
.intro-band__split{display:grid; grid-template-columns:330px 1fr; gap:60px; align-items:start}
.quoteblock{font-size:16px; color:var(--gray); line-height:1.6}
.quoteblock .q{font-style:italic; margin-bottom:24px}
.quoteblock hr{border:none; border-top:1px solid var(--hairline); margin:20px 0}
.quoteblock .nm{font-size:18px; color:var(--ink); font-style:normal}
.quoteblock .rl{font-size:14px; color:var(--muted)}
.intro-band__photo{height:590px; overflow:hidden}
.intro-band__photo img{width:100%;height:100%;object-fit:cover}
.photostrip{display:grid; grid-template-columns:1.4fr .5fr 1fr .4fr; height:520px}
.photostrip>*{overflow:hidden}
.photostrip img{width:100%;height:100%;object-fit:cover}
.photostrip .blk{background:var(--dark)}

/* awarded band (about) */
.awarded{padding:110px 0; position:relative; overflow:hidden}
.awarded__grid{display:grid; grid-template-columns:1fr 1fr; gap:60px}
.awarded__blue{top:120px; right:2%; width:560px; height:420px}
.awarded h2{font-size:50px; letter-spacing:-.03em; line-height:1.02; margin:30px 0 40px}
.awarded__close{font-size:16px; color:var(--gray); line-height:1.6; margin-top:40px; max-width:520px}

/* roster list (about) */
.roster{padding:120px 0}
.roster__grid{display:grid; grid-template-columns:330px 1fr 355px; gap:40px; align-items:start}
.roster__label{padding-top:6px}
.roster__names{display:flex; flex-direction:column; gap:4px}
.roster__name{font-size:clamp(34px,4.4vw,60px); line-height:1.05; letter-spacing:-.03em; color:#c9c9c5; cursor:pointer; transition:color .3s; display:flex; align-items:baseline; gap:16px}
.roster__name.is-active,.roster__name:hover{color:var(--ink)}
.roster__name .rl{font-size:16px; color:var(--muted); letter-spacing:0}
.roster__portrait{position:sticky; top:120px; height:435px; overflow:hidden}
.roster__portrait img{width:100%;height:100%;object-fit:cover; position:absolute; inset:0; opacity:0; transition:opacity .4s var(--e)}
.roster__portrait img.is-active{opacity:1}
.cta-photo{height:600px; overflow:hidden; position:relative}
.cta-photo img{width:100%;height:100%;object-fit:cover}

/* =============================================================================
   INNER: PROJECTS SHOWCASE
   ============================================================================= */
.showhero{padding:150px 0 40px; text-align:center}
.showhero h1{font-size:clamp(56px,10.4vw,150px); line-height:.84; letter-spacing:-.05em; font-weight:500}
.showhero__sub{font-size:16px; color:var(--gray); max-width:520px; margin:30px auto 0; line-height:1.6}
.showhero__row{display:flex; justify-content:space-between; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:20px 0; margin-top:60px; font-size:16px}
.works{padding:60px 0}
.works__grid{columns:3; column-gap:24px}
.workcard{break-inside:avoid; margin-bottom:44px}
.workcard__img{overflow:hidden; margin-bottom:18px}
.workcard__img img{width:100%; display:block; transition:transform .7s var(--e)}
.workcard:hover img{transform:scale(1.04)}
.workcard h3{font-size:20px; margin-bottom:4px}
.workcard .cat{font-size:16px; color:var(--muted)}
.workcard .yr{font-size:16px; color:var(--muted)}
.closinglead{padding:100px 0}
.closinglead p{font-size:clamp(36px,5.3vw,76px); line-height:1.02; letter-spacing:-.04em; font-weight:500}
.closinglead .ulink{margin-top:40px; font-size:18px}

/* =============================================================================
   CONTACT
   ============================================================================= */
.contact-hero{padding:150px 0 30px}
.contact-hero h1{font-size:clamp(56px,10.4vw,150px); line-height:.84; letter-spacing:-.05em; font-weight:500}
.contact-hero .chero__eyebrow{margin-top:40px}
.contact-body{padding:80px 0 120px}
.contact-grid{display:grid; grid-template-columns:1fr 420px; gap:80px; align-items:start}
.contact-form{display:flex; flex-direction:column; gap:0}
.finput{border:none; border-bottom:1px solid var(--hairline); background:transparent; font-family:inherit; font-size:18px; color:var(--ink); padding:18px 0; outline:none; width:100%}
.finput::placeholder{color:var(--muted)}
.finput:focus{border-color:var(--ink)}
.contact-form textarea{resize:vertical; min-height:120px}
.contact-form .row2{display:grid; grid-template-columns:1fr 1fr; gap:30px}
.contact-form .actions{margin-top:34px}
.form-success{display:none; padding:22px; background:var(--paper-warm); font-size:16px; margin-top:20px}
.form-success.show{display:block}
.contact-info h4{font-size:16px; color:var(--muted); font-weight:500; margin-bottom:8px}
.contact-info .blk{padding:24px 0; border-bottom:1px solid var(--hairline)}
.contact-info .big{font-size:22px; letter-spacing:-.01em}

.mono-note{font-size:13px; color:var(--muted); margin-top:14px}

/* =============================================================================
   REVEALS
   ============================================================================= */
.reveal{opacity:0; transform:translateY(34px); transition:opacity .8s var(--e),transform .8s var(--e)}
.reveal.in{opacity:1; transform:none}
.reveal[style*="--d"]{transition-delay:calc(var(--d,0)*.08s)}

/* =============================================================================
   MEGAMENU (classic + inner-light headers only; strict monochrome)
   ============================================================================= */
.mega{position:static; display:flex; align-items:center}
.mega__trigger{display:inline-flex; align-items:center; gap:7px; background:transparent; border:none; padding:4px 0; font-family:inherit; font-size:16px; font-weight:500; letter-spacing:.01em; text-transform:uppercase; color:inherit; position:relative}
.v-inner-dark .mega__trigger{color:#fff}
.mega__trigger::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:currentColor; transition:width var(--dur) var(--e)}
.mega[data-mega].open .mega__trigger::after,.mega__trigger.is-current::after,.mega__trigger:hover::after{width:100%}
.mega__chev{display:inline-flex; width:14px; height:14px; transition:transform .3s var(--e)}
.mega__chev svg{width:14px;height:14px}
.mega[data-mega].open .mega__chev{transform:rotate(180deg)}
.mega__trigger:focus-visible{outline:2px solid var(--ink); outline-offset:4px}

.mega__panel{position:absolute; left:0; right:0; top:100%; background:var(--paper-warm); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
  opacity:0; visibility:hidden; transform:translateY(-12px); pointer-events:none;
  transition:opacity .3s var(--e),transform .3s var(--e),visibility .3s; box-shadow:0 30px 60px -30px rgba(10,10,11,.22); z-index:70}
.mega[data-mega].open .mega__panel{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto}
.mega__panel .wrap{max-width:1890px}
.mega__grid{display:grid; grid-template-columns:1.2fr 1.3fr 1fr; padding:56px 0 60px}
.mega__col{padding:0 56px; border-left:1px solid var(--hairline)}
.mega__col:first-child{padding-left:0; border-left:none}
.mega__h{display:block; font-size:14px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:26px}
.mega__svc{list-style:none; margin:0; padding:0}
.mega__svc li{border-bottom:1px solid var(--hairline)}
.mega__svc li:first-child{border-top:1px solid var(--hairline)}
.mega__svc a{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:15px 2px; font-size:26px; letter-spacing:-.01em; color:var(--ink)}
.mega__svc a .ital{transition:transform .3s var(--e)}
.mega__svc a svg{width:18px;height:18px; opacity:0; transform:translate(-6px,6px); transition:opacity .3s var(--e),transform .3s var(--e)}
.mega__svc a:hover .ital{transform:translateX(8px)}
.mega__svc a:hover svg{opacity:1; transform:none}
.mega__work{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.mega__thumb{display:flex; flex-direction:column; gap:12px}
.mega__thumbimg{height:150px; overflow:hidden; display:block}
.mega__thumbimg img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--e)}
.mega__thumb:hover .mega__thumbimg img{transform:scale(1.05)}
.mega__cap b{display:block; font-size:16px; font-weight:500}
.mega__cap i{display:block; font-size:14px; color:var(--muted); font-style:normal; margin-top:3px}
.mega__links{list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:2px}
.mega__links a{display:inline-block; font-size:19px; letter-spacing:-.01em; padding:7px 0; color:var(--ink); position:relative; transition:padding-left .3s var(--e)}
.mega__links a:hover{padding-left:10px; color:var(--muted)}
.mega__loc{font-size:14px; color:var(--muted); line-height:1.6}
.mega__loc a:hover{color:var(--ink)}

/* offcanvas accordion group (mobile mega replacement) */
.oc-acc{margin:14px 0 6px; border-top:1px solid rgba(255,255,255,.16)}
.oc-acc__item{border-bottom:1px solid rgba(255,255,255,.16)}
.oc-acc__q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; background:transparent; border:none; font-family:inherit; font-size:22px; font-weight:500; letter-spacing:-.02em; color:#fff; text-align:left}
.oc-acc__q .pm{position:relative; width:18px; height:18px; flex:none}
.oc-acc__q .pm::before,.oc-acc__q .pm::after{content:""; position:absolute; background:#fff; transition:transform .3s var(--e)}
.oc-acc__q .pm::before{left:0; top:8px; width:18px; height:1.5px}
.oc-acc__q .pm::after{left:8px; top:0; width:1.5px; height:18px}
.oc-acc__q[aria-expanded="true"] .pm::after{transform:scaleY(0)}
.oc-acc .acc-a__inner{padding:0 0 18px; max-width:none}
.oc-acc__list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.oc-acc__list a{font-size:16px; color:rgba(255,255,255,.72)}
.oc-acc__list a:hover{color:#fff}

/* =============================================================================
   INNER HERO (light, shared by new inner pages)
   ============================================================================= */
.inhero{padding:170px 0 60px; position:relative}
.inhero__eyebrow{display:inline-flex; align-items:center; gap:14px; font-size:16px; font-weight:500; color:var(--muted); margin-bottom:30px}
.inhero__eyebrow::before{content:""; width:34px; height:1px; background:currentColor}
.inhero h1{font-size:clamp(56px,9vw,130px); line-height:.86; letter-spacing:-.05em; font-weight:500}
.inhero__sub{font-size:clamp(18px,1.6vw,22px); color:var(--gray); max-width:640px; margin-top:40px; line-height:1.5}

/* =============================================================================
   SERVICES (listing rows)
   ============================================================================= */
.svcrows{padding:40px 0 40px}
.svcrow{display:grid; grid-template-columns:64px 1fr 1.1fr; gap:44px; align-items:center; padding:56px 0; border-top:1px solid var(--hairline); color:var(--ink)}
.svcrow:last-child{border-bottom:1px solid var(--hairline)}
.svcrow__num{font-size:16px; color:var(--muted); padding-top:6px; align-self:start}
.svcrow__img{height:340px; overflow:hidden}
.svcrow__img img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--e)}
.svcrow:hover .svcrow__img img{transform:scale(1.04)}
.svcrow__txt h2{font-size:clamp(30px,3vw,44px); line-height:1; letter-spacing:-.03em}
.svcrow__one{font-size:24px; color:#c3c3bf; margin:14px 0 20px}
.svcrow__body{font-size:16px; color:var(--gray); line-height:1.6; max-width:520px}
.svcrow__more{display:inline-flex; align-items:center; gap:8px; margin-top:24px; font-size:16px; font-weight:500}
.svcrow__more svg{width:18px;height:18px; transition:transform .3s var(--e)}
.svcrow:hover .svcrow__more svg{transform:translate(3px,-3px)}

/* =============================================================================
   SERVICE DETAIL
   ============================================================================= */
.svcd-title{padding:20px 0 40px}
.svcd-title__row{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:30px 0; border-bottom:1px solid var(--hairline)}
.svcd-title__sl{font-size:16px; color:var(--muted)}
.svcd-title__big{font-size:clamp(40px,6vw,86px); line-height:.94; letter-spacing:-.03em; text-align:center}
.svcd-title__next{justify-self:end; font-size:16px; color:var(--muted)}
.svcd-title__next:hover{color:var(--ink)}
.svcd-intro{padding:80px 0}
.svcd-intro__grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center}
.svcd-intro h2{font-size:clamp(30px,3.4vw,50px); line-height:1.02; letter-spacing:-.03em; margin-bottom:26px}
.svcd-intro__lead{font-size:17px; color:var(--gray); line-height:1.65; max-width:520px}
.svcd-tags{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px}
.svcd-tag{border:1px solid var(--hairline); border-radius:var(--r-pill); padding:9px 20px; font-size:15px; color:var(--gray)}
.svcd-intro__img{height:520px; overflow:hidden}
.svcd-intro__img img{width:100%;height:100%;object-fit:cover}
.svcd-dark{background:var(--dark); color:#fff; padding:110px 0}
.svcd-feat{display:grid; grid-template-columns:repeat(3,1fr)}
.svcd-feat__c{padding:0 44px; border-left:1px solid rgba(255,255,255,.14)}
.svcd-feat__c:first-child{padding-left:0; border-left:none}
.svcd-feat__ico{display:block; margin-bottom:120px}
.svcd-feat__ico svg{width:56px;height:56px;stroke:#fff;fill:none;stroke-width:1.2}
.svcd-feat__c h3{font-size:26px; letter-spacing:-.02em; margin-bottom:16px; line-height:1.05}
.svcd-feat__c p{font-size:15px; color:rgba(255,255,255,.6); line-height:1.6}
.svcd-stats{display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid rgba(255,255,255,.14); padding-top:50px}
.svcd-stats__tag{display:flex; align-items:flex-start}
.svcd-stat__k{font-size:15px; color:rgba(255,255,255,.55); display:block; margin-bottom:20px}
.svcd-stat__n{font-size:clamp(60px,7vw,110px); line-height:.9; letter-spacing:-.04em; color:#fff}
.svcd-stat p{font-size:15px; color:rgba(255,255,255,.6); line-height:1.6; margin-top:20px; max-width:300px}
.svcd-process{padding:110px 0}
.svcd-process__head{margin-bottom:60px; display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:end}
.svcd-process__grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--hairline)}
.procstep{padding:34px 30px 40px 0; border-right:1px solid var(--hairline)}
.procstep:last-child{border-right:none}
.procstep__n{font-size:16px; color:var(--muted); display:block; margin-bottom:70px}
.procstep h3{font-size:24px; letter-spacing:-.02em; margin-bottom:14px}
.procstep p{font-size:15px; color:var(--gray); line-height:1.6}

/* =============================================================================
   PROJECT DETAIL
   ============================================================================= */
.pd-hero{padding:150px 0 36px}
.pd-hero__eyebrow{display:inline-block; font-size:16px; color:var(--muted); margin-bottom:28px}
.pd-hero h1{font-size:clamp(44px,7.2vw,104px); line-height:.9; letter-spacing:-.04em; font-weight:500}
.pd-hero h1 .ital{color:#c3c3bf}
.pd-hero__row{display:flex; justify-content:space-between; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:20px 0; margin-top:48px; font-size:16px}
.pd-cover{height:640px; overflow:hidden}
.pd-cover img{width:100%;height:100%;object-fit:cover}
.pd-lead{padding:100px 0 80px}
.pd-lead p{font-size:clamp(26px,3.2vw,46px); line-height:1.14; letter-spacing:-.02em; max-width:1100px}
.pd-lead .ghost{color:#c3c3bf}
.pd-info{padding:0 0 100px}
.pd-info__grid{display:grid; grid-template-columns:1fr 1fr; gap:80px}
.pd-info__row{display:grid; grid-template-columns:150px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--hairline)}
.pd-info__row:first-child{border-top:1px solid var(--hairline)}
.pd-info__row .k{font-size:15px; color:var(--muted)}
.pd-info__row .v{font-size:17px; color:var(--ink)}
.pd-info__over h3{font-size:20px; margin-bottom:24px; font-weight:500}
.pd-info__over p{font-size:16px; color:var(--gray); line-height:1.7; margin-bottom:20px; max-width:520px}
.pd-gallery{padding:0 0 100px}
.pd-gallery__full{height:660px; overflow:hidden; margin-bottom:26px}
.pd-gallery__full img{width:100%;height:100%;object-fit:cover}
.pd-gallery__two{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-bottom:26px}
.pd-gallery__two>div{height:520px; overflow:hidden}
.pd-gallery__two img{width:100%;height:100%;object-fit:cover}
.pd-next{display:block; background:var(--paper-warm); border-top:1px solid var(--hairline); padding:70px 0}
.pd-next__row{display:flex; align-items:center; justify-content:space-between; gap:40px}
.pd-next__label{font-size:15px; color:var(--muted); display:block; margin-bottom:14px}
.pd-next h2{display:inline-flex; align-items:center; gap:18px; font-size:clamp(34px,5vw,72px); line-height:.95; letter-spacing:-.03em}
.pd-next h2 svg{width:36px;height:36px; transition:transform .35s var(--e)}
.pd-next:hover h2 svg{transform:translate(6px,-6px)}
.pd-next__thumb{width:200px; height:150px; overflow:hidden; flex:none}
.pd-next__thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--e)}
.pd-next:hover .pd-next__thumb img{transform:scale(1.05)}

/* =============================================================================
   BLOG (journal)
   ============================================================================= */
.blogfeat{padding:30px 0 70px}
.blogfeat__card{display:grid; grid-template-columns:1.15fr 1fr; gap:60px; align-items:center; color:var(--ink)}
.blogfeat__img{height:460px; overflow:hidden}
.blogfeat__img img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--e)}
.blogfeat__card:hover .blogfeat__img img{transform:scale(1.04)}
.blogfeat__meta{font-size:14px; color:var(--muted); margin-bottom:22px; letter-spacing:.01em}
.blogfeat__txt h2{font-size:clamp(30px,3.6vw,52px); line-height:1.03; letter-spacing:-.03em; margin-bottom:22px}
.blogfeat__txt p{font-size:17px; color:var(--gray); line-height:1.6; max-width:460px}
.blogfeat__more{display:inline-flex; align-items:center; gap:8px; margin-top:30px; font-size:16px; font-weight:500}
.blogfeat__more svg{width:18px;height:18px; transition:transform .3s var(--e)}
.blogfeat__card:hover .blogfeat__more svg{transform:translate(3px,-3px)}
.bloglist{padding:0 0 110px; border-top:1px solid var(--hairline)}
.bloglist__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; padding-top:60px}
.blogcard{display:block; color:var(--ink)}
.blogcard__img{height:260px; overflow:hidden; margin-bottom:22px}
.blogcard__img img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--e)}
.blogcard:hover .blogcard__img img{transform:scale(1.04)}
.blogcard__meta{font-size:14px; color:var(--muted); margin-bottom:12px}
.blogcard h3{font-size:23px; line-height:1.12; letter-spacing:-.02em; margin-bottom:12px}
.blogcard p{font-size:15px; color:var(--gray); line-height:1.6}

/* =============================================================================
   BLOG POST
   ============================================================================= */
.post-hero{padding:150px 0 40px}
.post-hero__cat{display:block; margin-bottom:30px}
.post-hero h1{font-size:clamp(38px,5.6vw,80px); line-height:.98; letter-spacing:-.03em; font-weight:500; max-width:1100px}
.post-hero__meta{display:flex; flex-wrap:wrap; gap:30px; margin-top:40px; padding-top:24px; border-top:1px solid var(--hairline); font-size:16px; color:var(--muted)}
.post-cover{height:600px; overflow:hidden}
.post-cover img{width:100%;height:100%;object-fit:cover}
.post-body{padding:90px 0 40px}
.post-body__col{max-width:760px; margin:0 auto}
.post-body__col h2{font-size:clamp(26px,3vw,38px); line-height:1.08; letter-spacing:-.02em; margin:44px 0 20px}
.post-body__col p{font-size:19px; color:#333; line-height:1.7; margin-bottom:26px}
.post-body__col blockquote{margin:44px 0; padding:8px 0 8px 34px; border-left:2px solid var(--ink)}
.post-body__col blockquote p{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(26px,3.2vw,40px); line-height:1.2; color:var(--ink); letter-spacing:0; margin-bottom:16px}
.post-body__col blockquote cite{font-style:normal; font-size:15px; color:var(--muted)}
.post-share{display:flex; align-items:center; gap:24px; margin-top:50px; padding-top:26px; border-top:1px solid var(--hairline); font-size:15px}
.post-share span{color:var(--muted)}
.post-share a{position:relative}
.post-share a:hover{color:var(--muted)}
.post-related{padding:80px 0}
.post-related .label{margin-bottom:34px}
.post-related__grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:34px}
.post-reply{padding:40px 0 120px}
.post-reply h2{font-size:clamp(28px,3.2vw,44px); letter-spacing:-.03em; margin-bottom:36px}
.reply-form{max-width:760px}
.reply-form .row2{display:grid; grid-template-columns:1fr 1fr; gap:30px}
.reply-form textarea{min-height:140px; resize:vertical}
.reply-form .actions{margin-top:30px}

/* =============================================================================
   TEAM PAGE
   ============================================================================= */
.team-lead{padding:60px 0 40px}
.team-lead .label{margin-bottom:40px}
.team-lead__grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:36px}
.leadcard__ph{height:560px; overflow:hidden; margin-bottom:26px}
.leadcard__ph img{width:100%;height:100%;object-fit:cover; transition:transform .8s var(--e)}
.leadcard:hover .leadcard__ph img{transform:scale(1.03)}
.leadcard__meta h3{font-size:30px; letter-spacing:-.02em}
.leadcard__meta .role{font-size:16px; color:var(--muted); margin-top:6px; display:block}
.team-all{padding:70px 0 90px}
.team-all .label{margin-bottom:40px}
.team-all__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px 30px; margin-top:36px}
.tmember__ph{height:330px; overflow:hidden; margin-bottom:20px}
.tmember__ph img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--e)}
.tmember:hover .tmember__ph img{transform:scale(1.04)}
.tmember h3{font-size:21px; letter-spacing:-.01em}
.tmember .role{font-size:15px; color:var(--muted); margin-top:4px; display:block}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */
@media(max-width:1200px){
  :root{--gutter:40px}
  .gridlines,.hatch{display:none}
  .footer-dark__cols{grid-template-columns:1fr 1fr}
}
/* inner-light: no burger on desktop (chrome rule), mobile burger for menu access */
.v-inner-light .burger-circle--m{display:none}
@media(max-width:1000px){
  .hd-nav{display:none}
  .v-inner-light .burger-circle--m{display:flex}
  .gallery__grid{grid-template-columns:1fr; gap:40px}
  .gallery__meta{border-right:none; padding-right:0}
  .gallery__photos{padding-left:0}
  .expertise__grid,.studioband__grid,.company__grid,.idxslider__wrap,.services-classic__grid,
  .quoteband__grid,.teamband__top,.awardsband__grid,.awarded__grid,.intro-band__split,
  .roster__grid,.contact-grid,.chero__grid,
  .svcd-intro__grid,.pd-info__grid,.blogfeat__card,.svcd-process__head{grid-template-columns:1fr; gap:40px}
  .idxslider__card{border-left:none; padding:30px 0}
  .catstrip,.catcols,.statrow__grid,.insight__grid,.teamgrid,.footer-light__grid,.footer-dark__cols{grid-template-columns:1fr}
  .catcell,.catcols__c,.statcell,.footer-light__col{border-right:none; border-bottom:1px solid var(--hairline)}
  .member{grid-template-columns:1fr; border-right:none}
  .member:nth-child(even){padding-left:0}
  .logowall__grid{grid-template-columns:repeat(2,1fr)}
  .works__grid{columns:2}
  .diptych{height:auto; grid-template-columns:1fr}
  .diptych>div{height:360px}
  .studioband__mid .ph{margin-bottom:34px}
  .statcell{padding:0 0 40px}
  .roster__portrait{display:none}
  /* new inner pages */
  .svcrow{grid-template-columns:1fr; gap:24px; padding:44px 0}
  .svcrow__num{display:none}
  .svcrow__img{height:300px}
  .svcd-feat{grid-template-columns:1fr; gap:50px}
  .svcd-feat__c{padding-left:0; border-left:none}
  .svcd-feat__ico{margin-bottom:26px}
  .svcd-stats{grid-template-columns:1fr; gap:44px}
  .svcd-process__grid{grid-template-columns:1fr 1fr}
  .svcd-title__row{grid-template-columns:1fr; gap:14px; text-align:left}
  .svcd-title__big{text-align:left}
  .svcd-title__next{justify-self:start}
  .pd-info__over p,.svcrow__body{max-width:none}
  .pd-gallery__two{grid-template-columns:1fr}
  .pd-gallery__two>div{height:360px}
  .pd-gallery__full{height:420px}
  .pd-cover{height:420px}
  .pd-next__row{flex-direction:column; align-items:flex-start; gap:30px}
  .bloglist__grid{grid-template-columns:1fr 1fr}
  .post-related__grid,.reply-form .row2{grid-template-columns:1fr}
  .post-cover{height:400px}
  .team-lead__grid{gap:30px}
  .team-all__grid{grid-template-columns:repeat(2,1fr)}
  .leadcard__ph{height:440px}
}
@media(max-width:720px){
  :root{--gutter:20px}
  .site-header{height:70px}
  .award-rail{display:none}
  .rail-pad,.v-cinematic .footer-light,.v-cinematic .hd-left{padding-left:0}
  .v-cinematic .site-header .wrap{grid-template-columns:auto 1fr auto; padding:0 16px}
  .v-cinematic .brand-word{justify-self:start}
  .v-cinematic .btn-pill--white{padding:12px 18px}
  .meta-line{display:none}
  .works__grid{columns:1}
  .photostrip{grid-template-columns:1fr 1fr; height:auto}
  .photostrip>*{height:220px}
  .contact-form .row2{grid-template-columns:1fr}
  .minipage__spec{position:static; transform:none; width:auto; margin:20px}
  .zoomhero{height:auto!important}
  .zoomhero__sticky{position:static; height:auto}
  .zoomhero__stage{padding:0; height:auto}
  .zoomhero__page{transform:none!important; width:100%}
  .minipage__top{padding:96px 20px 50px}
  .minipage h1{font-size:64px}
  .minipage__sub{font-size:26px}
  .minipage__photo{height:auto}
  .minipage__photo img{height:360px}
  .svcd-process__grid{grid-template-columns:1fr}
  .procstep{border-right:none; border-bottom:1px solid var(--hairline); padding:28px 0}
  .team-all__grid{grid-template-columns:1fr 1fr; gap:26px 18px}
  .bloglist__grid{grid-template-columns:1fr}
  .reply-form .row2,.pd-info__grid{gap:0}
  .team-lead__grid{grid-template-columns:1fr}
  .leadcard__ph{height:420px}
  .post-body__col p{font-size:17px}
}

/* =============================================================================
   V-MINIMAL SKIN - "Architecture Minimal" variant home (componentized).
   Namespaced under body.v-minimal so every other page stays byte-identical.
   Mirrors the reference band order/geometry: centered hero + contained wide
   photo, company split, two count-up stat trios, horizontal project rail,
   two-list services + plan card, team, journal, contact close.
   ============================================================================= */
body.v-minimal{background:var(--paper); color:var(--ink)}
.v-minimal .wrap{max-width:1290px; padding:0 55px}

/* sticky white header, cell dividers, logo left | nav | let's talk + burger */
.v-minimal .site-header--min{position:sticky; top:0; height:80px; background:var(--paper); border-bottom:1px solid var(--hairline); z-index:70}
.v-minimal .site-header--min .wrap{max-width:1440px; padding:0; display:flex; align-items:stretch; gap:0; height:100%}
.v-minimal .site-header--min .brand-word{display:flex; align-items:center; padding:0 34px; border-right:1px solid var(--hairline); font-size:21px}
.v-minimal .site-header--min .hd-nav{display:flex; align-items:center; gap:30px; margin-left:40px}
.v-minimal .site-header--min .hd-nav a,.v-minimal .site-header--min .mega__trigger{font-size:14px; letter-spacing:.03em}
.v-minimal .site-header--min .hd-right{margin-left:auto; display:flex; align-items:stretch}
.v-minimal .site-header--min .hd-right .ulink{display:flex; align-items:center; padding:0 30px; border-left:1px solid var(--hairline); font-size:14px; text-transform:uppercase; letter-spacing:.04em; font-weight:600}
.v-minimal .site-header--min .hd-right .ulink::after{bottom:26px; width:auto; left:30px; right:30px}
.v-minimal .site-header--min .burger-circle{align-self:center; margin:0 22px 0 26px; border:none; width:30px; height:30px}
.v-minimal .site-header--min .mega__panel{top:80px}

/* HERO ------------------------------------------------------------------ */
.v-minimal .min-hero{position:relative; padding:28px 0 0; background:
  repeating-linear-gradient(135deg, transparent 0 21px, rgba(20,20,22,.016) 21px 22px)}
.v-minimal .min-hero__head{max-width:1180px; margin:0 auto; border:1px solid var(--hairline); border-bottom:none; padding:40px 40px 44px; text-align:center}
.v-minimal .min-hero__head h1{font-size:clamp(42px,5.6vw,80px); line-height:.86; letter-spacing:-.045em; font-weight:500}
.v-minimal .min-hero__lead{max-width:440px; margin:22px auto 0; font-size:16px; line-height:1.45; color:var(--muted)}
.v-minimal .min-hero__img{max-width:1180px; margin:0 auto; aspect-ratio:1180/650; overflow:hidden; border:1px solid var(--hairline)}
.v-minimal .min-hero__img img{width:100%; height:100%; object-fit:cover}

/* INTRO / COMPANY ------------------------------------------------------- */
.v-minimal .min-intro{padding:120px 0}
.v-minimal .min-intro__grid{display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:start}
.v-minimal .min-intro__head .tagchip{margin-bottom:26px}
.v-minimal .min-intro__head h2{font-size:clamp(30px,3.4vw,50px); line-height:1.04; letter-spacing:-.03em}
.v-minimal .min-intro__body p{font-size:16px; line-height:1.6; color:var(--gray)}
.v-minimal .min-intro__body p+p{margin-top:22px}
.v-minimal .min-intro__body .ulink{margin-top:34px}

/* STAT TRIO (count-ups) ------------------------------------------------- */
.v-minimal .min-stats{padding:0 0 40px}
.v-minimal .min-stats__grid{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--hairline)}
.v-minimal .min-stat{padding:52px 44px 60px; border-right:1px solid var(--hairline)}
.v-minimal .min-stat:first-child{padding-left:0}
.v-minimal .min-stat:last-child{border-right:none; padding-right:0}
.v-minimal .min-stat__n{font-size:clamp(72px,9vw,130px); line-height:.86; letter-spacing:-.05em; font-weight:500}
.v-minimal .min-stat p{margin-top:22px; font-size:16px; line-height:1.5; color:var(--gray); max-width:280px}

/* PROJECT RAIL (horizontal scroll) -------------------------------------- */
.v-minimal .min-projects{padding:80px 0 120px}
.v-minimal .min-projects__rail{display:flex; gap:34px; overflow-x:auto; padding:0 55px 20px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.v-minimal .min-projects__rail::-webkit-scrollbar{height:2px}
.v-minimal .min-projects__rail::-webkit-scrollbar-thumb{background:var(--hairline)}
.v-minimal .min-proj{flex:0 0 clamp(320px,42vw,600px); scroll-snap-align:start}
.v-minimal .min-proj__img{aspect-ratio:600/560; overflow:hidden; margin-bottom:24px}
.v-minimal .min-proj__img img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--e)}
.v-minimal .min-proj:hover .min-proj__img img{transform:scale(1.04)}
.v-minimal .min-proj__tag{font-size:14px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em}
.v-minimal .min-proj__title{font-size:clamp(24px,2.2vw,32px); line-height:1.04; letter-spacing:-.02em; margin:12px 0 22px}
.v-minimal .min-proj__meta{display:flex; gap:60px; border-top:1px solid var(--hairline); padding-top:20px}
.v-minimal .min-proj__meta .k{font-size:14px; color:var(--muted); display:block; margin-bottom:6px}
.v-minimal .min-proj__meta .v{font-size:16px}

/* SERVICES (two lists + plan card) -------------------------------------- */
.v-minimal .min-serv{padding:0 0 120px}
.v-minimal .min-serv__head{max-width:760px; margin-bottom:60px}
.v-minimal .min-serv__head .tagchip{margin-bottom:26px}
.v-minimal .min-serv__head h2{font-size:clamp(28px,3vw,44px); line-height:1.06; letter-spacing:-.03em}
.v-minimal .min-serv__grid{display:grid; grid-template-columns:1fr 1fr 1.1fr; gap:0; border-top:1px solid var(--hairline)}
.v-minimal .min-serv__col{padding:44px 44px 20px; border-right:1px solid var(--hairline)}
.v-minimal .min-serv__col:first-child{padding-left:0}
.v-minimal .min-serv__col h4{font-size:14px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-bottom:26px}
.v-minimal .min-serv__col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px}
.v-minimal .min-serv__col li{font-size:17px; border-bottom:1px solid var(--hairline); padding-bottom:14px}
.v-minimal .min-plan{padding:44px 0 20px 44px}
.v-minimal .min-plan__fig{position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--hairline); margin-bottom:26px; background:var(--paper-warm)}
.v-minimal .min-plan__fig .blueprint{position:absolute; inset:0; opacity:.85; width:100%; height:100%; padding:14px}
.v-minimal .min-plan__spec{display:grid; grid-template-columns:1fr 1fr; gap:20px 30px}
.v-minimal .min-plan__spec .k{font-size:14px; color:var(--muted); display:block; margin-bottom:4px}
.v-minimal .min-plan__spec .v{font-size:17px}
.v-minimal .min-plan__note{grid-column:1/-1; font-size:14px; color:var(--gray); border-top:1px solid var(--hairline); padding-top:18px; margin-top:4px}

/* TEAM ------------------------------------------------------------------ */
.v-minimal .min-team{padding:0 0 120px}
.v-minimal .min-team__head{display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:50px}
.v-minimal .min-team__head h2{font-size:clamp(28px,3vw,44px); line-height:1.06; letter-spacing:-.03em; max-width:520px}
.v-minimal .min-team__head .tagchip{margin-bottom:22px}
.v-minimal .min-team__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px}
.v-minimal .min-tm__ph{aspect-ratio:3/4; overflow:hidden; margin-bottom:20px}
.v-minimal .min-tm__ph img{width:100%; height:100%; object-fit:cover; transition:transform .7s var(--e)}
.v-minimal .min-tm:hover .min-tm__ph img{transform:scale(1.04)}
.v-minimal .min-tm h3{font-size:21px; letter-spacing:-.01em}
.v-minimal .min-tm .role{font-size:15px; color:var(--muted); margin-top:4px; display:block}

/* JOURNAL --------------------------------------------------------------- */
.v-minimal .min-journal{padding:0 0 120px}
.v-minimal .min-journal__head{display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:50px}
.v-minimal .min-journal__head h2{font-size:clamp(28px,3vw,44px); line-height:1.06; letter-spacing:-.03em; max-width:520px}
.v-minimal .min-journal__head .tagchip{margin-bottom:22px}
.v-minimal .min-journal__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px}

/* CONTACT CLOSE --------------------------------------------------------- */
.v-minimal .min-cta{padding:130px 0; border-top:1px solid var(--hairline); text-align:center}
.v-minimal .min-cta .tagchip{margin-bottom:30px}
.v-minimal .min-cta h2{font-size:clamp(42px,6.4vw,96px); line-height:.94; letter-spacing:-.04em; max-width:960px; margin:0 auto}
.v-minimal .min-cta__btn{margin-top:44px; display:flex; justify-content:center}

@media(max-width:1000px){
  .v-minimal .site-header--min .hd-nav{display:none}
  .v-minimal .min-intro__grid,.v-minimal .min-serv__grid{grid-template-columns:1fr}
  .v-minimal .min-serv__col,.v-minimal .min-plan{border-right:none; padding-left:0; border-bottom:1px solid var(--hairline)}
  .v-minimal .min-plan{padding-left:0}
  .v-minimal .min-team__grid{grid-template-columns:1fr 1fr}
  .v-minimal .min-journal__grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .v-minimal .wrap{padding:0 22px}
  .v-minimal .site-header--min .brand-word{padding:0 18px}
  .v-minimal .site-header--min .hd-right .ulink{display:none}
  .v-minimal .min-hero__head{padding:34px 22px 30px}
  .v-minimal .min-intro,.v-minimal .min-serv,.v-minimal .min-team,.v-minimal .min-journal{padding-bottom:80px}
  .v-minimal .min-intro{padding-top:80px}
  .v-minimal .min-stats__grid{grid-template-columns:1fr}
  .v-minimal .min-stat{padding:34px 0; border-right:none; border-bottom:1px solid var(--hairline)}
  .v-minimal .min-stat:last-child{border-bottom:none}
  .v-minimal .min-projects__rail{padding:0 22px 20px}
  .v-minimal .min-team__grid{grid-template-columns:1fr 1fr}
  .v-minimal .min-team__head,.v-minimal .min-journal__head{flex-direction:column; align-items:flex-start}
  .v-minimal .min-cta{padding:80px 0}
}

/* =============================================================================
   REDUCED MOTION - complete static T1 render
   ============================================================================= */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important; transition-duration:.001ms!important}
  .reveal{opacity:1; transform:none}
  .loader-wrap{display:none!important}
  .zoomhero{height:auto}
  .zoomhero__sticky{position:static; height:auto}
  .zoomhero__stage{padding:40px 0; height:auto}
  .zoomhero__page{transform:none!important; width:100%; max-width:1000px}
  .minipage h1{font-size:clamp(48px,9vw,120px)}
  .minipage__photo{height:auto}
  .minipage__photo img{height:520px}
  html.preloading,body.preloading{overflow:auto}
}
