/* ===== RDS HUB 2026 design system — shared theme ===== */
:root{
  --ink:#0A1F16; --ink-2:#0E3526; --bg:#F6F3EA; --card:#FFFFFF; --line:#E7E1D2;
  --text:#1C2A23; --muted:#5E6B62; --go:#00B85C; --go-dk:#00913F; --amber:#F4A300;
  --amber-soft:#FFF6E2; --go-soft:#E5F8EE; --shadow:0 18px 40px -22px rgba(10,31,22,.55);
  --shadow-sm:0 8px 22px -14px rgba(10,31,22,.45); --r:20px; --r-sm:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,.display{font-family:'Bricolage Grotesque',system-ui,sans-serif;line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1120px,92vw);margin-inline:auto}
.pill{display:inline-flex;align-items:center;gap:7px;background:var(--go-soft);color:var(--go-dk);font-weight:700;font-size:.8rem;padding:7px 14px;border-radius:999px;letter-spacing:.02em}
.pill.amber{background:var(--amber-soft);color:#7A5300}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:1rem;padding:15px 26px;border-radius:999px;border:0;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-go{background:linear-gradient(180deg,#00C463,#00913F);color:#fff;box-shadow:0 12px 26px -12px rgba(0,145,63,.7)}
.btn-go:hover{box-shadow:0 16px 30px -12px rgba(0,145,63,.85)}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-block{width:100%}

/* HEADER */
header.site{position:sticky;top:0;z-index:50;background:rgba(246,243,234,.9);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.logo img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{font-weight:600;font-size:.92rem;color:var(--ink-2);padding:9px 12px;border-radius:10px;transition:background .15s}
.nav-links a:hover,.nav-links a.active{background:var(--go-soft);color:var(--go-dk)}
.nav-cta{background:var(--ink)!important;color:#fff!important}
.nav-cta:hover{background:var(--ink-2)!important}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);border-radius:2px;margin:5px 0;transition:.25s}

/* HERO */
.hero{position:relative;background:radial-gradient(1200px 500px at 80% -10%,#0E3526 0%,#0A1F16 55%,#04130C 100%);color:#EAF6EF;padding:64px 0 76px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 15% 110%,rgba(0,184,92,.16),transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.3rem,5.2vw,4rem);font-weight:800}
.hero h1 .amber{color:#FFD24A}
.hero .sub{color:#B8D6C7;font-size:1.15rem;margin-top:18px;max-width:40ch}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-badges .b{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(159,201,180,.25);color:#CFE7D9;font-weight:600;font-size:.86rem;padding:9px 14px;border-radius:999px}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.trust{display:flex;align-items:center;gap:10px;margin-top:26px;color:#9FC9B4;font-size:.9rem;font-weight:500}
.stars{color:#FFD24A;letter-spacing:2px;font-size:1rem}
/* compact interior hero */
.hero.compact{padding:52px 0 58px;text-align:center}
.hero.compact .hero-inner{position:relative;max-width:760px;margin:0 auto}
.hero.compact .sub{margin-inline:auto}
.hero.compact .hero-cta-row{justify-content:center}

/* LEAD CARD / FORMS */
.lead-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:26px;color:var(--text)}
.lead-card h3{font-size:1.35rem;margin-bottom:4px}
.lead-card .lc-sub{color:var(--muted);font-size:.92rem;margin-bottom:18px}
.field{margin-bottom:12px}
.field label{display:block;font-weight:600;font-size:.82rem;color:var(--ink-2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:1rem;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#FBFEFC;color:var(--text);transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--go);box-shadow:0 0 0 3px rgba(0,184,92,.15)}
.lead-fine{font-size:.78rem;color:var(--muted);text-align:center;margin-top:12px}
.lead-success{display:none;text-align:center;padding:20px 6px}
.lead-success .tick{width:56px;height:56px;border-radius:50%;background:var(--go-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.7rem}
.lead-success h3{color:var(--go-dk)}

/* SECTION */
section.block{padding:66px 0}
.sec-head{text-align:center;max-width:660px;margin:0 auto 40px}
.sec-head h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
.sec-head p{color:var(--muted);margin-top:12px;font-size:1.05rem}
.eyebrow{text-align:center;display:block;margin-bottom:14px}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;box-shadow:var(--shadow-sm);position:relative}
.step .num{width:46px;height:46px;border-radius:14px;background:var(--ink);color:#fff;font-family:'Bricolage Grotesque';font-weight:700;font-size:1.25rem;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.step h3{font-size:1.2rem;margin-bottom:8px}
.step p{color:var(--muted);font-size:.96rem}

/* FEATURES */
.features{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.feature{background:linear-gradient(160deg,#0E3526,#0A1F16);color:#EAF6EF;border-radius:var(--r);padding:34px;box-shadow:var(--shadow)}
.feature .pill{margin-bottom:14px}
.feature h3{color:#fff;font-size:1.4rem;margin-bottom:10px}
.feature p{color:#B8D6C7}

/* GENERIC CARD GRID */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card-grid.two{grid-template-columns:1fr 1fr}
.info-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm)}
.info-card .ico{width:48px;height:48px;border-radius:14px;background:var(--go-soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px}
.info-card h3{font-size:1.2rem;margin-bottom:8px}
.info-card p{color:var(--muted);font-size:.97rem}
.info-card ul{list-style:none;margin-top:10px}
.info-card li{display:flex;gap:10px;padding:7px 0;color:var(--text);font-size:.96rem}
.info-card li::before{content:"✓";color:var(--go);font-weight:800}

/* PROSE */
.prose{max-width:760px;margin:0 auto;color:var(--text)}
.prose h2{font-size:1.7rem;margin:34px 0 12px}
.prose h3{font-size:1.3rem;margin:26px 0 10px}
.prose p{margin-bottom:14px;font-size:1.04rem}
.prose ul{margin:0 0 16px 2px;list-style:none}
.prose li{display:flex;gap:10px;padding:6px 0}
.prose li::before{content:"✓";color:var(--go);font-weight:800}

/* PRICE CARDS */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;text-align:center}
.price-card.feat{border:2px solid var(--go);box-shadow:var(--shadow)}
.price-card .tag{font-weight:700;color:var(--ink-2);font-size:1.15rem;margin-bottom:6px}
.price-card .amt{font-family:'Bricolage Grotesque';font-weight:800;font-size:2.6rem;color:var(--go-dk);line-height:1}
.price-card .per{color:var(--muted);font-size:.9rem;margin-bottom:16px}
.price-card ul{list-style:none;text-align:left;flex:1;margin-bottom:18px}
.price-card li{display:flex;gap:10px;padding:7px 0;font-size:.95rem}
.price-card li::before{content:"✓";color:var(--go);font-weight:800}
.badge-top{display:inline-block;background:var(--go);color:#fff;font-weight:700;font-size:.72rem;padding:4px 12px;border-radius:999px;margin-bottom:12px;letter-spacing:.03em}

/* CALL STRIP */
.callstrip{background:var(--amber-soft);border:1px solid #F6E2B0;border-radius:var(--r);padding:34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}
.callstrip .ct .pill{margin-bottom:10px}
.callstrip h3{font-size:1.7rem}
.callstrip .num{font-family:'Bricolage Grotesque';font-weight:800;font-size:1.9rem;color:var(--go-dk);margin-top:4px}
.callstrip .actions{display:flex;flex-wrap:wrap;gap:12px}

/* CTA BAND */
.cta-band{background:linear-gradient(160deg,#0E3526,#0A1F16);color:#EAF6EF;border-radius:var(--r);padding:44px;text-align:center;box-shadow:var(--shadow)}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:10px}
.cta-band p{color:#B8D6C7;max-width:52ch;margin:0 auto 22px}
.cta-band .hero-cta-row{justify-content:center}

/* CENTRES */
.centres{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.centre{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm)}
.centre h3{display:flex;align-items:center;gap:10px;font-size:1.25rem;margin-bottom:16px}
.centre .ico{width:38px;height:38px;border-radius:11px;background:var(--go-soft);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.addr{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--line);color:var(--text);font-size:.96rem}
.addr .dot{color:var(--go);font-weight:800}
.centre .btn{margin-top:16px}

/* REVIEWS */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.review .stars{color:#FFD24A;font-size:1rem;letter-spacing:1px;margin-bottom:10px}
.review p{color:var(--text);font-size:.95rem;flex:1}
.review .who{margin-top:14px;font-weight:700;color:var(--ink-2)}
.review .who::before{content:"— "}

/* PASS GALLERY */
.passes-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.passes-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;box-shadow:var(--shadow-sm)}

/* FOOTER */
footer.site{background:var(--ink);color:#9FC9B4;padding:48px 0 30px;margin-top:20px}
.foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px;align-items:flex-start}
.foot-logo img{height:52px;background:#fff;padding:8px 12px;border-radius:12px}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:520px}
.foot-links a{color:#CFE7D9;font-weight:500;font-size:.92rem}
.foot-links a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(159,201,180,.2);margin-top:30px;padding-top:20px;font-size:.85rem;color:#7FA992;text-align:center}

/* ===== MOBILE ===== */
@media(max-width:860px){
  .nav-links{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 6vw 22px;gap:4px;transform:translateY(-140%);transition:transform .3s ease;box-shadow:var(--shadow)}
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:13px 12px;font-size:1rem}
  .burger{display:block}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero .sub{max-width:none}
  .hero h1{font-size:2.5rem}
  .steps,.features,.centres,.reviews,.card-grid,.card-grid.two,.price-grid{grid-template-columns:1fr}
  .passes-strip{grid-template-columns:repeat(2,1fr);gap:10px}
  .callstrip{flex-direction:column;align-items:flex-start}
  section.block{padding:32px 0}
  .hero{padding:40px 0 38px}
  .hero.compact{padding:34px 0 34px}
  .sec-head{margin-bottom:24px}
  .sec-head h2{font-size:1.75rem}
  .sec-head p{font-size:.96rem;margin-top:8px}
  .feature,.cta-band{padding:26px}
  .callstrip,.centre,.step,.info-card,.price-card{padding:24px}
  footer.site{padding:34px 0 22px}
  .btn{width:100%}
  .hero-cta-row .btn,.callstrip .actions .btn,.cta-band .btn{width:auto}
}
@media(min-width:861px) and (max-width:1050px){
  .reviews,.card-grid,.price-grid{grid-template-columns:1fr 1fr}
  .passes-strip{grid-template-columns:repeat(3,1fr)}
}


/* ===== FABLE POLISH ===== */
:root{--go-dk2:#00703A}
::selection{background:#FFD24A;color:var(--ink)}
html{scroll-behavior:smooth}[id]{scroll-margin-top:88px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}.btn:focus-visible{outline-offset:2px}
.btn-go{background:linear-gradient(180deg,#00A44F,#007433)}.btn-go:hover{box-shadow:0 16px 30px -12px rgba(0,116,51,.85)}
.pill{color:var(--go-dk2)}.badge-top{background:var(--ink);color:#FFD24A}
.btn{transition:transform .15s ease,box-shadow .2s ease,background .15s}.btn:hover{transform:translateY(-2px)}.btn-dark:hover{background:var(--ink-2)}.btn-ghost:hover{border-color:var(--go);color:var(--go-dk2)}
.info-card,.step,.price-card,.review{transition:box-shadow .2s ease,transform .2s ease}
@media(hover:hover) and (min-width:861px){.info-card:hover,.step:hover,.price-card:hover,.review:hover{transform:translateY(-3px);box-shadow:var(--shadow)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.btn,.info-card,.step,.price-card{transition:none}.btn:hover{transform:none}}
header.site{-webkit-backdrop-filter:saturate(150%) blur(10px)}
.sec-head h2::after{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--amber);margin:14px auto 0}
.lead-success .tick{animation:rdsPop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes rdsPop{from{transform:scale(.4);opacity:0}}
.passes-strip img{border:5px solid #fff}
@media(max-width:860px){.passes-strip{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:-4vw;padding-inline:4vw;scrollbar-width:none}.passes-strip::-webkit-scrollbar{display:none}.passes-strip img{flex:0 0 46%;scroll-snap-align:start}}
.price-card.feat{background:linear-gradient(180deg,#FFFDF6,#fff)}@media(hover:hover) and (min-width:861px){.price-card.feat{transform:scale(1.02)}}
@media(max-width:860px){.price-card.feat{order:-1}.price-card{padding:22px}.price-card .amt{font-size:2.2rem}.price-card li{padding:5px 0}}
.foot-links a{padding:6px 0}.burger{padding:12px}.lead-fine{font-size:.84rem}
@media(max-width:1100px){.nav-links{position:fixed;inset:70px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 6vw 22px;gap:4px;max-height:calc(100dvh - 70px);overflow-y:auto;transform:translateY(-140%);transition:transform .3s ease;box-shadow:var(--shadow)}.nav-links.open{transform:translateY(0)}.burger{display:block}}
.rds-mobilebar{display:none}
@media(max-width:860px){.rds-mobilebar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9000;gap:2px;box-shadow:0 -6px 20px -8px rgba(10,31,22,.4);padding-bottom:env(safe-area-inset-bottom)}.rds-mobilebar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:15px 8px;font-weight:700;font-size:1.02rem;text-decoration:none}.rds-mobilebar .mb-call{background:var(--ink);color:#fff}.rds-mobilebar .mb-form{background:linear-gradient(180deg,#00A44F,#007433);color:#fff}body{padding-bottom:62px}}
@media(max-width:860px){section.block{padding:38px 0}}


/* nav one-line fix */
.nav-links a{white-space:nowrap}
@media(min-width:1101px){.nav-links{gap:2px}.nav-links a{font-size:.85rem;padding:9px 8px}.logo img{height:44px}}
