body{font-size:17px;line-height:1.6}
.tale h2 em,.where h2 em,.tl h2 em{font-style:normal;color:var(--color-accent)}
.whero-copy .kpis{margin-top:var(--sp-5)}
.whero-pic img{object-position:50% 28%}
.st-pic{--hang:clamp(24px,2.6vw,40px);--hang-r:calc(var(--hero-win) * .5);overflow:visible;background:none}
.st-frame{position:absolute;inset:0;border-radius:inherit;overflow:hidden;background:var(--color-surface)}
.st-route{position:absolute;inset:0;margin:0;pointer-events:none}
.st-badge{position:absolute;z-index:1;pointer-events:auto}
.st-badge:nth-child(1){top:12%;left:calc(-1 * var(--hang));--from:-18px}
.st-badge:nth-child(2){top:44%;right:calc(-1 * var(--hang-r));--from:18px}
.st-badge:nth-child(3){bottom:10%;left:calc(-.55 * var(--hang));--from:-18px}
.st-pill{position:relative;display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:var(--r-pill);
background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 1px 2px rgba(17,16,16,.08),0 14px 28px -12px rgba(17,16,16,.38);
font:700 12px/1 var(--font-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--color-text);white-space:nowrap;cursor:default;
transition:transform var(--dur-3) var(--ease-out),box-shadow var(--dur-3) var(--ease-out)}
.st-pill svg{width:30px;height:20px;flex:none;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 2px 4px -1px rgba(0,0,0,.18)}
.st-pill::after{content:"";position:absolute;z-index:-1;left:14%;right:14%;bottom:-14px;height:14px;border-radius:50%;background:rgba(17,16,16,.28);filter:blur(7px);pointer-events:none}
@media (hover:hover){.st-pill:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 2px 4px rgba(17,16,16,.08),0 22px 36px -14px rgba(17,16,16,.45)}}
@media (prefers-reduced-motion:no-preference){
.js .st-badge{animation:badge-in 1.1s var(--ease-enter) both;animation-delay:calc(1050ms + var(--k,0) * 180ms)}
.st-pill{animation:badge-float var(--float,7s) cubic-bezier(.45,0,.55,1) var(--phase,0s) infinite alternate}
.st-pill::after{animation:badge-shadow var(--float,7s) cubic-bezier(.45,0,.55,1) var(--phase,0s) infinite alternate}
.st-badge:nth-child(1) .st-pill{--float:6.8s;--phase:-1.4s}
.st-badge:nth-child(2) .st-pill{--float:8.2s;--phase:-4.1s}
.st-badge:nth-child(3) .st-pill{--float:7.4s;--phase:-2.6s}
}
@keyframes badge-in{from{opacity:0;transform:translateX(var(--from,0)) translateY(10px) scale(.96);filter:blur(6px)}}
@keyframes badge-float{from{translate:0 3px}to{translate:0 -7px}}
@keyframes badge-shadow{from{transform:scale(1);opacity:1}to{transform:scale(.82,.7);opacity:.55}}
@media (max-width:999px){.st-pic{--hang:calc(-1 * var(--sp-3));--hang-r:calc(-1 * var(--sp-3))}}
@media (max-width:640px){
.st-pic{--hang:calc(-1 * var(--sp-2));--hang-r:calc(-1 * var(--sp-2))}
.st-pill{gap:6px;padding:5px 11px 5px 5px;font-size:10px}
.st-pill svg{width:22px;height:15px;border-radius:3px}
.st-pill::after{bottom:-10px;height:10px;filter:blur(5px)}
.st-badge:nth-child(1){top:8%}
.st-badge:nth-child(2){top:auto;bottom:34%}
.st-badge:nth-child(3){bottom:7%}
}
@media (max-width:380px){
.st-pill{gap:5px;padding:4px 8px 4px 4px;font-size:9px;letter-spacing:.04em}
.st-pill svg{width:18px;height:12px;border-radius:2px}
}
@media (max-width:359px){.st-br{display:none}}
.reveal:not(.hl){transition:opacity var(--dur-4) var(--ease-enter),transform var(--dur-4) var(--ease-enter);transition-delay:calc(var(--k,0) * 3 * var(--stagger))}
.js .reveal:not(.in):not(.hl){opacity:0;transform:translateY(24px)}
.tale{padding-block:var(--space-section) var(--space-section-tight)}
.tale .eyebrow{margin:0 0 var(--sp-3)}
.chap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);margin-top:var(--stack)}
.chap article:nth-child(even){--k:1}
.chap article{position:relative;display:grid;align-content:start;background:var(--color-surface-alt);border-radius:var(--r-card);padding:var(--sp-6) var(--sp-6) var(--sp-7);overflow:hidden}
.chap .cn{position:absolute;right:var(--sp-5);top:var(--sp-5);font:900 clamp(56px,5.6vw,84px)/.8 var(--font-display);font-feature-settings:"ss02";color:transparent;-webkit-text-stroke:1.5px rgba(243,100,12,.35)}
.chap h3{max-width:12.1em;position:relative;margin-top:var(--sp-7)}
.chap p{margin:var(--sp-3) 0 0;color:var(--color-text-soft);position:relative;max-width:52ch}
.where{padding-block:var(--space-section-tight) var(--space-section)}
.wh{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-4) var(--sp-6);flex-wrap:wrap}
.wh p{max-width:36ch;color:var(--color-text-muted);margin:0}
.wmap{margin-top:var(--stack);border-radius:var(--r-lg);overflow:hidden;background:#FBF8F5;box-shadow:0 40px 80px -50px rgba(120,60,10,.35)}
.wmap svg{display:block;width:100%;height:auto;max-height:620px}
.fp text{font-family:var(--font-display);font-weight:700;font-size:15px;text-transform:uppercase;fill:var(--color-text);paint-order:stroke;stroke:#FBF8F5;stroke-width:6px;opacity:0;transition:opacity .6s calc(var(--i)*.35s + .6s)}
.fp .pole{transform:translateY(-140px);opacity:0;transition:transform .7s var(--ease-spring) calc(var(--i)*.35s),opacity .2s calc(var(--i)*.35s)}
html:not(.js) .fp .pole,.where.in .fp .pole{transform:none;opacity:1}
html:not(.js) .fp text,.where.in .fp text{opacity:1}
.fp.sea .wave{transform-origin:-1.5px -70px}
.fp .wave{transform-origin:1.5px -70px;animation:wave 2.4s ease-in-out infinite}
@keyframes wave{50%{transform:skewY(-6deg) scaleX(.94)}}
.tl{--tg:max(var(--gl),calc((100vw - var(--container)) / 2 + var(--gl)));--color-accent-text:var(--color-accent);position:relative;background:var(--color-surface-inverse);color:#fff}
.tl .pin{position:sticky;overflow-anchor:none;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:safe center;padding-block:calc(var(--nav-block) + var(--sp-5)) var(--sp-6)}
.tl .pin > .wrap{width:100%}
.tl .head{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-4) var(--sp-6);margin-bottom:var(--stack)}
.tl .head p{color:var(--color-text-inverse-muted);max-width:36ch;margin:0}
.track{display:flex;gap:var(--sp-5);padding-inline:var(--tg);will-change:transform}
.railbox{position:relative;margin:0 var(--tg) var(--sp-6);height:3px}
.rail{position:absolute;inset:0;background:rgba(255,255,255,.12)}
.rail i{display:block;height:100%;width:100%;transform:scaleX(var(--p,0));transform-origin:0 50%;background:var(--color-accent)}
.ev{flex:none;width:min(440px,82vw);background:var(--c-ink-800);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-card);padding:var(--sp-6);position:relative;
transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-4) var(--ease-enter),border-color var(--dur-3) var(--ease-out)}
.js .ev:not(.on){opacity:.35;transform:scale(.94)}
.ev.on{border-color:rgba(243,100,12,.6)}
.ev .top{display:flex;align-items:center;justify-content:space-between}
.ev .flag{width:64px;height:42px;border-radius:7px;overflow:hidden;box-shadow:0 10px 24px -10px rgba(0,0,0,.8);transition:transform var(--dur-4) var(--ease-spring)}
.js .ev:not(.on) .flag{transform:rotate(-4deg) scale(.92)}
.ev .yr{font:900 clamp(64px,7vw,96px)/.9 var(--font-display);font-feature-settings:"ss02";color:var(--color-accent);-webkit-text-stroke:1.5px var(--color-accent);transition:color var(--dur-3) var(--ease-out)}
.js .ev:not(.on) .yr{color:transparent}
.ev h3{margin-top:var(--sp-5)}
.ev-place{color:var(--color-accent);margin-top:var(--sp-2)}
.ev p:not(.label){color:rgba(255,255,255,.75);margin:var(--sp-3) 0 0;font-size:16px}
.ev ul{margin:var(--sp-3) 0 0;padding:0;list-style:none;display:grid;gap:var(--sp-2)}
.ev li{display:flex;gap:10px;font-size:15px;color:rgba(255,255,255,.85)}
.ev li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-accent);margin-top:8px}
.ev .btn{margin-top:var(--sp-5)}
.ev.next{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent)}
.ev.next .yr{-webkit-text-stroke:1.5px #fff;color:#fff}
.js .ev.next:not(.on) .yr{color:transparent}
.ev.next p:not(.label){color:var(--color-on-accent)}
.ev.next .btn{background:#fff;color:var(--color-text);box-shadow:none}
@media (min-width:761px) and (max-height:760px){
.tl .pin{padding-block:calc(var(--nav-block) + var(--sp-3)) var(--sp-4)}
.tl .head{margin-bottom:var(--sp-4)}
.tl .head h2{font-size:min(var(--fs-h2),7vh)}
.tl-how{display:none}
.railbox{margin-bottom:var(--sp-4)}
.ev{padding:var(--sp-5)}
.ev .yr{font-size:min(clamp(64px,7vw,96px),9vh)}
.ev .flag{width:52px;height:34px}
.ev h3{margin-top:var(--sp-3)}
.ev p:not(.label),.ev ul{margin-top:var(--sp-2)}
.ev .btn{margin-top:var(--sp-4)}
}
@media (min-width:761px) and (max-height:560px){
.tl .pin{padding-block:calc(var(--nav-block) + var(--sp-2)) var(--sp-3)}
.ev{padding:var(--sp-4) var(--sp-5)}
.ev .yr{font-size:8vh}
}
@media (prefers-reduced-motion:reduce),(min-width:761px) and (max-height:479px){
.tl{height:auto!important}
.tl .pin{position:relative;height:auto;padding-block:var(--space-section)}
.track{overflow-x:auto;transform:none!important;padding-bottom:var(--sp-4)}
.railbox,.tl-how{display:none}
}
@media (max-width:760px){
.tl{height:auto!important}
.tl .pin{position:relative;height:auto;overflow:visible;padding-block:var(--space-section)}
.tl .head{flex-direction:column;align-items:flex-start}
.track{flex-direction:column;transform:none!important;gap:var(--sp-4)}
.ev{width:100%;padding:var(--sp-5)}
.railbox,.tl-how{display:none}
}
.fd{padding-block:var(--space-section)}
.fd .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--grid-gap);align-items:stretch;margin-top:var(--stack)}
.fd figure{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:420px}
.fd figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-enter)}
@media (hover:hover){.fd figure:hover img{transform:scale(1.04)}}
.fd figcaption{position:absolute;left:var(--sp-4);bottom:var(--sp-4);background:var(--color-accent-strong);color:var(--color-on-accent);padding:7px 14px;border-radius:var(--r-pill)}
.who{display:grid;gap:var(--grid-gap)}
.who .f{border:1px solid var(--color-border);border-radius:var(--r-card);padding:var(--sp-6);background:var(--color-surface)}
.who .f:nth-child(2){--k:1}
.who .role{color:var(--color-accent-text);margin-top:var(--sp-2)}
.who p{margin:var(--sp-3) 0 0;color:var(--color-text-soft)}
@media (max-width:860px){
.fd .grid{grid-template-columns:minmax(0,1fr)}
.fd figure{min-height:0;aspect-ratio:3/2}
}
@media (max-width:760px){
.chap{grid-template-columns:minmax(0,1fr)}
.chap article{padding:var(--sp-5) var(--sp-5) var(--sp-6)}
.chap .cn{font-size:56px}
.who .f{padding:var(--sp-5)}
.fp .sc{transform:scale(1.6)}
}
@media (prefers-reduced-motion:reduce){
.fp .wave{animation:none}
.fd figure:hover img{transform:none}
}
