/* ===========================================================
   JAK — Brutalist editorial design system
   =========================================================== */
:root{
  --ink:        #16130f;
  --cream:      #f4efe6;
  --orange:     #EB5D1E;   /* JAK orange */
  --orange-2:   #C24315;
  --jak-gray:   #797C80;   /* JAK gray */
  --gray-2:     #4A4B4E;
  --bone:       #E5DFD2;
  --charcoal:   #1F1B17;
  --line:       rgba(22,19,15,.16);

  --font-display:"Anton",sans-serif;
  --font-grotesk:"Archivo",sans-serif;
  --font-cjk:"Noto Sans SC",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:var(--font-grotesk),var(--font-cjk);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");}
::selection{background:var(--orange);color:var(--cream);}
img{display:block;max-width:100%;}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 40px;color:var(--cream);
  transition:background .35s ease,color .35s ease,border-color .35s ease;
  border-bottom:1px solid transparent;
}
nav.solid{background:var(--cream);color:var(--ink);border-bottom-color:var(--line);
  backdrop-filter:saturate(1.4) blur(10px);}
.logo{display:flex;align-items:center;text-decoration:none;color:inherit;line-height:0;}
.logo img{height:60px;width:auto;transition:opacity .3s ease;}
.logo .logo-white{display:block;}
.logo .logo-color{display:none;position:absolute;left:40px;}
nav.solid .logo .logo-white{display:none;}
nav.solid .logo .logo-color{display:block;position:relative;left:0;}
.nav-links{display:flex;gap:34px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.nav-links a{color:inherit;text-decoration:none;opacity:.92;transition:opacity .3s,color .3s;}
.nav-links a:hover{opacity:1;color:var(--orange);}
.nav-links a.active{color:var(--orange);opacity:1;}
@media(max-width:760px){.nav-links{display:none;}nav{padding:14px 22px;}.logo img{height:48px;}}

/* ---------- HERO ---------- */
.hero{
  min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:40px;position:relative;background:var(--ink);color:var(--cream);overflow:hidden;
}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;
  background-image:url('../assets/projects/gentle-monster/xm-mixcity.jpg');
  filter:grayscale(.6) contrast(.95) brightness(.45);z-index:0;}
.hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,19,15,.35) 0%,rgba(22,19,15,.05) 40%,rgba(22,19,15,.65) 100%);}
.hero-block{position:absolute;top:0;right:0;width:42%;height:100%;background:var(--orange);mix-blend-mode:multiply;z-index:1;}
.hero-block::before{content:"";position:absolute;left:0;top:0;bottom:0;width:34%;background:var(--jak-gray);mix-blend-mode:multiply;}
.hero-tag{position:absolute;top:140px;left:40px;max-width:380px;font-family:var(--font-grotesk);
  font-size:14px;line-height:1.85;font-weight:400;letter-spacing:.02em;opacity:0;
  animation:rise .9s .5s forwards;z-index:3;}
.hero-tag .cjk{font-family:var(--font-cjk);font-weight:300;display:block;margin-top:10px;font-size:13px;opacity:.85;}
.hero h1{font-family:var(--font-display);font-weight:400;
  font-size:clamp(58px,13vw,210px);line-height:.84;letter-spacing:-.01em;text-transform:uppercase;position:relative;z-index:2;}
.hero h1 span{display:block;overflow:hidden;}
.hero h1 span b{display:block;font-weight:400;transform:translateY(110%);animation:slideup .9s forwards cubic-bezier(.2,.8,.2,1);}
.hero h1 span:nth-child(2) b{animation-delay:.12s;}
.hero h1 span:nth-child(3) b{animation-delay:.24s;color:var(--orange);}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;
  margin-top:34px;border-top:1px solid rgba(244,239,230,.3);padding-top:18px;
  position:relative;z-index:2;flex-wrap:wrap;gap:20px;}
.hero-foot .item{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.9;}
.hero-foot .item b{display:block;font-family:var(--font-display);font-size:34px;letter-spacing:.02em;opacity:1;margin-top:6px;}
@keyframes slideup{to{transform:translateY(0);}}
@keyframes rise{to{opacity:.9;transform:translateY(0);}}

/* ---------- SUBPAGE HERO ---------- */
.page-hero{
  background:var(--ink);color:var(--cream);position:relative;overflow:hidden;
  padding:170px 40px 80px;min-height:60vh;display:flex;flex-direction:column;justify-content:flex-end;
}
.page-hero::before{content:"";position:absolute;top:0;right:0;width:38%;height:100%;background:var(--orange);mix-blend-mode:multiply;}
.page-hero::after{content:"";position:absolute;top:0;right:38%;width:14%;height:100%;background:var(--jak-gray);mix-blend-mode:multiply;}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.6) brightness(.45);z-index:0;}
.page-hero h1{font-family:var(--font-display);font-size:clamp(60px,11vw,180px);line-height:.84;text-transform:uppercase;position:relative;z-index:2;letter-spacing:-.01em;}
.page-hero h1 em{font-style:normal;color:var(--orange);}
.page-hero .kicker{position:relative;z-index:2;color:var(--cream);margin-bottom:24px;}
.page-hero-meta{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:30px;margin-top:30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;border-top:1px solid rgba(244,239,230,.25);padding-top:24px;}
@media(max-width:760px){.page-hero{padding:130px 22px 60px;}}

/* ---------- MARQUEE ---------- */
.marquee{background:var(--jak-gray);color:var(--cream);overflow:hidden;padding:22px 0;white-space:nowrap;border-bottom:2px solid var(--ink);}
.marquee div{display:inline-flex;align-items:center;animation:scroll 60s linear infinite;gap:54px;}
.marquee img{height:28px;width:auto;max-width:140px;object-fit:contain;opacity:.92;flex-shrink:0;}
.marquee .dot{color:var(--orange);font-family:var(--font-display);font-size:22px;flex-shrink:0;}
.marquee img[alt="Ganni"]{height:20px;}
.marquee img[alt="Herman Miller"]{height:18px;}
.marquee img[alt="Isabel Marant"]{height:36px;}
.marquee img[alt="SMCP"]{height:40px;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- SECTION HELPERS ---------- */
section{position:relative;}
.kicker{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px;}
.kicker::before{content:"";width:42px;height:2px;background:currentColor;display:inline-block;}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .8s;}
.reveal.in{opacity:1;transform:none;}

/* ---------- INTRO ---------- */
.intro{padding:110px 40px 40px;}
.intro-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:flex-start;}
.intro-grid h2{font-family:var(--font-display);font-size:clamp(38px,5vw,76px);text-transform:uppercase;line-height:.92;}
.intro-grid h2 em{font-style:normal;color:var(--orange);}
.intro-grid p{font-family:var(--font-grotesk);font-size:16px;line-height:1.85;margin-bottom:16px;}
.intro-grid p.cjk{font-family:var(--font-cjk);font-weight:300;color:var(--gray-2);font-size:14px;line-height:2;}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:30px;}.intro{padding:70px 22px 30px;}}

/* ---------- CAPABILITIES / GRID HEADS ---------- */
.cap{padding:80px 40px 110px;}
.cap-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px;margin-bottom:64px;}
.cap-head h2{font-family:var(--font-display);font-size:clamp(40px,7vw,108px);line-height:.9;text-transform:uppercase;max-width:880px;}
.cap-head h2 em{font-style:normal;color:var(--orange);}
.cap-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;background:var(--ink);border:2px solid var(--ink);}
.cap-cell{background:var(--cream);padding:46px 36px;min-height:320px;display:flex;flex-direction:column;justify-content:space-between;transition:background .4s,color .4s;}
.cap-cell:hover{background:var(--ink);color:var(--cream);}
.cap-cell .num{font-family:var(--font-display);font-size:20px;letter-spacing:.04em;}
.cap-cell h3{font-family:var(--font-display);font-size:clamp(26px,2.6vw,38px);text-transform:uppercase;line-height:.95;margin:30px 0 16px;}
.cap-cell p{font-family:var(--font-grotesk);font-size:14px;line-height:1.7;max-width:420px;}
.cap-cell p.cjk{font-family:var(--font-cjk);font-weight:300;margin-top:8px;font-size:13px;opacity:.78;}
.cap-cell.accent{background:var(--orange);color:var(--cream);}
.cap-cell.accent:hover{background:var(--charcoal);}
.cap-cell.gray{background:var(--jak-gray);color:var(--cream);}
.cap-cell.gray:hover{background:var(--charcoal);}
@media(max-width:900px){.cap-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.cap-grid{grid-template-columns:1fr;}.cap{padding:70px 22px;}}

/* ---------- PROJECTS ---------- */
.projects{background:var(--ink);color:var(--cream);padding:110px 40px;}
.projects .cap-head h2 em{color:var(--orange);}
.proj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}
.photo{position:relative;overflow:hidden;border:1px solid rgba(244,239,230,.14);}
.photo .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter .5s;}
.photo:hover .img{transform:scale(1.06);filter:brightness(1.1);}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,0) 35%,rgba(22,19,15,.78) 100%);pointer-events:none;}
.photo .ph{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;height:100%;}
.photo .ph .ref{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.78;}
.photo .ph .cjk{font-family:var(--font-cjk);font-size:12px;font-weight:300;margin-top:10px;opacity:.85;}
.photo .badge{position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--orange);color:var(--cream);padding:6px 11px;font-weight:700;z-index:3;}
.photo .badge.gray{background:var(--jak-gray);}
.photo .badge.cream{background:var(--cream);color:var(--ink);}

/* brand mark inside tile (logo OR styled text) */
.brand-mark{margin-top:6px;display:flex;align-items:flex-end;min-height:54px;}
.brand-mark img{max-height:54px;max-width:75%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 2px 12px rgba(0,0,0,.4));}
.brand-mark img[alt="Ganni"]{max-height:38px;}
.brand-mark img[alt="Isabel Marant"]{max-height:64px;}
.brand-mark.text{margin-top:6px;}
.brand-mark .brand-text{font-family:var(--font-display);font-size:clamp(26px,2.6vw,40px);text-transform:uppercase;line-height:.92;letter-spacing:.02em;}
.brand-mark .brand-text.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.18em;font-size:clamp(20px,2vw,28px);}

.p1{grid-column:span 7;height:540px;}
.p2{grid-column:span 5;height:540px;}
.p3{grid-column:span 4;height:400px;}
.p4{grid-column:span 4;height:400px;}
.p5{grid-column:span 4;height:400px;}
.p6{grid-column:span 6;height:420px;}
.p7{grid-column:span 6;height:420px;}
@media(max-width:900px){.proj-grid{grid-template-columns:1fr;}.p1,.p2,.p3,.p4,.p5,.p6,.p7{grid-column:1/-1;height:340px;}.projects{padding:70px 22px;}}

/* ---------- STATS BAND ---------- */
.stats-band{background:var(--orange);color:var(--cream);padding:60px 40px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1400px;margin:0 auto;}
.sb-stat b{font-family:var(--font-display);font-size:clamp(56px,7vw,108px);line-height:.85;display:block;letter-spacing:.01em;}
.sb-stat b sup{font-size:.4em;vertical-align:top;margin-left:6px;opacity:.8;}
.sb-stat span{font-family:var(--font-grotesk);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:14px;display:block;}
.sb-stat span.cjk{font-family:var(--font-cjk);font-weight:300;letter-spacing:.05em;text-transform:none;font-size:12px;opacity:.85;margin-top:4px;}
@media(max-width:760px){.stats-inner{grid-template-columns:1fr 1fr;gap:30px;}.stats-band{padding:50px 22px;}}

/* ---------- CRAFT / FACTORY ---------- */
.craft{display:grid;grid-template-columns:1fr 1fr;min-height:90vh;}
.craft .left{background:var(--bone);color:var(--ink);padding:90px 50px;display:flex;flex-direction:column;justify-content:center;}
.craft .left h2{font-family:var(--font-display);font-size:clamp(46px,6vw,96px);text-transform:uppercase;line-height:.86;margin:24px 0;}
.craft .left h2 em{font-style:normal;color:var(--orange);}
.craft .left p{font-family:var(--font-grotesk);font-size:15px;line-height:1.8;max-width:480px;}
.craft .left p.cjk{font-family:var(--font-cjk);font-weight:300;color:var(--gray-2);margin-top:12px;font-size:14px;}
.craft .right{background:var(--charcoal);position:relative;overflow:hidden;color:var(--cream);}
.craft .right .img{position:absolute;inset:0;background-size:cover;background-position:center;
  background-image:url('../assets/factory/workshop-team.jpg');
  filter:contrast(1.08) saturate(.82) brightness(.92);}
.craft .right::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,19,15,.18) 0%,rgba(22,19,15,.05) 35%,rgba(22,19,15,.62) 100%);}
.craft .right .meta{position:absolute;bottom:40px;left:40px;right:40px;z-index:2;}
.craft .right .meta .ref{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;}
.craft .right .meta .ttl{font-family:var(--font-display);font-size:38px;text-transform:uppercase;margin-top:8px;}
.craft .right .meta .cjk{font-family:var(--font-cjk);font-size:13px;font-weight:300;margin-top:8px;opacity:.85;}
.stat-row{display:flex;gap:44px;margin-top:54px;flex-wrap:wrap;}
.stat b{font-family:var(--font-display);font-size:82px;display:block;line-height:.95;color:var(--orange);margin-bottom:6px;}
.stat b small{font-size:.34em;vertical-align:top;}
.stat span{font-family:var(--font-grotesk);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.stat span.cjk{font-family:var(--font-cjk);font-weight:300;letter-spacing:.04em;text-transform:none;color:var(--gray-2);font-size:12px;margin-top:3px;display:block;}
@media(max-width:900px){.craft{grid-template-columns:1fr;}.craft .left{padding:64px 22px;}.craft .right{min-height:60vh;}}

/* ---------- SPECIAL FIXTURES (R&D showcase) ---------- */
.fixtures{background:var(--cream);color:var(--ink);padding:120px 40px;}
.fixtures .cap-head{margin-bottom:60px;}
.fixtures .cap-head h2 em{color:var(--orange);font-style:normal;}
.fixtures .lede{font-family:var(--font-grotesk);font-size:16px;line-height:1.75;max-width:780px;margin-top:24px;color:var(--ink);}
.fixtures .lede.cjk{font-family:var(--font-cjk);font-weight:300;font-size:14px;color:var(--gray-2);margin-top:10px;}
.fix-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.fix-card{position:relative;aspect-ratio:3/4;background:var(--bone);overflow:hidden;border:1px solid var(--line);cursor:pointer;}
.fix-card .state{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:opacity .65s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);}
.fix-card .state.concept{z-index:2;opacity:1;background-size:contain;background-color:var(--bone);}
.fix-card .state.real{z-index:1;opacity:1;filter:saturate(.95);}
.fix-card:hover .state.concept{opacity:0;}
.fix-card:hover .state.real{transform:scale(1.04);}
.fix-card::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(22,19,15,0) 45%,rgba(22,19,15,.78) 100%);pointer-events:none;}
.fix-card .fix-meta{position:absolute;left:18px;right:18px;bottom:18px;z-index:4;color:var(--cream);}
.fix-card .material{display:inline-block;font-size:9px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;background:var(--cream);color:var(--ink);padding:5px 9px;margin-bottom:10px;}
.fix-card .fix-meta h4{font-family:var(--font-display);font-size:24px;text-transform:uppercase;line-height:1;margin-bottom:6px;}
.fix-card .fix-meta .cjk{font-family:var(--font-cjk);font-weight:300;font-size:12px;opacity:.9;display:block;}
.fix-card .state-tag{position:absolute;top:16px;left:16px;z-index:4;font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--cream);padding:6px 10px;transition:opacity .35s ease, background .35s ease, color .35s ease;}
.fix-card:hover .state-tag{background:var(--orange);color:var(--cream);}
.fix-card .state-tag .label-concept{display:inline;}
.fix-card .state-tag .label-real{display:none;}
.fix-card:hover .state-tag .label-concept{display:none;}
.fix-card:hover .state-tag .label-real{display:inline;}
@media(max-width:1000px){.fix-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.fixtures{padding:80px 22px;}.fix-grid{grid-template-columns:1fr;gap:14px;}.fix-card{aspect-ratio:4/5;}}

/* ---------- LEADERSHIP ---------- */
.leadership{padding:110px 40px;background:var(--cream);}
.leadership .cap-head h2 em{color:var(--orange);}
.partners-photo{margin:50px 0 0;border:2px solid var(--ink);overflow:hidden;background:var(--ink);}
.partners-img{aspect-ratio:3/2;background-size:cover;background-position:center 30%;filter:contrast(1.04);}
.partners-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:16px 2px 36px;font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--jak-gray);font-weight:700;}
.partners-caption .names{color:var(--ink);}
.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);}
.leader{background:var(--cream);padding:42px 36px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;}
.leader .role{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.leader h3{font-family:var(--font-display);font-size:46px;text-transform:uppercase;margin:18px 0 0;line-height:.95;}
.leader p{font-family:var(--font-grotesk);font-size:14px;line-height:1.7;margin-top:22px;}
.leader .loc{margin-top:auto;padding-top:22px;font-family:var(--font-grotesk);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--jak-gray);font-weight:600;}
@media(max-width:900px){.leaders{grid-template-columns:1fr;}.leadership{padding:70px 22px;}.partners-img{aspect-ratio:4/3;background-position:center 25%;}}

/* ---------- CLIENT LOGO WALL ---------- */
.clients-logos{padding:100px 40px;background:var(--orange);color:var(--cream);text-align:center;}
.clients-logos .kicker{justify-content:center;}
.clients-logos h2{font-family:var(--font-display);font-size:clamp(36px,5vw,80px);text-transform:uppercase;margin:18px 0 50px;line-height:.9;}
.logo-wall{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);max-width:1400px;margin:0 auto;}
.logo-cell{background:var(--orange);aspect-ratio:5/3;display:flex;align-items:center;justify-content:center;padding:18px;transition:background .35s,transform .35s;}
.logo-cell:hover{background:var(--orange-2);}
.logo-cell img{max-height:48px;max-width:80%;width:auto;height:auto;object-fit:contain;opacity:.95;transition:opacity .3s,transform .3s;}
.logo-cell img[alt="Ganni"]{max-height:34px;}
.logo-cell:hover img{opacity:1;transform:scale(1.04);}
.client-sub{font-family:var(--font-grotesk);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:46px;opacity:.92;font-weight:500;}
@media(max-width:1100px){.logo-wall{grid-template-columns:repeat(5,1fr);}}
@media(max-width:700px){.logo-wall{grid-template-columns:repeat(3,1fr);}.clients-logos{padding:70px 22px;}}

/* ---------- HUBS ---------- */
.hubs{padding:100px 40px;background:var(--bone);}
.hubs .cap-head h2 em{color:var(--orange);}
.hubs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);margin-top:50px;}
.hub{background:var(--cream);padding:32px 24px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;}
.hub .region{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.hub h4{font-family:var(--font-display);font-size:30px;text-transform:uppercase;line-height:.95;margin:14px 0 6px;}
.hub small{font-family:var(--font-grotesk);font-size:11px;color:var(--gray-2);letter-spacing:.04em;}
@media(max-width:900px){.hubs-grid{grid-template-columns:repeat(2,1fr);}.hubs{padding:70px 22px;}}

/* ---------- CONTACT ---------- */
.contact{background:var(--ink);color:var(--cream);padding:120px 40px 50px;}
.contact h2{font-family:var(--font-display);font-size:clamp(54px,12vw,180px);text-transform:uppercase;line-height:.84;}
.contact h2 em{font-style:normal;-webkit-text-stroke:2px var(--cream);color:transparent;}
.contact-cta{display:inline-block;margin-top:40px;font-family:var(--font-display);font-size:clamp(28px,4vw,60px);text-transform:uppercase;color:var(--orange);text-decoration:none;border-bottom:4px solid var(--orange);transition:color .3s,border-color .3s;letter-spacing:.02em;}
.contact-cta:hover{color:var(--cream);border-color:var(--cream);}
.contact-foot{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:90px;border-top:1px solid rgba(244,239,230,.2);padding-top:30px;font-size:13px;line-height:1.8;font-family:var(--font-grotesk);font-weight:400;}
.contact-foot .col b{font-family:var(--font-grotesk);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:11px;display:block;margin-bottom:12px;color:var(--orange);}
.contact-foot .col a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(244,239,230,.3);}
.contact-foot .col a:hover{color:var(--orange);border-color:var(--orange);}
.contact-foot .ig-link{display:inline-flex;align-items:center;gap:7px;border-bottom:none;}
.contact-foot .ig-link .ig-icon{width:15px;height:15px;flex:none;transition:transform .3s ease;}
.contact-foot .ig-link:hover{border-bottom:none;}
.contact-foot .ig-link:hover .ig-icon{transform:scale(1.1);}
.contact-foot .cjk{font-family:var(--font-cjk);font-weight:300;font-size:12px;opacity:.8;margin-top:6px;display:block;}
@media(max-width:760px){.contact{padding:80px 22px 40px;}.contact-foot{grid-template-columns:1fr 1fr;}}

/* ---------- FEATURED PROJECTS (tile wall on Projects page) ---------- */
.proj-tiles-head{padding:60px 40px 28px;background:var(--ink);color:var(--cream);border-top:2px solid rgba(244,239,230,.18);}
.proj-tiles-head .kicker{color:var(--orange);font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:block;}
.proj-tiles-head h2{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);text-transform:uppercase;line-height:.9;color:var(--cream);}
.proj-tiles-head h2 em{font-style:normal;color:var(--orange);}
.proj-tiles-head .lede{font-family:var(--font-grotesk);font-size:15px;line-height:1.6;max-width:680px;margin-top:22px;opacity:.82;color:var(--cream);}
.proj-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 0 28px;background:var(--ink);}
.proj-tile{position:relative;aspect-ratio:5/4;background:var(--charcoal);overflow:hidden;cursor:pointer;}
.tile-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1), opacity .35s ease;}
.proj-tile:hover .tile-img{transform:scale(1.05);}
.proj-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.78) 100%);pointer-events:none;z-index:2;}
.tile-badge{position:absolute;top:14px;left:14px;background:var(--orange);color:var(--cream);font-family:var(--font-grotesk);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:6px 11px;z-index:3;}
.tile-badge.gray{background:var(--jak-gray);}
.tile-badge.cream{background:var(--bone);color:var(--ink);}
.tile-meta{position:absolute;bottom:22px;left:22px;right:22px;color:var(--cream);z-index:3;}
.tile-ref{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.85;}
.tile-brand{margin-top:8px;min-height:34px;display:flex;align-items:center;gap:10px;}
.tile-brand img{height:32px;width:auto;max-width:100%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);}
.tile-brand img.hm{height:36px;}
.tile-brand img.knoll{height:18px;}
.tile-brand img[alt="Pas Normal Studios"]{height:48px;}
.tile-brand .text{font-family:var(--font-display);font-size:26px;text-transform:uppercase;line-height:.95;letter-spacing:.02em;}
.tile-brand .text.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.06em;font-size:22px;}
.tile-cjk{font-family:var(--font-cjk);font-size:12px;font-weight:300;opacity:.85;margin-top:6px;display:block;}

/* ===== Overseas region blocks ===== */
.overseas-regions{background:var(--ink);color:var(--cream);}
.region-block{padding:80px 40px 0;}
.region-block:last-child{padding-bottom:80px;}
.region-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(244,239,230,.24);padding-bottom:22px;margin-bottom:24px;gap:30px;flex-wrap:wrap;}
.region-head h3{font-family:var(--font-display);font-size:clamp(40px,5.5vw,72px);color:var(--cream);text-transform:uppercase;line-height:.9;letter-spacing:-.01em;margin:0;}
.region-head h3 em{font-style:normal;color:var(--orange);}
.region-head h3 .cjk{font-family:var(--font-cjk);font-weight:300;font-size:.32em;color:var(--cream);opacity:.55;letter-spacing:.06em;display:inline-block;margin-left:16px;vertical-align:.34em;}
.region-head .region-meta{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--orange);opacity:.95;text-align:right;line-height:1.5;flex-shrink:0;}
.region-head .region-meta b{display:block;font-family:var(--font-display);color:var(--cream);font-size:32px;line-height:.9;letter-spacing:.02em;margin-bottom:6px;}
.region-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
@media(min-width:1600px){.region-tiles{grid-template-columns:repeat(6,1fr);}}
@media(max-width:760px){.region-block{padding:60px 22px 0;}.region-tiles{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.region-tiles{grid-template-columns:1fr;}.region-head h3 .cjk{display:block;margin-left:0;margin-top:8px;vertical-align:baseline;}}

.tile-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1.5px solid var(--cream);background:rgba(22,19,15,.5);color:var(--cream);font-family:var(--font-grotesk);font-size:15px;font-weight:300;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease, background .25s ease;backdrop-filter:blur(6px);}
.proj-tile:hover .tile-arrow{opacity:1;}
.tile-arrow:hover:not(:disabled){background:var(--orange);border-color:var(--orange);}
.tile-arrow:disabled{opacity:0;cursor:not-allowed;}
.tile-left{left:12px;}
.tile-right{right:12px;}

@media(min-width:1300px){.proj-tiles{grid-template-columns:repeat(4,1fr);}}
@media(max-width:900px){.proj-tiles{grid-template-columns:repeat(2,1fr);}.proj-tiles-head{padding:48px 22px 24px;}}
@media(max-width:560px){.proj-tiles{grid-template-columns:1fr;}.proj-tile{aspect-ratio:4/3;}}

/* ---------- BRAND BANNERS (Projects page) ---------- */
.proj-page{background:var(--ink);padding:0;}
.brand-block{margin-bottom:28px;}
.brand-block:last-child{margin-bottom:0;}

/* Wide desktop: 2-column layout so banners don't stretch into letterbox */
@media(min-width:1300px){
  #banners,
  #overseas-banners{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  #banners > .brand-block,
  #overseas-banners > .brand-block{margin-bottom:0;}
  #overseas-banners > .region-divider{grid-column:1 / -1;}
}
.region-divider{padding:64px 40px 32px;background:var(--ink);color:var(--cream);border-top:2px solid rgba(244,239,230,.18);}
.region-divider .kicker{color:var(--orange);font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:block;}
.region-divider h2{font-family:var(--font-display);font-size:clamp(40px,6vw,80px);text-transform:uppercase;line-height:.9;color:var(--cream);}
.region-divider h2 em{font-style:normal;color:var(--orange);}
@media(max-width:900px){.region-divider{padding:48px 22px 24px;}}
.brand-banner{position:relative;width:100%;height:22vh;min-height:160px;max-height:260px;overflow:hidden;background:var(--charcoal);cursor:pointer;}
.banner-cover{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);}
.brand-banner:hover .banner-cover{transform:scale(1.05);}
.brand-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,19,15,.78) 0%,rgba(22,19,15,.42) 45%,rgba(22,19,15,.15) 70%,rgba(22,19,15,.6) 100%);z-index:2;pointer-events:none;}
.banner-info{position:absolute;inset:0;padding:20px 40px;z-index:3;color:var(--cream);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;pointer-events:none;}
.banner-info .info-left{min-width:0;}
.banner-info .logo{height:42px;width:auto;filter:brightness(0) invert(1);display:block;}
.banner-info .logo.smcp-logo{height:72px;}
.banner-info .logo[alt="Ganni"]{height:30px;}
.banner-info .logo-text{font-family:var(--font-display);font-size:34px;text-transform:uppercase;line-height:.95;letter-spacing:-.01em;}
.banner-info .logo-text.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.05em;font-size:28px;}
.banner-info .b-stats{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;opacity:.85;margin-top:8px;}
.banner-info .b-desc{font-family:var(--font-grotesk);font-size:13px;line-height:1.55;max-width:520px;margin-top:6px;opacity:.88;}
.banner-info .b-meta-right{text-align:right;font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;opacity:.85;line-height:1.4;}
.banner-info .b-meta-right b{display:block;color:var(--orange);font-family:var(--font-display);font-size:42px;line-height:.9;margin-bottom:4px;letter-spacing:.02em;}

.banner-carousel{position:relative;width:100%;height:0;margin-top:0;overflow:hidden;background:var(--cream);transition:height .55s cubic-bezier(.2,.8,.2,1), margin-top .55s cubic-bezier(.2,.8,.2,1);}
.brand-block.open .banner-carousel{height:22vh;min-height:160px;max-height:260px;margin-top:14px;}
.car-window{position:absolute;inset:0;overflow:hidden;padding:0 14px;}
.car-track{display:flex;gap:14px;height:100%;transition:transform .55s cubic-bezier(.2,.8,.2,1);will-change:transform;}
.car-slide{flex:0 0 calc((100% - 28px) / 3);height:100%;background-size:cover;background-position:center;}
.banner-carousel[data-count="1"] .car-track{gap:0;}
.banner-carousel[data-count="1"] .car-slide{flex:0 0 100%;}
.banner-carousel[data-count="2"] .car-slide{flex:0 0 calc((100% - 14px) / 2);}

.car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1.5px solid var(--cream);background:rgba(22,19,15,.5);color:var(--cream);font-family:var(--font-grotesk);font-size:18px;font-weight:300;cursor:pointer;z-index:7;display:flex;align-items:center;justify-content:center;transition:background .25s ease, opacity .25s ease;backdrop-filter:blur(6px);}
.car-arrow:hover:not(:disabled){background:var(--orange);border-color:var(--orange);}
.car-arrow:disabled{opacity:.2;cursor:not-allowed;}
.car-left{left:20px;}
.car-right{right:20px;}

@media(max-width:900px){
  .brand-block{margin-bottom:18px;}
  .brand-banner{min-height:140px;max-height:200px;}
  .brand-block.open .banner-carousel{min-height:140px;max-height:200px;margin-top:10px;}
  .banner-info{padding:16px 22px;gap:14px;}
  .banner-info .b-desc{display:none;}
  .banner-info .b-meta-right b{font-size:32px;}
  .car-slide{flex:0 0 calc((100% - 14px) / 2);}
  .car-arrow{width:38px;height:38px;font-size:16px;}
}
@media(max-width:560px){
  .car-track{gap:0;}
  .car-window{padding:0;}
  .car-slide{flex:0 0 100%;}
  .banner-info .logo{height:32px;}
  .banner-info .logo-text{font-size:24px;}
  .banner-info .b-meta-right{display:none;}
}

/* ---------- PROJECTS PAGE — filters & grid ---------- */
.filters{padding:60px 40px 20px;display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);}
.filter-btn{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:11px 20px;border:2px solid var(--ink);background:transparent;color:var(--ink);font-weight:700;cursor:pointer;transition:.25s;}
.filter-btn:hover,.filter-btn.active{background:var(--ink);color:var(--cream);}
.filter-btn.active{background:var(--orange);border-color:var(--orange);}

.proj-page{padding:60px 40px 110px;background:var(--cream);}
.proj-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.proj-card{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;aspect-ratio:4/3;}
.proj-card .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s cubic-bezier(.2,.8,.2,1);}
.proj-card:hover .img{transform:scale(1.06);}
.proj-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,0) 30%,rgba(22,19,15,.82) 100%);}
.proj-card .meta{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:24px;}
.proj-card .meta .ref{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.75;}
.proj-card .meta .brand-mark{margin-top:8px;min-height:42px;}
.proj-card .meta .brand-mark img{max-height:42px;max-width:75%;}
.proj-card .meta .brand-mark .brand-text{font-size:clamp(20px,2vw,30px);}
.proj-card .badge{position:absolute;top:14px;left:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:var(--orange);color:var(--cream);padding:5px 10px;font-weight:700;z-index:3;}
.proj-card .badge.gray{background:var(--jak-gray);}
.proj-card .badge.cream{background:var(--cream);color:var(--ink);}
@media(max-width:900px){.proj-page-grid{grid-template-columns:1fr 1fr;}.proj-page{padding:50px 22px 80px;}}
@media(max-width:600px){.proj-page-grid{grid-template-columns:1fr;}.filters{padding:40px 22px 20px;}}

/* ---------- PROJECTS PAGE — brand ledger ---------- */
.ledger{padding:100px 40px;background:var(--bone);}
.ledger .cap-head h2 em{color:var(--orange);}
.ledger-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);}
.ledger-cell{background:var(--cream);padding:40px 36px;}
.ledger-cell .badge{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-weight:700;display:block;margin-bottom:14px;}
.ledger-cell h3{font-family:var(--font-display);font-size:40px;text-transform:uppercase;line-height:.95;margin-bottom:20px;}
.ledger-cell .brand-img{height:38px;margin-bottom:20px;}
.ledger-cell ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);}
.ledger-cell li{padding:10px 0;font-family:var(--font-grotesk);font-size:13px;border-bottom:1px dotted var(--line);display:flex;justify-content:space-between;gap:12px;}
.ledger-cell li small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--jak-gray);font-weight:600;}
@media(max-width:760px){.ledger-grid{grid-template-columns:1fr;}.ledger{padding:70px 22px;}}

/* ---------- OVERSEAS REGIONS ---------- */
.overseas{padding:110px 40px;background:var(--ink);color:var(--cream);}
.overseas .cap-head h2 em{color:var(--orange);}
.overseas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--jak-gray);border:2px solid var(--jak-gray);}
.overseas-cell{background:var(--ink);padding:40px 32px;color:var(--cream);}
.overseas-cell .flag{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.overseas-cell h3{font-family:var(--font-display);font-size:36px;text-transform:uppercase;line-height:.95;margin:14px 0 18px;}
.overseas-cell ul{list-style:none;padding:0;margin:0;border-top:1px solid rgba(244,239,230,.18);}
.overseas-cell li{padding:10px 0;font-family:var(--font-grotesk);font-size:13px;border-bottom:1px dotted rgba(244,239,230,.18);display:flex;justify-content:space-between;gap:12px;}
.overseas-cell li small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--jak-gray);font-weight:600;}
@media(max-width:900px){.overseas-grid{grid-template-columns:1fr 1fr;}.overseas{padding:70px 22px;}}
@media(max-width:600px){.overseas-grid{grid-template-columns:1fr;}}

/* ---------- ABOUT PAGE — group / regions ---------- */
.group{padding:100px 40px;background:var(--cream);}
.group .group-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:flex-start;}
.group h3{font-family:var(--font-display);font-size:46px;text-transform:uppercase;line-height:.95;}
.group h3 small{display:block;font-family:var(--font-grotesk);font-size:11px;letter-spacing:.2em;color:var(--jak-gray);text-transform:uppercase;margin-top:8px;font-weight:600;}
.group ul{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink);}
.group li{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:15px;}
.group li b{font-family:var(--font-cjk);font-weight:500;}
.group li small{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--jak-gray);font-weight:700;}
@media(max-width:900px){.group .group-grid{grid-template-columns:1fr;gap:30px;}.group{padding:70px 22px;}}

/* ---------- CONTACT PAGE specific ---------- */
.contact-cards{padding:90px 40px;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink);}
.contact-card{background:var(--cream);padding:60px 50px;}
.contact-card .kicker{margin-bottom:18px;}
.contact-card h3{font-family:var(--font-display);font-size:52px;text-transform:uppercase;line-height:.95;margin-bottom:20px;}
.contact-card p{font-family:var(--font-grotesk);font-size:15px;line-height:1.7;margin:14px 0;}
.contact-card .field{display:grid;grid-template-columns:auto 1fr;gap:18px 24px;margin:24px 0;font-family:var(--font-grotesk);font-size:13px;letter-spacing:.04em;align-items:center;}
.contact-card .field b{color:var(--orange);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;}
.contact-card.dark{background:var(--orange);color:var(--cream);}
.contact-card.dark .kicker,.contact-card.dark .field b{color:var(--cream);}
.contact-card.dark a:not(.cta-btn){color:var(--cream);border-bottom:1px solid rgba(255,255,255,.4);}
.contact-card.dark .cta-btn.invert{color:var(--ink);border:2px solid var(--cream);background:var(--cream);}
.contact-card.dark .cta-btn.invert:hover{color:var(--cream);background:var(--ink);border-color:var(--ink);}
@media(max-width:900px){.contact-cards{grid-template-columns:1fr;}.contact-card{padding:50px 26px;}}

.cta-btn{display:inline-block;margin-top:24px;font-family:var(--font-grotesk);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:16px 26px;background:var(--ink);color:var(--cream);text-decoration:none;border:2px solid var(--ink);transition:.3s;}
.cta-btn:hover{background:var(--orange);border-color:var(--orange);}
.cta-btn.invert{background:var(--cream);color:var(--ink);border-color:var(--cream);}
.cta-btn.invert:hover{background:var(--ink);color:var(--cream);border-color:var(--cream);}

/* ---------- TEAM LEADERS (about) ---------- */
.team{padding:100px 40px;background:var(--cream);}
.team .cap-head h2 em{color:var(--orange);}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);margin-top:40px;}
.team-cell{background:var(--cream);padding:32px 28px;min-height:360px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;transition:background .35s ease, color .35s ease;}
.team-cell:hover{background:var(--orange);color:var(--cream);}
.team-cell > .leader-photo{position:absolute;left:0;right:0;bottom:0;height:80%;background-size:contain;background-position:center bottom;background-repeat:no-repeat;opacity:0;transform:translateY(28px);transition:opacity .55s ease, transform .65s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:1;}
.team-cell:nth-child(2) > .leader-photo,
.team-cell:nth-child(3) > .leader-photo{height:70%;}
.team-cell:hover > .leader-photo{opacity:1;transform:translateY(0);}
.team-cell > *:not(.leader-photo){position:relative;z-index:2;}
.team-cell .role{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--jak-gray);font-weight:700;transition:color .35s ease;}
.team-cell:hover .role{color:var(--cream);}
.team-cell h4{font-family:var(--font-display);font-size:34px;text-transform:uppercase;line-height:.95;margin:16px 0 6px;}
.team-cell small{font-family:var(--font-cjk);font-size:12px;font-weight:300;color:var(--gray-2);transition:color .35s ease;}
.team-cell:hover small{color:var(--cream);}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr;}.team{padding:70px 22px;}.team-cell{min-height:320px;}}

/* ============================================================
   WORKSHOP PAGE
   ============================================================ */

/* --- Workshop story --- */
.workshop-story{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding:120px 60px;background:var(--cream);align-items:start;}
.workshop-story .story-left .kicker{color:var(--orange);font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:22px;display:block;}
.workshop-story .story-left h2{font-family:var(--font-display);font-size:clamp(48px,7vw,108px);line-height:.9;text-transform:uppercase;margin-bottom:30px;letter-spacing:-.01em;}
.workshop-story .story-left h2 em{font-style:normal;color:var(--orange);}
.workshop-story .story-left p{font-family:var(--font-grotesk);font-size:15px;line-height:1.7;color:var(--gray-2);margin-bottom:18px;max-width:560px;}
.workshop-story .story-left p.cjk{font-family:var(--font-cjk);font-weight:300;font-size:14px;line-height:1.85;}
.workshop-story .story-right{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.workshop-story .story-stat{padding:36px 28px;background:var(--cream);display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:180px;}
.workshop-story .story-stat b{font-family:var(--font-display);font-size:64px;line-height:.9;color:var(--ink);letter-spacing:-.01em;}
.workshop-story .story-stat b small{font-family:var(--font-grotesk);font-size:14px;letter-spacing:.1em;margin-left:6px;color:var(--gray-2);font-weight:600;}
.workshop-story .story-stat span{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gray-2);}
.workshop-story .story-stat span.cjk{font-family:var(--font-cjk);font-weight:300;letter-spacing:.04em;text-transform:none;font-size:12px;color:var(--gray-2);opacity:.85;}
@media(max-width:1000px){.workshop-story{grid-template-columns:1fr;gap:50px;padding:80px 22px;}}
@media(max-width:520px){.workshop-story .story-right{grid-template-columns:1fr;}.workshop-story .story-stat b{font-size:52px;}}

/* --- Factory tour --- */
.workshop-tour{padding:120px 60px;background:var(--ink);color:var(--cream);}
.workshop-tour .cap-head{margin-bottom:50px;}
.workshop-tour .cap-head h2{color:var(--cream);}
.workshop-tour .cap-head h2 em{color:var(--orange);font-style:normal;}
.workshop-tour .cap-head .kicker{color:var(--orange);font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:block;}
.workshop-tour .cap-head .lede{font-family:var(--font-grotesk);font-size:15px;line-height:1.65;max-width:680px;margin-top:18px;color:var(--cream);opacity:.78;}
.workshop-tour .cap-head .lede.cjk{font-family:var(--font-cjk);font-weight:300;font-size:14px;line-height:1.85;margin-top:8px;}
.tour-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.tour-cell{position:relative;overflow:hidden;background:var(--charcoal);margin:0;aspect-ratio:4/3;}
.tour-hero{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
.tour-wide{grid-column:span 2;aspect-ratio:auto;}
.tour-divider{display:flex;align-items:center;gap:18px;margin:64px 0 28px;}
.tour-divider .td-label{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--orange);white-space:nowrap;}
.tour-divider .td-rule{flex:1;height:1px;background:var(--cream);opacity:.22;}
.tour-divider .td-hint{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--cream);opacity:.5;white-space:nowrap;}
@media(hover:none){.tour-divider .td-hint{display:none;}}
.tour-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;}
.tour-video{aspect-ratio:16/9;}
.tour-video-grid.portrait{grid-template-columns:repeat(6,1fr);}
.tour-video-grid.portrait .tour-video{aspect-ratio:9/16;}
.tour-video-grid.portrait figcaption b{font-size:16px;}
.tour-video-grid.portrait figcaption{left:14px;right:14px;bottom:14px;}
.tour-cell .tour-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s cubic-bezier(.2,.8,.2,1);filter:saturate(.92);}
.tour-cell:hover .tour-img{transform:scale(1.05);}
.tour-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,15,0) 40%,rgba(22,19,15,.85) 100%);pointer-events:none;z-index:1;}
.tour-cell figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:var(--cream);display:flex;flex-direction:column;gap:4px;}
.tour-cell figcaption b{font-family:var(--font-display);font-size:22px;text-transform:uppercase;letter-spacing:.01em;line-height:1;}
.tour-cell figcaption span{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.82;}
.tour-note{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);opacity:.5;margin-top:40px;text-align:center;font-weight:600;}
.tour-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1.4s cubic-bezier(.2,.8,.2,1);}
.tour-video:hover video{transform:scale(1.05);}
.tour-video .vid-tag{position:absolute;top:14px;left:14px;z-index:2;font-size:9px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-family:var(--font-grotesk);color:var(--ink);background:var(--cream);padding:6px 10px;}
.tour-video:hover .vid-tag{background:var(--orange);color:var(--cream);}
.tour-video .vid-tag .vt-live{display:none;}
.tour-video:hover .vid-tag .vt-idle{display:none;}
.tour-video:hover .vid-tag .vt-live{display:inline;}
@media(hover:none){.tour-video .vid-tag{display:none;}}
@media(max-width:1100px){.workshop-tour{padding:80px 22px;}.tour-video-grid.portrait{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.tour-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.tour-hero,.tour-wide{grid-column:span 2;grid-row:span 1;aspect-ratio:16/10;}.tour-video-grid{grid-template-columns:1fr;gap:10px;margin-top:10px;}.tour-video-grid.portrait{grid-template-columns:repeat(2,1fr);}.tour-divider{margin:40px 0 16px;gap:12px;}}

/* --- Fixtures page tweaks (re-use .fix-grid from homepage) --- */
.fixtures-page{padding:120px 60px;background:var(--cream);}
.fixtures-page .cap-head{margin-bottom:50px;}
.fixtures-page .cap-head .kicker{color:var(--orange);font-family:var(--font-grotesk);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:18px;display:block;}
.fixtures-page .cap-head h2 em{font-style:normal;color:var(--orange);}
.fixtures-page .cap-head .lede{font-family:var(--font-grotesk);font-size:15px;line-height:1.65;max-width:780px;margin-top:18px;color:var(--gray-2);}
.fixtures-page .cap-head .lede.cjk{font-family:var(--font-cjk);font-weight:300;font-size:14px;line-height:1.85;margin-top:8px;}
.fixtures-page .tour-note{color:var(--ink);opacity:.45;}
@media(max-width:1100px){.fixtures-page{padding:80px 22px;}}

/* --- Order portal --- */
.order-portal{background:var(--ink);color:var(--cream);padding:120px 60px;position:relative;overflow:hidden;}
.order-portal::before{content:"";position:absolute;top:0;right:0;width:42%;height:100%;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-2) 100%);clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:.06;pointer-events:none;}
.portal-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;max-width:1500px;margin:0 auto;position:relative;z-index:1;}
.portal-left{max-width:560px;}
.status-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(235,93,30,.14);color:var(--orange);border:1px solid rgba(235,93,30,.4);padding:7px 14px;font-family:var(--font-grotesk);font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:28px;}
.status-pill .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(235,93,30,.6);animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(235,93,30,.55);}70%{box-shadow:0 0 0 9px rgba(235,93,30,0);}100%{box-shadow:0 0 0 0 rgba(235,93,30,0);}}
.portal-left h2{font-family:var(--font-display);font-size:clamp(48px,6.5vw,96px);line-height:.9;text-transform:uppercase;margin-bottom:28px;letter-spacing:-.01em;}
.portal-left h2 em{font-style:normal;color:var(--orange);}
.portal-left p{font-family:var(--font-grotesk);font-size:15px;line-height:1.7;opacity:.84;margin-bottom:14px;}
.portal-left p.cjk{font-family:var(--font-cjk);font-weight:300;font-size:14px;line-height:1.85;}
.portal-features{list-style:none;margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.portal-features li{display:flex;gap:14px;align-items:flex-start;}
.portal-features li b{font-family:var(--font-display);font-size:28px;color:var(--orange);line-height:1;flex-shrink:0;letter-spacing:.02em;}
.portal-features li > div{display:flex;flex-direction:column;gap:3px;}
.portal-features li span{font-family:var(--font-grotesk);font-size:12px;letter-spacing:.05em;color:var(--cream);}
.portal-features li span.cjk{font-family:var(--font-cjk);font-weight:300;font-size:12px;opacity:.78;letter-spacing:.02em;}

/* --- Login card --- */
.login-card{background:var(--cream);color:var(--ink);padding:44px 40px;display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 80px rgba(0,0,0,.45),0 2px 0 var(--orange);border:1px solid rgba(22,19,15,.1);position:relative;}
.login-card::before{content:"";position:absolute;top:0;left:0;height:4px;width:60px;background:var(--orange);}
.login-head{margin-bottom:8px;}
.login-head h3{font-family:var(--font-display);font-size:42px;text-transform:uppercase;line-height:1;letter-spacing:-.005em;margin-bottom:6px;}
.login-head .cjk{font-family:var(--font-cjk);font-weight:300;font-size:13px;color:var(--gray-2);letter-spacing:.04em;}
.login-card .field{display:flex;flex-direction:column;gap:7px;}
.login-card .field > span{font-family:var(--font-grotesk);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gray-2);}
.login-card input[type="text"],.login-card input[type="password"]{font-family:var(--font-grotesk);font-size:15px;padding:14px 0;background:transparent;border:none;border-bottom:1px solid rgba(22,19,15,.22);outline:none;color:var(--ink);letter-spacing:.02em;transition:border-color .25s ease;}
.login-card input[type="text"]:focus,.login-card input[type="password"]:focus{border-bottom-color:var(--orange);}
.login-card input::placeholder{color:rgba(22,19,15,.32);font-weight:400;}
.login-card .field-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap;}
.login-card .checkbox{display:flex;align-items:center;gap:8px;font-family:var(--font-grotesk);font-size:11px;color:var(--gray-2);cursor:pointer;letter-spacing:.04em;}
.login-card .checkbox input{accent-color:var(--orange);width:14px;height:14px;cursor:pointer;}
.login-card .forgot{font-family:var(--font-grotesk);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-2);text-decoration:none;font-weight:600;transition:color .25s ease;}
.login-card .forgot:hover{color:var(--orange);}
.login-btn{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:var(--cream);font-family:var(--font-display);font-size:18px;text-transform:uppercase;letter-spacing:.04em;padding:18px 24px;border:none;cursor:pointer;transition:background .25s ease, transform .25s ease;}
.login-btn:hover{background:var(--orange);}
.login-btn:active{transform:translateY(1px);}
.login-btn .arr{display:inline-block;transition:transform .25s ease;}
.login-btn:hover .arr{transform:translateX(4px);}
.login-note{margin-top:6px;border-top:1px solid rgba(22,19,15,.1);padding-top:14px;display:flex;flex-direction:column;gap:6px;}
.login-note small{font-size:11px;line-height:1.6;color:var(--gray-2);}
.login-note small.cjk{font-family:var(--font-cjk);font-weight:300;font-size:11.5px;}
.login-note a{color:var(--orange);text-decoration:none;font-weight:600;}
.login-note a:hover{text-decoration:underline;}

/* --- Toast --- */
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,40px);background:var(--ink);color:var(--cream);border:1px solid var(--orange);padding:14px 22px;display:flex;flex-direction:column;gap:4px;max-width:480px;font-family:var(--font-grotesk);font-size:13px;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .35s ease, transform .35s ease;z-index:1000;box-shadow:0 14px 40px rgba(0,0,0,.45);}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.toast b{font-family:var(--font-display);font-size:16px;letter-spacing:.02em;color:var(--orange);text-transform:uppercase;}
.toast span{font-family:var(--font-cjk);font-weight:300;font-size:12px;opacity:.88;}

@media(max-width:1000px){.portal-inner{grid-template-columns:1fr;gap:50px;}.order-portal{padding:80px 22px;}.portal-features{grid-template-columns:1fr;}}
@media(max-width:520px){.login-card{padding:32px 24px;}.login-head h3{font-size:34px;}}

/* ===== Large-screen (fullscreen desktop) refinements — added 2026-06-15 ===== */
@media(min-width:1280px){
  /* Leadership: partner bios on the LEFT, group photo on the RIGHT */
  .leadership-body{display:grid;grid-template-columns:1.05fr .95fr;column-gap:56px;align-items:start;}
  .leadership-body .leaders{grid-column:1;grid-row:1;display:flex;flex-direction:column;background:transparent;border:0;gap:0;}
  .leadership-body .leader{min-height:0;padding:34px 0;background:transparent;border:0;border-bottom:1px solid rgba(17,17,17,.14);}
  .leadership-body .leader:first-child{padding-top:0;}
  .leadership-body .leader:last-child{border-bottom:0;padding-bottom:0;}
  .leadership-body .leader h3{font-size:40px;}
  .leadership-body .partners-media{grid-column:2;grid-row:1;align-self:start;}
  .leadership-body .partners-photo{margin:0;}
  .leadership-body .partners-caption{padding-bottom:0;}
  /* Team leaders: larger portraits on reveal */
  .team-cell{min-height:470px;}
  .team-cell > .leader-photo{height:94%;}
  .team-cell:nth-child(2) > .leader-photo,
  .team-cell:nth-child(3) > .leader-photo{height:86%;}
}

/* ===== About-page re-layout — added 2026-06-15 ===== */
@media(min-width:901px){
  .intro--about{padding:96px 40px 0;}
  .intro-grid--lede > div{grid-column:2;}
  .leadership{padding:96px 40px 110px;}
}
@media(min-width:1280px){
  /* Elly (4th leader) sits a touch smaller & lower than the others */
  .team-cell:nth-child(4) > .leader-photo{height:85%;}
}

/* ===== Leadership heading + company intro on one aligned row — 2026-06-15 ===== */
.lead-head{margin-bottom:64px;}
.lead-head-title h2{font-family:var(--font-display);font-size:clamp(40px,7vw,108px);line-height:.9;text-transform:uppercase;}
.lead-head-title h2 em{font-style:normal;color:var(--orange);}
.lead-head-title .kicker{margin-top:22px;}
.lead-head-intro p{font-family:var(--font-grotesk);font-size:16px;line-height:1.85;margin-bottom:16px;}
.lead-head-intro p.cjk{font-family:var(--font-cjk);font-weight:300;color:var(--gray-2);font-size:14px;line-height:2;}
@media(min-width:901px){
  .lead-head{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start;}
  .lead-head-intro{padding-top:6px;}
}

/* ICP filing link in footer — 2026-06-15 */
.contact-foot .icp-link{color:inherit;opacity:.55;text-decoration:none;font-size:inherit;transition:opacity .2s ease;}
.contact-foot .icp-link:hover{opacity:1;}
