/* ARX modern design system — shared across all revamped pages */
:root{--bg:#0a0a0b;--bg2:#101013;--card:#16161a;--line:#26262c;--txt:#f2f2f3;--muted:#a0a0aa;--red:#DD1313;--red2:#ff4d4d;--green:#4fbf86}
*{box-sizing:border-box;margin:0}
html{}
body{background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.narrow{max-width:820px;margin:0 auto;padding:0 28px}
.q{font-family:Questrial,system-ui,sans-serif;font-weight:400;letter-spacing:-.01em;line-height:1.06}
.ey{color:var(--red2);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.lead{color:var(--muted);font-size:clamp(17px,2vw,20px);max-width:64ch}
p{margin:0 0 16px}
.src{color:#6b6b75;font-size:12.5px;margin-top:10px}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-weight:600;padding:14px 26px;border-radius:999px;font-size:15px;transition:.2s;border:1px solid var(--red);cursor:pointer}
.btn:hover{background:#b91111;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--txt);border:1px solid #3a3a42}
.btn.ghost:hover{border-color:var(--red2);background:rgba(221,19,19,.08)}
.hcta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.note{color:#8c8c96;font-size:13.5px;margin-top:14px}
.note b{color:var(--red2)}
/* nav */
.arx-legacy-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,11,.6);border-bottom:1px solid rgba(255,255,255,.06)}
.navin{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo svg{height:24px;display:block;fill:#fff}
.nlinks{display:flex;gap:30px;align-items:center;font-size:14.5px;color:#cfcfd6}
.nlinks a:hover{color:#fff}
@media(max-width:880px){.nlinks a:not(.btn){display:none}}
/* page hero (interior) */
.phero{padding:140px 0 56px;position:relative;border-bottom:1px solid var(--line);background:radial-gradient(900px 460px at 78% -10%,rgba(221,19,19,.14),transparent),var(--bg)}
.phero h1{font-size:clamp(38px,6vw,76px);max-width:17ch;margin:14px 0 16px}
.phero .lead{margin-bottom:26px}
/* image hero */
.imghero{position:relative;min-height:78vh;display:flex;align-items:flex-end;padding:0 0 56px;overflow:hidden}
.imghero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.imghero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.5),rgba(10,10,11,.25) 40%,rgba(10,10,11,.92))}
.imghero .wrap{position:relative;width:100%}
/* sections */
section.blk{padding:clamp(56px,8vw,110px) 0;border-top:1px solid var(--line)}
section.blk.tint{background:var(--bg2)}
h2.big{font-size:clamp(30px,4.6vw,52px);max-width:20ch;margin-bottom:16px}
h3{font-size:21px;margin:22px 0 8px}
/* grids */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:860px){.grid2{grid-template-columns:1fr;gap:30px}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
@media(max-width:860px){.cards{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px}
.panel:hover{border-color:#3a3a42}
ul.checks{list-style:none;display:grid;gap:12px;padding:0;margin-top:16px}
ul.checks li{padding-left:28px;position:relative;color:#d4d4dc}
ul.checks li:before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;border-radius:50%;border:2px solid var(--red2)}
ul.checks li:after{content:"";position:absolute;left:4.5px;top:11px;width:5px;height:8px;border-right:2px solid var(--red2);border-bottom:2px solid var(--red2);transform:rotate(40deg)}
/* photo split cards */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.pcard{position:relative;border-radius:22px;overflow:hidden;min-height:400px;display:flex;align-items:flex-end;border:1px solid var(--line);transition:.25s}
.pcard:hover{transform:translateY(-4px);border-color:rgba(221,19,19,.5)}
.pcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.15),rgba(10,10,11,.9))}
.pcard .in{position:relative;padding:32px}
.pcard h3{font-size:26px;margin:6px 0 8px}
.pcard p{color:#d4d4dc;margin-bottom:16px;max-width:36ch}
@media(max-width:760px){.split{grid-template-columns:1fr}}
/* proof stat strip */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.proofgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:32px 0}
.proofgrid .n{font-family:Questrial;font-size:clamp(26px,3.4vw,42px);color:var(--red2)}
.proofgrid .l{color:var(--muted);font-size:13px;margin-top:2px}
@media(max-width:760px){.proofgrid{grid-template-columns:repeat(2,1fr);gap:22px}}
.stats{display:flex;gap:26px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:22px 0}
.stats .n{font-family:Questrial;font-size:28px;color:var(--red2)}
.stats .l{color:var(--muted);font-size:12px}
/* compare table */
table.cmp{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
table.cmp th,table.cmp td{border:1px solid var(--line);padding:13px 15px;text-align:left;vertical-align:top}
table.cmp th{background:var(--card);font-weight:600}
table.cmp td.arx{color:#fff}
/* spec / price cards */
.pricegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:22px}
.pricecard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
.pricecard .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.pricecard .v{font-family:Questrial;font-size:24px;margin-top:4px}
/* quotes / endorse */
.quote{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px}
.quote p{font-size:16px;color:#e6e6ec}
.quote .who{font-weight:600;font-size:14px}
.quote .role{color:var(--muted);font-size:13px}
.bigquote{font-family:Questrial;font-size:clamp(24px,3.4vw,40px);line-height:1.25;max-width:24ch;margin-top:12px}
.endorse{display:flex;gap:32px;flex-wrap:wrap;align-items:center;margin-top:26px;color:#cfcfd6;font-weight:600}
.endorse .lbl{color:var(--muted);font-weight:500}
.callout{border-left:3px solid var(--red);padding:6px 0 6px 18px;color:#d4d4dc;margin:22px 0;font-size:18px}
.tag{display:inline-block;background:rgba(221,19,19,.12);color:var(--red2);border:1px solid rgba(221,19,19,.3);padding:5px 12px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
/* FAQ */
details{border:1px solid var(--line);border-radius:14px;padding:0 20px;margin-bottom:10px;background:var(--card)}
summary{cursor:pointer;padding:18px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--red2);font-size:22px}
details[open] summary:after{content:"\2013"}
details p{margin:0 0 18px;color:var(--muted)}
/* final cta */
.final{position:relative;border-top:1px solid var(--line);background:radial-gradient(900px 420px at 50% 120%,rgba(221,19,19,.22),transparent),var(--bg2);text-align:center}
.contact-strip{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;margin-top:18px;color:var(--muted);font-size:14px}
.contact-strip a{color:#fff;font-weight:600}
.contact-strip a:hover{color:var(--red2)}
/* video facade (click-to-play YouTube — fast + premium) */
.vfacade{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background-size:cover;background-position:center;border:1px solid var(--line);cursor:pointer}
.vfacade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.25),rgba(10,10,11,.55))}
.vplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--red);color:#fff;border:none;font-size:24px;cursor:pointer;z-index:2;padding-left:5px;transition:.2s}
.vfacade:hover .vplay{transform:translate(-50%,-50%) scale(1.08);background:#b91111}
.vcap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;font-weight:600;font-size:clamp(15px,2vw,20px)}
.vfacade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.videowrap{margin-top:24px}
/* booking embed */
.booking{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;margin-top:8px}
.booking iframe{width:100%;min-height:720px;border:0;display:block}
/* motion + footer */
.fade{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none}}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;padding:40px 0}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
.foot a:hover{color:#fff}

/* ---- light-first theme (owner 2026-07-25: business pages read as "one big
   bleed of DARK"). Dark remains as deliberate accents: nav, image hero, the
   proof strip, the final CTA, and the footer. ---- */
body.theme-light{--bg:#fff;--bg2:#f7f7f8;--card:#fff;--line:#e6e6eb;--txt:#16161a;--muted:#5c5c66}
body.theme-light .panel{box-shadow:0 12px 30px rgba(16,16,20,.05)}
body.theme-light .callout,body.theme-light ul.checks li{color:#3d3d44}
body.theme-light .quote p{color:#3d3d44}
body.theme-light .endorse,body.theme-light .endorse span{color:#8a8a94}
/* .pcard is a photo card (dark image + overlay + light text) — keep its dark context */
body.theme-light .pcard{--txt:#f2f2f3;--muted:#a0a0aa;--line:#26262c;color:#f2f2f3}
body.theme-light table.cmp td.arx{color:#16161a}
body.theme-light nav{background:#000}
body.theme-light .imghero,body.theme-light .proof,body.theme-light .final,body.theme-light footer{
  --bg:#0a0a0b;--bg2:#101013;--card:#16161a;--line:#26262c;--txt:#f2f2f3;--muted:#a0a0aa;color:#f2f2f3}

/* nav links match the sitewide Webflow header (uppercase, same rhythm) */
.nlinks a:not(.btn){text-transform:uppercase;font-size:13.5px;font-weight:600;letter-spacing:.04em}

/* ---- full site footer for arx.css pages (parity with the Webflow footer) ---- */
.afoot{background:#0a0a0b;color:#f2f2f3;padding:clamp(48px,6vw,72px) 0 26px;border-top:1px solid #26262c}
.afoot-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px}
.afoot-logo svg{width:74px;height:auto;fill:#fff;display:block;margin-bottom:16px}
.afoot-blurb{color:#a0a0aa;font-size:14px;line-height:1.6;max-width:34ch;margin:0 0 14px}
.afoot-addr{color:#8a8a94;font-size:13.5px;line-height:1.6;margin:0 0 4px}
.afoot-addr a{color:inherit;text-decoration:none}
.afoot-head{display:block;color:#7a7a86;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.afoot-col{display:flex;flex-direction:column;gap:12px}
.afoot-col a{color:#cfcfd6;text-transform:uppercase;font-size:.82rem;letter-spacing:.02em;text-decoration:none;transition:color .15s}
.afoot-col a:hover{color:#DD1313}
.afoot-social{display:flex;gap:.6rem;margin-top:18px}
.afoot-social a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;transition:background .15s,transform .15s}
.afoot-social a:hover{background:#DD1313;border-color:#DD1313;transform:translateY(-2px)}
.afoot-social svg{width:17px;height:17px;fill:currentColor}
.afoot-sub{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid #26262c;color:#7a7a86;font-size:12.5px}
.afoot-sub a{color:#7a7a86;text-decoration:none;margin-left:18px}
.afoot-sub a:hover{color:#fff}
@media(max-width:900px){.afoot-in{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.afoot-in{grid-template-columns:1fr}}
