/* Seabound Journeys — Australia visual layer (au-ui.css)
   Three worlds: .au-syd harbour at golden hour · .au-bne jacaranda river dusk · .au-mel laneway and bay.
   Palette tokens override accent/tone only inside injected components and hero overlays. */

/* ------------------------------------------------------------- tokens */
body.au-syd{--u-ink:#0a1c36;--u-deep:#12305a;--u-mid:#1f4d86;--u-acc:#f6bb4a;--u-acc2:#ff8fa0;--u-hot:#ffd9a0;--u-text:#fdf4e6;--u-dim:#c8d3e8;--u-line:#f6bb4a;--u-line2:#4f7bbd;--u-link:#0b4a8f;--u-pill:#0f3f7c;--u-focus:#0b4a8f;--u-spot:rgba(246,187,74,.2);--u-btn-glow:rgba(255,143,160,.5);
  --u-disp:"Fraunces","Newsreader",Georgia,serif;--u-dw:800;--u-dls:-.02em}
body.au-bne{--u-ink:#1b0a2e;--u-deep:#35165a;--u-mid:#55267f;--u-acc:#d4b5ff;--u-acc2:#ff9ec7;--u-hot:#ffc79a;--u-text:#f9f1ff;--u-dim:#d3c3ea;--u-line:#d4b5ff;--u-line2:#8c5cc4;--u-link:#5a2a9c;--u-pill:#4c2290;--u-focus:#5a2a9c;--u-spot:rgba(212,181,255,.22);--u-btn-glow:rgba(190,110,230,.5);
  --u-disp:"Outfit","Bricolage Grotesque",system-ui,sans-serif;--u-dw:800;--u-dls:-.025em}
body.au-mel{--u-ink:#0f1b17;--u-deep:#1b2f28;--u-mid:#2c4c40;--u-acc:#f4e4b4;--u-acc2:#47bb86;--u-hot:#f8ae84;--u-text:#f7f2e4;--u-dim:#bfcdc4;--u-line:#f4e4b4;--u-line2:#4a7a68;--u-link:#1b6a44;--u-pill:#1b5e3f;--u-focus:#1b6a44;--u-spot:rgba(244,228,180,.2);--u-btn-glow:rgba(71,187,134,.5);
  --u-disp:"Archivo","Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;--u-dw:800;--u-dls:-.015em}
html{scroll-padding-top:var(--u-sticky,120px)}
body.aui :focus-visible{outline:3px solid var(--u-focus);outline-offset:3px;border-radius:4px}.au-board :focus-visible,.au-race :focus-visible,.au-scrub :focus-visible,.au-term :focus-visible,.au-mini :focus-visible,:is(.au-hero,.nb-hero,.hp-hero,header.hero) :focus-visible{outline-color:var(--u-acc)}

/* --------------------------------------------------------------- hero */
:is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-ah:clamp(300px,36vw,560px);position:relative;overflow:hidden;isolation:isolate}:is(.au-hero,.nb-hero,.hp-hero,header.hero)>svg.scene,:is(.au-hero,.nb-hero,.hp-hero,header.hero)>[data-art],:is(.au-hero,.nb-hero,.hp-hero,header.hero)>.hero-scene{display:none!important}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-stage{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-sky{position:absolute;inset:0;will-change:transform}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-sky .au-l{position:absolute;inset:0;width:100%;height:100%}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-art{position:absolute;left:-2%;right:-2%;bottom:0;height:var(--u-ah);max-height:100%}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-art .au-l{position:absolute;left:0;bottom:0;width:100%;height:100%;will-change:transform}body.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-ah:clamp(200px,26.2vw,420px)}body.au-syd :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.4}body.au-bne :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.396}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.411}body.au-syd.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-syd.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-syd.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.533}body.au-bne.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-bne.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-bne.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.529}body.au-mel.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-mel.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-mel.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero){--u-hz:.548}body.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-sky .au-ff,body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-sky .au-ff,body.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-sky .au-ff{display:none}:is(.au-hero,.nb-hero,.hp-hero,header.hero)>.wrap,:is(.au-hero,.nb-hero,.hp-hero,header.hero)>div:not(.au-stage){position:relative;z-index:2}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero) .au-grain{opacity:.32;mix-blend-mode:soft-light}

@media(max-width:760px){:is(.au-hero,.nb-hero,.hp-hero,header.hero){padding-bottom:calc(var(--u-ah)*.66)!important}body.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero),body.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero){padding-bottom:calc(var(--u-ah)*.5)!important}}
/* sky colours per port, glowing at the horizon the art draws */
body.au-syd :is(.au-hero,.nb-hero,.hp-hero,header.hero){background:
  radial-gradient(ellipse 62% 300px at 57.5% calc(100% - var(--u-ah)*var(--u-hz)),rgba(255,180,96,.55),transparent 72%),
  linear-gradient(180deg,#081631 0%,#1c2a5c 34%,#4e2f68 64%,#7d3e5c 100%)}body.au-bne :is(.au-hero,.nb-hero,.hp-hero,header.hero){background:
  radial-gradient(ellipse 50% 280px at 78% calc(100% - var(--u-ah)*var(--u-hz)),rgba(255,150,190,.42),transparent 72%),
  linear-gradient(180deg,#12061f 0%,#2a1050 36%,#5a2a7c 66%,#84366f 100%)}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero){background:
  radial-gradient(ellipse 50% 260px at 78% calc(100% - var(--u-ah)*var(--u-hz)),rgba(255,214,160,.5),transparent 72%),
  linear-gradient(180deg,#0f1822 0%,#243444 38%,#4f4a56 68%,#7a5656 100%)}
/* the site's own overlay is replaced by a scrim that serves the new art (text side only) */
body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
body.au-syd{--u-scrim:6,14,34}body.au-bne{--u-scrim:18,6,34}body.au-mel{--u-scrim:9,16,14}body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before{background:linear-gradient(90deg,rgba(var(--u-scrim),.72) 0%,rgba(var(--u-scrim),.52) 48%,rgba(var(--u-scrim),0) 78%),linear-gradient(180deg,rgba(var(--u-scrim),.36) 0%,rgba(var(--u-scrim),0) 30%,rgba(var(--u-scrim),0) 60%,rgba(var(--u-scrim),.3) 100%)}
@media(max-width:1000px){body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before{background:linear-gradient(90deg,rgba(var(--u-scrim),.82) 0%,rgba(var(--u-scrim),.66) 55%,rgba(var(--u-scrim),.52) 100%),linear-gradient(180deg,rgba(var(--u-scrim),.34) 0%,rgba(var(--u-scrim),.1) 40%,rgba(var(--u-scrim),.1) 60%,rgba(var(--u-scrim),.34) 100%)}}body.aui.au-guide :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before,body.aui.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before,body.aui.au-rental :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before{background:linear-gradient(0deg,rgba(var(--u-scrim),.74) 0,rgba(var(--u-scrim),.52) 150px,rgba(var(--u-scrim),0) 290px),linear-gradient(90deg,rgba(var(--u-scrim),.84) 0%,rgba(var(--u-scrim),.7) 52%,rgba(var(--u-scrim),.28) 84%,rgba(var(--u-scrim),.1) 100%),linear-gradient(180deg,rgba(var(--u-scrim),.3) 0%,rgba(var(--u-scrim),.12) 50%,rgba(var(--u-scrim),.3) 100%)}body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero)::before{background:linear-gradient(90deg,rgba(var(--u-scrim),.8) 0%,rgba(var(--u-scrim),.7) 60%,rgba(var(--u-scrim),.5) 100%),linear-gradient(180deg,rgba(var(--u-scrim),.3) 0%,rgba(var(--u-scrim),.1) 50%,rgba(var(--u-scrim),.34) 100%)}body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero)::after{z-index:1;opacity:calc(var(--dawn,0)*.3)}body.au-syd :is(.au-hero,.nb-hero,.hp-hero,header.hero){border-bottom:3px solid #f6bb4a}body.au-bne :is(.au-hero,.nb-hero,.hp-hero,header.hero){border-bottom:3px solid #d4b5ff}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero){border-bottom:5px solid #2f8f5a}:is(.au-hero,.nb-hero,.hp-hero,header.hero) .eyebrow,:is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .governing,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .hero-stats,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .quickfacts,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .hp-medal,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .hp-keys{text-shadow:0 1px 14px rgba(0,0,0,.45)}

/* parking: the page's own hero is a light, unboxed header; the layer boxes it over dark art, so its text is lifted to match */
body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero){padding:34px 30px 46px;border-radius:18px;margin-top:10px}body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero)>*:not(.au-stage):not(.au-grain){position:relative;z-index:2}body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero) .governing b,body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero) .governing .drv-aud{color:#fff}body.au-parking :is(.au-hero,.nb-hero,.hp-hero,header.hero) .governing{color:var(--u-text)}

:is(.au-hero,.nb-hero,.hp-hero,header.hero) .hp-ring *,:is(.au-hero,.nb-hero,.hp-hero,header.hero) .hp-flags{text-shadow:0 1px 8px rgba(0,0,0,.55)}
/* display type: h1, hero numbers, section kickers */
body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,body.aui .hp-h1{font-family:var(--u-disp);font-weight:var(--u-dw);letter-spacing:var(--u-dls)}body.au-syd :is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,body.au-syd .hp-h1{line-height:1.08}body.au-bne :is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,body.au-bne .hp-h1{line-height:1.04}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero) h1,body.au-mel .hp-h1{line-height:1.06}body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero) .hero-stats b,body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero) .qf-v{font-family:var(--u-disp);font-weight:var(--u-dw)}body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero) .eyebrow{color:var(--u-acc);display:flex;align-items:center;gap:12px}body.aui :is(.au-hero,.nb-hero,.hp-hero,header.hero) .eyebrow::before{content:"";flex:none;width:34px;height:2px;background:currentColor;opacity:.9}body.au-bne :is(.au-hero,.nb-hero,.hp-hero,header.hero) .eyebrow::before{width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f1e2ff,#b48ae6);box-shadow:0 0 0 4px rgba(212,181,255,.25)}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero) .eyebrow::before{width:26px;height:9px;border-radius:2px;background:linear-gradient(180deg,#f4e4b4 0 45%,#47bb86 45% 100%)}body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero) .hero-stats div,body.au-mel :is(.au-hero,.nb-hero,.hp-hero,header.hero) .quickfacts>div{border-left:3px solid #47bb86;padding-left:12px}body.au-syd :is(.au-hero,.nb-hero,.hp-hero,header.hero) .hero-stats{border-top-color:rgba(253,244,230,.4)}
body.aui .section-head .num{font-family:"Space Mono",monospace;color:var(--u-link);display:inline-flex;align-items:center;gap:10px}
body.au-syd .section-head .num::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,#f6bb4a,#ff8fa0)}
body.au-bne .section-head .num::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f1e2ff,#9a6bd6);box-shadow:0 0 0 3px rgba(150,100,220,.22)}
body.au-mel .section-head .num{font-family:var(--u-disp);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;color:#f4e4b4;background:#14281f;padding:3px 11px;border-radius:3px;border-bottom:3px solid #47bb86}
body.au-mel .section-head .num::before{display:none}

/* ------------------------------------------------- hero art animation */
@keyframes au-glide{from{transform:translateX(-480px)}to{transform:translateX(2100px)}}
@keyframes au-fly{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(var(--u-dx),var(--u-dy));opacity:.95}}
@keyframes au-tw{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes au-wf{0%,8%,100%{opacity:.1}10%,26%{opacity:1}28%,34%{opacity:.22}36%,62%{opacity:.95}64%,72%{opacity:.3}74%{opacity:.8}}
@keyframes au-shim{0%,100%{transform:scaleX(.55) translateX(0);opacity:.15}50%{transform:scaleX(1.5) translateX(3px);opacity:.55}}
@keyframes au-shimh{0%,100%{transform:translateX(-10px);opacity:.25}50%{transform:translateX(10px);opacity:.9}}
@keyframes au-trail{from{transform:translateX(calc(var(--u-k)*-1))}to{transform:translateX(var(--u-k))}}
@keyframes au-dash{to{stroke-dashoffset:-76}}
@keyframes au-dashr{from{stroke-dashoffset:-66}to{stroke-dashoffset:0}}
@keyframes au-neon{0%,100%{opacity:.5}45%{opacity:1}52%{opacity:.35}58%{opacity:1}}
@keyframes au-blink{0%,60%,100%{opacity:.15}30%{opacity:1}}
@keyframes au-tick{0%{transform:translateY(0);opacity:0}15%{opacity:.7}100%{transform:translateY(160px);opacity:0}}
@keyframes au-wake{0%{transform:scaleX(.8);opacity:.5}100%{transform:scaleX(1.12);opacity:.9}}
@keyframes au-spin{to{transform:rotate(360deg)}}
@keyframes au-spinr{to{transform:rotate(-360deg)}}
@keyframes au-sei{to{transform:translateX(-80px)}}
@keyframes au-seir{from{transform:translateX(-80px)}to{transform:translateX(0)}}
@keyframes au-drift{from{transform:translateX(-120px)}to{transform:translateX(120px)}}
@keyframes au-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.au-ship{animation:au-glide 130s linear infinite;animation-delay:-38s}
.au-ship{animation-name:au-cross}
.au-syd .au-ship{--u-x0:900px;--u-x1:1780px;animation-duration:84s;animation-delay:-26s}
.au-bne .au-ship{--u-x0:880px;--u-x1:1780px;animation-duration:66s;animation-delay:-30s}
.au-mel .au-ship{--u-x0:830px;--u-x1:1740px;animation-duration:46s;animation-delay:-12s}
@keyframes au-cross{0%{transform:translateX(var(--u-x0,880px));opacity:0}7%{opacity:1}93%{opacity:1}100%{transform:translateX(var(--u-x1,1780px));opacity:0}}
@keyframes au-soar{from{transform:translateX(-80px)}to{transform:translateX(1700px)}}
@keyframes au-flap{0%,100%{opacity:1}50%{opacity:.5}}
.au-soar{animation:au-soar var(--u-t,90s) linear infinite;animation-delay:var(--u-d,0s)}
.au-flap{animation:au-flap 1.8s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-bob{transform-box:fill-box;transform-origin:center bottom;animation:au-bob 4.2s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-ff{opacity:.55;animation:au-fly var(--u-t,12s) ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-tw{animation:au-tw 4.5s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-tw.a{animation-duration:7s}.au-tw.b{animation-duration:5s;animation-delay:-2s}
.au-wf{animation:au-wf var(--u-t,6s) linear infinite;animation-delay:var(--u-d,0s)}
.au-shim{transform-box:fill-box;transform-origin:center;animation:au-shim var(--u-t,4s) ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-shim.h{animation-name:au-shimh}
.au-trail{animation:au-trail var(--u-t,12s) ease-in-out infinite alternate;animation-delay:var(--u-d,0s)}
.au-dash{animation:au-dash 2.2s linear infinite}.au-dash.rev{animation:au-dashr 3s linear infinite}
.au-neon{animation:au-neon 3.4s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-blink{animation:au-blink 2.8s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-tick{animation:au-tick var(--u-t,9s) ease-in infinite;animation-delay:var(--u-d,0s)}
.au-wake{transform-box:fill-box;transform-origin:right center;animation:au-wake 2.2s ease-in-out infinite alternate}
.au-wake2{animation:au-tw 2.2s ease-in-out infinite}
.au-wl{animation:au-tw 6s ease-in-out infinite;animation-delay:var(--u-d,0s)}
.au-wheel{animation:au-spin 150s linear infinite}
.au-gond{animation:au-spinr 150s linear infinite}
.au-rimlights{animation:au-tw 2.4s ease-in-out infinite}
.au-sei{animation:au-sei var(--u-t,30s) linear infinite}.au-sei.rev{animation-name:au-seir}
.au-mist{animation:au-drift var(--u-t,50s) ease-in-out infinite alternate}
.au-sun{transform-box:fill-box;transform-origin:center;animation:au-breathe 14s ease-in-out infinite}:is(.au-hero,.nb-hero,.hp-hero,header.hero).au-paused *{animation-play-state:paused!important}

/* ---------------------------------------------- card art: each port's own place over the site's scenes */
body.au-syd{--u-sil:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 150%27 preserveAspectRatio=%27xMidYMax slice%27%3E%3Cg fill=%27none%27 stroke=%27%230b1730%27%3E%3Cpath d=%27M-6 140Q110 -34 226 140%27 stroke-width=%276%27/%3E%3Cpath d=%27M-6 150Q110 -4 226 150%27 stroke-width=%274%27/%3E%3Cpath d=%27M30 104V130M56 76V130M82 60V130M110 54V130M138 60V130M164 76V130M190 104V130%27 stroke-width=%271.6%27/%3E%3C/g%3E%3Crect x=%27-6%27 y=%27116%27 width=%27240%27 height=%276%27 fill=%27%230b1730%27/%3E%3Cg fill=%27%230b1730%27%3E%3Cpath d=%27M236 150C238 113 250 86 282 76C292 96 303 127 306 150zM262 150C263 119 274 96 301 88C310 105 320 131 322 150zM282 150C283 126 292 108 315 102C323 115 332 135 334 150zM318 150C319 128 329 112 353 106C362 118 372 136 374 150zM344 150C345 135 352 124 369 120C376 128 382 141 384 150z%27/%3E%3Crect x=%27228%27 y=%27140%27 width=%27172%27 height=%2710%27/%3E%3Crect x=%276%27 y=%27124%27 width=%2738%27 height=%2726%27/%3E%3Crect x=%2752%27 y=%27132%27 width=%2760%27 height=%2718%27/%3E%3C/g%3E%3Cg fill=%27%23ffd98a%27 opacity=%27.85%27%3E%3Crect x=%2712%27 y=%27134%27 width=%273%27 height=%273%27/%3E%3Crect x=%2724%27 y=%27134%27 width=%273%27 height=%273%27/%3E%3Crect x=%2760%27 y=%27140%27 width=%273%27 height=%273%27/%3E%3Crect x=%2776%27 y=%27140%27 width=%273%27 height=%273%27/%3E%3Crect x=%27240%27 y=%27144%27 width=%273%27 height=%273%27/%3E%3Crect x=%27300%27 y=%27144%27 width=%273%27 height=%273%27/%3E%3C/g%3E%3Crect y=%27146%27 width=%27400%27 height=%274%27 fill=%27%230b1730%27/%3E%3C/svg%3E");--u-tint:linear-gradient(180deg,rgba(10,22,52,.42) 0%,rgba(40,50,100,.16) 55%,rgba(255,170,100,.2) 100%)}
body.au-bne{--u-sil:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 150%27 preserveAspectRatio=%27xMidYMax slice%27%3E%3Cg fill=%27%23170a2e%27%3E%3Crect x=%274%27 y=%2780%27 width=%2722%27 height=%2770%27/%3E%3Crect x=%2730%27 y=%2746%27 width=%2718%27 height=%27104%27/%3E%3Crect x=%2752%27 y=%2766%27 width=%2726%27 height=%2784%27/%3E%3Crect x=%2782%27 y=%2730%27 width=%2716%27 height=%27120%27/%3E%3Crect x=%27102%27 y=%2758%27 width=%2724%27 height=%2792%27/%3E%3Crect x=%27130%27 y=%2786%27 width=%2720%27 height=%2764%27/%3E%3Crect x=%27186%27 y=%27110%27 width=%27214%27 height=%276%27/%3E%3Cpath d=%27M216 150L222 116H230L236 150zM334 150L340 116H348L354 150z%27/%3E%3C/g%3E%3Cg fill=%27none%27 stroke=%27%23170a2e%27%3E%3Cpath d=%27M196 112L236 40Q290 82 344 40L384 112%27 stroke-width=%274%27/%3E%3Cpath d=%27M200 104V112M212 83V112M224 61V112M236 40V112M248 54V112M260 66V112M272 76V112M284 81V112M296 81V112M308 76V112M320 66V112M332 54V112M344 40V112M356 61V112M368 83V112M380 104V112%27 stroke-width=%271.2%27/%3E%3C/g%3E%3Cg fill=%27%238456c6%27%3E%3Ccircle cx=%27372%27 cy=%2796%27 r=%2720%27/%3E%3Ccircle cx=%27388%27 cy=%27110%27 r=%2717%27/%3E%3Ccircle cx=%27356%27 cy=%27108%27 r=%2715%27/%3E%3C/g%3E%3Cpath d=%27M372 150V104%27 stroke=%27%23170a2e%27 stroke-width=%275%27/%3E%3Cg fill=%27%23ffd0a0%27 opacity=%27.8%27%3E%3Crect x=%2710%27 y=%2796%27 width=%273%27 height=%273%27/%3E%3Crect x=%2738%27 y=%2780%27 width=%273%27 height=%273%27/%3E%3Crect x=%2760%27 y=%27104%27 width=%273%27 height=%273%27/%3E%3Crect x=%2788%27 y=%2770%27 width=%273%27 height=%273%27/%3E%3Crect x=%27108%27 y=%2796%27 width=%273%27 height=%273%27/%3E%3C/g%3E%3Crect y=%27146%27 width=%27400%27 height=%274%27 fill=%27%23170a2e%27/%3E%3C/svg%3E");--u-tint:linear-gradient(180deg,rgba(24,8,44,.46) 0%,rgba(90,40,130,.2) 55%,rgba(255,150,200,.2) 100%)}
body.au-mel{--u-sil:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 150%27 preserveAspectRatio=%27xMidYMax slice%27%3E%3Cg fill=%27%2310181a%27%3E%3Cpath d=%27M-4 150V84l15 -14v14l15 -14v14l15 -14v14V150z%27/%3E%3Cpath d=%27M46 150V84l17 -14v14l17 -14v14l17 -14v14V150z%27/%3E%3Cpath d=%27M102 150V84l13 -14v14l13 -14v14l13 -14v14V150z%27/%3E%3Cpath d=%27M146 150V84l19 -14v14l19 -14v14l19 -14v14V150z%27/%3E%3Crect x=%27250%27 y=%27132%27 width=%27150%27 height=%276%27/%3E%3Cpath d=%27M262 138V104M300 138V104M338 138V104M376 138V104%27 stroke=%27%2310181a%27 stroke-width=%273%27/%3E%3Crect x=%27170%27 y=%2796%27 width=%27150%27 height=%2734%27 rx=%276%27/%3E%3C/g%3E%3Cg fill=%27%23f3e4b8%27%3E%3Crect x=%27176%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27190%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27204%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27218%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27232%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27246%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27260%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3Crect x=%27274%27 y=%27104%27 width=%279%27 height=%279%27 rx=%271%27/%3E%3C/g%3E%3Crect x=%27170%27 y=%27120%27 width=%27150%27 height=%276%27 fill=%27%232f8f5a%27/%3E%3Cpath d=%27M0 78H400%27 stroke=%27%2310181a%27 stroke-width=%271%27 opacity=%27.0%27/%3E%3Cg fill=%27%23ffd48a%27%3E%3Ccircle cx=%27262%27 cy=%27102%27 r=%273%27/%3E%3Ccircle cx=%27300%27 cy=%27102%27 r=%273%27/%3E%3Ccircle cx=%27338%27 cy=%27102%27 r=%273%27/%3E%3Ccircle cx=%27376%27 cy=%27102%27 r=%273%27/%3E%3C/g%3E%3Crect y=%27144%27 width=%27400%27 height=%276%27 fill=%27%2310181a%27/%3E%3C/svg%3E");--u-tint:linear-gradient(180deg,rgba(12,22,24,.5) 0%,rgba(50,70,70,.2) 50%,rgba(220,150,110,.22) 100%)}
.aui .hc-art::before,.aui .pod .art::before,.aui .spc-art::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--u-sil) center bottom/100% auto no-repeat,var(--u-tint)}
.aui .hc-art,.aui .pod .art,.aui .spc-art{position:relative}
.aui .hc-art .num,.aui .hc-art .kind,.aui .pod .art .num,.aui .spc-art .spc-k{z-index:3}
body.aui:not(.au-x) .hc-art svg,body.aui .pod .art svg{filter:saturate(.85)}

/* ---------------------------------------------------- progress line */
.au-prog{position:fixed;left:0;right:0;top:0;height:3px;z-index:1200;pointer-events:none;opacity:0;transition:opacity .3s}
.au-prog.on{opacity:1}
.au-prog-bar{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--u-acc2),var(--u-acc));box-shadow:0 0 12px var(--u-acc)}
.au-prog-ship{position:absolute;left:0;top:3px;width:30px;height:19px;padding:2px 4px;border-radius:0 0 9px 9px;background:var(--u-ink);color:var(--u-acc);display:block;will-change:transform}
.au-prog-ship svg{display:block;width:100%;height:100%}

/* ----------------------------------------------- section chip nav */
.navbar .wrap{position:relative}
.navbar a{position:relative;z-index:1}
.au-pill{position:absolute;left:0;top:12px;bottom:12px;width:0;border-radius:100px;background:var(--u-pill);z-index:0;opacity:0;pointer-events:none;transition:transform .38s cubic-bezier(.2,.8,.2,1),width .38s cubic-bezier(.2,.8,.2,1),opacity .2s;will-change:transform}
.navbar a.au-on,.navbar a.au-on:hover,.navbar a.au-on:focus{color:#fff;background:transparent}
.navbar a:hover,.navbar a:focus{background:var(--u-pill)}

/* ----------------------------------------------- shared chips / kickers */
.au-k{display:block;font:11px/1.2 "Space Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--u-acc)}
.au-chip{font:12px/1.1 "Space Mono",monospace;letter-spacing:.03em;padding:10px 13px;min-height:40px;border-radius:100px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.07);color:var(--u-text);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.au-chip:hover{border-color:var(--u-acc);transform:translateY(-1px)}
.au-chip[aria-pressed="true"]{background:var(--u-acc);border-color:var(--u-acc);color:var(--u-ink);font-weight:700}
.au-chip svg{width:14px;height:14px}
.au-tabs{display:flex;flex-wrap:wrap;gap:6px}
.au-replay svg{transition:transform .35s}.au-replay:hover svg{transform:translateX(3px)}

/* ----------------------------------------------------- hub board */
.au-board{position:relative;margin:26px 0 24px;padding:22px 22px 14px;border-radius:22px;color:var(--u-text);background:radial-gradient(120% 80% at 90% 0%,var(--u-mid),transparent 60%),linear-gradient(165deg,var(--u-deep),var(--u-ink));box-shadow:0 30px 60px -34px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden;isolation:isolate}
.au-board::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.au-board-top{display:flex;flex-wrap:wrap;gap:14px 20px;justify-content:space-between;align-items:flex-end}
.au-board-h,.au-race-h{font-family:var(--u-disp);font-weight:var(--u-dw);font-size:clamp(24px,3.4vw,32px);letter-spacing:var(--u-dls);line-height:1.05;color:#fff;margin:8px 0 0}
.au-strip{display:flex;flex-wrap:wrap;gap:6px}
.au-board-stage{position:relative;margin:14px -6px 0}
.au-board-svg{display:block;width:100%;height:auto;overflow:visible}
.au-board-svg .ax{stroke:rgba(255,255,255,.1);stroke-dasharray:2 5}
.au-board-svg .ax.brk{stroke:var(--u-acc);stroke-opacity:.5;stroke-dasharray:6 6}
.au-board-svg .axt{fill:var(--u-dim);font:10px "Space Mono",monospace;letter-spacing:.04em}
.au-board-svg .rt{fill:none;stroke:var(--u-line2);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:var(--u-len,600);stroke-dashoffset:var(--u-len,600);transition:stroke .25s,stroke-width .25s,opacity .3s}
.au-board.au-drawn .rt{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s cubic-bezier(.2,.7,.2,1) calc(var(--u-n,0)*55ms),stroke .25s,stroke-width .25s,opacity .3s}
.au-board-svg .rt.on{stroke:var(--u-acc);stroke-width:3}
.au-board-svg .dot{fill:var(--u-acc);opacity:0;offset-rotate:0deg;offset-distance:0%;animation:au-move 4s linear infinite;transition:opacity .4s .9s}
.au-board:not(.au-run) .dot{animation-play-state:paused}
@keyframes au-move{to{offset-distance:100%}}
.au-board.au-drawn .dot{opacity:.85}
.au-board-svg .tn circle{fill:var(--u-mid);stroke:var(--u-acc);stroke-width:2}
.au-board-svg .tn .pulse{fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:au-pulse 3.2s ease-out infinite}
.au-board-svg .tg{color:var(--u-acc);fill:var(--u-acc)}
.au-board-svg .tg path{fill:var(--u-acc);stroke:var(--u-acc)}
.au-board-svg .tl{fill:#fff;font:600 12px "Bricolage Grotesque",system-ui,sans-serif;letter-spacing:.01em}
.au-board-svg .hn{cursor:pointer;opacity:0;transform-box:fill-box;transition:opacity .4s calc(var(--u-n,0)*55ms + .4s)}
.au-board.au-drawn .hn{opacity:1}
.au-board-svg .hn .hr{fill:none;stroke:var(--u-acc);stroke-opacity:calc(.3 + var(--u-k,.5)*.7);stroke-width:2;transition:stroke-width .2s,r .2s}
.au-board-svg .hn .hc2{fill:var(--u-deep);fill:color-mix(in srgb,var(--u-acc) calc(var(--u-k,.5)*55%),var(--u-ink));stroke:rgba(255,255,255,.2);transition:fill .2s}
.au-board-svg .hn text{fill:#fff;font:700 11px "Space Mono",monospace;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.5);stroke-width:2.5px}
.au-board-svg .hn.has-ride .hr{stroke-dasharray:none}
.au-board-svg .hn:not(.has-ride) .hr{stroke-dasharray:3 3}
.au-board-svg .hn:focus{outline:none}
.au-board-svg .hn:focus-visible .hr{stroke:#fff;stroke-width:3.4}
.au-board-svg .hn.on .hr{stroke:#fff;stroke-width:3.4;stroke-opacity:1}
.au-board-svg .hn.on .hc2{fill:var(--u-acc);stroke:#fff}
.au-board-svg .hn.on text{fill:var(--u-ink);stroke:none}
.au-board.has-hot .hn:not(.on),.au-board.has-hot .rt:not(.on),.au-board.has-hot .dot:not(.on){opacity:.22}
.au-board-svg .off{opacity:.07!important;pointer-events:none}
.au-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;background:#fff;color:#12262a;border-radius:12px;padding:10px 13px;max-width:270px;box-shadow:0 18px 34px -14px rgba(0,0,0,.6);font:14px/1.35 "Newsreader",Georgia,serif;transition:transform .12s ease-out}
.au-tip[hidden]{display:none}
.au-tip b{display:block;font:700 14px/1.25 "Bricolage Grotesque",system-ui,sans-serif;margin-bottom:3px}
.au-tip span{display:block}.au-tip .dim{color:#4a5b5b;font-size:13px}.au-tip .ride{margin-top:4px;color:var(--u-link);font:700 11px/1.3 "Space Mono",monospace;letter-spacing:.03em}
.au-board-foot{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:center;margin-top:8px;font:11px/1.3 "Space Mono",monospace;color:var(--u-dim);letter-spacing:.04em}
.au-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.au-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--u-acc);margin-right:-6px}
.au-legend .lg-term{background:var(--u-mid)}.au-legend .lg-hot{background:var(--u-ink)}.au-legend .lg-bar{border:0;border-radius:2px;width:18px;height:2px;background:var(--u-line2)}
@keyframes au-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.hc.au-hl,.spc.au-hl{box-shadow:0 0 0 2px var(--u-link),0 24px 46px -26px rgba(11,49,56,.7)!important;transition:box-shadow .25s}
.au-flash{animation:au-flash 1.5s ease-out 1}
@keyframes au-flash{0%{box-shadow:0 0 0 0 var(--u-link),0 0 0 0 rgba(255,255,255,0)}18%{box-shadow:0 0 0 3px var(--u-link),0 0 0 14px rgba(120,120,120,.16)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
[data-au-hide]{display:none!important}
.au-leave{opacity:0!important;transform:scale(.97)!important;transition:opacity .2s,transform .2s!important}
.au-enter{animation:au-pop .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes au-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* ----------------------------------------------- hotel: scrubber */
.au-scrub{position:relative;margin:18px 0 22px;padding:18px 18px 14px;border-radius:20px;background:linear-gradient(170deg,var(--u-deep),var(--u-ink));color:var(--u-text);box-shadow:0 26px 50px -32px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.au-sc-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.au-sc-n{font:12px "Space Mono",monospace;color:var(--u-dim)}
.au-sc-track{position:relative;height:96px;margin:14px 46px 0;touch-action:pan-y;cursor:ew-resize}
.au-sc-line,.au-sc-fill{position:absolute;left:0;right:0;top:27px;height:3px;border-radius:2px}
.au-sc-line{background:rgba(255,255,255,.18)}
.au-sc-fill{background:linear-gradient(90deg,var(--u-acc2),var(--u-acc));transform-origin:0 50%;transform:scaleX(0);transition:transform .7s cubic-bezier(.3,.8,.2,1);box-shadow:0 0 14px var(--u-acc)}
.au-scrub.drag .au-sc-fill,.au-scrub.drag .au-sc-ship{transition:none}
.au-sc-ship{position:absolute;top:2px;left:0;width:34px;height:22px;margin-left:-17px;color:var(--u-acc);transition:left .7s cubic-bezier(.3,.8,.2,1);pointer-events:none;filter:drop-shadow(0 0 8px var(--u-acc));animation:au-bob 3.4s ease-in-out infinite}
.au-sc-ship svg{display:block;width:100%;height:100%}
@keyframes au-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-1.5deg)}}
.au-sc-step{position:absolute;top:10px;left:var(--u-p);transform:translateX(-50%);background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:48px;cursor:pointer;color:var(--u-dim);font-family:inherit}
.au-sc-step .g{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1;background:var(--u-ink);border:2px solid rgba(255,255,255,.3);color:var(--u-text);transition:transform .3s,background .3s,border-color .3s,color .3s}
.au-sc-step .l{font:10px/1.25 "Space Mono",monospace;letter-spacing:.07em;text-transform:uppercase;max-width:88px;text-align:center}
.au-sc-step:hover .g{border-color:var(--u-acc)}
.au-sc-step.done .g{border-color:var(--u-acc2)}
.au-sc-step.on .g{background:var(--u-acc);border-color:var(--u-acc);color:var(--u-ink);transform:scale(1.14);box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.au-sc-step.on{color:#fff}
.au-sc-cap{margin-top:2px;min-height:2.7em;display:flex;align-items:center}
.au-sc-cap b{font:var(--u-dw) clamp(17px,2.4vw,21px)/1.25 var(--u-disp);color:#fff;letter-spacing:var(--u-dls)}
.au-sc-ctl{display:flex;gap:8px;margin-top:8px}
.au-sc-b{min-height:40px;min-width:44px;padding:0 14px;border-radius:100px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:var(--u-text);font:12px "Space Mono",monospace;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.au-sc-b:hover{border-color:var(--u-acc)}
.au-sc-b svg{width:16px;height:16px}.au-sc-b.prev svg{transform:scaleX(-1)}
.tl-i.au-active .tl-h{color:var(--u-link)}
.tl-i.au-active .tl-dot{box-shadow:0 0 0 5px rgba(120,160,170,.22);transform:scale(1.12);transition:box-shadow .3s,transform .3s}
.tl-i{transition:opacity .5s ease,transform .5s ease,background .3s}
.tl-i.au-active{background:linear-gradient(90deg,rgba(120,160,170,.13),transparent 70%);border-radius:10px}
@media(max-width:560px){.au-sc-track{margin:14px 34px 0}.au-sc-step .l{max-width:64px;font-size:9px;letter-spacing:.04em}.au-sc-step{min-width:42px}}

/* hotel: sticky mini header */
.au-mini{position:fixed;left:0;right:0;top:0;z-index:40;transform:translateY(-120%);opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s;background:rgba(10,14,18,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-bottom:2px solid var(--u-acc);pointer-events:none}
.au-mini.on{transform:none;opacity:1;pointer-events:auto}
.au-mini-in{max-width:920px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;gap:12px;min-height:50px}
.au-mini-rk{font:700 12px "Space Mono",monospace;letter-spacing:.06em;color:var(--u-acc);white-space:nowrap}
.au-mini-n{flex:1;min-width:0;font:700 16px/1.2 "Bricolage Grotesque",system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.au-mini-sc{display:flex;align-items:center;gap:6px;font:700 15px "Space Mono",monospace;white-space:nowrap}
.au-mini-sc i{width:26px;height:26px;border-radius:50%;background:conic-gradient(var(--u-acc) calc(var(--u-v)*1%),rgba(255,255,255,.2) 0);-webkit-mask:radial-gradient(circle 8px,transparent 98%,#000);mask:radial-gradient(circle 8px,transparent 98%,#000)}
.au-mini-sc em{font-style:normal}.au-mini-sc small{font-size:11px;opacity:.75}
.au-mini-key{font:12px "Space Mono",monospace;color:var(--u-acc);white-space:nowrap}
.au-mini-bk{flex:none;min-height:40px;padding:0 16px;border-radius:100px;border:0;background:var(--u-acc);color:var(--u-ink);font:700 13px "Bricolage Grotesque",system-ui,sans-serif;cursor:pointer;transition:transform .2s,box-shadow .2s}
.au-mini-bk:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px var(--u-btn-glow)}
@media(max-width:600px){.au-mini-in{padding:6px 14px;gap:8px}.au-mini-key{display:none}.au-mini-n{font-size:14px}.au-mini-bk{padding:0 12px;font-size:12px}}

/* score ring / bars in the port's colours */
body.aui .hp-dial .val{stroke:var(--u-acc)}
body.au-syd .hp-dial .val{stroke:#f6bb4a;filter:drop-shadow(0 0 6px rgba(246,187,74,.55))}
body.au-bne .hp-dial .val{stroke:#c9a0ff;filter:drop-shadow(0 0 6px rgba(201,160,255,.55))}
body.au-mel .hp-dial .val{stroke:#47bb86;filter:drop-shadow(0 0 6px rgba(71,187,134,.5))}
.sm-bar i{background-image:linear-gradient(90deg,var(--u-acc2),var(--u-acc))}
.sm-anim .sm-bar i{transition-timing-function:cubic-bezier(.2,.8,.2,1)}

/* ------------------------------------------------- races + routes */
.au-race{position:relative;margin:22px 0 26px;padding:22px;border-radius:22px;color:var(--u-text);background:radial-gradient(110% 90% at 0% 0%,var(--u-mid),transparent 55%),linear-gradient(165deg,var(--u-deep),var(--u-ink));box-shadow:0 30px 60px -36px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.au-race[hidden]{display:none}
.au-race-top{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.au-race-ctl{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.au-lanes{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.au-lane{position:relative;display:grid;grid-template-columns:minmax(130px,34%) 1fr 108px;gap:4px 14px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.08)}
.au-lane:first-child{border-top:0}
.au-lane .nm{font:15px/1.3 "Newsreader",Georgia,serif;color:var(--u-text)}
.au-lane.rental .nm{color:var(--u-hot);font-weight:600}
.au-lane .bar{position:relative;height:16px;border-radius:8px;background:rgba(255,255,255,.07)}
.au-lane .b1,.au-lane .b2{position:absolute;top:0;bottom:0;left:0;border-radius:8px;width:0}
.au-lane .b1{background:linear-gradient(90deg,var(--u-line2),var(--u-acc2))}
.au-lane.best .b1{background:linear-gradient(90deg,var(--u-acc2),var(--u-acc))}
.au-lane.rental .b1{background:linear-gradient(90deg,#8a3b2c,var(--u-hot))}
.au-lane .b2{left:var(--u-w);background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 4px,transparent 4px 8px);opacity:0}
.au-lane .rider{position:absolute;top:50%;left:0;width:30px;height:19px;margin-top:-9.5px;color:#fff;transform:translateX(-100%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));opacity:0}
.au-lane .rider svg{display:block;width:100%;height:100%}
.au-lane .v{font:700 15px/1.2 "Space Mono",monospace;text-align:right;color:#fff;display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}
.au-lane .flag{font:700 9px/1 "Space Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--u-ink);background:var(--u-acc);padding:3px 6px;border-radius:99px;font-style:normal}
.au-race.go .b1{animation:au-bar 1.25s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--u-i,0)*110ms)}
.au-race.go .b2{animation:au-bar2 .6s ease-out both;animation-delay:calc(var(--u-i,0)*110ms + 1.1s)}
.au-race.go .rider{animation:au-rider 1.25s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--u-i,0)*110ms)}
.au-race:not(.go) .rider{opacity:0}
@keyframes au-bar{from{width:0}to{width:var(--u-w)}}
@keyframes au-bar2{from{opacity:0;width:0}to{opacity:1;width:calc(var(--u-w2) - var(--u-w))}}
@keyframes au-rider{from{left:0;opacity:1}to{left:var(--u-w);opacity:1}}
.au-race:not(.go) .b1{width:0}
.au-race.go .rider{opacity:1}
.au-race-note{margin:12px 0 0;font:12px/1.5 "Space Mono",monospace;color:var(--u-dim)}
.au-race-top .au-chip{min-height:36px;padding:8px 12px}
@media(max-width:620px){.au-lane{grid-template-columns:1fr auto;grid-template-areas:"nm v" "bar bar"}.au-lane .nm{grid-area:nm}.au-lane .v{grid-area:v;flex-direction:row;align-items:center;gap:8px}.au-lane .bar{grid-area:bar}.au-race{padding:18px 16px}}

.au-routes{display:grid;gap:12px;margin:14px 16px 4px;padding:14px 14px 12px;border-radius:14px;background:linear-gradient(165deg,var(--u-deep),var(--u-ink));color:var(--u-text)}
.au-rt-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"b b" "a line";gap:5px 10px;align-items:center}
.au-rt-b{grid-area:b;font:13px/1.3 "Newsreader",Georgia,serif;color:var(--u-text)}
.au-rt-a{grid-area:a;font:700 11px "Space Mono",monospace;letter-spacing:.08em;color:var(--u-acc)}
.au-rt-line{grid-area:line;position:relative;height:18px}
.au-rt-line i{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,var(--u-line2) 0 8px,transparent 8px 14px);opacity:.9}
.au-rt-line::after{content:"";position:absolute;right:0;top:50%;width:9px;height:9px;margin:-4.5px -2px 0 0;border-radius:50%;background:var(--u-acc);box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.au-rt-ic{position:absolute;top:0;left:0;width:26px;height:17px;color:var(--u-acc);animation:au-travel 5.2s cubic-bezier(.45,.05,.4,.95) infinite;animation-delay:calc(var(--u-i,0)*.45s)}
.au-rt-ic svg{display:block;width:100%;height:100%}
@keyframes au-travel{0%{left:0;opacity:0}12%{opacity:1}78%{left:calc(100% - 30px);opacity:1}92%,100%{left:calc(100% - 30px);opacity:0}}

/* ------------------------------------------------- splurge hub */
.au-rail{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 16px;margin:6px 0 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.au-rate{flex:none;scroll-snap-align:start;display:grid;gap:3px;min-width:170px;max-width:240px;padding:12px 15px 13px;border-radius:14px;text-decoration:none!important;color:#fff!important;background:linear-gradient(160deg,var(--u-deep),var(--u-ink));border:1px solid rgba(255,255,255,.1);transition:transform .25s,box-shadow .25s,border-color .25s;background-image:none,linear-gradient(160deg,var(--u-deep),var(--u-ink))}
.au-rate:hover,.au-rate:focus-visible{transform:translateY(-3px);border-color:var(--u-acc);box-shadow:0 16px 30px -16px rgba(0,0,0,.6)}
.au-rate .n{font:var(--u-dw) 16px/1.2 var(--u-disp);letter-spacing:var(--u-dls)}
.au-rate .r{font:700 10px/1.35 "Space Mono",monospace;letter-spacing:.06em;color:var(--u-acc);text-transform:uppercase}
.au-rate .d{font:11px/1.3 "Space Mono",monospace;color:var(--u-dim)}
.au-dimother .spc:not(.au-hl){opacity:.55;transition:opacity .25s}
.spc-art{overflow:hidden}
.spc.rv .spc-art svg{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.sm-anim .spc.rv:not(.in) .spc-art{clip-path:inset(0 0 100% 0)}
.sm-anim .spc.rv .spc-art{clip-path:inset(0 0 0 0);transition:clip-path 1s cubic-bezier(.2,.8,.2,1) .15s}
.sm-anim .spc.rv:not(.in) .spc-art svg{transform:scale(1.14)}
.spc:hover .spc-art svg{transform:scale(1.06)}

/* ------------------------------------------------- guide terminals */
.au-term{margin:22px 0 22px;padding:20px 20px 18px;border-radius:22px;color:var(--u-text);background:radial-gradient(110% 90% at 100% 0%,var(--u-mid),transparent 55%),linear-gradient(165deg,var(--u-deep),var(--u-ink));box-shadow:0 30px 60px -36px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.06)}
.au-term-svg{display:block;width:100%;height:auto;margin:10px 0 6px;overflow:visible}
.au-term-svg .shore{fill:#0b1218;fill:var(--u-ink);stroke:var(--u-line2);stroke-width:1.5}
.au-term-svg .surf{fill:none;stroke:var(--u-line2);stroke-width:1.5;opacity:.7;animation:au-surf 6s linear infinite}
@keyframes au-surf{to{transform:translateX(-64px)}}
.au-term-svg .pier{cursor:pointer}
.au-term-svg .pier .stem{stroke:var(--u-line2);stroke-width:3}
.au-term-svg .pier .deck{fill:var(--u-mid);stroke:var(--u-acc);stroke-width:1.4;transition:fill .3s}
.au-term-svg .pier .lamp{fill:var(--u-dim);transition:fill .3s}
.au-term-svg .pier.on .deck{fill:var(--u-acc)}
.au-term-svg .pier.on .lamp{fill:#fff;animation:au-tw 1.6s ease-in-out infinite}
.au-term-ship{transition:transform .9s cubic-bezier(.3,.8,.2,1);color:var(--u-acc)}
.au-term-ship .v{animation:au-bob 3.4s ease-in-out infinite}
.au-term-ship svg{overflow:visible}
.au-term-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.au-term-card{margin-top:8px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);min-height:96px;border-left:3px solid var(--u-acc)}
.au-term-card .n{display:block;font:var(--u-dw) 19px/1.2 var(--u-disp);letter-spacing:var(--u-dls);color:#fff}
.au-term-card .l{display:block;margin:3px 0 6px;font:12px/1.4 "Space Mono",monospace;color:var(--u-acc)}
.au-term-card .t{margin:0;font:16px/1.5 "Newsreader",Georgia,serif;color:var(--u-text)}
.au-pick{margin-top:18px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.2)}
.au-pick-out{margin-top:8px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;min-height:0}
.au-pick-out.on{opacity:1;transform:none}
.au-pick-out b{display:block;font:700 14px/1.3 "Bricolage Grotesque",system-ui,sans-serif;color:#fff;margin-bottom:3px}
.au-pick-out span{font:15px/1.5 "Newsreader",Georgia,serif}

/* --------------------------------------------- reveals + motion language */
.au-rv{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--u-si,0)*70ms)}
.au-rv.au-in{opacity:1;transform:none}
.sm-anim body.au-syd .rv{transform:translateY(24px) scale(.985);transition-delay:calc(var(--u-si,0)*75ms)}
.sm-anim body.au-bne .rv{transform:translateY(30px);transition-delay:calc(var(--u-si,0)*90ms);transition-duration:.95s}
.sm-anim body.au-mel .rv{transform:translateX(-34px);transition-delay:calc(var(--u-si,0)*55ms);transition-duration:.55s}
.sm-anim body.au-syd .rv.in,.sm-anim body.au-bne .rv.in,.sm-anim body.au-mel .rv.in{transform:none}
.au-verdict{animation:au-verdict 1.6s ease-out 1}
@keyframes au-verdict{0%{box-shadow:0 0 0 0 rgba(255,138,99,0)}25%{box-shadow:0 0 0 6px rgba(150,150,150,.18)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}

/* ------------------------------------------------ micro-interactions */
.au-card{--u-mx:50%;--u-my:50%}
.au-spot{position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(380px circle at var(--u-mx) var(--u-my),var(--u-spot),transparent 62%)}
.au-card:hover>.au-spot{opacity:1}
main .btn,main .cta-bk{translate:var(--u-tx,0px) var(--u-ty,0px);transition:translate .18s ease-out,transform .25s,box-shadow .25s,background .25s,color .25s}
main .btn:hover,main .cta-bk:hover{transform:translateY(-2px);box-shadow:0 14px 26px -12px var(--u-btn-glow)}
main .btn:active{transform:translateY(0) scale(.98)}
.prose a,.lede a,.calc-note a,.cta-note a,.verdict a,.faq a{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(100,110,110,.5);background:linear-gradient(var(--u-link),var(--u-link)) 0 100%/0 2px no-repeat;transition:background-size .3s ease,color .2s}
.prose a:hover,.lede a:hover,.calc-note a:hover,.cta-note a:hover,.verdict a:hover,.faq a:hover{background-size:100% 2px}

/* ----------------------------------------------------- reduced motion */
@media(prefers-reduced-motion:reduce){
:is(.au-hero,.nb-hero,.hp-hero,header.hero) *,.au-board *,.au-race *,.au-scrub *,.au-term *,.au-routes *,.au-prog *,.au-rv,.au-mini,.au-rate,.au-spot{animation:none!important;transition:none!important}
  .au-rv{opacity:1;transform:none}
  .au-board .rt{stroke-dashoffset:0}.au-board .hn,.au-board .dot{opacity:1}
  .au-race .b1{width:var(--u-w)}.au-race .rider{left:var(--u-w);opacity:1}.au-race .b2{opacity:1;width:calc(var(--u-w2) - var(--u-w))}
  .au-rt-ic{left:calc(100% - 30px);opacity:1}
  .spc .spc-art{clip-path:none!important}
}
@media print{.au-stage,.au-prog,.au-mini,.au-board,.au-race,.au-scrub,.au-routes,.au-term,.au-rail{display:none!important}}

/* 320px safety: the page's own nearby-list values are nowrap; let them wrap instead of widening the page */
@media(max-width:420px){body.aui .nb li b{white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:46vw}}
