/* Pencilbuddha v6 · Always sharpening */
:root{--rad:12px;
  --ink:#121110;--ink2:#1A1917;--ink3:#24221F;--pap:#F2EFE8;--pap2:#E7E2D7;--sa:#FF8A00;--sa2:#FFB65C;
  --mute:#8C877E;--line:rgba(242,239,232,.14);--lineD:rgba(18,17,16,.14);
  --fD:"Bricolage Grotesque","Arial Narrow",sans-serif;--fS:"Instrument Serif",Georgia,serif;--fB:"Instrument Sans",system-ui,sans-serif;
  --fScript:"Caveat Brush",cursive;--fSig:"Mrs Saint Delafield",cursive;
  --g:clamp(16px,3.2vw,48px);--hh:68px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--pap);font-family:var(--fB);font-size:16px;line-height:1.5;overflow-x:hidden}
body.is-loading{overflow:hidden}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--sa);outline-offset:3px}
.D{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;line-height:.86;letter-spacing:-.01em;font-variation-settings:"opsz" 96}
.Se{font-family:var(--fS);font-weight:400;font-stretch:100%;letter-spacing:-.01em;text-transform:uppercase}
.script{font-family:var(--fScript);color:var(--sa);line-height:.8;pointer-events:none;text-transform:none}
.lbl{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.lbl .dot{width:8px;height:8px;border-radius:50%;background:var(--sa)}
.ar{width:14px;height:14px}
.wai{width:18px;height:18px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
section{position:relative}

/* ---------- loader ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--sa);color:var(--ink);display:grid;place-items:center}
.ld-mark .mark{width:72px;height:auto}
.ld-mark .halo{stroke:var(--ink)}
.ld-t{position:absolute;left:0;right:0;bottom:28px;text-align:center;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.ld-n{position:absolute;right:var(--g);bottom:20px;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:clamp(40px,7vw,96px);line-height:1}
.loader.out{pointer-events:none}

/* ---------- header ---------- */
.hdr{position:fixed;z-index:60;top:0;left:0;right:0;height:var(--hh);display:flex;align-items:center;justify-content:space-between;padding:0 var(--g);color:var(--ink);transition:color .35s}
body.hdr-dark .hdr{color:var(--pap)}
.wm{display:flex;flex-direction:column;font-family:var(--fS);text-transform:uppercase;font-size:19px;line-height:.84;letter-spacing:-.01em}
.wm span:last-child{font-family:var(--fD);font-stretch:75%;font-weight:800}
.hdr-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--sa);display:grid;place-items:center}
.hdr-mark .mark{width:26px;height:auto}
.hdr-mark .halo{display:none}
.hdr-r{display:flex;gap:8px;align-items:center}
.pill-s{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--rad);background:var(--sa);color:var(--ink);font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.02em;transition:transform .25s,background .25s}
.pill-s:hover{transform:translateY(-2px);background:var(--sa2)}
.burger{width:38px;height:38px;border-radius:var(--rad);border:1.5px solid currentColor;display:grid;place-content:center;gap:5px}
.burger i{display:block;width:16px;height:2px;background:currentColor;transition:transform .3s}
.burger i:last-child{width:10px;justify-self:end}
.burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] i:last-child{width:16px;transform:translateY(-3.5px) rotate(-45deg)}
body.menu-open .hdr{color:var(--pap)}

/* ---------- menu ---------- */
.menu{position:fixed;inset:0;z-index:55;background:#1C1B19;display:grid;grid-template-columns:1fr 1fr;padding:calc(var(--hh) + 12px) var(--g) var(--g);gap:var(--g)}
.menu[hidden]{display:none}
.menu-ph{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
.menu-ph img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.8);border-radius:var(--rad)}
.menu-ph img:nth-child(2n){transform:translateY(8vh)}
.menu-l{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.menu-links{font-size:clamp(40px,min(6vw,9vh),96px);line-height:.95}
.menu-links a{position:relative;display:inline-block;transition:color .25s}
.menu-links a::after{content:"";position:absolute;left:-4%;right:-4%;top:52%;height:.09em;background:var(--sa);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.menu-links a:hover{color:var(--sa)}
.menu-links a:hover::after{transform:scaleX(1)}
.menu-f{margin-top:5vh;display:flex;gap:24px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);flex-wrap:wrap;justify-content:center}
.menu-f a:hover{color:var(--sa)}

/* ---------- hero ---------- */
.hero{height:100vh;height:100svh;min-height:560px;background:var(--pap);color:var(--ink);overflow:hidden;cursor:crosshair}
.contours{position:absolute;inset:0;width:100%;height:100%;color:#DDD7CB;pointer-events:none}
.hero-name{position:absolute;left:0;right:0;top:calc(var(--hh) + 2vh);display:flex;justify-content:space-between;padding:0 var(--g);font-size:clamp(84px,min(19vw,30vh),300px);color:var(--ink);pointer-events:none}
.hero-name span{display:block}
.hn2{font-family:var(--fS);font-weight:400;font-stretch:100%}
.hero-eb{position:absolute;left:var(--g);top:calc(var(--hh) + 2vh + clamp(84px,min(19vw,30vh),300px)*.9);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#6E6960;max-width:22ch;z-index:3}
.hero-fig{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:min(84vh,calc(100vh - var(--hh) - 20px));aspect-ratio:1100/1058;z-index:2}
.hero-ph,.hero-sk{position:absolute;inset:0;width:100%;height:100%}
.hero-sk{pointer-events:none}
.hero-tags{position:absolute;right:var(--g);top:44%;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.tag{display:inline-block;padding:7px 14px;border-radius:var(--rad);background:var(--ink);color:var(--pap);font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.02em}
.tag.t0{background:var(--sa);color:var(--ink);transform:rotate(-3deg)}
.tag.t1{transform:rotate(2deg)}
.tag.t2{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.tag.t3{transform:rotate(-1.5deg)}
.next{position:absolute;left:var(--g);bottom:var(--g);z-index:3;display:flex;flex-direction:column;gap:6px;width:200px;padding:14px;border:1.5px solid var(--ink);border-radius:var(--rad);background:rgba(242,239,232,.82);backdrop-filter:blur(6px);transition:background .25s,transform .25s}
.next:hover{background:var(--sa);transform:translateY(-3px)}
.next-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.next-t{font-size:26px}
.next-s{display:flex;align-items:center;gap:6px;font-size:13px}
.award{position:absolute;right:var(--g);bottom:var(--g);z-index:3;display:flex;flex-direction:column;align-items:center;gap:4px;width:150px;text-align:center;color:var(--ink)}
.award .laurel{width:96px}
.award span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;line-height:1.25}
.award b{display:block;font-family:var(--fD);font-stretch:75%;font-size:20px;letter-spacing:0}

/* ---------- ribbon ---------- */
.ribbon{background:var(--sa);color:var(--ink);overflow:hidden;white-space:nowrap;padding:12px 0;position:relative;z-index:3}
.mq-t{display:inline-flex;gap:22px;align-items:center;animation:mq 46s linear infinite;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:22px;text-transform:uppercase}
.mq-t i{font-style:normal}
@keyframes mq{to{transform:translateX(-33.333%)}}

/* ---------- message ---------- */
.msg{background:var(--ink)}
.msg-pin{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--hh) + 2vh) var(--g) 6vh;gap:clamp(16px,3vh,32px)}
.msg-t{font-size:clamp(34px,min(5.6vw,7.4vh),104px);max-width:17ch;line-height:.92}
.msg-t .w{color:#3A3733;transition:color .2s}
.msg-t .w.s{font-family:var(--fS);font-weight:400;font-stretch:100%}
.msg-t .w.on{color:var(--pap)}
.msg-t .w.s.on{color:var(--sa)}
.sig{font-family:var(--fSig);color:var(--sa);font-size:clamp(56px,8vh,110px);line-height:1;transform:rotate(-6deg);clip-path:inset(-60% 100% -60% -10%)}
.msg-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 22px;border-radius:var(--rad);font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.02em;transition:transform .25s,background .25s,color .25s}
.btn.s{background:var(--sa);color:var(--ink)}
.btn.s:hover{background:var(--sa2);transform:translateY(-2px)}
.btn.o{box-shadow:inset 0 0 0 1.5px currentColor}
.btn.o:hover{background:var(--pap);color:var(--ink)}

/* ---------- why ---------- */
.why{background:var(--ink);display:grid;grid-template-columns:minmax(200px,.8fr) 1.4fr;gap:var(--g);align-items:center;padding:8vh var(--g) 12vh;border-top:1px solid var(--line)}
.why-mark{justify-self:center;width:min(100%,clamp(160px,30vh,320px));aspect-ratio:1;border-radius:50%;background:var(--sa);display:grid;place-items:center}
.why-mark .mark{width:62%;height:auto}
.why-mark .halo{stroke:var(--ink)}
.why-t h2{font-size:clamp(36px,min(5vw,8vh),88px);margin:18px 0 22px}
.why-t h2 span{color:var(--sa)}
.why-t h2 em{font-style:normal}
.why-t p{max-width:58ch;color:#BDB7AB;font-size:clamp(16px,1.25vw,19px)}
.why-k{display:flex;gap:10px;margin-top:22px}
.why-k b{padding:8px 14px;border:1.5px solid var(--sa);border-radius:var(--rad);color:var(--sa);font-family:var(--fD);font-stretch:75%;font-size:15px;text-transform:uppercase}

/* ---------- story collage ---------- */
.story{background:var(--pap);color:var(--ink);padding:14vh var(--g) 16vh;overflow:hidden}
.story .contours{opacity:.7}
.story-h{position:relative;text-align:center;margin-bottom:10vh}
.story-h h2{font-size:clamp(52px,min(9vw,15vh),170px);margin-top:16px}
.story-h h2 .Se{color:var(--sa)}
.story-b{position:relative;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--g);row-gap:4vh;max-width:1400px;margin:0 auto}
.lead-line{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:var(--lineD)}
.lead-line i{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--ink);transform-origin:top;transform:scaleY(0)}
.lead-line b{position:absolute;left:50%;top:0;width:14px;height:22px;transform:translate(-50%,-4px);background:var(--sa);clip-path:polygon(0 0,100% 0,50% 100%)}
.ch{position:relative;grid-column:1/6;background:var(--pap);padding:4px 0}
.ch-r{grid-column:8/13}
.ch-yr{display:flex;gap:12px;align-items:baseline;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7A746A}
.ch-yr em{font-family:var(--fS);font-style:italic;font-size:22px;letter-spacing:0;text-transform:none;color:var(--sa)}
.ch h3{font-size:clamp(34px,min(4.2vw,7vh),72px);margin:10px 0 12px}
.ch-p{font-size:clamp(16px,1.25vw,19px);max-width:44ch;color:#3E3A35}
.chairs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:16px}
.chairs li{display:flex;flex-direction:column;padding:8px 10px;border:1.5px solid var(--ink);border-radius:var(--rad);font-size:13px;line-height:1.25}
.chairs li b{font-family:var(--fD);font-stretch:75%;font-size:17px;text-transform:uppercase}
.chairs li:nth-child(1),.chairs li:nth-child(6),.chairs li:nth-child(7){background:var(--sa)}
.snap{grid-column:8/12;transform:rotate(var(--r));background:#fff;padding:10px 10px 0;box-shadow:0 18px 40px -18px rgba(0,0,0,.35);align-self:start}
.snap-l{grid-column:2/6}
.snap.tall{grid-column-end:span 3}
.snap img{width:100%;aspect-ratio:4/3;object-fit:cover}
.snap.tall img{aspect-ratio:3/4}
.snap figcaption{display:flex;justify-content:space-between;gap:10px;padding:10px 2px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.snap figcaption span{color:#7A746A}
.sq{grid-column:2/6;padding:2vh 0}
.sq-r{grid-column:8/12}
.sq p{font-family:var(--fS);font-size:clamp(26px,2.6vw,42px);line-height:1.05}
.sig-s{display:block;font-family:var(--fSig);color:var(--sa);font-size:44px;margin-top:6px;transform:rotate(-5deg);transform-origin:left}
.rv{opacity:0;transform:translateY(40px)}
.snap.rv{transform:translateY(40px) rotate(var(--r))}

/* ---------- desk split ---------- */
.desk{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;background:var(--ink);height:min(88vh,860px)}
.dk{position:relative;overflow:hidden;border-radius:var(--rad);display:block}
.dk img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.55);transform:scale(1.04);transition:filter .6s,transform .9s cubic-bezier(.2,.7,.2,1)}
.dk:hover img{filter:grayscale(0) brightness(.7);transform:scale(1.1)}
.dk-t{position:absolute;left:0;right:0;bottom:0;padding:clamp(18px,3vw,40px);display:flex;flex-direction:column;gap:12px}
.dk-t b{font-size:clamp(54px,min(8vw,13vh),140px)}
.dk-t b .Se{color:var(--sa)}
.dk-t .lbl{color:var(--pap)}
.dk-a{position:absolute;right:clamp(18px,3vw,40px);bottom:clamp(18px,3vw,40px);width:56px;height:56px;border-radius:50%;background:var(--sa);color:var(--ink);display:grid;place-items:center;transition:transform .35s}
.dk-a .ar{width:20px;height:20px}
.dk:hover .dk-a{transform:rotate(45deg)}

/* ---------- big number ---------- */
.bigs{background:var(--ink);overflow:hidden}
.big-pin{height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--hh) + 10px) var(--g) 4vh}
.big-pin .lbl{position:absolute;top:calc(var(--hh) + 14px);left:var(--g)}
.big-n{display:flex;align-items:flex-start;font-size:clamp(150px,min(36vw,60vh),620px);line-height:.8;letter-spacing:-.03em;color:var(--pap);position:relative;z-index:1}
.big-n .pre{font-size:.42em;margin-top:.12em;color:var(--sa)}
.big-n .suf{font-size:.3em;margin-top:.14em;margin-left:.06em;font-family:var(--fS);font-weight:400;font-stretch:100%;color:var(--sa)}
.big-ph{position:absolute;z-index:2;left:50%;top:50%;width:clamp(180px,22vw,340px);transform:translate(-50%,-50%) rotate(-4deg) scale(.4);opacity:0;border:6px solid var(--pap);box-shadow:0 30px 60px -20px #000}
.big-ph img{width:100%;aspect-ratio:1000/626;object-fit:cover}
.big-cap{font-size:clamp(26px,min(3.4vw,5.4vh),56px);text-align:center;max-width:22ch;margin-top:3vh}
.big-cap .Se{color:var(--sa)}

/* ---------- ledger ---------- */
.ledger{background:var(--ink);padding:10vh var(--g) 12vh;border-top:1px solid var(--line)}
.led-h{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--g);margin-bottom:6vh;flex-wrap:wrap}
.led-h h2{font-size:clamp(46px,min(6.4vw,10vh),120px)}
.led-h h2 .Se{color:var(--sa)}
.led-h p{max-width:34ch;color:var(--mute);font-size:14px}
.led-g{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.st{padding:3vh 2vw 3vh 0;border-bottom:1px solid var(--line)}
.st:not(:nth-child(3n+1)){padding-left:2vw;border-left:1px solid var(--line)}
.st-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.st-n{font-size:clamp(64px,min(8vw,13vh),150px);margin:1.4vh 0 1vh;color:var(--pap)}
.st-n sup{font-family:var(--fS);font-weight:400;font-stretch:100%;font-size:.36em;vertical-align:top;margin-left:.08em;color:var(--sa);position:relative;top:.2em}
.st-c{color:#BDB7AB;font-size:15px;max-width:30ch}
.led-bars{margin-top:6vh;display:grid;gap:10px}
.lb{position:relative;height:52px;display:flex;align-items:center}
.lb span{position:relative;z-index:1;padding-left:14px;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:18px;color:var(--ink);mix-blend-mode:normal}
.lb i{position:absolute;left:0;top:0;bottom:0;background:var(--sa);transform-origin:left;transform:scaleX(0)}
.lb .lb1{width:max(2px,.06%);background:var(--sa)}
.lb:first-child span{color:var(--pap)}
.lb .lb2{width:100%}

/* ---------- services table ---------- */
.svc{background:var(--ink2);padding:12vh var(--g)}
.svc-h{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px var(--g);margin-bottom:5vh}
.svc-h .lbl{grid-column:1/-1}
.svc-h h2{font-size:clamp(46px,min(6.4vw,10vh),120px)}
.svc-h h2 .Se{color:var(--sa)}
.svc-h p{max-width:34ch;color:var(--mute)}
.sv-list{border-top:1px solid var(--line)}
.sv{border-bottom:1px solid var(--line)}
.sv-h{width:100%;display:grid;grid-template-columns:70px minmax(220px,1.1fr) 1.6fr 40px;gap:var(--g);align-items:center;padding:clamp(10px,1.6vh,18px) 12px;text-align:left;transition:background .25s,color .25s}
.sv-n{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:18px;color:var(--mute)}
.sv-t{font-size:clamp(26px,min(2.8vw,4.4vh),48px)}
.sv-d{color:#BDB7AB;font-size:15px}
.sv-x{width:22px;height:22px;position:relative;justify-self:end}
.sv-x::before,.sv-x::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:currentColor;transition:transform .3s}
.sv-x::after{transform:rotate(90deg)}
.sv-h:hover,.sv.open .sv-h{background:var(--sa);color:var(--ink)}
.sv-h:hover .sv-n,.sv-h:hover .sv-d,.sv.open .sv-n,.sv.open .sv-d{color:var(--ink)}
.sv.open .sv-x::after{transform:rotate(0)}
.sv-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}
.sv.open .sv-b{grid-template-rows:1fr}
.sv-b ul{overflow:hidden;display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 0 calc(70px + var(--g) + 12px)}
.sv.open .sv-b ul{padding-top:14px;padding-bottom:18px}
.sv-b li{padding:6px 12px;border:1.5px solid var(--line);border-radius:var(--rad);font-size:14px}

/* ---------- hall of fame ---------- */
.hall{background:var(--ink);padding:calc(var(--hh) + 4vh) var(--g) 8vh;min-height:100vh;display:flex;flex-direction:column}
.hall-h{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--g);margin-bottom:3vh;flex-wrap:wrap}
.hall-h h2{font-size:clamp(42px,min(5.6vw,9vh),104px);max-width:12ch}
.hall-h h2 .Se{color:var(--sa)}
.hall-h p{max-width:40ch;color:var(--mute);font-size:14px}
.hall-g{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.hof{position:relative;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:var(--rad);padding:10px;min-height:clamp(150px,22vh,260px);overflow:hidden;transition:border-color .3s,background .3s;text-align:left;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
.hof-img{position:absolute;inset:10px 10px 46px;overflow:hidden;border-radius:2px}
.hof-img img,.hof-img video{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(.85) brightness(.85);transition:filter .5s,transform .8s}
.hof-img video{position:absolute;inset:0}
.hof-c{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.hof-c b{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:18px;line-height:1}
.hof-c em{font-style:normal;font-size:11px;color:var(--mute);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.hof:hover,.hof:focus-visible{border-color:var(--sa);background:var(--ink3)}
.hof:hover .hof-img img,.hof:hover .hof-img video{filter:none;transform:scale(1.04)}
.hof:hover .hof-c b{color:var(--sa)}

/* ---------- reels ---------- */
.reels{background:var(--pap);color:var(--ink);min-height:100vh;display:grid;grid-template-columns:minmax(280px,.9fr) 1.4fr;align-items:center;gap:var(--g);padding:calc(var(--hh) + 3vh) var(--g) 6vh;overflow:hidden}
.rl-h h2{font-size:clamp(46px,min(6.2vw,10vh),118px);margin:16px 0 18px}
.rl-h h2 .Se{color:var(--sa)}
.rl-h>p{max-width:40ch;color:#4A463F}
.rl-now{margin-top:3vh;display:flex;flex-direction:column;gap:2px;min-height:52px}
.rl-now b{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:22px;text-transform:uppercase}
.rl-now span{color:#4A463F}
.rl-ctl{display:flex;gap:8px;margin-top:16px;align-items:center}
.rnd{width:50px;height:50px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:background .25s,color .25s}
.rnd svg{width:20px;height:20px}
.rnd:hover{background:var(--sa);border-color:var(--sa);color:var(--ink)}
.snd{height:50px;padding:0 18px;border-radius:999px;border:1.5px solid currentColor;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.snd[aria-pressed=true]{background:var(--ink);color:var(--pap)}
.rl-deck{position:relative;height:min(78vh,720px);display:grid;place-items:center}
.rl{position:absolute;left:50%;top:50%;height:min(66vh,620px);aspect-ratio:9/16;border-radius:var(--rad);overflow:hidden;background:#000;box-shadow:0 26px 50px -20px rgba(0,0,0,.45);transform-origin:50% 120%;border:4px solid #fff}
.rl img{width:100%;height:100%;object-fit:cover}
#rlv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.rl-sc{position:absolute;right:-2%;top:-2%;font-size:clamp(90px,13vw,220px);transform:rotate(-10deg);z-index:30}
.rl-foot{position:absolute;left:0;right:0;bottom:2.6vh;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#7A746A}

/* ---------- posts ---------- */
.posts{background:var(--pap);color:var(--ink);padding:10vh 0;overflow:hidden;border-top:1px solid var(--lineD)}
.pst-h{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--g);padding:0 var(--g);margin-bottom:5vh;flex-wrap:wrap}
.pst-h h2{font-size:clamp(46px,min(6.2vw,10vh),118px)}
.pst-h h2 .Se{color:var(--sa)}
.pst-h p{max-width:40ch;color:#4A463F}
.pst-row{overflow:hidden;padding:8px 0}
.pst-track{display:flex;gap:14px;width:max-content;animation:pst 70s linear infinite}
.pst-row[data-dir="1"] .pst-track{animation-direction:reverse}
.pst-row:hover .pst-track{animation-play-state:paused}
@keyframes pst{to{transform:translateX(-50%)}}
.pst{height:clamp(150px,24vh,250px);border-radius:var(--rad);overflow:hidden;flex:none;transition:transform .3s}
.pst img{height:100%;width:auto}
.pst:hover{transform:translateY(-6px) rotate(-1.5deg)}

/* ---------- clients ---------- */
.clients{background:var(--pap);color:var(--ink);padding:12vh 0 10vh;overflow:hidden;border-top:1px solid var(--lineD)}
.cl-sc{position:absolute;left:4vw;top:2vh;font-size:clamp(110px,17vw,280px);transform:rotate(-8deg);z-index:2;opacity:.95}
.cl-t{display:flex;gap:4vw;align-items:center;width:max-content;animation:pst 60s linear infinite;position:relative;z-index:1;padding:4vh 0}
.cl-t span{font-size:clamp(28px,3.2vw,52px);white-space:nowrap;line-height:1}
.cl-t .f1{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase}
.cl-t .f2{font-family:var(--fS);font-style:italic}
.cl-t .f3{font-family:var(--fB);font-weight:700;letter-spacing:-.02em}
.cl-t .f4{font-family:var(--fS);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(22px,2.4vw,40px)}

/* ---------- voices ---------- */
.voices{background:var(--pap);color:var(--ink);min-height:100vh;padding:calc(var(--hh) + 4vh) var(--g) 6vh;display:flex;flex-direction:column;border-top:1px solid var(--lineD)}
.vo-h h2{font-size:clamp(42px,min(5.6vw,9vh),104px);margin-top:14px}
.vo-h h2 .Se{color:var(--sa)}
.vo-stage{flex:1;position:relative;display:grid;margin:4vh 0}
.vo{grid-area:1/1;align-self:center;max-width:1100px;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.vo.on{opacity:1;visibility:visible}
.vo p{font-family:var(--fS);font-size:clamp(24px,min(2.7vw,4.6vh),46px);line-height:1.12}
.vo mark{background:var(--sa);color:var(--ink);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.vo figcaption{display:flex;align-items:center;gap:14px;margin-top:3vh}
.vo-av{width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--sa);display:grid;place-items:center;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:18px}
.vo figcaption b{display:block;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:22px;line-height:1}
.vo figcaption em{font-style:normal;color:#6E6960;font-size:14px}
.vo-ctl{display:flex;align-items:center;gap:8px}
.vo-dots{display:flex;gap:8px;margin-right:auto}
.vd{width:28px;height:4px;background:#CFC8BA;border-radius:2px;transition:background .3s,width .3s}
.vd.on{background:var(--ink);width:48px}

/* ---------- crew ---------- */
.crew{background:var(--ink);padding:12vh var(--g)}
.crew-h{display:grid;grid-template-columns:1fr auto;gap:12px var(--g);align-items:end;margin-bottom:5vh}
.crew-h .lbl{grid-column:1/-1}
.crew-h h2{font-size:clamp(42px,min(5.6vw,9vh),104px)}
.crew-h h2 .Se{color:var(--sa)}
.crew-h p{max-width:42ch;color:var(--mute)}
.crew-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cw{position:relative;border:1px solid var(--line);border-radius:var(--rad);padding:clamp(16px,2vw,26px);min-height:clamp(220px,32vh,320px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:border-color .3s,background .3s}
.cw-ini{position:absolute;right:-.04em;top:-.12em;font-size:clamp(110px,13vw,210px);color:var(--ink3);transition:color .35s}
.cw-b{position:relative}
.cw h3{font-size:clamp(28px,2.6vw,44px)}
.cw-r{color:var(--sa);font-size:14px;font-weight:600;margin:6px 0 10px}
.cw-d{color:#BDB7AB;font-size:15px;max-width:40ch}
.cw ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;max-height:0;overflow:hidden;transition:max-height .45s}
.cw li{padding:4px 10px;border:1px solid var(--line);border-radius:var(--rad);font-size:12px}
.cw-j{margin-top:12px;font-size:13px;color:var(--mute)}
.cw-j b{color:var(--pap);text-transform:uppercase;letter-spacing:.1em;font-size:11px;margin-right:6px}
.cw:hover,.cw:focus-visible{border-color:var(--sa);background:var(--ink2)}
.cw:hover ul,.cw:focus-visible ul{max-height:140px}
.cw:hover .cw-ini{color:#3A2A14}
.cw.lead{background:var(--sa);color:var(--ink);border-color:var(--sa)}
.cw.lead .cw-ini{color:rgba(18,17,16,.12)}
.cw.lead .cw-r,.cw.lead .cw-j b{color:var(--ink)}
.cw.lead .cw-d,.cw.lead .cw-j{color:#3A2A14}
.cw.lead li{border-color:rgba(18,17,16,.35)}

/* ---------- stage strip ---------- */
.stage{background:var(--ink);overflow:hidden;border-top:1px solid var(--line)}
.stage-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:4vh;padding:calc(var(--hh) + 2vh) 0 4vh}
.stage-h{padding:0 var(--g);display:grid;grid-template-columns:1fr auto;gap:12px var(--g);align-items:end}
.stage-h .lbl{grid-column:1/-1}
.stage-h h2{font-size:clamp(40px,min(5.2vw,8.4vh),98px)}
.stage-h h2 .Se{color:var(--sa)}
.stage-h p{max-width:38ch;color:var(--mute)}
.sg-track{display:flex;gap:14px;padding:0 var(--g);width:max-content}
.sg{flex:none;height:clamp(220px,46vh,460px);display:flex;flex-direction:column;gap:10px}
.sg img{height:calc(100% - 52px);width:auto;border-radius:var(--rad);filter:grayscale(.2)}
.sg figcaption{max-width:44ch;font-size:13px;color:#BDB7AB;line-height:1.35}
.sg figcaption b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sa);font-weight:600}

/* ---------- pencil times ---------- */
.press{background:var(--pap);color:var(--ink);padding:calc(var(--hh) + 4vh) var(--g) 10vh}
.np-mast{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:var(--g);border-bottom:3px double var(--ink);padding-bottom:12px}
.np-mast span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.np-mast span:last-child{text-align:right}
.np-mast h2{font-family:var(--fS);font-weight:400;font-size:clamp(48px,min(7.4vw,12vh),140px);line-height:.9;text-align:center}
.np-strap{text-align:center;font-family:var(--fS);font-style:italic;font-size:clamp(17px,1.4vw,22px);padding:12px 0;border-bottom:1px solid var(--ink);margin-bottom:3vh}
.np-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2vh var(--g)}
.np-c{display:flex;flex-direction:column;gap:6px;padding-bottom:2vh;border-bottom:1px solid var(--lineD)}
.np-lead{grid-column:span 2;grid-row:span 2}
.np-ph{position:relative;display:block;overflow:hidden;border-radius:2px;background:#ddd}
.np-ph img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .4s,transform .6s}
.np-lead .np-ph img{aspect-ratio:16/9}
.np-ph:hover img{filter:none;transform:scale(1.03)}
.np-play{position:absolute;right:8px;bottom:8px;padding:4px 10px;border-radius:999px;background:var(--sa);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.np-k{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8A5200;margin-top:6px}
.np-c h3{font-family:var(--fS);font-weight:400;font-size:clamp(22px,1.8vw,30px);line-height:1}
.np-lead h3{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(36px,3.8vw,64px);line-height:.88}
.np-c p:last-child{font-size:14px;color:#4A463F}
.np-lead p:last-child{font-size:17px;font-family:var(--fS);color:var(--ink)}

/* ---------- process (countdown) ---------- */
.proc{background:var(--ink);padding:12vh var(--g)}
.proc-h h2{font-size:clamp(42px,min(5.6vw,9vh),104px);margin-top:14px}
.proc-h h2 .Se{color:var(--sa)}
.cd-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:6vh 0 4vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cd{display:flex;align-items:baseline;gap:.08em;padding:2vh 0;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;line-height:.8}
.cd b{font-size:clamp(80px,min(11vw,18vh),210px);color:var(--pap)}
.cd i{font-style:normal;font-size:clamp(28px,min(3.4vw,5.4vh),64px);color:#4A463F}
.cd-sc{position:absolute;left:28%;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:clamp(70px,9vw,160px);white-space:nowrap}
.cd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g)}
.cd-steps span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--sa)}
.cd-steps h3{font-size:clamp(22px,1.9vw,32px);margin:10px 0}
.cd-steps p{color:#BDB7AB;font-size:15px}

/* ---------- precepts ---------- */
.rules{background:var(--pap);color:var(--ink);padding:12vh var(--g)}
.rules-h h2{font-size:clamp(42px,min(5.6vw,9vh),104px);margin:14px 0 5vh}
.rules-h h2 .Se{color:var(--sa)}
.pr-list{border-top:1px solid var(--ink)}
.pr{display:grid;grid-template-columns:70px 1.1fr 1fr;gap:var(--g);align-items:center;padding:clamp(14px,2.4vh,26px) 12px;border-bottom:1px solid var(--lineD);transition:background .25s}
.pr:hover{background:var(--sa)}
.pr-n{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:18px}
.pr h3{font-size:clamp(28px,min(3.2vw,5vh),56px)}
.pr p{font-size:16px;color:#3E3A35}

/* ---------- faq ---------- */
.faq{background:var(--pap);color:var(--ink);padding:10vh var(--g) 12vh;display:grid;grid-template-columns:.8fr 1.4fr;gap:var(--g);border-top:1px solid var(--lineD)}
.faq-h h2{font-size:clamp(42px,min(5.2vw,9vh),100px);margin-top:14px}
.faq-h h2 .Se{color:var(--sa)}
.faq-mark{width:120px;margin-top:4vh}
.faq-mark .mark{width:100%;height:auto}
.fq-list{border-top:1px solid var(--ink)}
.fq{border-bottom:1px solid var(--lineD)}
.fq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:clamp(12px,2vh,20px) 4px;cursor:pointer;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(20px,1.8vw,28px);line-height:1}
.fq summary::-webkit-details-marker{display:none}
.fq summary i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);position:relative;transition:background .25s,transform .3s}
.fq summary i::before,.fq summary i::after{content:"";position:absolute;left:9px;right:9px;top:14px;height:2px;background:var(--pap)}
.fq summary i::after{transform:rotate(90deg);transition:transform .3s}
.fq[open] summary i{background:var(--sa)}
.fq[open] summary i::after{transform:rotate(0)}
.fq summary:hover{color:#8A5200}
.fq p{padding:0 4px 20px;max-width:70ch;color:#3E3A35}

/* ---------- contact ---------- */
.contact{background:var(--ink);padding:12vh var(--g);display:grid;grid-template-columns:1fr 1fr;gap:var(--g);align-items:start}
.contact h2{font-size:clamp(52px,min(7.4vw,12vh),140px);margin:16px 0 20px}
.contact h2 .Se{color:var(--sa)}
.ct-n{color:#BDB7AB;max-width:44ch}
.ct-ways{margin-top:4vh;border-top:1px solid var(--line)}
.ct-ways li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.ct-ways a{display:flex;flex-direction:column;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:clamp(22px,2.2vw,34px);text-transform:uppercase;line-height:1}
.ct-ways a span{font-family:var(--fB);font-stretch:100%;font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--mute);margin-bottom:6px}
.ct-ways a:hover{color:var(--sa)}
.copy{height:34px;padding:0 14px;border-radius:var(--rad);border:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.copy:hover{border-color:var(--sa);color:var(--sa)}
.ct-loc{margin-top:16px;color:var(--mute);font-size:14px}
.ct-f{background:var(--ink2);border:1px solid var(--line);border-radius:var(--rad);padding:clamp(18px,2.4vw,32px);display:grid;gap:14px}
.ct-ft{font-size:30px}
.fld{display:grid;gap:6px}
.fld span,.paths legend{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.fld input,.fld textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--line);color:var(--pap);font:inherit;font-size:17px;padding:8px 0;outline:0;transition:border-color .25s;resize:vertical}
.fld input:focus,.fld textarea:focus{border-color:var(--sa)}
.paths{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.paths legend{margin-bottom:8px}
.chk input{position:absolute;opacity:0;pointer-events:none}
.chk span{display:inline-block;padding:7px 12px;border-radius:var(--rad);border:1px solid var(--line);font-size:13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chk input:checked+span{background:var(--sa);border-color:var(--sa);color:var(--ink)}
.chk input:focus-visible+span{outline:3px solid var(--sa);outline-offset:2px}
.ct-f .btn{justify-self:start;margin-top:6px}
.ct-ok{color:#BDB7AB;font-size:14px}
.ct-ok a{color:var(--sa);font-weight:700;text-decoration:underline}

/* ---------- footer ---------- */
.ft{background:var(--sa);padding:10px}
.ft-in{position:relative;background:var(--ink);border-radius:var(--rad);min-height:calc(100vh - 20px);display:flex;flex-direction:column;overflow:hidden;padding:calc(var(--hh) + 2vh) var(--g) 14px}
.ft-top{position:relative;text-align:center;z-index:2}
.ft-big{font-size:clamp(54px,min(8.4vw,13vh),160px)}
.ft-big .Se{color:var(--sa)}
.ft-sig{position:absolute;left:50%;top:-4vh;transform:translateX(-30%) rotate(-8deg);font-size:clamp(70px,10vh,140px);opacity:.95;z-index:3}
.ft-mid{flex:1;position:relative;display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:end;gap:var(--g)}
.ft-ph{height:min(52vh,520px);width:auto;margin:0 auto;align-self:end;filter:grayscale(1) contrast(1.08)}
.ft-col{display:flex;flex-direction:column;gap:2px;align-self:center;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(20px,1.8vw,28px);line-height:1.05}
.ft-col.r{text-align:right;align-items:flex-end}
.ft-col p{font-family:var(--fB);font-stretch:100%;font-weight:600;font-size:11px;letter-spacing:.14em;color:var(--mute);margin-bottom:8px}
.ft-col a:hover{color:var(--sa)}
.ft-cl{overflow:hidden;border-top:1px solid var(--line);padding:12px 0;margin:0 calc(var(--g) * -1)}
.ft-cl-t{display:flex;gap:44px;width:max-content;animation:pst 60s linear infinite;font-family:var(--fS);font-size:20px;color:#8C877E;white-space:nowrap}
.ft-cta{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:3}
.ft-cta:hover{transform:translate(-50%,-2px)}
.ft-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);padding-top:10px;border-top:1px solid var(--line)}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:90;background:rgba(10,9,8,.86);backdrop-filter:blur(6px);display:grid;place-items:center;padding:var(--g)}
.modal[hidden]{display:none}
.md-in{position:relative;width:min(1100px,100%);max-height:calc(100vh - 2*var(--g));overflow:auto;background:var(--ink2);border:1px solid var(--line);border-radius:var(--rad);display:grid;grid-template-columns:1.3fr 1fr}
.md-in.solo{grid-template-columns:1fr;width:auto;max-width:min(1100px,100%);background:transparent;border:0}
.md-media{background:#000;display:grid;place-items:center;min-height:200px}
.md-media img,.md-media video{width:100%;height:100%;max-height:calc(100vh - 2*var(--g));object-fit:contain}
.md-txt{padding:clamp(20px,2.6vw,36px);display:flex;flex-direction:column;gap:12px}
.md-in.solo .md-txt{padding:12px 0 0;background:transparent}
.md-txt h3{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(34px,3.6vw,56px);line-height:.88}
.md-txt .md-ind{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sa);font-weight:600}
.md-txt p{color:#BDB7AB}
.md-stats{display:flex;gap:24px;margin:6px 0}
.md-stats b{display:block;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:40px;line-height:1;color:var(--pap)}
.md-stats span{font-size:12px;color:var(--mute)}
.md-did{display:flex;flex-wrap:wrap;gap:6px}
.md-did li{padding:5px 10px;border-radius:var(--rad);border:1px solid var(--line);font-size:12px}
.md-txt .btn{align-self:flex-start;margin-top:auto}
.md-x{position:absolute;right:10px;top:10px;z-index:2;width:42px;height:42px;border-radius:50%;background:var(--sa);color:var(--ink);font-size:26px;line-height:1}

/* ---------- mobile ---------- */
@media (max-width:860px){
  :root{--hh:60px}
  .hdr-mark{display:none}
  .pill-s{height:36px;padding:0 12px;font-size:13px}
  .menu{grid-template-columns:1fr;align-content:center}
  .menu-ph{display:none}
  .hero{height:auto;min-height:100svh;display:flex;flex-direction:column;padding-top:var(--hh)}
  .hero-name{position:relative;top:auto;flex-direction:column;align-items:flex-start;font-size:clamp(72px,24vw,150px);padding-top:3vh;line-height:.84}
  .hn2{align-self:flex-end}
  .hero-eb{position:relative;left:auto;top:auto;padding:12px var(--g) 0;max-width:none}
  .hero-fig{position:relative;left:auto;transform:none;height:auto;width:100%;margin-top:auto}
  .hero-tags{top:auto;bottom:38%;right:12px;gap:6px}
  .tag{font-size:12px;padding:5px 10px}
  .next{left:12px;bottom:12px;width:170px;padding:10px}
  .next-t{font-size:20px}
  .award{display:none}
  .why{grid-template-columns:1fr;padding:8vh var(--g)}
  .why-mark{width:150px}
  .story-b{grid-template-columns:1fr;row-gap:5vh}
  .lead-line{left:6px}
  .ch,.ch-r,.snap,.snap-l,.snap.tall,.sq,.sq-r{grid-column:1/-1;padding-left:26px}
  .snap,.snap.tall{width:auto;margin-left:26px;padding:8px 8px 0}
  .snap.tall{max-width:70%}
  .desk{grid-template-columns:1fr;height:auto}
  .dk{height:52vh}
  .big-pin{height:auto;min-height:80vh;padding-top:calc(var(--hh) + 50px)}
  .big-ph{position:relative;left:auto;top:auto;transform:rotate(-3deg);opacity:1;margin-top:3vh;width:70%}
  .led-g{grid-template-columns:1fr 1fr}
  .st:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .st:nth-child(2n){padding-left:4vw!important;border-left:1px solid var(--line)!important}
  .svc-h,.crew-h,.stage-h{grid-template-columns:1fr}
  .sv-h{grid-template-columns:36px 1fr 26px;gap:12px;padding:14px 4px}
  .sv-d{grid-column:2/3;grid-row:2;font-size:14px}
  .sv-x{grid-row:1}
  .sv-b ul{padding-left:52px}
  .hall{min-height:0}
  .hall-g{grid-template-columns:1fr 1fr}
  .hof{min-height:170px}
  .hof-c{flex-direction:column;gap:2px}
  .hof-c em{text-align:left;max-width:100%}
  .reels{grid-template-columns:1fr;padding-bottom:10vh}
  .rl-deck{height:72vh}
  .rl{height:58vh}
  .rl-sc{right:0}
  .crew-g{grid-template-columns:1fr}
  .cw ul{max-height:none}
  .stage-pin{height:auto;padding:10vh 0}
  .sg-track{overflow-x:auto;width:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
  .sg{height:300px;scroll-snap-align:start}
  .np-mast{grid-template-columns:1fr}
  .np-mast span,.np-mast span:last-child{text-align:center}
  .np-g{grid-template-columns:1fr 1fr}
  .np-lead{grid-column:1/-1;grid-row:auto}
  .cd-row{grid-template-columns:1fr 1fr}
  .cd-sc{left:10%}
  .cd-steps{grid-template-columns:1fr}
  .pr{grid-template-columns:40px 1fr;gap:12px}
  .pr p{grid-column:2}
  .faq,.contact{grid-template-columns:1fr}
  .ft-mid{grid-template-columns:1fr 1fr}
  .ft-ph{grid-column:1/-1;grid-row:2;height:40vh}
  .ft-cta{bottom:100px}
  .ft-b{flex-direction:column;gap:4px}
  .md-in{grid-template-columns:1fr}
}
@media (max-width:520px){
  .np-g{grid-template-columns:1fr}
  .led-g{grid-template-columns:1fr}
  .st:nth-child(2n){padding-left:0!important;border-left:0!important}
}
@media (prefers-reduced-motion:reduce){
  .mq-t,.pst-track,.cl-t,.ft-cl-t{animation:none}
  .rv{opacity:1!important;transform:none!important}
}

/* v6 pass 2 */
.msg-t{font-size:clamp(30px,min(4.6vw,5.9vh),88px);max-width:21ch}
.dk::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,17,16,0) 35%,rgba(18,17,16,.92) 100%);pointer-events:none}
.dk-t{z-index:1}
.dk img{object-position:50% 30%}
.rl-h{position:relative;z-index:40}
.rl-deck{z-index:1}
.cw{min-height:clamp(200px,27vh,290px)}
.crew{padding:calc(var(--hh) + 4vh) var(--g) 8vh}
.cd-sc{left:auto;right:1%;top:-.35em;transform:rotate(-8deg);font-size:clamp(56px,6.4vw,112px)}
.ft-sig{top:-9vh;left:56%;transform:rotate(-8deg);font-size:clamp(80px,13vh,170px)}
.ct-f{grid-template-columns:1fr 1fr;column-gap:20px}
.ct-ft,.paths,.ct-f .fld:has(textarea),.ct-f .btn,.ct-ok{grid-column:1/-1}
.contact{padding:calc(var(--hh) + 4vh) var(--g) 8vh}
.contact h2{font-size:clamp(48px,min(6.4vw,10.5vh),130px)}
@media (max-width:860px){.ct-f{grid-template-columns:1fr}.cd-sc{top:-.5em}}
html,body{overflow-x:clip}
@media (max-width:860px){
  .sv-n{grid-column:1;grid-row:1}
  .sv-t{grid-column:2;grid-row:1;font-size:26px}
  .sv-x{grid-column:3;grid-row:1}
  .sv-d{grid-column:2/4;grid-row:2}
  .ft-sig{left:auto;right:4%;top:-7vh;font-size:72px}
  .hero-fig{max-width:520px;align-self:center}
}
/* v6 pass 3: fit */
@media (min-width:861px){
  .big-n{font-size:clamp(130px,min(30vw,44vh),560px)}
  .big-ph{left:auto;right:12%;top:30%;transform:translate(0,-50%) rotate(-4deg) scale(.4);width:clamp(170px,min(20vw,30vh),320px)}
  .hall{height:100vh;min-height:560px}
  .hall-g{grid-template-rows:repeat(3,minmax(0,1fr));min-height:0}
  .hof{min-height:0}
  .cw{min-height:clamp(170px,24vh,280px)}
  .cd-sc{top:-.95em;right:2%}
  .cl-sc{font-size:clamp(90px,12vw,200px);top:-2vh;opacity:.9}
}

/* =================== v6.1 · motion + illustration layer =================== */
.dr,.pd{stroke-dasharray:1;stroke-dashoffset:0}
/* custom cursor */
.cur,.cur-r{position:fixed;left:0;top:0;z-index:95;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}
.cur{width:8px;height:8px;background:var(--sa);mix-blend-mode:normal}
.cur-r{width:38px;height:38px;border:1.5px solid var(--sa);display:grid;place-items:center;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:0;color:var(--ink);transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),background .3s,font-size .2s}
.cur-r.lab{width:86px;height:86px;background:var(--sa);font-size:15px}
.cur-r.hov{width:60px;height:60px;background:rgba(255,138,0,.15)}
html.has-cur,html.has-cur a,html.has-cur button,html.has-cur summary,html.has-cur label{cursor:none}
html.has-cur .hero{cursor:none}
/* split headings */
.wm-o{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.wm-i{display:inline-block;will-change:transform}
/* story: illustrated chapters */
.ch-art{width:clamp(180px,17vw,250px);margin-bottom:10px}
.ch-art svg{width:100%;height:auto;overflow:visible}
.ch-r .ch-art{margin-left:0}
#leadtip{background:none;clip-path:none;width:22px;height:82px;top:0;transform:translate(-50%,-78px);transform-origin:50% 100%}
#leadtip .pdown{width:100%;height:100%}
.lead-line i{background:var(--sa);width:3px;left:-.5px}
/* services */
.svc{overflow:hidden}
.sv-h{grid-template-columns:56px 56px minmax(220px,1.1fr) 1.6fr 40px}
.sv-i{width:46px;height:46px;border-radius:50%;background:var(--pap);display:grid;place-items:center;transition:transform .5s cubic-bezier(.3,1.6,.4,1),background .3s}
.sv-i svg{width:30px;height:30px}
.sv-h:hover .sv-i,.sv.open .sv-i{transform:rotate(-14deg) scale(1.15);background:var(--ink)}
.sv-t{position:relative;display:block;overflow:hidden;height:.9em;line-height:.9}
.sv-t span{display:block;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.sv-h:hover .sv-t span,.sv.open .sv-t span{transform:translateY(-100%)}
.sv-h{position:relative;overflow:hidden;background:none!important}
.sv-h::before{content:"";position:absolute;inset:0;background:var(--sa);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.sv-h:hover::before,.sv.open .sv-h::before{transform:scaleY(1);transform-origin:top}
.sv-h>*{position:relative}
.sv-prev{position:fixed;left:0;top:0;z-index:20;width:230px;height:230px;border-radius:50%;background:var(--pap);display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.3);box-shadow:0 30px 60px -20px #000}
.sv-prev svg{width:58%;height:58%}
.sv-prev .pd,.sv-prev path{stroke-dasharray:none}
/* hall of fame */
.hall-g{perspective:1200px}
.hof{transform-style:preserve-3d;will-change:transform}
.hof-no{position:absolute;left:14px;top:12px;z-index:2;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;padding:3px 7px;border-radius:var(--rad);background:var(--ink);color:var(--sa)}
.hof-sh{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,180,90,.28),transparent 45%);opacity:0;transition:opacity .3s}
.hof:hover .hof-sh{opacity:1}
/* ledger cards */
.lg4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.lgc{background:var(--pap);color:var(--ink);border-radius:var(--rad);padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.lgc-art{height:clamp(120px,22vh,210px);display:grid;place-items:center;color:var(--ink)}
.lgc-art>svg,.lgc-art>div{max-height:100%;width:100%}
.lg-plots{height:100%}
.plot{fill:var(--pap2);stroke:var(--ink);stroke-width:3}
.plot.sold{fill:var(--sa)}
.lg-coins,.lgc-art .lg-art{height:100%}
.lg-bars{display:flex;flex-direction:column;gap:12px;justify-content:center;height:100%}
.lg-bars .bar{position:relative;height:40px;border:2.5px solid var(--ink);border-radius:var(--rad);overflow:hidden;display:flex;align-items:center}
.lg-bars .bar span{position:relative;z-index:1;padding-left:10px;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:14px;text-transform:uppercase}
.lg-bars .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--sa);transform-origin:left}
.lg-bars .b1{width:1.5%}.lg-bars .b2{width:100%}
.lg-bars .ratio{font-size:14px}.lg-bars .ratio b{font-family:var(--fD);font-stretch:75%;font-size:26px}
.lg-pins{position:relative;height:100%;aspect-ratio:1;margin:0 auto}
.globe{width:100%;height:100%}
.globe .mer{transform-origin:100px 100px}
.cpin{position:absolute;left:50%;top:50%;padding:3px 8px;border-radius:var(--rad);background:var(--ink);color:var(--pap);font-size:11px;font-weight:700;white-space:nowrap;transform:translate(-50%,-50%)}
.cpin:nth-of-type(1){left:66%;top:52%;background:var(--sa);color:var(--ink)}
.cpin:nth-of-type(2){left:72%;top:68%}
.cpin:nth-of-type(3){left:36%;top:60%}
.cpin:nth-of-type(4){left:76%;top:84%}
.cpin:nth-of-type(5){left:22%;top:26%}
.cpin:nth-of-type(6){left:40%;top:16%}
.cpin:nth-of-type(7){left:14%;top:44%}
.lgc-l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#6E6960}
.lgc-n{font-size:clamp(56px,min(6vw,10vh),110px);margin:6px 0}
.lgc-n .pre{color:#C46400;font-size:.6em}
.lgc-n sup{font-family:var(--fS);font-weight:400;font-stretch:100%;font-size:.38em;color:#C46400;vertical-align:top;position:relative;top:.15em}
.lgc-c{font-size:14px;color:#4A463F}
.lg-mini{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px;border:1px solid var(--line);border-radius:var(--rad)}
.lg-mini li{padding:14px 18px;display:flex;align-items:baseline;gap:12px}
.lg-mini li+li{border-left:1px solid var(--line)}
.lg-mini b{font-size:clamp(34px,3.4vw,54px);color:var(--sa)}
.lg-mini span{font-size:13px;color:var(--mute)}
.ledger{padding:calc(var(--hh) + 3vh) var(--g) 8vh}
.led-h{margin-bottom:3vh}
/* practice */
.proc{padding:calc(var(--hh) + 3vh) var(--g) 6vh;overflow:hidden}
.pc-scene{position:relative;margin-top:4vh}
.pc-line{position:absolute;left:0;right:0;top:calc(clamp(110px,20vh,180px) + 26px);width:100%;height:40px;overflow:visible}
.pc-track{fill:none;stroke:var(--line);stroke-width:3;vector-effect:non-scaling-stroke;stroke-dasharray:6 8}
.pc-draw{fill:none;stroke:var(--sa);stroke-width:4;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}
.pc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g);position:relative}
.ps{opacity:.32;transition:opacity .5s}
.ps.on{opacity:1}
.ps-art{height:clamp(110px,20vh,180px);background:var(--pap);border-radius:var(--rad);display:grid;place-items:center;padding:10px;transform:translateY(16px) scale(.94);transition:transform .7s cubic-bezier(.2,1.4,.4,1)}
.ps.on .ps-art{transform:none}
.ps-art svg{height:100%;width:auto;max-width:100%}
.ps-dot{width:20px;height:20px;border-radius:50%;background:var(--ink);border:3px solid var(--line);margin:18px 0 14px;transition:background .4s,border-color .4s,transform .4s}
.ps.on .ps-dot{background:var(--sa);border-color:var(--sa);transform:scale(1.25)}
.ps .cd{padding:0;display:flex;align-items:baseline;gap:.08em;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;line-height:1}
.ps .cd b{font-size:clamp(64px,min(7.6vw,12vh),150px);color:var(--pap);line-height:1;display:inline-flex}
.ps .cd i{font-style:normal;font-size:clamp(22px,2.4vw,40px);color:#5A554D}
.odc{display:inline-block;height:1em;overflow:hidden}
.odi{display:flex;flex-direction:column}
.odi span{height:1em;line-height:1}
.ps-s{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--sa);margin-top:8px}
.ps h3{font-size:clamp(20px,1.7vw,30px);margin:8px 0}
.ps p{color:#BDB7AB;font-size:14px}
.pc-scene .cd-sc{position:absolute;right:0;top:-12vh;left:auto;transform:rotate(-8deg);font-size:clamp(50px,5.6vw,100px);clip-path:inset(-60% 100% -60% -10%)}
/* precepts */
.rules{padding:calc(var(--hh) + 3vh) var(--g) 6vh}
.rules-h h2{margin:12px 0 3vh}
.pr-scene{display:grid;grid-template-columns:minmax(240px,.8fr) 1.6fr;gap:var(--g);align-items:stretch;position:relative}
.pr-nav{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.pn{width:100%;text-align:left;display:flex;gap:14px;align-items:baseline;padding:clamp(10px,1.8vh,18px) 6px;border-bottom:1px solid var(--lineD);font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(18px,1.6vw,26px);line-height:1;color:#9C968B;transition:color .3s,padding .4s,background .3s}
.pn span{font-size:13px;color:inherit}
.pn.on{color:var(--ink);padding-left:16px;background:var(--sa)}
.pr-stage{position:relative;min-height:clamp(320px,56vh,560px);background:var(--ink);color:var(--pap);border-radius:var(--rad);overflow:hidden}
.prc{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;gap:var(--g);align-items:center;padding:clamp(18px,3vw,44px);opacity:0;visibility:hidden}
.prc.on{opacity:1;visibility:visible}
.prc-art{background:var(--pap);border-radius:var(--rad);padding:12px;height:100%;max-height:44vh;display:grid;place-items:center}
.prc-art svg{width:100%;height:100%;max-height:40vh}
.prc-art .pt{font-family:var(--fB);font-weight:700;font-size:15px;fill:var(--ink)}
.prc-n{font-size:clamp(70px,min(8vw,13vh),150px);color:var(--sa)}
.prc-n span{font-size:.3em;color:#5A554D}
.prc h3{font-size:clamp(30px,min(3.4vw,6vh),62px);margin:10px 0 14px}
.prc p{color:#BDB7AB;font-size:clamp(15px,1.2vw,19px)}
.pr-prog{position:absolute;left:0;right:0;bottom:-14px;height:3px;background:var(--lineD)}
.pr-prog i{position:absolute;inset:0;background:var(--sa);transform-origin:left;transform:scaleX(.2)}
@media (max-width:860px){
  .sv-h{grid-template-columns:36px 1fr 26px}
  .sv-i{display:none}
  .lg4{grid-template-columns:1fr 1fr}
  .lg-mini{grid-template-columns:1fr 1fr}
  .lg-mini li:nth-child(3){border-left:0}
  .lg-mini li:nth-child(n+3){border-top:1px solid var(--line)}
  .pc-line{display:none}
  .pc-steps{grid-template-columns:1fr;gap:5vh}
  .ps{opacity:1}
  .pc-scene .cd-sc{position:relative;top:auto;right:auto;display:block;margin-bottom:2vh}
  .pr-scene{grid-template-columns:1fr}
  .pr-nav,.pr-prog{display:none}
  .pr-stage{background:none;min-height:0;display:grid;gap:12px}
  .prc{position:relative;inset:auto;opacity:1;visibility:visible;grid-template-columns:1fr;background:var(--ink);border-radius:var(--rad)}
  .prc-art{max-height:none;height:auto}
  .ch-art{width:170px}
}
@media (max-width:520px){.lg4{grid-template-columns:1fr}}
.sv-h{isolation:isolate}
.prc .prc-n{font-size:clamp(70px,min(8vw,13vh),150px);color:var(--sa);line-height:.85}
.prc .prc-n span{font-size:.3em;color:#5A554D}
.prc-art{aspect-ratio:3/2;height:auto;width:100%}
.pc-scene .cd-sc{right:5%}
.why-t h2 .wm-o{color:inherit}
.np-mast h2 span{font-size:inherit;letter-spacing:inherit;text-transform:none;font-weight:inherit;text-align:inherit}
.why-t h2 .wm-i{color:inherit}

/* v6.2 hero: shrinks into a frame, signature pops */
.hero{background:var(--ink)}
.hero-stage{position:absolute;inset:0;background:var(--pap);overflow:hidden;will-change:clip-path}
.hero-back{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:2vh;overflow:hidden;color:var(--pap);pointer-events:none}
.hb-row{display:flex;gap:.3em;white-space:nowrap;font-size:clamp(80px,min(15vw,24vh),260px);line-height:.9;width:max-content}
.hb-row em{font-family:var(--fS);font-style:normal;font-weight:400;font-stretch:100%;color:var(--sa)}
.hb-row i{font-style:normal;color:#3A3733;font-size:.6em;align-self:center}
.hb2{color:#2C2A27}
.hb2 em{color:#3A3733}
.hero-sig{position:absolute;left:50%;top:50%;z-index:6;pointer-events:none;transform:translate(-50%,-50%) rotate(-10deg);opacity:0}
.hero-sig span{display:block;font-family:var(--fSig);color:var(--sa);font-size:clamp(150px,min(24vw,40vh),420px);line-height:1;white-space:nowrap;text-shadow:0 6px 30px rgba(0,0,0,.35);clip-path:inset(-60% 100% -60% -10%)}
.hero-cap{position:absolute;left:50%;bottom:6vh;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pap);opacity:0;white-space:nowrap}
.hero-cap .dot{width:8px;height:8px;border-radius:50%;background:var(--sa)}
@media (max-width:860px){
  .hero-back,.hero-sig,.hero-cap{display:none}
  .hero-stage{position:relative;inset:auto;min-height:100svh;display:flex;flex-direction:column}
  .hero{padding-top:0}
  .hero-stage{padding-top:var(--hh)}
}

/* =================== v6.2 · editorial timeline + studio data visuals =================== */
/* story */
.story{padding:0;background:var(--pap);color:var(--ink);overflow:hidden}
.tl-pin{height:100vh;display:flex;flex-direction:column;padding:calc(var(--hh) + 2vh) 0 4vh}
.tl-top{padding:0 var(--g);display:grid;grid-template-columns:auto 1fr;gap:var(--g);align-items:end}
.tl-head h2{font-size:clamp(38px,min(4.4vw,7.4vh),84px);margin-top:10px}
.tl-head h2 .Se{color:var(--sa)}
.tl-ruler{position:relative;height:46px;margin:0 2vw 6px 3vw}
.tl-base{position:absolute;left:0;right:0;top:12px;height:1px;background:var(--lineD)}
.tl-fill{position:absolute;left:0;right:0;top:11px;height:3px;background:var(--sa);transform-origin:left;transform:scaleX(0)}
.tl-dot{position:absolute;top:12px;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--sa);box-shadow:0 0 0 6px rgba(255,138,0,.18)}
.tl-tk{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px}
.tl-tk i{width:1px;height:24px;background:var(--ink);opacity:.35}
.tl-tk b{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;letter-spacing:.02em;color:#9C968B;white-space:nowrap;transition:color .3s}
.tl-tk.on b{color:var(--ink)}
.tl-tk.cur b{color:#C46400}
.tl-track{flex:1;display:flex;gap:0;align-items:stretch;width:max-content;padding:4vh 0 0 var(--g);min-height:0}
.tp{position:relative;width:min(46vw,680px);flex:none;padding:3vh 4vw 0 0;margin-right:4vw;border-left:1px solid var(--lineD);padding-left:2.4vw;display:grid;grid-template-rows:auto 1fr;align-content:start;overflow:hidden}
.tp.wide{width:min(76vw,1120px);grid-template-columns:1fr 1fr;column-gap:3vw}
.tp.wide .tp-yr{grid-column:1/-1}
.tp-yr{font-size:clamp(90px,min(13vw,21vh),240px);line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(18,17,16,.28);white-space:nowrap;margin-bottom:2vh}
.tp-no{display:flex;gap:12px;align-items:baseline;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7A746A}
.tp-no em{font-family:var(--fS);font-style:italic;font-size:22px;letter-spacing:0;text-transform:none;color:#C46400}
.tp h3{font-size:clamp(34px,min(3.6vw,6.4vh),70px);margin:12px 0 14px}
.tp-p{font-size:clamp(15px,1.15vw,19px);color:#3E3A35;max-width:40ch}
.tp-media{margin:0;align-self:start}
.tp-sk img{width:100%;max-height:44vh;object-fit:contain;object-position:left bottom}
.tp-media figcaption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#7A746A;margin-top:8px}
.tp-chairs{align-self:start;border-top:1px solid var(--ink)}
.tp-chairs li{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:baseline;padding:clamp(7px,1.25vh,12px) 0;border-bottom:1px solid var(--lineD)}
.tp-chairs span{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;color:#9C968B}
.tp-chairs b{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(17px,1.5vw,24px);line-height:1}
.tp-chairs em{font-style:normal;font-size:13px;color:#6E6960;text-align:right}
.tp-kept{align-self:start;overflow:hidden}
.tp-k-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#7A746A;margin-bottom:10px}
.tp-k{font-size:clamp(48px,min(5.4vw,9vh),104px);line-height:.92;border-bottom:1px solid var(--lineD);padding:.08em 0}
.tp-k:nth-child(3){color:#C46400}
.tp-pb{align-self:start;display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}
.tp-pb-m{grid-row:span 3;width:clamp(120px,22vh,200px);aspect-ratio:1;border-radius:50%;background:var(--sa);display:grid;place-items:center}
.tp-pb-m .mark{width:60%;height:auto}
.tp-pb-m .halo{stroke:var(--ink)}
.tp-pb p{font-size:15px;color:#3E3A35}
.tp-pb b{font-size:clamp(44px,5vh,64px);color:var(--ink);margin-right:8px;vertical-align:middle}
.tl-end{width:10vw;flex:none}

/* data visuals (shared) */
.viz{width:100%;height:100%;overflow:visible}
.viz *{transform-box:fill-box}
.viz .t{fill:#9C968B;font-size:11px;font-weight:600;letter-spacing:.04em}
.viz .t.s{font-size:11px}
.viz .t.xs{font-size:9.5px}
.viz .t.m{font-size:16px;font-weight:600;fill:var(--pap)}
.viz .t.a{fill:var(--sa)}
.viz .t.ink{fill:var(--ink);font-weight:700}
.viz .t.x{fill:#6E6960}
.viz .ln{fill:none;stroke:var(--pap);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}
.viz .ln.dim{stroke:rgba(242,239,232,.28);stroke-width:1.5}
.viz .ln.ax{stroke:rgba(242,239,232,.35);stroke-width:1}
.viz .ln.up{stroke:var(--sa);stroke-width:3}
.viz .ln.arc{stroke:var(--sa);stroke-width:1.4;opacity:.9}
.viz .ln.strike{stroke:#6E6960;stroke-width:1.5}
.viz .ck{fill:none;stroke:var(--sa);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}
.viz .xx{fill:none;stroke:#6E6960;stroke-width:2;stroke-linecap:round;stroke-dasharray:1}
.v-grid .cell{fill:transparent;stroke:rgba(242,239,232,.3);stroke-width:1.2;transition:fill .35s,stroke .35s}
.v-grid .cell.on{fill:var(--sa);stroke:var(--sa)}
.v-bars .bar,.v-ship .bar{fill:rgba(242,239,232,.85)}
.v-bars .bar:last-of-type,.v-ship .bar:last-of-type{fill:var(--sa)}
.v-scale .trk{fill:rgba(242,239,232,.1)}
.v-scale .sp{fill:var(--pap)}
.v-scale .sl{fill:var(--sa)}
.v-routes .grid-dot{fill:rgba(242,239,232,.16)}
.v-routes .pin circle{fill:var(--pap)}
.v-routes .pin.o circle{fill:var(--sa)}
.viz .pulse{fill:none;stroke:var(--sa);stroke-width:1.5}
.v-call .trk-c{fill:none;stroke:rgba(242,239,232,.14);stroke-width:6}
.v-call .arc-c{fill:none;stroke:var(--sa);stroke-width:6;stroke-linecap:round;stroke-dasharray:1}
.v-call .big{fill:var(--pap)}
.v-call .wave rect{fill:var(--sa)}
.v-doc .page{fill:rgba(242,239,232,.05);stroke:rgba(242,239,232,.3);stroke-width:1.2}
.v-weeks .wk rect{fill:rgba(242,239,232,.07);stroke:rgba(242,239,232,.2);transition:fill .3s}
.v-weeks .wk circle{fill:rgba(242,239,232,.5)}
.v-weeks .wk.on rect{fill:rgba(255,138,0,.22);stroke:var(--sa)}
.v-weeks .wk.on circle{fill:var(--sa)}
.v-grow .area{fill:url(#none);fill:rgba(255,138,0,.14)}
.v-grow .end,.v-simple .end{fill:var(--sa)}
.v-people .seg{fill:rgba(242,239,232,.18)}
.v-people .seg.sg3{fill:rgba(242,239,232,.6)}
.v-people .seg.all{fill:var(--sa)}
.v-voice .nd circle{fill:var(--ink2);stroke:var(--pap);stroke-width:2}
.v-voice .kr circle{fill:var(--sa)}
.v-voice .kr text{fill:var(--ink)}
.v-ship .flag .ln{stroke:var(--sa);stroke-width:1.5}

/* ledger cards: dark, precise */
.lgc{background:var(--ink2);color:var(--pap);border:1px solid var(--line)}
.lgc-art{height:clamp(110px,20vh,200px);display:flex;align-items:center;justify-content:center;padding:4px 2px}
.lgc-l{color:var(--mute)}
.lgc-n .pre,.lgc-n sup{color:var(--sa)}
.lgc-c{color:#BDB7AB}
/* practice cards: dark UI artefacts */
.ps-art{background:var(--ink2);border:1px solid var(--line);padding:14px}
.ps-art .viz{max-height:100%}
/* precepts: viz panel */
.prc-art{background:var(--ink2);border:1px solid var(--line);padding:clamp(16px,2vw,30px);aspect-ratio:auto;height:auto;min-height:0}
.prc-art .viz{max-height:38vh}
/* services preview: real work */
.sv-prev{width:300px;height:210px;border-radius:var(--rad);overflow:hidden;background:var(--ink3);display:block}
.sv-prev img{width:100%;height:100%;object-fit:cover;display:block}
.sv-prev span{position:absolute;left:10px;bottom:10px;padding:4px 10px;border-radius:var(--rad);background:var(--sa);color:var(--ink);font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;text-transform:uppercase}
.sv-h{grid-template-columns:70px minmax(220px,1.1fr) 1.6fr 40px}

@media (max-width:860px){
  .tl-pin{height:auto;padding:10vh 0 6vh}
  .tl-top{grid-template-columns:1fr}
  .tl-ruler{display:none}
  .tl-track{flex-direction:column;width:auto;padding:4vh var(--g) 0;gap:6vh}
  .tp,.tp.wide{width:auto;margin:0;padding:0 0 0 16px;grid-template-columns:1fr;row-gap:3vh}
  .tp-yr{font-size:22vw}
  .tl-end{display:none}
  .sv-h{grid-template-columns:36px 1fr 26px}
}
@media (min-width:861px){
  .tl-track{align-items:center;padding-top:2vh}
  .tp{align-content:center;min-height:62vh}
  .tp h3{font-size:clamp(40px,min(4.6vw,8vh),92px)}
  .tp-p{font-size:clamp(16px,1.35vw,21px)}
  .prc-art{align-self:stretch;display:flex;align-items:center;justify-content:center;max-height:none}
  .prc-art .viz{width:100%;height:auto;max-height:44vh}
  .viz .t.m{font-size:18px}
  .v-grid{max-height:78%}
}

.hero-sig span{font-size:clamp(110px,min(14vw,26vh),300px);line-height:1.35;padding:0 .25em}
.ft-sig,.msg .sig,.sig-s{line-height:1.35;padding:0 .2em}
.ft-sig{white-space:nowrap;left:50%;transform:translateX(-10%) rotate(-8deg)}@media (max-width:860px){.ft-sig{left:auto;right:2%;transform:rotate(-8deg);font-size:56px}}
.ft-top{padding-top:9vh}.ft-sig{top:0;font-size:clamp(70px,11vh,140px)}
.hero-sig{opacity:0;transform:translate(-50%,-50%) rotate(-10deg)}

.hb-row{display:flex;gap:0;width:max-content;will-change:transform}
.hb-g{display:flex;gap:.3em;padding-right:.3em;white-space:nowrap}
.hb2{font-size:clamp(60px,min(10vw,16vh),190px)}

/* v6.3 hero work wall + tags hidden */
.hero-tags{display:none!important}
.hero-wall{position:absolute;left:50%;top:0;bottom:0;width:min(78vw,1180px);transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.1vw,18px);overflow:hidden;pointer-events:none;z-index:0;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 100%),linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 100%),linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}
.hw-col{will-change:transform}
.hw-g{display:flex;flex-direction:column;gap:clamp(10px,1.1vw,18px);padding-bottom:clamp(10px,1.1vw,18px)}
.hw-c{margin:0;aspect-ratio:1000/626;border-radius:var(--rad);overflow:hidden;background:#E4DFD4;box-shadow:0 10px 30px -14px rgba(18,17,16,.45)}
.hw-c img{width:100%;height:100%;object-fit:cover;display:block}
.hero-name,.hero-eb,.next,.award{z-index:3}
@media (max-width:860px){.hero-wall{width:140vw;top:auto;height:62%;bottom:0}}

.v-simple .dotl{fill:var(--sa)}
.v-simple .mo{stroke-width:2.4}

/* v6.3 practice: line runs dot to dot, visuals stay inside their cards */
.pc-line{z-index:1;pointer-events:none}
.ps-dot{position:relative;z-index:2}
.ps-art{position:relative;overflow:hidden}
.ps-art svg,.ps-art .viz{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);max-width:none;max-height:none}
.ps .cd .inf{display:inline-block}
.viz [transform]{transform-box:view-box}

.pc-fill{position:absolute;height:4px;border-radius:2px;background:var(--sa);transform:scaleX(0);transform-origin:0 50%;z-index:1;pointer-events:none}
@media (max-width:860px){.pc-fill{display:none}}

/* v6.3 services: pinned chapters */
.svc{height:100vh;height:100svh;min-height:600px;padding:calc(var(--hh) + 2vh) var(--g) 4vh;overflow:hidden}
.s2{display:grid;grid-template-columns:minmax(260px,.82fr) 2fr;gap:clamp(24px,4vw,72px);height:100%}
.s2-side{display:flex;flex-direction:column;min-height:0;position:relative}
.s2-side h2{font-size:clamp(38px,min(4.4vw,8vh),92px);margin:12px 0 1.6vh}
.s2-side h2 .Se{color:var(--sa)}
.s2-sub{color:var(--mute);font-size:14px;max-width:34ch;margin-bottom:2.4vh}
.s2-nav{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-left:18px;position:relative}
.s2-nav li{border-bottom:1px solid var(--line)}
.s2n{display:flex;align-items:baseline;gap:14px;width:100%;text-align:left;padding:clamp(5px,1.05vh,11px) 0;color:var(--mute);transition:color .3s,padding .4s cubic-bezier(.2,1,.3,1)}
.s2n span{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:13px;width:22px}
.s2n b{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(16px,min(1.5vw,2.7vh),24px);line-height:1}
.s2n:hover{color:var(--pap)}
.s2n.on{color:var(--sa);padding-left:10px}
.s2-prog{display:none}
.s2-nav::before,.s2-nav::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line)}
.s2-nav::after{background:var(--sa);transform-origin:50% 0;transform:scaleY(var(--p,.125));transition:transform .5s cubic-bezier(.2,1,.3,1)}
.s2-stage{position:relative;min-height:0}
.s2p{position:absolute;inset:0;display:flex;flex-direction:column;gap:2.2vh;visibility:hidden;opacity:0}
.s2p.on{visibility:visible;opacity:1}
.s2-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mute)}
.s2-k span{color:var(--sa);font-size:14px}
.s2-top h3{font-size:clamp(40px,min(5.4vw,9.5vh),110px);margin:.8vh 0 1.2vh;color:var(--pap)}
.s2-in{font-size:clamp(15px,min(1.25vw,2.3vh),19px);color:#D8D3C9;max-width:62ch}
.s2-body{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(18px,2.6vw,44px);flex:1;min-height:0;border-top:1px solid var(--line);padding-top:2.2vh}
.s2-l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--sa);margin-bottom:1.2vh}
.s2-list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.6vh,18px) clamp(14px,1.8vw,30px)}
.s2-list li{display:flex;flex-direction:column;gap:3px;padding-left:14px;border-left:2px solid var(--line);transition:border-color .3s}
.s2-list li:hover{border-color:var(--sa)}
.s2-list b{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(14px,min(1.15vw,2.2vh),19px);color:var(--pap);line-height:1.05}
.s2-list span{font-size:clamp(12px,min(.95vw,1.8vh),14px);color:#A7A196;line-height:1.35}
.s2-as{display:flex;flex-direction:column;gap:1.6vh;min-height:0}
.s2-fig{position:relative;margin:0;border-radius:var(--rad);overflow:hidden;flex:1 1 auto;min-height:90px;max-height:30vh;background:#000}
.s2-fig img{width:100%;height:100%;object-fit:cover;display:block}
.s2-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:12px;color:#E8E3D9;display:flex;flex-direction:column;gap:2px}
.s2-fig figcaption b{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sa)}
.s2-get ul{display:flex;flex-wrap:wrap;gap:6px}
.s2-get li{padding:5px 11px;border:1.5px solid var(--line);border-radius:var(--rad);font-size:12.5px}
.s2-for p:last-child{font-size:13.5px;color:#D8D3C9}
.s2-cta{align-self:flex-start}
@media (max-width:860px){
  .svc{height:auto;min-height:0;padding:10vh var(--g)}
  .s2{grid-template-columns:1fr;height:auto}
  .s2-nav,.s2-prog{display:none}
  .s2-stage{display:flex;flex-direction:column;gap:7vh}
  .s2p{position:relative;inset:auto;visibility:visible;opacity:1}
  .s2-body{grid-template-columns:1fr}
  .s2-list{grid-template-columns:1fr}
  .s2-fig{max-height:none;aspect-ratio:16/10}
}
.s2-fig figcaption{padding:48px 14px 12px;background:linear-gradient(transparent,rgba(10,9,8,.92) 55%)}.s2-fig figcaption b{color:var(--sa);text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* v6.3 the noise: scroll-scrubbed crowd video */
.noise{height:100vh;height:100svh;background:#0B0A09;position:relative;overflow:hidden}
.nz-in{position:absolute;inset:0}
.nz-c{position:absolute;inset:0;width:100%;height:100%;display:block}
.nz-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,9,.85) 0,rgba(11,10,9,0) 38%);pointer-events:none}
.nz-t{position:absolute;left:var(--g);top:calc(var(--hh) + 3vh);max-width:min(46vw,760px)}
.nz-t h2{font-size:clamp(40px,min(5.2vw,9vh),104px);color:var(--pap)}
.nz-t h2 .Se{color:var(--sa)}
.nz-t p{margin-top:2vh;color:#CFC9BE;font-size:clamp(14px,1.1vw,18px);max-width:40ch}
@media (max-width:860px){.nz-t{max-width:none;right:var(--g)}}
.nz-t{max-width:min(56vw,960px)}.nz-t h2,.nz-t p{text-shadow:0 2px 18px rgba(0,0,0,.75)}.nz-t p{color:#E6E1D7}

/* v6.3 hero honours: four crowns */
.award.aw4{width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,128px));gap:10px 8px;padding:12px 10px;border:1.5px solid var(--ink);border-radius:var(--rad);background:rgba(242,239,232,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.aw{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.aw .laurel{width:58px}
.aw span{font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;line-height:1.25}
.aw b{display:block;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:15px;letter-spacing:0;line-height:1.05;margin-bottom:2px}
@media (max-height:700px){.aw .laurel{width:44px}.award.aw4{gap:6px;padding:9px 8px}}
.award.aw4{align-items:start}.aw .laurel{flex:none}

.hero-sig span{text-shadow:none!important;filter:none!important}

/* curtain call */
.nz-c{transform-origin:50% 55%;will-change:transform,filter}
.nz-cur{position:absolute;top:0;bottom:0;width:50.5%;z-index:4;pointer-events:none;will-change:transform;
  background:radial-gradient(120% 60% at 50% 0%,rgba(255,138,0,.05),transparent 60%),repeating-linear-gradient(90deg,#121110 0,#1A1917 2.2vw,#0E0D0C 4.4vw,#121110 6.6vw)}
.nz-cur.l{left:0;box-shadow:inset -40px 0 60px -30px rgba(0,0,0,.8)}
.nz-cur.r{right:0;box-shadow:inset 40px 0 60px -30px rgba(0,0,0,.8)}
.nz-seam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;z-index:5;pointer-events:none;transform-origin:50% 50%;
  background:linear-gradient(180deg,transparent,rgba(255,214,160,.95) 20%,#fff 50%,rgba(255,214,160,.95) 80%,transparent);box-shadow:0 0 24px 6px rgba(255,170,60,.55),0 0 90px 20px rgba(255,138,0,.25)}
.nz-bar{position:absolute;left:0;right:0;height:9vh;background:#000;z-index:3;pointer-events:none}
.nz-bar.t{top:0}.nz-bar.b{bottom:0}
@media (max-width:860px){.nz-cur,.nz-seam,.nz-bar{display:none}}

/* v6.4 message splits open like a cinema screen */
.msg-pin{position:relative;height:100vh;height:100svh;min-height:560px;padding:0;display:block;overflow:hidden}
.msg-half{position:absolute;inset:0;z-index:2;will-change:transform}
.msg-half.top{clip-path:inset(0 0 50% 0)}
.msg-half.bot{clip-path:inset(50% 0 0 0)}
.msg-face{height:100%;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--hh) + 2vh) var(--g) 6vh;gap:clamp(16px,3vh,32px)}
.msg-pin > .nz-in{position:absolute;inset:0;z-index:1;background:#0B0A09;overflow:hidden}
.msg-seam{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;z-index:3;pointer-events:none;transform:scaleX(0);transform-origin:50% 50%;
  background:linear-gradient(90deg,transparent,rgba(255,214,160,.95) 18%,#fff 50%,rgba(255,214,160,.95) 82%,transparent);box-shadow:0 0 22px 5px rgba(255,170,60,.55),0 0 80px 18px rgba(255,138,0,.22)}
@media (max-width:860px){
  .msg-pin{height:auto;min-height:0}
  .msg-half{position:relative;inset:auto;clip-path:none}
  .msg-half.bot,.msg-seam{display:none}
  .msg-face{height:auto;min-height:100svh}
  .msg-pin > .nz-in{position:relative;inset:auto;height:85svh}
}

/* split vertically: left and right halves slide apart */
.msg-half.top{clip-path:inset(0 50% 0 0)}
.msg-half.bot{clip-path:inset(0 0 0 50%)}
.msg-seam{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto;margin:0 0 0 -1px;transform:scaleY(0);background:linear-gradient(180deg,transparent,rgba(255,214,160,.95) 18%,#fff 50%,rgba(255,214,160,.95) 82%,transparent)}
@media (max-width:860px){.msg-half.top{clip-path:none}}
.msg-pin .nz-t{text-align:left}.msg-pin .nz-t h2{max-width:none}
@media (max-width:860px){.msg-pin{display:flex;flex-direction:column}.msg-pin > .nz-in{order:2}.msg-half.top{order:1}}
.msg-half.top,.msg-half.bot{clip-path:none}.msg-half.bot,.msg-seam{display:none}

/* =================== v6.5 · phones get the full show =================== */
@media (hover:none){
  .btn,.pill-s,.rnd,.dk-a,.burger,.next,.s2n{transition:transform .25s cubic-bezier(.2,1.4,.4,1),background .3s,color .3s}
  .btn:active,.pill-s:active,.rnd:active,.dk-a:active,.burger:active,.next:active,.s2n:active{transform:scale(.94)}
  .dk.lit img{filter:grayscale(0) brightness(.7);transform:scale(1.1)}
  .dk.lit .dk-a{transform:rotate(45deg)}
  .hof video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}
@media (max-width:860px){
  /* hero: pinned stage, shrinks into a frame, signature draws */
  :root{--hn:clamp(60px,min(21vw,10.5svh),140px)}
  .hero{height:100vh;height:100svh;min-height:580px;display:block;padding:0}
  .hero-stage{position:absolute;inset:0;min-height:0;display:block;padding:0}
  .hero-back{display:flex;gap:1.4svh}
  .hb-row{font-size:clamp(60px,21vw,140px)}
  .hb2{font-size:clamp(40px,13vw,96px)}
  .hero-sig{display:block}
  .hero-sig span{font-size:clamp(64px,19vw,140px)}
  .hero-cap{display:flex;font-size:10px;letter-spacing:.12em;bottom:max(10svh,64px)}
  .hero-name{position:absolute;left:0;right:0;top:calc(var(--hh) + 1.4svh);padding:0 var(--g);font-size:var(--hn);line-height:.84}
  .hero-eb{position:absolute;left:var(--g);right:var(--g);top:calc(var(--hh) + 1.4svh + var(--hn) * 1.72 + 10px);padding:0;font-size:10.5px;max-width:none}
  .hero-fig{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:auto;height:min(58svh,104vw);max-width:none;margin:0;align-self:auto}
  .hero-wall{width:150vw;height:66%;top:auto;bottom:0}
  .award,.award.aw4{display:grid;position:absolute;left:var(--g);right:var(--g);bottom:10px;width:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px 5px}
  .aw .laurel{width:28px}
  .aw span{font-size:7.4px;letter-spacing:.04em}
  .aw b{font-size:10.5px}
  .next{left:var(--g);bottom:calc(10px + 92px);width:158px;padding:8px 10px;gap:3px}
  .next-l{font-size:9.5px}.next-t{font-size:17px}.next-s{font-size:11px}

  /* message → crowd: one pinned scene */
  .msg-pin{display:block;height:100vh;height:100svh;min-height:560px}
  .msg-half{position:absolute;inset:0}
  .msg-face{height:100%;min-height:0;padding:calc(var(--hh) + 2svh) var(--g) 4svh}
  .msg-t{font-size:clamp(24px,min(7.6vw,4.3svh),40px)}
  .msg-pin > .nz-in{position:absolute;inset:0;height:auto}
  .nz-t{top:calc(var(--hh) + 2svh)}
  .nz-t h2{font-size:clamp(34px,10vw,56px)}
  .nz-t p{font-size:14px}
  .nz-shade{background:linear-gradient(180deg,rgba(11,10,9,.9) 0,rgba(11,10,9,.35) 34%,rgba(11,10,9,0) 52%)}

  /* story: sideways timeline */
  .tl-pin{height:100vh;height:100svh;padding:calc(var(--hh) + 1.5svh) 0 2svh}
  .tl-top{grid-template-columns:1fr;gap:6px}
  .tl-head h2{font-size:clamp(30px,9vw,46px)}
  .tl-ruler{display:block;margin:4px var(--g) 0;height:40px}
  .tl-tk b{font-size:9.5px}
  .tl-tk:not(.cur) b{opacity:0}
  .tl-tk.cur b{opacity:1}
  .tl-track{flex-direction:row;width:max-content;padding:1.5svh 0 0 var(--g);gap:0;align-items:stretch}
  .tp,.tp.wide{width:84vw;margin:0 6vw 0 0;padding:0 0 0 14px;grid-template-columns:1fr;grid-template-rows:none;row-gap:1.2svh;align-content:start}
  .tp-yr{font-size:min(19vw,9svh);margin-bottom:.5svh}
  .tp h3{font-size:clamp(26px,8vw,40px);margin:6px 0 8px}
  .tp-p{font-size:14px}
  .tp-sk img{max-height:26svh}
  .tp-chairs li{padding:6px 0}
  .tp-chairs b{font-size:16px}
  .tp-k{font-size:min(11vw,5.6svh)}
  .tp-pb-m{width:min(26vw,13svh)}
  .tp-pb b{font-size:30px}
  .tl-end{display:block;width:4vw}

  /* desk counter */
  .big-pin{height:100vh;height:100svh;min-height:0;padding:calc(var(--hh) + 10px) var(--g) 4svh}
  .big-n{font-size:clamp(120px,40vw,240px)}
  .big-ph{position:absolute;left:auto;right:6%;top:24%;width:46vw;margin:0;opacity:0;transform:translate(0,-50%) rotate(-4deg) scale(.4)}
  .big-cap{font-size:clamp(22px,6.6vw,34px)}

  /* services: pinned chapters with a chip rail */
  .svc{height:100vh;height:100svh;min-height:560px;padding:calc(var(--hh) + 1.4svh) var(--g) 2svh}
  .s2{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:1.4svh;height:100%}
  .s2-side h2{font-size:clamp(28px,8.4vw,40px);margin:6px 0 1.2svh}
  .s2-sub{display:none}
  .s2-nav{display:flex;flex-direction:row;gap:6px;overflow-x:auto;border:0;padding:0 0 6px;margin:0 calc(var(--g) * -1);padding-left:var(--g);padding-right:var(--g);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--g),#000 calc(100% - var(--g)),transparent)}
  .s2-nav::-webkit-scrollbar{display:none}
  .s2-nav::before,.s2-nav::after{display:none}
  .s2-nav li{border:0;flex:none}
  .s2n{padding:7px 12px;border:1.5px solid var(--line);border-radius:var(--rad);gap:6px;white-space:nowrap}
  .s2n span{width:auto;font-size:11px}
  .s2n b{font-size:12px}
  .s2n.on{padding-left:12px;background:var(--sa);border-color:var(--sa);color:var(--ink)}
  .s2-stage{display:block;position:relative;min-height:0}
  .s2p{position:absolute;inset:0;visibility:hidden;opacity:0;gap:1.3svh;overflow:hidden}
  .s2p.on{visibility:visible;opacity:1}
  .s2-k{font-size:10px}
  .s2-top h3{font-size:clamp(28px,8.6vw,42px);margin:.4svh 0 .8svh}
  .s2-in{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .s2-body{grid-template-columns:1fr;gap:1.4svh;padding-top:1.4svh;min-height:0}
  .s2-l{margin-bottom:.8svh;font-size:10px}
  .s2-list{grid-template-columns:1fr 1fr;gap:1svh 12px}
  .s2-list li{padding-left:9px}
  .s2-list b{font-size:12.5px}
  .s2-list span{font-size:10.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .s2-as{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;align-items:start}
  .s2-fig{grid-row:span 2;aspect-ratio:auto;height:min(19svh,170px);max-height:none;min-height:0}
  .s2-fig figcaption{padding:28px 8px 7px;font-size:10px}
  .s2-get li{font-size:10.5px;padding:3px 8px}
  .s2-for p:last-child{font-size:11.5px;line-height:1.35}
  .s2-cta{grid-column:1/-1}

  /* off the desk strip: pinned, slides with the scroll */
  .stage-pin{height:100vh;height:100svh;padding:calc(var(--hh) + 2svh) 0 3svh;justify-content:center}
  .sg-track{overflow:visible;width:max-content;scroll-snap-type:none;padding:0 var(--g)}
  .sg{height:min(52svh,420px)}

  /* practice: the line runs sideways through the steps */
  .proc{height:100vh;height:100svh;min-height:600px;padding:calc(var(--hh) + 2svh) 0 3svh;display:flex;flex-direction:column}
  .proc-h{padding:0 var(--g)}
  .pc-scene{flex:1;min-height:0;margin-top:2svh;overflow:visible}
  .pc-scene .cd-sc{position:relative;display:block;top:auto;right:auto;left:auto;margin:0 var(--g) 1svh auto;text-align:right;font-size:clamp(40px,12vw,64px);clip-path:inset(-60% 100% -60% -10%)}
  .pc-line{display:block}
  .pc-fill{display:block}
  .pc-steps{display:flex;grid-template-columns:none;gap:8vw;width:auto;padding:0 var(--g);overflow:visible}
  .ps{flex:none;width:76vw;opacity:.32}
  .ps.on{opacity:1}
  .ps-art{height:min(24svh,200px)}
  .ps .cd b{font-size:clamp(56px,17vw,90px)}
  .ps h3{font-size:22px}

  /* precepts: pinned cards */
  .rules{height:100vh;height:100svh;min-height:600px;padding:calc(var(--hh) + 2svh) var(--g) 3svh;display:flex;flex-direction:column}
  .rules-h h2{margin:8px 0 2svh}
  .pr-scene{flex:1;min-height:0;display:block}
  .pr-prog{display:block;position:absolute;left:0;right:0;top:auto;bottom:-10px}
  .pr-stage{position:relative;height:100%;min-height:0;display:block;background:var(--ink);border-radius:var(--rad)}
  .prc{position:absolute;inset:0;opacity:0;visibility:hidden;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:start;gap:1.6svh;padding:16px;border-radius:var(--rad)}
  .prc.on{opacity:1;visibility:visible}
  .prc-art{max-height:30svh;height:30svh;aspect-ratio:auto}
  .prc-art .viz{max-height:26svh}
  .prc .prc-n{font-size:clamp(54px,15vw,80px)}
  .prc h3{font-size:clamp(24px,7vw,34px);margin:6px 0 8px}
  .prc p{font-size:14px}
}
@media (max-width:860px){.svc .s2{grid-template-columns:minmax(0,1fr)}.s2-side,.s2-stage,.s2p{min-width:0}}
@media (max-width:860px) and (max-height:700px){
  .s2-list span{display:none}.s2-in{-webkit-line-clamp:2}.s2-fig{height:15svh}.s2-for{display:none}
  .prc-art{height:26svh;max-height:26svh}.ps-art{height:20svh}
}

/* v6.6 hero wall runs sideways: websites, posts, reels, logos, mascots, characters */
.hero-wall{left:0;right:0;width:auto;transform:none;top:0;bottom:0;height:auto;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(8px,1.2vh,14px);padding-bottom:clamp(8px,1.2vh,14px);grid-template-columns:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 34%,#000 100%)}
.hw-row{display:flex;width:max-content;height:clamp(110px,20.5vh,230px);will-change:transform;flex:none}
.hw-g{display:flex;flex-direction:row;gap:clamp(8px,1.2vh,14px);padding:0 clamp(8px,1.2vh,14px) 0 0;height:100%}
.hw-c{height:100%;width:auto;aspect-ratio:var(--ar);flex:none;border-radius:var(--rad);overflow:hidden;background:#E4DFD4;box-shadow:0 10px 30px -14px rgba(18,17,16,.45)}
.hw-c img,.hw-c video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.hero-wall{left:0;right:0;width:auto;height:auto;top:0;bottom:0}.hw-row{height:clamp(84px,13.5svh,130px)}}
.sig-svg{display:block;width:min(56vw,104vh,1200px);height:auto;overflow:visible}
.sig-ink{fill:var(--sa)}
@media (max-width:860px){.sig-svg{width:84vw}}
.hero-wall{-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 14%,#000 50%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,transparent 14%,#000 50%,#000 100%)}
.hw-row{height:clamp(100px,17.5vh,210px)}
@media (max-width:860px){.hw-row{height:clamp(80px,12.5svh,120px)}}
.hero-eb{background:rgba(242,239,232,.9);padding:6px 10px;border-radius:var(--rad);width:max-content;max-width:min(26ch,80vw)}
/* v6.6b two centred rows */
.hero-wall{justify-content:center;padding:0;gap:clamp(10px,1.6vh,18px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.hw-row{height:clamp(150px,27vh,300px)}
@media (max-width:860px){.hw-row{height:clamp(110px,17svh,170px)}}
/* v6.6c one centred row */
.hw-row{height:clamp(190px,34vh,380px)}
@media (max-width:860px){.hw-row{height:clamp(140px,24svh,220px)}}
/* v6.6d clean hero: no contour pattern, no giant name (kept for screen readers) */
.hero-stage .contours{display:none!important}
.hero-name{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.hero-eb{top:calc(var(--hh) + 2.4vh)}
@media (max-width:860px){.hero-eb{top:calc(var(--hh) + 1.6svh)}}

/* v6.7 two vertical columns, one each side */
.hero-wall.vert{display:block;padding:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.vert .hw-vc{position:absolute;top:0;width:clamp(200px,23vw,400px);height:auto;flex-direction:column;display:flex}
.vert .hw-vc:first-child{left:max(var(--g),calc(50% - 38vw))}
.vert .hw-vc:last-child{right:max(var(--g),calc(50% - 38vw))}
.vert .hw-g{flex-direction:column;height:auto;width:100%;padding:0 0 clamp(10px,1.4vh,16px) 0;gap:clamp(10px,1.4vh,16px)}
.vert .hw-c{width:100%;height:auto;aspect-ratio:var(--ar)}
@media (max-width:860px){.vert .hw-vc{width:40vw}.vert .hw-vc:first-child{left:3vw}.vert .hw-vc:last-child{right:3vw}}

/* v6.8 brand-name row above the work row */
.hw-row.hw-names{height:auto}
.hw-names .hw-g{height:auto;align-items:center;gap:clamp(18px,2.4vw,40px);padding-right:clamp(18px,2.4vw,40px)}
.hw-n{font-family:var(--fD);font-stretch:75%;font-weight:800;font-variation-settings:"opsz" 96;text-transform:uppercase;font-size:clamp(30px,5.4vh,64px);line-height:1;color:var(--ink,#121110);white-space:nowrap;letter-spacing:-.01em}
.hw-dot{width:clamp(8px,1.1vh,13px);height:clamp(8px,1.1vh,13px);border-radius:50%;background:var(--sa);flex:none}
@media (max-width:860px){.hw-n{font-size:clamp(22px,4svh,36px)}}

/* v6.9 curved exhibition wall: portfolio first, names under it, quiet depth */
.hero-wall{gap:clamp(14px,2.4vh,28px)}
.hw-c{will-change:transform;transform-origin:50% 60%;box-shadow:0 18px 30px -22px rgba(18,17,16,.42),0 2px 6px -3px rgba(18,17,16,.18)}
.hw-row:not(.hw-names){height:clamp(180px,31vh,350px)}
@media (max-width:860px){.hw-row:not(.hw-names){height:clamp(130px,22svh,200px)}}

.hw-n{display:inline-flex}
.hw-l{display:inline-block;font-weight:inherit;will-change:transform;transform-origin:50% 100%}

/* v6.10 hero headline */
.hero-eb.hero-hl{text-transform:none;letter-spacing:0;font-weight:400;max-width:min(44ch,36vw);width:auto;padding:10px 14px 12px;border-radius:var(--rad);background:rgba(242,239,232,.92);color:var(--ink,#121110)}
.hl-t{font-size:clamp(30px,3.6vw,54px);line-height:.9;margin:0 0 10px;color:#121110}
.hl-s{font-family:var(--fB);font-size:clamp(12.5px,1vw,15px);line-height:1.45;color:#5E5950;margin:0;max-width:44ch}
@media (max-width:860px){.hero-eb.hero-hl{max-width:none;left:var(--g);right:var(--g);padding:0;background:none}.hl-t{font-size:clamp(26px,7.6vw,34px);margin-bottom:6px}.hl-s{font-size:11.5px;line-height:1.4}}
@media (min-width:861px){.hl-t{white-space:nowrap;font-size:clamp(28px,2.9vw,46px)}.hl-s{max-width:46ch}.hero-eb.hero-hl{max-width:none}.hero-wall{padding-top:8vh}}

/* v6.11 bigger headline; the paragraph takes the old "next up" spot */
.hl-t{margin:0}
@media (min-width:861px){.hl-t{font-size:clamp(40px,4.5vw,76px)}}
@media (max-width:860px){.hl-t{font-size:clamp(30px,9.4vw,42px)}}
.next.next-p{display:block;width:min(330px,30vw);padding:12px 14px;border:0;border-left:3px solid var(--sa);border-radius:0 var(--rad) var(--rad) 0;background:rgba(242,239,232,.88);font-family:var(--fB);font-size:clamp(13px,1vw,15px);line-height:1.5;color:#3E3A34;margin:0}
.next.next-p:hover{background:rgba(242,239,232,.88);transform:none}
@media (max-width:860px){.next.next-p{width:min(64vw,260px);padding:8px 10px;font-size:11.5px;line-height:1.42}}
.hero-eb.hero-hl{background:none;padding-left:0}

/* v6.12 navbar: Pencilbuddha brand left, all pages + services mega menu */
.brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2}
.brand .hdr-mark{position:static;transform:none;width:40px;height:40px;flex:none}
.brand .hdr-mark .mark{width:24px}
.brand-n{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:22px;letter-spacing:-.01em;text-transform:uppercase;line-height:1}
.brand-n b{font-weight:800;color:var(--sa)}
.nv{position:absolute;left:50%;top:0;height:100%;transform:translateX(-50%);display:flex;align-items:center}
.nv-l{display:flex;gap:2px;list-style:none;margin:0;padding:0;height:100%;align-items:center}
.nv-i{height:100%;display:flex;align-items:center}
.nv-b{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:var(--rad);font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.03em;color:inherit;background:none;border:0;cursor:pointer;transition:background .2s,color .2s}
.nv-b:hover,.nv-i.open .nv-b{background:rgba(127,120,108,.16)}
.nv-c{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.nv-i.open .nv-c{transform:translateY(1px) rotate(-135deg)}
.nv-p{position:absolute;top:calc(100% - 6px);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility 0s .22s;background:#F2EFE8;color:#121110;border:1.5px solid #121110;border-radius:var(--rad);box-shadow:0 24px 50px -24px rgba(18,17,16,.45)}
.nv-i.open .nv-p{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.nv-dd{min-width:280px;padding:8px}
.nv-i{position:relative}
.nv-dd ul{list-style:none;margin:0;padding:0}
.nv-dd a{display:block;padding:10px 12px;border-radius:var(--rad);transition:background .18s}
.nv-dd a:hover{background:#E6E1D6}
.nv-dd b{display:block;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:17px;text-transform:uppercase;line-height:1.05}
.nv-dd span{display:block;font-size:12.5px;color:#6E6960;margin-top:2px}
.nv-mega{position:static}
.nv-mg{left:50%;width:min(1180px,calc(100vw - 2 * var(--g)));transform:translate(-50%,8px)}
.nv-i.open .nv-mg{transform:translate(-50%,0)}
.mg-in{display:grid;grid-template-columns:250px 1fr;gap:20px;padding:20px}
.mg-side{background:#121110;color:#F2EFE8;border-radius:var(--rad);padding:20px;display:flex;flex-direction:column;gap:12px}
.mg-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sa);margin:0}
.mg-h{font-size:38px;line-height:.9;margin:0}
.mg-s{font-size:13px;line-height:1.5;color:#BDB7AB;margin:0}
.mg-side .pill-s{margin-top:auto;align-self:flex-start}
.mg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mg-c{display:block;padding:12px;border-radius:var(--rad);transition:background .18s}
.mg-c:hover{background:#E6E1D6}
.mg-c:hover b{color:#121110}
.mg-n{font-size:11px;letter-spacing:.1em;color:var(--sa);font-weight:700}
.mg-c b{display:block;font-size:18px;line-height:1;text-transform:uppercase;margin:4px 0 8px}
.mg-c ul{list-style:none;margin:0;padding:0;font-size:12.5px;line-height:1.55;color:#6E6960}
body.nv-open .hero-wall{filter:blur(2px);transition:filter .3s}
@media (max-width:1180px){.nv-b{padding:0 8px;font-size:14px}.mg-in{grid-template-columns:1fr}.mg-side{display:none}}
@media (max-width:1023px){.nv{display:none}}
@media (min-width:1024px){.burger{display:none}}
@media (max-width:860px){.brand .hdr-mark{display:grid;width:34px;height:34px}.brand .hdr-mark .mark{width:20px}.brand-n{font-size:19px}}
/* phone menu */
.menu-l{overflow-y:auto}
.menu-links{font-size:clamp(28px,min(4.6vw,5.6vh),64px)}
.menu-k{margin:3vh 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sa)}
.menu-svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:13px;color:#BDB7AB;text-align:left}
.menu-svc a:hover{color:var(--sa)}
/* honours in one row */
@media (min-width:861px){.award.aw4{grid-template-columns:repeat(4,minmax(0,118px));gap:8px 6px;padding:10px 10px}}

/* v6.13 story divider draws as each chapter slides in */
.tp{--ln:1;border-left-color:transparent}
.tp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--lineD);transform:scaleY(var(--ln));transform-origin:top}
/* header bar once scrolled, so the nav stays readable over content */
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(242,239,232,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(18,17,16,.08);opacity:0;transition:opacity .3s,background .35s}
body.hdr-bar .hdr::before{opacity:1}
body.hdr-dark .hdr::before{background:rgba(18,17,16,.82);border-bottom-color:rgba(242,239,232,.08)}
body.menu-open .hdr::before{opacity:0}
.nv-l a.nv-b{color:inherit!important;opacity:1!important}
/* hero brand row: same mixed type as the clients strip */
.hw-n.f1{font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase}
.hw-n.f2{font-family:var(--fS);font-style:italic;font-weight:400;font-stretch:100%;text-transform:none;font-size:clamp(32px,5.8vh,70px)}
.hw-n.f3{font-family:var(--fB);font-weight:700;font-stretch:100%;text-transform:none;letter-spacing:-.02em}
.hw-n.f4{font-family:var(--fS);font-weight:400;font-stretch:100%;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(26px,4.6vh,54px)}
@media (max-width:860px){.hw-n.f2{font-size:clamp(24px,4.4svh,40px)}.hw-n.f4{font-size:clamp(19px,3.4svh,30px)}}
/* v6.14 hero strips: clean per-card blur at the edges (set from the wall ticker), no fade */
.hero-wall{-webkit-mask-image:none!important;mask-image:none!important;overflow:hidden}
.hw-n,.hw-dot{will-change:filter}
/* smaller hero brand names */
.hw-n,.hw-n.f1,.hw-n.f3{font-size:clamp(20px,3.4vh,40px)}
.hw-n.f2{font-size:clamp(22px,3.8vh,44px)}
.hw-n.f4{font-size:clamp(17px,2.9vh,34px)}
.hw-dot{width:7px;height:7px}
@media (max-width:860px){.hw-n,.hw-n.f1,.hw-n.f3{font-size:clamp(16px,2.8svh,24px)}.hw-n.f2{font-size:clamp(18px,3.1svh,27px)}.hw-n.f4{font-size:clamp(14px,2.4svh,20px)}}
.hw-n{color:#5E5950!important}
.hl-t .Se{color:var(--sa)}
.hl-t .Se{font-size:.8em;letter-spacing:-.025em}@media (max-width:860px){.hl-t .Se{font-size:.78em}}
/* two lines of client names */
.hw-row.hw-names + .hw-row.hw-names{margin-top:calc(-1 * clamp(4px,1vh,12px))}
/* intro paragraph boxed like the honours card */
.next.next-p{border:1.5px solid var(--ink)!important;border-radius:var(--rad)!important;background:rgba(242,239,232,.86)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:14px 16px;color:var(--ink);width:min(380px,30vw)}
@media (max-width:860px){.next.next-p{padding:9px 11px;width:min(66vw,270px)}}
.next.next-p{display:flex;align-items:center;box-sizing:border-box;max-width:none}
.next.next-p{flex-direction:column;justify-content:center;align-items:flex-start}@media (min-width:861px){.next.next-p{font-size:clamp(14px,1.1vw,16.5px);padding:12px 18px}}
/* v6.17 client logos in the hero strip, one ink */
.hw-names{--lh:clamp(30px,5vh,58px)}
.hw-lg{display:block;flex:none;height:calc(var(--lh) * var(--s));width:auto;aspect-ratio:var(--ar);color:#5E5950;fill:currentColor;overflow:visible}
.hw-names .hw-g{gap:clamp(22px,2.8vw,48px);padding-right:clamp(22px,2.8vw,48px)}
.hw-names{padding:clamp(4px,.8vh,10px) 0}
@media (max-width:860px){.hw-names{--lh:clamp(22px,3.8svh,34px)}}
/* v6.18 founder portrait 15% smaller */
.hero-fig{height:calc(min(84vh,calc(100vh - var(--hh) - 20px)) * .85)}
@media (max-width:860px){.hero-fig{height:calc(min(58svh,104vw) * .85)}}
/* v6.19 hero: honours simpler + legible, portrait lifted off the wall, portfolio pushed back */
.aw .laurel.lr2{width:26px;height:26px;margin-bottom:4px}
.aw span{font-weight:600;color:#121110;font-size:10.5px;letter-spacing:.05em}
.aw b{font-size:16px}
@media (max-height:700px){.aw .laurel.lr2{width:22px;height:22px}}
@media (max-width:860px){.aw .laurel.lr2{width:18px;height:18px;margin-bottom:2px}.aw span{font-size:8px;letter-spacing:.03em}.aw b{font-size:11px}}
.hero-fig{filter:drop-shadow(0 28px 36px rgba(18,17,16,.26)) drop-shadow(0 4px 10px rgba(18,17,16,.16))}
.hw-row:not(.hw-names){opacity:.82}
/* v6.20 centred headline */
.hero-eb.hero-hl{left:var(--g)!important;right:var(--g)!important;width:auto!important;max-width:none!important;text-align:center;margin:0 auto}
.hero-eb.hero-hl .hl-t,.hero-eb.hero-hl .hl-s{margin-left:auto;margin-right:auto}
/* v6.21 intro drift (ticker owns transform, so the drift uses translate) */
.hero-wall .hw-c{translate:0 var(--iy,0px)}

/* v6.22 intro zoom (ticker owns transform, so the pop uses scale) */
.hero-wall .hw-c,.hero-wall .hw-n,.hero-wall .hw-dot{scale:var(--is,1)}

/* v6.23 keep wall card layers stable (no filter on/off toggling, no layer re-creation at the edges) */
.hero-wall .hw-c{will-change:transform,filter;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:flat}
.hero-wall .hw-v video{transform:translateZ(0)}

/* v6.24 scroll parallax on the wall rows (ticker owns transform) */
.hero-wall .hw-row{translate:0 var(--py,0vh)}
/* v6.25 centred theatre title */
.nz-t,.msg-pin .nz-t{left:var(--g);right:var(--g);max-width:none;text-align:center}
.nz-t h2,.msg-pin .nz-t h2{margin-left:auto;margin-right:auto}
.nz-t p{margin-left:auto;margin-right:auto}

/* v6.26 big number: proof wall of Cliffton work in parallax */
.big-ps{position:absolute;inset:0;pointer-events:none}
.big-ps .bp{position:absolute;left:var(--l);top:var(--t);width:var(--w);margin:0;z-index:var(--z);rotate:var(--r);opacity:0;border:5px solid var(--pap);border-radius:4px;box-shadow:0 26px 50px -18px rgba(0,0,0,.85);background:var(--pap)}
.big-ps .bp img{display:block;width:100%;height:auto}
.big-ps .bp[style*="--z:0"]{filter:brightness(.62) saturate(.85)}
.big-n,.big-cap{position:relative;z-index:1}
.big-n{text-shadow:0 10px 40px rgba(0,0,0,.55)}
@media (max-width:860px){.big-ps .bp{width:calc(var(--w) * 2.3);border-width:3px}.big-ps .bp-d{display:none}}

.big-ps .bp[style*="--z:0"]{filter:brightness(.5) saturate(.8) blur(1.5px)}
@media (max-width:860px){.big-ps .bp{z-index:0!important;filter:brightness(.42) saturate(.8)!important}.big-ps .bp:nth-child(1){left:52%}.big-ps .bp:nth-child(4){left:76%}.big-ps .bp:nth-child(5){left:60%}}

/* v6.27 the number is the hero; the proof sits back */
.big-ps{z-index:0;opacity:.38}
.big-n{z-index:2}.big-cap{z-index:2}
.big-ps .bp,.big-ps .bp[style*="--z:0"]{filter:saturate(.75)}
@media (max-width:860px){.big-ps{opacity:.32}}

/* v6.28 voices marquee */
.vo-mq{flex:1;display:flex;align-items:center;overflow:hidden;margin:4vh calc(-1*var(--g));-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.vo-tr{display:flex;width:max-content;animation:voMq var(--vd,60s) linear infinite}
.vo-g{display:flex;gap:24px;padding-right:24px;align-items:stretch}
.voices .vo{opacity:1;visibility:visible;transition:none;grid-area:auto;align-self:auto;max-width:none;width:min(560px,82vw);flex:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(22px,2.4vw,36px);border:1.5px solid var(--ink);border-radius:var(--rad);background:#fff}
.voices .vo p{font-size:clamp(20px,min(1.7vw,3.2vh),30px);line-height:1.18}
@keyframes voMq{to{transform:translateX(calc(-1*var(--vw,50%)))}}
@media (prefers-reduced-motion:reduce){.vo-tr{animation:none}.vo-mq{overflow-x:auto}}

/* v6.29 story waits under the theatre */
.msg{background:transparent;position:relative;z-index:3}.msg-pin{background:var(--ink)}
.story{position:relative;z-index:1}

/* v6.30 Pencil Times: three columns, 45% lead column */
.np-g{display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr) minmax(0,1fr);gap:var(--g);align-items:start}
.np-col{display:flex;flex-direction:column;gap:2.4vh;min-width:0}
.np-col .np-lead{grid-column:auto;grid-row:auto}
.np-col1{padding-right:calc(var(--g) * .6);border-right:1px solid var(--lineD)}
.np-col:not(.np-col1) .np-ph img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:1100px){.np-g{grid-template-columns:1fr 1fr}.np-col1{grid-column:1/-1;padding-right:0;border-right:0}}
@media (max-width:620px){.np-g{grid-template-columns:1fr}}
.np-col1 .np-c:not(.np-lead) .np-ph img{aspect-ratio:16/10;object-fit:cover;object-position:50% 30%}
.np-col1 .np-c:not(.np-lead) h3{font-size:clamp(26px,2.4vw,40px)}
/* v6.31 faces stay in frame */
.np-col .np-ph img[src*="anuradha-sriram"]{aspect-ratio:4/5;object-position:50% 0%}
.np-col1 .np-c:not(.np-lead) .np-ph img[src*="csr-recognition"]{aspect-ratio:325/304;object-position:50% 0%}

/* v6.32 press autoplay videos */
.np-m{position:relative}
.np-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;pointer-events:none}
.np-v img{visibility:hidden}
.np-snd{position:absolute;right:8px;bottom:8px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--sa);color:#111;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:0;cursor:pointer}
.np-snd::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.45}
.np-snd[aria-pressed=true]{background:#111;color:#fff}
.np-snd[aria-pressed=true]::before{background:var(--sa);opacity:1;animation:npP 1s infinite}
@keyframes npP{50%{opacity:.25}}

/* v6.33 voices: edges blur (like the hero wall) instead of fading to white */
.vo-mq{position:relative;-webkit-mask-image:none;mask-image:none}
.vo-mq::before,.vo-mq::after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:clamp(48px,12vw,220px);pointer-events:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.vo-mq::before{left:0;-webkit-mask-image:linear-gradient(90deg,#000 35%,transparent);mask-image:linear-gradient(90deg,#000 35%,transparent)}
.vo-mq::after{right:0;-webkit-mask-image:linear-gradient(270deg,#000 35%,transparent);mask-image:linear-gradient(270deg,#000 35%,transparent)}

/* v6.34 voices: no edge overlay; cards blur themselves (set per frame), smooth and seam-free */
.vo-mq::before,.vo-mq::after{content:none;display:none}
.vo-tr{will-change:transform;backface-visibility:hidden;transform-style:flat}
.voices .vo{will-change:filter;backface-visibility:hidden;transform:translateZ(0)}

/* v6.35 posts stay still until their reveal has finished */
.pst-row.pst-hold .pst-track{animation-play-state:paused}

/* v6.37 voices: progressive edge blur, 10 finer steps so nothing visibly jumps from one level to the next */
.voices .vo{filter:none!important;will-change:auto;transform:none}
.vo-mq{isolation:isolate}
.vo-edge{position:absolute;top:-24px;bottom:-24px;z-index:2;width:clamp(72px,16vw,280px);pointer-events:none;transform:translateZ(0)}
.vo-edge.l{left:0}.vo-edge.r{right:0}
.vo-edge i{position:absolute;inset:0}
.vo-edge.r i:nth-child(1){backdrop-filter:blur(0.35px);-webkit-backdrop-filter:blur(0.35px);-webkit-mask-image:linear-gradient(to right,transparent 0.00%,#000 8.33%,#000 16.67%,transparent 25.00%);mask-image:linear-gradient(to right,transparent 0.00%,#000 8.33%,#000 16.67%,transparent 25.00%)}
.vo-edge.l i:nth-child(1){backdrop-filter:blur(0.35px);-webkit-backdrop-filter:blur(0.35px);-webkit-mask-image:linear-gradient(to left,transparent 0.00%,#000 8.33%,#000 16.67%,transparent 25.00%);mask-image:linear-gradient(to left,transparent 0.00%,#000 8.33%,#000 16.67%,transparent 25.00%)}
.vo-edge.r i:nth-child(2){backdrop-filter:blur(0.5px);-webkit-backdrop-filter:blur(0.5px);-webkit-mask-image:linear-gradient(to right,transparent 8.33%,#000 16.67%,#000 25.00%,transparent 33.33%);mask-image:linear-gradient(to right,transparent 8.33%,#000 16.67%,#000 25.00%,transparent 33.33%)}
.vo-edge.l i:nth-child(2){backdrop-filter:blur(0.5px);-webkit-backdrop-filter:blur(0.5px);-webkit-mask-image:linear-gradient(to left,transparent 8.33%,#000 16.67%,#000 25.00%,transparent 33.33%);mask-image:linear-gradient(to left,transparent 8.33%,#000 16.67%,#000 25.00%,transparent 33.33%)}
.vo-edge.r i:nth-child(3){backdrop-filter:blur(0.71px);-webkit-backdrop-filter:blur(0.71px);-webkit-mask-image:linear-gradient(to right,transparent 16.67%,#000 25.00%,#000 33.33%,transparent 41.67%);mask-image:linear-gradient(to right,transparent 16.67%,#000 25.00%,#000 33.33%,transparent 41.67%)}
.vo-edge.l i:nth-child(3){backdrop-filter:blur(0.71px);-webkit-backdrop-filter:blur(0.71px);-webkit-mask-image:linear-gradient(to left,transparent 16.67%,#000 25.00%,#000 33.33%,transparent 41.67%);mask-image:linear-gradient(to left,transparent 16.67%,#000 25.00%,#000 33.33%,transparent 41.67%)}
.vo-edge.r i:nth-child(4){backdrop-filter:blur(1.0px);-webkit-backdrop-filter:blur(1.0px);-webkit-mask-image:linear-gradient(to right,transparent 25.00%,#000 33.33%,#000 41.67%,transparent 50.00%);mask-image:linear-gradient(to right,transparent 25.00%,#000 33.33%,#000 41.67%,transparent 50.00%)}
.vo-edge.l i:nth-child(4){backdrop-filter:blur(1.0px);-webkit-backdrop-filter:blur(1.0px);-webkit-mask-image:linear-gradient(to left,transparent 25.00%,#000 33.33%,#000 41.67%,transparent 50.00%);mask-image:linear-gradient(to left,transparent 25.00%,#000 33.33%,#000 41.67%,transparent 50.00%)}
.vo-edge.r i:nth-child(5){backdrop-filter:blur(1.42px);-webkit-backdrop-filter:blur(1.42px);-webkit-mask-image:linear-gradient(to right,transparent 33.33%,#000 41.67%,#000 50.00%,transparent 58.33%);mask-image:linear-gradient(to right,transparent 33.33%,#000 41.67%,#000 50.00%,transparent 58.33%)}
.vo-edge.l i:nth-child(5){backdrop-filter:blur(1.42px);-webkit-backdrop-filter:blur(1.42px);-webkit-mask-image:linear-gradient(to left,transparent 33.33%,#000 41.67%,#000 50.00%,transparent 58.33%);mask-image:linear-gradient(to left,transparent 33.33%,#000 41.67%,#000 50.00%,transparent 58.33%)}
.vo-edge.r i:nth-child(6){backdrop-filter:blur(2.02px);-webkit-backdrop-filter:blur(2.02px);-webkit-mask-image:linear-gradient(to right,transparent 41.67%,#000 50.00%,#000 58.33%,transparent 66.67%);mask-image:linear-gradient(to right,transparent 41.67%,#000 50.00%,#000 58.33%,transparent 66.67%)}
.vo-edge.l i:nth-child(6){backdrop-filter:blur(2.02px);-webkit-backdrop-filter:blur(2.02px);-webkit-mask-image:linear-gradient(to left,transparent 41.67%,#000 50.00%,#000 58.33%,transparent 66.67%);mask-image:linear-gradient(to left,transparent 41.67%,#000 50.00%,#000 58.33%,transparent 66.67%)}
.vo-edge.r i:nth-child(7){backdrop-filter:blur(2.87px);-webkit-backdrop-filter:blur(2.87px);-webkit-mask-image:linear-gradient(to right,transparent 50.00%,#000 58.33%,#000 66.67%,transparent 75.00%);mask-image:linear-gradient(to right,transparent 50.00%,#000 58.33%,#000 66.67%,transparent 75.00%)}
.vo-edge.l i:nth-child(7){backdrop-filter:blur(2.87px);-webkit-backdrop-filter:blur(2.87px);-webkit-mask-image:linear-gradient(to left,transparent 50.00%,#000 58.33%,#000 66.67%,transparent 75.00%);mask-image:linear-gradient(to left,transparent 50.00%,#000 58.33%,#000 66.67%,transparent 75.00%)}
.vo-edge.r i:nth-child(8){backdrop-filter:blur(4.07px);-webkit-backdrop-filter:blur(4.07px);-webkit-mask-image:linear-gradient(to right,transparent 58.33%,#000 66.67%,#000 75.00%,transparent 83.33%);mask-image:linear-gradient(to right,transparent 58.33%,#000 66.67%,#000 75.00%,transparent 83.33%)}
.vo-edge.l i:nth-child(8){backdrop-filter:blur(4.07px);-webkit-backdrop-filter:blur(4.07px);-webkit-mask-image:linear-gradient(to left,transparent 58.33%,#000 66.67%,#000 75.00%,transparent 83.33%);mask-image:linear-gradient(to left,transparent 58.33%,#000 66.67%,#000 75.00%,transparent 83.33%)}
.vo-edge.r i:nth-child(9){backdrop-filter:blur(5.79px);-webkit-backdrop-filter:blur(5.79px);-webkit-mask-image:linear-gradient(to right,transparent 66.67%,#000 75.00%,#000 83.33%,transparent 91.67%);mask-image:linear-gradient(to right,transparent 66.67%,#000 75.00%,#000 83.33%,transparent 91.67%)}
.vo-edge.l i:nth-child(9){backdrop-filter:blur(5.79px);-webkit-backdrop-filter:blur(5.79px);-webkit-mask-image:linear-gradient(to left,transparent 66.67%,#000 75.00%,#000 83.33%,transparent 91.67%);mask-image:linear-gradient(to left,transparent 66.67%,#000 75.00%,#000 83.33%,transparent 91.67%)}
.vo-edge.r i:nth-child(10){backdrop-filter:blur(8.22px);-webkit-backdrop-filter:blur(8.22px);-webkit-mask-image:linear-gradient(to right,transparent 75.00%,#000 83.33%);mask-image:linear-gradient(to right,transparent 75.00%,#000 83.33%)}
.vo-edge.l i:nth-child(10){backdrop-filter:blur(8.22px);-webkit-backdrop-filter:blur(8.22px);-webkit-mask-image:linear-gradient(to left,transparent 75.00%,#000 83.33%);mask-image:linear-gradient(to left,transparent 75.00%,#000 83.33%)}
@media (max-width:860px){.vo-edge{width:14vw}}

/* v6.38 posts reveal: no hover transition fighting the reveal, 3D room for the turn */
.pst-row.pst-in .pst{transition:none;backface-visibility:hidden;will-change:transform,opacity}
.pst-row.pst-in{overflow:visible;clip-path:inset(-60px 0 -60px 0)}

/* v6.39 ledger: cards wait dimmed, then light up one after the other (like the practice steps) */
.lg-seq .lgc{opacity:.28;transform:translateY(18px) scale(.97);transition:opacity .6s,transform .8s cubic-bezier(.2,1.3,.4,1),border-color .6s}
.lg-seq .lgc.on{opacity:1;transform:none;border-color:var(--sa)}
.lg-seq .lgc .lgc-art{filter:grayscale(1);transition:filter .8s}
.lg-seq .lgc.on .lgc-art{filter:none}
@media (prefers-reduced-motion:reduce){.lg-seq .lgc{opacity:1;transform:none}}


/* v6.41 ledger: cards and small figures start hidden and reveal one after the other */
.lg-seq .lgc{opacity:0;transform:translateY(40px) scale(.94)}
.lg-seq .lgc.on{opacity:1;transform:none}
.lg-seq .lg-mini{border-color:transparent;transition:border-color .6s}
.lg-seq .lg-mini.on{border-color:var(--line)}
.lg-seq .lg-mini li{opacity:0;transform:translateY(24px);transition:opacity .5s,transform .7s cubic-bezier(.2,1.3,.4,1)}
.lg-seq .lg-mini li.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.lg-seq .lgc,.lg-seq .lg-mini li{opacity:1;transform:none}.lg-seq .lg-mini{border-color:var(--line)}}

/* v7: case studies mega menu, grouped by genre */
.nv-cm .mg-in{grid-template-columns:240px 1fr}
.cm-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 10px}
.cm-g+.cm-g{margin-top:10px}
.cm-h{display:flex;align-items:baseline;gap:5px;padding:8px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap;text-transform:uppercase;color:#121110;border-bottom:1.5px solid #121110;margin-bottom:4px}
.cm-h sup{top:0;color:var(--sa);font-size:10px}
.cm-h:hover{color:var(--sa)}
.cm-g ul{list-style:none;margin:0;padding:0}
.cm-g li a{display:block;padding:4px 10px;border-radius:var(--rad);transition:background .18s}
.cm-g li a:hover{background:#E6E1D6}
.cm-g b{display:block;font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:16px;line-height:1.05;text-transform:uppercase}
.cm-g span{display:block;font-size:11.5px;line-height:1.3;color:#6E6960;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-all{font-size:13px;color:#F2EFE8;border-bottom:1px solid var(--sa);align-self:flex-start;margin-top:auto}
.cm-all+.pill-s{margin-top:4px}
.cm-all:hover{color:var(--sa)}
@media (max-width:1180px){.nv-cm .mg-in{grid-template-columns:1fr}.nv-cm .mg-side{display:none}}
.menu-cs{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:13px;color:#BDB7AB;text-align:left}
.menu-g>a{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#F2EFE8;margin-bottom:2px}
.menu-g span a:hover,.menu-g>a:hover{color:var(--sa)}

/* v7: brief form, send by WhatsApp or email */
.ct-send{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:6px}
.ct-sk{width:100%;margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute)}
.ct-f .ct-send .btn{margin-top:0}
.ct-em{background:transparent;color:var(--pap,#F2EFE8);border:1.5px solid var(--pap,#F2EFE8)}
.ct-em:hover{background:var(--pap,#F2EFE8);color:#121110}
.ct-jn{grid-column:1/-1;margin:0;font-size:12.5px;line-height:1.5;color:#9a948a;max-width:60ch}
.ct-ok{grid-column:1/-1}

/* ================= v7 inner pages: page hero, breadcrumbs, question sections, proof, picked-for-you, big footer ================= */
/* breadcrumbs */
.bc ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;list-style:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6E6960}
.bc li{display:flex;align-items:center;min-width:0}
.bc li+li::before{content:"";width:16px;height:1px;background:currentColor;opacity:.5;margin:0 10px}
.bc a{color:inherit;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s,color .25s}
.bc a:hover{color:var(--ink);background-size:100% 1px}
.bc li[aria-current] span{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38ch;display:block}

/* page hero */
.ph{position:relative;background:var(--pap);color:var(--ink);min-height:min(100vh,980px);min-height:min(100svh,980px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:var(--g);padding:calc(var(--hh) + 5vh) var(--g) 8vh;overflow:hidden}
.ph-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2.4vh,26px)}
.ph-h{font-size:clamp(52px,min(7.6vw,13vh),150px);color:var(--ink);max-width:14ch}
.ph-h .l1{display:block}
.ph-h .Se{display:block;color:var(--sa);font-size:.92em;line-height:.95}
.ph-a{font-size:clamp(17px,1.35vw,21px);line-height:1.55;max-width:58ch;color:#2E2B27}
.ph-by{display:flex;align-items:center;gap:10px;font-size:13px;color:#6E6960}
.ph-by a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--sa)}
.ph-av{width:30px;height:30px;border-radius:50%;overflow:hidden;background:#E3DED3;flex:none}
.ph-av img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.ph-cta{display:flex;flex-wrap:wrap;gap:12px}
.ph .btn.o{color:var(--ink)}
.ph .btn.o:hover{background:var(--ink);color:var(--pap)}
.ph-art{position:relative;aspect-ratio:1;width:min(100%,560px);justify-self:center;color:var(--ink)}
.ph-rings{position:absolute;inset:0;width:100%;height:100%;opacity:.22}
.ph-orb circle{fill:var(--sa);stroke:none}
.ph-ic{position:absolute;inset:27%;display:grid;place-items:center;background:#F7F4EC;border:2px solid var(--ink);border-radius:50%;box-shadow:10px 12px 0 var(--sa)}
.ph-ic svg{width:62%;height:62%;overflow:visible}
.ph-ph{position:absolute;inset:16%;border-radius:50%;overflow:hidden;border:2px solid var(--ink);box-shadow:12px 14px 0 var(--sa);background:#E3DED3}
.ph-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}

/* question sections */
.pq{position:relative;background:var(--pap);color:var(--ink);padding:12vh var(--g);border-top:1px solid var(--lineD)}
.pq-dark{background:var(--ink);color:var(--pap);border-top:0}
.pq-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--g);align-items:end;margin-bottom:clamp(28px,6vh,64px)}
.pq-h{font-size:clamp(38px,min(4.6vw,8vh),86px);max-width:18ch}
.pq-intro{font-size:clamp(16px,1.2vw,19px);line-height:1.6;color:#4A4640;max-width:52ch}
.pq-dark .pq-intro{color:#B9B3A8}
.pq-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.pqc{position:relative;border:1px solid var(--lineD);border-radius:var(--rad);padding:22px 22px 26px;background:#F7F4EC;display:flex;flex-direction:column;gap:10px;min-height:190px;transition:transform .35s,box-shadow .35s,border-color .35s}
.pqc:hover{transform:translateY(-4px);box-shadow:6px 8px 0 var(--sa);border-color:var(--ink)}
.pqc-n{font-family:var(--fD);font-stretch:75%;font-weight:800;font-size:14px;color:var(--sa)}
.pqc h3{font-size:clamp(24px,1.9vw,32px)}
.pqc p{color:#4A4640;line-height:1.55}
.pw{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,44px)}
.pwi{display:flex;flex-direction:column;gap:16px;padding-top:22px;border-top:1px solid var(--line)}
.pw-n{font-size:clamp(64px,7vw,120px);color:var(--sa);line-height:.8}
.pwi h3{font-size:clamp(24px,2vw,34px);margin-bottom:8px}
.pwi p{color:#B9B3A8;line-height:1.6}
.pq:not(.pq-dark) .pwi{border-color:var(--lineD)}
.pq:not(.pq-dark) .pwi p{color:#4A4640}
.pq-get{display:grid;grid-template-columns:1fr 1fr;gap:var(--g);margin-top:clamp(36px,7vh,80px);padding-top:28px;border-top:1px solid var(--line)}
.pq-get ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pq-get li{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px}
.pq-best{margin-top:14px;font-size:clamp(20px,1.7vw,28px);font-family:var(--fS);line-height:1.25}

/* proof cards */
.pcds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.pcd{position:relative;display:flex;flex-direction:column;border:1px solid var(--lineD);border-radius:var(--rad);overflow:hidden;background:#F7F4EC;transition:transform .35s,box-shadow .35s}
a.pcd:hover{transform:translateY(-5px);box-shadow:8px 10px 0 var(--sa)}
.pcd-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#E3DED3}
.pcd-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.pcd:hover .pcd-img img{transform:scale(1.05)}
.pcd-t{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px}
.pcd-t em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6E6960}
.pcd-t b{font-size:clamp(26px,2.1vw,36px);font-weight:800}
.pcd-t span{color:#4A4640;line-height:1.55;font-size:15px}
.pcd-did{font-style:normal;font-size:13px;color:#8A5200;margin-top:4px}
.pcd-go{font-style:normal;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:15px;margin-top:6px;color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.pcd-go::after{content:"→";color:var(--sa);transition:transform .3s}
a.pcd:hover .pcd-go::after{transform:translateX(5px)}
.pcd-s{border-color:var(--ink)}
.pcd-x{justify-content:flex-end;min-height:220px;background:var(--ink);color:var(--pap)}
.pcd-x .pcd-t span{color:#B9B3A8}.pcd-x .pcd-t em{color:var(--sa)}

/* service / region links */
.psls{display:flex;flex-direction:column;border-top:1px solid currentColor}
.psl{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.1fr) 40px;align-items:center;gap:var(--g);padding:clamp(16px,2.6vh,26px) 4px;border-bottom:1px solid var(--lineD);transition:background .3s,padding .3s}
.pq-dark .psl{border-color:var(--line)}
.psl-n{font-family:var(--fD);font-stretch:75%;font-weight:800;color:var(--sa)}
.psl b{font-size:clamp(26px,2.6vw,46px)}
.psl span:not(.psl-n){color:#4A4640;line-height:1.5;font-size:15px}
.pq-dark .psl span:not(.psl-n){color:#B9B3A8}
.psl .ar{width:22px;height:22px;justify-self:end;transition:transform .3s}
.psl:hover{background:rgba(255,138,0,.08);padding-left:14px}
.psl:hover .ar{transform:translate(4px,-4px)}

/* time zones */
.tz{display:grid;grid-template-columns:1fr minmax(60px,1fr) 1fr;align-items:center;gap:var(--g)}
.tzc{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.tzc b{font-size:clamp(64px,9vw,170px);color:var(--pap);font-variant-numeric:tabular-nums}
.tzc span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#B9B3A8}
.tz-l{height:2px;background:var(--line);position:relative;overflow:hidden}
.tz-l i{position:absolute;inset:0;background:var(--sa);transform-origin:0 50%;animation:tzl 2.4s cubic-bezier(.6,0,.2,1) infinite}
@keyframes tzl{0%{transform:scaleX(0);transform-origin:0 50%}50%{transform:scaleX(1);transform-origin:0 50%}50.01%{transform-origin:100% 50%}100%{transform:scaleX(0);transform-origin:100% 50%}}

/* picked for you */
.nx{background:var(--ink);color:var(--pap);padding:12vh var(--g)}
.nx-head{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"l l" "h s";gap:14px var(--g);align-items:end;margin-bottom:clamp(28px,6vh,60px)}
.nx-head .lbl{grid-area:l;color:var(--sa2)}
.nx-head h2{grid-area:h;font-size:clamp(44px,min(5.4vw,9vh),104px)}
.nx-head h2 .Se{color:var(--sa)}
.nx-sub{grid-area:s;justify-self:end;color:#B9B3A8;max-width:42ch;text-align:right}
.nxs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nxc{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:var(--ink2);transition:transform .4s,border-color .4s}
.nxc:hover{transform:translateY(-6px);border-color:var(--sa)}
.nxc-img{aspect-ratio:16/10;overflow:hidden;background:#24221F}
.nxc-img img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(.6) brightness(.85);transition:filter .5s,transform .9s}
.nxc:hover .nxc-img img{filter:none;transform:scale(1.05)}
.nxc-t{display:flex;flex-direction:column;gap:6px;padding:18px 20px 24px}
.nxc-t em{font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sa2)}
.nxc-t b{font-size:clamp(26px,2.2vw,38px)}
.nxc-t span{color:#B9B3A8;font-size:15px;line-height:1.5}
.nxc-go{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:var(--sa);color:var(--ink);display:grid;place-items:center;transform:scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.nxc-go .ar{width:18px;height:18px}
.nxc:hover .nxc-go{transform:scale(1)}
.nx-why{transition:opacity .3s}

/* privacy */
.pv-g{max-width:760px;display:flex;flex-direction:column;gap:clamp(26px,5vh,48px)}
.pv h2{font-size:clamp(28px,2.6vw,42px);margin-bottom:10px}
.pv p,.pv-d{color:#3E3A35;line-height:1.65;font-size:17px}
.pv-d{font-size:13px;color:#6E6960}

/* home: service panel CTAs */
.s2-ctas{display:flex;flex-wrap:wrap;gap:10px}
.s2-ctas .btn{height:46px;font-size:15px;padding:0 18px}

/* big footer */
.ft-mid2{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--g)}
.ft-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px var(--g);align-self:center;padding:5vh 0}
.ftl{display:flex;flex-direction:column;gap:7px;min-width:0}
.ftl p{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.ftl a{font-size:15px;color:var(--pap);width:fit-content;background:linear-gradient(var(--sa),var(--sa)) 0 100%/0 1px no-repeat;transition:background-size .35s,color .25s}
.ftl a:hover{color:var(--sa);background-size:100% 1px}
.ftl-addr{font-size:13px;color:var(--mute);margin-top:8px;line-height:1.5}
.ft-mid2 .ft-ph{height:min(46vh,460px)}
.ft-in > .ft-top{order:0}.ft-in > .ft-cta{order:1}.ft-in > .ft-mid{order:2}.ft-in > .ft-cl{order:3}.ft-in > .ft-b{order:4}
.ft .ft-cta{position:relative;left:auto;bottom:auto;top:auto;transform:none;align-self:center;margin-top:3vh}
.ft .ft-cta:hover{transform:translateY(-2px)}

/* body.pg: the loader is quicker on inner pages */
.pg .ld-t{opacity:.8}

@media (max-width:1100px){
  .ft-links{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pw{grid-template-columns:1fr}
}
@media (max-width:860px){
  .ph{grid-template-columns:1fr;min-height:auto;padding:calc(var(--hh) + 3vh) var(--g) 7vh;gap:28px}
  .ph-art{order:-1;width:min(64vw,300px);justify-self:start;margin-top:2vh}
  .ph-h{font-size:clamp(46px,13.5vw,84px)}
  .bc li[aria-current] span{max-width:20ch}
  .bc li:not(:first-child):not(:last-child) a{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  .pq{padding:9vh var(--g)}
  .pq-head{grid-template-columns:1fr;gap:14px}
  .pq-get{grid-template-columns:1fr}
  .psl{grid-template-columns:40px minmax(0,1fr) 28px;gap:12px}
  .psl span:not(.psl-n){grid-column:2/3;grid-row:2}
  .psl .ar{grid-row:1/3;grid-column:3}
  .tz{grid-template-columns:1fr;gap:18px}
  .tz-l{height:40px;width:2px;justify-self:center}
  .tz-l i{animation-name:tzlv}
  .nx-head{grid-template-columns:1fr;grid-template-areas:"l" "h" "s"}
  .nx-sub{justify-self:start;text-align:left}
  .nxs{grid-template-columns:1fr}
  .nxc{flex-direction:row}
  .nxc-img{aspect-ratio:auto;width:38%;flex:none}
  .nxc-t b{font-size:26px}
  .nxc-go{transform:scale(1);width:34px;height:34px;top:auto;bottom:12px}
  .ft-links{grid-template-columns:1fr 1fr;padding:3vh 0}
  .ft-mid2{grid-template-columns:1fr}
  .ft-mid2 .ft-ph{grid-row:auto;height:34vh;justify-self:center}
}
@keyframes tzlv{0%{transform:scaleY(0);transform-origin:50% 0}50%{transform:scaleY(1);transform-origin:50% 0}50.01%{transform-origin:50% 100%}100%{transform:scaleY(0);transform-origin:50% 100%}}
@media (prefers-reduced-motion:reduce){.tz-l i{animation:none}}
/* welcome back nudge */
.wb{position:fixed;left:var(--g);bottom:18px;z-index:70;display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:min(92vw,520px);background:var(--ink);color:var(--pap);border:1px solid var(--sa);border-radius:var(--rad);padding:12px 44px 12px 16px;font-size:14px;transform:translateY(140%);opacity:0;transition:transform .6s cubic-bezier(.2,1.2,.3,1),opacity .4s}
.wb.on{transform:none;opacity:1}
.wb a{color:var(--sa);font-weight:700;border-bottom:1px solid currentColor}
.wb button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:transparent;color:var(--pap);font-size:18px;border:0;cursor:pointer}
.phw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em}
.phw > span{display:inline-block}

/* scrolling website screens (case studies) */
.cs .scr{display:block;position:relative;overflow:hidden;aspect-ratio:16/10;background:#fff}
.cs .scr.scr-p{aspect-ratio:1/2}
.cs .scr img{position:absolute;top:0;left:0;width:100%;height:auto;will-change:transform}
.cs .scr-tag{position:absolute;right:10px;bottom:10px;z-index:2;font:600 10px/1 var(--fB);letter-spacing:.12em;text-transform:uppercase;background:rgba(18,17,16,.78);color:#F2EFE8;padding:6px 8px;border-radius:99px;pointer-events:none;transition:opacity .3s}
.cs .scr:hover .scr-tag{opacity:0}
@media (prefers-reduced-motion:reduce){.cs .scr{overflow-y:auto}.cs .scr img{position:static}}

/* v7: hall of fame holds every case study */
.hall-g{grid-auto-rows:clamp(170px,24vh,270px)}
.hof-xl{grid-column:span 2;grid-row:span 2}
.hof-w{grid-column:span 2}
.hof-xl .hof-c b{font-size:clamp(22px,2.4vw,36px)}
.hof-tag{position:absolute;right:14px;top:12px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;border-radius:var(--rad);background:var(--sa);color:#121110}
a.hof{color:inherit;text-decoration:none}
@media (min-width:861px){.hall{height:auto;min-height:100vh}.hall-g{grid-template-rows:none;flex:none}}
@media (max-width:860px){.hall-g{grid-auto-rows:170px}.hof-xl{grid-row:span 2}.hof-tag{font-size:9px;right:10px;top:10px}}

/* v7: hero intro paragraph is desktop only */
@media (max-width:860px){.next-p{display:none!important}}

/* v7: phones and tablets: the saffron "scroll down" tab on the right edge; only in pinned sections (never the hero), hides on tap */
.sx-hint{display:none}
@media (max-width:1024px),(pointer:coarse){
  .sx-hint{display:flex;position:fixed;right:8px;top:50%;z-index:65;flex-direction:column;align-items:center;gap:8px;padding:12px 7px 10px;border-radius:999px;background:var(--sa);color:#121110;
    box-shadow:0 8px 24px -8px rgba(0,0,0,.45);pointer-events:none;opacity:0;transform:translate(130%,-50%);transition:opacity .45s,transform .6s cubic-bezier(.2,1.2,.3,1)}
  .sx-hint.on{opacity:1;transform:translate(0,-50%)}
  .sx-hint .sx-tx{writing-mode:vertical-rl;transform:rotate(180deg);font:800 10px/1 var(--fB,sans-serif);letter-spacing:.16em;text-transform:uppercase}
  .sx-ph{position:relative;display:block;width:16px;height:26px;border:2.4px solid currentColor;border-radius:6px}
  .sx-ph b{position:absolute;left:50%;top:4px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:currentColor;animation:sxD 1.6s cubic-bezier(.6,0,.3,1) infinite}
  @keyframes sxD{0%{transform:translateY(10px);opacity:0}25%{opacity:1}70%{transform:translateY(0);opacity:1}100%{transform:translateY(-2px);opacity:0}}
  .sx-ch{display:flex;flex-direction:column;align-items:center;margin-top:-2px}
  .sx-ch svg{width:13px;height:8px;margin-top:-1px;opacity:.15;animation:sxC 1.6s ease-in-out infinite}
  .sx-ch svg:nth-child(2){animation-delay:.18s}.sx-ch svg:nth-child(3){animation-delay:.36s}
  @keyframes sxC{0%,100%{opacity:.15;transform:translateY(-2px)}40%{opacity:1;transform:translateY(1px)}}
  .sx-hint.on{animation:sxP 2.4s ease-out .5s infinite}
  @keyframes sxP{0%{box-shadow:0 0 0 0 rgba(255,138,0,.55),0 8px 24px -8px rgba(0,0,0,.45)}70%,100%{box-shadow:0 0 0 14px rgba(255,138,0,0),0 8px 24px -8px rgba(0,0,0,.45)}}
  body.menu-open .sx-hint{opacity:0!important}
}
@media (prefers-reduced-motion:reduce){.sx-hint b,.sx-hint svg,.sx-hint.on{animation:none}.sx-ch svg{opacity:1}}
/* v7: phones: pinned full-screen panels fill the LARGE viewport, so when the browser bar slides away
   the next section never peeks in underneath; content keeps clear of the bar with extra bottom room */
@media (max-width:860px){
  :root{--tb:calc(100lvh - 100svh)}
  .hero,.msg-pin,.tl-pin,.big-pin,.svc,.stage-pin,.proc,.rules,.noise{height:100lvh!important}
  .msg-face{padding-bottom:calc(4svh + var(--tb))}
  .tl-pin{padding-bottom:calc(2svh + var(--tb))}
  .big-pin{padding-bottom:calc(4svh + var(--tb))}
  .svc{padding-bottom:calc(2svh + var(--tb))}
  .stage-pin,.proc,.rules{padding-bottom:calc(3svh + var(--tb))}
  .award.aw4{bottom:calc(10px + var(--tb))}
  .hero-cap{bottom:calc(max(10svh,64px) + var(--tb))}
}

/* v7: a wrong (sideways) swipe: the scroll tab arrives with a little bounce */
@media (max-width:1024px),(pointer:coarse){
  .sx-hint.on.nudge{animation:sxN .9s cubic-bezier(.3,1.6,.5,1) both,sxP 2.4s ease-out .9s infinite}
  @keyframes sxN{0%{transform:translate(0,-50%) scale(1)}25%{transform:translate(-10px,-50%) scale(1.12)}50%{transform:translate(0,-50%) scale(.96)}70%{transform:translate(-5px,-50%) scale(1.05)}100%{transform:translate(0,-50%) scale(1)}}
}

/* v7: phones: the two service buttons sit side by side, with a gap */
@media (max-width:860px){
  .s2-ctas{display:flex;flex-wrap:nowrap;gap:10px;width:100%;grid-column:1/-1}
  .s2-ctas .btn{flex:1 1 0;min-width:0;width:auto;height:44px;padding:0 10px;font-size:13px;gap:8px;justify-content:center;white-space:nowrap;margin:0}
  .s2-ctas .btn svg{width:16px;height:16px;flex:none}
}

/* v7: hall cards: clean rounded corners (no clipped corners that break the border) */
.hof{clip-path:none!important;border-radius:10px;border-color:rgba(242,239,232,.16)}
.hof:hover,.hof:focus-visible{border-color:var(--sa)}
.hof-img{border-radius:6px}

/* v7: tablets: the founder stands higher (clear of the headline); the honours float over him as before */
@media (min-width:600px) and (max-width:1366px) and (pointer:coarse),(min-width:600px) and (max-width:1100px){
  .hero-fig{bottom:96px;height:min(calc(min(84vh,calc(100vh - var(--hh) - 20px)) * .85),calc(100vh - 96px - var(--hh) - 150px))!important}
  .next.next-p{display:none!important}
}

/* v7: phones: Kishore stands taller in the hero, so his face sits higher; the honours float over him */
@media (max-width:599px){.hero-fig{height:min(66svh,128vw)!important}}

/* v7: the signature runs past both sides of the small portrait square (about 1.5x its width) */
@media (max-width:860px){.hero-sig .sig-svg{width:min(87vw,60lvh)!important}}
@media (min-width:861px) and (max-width:1366px) and (pointer:coarse){.hero-sig .sig-svg{width:min(62vw,70vh)!important}}
@media (max-width:1366px){.hero-sig{width:max-content;max-width:none}}

/* ================= v7: custom cursor: a pencil that IS the pointer, a sketched ring that follows ================= */
html.has-cur,html.has-cur *{cursor:none!important}
html.has-cur.cur-text input,html.has-cur.cur-text textarea,html.has-cur.cur-text [contenteditable]{cursor:text!important}
html.cur-text .cur-pen,html.cur-text .cur-r{opacity:0!important}
.cur.cur-pen{width:28px;height:28px;background:none;border-radius:0;transform:none;margin:0;z-index:96;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
/* the graphite tip (top-left after the -45deg turn) lands on the hotspot */
.cur-pen svg{position:absolute;left:-4px;top:-4px;width:28px;height:28px;overflow:visible;transform-origin:4px 4px;transition:scale .18s}
html.cur-down .cur-pen svg{scale:.86}
.cur-r{width:40px;height:40px;border:0!important;background:none;color:#121110;font-size:0}
.cur-r .cur-sk{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:curSpin 7s linear infinite;transition:opacity .3s}
@keyframes curSpin{to{rotate:360deg}}
.cur-r .cur-t{position:relative;z-index:1;font-family:var(--fD);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.02em;opacity:0;transition:opacity .25s}
.cur-r.hov{width:62px;height:62px;background:rgba(255,138,0,.14)!important}
.cur-r.lab{width:88px;height:88px;background:var(--sa)!important}
.cur-r.lab .cur-sk{opacity:0}.cur-r.lab .cur-t{opacity:1}
.cur-r.lab~.cur-pen,.cur-r.lab+.cur-pen{opacity:0}
html.cur-down .cur-r{scale:.82}
.cur-r{transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),background .3s,scale .2s}
.cur-mk{position:fixed;z-index:94;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--sa);pointer-events:none;animation:curMk .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes curMk{0%{scale:.4;opacity:.95}40%{scale:1.2;opacity:.8}100%{scale:2.6;opacity:0;box-shadow:0 0 0 2px rgba(255,138,0,.5)}}

/* ================= v7: custom vertical scrollbar: a pencil that rides a ruled rail ================= */
html.has-pbar{scrollbar-width:none}
html.has-pbar::-webkit-scrollbar,html.has-pbar body::-webkit-scrollbar{display:none;width:0}
.pbar{position:fixed;right:6px;top:calc(var(--hh,64px) + 10px);bottom:12px;width:14px;z-index:80;opacity:0;transition:opacity .4s,width .25s}
.pbar.on,.pbar:hover,.pbar.drag{opacity:1}
.pbar-rail{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;border-radius:2px;
  background:repeating-linear-gradient(to bottom,rgba(127,120,110,.55) 0 6px,transparent 6px 12px)}
.pbar-fill{position:absolute;left:50%;top:0;width:2px;margin-left:-1px;border-radius:2px;background:var(--sa);height:0}
.pbar-th{position:absolute;left:0;top:0;width:14px;min-height:56px;display:flex;flex-direction:column;align-items:center;cursor:grab;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));transition:scale .2s;transform-origin:50% 0}
.pbar:hover .pbar-th,.pbar.drag .pbar-th{scale:1.15}
.pbar.drag .pbar-th{cursor:grabbing}
/* a proper little pencil: eraser, metal band, six-sided saffron body, sharpened wood and graphite */
.pp-er{flex:none;width:12px;height:7px;border:1.2px solid #121110;border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#E58E8A,#F4B3AE 45%,#D97D79)}
.pp-fe{flex:none;width:12px;height:6px;border:1.2px solid #121110;background:linear-gradient(90deg,#8F8A82,#E9E6E0 40%,#B9B4AC 60%,#7D786F);
  box-shadow:inset 0 1.5px 0 rgba(18,17,16,.35),inset 0 -1.5px 0 rgba(18,17,16,.35)}
.pp-bd{flex:1 1 auto;width:12px;min-height:20px;border:1.2px solid #121110;border-top:0;border-bottom:0;
  background:linear-gradient(90deg,#E07400 0 30%,#FF9A1F 30% 64%,#FFB24D 64% 72%,#E88200 72% 100%)}
.pp-tip{flex:none;display:block;width:14px;height:16px;margin-top:-1px;overflow:visible}

/* ================= v7: crew cards flip (front: who; back: the work they do) ================= */
.cw{border:0!important;padding:0!important;background:none!important;perspective:1400px;display:block;cursor:pointer;outline:none}
.cw-in{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.85,.25,1)}
.cw.flip .cw-in{transform:rotateY(180deg)}
@media (hover:hover) and (pointer:fine){.cw:hover .cw-in{transform:rotateY(180deg)}.cw.flip:hover .cw-in{transform:rotateY(180deg)}}
.cw-f,.cw-bk{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid var(--line);border-radius:var(--rad);padding:clamp(16px,2vw,26px);overflow:hidden;display:flex;flex-direction:column;background:var(--ink)}
.cw-f{justify-content:flex-end}
.cw-bk{transform:rotateY(180deg);background:var(--ink2);border-color:var(--sa);justify-content:space-between;gap:12px}
.cw:focus-visible .cw-f,.cw:focus-visible .cw-bk{box-shadow:0 0 0 2px var(--sa)}
.cw .cw-f ul{display:none}
.cw-k{font:700 12px/1 var(--fB,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--sa)}
.cw-bk ul{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;max-height:none!important;margin:0;overflow:visible}
.cw-bk li{padding:6px 11px;border:1px solid rgba(242,239,232,.22);border-radius:999px;font-size:13px;color:var(--pap)}
.cw-bk .cw-j{margin:0}
.cw-hint{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.cw-hint svg{width:15px;height:15px;color:var(--sa);transition:rotate .6s}
.cw:hover .cw-hint svg{rotate:180deg}
.cw.lead .cw-f{background:var(--sa);border-color:var(--sa);color:var(--ink)}
.cw.lead .cw-f .cw-hint{color:#3A2A14}.cw.lead .cw-f .cw-hint svg{color:var(--ink)}
.cw.lead .cw-bk{background:var(--ink);border-color:var(--sa)}
.cw.lead .cw-bk li{border-color:rgba(255,138,0,.45)}
.cw.lead .cw-bk .cw-j{color:var(--mute)}.cw.lead .cw-bk .cw-j b{color:var(--pap)}
.cw:hover .cw-ini{color:var(--ink3)}
@media (prefers-reduced-motion:reduce){.cw-in{transition:none}}
.crew .cw{min-height:clamp(270px,36vh,340px)!important}
@media (max-width:860px){.crew .cw{min-height:290px!important}}

/* v7: each crew card is its own 3D stage, so a flipping card never paints over the next one */
.crew-g{isolation:isolate}
.cw{position:relative;z-index:0;isolation:isolate;transform:none!important;contain:layout paint}
.cw:hover,.cw.flip{z-index:1}
.cw-in{will-change:transform}

/* Shanga Silks: keep the gopuram in frame wherever the portrait film still is cropped wide */
img[src*="ai-brand-film-shanga-silks"],video[src*="ai-brand-film-shanga-silks"]{object-position:50% 43%!important}

/* case study galleries: arrows on either side */
.cs .k-car{position:relative;margin-top:clamp(28px,4vw,48px)}
.cs .k-car>.k-shots,.cs .k-car>.k-reels{margin-top:0;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}
.cs .k-car>.k-shots::-webkit-scrollbar,.cs .k-car>.k-reels::-webkit-scrollbar{display:none}
.cs .k-car::before,.cs .k-car::after{content:"";position:absolute;top:0;bottom:12px;width:clamp(28px,6vw,72px);pointer-events:none;z-index:1;opacity:0;transition:opacity .35s}
.cs .k-car::before{left:0;background:linear-gradient(90deg,var(--pap,#F3EFE7),transparent)}
.cs .k-car::after{right:0;background:linear-gradient(270deg,var(--pap,#F3EFE7),transparent)}
.cs .k-car.k-car-s::before,.cs .k-car.k-car-e::after{opacity:1}
.k-arr{position:absolute;top:calc(50% - 6px);z-index:2;width:clamp(42px,4vw,54px);height:clamp(42px,4vw,54px);margin-top:calc(clamp(42px,4vw,54px) / -2);
  display:none;place-items:center;border-radius:50%;border:1.5px solid #121110;background:#121110;color:#F3EFE7;cursor:pointer;
  box-shadow:0 6px 18px rgba(18,17,16,.22);transition:background .25s,color .25s,transform .25s,opacity .3s}
.k-car-on>.k-arr{display:grid}
.k-arr svg{width:46%;height:46%}
.k-arr-l{left:clamp(6px,1.2vw,14px)}
.k-arr-r{right:clamp(6px,1.2vw,14px)}
.k-arr:hover,.k-arr:focus-visible{background:#FF8A00;color:#121110;transform:scale(1.08)}
.k-arr:focus-visible{outline:2px solid #FF8A00;outline-offset:3px}
.k-arr:active{transform:scale(.94)}
.k-arr:disabled{opacity:0;pointer-events:none}

/* the search keyword sits in the H1 as its small label line; the big slogan follows */
.ph-h .ph-kw{display:flex;width:fit-content;max-width:100%;font-family:var(--fB);font-size:12px;line-height:1.45;letter-spacing:.14em;margin:0 0 clamp(14px,2vh,22px);white-space:normal}
/* v7: case studies grouped by genre */
.gnr-nav{position:sticky;top:var(--hh,64px);z-index:3;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:18px 0 10px;margin:0 0 8px;background:var(--pap,#F2EFE8)}
.gnr-nav::-webkit-scrollbar{display:none}
.gnr-nav a{flex:none;display:inline-flex;align-items:baseline;gap:6px;padding:10px 16px;border:1.5px solid var(--ink,#121110);border-radius:999px;color:var(--ink,#121110);font-weight:600;font-size:14px;text-decoration:none;transition:background .2s,color .2s}
.gnr-nav a:hover,.gnr-nav a:focus-visible{background:#FF8A00;border-color:#FF8A00;color:#121110}
.gnr-nav a[aria-current="true"]{background:#FF8A00;border-color:#FF8A00;color:#121110}
.gw-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:6px 0 18px}.gw-h p{margin:0;max-width:60ch;color:var(--mute,#6d675d)}
.pcd[hidden]{display:none!important}
.gnr-nav sup{font-size:11px;opacity:.65;top:0}
.gnr{scroll-margin-top:calc(var(--hh,64px) + 76px);padding-top:clamp(28px,4vw,48px)}
.gnr+.gnr{border-top:1px solid rgba(18,17,16,.14);margin-top:clamp(28px,4vw,48px)}
.gnr-h{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:6px 16px;margin-bottom:18px}
.gnr-h h3{margin:0;font-size:clamp(30px,4vw,52px);line-height:.95;text-transform:uppercase}
.gnr-c{font-size:13px;font-weight:600;color:#FF8A00;letter-spacing:.04em;text-transform:uppercase}
.gnr-h p{grid-column:1/-1;margin:0;max-width:60ch;color:var(--mute,#6d675d)}
