/* =====================================================================
   CANBERRA RBA  ·  brand layer (header, footer, RBA sections, guide)
   Loaded on every page after main.css. Classes start with r / rba so
   they never clash with the engine sections.
   ===================================================================== */

/* =====================================================================
   CANBERRA RBA · HOME (v3, premium)
   Brand: Deep Teal #0F4C55 · Dark Teal #0A353B · Power Gold #E3A835
   Fonts: Montserrat (headings) + Inter (body)
   Responsive: 320px phones to 2560px+ monitors, incl. short 13" laptops.
   ===================================================================== */
:root{
  --teal:#0F4C55; --teal-d:#0A353B; --teal-x:#072A2F; --teal-t:#E3EFF0; --teal-m:#1A6470;
  --gold:#E3A835; --gold-d:#C98F22; --gold-l:#F2C566; --gold-t:#FBF1DC;
  --red:#E02424; --blue:#1E6FE0;
  --bg:#F5F9F9; --text:#1F2A2E; --muted:#56676C; --line:#E3EFF0; --line2:#D3E3E5;
  --fh:'Montserrat','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --fb:'Inter','Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --rl:22px;
  --sh:0 10px 30px rgba(10,53,59,.10),0 2px 6px rgba(10,53,59,.06);
  --shl:0 28px 70px rgba(10,53,59,.20);
  --ease:cubic-bezier(.22,.61,.36,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --wrap:1240px; --gut:20px; --sec:72px; --hh:72px;
  --h2:clamp(28px,1.6vw + 18px,46px);
}
@media (min-width:768px){ :root{--gut:32px;--sec:96px} }
@media (min-width:1024px){ :root{--hh:80px} }
@media (min-width:1280px){ :root{--gut:48px;--sec:112px} }
@media (min-width:1536px){ :root{--gut:64px;--wrap:1320px} }
@media (min-width:1800px){ :root{--wrap:1400px;--sec:124px} }
@media (min-width:2300px){ :root{--wrap:1640px;--gut:80px} html{font-size:17px} }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 12px)}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--text);font:400 clamp(16px,.15vw + 15.4px,18px)/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p,ul,figure{margin:0;padding:0}
ul{list-style:none}
h1,h2,h3{font-family:var(--fh);color:var(--teal);line-height:1.12;letter-spacing:-.015em}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.rico{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.rwrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.rsec{padding:var(--sec) 0;position:relative;overflow:hidden}

/* Centered section heading (every section) */
.rsh{max-width:1080px;margin:0 auto clamp(36px,4vw,56px);text-align:center}
.rsh h2{font-size:var(--h2);font-weight:800}
.rsh h2 em{font-style:normal;color:var(--gold-d)}
.rsh p{font-size:clamp(16.5px,.3vw + 15.6px,19.5px);color:var(--muted);margin:14px auto 0;max-width:880px}
.rsh::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin:22px auto 0;background:linear-gradient(90deg,var(--gold),var(--gold-l))}
.rdark .rsh h2{color:#fff}
.rdark .rsh h2 em{color:var(--gold)}
.rdark .rsh p{color:#B9D3D6}

/* Buttons */
.rbtn{--b:var(--gold);--f:var(--teal-x);position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:13px 26px;border-radius:12px;border:2px solid transparent;background:var(--b);color:var(--f);font:800 16px/1.1 var(--fh);letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s}
.rbtn svg{width:20px;height:20px;flex:none;transition:transform .3s var(--ease)}
.rbtn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,var(--gold-l),var(--gold) 50%,var(--gold-d));opacity:0;transition:opacity .3s}
.rbtn::after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:shine 4.5s ease-in-out infinite}
@keyframes shine{0%,70%{left:-70%}100%{left:130%}}
@media (hover:hover){ .rbtn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(227,168,53,.38)} .rbtn:hover::before{opacity:1} .rbtn:hover svg{transform:translateX(3px)} }
.rbtn--o,.rbtn--w,.rbtn--t{}
.rbtn--o::after,.rbtn--w::after,.rbtn--t::after{display:none}
.rbtn--t{--b:var(--teal);--f:#fff}
.rbtn--t::before{background:var(--teal-d)}
@media (hover:hover){ .rbtn--t:hover{box-shadow:0 14px 30px rgba(10,53,59,.3)} }
.rbtn--o{--b:transparent;--f:var(--teal);border-color:var(--teal)}
.rbtn--o::before{background:var(--teal)}
@media (hover:hover){ .rbtn--o:hover{--f:#fff;box-shadow:0 14px 30px rgba(10,53,59,.22)} }
.rbtn--w{--b:rgba(255,255,255,.06);--f:#fff;border-color:rgba(255,255,255,.45);backdrop-filter:blur(6px)}
.rbtn--w::before{background:#fff}
@media (hover:hover){ .rbtn--w:hover{--f:var(--teal);border-color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.25)} }
.rbtn--s{min-height:44px;padding:10px 18px;font-size:14.5px}
.rbtn--l{min-height:58px;padding:15px 30px;font-size:17px}
.rrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rrow--c{justify-content:center}
@media (max-width:599px){
  .rrow{flex-wrap:nowrap;gap:10px}
  .rrow>.rbtn{flex:1 1 0;min-width:0;min-height:52px;padding:12px 10px;font-size:14.5px;white-space:normal;text-align:center;line-height:1.2;gap:7px}
  .rrow>.rbtn svg{width:18px;height:18px}
}
.rdot{width:8px;height:8px;border-radius:50%;background:#22C55E;flex:none;animation:ping 1.8s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}80%,100%{box-shadow:0 0 0 9px rgba(34,197,94,0)}}

/* Photo frames with brand fallback */
.rph{position:relative;overflow:hidden;background:linear-gradient(150deg,#145A64,#0A353B)}
.rph img{width:100%;height:100%;object-fit:cover}
.rph.noimg img{display:none}

/* Reveal on scroll */
.rba-js .rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.rba-js .rv.rl{transform:translateX(-40px)} .rba-js .rv.rr{transform:translateX(40px)} .rba-js .rv.rz{transform:scale(.92)}
.rba-js .rv.in{opacity:1;transform:none}

/* Magnetic tilt cards */
.rtilt{transform-style:preserve-3d;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}

/* =====================================================================
   HEADER + FULL-WIDTH MEGA MENU
   ===================================================================== */
.rhd{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid rgba(15,76,85,.08);transition:box-shadow .35s,background-color .35s}
.rhd.stuck{box-shadow:0 10px 30px rgba(10,53,59,.12);background:rgba(255,255,255,.97)}
.rhdr__bar{display:flex;align-items:center;gap:16px;height:var(--hh)}
.rlogo{display:flex;align-items:center;flex:none}
.rlogo img{height:40px;width:auto;max-width:none}
.rlogo__one{height:44px!important}
.rlogo__full{display:none}
.rlogo__txt{font:900 19px/1.1 var(--fh);color:var(--teal)}
@media (min-width:1024px){ .rlogo__mark{display:none} .rlogo__full{display:block;height:60px!important} .rlogo__one{height:60px!important} }
.rnav{display:none;height:100%}
@media (min-width:1024px){
  .rhdr__bar{display:grid;grid-template-columns:1fr auto 1fr;gap:16px}
  .rlogo{justify-self:start}
  .rnav{display:flex;align-items:center;justify-self:center}
  .rhdr__cta{justify-self:end;margin-left:0!important}
}
.rnav__list{display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:rgba(15,76,85,.05);border:1px solid rgba(15,76,85,.06)}
.rnav__link{position:relative;display:inline-flex;align-items:center;gap:5px;padding:10px 11px;border-radius:999px;border:0;background:none;cursor:pointer;font:700 14px var(--fh);color:var(--teal);white-space:nowrap;transition:background-color .25s,color .25s,box-shadow .25s}
@media (min-width:1280px){ .rnav__link{padding:10px 15px;font-size:15px} }
@media (min-width:1536px){ .rnav__link{padding:10px 18px} }
.rnav__link svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.rnav__link:hover,.rmm.open>.rnav__link{background:#fff;box-shadow:0 2px 8px rgba(10,53,59,.08)}
.rmm.open>.rnav__link svg{transform:rotate(180deg)}
.rnav__link.cur{background:var(--teal);color:#fff;box-shadow:0 6px 16px rgba(15,76,85,.28)}
.rnav__link.cur::after{content:"";position:absolute;right:9px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold)}

.rmega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(10,53,59,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.rmm.open .rmega{opacity:1;visibility:visible;transform:none}
.rmega__in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,300px);gap:16px;padding-top:26px;padding-bottom:30px}
@media (min-width:1280px){ .rmega__in{grid-template-columns:repeat(3,minmax(0,1fr)) 360px} }
@media (min-width:1536px){ .rmega__in{grid-template-columns:repeat(3,minmax(0,1fr)) 420px} }
.rmega__col{min-width:0}
.rmega__col{display:grid;gap:10px;align-content:start}
.rmega__h{font:800 12px var(--fh);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 12px 4px}
.rmi{display:flex;gap:14px;align-items:center;padding:12px;border-radius:14px;transition:background-color .25s,transform .25s}
.rmi:hover{background:var(--bg);transform:translateX(4px)}
.rmi__t{width:64px;height:64px;border-radius:12px;flex:none;display:grid;place-items:center;background:var(--teal-t);color:var(--teal);overflow:hidden}
.rmi__t.rph{background:linear-gradient(150deg,#145A64,#0A353B)}
.rmi b{display:block;font:800 15.5px/1.25 var(--fh);color:var(--teal)}
.rmi small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px;line-height:1.4}
.rmi:hover b{color:var(--gold-d)}
.rmpromo{position:relative;border-radius:18px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;min-height:250px}
.rmpromo .rph{position:absolute;inset:0}
.rmpromo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,53,59,.15),rgba(7,42,47,.94) 72%)}
.rmpromo>*:not(.rph){position:relative;z-index:1}
.rmpromo b{font:800 20px var(--fh);display:block}
.rmpromo p{font-size:14px;color:#D2E5E7;margin:6px 0 14px}
.rmpromo .rbtn{align-self:flex-start}

.rhdr__cta{display:flex;align-items:center;gap:10px;margin-left:auto}
@media (min-width:1024px){ .rhdr__cta{margin-left:14px} }
.rhdr__call{display:none}
@media (min-width:560px){ .rhdr__call{display:inline-flex} }
.ricb{width:46px;height:46px;border-radius:12px;display:inline-grid;place-items:center;border:1px solid var(--line2);background:#fff;color:var(--teal);cursor:pointer}
.icb--g{background:var(--gold);border-color:var(--gold)}
@media (min-width:560px){ .rhdr__mcall{display:none} }
@media (min-width:1024px){ .rhdr__burger{display:none} }
.rburger{width:22px;height:16px;position:relative}
.rburger i{position:absolute;left:0;right:0;height:2.5px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.rburger i:nth-child(1){top:0}.rburger i:nth-child(2){top:7px}.rburger i:nth-child(3){top:14px}
.rmenu-open .rburger i:nth-child(1){top:7px;transform:rotate(45deg)}
.rmenu-open .rburger i:nth-child(2){opacity:0}
.rmenu-open .rburger i:nth-child(3){top:7px;transform:rotate(-45deg)}
.rhd__prog{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-l))}

.rdrawer{position:fixed;inset:0;z-index:150;visibility:hidden}
.rdrawer__bg{position:absolute;inset:0;background:rgba(7,42,47,.6);opacity:0;transition:opacity .3s}
.rdrawer__p{position:absolute;top:0;right:0;bottom:0;width:100%;background:#fff;transform:translateX(100%);transition:transform .4s var(--ease);display:flex;flex-direction:column}
.rmenu-open .rdrawer{visibility:visible}
.rmenu-open .rdrawer__bg{opacity:1}
.rmenu-open .rdrawer__p{transform:none}
.rdrawer__top{display:flex;align-items:center;justify-content:space-between;padding:12px var(--gut);border-bottom:1px solid var(--line)}
.rdrawer__top img{height:38px;width:auto}
.rdrawer__b{flex:1;overflow-y:auto;padding:6px var(--gut) 16px;overscroll-behavior:contain}
.rdl,.rdacc>summary{display:flex;align-items:center;justify-content:space-between;padding:17px 2px;font-size:18px!important;border-bottom:1px solid var(--line);font:800 16px var(--fh);color:var(--teal);cursor:pointer;list-style:none}
.rdacc>summary::-webkit-details-marker{display:none}
.rdacc[open]>summary svg{transform:rotate(180deg)}
.rdacc__in{display:grid;padding:6px 0 10px}
.rdacc__in a{padding:10px;border-radius:10px;font-size:15px}
.rdacc__in a:hover{background:var(--bg)}
.rdrawer__f{padding:14px var(--gut) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--bg)}
.rdrawer__f .rbtn{white-space:normal;text-align:center;line-height:1.2;padding:12px 10px;font-size:14.5px}
.rdrawer__f .rbtn{width:100%}

/* =====================================================================
   01 HERO (dark teal, animated glow, real photo)
   ===================================================================== */
.rhero{position:relative;overflow:hidden;color:#fff;background:#0A353B;touch-action:pan-y}
.rhs__track{display:flex;transition:transform 1.4s cubic-bezier(.45,.05,.25,1);will-change:transform;backface-visibility:hidden}
.rhs{position:relative;flex:0 0 100%;min-width:0;overflow:hidden;opacity:.55;transition:opacity 1.4s ease;background:radial-gradient(900px 520px at var(--gx,85%) 12%,rgba(227,168,53,var(--ga,.22)),transparent 60%),radial-gradient(800px 600px at 0% 100%,var(--c3,rgba(26,100,112,.75)),transparent 60%),linear-gradient(135deg,var(--c1,#0A353B) 0%,var(--c2,#0F4C55) 55%,var(--c1,#0A353B) 100%)}
.rhs.is-on{opacity:1}
.rhs--2{--c1:#08303F;--c2:#0E4F63;--c3:rgba(30,111,224,.32);--gx:70%;--ga:.18}
.rhs--3{--c1:#09382F;--c2:#0F5548;--c3:rgba(26,120,100,.6);--gx:90%;--ga:.24}
.rhs--4{--c1:#0A2E3A;--c2:#11485A;--c3:rgba(34,197,170,.28);--gx:78%;--ga:.16}
.rhs--5{--c1:#061F25;--c2:#0B3A42;--c3:rgba(227,168,53,.16);--gx:60%;--ga:.3}
.hero__glow{position:absolute;width:640px;height:640px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(227,168,53,.38),transparent);animation:drift 18s ease-in-out infinite alternate}
.hero__glow--a{top:-260px;right:6%}
.hero__glow--b{background:radial-gradient(closest-side,rgba(26,100,112,.7),transparent);bottom:-300px;left:-180px;animation-delay:-6s}
@keyframes drift{to{transform:translate(-80px,60px) scale(1.15)}}
.hero__grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 30% 40%,#000,transparent 75%);pointer-events:none}
.hero__road{position:absolute;left:0;right:0;bottom:0;z-index:2;height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 46px,transparent 46px 86px);opacity:.55;animation:road 1.6s linear infinite}
@keyframes road{to{background-position:86px 0}}
.hero__grid{position:relative;display:grid;gap:26px;padding-top:28px;padding-bottom:92px}
.hero__copy{min-width:0}
.hero__pill{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font:600 14px var(--fb);color:#D7E8EA;margin-bottom:18px;backdrop-filter:blur(6px)}
.hero__h{color:#fff;font-size:clamp(34px,9vw,48px);font-weight:900;letter-spacing:-.03em;line-height:1.04}
.hero__h span{display:block;background:linear-gradient(90deg,var(--gold-l),var(--gold) 60%,var(--gold-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{font-size:clamp(16.5px,.3vw + 15.6px,20px);color:#C9DFE1;margin-top:16px;max-width:560px}
.rhero .rrow{margin-top:24px}
.hero__call{display:inline-flex;align-items:center;gap:12px;margin-top:24px;color:#B9D3D6;font-size:14.5px}
.hero__call i{width:46px;height:46px;border-radius:50%;background:rgba(227,168,53,.15);color:var(--gold);display:grid;place-items:center;font-style:normal;position:relative}
.hero__call i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(227,168,53,.4);animation:ripple 2.4s infinite}
@keyframes ripple{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}
.hero__call b{display:block;font:800 21px var(--fh);color:#fff}
@media (max-width:767px){ .hero__call{display:none} }
@media (max-width:1023px){
  .rhs{display:flex;flex-direction:column;min-height:calc(100vh - var(--hh))}
  @supports (height:100svh){ .rhs{min-height:calc(100svh - var(--hh))} }
  .rhs>.rwrap{flex:1;display:flex;flex-direction:column}
  .hero__grid{flex:1;display:flex;flex-direction:column;gap:clamp(20px,3.2svh,32px);padding-top:clamp(30px,5.5svh,52px);padding-bottom:clamp(80px,11svh,100px)}
  .hero__frame{flex:1 1 auto;display:flex;min-height:150px}
  .hero__media{aspect-ratio:auto;flex:1;height:auto;min-height:150px;max-height:62svh}
  .rhero .rrow{margin-top:clamp(16px,2.6svh,26px)}
  .hero__h{font-size:clamp(28px,min(8.4vw,5.4svh),46px)}
  .hero__lead{font-size:clamp(15px,min(4.1vw,2.3svh),19px);margin-top:clamp(10px,1.8svh,16px)}
  .hero__frame{flex:1 1 0}
  .rhs__ui{bottom:clamp(12px,2.2svh,22px)}
}
@media (max-width:1023px) and (max-height:600px){ .hero__frame,.hero__media{min-height:96px} .hero__grid{padding-top:22px;gap:16px} .hero__lead{font-size:14.5px;line-height:1.5} }
@media (max-width:1023px) and (max-height:700px){ .rhero .rrow>.rbtn{min-height:46px;padding:10px} .hero__grid{padding-bottom:70px} }
.hero__frame{position:relative;min-width:0}
.hero__frame::before{content:"";position:absolute;inset:-14px -14px auto auto;width:46%;height:46%;border-radius:26px;border:2px solid rgba(227,168,53,.5);pointer-events:none}
.hero__frame::after{content:"";position:absolute;left:-14px;bottom:-14px;width:120px;height:120px;border-radius:24px;background:radial-gradient(rgba(227,168,53,.55) 1.5px,transparent 1.6px);background-size:12px 12px;pointer-events:none}
@media (max-width:767px){ .hero__frame::before{inset:-10px -10px auto auto} .hero__frame::after{left:-10px;bottom:-10px;width:80px;height:80px} }
.hero__media{position:relative;width:100%;aspect-ratio:16/11;border-radius:var(--rl);overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.35);outline:1px solid rgba(255,255,255,.12);outline-offset:-1px;transform:scale(.97);opacity:.6;transition:transform 1.4s ease,opacity 1.4s ease}
.rhs.is-on .hero__media{transform:none;opacity:1}
.hero__media .rph{position:absolute;inset:0}
.hero__media img{transform-origin:55% 50%}
.rhs.is-on .hero__media img{animation:kenburns 14s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.03)}to{transform:scale(1.15) translate(-1.5%,-1%)}}
.hx{opacity:0;transform:translateY(12px);transition:opacity .9s ease,transform .9s ease}
.rhs.is-on .hx{opacity:1;transform:none;transition-delay:calc(.5s + var(--i,0) * .12s)}
.rhs__ui{position:absolute;left:50%;bottom:22px;z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px;border-radius:999px;background:rgba(7,42,47,.5);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rhs__arr{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background-color .25s,color .25s}
.rhs__arr:hover{background:var(--gold);color:var(--teal-x)}
.rhs__arr svg{width:18px;height:18px}
.rhs__dots{display:flex;align-items:center;gap:4px}
.rhs__dot{width:22px;height:22px;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center;transition:width .45s var(--ease)}
.rhs__dot i{display:block;position:relative;overflow:hidden;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.35);transition:width .45s var(--ease)}
.rhs__dot.is-on{width:46px}
.rhs__dot.is-on i{width:40px}
.rhs__dot.is-on i::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;animation:dotfill var(--dur,5s) linear forwards}
.rhero.paused .rhs__dot.is-on i::after{animation-play-state:paused}
@keyframes dotfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (min-width:1024px){
  .rhs{display:flex;align-items:center;min-height:calc(100vh - var(--hh))}
  @supports (height:100svh){ .rhs{min-height:calc(100svh - var(--hh))} }
  .rhs>.rwrap{width:100%}
  .hero__grid{grid-template-columns:1.05fr 1fr;gap:clamp(36px,4.5vw,84px);align-items:center;padding-top:clamp(24px,4vh,64px);padding-bottom:clamp(84px,11vh,120px)}
  .hero__h{font-size:clamp(40px,min(4.1vw,7.4vh),78px)}
  .hero__lead{font-size:clamp(16.5px,min(1.25vw,2.3vh),21px)}
  .hero__media{aspect-ratio:auto;height:min(540px,54vh)}
  .rhs__ui{bottom:clamp(20px,3.4vh,34px)}
}
@media (min-width:1024px) and (max-height:760px){ .hero__pill{margin-bottom:12px} .rhero .rrow{margin-top:20px} .hero__call{margin-top:14px} }

/* =====================================================================
   02 TRUST STRIP (gold marquee)
   ===================================================================== */
.rstrip{background:linear-gradient(90deg,var(--gold-d),var(--gold) 30%,var(--gold-l) 50%,var(--gold) 70%,var(--gold-d));color:var(--teal-x);overflow:hidden;position:relative}
.strip__track{display:flex;width:max-content;animation:marq 42s linear infinite}
.rstrip:hover .strip__track{animation-play-state:paused}
.strip__i{display:inline-flex;align-items:center;gap:10px;padding:18px 30px;font:800 15px var(--fh);white-space:nowrap;border:0;background:none;color:inherit}
.strip__i svg{width:20px;height:20px}
.strip__i+.strip__i::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal-x);opacity:.35;margin-right:20px}
.strip__btn{cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
@keyframes marq{to{transform:translateX(-50%)}}

/* =====================================================================
   03 PAIN → SOLUTION (flip cards)
   ===================================================================== */
.rpain{background:#fff}
.rpain::before{content:"";position:absolute;top:-200px;left:50%;width:900px;height:500px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(15,76,85,.07),transparent);pointer-events:none}
.rflips{display:grid;gap:20px}
@media (min-width:860px){ .rflips{grid-template-columns:repeat(3,1fr);gap:24px} }
.rflip{display:block;width:100%;font:inherit;color:inherit;perspective:1400px;min-height:320px;cursor:pointer;border:0;padding:0;background:none;text-align:center}
.flip__in{display:block;position:relative;width:100%;height:100%;min-height:320px;transform-style:preserve-3d;transition:transform .8s var(--spring)}
.rflip.is-on .flip__in{transform:rotateY(180deg)}
.flip__f,.flip__b{position:absolute;inset:0;border-radius:var(--rl);padding:32px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip__f{background:linear-gradient(160deg,#FFF6F6,#FDECEC);border:1px solid #F7D4D4}
.flip__b{background:linear-gradient(160deg,var(--teal),var(--teal-d));color:#D7E8EA;transform:rotateY(180deg);box-shadow:var(--shl)}
.flip__ic{width:66px;height:66px;border-radius:20px;display:grid;place-items:center}
.flip__f .flip__ic{background:#fff;color:var(--red);box-shadow:0 8px 20px rgba(224,36,36,.15)}
.flip__b .flip__ic{background:var(--gold);color:var(--teal-x)}
.flip__ic svg{width:30px;height:30px}
.rflip small{font:800 11.5px var(--fh);letter-spacing:.14em;text-transform:uppercase}
.flip__f small{color:var(--red)}
.flip__b small{color:var(--gold)}
.rflip h3{font-size:22px}
.flip__b h3{color:#fff}
.rflip p{font-size:15.5px;max-width:300px}
.flip__f p{color:var(--muted)}
.flip__hint{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font:700 13px var(--fh);color:var(--teal)}
.flip__hint svg{width:16px;height:16px;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(4px)}}
@media (hover:hover){ .rflip:hover:not(.is-on) .flip__in{transform:rotateY(10deg) translateY(-4px)} }

/* =====================================================================
   04 SERVICES (photo cards with reveal)
   ===================================================================== */
.svc-sec{background:linear-gradient(180deg,var(--teal-t),#F1F7F7)}
.rsvc{display:grid;gap:20px}
@media (min-width:640px){ .rsvc{grid-template-columns:1fr 1fr} }
@media (min-width:1180px){ .rsvc{grid-template-columns:repeat(4,1fr);gap:22px} }
.rsv{position:relative;border-radius:var(--rl);overflow:hidden;min-height:clamp(340px,40vw,440px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;isolation:isolate;box-shadow:var(--sh);text-align:center}
.rsv .rph{position:absolute;inset:0;z-index:-2}
.rsv .rph img{transition:transform 1s var(--ease)}
.rsv::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,42,47,.05) 25%,rgba(7,42,47,.92) 70%);transition:background .5s}
.sv__b{padding:24px 22px 24px}
.rsv h3{color:#fff;font-size:22px}
.rsv p{font-size:15px;color:#D2E5E7;margin-top:6px}
.sv__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.sv__more>div{overflow:hidden}
.rsv ul{display:grid;gap:6px;margin:14px 0 4px;text-align:left;font-size:14.5px}
.rsv li{display:flex;gap:8px;align-items:center;color:#E6F1F2}
.rsv li svg{width:17px;height:17px;color:var(--gold)}
.sv__btn{margin-top:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;font:700 14px var(--fh);cursor:pointer;backdrop-filter:blur(6px);transition:background-color .25s,color .25s}
.sv__btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.rsv.open .sv__more{grid-template-rows:1fr}
.rsv.open .sv__btn{background:var(--gold);color:var(--teal-x);border-color:var(--gold)}
.rsv.open .sv__btn svg{transform:rotate(45deg)}
.rsv.open::after{background:linear-gradient(180deg,rgba(7,42,47,.35),rgba(7,42,47,.95) 45%)}
@media (hover:hover){ .rsv:hover .rph img{transform:scale(1.08)} }
.rtag{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:1;padding:6px 12px;border-radius:999px;background:var(--gold);color:var(--teal-x);font:800 11.5px var(--fh);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

/* =====================================================================
   05 QUICK CHECK (dark, glass)
   ===================================================================== */
.rdark{background:radial-gradient(800px 500px at 100% 0%,rgba(227,168,53,.14),transparent 60%),linear-gradient(160deg,var(--teal-d),var(--teal-x));color:#D7E8EA}
.rpick{display:grid;gap:22px}
@media (min-width:1024px){ .rpick{grid-template-columns:1fr 1fr;gap:28px;align-items:stretch} }
.rpick>*{min-width:0}
.ropts{display:grid;gap:12px}
@media (min-width:520px){ .ropts{grid-template-columns:1fr 1fr} }
.ropt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);cursor:pointer;font:700 15.5px/1.3 var(--fh);color:#fff;transition:all .3s var(--ease);backdrop-filter:blur(6px)}
.ropt i{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-style:normal;color:var(--gold);transition:all .3s var(--ease)}
.ropt:hover{transform:translateY(-4px);background:rgba(255,255,255,.09);border-color:rgba(227,168,53,.5)}
.ropt[aria-pressed="true"]{background:linear-gradient(160deg,rgba(227,168,53,.22),rgba(227,168,53,.08));border-color:var(--gold);box-shadow:0 0 0 4px rgba(227,168,53,.12)}
.ropt[aria-pressed="true"] i{background:var(--gold);color:var(--teal-x);transform:scale(1.08)}
.rans{position:relative;border-radius:var(--rl);overflow:hidden;color:#fff;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center;padding:clamp(24px,3vw,40px);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.rans .rph{position:absolute;inset:0}
.rans::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,42,47,.2),rgba(7,42,47,.96) 62%)}
.ans__b{position:relative;z-index:1;animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rans small{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(227,168,53,.18);font:800 12px var(--fh);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.rans h3{color:#fff;font-size:clamp(23px,1vw + 17px,30px)}
.rans p{color:#D2E5E7;margin:10px auto 0;max-width:560px}
.rans .rrow{justify-content:center;margin-top:22px}

/* =====================================================================
   06 HOW IT WORKS (cards + animated rail)
   ===================================================================== */
.rhow{background:#fff}
.rsteps{position:relative;display:grid;gap:18px}
@media (min-width:900px){ .rsteps{grid-template-columns:repeat(var(--n,4),1fr);gap:20px} }
.rrail{display:none}
@media (min-width:900px){
  .rrail{display:block;position:absolute;left:10%;right:10%;top:52px;height:4px;border-radius:4px;background:var(--line2);overflow:hidden}
  .rrail i{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),var(--teal));transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease)}
  .rsteps.in .rrail i{transform:scaleX(1)}
}
.rst{position:relative;text-align:center;padding:26px 20px 26px;border-radius:var(--rl);background:var(--bg);border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s,background-color .4s}
@media (hover:hover){ .rst:hover{transform:translateY(-8px);box-shadow:var(--shl);background:#fff} .rst:hover .rst__n{background:var(--gold);color:var(--teal-x);transform:rotate(-8deg)} }
.rst__n{position:relative;z-index:1;width:56px;height:56px;margin:0 auto 16px;border-radius:16px;background:var(--teal);color:#fff;display:grid;place-items:center;transition:all .4s var(--spring)}
.rst__n svg{width:26px;height:26px}
.rst__k{position:absolute;top:14px;right:18px;font:900 40px/1 var(--fh);color:rgba(15,76,85,.07)}
.rst h3{font-size:18.5px}
.rst p{font-size:15px;color:var(--muted);margin-top:6px}

/* =====================================================================
   07 WHY RBA (gold tint, stats)
   ===================================================================== */
.why-sec{background:linear-gradient(180deg,var(--gold-t),#FFF9EE)}
.rwhy{display:grid;gap:36px;align-items:center}
@media (min-width:1024px){ .rwhy{grid-template-columns:1fr 1fr;gap:56px} }
.rwhy>*{min-width:0}
.rwhy__img{position:relative;border-radius:var(--rl);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shl)}
.rwhy__img .rph{position:absolute;inset:0}
.rstamp{position:absolute;right:18px;top:18px;width:118px;height:118px;border-radius:50%;background:var(--gold);color:var(--teal-x);display:grid;place-items:center;text-align:center;font:900 12.5px/1.2 var(--fh);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,0,0,.25);animation:spin 18s linear infinite}
.rstamp span{display:block;animation:spin 18s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.rnums{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rnum{padding:24px 16px;border-radius:18px;background:#fff;text-align:center;box-shadow:var(--sh);border:1px solid rgba(227,168,53,.25);transition:transform .35s var(--ease)}
.rnum:hover{transform:translateY(-6px)}
.rnum b{display:block;font:900 clamp(30px,2.2vw + 14px,46px)/1 var(--fh);color:var(--teal)}
.rnum b em{font-style:normal;color:var(--gold-d)}
.rnum>span{display:block;margin-top:8px;font:700 14px var(--fh);color:var(--teal)}
.rnum small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.rtrust{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.rtrust span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(227,168,53,.35);font:700 14px var(--fh);color:var(--teal)}
.rtrust svg{width:18px;height:18px;color:var(--gold-d)}

/* =====================================================================
   08 BATTERY TYPES (dark tabs)
   ===================================================================== */
.rtypes{background:linear-gradient(160deg,var(--teal),var(--teal-d))}
.rtabs__l{display:flex;gap:6px;overflow-x:auto;padding:6px;margin:0 auto 26px;width:max-content;max-width:100%;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);scrollbar-width:none}
.rtabs__l::-webkit-scrollbar{display:none}
.rtab{flex:none;padding:11px 20px;border-radius:999px;border:0;background:none;font:800 14.5px var(--fh);color:#CFE2E4;cursor:pointer;transition:all .3s var(--ease)}
.rtab:hover{color:#fff}
.rtab[aria-selected="true"]{background:var(--gold);color:var(--teal-x);box-shadow:0 8px 20px rgba(227,168,53,.35)}
.rpanel{display:grid;background:#fff;border-radius:var(--rl);overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.25)}
@media (min-width:900px){ .rpanel{grid-template-columns:1fr 1fr} }
.rpanel[hidden]{display:none}
.rpanel.is-on{animation:fade .5s var(--ease)}
.panel__img{aspect-ratio:16/10}
@media (min-width:900px){ .panel__img{aspect-ratio:auto;min-height:360px} }
.panel__b{padding:clamp(24px,3.4vw,52px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.panel__b h3{font-size:clamp(23px,1vw + 17px,30px)}
.panel__b p{color:var(--muted);margin-top:8px;max-width:520px}
.rchips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0 24px}
.rchips span{padding:8px 13px;border-radius:999px;background:var(--teal-t);color:var(--teal);font:600 13.5px var(--fb)}

/* =====================================================================
   09 AREAS (photo bg + interactive suburbs)
   ===================================================================== */
.rareas{color:#fff;text-align:center}
.rareas>.rph{position:absolute;inset:-60px 0;z-index:0}
.rareas::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,42,47,.88),rgba(7,42,47,.78) 50%,rgba(7,42,47,.92))}
.rareas .rwrap{position:relative;z-index:1}
.ralist{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:0 auto}
.rachip{padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font:800 15px var(--fh);cursor:pointer;backdrop-filter:blur(8px);transition:all .3s var(--ease)}
.rachip:hover{border-color:var(--gold);transform:translateY(-2px)}
.rachip[aria-pressed="true"]{background:var(--gold);color:var(--teal-x);border-color:var(--gold);box-shadow:0 10px 24px rgba(227,168,53,.35)}
.rabox{max-width:780px;margin:22px auto 0;padding:24px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.rabox b{display:block;font:800 20px var(--fh);color:var(--gold)}
.rabox p{margin-top:8px;color:#D7E8EA}
.rabox .rrow{justify-content:center;margin-top:18px}

/* =====================================================================
   10 REVIEWS (carousel)
   ===================================================================== */
.rev{background:#fff}
.rgsum{display:inline-flex;align-items:center;gap:14px;padding:12px 18px;border-radius:999px;background:var(--bg);border:1px solid var(--line);margin-top:18px}
.rgsum b{font:900 24px var(--fh);color:var(--teal)}
.rstars{display:inline-flex;gap:2px;color:var(--gold)}
.rstars svg{width:18px;height:18px;fill:currentColor;stroke:none}
.rcar{position:relative}
.rcar__t{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 22px;scrollbar-width:none}
.rcar__t::-webkit-scrollbar{display:none}
.rrev{scroll-snap-align:center;flex:0 0 min(380px,84vw);padding:28px 24px;border-radius:var(--rl);background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .35s var(--ease),box-shadow .35s}
.rrev:hover{transform:translateY(-6px);box-shadow:var(--shl)}
.rrev q{font-size:16.5px;line-height:1.55;color:var(--text);quotes:none}
.rrev__q{font:900 56px/0.6 Georgia,serif;color:var(--gold);height:22px}
.rrev__a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:800 16px var(--fh);color:#fff;background:var(--teal);margin-top:auto}
.rrev b{font:800 15px var(--fh);color:var(--teal)}
.rrev small{font-size:13px;color:var(--muted);margin-top:-8px}
.rcar__nav{display:flex;justify-content:center;gap:10px;margin-top:8px}
.rcar__nav button{width:50px;height:50px;border-radius:50%;border:1px solid var(--line2);background:#fff;color:var(--teal);cursor:pointer;display:grid;place-items:center;transition:all .25s}
.rcar__nav button:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
.rcar__nav svg{width:20px;height:20px}
.rnote{text-align:center;font-size:13px;color:var(--muted);margin-top:14px}

/* =====================================================================
   11 FLEET (gold band)
   ===================================================================== */
.fleet-sec{background:linear-gradient(120deg,var(--gold) 0%,var(--gold-l) 100%)}
.fleet-sec .rsh h2{color:var(--teal-x)}
.fleet-sec .rsh h2 em{color:#fff}
.fleet-sec .rsh p{color:#3D3215}
.fleet-sec .rsh::after{background:var(--teal-x)}
.rfleet{display:grid;gap:22px}
@media (min-width:900px){ .rfleet{grid-template-columns:1.2fr 1fr 1fr} }
.rfleet>*{min-width:0}
.fl-img{border-radius:var(--rl);overflow:hidden;min-height:280px;box-shadow:0 30px 60px rgba(90,60,0,.3)}
.rfl{padding:28px 24px;border-radius:var(--rl);background:var(--teal-x);color:#CFE2E4;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .35s var(--ease)}
.rfl:hover{transform:translateY(-6px)}
.rfl i{width:56px;height:56px;border-radius:16px;background:var(--gold);color:var(--teal-x);display:grid;place-items:center;font-style:normal}
.rfl h3{color:#fff;font-size:19px}
.rfl p{font-size:15px}
.rfl ul{display:grid;gap:8px;margin-top:4px;text-align:left}
.rfl li{display:flex;gap:8px;align-items:center;font-size:14.5px}
.rfl li svg{width:16px;height:16px;color:var(--gold)}
.fleet-sec .rrow{justify-content:center}

/* =====================================================================
   12 GUIDE (hover reveal cards)
   ===================================================================== */
.rguide{background:var(--bg)}
.rblog{display:grid;gap:22px}
@media (min-width:700px){ .rblog{grid-template-columns:1fr 1fr} }
@media (min-width:1100px){ .rblog{grid-template-columns:repeat(3,1fr)} }
.rpost{display:flex;flex-direction:column;border-radius:var(--rl);overflow:hidden;background:#fff;border:1px solid var(--line);text-align:center;transition:transform .4s var(--ease),box-shadow .4s}
@media (hover:hover){ .rpost:hover{transform:translateY(-8px);box-shadow:var(--shl)} .rpost:hover .rpost__img img{transform:scale(1.08)} }
.rpost__img{aspect-ratio:16/10}
.rpost__img img{transition:transform .9s var(--ease)}
.rpost__b{padding:22px 22px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}
.rpost__m{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--gold-t);font:700 12px var(--fh);color:#8A5A06}
.rpost h3{font-size:19px;line-height:1.3}
.rpost .lnk{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font:800 14.5px var(--fh);color:var(--teal)}
.rpost .lnk svg{width:17px;height:17px;transition:transform .3s}
.rpost:hover .lnk svg{transform:translateX(5px)}

/* =====================================================================
   13 FAQ (tint)
   ===================================================================== */
.faq-sec{background:linear-gradient(180deg,#fff,var(--teal-t))}
.racc{display:grid;gap:12px;max-width:860px;margin:0 auto}
.racc details{background:#fff;border:1px solid var(--line);border-radius:16px;transition:box-shadow .3s,border-color .3s}
.racc details[open]{box-shadow:var(--sh);border-color:rgba(227,168,53,.6)}
.racc summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:19px 22px;cursor:pointer;list-style:none;font:800 16.5px/1.35 var(--fh);color:var(--teal)}
.racc summary::-webkit-details-marker{display:none}
.racc summary i{width:32px;height:32px;border-radius:50%;background:var(--teal-t);display:grid;place-items:center;flex:none;transition:transform .35s var(--ease),background-color .3s;font-style:normal}
.racc summary i svg{width:16px;height:16px}
.racc details[open] summary i{transform:rotate(45deg);background:var(--gold)}
.racc .ra{padding:0 22px 20px;color:var(--muted);font-size:15.5px}
.racc details[open] .ra{animation:fade .35s var(--ease)}

/* =====================================================================
   14 QUOTE (dark split)
   ===================================================================== */
.rquote{display:grid;gap:30px}
@media (min-width:1024px){ .rquote{grid-template-columns:.85fr 1.15fr;gap:48px;align-items:stretch} }
.rquote>*{min-width:0}
.rcinfo{display:grid;gap:12px;align-content:center}
.rci{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:all .3s var(--ease)}
.rci:hover{background:rgba(255,255,255,.12);transform:translateX(6px)}
.rci i{width:50px;height:50px;border-radius:14px;background:var(--gold);color:var(--teal-x);display:grid;place-items:center;flex:none;font-style:normal}
.rci b{display:block;color:#fff;font:800 17px var(--fh)}
.rci span{font-size:14px;color:#A9C8CC}
.rform{background:#fff;color:var(--text);border-radius:var(--rl);padding:clamp(22px,3vw,36px);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.rform h3{color:var(--teal);font-size:22px;margin-bottom:16px;text-align:center}
.rfg{display:grid;gap:12px}
@media (min-width:600px){ .rfg{grid-template-columns:1fr 1fr} .rfg .full{grid-column:1/-1} }
.rf label{display:block;font-weight:600;font-size:14px;margin-bottom:5px;color:var(--teal)}
.rf input,.rf select,.rf textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line2);background:var(--bg);font-size:16px;transition:border-color .2s,box-shadow .2s}
.rf textarea{min-height:84px;resize:vertical}
.rf input:focus,.rf select:focus,.rf textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(15,76,85,.12)}
.rf.is-err input{border-color:var(--red)}
.rlocin{display:flex;gap:8px}
.rlocin input{flex:1;min-width:0}
.rlocin button{flex:none;width:50px;border-radius:12px;border:1.5px solid var(--teal);background:#fff;color:var(--teal);cursor:pointer;display:grid;place-items:center}
.rform .rbtn{width:100%;margin-top:16px}
.is-ok{display:none;text-align:center;padding:30px 8px}
.is-ok svg{width:64px;height:64px;color:#16A34A;margin:0 auto 12px}
.rform.done .rfg,.rform.done>.rbtn,.rform.done>h3{display:none}
.rform.done .is-ok{display:block;animation:fade .5s var(--ease)}

/* =====================================================================
   15 FINAL CTA (photo, parallax)
   ===================================================================== */
.rfinal{color:#fff;text-align:center;padding:clamp(80px,9vw,140px) 0}
.rfinal>.rph{position:absolute;inset:-80px 0;z-index:0}
.rfinal::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(700px 400px at 50% 40%,rgba(227,168,53,.2),transparent 70%),rgba(7,42,47,.88)}
.rfinal .rwrap{position:relative;z-index:1;max-width:1040px}
.rfinal h2{color:#fff;font-size:clamp(30px,2.4vw + 18px,58px);font-weight:900}
.rfinal p{color:#C9DFE1;margin-top:12px;font-size:18px}
.rfinal__ph{display:inline-flex;align-items:center;gap:14px;margin-top:22px;font:900 clamp(32px,2.8vw + 16px,64px) var(--fh);color:var(--gold)}
.rfinal__ph svg{width:1em;height:1em;animation:ring 2.6s infinite}
@keyframes ring{0%,60%,100%{transform:rotate(0)}65%{transform:rotate(-14deg)}70%{transform:rotate(14deg)}75%{transform:rotate(-10deg)}80%{transform:rotate(8deg)}85%{transform:rotate(0)}}
.rfinal .rrow{justify-content:center}

/* FOOTER */
.rfoot{position:relative;overflow:hidden;background:var(--teal-x);color:#A9C8CC;padding:clamp(56px,6vw,88px) 0 0;font-size:15px}
.rfoot__g{display:grid;gap:34px}
@media (max-width:1099px){ .rfoot__g{grid-template-columns:1fr 1fr;gap:30px 20px} .rfoot__g>div:first-child,.rfoot__g>div:last-child{grid-column:1/-1} }
@media (min-width:1100px){ .rfoot__g{grid-template-columns:1.4fr;grid-auto-flow:column;grid-auto-columns:1fr;gap:44px} .rfoot__g>div:last-child{min-width:240px} }
.rfoot__logo img{width:200px;height:auto}
.rfoot__ab{margin-top:16px;max-width:340px;line-height:1.65}
.rfoot h4{margin:0 0 14px;color:#fff;font:800 14px var(--fh);letter-spacing:.08em;text-transform:uppercase}
.rfoot__l{display:grid;gap:2px}
.rfoot__l a{padding:5px 0;transition:color .2s,transform .2s;display:inline-block}
.rfoot__l a:hover{color:var(--gold);transform:translateX(4px)}
.rfoot__n{display:grid;gap:12px}
.rfoot__n a,.rfoot__n div{display:flex;gap:10px;align-items:flex-start}
.rfoot__n svg{color:var(--gold);width:19px;height:19px;margin-top:3px}
.rsoc{display:flex;gap:10px;margin-top:20px}
.rsoc a{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff;transition:all .25s}
.rsoc a:hover{background:var(--gold);color:var(--teal);transform:translateY(-3px)}
.rsoc svg{width:19px;height:19px}
.rfoot__bar{margin-top:48px;border-top:1px solid rgba(255,255,255,.1);padding:20px 0 calc(20px + 76px);display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:13.5px}
@media (min-width:768px){ .rfoot__bar{padding-bottom:22px} }
.rfoot__bar nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.rfoot__bar a:hover{color:#fff}

/* Mobile action bar + back to top */
.rmbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1.25fr .9fr 1.25fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -8px 24px rgba(10,53,59,.14);transform:translateY(110%);transition:transform .4s var(--ease)}
.rmbar.show{transform:none}
.rmbar a{min-height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 6px;font:800 14.5px var(--fh);white-space:nowrap}
.rmbar svg{width:19px;height:19px}
.rmbar__c{background:var(--gold);color:var(--teal-x)}
.rmbar__s,.rmbar__w{background:var(--teal);color:#fff}
@media (max-width:374px){ .rmbar a{font-size:13px} }
@media (min-width:768px){ .rmbar{display:none} }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.hx{opacity:1;transform:none}
}


/* =====================================================================
   INNER PAGES (About · Guide · Contact · Single guide)
   ===================================================================== */
.phero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(900px 520px at 85% 10%,rgba(227,168,53,.22),transparent 60%),radial-gradient(800px 600px at 0% 100%,rgba(26,100,112,.75),transparent 60%),linear-gradient(135deg,#0A353B 0%,#0F4C55 55%,#0A353B 100%)}
.phero__in{position:relative;display:grid;gap:34px;align-items:center;padding-top:clamp(34px,5vw,72px);padding-bottom:clamp(60px,7vw,104px)}
@media (min-width:1024px){ .phero__in{grid-template-columns:1.05fr 1fr;gap:clamp(36px,4.5vw,84px)} }
.phero--c .phero__in{grid-template-columns:1fr;text-align:center;justify-items:center}
.phero__copy{min-width:0}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:600 14px var(--fb);color:#A9C8CC;margin-bottom:18px}
.phero--c .crumb{justify-content:center}
.crumb a{transition:color .2s}
.crumb a:hover{color:var(--gold)}
.crumb svg{width:14px;height:14px;opacity:.7}
.crumb b{color:#fff;font-weight:600}
.phero h1{color:#fff;font-size:clamp(34px,3.2vw + 16px,68px);font-weight:900;letter-spacing:-.03em;line-height:1.05}
.phero h1 span{display:block;background:linear-gradient(90deg,var(--gold-l),var(--gold) 60%,var(--gold-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.phero__lead{color:#C9DFE1;font-size:clamp(16.5px,.35vw + 15.5px,20px);margin-top:16px;max-width:600px}
.phero--c .phero__lead{margin-left:auto;margin-right:auto;max-width:820px}
.phero--c .rrow{justify-content:center}
.phero .hero__media{transform:none;opacity:1;aspect-ratio:16/11;flex:none;min-height:0;max-height:none;height:auto}
.phero .hero__media img{animation:kenburns 16s ease-in-out infinite alternate}
.phero .hero__frame{display:block;min-height:0}
@media (min-width:1024px){ .phero .hero__media{aspect-ratio:auto;height:clamp(320px,30vw,470px)} }
.phero__ph{display:inline-flex;align-items:center;gap:14px;margin-top:22px;font:900 clamp(30px,2.6vw + 16px,58px) var(--fh);color:var(--gold)}
.phero__ph svg{width:1em;height:1em;animation:ring 2.6s infinite}
.phero__badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.phero--c .phero__badges{justify-content:center}
.phero__badges span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font:700 14px var(--fh);color:#E6F1F2;backdrop-filter:blur(6px)}
.phero__badges svg{width:17px;height:17px;color:var(--gold)}
@media (max-width:599px){ .phero__badges span{font-size:13px;padding:8px 12px} }

/* ---------- ABOUT ---------- */
.story{display:grid;gap:34px;align-items:center}
@media (min-width:1024px){ .story{grid-template-columns:1fr 1fr;gap:60px} }
.story>*{min-width:0}
.story__img{position:relative;border-radius:var(--rl);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shl)}
.story__img .rph{position:absolute;inset:0}
.story__txt{text-align:center}
.story__txt p{color:var(--muted);margin-top:14px;font-size:clamp(16px,.2vw + 15.5px,17.5px)}
.story__txt .big{margin-top:0;font:700 clamp(19px,.6vw + 16px,24px)/1.45 var(--fh);color:var(--teal)}
.sign{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:14px 22px 14px 14px;border-radius:999px;background:var(--teal-t)}
.sign img{width:52px;height:52px;border-radius:50%;background:#fff;padding:6px;object-fit:contain}
.sign b{display:block;font:800 16px var(--fh);color:var(--teal);text-align:left}
.sign small{display:block;font-size:13.5px;color:var(--muted);text-align:left}
.goldband{background:linear-gradient(120deg,var(--gold) 0%,var(--gold-l) 100%)}
.goldband .rsh h2{color:var(--teal-x)}
.goldband .rsh h2 em{color:#fff}
.goldband .rsh p{color:#3D3215}
.goldband .rsh::after{background:var(--teal-x)}
.nums--4{grid-template-columns:1fr 1fr}
@media (min-width:900px){ .nums--4{grid-template-columns:repeat(4,1fr);gap:20px} }
.goldband .rnum{border-color:rgba(255,255,255,.6)}
.vals{display:grid;gap:18px}
@media (min-width:640px){ .vals{grid-template-columns:1fr 1fr} }
@media (min-width:1100px){ .vals{grid-template-columns:repeat(4,1fr);gap:20px} }
.val{position:relative;padding:32px 24px;border-radius:var(--rl);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);text-align:center;cursor:pointer;transition:transform .4s var(--ease),border-color .3s,background-color .3s;backdrop-filter:blur(6px)}
.val:hover{transform:translateY(-8px);border-color:rgba(227,168,53,.6);background:rgba(255,255,255,.09)}
.val i{width:62px;height:62px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:rgba(227,168,53,.14);color:var(--gold);font-style:normal;transition:all .4s var(--spring)}
.val:hover i{background:var(--gold);color:var(--teal-x);transform:rotate(-8deg) scale(1.06)}
.val i svg{width:28px;height:28px}
.val h3{color:#fff;font-size:20px}
.val p{color:#B9D3D6;font-size:15px;margin-top:8px}
.val__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.val__more>div{overflow:hidden}
.val__more p{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18);color:#E6F1F2}
.val.open .val__more{grid-template-rows:1fr}
.val__tg{margin-top:14px;display:inline-flex;align-items:center;gap:6px;font:800 13px var(--fh);color:var(--gold)}
.val__tg svg{width:15px;height:15px;transition:transform .35s var(--ease)}
.val.open .val__tg svg{transform:rotate(45deg)}
.proms{display:grid;gap:16px}
@media (min-width:700px){ .proms{grid-template-columns:1fr 1fr} }
@media (min-width:1100px){ .proms{grid-template-columns:repeat(3,1fr);gap:20px} }
.prom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 22px;border-radius:var(--rl);background:#fff;border:1px solid var(--line);box-shadow:0 4px 14px rgba(10,53,59,.05);transition:transform .4s var(--ease),box-shadow .4s}
.prom:hover{transform:translateY(-6px);box-shadow:var(--shl)}
.prom i{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--gold-t);color:var(--gold-d);font-style:normal}
.prom h3{font-size:18.5px}
.prom p{font-size:15px;color:var(--muted)}
.van{display:grid;gap:34px;align-items:center}
@media (min-width:1024px){ .van{grid-template-columns:1fr 1fr;gap:60px} }
.van>*{min-width:0}
.van__img{border-radius:var(--rl);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shl)}
.kit{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kit button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border-radius:16px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font:800 14.5px/1.3 var(--fh);color:var(--teal);transition:all .3s var(--ease);text-align:center}
.kit button i{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--teal);font-style:normal;transition:all .3s}
.kit button:hover{transform:translateY(-3px);border-color:var(--gold)}
.kit button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.kit button[aria-pressed="true"] i{background:var(--gold);color:var(--teal-x)}
.kit__out{margin-top:14px;padding:20px 22px;border-radius:16px;background:var(--gold-t);border:1px solid rgba(227,168,53,.4);text-align:center;color:#5B4310;font-size:15.5px;min-height:84px;display:grid;place-items:center}
.kit__out b{color:var(--teal)}

/* ---------- GUIDE (blog list) ---------- */
.gsearch{position:relative;width:100%;max-width:580px;margin:28px auto 0}
.gsearch input{width:100%;min-height:58px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);color:#fff;padding:0 22px 0 54px;font-size:16px;backdrop-filter:blur(8px);transition:border-color .2s,background-color .2s}
.gsearch input::placeholder{color:#A9C8CC}
.gsearch input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.13)}
.gsearch svg{position:absolute;z-index:1;pointer-events:none;left:20px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--gold)}
.gcats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 30px}
.gcat{padding:10px 18px;border-radius:999px;border:1px solid var(--line2);background:#fff;font:800 14px var(--fh);color:var(--teal);cursor:pointer;transition:all .3s var(--ease)}
.gcat:hover{border-color:var(--gold);transform:translateY(-2px)}
.gcat[aria-pressed="true"]{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 8px 20px rgba(15,76,85,.25)}
.gcat small{font:700 12px var(--fb);opacity:.7;margin-left:4px}
.feat{display:grid;border-radius:var(--rl);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);margin-bottom:26px;transition:transform .4s var(--ease),box-shadow .4s}
@media (min-width:900px){ .feat{grid-template-columns:1.15fr 1fr} }
@media (hover:hover){ .feat:hover{transform:translateY(-6px);box-shadow:var(--shl)} .feat:hover .feat__img img{transform:scale(1.06)} }
.feat__img{aspect-ratio:16/10}
@media (min-width:900px){ .feat__img{aspect-ratio:auto;min-height:380px} }
.feat__img img{transition:transform .9s var(--ease)}
.feat__b{padding:clamp(24px,3.4vw,52px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px}
.feat__b h2{font-size:clamp(24px,1.2vw + 16px,36px)}
.feat__b p{color:var(--muted);max-width:480px}
.feat__tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ftag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font:800 12px var(--fh);letter-spacing:.06em;text-transform:uppercase}
.ftag--g{background:var(--gold);color:var(--teal-x)}
.ftag--t{background:var(--teal-t);color:var(--teal)}
.rpost__ex{font-size:15px;color:var(--muted)}
.rpost[hidden],.feat[hidden]{display:none}
.askcard{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px 24px;border-radius:var(--rl);color:#D7E8EA;background:radial-gradient(500px 300px at 100% 0%,rgba(227,168,53,.2),transparent 60%),linear-gradient(160deg,var(--teal),var(--teal-d))}
.askcard i{width:62px;height:62px;border-radius:18px;background:var(--gold);color:var(--teal-x);display:grid;place-items:center;font-style:normal}
.askcard h3{color:#fff;font-size:22px}
.askcard p{font-size:15px}
.askcard .rbtn{margin-top:6px}
.gempty{text-align:center;color:var(--muted);padding:40px 10px;font-size:17px}
.nlband{background:linear-gradient(120deg,var(--gold) 0%,var(--gold-l) 100%)}
.nl{display:flex;gap:10px;max-width:560px;margin:0 auto}
.nl input{flex:1;min-width:0;min-height:56px;padding:0 20px;border-radius:14px;border:2px solid transparent;background:#fff;font-size:16px}
.nl input:focus{outline:none;border-color:var(--teal)}
.nl.is-err input{border-color:var(--red)}
.nl .rbtn{flex:none}
.nl__ok{display:none;text-align:center;font:800 17px var(--fh);color:var(--teal-x)}
.nl.done{display:none}
.nl.done + .nl__ok{display:block}
@media (max-width:520px){ .nl{flex-direction:column} .nl .rbtn{width:100%} }

/* ---------- CONTACT ---------- */
.cways{display:grid;gap:16px}
@media (min-width:640px){ .cways{grid-template-columns:1fr 1fr} }
@media (min-width:1180px){ .cways{grid-template-columns:repeat(5,1fr);gap:18px} }
.cw{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:30px 20px;border-radius:var(--rl);background:#fff;border:1px solid var(--line);box-shadow:var(--sh);cursor:pointer;font:inherit;color:inherit;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.cw i{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:var(--teal);color:#fff;font-style:normal;transition:all .4s var(--spring)}
.cw i svg{width:28px;height:28px}
.cw b{font:800 18px var(--fh);color:var(--teal)}
.cw span{font-size:14.5px;color:var(--muted)}
.cw em{font:800 14px var(--fh);font-style:normal;color:var(--gold-d);margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px}
.cw em svg{width:16px;height:16px;transition:transform .3s}
@media (hover:hover){ .cw:hover{transform:translateY(-8px);box-shadow:var(--shl);border-color:var(--gold)} .cw:hover i{background:var(--gold);color:var(--teal-x);transform:rotate(-8deg)} .cw:hover em svg{transform:translateX(4px)} }
.cw--hot{background:linear-gradient(160deg,var(--teal),var(--teal-d));border-color:var(--teal)}
.cw--hot i{background:var(--gold);color:var(--teal-x)}
.cw--hot b{color:#fff}
.cw--hot span{color:#B9D3D6}
.cw--hot em{color:var(--gold)}
@media (max-width:1179px) and (min-width:640px){ .cways .cw:last-child{grid-column:1/-1} }
.mapw{display:grid;gap:24px}
@media (min-width:1024px){ .mapw{grid-template-columns:1.3fr 1fr;gap:32px;align-items:stretch} }
.mapw>*{min-width:0}
.map{border-radius:var(--rl);overflow:hidden;min-height:380px;box-shadow:var(--shl);background:linear-gradient(150deg,#145A64,#0A353B)}
.map iframe{display:block;width:100%;height:100%;min-height:380px;border:0}
.hours{display:grid;gap:12px;align-content:center}
.hr{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.hr:hover{transform:translateX(6px);border-color:var(--gold)}
.hr b{display:flex;align-items:center;gap:10px;font:800 15.5px var(--fh);color:var(--teal)}
.hr b svg{width:20px;height:20px;color:var(--gold-d)}
.hr span{font:700 14.5px var(--fh);color:var(--muted);text-align:right}
.hr .open{color:#16A34A;display:inline-flex;align-items:center;gap:8px}
.hours .rbtn{margin-top:6px;width:100%}

/* =====================================================================
   SERVICE PAGES + GUIDE v2
   ===================================================================== */
.phero--full{display:flex;align-items:center}
.phero--full>.phero__in{width:100%}
@media (min-width:1024px){
  .phero--full{min-height:calc(100vh - var(--hh))}
  @supports (height:100svh){ .phero--full{min-height:calc(100svh - var(--hh))} }
}
.phero--one h1 span{display:inline}
.phero .hero__call{margin-top:22px}
.sv__link{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px;font:800 14px var(--fh);color:var(--gold)}
.sv__link svg{width:16px;height:16px;transition:transform .3s}
.sv__link:hover svg{transform:translateX(4px)}

/* feature cards */
.fts{display:grid;gap:18px}
@media (min-width:640px){ .fts{grid-template-columns:1fr 1fr} }
@media (min-width:1100px){ .fts{grid-template-columns:repeat(3,1fr);gap:22px} }
.ft{position:relative;isolation:isolate;overflow:hidden;padding:34px 26px 30px;border-radius:var(--rl);background:#fff;border:1px solid var(--line);text-align:center;box-shadow:0 4px 14px rgba(10,53,59,.05);transition:transform .45s var(--ease),box-shadow .45s}
.ft::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(400px 220px at 100% 0%,rgba(227,168,53,.25),transparent 60%),linear-gradient(160deg,var(--teal),var(--teal-d));opacity:0;transition:opacity .45s}
.ft__n{position:absolute;top:14px;right:18px;font:900 46px/1 var(--fh);color:rgba(15,76,85,.07);transition:color .45s}
.ft i{width:64px;height:64px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;background:var(--gold-t);color:var(--gold-d);font-style:normal;transition:all .45s var(--spring)}
.ft i svg{width:28px;height:28px}
.ft h3{font-size:19.5px;transition:color .45s}
.ft p{color:var(--muted);font-size:15.5px;margin-top:8px;transition:color .45s}
@media (hover:hover){
  .ft:hover{transform:translateY(-8px);box-shadow:var(--shl)}
  .ft:hover::before{opacity:1}
  .ft:hover h3{color:#fff} .ft:hover p{color:#C9DFE1}
  .ft:hover i{background:var(--gold);color:var(--teal-x);transform:rotate(-8deg) scale(1.05)}
  .ft:hover .ft__n{color:rgba(255,255,255,.12)}
}

/* comparison table */
.rcmpw{max-width:1040px;margin:0 auto;border-radius:var(--rl);overflow:hidden;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.28)}
.rcmp{overflow-x:auto}
.rcmp table{width:100%;border-collapse:collapse;min-width:600px;font-size:15.5px;color:var(--text)}
.rcmp th,.rcmp td{padding:17px 18px;text-align:center;border-bottom:1px solid var(--line)}
.rcmp th{font:800 15px var(--fh);color:var(--teal);background:var(--bg)}
.rcmp th:first-child,.rcmp td:first-child{text-align:left;font-weight:600}
.rcmp th.us{background:var(--gold);color:var(--teal-x)}
.rcmp td.us{background:var(--gold-t)}
.rcmp tbody tr:last-child td{border-bottom:0}
.rcmp tbody tr{transition:background-color .2s}
.rcmp tbody tr:hover td{background:#F2F8F8}
.rcmp tbody tr:hover td.us{background:#F8E6BF}
.yes,.no{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%}
.yes{background:#DCFCE7;color:#16A34A}
.no{background:#FDECEC;color:var(--red)}
.yes svg,.no svg{width:17px;height:17px}
.mid{font:700 13.5px var(--fh);color:var(--muted)}
.rcmp__note{text-align:center;color:#B9D3D6;font-size:14px;margin-top:18px}

/* price factor cards */
.prices{display:grid;gap:20px}
@media (min-width:900px){ .prices{grid-template-columns:repeat(3,1fr)} }
.goldband .rrow{justify-content:center}

/* light tabs */
.tabs--light .rtabs__l{background:var(--teal-t);border-color:var(--line2)}
.tabs--light .rtab{color:var(--teal)}
.tabs--light .rtab:hover{color:var(--teal-x)}
.tabs--light .rpanel{box-shadow:var(--shl);border:1px solid var(--line)}

/* other services */
.osv{display:grid;gap:18px}
@media (min-width:640px){ .osv{grid-template-columns:1fr 1fr} .osv>:last-child:nth-child(odd){grid-column:1/-1} }
@media (min-width:1100px){ .osv{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))} .osv>:last-child:nth-child(odd){grid-column:auto} }
.osv .rpost__b{padding:18px 16px 20px}
.osv .rpost h3{font-size:17px}

/* guide v2: premium categories */
.phero--cats .phero__in{padding-bottom:clamp(110px,11vw,160px)}
.gsec{overflow:visible;padding-top:0}
.gcatwrap{position:relative;z-index:2;margin-top:calc(-1 * clamp(64px,6.5vw,96px));margin-bottom:clamp(36px,4vw,56px)}
.gcats2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:700px){ .gcats2{grid-template-columns:repeat(3,1fr);gap:14px} }
@media (min-width:1180px){ .gcats2{grid-template-columns:repeat(6,1fr);gap:16px} }
.gc{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 12px 20px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(10,53,59,.14);cursor:pointer;text-align:center;font:inherit;color:inherit;transition:transform .45s var(--spring),box-shadow .45s,background-color .3s,border-color .3s}
.gc i{width:56px;height:56px;margin-bottom:6px;border-radius:16px;display:grid;place-items:center;background:var(--teal-t);color:var(--teal);font-style:normal;transition:all .45s var(--spring)}
.gc i svg{width:26px;height:26px}
.gc b{font:800 16px/1.2 var(--fh);color:var(--teal);transition:color .3s}
.gc small{font-size:13px;color:var(--muted);transition:color .3s}
.gc em{position:absolute;top:12px;right:12px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--gold-t);color:#8A5A06;font:800 12.5px/28px var(--fh);font-style:normal;transition:all .3s}
.gc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-l));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
@media (hover:hover){ .gc:hover{transform:translateY(-8px);box-shadow:0 28px 54px rgba(10,53,59,.22)} .gc:hover::after{transform:scaleX(1)} .gc:hover i{background:var(--gold);color:var(--teal-x);transform:rotate(-8deg)} }
.gc[aria-pressed="true"]{background:radial-gradient(260px 160px at 100% 0%,rgba(227,168,53,.28),transparent 60%),linear-gradient(160deg,var(--teal),var(--teal-d));border-color:var(--teal);transform:translateY(-8px)}
.gc[aria-pressed="true"] b{color:#fff}
.gc[aria-pressed="true"] small{color:#B9D3D6}
.gc[aria-pressed="true"] i{background:var(--gold);color:var(--teal-x)}
.gc[aria-pressed="true"] em{background:var(--gold);color:var(--teal-x)}
.gc[aria-pressed="true"]::after{transform:scaleX(1)}
@media (max-width:420px){ .gc{padding:20px 8px 16px} .gc small{font-size:12px} }
[data-morewrap]{margin-top:34px}


/* =====================================================================
   THEME (WordPress) ADDITIONS
   ===================================================================== */
body.rba{line-height:1.6}
.rba-js .rv{will-change:auto}
.rwhite,.rtabs-light{background:#fff}
.rnav__list a.rnav__link{text-decoration:none}
.rmm>.rnav__link .rico{width:15px;height:15px;transition:transform .3s var(--ease)}
.rmm.open>.rnav__link .rico{transform:rotate(180deg)}
.rmi__t .rico{width:26px;height:26px}
.rdacc__in strong{color:var(--teal);font-weight:800}
.rdrawer .rlogo img{height:38px}
.rareas .rsh h2{color:#fff}.rareas .rsh h2 em{color:var(--gold)}.rareas .rsh p{color:#D2E5E7}
.rareas .rabox .rrow{justify-content:center}
.nlband .rsh{margin-bottom:28px}
.nlband .rsh h2{color:var(--teal-x)}.nlband .rsh h2 em{color:#fff}.nlband .rsh p{color:#3D3215}.nlband .rsh::after{background:var(--teal-x)}
.nl{flex-wrap:wrap}
.nl .vh,.rform .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nl .lbg-submsg{flex-basis:100%;margin:6px 0 0;text-align:center;font:800 15px var(--fh);color:var(--teal-x)}
.rquote-sec .rci{border:1px solid rgba(255,255,255,.12);text-align:left;cursor:pointer;color:inherit;font:inherit;width:100%}
.rform__err{margin:-6px 0 14px;padding:10px 14px;border-radius:10px;background:#FDECEC;color:#B91C1C;font-weight:600;font-size:14.5px;text-align:center}
.rf.is-err input,.rf.is-err select,.rf.is-err textarea{border-color:var(--red)}
.rform form{display:block}
.rform.done form{display:none}
.rform.done .is-ok{display:block;animation:fade .5s var(--ease)}
.rform .is-ok h3{margin-top:4px}
.rform .is-ok p{color:var(--muted);margin-top:6px}
.rwhy--r .rwhy__img{order:2}
@media (max-width:1023px){ .rwhy--r .rwhy__img{order:0} }
.sign img{width:52px;height:52px;border-radius:50%;background:#fff;padding:6px;object-fit:contain}
.story__txt p:not(.big){color:var(--muted);margin-top:14px}
.kit__out b,.kit__out strong{color:var(--teal)}
.gc[aria-current="page"]{background:radial-gradient(260px 160px at 100% 0%,rgba(227,168,53,.28),transparent 60%),linear-gradient(160deg,var(--teal),var(--teal-d));border-color:var(--teal);transform:translateY(-8px)}
.gc[aria-current="page"] b{color:#fff}.gc[aria-current="page"] small{color:#B9D3D6}
.gc[aria-current="page"] i{background:var(--gold);color:var(--teal-x)}.gc[aria-current="page"] em{background:var(--gold);color:var(--teal-x)}
.gc[aria-current="page"]::after{transform:scaleX(1)}
@media (min-width:1180px){ .gcats2{grid-template-columns:repeat(var(--gn,6),1fr)} }
.gempty{text-align:center;color:var(--muted)}
[data-more].is-busy{opacity:.6;pointer-events:none}
.rguide .searchform,.rguide form[role=search]{display:flex;gap:8px;justify-content:center}

/* photo panels without a photo keep the brand gradient */
.rph{display:block}
.rph.noimg img{display:none}

/* Layout controls from the page builder ("Spacing & layout" + "Colours" boxes) */
:is(.rsec,.phero,.rhero,.rstrip){position:relative}
.rsec[data-ly~="pt"],.phero[data-ly~="pt"]{padding-top:var(--ly-pt)}
.rsec[data-ly~="pb"],.phero[data-ly~="pb"]{padding-bottom:var(--ly-pb)}
@media (max-width:767px){
  .rsec[data-ly~="ptm"]{padding-top:var(--ly-pt-m)}
  .rsec[data-ly~="pbm"]{padding-bottom:var(--ly-pb-m)}
}
:is(.rsec,.phero,.rhero)[data-ly~="minh"]{min-height:var(--ly-minh)}
:is(.rsec,.phero)[data-ly~="w"]>.rwrap{max-width:calc(var(--ly-w) + var(--gut) * 2)}
:is(.rsec,.phero)[data-ly~="bgimg"]>.rwrap{position:relative;z-index:1}
@media (max-width:767px){ [data-ly~="only-desktop"]{display:none!important} }
@media (min-width:768px){ [data-ly~="only-mobile"]{display:none!important} }
:is(.rsec,.phero,.rstrip)[data-sc~="bg"]{background:var(--sc-bg)}
:is(.rsec,.phero,.rstrip)[data-sc~="bg"][data-sc~="bg2"]{background:linear-gradient(160deg,var(--sc-bg),var(--sc-bg2))}
[data-sc~="heading"] :is(.rsh h2,h3,h1){color:var(--sc-heading)}
[data-sc~="text"] :is(.rsh p,p,li){color:var(--sc-text)}
[data-sc~="accent"] :is(.rsh h2 em,em,.phero h1 span){color:var(--sc-accent);-webkit-text-fill-color:var(--sc-accent)}
[data-sc~="accent"] .rsh::after{background:var(--sc-accent)}
[data-sc~="btn"] .rbtn:not(.rbtn--w):not(.rbtn--o){--b:var(--sc-btn)}
[data-sc~="btntext"] .rbtn:not(.rbtn--w):not(.rbtn--o){--f:var(--sc-btn-text)}
[data-sc~="card"] :is(.rnum,.prom,.ft,.rpost,.cw,.hr,.racc details,.rst){background:var(--sc-card)}
[data-sc~="cardtext"] :is(.rnum,.prom,.ft,.rpost,.cw,.hr,.racc details,.rst) :is(h3,p,b,span,small,summary){color:var(--sc-card-text)}
[data-sc~="border"] :is(.rnum,.prom,.ft,.rpost,.cw,.hr,.racc details,.rst){border-color:var(--sc-border)}

/* Engine sections (the 35 general sections) sit nicely inside the RBA look */
.rba .sechead .h-sec,.rba .h-hero{font-family:var(--fh)}

/* WhatsApp floating button: the mobile action bar already has WhatsApp */
@media (max-width:767px){ body.rba .lbg-wa{display:none} }

/* Blog post content: tip boxes and tables written in the editor */
.bp__prose .tip{margin:26px 0;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,var(--teal-t),#fff);border:1px solid var(--line2);border-left:5px solid var(--gold)}
.bp__prose .tip b{display:block;font:800 15.5px var(--fh);color:var(--teal);margin-bottom:4px}
.bp__prose .tip p{margin:0!important}
.bp__prose .tip--warn{background:linear-gradient(135deg,#FDECEC,#fff);border-color:#F7D4D4;border-left-color:var(--red)}
.bp__prose .tip--warn b{color:#B91C1C}
.bp__prose .tbl{overflow-x:auto;margin:0 0 22px;border-radius:14px;border:1px solid var(--line)}
.bp__prose .tbl table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;min-width:460px;margin:0}
.bp__prose .tbl th,.bp__prose .tbl td{padding:12px 16px;text-align:left;border:0;border-bottom:1px solid var(--line)}
.bp__prose .tbl th{background:var(--teal);color:#fff;font:800 14px var(--fh)}
.bp__prose .tbl tr:last-child td{border-bottom:0}
.bp__prose .tbl tbody tr:nth-child(even){background:var(--bg)}

/* Announcement bar (Theme Settings > Announcement bar) */
.annbar{background:var(--teal-x);color:#D7E8EA;font:600 14px var(--fb)}
.annbar__in{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;padding:9px var(--gut);text-align:center}
.annbar a{color:var(--gold);font-weight:800;text-decoration:underline}

.rgsum svg{width:34px;height:34px;flex:none}
.rgsum{color:inherit;text-decoration:none}
