/* ============================================================
   ZORIXO LIFESTYLE
   Group brand book v1.0: Night ground, Emerald Ink, Champagne,
   Turning Gold for the dot only. Montserrat throughout.
   Each consumer brand keeps its own pair inside its own panel.
   ============================================================ */
:root{
  --night:#0A1F19; --night-2:#0F2A22;
  --emerald:#064E3B; --emerald-2:#0E7356;
  --champagne:#F8E7C9; --champagne-dim:rgba(248,231,201,.62);
  --gold:#C9A46A;
  --paper:#FBF8F1; --mist:#EEF3F1;
  --ink:#0A1F19; --ink-soft:#4E5C57;
  --line-d:rgba(248,231,201,.16); --line-l:rgba(10,31,25,.14);
  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(20px,4vw,56px);
  --maxw:1360px;
  --hdr:84px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--paper);color:var(--ink);font-family:'Montserrat',system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--gold);color:var(--night)}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--champagne);color:var(--night);padding:10px 16px;font-weight:700}
.skip:focus{top:16px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.display{font-weight:800;letter-spacing:-.035em;line-height:.95}
.h-xl{font-size:clamp(48px,9.2vw,148px)}
.h-l{font-size:clamp(40px,6.4vw,100px)}
.h-m{font-size:clamp(32px,4.4vw,64px)}
.h-s{font-size:clamp(24px,2.4vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.lede{font-size:clamp(18px,1.5vw,22px);line-height:1.6;max-width:36ch}
.dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:var(--gold);vertical-align:.08em;margin-left:.06em}

.dark{background:var(--night);color:var(--champagne)}
.dark .lede,.dark p{color:var(--champagne-dim)}
.emerald{background:var(--emerald);color:var(--champagne)}
.mist{background:var(--mist)}

/* the mark, drawn as strokes so it can be animated and recoloured */
.mark{width:1em;height:1em;overflow:visible}
.mark path{fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.mark circle{fill:var(--gold)}

/* ---------- buttons / links ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;padding:16px 26px;border-radius:999px;font-size:14px;font-weight:700;letter-spacing:.04em;border:1px solid currentColor;transition:background .4s var(--ease),color .4s var(--ease)}
.btn .arr{transition:transform .4s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.dark .btn:hover,.emerald .btn:hover{background:var(--champagne);color:var(--night)}
.btn--solid{background:var(--emerald);color:var(--champagne);border-color:var(--emerald)}
.btn--solid:hover{background:var(--night);border-color:var(--night)}
.ulink{position:relative;font-weight:700;padding-bottom:4px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s var(--ease)}
.ulink:hover{background-size:0 1px;background-position:100% 100%}

/* ---------- page curtain ---------- */
.curtain{position:fixed;inset:0;z-index:150;background:var(--emerald);display:none;place-items:center;pointer-events:none;color:var(--champagne)}
.js .curtain{display:grid}
.nomotion .curtain,.reduce .curtain{display:none!important}
.curtain__mark{font-size:72px}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;color:var(--champagne);transition:color .5s var(--ease),transform .6s var(--ease)}
.hdr.on-light{color:var(--ink)}
.hdr.hide{transform:translateY(-110%)}
.hdr::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(10,31,25,.55)}
.hdr.on-light::before{background:rgba(251,248,241,.72)}
.hdr.solid::before{opacity:1}
.hdr__in{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--hdr);max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.logo,.ftr__logo{display:inline-flex;align-items:center;gap:12px}
.logo .mark{font-size:34px}
.logo__word{display:flex;flex-direction:column;line-height:1}
.logo__word b{font-weight:800;font-size:17px;letter-spacing:.2em}
.logo__word i{font-style:normal;font-weight:500;font-size:9.5px;letter-spacing:.53em;margin-top:4px}
.nav{display:flex;gap:40px}
.nav a{position:relative;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav a[aria-current]::before{content:"";position:absolute;left:-12px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--gold)}
.burger{display:none;width:44px;height:44px;position:relative}
.burger span:not(.sr){position:absolute;left:10px;right:10px;height:2px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:nth-child(1){top:17px}.burger span:nth-child(2){top:25px}
.menu-open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){top:21px;transform:rotate(-45deg)}
.menu-open .hdr{color:var(--champagne)}
.menu-open .hdr::before{opacity:0}

.menu{position:fixed;inset:0;z-index:90;background:var(--night);color:var(--champagne);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--hdr) + 32px) var(--gut) 40px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease),visibility 0s .8s}
.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--ease)}
.menu__nav{display:flex;flex-direction:column;gap:6px}
.menu__nav a{font-size:clamp(44px,13vw,72px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.menu__foot{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line-d);padding-top:24px}
.menu__foot div{display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:600}
.menu__foot .eyebrow{color:var(--gold)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:calc(var(--hdr) + 40px) 0 clamp(40px,7vh,88px)}
.hero__mark{position:absolute;right:-6vw;top:50%;width:min(78vw,980px);height:auto;transform:translateY(-52%);color:var(--emerald);pointer-events:none}
.hero__mark path{stroke-width:7.2}
.hero__glow{position:absolute;width:70vw;height:70vw;right:-20vw;top:-18vw;border-radius:50%;background:radial-gradient(circle,rgba(14,115,86,.38),transparent 62%);pointer-events:none}
.hero .wrap{position:relative;width:100%}
.hero__eyebrow{color:var(--gold);margin-bottom:28px}
.hero h1{max-width:12ch;color:var(--champagne)}
.hero__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:clamp(32px,6vh,64px);padding-top:28px;border-top:1px solid var(--line-d)}
.hero__foot .lede{max-width:46ch}
.scrollcue{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne-dim)}
.scrollcue i{position:relative;display:block;width:1px;height:56px;background:var(--line-d);overflow:hidden}
.scrollcue i::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--gold);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* page hero (inner pages) */
.phero{position:relative;padding:calc(var(--hdr) + clamp(80px,14vh,160px)) 0 clamp(64px,10vh,120px);overflow:hidden}
.phero .eyebrow{color:var(--gold);margin-bottom:24px}
.phero .lede{margin-top:36px}
.phero__mark{position:absolute;right:-4vw;bottom:-4vw;width:min(60vw,720px);height:auto;aspect-ratio:1;color:var(--emerald);opacity:.85}

/* ---------- statement (scrubbed words) ---------- */
.statement{padding:clamp(110px,18vh,220px) 0}
.statement .eyebrow{color:var(--emerald-2);margin-bottom:36px}
.statement p.big{font-size:clamp(30px,4.3vw,64px);font-weight:700;letter-spacing:-.025em;line-height:1.14;max-width:22ch;color:var(--ink)}
.statement p.big em{font-style:normal;color:var(--emerald)}
[data-words] .w{opacity:.14;transition:none}
.nomotion [data-words] .w,.reduce [data-words] .w{opacity:1}

/* ---------- the house (horizontal brand rail) ---------- */
.house{position:relative;overflow:hidden;background:var(--night)}
.house__track{display:flex;height:100svh;will-change:transform}
.panel{position:relative;flex:0 0 100vw;height:100%;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,72px);align-items:center;padding:calc(var(--hdr) + 24px) var(--gut) 56px;overflow:hidden}
.panel--intro{grid-template-columns:1fr;align-content:center;color:var(--champagne);flex-basis:72vw}
.panel--intro .h-l{max-width:10ch}
.panel--intro p{color:var(--champagne-dim);margin-top:28px;max-width:40ch}
.panel__count{position:absolute;left:var(--gut);bottom:40px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.panel__num{font-size:13px;font-weight:700;letter-spacing:.2em;display:flex;align-items:center;gap:14px;margin-bottom:22px}
.panel__num::after{content:"";width:48px;height:1px;background:currentColor;opacity:.5}
.panel__name{font-size:clamp(56px,8.6vw,150px);font-weight:900;letter-spacing:-.05em;line-height:.88}
.panel__tag{font-size:clamp(18px,1.5vw,22px);font-weight:600;margin-top:22px;max-width:28ch;line-height:1.4}
.panel__body{margin-top:18px;max-width:44ch;opacity:.82;font-size:16px}
.panel__facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.panel__facts li{list-style:none;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border:1px solid currentColor;border-radius:999px;opacity:.9}
.panel__cta{margin-top:32px}
.panel__media{position:relative;height:min(72vh,720px);overflow:hidden}
.panel__media img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.panel--fleeke{background:#6A00F4;color:#fff}
.panel--fleeke .panel__num,.panel--fleeke .panel__cta{color:#C8FF3D}
.panel--fleeke .btn:hover{background:#C8FF3D;color:#2a0066;border-color:#C8FF3D}
.panel--xipid{background:#FFF275;color:#3A0CA3}
.panel--xipid .btn:hover{background:#3A0CA3;color:#FFF275;border-color:#3A0CA3}
.panel--anime{background:#23262F;color:#F2F3F5}
.panel--anime .panel__num,.panel--anime .panel__cta{color:#B6FF2E}
.panel--anime .btn:hover{background:#B6FF2E;color:#23262F;border-color:#B6FF2E}
.anime-art{position:relative;height:min(72vh,720px);display:grid;place-items:center;overflow:hidden;border:1px solid rgba(182,255,46,.25)}
.anime-art__grid{position:absolute;inset:0;background-image:radial-gradient(rgba(182,255,46,.35) 1.2px,transparent 1.4px);background-size:22px 22px;mask-image:radial-gradient(circle at 50% 50%,#000 20%,transparent 75%)}
.anime-art__burst{position:absolute;inset:-40%;background:repeating-conic-gradient(from 0deg,rgba(182,255,46,.10) 0 4deg,transparent 4deg 12deg)}
.anime-art__word{position:relative;font-size:clamp(64px,9vw,150px);font-weight:900;letter-spacing:-.05em;line-height:.84;color:#B6FF2E;text-align:center}
.anime-art__word span{display:block;color:transparent;-webkit-text-stroke:1.5px #B6FF2E}
.anime-art__badge{position:absolute;top:24px;right:24px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:#B6FF2E;color:#23262F;padding:8px 14px;border-radius:999px}
.panel--next{flex-basis:70vw;grid-template-columns:1fr;align-content:center;color:var(--champagne)}
.panel--next .h-l{max-width:12ch}
.panel--next p{color:var(--champagne-dim);margin-top:28px;max-width:40ch}

/* ---------- principles ---------- */
.made{padding:clamp(110px,16vh,200px) 0}
.made__head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:clamp(56px,9vh,110px)}
.made__head .eyebrow{color:var(--gold);margin-bottom:26px}
.made__wide{position:relative;height:clamp(300px,62vh,680px);overflow:hidden;margin-bottom:clamp(64px,10vh,120px)}
.made__wide img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover}
.made__wide figcaption{position:absolute;left:24px;bottom:20px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne);background:rgba(10,31,25,.55);padding:8px 14px;backdrop-filter:blur(8px)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-d)}
.pillar{padding:36px 36px 8px 0}
.pillar + .pillar{padding-left:36px;border-left:1px solid var(--line-d)}
.pillar__n{font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--gold)}
.pillar h3{font-size:clamp(22px,2vw,28px);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:20px 0 14px;color:var(--champagne)}
.pillar p{font-size:16px}

/* ---------- the family (Zorixo group list) ---------- */
.family{padding:clamp(110px,16vh,200px) 0}
.family__head{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:56px}
.family__head .eyebrow{color:var(--emerald-2);margin-bottom:22px}
.family__head p{max-width:40ch;color:var(--ink-soft)}
.rows{border-top:1px solid var(--line-l)}
.row{position:relative;display:grid;grid-template-columns:80px 1.3fr 1.6fr 130px;gap:24px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line-l);overflow:hidden;isolation:isolate}
.row::before{content:"";position:absolute;inset:0;background:var(--emerald);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:-1}
.row:hover::before,.row.is-here::before{transform:scaleY(1)}
.row:hover,.row.is-here{color:var(--champagne)}
.row:hover .row__d,.row.is-here .row__d{color:var(--champagne-dim)}
.row > *{transition:transform .7s var(--ease),color .5s}
.row:hover > *{transform:translateX(16px)}
.row__n{font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--gold);padding-left:4px}
.row__t{font-size:clamp(26px,3.2vw,46px);font-weight:800;letter-spacing:-.03em;line-height:1}
.row__d{color:var(--ink-soft);font-size:16px}
.row__a{font-size:22px;justify-self:end;padding-right:8px}
.row.is-here .row__a{white-space:nowrap;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}

/* ---------- closing ---------- */
.closing{padding:clamp(120px,20vh,240px) 0 clamp(80px,12vh,140px);text-align:center;overflow:hidden}
.closing .eyebrow{color:var(--gold);margin-bottom:30px}
.closing h2{margin:0 auto;max-width:12ch}
.closing__brands{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:56px}
.chip{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;border:1px solid var(--line-d);font-weight:700;font-size:15px;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s}
.chip i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.chip:hover{background:var(--c);color:var(--k);border-color:var(--c)}
.chip:hover i{background:var(--k)}

/* ---------- brands page chapters ---------- */
.chapter{position:relative;padding:clamp(96px,14vh,170px) 0}
.chapter__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,110px);align-items:start}
.chapter__media{position:sticky;top:calc(var(--hdr) + 24px);height:calc(100svh - var(--hdr) - 48px);max-height:820px;overflow:hidden}
.chapter__media img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover}
.chapter__text{padding-top:clamp(0px,8vh,80px)}
.chapter__name{font-size:clamp(60px,9vw,150px);font-weight:900;letter-spacing:-.05em;line-height:.88}
.chapter__tag{font-size:clamp(20px,1.8vw,26px);font-weight:600;line-height:1.4;margin:26px 0 0;max-width:26ch}
.chapter dl{margin-top:clamp(48px,8vh,90px);border-top:1px solid currentColor}
.chapter dl > div{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.chapter dt{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding-top:4px}
.chapter dd{font-size:16px;line-height:1.65}
.chapter dd ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.chapter dd li{font-size:13px;font-weight:600;padding:6px 12px;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:999px}
.chapter .btn{margin-top:44px}
.chapter--fleeke{background:#6A00F4;color:#fff}
.chapter--fleeke dt{color:#C8FF3D}
.chapter--fleeke .btn:hover{background:#C8FF3D;color:#2a0066;border-color:#C8FF3D}
.chapter--xipid{background:#FFF275;color:#3A0CA3}
.chapter--xipid .btn:hover{background:#3A0CA3;color:#FFF275}
.chapter--anime{background:#23262F;color:#F2F3F5}
.chapter--anime dt{color:#B6FF2E}
.chapter--anime .btn:hover{background:#B6FF2E;color:#23262F;border-color:#B6FF2E}
.chapter--anime .anime-art{height:calc(100svh - var(--hdr) - 48px);max-height:820px}
.brand-index{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}

/* ---------- about ---------- */
.story{padding:clamp(110px,16vh,200px) 0}
.story__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.markdemo{position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:center;color:var(--emerald)}
.markdemo .mark{width:100%;height:100%}
.markdemo__lbl{position:absolute;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:10px}
.markdemo__lbl::before{content:"";width:28px;height:1px;background:currentColor}
.story p + p{margin-top:20px}
.story .eyebrow{color:var(--emerald-2);margin-bottom:24px}
.story .h-m{margin-bottom:32px}
.story__copy p{color:var(--ink-soft);max-width:48ch}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d);margin-top:clamp(56px,8vh,90px)}
.step{padding:34px 28px 10px 0}
.step + .step{padding-left:28px;border-left:1px solid var(--line-d)}
.step b{display:block;font-size:13px;letter-spacing:.2em;color:var(--gold);margin-bottom:18px}
.step h3{font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--champagne);margin-bottom:10px}
.step p{font-size:15.5px}
.fullbleed{position:relative;height:clamp(320px,80vh,860px);overflow:hidden}
.fullbleed img{position:absolute;inset:-10% 0;width:100%;height:120%;object-fit:cover}

/* ---------- contact ---------- */
.contact-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hdr) + 60px) 0 80px;position:relative;overflow:hidden}
.contact-hero .eyebrow{color:var(--gold);margin-bottom:26px}
.mail{display:inline-block;font-size:clamp(30px,6.4vw,104px);font-weight:800;letter-spacing:-.04em;line-height:1;margin-top:40px;color:var(--champagne);word-break:break-word;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 3px no-repeat;padding-bottom:10px;transition:background-size .7s var(--ease)}
.mail:hover{background-size:100% 3px}
.routes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(64px,10vh,110px);border-top:1px solid var(--line-d)}
.route{padding:30px 28px 0 0}
.route + .route{padding-left:28px;border-left:1px solid var(--line-d)}
.route h3{font-size:20px;font-weight:700;color:var(--champagne);margin-bottom:8px}
.route p{font-size:15.5px}
.brandcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.bcard{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:260px;padding:30px;background:var(--c);color:var(--k);overflow:hidden;transition:transform .6s var(--ease)}
.bcard:hover{transform:translateY(-8px)}
.bcard b{font-size:clamp(32px,3.2vw,46px);font-weight:900;letter-spacing:-.04em;line-height:.95}
.bcard span{font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.bcard small{display:block;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;opacity:.8}

/* ---------- footer ---------- */
.ftr{background:var(--night);color:var(--champagne);padding:clamp(80px,12vh,130px) 0 36px}
.ftr__top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;padding-bottom:56px;border-bottom:1px solid var(--line-d)}
.ftr__logo .mark{font-size:56px}
.ftr__logo .logo__word b{font-size:26px}
.ftr__logo .logo__word i{font-size:13.5px;letter-spacing:.6em;margin-top:6px}
.ftr__line{font-size:clamp(22px,2.4vw,34px);font-weight:700;letter-spacing:-.02em;max-width:18ch;text-align:right;color:var(--champagne)}
.ftr__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:48px 0}
.ftr__cols div{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ftr__cols .eyebrow{color:var(--gold);margin-bottom:8px}
.ftr__cols a{color:var(--champagne-dim);transition:color .3s}
.ftr__cols a:hover{color:var(--champagne)}
.ftr__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:28px;border-top:1px solid var(--line-d);font-size:13px;color:var(--champagne-dim)}
.ftr__base a:hover{color:var(--champagne)}

/* ---------- 404 ---------- */
.lost{min-height:100svh;display:grid;place-items:center;text-align:center;padding:var(--hdr) var(--gut)}
.lost p{margin:24px auto 36px;max-width:36ch}

/* ---------- motion initial states (only when JS is running) ---------- */
.js:not(.nomotion):not(.reduce) [data-reveal]{opacity:0}
.js:not(.nomotion):not(.reduce) [data-split]{visibility:hidden}
.js:not(.nomotion):not(.reduce) :is(.hero,.phero,.contact-hero) :is(h1,[data-intro]){visibility:hidden}
.split-line{display:block}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .made__head,.story__grid,.chapter__grid{grid-template-columns:1fr}
  .pillars,.steps{grid-template-columns:1fr 1fr}
  .pillar:nth-child(3),.step:nth-child(3){border-left:0;padding-left:0}
  .chapter__media{position:relative;top:0;height:70vh}
  .chapter--anime .anime-art{height:60vh}
  .routes,.brandcards{grid-template-columns:1fr}
  .route + .route{padding-left:0;border-left:0;border-top:1px solid var(--line-d);margin-top:24px}
  .route{padding-right:0}
}
@media (max-width:900px){
  :root{--hdr:72px}
  .nav{display:none}
  .burger{display:block}
  .house__track{flex-direction:column;height:auto;transform:none!important}
  .panel,.panel--intro,.panel--next{flex-basis:auto;height:auto;min-height:0;grid-template-columns:1fr;padding:96px var(--gut)}
  .panel__media,.anime-art{height:62vh}
  .panel__count{display:none}
  .row{grid-template-columns:44px 1fr auto;gap:14px}
  .row__d{grid-column:2/3;grid-row:2}
  .row__a{grid-row:1}
  .ftr__cols{grid-template-columns:1fr 1fr}
  .ftr__line{text-align:left}
}
@media (max-width:640px){
  body{font-size:16px}
  .pillars,.steps,.ftr__cols{grid-template-columns:1fr}
  .pillar,.pillar + .pillar,.step,.step + .step{padding:28px 0 4px;border-left:0}
  .pillar + .pillar,.step + .step{border-top:1px solid var(--line-d)}
  .hero__mark{width:104vw;right:-20vw;top:30%;opacity:.7}
  .chapter dl > div{grid-template-columns:1fr;gap:8px}
  .hero__foot{flex-direction:column;align-items:flex-start}
  .scrollcue{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
