/* ============================================================
   ALI RAD DESIGN — "KINETIC" SYSTEM KIT
   Shared tokens, type, chrome, motion. Every page loads this.
   ============================================================ */
:root{
  --void:#0D0C0A; --void-2:#141210; --raise:#1C1917;
  --cream:#F3EEE7; --cream-2:#CFC6B7; --cream-3:#8A8175;
  --bronze:#C9A87C; --bronze-deep:#7A5F3A;
  --hair:rgba(243,238,231,.14); --hair-2:rgba(243,238,231,.07);
  --flag:#E08A6E; --plate:#F3EEE7;
  --gut:clamp(28px,6vw,128px); --maxw:1560px; --read:64ch;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--void);color:var(--cream);
  font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}

.ser{font-family:"Instrument Serif",Didot,Georgia,serif;font-weight:400}
.lbl{font-variation-settings:"wdth" 82;font-weight:500;font-size:10.5px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--cream-3)}
.flag{font-variation-settings:"wdth" 84;font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--flag);border:1px solid rgba(224,138,110,.5);padding:2px 7px;font-style:normal;
  white-space:normal;overflow-wrap:anywhere;max-width:100%;display:inline-block}

h1,h2,h3,h4{margin:0}
.h-xl{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(44px,9.5vw,150px);
  line-height:.88;letter-spacing:-.028em}
.h-l{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(32px,5.4vw,74px);
  line-height:.98;letter-spacing:-.02em}
.h-m{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(25px,3.4vw,44px);
  line-height:1.04;letter-spacing:-.012em}
.h-s{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(20px,2.2cqw,27px);line-height:1.12}
em.it{font-style:italic;color:var(--bronze)}
p{margin:0 0 17px;max-width:var(--read);color:var(--cream-2)}
p.big{font-size:clamp(17px,1.9vw,21px);line-height:1.5;color:var(--cream);max-width:48ch}
.dim{color:var(--cream-3)}

.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.32;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

/* preview chrome — not part of the design */
.chrome{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,7,6,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px 18px;
  font-variation-settings:"wdth" 80;font-weight:500;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cream-2)}
.chrome b{color:var(--cream);font-weight:600}
.chrome .sp{flex:1}
.chrome button{font:inherit;letter-spacing:.2em;text-transform:uppercase;background:none;color:var(--cream-2);
  border:1px solid var(--hair);padding:5px 12px;cursor:pointer}
.chrome button[aria-current="true"]{background:var(--cream);color:#0D0C0A;border-color:var(--cream)}

/* site nav */
.nav{position:fixed;top:var(--navtop,0px);left:0;right:0;z-index:70;display:flex;align-items:center;gap:20px;
  padding:20px var(--gut) 40px;pointer-events:none}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,12,10,.94) 0%,rgba(13,12,10,.86) 30%,rgba(13,12,10,.55) 62%,rgba(13,12,10,0) 100%)}
.nav>*{pointer-events:auto}
.nav .mklink{display:block;padding:4px 2px}
.nav .mk{height:30px;width:auto}
.nav ul{display:none;list-style:none;margin:0 0 0 auto;padding:0;gap:clamp(16px,1.7vw,30px);
  flex-wrap:wrap;justify-content:flex-end}
@media(min-width:940px){.nav ul{display:flex}}
.nav a{font-variation-settings:"wdth" 86;font-weight:500;font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;opacity:.82;transition:opacity .25s;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{opacity:1;color:var(--bronze)}
.nav .mbtn{margin-left:auto;font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.5);padding:7px 13px}
@media(min-width:940px){.nav .mbtn{display:none}}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.sec{padding-block:clamp(58px,9vh,124px)}
.sec.hair{border-top:1px solid var(--hair)}
.light{background:var(--plate);color:#1A1917}
.light p{color:#4A453D}
.light .lbl{color:#8A8175}
.light .h-l,.light .h-m,.light .h-s{color:#12110F}
.light em.it{color:var(--bronze-deep)}

/* page opener used by every interior page */
.opener{position:relative;height:clamp(420px,62svh,760px);overflow:hidden;display:flex;align-items:flex-end}
.opener>img{position:absolute;inset:-5% 0;width:100%;height:110%;object-fit:cover;filter:brightness(.6) saturate(.9)}
.opener .vig{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,12,10,.62),transparent 42%,rgba(13,12,10,.94))}
.opener .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(26px,5vh,58px)}
.crumb{display:flex;gap:10px;align-items:baseline;margin-bottom:16px}
.crumb a{color:var(--bronze)}

/* link + button */
.go{display:inline-flex;align-items:center;gap:10px;font-variation-settings:"wdth" 84;font-weight:500;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--bronze);
  padding-bottom:6px;color:var(--cream);transition:gap .3s}
.go:hover{gap:16px}
.light .go{color:#12110F;border-bottom-color:var(--bronze-deep)}
.btn{display:inline-block;background:var(--bronze);color:#12110F;padding:14px 26px;
  font-variation-settings:"wdth" 86;font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  transition:background .3s}
.btn:hover{background:var(--cream)}
.btn.ghost{background:none;color:var(--cream);border:1px solid var(--hair)}
.btn.ghost:hover{border-color:var(--bronze);color:var(--bronze)}

/* meta rows */
.meta{display:flex;flex-wrap:wrap;gap:10px 26px}
.meta div{border-top:1px solid var(--hair);padding-top:8px;min-width:104px}
.meta dt{margin:0 0 3px}
.meta dd{margin:0;font-variation-settings:"wdth" 90;font-weight:400;font-size:14px}
.light .meta div{border-top-color:rgba(18,17,15,.14)}

/* figures + drawing plates */
figure{margin:0}
figcaption{margin-top:11px;font-variation-settings:"wdth" 90;font-size:12.5px;color:var(--cream-3);
  padding-left:12px;border-left:2px solid var(--bronze)}
.light figcaption{color:#6E6A63;border-left-color:var(--bronze-deep)}
.sheet{background:#fff;border:1px solid rgba(18,17,15,.12);padding:clamp(12px,2vw,22px)}
.two{display:grid;gap:26px}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px)}}
.two.wide{grid-template-columns:1fr}
@media(min-width:900px){.two.wide{grid-template-columns:1.3fr .7fr}}
.three{display:grid;gap:22px}
@media(min-width:820px){.three{grid-template-columns:repeat(3,1fr)}}

/* marquee */
.marq{border-block:1px solid var(--hair);overflow:hidden;padding:15px 0;background:var(--void-2)}
.marq .track{display:flex;width:max-content}
.marq span{font-family:"Instrument Serif",serif;font-size:clamp(20px,3vw,40px);line-height:1;
  padding:0 clamp(18px,2.6vw,42px);color:var(--cream-2);white-space:nowrap;
  display:flex;align-items:center;gap:clamp(18px,2.6vw,42px)}
.marq span::after{content:"";width:6px;height:6px;background:var(--bronze);border-radius:50%;display:block}

/* footer */
footer{overflow:hidden;border-top:1px solid var(--hair);padding-top:34px}
.foot-nav{display:grid;gap:22px;padding:0 var(--gut) 34px;max-width:var(--maxw);margin:0 auto}
@media(min-width:820px){.foot-nav{grid-template-columns:repeat(4,1fr)}}
.foot-nav ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--cream-2)}
.foot-nav a:hover{color:var(--bronze)}
.foot-mkwrap{overflow:hidden;height:clamp(58px,8.5vw,116px);margin-top:clamp(18px,3vh,42px);
  display:flex;align-items:flex-start}
.foot-mk{display:block;width:100%;max-width:none;padding:0 var(--gut);opacity:.11}
.foot-b{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;
  padding:0 var(--gut) 26px;color:var(--cream-3);font-size:12.5px}

/* ---------------- motion: native, opt-out respected ---------------- */
@media (prefers-reduced-motion: no-preference){
  .marq .track{animation:slide 34s linear infinite}
  @keyframes slide{to{transform:translateX(-50%)}}
  @supports (animation-timeline: view()){
    .rev{animation:rise linear both;animation-timeline:view();animation-range:entry 4% cover 26%}
    @keyframes rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
    .opener>img{animation:drift linear both;animation-timeline:view();animation-range:cover}
    @keyframes drift{from{transform:translateY(-3.5%) scale(1.05)}to{transform:translateY(3.5%) scale(1.05)}}
    .sheet{animation:wipe linear both;animation-timeline:view();animation-range:entry 6% cover 32%}
    @keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
  }
}

/* ---------------- before / after comparison ---------------- */
.cmp{position:relative;--p:50%;overflow:hidden;background:var(--void-2);border:1px solid var(--hair)}
.cmp>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.cmp>img.aft{position:absolute;inset:0;height:100%;clip-path:inset(0 0 0 var(--p))}
.cmp .bar{position:absolute;top:0;bottom:0;left:var(--p);width:2px;background:var(--cream);
  pointer-events:none;translate:-1px 0}
.cmp .bar::after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:40px;height:40px;border-radius:50%;border:2px solid var(--cream);background:rgba(13,12,10,.42)}
.cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.cmp:focus-within .bar{background:var(--bronze)}
.cmp:focus-within .bar::after{border-color:var(--bronze)}
.cmp .tagL,.cmp .tagR{position:absolute;top:12px;font-variation-settings:"wdth" 86;font-weight:500;
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;background:rgba(13,12,10,.72);
  color:var(--cream);padding:4px 9px;pointer-events:none}
.cmp .tagL{left:12px}
.cmp .tagR{right:12px}

.soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
.menu{position:fixed;inset:0;z-index:85;background:rgba(9,8,7,.97);backdrop-filter:blur(20px);
  display:none;flex-direction:column;justify-content:center;padding:0 var(--gut)}
.menu.on{display:flex}
.menu ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.menu a{font-family:"Instrument Serif",serif;font-size:clamp(34px,10vw,72px);line-height:1.1;color:var(--cream)}
.menu a:hover{color:var(--bronze)}
.menu .x{position:absolute;top:26px;right:var(--gut);font-variation-settings:"wdth" 84;font-weight:500;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);
  border:1px solid var(--hair);padding:8px 14px;background:none;cursor:pointer}
.nav .mbtn{cursor:pointer;background:none}

/* ===== dirD.tpl.html ===== */
/* ============================================================
   DIRECTION D — "Kinetic"
   Dark-first, on the verified brand palette. Motion is entirely
   CSS scroll-driven (animation-timeline) — no libraries, no
   scroll listeners, nothing gating content.
   ============================================================ */
:root{
  --void:#0D0C0A;
  --void-2:#141210;
  --raise:#1C1917;
  --cream:#F3EEE7;
  --cream-2:#CFC6B7;
  --cream-3:#8A8175;
  --bronze:#C9A87C;
  --bronze-deep:#7A5F3A;
  --hair:rgba(243,238,231,.14);
  --hair-2:rgba(243,238,231,.07);
  --flag:#E08A6E;
  --plate:#F3EEE7;
  --gut:clamp(24px,6vw,124px);
  --maxw:1560px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--void);color:var(--cream);
  font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-weight:300;font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
#v-home img{display:block;max-width:100%;height:auto}
#v-home a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
#v-home .ser{font-family:"Instrument Serif",Didot,Georgia,serif;font-weight:400}
#v-home .mono{font-variation-settings:"wdth" 78;font-weight:500;letter-spacing:.22em;text-transform:uppercase;font-size:10.5px}
#v-home .lbl{font-variation-settings:"wdth" 82;font-weight:500;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--cream-3)}
#v-home .flag{font-variation-settings:"wdth" 84;font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--flag);border:1px solid rgba(224,138,110,.5);padding:2px 7px;font-style:normal;
  white-space:normal;overflow-wrap:anywhere;max-width:100%;display:inline-block}
/* --- grain: one inline SVG, no network request --- */
#v-home .grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.32;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
/* --- preview chrome --- */
#v-home .chrome{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,7,6,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);display:flex;gap:14px;align-items:center;padding:9px 18px;
  font-variation-settings:"wdth" 80;font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-2)}
#v-home .chrome b{color:var(--cream);font-weight:600}
#v-home .chrome .n{font-weight:300;letter-spacing:.02em;text-transform:none;font-size:12.5px;color:var(--cream-3)}
/* --- fixed site nav --- */
#v-home .nav{position:fixed;top:34px;left:0;right:0;z-index:70;display:flex;align-items:center;gap:20px;
  padding:20px var(--gut) 26px;pointer-events:none}
#v-home .nav::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,12,10,.88) 0%,rgba(13,12,10,.62) 45%,rgba(13,12,10,0) 100%)}
#v-home .nav>*{pointer-events:auto}
#v-home .nav .mklink{display:block;padding:4px 2px}
#v-home .nav .mk{height:30px;width:auto;filter:invert(1);mix-blend-mode:screen}
#v-home .nav ul{display:none;list-style:none;margin:0 0 0 auto;padding:0;gap:clamp(16px,1.7vw,30px);
  flex-wrap:wrap;justify-content:flex-end}
@media(min-width:940px){#v-home .nav ul{display:flex}}
#v-home .nav a{font-variation-settings:"wdth" 86;font-weight:500;font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;opacity:.85;transition:opacity .25s;white-space:nowrap}
#v-home .nav a:hover{opacity:1;color:var(--bronze)}
#v-home .nav .mbtn{margin-left:auto;font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.5);padding:7px 13px}
@media(min-width:940px){#v-home .nav .mbtn{display:none}}
#v-home .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
/* ============ HERO ============ */
#v-home .hero{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end}
#v-home .hero .bg{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;filter:saturate(.9) brightness(.72)}
#v-home .hero .vig{position:absolute;inset:0;background:
  radial-gradient(120% 80% at 50% 0%,transparent 30%,rgba(13,12,10,.55) 100%),
  linear-gradient(180deg,rgba(13,12,10,.5),transparent 30%,rgba(13,12,10,.9))}
#v-home .hero .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(34px,6vh,72px)}
#v-home .hero h1{margin:0;font-family:"Instrument Serif",Didot,serif;font-weight:400;
  font-size:clamp(56px,13.5vw,232px);line-height:.82;letter-spacing:-.03em}
#v-home .hero h1 em{font-style:italic;color:var(--bronze)}
#v-home .hero .row{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-end;justify-content:space-between;
  margin-top:26px;padding-top:20px;border-top:1px solid var(--hair)}
#v-home .hero .row p{margin:0;max-width:42ch;color:var(--cream-2);font-size:clamp(14px,1.3vw,17px)}
#v-home .scrollcue{display:flex;align-items:center;gap:12px}
#v-home .scrollcue .bar{width:64px;height:1px;background:var(--hair);position:relative;overflow:hidden}
#v-home .scrollcue .bar::after{content:"";position:absolute;inset:0;background:var(--bronze);transform-origin:left}
/* ============ MARQUEE ============ */
#v-home .marq{border-block:1px solid var(--hair);overflow:hidden;padding:16px 0;background:var(--void-2)}
#v-home .marq .track{display:flex;width:max-content;gap:0}
#v-home .marq span{font-family:"Instrument Serif",serif;font-size:clamp(22px,3.4vw,44px);line-height:1;
  padding:0 clamp(20px,3vw,46px);color:var(--cream-2);white-space:nowrap;display:flex;align-items:center;gap:clamp(20px,3vw,46px)}
#v-home .marq span::after{content:"";width:7px;height:7px;background:var(--bronze);border-radius:50%;display:block}
/* ============ STICKY PROJECT STACK ============ */
#v-home .stack{position:relative}
#v-home .panel{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;
  display:grid;align-items:end;border-top:1px solid var(--hair)}
#v-home .panel .ph{position:absolute;inset:0}
#v-home .panel .ph img{width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.92)}
#v-home .panel .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,10,.35),transparent 40%,rgba(13,12,10,.92))}
#v-home .panel .cnt{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(30px,6vh,66px);
  display:grid;gap:20px}
@media(min-width:900px){#v-home .panel .cnt{grid-template-columns:1.4fr .9fr;align-items:end;gap:56px}}
#v-home .panel .idx{font-family:"Instrument Serif",serif;font-size:clamp(52px,9vw,150px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--bronze);opacity:.85;margin:0 0 6px}
#v-home .panel h2{margin:0;font-family:"Instrument Serif",serif;font-weight:400;
  font-size:clamp(34px,6.4vw,92px);line-height:.92;letter-spacing:-.02em}
#v-home .panel .meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:16px}
#v-home .panel .meta div{border-top:1px solid var(--hair);padding-top:8px;min-width:96px}
#v-home .panel .meta dt{margin:0 0 3px}
#v-home .panel .meta dd{margin:0;font-variation-settings:"wdth" 90;font-weight:400;font-size:14px}
#v-home .panel .desc{color:var(--cream-2);font-size:15.5px;max-width:40ch;margin:0}
#v-home .panel .go{display:inline-flex;align-items:center;gap:10px;margin-top:20px;
  font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid var(--bronze);padding-bottom:6px;color:var(--cream)}
/* ============ PRACTICE — asymmetric overlap ============ */
#v-home .practice{padding:clamp(70px,12vh,150px) 0;position:relative;background:var(--void)}
#v-home .practice .g{display:grid;gap:34px}
@media(min-width:1100px){#v-home .practice .g{grid-template-columns:repeat(12,1fr);gap:0 28px;align-items:center}}
#v-home .practice .txt{position:relative;z-index:2}
@media(min-width:1100px){#v-home .practice .txt{grid-column:1/7}}
#v-home .practice h2{font-family:"Instrument Serif",serif;font-weight:400;margin:0 0 22px;
  font-size:clamp(32px,5.2vw,70px);line-height:.98;letter-spacing:-.02em;max-width:15ch}
#v-home .practice h2 em{font-style:italic;color:var(--bronze)}
#v-home .practice p{color:var(--cream-2);max-width:44ch;margin:0 0 16px}
#v-home .practice .imgA{position:relative}
@media(min-width:1100px){#v-home .practice .imgA{grid-column:6/13;margin-left:-6%;z-index:1}}
#v-home .practice .imgA img{width:100%;aspect-ratio:4/3;object-fit:cover}
#v-home .practice .imgB{position:relative;z-index:3}
@media(min-width:1100px){#v-home .practice .imgB{grid-column:3/7;margin-top:-16%;width:74%}}
#v-home .practice .imgB img{width:100%;background:var(--plate);padding:14px;border:1px solid var(--hair)}
#v-home .practice .cap{margin-top:10px;color:var(--cream-3);font-size:12.5px}
/* ============ SERVICES — hover index ============ */
#v-home .svc{border-top:1px solid var(--hair);padding:clamp(60px,10vh,120px) 0;position:relative;background:var(--void-2)}
#v-home .svc .head{display:flex;flex-wrap:wrap;gap:14px 30px;align-items:baseline;margin-bottom:clamp(28px,5vh,54px)}
#v-home .svc .head h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(28px,4.4vw,58px);margin:0;line-height:1}
#v-home .svcwrap{position:relative}
#v-home .preview{display:none}
@media(min-width:1000px){#v-home .preview{display:block;position:absolute;top:50%;right:0;translate:0 -50%;width:38%;max-width:520px;
    aspect-ratio:4/5;z-index:1;pointer-events:none}
#v-home .preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
    transition:opacity .45s ease, scale .8s cubic-bezier(.2,.8,.2,1);scale:1.06}}
#v-home .rows{position:relative;z-index:2;border-top:1px solid var(--hair-2)}
#v-home .rows a{display:grid;gap:6px 30px;padding:clamp(20px,3.4vh,34px) 0;border-bottom:1px solid var(--hair-2);
  transition:padding .35s cubic-bezier(.2,.8,.2,1),color .3s}
@media(min-width:1000px){#v-home .rows a{grid-template-columns:64px minmax(0,1fr);max-width:58%}}
#v-home .rows .n{font-variation-settings:"wdth" 80;font-weight:500;font-size:11px;letter-spacing:.16em;color:var(--bronze);padding-top:12px}
#v-home .rows h3{margin:0;font-family:"Instrument Serif",serif;font-weight:400;
  font-size:clamp(24px,3.6vw,46px);line-height:1.02;letter-spacing:-.01em;transition:color .3s}
#v-home .rows p{margin:8px 0 0;color:var(--cream-3);font-size:15px;max-width:46ch}
#v-home .rows a:hover{padding-left:18px}
#v-home .rows a:hover h3{color:var(--bronze)}
@media(min-width:1000px){#v-home .rows a:nth-child(1):hover ~ .preview img:nth-child(1), #v-home .rows a:nth-child(2):hover ~ .preview img:nth-child(2), #v-home .rows a:nth-child(3):hover ~ .preview img:nth-child(3), #v-home .rows a:nth-child(4):hover ~ .preview img:nth-child(4), #v-home .rows a:nth-child(5):hover ~ .preview img:nth-child(5){opacity:1;scale:1}}
/* ============ DRAWINGS — clip reveal on a light plate ============ */
/* ---- 04 hospitality feature ---- */
#v-home .hospf{position:relative;overflow:hidden;border-top:1px solid var(--hair)}
#v-home .hospf>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(.85)}
#v-home .hospf .in{position:relative;max-width:var(--maxw);margin:0 auto;padding:clamp(60px,11vh,140px) var(--gut)}
#v-home .hospf h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(30px,5.4vw,72px);
  line-height:.98;letter-spacing:-.02em;margin:14px 0 20px;max-width:16ch}
#v-home .hospf h2 em{font-style:italic;color:var(--bronze)}
#v-home .hospf .cols{display:grid;gap:26px;margin-top:30px;grid-template-columns:minmax(0,1fr)}
#v-home .hospf .cols>*{min-width:0}
@media(min-width:900px){#v-home .hospf .cols{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,70px)}}
#v-home .hospf ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
#v-home .hospf li{font-variation-settings:"wdth" 86;font-weight:500;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream-2);border:1px solid var(--hair);padding:6px 11px}
/* ---- 06 featured project story ---- */
#v-home .story{border-top:1px solid var(--hair);padding:clamp(60px,10vh,124px) 0;background:var(--void-2)}
#v-home .story h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(30px,4.8vw,64px);
  line-height:1;letter-spacing:-.02em;margin:14px 0 20px;max-width:15ch}
#v-home .story h2 em{font-style:italic;color:var(--bronze)}
#v-home .story .g{display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
#v-home .story .g>*{min-width:0}
@media(min-width:960px){#v-home .story .g{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,72px);align-items:start}}
#v-home .vid{position:relative;aspect-ratio:16/9;background:#000;border:1px solid var(--hair);overflow:hidden}
#v-home .vid iframe, #v-home .vid img{position:absolute;inset:0;width:100%;max-width:100%;height:100%;border:0;object-fit:cover}
#v-home .vid button{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(13,12,10,.34);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s}
#v-home .vid button:hover{background:rgba(13,12,10,.16)}
#v-home .vid .play{width:74px;height:74px;border-radius:50%;background:rgba(243,238,231,.94);
  display:flex;align-items:center;justify-content:center}
#v-home .vid .play::after{content:"";border-left:19px solid #0D0C0A;border-top:12px solid transparent;
  border-bottom:12px solid transparent;margin-left:5px}
/* ---- 08 recognition ---- */
#v-home .recog{border-top:1px solid var(--hair);padding:clamp(54px,9vh,110px) 0}
#v-home .recog .g{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(24px,4vh,44px)}
@media(min-width:760px){#v-home .recog .g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){#v-home .recog .g{grid-template-columns:repeat(4,1fr)}}
#v-home .recog .g>div{background:var(--void);padding:clamp(20px,2.3vw,28px)}
#v-home .recog .g h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(19px,2vw,25px);margin:10px 0 8px;line-height:1.1}
#v-home .recog .g p{margin:0;font-size:13.5px;color:var(--cream-3)}
#v-home .dwg{background:var(--plate);color:#1A1917;padding:clamp(60px,10vh,130px) 0}
#v-home .dwg .lbl{color:#8A8175}
#v-home .dwg h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(30px,4.8vw,64px);
  line-height:1.0;margin:14px 0 18px;max-width:18ch;color:#12110F}
#v-home .dwg h2 em{font-style:italic;color:var(--bronze-deep)}
#v-home .dwg p{color:#4A453D;max-width:52ch;margin:0 0 34px}
#v-home .dwg .set{display:grid;gap:20px}
@media(min-width:820px){#v-home .dwg .set{grid-template-columns:1.25fr .75fr;gap:26px;align-items:start}}
#v-home .dwg figure{margin:0}
#v-home .dwg .sheetimg{background:#fff;border:1px solid rgba(18,17,15,.12);padding:clamp(12px,2vw,22px)}
#v-home .dwg figcaption{margin-top:11px;font-variation-settings:"wdth" 90;font-size:12.5px;color:#6E6A63;
  padding-left:12px;border-left:2px solid var(--bronze-deep)}
#v-home .dwg .side{display:grid;gap:20px}
/* ============ FOUNDER ============ */
#v-home .founder{padding:clamp(60px,10vh,130px) 0;border-top:1px solid var(--hair)}
#v-home .founder .g{display:grid;gap:34px}
@media(min-width:900px){#v-home .founder .g{grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}}
#v-home .founder img{width:100%;aspect-ratio:4/5;object-fit:cover}
#v-home .founder blockquote{margin:0;font-family:"Instrument Serif",serif;font-weight:400;
  font-size:clamp(26px,3.8vw,52px);line-height:1.06;letter-spacing:-.015em;max-width:19ch}
#v-home .founder blockquote em{font-style:italic;color:var(--bronze)}
#v-home .founder .who{margin-top:26px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
/* ============ INSIGHTS ============ */
#v-home .insights{border-top:1px solid var(--hair);padding:clamp(58px,9vh,120px) 0;background:var(--void)}
#v-home .ihead{display:grid;gap:14px;margin-bottom:clamp(28px,5vh,52px)}
@media(min-width:900px){#v-home .ihead{grid-template-columns:auto 1fr auto;align-items:baseline;gap:34px}}
#v-home .ihead h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(26px,4vw,54px);
  line-height:1;letter-spacing:-.018em;margin:0}
#v-home .ihead h2 em{font-style:italic;color:var(--bronze)}
#v-home .igrid{display:grid;gap:26px;border-top:1px solid var(--hair);padding-top:clamp(22px,4vh,38px)}
@media(min-width:860px){#v-home .igrid{grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,54px)}}
#v-home .igrid article{display:grid;gap:10px;align-content:start}
#v-home .igrid h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(21px,2.4vw,30px);
  line-height:1.06;margin:0;transition:color .3s}
#v-home .igrid article:hover h3{color:var(--bronze)}
#v-home .igrid p{margin:0;font-size:15px;color:var(--cream-3)}
/* ============ CONTACT ============ */
#v-home .contact{border-top:1px solid var(--hair);padding:clamp(60px,10vh,130px) 0 clamp(40px,6vh,70px);background:var(--void-2)}
#v-home .bigcta{display:block;font-family:"Instrument Serif",serif;font-weight:400;
  font-size:clamp(44px,11vw,180px);line-height:.86;letter-spacing:-.03em;margin:18px 0 0;
  transition:color .35s}
#v-home .bigcta:hover{color:var(--bronze)}
#v-home .bigcta em{font-style:italic}
#v-home .cinfo{display:grid;gap:22px;margin-top:clamp(34px,6vh,64px);padding-top:24px;border-top:1px solid var(--hair)}
@media(min-width:760px){#v-home .cinfo{grid-template-columns:repeat(4,1fr)}}
#v-home .cinfo p{margin:8px 0 0;font-size:14.5px;color:var(--cream-2)}
#v-home footer{overflow:hidden;border-top:1px solid var(--hair);padding-top:34px}
#v-home .foot-nav{display:grid;gap:22px;padding:0 var(--gut) 34px;max-width:var(--maxw);margin:0 auto}
@media(min-width:820px){#v-home .foot-nav{grid-template-columns:repeat(4,1fr)}}
#v-home .foot-nav ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--cream-2)}
#v-home .foot-nav a:hover{color:var(--bronze)}
#v-home .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-home .foot-mk{display:block;width:100%;max-width:none;padding:0 var(--gut);opacity:.16;
  filter:invert(1);mix-blend-mode:screen;translate:0 14%}
#v-home .foot-b{display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;
  padding:0 var(--gut) 26px;color:var(--cream-3);font-size:12.5px}
/* ============================================================
   MOTION — scroll-driven, native, opt-out respected.
   Content is fully visible without any of this.
   ============================================================ */
@media (prefers-reduced-motion: no-preference){#v-home .marq .track{animation:slide 34s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
@supports (animation-timeline: view()){#v-home .rev{animation:rise linear both;animation-timeline:view();animation-range:entry 4% cover 26%}
@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
#v-home .hero .bg{animation:drift linear both;animation-timeline:view();animation-range:cover}
@keyframes drift{from{transform:translateY(-4%) scale(1.06)}to{transform:translateY(4%) scale(1.06)}}
#v-home .panel .ph img{animation:zoomout linear both;animation-timeline:view();animation-range:cover}
@keyframes zoomout{from{transform:scale(1.16)}to{transform:scale(1.02)}}
#v-home .scrollcue .bar::after{animation:fill linear both;animation-timeline:scroll(root);animation-range:0% 100%}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#v-home .dwg .sheetimg{animation:wipe linear both;animation-timeline:view();animation-range:entry 6% cover 34%}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
#v-home .bigcta{animation:widen linear both;animation-timeline:view();animation-range:entry 10% cover 46%}
@keyframes widen{from{opacity:.4;letter-spacing:.04em}to{opacity:1;letter-spacing:-.03em}}}}
/* cursor chip */
#v-home #chip{position:fixed;top:0;left:0;z-index:95;pointer-events:none;opacity:0;translate:-50% -50%;
  background:var(--bronze);color:#12110F;padding:9px 15px;border-radius:999px;
  font-variation-settings:"wdth" 84;font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  transition:opacity .25s,scale .25s;scale:.7}
#v-home #chip.on{opacity:1;scale:1}

/* ===== pgWork.tpl.html ===== */
/* ---------- work index ---------- */
#v-work .filters, #v-project .filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
#v-work .filters a, #v-project .filters a{display:inline-block;text-decoration:none}
#v-work .filters a, #v-project .filters a, #v-work .filters button, #v-project .filters button{font:inherit;font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;background:none;color:var(--cream-3);border:1px solid var(--hair);
  padding:9px 16px;cursor:pointer;transition:.25s}
#v-work .filters button[aria-pressed="true"], #v-project .filters button[aria-pressed="true"], #v-work .filters a[aria-current], #v-project .filters a[aria-current]{background:var(--cream);color:#0D0C0A;border-color:var(--cream)}
#v-work .filters button:hover, #v-project .filters button:hover, #v-work .filters a:hover, #v-project .filters a:hover{color:var(--cream);border-color:var(--bronze)}
#v-work .filters a[aria-current]:hover, #v-project .filters a[aria-current]:hover{color:#0D0C0A}
#v-work .filters .pill, #v-project .filters .pill{align-self:center}
#v-work .index, #v-project .index{display:grid;gap:clamp(34px,6vw,90px);margin-top:clamp(34px,6vh,70px)}
@media(min-width:900px){#v-work .index, #v-project .index{grid-template-columns:repeat(12,1fr);gap:clamp(40px,5vw,86px) 28px}}
#v-work .item, #v-project .item{position:relative}
#v-work .item a, #v-project .item a{display:block}
#v-work .item .fr, #v-project .item .fr{overflow:hidden;position:relative}
#v-work .item img, #v-project .item img{width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s}
#v-work .item a:hover img, #v-project .item a:hover img{transform:scale(1.045);filter:brightness(1.05)}
#v-work .item .top, #v-project .item .top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  border-top:1px solid var(--hair);padding-top:11px;margin-top:16px}
#v-work .item h2, #v-project .item h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(24px,2.9vw,40px);line-height:1;letter-spacing:-.015em}
#v-work .item .sub, #v-project .item .sub{margin:9px 0 0;font-size:14.5px;color:var(--cream-3);max-width:40ch}
/* staggered rhythm */
@media(min-width:900px){#v-work .item.a, #v-project .item.a{grid-column:1/8}
#v-work .item.a img, #v-project .item.a img{aspect-ratio:4/3}
#v-work .item.b, #v-project .item.b{grid-column:8/13;align-self:end;padding-bottom:8%}
#v-work .item.b img, #v-project .item.b img{aspect-ratio:3/4}
#v-work .item.c, #v-project .item.c{grid-column:2/7;margin-top:-4%}
#v-work .item.c img, #v-project .item.c img{aspect-ratio:1/1}
#v-work .item.d, #v-project .item.d{grid-column:7/13}
#v-work .item.d img, #v-project .item.d img{aspect-ratio:4/3}
#v-work .item.e, #v-project .item.e{grid-column:1/9}
#v-work .item.e img, #v-project .item.e img{aspect-ratio:16/9}
#v-work .item.f, #v-project .item.f{grid-column:9/13;align-self:center}
#v-work .item.f img, #v-project .item.f img{aspect-ratio:3/4}}
@media(max-width:899px){#v-work .item img, #v-project .item img{aspect-ratio:4/3}}
#v-work .item.soon a, #v-project .item.soon a{pointer-events:none}
#v-work .item.soon img, #v-project .item.soon img{filter:grayscale(1) brightness(.5)}
#v-work .item.soon h2, #v-project .item.soon h2{color:var(--cream-3)}
#v-work .pill, #v-project .pill{font-variation-settings:"wdth" 84;font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--hair);color:var(--cream-3);padding:3px 8px;white-space:nowrap}
/* ---------- case study ---------- */
#v-work .factbar, #v-project .factbar{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--void-2)}
#v-work .factbar .in, #v-project .factbar .in{max-width:var(--maxw);margin:0 auto;padding:22px var(--gut);display:grid;gap:16px 26px;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){#v-work .factbar .in, #v-project .factbar .in{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){#v-work .factbar .in, #v-project .factbar .in{grid-template-columns:repeat(8,1fr)}}
#v-work .factbar dt, #v-project .factbar dt{margin:0 0 5px}
#v-work .factbar dd, #v-project .factbar dd{margin:0;font-variation-settings:"wdth" 90;font-size:14.5px}
#v-work .lede-g, #v-project .lede-g{display:grid;gap:30px}
@media(min-width:1000px){#v-work .lede-g, #v-project .lede-g{grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px)}}
#v-work .bleed, #v-project .bleed{position:relative}
#v-work .bleed img, #v-project .bleed img{width:100%;aspect-ratio:16/9;object-fit:cover}
#v-work .bleed figcaption, #v-project .bleed figcaption{position:absolute;left:var(--gut);right:var(--gut);bottom:20px;border:none;padding:0;
  color:rgba(243,238,231,.86);text-shadow:0 1px 16px rgba(0,0,0,.9);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
#v-work .stat, #v-project .stat{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:26px}
@media(min-width:620px){#v-work .stat, #v-project .stat{grid-template-columns:repeat(3,1fr)}}
#v-work .stat div, #v-project .stat div{background:var(--void);padding:20px 22px}
#v-work .stat .v, #v-project .stat .v{font-family:"Instrument Serif",serif;font-size:clamp(30px,4vw,50px);line-height:1;color:var(--bronze)}
#v-work .stat p, #v-project .stat p{margin:8px 0 0;font-size:14px;color:var(--cream-3)}
#v-work .nextproj, #v-project .nextproj{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(260px,42svh,440px)}
#v-work .nextproj img, #v-project .nextproj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
#v-work .nextproj .in, #v-project .nextproj .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
#v-work .soonlbl, #v-project .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-work [hidden], #v-project [hidden]{display:none!important}

/* ===== pgCases.tpl.html ===== */
/* ---------- work index ---------- */
#v-shady .filters, #v-sarbonne .filters, #v-lamesa .filters, #v-hillcrest .filters, #v-malroad .filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
#v-shady .filters a, #v-sarbonne .filters a, #v-lamesa .filters a, #v-hillcrest .filters a, #v-malroad .filters a{display:inline-block;text-decoration:none}
#v-shady .filters a, #v-sarbonne .filters a, #v-lamesa .filters a, #v-hillcrest .filters a, #v-malroad .filters a, #v-shady .filters button, #v-sarbonne .filters button, #v-lamesa .filters button, #v-hillcrest .filters button, #v-malroad .filters button{font:inherit;font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;background:none;color:var(--cream-3);border:1px solid var(--hair);
  padding:9px 16px;cursor:pointer;transition:.25s}
#v-shady .filters button[aria-pressed="true"], #v-sarbonne .filters button[aria-pressed="true"], #v-lamesa .filters button[aria-pressed="true"], #v-hillcrest .filters button[aria-pressed="true"], #v-malroad .filters button[aria-pressed="true"], #v-shady .filters a[aria-current], #v-sarbonne .filters a[aria-current], #v-lamesa .filters a[aria-current], #v-hillcrest .filters a[aria-current], #v-malroad .filters a[aria-current]{background:var(--cream);color:#0D0C0A;border-color:var(--cream)}
#v-shady .filters button:hover, #v-sarbonne .filters button:hover, #v-lamesa .filters button:hover, #v-hillcrest .filters button:hover, #v-malroad .filters button:hover, #v-shady .filters a:hover, #v-sarbonne .filters a:hover, #v-lamesa .filters a:hover, #v-hillcrest .filters a:hover, #v-malroad .filters a:hover{color:var(--cream);border-color:var(--bronze)}
#v-shady .filters a[aria-current]:hover, #v-sarbonne .filters a[aria-current]:hover, #v-lamesa .filters a[aria-current]:hover, #v-hillcrest .filters a[aria-current]:hover, #v-malroad .filters a[aria-current]:hover{color:#0D0C0A}
#v-shady .filters .pill, #v-sarbonne .filters .pill, #v-lamesa .filters .pill, #v-hillcrest .filters .pill, #v-malroad .filters .pill{align-self:center}
#v-shady .index, #v-sarbonne .index, #v-lamesa .index, #v-hillcrest .index, #v-malroad .index{display:grid;gap:clamp(34px,6vw,90px);margin-top:clamp(34px,6vh,70px)}
@media(min-width:900px){#v-shady .index, #v-sarbonne .index, #v-lamesa .index, #v-hillcrest .index, #v-malroad .index{grid-template-columns:repeat(12,1fr);gap:clamp(40px,5vw,86px) 28px}}
#v-shady .item, #v-sarbonne .item, #v-lamesa .item, #v-hillcrest .item, #v-malroad .item{position:relative}
#v-shady .item a, #v-sarbonne .item a, #v-lamesa .item a, #v-hillcrest .item a, #v-malroad .item a{display:block}
#v-shady .item .fr, #v-sarbonne .item .fr, #v-lamesa .item .fr, #v-hillcrest .item .fr, #v-malroad .item .fr{overflow:hidden;position:relative}
#v-shady .item img, #v-sarbonne .item img, #v-lamesa .item img, #v-hillcrest .item img, #v-malroad .item img{width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s}
#v-shady .item a:hover img, #v-sarbonne .item a:hover img, #v-lamesa .item a:hover img, #v-hillcrest .item a:hover img, #v-malroad .item a:hover img{transform:scale(1.045);filter:brightness(1.05)}
#v-shady .item .top, #v-sarbonne .item .top, #v-lamesa .item .top, #v-hillcrest .item .top, #v-malroad .item .top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  border-top:1px solid var(--hair);padding-top:11px;margin-top:16px}
#v-shady .item h2, #v-sarbonne .item h2, #v-lamesa .item h2, #v-hillcrest .item h2, #v-malroad .item h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(24px,2.9vw,40px);line-height:1;letter-spacing:-.015em}
#v-shady .item .sub, #v-sarbonne .item .sub, #v-lamesa .item .sub, #v-hillcrest .item .sub, #v-malroad .item .sub{margin:9px 0 0;font-size:14.5px;color:var(--cream-3);max-width:40ch}
/* staggered rhythm */
@media(min-width:900px){#v-shady .item.a, #v-sarbonne .item.a, #v-lamesa .item.a, #v-hillcrest .item.a, #v-malroad .item.a{grid-column:1/8}
#v-shady .item.a img, #v-sarbonne .item.a img, #v-lamesa .item.a img, #v-hillcrest .item.a img, #v-malroad .item.a img{aspect-ratio:4/3}
#v-shady .item.b, #v-sarbonne .item.b, #v-lamesa .item.b, #v-hillcrest .item.b, #v-malroad .item.b{grid-column:8/13;align-self:end;padding-bottom:8%}
#v-shady .item.b img, #v-sarbonne .item.b img, #v-lamesa .item.b img, #v-hillcrest .item.b img, #v-malroad .item.b img{aspect-ratio:3/4}
#v-shady .item.c, #v-sarbonne .item.c, #v-lamesa .item.c, #v-hillcrest .item.c, #v-malroad .item.c{grid-column:2/7;margin-top:-4%}
#v-shady .item.c img, #v-sarbonne .item.c img, #v-lamesa .item.c img, #v-hillcrest .item.c img, #v-malroad .item.c img{aspect-ratio:1/1}
#v-shady .item.d, #v-sarbonne .item.d, #v-lamesa .item.d, #v-hillcrest .item.d, #v-malroad .item.d{grid-column:7/13}
#v-shady .item.d img, #v-sarbonne .item.d img, #v-lamesa .item.d img, #v-hillcrest .item.d img, #v-malroad .item.d img{aspect-ratio:4/3}
#v-shady .item.e, #v-sarbonne .item.e, #v-lamesa .item.e, #v-hillcrest .item.e, #v-malroad .item.e{grid-column:1/9}
#v-shady .item.e img, #v-sarbonne .item.e img, #v-lamesa .item.e img, #v-hillcrest .item.e img, #v-malroad .item.e img{aspect-ratio:16/9}
#v-shady .item.f, #v-sarbonne .item.f, #v-lamesa .item.f, #v-hillcrest .item.f, #v-malroad .item.f{grid-column:9/13;align-self:center}
#v-shady .item.f img, #v-sarbonne .item.f img, #v-lamesa .item.f img, #v-hillcrest .item.f img, #v-malroad .item.f img{aspect-ratio:3/4}}
@media(max-width:899px){#v-shady .item img, #v-sarbonne .item img, #v-lamesa .item img, #v-hillcrest .item img, #v-malroad .item img{aspect-ratio:4/3}}
#v-shady .item.soon a, #v-sarbonne .item.soon a, #v-lamesa .item.soon a, #v-hillcrest .item.soon a, #v-malroad .item.soon a{pointer-events:none}
#v-shady .item.soon img, #v-sarbonne .item.soon img, #v-lamesa .item.soon img, #v-hillcrest .item.soon img, #v-malroad .item.soon img{filter:grayscale(1) brightness(.5)}
#v-shady .item.soon h2, #v-sarbonne .item.soon h2, #v-lamesa .item.soon h2, #v-hillcrest .item.soon h2, #v-malroad .item.soon h2{color:var(--cream-3)}
#v-shady .pill, #v-sarbonne .pill, #v-lamesa .pill, #v-hillcrest .pill, #v-malroad .pill{font-variation-settings:"wdth" 84;font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--hair);color:var(--cream-3);padding:3px 8px;white-space:nowrap}
/* ---------- case study ---------- */
#v-shady .factbar, #v-sarbonne .factbar, #v-lamesa .factbar, #v-hillcrest .factbar, #v-malroad .factbar{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--void-2)}
#v-shady .factbar .in, #v-sarbonne .factbar .in, #v-lamesa .factbar .in, #v-hillcrest .factbar .in, #v-malroad .factbar .in{max-width:var(--maxw);margin:0 auto;padding:22px var(--gut);display:grid;gap:16px 26px;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){#v-shady .factbar .in, #v-sarbonne .factbar .in, #v-lamesa .factbar .in, #v-hillcrest .factbar .in, #v-malroad .factbar .in{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){#v-shady .factbar .in, #v-sarbonne .factbar .in, #v-lamesa .factbar .in, #v-hillcrest .factbar .in, #v-malroad .factbar .in{grid-template-columns:repeat(8,1fr)}}
#v-shady .factbar dt, #v-sarbonne .factbar dt, #v-lamesa .factbar dt, #v-hillcrest .factbar dt, #v-malroad .factbar dt{margin:0 0 5px}
#v-shady .factbar dd, #v-sarbonne .factbar dd, #v-lamesa .factbar dd, #v-hillcrest .factbar dd, #v-malroad .factbar dd{margin:0;font-variation-settings:"wdth" 90;font-size:14.5px}
#v-shady .lede-g, #v-sarbonne .lede-g, #v-lamesa .lede-g, #v-hillcrest .lede-g, #v-malroad .lede-g{display:grid;gap:30px}
@media(min-width:1000px){#v-shady .lede-g, #v-sarbonne .lede-g, #v-lamesa .lede-g, #v-hillcrest .lede-g, #v-malroad .lede-g{grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px)}}
#v-shady .bleed, #v-sarbonne .bleed, #v-lamesa .bleed, #v-hillcrest .bleed, #v-malroad .bleed{position:relative}
#v-shady .bleed img, #v-sarbonne .bleed img, #v-lamesa .bleed img, #v-hillcrest .bleed img, #v-malroad .bleed img{width:100%;aspect-ratio:16/9;object-fit:cover}
#v-shady .bleed figcaption, #v-sarbonne .bleed figcaption, #v-lamesa .bleed figcaption, #v-hillcrest .bleed figcaption, #v-malroad .bleed figcaption{position:absolute;left:var(--gut);right:var(--gut);bottom:20px;border:none;padding:0;
  color:rgba(243,238,231,.86);text-shadow:0 1px 16px rgba(0,0,0,.9);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
#v-shady .stat, #v-sarbonne .stat, #v-lamesa .stat, #v-hillcrest .stat, #v-malroad .stat{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:26px}
@media(min-width:620px){#v-shady .stat, #v-sarbonne .stat, #v-lamesa .stat, #v-hillcrest .stat, #v-malroad .stat{grid-template-columns:repeat(3,1fr)}}
#v-shady .stat div, #v-sarbonne .stat div, #v-lamesa .stat div, #v-hillcrest .stat div, #v-malroad .stat div{background:var(--void);padding:20px 22px}
#v-shady .stat .v, #v-sarbonne .stat .v, #v-lamesa .stat .v, #v-hillcrest .stat .v, #v-malroad .stat .v{font-family:"Instrument Serif",serif;font-size:clamp(30px,4vw,50px);line-height:1;color:var(--bronze)}
#v-shady .stat p, #v-sarbonne .stat p, #v-lamesa .stat p, #v-hillcrest .stat p, #v-malroad .stat p{margin:8px 0 0;font-size:14px;color:var(--cream-3)}
#v-shady .nextproj, #v-sarbonne .nextproj, #v-lamesa .nextproj, #v-hillcrest .nextproj, #v-malroad .nextproj{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(260px,42svh,440px)}
#v-shady .nextproj img, #v-sarbonne .nextproj img, #v-lamesa .nextproj img, #v-hillcrest .nextproj img, #v-malroad .nextproj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
#v-shady .nextproj .in, #v-sarbonne .nextproj .in, #v-lamesa .nextproj .in, #v-hillcrest .nextproj .in, #v-malroad .nextproj .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
#v-shady .soonlbl, #v-sarbonne .soonlbl, #v-lamesa .soonlbl, #v-hillcrest .soonlbl, #v-malroad .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-shady [hidden], #v-sarbonne [hidden], #v-lamesa [hidden], #v-hillcrest [hidden], #v-malroad [hidden]{display:none!important}

/* ===== pgIndexes.tpl.html ===== */
/* ---------- work index ---------- */
#v-resi .filters, #v-ints .filters, #v-press .filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
#v-resi .filters a, #v-ints .filters a, #v-press .filters a{display:inline-block;text-decoration:none}
#v-resi .filters a, #v-ints .filters a, #v-press .filters a, #v-resi .filters button, #v-ints .filters button, #v-press .filters button{font:inherit;font-variation-settings:"wdth" 84;font-weight:500;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;background:none;color:var(--cream-3);border:1px solid var(--hair);
  padding:9px 16px;cursor:pointer;transition:.25s}
#v-resi .filters button[aria-pressed="true"], #v-ints .filters button[aria-pressed="true"], #v-press .filters button[aria-pressed="true"], #v-resi .filters a[aria-current], #v-ints .filters a[aria-current], #v-press .filters a[aria-current]{background:var(--cream);color:#0D0C0A;border-color:var(--cream)}
#v-resi .filters button:hover, #v-ints .filters button:hover, #v-press .filters button:hover, #v-resi .filters a:hover, #v-ints .filters a:hover, #v-press .filters a:hover{color:var(--cream);border-color:var(--bronze)}
#v-resi .filters a[aria-current]:hover, #v-ints .filters a[aria-current]:hover, #v-press .filters a[aria-current]:hover{color:#0D0C0A}
#v-resi .filters .pill, #v-ints .filters .pill, #v-press .filters .pill{align-self:center}
#v-resi .index, #v-ints .index, #v-press .index{display:grid;gap:clamp(34px,6vw,90px);margin-top:clamp(34px,6vh,70px)}
@media(min-width:900px){#v-resi .index, #v-ints .index, #v-press .index{grid-template-columns:repeat(12,1fr);gap:clamp(40px,5vw,86px) 28px}}
#v-resi .item, #v-ints .item, #v-press .item{position:relative}
#v-resi .item a, #v-ints .item a, #v-press .item a{display:block}
#v-resi .item .fr, #v-ints .item .fr, #v-press .item .fr{overflow:hidden;position:relative}
#v-resi .item img, #v-ints .item img, #v-press .item img{width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s}
#v-resi .item a:hover img, #v-ints .item a:hover img, #v-press .item a:hover img{transform:scale(1.045);filter:brightness(1.05)}
#v-resi .item .top, #v-ints .item .top, #v-press .item .top{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  border-top:1px solid var(--hair);padding-top:11px;margin-top:16px}
#v-resi .item h2, #v-ints .item h2, #v-press .item h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(24px,2.9vw,40px);line-height:1;letter-spacing:-.015em}
#v-resi .item .sub, #v-ints .item .sub, #v-press .item .sub{margin:9px 0 0;font-size:14.5px;color:var(--cream-3);max-width:40ch}
/* staggered rhythm */
@media(min-width:900px){#v-resi .item.a, #v-ints .item.a, #v-press .item.a{grid-column:1/8}
#v-resi .item.a img, #v-ints .item.a img, #v-press .item.a img{aspect-ratio:4/3}
#v-resi .item.b, #v-ints .item.b, #v-press .item.b{grid-column:8/13;align-self:end;padding-bottom:8%}
#v-resi .item.b img, #v-ints .item.b img, #v-press .item.b img{aspect-ratio:3/4}
#v-resi .item.c, #v-ints .item.c, #v-press .item.c{grid-column:2/7;margin-top:-4%}
#v-resi .item.c img, #v-ints .item.c img, #v-press .item.c img{aspect-ratio:1/1}
#v-resi .item.d, #v-ints .item.d, #v-press .item.d{grid-column:7/13}
#v-resi .item.d img, #v-ints .item.d img, #v-press .item.d img{aspect-ratio:4/3}
#v-resi .item.e, #v-ints .item.e, #v-press .item.e{grid-column:1/9}
#v-resi .item.e img, #v-ints .item.e img, #v-press .item.e img{aspect-ratio:16/9}
#v-resi .item.f, #v-ints .item.f, #v-press .item.f{grid-column:9/13;align-self:center}
#v-resi .item.f img, #v-ints .item.f img, #v-press .item.f img{aspect-ratio:3/4}}
@media(max-width:899px){#v-resi .item img, #v-ints .item img, #v-press .item img{aspect-ratio:4/3}}
#v-resi .item.soon a, #v-ints .item.soon a, #v-press .item.soon a{pointer-events:none}
#v-resi .item.soon img, #v-ints .item.soon img, #v-press .item.soon img{filter:grayscale(1) brightness(.5)}
#v-resi .item.soon h2, #v-ints .item.soon h2, #v-press .item.soon h2{color:var(--cream-3)}
#v-resi .pill, #v-ints .pill, #v-press .pill{font-variation-settings:"wdth" 84;font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--hair);color:var(--cream-3);padding:3px 8px;white-space:nowrap}
/* ---------- case study ---------- */
#v-resi .factbar, #v-ints .factbar, #v-press .factbar{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--void-2)}
#v-resi .factbar .in, #v-ints .factbar .in, #v-press .factbar .in{max-width:var(--maxw);margin:0 auto;padding:22px var(--gut);display:grid;gap:16px 26px;
  grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){#v-resi .factbar .in, #v-ints .factbar .in, #v-press .factbar .in{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1200px){#v-resi .factbar .in, #v-ints .factbar .in, #v-press .factbar .in{grid-template-columns:repeat(8,1fr)}}
#v-resi .factbar dt, #v-ints .factbar dt, #v-press .factbar dt{margin:0 0 5px}
#v-resi .factbar dd, #v-ints .factbar dd, #v-press .factbar dd{margin:0;font-variation-settings:"wdth" 90;font-size:14.5px}
#v-resi .lede-g, #v-ints .lede-g, #v-press .lede-g{display:grid;gap:30px}
@media(min-width:1000px){#v-resi .lede-g, #v-ints .lede-g, #v-press .lede-g{grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px)}}
#v-resi .bleed, #v-ints .bleed, #v-press .bleed{position:relative}
#v-resi .bleed img, #v-ints .bleed img, #v-press .bleed img{width:100%;aspect-ratio:16/9;object-fit:cover}
#v-resi .bleed figcaption, #v-ints .bleed figcaption, #v-press .bleed figcaption{position:absolute;left:var(--gut);right:var(--gut);bottom:20px;border:none;padding:0;
  color:rgba(243,238,231,.86);text-shadow:0 1px 16px rgba(0,0,0,.9);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
#v-resi .stat, #v-ints .stat, #v-press .stat{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:26px}
@media(min-width:620px){#v-resi .stat, #v-ints .stat, #v-press .stat{grid-template-columns:repeat(3,1fr)}}
#v-resi .stat div, #v-ints .stat div, #v-press .stat div{background:var(--void);padding:20px 22px}
#v-resi .stat .v, #v-ints .stat .v, #v-press .stat .v{font-family:"Instrument Serif",serif;font-size:clamp(30px,4vw,50px);line-height:1;color:var(--bronze)}
#v-resi .stat p, #v-ints .stat p, #v-press .stat p{margin:8px 0 0;font-size:14px;color:var(--cream-3)}
#v-resi .nextproj, #v-ints .nextproj, #v-press .nextproj{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(260px,42svh,440px)}
#v-resi .nextproj img, #v-ints .nextproj img, #v-press .nextproj img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
#v-resi .nextproj .in, #v-ints .nextproj .in, #v-press .nextproj .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
#v-resi .soonlbl, #v-ints .soonlbl, #v-press .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-resi [hidden], #v-ints [hidden], #v-press [hidden]{display:none!important}
#v-resi .presslist, #v-ints .presslist, #v-press .presslist{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(26px,5vh,48px)}
#v-resi .presslist>div, #v-ints .presslist>div, #v-press .presslist>div{background:var(--void);padding:clamp(20px,2.4vw,28px);display:grid;gap:10px 26px}
@media(min-width:820px){#v-resi .presslist>div, #v-ints .presslist>div, #v-press .presslist>div{grid-template-columns:200px 1fr 120px;align-items:start}}
#v-resi .presslist a, #v-ints .presslist a, #v-press .presslist a{color:var(--bronze);border-bottom:1px solid rgba(201,168,124,.4)}
#v-resi .presslist a:hover, #v-ints .presslist a:hover, #v-press .presslist a:hover{color:var(--cream);border-bottom-color:var(--cream)}
#v-resi .presslist h3, #v-ints .presslist h3, #v-press .presslist h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(19px,2vw,25px);line-height:1.1;margin:0}
#v-resi .presslist p, #v-ints .presslist p, #v-press .presslist p{margin:0;font-size:14.5px}
#v-resi .chips, #v-ints .chips, #v-press .chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
#v-resi .chips li, #v-ints .chips li, #v-press .chips li{font-variation-settings:"wdth" 86;font-weight:500;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream-2);border:1px solid var(--hair);padding:6px 11px}
#v-resi .guard, #v-ints .guard, #v-press .guard{border:1px solid var(--hair);padding:16px 18px;margin-top:24px}
#v-resi .guard p, #v-ints .guard p, #v-press .guard p{margin:0 0 10px;max-width:70ch;font-size:14.5px}

/* ===== pgServices.tpl.html ===== */
/* ---------- hub index with hover preview ---------- */
#v-services .idxwrap, #v-arch .idxwrap, #v-hosp .idxwrap, #v-int .idxwrap, #v-adv .idxwrap, #v-cons .idxwrap{position:relative}
#v-services .preview, #v-arch .preview, #v-hosp .preview, #v-int .preview, #v-adv .preview, #v-cons .preview{display:none}
@media(min-width:1040px){#v-services .preview, #v-arch .preview, #v-hosp .preview, #v-int .preview, #v-adv .preview, #v-cons .preview{display:block;position:absolute;top:50%;right:0;translate:0 -50%;width:34%;max-width:470px;
    aspect-ratio:4/5;z-index:1;pointer-events:none}
#v-services .preview img, #v-arch .preview img, #v-hosp .preview img, #v-int .preview img, #v-adv .preview img, #v-cons .preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
    transition:opacity .45s ease,scale .9s cubic-bezier(.2,.8,.2,1);scale:1.07}}
#v-services .rows, #v-arch .rows, #v-hosp .rows, #v-int .rows, #v-adv .rows, #v-cons .rows{position:relative;z-index:2;border-top:1px solid var(--hair)}
#v-services .rows>a, #v-arch .rows>a, #v-hosp .rows>a, #v-int .rows>a, #v-adv .rows>a, #v-cons .rows>a{display:grid;gap:4px 26px;padding:clamp(20px,3.2vh,32px) 0;border-bottom:1px solid var(--hair-2);
  transition:padding .35s cubic-bezier(.2,.8,.2,1)}
@media(min-width:760px){#v-services .rows>a, #v-arch .rows>a, #v-hosp .rows>a, #v-int .rows>a, #v-adv .rows>a, #v-cons .rows>a{grid-template-columns:46px minmax(0,1fr);align-items:baseline}}
@media(min-width:1040px){#v-services .rows>a, #v-arch .rows>a, #v-hosp .rows>a, #v-int .rows>a, #v-adv .rows>a, #v-cons .rows>a{max-width:58%}}
#v-services .rows .n, #v-arch .rows .n, #v-hosp .rows .n, #v-int .rows .n, #v-adv .rows .n, #v-cons .rows .n{font-variation-settings:"wdth" 80;font-weight:500;font-size:11px;letter-spacing:.16em;
  color:var(--bronze);line-height:1}
#v-services .rows h2, #v-arch .rows h2, #v-hosp .rows h2, #v-int .rows h2, #v-adv .rows h2, #v-cons .rows h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(24px,3.4vw,44px);
  line-height:1.02;letter-spacing:-.012em;transition:color .3s}
#v-services .rows p, #v-arch .rows p, #v-hosp .rows p, #v-int .rows p, #v-adv .rows p, #v-cons .rows p{margin:8px 0 0;color:var(--cream-3);font-size:15px;max-width:46ch}
#v-services .rows>a>span:last-child, #v-arch .rows>a>span:last-child, #v-hosp .rows>a>span:last-child, #v-int .rows>a>span:last-child, #v-adv .rows>a>span:last-child, #v-cons .rows>a>span:last-child{min-width:0}
#v-services .rows>a:hover, #v-arch .rows>a:hover, #v-hosp .rows>a:hover, #v-int .rows>a:hover, #v-adv .rows>a:hover, #v-cons .rows>a:hover{padding-left:18px}
#v-services .rows>a:hover h2, #v-arch .rows>a:hover h2, #v-hosp .rows>a:hover h2, #v-int .rows>a:hover h2, #v-adv .rows>a:hover h2, #v-cons .rows>a:hover h2{color:var(--bronze)}
@media(min-width:1040px){#v-services .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-arch .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-hosp .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-int .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-adv .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-cons .rows>a:nth-child(1):hover ~ .preview img:nth-child(1), #v-services .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-arch .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-hosp .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-int .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-adv .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-cons .rows>a:nth-child(2):hover ~ .preview img:nth-child(2), #v-services .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-arch .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-hosp .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-int .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-adv .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-cons .rows>a:nth-child(3):hover ~ .preview img:nth-child(3), #v-services .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-arch .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-hosp .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-int .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-adv .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-cons .rows>a:nth-child(4):hover ~ .preview img:nth-child(4), #v-services .rows>a:nth-child(5):hover ~ .preview img:nth-child(5), #v-arch .rows>a:nth-child(5):hover ~ .preview img:nth-child(5), #v-hosp .rows>a:nth-child(5):hover ~ .preview img:nth-child(5), #v-int .rows>a:nth-child(5):hover ~ .preview img:nth-child(5), #v-adv .rows>a:nth-child(5):hover ~ .preview img:nth-child(5), #v-cons .rows>a:nth-child(5):hover ~ .preview img:nth-child(5){opacity:1;scale:1}}
/* ---------- chapter openers ---------- */
#v-services .chapter, #v-arch .chapter, #v-hosp .chapter, #v-int .chapter, #v-adv .chapter, #v-cons .chapter{border-top:1px solid var(--hair)}
#v-services .chop, #v-arch .chop, #v-hosp .chop, #v-int .chop, #v-adv .chop, #v-cons .chop{position:relative;height:clamp(400px,72svh,860px);overflow:hidden;display:flex;align-items:flex-end}
#v-services .chop>img, #v-arch .chop>img, #v-hosp .chop>img, #v-int .chop>img, #v-adv .chop>img, #v-cons .chop>img{position:absolute;inset:-5% 0;width:100%;height:110%;object-fit:cover;filter:brightness(.55) saturate(.9)}
#v-services .chop .vig, #v-arch .chop .vig, #v-hosp .chop .vig, #v-int .chop .vig, #v-adv .chop .vig, #v-cons .chop .vig{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,12,10,.5),transparent 40%,rgba(13,12,10,.95))}
#v-services .chop .in, #v-arch .chop .in, #v-hosp .chop .in, #v-int .chop .in, #v-adv .chop .in, #v-cons .chop .in{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut) clamp(26px,5vh,60px);
  display:grid;gap:16px}
@media(min-width:960px){#v-services .chop .in, #v-arch .chop .in, #v-hosp .chop .in, #v-int .chop .in, #v-adv .chop .in, #v-cons .chop .in{grid-template-columns:1.3fr .8fr;align-items:end;gap:52px}}
#v-services .rom, #v-arch .rom, #v-hosp .rom, #v-int .rom, #v-adv .rom, #v-cons .rom{font-family:"Instrument Serif",serif;font-size:clamp(46px,8vw,132px);line-height:.78;margin:0 0 8px;
  color:transparent;-webkit-text-stroke:1px var(--bronze);opacity:.9}
#v-services .chop h2, #v-arch .chop h2, #v-hosp .chop h2, #v-int .chop h2, #v-adv .chop h2, #v-cons .chop h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(30px,5.6vw,80px);
  line-height:.94;letter-spacing:-.022em}
#v-services .chop .sub, #v-arch .chop .sub, #v-hosp .chop .sub, #v-int .chop .sub, #v-adv .chop .sub, #v-cons .chop .sub{margin:0;color:var(--cream-2);max-width:40ch;font-size:clamp(14px,1.4vw,17px)}
#v-services .chapbody, #v-arch .chapbody, #v-hosp .chapbody, #v-int .chapbody, #v-adv .chapbody, #v-cons .chapbody{padding-block:clamp(44px,7vh,96px)}
#v-services .chapgrid, #v-arch .chapgrid, #v-hosp .chapgrid, #v-int .chapgrid, #v-adv .chapgrid, #v-cons .chapgrid{display:grid;gap:30px}
@media(min-width:960px){#v-services .chapgrid, #v-arch .chapgrid, #v-hosp .chapgrid, #v-int .chapgrid, #v-adv .chapgrid, #v-cons .chapgrid{grid-template-columns:1.1fr .9fr;gap:clamp(34px,5vw,76px);align-items:start}}
#v-services .deliv, #v-arch .deliv, #v-hosp .deliv, #v-int .deliv, #v-adv .deliv, #v-cons .deliv{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--hair)}
#v-services .deliv li, #v-arch .deliv li, #v-hosp .deliv li, #v-int .deliv li, #v-adv .deliv li, #v-cons .deliv li{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair-2);
  font-size:15px;color:var(--cream-2);align-items:baseline}
#v-services .deliv .b, #v-arch .deliv .b, #v-hosp .deliv .b, #v-int .deliv .b, #v-adv .deliv .b, #v-cons .deliv .b{width:5px;height:5px;background:var(--bronze);border-radius:50%;display:block;transform:translateY(7px)}
#v-services .proof, #v-arch .proof, #v-hosp .proof, #v-int .proof, #v-adv .proof, #v-cons .proof{display:grid;gap:0;margin-top:24px;border-top:1px solid var(--hair)}
#v-services .proof a, #v-arch .proof a, #v-hosp .proof a, #v-int .proof a, #v-adv .proof a, #v-cons .proof a{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:12px 0;
  border-bottom:1px solid var(--hair-2);transition:padding .3s}
#v-services .proof a:hover, #v-arch .proof a:hover, #v-hosp .proof a:hover, #v-int .proof a:hover, #v-adv .proof a:hover, #v-cons .proof a:hover{padding-left:12px;color:var(--bronze)}
#v-services .proof .t, #v-arch .proof .t, #v-hosp .proof .t, #v-int .proof .t, #v-adv .proof .t, #v-cons .proof .t{font-family:"Instrument Serif",serif;font-size:19px}
#v-services .proof .m, #v-arch .proof .m, #v-hosp .proof .m, #v-int .proof .m, #v-adv .proof .m, #v-cons .proof .m{font-size:13px;color:var(--cream-3)}
#v-services .evi, #v-arch .evi, #v-hosp .evi, #v-int .evi, #v-adv .evi, #v-cons .evi{display:grid;gap:20px;margin-top:clamp(28px,5vh,54px)}
@media(min-width:800px){#v-services .evi, #v-arch .evi, #v-hosp .evi, #v-int .evi, #v-adv .evi, #v-cons .evi{grid-template-columns:repeat(3,1fr)}}
#v-services .evi img, #v-arch .evi img, #v-hosp .evi img, #v-int .evi img, #v-adv .evi img, #v-cons .evi img{width:100%;aspect-ratio:4/3;object-fit:cover}
#v-services .evi .sheet img, #v-arch .evi .sheet img, #v-hosp .evi .sheet img, #v-int .evi .sheet img, #v-adv .evi .sheet img, #v-cons .evi .sheet img{aspect-ratio:auto;object-fit:contain}
#v-services .chapcta, #v-arch .chapcta, #v-hosp .chapcta, #v-int .chapcta, #v-adv .chapcta, #v-cons .chapcta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:clamp(26px,4vh,44px);
  border-top:1px solid var(--hair);padding-top:22px}
/* ---------- specialist band ---------- */
#v-services .spec, #v-arch .spec, #v-hosp .spec, #v-int .spec, #v-adv .spec, #v-cons .spec{background:var(--raise)}
#v-services .spectwo, #v-arch .spectwo, #v-hosp .spectwo, #v-int .spectwo, #v-adv .spectwo, #v-cons .spectwo{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(26px,5vh,48px)}
@media(min-width:920px){#v-services .spectwo, #v-arch .spectwo, #v-hosp .spectwo, #v-int .spectwo, #v-adv .spectwo, #v-cons .spectwo{grid-template-columns:1fr 1fr}}
#v-services .card, #v-arch .card, #v-hosp .card, #v-int .card, #v-adv .card, #v-cons .card{background:var(--raise);padding:clamp(24px,3.4vw,42px)}
#v-services .card .role, #v-arch .card .role, #v-hosp .card .role, #v-int .card .role, #v-adv .card .role, #v-cons .card .role{font-variation-settings:"wdth" 84;font-weight:500;font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--bronze);margin:0 0 14px}
#v-services .stab, #v-arch .stab, #v-hosp .stab, #v-int .stab, #v-adv .stab, #v-cons .stab{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px}
#v-services .stab th, #v-arch .stab th, #v-hosp .stab th, #v-int .stab th, #v-adv .stab th, #v-cons .stab th, #v-services .stab td, #v-arch .stab td, #v-hosp .stab td, #v-int .stab td, #v-adv .stab td, #v-cons .stab td{text-align:left;padding:10px 0;border-bottom:1px solid var(--hair-2);vertical-align:top}
#v-services .stab th, #v-arch .stab th, #v-hosp .stab th, #v-int .stab th, #v-adv .stab th, #v-cons .stab th{font-variation-settings:"wdth" 84;font-weight:500;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream-3);width:38%}
#v-services .stab td, #v-arch .stab td, #v-hosp .stab td, #v-int .stab td, #v-adv .stab td, #v-cons .stab td{color:var(--cream-2)}
#v-services .guard, #v-arch .guard, #v-hosp .guard, #v-int .guard, #v-adv .guard, #v-cons .guard{border:1px solid var(--hair);padding:16px 18px;margin-top:24px}
#v-services .guard p, #v-arch .guard p, #v-hosp .guard p, #v-int .guard p, #v-adv .guard p, #v-cons .guard p{margin:0;font-size:14.5px}
/* ---------- service page ---------- */
#v-services .artg, #v-arch .artg, #v-hosp .artg, #v-int .artg, #v-adv .artg, #v-cons .artg{display:grid;gap:34px;padding:clamp(40px,6vh,80px) 0}
@media(min-width:1060px){#v-services .artg, #v-arch .artg, #v-hosp .artg, #v-int .artg, #v-adv .artg, #v-cons .artg{grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,5vw,84px);align-items:start}}
#v-services .side, #v-arch .side, #v-hosp .side, #v-int .side, #v-adv .side, #v-cons .side{position:sticky;top:96px;border-top:1px solid var(--hair)}
#v-services .side .r, #v-arch .side .r, #v-hosp .side .r, #v-int .side .r, #v-adv .side .r, #v-cons .side .r{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair-2)}
#v-services .side dt, #v-arch .side dt, #v-hosp .side dt, #v-int .side dt, #v-adv .side dt, #v-cons .side dt{margin:0}
#v-services .side dd, #v-arch .side dd, #v-hosp .side dd, #v-int .side dd, #v-adv .side dd, #v-cons .side dd{margin:0;font-size:14.5px;color:var(--cream-2)}
#v-services .side a, #v-arch .side a, #v-hosp .side a, #v-int .side a, #v-adv .side a, #v-cons .side a{color:var(--bronze)}
#v-services .phases, #v-arch .phases, #v-hosp .phases, #v-int .phases, #v-adv .phases, #v-cons .phases{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid var(--hair)}
#v-services .phases li, #v-arch .phases li, #v-hosp .phases li, #v-int .phases li, #v-adv .phases li, #v-cons .phases li{display:grid;gap:4px 24px;padding:16px 0;border-bottom:1px solid var(--hair-2)}
@media(min-width:760px){#v-services .phases li, #v-arch .phases li, #v-hosp .phases li, #v-int .phases li, #v-adv .phases li, #v-cons .phases li{grid-template-columns:190px 1fr}}
#v-services .phases b, #v-arch .phases b, #v-hosp .phases b, #v-int .phases b, #v-adv .phases b, #v-cons .phases b{font-family:"Instrument Serif",serif;font-weight:400;font-size:20px}
#v-services .phases span, #v-arch .phases span, #v-hosp .phases span, #v-int .phases span, #v-adv .phases span, #v-cons .phases span{font-size:15px;color:var(--cream-2)}
#v-services .faq, #v-arch .faq, #v-hosp .faq, #v-int .faq, #v-adv .faq, #v-cons .faq{margin-top:16px;border-top:1px solid var(--hair)}
#v-services .faq details, #v-arch .faq details, #v-hosp .faq details, #v-int .faq details, #v-adv .faq details, #v-cons .faq details{border-bottom:1px solid var(--hair-2)}
#v-services .faq summary, #v-arch .faq summary, #v-hosp .faq summary, #v-int .faq summary, #v-adv .faq summary, #v-cons .faq summary{cursor:pointer;padding:17px 0;list-style:none;display:flex;gap:16px;justify-content:space-between;
  align-items:baseline;font-family:"Instrument Serif",serif;font-size:clamp(19px,2.2vw,25px)}
#v-services .faq summary::-webkit-details-marker, #v-arch .faq summary::-webkit-details-marker, #v-hosp .faq summary::-webkit-details-marker, #v-int .faq summary::-webkit-details-marker, #v-adv .faq summary::-webkit-details-marker, #v-cons .faq summary::-webkit-details-marker{display:none}
#v-services .faq summary::after, #v-arch .faq summary::after, #v-hosp .faq summary::after, #v-int .faq summary::after, #v-adv .faq summary::after, #v-cons .faq summary::after{content:"+";color:var(--bronze);font-size:20px}
#v-services .faq details[open] summary::after, #v-arch .faq details[open] summary::after, #v-hosp .faq details[open] summary::after, #v-int .faq details[open] summary::after, #v-adv .faq details[open] summary::after, #v-cons .faq details[open] summary::after{content:"–"}
#v-services .faq p, #v-arch .faq p, #v-hosp .faq p, #v-int .faq p, #v-adv .faq p, #v-cons .faq p{padding-bottom:18px;margin:0;font-size:15.5px}
#v-services .cases, #v-arch .cases, #v-hosp .cases, #v-int .cases, #v-adv .cases, #v-cons .cases{display:grid;gap:22px;margin-top:20px}
@media(min-width:760px){#v-services .cases, #v-arch .cases, #v-hosp .cases, #v-int .cases, #v-adv .cases, #v-cons .cases{grid-template-columns:1fr 1fr}}
#v-services .cases img, #v-arch .cases img, #v-hosp .cases img, #v-int .cases img, #v-adv .cases img, #v-cons .cases img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:12px}
#v-services .handoff, #v-arch .handoff, #v-hosp .handoff, #v-int .handoff, #v-adv .handoff, #v-cons .handoff{background:var(--void-2);border-block:1px solid var(--hair)}
#v-services .handoff .in, #v-arch .handoff .in, #v-hosp .handoff .in, #v-int .handoff .in, #v-adv .handoff .in, #v-cons .handoff .in{max-width:var(--maxw);margin:0 auto;padding:14px var(--gut);display:flex;gap:14px;
  align-items:baseline;flex-wrap:wrap}
#v-services .handoff p, #v-arch .handoff p, #v-hosp .handoff p, #v-int .handoff p, #v-adv .handoff p, #v-cons .handoff p{margin:0;font-size:14px;max-width:none;color:var(--cream-3)}
/* ---- hospitality page ---- */
#v-services .scope, #v-arch .scope, #v-hosp .scope, #v-int .scope, #v-adv .scope, #v-cons .scope{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(26px,5vh,48px)}
@media(min-width:720px){#v-services .scope, #v-arch .scope, #v-hosp .scope, #v-int .scope, #v-adv .scope, #v-cons .scope{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){#v-services .scope, #v-arch .scope, #v-hosp .scope, #v-int .scope, #v-adv .scope, #v-cons .scope{grid-template-columns:repeat(3,1fr)}}
#v-services .scope>div, #v-arch .scope>div, #v-hosp .scope>div, #v-int .scope>div, #v-adv .scope>div, #v-cons .scope>div{background:var(--void);padding:clamp(20px,2.4vw,30px)}
#v-services .scope h3, #v-arch .scope h3, #v-hosp .scope h3, #v-int .scope h3, #v-adv .scope h3, #v-cons .scope h3{margin:0 0 9px}
#v-services .scope p, #v-arch .scope p, #v-hosp .scope p, #v-int .scope p, #v-adv .scope p, #v-cons .scope p{margin:0;font-size:14.5px}
#v-services .chips, #v-arch .chips, #v-hosp .chips, #v-int .chips, #v-adv .chips, #v-cons .chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
#v-services .chips li, #v-arch .chips li, #v-hosp .chips li, #v-int .chips li, #v-adv .chips li, #v-cons .chips li{font-variation-settings:"wdth" 86;font-weight:500;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cream-2);border:1px solid var(--hair);padding:6px 11px}
#v-services .evi figcaption strong, #v-arch .evi figcaption strong, #v-hosp .evi figcaption strong, #v-int .evi figcaption strong, #v-adv .evi figcaption strong, #v-cons .evi figcaption strong{color:var(--cream);font-weight:500}
#v-services .soonlbl, #v-arch .soonlbl, #v-hosp .soonlbl, #v-int .soonlbl, #v-adv .soonlbl, #v-cons .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-services [hidden], #v-arch [hidden], #v-hosp [hidden], #v-int [hidden], #v-adv [hidden], #v-cons [hidden]{display:none!important}

/* ===== pgStudio.tpl.html ===== */
#v-studio .split, #v-ali .split{display:grid;gap:30px}
@media(min-width:1000px){#v-studio .split, #v-ali .split{grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px);align-items:start}}
#v-studio .principles, #v-ali .principles{border-top:1px solid var(--hair);margin-top:clamp(30px,5vh,56px)}
#v-studio .principles article, #v-ali .principles article{display:grid;gap:8px 34px;padding:clamp(22px,3.4vh,36px) 0;border-bottom:1px solid var(--hair-2)}
@media(min-width:900px){#v-studio .principles article, #v-ali .principles article{grid-template-columns:76px 1fr 1.15fr;align-items:baseline}}
#v-studio .principles .n, #v-ali .principles .n{font-family:"Instrument Serif",serif;font-size:clamp(28px,3.4vw,48px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--bronze)}
#v-studio .principles h3, #v-ali .principles h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(21px,2.6vw,32px);line-height:1.05}
#v-studio .principles p, #v-ali .principles p{margin:0;font-size:15.5px}
#v-studio .numbers, #v-ali .numbers{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(30px,5vh,54px)}
@media(min-width:700px){#v-studio .numbers, #v-ali .numbers{grid-template-columns:repeat(4,1fr)}}
#v-studio .numbers div, #v-ali .numbers div{background:var(--void);padding:24px 22px}
#v-studio .numbers .v, #v-ali .numbers .v{font-family:"Instrument Serif",serif;font-size:clamp(34px,4.4vw,58px);line-height:1;color:var(--bronze)}
#v-studio .numbers p, #v-ali .numbers p{margin:10px 0 0;font-size:13.5px;color:var(--cream-3)}
#v-studio .portrait-l, #v-ali .portrait-l{position:relative}
#v-studio .portrait-l img, #v-ali .portrait-l img{width:100%;aspect-ratio:3/4;object-fit:cover}
#v-studio .bioq, #v-ali .bioq{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(28px,4.4vw,60px);
  line-height:1.02;letter-spacing:-.018em;max-width:18ch;margin:0}
#v-studio .timeline, #v-ali .timeline{border-top:1px solid var(--hair);margin-top:clamp(28px,5vh,50px)}
#v-studio .timeline div, #v-ali .timeline div{display:grid;gap:4px 30px;padding:16px 0;border-bottom:1px solid var(--hair-2)}
@media(min-width:760px){#v-studio .timeline div, #v-ali .timeline div{grid-template-columns:130px 1fr}}
#v-studio .timeline dt, #v-ali .timeline dt{margin:0;font-family:"Instrument Serif",serif;font-size:21px;color:var(--bronze)}
#v-studio .timeline dd, #v-ali .timeline dd{margin:0;font-size:15.5px;color:var(--cream-2)}
#v-studio .creds, #v-ali .creds{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(26px,4vh,44px)}
@media(min-width:820px){#v-studio .creds, #v-ali .creds{grid-template-columns:repeat(3,1fr)}}
#v-studio .creds div, #v-ali .creds div{background:var(--raise);padding:22px 24px}
#v-studio .creds p, #v-ali .creds p{margin:10px 0 0;font-size:14.5px}
#v-studio .pressrow, #v-ali .pressrow{border-top:1px solid var(--hair);margin-top:clamp(26px,4vh,44px)}
#v-studio .pressrow a, #v-ali .pressrow a{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:baseline;
  padding:16px 0;border-bottom:1px solid var(--hair-2);transition:padding .3s}
#v-studio .pressrow a:hover, #v-ali .pressrow a:hover{padding-left:12px;color:var(--bronze)}
#v-studio .pressrow .t, #v-ali .pressrow .t{font-family:"Instrument Serif",serif;font-size:clamp(19px,2.2vw,26px)}
#v-studio .soonlbl, #v-ali .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-studio [hidden], #v-ali [hidden]{display:none!important}

/* ===== pgApproach.tpl.html ===== */
#v-approach .intro{display:grid;gap:30px}
@media(min-width:1000px){#v-approach .intro{grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,80px);align-items:start}}
/* ---------- the comparator ---------- */
#v-approach .pair{margin-top:clamp(44px,7vh,96px);border-top:1px solid var(--hair);padding-top:clamp(28px,4vh,48px)}
#v-approach .pair .head{display:grid;gap:12px 34px;margin-bottom:22px}
@media(min-width:900px){#v-approach .pair .head{grid-template-columns:auto 1fr auto;align-items:baseline}}
#v-approach .pair .num{font-family:"Instrument Serif",serif;font-size:clamp(34px,4.4vw,64px);line-height:.8;
  color:transparent;-webkit-text-stroke:1px var(--bronze)}
#v-approach .pair h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(24px,3.4vw,44px);
  line-height:1.02;letter-spacing:-.014em;margin:0}
#v-approach .pair .where{font-variation-settings:"wdth" 84;font-weight:500;font-size:10.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--cream-3);white-space:nowrap}
#v-approach .cmp{position:relative;overflow:hidden;background:#fff;isolation:isolate;
  aspect-ratio:16/10;border:1px solid var(--hair)}
@media(max-width:700px){#v-approach .cmp{aspect-ratio:4/3}}
#v-approach .cmp .layer{position:absolute;inset:0}
#v-approach .cmp .layer img{width:100%;height:100%;object-fit:cover;display:block}
#v-approach .cmp .draw{background:#fff;display:grid;place-items:center;padding:clamp(10px,2vw,26px)}
#v-approach .cmp .draw img{object-fit:contain}
/* the drawing is revealed from the left up to --p */
#v-approach .cmp .draw{clip-path:inset(0 calc(100% - var(--p,50%)) 0 0)}
#v-approach .cmp .handle{position:absolute;top:0;bottom:0;left:var(--p,50%);width:2px;background:var(--bronze);
  z-index:3;pointer-events:none;translate:-1px 0}
#v-approach .cmp .knob{position:absolute;top:50%;left:var(--p,50%);z-index:4;translate:-50% -50%;pointer-events:none;
  width:46px;height:46px;border-radius:50%;background:var(--bronze);display:grid;place-items:center;
  color:#12110F;font-size:15px;letter-spacing:-1px;box-shadow:0 6px 26px -8px rgba(0,0,0,.8)}
#v-approach .cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;z-index:5;opacity:0;cursor:ew-resize;margin:0}
#v-approach .cmp input[type=range]:focus-visible{opacity:1;outline:3px solid var(--bronze);outline-offset:-3px;
  background:rgba(201,168,124,.12)}
#v-approach .cmp .tagL, #v-approach .cmp .tagR{position:absolute;top:14px;z-index:2;
  font-variation-settings:"wdth" 84;font-weight:600;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  padding:6px 11px;background:rgba(13,12,10,.72);color:var(--cream);backdrop-filter:blur(6px)}
#v-approach .cmp .tagL{left:14px}
#v-approach .cmp .tagR{right:14px}
#v-approach .pair .note{display:grid;gap:20px;margin-top:22px}
@media(min-width:900px){#v-approach .pair .note{grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,64px)}}
#v-approach .pair .note p{margin:0}
#v-approach .decided{border-top:1px solid var(--hair);padding-top:14px}
#v-approach .decided p{font-size:15px;color:var(--cream-2);margin:0}
#v-approach .decided .lbl{display:block;margin-bottom:8px}
#v-approach .rule{display:grid;gap:1px;background:var(--hair-2);border:1px solid var(--hair-2);margin-top:clamp(30px,5vh,56px)}
@media(min-width:820px){#v-approach .rule{grid-template-columns:repeat(3,1fr)}}
#v-approach .rule div{background:var(--void);padding:24px 24px 28px}
#v-approach .rule .n{font-family:"Instrument Serif",serif;font-size:clamp(30px,3.6vw,48px);line-height:1;color:var(--bronze)}
#v-approach .rule h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:21px;margin:12px 0 8px}
#v-approach .rule p{margin:0;font-size:15px;color:var(--cream-3)}

/* ===== pgInsights.tpl.html ===== */
/* index */
#v-insights .feature, #v-article .feature, #v-contact .feature{display:grid;gap:26px;padding-bottom:clamp(30px,5vh,56px);border-bottom:1px solid var(--hair)}
@media(min-width:960px){#v-insights .feature, #v-article .feature, #v-contact .feature{grid-template-columns:1.1fr .9fr;gap:clamp(34px,5vw,72px);align-items:center}}
#v-insights .feature img, #v-article .feature img, #v-contact .feature img{width:100%;aspect-ratio:4/3;object-fit:cover}
#v-insights .plist, #v-article .plist, #v-contact .plist{border-top:1px solid var(--hair);margin-top:clamp(30px,5vh,54px)}
#v-insights .plist a, #v-article .plist a, #v-contact .plist a{display:grid;gap:8px 34px;padding:clamp(22px,3.2vh,34px) 0;border-bottom:1px solid var(--hair-2);transition:padding .3s}
@media(min-width:960px){#v-insights .plist a, #v-article .plist a, #v-contact .plist a{grid-template-columns:130px 1.3fr .9fr;align-items:baseline}}
#v-insights .plist a:hover, #v-article .plist a:hover, #v-contact .plist a:hover{padding-left:16px}
#v-insights .plist a:hover h2, #v-article .plist a:hover h2, #v-contact .plist a:hover h2{color:var(--bronze)}
#v-insights .plist h2, #v-article .plist h2, #v-contact .plist h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(23px,3.1vw,38px);line-height:1.04;transition:color .3s}
#v-insights .plist p, #v-article .plist p, #v-contact .plist p{margin:0;font-size:15px;color:var(--cream-3)}
#v-insights .topics, #v-article .topics, #v-contact .topics{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
#v-insights .topics span, #v-article .topics span, #v-contact .topics span{font-variation-settings:"wdth" 84;font-weight:500;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;border:1px solid var(--hair);color:var(--cream-3);padding:8px 14px}
/* article */
#v-insights .artg, #v-article .artg, #v-contact .artg{display:grid;gap:34px;padding:clamp(38px,6vh,74px) 0}
@media(min-width:1060px){#v-insights .artg, #v-article .artg, #v-contact .artg{grid-template-columns:minmax(0,1fr) 260px;gap:clamp(38px,5vw,80px);align-items:start}}
#v-insights .body h2, #v-article .body h2, #v-contact .body h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(25px,3.4vw,42px);
  line-height:1.06;margin:clamp(34px,5vh,58px) 0 16px}
#v-insights .body h3, #v-article .body h3, #v-contact .body h3{font-family:"Instrument Serif",serif;font-weight:400;font-size:clamp(20px,2.4vw,27px);margin:28px 0 10px}
#v-insights .body p, #v-article .body p, #v-contact .body p{max-width:66ch;font-size:17px;line-height:1.72}
#v-insights .body p.first::first-letter, #v-article .body p.first::first-letter, #v-contact .body p.first::first-letter{font-family:"Instrument Serif",serif;float:left;font-size:76px;line-height:.76;
  padding:8px 14px 0 0;color:var(--bronze)}
#v-insights .body ul, #v-article .body ul, #v-contact .body ul{max-width:66ch;padding-left:20px;color:var(--cream-2)}
#v-insights .body li, #v-article .body li, #v-contact .body li{margin-bottom:9px}
#v-insights .pull, #v-article .pull, #v-contact .pull{border-left:2px solid var(--bronze);padding:6px 0 6px 24px;margin:clamp(28px,4vh,46px) 0;
  font-family:"Instrument Serif",serif;font-size:clamp(23px,3vw,36px);line-height:1.12;color:var(--cream);max-width:26ch}
#v-insights .feetable, #v-article .feetable, #v-contact .feetable{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
#v-insights .feetable th, #v-article .feetable th, #v-contact .feetable th, #v-insights .feetable td, #v-article .feetable td, #v-contact .feetable td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--hair-2);vertical-align:top}
#v-insights .feetable thead th, #v-article .feetable thead th, #v-contact .feetable thead th{font-variation-settings:"wdth" 84;font-weight:500;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cream-3);background:var(--void-2);border-bottom:1px solid var(--hair)}
#v-insights .feetable td:first-child, #v-article .feetable td:first-child, #v-contact .feetable td:first-child{font-family:"Instrument Serif",serif;font-size:19px}
#v-insights .feetable td, #v-article .feetable td, #v-contact .feetable td{color:var(--cream-2)}
#v-insights .callout, #v-article .callout, #v-contact .callout{border:1px solid var(--hair);padding:20px 22px;margin:clamp(26px,4vh,42px) 0}
#v-insights .callout p, #v-article .callout p, #v-contact .callout p{margin:0;max-width:none}
#v-insights .side, #v-article .side, #v-contact .side{position:sticky;top:96px;border-top:1px solid var(--hair)}
#v-insights .side .r, #v-article .side .r, #v-contact .side .r{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--hair-2)}
#v-insights .side dt, #v-article .side dt, #v-contact .side dt{margin:0}
#v-insights .side dd, #v-article .side dd, #v-contact .side dd{margin:0;font-size:14.5px;color:var(--cream-2)}
#v-insights .side a, #v-article .side a, #v-contact .side a{color:var(--bronze)}
#v-insights .tocbox, #v-article .tocbox, #v-contact .tocbox{margin-top:22px;border-top:1px solid var(--hair);padding-top:14px;display:grid;gap:9px}
#v-insights .tocbox a, #v-article .tocbox a, #v-contact .tocbox a{font-size:14px;color:var(--cream-2)}
#v-insights .tocbox a:hover, #v-article .tocbox a:hover, #v-contact .tocbox a:hover{color:var(--bronze)}
/* contact */
#v-insights .bigcta, #v-article .bigcta, #v-contact .bigcta{display:block;font-family:"Instrument Serif",serif;font-weight:400;
  font-size:clamp(40px,10vw,164px);line-height:.88;letter-spacing:-.03em;margin:16px 0 0}
#v-insights .form, #v-article .form, #v-contact .form{display:grid;gap:0;margin-top:clamp(30px,5vh,56px)}
@media(min-width:760px){#v-insights .form, #v-article .form, #v-contact .form{grid-template-columns:1fr 1fr;column-gap:clamp(26px,4vw,60px)}}
#v-insights .field, #v-article .field, #v-contact .field{border-bottom:1px solid var(--hair);padding:16px 0}
#v-insights .field label, #v-article .field label, #v-contact .field label{display:block;margin-bottom:8px}
#v-insights .field input, #v-article .field input, #v-contact .field input, #v-insights .field select, #v-article .field select, #v-contact .field select, #v-insights .field textarea, #v-article .field textarea, #v-contact .field textarea{width:100%;border:none;background:transparent;color:var(--cream);
  font-family:Archivo,sans-serif;font-weight:300;font-size:16.5px;padding:0;resize:vertical}
#v-insights .field select option, #v-article .field select option, #v-contact .field select option{background:#141210;color:#F3EEE7}
#v-insights .field.full, #v-article .field.full, #v-contact .field.full{grid-column:1/-1}
#v-insights .cgrid, #v-article .cgrid, #v-contact .cgrid{display:grid;gap:22px;margin-top:clamp(30px,5vh,56px);padding-top:26px;border-top:1px solid var(--hair)}
@media(min-width:760px){#v-insights .cgrid, #v-article .cgrid, #v-contact .cgrid{grid-template-columns:repeat(4,1fr)}}
#v-insights .cgrid p, #v-article .cgrid p, #v-contact .cgrid p{margin:9px 0 0;font-size:14.5px;color:var(--cream-2)}
#v-insights .soonlbl, #v-article .soonlbl, #v-contact .soonlbl{font-variation-settings:"wdth" 84;font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3);border:1px solid var(--hair);padding:1px 5px;margin-left:4px}
#v-insights [hidden], #v-article [hidden], #v-contact [hidden]{display:none!important}