*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{--pa:#EDEBE6;--du:#E5E0D8;--bk:#0D0D0D;--ta:#AFA095;--sl:#8FA4AE;
  --P:'Plus Jakarta Sans',sans-serif;--CG:'Cormorant Garamond',serif;--pad:3.5rem;}
html{scroll-behavior:smooth;}
body{font-family:var(--P);background:var(--pa);color:var(--bk);overflow-x:hidden;cursor:none;font-weight:300;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:8000;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.012;mix-blend-mode:multiply;}

/* ══ CURSOR ══ */
#cr{position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  will-change:left,top;}
#cr .star{font-size:1.6rem;color:var(--bk);line-height:1;transition:opacity .2s,color .3s;user-select:none;}
body.dk #cr .star{color:var(--pa);}
#cr .crlogo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;opacity:0;transition:opacity .25s;}
body.ch #cr .star{opacity:0;}
body.ch:not(.dk) #cr .crlogo-dark{opacity:1;}
body.ch.dk #cr .crlogo-light{opacity:1;}

/* ══ LOADER ══ */
#ld{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:var(--pa);}
#ll,#lr{display:none;}
#lc{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:1.2rem;}
#li{width:180px;opacity:0;transition:opacity .5s ease;}
#lb{width:0;height:1px;background:rgba(0,0,0,.15);transition:width .6s .2s cubic-bezier(.76,0,.24,1);}
#ld{transition:opacity .4s ease;}
#ld.gone{opacity:0;pointer-events:none;transition:opacity .4s .1s ease;}

/* ══ NAV ══ */
nav{position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.4rem var(--pad);opacity:0;transition:opacity .5s ease;}
nav.vis{opacity:1;}
nav.scrolled{background:rgba(237,235,230,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06);}
.nl{height:21px;display:block;transition:filter .3s;flex-shrink:0;}
.nl-vm{height:34px;width:34px;border-radius:50%;transition:opacity .3s;}
.nl-light{position:absolute;top:0;left:0;opacity:0;}
nav.inv .nl-dark{opacity:0;}
nav.inv .nl-light{opacity:1;}
nav.inv .nl-vm{filter:none;}
nav.inv .nl{filter:invert(1);}
.nls{display:flex;gap:2rem;list-style:none;}
.nls a{font-size:.78rem;letter-spacing:.02em;color:var(--bk);text-decoration:none;opacity:.42;transition:opacity .2s,color .3s;font-weight:400;}
.nls a:hover{opacity:1;}
.nls a.on{opacity:1;}
nav.inv .nls a{color:var(--pa);}
.nc{font-size:.78rem;letter-spacing:.04em;color:var(--bk);text-decoration:none;
  padding:.45rem 1.1rem;border:1px solid rgba(0,0,0,.18);opacity:.6;transition:all .25s;font-weight:600;}
.nc:hover{opacity:1;background:var(--bk);color:var(--pa);}
nav.inv .nc{color:var(--pa);border-color:rgba(255,255,255,.25);}

/* mobile hamburger menu — hidden on desktop */
.nav-burger{display:none;}

/* ══ HERO — split layout with Vale's photo ══ */
.hero{height:100vh;min-height:640px;background:var(--pa);display:grid;grid-template-columns:55% 45%;overflow:hidden;}
.hero-banner{display:block;position:relative;height:auto;min-height:0;overflow:hidden;}
.hero-banner img{width:100%;height:auto;max-height:88vh;object-fit:cover;object-position:center 20%;display:block;opacity:0;transition:opacity 1s .2s ease;}
.hero-banner img.in{opacity:1;}
.hero-l{display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) 4rem var(--pad);position:relative;}
.h-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:lowercase;color:var(--ta);font-weight:500;
  margin-bottom:1.6rem;display:flex;align-items:center;gap:.7rem;
  opacity:0;transition:opacity .8s .1s ease;}
.h-eyebrow::before{content:'—';opacity:.5;font-weight:300;}
.h-eyebrow.in{opacity:.85;}
.htype{font-family:var(--P);font-weight:800;font-size:clamp(4.5rem,10vw,10rem);
  line-height:.88;letter-spacing:-.025em;color:var(--bk);}
.htype .hl{overflow:hidden;display:block;}
.htype .hl span{display:block;transform:translateY(100%);transition:transform 1.1s cubic-bezier(.16,1,.3,1);}
.htype .hl.m2 span{transition-delay:.1s;}
.htype .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:var(--ta);}
.htype.in .hl span{transform:translateY(0);}
.h-sub{margin-top:2rem;opacity:0;transition:opacity .8s .5s ease;}
.h-sub.in{opacity:1;}
.h-tag{font-family:var(--CG);font-style:italic;font-weight:300;font-size:clamp(1rem,1.5vw,1.35rem);color:var(--bk);opacity:.42;}
.h-loc{font-size:.72rem;letter-spacing:.05em;color:rgba(0,0,0,.28);margin-top:.4rem;font-weight:300;}
.h-scroll{position:absolute;left:var(--pad);bottom:3.5rem;display:flex;align-items:center;gap:.6rem;
  font-size:.68rem;letter-spacing:.08em;text-transform:lowercase;color:rgba(0,0,0,.25);font-weight:400;
  opacity:0;transition:opacity .8s .8s ease;}
.h-scroll svg{width:14px;height:14px;stroke:rgba(0,0,0,.3);fill:none;stroke-width:1.5;stroke-linecap:round;}
.h-scroll.in{opacity:1;}
/* right panel — Vale's photo */
.hero-r{position:relative;overflow:hidden;background:var(--du);display:flex;align-items:flex-end;justify-content:center;}
.hero-r img{
  width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;
  opacity:0;transition:opacity 1s .6s ease;
}
.hero-r img.in{opacity:1;transform:translateY(0);}

/* ══ TICKER ══ */
.tick{background:var(--bk);overflow:hidden;padding:.75rem 0;}
.tt{display:flex;animation:tk 30s linear infinite;white-space:nowrap;}
.ti{font-size:.7rem;letter-spacing:.15em;text-transform:lowercase;padding:0 2.8rem;color:rgba(237,235,230,.5);font-weight:400;}
.td{color:var(--ta);opacity:.55;font-size:.5rem;vertical-align:middle;}
@keyframes tk{to{transform:translateX(-50%);}}

/* ══ STATEMENT ══ */
.stmt{background:var(--pa);display:grid;grid-template-columns:1fr 1fr;min-height:0;border-bottom:1px solid rgba(0,0,0,.07);}
.stmt-img{overflow:hidden;position:relative;}
.stmt-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1);}
.stmt-img:hover img{transform:scale(1.03);}
.stmt-r{padding:5vh var(--pad) 5vh 4rem;display:flex;flex-direction:column;justify-content:center;}
.stmt-h{font-family:var(--P);font-weight:800;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.1;letter-spacing:-.02em;max-width:460px;margin-bottom:4.5rem;}
.stmt-h .lt{font-weight:300;font-family:var(--CG);font-style:italic;color:var(--ta);}
.stmt-r{padding-top:.5rem;}
.stmt-body{font-size:.92rem;line-height:2.1;color:rgba(0,0,0,.5);font-weight:300;max-width:360px;margin-bottom:2rem;}
.stmt-cta{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;letter-spacing:.04em;font-weight:600;
  color:var(--bk);text-decoration:none;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:2px;transition:gap .3s;}
.stmt-cta:hover{gap:1.1rem;}
.stmt-sub{font-size:.72rem;letter-spacing:.1em;text-transform:lowercase;opacity:.28;margin-top:2.5rem;line-height:2.2;font-weight:400;}

/* ══ SERVICES MARQUEE ══ */
.svc{background:var(--du);overflow:hidden;padding:4rem 0;}
.sr{overflow:hidden;}
.sr+.sr{margin-top:.7rem;}
.st{display:flex;white-space:nowrap;}
.st.fw{animation:sf 26s linear infinite;}
.st.rv{animation:sr2 30s linear infinite;}
.st:hover{animation-play-state:paused;}
.sw{font-family:var(--P);font-weight:800;font-size:clamp(2.8rem,5vw,5.5rem);letter-spacing:-.02em;color:rgba(13,13,13,.07);padding:0 1.2rem;transition:color .3s;}
.sw:hover{color:rgba(13,13,13,.6);}
.ss{color:var(--ta);font-family:var(--CG);font-style:italic;font-size:1.6rem;padding:0 .3rem;opacity:.4;}
@keyframes sf{to{transform:translateX(-50%);}}
@keyframes sr2{from{transform:translateX(-50%);}to{transform:translateX(0);}}

/* ══ SERVICES ══ */
.svcs{padding:8vh var(--pad);background:var(--pa);}
.pg-hero{padding:16vh var(--pad) 2vh;background:var(--pa);}
.section-head{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:3vh;align-items:end;}
.s-ey{font-size:.85rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ta);font-weight:500;margin-bottom:.7rem;display:flex;align-items:center;gap:.6rem;}
.s-ey::before{content:'—';opacity:.5;font-weight:300;}
.s-hh{font-family:var(--P);font-weight:800;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.02em;}
.s-hh .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:var(--ta);}
.s-intro{font-size:.9rem;line-height:2.1;color:rgba(0,0,0,.5);font-weight:300;}
.s-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;}
.s-pill{font-size:.68rem;letter-spacing:.04em;padding:.35rem .9rem;border:1px solid rgba(0,0,0,.12);color:rgba(0,0,0,.5);font-weight:400;transition:all .25s;cursor:default;}
.s-pill:hover{background:var(--bk);color:var(--pa);border-color:var(--bk);}
.svcs-grid{border-top:1px solid rgba(0,0,0,.08);}
.scard{
  border-bottom:1px solid rgba(0,0,0,.08);
  overflow:hidden;
  transition:background .25s;
}
.scard:last-child{border-bottom:none;}
.scard:hover{background:var(--du);}
.scard-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 2rem;cursor:none;
}
.scard-left{display:flex;align-items:center;gap:1.2rem;}
.scard-ico{font-size:1rem;opacity:.45;flex-shrink:0;}
.scard-title{font-family:var(--P);font-weight:700;font-size:1rem;letter-spacing:-.01em;text-transform:lowercase;}
.scard-arrow{
  font-size:.75rem;color:var(--ta);opacity:.5;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
  flex-shrink:0;
}
.scard:hover .scard-arrow{transform:rotate(180deg);opacity:1;}
.scard.open .scard-arrow{transform:rotate(180deg);opacity:1;}
.scard-body-wrap{
  max-height:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.16,1,.3,1),padding .35s ease;
  padding:0 2rem;
}
.scard:hover .scard-body-wrap{max-height:300px;padding:0 2rem 1.8rem;}
.scard.open .scard-body-wrap{max-height:300px;padding:0 2rem 1.8rem;}
.scard.open .scard-arrow{transform:rotate(180deg);opacity:1;}
.scard.open .scard-body-wrap{max-height:300px;padding:0 2rem 1.8rem;}
.scard-body{font-size:.82rem;line-height:2;color:rgba(0,0,0,.48);font-weight:300;margin-bottom:1rem;}
.scard-list{list-style:none;}
.scard-list li{font-size:.75rem;line-height:2.5;color:rgba(0,0,0,.35);display:flex;align-items:center;gap:.6rem;font-weight:300;}
.scard-list li::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--ta);flex-shrink:0;}

/* ══ PROCESS ══ */
.proc{padding:5vh var(--pad) 8vh;background:var(--du);}
.proc-h-line1{white-space:nowrap;}
@media(max-width:480px){.proc-h{font-size:clamp(1.35rem,6.8vw,3rem);}}
.proc-steps{border-top:1px solid rgba(0,0,0,.08);margin-top:.3vh;}
.pstep{border-bottom:1px solid rgba(0,0,0,.08);overflow:hidden;transition:background .25s;}
.pstep:last-child{border-bottom:none;}
.pstep:hover{background:rgba(0,0,0,.02);}
.pstep-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 0;cursor:none;
}
.pstep-left{display:flex;align-items:center;gap:1.5rem;}
.pnum{font-family:var(--P);font-weight:800;font-size:1.8rem;color:rgba(0,0,0,.08);letter-spacing:-.03em;line-height:1;flex-shrink:0;}
.pname{font-family:var(--P);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;text-transform:lowercase;}
.pstep-arrow{font-size:.75rem;color:var(--ta);opacity:.5;transition:transform .35s cubic-bezier(.16,1,.3,1);flex-shrink:0;}
.pstep:hover .pstep-arrow{transform:rotate(180deg);opacity:1;}
.pstep.open .pstep-arrow{transform:rotate(180deg);opacity:1;}
.pbody-wrap{
  max-height:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.16,1,.3,1),padding .35s ease;
  padding:0 0;padding-left:3.8rem;
}
.pstep:hover .pbody-wrap{max-height:200px;padding:0 0 1.8rem;padding-left:3.8rem;}
.pstep.open .pbody-wrap{max-height:200px;padding:0 0 1.8rem;padding-left:3.8rem;}
.pstep.open .pstep-arrow{transform:rotate(180deg);opacity:1;}
.pstep.open .pbody-wrap{max-height:200px;padding:0 0 1.8rem;padding-left:3.8rem;}
.pbody{font-size:.84rem;line-height:2;color:rgba(0,0,0,.46);font-weight:300;max-width:500px;}

/* ══ WORK ══ */
.work{padding:8vh 0;background:var(--bk);}
/* dark work section overrides */
.work .work-ht{color:var(--pa);}
.work .work-desc{color:rgba(237,235,230,.55);}
.work .wstage{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);}
.work .iside{border-right:1px solid rgba(255,255,255,.08);}
.work .itab{border-bottom:1px solid rgba(255,255,255,.08);}
.work .itab:first-child{border-top:1px solid rgba(255,255,255,.08);}
.work .itn{color:rgba(237,235,230,.35);}
.work .itab.on .itn{color:var(--pa);}
.work .itab:hover:not(.on) .itn{color:rgba(237,235,230,.65);}
.work .iview{color:var(--pa);opacity:.55;border-bottom-color:rgba(255,255,255,.2);}
.work .iview:hover{opacity:1;}
.work .pside-r-h{color:var(--pa);}
.work .pside-r-body{color:rgba(237,235,230,.55);}
.work .pside-r-cta{color:var(--pa);border-bottom-color:rgba(255,255,255,.25);}
.work .pf2{border:1px solid rgba(255,255,255,.14);}
.work-h-row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:0 var(--pad);margin-bottom:3vh;align-items:end;}
.work-ht{font-family:var(--P);font-weight:800;font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.02em;}
.work-ht .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:var(--ta);}
.work-desc{font-size:.9rem;line-height:2.1;color:rgba(0,0,0,.48);font-weight:300;padding-top:.5rem;max-width:380px;}

/* industry stage */
.wstage{display:grid;grid-template-columns:200px 1fr;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);}
.iside{padding:3rem var(--pad) 3rem 3rem;border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;justify-content:space-between;min-height:480px;}
.ilbl{font-size:.85rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ta);opacity:.8;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem;}
.ilbl::before{content:'—';opacity:.4;}
.itabs{flex:1;}
.itab{padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.06);cursor:none;display:flex;align-items:center;justify-content:space-between;transition:padding-left .3s cubic-bezier(.16,1,.3,1);}
.itab:first-child{border-top:1px solid rgba(0,0,0,.06);}
.itab:hover{padding-left:.4rem;}
.itab.on{padding-left:.8rem;}
.itn{font-family:var(--P);font-weight:600;font-size:.9rem;letter-spacing:-.005em;color:rgba(0,0,0,.28);transition:color .25s;text-transform:lowercase;}
.itab.on .itn{color:var(--bk);font-weight:700;font-size:.95rem;}
.itab:hover:not(.on) .itn{color:rgba(0,0,0,.55);}
.ita{opacity:0;color:var(--ta);font-size:.7rem;transform:translateX(-4px);transition:all .25s;}
.itab.on .ita{opacity:1;transform:none;}
.iview{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.05em;font-weight:600;
  color:var(--bk);opacity:.4;border:none;border-bottom:1px solid rgba(0,0,0,.12);padding-bottom:1px;
  transition:opacity .2s,gap .3s;cursor:none;background:none;font-family:var(--P);padding-left:0;}
.iview:hover{opacity:.9;gap:.8rem;}

/* phone — ONE video, no scroll */
.pside{display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:center;padding:3rem var(--pad);}
.ph-wrap{position:relative;}
.pf2{width:195px;background:#0D0D0D;border-radius:36px;padding:11px;
  box-shadow:0 30px 80px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);
  animation:pfl 5s ease-in-out infinite;}
@keyframes pfl{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
.pnt{width:60px;height:18px;background:#0D0D0D;border-radius:0 0 13px 13px;margin:0 auto 7px;}
.pscr{border-radius:26px;overflow:hidden;height:400px;position:relative;background:#111;}

/* ══ centered work stage: 2 tabs · phone · 2 tabs ══ */
.wstage2{display:grid;grid-template-columns:1fr auto 1fr;gap:4rem;align-items:center;
  padding:4rem var(--pad);border-top:1px solid rgba(255,255,255,.08);max-width:1200px;margin:0 auto;}
.itabs-side .ilbl{margin-bottom:2rem;}
.itabs-side .itab{padding:1.4rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.itabs-side .itab:first-of-type{border-top:1px solid rgba(255,255,255,.08);}
.itabs-side .itn{font-size:1.15rem;}
.itabs-side .itab.on .itn{font-size:1.22rem;}
.itabs-side-l{text-align:left;}
.itabs-side-r{text-align:left;}
.wstage2 .pf2{width:280px;}
.wstage2 .pscr{height:575px;}
.wstage-below{display:flex;justify-content:center;gap:3rem;align-items:center;padding:0 var(--pad) 2rem;flex-wrap:wrap;}

/* ══ WORK CARDS — new category grid ══ */
.work-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:0 var(--pad);margin-top:1vh;}
.wcard{position:relative;display:block;text-decoration:none;color:inherit;overflow:hidden;border-radius:2px;background:#111;}
.wcard-media{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;}
.wcard-cover,.wcard-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.wcard-video{opacity:0;transition:opacity .5s ease;}
.wcard-video.in{opacity:1;}
.wcard-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,0) 70%);transition:opacity .35s ease;}
.wcard:hover .wcard-media img.wcard-cover{transform:scale(1.035);}
.wcard-media img.wcard-cover{transition:transform .7s cubic-bezier(.16,1,.3,1);}
.wcard-info{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.5rem 1.6rem;color:var(--pa);}
.wcard-title-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;}
.wcard-title{font-family:var(--P);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;}
.wcard-arrow{font-size:.9rem;opacity:.6;transition:transform .35s ease,opacity .35s ease;}
.wcard:hover .wcard-arrow{transform:translateX(4px);opacity:1;}
.wcard-drop{max-height:0;opacity:0;overflow:hidden;transition:max-height .45s cubic-bezier(.16,1,.3,1),opacity .35s ease,margin-top .45s ease;}
.wcard:hover .wcard-drop{max-height:160px;opacity:1;margin-top:.8rem;}
.wcard-desc{font-size:.78rem;line-height:1.65;color:rgba(237,235,230,.78);font-weight:300;}
.wcard-explore{display:inline-block;margin-top:.7rem;font-size:.72rem;letter-spacing:.04em;font-weight:600;color:var(--pa);opacity:.85;}

@media(max-width:1024px){
  .work-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .work-cards{grid-template-columns:1fr;gap:1.1rem;}
  .wcard-media{aspect-ratio:4/3;}
  .wcard-drop{max-height:none;opacity:1;margin-top:.7rem;}
}
/* single video in phone */
#phoneVid{width:100%;height:100%;object-fit:cover;}
.pui2{position:absolute;top:0;left:0;right:0;padding:.5rem .8rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent);z-index:3;}
.pul{font-family:var(--P);font-weight:800;font-size:.62rem;color:rgba(237,235,230,.65);letter-spacing:.06em;}
.pud{display:flex;gap:2px;}
.pdd{width:2px;height:2px;border-radius:50%;background:rgba(237,235,230,.3);}
.ph-ind-label{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  font-size:.55rem;letter-spacing:.18em;text-transform:lowercase;
  color:rgba(237,235,230,.55);font-weight:500;
  background:rgba(0,0,0,.3);padding:.25rem .65rem;border-radius:20px;
  backdrop-filter:blur(4px);white-space:nowrap;z-index:3;}
.pside-r{}
.pside-r-ey{font-size:.72rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ta);font-weight:500;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;}
.pside-r-ey::before{content:'—';opacity:.4;}
.pside-r-h{font-family:var(--P);font-weight:800;font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.02em;line-height:1.15;margin-bottom:1.2rem;}
.pside-r-h .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:var(--ta);font-size:.6em;display:block;margin-bottom:.2rem;}
.pside-r-body{font-size:.88rem;line-height:2.1;color:rgba(0,0,0,.48);font-weight:300;margin-bottom:2rem;}
.pside-r-cta{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.05em;font-weight:600;
  color:var(--bk);background:none;border:none;border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:2px;
  transition:gap .3s;cursor:none;font-family:var(--P);}
.pside-r-cta:hover{gap:.9rem;}

/* video grid */
.vgrid{padding:3rem var(--pad) 0;}
.vrow{display:grid;gap:1.2rem;margin-bottom:1.2rem;}
.vr4{grid-template-columns:repeat(4,1fr);}
.vr3{grid-template-columns:1.2fr 1fr 1fr;}
.vr2{grid-template-columns:1fr 1fr;}
.vc{position:relative;}
.vc.up{margin-top:-3.5rem;}
.vc.dn{margin-top:3.5rem;}
.vw{position:relative;overflow:hidden;border-radius:2px;background:#1a1a1a;}
.vw.pi{background:var(--du);}
.vw video,.vw img{width:100%;display:block;aspect-ratio:9/16;object-fit:cover;transition:transform .65s cubic-bezier(.16,1,.3,1);}
.vw img{aspect-ratio:3/4;}
.vw:hover video,.vw:hover img{transform:scale(1.04);}
.vsnd{position:absolute;bottom:.7rem;right:.7rem;width:30px;height:30px;border-radius:50%;
  background:rgba(13,13,13,.4);border:1px solid rgba(237,235,230,.25);
  display:flex;align-items:center;justify-content:center;cursor:none;
  opacity:0;transition:opacity .3s;z-index:4;}
.vw:hover .vsnd{opacity:1;}
.vsnd svg{width:12px;height:12px;stroke:rgba(237,235,230,.85);fill:none;stroke-width:1.5;stroke-linecap:round;}
.vm{margin-top:.7rem;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;}
.vc2{font-size:.65rem;letter-spacing:.07em;text-transform:lowercase;color:var(--ta);opacity:.8;flex-shrink:0;font-weight:500;}
.vt{font-size:.82rem;font-weight:300;opacity:.45;text-transform:lowercase;text-align:right;}

/* ══ OVERLAY ══ */
#ind-overlay{
  position:fixed;inset:0;z-index:800;background:var(--pa);
  transform:translateY(100%);
  transition:transform .75s cubic-bezier(.16,1,.3,1);
  overflow-y:auto;overflow-x:hidden;
}
#ind-overlay.open{transform:translateY(0);}
.ov-nav{
  position:sticky;top:0;
  background:rgba(237,235,230,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,0,0,.09);
  display:flex;justify-content:space-between;align-items:center;
  padding:1.2rem var(--pad) 1.2rem 11rem;z-index:10;
}
.ov-back{
  display:none;
  position:fixed;top:1.2rem;left:1.2rem;z-index:950;
  align-items:center;gap:.55rem;
  font-size:.8rem;letter-spacing:.04em;font-weight:700;
  color:var(--pa);background:var(--bk);
  border:1.5px solid var(--bk);border-radius:2px;
  padding:.55rem 1.3rem;
  cursor:none;transition:background .25s,color .25s;font-family:var(--P);
  text-transform:lowercase;
  box-shadow:0 2px 14px rgba(0,0,0,.18);
}
body.ov-open .ov-back{display:inline-flex;}
.ov-back:hover{background:transparent;color:var(--bk);}
@media(max-width:768px){.ov-back{top:.9rem;left:.9rem;padding:.45rem 1rem;font-size:.72rem;}}
.ov-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;}
.ov-title{font-family:var(--P);font-weight:800;font-size:1.1rem;letter-spacing:-.01em;text-transform:lowercase;}
.ov-logo{height:18px;}
.ov-body{padding:3rem var(--pad) 6rem;}

/* ══ STATS ══ */
.stats{background:var(--bk);color:var(--pa);padding:8vh var(--pad);}
.stey{font-size:.72rem;letter-spacing:.1em;text-transform:lowercase;color:var(--sl);opacity:.65;margin-bottom:3rem;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.stey::before{content:'—';opacity:.4;}
.stgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.07);}
.stgrid4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.stgrid4{grid-template-columns:repeat(2,1fr);}}
.sti{padding:2.5rem 3rem 2.5rem 0;border-right:1px solid rgba(255,255,255,.07);}
.sti:last-child{border:none;}
.stn{font-family:var(--P);font-weight:800;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.025em;line-height:1;color:var(--pa);}
.stn.stn-word{font-size:clamp(1.6rem,2.8vw,2.4rem);letter-spacing:-.01em;}
.stfr{font-size:.5em;opacity:.28;}
.star{font-size:.48em;color:var(--ta);margin:0 .2rem;}
.stl{font-size:.72rem;letter-spacing:.05em;text-transform:lowercase;color:rgba(237,235,230,.32);margin-top:.6rem;line-height:1.9;font-weight:400;}
.stdet{font-size:.82rem;color:rgba(237,235,230,.2);margin-top:.35rem;font-weight:300;font-family:var(--CG);font-style:italic;}
.stglobe{width:clamp(2.5rem,5vw,4.5rem);height:clamp(2.5rem,5vw,4.5rem);color:rgba(237,235,230,.55);}
.stglobe svg{width:100%;height:100%;display:block;}

/* ══ TESTIMONIALS ══ */
.testi{padding:8vh var(--pad);background:var(--pa);}
.tey{font-size:.72rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ta);opacity:.75;margin-bottom:5vh;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.tey::before{content:'—';opacity:.5;}
.tgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem;}
.tc{padding:2.8rem;background:var(--du);border-radius:2px;}
.tmark{font-size:2.5rem;color:var(--ta);opacity:.2;font-family:var(--CG);line-height:.5;display:block;margin-bottom:.9rem;}
.tq{font-family:var(--CG);font-style:italic;font-weight:300;font-size:clamp(1rem,1.7vw,1.4rem);line-height:1.65;color:var(--bk);margin-bottom:1.5rem;}
.tat{font-size:.68rem;letter-spacing:.06em;text-transform:lowercase;color:rgba(0,0,0,.3);font-weight:400;}

/* ══ BRANDS ══ */
.brnds{padding:6vh 0;background:var(--pa);border-top:1px solid rgba(0,0,0,.06);overflow:hidden;}
.brey{padding:0 var(--pad);font-size:.72rem;letter-spacing:.08em;text-transform:lowercase;opacity:.28;margin-bottom:3vh;font-weight:400;}
.btk{display:flex;align-items:center;gap:4rem;animation:btkA 22s linear infinite;white-space:nowrap;padding:0 2rem;}
.btk:hover{animation-play-state:paused;}
@keyframes btkA{to{transform:translateX(-50%);}}
.blo{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0;opacity:.28;transition:opacity .3s;cursor:default;}
.blo:hover{opacity:.9;}
.bln{font-family:var(--CG);font-style:italic;font-weight:300;font-size:clamp(.9rem,1.2vw,1.05rem);color:var(--bk);white-space:nowrap;}
.bls{font-size:.55rem;letter-spacing:.1em;text-transform:lowercase;color:rgba(0,0,0,.3);font-weight:400;}
.bdv{width:1px;height:24px;background:rgba(0,0,0,.09);flex-shrink:0;}

/* ══ ABOUT ══ */
.about{padding:8vh var(--pad);background:var(--du);}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start;}
.about-photo{margin:1.8rem 0 2rem;max-width:340px;overflow:hidden;}
.backstage-caption{position:absolute;bottom:1.5rem;left:var(--pad);color:var(--pa);font-family:var(--CG);font-style:italic;font-size:clamp(.95rem,1.6vw,1.3rem);text-shadow:0 2px 12px rgba(0,0,0,.45);margin:0;}
.about-photo img{width:100%;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1);}
.about-photo:hover img{transform:scale(1.03);}
@media(min-width:769px){
  .about-photo-r{max-width:none;margin:calc(-1 * 8vh) calc(-1 * var(--pad)) 2.5rem 0;width:calc(100% + var(--pad));}
}
@media(max-width:768px){
  .about-photo-r{max-width:none;width:100%;margin:0 0 2rem;}
}
.aey{font-size:.85rem;letter-spacing:.1em;text-transform:lowercase;color:var(--ta);opacity:.85;margin-bottom:1.4rem;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.aey::before{content:'—';opacity:.5;}
.ah{font-family:var(--P);font-weight:800;font-size:clamp(2rem,3.2vw,2.8rem);letter-spacing:-.02em;line-height:1.15;margin-bottom:1.5rem;text-transform:lowercase;}
.ah .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:var(--ta);text-transform:none;}
.arl{width:22px;height:1px;background:var(--ta);opacity:.4;margin-bottom:1.5rem;}
.ap{font-size:.88rem;line-height:2.2;color:rgba(0,0,0,.5);font-weight:300;margin-bottom:1rem;max-width:500px;}
.ap-first{margin-top:1.4rem;}
.atags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem;}
.atag{font-size:.65rem;letter-spacing:.05em;padding:.3rem .75rem;border:1px solid rgba(0,0,0,.11);color:rgba(0,0,0,.38);font-weight:400;}
.bilingual{margin-top:1.5rem;font-size:.75rem;letter-spacing:.04em;color:rgba(0,0,0,.4);font-weight:400;}
.bilingual em{font-style:italic;font-family:var(--CG);color:var(--ta);}

/* credentials */
.acreds-title{font-family:var(--P);font-weight:700;font-size:.88rem;margin-bottom:1.5rem;text-transform:lowercase;color:rgba(0,0,0,.55);}
.acr{padding:1.2rem 0;border-bottom:1px solid rgba(0,0,0,.07);}
.acr:first-child{border-top:1px solid rgba(0,0,0,.07);}
.acr:last-child{border-bottom:none;}
.acrn{font-family:var(--P);font-weight:600;font-size:.85rem;margin-bottom:.22rem;text-transform:lowercase;}
.acrd{font-size:.65rem;letter-spacing:.05em;text-transform:lowercase;color:var(--ta);opacity:.7;font-weight:400;}

/* certificates */
.certs-section{margin-top:1.5rem;}
.certs-title{font-family:var(--P);font-weight:700;font-size:.88rem;margin-bottom:1.5rem;text-transform:lowercase;color:rgba(0,0,0,.55);}
.cert-item{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.06);}
.cert-item:first-child{border-top:1px solid rgba(0,0,0,.06);}
.cert-item:last-child{border-bottom:none;}
.cert-icon{width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cert-icon svg{width:15px;height:15px;}
.cert-name{font-size:.8rem;font-weight:500;color:var(--bk);text-transform:lowercase;line-height:1.4;}
.cert-from{font-size:.6rem;letter-spacing:.05em;text-transform:lowercase;color:var(--ta);opacity:.7;font-weight:400;margin-top:.15rem;}

/* skills */
.askills{margin-top:2.5rem;}
.askills-title{font-family:var(--P);font-weight:700;font-size:.88rem;margin-bottom:1.5rem;text-transform:lowercase;color:rgba(0,0,0,.55);}
.skill-cat{margin-bottom:1.4rem;}
.skill-cat-name{font-size:.62rem;letter-spacing:.12em;text-transform:lowercase;color:var(--ta);font-weight:600;opacity:.75;margin-bottom:.7rem;}
.skill-pills{display:flex;flex-wrap:wrap;gap:.4rem;}
.skill-pill{font-size:.65rem;letter-spacing:.03em;padding:.3rem .75rem;background:rgba(0,0,0,.05);color:rgba(0,0,0,.55);font-weight:400;text-transform:lowercase;}

/* ══ CONTACT ══ */
.ct{background:var(--bk);color:var(--pa);padding:8vh var(--pad) 7vh;position:relative;overflow:hidden;}
.ctbg{position:absolute;bottom:-2rem;right:0;font-family:var(--P);font-weight:800;font-size:26vw;color:rgba(255,255,255,.018);letter-spacing:-.025em;line-height:1;pointer-events:none;user-select:none;}
.ctgrid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;position:relative;z-index:1;}
.ctey{font-size:.72rem;letter-spacing:.1em;text-transform:lowercase;color:var(--sl);opacity:.65;margin-bottom:2rem;display:flex;align-items:center;gap:.6rem;font-weight:500;}
.ctey::before{content:'—';opacity:.4;}
.cth{font-family:var(--P);font-weight:800;font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:-.025em;line-height:.95;color:var(--pa);margin-bottom:2rem;text-transform:lowercase;}
.cth .acc{font-family:var(--CG);font-style:italic;font-weight:300;color:rgba(237,235,230,.3);font-size:.45em;display:block;margin-bottom:.3rem;}
.ctsl{font-family:var(--CG);font-style:italic;font-size:clamp(1rem,1.5vw,1.3rem);color:rgba(237,235,230,.65);margin-bottom:2.5rem;line-height:1.65;}
.ctdet{font-size:.82rem;letter-spacing:.04em;text-transform:lowercase;color:rgba(237,235,230,.92);line-height:2.5;font-weight:400;}
.ctlang{color:var(--sl);opacity:1;}
.ctlinks{margin-top:3rem;border-top:1px solid rgba(255,255,255,.06);padding-top:2.5rem;}
.ctlnk{display:flex;align-items:center;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;color:var(--pa);transition:padding-left .3s cubic-bezier(.16,1,.3,1);}
.ctlnk:hover{padding-left:.8rem;}
.ctll{font-size:.72rem;letter-spacing:.06em;text-transform:lowercase;opacity:.8;width:5.5rem;flex-shrink:0;font-weight:400;color:var(--pa);}
.ctlv{font-family:var(--CG);font-style:italic;font-size:1.25rem;flex:1;transition:opacity .3s;color:var(--pa);}
.ctlnk:hover .ctlv{opacity:.5;}
.ctla{opacity:0;transform:translateX(-5px);transition:all .3s;font-size:.75rem;}
.ctlnk:hover .ctla{opacity:1;transform:none;}
.ctform{display:flex;flex-direction:column;}
.ctf{border:none;border-bottom:1px solid rgba(255,255,255,.08);background:none;padding:1.3rem 0;
  font-family:var(--P);font-weight:300;font-size:.88rem;color:var(--pa);outline:none;
  transition:border-color .3s;width:100%;}
.ctf::placeholder{color:rgba(237,235,230,.55);font-style:italic;font-family:var(--CG);font-size:1rem;}
.ctf:focus{border-bottom-color:var(--sl);}
.ctf.ta{resize:none;min-height:80px;}
.ctbtn{margin-top:2rem;font-size:.75rem;letter-spacing:.08em;text-transform:lowercase;color:var(--pa);background:none;
  border:1px solid rgba(255,255,255,.35);padding:.7rem 1.5rem;cursor:none;
  display:inline-flex;align-items:center;gap:.7rem;opacity:.9;transition:all .3s;
  font-family:var(--P);font-weight:600;width:fit-content;}
.ctbtn:hover{opacity:1;background:var(--pa);color:var(--bk);border-color:var(--pa);}

footer{background:#060606;border-top:1px solid rgba(255,255,255,.04);padding:2.5rem var(--pad);
  display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:3rem;align-items:start;}
.ft-logo{height:18px;filter:invert(1);opacity:.2;}
.ft-col-title{font-size:.65rem;letter-spacing:.12em;text-transform:lowercase;color:rgba(237,235,230,.3);font-weight:600;margin-bottom:1.2rem;}
.ft-col-links{list-style:none;}
.ft-col-links li a{font-size:.72rem;color:rgba(237,235,230,.22);text-decoration:none;display:block;padding:.35rem 0;transition:color .2s;letter-spacing:.02em;font-weight:400;}
.ft-col-links li a:hover{color:rgba(237,235,230,.7);}
.ft-copy{font-size:.6rem;letter-spacing:.04em;color:rgba(237,235,230,.12);margin-top:1rem;font-weight:300;}

.rf{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.rf.in{opacity:1;transform:none;}
.rc{clip-path:inset(0 0 102% 0);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1);}
.rc.in{clip-path:inset(0 0 0% 0);}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}.d5{transition-delay:.4s;}

/* ══ MOBILE RESPONSIVE ══ */

/* hide cursor on touch devices */
@media (hover: none) {
  #cr { display: none !important; }
  body { cursor: auto; }
  * { cursor: auto !important; }
}

@media (max-width: 768px) {
  :root { --pad: 1.4rem; }

  /* cursor — hide on mobile */
  #cr { display: none !important; }

  /* nav */
  nav { padding: 1rem var(--pad); }
  .nls { display: none; }
  .nc { font-size: .7rem; padding: .4rem .85rem; }

  /* hero — text first, image below, nothing cut off */
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 100svh;
  }
  .hero-l {
    padding: 7rem var(--pad) 2.5rem;
    justify-content: flex-start;
    order: 1;
  }
  .htype { font-size: clamp(3.5rem, 16vw, 6rem); }
  .hero-r {
    order: 2;
    height: 90vw;
    max-height: 420px;
    min-height: 300px;
  }
  .hero-r img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    display: block;
  }
  .h-scroll { display: none; }

  /* ticker */
  .ti { font-size: .6rem; padding: 0 1.5rem; }

  /* statement */
  .stmt { grid-template-columns: 1fr; min-height: auto; }
  .stmt-img { height: auto; max-height: none; }
  .stmt-img img { position: static; height: auto; object-fit: contain; }
  .stmt-r { padding: 2.5rem var(--pad); }
  .stmt-h { font-size: clamp(1.6rem, 6vw, 2.5rem); }

  /* services marquee */
  .sw { font-size: clamp(2rem, 8vw, 3.5rem); }

  /* services grid */
  .svcs-grid { grid-template-columns: 1fr; }
  .scard { border-right: none !important; }
  .scard:nth-last-child(-n+3) { border-bottom: 1px solid rgba(0,0,0,.08); }
  .scard:last-child { border-bottom: none; }
  .section-head { grid-template-columns: 1fr; gap: 1.5rem; }

  /* process */
  .proc-steps { grid-template-columns: 1fr; }
  .pstep { padding: 2rem 0 !important; border-left: none !important; border-top: 1px solid rgba(0,0,0,.08); }
  .pstep:first-child { border-top: none; }

  /* work */
  .work-h-row { grid-template-columns: 1fr; gap: 1rem; }
  .wstage { grid-template-columns: 1fr; }
  .iside { min-height: auto; padding: 2rem var(--pad); border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .pside { grid-template-columns: 1fr; justify-items: center; gap: 2rem; padding: 2.5rem var(--pad); }
  .pf2 { width: 160px; }
  .pscr { height: 320px; }
  .pside-r { text-align: center; }
  .pside-r-ey { justify-content: center; }
  .pside-r-cta { margin: 0 auto; }

  /* video grid */
  .vgrid { padding: 1.5rem var(--pad) 0; }
  .vrow { gap: .7rem; margin-bottom: .7rem; }
  .vr4, .vr3 { grid-template-columns: 1fr 1fr; }
  .vr2 { grid-template-columns: 1fr 1fr; }
  .vc.up, .vc.dn { margin-top: 0; }

  /* overlay */
  .ov-nav { padding: 1rem var(--pad); }
  .ov-logo { display: none; }
  .ov-body { padding: 1.5rem var(--pad) 4rem; }

  /* stats */
  .stgrid { grid-template-columns: 1fr; }
  .sti { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.07); padding: 2rem 0; }
  .sti:last-child { border-bottom: none; }

  /* testimonials */
  .tgrid { grid-template-columns: 1fr; }

  /* about */
  .about-inner { grid-template-columns: 1fr; gap: 3rem; }

  /* contact */
  .ctgrid { grid-template-columns: 1fr; gap: 3rem; }
  .ctbg { font-size: 40vw; }

  /* footer */
  footer { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 2.5rem var(--pad); }
}

@media (max-width: 480px) {
  .htype { font-size: clamp(3rem, 14vw, 4.5rem); }
  footer { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  :root { --pad: 1.4rem; }

  /* nav */
  nav { padding: 1rem var(--pad); }
  .nls { display: none; }
  .nc { font-size: .7rem; padding: .4rem .85rem; }

  /* hero — stack vertically */
  .hero { grid-template-columns: 1fr; height: auto; min-height: 100vh; }
  .hero-l { padding: 7rem var(--pad) 2.5rem; justify-content: flex-end; }
  .htype { font-size: clamp(3.5rem, 16vw, 6rem); }
  .hero-r { height: 45vw; max-height: 260px; }
  .h-scroll { display: none; }

  /* ticker */
  .ti { font-size: .6rem; padding: 0 1.5rem; }

  /* statement */
  .stmt { grid-template-columns: 1fr; min-height: auto; }
  .stmt-img { height: auto; max-height: none; }
  .stmt-img img { position: static; height: auto; object-fit: contain; }
  .stmt-r { padding: 2.5rem var(--pad); }
  .stmt-h { font-size: clamp(1.6rem, 6vw, 2.5rem); }

  /* services marquee */
  .sw { font-size: clamp(2rem, 8vw, 3.5rem); }

  /* services grid */
  .svcs-grid { grid-template-columns: 1fr; }
  .scard { border-right: none !important; }
  .scard:nth-last-child(-n+3) { border-bottom: 1px solid rgba(0,0,0,.08); }
  .scard:last-child { border-bottom: none; }
  .section-head { grid-template-columns: 1fr; gap: 1.5rem; }

  /* process */
  .proc-steps { grid-template-columns: 1fr; }
  .pstep { padding: 2rem 0 !important; border-left: none !important; border-top: 1px solid rgba(0,0,0,.08); }
  .pstep:first-child { border-top: none; }

  /* work */
  .work-h-row { grid-template-columns: 1fr; gap: 1rem; }
  .wstage { grid-template-columns: 1fr; }
  .iside { min-height: auto; padding: 2rem var(--pad); border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); }
  .pside { grid-template-columns: 1fr; justify-items: center; gap: 2rem; padding: 2.5rem var(--pad); }
  .pf2 { width: 160px; }
  .pscr { height: 320px; }
  .pside-r { text-align: center; }
  .pside-r-ey { justify-content: center; }
  .pside-r-cta { margin: 0 auto; }

  /* video grid */
  .vgrid { padding: 1.5rem var(--pad) 0; }
  .vrow { gap: .7rem; margin-bottom: .7rem; }
  .vr4, .vr3 { grid-template-columns: 1fr 1fr; }
  .vr2 { grid-template-columns: 1fr 1fr; }
  .vc.up, .vc.dn { margin-top: 0; }

  /* overlay */
  .ov-nav { padding: 1rem var(--pad); }
  .ov-logo { display: none; }
  .ov-body { padding: 1.5rem var(--pad) 4rem; }

  /* stats */
  .stgrid { grid-template-columns: 1fr; }
  .sti { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.07); padding: 2rem 0; }
  .sti:last-child { border-bottom: none; }

  /* testimonials */
  .tgrid { grid-template-columns: 1fr; }

  /* about */
  .about-inner { grid-template-columns: 1fr; gap: 3rem; }

  /* contact */
  .ctgrid { grid-template-columns: 1fr; gap: 3rem; }
  .ctbg { font-size: 40vw; }

  /* footer */
  footer { grid-template-columns: 1fr 1fr; gap: 2rem; padding: 2.5rem var(--pad); }
}

@media (max-width: 480px) {
  .htype { font-size: clamp(3rem, 14vw, 4.5rem); }
  .vr4, .vr3 { grid-template-columns: 1fr 1fr; }
  .tgrid { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; }
  .nls { display: none; }
}

/* ── ABOUT ACCORDIONS ── */
.acc-section { margin-top:2.5rem; }
.acc-title { font-family:var(--P);font-weight:700;font-size:.88rem;margin-bottom:.5rem;text-transform:lowercase;color:rgba(0,0,0,.55); }
.acc-item {
  border-bottom:1px solid rgba(0,0,0,.07);
  overflow:hidden;
  transition:background .2s;
}
.acc-item:first-of-type { border-top:1px solid rgba(0,0,0,.07); }
.acc-item:hover { background:rgba(0,0,0,.02); }
.acc-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 0;cursor:none;
}
.acc-header-left { display:flex;align-items:center;gap:.9rem; }
.acc-icon { width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.acc-icon svg { width:13px;height:13px; }
.acc-name { font-family:var(--P);font-weight:600;font-size:.82rem;text-transform:lowercase; }
.acc-arr { font-size:.65rem;color:var(--ta);opacity:.4;transition:transform .35s cubic-bezier(.16,1,.3,1); }
.acc-item:hover .acc-arr { transform:rotate(180deg);opacity:1; }
.acc-body-wrap {
  max-height:0;overflow:hidden;
  transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .3s ease;
  padding:0;
}
.acc-item:hover .acc-body-wrap { max-height:120px;padding:0 0 1rem; }
.acc-sub { font-size:.65rem;letter-spacing:.05em;text-transform:lowercase;color:var(--ta);opacity:.7;font-weight:400;padding-left:3.9rem; }
/* education: keep proper capitalization */
.edu .acc-name{text-transform:none;}
.edu .acc-sub{text-transform:none;padding-left:0;}

/* certificates: whole list hidden until hovering the section title */
.acc-dropdown .acc-title{cursor:default;display:inline-flex;align-items:center;gap:.5rem;padding:.3rem 0;}
.acc-dropdown .acc-title::after{content:'↓';font-size:.7rem;color:var(--ta);opacity:.55;transition:transform .35s cubic-bezier(.16,1,.3,1);}
.acc-dropdown:hover .acc-title::after{transform:rotate(180deg);opacity:1;}
.acc-dropdown-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1);}
.acc-dropdown:hover .acc-dropdown-body{max-height:700px;}

/* hero value proposition line */
.h-vp{font-size:.85rem;letter-spacing:.03em;color:rgba(13,13,13,.62);font-weight:400;line-height:1.7;max-width:34rem;margin-top:.9rem;}
/* credentials: education | certificates | skills — full-width row below bio+photo */
.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}
.cred-grid-full{grid-template-columns:1fr 1fr 1fr;margin-top:5rem;}
.cred-col .acc-section{margin-bottom:1.6rem;}
.skills-grid.skills-grid-stacked{grid-template-columns:1fr;gap:1rem;}
@media(max-width:768px){.cred-grid{grid-template-columns:1fr;gap:0;}.cred-grid-full{margin-top:2.5rem;}}

/* skills: compact 3-column grid, always visible, fills space (legacy, kept for reference) */
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:1.4rem;}
.skill-col-name{font-size:.68rem;letter-spacing:.1em;text-transform:lowercase;font-weight:600;color:rgba(0,0,0,.55);margin-bottom:.8rem;}
.skill-col .skill-pills{display:flex;flex-wrap:wrap;gap:.4rem;}

/* skills as individual dropdowns, matching education accordion style */
.skill-acc .acc-body-wrap{padding-left:0;}
.skill-acc:hover .acc-body-wrap,.skill-acc.open .acc-body-wrap{max-height:260px;padding:0 0 1.2rem;}
.skill-acc.open .acc-arr{transform:rotate(180deg);opacity:1;}
.skill-acc .skill-pills{display:flex;flex-wrap:wrap;gap:.4rem;}

/* backstage banner — natural full image on desktop, taller crop on mobile */
.backstage-banner{width:100%;}
.backstage-banner img{width:100%;height:auto;display:block;}
@media(max-width:768px){
  .backstage-banner{overflow:hidden;}
  .backstage-banner img{height:230px;object-fit:cover;object-position:30% center;}
}

/* runway banner — cropped on desktop, taller crop on mobile */
.runway-banner{width:100%;overflow:hidden;max-height:540px;}
.runway-banner img{width:100%;height:540px;object-fit:cover;object-position:center 30%;display:block;}
@media(max-width:768px){
  .runway-banner{max-height:340px;}
  .runway-banner img{height:340px;}
  .brnds-new{padding-top:7rem !important;}
  .h-vp-line{font-size:.72rem !important;white-space:normal;}
}
@media(max-width:400px){
  .h-vp-line{font-size:.64rem !important;}
}

/* ══ MOBILE FIXES (banner hero + touch dropdown) ══ */
@media (max-width: 768px) {
  .hero.hero-banner{min-height:0 !important;height:auto !important;display:block;}
  .hero-banner img{width:100%;height:auto;max-height:none;object-fit:contain;}
}
/* certificates dropdown: tap-to-open support (hover doesn't exist on touch) */
.acc-dropdown.open .acc-dropdown-body{max-height:700px;}
.acc-dropdown.open .acc-title::after{transform:rotate(180deg);opacity:1;}
.acc-dropdown .acc-title{cursor:pointer;}
/* accordion items (education, skills): tap-to-open support */
.acc-item.open .acc-body-wrap{max-height:260px;padding:0 0 1rem;}
.acc-item.open .acc-arr{transform:rotate(180deg);opacity:1;}

@media (max-width: 768px) {
  .wstage2{grid-template-columns:1fr;gap:2rem;padding:2.5rem var(--pad);}
  .wstage2 .ph-wrap{order:-1;display:flex;justify-content:center;}
  .wstage2 .pf2{width:220px;}
  .wstage2 .pscr{height:452px;}
  .itabs-side-r .ilbl{display:none;}
  .itabs-side .itab{padding:1rem 0;}
  .wstage-below{flex-direction:column;gap:1.2rem;}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media (max-width: 768px) {
  .skills-grid{grid-template-columns:1fr;gap:1.4rem;}
}

/* mobile hamburger nav — jump menu for work/about/services/process/contact */
@media (max-width: 768px) {
  .nav-burger{
    display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:34px;height:34px;background:none;border:none;padding:0;cursor:pointer;z-index:600;
  }
  .nav-burger span{width:20px;height:1.5px;background:var(--bk);transition:transform .3s,opacity .3s,background .3s;}
  nav.inv .nav-burger span{background:var(--pa);}
  .nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-burger.open span:nth-child(2){opacity:0;}
  .nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  .mobile-nav-panel{
    position:fixed;top:0;left:0;right:0;
    background:rgba(237,235,230,.98);backdrop-filter:blur(14px);
    display:flex;flex-direction:column;
    max-height:0;overflow:hidden;
    transition:max-height .4s cubic-bezier(.16,1,.3,1);
    z-index:499;padding:0 var(--pad);
    border-bottom:1px solid rgba(0,0,0,.06);
  }
  .mobile-nav-panel.open{max-height:400px;padding:5.2rem var(--pad) 1.5rem;}
  .mobile-nav-panel a{
    font-size:1.05rem;letter-spacing:.02em;color:var(--bk);text-decoration:none;
    padding:.9rem 0;border-bottom:1px solid rgba(0,0,0,.08);opacity:.75;
  }
  .mobile-nav-panel a:last-child{border-bottom:none;}
}
@media (min-width: 769px) {
  .mobile-nav-panel{display:none;}
}
