
/* ---------- Base tokens (= "Outback Sunset", the original look) ---------- */
:root{--hf:"Archivo Black",Impact,sans-serif;--bf:"Inter",system-ui,sans-serif;--up:uppercase;--r:10px;--br:999px;
--bg:#fbf1e2;--bg2:#f3dcc0;--ink:#2b1810;--mut:#6e4f40;--acc:#d2491c;--acc2:#0f7c86;--card:#fff;--line:#ecd0af;--onacc:#fff;--onacc2:#fff;
--g1:#22265a;--gm:#7a3358;--g2:#d8574b;--g3:#ffb84d;--hi:#fff;--em:#f2a878;--m1:#7d2f2a;--m2:#a63c1f;--sun:#ffe08a;
--sea:#137f8a;--tree:#2b1810;--rig:#24101a;--nav:rgba(0,0,0,.18);--navs:rgba(43,24,16,.92);--j1:var(--g2);--j2:var(--acc2)}

/* ---------- Themes: each one only overrides tokens (plus a few flourishes) ---------- */

/* Night Camp: deep navy sky, campfire orange, moon instead of sun */
:root[data-theme=night]{--r:12px;--bg:#0e1424;--bg2:#141c33;--ink:#eef1fa;--mut:#a3adc9;--acc:#ff8a3d;--acc2:#3fc1c9;--card:#1a2440;--line:#2a3658;--onacc:#1a0e05;--onacc2:#06222a;
--g1:#050814;--gm:#141a45;--g2:#2a2a66;--g3:#a2513f;--em:#ffb37a;--m1:#1d2a55;--m2:#131c3f;--sun:#f4f0d8;--sea:#10314d;--tree:#04060d;--rig:#04060d;--nav:rgba(5,8,20,.35);--navs:rgba(8,12,28,.92);--j1:#1b2a5e;--j2:#0b6f78}
[data-theme=night] .hero::before{content:"";position:absolute;inset:0;background:
radial-gradient(1.5px 1.5px at 8% 14%,#fff,transparent),radial-gradient(1px 1px at 17% 32%,#fff,transparent),radial-gradient(2px 2px at 26% 9%,#fff,transparent),
radial-gradient(1px 1px at 35% 24%,#fff,transparent),radial-gradient(1.5px 1.5px at 47% 12%,#fff,transparent),radial-gradient(1px 1px at 58% 30%,#fff,transparent),
radial-gradient(2px 2px at 66% 8%,#fff,transparent),radial-gradient(1px 1px at 74% 22%,#fff,transparent),radial-gradient(1.5px 1.5px at 83% 13%,#fff,transparent),
radial-gradient(1px 1px at 92% 28%,#fff,transparent),radial-gradient(1px 1px at 12% 46%,#fff,transparent),radial-gradient(1.5px 1.5px at 40% 44%,#fff,transparent),
radial-gradient(1px 1px at 88% 48%,#fff,transparent)}

/* Kimberley Gorge: red rock, deep water, soft serif */
:root[data-theme=gorge]{--hf:"Fraunces",Georgia,serif;--up:none;--r:18px;--bg:#eef4ee;--bg2:#dbe9df;--ink:#10261f;--mut:#4a6357;--acc:#c4501a;--acc2:#0d6b5c;--card:#fbfdfb;--line:#c5d9cb;--onacc:#fff;
--g1:#0a3440;--gm:#17706f;--g2:#257d75;--g3:#f2d78a;--em:#ffd88a;--m1:#a4472a;--m2:#6b2f20;--sun:#fff0b8;--sea:#0f8b8d;--tree:#12301f;--rig:#0d1e16;--nav:rgba(5,30,35,.25);--navs:rgba(10,52,64,.92);--j1:#0a4a55;--j2:#0d6b5c}
[data-theme=gorge] h1,[data-theme=gorge] h2,[data-theme=gorge] h3{font-weight:900;line-height:1.06;letter-spacing:-.02em}

/* Expedition: paper map, hi-vis orange, square corners, contour lines */
:root[data-theme=topo]{--hf:"Space Grotesk",system-ui,sans-serif;--up:uppercase;--r:3px;--br:3px;--bg:#f1efe6;--bg2:#e2dfd0;--ink:#171a12;--mut:#55584a;--acc:#ff5a00;--acc2:#2c4a2a;--card:#fbfaf4;--line:#c9c5b0;--onacc:#111;
--g1:#12150d;--gm:#232a1a;--g2:#4b5636;--g3:#b7a35d;--em:#ff8a3d;--m1:#39442d;--m2:#252d1d;--sun:#ff5a00;--sea:#2d5652;--tree:#0c0e08;--rig:#0c0e08;--nav:rgba(18,21,13,.3);--navs:rgba(18,21,13,.94);--j1:#12150d;--j2:#2c4a2a}
[data-theme=topo] .f i{border-radius:3px}
[data-theme=topo] .hero::before{content:"";position:absolute;inset:0;opacity:.16;background:
repeating-radial-gradient(circle at 78% 30%,transparent 0 22px,#fff 22px 23px),
repeating-radial-gradient(circle at 12% 78%,transparent 0 30px,#fff 30px 31px)}

/* 70s Caravan: striped sunset sky, avocado hills, chunky display face */
:root[data-theme=retro]{--hf:"Shrikhand",Georgia,serif;--up:none;--r:24px;--bg:#f6ead2;--bg2:#ecd6a6;--ink:#3a2416;--mut:#6d4b34;--acc:#e3a72f;--acc2:#5f7a2e;--card:#fff8e7;--line:#dcc08a;--onacc:#2e1d0e;
--g1:#2e1c12;--gm:#7a2f1d;--g2:#dd8a2f;--g3:#f0c463;--em:#ffd27a;--m1:#7b8a35;--m2:#55651f;--sun:#fff0b8;--sea:#3d8f8a;--tree:#2e1c12;--rig:#2e1c12;--nav:rgba(46,28,18,.4);--navs:rgba(46,28,18,.94);--j1:#5f7a2e;--j2:#b0431f}
[data-theme=retro] .hero{background:linear-gradient(180deg,#2e1c12 0 25%,#4d2717 25% 45%,#7a2f1d 45% 62%,#b0431f 62% 78%,#dd8a2f 78% 90%,#f0c463 90%)}
[data-theme=retro] h1,[data-theme=retro] h2,[data-theme=retro] h3,[data-theme=retro] .pr,[data-theme=retro] .f i{font-weight:400;letter-spacing:0;line-height:1.1}
[data-theme=retro] .hero h1{font-size:clamp(40px,5.6vw,76px)}
[data-theme=retro] .st::before{color:var(--acc2)}
[data-theme=retro] .route{stroke:#b0431f}

/* Nullarbor Coast: clean, bright, modern, limestone cliffs on blue */
:root[data-theme=coastal]{--hf:"Inter",system-ui,sans-serif;--up:none;--r:14px;--bg:#fff;--bg2:#eef3f8;--ink:#0e1b2e;--mut:#4f6078;--acc:#1f6feb;--acc2:#0b7a5e;--card:#fff;--line:#dbe4ef;--onacc:#fff;
--g1:#0b2a55;--gm:#1c56a8;--g2:#2f7fc4;--g3:#cfe6f7;--em:#ffd166;--m1:#d2b07a;--m2:#b58d55;--sun:#fff3c4;--sea:#1b6fb0;--tree:#173524;--rig:#0b1f3a;--nav:rgba(8,26,54,.25);--navs:rgba(11,42,85,.94);--j1:#0b2a55;--j2:#0b7a5e}
[data-theme=coastal] h1,[data-theme=coastal] h2,[data-theme=coastal] h3{font-weight:800;letter-spacing:-.03em;line-height:1.05}

/* ---------- Site ---------- */
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:18px/1.6 var(--bf);background:var(--bg);color:var(--ink);transition:background .4s,color .4s}
h1,h2,h3{font-family:var(--hf);text-transform:var(--up);line-height:1.02;margin:0;letter-spacing:-.01em}
a{color:inherit}:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.btn{display:inline-block;background:var(--acc);color:var(--onacc);font-weight:600;text-decoration:none;padding:15px 28px;border-radius:var(--br);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.25)}
.btn.g{background:transparent;color:var(--hi);border:2px solid currentColor}
nav.top{position:fixed;top:0;left:0;right:0;z-index:5;backdrop-filter:blur(12px);background:var(--nav);color:var(--hi);transition:background .3s}
nav.top.sc{background:var(--navs)}
nav.top .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{font:1.5rem var(--hf);text-decoration:none;text-transform:none}.logo b{color:var(--acc)}
nav.top a.l{margin-left:24px;text-decoration:none;font-size:16px;font-weight:500}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:var(--hi);overflow:hidden;padding:120px 0 240px;background:linear-gradient(180deg,var(--g1),var(--gm) 45%,var(--g2) 80%,var(--g3))}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(46px,7vw,92px)}
.hero h1{text-shadow:0 2px 20px rgba(30,10,40,.35)}.hero h1 em{font-style:normal;color:var(--em)}
.hero p.s{font-size:21px;max-width:31em;margin:22px 0 32px;opacity:.92}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.scene{position:absolute;left:0;bottom:-1px;width:100%;height:300px;z-index:1}
.scene .sun{fill:var(--sun);animation:glow 5s ease-in-out infinite alternate}
.scene .m1{fill:var(--m1)}.scene .m2{fill:var(--m2)}.scene .m3{fill:var(--bg)}.scene .sea{fill:var(--sea)}.scene .ref{stroke:var(--sun);stroke-width:4;opacity:.6;fill:none}.scene .tree{fill:var(--tree);stroke:var(--tree)}
.rig{display:none;fill:var(--rig);color:var(--rig)}@supports(offset-path:path("M0 0")){.rig{display:inline;offset-path:path("M-20 300C200 275 300 308 520 290S900 250 1220 280");offset-rotate:auto;animation:drive 26s linear infinite}}@keyframes drive{from{offset-distance:0}to{offset-distance:100%}}
.route{fill:none;stroke:var(--acc);stroke-width:5;stroke-dasharray:6 14;stroke-linecap:round;animation:go 1.6s linear infinite}
@keyframes go{to{stroke-dashoffset:-40}}@keyframes glow{to{transform:translateY(-14px)}}
.trip{background:var(--card);color:var(--ink);border-radius:var(--r);padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);border:1px solid var(--line);animation:fl 6s ease-in-out infinite alternate}
@keyframes fl{to{transform:translateY(-10px) rotate(-1deg)}}
.trip h3{font-size:26px}.trip small{color:var(--mut)}
.trip .r{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:16px}
.pill{font-size:13px;font-weight:600;padding:3px 10px;border-radius:var(--br);background:var(--acc);color:var(--onacc);white-space:nowrap;align-self:center}
.pill.o{background:var(--acc2);color:var(--onacc2)}
.pill.ok{background:transparent;border:1.5px solid var(--acc2);color:var(--acc2);padding:4px 12px}
.trip.fuel h3{font-size:22px;margin:6px 0 2px}
.fmeta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fmeta span:first-child{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.fstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 10px}
.fstats span{display:block;font-size:13px;color:var(--mut);margin-bottom:4px}
.fstats b{font:700 22px var(--hf);letter-spacing:0}
.fbar{position:relative;height:10px;border-radius:var(--br);background:var(--line);overflow:visible;margin:4px 0 14px}
.fbar i{position:absolute;inset:0;width:73%;border-radius:var(--br);background:var(--acc2)}
.fbar em{position:absolute;top:-3px;left:16%;width:3px;height:16px;background:var(--ink);opacity:.35;font-style:normal}
.fnote{color:var(--acc2);font-weight:700;margin:0 0 2px;font-size:15px}
.fsub{color:var(--mut);font-size:13px;margin:0 0 14px}
.trip.fuel .r{font-size:15px}
.trip.fuel .toggle{display:block;padding-top:11px;border-top:1px solid var(--line);font-size:14px;color:var(--acc2);text-decoration:none;font-weight:600}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:860px){.rgrid{grid-template-columns:1fr}}
.reportcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.14)}
.rc-head h3{font-size:24px;margin-bottom:4px}
.rc-head small{color:var(--mut)}
.rc-meet{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:16px 0;padding:12px 14px;background:var(--bg2);border-radius:calc(var(--r) - 4px);font-size:14px}
.rc-meet span{color:var(--mut)}
.rc-meet b{font:600 16px var(--bf)}
.rc-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px}
.rc-table th{text-align:left;color:var(--mut);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 8px 8px 0;border-bottom:1px solid var(--line)}
.rc-table td{padding:8px 8px 8px 0;border-bottom:1px solid var(--line)}
.rc-table td.yes{color:var(--acc2);font-size:16px}
.rc-more{color:var(--mut);font-size:13px;margin:10px 0 16px}
.f .fimg{margin-top:16px;border-radius:calc(var(--r) - 2px);overflow:hidden;border:1px solid var(--line)}
.f .fimg img{display:block;width:100%;height:auto}
section{padding:96px 0;background:var(--bg);transition:background .4s}section.alt{background:var(--bg2)}
h2{font-size:clamp(36px,5vw,60px);margin-bottom:14px;max-width:15em}
.lead{max-width:36em;color:var(--mut);margin:0 0 44px;font-size:20px}
.fgrid,.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.f,.plan,.st{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:transform .25s,border-color .25s,background .4s}
.f:hover,.plan:hover{transform:translateY(-6px);border-color:var(--acc)}
.f h3,.st h3{font-size:26px;margin-bottom:8px}.f p,.st p{margin:0;color:var(--mut)}
.f i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--acc);color:var(--onacc);font:700 20px var(--hf);margin-bottom:16px;font-style:normal}

.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.st{counter-increment:s}.st::before{content:counter(s);display:block;font:64px/1 var(--hf);color:var(--acc);margin-bottom:8px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;max-width:1140px}
.plan.club{border:2px solid var(--acc)}.plan.mgmt{border:2px solid var(--acc2)}
.plan h3{font-size:32px}.pr{font:700 48px/1.1 var(--hf);margin:6px 0 4px}.pr small{font:500 16px var(--bf);color:var(--mut)}
.plan ul{padding-left:20px;margin:14px 0 24px;color:var(--mut)}
.join{background:linear-gradient(135deg,var(--j1),var(--j2));color:#fff;text-align:center}
.join h2{margin:0 auto 14px}.join p{max-width:30em;margin:0 auto 30px;font-size:20px}
.join .btn{background:#fff;color:#111}
footer{background:var(--bg2);color:var(--mut);padding:26px 0;font-size:15px;transition:background .4s}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

.js .rv{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}.js .rv.in{opacity:1;transform:none}

/* ---------- Theme switcher (preview tool: delete once you've chosen) ---------- */

@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.trip{display:none}nav.top a.l{display:none}.hero{padding-bottom:200px}section{padding:64px 0}}
@media(prefers-reduced-motion:reduce){.rig{offset-distance:40%}*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
