/* Seabound Journeys — Carnival "Fun Ship Midway" theme (Oct 2026)
   Sister of the Margaritaville v3 look: scene hero, chunky signage type, ticket stats, prize badge,
   chip nav, numbered bingo-ball sections — in Carnival's own red-white-blue fairground at sea.
   All art is original CSS/SVG. No Carnival logos, funnels, mascots or photos. Loaded only by Carnival pages. */
:root{
  --fs-navy:#0c1a3d; --fs-navy2:#16295c; --fs-night:#0a1433;
  --fs-cherry:#d7193f; --fs-cherry-ink:#a70f2d; --fs-royal:#1f55d1; --fs-royal-ink:#173f9e;
  --fs-sun:#ffc531; --fs-sun2:#ffdb6e; --fs-tang:#ff7a1a; --fs-pink:#ff3d8b; --fs-aqua:#15c1c6; --fs-lime:#73d13d; --fs-grape:#7b3fe4;
  --fs-cream:#fff8ec; --fs-cream2:#fdebd3; --fs-cream3:#f7dcb4; --fs-ink:#14213d; --fs-mute:#535a72; --fs-line:#eed6b3; --fs-white:#fffdf8;
  --acc:var(--fs-cherry); --acc2:var(--fs-sun); --acc-ink:var(--fs-cherry-ink);
  --sk1:#0c1a3d; --sk2:#3a1d6e; --sk3:#d23c78; --sk4:#ff9a3d;
  --fs-disp:"Lilita One","Arial Black","Arial Rounded MT Bold","Helvetica Neue",Arial,sans-serif; --fs-sign:"Bungee","Arial Black",Impact,sans-serif;
  --fs-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-r:18px; --fs-pop:0 2px 0 rgba(20,33,61,.06),0 16px 34px -20px rgba(20,33,61,.5);
}
@font-face{font-family:"Lilita One";src:url(fs-fonts/lilita-one-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:"Bungee";src:url(fs-fonts/bungee-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:optional}
@font-face{font-family:"Nunito";src:url(fs-fonts/nunito-latin-600-normal.woff2) format("woff2");font-weight:400 600;font-display:optional}
@font-face{font-family:"Nunito";src:url(fs-fonts/nunito-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:optional}
@font-face{font-family:"Nunito";src:url(fs-fonts/nunito-latin-800-normal.woff2) format("woff2");font-weight:800 900;font-display:optional}
/* ---------- per-ship skies and accents (generated list continues in the same shape) ---------- */
body.fun[data-fun="mardi-gras"]{--sk1:#1d0b3d;--sk2:#4c1677;--sk3:#b52f86;--sk4:#ffb13d;--acc:#7b2cbf;--acc2:#ffc531;--acc-ink:#5a1d93;--acc3:#2bb673}
body.fun[data-fun="celebration"]{--sk1:#071c38;--sk2:#0f4a74;--sk3:#e2337f;--sk4:#ffb36b;--acc:#e8337f;--acc2:#15c1c6;--acc-ink:#b3165c;--acc3:#ffc531}
body.fun[data-fun="jubilee"]{--sk1:#0b1a45;--sk2:#2b3e8f;--sk3:#e8622b;--sk4:#ffc35e;--acc:#e8622b;--acc2:#ffc531;--acc-ink:#b0431a;--acc3:#1f55d1}
body.fun[data-fun="venezia"]{--sk1:#082a38;--sk2:#14566a;--sk3:#cf5a3c;--sk4:#f6c873;--acc:#0f8f9a;--acc2:#f6c873;--acc-ink:#0b6670;--acc3:#d7193f}
body.fun[data-fun="firenze"]{--sk1:#22113a;--sk2:#5e2a5c;--sk3:#d4632b;--sk4:#f7c26a;--acc:#c8562a;--acc2:#f7c26a;--acc-ink:#9a3d18;--acc3:#2a8f5a}
body.fun[data-fun="vista"]{--sk1:#06204a;--sk2:#1a4fa0;--sk3:#2fb3d6;--sk4:#ffd36b;--acc:#1f6fd1;--acc2:#ffc531;--acc-ink:#164f9a;--acc3:#ff3d8b}
body.fun[data-fun="horizon"]{--sk1:#0a1b3f;--sk2:#2b3f97;--sk3:#f05a5a;--sk4:#ffcc66;--acc:#e8453c;--acc2:#ffc531;--acc-ink:#b02a23;--acc3:#15c1c6}
body.fun[data-fun="panorama"]{--sk1:#14123f;--sk2:#43308f;--sk3:#ef6aa8;--sk4:#ffd27a;--acc:#6a3fd6;--acc2:#ff7a1a;--acc-ink:#4d2ab0;--acc3:#15c1c6}
body.fun[data-fun="dream"]{--sk1:#0b1840;--sk2:#2c2f86;--sk3:#7a5be0;--sk4:#ffb2d9;--acc:#5b4fd8;--acc2:#ff3d8b;--acc-ink:#3f35b0;--acc3:#ffc531}
body.fun[data-fun="magic"]{--sk1:#0d1a3e;--sk2:#174c86;--sk3:#1fb39b;--sk4:#ffe07a;--acc:#11937f;--acc2:#ffc531;--acc-ink:#0b6b5c;--acc3:#d7193f}
body.fun[data-fun="breeze"]{--sk1:#071f3c;--sk2:#0f5a87;--sk3:#2cc4d6;--sk4:#fff0a6;--acc:#0e8db0;--acc2:#ff7a1a;--acc-ink:#0a6683;--acc3:#ffc531}
body.fun[data-fun="splendor"]{--sk1:#0a0f33;--sk2:#2a2470;--sk3:#a64fc9;--sk4:#ffd889;--acc:#8a3fc0;--acc2:#ffc531;--acc-ink:#672a99;--acc3:#15c1c6}
body.fun[data-fun="conquest"]{--sk1:#0c1a3d;--sk2:#21458f;--sk3:#e64a4a;--sk4:#ffc85e;--acc:#d7193f;--acc2:#ffc531;--acc-ink:#a70f2d;--acc3:#1f55d1}
body.fun[data-fun="glory"]{--sk1:#10163d;--sk2:#2c3c8a;--sk3:#e0a21b;--sk4:#fff0a0;--acc:#c78a0e;--acc2:#d7193f;--acc-ink:#8a5f05;--acc3:#1f55d1}
body.fun[data-fun="valor"]{--sk1:#0a1838;--sk2:#1f3f7e;--sk3:#c93b4f;--sk4:#ffd18a;--acc:#b7283f;--acc2:#ffc531;--acc-ink:#8d1a2e;--acc3:#1f55d1}
body.fun[data-fun="liberty"]{--sk1:#071a3a;--sk2:#18498a;--sk3:#2fa48f;--sk4:#ffe28a;--acc:#1d8a76;--acc2:#ffc531;--acc-ink:#136556;--acc3:#d7193f}
body.fun[data-fun="freedom"]{--sk1:#0b1440;--sk2:#2c2f8f;--sk3:#e8513a;--sk4:#ffd07a;--acc:#2c45c8;--acc2:#ff7a1a;--acc-ink:#20339a;--acc3:#d7193f}
body.fun[data-fun="spirit"]{--sk1:#071d2c;--sk2:#0f4f5e;--sk3:#2fbf71;--sk4:#ffe58a;--acc:#1e9a5a;--acc2:#ffc531;--acc-ink:#147041;--acc3:#ff3d8b}
body.fun[data-fun="pride"]{--sk1:#0d1640;--sk2:#2a2f8a;--sk3:#d94f8a;--sk4:#ffd59a;--acc:#c0397a;--acc2:#ffc531;--acc-ink:#922458;--acc3:#15c1c6}
body.fun[data-fun="legend"]{--sk1:#140f30;--sk2:#3c2a72;--sk3:#c98a2e;--sk4:#ffe3a1;--acc:#a8701d;--acc2:#7b3fe4;--acc-ink:#7a500f;--acc3:#15c1c6}
body.fun[data-fun="miracle"]{--sk1:#1c0a22;--sk2:#5a1435;--sk3:#d0313f;--sk4:#ffc07a;--acc:#c0263c;--acc2:#ffc531;--acc-ink:#931a2c;--acc3:#7b3fe4}
body.fun[data-fun="luminosa"]{--sk1:#0a0f2e;--sk2:#262a6e;--sk3:#5a8fe0;--sk4:#ffe9b0;--acc:#3e6fd8;--acc2:#ffdb6e;--acc-ink:#2a51ad;--acc3:#ff3d8b}
body.fun[data-fun="sunshine"]{--sk1:#0f1c45;--sk2:#2e4fa3;--sk3:#ff9a2e;--sk4:#fff08a;--acc:#e8781a;--acc2:#ffc531;--acc-ink:#a85410;--acc3:#15c1c6}
body.fun[data-fun="sunrise"]{--sk1:#131b4a;--sk2:#5a3d9a;--sk3:#ff7d6b;--sk4:#ffe08a;--acc:#e8584a;--acc2:#ffc531;--acc-ink:#b13a2e;--acc3:#15c1c6}
body.fun[data-fun="radiance"]{--sk1:#071e3a;--sk2:#165c8f;--sk3:#ffb03a;--sk4:#fff3b0;--acc:#0d8fc0;--acc2:#ffb03a;--acc-ink:#0a6a90;--acc3:#ff3d8b}
body.fun[data-fun="elation"]{--sk1:#190d33;--sk2:#4a1a6e;--sk3:#ff4fa0;--sk4:#ffd36b;--acc:#d6267c;--acc2:#15c1c6;--acc-ink:#a5175c;--acc3:#ffc531}
body.fun[data-fun="paradise"]{--sk1:#071c33;--sk2:#0f5a6e;--sk3:#36c48a;--sk4:#fff0a0;--acc:#14916a;--acc2:#ff7a1a;--acc-ink:#0d6b4d;--acc3:#ff3d8b}
body.fun[data-fun="adventure"]{--sk1:#0c1838;--sk2:#18508a;--sk3:#f08a2a;--sk4:#ffe28a;--acc:#d9661a;--acc2:#15c1c6;--acc-ink:#a34a0f;--acc3:#ffc531}
body.fun[data-fun="encounter"]{--sk1:#091a33;--sk2:#14527a;--sk3:#e85d6a;--sk4:#ffd7a0;--acc:#d63f55;--acc2:#15c1c6;--acc-ink:#a32a3e;--acc3:#ffc531}
body.fun[data-fun="fleet"]{--sk1:#0c1a3d;--sk2:#2a2a8a;--sk3:#d7193f;--sk4:#ffc531;--acc:#d7193f;--acc2:#ffc531;--acc-ink:#a70f2d;--acc3:#1f55d1}

/* ---------- base re-skin of the Seabound guide templates ---------- */
body.fun{
  --deep:var(--fs-navy); --sea:var(--fs-royal-ink); --sea-line:#3a64c9; --paper:var(--fs-cream); --paper-2:var(--fs-cream2); --paper2:var(--fs-cream2);
  --brass:var(--acc-ink); --brass-text:var(--acc-ink); --brass-lt:var(--fs-sun); --brasslt:var(--fs-sun); --coral:var(--fs-cherry-ink);
  --ink:var(--fs-ink); --muted:var(--fs-mute); --shadow:var(--fs-pop);
  background:var(--fs-cream);color:var(--fs-ink);font-family:var(--fs-body);font-size:18px;line-height:1.62}
body.fun::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55;
  background-image:radial-gradient(circle at 12px 14px,rgba(215,25,63,.07) 2px,transparent 2.5px),radial-gradient(circle at 40px 38px,rgba(31,85,209,.07) 2px,transparent 2.5px),radial-gradient(circle at 66px 10px,rgba(255,197,49,.12) 2.5px,transparent 3px);background-size:80px 56px}
body.fun main{font-family:var(--fs-body)}
body.fun main h2,body.fun .fs-h2{font-family:var(--fs-disp);font-weight:400;letter-spacing:.005em;line-height:1.06;color:var(--fs-ink)}
body.fun main h3,body.fun main h4{font-family:var(--fs-body);font-weight:800;letter-spacing:-.01em}
body.fun main a{color:var(--acc-ink);text-decoration-thickness:2px;text-underline-offset:3px}
body.fun main a:hover{color:var(--fs-ink)}
body.fun main b,body.fun main strong{font-weight:800}
body.fun main p,body.fun main li{font-family:var(--fs-body)}
body.fun main section{position:relative}
body.fun main section.fs-tint{background:var(--fs-tint,#fff1de);box-shadow:0 0 0 100vmax var(--fs-tint,#fff1de);clip-path:inset(0 -100vmax)}
body.fun main section.fs-tint.t2{--fs-tint:#eef5ff}
body.fun main section.fs-tint.t3{--fs-tint:#fff0f4}

/* bingo-ball section numbers */
body.fun .section-head .num{display:none}
body.fun .section-head{align-items:center}
body.fun h2.fs-h{display:flex;align-items:center;flex-wrap:wrap;gap:14px;position:relative;padding-bottom:16px}
body.fun h2.fs-h::after{content:"";position:absolute;left:66px;bottom:0;width:110px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 10'%3E%3Cpath d='M2 6 Q 11 0 20 6 T 38 6 T 56 6 T 74 6 T 92 6 T 108 6' fill='none' stroke='%23d7193f' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat}
body.fun h2.fs-h.fs-noball::after{left:0}
.fs-ball{flex:none;display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;font:16px/1 var(--fs-sign);color:var(--fs-ink);
  background:radial-gradient(circle at 50% 50%,#fff 0 46%,transparent 47%),radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 42%),var(--ball,var(--acc));
  box-shadow:inset 0 -5px 0 rgba(0,0,0,.18),0 4px 0 rgba(20,33,61,.15)}
.fs-ball.c1{--ball:var(--fs-cherry)}.fs-ball.c2{--ball:var(--fs-royal)}.fs-ball.c3{--ball:var(--fs-sun)}.fs-ball.c4{--ball:var(--fs-aqua)}.fs-ball.c5{--ball:var(--fs-pink)}.fs-ball.c6{--ball:var(--fs-lime)}

/* tables and cards get the sticker treatment */
body.fun main table{background:#fff;border-collapse:separate;border-spacing:0;border:2px solid var(--fs-line);border-radius:14px;overflow:hidden;box-shadow:4px 4px 0 var(--fs-line)}
body.fun main table th{background:var(--fs-cream2);color:var(--fs-ink);font:800 12px/1.3 var(--fs-body);letter-spacing:.06em;text-transform:uppercase}
body.fun main table td{font-family:var(--fs-body)}
body.fun main .callout,body.fun main .card,body.fun main .rec,body.fun main .verdict-box,body.fun main .tip{border-radius:16px}
body.fun .tbl th{font-family:var(--fs-body)}

/* section navigation becomes a midway of chips */
body.fun .navbar{background:var(--fs-cream)!important;border-bottom:0!important;box-shadow:0 6px 14px -12px rgba(20,33,61,.45)}
body.fun .navbar .wrap{gap:8px}
body.fun .navbar a{font:800 12px/1 var(--fs-body)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--fs-ink)!important;border:2px solid var(--fs-line);border-radius:999px;padding:9px 14px!important;background:#fff;white-space:nowrap;transition:background .15s,transform .15s}
body.fun .navbar a:hover,body.fun .navbar a.on,body.fun .navbar a[aria-current]{background:var(--fs-sun);border-color:var(--fs-sun);transform:translateY(-1px)}

/* ======================= HERO: the midway at dusk ======================= */
.fs-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;min-height:600px;display:flex;align-items:flex-end;padding:96px 0 64px;
  background:linear-gradient(180deg,var(--sk1) 0%,var(--sk2) 34%,var(--sk3) 58%,var(--sk4) 71%,#7fd6e0 71.2%,#1a8fb0 80%,var(--fs-navy) 100%)}
.fs-hero.fs-keep{display:block;min-height:0}
.fs-scene{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.fs-glow{position:absolute;inset:0;background:radial-gradient(70% 45% at 72% 70%,rgba(255,236,190,.55),transparent 60%)}
.fs-rays{position:absolute;left:72%;top:71%;width:1700px;height:1700px;transform:translate(-50%,-50%);opacity:.16;
  background:repeating-conic-gradient(from 0deg,#fff 0 5deg,transparent 5deg 15deg);-webkit-mask:radial-gradient(circle,#000 0 14%,transparent 50%);mask:radial-gradient(circle,#000 0 14%,transparent 50%);animation:fs-spin 140s linear infinite}
@keyframes fs-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.fs-sun{position:absolute;left:72%;top:71%;width:min(30vw,300px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 50% 45%,#fff6c9 0 30%,var(--fs-sun2) 52%,var(--fs-tang) 100%);filter:drop-shadow(0 0 50px rgba(255,200,90,.7));-webkit-mask:linear-gradient(#000 50%,transparent 50.5%);mask:linear-gradient(#000 50%,transparent 50.5%)}
.fs-stars{position:absolute;inset:0 0 40% 0;background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff,transparent),radial-gradient(1.4px 1.4px at 32% 8%,#fff,transparent),radial-gradient(1.8px 1.8px at 58% 14%,#fff,transparent),radial-gradient(1.3px 1.3px at 82% 22%,#fff,transparent),radial-gradient(1.5px 1.5px at 92% 6%,#fff,transparent),radial-gradient(1.3px 1.3px at 44% 26%,#fff,transparent);opacity:.75;animation:fs-twinkle 5s ease-in-out infinite alternate}
@keyframes fs-twinkle{to{opacity:.35}}
.fs-bunting{position:absolute;left:-2%;right:-2%;top:0;height:92px;width:104%}
.fs-bunting .fs-flags{transform-origin:50% 0;animation:fs-sway 7s ease-in-out infinite alternate}
@keyframes fs-sway{from{transform:rotate(-.6deg)}to{transform:rotate(.6deg)}}
.fs-motif{position:absolute;right:2%;bottom:28%;width:min(56vw,620px);height:auto;opacity:.95}
.fs-ship{position:absolute;bottom:27.6%;left:-280px;width:250px;animation:fs-sail 80s linear infinite;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
@keyframes fs-sail{from{left:-280px}to{left:104%}}
.fs-sea{position:absolute;left:0;right:0;bottom:0;height:30%}
.fs-wave{position:absolute;left:0;width:200%;height:70px;background-repeat:repeat-x;background-size:50% 100%;animation:fs-roll linear infinite}
.fs-wave.w1{bottom:58%;opacity:.55;animation-duration:30s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 Q100 22 200 40 T400 40 T600 40 T800 40 V70 H0Z' fill='%23c9f1f4'/%3E%3C/svg%3E")}
.fs-wave.w2{bottom:28%;opacity:.8;animation-duration:22s;animation-direction:reverse;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 70' preserveAspectRatio='none'%3E%3Cpath d='M0 36 Q100 12 200 36 T400 36 T600 36 T800 36 V70 H0Z' fill='%231576a0'/%3E%3C/svg%3E")}
.fs-wave.w3{bottom:-2px;height:120px;animation-duration:16s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 120' preserveAspectRatio='none'%3E%3Cpath d='M0 50 Q100 20 200 50 T400 50 T600 50 T800 50 V120 H0Z' fill='%230c1a3d'/%3E%3C/svg%3E")}
@keyframes fs-roll{to{transform:translateX(-50%)}}
.fs-confetti{position:absolute;inset:0}
.fs-confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;opacity:.9;animation:fs-fall linear infinite}
@keyframes fs-fall{0%{transform:translateY(-20px) rotate(0)}100%{transform:translateY(720px) rotate(540deg)}}
.fs-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,51,.78) 0%,rgba(10,20,51,.55) 42%,rgba(10,20,51,.08) 70%,transparent 82%),linear-gradient(0deg,rgba(10,20,51,.55) 0%,transparent 34%)}
.fs-hero.fs-center .fs-scrim{background:radial-gradient(ellipse at 50% 46%,rgba(10,20,51,.82) 0 52%,rgba(10,20,51,.35) 78%,transparent 100%)}
.fs-hero.fs-center .fs-motif{opacity:.35}
.fs-hero.fs-paused *,.fs-hero.fs-paused *::before{animation-play-state:paused!important}
/* awning scallops under every hero */
.fs-hero::after{content:"";position:absolute;left:0;right:0;top:auto!important;bottom:0;height:16px;z-index:3;
  background:radial-gradient(circle at 16px 0,var(--fs-cherry) 15px,transparent 15.5px) 0 100%/64px 16px repeat-x,radial-gradient(circle at 48px 0,#fff 15px,transparent 15.5px) 0 100%/64px 16px repeat-x;
  -webkit-mask:linear-gradient(#000,#000);transform:translateY(1px)}

.fs-hin{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;align-items:end}
.fs-copy{max-width:720px}
.fs-crumbs{font:700 12px/1.6 var(--fs-body);letter-spacing:.08em;text-transform:uppercase;color:#e8ecff;margin:0 0 16px;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.fs-crumbs a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45)}
.fs-band{display:inline-flex;align-items:center;gap:10px;transform:rotate(-2deg);margin:0 0 18px;padding:8px 18px 8px 12px;border-radius:999px;color:#fff;
  font:13px/1 var(--fs-sign);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 rgba(0,0,0,.25);
  background:repeating-linear-gradient(-45deg,var(--acc-ink) 0 12px,color-mix(in srgb,var(--acc-ink) 82%,#000) 12px 24px)}
.fs-band::before{content:"";width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#d8dbe6 60%,#9aa1b6);box-shadow:inset 0 -2px 0 rgba(0,0,0,.2)}
.fs-band a{color:#fff;text-decoration:none}
.fs-hero h1{font-family:var(--fs-disp)!important;font-weight:400!important;font-size:clamp(40px,6.6vw,84px)!important;line-height:.98!important;letter-spacing:.005em!important;color:#fff!important;margin:0 0 16px!important;max-width:15ch;
  text-shadow:0 4px 0 var(--acc-ink),0 8px 0 rgba(0,0,0,.22),0 0 30px rgba(0,0,0,.25)}
.fs-hero h1 .fs-l2,.fs-hero h1 em,.fs-hero h1 span{color:var(--fs-sun);font-style:normal;display:block}
.fs-dek{font:600 clamp(17px,1.9vw,21px)/1.5 var(--fs-body);color:#f3f5ff;max-width:44ch;margin:0 0 22px;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.fs-dek b{color:#fff}
.fs-tix{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.fs-tix .fs-t{position:relative;min-width:120px;max-width:200px;padding:12px 16px 10px 24px;background:var(--fs-sun);color:var(--fs-ink);border-radius:10px;transform:rotate(var(--r,-1.5deg));box-shadow:0 5px 0 rgba(0,0,0,.28);
  -webkit-mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px);mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px)}
.fs-tix .fs-t:nth-child(2n){--r:1.2deg;background:#fff}.fs-tix .fs-t:nth-child(3n){--r:-.6deg;background:var(--fs-sun2)}
.fs-t::before{content:"";position:absolute;left:12px;top:8px;bottom:8px;border-left:2px dashed rgba(20,33,61,.35)}
.fs-t b{display:block;font:24px/1.05 var(--fs-disp);color:color-mix(in srgb,var(--acc-ink) 75%,#000)}
.fs-t span{display:block;font:800 10.5px/1.3 var(--fs-body);letter-spacing:.08em;text-transform:uppercase;color:#3a3f55;margin-top:3px}
.fs-by{font:700 12.5px/1.5 var(--fs-body);color:#dfe4f7;margin:6px 0 0;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fs-by i{opacity:.6;margin:0 6px}
.fs-jump{display:inline-block;margin:10px 0 0;font:800 13px var(--fs-body);color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 14px;text-decoration:none}

/* prize badge with chasing bulbs */
.fs-badge{position:relative;justify-self:end;width:210px;height:210px;margin-bottom:6px}
.fs-badge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fs-badge .fs-starburst{animation:fs-spin2 40s linear infinite;transform-origin:105px 105px}
@keyframes fs-spin2{to{transform:rotate(360deg)}}
.fs-badge .bulb{fill:#fff6c9;animation:fs-chase 1.6s steps(1) infinite}
.fs-badge .bulb:nth-child(3n+1){animation-delay:-.53s}.fs-badge .bulb:nth-child(3n+2){animation-delay:-1.06s}
@keyframes fs-chase{0%{fill:#fff6c9}33%{fill:#ffb800}66%{fill:#fff}}
.fs-badge-in{position:absolute;inset:34px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--fs-white);color:var(--fs-ink);box-shadow:inset 0 0 0 4px var(--acc),inset 0 0 0 8px #fff,inset 0 0 0 10px var(--acc2)}
.fs-badge-in b{font:44px/1 var(--fs-disp);color:var(--acc-ink)}
.fs-badge-in b small{font-size:.42em;color:var(--fs-mute)}
.fs-badge-in span{font:800 10px/1.25 var(--fs-body);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;padding:0 14px}

/* CTA ribbon in the hero */
.fs-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 0}
.fs-btn{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:999px;font:800 15.5px/1.1 var(--fs-body);text-decoration:none!important;cursor:pointer;border:0;transition:transform .15s,box-shadow .15s}
.fs-btn svg{width:18px;height:18px;flex:none}
.fs-btn-pri{background:var(--fs-sun);color:var(--fs-ink)!important;box-shadow:0 5px 0 #c4900d}
.fs-btn-pri:hover{transform:translateY(-2px);box-shadow:0 7px 0 #c4900d}
.fs-btn-pri:active{transform:translateY(3px);box-shadow:0 2px 0 #c4900d}
.fs-btn-ghost{background:rgba(255,255,255,.12);color:#fff!important;border:2px solid rgba(255,255,255,.55)}
.fs-btn-ghost:hover{background:rgba(255,255,255,.22)}
.fs-note{font:700 13px/1.4 var(--fs-body);color:#e9ecfa;margin:0;flex-basis:100%}
.fs-note b{color:var(--fs-sun)}
.fs-note i{margin:0 6px;opacity:.6;font-style:normal}

/* kept heroes (entertainment, showdowns, calculator): restyle what is there */
.fs-hero.fs-keep{padding:0;background:linear-gradient(180deg,var(--sk1) 0%,var(--sk2) 34%,var(--sk3) 58%,var(--sk4) 71%,#7fd6e0 71.2%,#1a8fb0 80%,var(--fs-navy) 100%)!important}
html body .fs-hero.fs-keep>.fs-scene{position:absolute!important;inset:0!important;z-index:0!important}
.fs-hero.fs-keep>:not(.fs-scene){position:relative;z-index:2}
.fs-hero.fs-keep h1{font-size:clamp(36px,5vw,64px)!important;max-width:17ch}
.fs-hero.fs-keep .sbe-hgrid{align-items:end}
.fs-hero.fs-keep .fs-motif{width:min(38vw,460px);opacity:.5;right:1%}
.fs-hero.fs-keep .fs-scrim{background:linear-gradient(90deg,rgba(10,20,51,.8) 0%,rgba(10,20,51,.62) 55%,rgba(10,20,51,.2) 78%,transparent 90%),linear-gradient(0deg,rgba(10,20,51,.55) 0%,transparent 34%)}
.fs-hero.fs-keep>.wrap,.fs-hero.fs-keep .vhero-top,.fs-hero.fs-keep .vhero-split,.fs-hero.fs-keep .vhero-foot{position:relative;z-index:2}
.fs-hero.fs-keep .dpx-scene,.fs-hero.fs-keep .sbe-bulbs,.fs-hero.fs-keep .sbe-beams,.fs-hero.fs-keep .fhero-scrim,.fs-hero.fs-keep>svg{display:none!important}
.fs-hero.fs-keep.ghero.sbe-hero{background:linear-gradient(180deg,var(--sk1) 0%,var(--sk2) 34%,var(--sk3) 58%,var(--sk4) 71%,#7fd6e0 71.2%,#1a8fb0 80%,var(--fs-navy) 100%)!important;padding:96px 0 70px!important}
.fs-hero.fs-keep .eyebrow{display:inline-flex;align-items:center;gap:10px;transform:rotate(-2deg);padding:8px 18px 8px 12px;border-radius:999px;color:#fff!important;font:12px/1.2 var(--fs-sign)!important;letter-spacing:.08em!important;box-shadow:0 4px 0 rgba(0,0,0,.25);
  background:repeating-linear-gradient(-45deg,var(--acc-ink) 0 12px,color-mix(in srgb,var(--acc-ink) 82%,#000) 12px 24px)!important;margin-bottom:18px!important}
.fs-hero.fs-keep .eyebrow a{color:#fff!important}
.fs-hero.fs-keep .ghero-sub,.fs-hero.fs-keep .governing,.fs-hero.fs-keep .sub{font-family:var(--fs-body)!important;font-weight:600;color:#f3f5ff!important;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.fs-hero.fs-keep .timestamp{color:#dfe4f7!important;font-family:var(--fs-body)!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fs-hero.fs-keep .sbe-chip{font-family:var(--fs-body)!important;font-weight:800!important;background:var(--fs-sun)!important;color:var(--fs-ink)!important;border:0!important;border-radius:10px!important;box-shadow:0 4px 0 rgba(0,0,0,.28);transform:rotate(-1deg)}
.fs-hero.fs-keep .sbe-chip:nth-child(2){background:#fff!important;transform:rotate(1deg)}
.fs-hero.fs-keep .sbe-chip.low .dot,.fs-hero.fs-keep .sbe-chip .dot{background:var(--acc)!important}
.fs-hero.fs-keep .sbe-chip b{color:color-mix(in srgb,var(--acc-ink) 75%,#000)!important}
.fs-hero.fs-keep .sbe-dial{filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}
.fs-hero.fs-keep .sbe-dial .rv b{font-family:var(--fs-disp)!important}
.fs-hero.fs-keep .vside-name,.fs-hero.fs-keep .vbadge{font-family:var(--fs-disp)!important}

/* ======================= FUN PASS (ride ticket under the hero) ======================= */
.fs-pass-wrap{max-width:1120px;margin:34px auto 6px;padding:0 24px}
.fs-pass{display:grid;grid-template-columns:minmax(0,1fr) 250px;border-radius:22px;background:#fff;box-shadow:6px 6px 0 var(--acc),var(--fs-pop);border:3px solid var(--fs-ink);overflow:hidden}
.fs-pass-main{padding:24px 26px;background:radial-gradient(circle at 18px 18px,rgba(215,25,63,.07) 2px,transparent 2.5px) 0 0/34px 34px,var(--fs-white)}
.fs-k{font:12px/1 var(--fs-sign);letter-spacing:.1em;text-transform:uppercase;color:var(--acc-ink);margin:0 0 6px}
.fs-pass-ship{font:clamp(26px,3.4vw,38px)/1.05 var(--fs-disp);margin:0 0 14px;color:var(--fs-ink)}
.fs-pass-ship em{font-style:normal;color:var(--acc-ink)}
.fs-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.fs-field span{display:block;font:800 11px/1.3 var(--fs-body);letter-spacing:.09em;text-transform:uppercase;color:var(--fs-mute)}
.fs-field b{display:block;font:700 15.5px/1.45 var(--fs-body);color:var(--fs-ink)}
.fs-field b a{color:var(--acc-ink)}
.fs-scores{display:flex;flex-wrap:wrap;gap:12px;grid-column:1/-1;margin-top:4px}
.fs-score{display:flex;align-items:center;gap:10px;text-decoration:none!important;color:var(--fs-ink)!important;background:var(--fs-cream);border:2px solid var(--fs-line);border-radius:999px;padding:5px 16px 5px 5px}
.fs-ring{--p:0;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--acc) calc(var(--p)*360deg),#ecdcc4 0)}
.fs-ring b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;font:15px var(--fs-disp);color:var(--fs-ink)}
.fs-score small{display:block;font:800 10.5px/1.2 var(--fs-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fs-mute)}
.fs-score strong{font:800 13px var(--fs-body)}
.fs-stub{position:relative;padding:24px 22px;background:linear-gradient(160deg,var(--acc-ink),color-mix(in srgb,var(--acc-ink) 70%,#000));color:#fff;display:flex;flex-direction:column;justify-content:center;gap:10px;border-left:3px dashed var(--fs-ink)}
.fs-stub::before,.fs-stub::after{content:"";position:absolute;left:-15px;width:26px;height:26px;border-radius:50%;background:var(--fs-cream);border:3px solid var(--fs-ink)}
.fs-stub::before{top:-15px}.fs-stub::after{bottom:-15px}
.fs-stub .fs-k{color:#fff}
.fs-stub a{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--fs-sun);color:var(--fs-ink)!important;text-decoration:none;font:800 15px var(--fs-body);padding:12px 16px;border-radius:999px;box-shadow:0 4px 0 #c4900d}
.fs-stub a svg{width:16px;height:16px}
.fs-stub small{font:700 12px var(--fs-body);color:#fff}
.fs-stub .fs-admit{font:22px/1 var(--fs-sign);letter-spacing:.06em;transform:rotate(-3deg);opacity:.95}

/* ======================= tools ======================= */
.fs-tool{max-width:1120px;margin:40px auto;padding:0 24px;scroll-margin-top:240px}
.fs-tool-in{position:relative;background:#fff;border:3px solid var(--fs-ink);border-radius:24px;padding:28px 28px 26px;box-shadow:7px 7px 0 var(--acc2),var(--fs-pop)}
.fs-tool-in::before{content:"";position:absolute;right:22px;top:-14px;width:120px;height:26px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--fs-cherry) 0 14px,#fff 14px 28px);border:3px solid var(--fs-ink)}
.fs-tool .fs-h2{font-size:clamp(28px,3.8vw,42px);margin:6px 0 8px}
.fs-lede{font:600 17px/1.55 var(--fs-body);color:#2e3550;max-width:62ch;margin:0 0 18px}
.fs-q{margin:0 0 16px}
.fs-q>p{font:800 14px var(--fs-body);margin:0 0 8px;color:var(--fs-ink)}
.fs-opts{display:flex;flex-wrap:wrap;gap:8px}
.fs-opt{min-height:44px;padding:9px 16px;border-radius:999px;border:2px solid var(--fs-line);background:var(--fs-cream);font:800 14px var(--fs-body);color:var(--fs-ink);cursor:pointer;transition:background .15s,transform .15s,border-color .15s}
.fs-opt:hover{transform:translateY(-1px);border-color:var(--acc)}
.fs-opt[aria-pressed="true"]{background:var(--acc-ink);border-color:var(--acc-ink);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--acc-ink) 70%,#000)}
.fs-opt:focus-visible,.fs-btn:focus-visible,.fs-chip:focus-visible,.fs-door:focus-visible,.fs-sq:focus-visible{outline:3px solid var(--fs-royal);outline-offset:3px}
.fs-res{min-height:40px}
.fs-nojs{font:700 15px var(--fs-body);background:var(--fs-cream);border-radius:12px;padding:12px 14px}
.fs-mini{font:600 14px/1.5 var(--fs-body);color:var(--fs-mute)}
.fs-warn{background:#fff3d6;border-left:4px solid var(--fs-tang);padding:8px 12px;border-radius:8px;color:#5a3a06}
.fs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
.fs-card{position:relative;background:var(--fs-cream);border:2px solid var(--fs-line);border-radius:18px;padding:18px 18px 16px;box-shadow:4px 4px 0 var(--fs-line)}
.fs-card h3{font:22px/1.1 var(--fs-disp);margin:0 0 6px}
.fs-card h3 small{display:block;font:800 11px/1.4 var(--fs-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fs-mute);margin-top:4px}
.fs-card p,.fs-card li{font:600 14.5px/1.5 var(--fs-body);color:#2e3550}
.fs-card ul{margin:8px 0 0;padding-left:18px}
.fs-card .fs-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font:800 13.5px var(--fs-body)}
.fs-card .fs-links a{color:var(--fs-royal-ink)}
.fs-rank{position:absolute;right:-10px;top:-12px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:18px var(--fs-disp);background:var(--fs-sun);border:3px solid var(--fs-ink)}
.fs-tag{display:inline-block;font:800 11px var(--fs-body);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:#ffe5ea;color:var(--fs-cherry-ink)}
.fs-more summary{cursor:pointer;font:800 14px var(--fs-body);color:var(--fs-royal-ink)}
.fs-list{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.fs-list li{display:flex;gap:10px;align-items:center;font:600 14px var(--fs-body)}
.fs-list li i{width:12px;height:12px;border-radius:50%;flex:none}
.fs-list li a{margin-left:auto;font-weight:800;color:var(--fs-royal-ink)}

/* the Fun Wheel */
.fs-wheel-box{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}
.fs-wheel{position:relative;width:300px;height:300px}
.fs-wheel svg{width:100%;height:100%}
.fs-wheel .fs-spinner{transform-origin:150px 150px;transition:transform 3.2s cubic-bezier(.16,.84,.18,1)}
.fs-wheel .fs-pointer{position:absolute;left:50%;top:-8px;width:0;height:0;transform:translateX(-50%);border-left:16px solid transparent;border-right:16px solid transparent;border-top:30px solid var(--fs-ink);filter:drop-shadow(0 3px 0 rgba(0,0,0,.2))}
.fs-wheel-hub{position:absolute;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,-50%);border-radius:50%;background:var(--fs-sun);border:4px solid var(--fs-ink);display:grid;place-items:center;font:14px var(--fs-sign);color:var(--fs-ink)}
/* the doors */
.fs-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:14px;perspective:900px}
.fs-door{position:relative;min-height:230px;border:0;padding:0;background:none;cursor:pointer;text-align:left}
.fs-door-front,.fs-door-back{position:absolute;inset:0;border-radius:18px;border:3px solid var(--fs-ink);backface-visibility:hidden;transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.fs-door-front{display:grid;place-items:center;background:linear-gradient(180deg,var(--acc-ink),color-mix(in srgb,var(--acc-ink) 70%,#000));color:#fff;font:56px var(--fs-disp);box-shadow:inset 0 0 0 10px rgba(255,255,255,.15)}
.fs-door-front::after{content:"";position:absolute;right:22px;top:50%;width:14px;height:14px;border-radius:50%;background:var(--fs-sun);box-shadow:0 2px 0 rgba(0,0,0,.3)}
.fs-door-back{transform:rotateY(180deg);background:#fff;padding:16px;overflow:auto}
.fs-door.open .fs-door-front{transform:rotateY(-180deg)}
.fs-door.open .fs-door-back{transform:rotateY(0)}
.fs-door-back b.fs-k{display:block}
.fs-door-back h3{font:20px/1.15 var(--fs-disp);margin:4px 0 6px;color:var(--fs-ink)}
.fs-door-back p{font:600 14px/1.45 var(--fs-body);color:#2e3550;margin:0 0 8px}
.fs-door-back a{font:800 14px var(--fs-body);color:var(--fs-royal-ink)}
/* slot reels */
.fs-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:linear-gradient(180deg,var(--fs-cherry),var(--fs-cherry-ink));border:4px solid var(--fs-ink);border-radius:22px;padding:18px;box-shadow:inset 0 0 0 6px rgba(255,255,255,.18)}
.fs-reel{position:relative;background:#fff;border-radius:14px;height:150px;overflow:hidden;border:3px solid var(--fs-ink);box-shadow:inset 0 10px 14px -8px rgba(0,0,0,.35),inset 0 -10px 14px -8px rgba(0,0,0,.35)}
.fs-reel-k{position:absolute;left:0;right:0;top:6px;text-align:center;font:10.5px var(--fs-sign);letter-spacing:.08em;color:var(--fs-mute);z-index:2}
.fs-strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.fs-strip div{height:150px;display:grid;place-items:center;text-align:center;padding:22px 12px 10px;font:20px/1.1 var(--fs-disp);color:var(--fs-ink)}
.fs-lock{margin-top:8px;width:100%}
.fs-slot-out{margin-top:16px;background:var(--fs-cream);border:2px dashed var(--fs-line);border-radius:16px;padding:14px 16px;font:600 15.5px/1.55 var(--fs-body)}
/* dining bingo */
.fs-bingo{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:10px;max-width:560px}
.fs-bingo-head{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:10px;max-width:560px;margin-bottom:8px}
.fs-bingo-head span{text-align:center;font:26px var(--fs-sign);color:#fff;background:var(--fs-royal);border-radius:12px;padding:6px 0}
.fs-bingo-head span:nth-child(2){background:var(--fs-cherry)}.fs-bingo-head span:nth-child(3){background:var(--fs-sun);color:var(--fs-ink)}
.fs-sq{position:relative;aspect-ratio:1/1;border-radius:14px;border:3px solid var(--fs-ink);background:#fff;font:800 14px/1.25 var(--fs-body);color:var(--fs-ink);padding:8px;cursor:pointer;display:grid;place-items:center;text-align:center;transition:transform .12s}
.fs-sq:hover{transform:scale(1.03)}
.fs-sq small{display:block;font:700 11px var(--fs-body);color:var(--fs-mute);margin-top:4px}
.fs-sq[aria-pressed="true"]{background:color-mix(in srgb,var(--acc2) 30%,#fff)}
.fs-sq[aria-pressed="true"]::after{content:"";position:absolute;inset:10%;border-radius:50%;border:5px solid color-mix(in srgb,var(--acc) 75%,transparent);animation:fs-dab .25s ease-out;pointer-events:none}
@keyframes fs-dab{from{transform:scale(1.6);opacity:0}}
.fs-sq.free{background:var(--fs-sun);cursor:default}
.fs-bingo-out{margin-top:14px;font:600 15.5px/1.55 var(--fs-body)}
.fs-bingo-out b.big{font:28px var(--fs-sign);color:var(--fs-cherry)}
/* calculators */
.fs-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
.fs-in{margin:0 0 12px}
.fs-in label{display:block;font:800 14px var(--fs-body);margin-bottom:4px}
.fs-in label small{display:block;font:600 12.5px var(--fs-body);color:var(--fs-mute)}
.fs-in input{width:100%;min-height:44px;border:2px solid var(--fs-line);border-radius:12px;padding:8px 12px;font:800 17px var(--fs-body);background:var(--fs-cream);color:var(--fs-ink)}
.fs-in input:focus{outline:3px solid var(--fs-royal);outline-offset:1px}
.fs-out{background:var(--fs-navy);color:#fff;border-radius:20px;padding:20px;align-self:start}
.fs-out .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(255,255,255,.25);padding:8px 0;font:700 15px var(--fs-body)}
.fs-out .row b{font:22px var(--fs-disp);color:var(--fs-sun)}
.fs-verdict{margin-top:12px;font:700 16px/1.5 var(--fs-body)}
.fs-verdict b{color:var(--fs-sun)}
.fs-out small{display:block;margin-top:10px;font:600 12.5px/1.45 var(--fs-body);color:#cdd4ee}
.fs-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.fs-tier{border:3px solid var(--fs-ink);border-radius:16px;padding:12px;text-align:center;background:#fff}
.fs-tier b{display:block;font:20px var(--fs-disp)}
.fs-tier span{font:800 12px var(--fs-body);color:var(--fs-mute)}
.fs-tier.on{background:var(--fs-sun);transform:translateY(-3px);box-shadow:0 5px 0 var(--fs-ink)}
.fs-tier.t-red b{color:var(--fs-cherry-ink)}.fs-tier.t-gold b{color:#8a6100}.fs-tier.t-plat b{color:#4b5568}.fs-tier.t-dia b{color:var(--fs-royal-ink)}
/* fleet board (static, filterable) */
.fs-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:16px}
.fs-boat{position:relative;background:#fff;border:3px solid var(--fs-ink);border-radius:18px;overflow:hidden;box-shadow:4px 4px 0 var(--fs-line)}
.fs-boat-art{height:96px;background:linear-gradient(180deg,var(--b1) 0%,var(--b2) 60%,#7fd6e0 60.5%,#1a8fb0 100%);position:relative}
.fs-boat-art svg{position:absolute;left:50%;bottom:30%;width:180px;transform:translateX(-50%)}
.fs-boat-b{padding:12px 14px 14px}
.fs-boat h3{font:20px/1.1 var(--fs-disp);margin:0}
.fs-boat h3 a{color:var(--fs-ink);text-decoration:none}
.fs-boat p{font:600 13.5px/1.45 var(--fs-body);color:#2e3550;margin:6px 0 8px}
.fs-boat .fs-meta{font:800 11px/1.4 var(--fs-body);letter-spacing:.06em;text-transform:uppercase;color:var(--fs-mute)}
.fs-boat .fs-sc{display:flex;gap:8px;flex-wrap:wrap}
.fs-boat .fs-sc a{font:800 12.5px var(--fs-body);background:var(--fs-cream);border-radius:999px;padding:4px 10px;text-decoration:none;color:var(--fs-ink)}
.fs-boat[hidden]{display:none}

/* ======================= booking band + pill ======================= */
.fs-bandx{position:relative;max-width:1120px;margin:44px auto;padding:40px 30px 30px;border-radius:26px;color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(90% 70% at 85% 110%,color-mix(in srgb,var(--acc) 55%,transparent),transparent 60%),linear-gradient(160deg,var(--fs-navy2),var(--fs-night));box-shadow:var(--fs-pop)}
.fs-bandx::before{content:"";position:absolute;left:0;right:0;top:12px;height:16px;z-index:-1;background:radial-gradient(circle,#fff6c9 4px,transparent 5px) 0 0/34px 16px repeat-x;filter:drop-shadow(0 0 6px rgba(255,220,120,.9));animation:fs-bulbs 1.2s steps(2) infinite}
@keyframes fs-bulbs{50%{background-position:17px 0}}
.fs-bandx .fs-k{color:var(--fs-sun2)}
body.fun .fs-bandx .fs-h2{color:#fff;font-size:clamp(28px,4vw,44px);margin:6px 0 10px}
.fs-bandx .fs-h2 em{font-style:normal;color:var(--fs-sun)}
.fs-bandx p{font:600 16.5px/1.55 var(--fs-body);color:#e5e9fb;max-width:62ch}
.fs-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px}
.fs-chip{min-height:44px;padding:9px 16px;border-radius:999px;border:2px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;font:800 14.5px var(--fs-body);cursor:pointer;transition:transform .15s,background .15s}
.fs-chip:hover{transform:translateY(-2px);background:rgba(255,255,255,.18)}
.fs-chip[aria-pressed="true"]{background:var(--fs-sun);color:var(--fs-ink);border-color:var(--fs-sun)}
.fs-chip-out{min-height:1.5em;font:700 15px var(--fs-body);color:var(--fs-sun2)}
.fs-pill{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;align-items:center;gap:4px;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .25s,transform .25s}
.fs-pill.on{opacity:1;transform:none;pointer-events:auto}
.fs-pill a{display:inline-flex;align-items:center;gap:8px;background:var(--fs-cherry);color:#fff;text-decoration:none;font:800 15px var(--fs-body);padding:13px 18px;border-radius:999px;box-shadow:0 5px 0 var(--fs-cherry-ink),0 10px 24px -8px rgba(0,0,0,.45)}
.fs-pill a i{width:20px;height:14px;border-radius:3px;background:var(--fs-sun);-webkit-mask:radial-gradient(circle at 0 50%,transparent 3px,#000 3.5px);mask:radial-gradient(circle at 0 50%,transparent 3px,#000 3.5px)}
.fs-pill button{width:44px;height:44px;border-radius:50%;border:0;background:var(--fs-ink);color:#fff;font:800 18px/1 var(--fs-body);cursor:pointer}
/* progress streamer */
.fs-progress{position:fixed;left:0;right:0;top:0;height:5px;z-index:90;pointer-events:none;background:rgba(255,197,49,.25)}
.fs-progress i{display:block;height:100%;width:var(--p,0%);background:repeating-linear-gradient(-45deg,var(--fs-cherry) 0 10px,#fff 10px 14px,var(--fs-royal) 14px 24px,#fff 24px 28px);border-radius:0 4px 4px 0}
/* confetti burst (tool results, chips) */
.fs-burst{position:fixed;pointer-events:none;z-index:120;left:0;top:0}
.fs-burst i{position:absolute;width:8px;height:12px;border-radius:2px;animation:fs-pop .9s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes fs-pop{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
.fs-rise{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
.fs-rise.in{opacity:1;transform:none}
.fs-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ======================= responsive ======================= */
@media (max-width:900px){
  .fs-hin{grid-template-columns:1fr}
  .fs-badge{justify-self:start;width:160px;height:160px;margin-top:4px}
  .fs-badge-in{inset:26px}.fs-badge-in b{font-size:34px}
  .fs-pass{grid-template-columns:1fr}
  .fs-stub{border-left:0;border-top:3px dashed var(--fs-ink)}
  .fs-stub::before,.fs-stub::after{display:none}
  .fs-cards,.fs-doors{grid-template-columns:1fr}
  .fs-door{min-height:200px}
  .fs-wheel-box{grid-template-columns:1fr}
  .fs-wheel{margin:0 auto}
  .fs-calc{grid-template-columns:1fr}
  .fs-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .fs-hero{min-height:0;padding:76px 0 52px}
  .fs-hin{padding:0 18px}
  .fs-motif{width:120vw;right:-30vw;opacity:.42;bottom:30%}
  .fs-sun,.fs-rays{display:none}
  .fs-glow{background:radial-gradient(70% 30% at 80% 78%,rgba(255,236,190,.45),transparent 60%)}
  .fs-ship{width:170px}
  .fs-hero h1{font-size:clamp(36px,10.5vw,52px)!important}
  .fs-dek{font-size:16.5px}
  .fs-tix{gap:9px}
  .fs-tix .fs-t{min-width:0;flex:1 1 calc(50% - 9px);max-width:none}
  .fs-t b{font-size:20px}
  .fs-fields{grid-template-columns:1fr}
  .fs-tool-in{padding:22px 16px 18px}
  .fs-bandx{padding:34px 18px 22px;border-radius:20px;margin:30px 12px}
  .fs-slots{grid-template-columns:1fr;padding:12px}
  .fs-reel{height:96px}.fs-strip div{height:96px;font-size:18px;padding:18px 10px 6px}
  .fs-pill{left:auto;right:12px;bottom:12px}
  .fs-pill a{padding:12px 15px;font-size:14px}
  body.fun h2.fs-h{gap:10px}
  .fs-ball{width:42px;height:42px;font-size:13px}
  body.fun h2.fs-h::after{left:52px}
  .fs-hero.fs-keep.ghero.sbe-hero{padding:76px 0 58px!important}
}
@media (prefers-reduced-motion:reduce){
  .fs-hero *,.fs-hero *::before,.fs-hero *::after,.fs-bandx::before,.fs-badge *{animation:none!important;transition:none!important}
  .fs-ship{left:62%}
  .fs-confetti{display:none}
  .fs-rise{opacity:1;transform:none;transition:none}
  .fs-wheel .fs-spinner,.fs-door-front,.fs-door-back{transition:none!important}
  div.fs-burst{display:none}
  .fs-sq::after,.fs-pill,.fs-chip,.fs-opt,.fs-btn{animation:none!important;transition:none!important}
}
@media print{.fs-pill,.fs-progress,.fs-scene,.fs-burst{display:none!important}.fs-hero{color:#000;background:none}}

/* ---------- font guards: page templates set their own fonts on p/span; ours win inside our components ---------- */
body.fun .fs-pass,body.fun .fs-tool,body.fun .fs-bandx,body.fun .fs-pill,body.fun .fs-hin{font-family:var(--fs-body)}
body.fun .fs-pass :is(p,span,b,small,li,a,button,label,input,div,strong,h3,ol,ul),
body.fun .fs-tool :is(p,span,b,small,li,a,button,label,input,div,strong,em,h3,ol,ul,summary),
body.fun .fs-bandx :is(p,span,b,a,button,div),body.fun .fs-hin :is(p,span,b,a,div){font-family:var(--fs-body)}
body.fun .fs-pass .fs-pass-ship,body.fun .fs-tool .fs-h2,body.fun .fs-bandx .fs-h2,body.fun .fs-ring b,body.fun .fs-card h3,body.fun .fs-rank,
body.fun .fs-t b,body.fun .fs-badge-in b,body.fun .fs-out .row b,body.fun .fs-tier b,body.fun .fs-boat h3,body.fun .fs-door-front,body.fun .fs-door-back h3,
body.fun .fs-strip div,body.fun .fs-hero h1,body.fun .fs-hero h1 *{font-family:var(--fs-disp)!important;font-weight:400!important}
body.fun .fs-k,body.fun .fs-admit,body.fun .fs-band,body.fun .fs-reel-k,body.fun .fs-bingo-head span,body.fun .fs-bingo-out b.big,body.fun .fs-wheel-hub,body.fun .fs-ball{font-family:var(--fs-sign)!important;font-weight:400!important}
body.fun .fs-hero h1.fs-long{font-size:clamp(34px,4.6vw,58px)!important;max-width:22ch}
body.fun .fs-dek.fs-long{font-size:16.5px;max-width:58ch}
/* showdowns, calculator: keep the scene quiet behind two columns of copy */
.fs-hero.fs-center .fs-sun,.fs-hero.fs-center .fs-rays,.fs-hero.fs-center .fs-motif{display:none}
.fs-hero.fs-center .fs-scrim{background:linear-gradient(180deg,rgba(10,20,51,.55),rgba(10,20,51,.7) 60%,rgba(10,20,51,.35))}
.fs-hero.fs-keep.vhero,.fs-hero.fs-keep.hero{padding-top:110px!important}
.fs-hero.fs-keep .vside-thesis,.fs-hero.fs-keep .tape span{text-shadow:0 1px 2px rgba(0,0,0,.6)}
body.fun .fs-pass .fs-pass-ship *,body.fun .fs-boat h3 *,body.fun .fs-card h3>a{font-family:inherit!important}
body.fun .fs-card h3 small{font-family:var(--fs-body)!important;font-weight:800!important}
.fs-hero.fs-keep.hero{padding-bottom:120px!important}

/* ---------- audit fixes (Oct 12) ---------- */
@media (max-width:640px){
  .fs-hero .fs-scrim,.fs-hero.fs-keep .fs-scrim,.fs-hero.fs-center .fs-scrim{background:linear-gradient(180deg,rgba(10,20,51,.30) 0%,rgba(10,20,51,.55) 35%,rgba(10,20,51,.78) 62%,rgba(10,20,51,.86) 100%)}
  .fs-ship{display:none}
  .fs-bunting{height:60px}
  .fs-band,.fs-hero.fs-keep .eyebrow{transform:none;border-radius:14px;line-height:1.3}
  .fs-badge{display:none}
  .fs-tool{scroll-margin-top:175px}
  body.fun{padding-bottom:76px}
  .fs-sq{font-size:12.5px;overflow-wrap:anywhere;hyphens:auto;padding:6px}
}
.fs-hero.fs-keep .sbe-dial::before{content:"";position:absolute;inset:9px;border-radius:50%;background:rgba(10,20,51,.78);z-index:0}
.fs-hero.fs-keep .sbe-dial>svg{position:relative;z-index:1}
.fs-hero.fs-keep .sbe-dial .rv{z-index:2}
.fs-hero.fs-keep .sbe-dial .rv small{color:#e8ecff!important;font-size:9.5px}
.fs-hero.fs-keep .timestamp{color:#e8ecff!important}
.fs-hero.fs-keep .tape span{color:#dfe9ee!important}
.fs-hero.fs-keep .qline,.fs-hero.fs-keep .sjtip-btn{color:#fff!important;background:rgba(10,20,51,.55)}
.fs-badge-in b{font-size:clamp(28px,calc(44px - (var(--len,3) - 3)*5px),44px)}
.fs-hero :focus-visible,.fs-bandx :focus-visible,.fs-stub :focus-visible,.fs-pill :focus-visible,.fs-out :focus-visible{outline:3px solid #ffc531!important;outline-offset:3px}
body.fun .navbar a{padding:13px 14px!important}
.fs-boat .fs-sc a,.fs-card .fs-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
.fs-jump{padding:12px 16px}
.fs-hero.fs-center .fs-cta{justify-content:center;text-align:center}
.fs-hero.fs-keep em,.fs-hero.fs-keep i{font-style:normal}
/* doors: front is the button, back is a real panel that grows */
.fs-door{position:relative;min-height:230px}
.fs-door-front{width:100%;height:100%;cursor:pointer;border:3px solid var(--fs-ink)}
.fs-door.open{min-height:0}
.fs-door.open .fs-door-front{position:absolute;pointer-events:none}
.fs-door.open .fs-door-back{position:relative;inset:auto;overflow:visible}
.fs-door-back[hidden]{display:block;visibility:hidden}
.fs-door.open .fs-door-back{visibility:visible}
@media (max-width:640px){#fs-fleet .fs-board:not(.all) .fs-boat:nth-child(n+7){display:none}}
.fs-board-more{margin-top:14px}
@media (min-width:641px){.fs-board-more{display:none}}
