:root{
  --on-dark:#f4efe6;
  --on-amber:#151210;
  --amber-hi:#ffc86b;
  --bronze:#c68a2c;
  --linen:#efe7da;
  --font-display:'WFG Display','Noto Sans SC',system-ui,sans-serif;
  --font-label:'Inter','Noto Sans SC',system-ui,sans-serif;
  --font-body:'Inter','Noto Sans SC',system-ui,sans-serif;
  --gutter:clamp(16px,2.4vw,34px);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --hdr-h:84px;
}
:root, .keep-dark, .hdr[data-tone="dark"]{
  --bg:#151210;
  --bg-deep:#0f0c0a;
  --raised:#1d1814;
  --raised-2:#262019;
  --cream:#f4efe6;
  --cream-2:#b3a594;
  --cream-3:#7a6c5f;
  --mute:#4d4238;
  --line:rgba(255,238,214,.12);
  --line-2:rgba(255,238,214,.24);
  --field:rgba(255,238,214,.38);
  --accent:#e9b154;
  --amber:#e9b154;
  --stroke:rgba(255,238,214,.12);
  --glow-a:rgba(233,177,84,.16);
  --glow-b:rgba(124,92,208,.14);
  --shadow:0 30px 60px -30px rgba(0,0,0,.8);
  --hdr-glass:rgba(21,18,16,.74);
  --map-land:rgba(255,255,255,.26);
  --map-on:#e9b154;
  color-scheme:dark;
}
:root[data-theme="light"], .hdr[data-tone="light"]{
  --bg:#f2ebdf;
  --bg-deep:#eae1d2;
  --raised:#fbf7ef;
  --raised-2:#e6dccb;
  --cream:#1b1510;
  --cream-2:#5f5346;
  --cream-3:#8a7b6b;
  --mute:#cbbda9;
  --line:rgba(40,28,16,.12);
  --line-2:rgba(40,28,16,.26);
  --field:rgba(40,28,16,.42);
  --accent:#8c6118;
  --amber:#dd9e34;
  --stroke:rgba(40,28,16,.14);
  --glow-a:rgba(224,164,59,.20);
  --glow-b:rgba(124,92,208,.10);
  --shadow:0 30px 60px -32px rgba(60,42,20,.45);
  --hdr-glass:rgba(242,235,223,.84);
  --map-land:rgba(27,21,16,.22);
  --map-on:#a9741c;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
html.lenis, html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto !important;}
.lenis.lenis-stopped{overflow:clip;}
body{margin:0; background:var(--bg); color:var(--cream); font-family:var(--font-body); font-weight:500; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow-x:clip;}
img,svg,canvas,video{display:block; max-width:100%;}
a{color:inherit;}
button{font:inherit; color:inherit;}
::selection{background:var(--amber); color:var(--on-amber);}
:focus-visible{outline:2px solid var(--amber); outline-offset:3px;}
html{scrollbar-color:#4d4238 var(--bg);}
.visually-hidden{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
.skip-link{position:fixed; left:12px; top:-60px; z-index:300; background:var(--amber); color:var(--on-amber); padding:10px 16px; font:600 13px var(--font-label); text-decoration:none; transition:top .2s;}
.skip-link:focus{top:12px;}

.mono{font-family:var(--font-label); font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;}
.display{font-family:var(--font-display); font-weight:400; text-transform:uppercase; line-height:.9; letter-spacing:-.025em; margin:0;}
.d-xl{font-size:clamp(46px,7.6vw,124px);}
.d-lg{font-size:clamp(38px,5.6vw,92px);}
.d-md{font-size:clamp(28px,3.4vw,54px); line-height:.95;}
.d-sm{font-size:clamp(20px,1.9vw,28px); line-height:1;}
.u-lead{font-size:clamp(17px,1.55vw,23px); line-height:1.38; letter-spacing:-.01em; margin:0;}
.body-dim{color:var(--cream-2);}
:lang(zh) .display{letter-spacing:.02em; line-height:1.05;}

.btn{--bh:44px; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:var(--bh); padding:0 24px; border-radius:100px;
  font-family:var(--font-label); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; white-space:nowrap;
  border:1px solid currentColor; background:transparent; cursor:pointer; position:relative;
  transition:color .35s var(--ease-out), border-color .35s var(--ease-out), background-color .35s var(--ease-out), transform .45s var(--ease-out);}
.btn .ico{width:16px; height:16px;}
.btn-light, .btn-ink{color:var(--bg); background:var(--cream); border-color:var(--cream);}
.btn-light:hover, .btn-ink:hover{color:var(--on-amber); background:var(--amber); border-color:var(--amber);}
.btn-ghost-dark, .btn-outline{color:var(--cream); border-color:var(--line-2);}
.btn-ghost-dark:hover, .btn-outline:hover{color:var(--bg); background:var(--cream); border-color:var(--cream);}
.btn-amber{color:var(--on-amber); background:var(--amber); border-color:var(--amber);}
.btn-amber:hover{color:var(--bg); background:var(--cream); border-color:var(--cream);}
.btn:active{transform:scale(.97);}
.link-arrow{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.link-arrow .ico{width:16px; height:16px; transition:transform .4s var(--ease-out);}
.link-arrow:hover .ico{transform:translateX(4px);}
.ico{fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}

.hdr{position:fixed; inset:0 0 auto 0; z-index:80; height:var(--hdr-h); padding:0 var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--cream);
  transition:color .5s var(--ease-out), transform .6s var(--ease-out), background-color .5s, box-shadow .5s;}
.hdr.is-compact, .hdr.is-solid{background:var(--hdr-glass); -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%); box-shadow:0 1px 0 var(--line);}

.hdr-logo{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; font-family:var(--font-display); font-size:19px; letter-spacing:.01em; white-space:nowrap;}
.hdr-logo .logo-mark{width:36px; height:36px; flex:none;}
.hdr-logo .logo-word{transition:opacity .4s var(--ease-out), transform .5s var(--ease-out);}
.hdr.is-compact .hdr-logo .logo-word{opacity:0; transform:translateX(-8px); pointer-events:none;}
.hdr-right{display:flex; align-items:center; gap:8px;}
.hdr .round{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid currentColor; border-color:color-mix(in srgb, currentColor 32%, transparent);
  background:transparent; cursor:pointer; text-decoration:none; transition:border-color .3s, background-color .3s;}
.hdr .round:hover{border-color:currentColor;}
.hdr .round .ico{width:18px; height:18px;}
.hdr-account-name{display:none;}
.hdr .hdr-account.is-named{width:auto; padding:0 16px; border-radius:100px;}
.hdr-account.is-named .ico{display:none;}
.hdr-account.is-named .hdr-account-name{display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  font-family:var(--font-label); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;}
@media (max-width:420px){
  .hdr .hdr-account.is-named{padding:0 12px;}
  .hdr-account.is-named .hdr-account-name{max-width:84px;}
}
@media (max-width:350px){
  .hdr .hdr-account.is-named{width:44px; padding:0; border-radius:50%;}
  .hdr-account.is-named .ico{display:block;}
  .hdr-account.is-named .hdr-account-name{display:none;}
}
.hdr-supply{position:relative;}
.hdr .btn{--bh:44px;}
.hdr .hdr-supply .btn{color:var(--bg); background:var(--cream); border-color:var(--cream);}
.hdr .hdr-supply .btn:hover{color:var(--on-amber); background:var(--amber); border-color:var(--amber);}
.cart-badge{position:absolute; top:-5px; right:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:10px; background:var(--amber); color:var(--on-amber);
  font:700 10.5px/20px var(--font-label); text-align:center; transform:scale(0); transition:transform .4s var(--ease-out); pointer-events:none;}
.cart-badge.show{transform:scale(1);}
.menu-btn{display:inline-flex; align-items:center; gap:10px; height:44px; padding:0 18px 0 16px; border-radius:100px; cursor:pointer;
  border:1px solid color-mix(in srgb, currentColor 32%, transparent); background:transparent;}
.menu-btn:hover{border-color:currentColor;}
.menu-btn .bars{width:16px; height:8px; position:relative;}
.menu-btn .bars::before,.menu-btn .bars::after{content:""; position:absolute; left:0; right:0; height:1.5px; background:currentColor; transition:transform .45s var(--ease-out);}
.menu-btn .bars::before{top:0;} .menu-btn .bars::after{bottom:0;}
.menu-btn:hover .bars::before{transform:translateX(3px);}
.menu-btn:hover .bars::after{transform:translateX(-3px);}
@media (max-width:760px){
  :root{--hdr-h:68px;}
  .hdr .logo-word{display:none;}
  .hdr-supply .label{display:none;}
  .hdr-supply .btn{padding:0; width:44px;}
  .menu-btn .label{display:none;}
  .menu-btn{width:44px; padding:0; justify-content:center;}
}

.menu-wrap{position:relative;}
.menu{position:absolute; top:calc(100% + 10px); right:0; z-index:5; width:min(330px, calc(100vw - 2 * var(--gutter)));
  background:var(--raised); color:var(--cream); border:1px solid var(--line); border-radius:14px; padding:8px;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  box-shadow:var(--shadow), 0 2px 8px rgba(0,0,0,.14);
  clip-path:inset(0 0 100% 0 round 14px); visibility:hidden; transition:clip-path .55s var(--ease-io), visibility 0s .55s;}
.menu.open{clip-path:inset(0 0 0 0 round 14px); visibility:visible; transition:clip-path .55s var(--ease-io), visibility 0s;}
.menu-links{list-style:none; margin:0; padding:0;}
.menu-links a{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border-radius:8px; text-decoration:none; color:var(--cream);
  font-family:var(--font-display); text-transform:uppercase; font-size:17px; line-height:1;
  opacity:0; transform:translateY(-6px); transition:opacity .4s var(--ease-out), transform .5s var(--ease-out), background-color .25s, color .25s;}
.menu-links a .ico{width:15px; height:15px; opacity:.4; transition:opacity .25s, transform .35s var(--ease-out);}
.menu-links a:hover, .menu-links a:focus-visible{background:var(--line); color:var(--accent);}
.menu-links a:hover .ico{opacity:1; transform:translateX(3px);}
.menu.open .menu-links a{opacity:1; transform:none;}
.menu.open .menu-links li:nth-child(2) a{transition-delay:.03s;} .menu.open .menu-links li:nth-child(3) a{transition-delay:.06s;}
.menu.open .menu-links li:nth-child(4) a{transition-delay:.09s;} .menu.open .menu-links li:nth-child(5) a{transition-delay:.12s;}
.menu.open .menu-links li:nth-child(6) a{transition-delay:.15s;} .menu.open .menu-links li:nth-child(7) a{transition-delay:.18s;}
.menu-foot{border-top:1px solid var(--line); margin:8px 4px 0; padding:12px 8px 6px; display:grid; gap:8px;}
.menu-foot a{color:var(--cream-2); text-decoration:none; font-size:10.5px;} .menu-foot a:hover{color:var(--cream);}
.lang-switch{display:flex; flex-wrap:wrap; gap:6px; margin-top:4px;}
.lang-switch button{height:34px; min-width:48px; padding:0 12px; border-radius:100px; border:1px solid var(--line); background:transparent; color:var(--cream); cursor:pointer; font-family:var(--font-label); font-size:11px;}
.lang-switch button:hover{border-color:var(--cream);}
.lang-switch button[aria-pressed="true"]{background:var(--cream); color:var(--bg); border-color:var(--cream);}
.lang-switch button{min-width:0; flex:1 1 0; padding:0 6px;}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(3.25px) rotate(45deg);}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-3.25px) rotate(-45deg);}

.loader{--list-h:135px; --drop:calc((44px + var(--list-h)) / 2); position:fixed; inset:0; z-index:200; background:var(--bg); color:var(--cream); display:grid; align-items:center;
  grid-template-columns:minmax(210px,1fr) minmax(0,540px) minmax(210px,1fr); gap:var(--gutter); padding:0 clamp(24px,8.3vw,120px);}
html.pt-in .loader{display:none;}
.loader-side{display:flex; flex-direction:column; align-items:flex-start; gap:44px; min-width:0; opacity:0; transform:translateY(var(--drop)); animation:ldIn .6s linear .15s both;}
.loader-side.right{align-items:flex-end; text-align:right;}
.loader-head{display:flex; align-items:center; gap:10px; height:20px; font-family:var(--font-display); font-size:13.5px; letter-spacing:.02em; white-space:nowrap;}
.loader-head .logo-mark{width:24px; height:24px; flex:none;}
.loader-spin{width:13px; height:13px; animation:ldSpin 1.6s linear infinite;}
.loader-list{height:var(--list-h); max-width:100%; overflow:hidden; font-size:10px; line-height:15px; letter-spacing:.04em; color:var(--cream-3);}
.loader-track span{display:block; white-space:nowrap; opacity:0;}
.loader-map{width:100%; aspect-ratio:2/1; opacity:0;}
@keyframes ldSpin{to{transform:rotate(1turn);}}
@keyframes ldIn{from{opacity:0;} to{opacity:1;}}
@media (max-width:760px){
  .loader{--list-h:90px; grid-template-columns:minmax(0,1fr); grid-template-rows:1fr auto 1fr; gap:40px; padding:0 24px;}
  .loader-side{align-self:end;} .loader-side.right{align-self:start;}
}

.hero{position:relative; min-height:max(100svh, 700px); background:var(--bg); color:var(--cream); overflow:hidden; isolation:isolate;}
.hero-stars{position:absolute; inset:0; z-index:-2; width:100%; height:100%;}
.hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:30%; z-index:1; pointer-events:none; background:linear-gradient(transparent, var(--bg) 88%);}
.hero-topbar{position:absolute; top:0; left:0; right:0; height:30px; padding:0 var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px;
  border-bottom:1px solid var(--line); color:var(--cream-2); z-index:3;}
.ticker{display:flex; align-items:center; gap:12px; min-width:0; flex:1;}
.ticker-label{color:var(--cream); flex:none;}
.ticker-view{flex:1; min-width:0; height:30px; overflow:hidden;}
.ticker-track{display:flex; flex-direction:column; transition:transform .55s var(--ease-out);}
.ticker-track a{display:block; height:30px; line-height:30px; color:var(--cream-2); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ticker-track a:hover{color:var(--accent);}
@media (prefers-reduced-motion:reduce){ .ticker-track{transition:none;} }
@keyframes tick{to{transform:translateX(-50%);}}
.topbar-links{display:flex; gap:10px; align-items:center; flex:none;}
.topbar-links a{color:var(--cream-2); text-decoration:none;} .topbar-links a:hover{color:var(--cream);}
.hdr{top:30px;} .hdr.is-scrolled{top:0;}
body:not(:has(.hero-topbar)) .hdr{top:0;}
.hero-grid{position:relative; z-index:2; min-height:inherit; display:grid; grid-template-columns:minmax(0,.4fr) minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:var(--gutter);
  padding:calc(var(--hdr-h) + 24px) var(--gutter) clamp(28px,5vh,56px); pointer-events:none;}
.hero-grid a, .hero-grid button{pointer-events:auto;}
.hero-copy{grid-column:1 / -1; grid-row:1 / -1; align-self:end; position:relative; max-width:min(680px, 44vw);}
.hero-kicker{font-family:var(--font-display); text-transform:uppercase; font-size:clamp(17px,1.5vw,22px); margin:0 0 16px; color:var(--cream);}
.hero-title{font-size:clamp(46px,5.8vw,94px); line-height:.88;}
.hero-title .line{display:block;}
.hero-title{opacity:0; transform:translateY(18px);}
.hero-title.in{opacity:1; transform:none; transition:opacity .9s ease .1s, transform 1s var(--ease-out) .1s;}
.hero-sub{max-width:56ch; margin:clamp(24px,4vh,40px) 0 0; color:var(--cream-2); font-size:clamp(14.5px,1.05vw,16px); line-height:1.6;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:10px; margin-top:clamp(24px,4vh,36px);}
.globe-stage{position:absolute; z-index:1; top:calc(50% + 8vh); left:calc(47vw + min(112vh, 90vw) * .48); width:min(112vh, 90vw); aspect-ratio:1; transform:translate(-50%,-50%); touch-action:pan-y; cursor:grab;}
.globe-stage:active{cursor:grabbing;}
#globe{position:absolute; left:50%; top:50%; width:125%; height:125%; max-width:none; transform:translate(-50%,-50%); pointer-events:none;}
.g-label{position:absolute; left:0; top:0; z-index:2; display:flex; flex-direction:column; align-items:center; gap:7px; text-decoration:none; pointer-events:auto;
  transform:translate(-50%,-100%); transition:opacity .35s;}
.g-label .tag{padding:5px 7px; background:color-mix(in srgb, var(--bg) 88%, transparent); color:var(--cream); border:1px solid var(--line-2); font-family:var(--font-label); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; transition:background .3s, color .3s;}
.g-label .dot{width:9px; height:9px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 3px rgba(234,165,60,.22), 0 0 14px rgba(234,165,60,.8);}
.g-label:hover .tag, .g-label:focus-visible .tag{background:var(--amber); color:var(--on-amber);}
.g-label.is-back{opacity:0; pointer-events:none;}
@media (max-width:899px){
  .hero{display:flex; flex-direction:column; min-height:100svh; padding-top:calc(var(--hdr-h) + 30px);}
  .hero-grid{grid-template-columns:1fr; min-height:0; padding-top:24px;}
  .hero-copy{grid-column:1; grid-row:2; max-width:none;}
  .globe-stage{position:relative; left:auto; top:auto; transform:none; flex:1 1 0; min-height:110px; max-height:calc(100vw - 2 * var(--gutter));
    width:auto; aspect-ratio:1; margin:auto; align-self:center;}
}
@media (max-width:760px){
  .hero-topbar .topbar-links{display:none;}
  .hero-kicker{margin-bottom:10px;}
  .hero-title{font-size:clamp(36px,11.5vw,56px);}
  .hero-sub{margin-top:14px; font-size:13.5px; line-height:1.55;}
  .hero-ctas{margin-top:20px;}
  .hero-ctas .btn{flex:1 1 auto; padding:0 10px; font-size:11px;}
  .globe-stage{flex:none; width:calc(100vw - 2 * var(--gutter)); min-height:0; max-height:none; margin:0 auto;}
  .g-label .tag{font-size:10px; padding:4px 6px;}
}

.hero-wrap{position:relative;}
.hero-wrap > .hero{position:sticky; top:0; z-index:1;}
.descent{position:relative; z-index:3; height:115svh; margin-top:0;
  background:
    radial-gradient(55% 38% at 16% 64%, var(--glow-a), transparent 72%),
    radial-gradient(50% 36% at 88% 52%, var(--glow-b), transparent 72%),
    linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--bg-deep) 72%, transparent) 16%, var(--bg-deep) 44%, var(--bg) 78%);}
.descent-haze{display:none;}
@media (max-width:760px){
  .hero-wrap > .hero{position:relative;}
  .descent{height:40svh; margin-top:-2px; background-color:#151210;}
}

.manifesto{position:relative; z-index:3; background:var(--bg); padding:clamp(10px,2vw,30px) var(--gutter) clamp(80px,12vw,180px);}
.mani-grid{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(24px,6vw,110px); align-items:start;}
.mani-left{position:sticky; top:calc(var(--hdr-h) + 20px); display:grid; gap:clamp(28px,4vw,56px);}
.mani-cards{position:relative; width:clamp(290px,30vw,440px); height:clamp(230px,23vw,330px);}
.mani-card{position:absolute; top:12px; width:42%; aspect-ratio:4/5; margin:0; border-radius:8px; overflow:hidden; background:var(--linen);
  box-shadow:var(--shadow), 0 0 0 1px var(--line); transition:transform .8s var(--ease-out);}
.mani-card img{width:100%; height:100%; object-fit:cover;}
.mani-card:nth-child(1){left:0; transform:rotate(-8deg) translateY(14px);}
.mani-card:nth-child(2){left:29%; z-index:2; transform:translateY(-4px);}
.mani-card:nth-child(3){left:58%; transform:rotate(8deg) translateY(14px);}
.mani-cards:hover .mani-card:nth-child(1){transform:rotate(-12deg) translate(-18px, 10px);}
.mani-cards:hover .mani-card:nth-child(2){transform:translateY(-14px) scale(1.03);}
.mani-cards:hover .mani-card:nth-child(3){transform:rotate(12deg) translate(18px, 10px);}
.mani-title{font-size:clamp(34px,4.3vw,72px); line-height:.94;}
.mani-right{padding-top:clamp(16px,4vw,60px); display:grid; gap:clamp(28px,4vw,48px);}
.mani-right .u-lead{max-width:30ch; font-size:clamp(20px,1.9vw,28px);}
.u-stats{list-style:none; margin:clamp(16px,4vw,48px) 0 0; padding:0; display:grid;}
.u-stat{border-top:1px solid var(--line); padding:clamp(22px,3vw,40px) 0;}
.u-stat:last-child{border-bottom:1px solid var(--line);}
.stat-n{font-family:var(--font-display); font-size:clamp(72px,10vw,160px); line-height:.85; display:block; font-variant-numeric:tabular-nums; letter-spacing:-.01em;}
.stat-n sup{font-size:.45em; vertical-align:top; margin-left:.04em; color:var(--accent);}
.stat-l{display:block; margin-top:14px; color:var(--cream-2); font-size:15px;}
@media (max-width:900px){
  .mani-grid{grid-template-columns:1fr;}
  .mani-left{position:relative; top:0;}
}

[data-fill] .w{display:inline-block; opacity:0; filter:blur(10px); transform:translateY(.28em);
  transition:opacity .75s var(--ease-out), filter .75s var(--ease-out), transform .9s var(--ease-out);}
[data-fill] .w.on{opacity:1; filter:none; transform:none;}
[data-fill] .w.acc{color:var(--accent);}

.about-intro{position:relative; z-index:2; min-height:max(78svh, 560px); padding:calc(var(--hdr-h) + 48px) var(--gutter) clamp(44px,7vh,84px); background:var(--bg); color:var(--cream); display:grid; align-content:end; overflow:hidden;
  background-image:radial-gradient(50% 60% at 100% 0%, var(--glow-a), transparent 70%);}
.about-grid{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:28px var(--gutter); align-items:end;}
.about-kicker{display:block; color:var(--accent); margin-bottom:22px;}
.about-title{font-size:clamp(40px,5.6vw,96px); line-height:.88;}
.about-aside{display:grid; gap:clamp(22px,4vh,40px); padding-bottom:.4em;}
.about-lead{max-width:44ch; color:var(--cream-2); font-size:clamp(16px,1.3vw,20px);}
.about-cue{display:flex; align-items:center; gap:14px; color:var(--cream-2);}
.about-cue .cue-line{width:44px; height:1px; background:var(--line-2); position:relative; overflow:hidden; flex:none;}
.about-cue .cue-line::after{content:""; position:absolute; inset:0; background:var(--amber); animation:cue 2.4s var(--ease-io) infinite;}
@keyframes cue{0%{transform:scaleX(0); transform-origin:0 50%;} 45%{transform:scaleX(1); transform-origin:0 50%;} 55%{transform:scaleX(1); transform-origin:100% 50%;} 100%{transform:scaleX(0); transform-origin:100% 50%;}}
@media (max-width:900px){ .about-grid{grid-template-columns:1fr;} .about-aside{padding-bottom:0;} }
@media (max-width:760px){ .about-intro{min-height:0; padding-top:calc(var(--hdr-h) + 36px);} .about-title{font-size:clamp(38px,11.5vw,56px);} }

.load{position:relative; z-index:2; margin-top:-2px; background:var(--bg); color:var(--cream);}
.load-pin{position:relative; height:100svh; overflow:hidden;}
#containerCanvas{position:absolute; inset:0; width:100%; height:100%;}
.load-head{position:absolute; left:var(--gutter); top:calc(var(--hdr-h) + 18px); z-index:2; max-width:min(640px, 48vw);}
.load-head .display{font-size:clamp(34px,4.2vw,68px);}
.load-hud{position:absolute; right:var(--gutter); top:calc(var(--hdr-h) + 22px); z-index:2; display:grid; gap:8px; justify-items:end; text-align:right;}
.hud-fill{font-family:var(--font-display); font-size:clamp(46px,5.6vw,92px); line-height:.9; font-variant-numeric:tabular-nums;}
.hud-fill small{font-size:.42em; margin-left:.08em;}
.hud-bar{width:clamp(160px,16vw,240px); height:3px; background:var(--line); position:relative; overflow:hidden;}
.hud-bar i{position:absolute; inset:0; background:var(--amber); transform-origin:0 50%; transform:scaleX(0);}
.load-steps{position:absolute; left:var(--gutter); bottom:clamp(24px,5vh,54px); right:var(--gutter); z-index:2; list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,2vw,28px);}
.load-step{border-top:1px solid var(--line); padding-top:16px; color:var(--cream-2); transition:color .5s var(--ease-out), border-color .5s;}
.load-step .mono{display:block; margin-bottom:10px;}
.load-step h3{font-family:var(--font-display); text-transform:uppercase; font-weight:400; font-size:clamp(15px,1.3vw,19px); line-height:1.05; margin:0 0 8px;}
.load-step p{margin:0; font-size:13.5px; line-height:1.5; max-width:34ch;}
.load-step.is-on{color:var(--cream); border-color:var(--amber);}
.load-step.is-on p{color:var(--cream-2);}
.load-step.is-on .mono{color:var(--accent);}
@media (max-width:900px){
  .load-head{max-width:none; right:var(--gutter);}
  .load-hud{top:auto; bottom:calc(clamp(24px,5vh,54px) + 150px); right:var(--gutter);}
  .load-steps{grid-template-columns:1fr; gap:0;}
  .load-step{display:none; border:0;}
  .load-step.is-on{display:block;}
}

.route{position:relative; background:var(--bg); color:var(--cream);}
.route.chained{z-index:2; background:transparent;}
.route-why{position:absolute; inset:0; z-index:2; pointer-events:none; color:var(--on-dark);}
.route-pin{position:relative; height:100svh; overflow:hidden;}
#routeCanvas{position:absolute; inset:0; width:100%; height:100%;}
.route-panels{position:absolute; inset:0; z-index:2; pointer-events:none;}
.route-panel{position:absolute; top:50%; width:min(440px, 33vw); margin-top:-6vh; padding:28px 30px; opacity:0; transform:translateY(-50%); isolation:isolate; pointer-events:none;
  background:color-mix(in srgb, var(--bg) 94%, transparent); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border:1px solid var(--line); border-radius:14px;}
.route-panel.on{pointer-events:auto;}
.route-panel[data-side="left"]{left:var(--gutter);}
.route-panel[data-side="right"]{right:var(--gutter);}
.route-panel .px{width:30px; height:30px; color:var(--accent); display:block; margin-bottom:16px;}
.route-panel .mono{display:block; color:var(--accent); margin-bottom:12px;}
.route-panel h2, .route-panel h3{font-family:var(--font-display); font-weight:400; text-transform:uppercase; line-height:.94; margin:0 0 16px;}
.route-panel h2{font-size:clamp(36px,4vw,64px);}
.route-panel h3{font-size:clamp(24px,2.3vw,38px);}
.route-panel .accent{color:var(--accent);}
.route-panel p{margin:0; color:var(--cream-2); font-size:15px; line-height:1.62;}
.route-flow{display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; font-size:clamp(17px,1.5vw,22px) !important; line-height:1.05 !important;}
.route-flow span{padding:8px 12px; border:1px solid var(--line-2); border-radius:100px;}
.route-flow span:nth-child(3){background:var(--amber); color:var(--on-amber); border-color:var(--amber);}
.route-flow i{font-style:normal; color:var(--accent);}
.route-stats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line);}
.route-stats dt{font-family:var(--font-display); font-size:clamp(28px,2.4vw,40px); white-space:nowrap; line-height:.9; color:var(--cream);}
.route-stats dd{margin:8px 0 0; font-size:12.5px; line-height:1.4; color:var(--cream-2);}
.route-pillars{list-style:none; margin:4px 0 0; padding:0; display:grid; gap:12px;}
.route-pillars li{display:grid; gap:3px; padding-left:16px; border-left:2px solid var(--amber);}
.route-pillars b{font-weight:600; font-size:15px; color:var(--cream);}
.route-pillars span{font-size:14px; color:var(--cream-2); line-height:1.5;}
.route-cta{margin-top:24px;}
.route-hud{position:absolute; right:var(--gutter); bottom:clamp(22px,4.5vh,44px); z-index:3; display:grid; justify-items:end; gap:8px; color:var(--cream-2); text-align:right;
  padding:12px 16px; background:color-mix(in srgb, var(--bg) 94%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid var(--line); border-radius:12px;}
.route-speed{font-family:var(--font-display); font-size:clamp(40px,4vw,64px); line-height:.9; color:var(--cream); font-variant-numeric:tabular-nums;}
.route-speed small{font-family:var(--font-label); font-size:11px; margin-left:6px; color:var(--cream-2); text-transform:uppercase;}
.route-bar{width:clamp(140px,14vw,210px); height:3px; background:var(--line); position:relative; overflow:hidden;}
.route-bar i{position:absolute; inset:0; background:var(--amber); transform-origin:0 50%; transform:scaleX(0);}
@media (max-width:900px){
  .route-panel, .route-panel[data-side]{top:auto; bottom:16px; left:16px; right:16px; width:auto; margin:0; transform:none; padding:20px 18px;
    background:color-mix(in srgb, var(--bg) 90%, transparent); border-radius:12px;}
  .route-panel h2{font-size:34px;} .route-panel h3{font-size:24px;}
  .route-panel p{font-size:14px;} .route-panel .px{display:none;}
  .route-hud{top:calc(var(--hdr-h) + 12px); bottom:auto;}
  .route-speed{font-size:34px;}
}
.route.static .route-pin{height:auto; overflow:visible; padding-bottom:60px;}
.route.static #routeCanvas{position:relative; height:70vh;}
.route.static .route-panels{position:relative; inset:auto; display:grid; gap:44px; padding:40px var(--gutter) 0;}
.route.static .route-panel{position:relative; top:auto; left:auto; right:auto; bottom:auto; width:auto; max-width:62ch; margin:0; transform:none; opacity:1 !important; visibility:visible !important; translate:none !important;}
.route.static .route-hud{display:none;}
.route.static .route-why{position:relative; inset:auto; margin-top:60px; padding:70px var(--gutter); background:#041c5c;}
.route.static .ocean-title{position:relative; left:auto; top:auto; transform:none !important; margin:0 auto 44px; opacity:1 !important; visibility:visible !important;}
.route.static .why-points{position:relative; display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:34px;}
.route.static .why-pt, .route.static .why-pt:nth-child(n){position:relative; inset:auto; left:auto; right:auto; top:auto; bottom:auto; transform:none; width:auto; opacity:1 !important; visibility:visible !important; translate:none !important;}

.ranges{background:var(--bg-deep); color:var(--cream); padding:clamp(80px,10vw,150px) var(--gutter);
  background-image:radial-gradient(50% 40% at 0% 0%, var(--glow-a), transparent 70%);}
.ranges-head{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:var(--gutter); align-items:end; margin-bottom:clamp(34px,4vw,60px);}
.ranges-head .mono{display:block; color:var(--cream-2); margin-bottom:18px;}
.ranges-head .display{font-size:clamp(34px,4.4vw,74px);}
.ranges-head .display .line:last-child span{color:var(--cream-3);}
.ranges-head p{margin:0; color:var(--cream-2); max-width:42ch; justify-self:end;}
.ranges-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:clamp(180px,17vw,260px); gap:10px;}
.range{position:relative; overflow:hidden; border-radius:6px; background:var(--raised); color:#fff; text-decoration:none; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(16px,1.6vw,24px); isolation:isolate;}
.range img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1s var(--ease-out);}
.range::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,8,6,0) 30%, rgba(10,8,6,.86) 100%);}
.range:hover img{transform:scale(1.06);}
.range h3{margin:0 0 8px; font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(19px,1.7vw,26px); line-height:.98;}
.range .mono{font-size:10px; color:#e2d9cb; line-height:1.55;}
.range .go{position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.14); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  opacity:0; transform:translateY(-6px); transition:opacity .4s, transform .5s var(--ease-out), background-color .3s;}
.range .go .ico{width:16px; height:16px;}
.range:hover .go, .range:focus-visible .go{opacity:1; transform:none;}
.range:hover .go{background:var(--amber); color:var(--on-amber);}
.range.r-big{grid-column:span 2; grid-row:span 2;}
.range.r-big h3{font-size:clamp(28px,3vw,46px);}
.range.r-wide{grid-column:span 2;}
@media (max-width:900px){
  .ranges-head{grid-template-columns:1fr;} .ranges-head p{justify-self:start;}
  .ranges-grid{grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:190px;}
  .range.r-big{grid-row:span 2;}
}
@media (max-width:520px){ .ranges-grid{grid-template-columns:1fr; grid-auto-rows:200px;} .range.r-big, .range.r-wide{grid-column:auto; grid-row:auto;} }

.countries{position:relative; background:var(--bg); color:var(--cream); overflow:hidden;
  background-image:radial-gradient(45% 50% at 100% 100%, var(--glow-a), transparent 70%);}
.cty-pin{position:relative; height:100svh; display:grid; grid-template-columns:100%; grid-template-rows:auto 1fr; overflow:hidden;}
.cty-giant{position:absolute; left:0; top:calc(var(--hdr-h) + 6px); white-space:nowrap; font-family:var(--font-display); text-transform:uppercase; font-size:clamp(120px,19vw,300px); line-height:.8;
  color:transparent; -webkit-text-stroke:1px var(--stroke); pointer-events:none; user-select:none;}
.cty-head{position:relative; z-index:1; padding:calc(var(--hdr-h) + 16px) var(--gutter) 0; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:20px var(--gutter); align-items:end;}
.cty-kicker{display:block; color:var(--accent); margin-bottom:14px;}
.cty-head .display{font-size:clamp(34px,4.2vw,68px);}
.cty-head-r{display:grid; gap:16px; justify-items:end; text-align:right;}
.cty-head p{max-width:40ch; margin:0; color:var(--cream-2);}
.cty-prog{display:flex; align-items:center; gap:12px; color:var(--cream-2); font-variant-numeric:tabular-nums;}
.cty-prog-bar{width:clamp(120px,12vw,200px); height:2px; background:var(--line); position:relative; overflow:hidden;}
.cty-prog-bar i{position:absolute; inset:0; background:var(--amber); transform-origin:0 50%; transform:scaleX(0);}
.cty-track{position:relative; z-index:1; display:flex; align-items:stretch; align-self:end; gap:12px; width:max-content; padding:0 var(--gutter) clamp(24px,5vh,56px);}
.cty-card{position:relative; width:clamp(290px,24vw,380px); height:clamp(400px,60vh,560px); flex:none; display:flex; flex-direction:column; padding:clamp(18px,1.6vw,24px);
  background:var(--raised); border:1px solid var(--line); border-radius:14px; text-decoration:none; color:inherit; overflow:hidden; isolation:isolate;
  transition:transform .6s var(--ease-out), border-color .4s, box-shadow .6s var(--ease-out);}
.cty-card::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(70% 50% at 50% 30%, var(--glow-a), transparent 70%); opacity:0; transition:opacity .5s;}
.cty-card:hover, .cty-card:focus-visible{transform:translateY(-6px); border-color:color-mix(in srgb, var(--amber) 55%, transparent); box-shadow:var(--shadow);}
.cty-card:hover::before{opacity:1;}
.cty-top{display:flex; justify-content:space-between; gap:10px; color:var(--cream-2); font-size:10.5px;}
.cty-idx{color:var(--accent);}
.cty-shape{width:100%; height:clamp(110px,16vh,160px); margin:16px 0 14px;}
.cty-shelf{display:flex; gap:8px; margin-bottom:16px;}
.cty-shelf:empty{display:none;}
.cty-shelf > span{width:56px; height:56px; padding:5px; border-radius:8px; background:var(--linen); display:grid; place-items:center; isolation:isolate;}
.cty-shelf img{width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply;}
.cty-card h3{font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(24px,2.1vw,32px); line-height:.95; margin:0 0 8px;}
.cty-count{color:var(--cream-2); font-size:13.5px;}
.cty-count strong{color:var(--cream); font-family:var(--font-display); font-weight:400; font-size:1.35em; margin-right:.1em;}
.cty-go{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; border-top:1px solid var(--line); color:var(--cream);}
.cty-go .ico{width:16px; height:16px; transition:transform .4s var(--ease-out);}
.cty-card:hover .cty-go{color:var(--accent);}
.cty-card:hover .cty-go .ico{transform:translateX(5px);}
.cty-card.soon .cty-shape{opacity:.55;}
.cty-card.soon .cty-count{color:var(--cream-2);}
@media (max-width:760px){
  .cty-pin{height:auto; display:block; padding-bottom:36px;}
  .cty-giant{display:none;}
  .cty-head{grid-template-columns:1fr; padding-top:72px;}
  .cty-head-r{justify-items:start; text-align:left;}
  .cty-prog{display:none;}
  .cty-track{width:auto; gap:10px; padding:26px var(--gutter) 10px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:var(--gutter); scrollbar-width:none; -webkit-overflow-scrolling:touch;}
  .cty-track::-webkit-scrollbar{display:none;}
  .cty-card{width:min(78vw, 340px); height:auto; min-height:400px; scroll-snap-align:start;}
  .cty-shape{height:120px;}
}

.ocean-title{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2; text-align:center; width:min(92vw, 900px); text-shadow:0 2px 30px rgba(0,0,0,.55);}
.ocean-title .mono{display:block; margin-bottom:18px; color:var(--accent);}
.ocean-title .display{font-size:clamp(40px,6vw,98px); line-height:.9;}
.why-points{position:absolute; inset:0; z-index:2; list-style:none; margin:0; padding:0; pointer-events:none;}
.why-pt{position:absolute; width:min(300px, 40vw); text-align:center; opacity:0; text-shadow:0 1px 18px rgba(0,0,0,.75);}
.why-pt::before{content:""; position:absolute; inset:-34px -48px; z-index:-1; background:radial-gradient(closest-side, rgba(2,10,38,.55), rgba(2,10,38,.25) 60%, transparent); pointer-events:none;}
.why-pt{isolation:isolate;}
.why-pt .px{width:34px; height:34px; margin:0 auto 12px; display:block; color:var(--amber);}
.why-pt h3{font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:clamp(18px,1.5vw,23px); line-height:1; margin:0 0 10px;}
.why-pt p{margin:0; font-size:14px; line-height:1.5; color:#ddd3c4;}
.why-pt:nth-child(1){left:8%; top:18%;}
.why-pt:nth-child(2){right:8%; top:18%;}
.why-pt:nth-child(3){left:6%; top:58%;}
.why-pt:nth-child(4){right:6%; top:58%;}
.why-pt:nth-child(5){left:50%; bottom:6%; transform:translateX(-50%);}
@media (max-width:900px){
  .ocean-title .display{font-size:44px;}
  .why-pt, .why-pt:nth-child(n){left:16px; right:16px; top:auto; bottom:16px; width:auto; transform:none; text-align:left; text-shadow:none;
    padding:20px 18px; background:rgba(2,10,38,.86); border:1px solid rgba(255,255,255,.14); border-radius:12px;}
  .why-pt::before{display:none;}
  .why-pt .px{margin:0 0 10px;}
}

.brands{background:var(--bg-deep); padding:clamp(56px,6vw,90px) 0; position:relative; overflow:hidden;}
.brands-head{display:flex; flex-wrap:wrap; gap:14px 40px; align-items:end; justify-content:space-between; padding:0 var(--gutter); margin-bottom:clamp(24px,3vw,36px);}
.brands-head .display{font-size:clamp(24px,2.6vw,40px); line-height:.95; max-width:22ch;}
.brands-head p{margin:0; max-width:44ch; color:var(--cream-2); font-size:14.5px;}
.brand-strip{position:relative; overflow:hidden;}
.brand-strip::before, .brand-strip::after{content:""; position:absolute; top:0; bottom:0; width:7%; z-index:1; pointer-events:none; background:linear-gradient(90deg, var(--bg-deep), transparent);}
.brand-strip::before{left:0;} .brand-strip::after{right:0; transform:scaleX(-1);}
.brand-row{display:flex; gap:12px; width:max-content; animation:tick 44s linear infinite; will-change:transform;}
.brand-chip{flex:none; width:156px; height:78px; border-radius:10px; background:var(--linen); display:grid; place-items:center; padding:14px 22px;}
.brand-chip img{height:44px; width:auto; max-width:100%; object-fit:contain;}
@media (max-width:640px){ .brand-chip{width:118px; height:62px; padding:10px 16px;} .brand-chip img{height:36px;} }
@media (prefers-reduced-motion:reduce){ .brand-strip{overflow-x:auto;} .brand-strip::before, .brand-strip::after{display:none;} .brand-row{animation:none;} }

.faq{background:var(--bg); padding:clamp(60px,9vw,130px) var(--gutter); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,.9fr); gap:var(--gutter); align-items:start; position:relative;}
.faq-head{position:sticky; top:calc(var(--hdr-h) + 24px);}
.faq-head .display{font-size:clamp(56px,7vw,112px); line-height:.85; margin-bottom:22px;}
.faq-head p{margin:0; color:var(--cream-2); max-width:28ch;}
.faq-list{border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:64px 1fr 24px; align-items:center; gap:10px; padding:24px 0; font-size:clamp(15.5px,1.2vw,18px); font-weight:500;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .mono{color:var(--cream-2); font-size:10.5px;}
.faq-item summary i{width:10px; height:10px; border-radius:50%; background:var(--mute); justify-self:end; transition:background .3s, transform .4s var(--ease-out);}
.faq-item summary:hover i{background:var(--cream);}
.faq-item[open] summary i{background:var(--amber); transform:scale(1.4);}
.faq-a{padding:0 34px 26px 74px; color:var(--cream-2); max-width:72ch; font-size:15.5px; line-height:1.7;}
.faq-a a{color:var(--accent); font-weight:600;}
.faq-a p{margin:0;}
.faq-item{interpolate-size:allow-keywords;}
.faq-item::details-content{block-size:0; overflow:clip; transition:block-size .5s var(--ease-out), content-visibility .5s allow-discrete;}
.faq-item[open]::details-content{block-size:auto;}
.faq-side{padding-top:6px;}
.faq-side p{margin:0 0 18px; max-width:24ch;}
@media (max-width:1000px){ .faq{grid-template-columns:1fr;} .faq-head{position:relative; top:0;} .faq-item summary{grid-template-columns:44px 1fr 20px;} .faq-a{padding:0 0 22px 54px;} }

.ftr{background:var(--bg); color:var(--cream); border-top:1px solid var(--line); padding:clamp(40px,5vw,64px) var(--gutter) 22px; font-size:14.5px;}
.ftr h4{margin:0 0 12px; font-family:var(--font-label); font-size:10.5px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--cream-2);}
.ftr a{color:var(--cream); text-decoration:none;} .ftr a:hover{color:var(--accent);}
.ftr p{margin:0; line-height:1.45;}
.ftr-row{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3.2fr); column-gap:var(--gutter);}
.ftr-a{padding-bottom:26px;}
.ftr-a .ftr-tag{font-size:13.5px; line-height:1.35; padding-bottom:26px; border-bottom:1px solid var(--line);}
.ftr-a .ftr-rule{border-bottom:1px solid var(--line);}
.ftr-tag span{display:block;}
.ftr-b{padding:30px 0 48px;}
.ftr-b .ftr-inner{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--gutter);}
.ftr-social{display:flex; gap:8px;}
.ftr-social a{width:40px; height:40px; border-radius:50%; border:1px solid var(--line-2); display:grid; place-items:center; transition:border-color .3s, background-color .3s, color .3s;}
.ftr-social a:hover{background:var(--amber); color:var(--on-amber); border-color:var(--amber);}
.ftr-social .ico{width:17px; height:17px;}
.ftr-links{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px;}
.ftr-links a[aria-current="page"]{color:var(--accent);}
.ftr-pay p{color:var(--cream-2); font-size:13.5px; max-width:36ch;}
.ftr-c{padding-bottom:26px;}
.ftr-c .ftr-inner{border-bottom:1px solid var(--line); padding-bottom:22px; min-width:0;}
.ftr-tabs{display:inline-flex; gap:2px; padding:3px; background:var(--raised); border-radius:100px; margin-bottom:14px;}
.ftr-tabs button{height:28px; padding:0 12px; border:0; border-radius:100px; background:transparent; cursor:pointer; font-family:var(--font-label); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--cream-2);}
.ftr-tabs button[aria-selected="true"]{background:var(--cream); color:var(--bg);}
.ftr-marquee{position:relative; overflow:hidden;}
.ftr-marquee::before, .ftr-marquee::after{content:""; position:absolute; top:0; bottom:0; width:6%; z-index:1; pointer-events:none; background:linear-gradient(90deg, var(--bg), transparent);}
.ftr-marquee::before{left:0;} .ftr-marquee::after{right:0; transform:scaleX(-1);}
.ftr-marq-track{display:flex; width:max-content; gap:0; animation:tick 46s linear infinite; will-change:transform; font-size:clamp(22px,2.2vw,30px); font-weight:500; letter-spacing:-.01em; color:#7a6c5f; white-space:nowrap;}
.ftr-marq-track span::after{content:"·"; margin:0 .5em; color:var(--amber);}
.ftr-d{padding:6px 0 34px;}
.ftr-photo{aspect-ratio:3/4; max-width:360px; overflow:hidden; background:#0b0908; align-self:start; border-radius:4px;}
.ftr-photo img{width:100%; height:100%; object-fit:cover; filter:sepia(.35) brightness(.85);}
.ftr-d .ftr-inner{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr); gap:var(--gutter); align-items:start;}
.ftr-d .ftr-cell{display:grid; gap:4px; align-content:start;}
.ftr-d .ftr-cell h4:not(:first-child){margin-top:22px;}
.ftr-ico-link{display:inline-flex; align-items:center; gap:10px;}
.ftr-ico{width:22px; height:22px; flex:none; color:var(--cream);}
.ftr-dir{display:inline-flex; gap:6px; margin-top:10px; text-decoration:underline !important; text-underline-offset:.2em; font-size:13.5px;}
.ftr-map img{width:100%; height:auto;}
.ftr-e{display:flex; flex-wrap:wrap; gap:10px 26px; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; color:var(--cream-2); font-size:10px;}
.ftr-e a{color:var(--cream-2);} .ftr-e a:hover{color:var(--cream);}
.ftr-legal{display:flex; flex-wrap:wrap; gap:6px 18px;}
@media (max-width:1100px){
  .ftr-row{grid-template-columns:1fr; row-gap:26px;}
  .ftr-row > :first-child:empty{display:none;}
  .ftr-photo{max-width:300px; margin-bottom:28px;}
}
@media (max-width:760px){
  .ftr-b .ftr-inner, .ftr-d .ftr-inner{grid-template-columns:1fr;}
  .ftr-links{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ftr-map{max-width:420px;}
}

#waOverlay{position:fixed; inset:0; z-index:150; background:rgba(3,3,5,.62); display:flex; justify-content:flex-end; opacity:0; visibility:hidden; transition:opacity .45s var(--ease-out), visibility 0s .45s;}
#waOverlay.show{opacity:1; visibility:visible; transition:opacity .45s var(--ease-out), visibility 0s;}
#waOverlay .wa-modal{position:relative; width:min(520px, 100%); height:100%; overflow:auto; background:var(--raised); color:var(--cream); padding:34px clamp(22px,3vw,40px) 40px;
  transform:translateX(100%); transition:transform .7s var(--ease-io); overscroll-behavior:contain;}
#waOverlay.show .wa-modal{transform:translateX(0);}
#waOverlay .wa-modal h3{font-family:var(--font-display); font-weight:400; text-transform:uppercase; font-size:min(30px, calc((100vw - 98px) / 12.6)); line-height:.95; margin:0 0 10px; padding-right:54px; overflow-wrap:break-word;}
#waOverlay .wa-close{position:absolute; right:22px; top:26px; width:44px; height:44px; border-radius:50%; border:1px solid var(--line-2); background:transparent; color:var(--cream); cursor:pointer; font-size:14px;}
#waOverlay .wa-close:hover{border-color:var(--cream);}
#waOverlay .wa-context{margin:0 0 20px; color:var(--cream-2); font-size:14px;}
#waOverlay .wa-notice{margin:0 0 18px; padding:12px 14px; border-radius:12px; background:rgba(233,177,84,.12); border-left:2px solid var(--amber); font-size:13.5px;}
#waOverlay .wa-items{display:grid; margin-bottom:22px; border-top:1px solid var(--line);}
#waOverlay .wa-item-row{display:grid; grid-template-columns:1fr auto auto; gap:10px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px;}
#waOverlay .wa-item-row .meta{color:var(--cream-2);}
#waOverlay .wa-item-remove{width:32px; height:32px; border-radius:50%; border:1px solid var(--line-2); background:transparent; color:var(--cream); cursor:pointer;}
#waOverlay .wa-item-remove:hover{border-color:var(--cream);}
#waOverlay .qty-stepper{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:100px; height:34px;}
#waOverlay .qty-btn{width:32px; height:32px; border:0; background:transparent; color:var(--cream); cursor:pointer; font-size:16px;}
#waOverlay .qty-input{width:44px; border:0; background:transparent; text-align:center; color:var(--cream); font:600 13px var(--font-label); -moz-appearance:textfield;}
#waOverlay .qty-input::-webkit-outer-spin-button, #waOverlay .qty-input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0;}
#waOverlay .wa-field{margin-bottom:20px;}
#waOverlay .wa-field > label{display:block; margin-bottom:10px; font-family:var(--font-label); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--cream-2);}
#waOverlay .segmented{display:flex; flex-wrap:wrap; gap:6px;}
#waOverlay .seg-btn{height:38px; padding:0 16px; border-radius:100px; border:1px solid var(--line-2); background:transparent; color:var(--cream); cursor:pointer; font-size:13.5px;}
#waOverlay .seg-btn:hover{border-color:var(--cream);}
#waOverlay .seg-btn.active{background:var(--cream); color:var(--bg); border-color:var(--cream);}
#waOverlay .wa-fill{padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
#waOverlay .fill-row{display:flex; justify-content:space-between; align-items:baseline; font-size:13.5px;}
#waOverlay .fill-row strong{font-family:var(--font-display); font-weight:400; font-size:26px;}
#waOverlay .fill-track{height:4px; background:var(--raised-2); overflow:hidden;}
#waOverlay .fill-bar{height:100%; background:var(--amber); transition:width .6s var(--ease-out);}
#waOverlay .wa-submit{width:100%; --bh:52px; margin-top:10px;}

#toast{position:fixed; left:50%; bottom:24px; z-index:170; transform:translate(-50%, calc(100% + 40px)); visibility:hidden; background:var(--cream); color:var(--bg); padding:14px 22px; border-radius:14px; max-width:min(560px, calc(100vw - 32px)); text-align:center; font-family:var(--font-label); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; transition:transform .5s var(--ease-out);}
#toast.show{transform:translate(-50%,0); visibility:visible;}

[data-fade], [data-rise], [data-fill]{opacity:0; transform:translateY(18px);}
[data-fade].in, [data-rise].in, [data-fill].in{opacity:1; transform:none; transition:opacity .9s ease var(--d, 0s), transform 1s var(--ease-out) var(--d, 0s);}
[data-rise] .line{display:block;}
[data-fill] .w{opacity:1 !important; filter:none !important; transform:none !important;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  [data-fade], [data-rise], [data-fill], .hero-title{opacity:1; transform:none;}
  [data-fill] .w{opacity:1 !important; filter:none !important; transform:none !important;}
  .loader{display:none;}
}
#waOverlay .wa-close{display:grid; place-items:center;}

.hdr .js-theme .ico-moon{display:none;}
:root[data-theme="light"] .hdr .js-theme .ico-moon{display:block;}
:root[data-theme="light"] .hdr .js-theme .ico-sun{display:none;}
.hdr .js-theme:hover .ico{transform:rotate(-20deg);} .hdr .js-theme .ico{transition:transform .5s var(--ease-out);}
@media (max-width:420px){ .hdr-right{gap:6px;} }

html.pt-leave body{opacity:0; transition:opacity .32s ease;}
html.pt-in body{opacity:0;}
html.pt-in.pt-go body{opacity:1; transition:opacity .5s ease;}
@media (prefers-reduced-motion:reduce){ html.pt-leave body, html.pt-in body{opacity:1 !important; transition:none !important;} }

.for-light{display:none !important;}
:root[data-theme="light"] .for-light{display:block !important;}
:root[data-theme="light"] .for-dark{display:none !important;}
:root[data-theme="light"] .brand-chip{background:#fbf7ef; box-shadow:0 0 0 1px var(--line), 0 12px 26px -18px rgba(60,42,20,.4);}
body:not(:has(.hero-wrap)) .hdr.is-scrolled{background:var(--hdr-glass); -webkit-backdrop-filter:blur(16px) saturate(160%); backdrop-filter:blur(16px) saturate(160%); box-shadow:0 1px 0 var(--line);}
@media (max-width:760px){
  .hdr-logo{padding:4px; margin:-4px;}
  .ftr-tabs button{position:relative;}
  .ftr-tabs button::after{content:""; position:absolute; inset:-8px 0;}
  .ftr-links a, .ftr-d .ftr-cell a, .ftr-e a{display:inline-block; padding-block:12px; margin-block:-12px;}
  .ftr-social a{width:44px; height:44px;}
}
