/* Unified site design system (shared). */
/* ==== integrated from mockup_theme.css (scoped to .rd redesign pages, zero-specificity :where) ==== */
:where(body.rd){--navy:#16304f; --navy-2:#1c3c63; --orange:#ec7a2b; --orange-lt:#ffb27a;
  --ink:#1f2937; --muted:#5b6675; --line:#e7ebf0; --bg:#ffffff; --bg-soft:#f5f7f9;
  --maxw:1180px;--orange-ink:#b45309;margin:0;font-family:"Manrope",system-ui,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}

:where(body.rd) *{box-sizing:border-box}


:where(body.rd) h1,:where(body.rd) h2,:where(body.rd) h3,:where(body.rd) .display{font-family:"Archivo","Manrope",sans-serif;letter-spacing:-.01em;line-height:1.05;margin:0}
:where(body.rd) a{color:inherit;text-decoration:none}
:where(body.rd) .wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
:where(body.rd) .btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;border-radius:10px;padding:14px 22px;font-size:15px;transition:.15s;cursor:pointer;border:0}
:where(body.rd) .btn-o{background:var(--orange);color:#16304f}
:where(body.rd) .btn-o:hover{background:#d96b1f}
:where(body.rd) .btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.35)}
:where(body.rd) .btn-ghost:hover{border-color:#fff}
:where(body.rd) .eyebrow{font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none;color:var(--orange-ink)}


:where(body.rd) header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
:where(body.rd) .nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:80px}
:where(body.rd) .brand{display:flex;align-items:center;gap:12px}
:where(body.rd) .brand img{height:56px;width:auto;display:block}
:where(body.rd) .brand .wm{display:flex;flex-direction:column;line-height:1}
:where(body.rd) .brand .wm b{font-family:"Oswald","Archivo",sans-serif;font-weight:500;font-size:13px;letter-spacing:.135em;color:var(--navy);white-space:nowrap}
:where(body.rd) .brand .wm i{font-family:"Oswald","Archivo",sans-serif;font-style:normal;font-weight:700;font-size:30px;letter-spacing:.005em;color:var(--orange);margin-top:0;line-height:.92}
:where(body.rd) .nav-links{display:flex;gap:26px;align-items:center;font-weight:600;font-size:14.5px;color:var(--navy)}
:where(body.rd) .nav-links a:hover{color:var(--orange)}
:where(body.rd) .nav-cta{display:flex;gap:12px;align-items:center}
:where(body.rd) .nav-phone{font-weight:800;color:var(--navy);font-size:15px}
@media(max-width:1000px){:where(body.rd) .nav-links{display:none}:where(body.rd) .nav-phone{display:none}}
@media(max-width:560px){:where(body.rd) .brand .wm i{font-size:23px}:where(body.rd) .brand .wm b{font-size:10.5px}:where(body.rd) .brand img{height:46px}}


:where(body.rd) .hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
:where(body.rd) .hero:before{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,#22436b 0%,transparent 70%);opacity:.6}
:where(body.rd) .hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding:68px 0 74px}
:where(body.rd) .hero .stars{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:7px 14px;border-radius:999px;font-weight:700;font-size:13.5px;color:#fff}
:where(body.rd) .hero .stars b{color:var(--orange-lt)}
:where(body.rd) .hero h1{font-size:56px;font-weight:900;margin:22px 0 0}
:where(body.rd) .hero p.lede{color:#cdd8e6;font-size:18px;max-width:33em;margin:18px 0 0}
:where(body.rd) .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
:where(body.rd) .hero-msg{margin-top:22px;font-size:14px;color:#aebccd;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
:where(body.rd) .hero-msg a{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px}
:where(body.rd) .hero-art{position:relative}
:where(body.rd) .hero-art img{width:100%;border-radius:18px;display:block;box-shadow:0 30px 60px rgba(0,0,0,.35)}
@media(max-width:840px){:where(body.rd) .hero-in{grid-template-columns:1fr;padding:44px 0 50px}:where(body.rd) .hero h1{font-size:38px}:where(body.rd) .hero-art{display:none}}


:where(body.rd) .stats{background:var(--navy-2);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
:where(body.rd) .stats-in{display:flex;flex-wrap:wrap;gap:10px 44px;justify-content:center;padding:22px 0;text-align:center}
:where(body.rd) .stat b{font-family:"Archivo";font-size:26px;font-weight:900;color:#fff}
:where(body.rd) .stat span{color:var(--orange-lt);font-weight:700;font-size:13px;display:block;margin-top:-2px}
:where(body.rd) .trust{background:var(--bg-soft);border-bottom:1px solid var(--line)}
:where(body.rd) .trust-in{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;padding:16px 0;font-weight:700;font-size:13.5px;color:var(--navy)}
:where(body.rd) .trust-in span{display:inline-flex;align-items:center;gap:7px}
:where(body.rd) .trust-in span:before{content:"✓";color:var(--orange-ink);font-weight:900}

:where(body.rd) section{padding:76px 0}
:where(body.rd) .sec-head{max-width:720px}
:where(body.rd) .sec-head h2{font-size:38px;font-weight:900;color:var(--navy);margin-top:10px}
:where(body.rd) .sec-head p{color:var(--muted);font-size:17px;margin:14px 0 0}


:where(body.rd) .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
@media(max-width:860px){:where(body.rd) .grid3{grid-template-columns:1fr}}
:where(body.rd) .card{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff;transition:.15s}
:where(body.rd) .card:hover{border-color:var(--orange);box-shadow:0 14px 30px rgba(22,48,79,.08);transform:translateY(-3px)}
:where(body.rd) .card .num{font-family:"Archivo";font-weight:900;font-size:15px;color:var(--orange-ink);letter-spacing:.06em}
:where(body.rd) .card h3{font-size:20px;color:var(--navy);margin:10px 0 8px;font-weight:800}
:where(body.rd) .card p{color:var(--muted);font-size:15px;margin:0}
:where(body.rd) .sec-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}
:where(body.rd) .link-o{color:var(--orange-ink);font-weight:800;font-size:15px}


:where(body.rd) .about{background:var(--navy);color:#fff}
:where(body.rd) .about-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
:where(body.rd) .about-in .ph{position:relative}
:where(body.rd) .about-in .ph img{width:100%;height:auto;border-radius:18px;display:block}
:where(body.rd) .about-badge{position:absolute;left:-14px;bottom:-14px;background:var(--orange);color:#16304f;border-radius:14px;padding:14px 18px;font-family:"Archivo";font-weight:900;line-height:1;box-shadow:0 12px 24px rgba(0,0,0,.3)}
:where(body.rd) .about-badge b{font-size:30px;display:block}
:where(body.rd) .about-badge span{font-size:12px;font-weight:700}
:where(body.rd) .about h2{font-size:36px;font-weight:900;margin-top:10px}
:where(body.rd) .about p{color:#cdd8e6;font-size:16px;margin:16px 0 0}
:where(body.rd) .about p strong{color:#fff}
:where(body.rd) .george{margin-top:44px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0 22px 0 18px;display:flex;gap:16px;align-items:flex-end;overflow:visible}

:where(body.rd) .george b{color:#fff}:where(body.rd) .george small{color:#aebccd;display:block}
@media(max-width:840px){:where(body.rd) .about-in{grid-template-columns:1fr}:where(body.rd) .about h2{font-size:28px}}


:where(body.rd) .rate-line{margin-top:30px;background:var(--navy);color:#fff;border-radius:16px;padding:22px 26px;font-size:16px;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline}
:where(body.rd) .rate-line b{font-family:"Archivo";color:var(--orange-lt);font-size:22px;font-weight:900}
:where(body.rd) .faq{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
@media(max-width:820px){:where(body.rd) .faq{grid-template-columns:1fr}}
:where(body.rd) .faq .q{border:1px solid var(--line);border-radius:14px;padding:20px 22px}
:where(body.rd) .faq .q h3{font-size:16.5px;color:var(--navy);font-weight:800;margin:0 0 6px}
:where(body.rd) .faq .q p{color:var(--muted);font-size:14.5px;margin:0}
:where(body.rd) .why{margin-top:34px;background:var(--bg-soft);border-left:5px solid var(--orange);border-radius:12px;padding:24px 26px}
:where(body.rd) .why h3{color:var(--navy);font-size:18px;margin:0 0 8px;font-weight:800}
:where(body.rd) .why p{color:var(--muted);font-size:15px;margin:0 0 10px}


:where(body.rd) .reviews{background:var(--bg-soft)}
:where(body.rd) .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
@media(max-width:860px){:where(body.rd) .rev-grid{grid-template-columns:1fr}}
:where(body.rd) .rev{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
:where(body.rd) .rev .s{color:var(--orange-ink);letter-spacing:2px;font-size:15px}
:where(body.rd) .rev blockquote{margin:12px 0 14px;font-size:15px;color:var(--ink);line-height:1.55}
:where(body.rd) .rev .who{font-weight:800;color:var(--navy);font-size:14px}


:where(body.rd) .cta{background:var(--navy);color:#fff}
:where(body.rd) .cta h2{font-size:38px;font-weight:900}
:where(body.rd) .cta>.wrap>p{color:#cdd8e6;font-size:17px;max-width:34em}
:where(body.rd) .cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
@media(max-width:820px){:where(body.rd) .cta-grid{grid-template-columns:1fr}}
:where(body.rd) .cta-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px}
:where(body.rd) .cta-card .tag{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-lt)}
:where(body.rd) .cta-card h3{font-size:22px;margin:10px 0 8px;font-weight:800}
:where(body.rd) .cta-card p{color:#bccbdd;font-size:15px;margin:0 0 18px}


:where(body.rd) .gal{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:32px}
:where(body.rd) .gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}
@media(max-width:860px){:where(body.rd) .gal{grid-template-columns:repeat(3,1fr)}}


:where(body.rd) footer{background:#0f2238;color:#aebccd;padding:44px 0;font-size:14px}
:where(body.rd) .foot-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
:where(body.rd) .foot-top img{height:56px;background:#fff;border-radius:10px;padding:6px 10px}
.foot-logo{height:56px;width:auto;background:#fff;border-radius:10px;padding:6px 10px;object-fit:contain;display:block}
:where(body.rd) footer a:hover{color:#fff}
:where(body.rd) .watermark{position:fixed;bottom:14px;right:14px;background:var(--orange);color:#fff;font-weight:800;font-size:12px;padding:8px 14px;border-radius:999px;box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:99}


:where(body.rd) .hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
:where(body.rd) .hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}
:where(body.rd) .hero-bg img{height:100%;width:auto;max-height:100%;object-fit:contain;object-position:right center;opacity:0.20}
:where(body.rd) .hero-content{position:relative;z-index:2;padding:76px 0 80px}
:where(body.rd) .hero-numbers{display:flex;flex-wrap:wrap;margin-top:38px}
:where(body.rd) .hero-num{padding:0 2.2rem;border-right:1px solid rgba(255,255,255,.14)}
:where(body.rd) .hero-num:first-child{padding-left:0}
:where(body.rd) .hero-num:last-child{border-right:none}
:where(body.rd) .hero-num b{font-family:"Archivo";font-weight:900;font-size:2.3rem;display:block;line-height:1;color:#fff}
:where(body.rd) .hero-num span{color:var(--orange-lt);font-weight:700;font-size:12.5px}
@media(max-width:560px){:where(body.rd) .hero-num{padding:0 1.05rem}:where(body.rd) .hero-num b{font-size:1.7rem}:where(body.rd) .hero-bg img{opacity:0.20}}



:where(body.rd) .george-cut{flex:0 0 auto;height:188px;width:auto;margin-top:-40px;filter:drop-shadow(6px 9px 7px rgba(0,0,0,.55))}
:where(body.rd) .george-txt{padding:20px 0 22px}
@media(max-width:560px){:where(body.rd) .george-cut{height:150px;margin-top:-28px}}


:where(body.rd) .nav-in{position:relative}
:where(body.rd) .nav-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
:where(body.rd) .nav-burger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px}
@media(max-width:1000px){
 :where(body.rd) .nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:6px 0;display:none;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.1);z-index:50}
 :where(body.rd).nlopen .nav-links{display:flex}
 :where(body.rd) .nav-links a{padding:13px 22px}
 :where(body.rd) .nav-burger{display:flex}
 :where(body.rd) .nav-phone{display:none}
}
:where(body.rd) .nav-phone{white-space:nowrap}
:where(body.rd) .nav .btn{white-space:nowrap}
:where(body.rd) .nav-links a{text-transform:none}
/* Phones (27 Sep 2026 rehearsal): at 390px wide the logo, Get a price and the
   menu button ran 22px past the edge, so every page scrolled sideways. Tighter
   spacing and a slightly smaller logo keep the header inside the screen down
   to 320px. */
@media(max-width:430px){
 :where(body.rd) .nav-in{gap:8px}
 :where(body.rd) .nav-cta{gap:4px}
 :where(body.rd) .brand{gap:8px;min-width:0}
 :where(body.rd) .brand img{height:38px}
 :where(body.rd) .brand .wm b{font-size:9px;letter-spacing:.11em}
 :where(body.rd) .brand .wm i{font-size:19px}
 :where(body.rd) .nav .btn{padding-left:12px;padding-right:12px}
 :where(body.rd) .nav-burger{padding:6px 2px 6px 6px}
}
@media(max-width:370px){
 :where(body.rd) .brand img{height:32px}
 :where(body.rd) .brand .wm b{font-size:7.5px;letter-spacing:.1em}
 :where(body.rd) .brand .wm i{font-size:16px}
 :where(body.rd) .nav .btn{padding-left:10px;padding-right:10px;font-size:14px}
}
/* The rates table on the terms page is wider than a small phone (320 to 375px):
   it scrolls sideways on its own instead of pushing the whole page. */
@media(max-width:480px){:where(body.terms) table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* ==== end integrated ==== */
.phero{background:#16304f;color:#fff;height:280px;min-height:280px;padding:0;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.phero:before{content:"";position:absolute;right:-160px;top:-140px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,#22436b 0,transparent 70%);opacity:.5}
.phero .eyebrow{font-family:'Manrope',sans-serif !important;font-weight:800 !important;font-size:.68rem !important;letter-spacing:.2em !important;line-height:1.6 !important;text-transform:uppercase !important;color:#ffb27a !important;margin:0 0 10px !important}.about .eyebrow,.cta .eyebrow,.dark .eyebrow{color:#ffb27a}
.phero h1{font-family:"Archivo";font-weight:900;font-size:48px;margin:10px 0 0}
.phero p{color:#cdd8e6;font-size:17px;max-width:44em;margin:16px 0 0}
.blk{padding:44px 0;border-bottom:1px solid var(--line)}
.blk .num{font-family:"Archivo";font-weight:900;color:var(--orange-ink);font-size:15px;letter-spacing:.06em}
.blk h2{font-family:"Archivo";font-weight:900;color:var(--navy);font-size:30px;margin:6px 0 14px}
.blk p{color:var(--muted);font-size:15.5px;margin:0 0 12px;max-width:60em}
.incl{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:16px}
.incl .cap{font-family:"Archivo";font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:11.5px;color:var(--orange-ink);margin-bottom:12px}
.incl ul{list-style:none;margin:0;padding:0;columns:2;column-gap:26px}
@media(max-width:640px){.incl ul{columns:1}}
.incl li{padding:5px 0 5px 22px;position:relative;color:var(--ink);font-size:14.5px;break-inside:avoid}
.incl li:before{content:"✓";position:absolute;left:0;color:var(--orange-ink);font-weight:900}
.rate{width:100%;border-collapse:collapse;margin-top:18px;font-size:14.5px}
.rate th{text-align:left;font-family:"Archivo";text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;color:var(--muted);border-bottom:2px solid var(--line);padding:10px 12px}
.rate td{border-bottom:1px solid var(--line);padding:12px;color:var(--ink);vertical-align:top}
.rate td b{color:var(--navy);font-family:"Archivo";font-weight:800}
.rate tr td:nth-child(2){white-space:nowrap;color:var(--orange-ink);font-weight:800}
.towns{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:26px}
@media(max-width:760px){.towns{grid-template-columns:repeat(2,1fr)}}
.town{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.town b{color:var(--navy);font-family:"Archivo";display:block;margin-bottom:2px}
.town span{color:var(--muted);font-size:13px}
.mcard{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff}
.mcard .mtag{font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none;color:var(--orange-ink)}
.mcard h3{font-family:"Archivo";font-weight:900;color:var(--navy);font-size:22px;margin:8px 0 10px}
.mcard p{color:var(--muted);font-size:14.5px;margin:0 0 12px}
.qref{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
@media(max-width:760px){.qref{grid-template-columns:repeat(2,1fr)}}
.qref div{background:var(--navy);color:#fff;border-radius:12px;padding:16px}
.qref b{display:block;font-family:"Archivo";font-weight:900;font-size:20px;color:var(--orange-lt)}
.qref span{font-size:12px;color:#bccbdd}
.cta-strip{background:var(--navy);color:#fff;padding:56px 0;text-align:center}
.cta-strip h2{font-family:"Archivo";font-weight:900;font-size:34px}
.cta-strip p{color:#cdd8e6;max-width:40em;margin:12px auto 22px}
.cta-strip .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.galx{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
@media(max-width:860px){.galx{grid-template-columns:repeat(2,1fr)}}
.galx img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}

/* --- legacy-template pages (gallery/terms/accessibility/locations) --- */
:root{--navy:#16304f;--navy-2:#1c3c63;--orange:#ec7a2b;--orange-lt:#ffb27a;--orange-ink:#b45309;--ink:#1f2937;--muted:#5b6675;--line:#e7ebf0;--bg:#ffffff;--bg-soft:#f5f7f9;--maxw:1180px;--brown:#1c3c63;--brown-dk:#16304f;--brown-lt:#2a4d75;--tan:#ec7a2b;--tan-lt:#ffb27a;--tan-ink:#b45309;--tan-text:#16304f;--mid:#16304f;--cream:#ffffff;--warm:#f5f7f9;--border:#e7ebf0;--text:#1f2937;--white:#ffffff}
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--cream); color: var(--text); font-family: 'Manrope', sans-serif; font-weight: 400; line-height: 1.6; -webkit-font-smoothing: antialiased; }

    /* NAV */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      background: var(--brown-dk);
      height: 62px; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;
    }
    .nav-brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
    .nav-brand img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; object-position: center 15%; border: 2px solid var(--tan); }
    .nav-brand-name { font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 1rem; color: var(--white); letter-spacing: .04em; line-height: 1.1; }
    .nav-brand-name em { display: block; font-family: 'Manrope', monospace; font-style: normal; font-weight: 400; font-size: .52rem; letter-spacing: .15em; text-transform: uppercase; color: var(--tan-lt); margin-top: 1px; }
    .nav-links { display: flex; gap: 1.5rem; list-style: none; align-items: center; }
    .nav-links a { font-size: 14.5px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--navy); text-decoration: none; transition: color .2s; }
    .nav-links a:hover, .nav-links a.active { color: var(--orange); }
    .nav-book { background: var(--tan) !important; color: var(--text) !important; padding: .45rem 1.2rem; border-radius: 20px !important; font-weight: 700 !important; transition: background .2s !important; }
    .nav-book:hover { background: var(--tan-lt) !important; }
    .nav-hamburger { display: none; flex-direction: column; gap: 4px; cursor: pointer; background: none; border: none; padding: 4px; }
    .nav-hamburger span { display: block; width: 20px; height: 2px; background: var(--white); border-radius: 2px; }

    /* PAGE HERO */
    .page-hero {
      padding: 60px 0 64px;
      background: var(--brown-dk);
      text-align: left;
    }
    .page-hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 22px; }
    .eyebrow { font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none; color: var(--tan-ink); margin-bottom: .75rem; }
    .page-hero h1 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: clamp(2.5rem, 5vw, 4rem); color: var(--white); line-height: 1; letter-spacing: .01em; margin-bottom: 1rem; }
    .page-hero p { font-size: 1.05rem; color: rgba(255,255,255,.55); line-height: 1.75; max-width: 620px; }

    /* CONTENT */
    .main { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }

    /* SERVICE SECTIONS */
    .svc-section {
      display: grid;
      grid-template-columns: 280px 1fr;
      gap: 5rem;
      align-items: start;
      padding: 5rem 0;
      border-bottom: 1px solid var(--border);
    }
    .svc-section:last-of-type { border-bottom: none; }
    .svc-sidebar { position: sticky; top: 80px; }
    .svc-num { font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none; color: var(--tan-ink); margin-bottom: .5rem; }
    .svc-sidebar h2 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.8rem; color: var(--text); letter-spacing: .02em; line-height: 1.1; margin-bottom: 1rem; }
    .svc-cta-link {
      display: inline-flex; align-items: center; gap: .4rem;
      background: var(--brown-dk); color: var(--white);
      padding: .7rem 1.4rem; border-radius: 20px;
      text-decoration: none; font-size: .84rem; font-weight: 700;
      margin-top: 1.25rem;
      transition: background .2s;
    }
    .svc-cta-link:hover { background: var(--brown); }
    .svc-body p { font-size: .98rem; color: var(--mid); line-height: 1.85; margin-bottom: 1.25rem; }
    .svc-body p:last-of-type { margin-bottom: 0; }
    .svc-body strong { color: var(--text); font-weight: 700; }
    .svc-includes {
      margin: 1.75rem 0;
      background: var(--warm);
      border-radius: 10px;
      padding: 1.5rem 1.75rem;
      border: 1px solid var(--border);
    }
    .svc-includes-title { font-family: 'Manrope', monospace; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tan); margin-bottom: 1rem; }
    .svc-includes ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .4rem .75rem; }
    .svc-includes ul li { font-size: .88rem; color: var(--mid); display: flex; align-items: flex-start; gap: .5rem; line-height: 1.5; }
    .svc-includes ul li::before { content: '→'; color: var(--tan); font-size: .72rem; flex-shrink: 0; margin-top: .15rem; }

    /* COVERAGE SECTION */
    .coverage-section {
      background: var(--brown-dk);
      padding: 5rem 2rem;
      margin: 0;
    }
    .coverage-inner { max-width: 1200px; margin: 0 auto; }
    .coverage-inner .eyebrow { color: var(--tan-ink); }
    .coverage-inner h2 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: clamp(2rem, 3.5vw, 3rem); color: var(--white); letter-spacing: .01em; margin-bottom: 1rem; }
    .coverage-inner p { font-size: 1rem; color: rgba(255,255,255,.5); max-width: 560px; line-height: 1.8; margin-bottom: 2.5rem; }
    .coverage-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
    .coverage-card {
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 10px;
      padding: 1.5rem 1.25rem;
      text-align: center;
    }
    .coverage-card strong { display: block; font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 1rem; color: var(--white); letter-spacing: .02em; margin-bottom: .35rem; }
    .coverage-card span { font-size: .78rem; color: rgba(255,255,255,.35); line-height: 1.5; }
    .coverage-note { font-size: .84rem; color: #aebccd; margin-top: 1.5rem; margin-bottom: 0; }

    /* CTA SECTION */
    .page-cta {
      background: var(--tan);
      padding: 5rem 2rem;
    }
    .page-cta-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }
    .page-cta h2 { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: clamp(1.8rem, 3vw, 2.5rem); color: var(--text); letter-spacing: .01em; line-height: 1.1; }
    .page-cta p { font-size: .96rem; color: #2c1a08; margin-top: .75rem; max-width: 480px; line-height: 1.7; }
    .cta-buttons { display: flex; gap: 1rem; flex-shrink: 0; flex-wrap: wrap; }
    .cta-btn-dk { display: inline-flex; align-items: center; gap: .5rem; background: var(--brown-dk); color: var(--white); padding: .85rem 1.8rem; border-radius: 25px; text-decoration: none; font-size: .9rem; font-weight: 700; transition: background .2s; white-space: nowrap; }
    .cta-btn-dk:hover { background: var(--brown); }
    .cta-btn-lt { display: inline-flex; align-items: center; gap: .5rem; border: 2px solid rgba(44,26,8,.25); color: var(--text); padding: .85rem 1.8rem; border-radius: 25px; text-decoration: none; font-size: .9rem; font-weight: 600; transition: all .2s; white-space: nowrap; }
    .cta-btn-lt:hover { border-color: var(--brown-dk); }

    /* FOOTER */
    footer { background: var(--brown-dk); padding: 2.5rem 2rem; border-top: 4px solid var(--tan); }
    .footer-in { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; }
    .footer-brand { display: flex; align-items: center; gap: .75rem; }
    .footer-brand img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; object-position: center 15%; border: 2px solid var(--tan); }
    .footer-brand-name { font-family: 'Archivo', sans-serif; font-weight: 600; font-size: .95rem; color: var(--white); letter-spacing: .03em; }
    .footer-brand-name span { display: block; font-family: 'Manrope', monospace; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; color: #aebccd; font-weight: 400; margin-top: 2px; }
    .footer-mid { font-size: .8rem; color: #aebccd; text-align: center; line-height: 1.85; }
    .footer-mid a { color: var(--tan-lt); text-decoration: none; }
    .footer-right { font-family: 'Manrope', monospace; font-size: .62rem; letter-spacing: .05em; color: rgba(255,255,255,.18); text-align: right; line-height: 1.85; }

    /* REVEAL */
    .reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s, transform .6s; }
    .reveal.on { opacity: 1; transform: none; }

    /* RESPONSIVE */
    @media (max-width: 960px) {
      .nav-links { display: none; }
      .nav-hamburger { display: flex; }
      .svc-section { grid-template-columns: 1fr; gap: 2rem; }
      .svc-sidebar { position: static; }
      .svc-includes ul { grid-template-columns: 1fr; }
      .coverage-grid { grid-template-columns: repeat(3, 1fr); }
      .page-cta-inner { flex-direction: column; align-items: flex-start; }
      .footer-in { flex-direction: column; align-items: flex-start; }
      .footer-right { text-align: left; }
    }
    @media (max-width: 600px) {
      .coverage-grid { grid-template-columns: 1fr 1fr; }
    }
  
/* a11y (WCAG AA) */
.skip{position:absolute;left:8px;top:-48px;background:#16304f;color:#fff;padding:10px 16px;z-index:2000;border-radius:0 0 8px 8px;font-weight:700;text-decoration:none;transition:top .15s}
.skip:focus{top:0;outline:3px solid #b45309}
:focus-visible{outline:3px solid #16304f;outline-offset:2px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #16304f;outline-offset:2px}
.nav-hamburger{min-width:44px;min-height:44px;padding:10px;align-items:center;justify-content:center}

/* a11y AA contrast (footer + hero stats + book email) */

.hero-num span{color:#f0a35f!important}
.footer-brand-name span,.footer-mid,.footer-right{color:#f0a35f!important}
footer a{color:#f0a35f!important}
#book p a{color:#c25e18!important}

html{scroll-padding-top:72px;scroll-padding-bottom:96px}

/* ==== page-hero == phero (canonical): force legacy hero to match the redesign hero exactly ==== */
body .page-hero{background:#16304f !important;height:280px !important;min-height:280px !important;padding:0 !important;display:flex !important;flex-direction:column !important;justify-content:center !important;box-sizing:border-box !important;overflow:hidden !important}
body .page-hero .page-hero-inner{width:100% !important;max-width:1180px !important;margin:0 auto !important;padding:0 22px !important;align-self:stretch !important}
body .page-hero .eyebrow{font-family:'Manrope',sans-serif !important;font-weight:800 !important;font-size:.68rem !important;letter-spacing:.2em !important;line-height:1.6 !important;color:#ffb27a !important;text-transform:uppercase !important;margin:0 !important}
body .page-hero h1{font-family:'Archivo',sans-serif !important;font-weight:900 !important;font-size:48px !important;line-height:1.05 !important;letter-spacing:-.01em !important;color:#fff !important;margin:10px 0 0 !important}
body .page-hero p{font-family:'Manrope',sans-serif !important;font-weight:400 !important;font-size:17px !important;line-height:1.6 !important;color:#cdd8e6 !important;max-width:44em !important;margin:16px 0 0 !important}

.phero .wrap{width:100% !important;max-width:1180px !important;margin:0 auto !important;padding:0 22px !important}

.phero h1{line-height:1.05 !important}
.page-body{max-width:1180px !important;margin:0 auto !important;padding:0 22px !important}

/* ===== moved from terms.html (scoped body.terms) ===== */
:where(body.terms) nav.site-nav{position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      background: var(--brown-dk);
      height: 62px; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;}:where(body.terms) .nav-links a:hover{color: var(--tan-lt);}:where(body.terms) .nav-book{background: var(--tan) !important; color: var(--text) !important; padding: .45rem 1.2rem; border-radius: 20px !important; font-weight: 700 !important;}:where(body.terms) .jump-bar{background: var(--warm);
      border-bottom: 1px solid var(--border);
      padding: 0 2rem;
      position: sticky;
      top: 62px;
      z-index: 90;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;}:where(body.terms) .jump-bar-inner{max-width: 1200px; margin: 0 auto;
      display: flex; gap: 0; min-width: max-content;}:where(body.terms) .jump-bar a{display: flex; align-items: center; gap: .4rem;
      padding: .9rem 1.5rem .9rem 0;
      margin-right: 1.5rem;
      font-size: .78rem; font-weight: 700;
      color: var(--muted); text-decoration: none;
      border-bottom: 3px solid transparent;
      transition: color .2s, border-color .2s;
      white-space: nowrap;}:where(body.terms) .jump-bar a:hover{color: var(--brown); border-bottom-color: var(--tan-ink);}:where(body.terms) .terms-body{max-width: 900px; margin: 0 auto; padding: 5rem 2rem;}:where(body.terms) .clause{padding: 3.5rem 0;
      border-bottom: 1px solid var(--border);}:where(body.terms) .clause:first-child{padding-top: 0;}:where(body.terms) .clause:last-of-type{border-bottom: none;}:where(body.terms) .clause-num{font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none; color: var(--tan-ink); margin-bottom: .4rem;}:where(body.terms) .clause h2{font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.6rem;
      color: var(--text); letter-spacing: .02em;
      margin-bottom: 1.25rem; padding-bottom: .75rem;
      border-bottom: 2px solid var(--border);}:where(body.terms) .clause h3{font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 1rem;
      color: var(--brown); letter-spacing: .02em;
      margin: 1.5rem 0 .5rem;}:where(body.terms) .clause p{font-size: .97rem; color: var(--mid); line-height: 1.85; margin-bottom: .9rem;}:where(body.terms) .clause p:last-child{margin-bottom: 0;}:where(body.terms) .clause strong{color: var(--text); font-weight: 700;}:where(body.terms) .model-block{background: var(--warm);
      border-left: 4px solid var(--tan);
      border-radius: 0 10px 10px 0;
      padding: 1.25rem 1.5rem;
      margin: .85rem 0;}:where(body.terms) .model-block-label{font-family:"Archivo",sans-serif;font-size:15px;font-weight:900;letter-spacing:.06em;text-transform:none; color: var(--tan-ink); margin-bottom: .35rem;}:where(body.terms) .model-block h3{font-family: 'Archivo', sans-serif; font-weight: 600; font-size: .95rem; color: var(--text); letter-spacing: .02em; margin-bottom: .35rem;}:where(body.terms) .model-block p{font-size: .88rem; color: var(--mid); line-height: 1.65; margin-bottom: 0;}:where(body.terms) .rates-table-wrap{overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5rem 0;}:where(body.terms) .rates-table{width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 440px;}:where(body.terms) .rates-table thead tr{border-bottom: 2px solid var(--border);}:where(body.terms) .rates-table th{text-align: left; font-size: .65rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; padding: .4rem .75rem .5rem;}:where(body.terms) .rates-table td{padding: .85rem .75rem; vertical-align: top; border-bottom: 1px solid var(--border); color: var(--mid); line-height: 1.5;}:where(body.terms) .rates-table td:first-child{font-family: 'Archivo', sans-serif; font-weight: 600; font-size: .95rem; color: var(--brown);}:where(body.terms) .rates-table td:nth-child(2){font-weight: 700; color: var(--text); white-space: nowrap;}:where(body.terms) .rates-table tr:last-child td{border-bottom: none;}:where(body.terms) .rates-table tbody tr:hover td{background: var(--warm);}:where(body.terms) .gst-note{font-size: .73rem; color: var(--muted); margin-top: .25rem;}:where(body.terms) .note-box{background: var(--warm);
      border-left: 4px solid var(--tan);
      border-radius: 0 8px 8px 0;
      padding: 1.25rem 1.5rem;
      margin: 1.25rem 0;}:where(body.terms) .note-box p{font-size: .9rem; color: var(--mid); margin: 0; line-height: 1.7;}:where(body.terms) .note-box a{color: var(--brown); font-weight: 700; text-decoration: none;}:where(body.terms) .contact-block{background: var(--brown-dk);
      border-radius: 12px;
      border-bottom: 3px solid var(--tan);
      padding: 2rem 2.25rem;
      margin-top: 3rem;}:where(body.terms) .contact-block-label{font-family: 'Manrope', monospace; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: #aebccd; margin-bottom: .75rem;}:where(body.terms) .contact-block p{font-size: .92rem; color: rgba(255,255,255,.82); line-height: 1.75; margin-bottom: .5rem;}:where(body.terms) .contact-block p:last-child{margin-bottom: 0;}:where(body.terms) .contact-block strong{color: var(--tan-lt);}:where(body.terms) .contact-block a{color: var(--tan-lt); text-decoration: underline;}:where(body.terms) .contact-block a:hover{color: var(--tan-ink);}:where(body.terms) footer{background: var(--brown-dk); padding: 2.5rem 2rem; border-top: 4px solid var(--tan);}@media (max-width: 960px) {:where(body.terms) .nav-links{display: none;}:where(body.terms) .nav-hamburger{display: flex;}:where(body.terms) .footer-in{flex-direction: column; align-items: flex-start;}:where(body.terms) .footer-right{text-align: left;}}@media (max-width: 600px) {:where(body.terms) .terms-body{padding: 3rem 1.5rem;}}

/* footer layout (foot-main/intro/links/copy) - shared */
footer .foot-main{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
footer .foot-intro p{margin:2px 0;color:#aebccd}
footer .foot-intro a{color:#ffb27a;text-decoration:none}
footer .foot-links{margin:8px 0 10px;line-height:1.95;color:#aebccd}
footer .foot-links a{color:#aebccd;text-decoration:none}
footer .foot-links a:hover{color:#fff}
footer .foot-copy{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 20px;margin-top:8px;color:#9dafc3}
footer .foot-copy a{color:#9dafc3;text-decoration:underline}

/* homepage hero mascot fade (moved from index.html inline) */
:where(body.rd) .hero-bg img{-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.6) 9%,#000 24%);mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.6) 9%,#000 24%)}

