/* Shared website system, drawn from the homepage's tour.css visual guide.
   Keep existing route content, calculations, billing and attribution intact. */
:root{
  --cl-bg:#070B17;--cl-surface:#0B1224;--cl-surface-2:#111A33;
  --cl-line:rgba(160,180,230,.14);--cl-line-strong:rgba(160,180,230,.24);
  --cl-text:#EEF2FA;--cl-text-2:#A9B4CC;--cl-text-3:#9AA8C2;
  --cl-accent:#4F7CFF;--cl-accent-hover:#6A8FFF;--cl-accent-text:#8AA9FF;--cl-on-accent:#fff;
  --cl-glass:rgba(7,11,23,.88);--cl-radius-lg:18px;--cl-radius-md:12px;
  --cl-shadow:0 1px 2px rgba(3,8,25,.35),0 18px 50px -12px rgba(3,8,25,.6);
  --ui-paper:#F6F8FD;--ui-paper-2:#EBF0FA;--ui-paper-line:#D3DCEE;
  --ui-ink:#0D1630;--ui-ink-2:#4A5878;--ui-link:#2F5BE6;
}
:root[data-theme="light"]{
  --cl-bg:#F3F6FC;--cl-surface:#E9EFFA;--cl-surface-2:#fff;
  --cl-line:rgba(20,40,90,.10);--cl-line-strong:rgba(20,40,90,.18);
  --cl-text:#0B1430;--cl-text-2:#3E4C6C;--cl-text-3:#5F6C8A;
  --cl-accent-text:#2F5BE6;--cl-on-accent:#fff;--cl-glass:rgba(243,246,252,.92);
  --ui-paper:#fff;--ui-paper-2:#F3F6FC;
  --cl-shadow:0 1px 2px rgba(20,40,90,.08),0 20px 50px -18px rgba(20,40,90,.30);
}
body.cl-unified{background:radial-gradient(1200px 700px at 78% -10%,#13234F 0%,transparent 60%),linear-gradient(180deg,#0B1224,#070B17 900px);background-color:var(--cl-bg);color:var(--cl-text)}
:root[data-theme="light"] body.cl-unified{background:radial-gradient(1200px 700px at 78% -10%,#DCE6FF 0%,transparent 60%),linear-gradient(180deg,#E9EFFA,#F3F6FC 900px)}
.cl-unified :focus-visible{outline:3px solid var(--cl-accent);outline-offset:3px}
.cl-unified .clb{width:min(1240px,calc(100% - 32px))}
.cl-unified .clb-row{border-radius:18px;padding:8px 8px 8px 18px}
.cl-unified .clb-cta{border-radius:999px;min-height:44px;display:inline-flex;align-items:center;color:#fff}
.cl-unified .clb-tab,.cl-unified .clb-link{min-height:44px}
.cl-unified .cl-foot{background:transparent;border-top:1px solid var(--cl-line)}
.cl-unified .cl-foot a:hover{color:var(--cl-accent-text)}

/* Interior heroes share the homepage's scale and quieter canvas. */
.cl-unified:not(.vg)::before,.cl-unified:not(.vg)::after{display:none}
.cl-unified .clx-field,.cl-unified #cl-field,.cl-unified .clx-scrim{display:none}
body.cl-unified.clx{padding-top:88px}
.cl-unified:not(.vg) .hero{padding:68px 0 56px;isolation:isolate}
.cl-unified.cx:not(.vg) .hero{padding-top:132px}
.cl-unified:not(.vg) .hero::before,.cl-unified .gw-floor{display:none}
.cl-unified:not(.vg) h1{font-size:clamp(38px,4.9vw,72px);line-height:1.04;letter-spacing:-.045em;font-weight:600;color:var(--cl-text);text-wrap:balance}
.cl-unified:not(.vg) h2{letter-spacing:-.03em;font-weight:600}
.cl-unified:not(.vg) .wrap.wide,.cl-unified.cx:not(.vg) .wrap{max-width:1240px;padding-inline:28px}
.cl-unified .clx-hero{max-width:1240px;padding:64px 28px 52px;gap:56px}
.cl-unified .clx-hero.solo{max-width:1040px}
.cl-unified .clx-hero.solo h1{max-width:21ch}
.cl-unified .clx-hero .deck{font-size:clamp(18px,1.5vw,21px);line-height:1.55;max-width:58ch;color:var(--cl-text-2);margin-bottom:28px}
.cl-unified .clx-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--cl-line-strong);border-radius:999px;padding:8px 14px;font:500 12px/1.4 var(--cl-font-mono);letter-spacing:.04em;color:var(--cl-text-2);margin-bottom:24px}
.cl-unified .clx-hero .eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--cl-connect);opacity:1}
.cl-unified .byline,.cl-unified .crumb{font-size:12px;letter-spacing:.025em;text-transform:none;color:var(--cl-text-3)}
.cl-unified .byline{margin-top:26px}
.cl-unified .clx-map{border:1px solid var(--cl-line-strong);border-radius:18px;padding:20px;background:var(--cl-surface);box-shadow:var(--cl-shadow)}
.cl-unified .clx-map .cap{font-size:11px;letter-spacing:.025em;text-transform:none;gap:12px;flex-wrap:wrap}
.cl-unified .clx-map .hud{font-size:11px;letter-spacing:0;text-transform:none}
.cl-unified .clx-main{max-width:1240px;grid-template-columns:200px minmax(0,800px);gap:64px;padding:0 28px}
.cl-unified article{font-size:17px;line-height:1.75}
.cl-unified article h2{font-size:clamp(27px,3vw,38px);line-height:1.12;margin-top:56px;scroll-margin-top:110px}
.cl-unified article h3{line-height:1.3}
.cl-unified article a{text-underline-offset:4px}
.cl-unified .clx-rail{border-left:0;padding:14px 0;border-top:1px solid var(--cl-line);gap:5px}
.cl-unified .clx-rail a{font:500 13px/1.45 var(--cl-font-sans);letter-spacing:0;text-transform:none;min-height:36px;padding:8px 12px;border:0;border-radius:8px}
.cl-unified .clx-rail a.here{background:var(--cl-accent-tint);color:var(--cl-accent-text);box-shadow:none}
.cl-unified .clx-rev{opacity:1;transform:none}

/* Buttons and forms follow the homepage's comfortable touch targets. */
.cl-unified:not(.vg) :is(.btn,.btn-p,.ghost){min-height:48px;border-radius:999px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px/1.2 var(--cl-font-sans);text-transform:none;letter-spacing:-.01em;text-align:center}
.cl-unified:not(.vg) :is(.btn,.btn-p){color:#fff!important;box-shadow:0 10px 30px -10px rgba(79,124,255,.5)}
.cl-unified:not(.vg) :is(.btn,.btn-p):hover{transform:none;background:var(--cl-accent-hover)}
.cl-unified .cl-start-actions{gap:12px;align-items:center}
.cl-unified .cl-start-demo{display:inline-flex;min-height:48px;align-items:center;padding:10px 22px;border:1px solid var(--cl-line-strong);border-radius:999px;color:var(--cl-text);font-weight:600;font-size:16px}
.cl-unified .cl-start-demo:hover{border-color:var(--cl-text-2)}
.cl-unified .cl-start-pricing{display:inline-block;margin-top:6px;font-size:14px}
.cl-unified:not(.vg) :is(input,select,textarea){font-family:var(--cl-font-sans);font-size:16px;min-height:44px;border-radius:12px}
.cl-unified:not(.vg) input[type=checkbox]{min-height:0}
.cl-unified:not(.vg) .seg{border-radius:999px;padding:5px}
.cl-unified:not(.vg) .seg button{border-radius:999px;min-height:44px}
.cl-unified:not(.vg) .seg.big{border-radius:16px}

/* Pale working surfaces, exactly as in the homepage's schedule and booking panels.
   Local tokens keep inherited labels, controls and results legible in either theme. */
.cl-unified:not(.vg) :is(.plan,.setup-wrap,.lead-card,.cl-calc,figure.calc,.takeaway,.card,.price-strip a){
  --cl-bg:var(--ui-paper);--cl-surface:var(--ui-paper);--cl-surface-2:var(--ui-paper-2);--cl-glass:var(--ui-paper);
  --cl-text:var(--ui-ink);--cl-text-2:var(--ui-ink-2);--cl-text-3:#5F6C8A;--cl-line:var(--ui-paper-line);--cl-line-strong:#BCCAE2;
  --cl-accent-text:var(--ui-link);--cl-warning:#975900;--cl-ok:#087A50;--cl-connect-text:#087A50;--cl-danger:#B72E28;
  --ink:var(--ui-ink);--ink-2:var(--ui-ink-2);--mute:#5F6C8A;--line:var(--ui-paper-line);--line-hot:#BCCAE2;
  --deck:var(--ui-paper);--void:var(--ui-paper);--signal-2:var(--ui-link);--drive:#975900;--live:#087A50;
  background:var(--ui-paper);color:var(--ui-ink);border:1px solid var(--ui-paper-line);border-radius:18px;box-shadow:var(--cl-shadow);
}
.cl-unified:not(.vg) :is(.plan,.setup-wrap,.lead-card,.cl-calc,figure.calc,.takeaway,.card) :is(h2,h3,h4,strong){color:var(--ui-ink);-webkit-text-fill-color:currentColor;background:none}
.cl-unified .plans{gap:16px;align-items:stretch}
.cl-unified .plan{padding:24px 20px;gap:16px}
.cl-unified .plan.pop{border:2px solid var(--cl-accent)}
.cl-unified .plan .pr{font-size:40px;line-height:1.1}
.cl-unified .plan .who{font-size:14px;line-height:1.5}
.cl-unified .plan ul{line-height:1.65;gap:10px;margin-bottom:10px}
.cl-unified .card{padding:28px;transition:transform .2s,border-color .2s}
.cl-unified .card h2{font-size:23px;line-height:1.2;margin:0 0 14px}
.cl-unified .card p{font-size:16px;line-height:1.65;color:var(--ui-ink-2)}
.cl-unified .card:hover{transform:translateY(-3px);border-color:var(--cl-accent);box-shadow:var(--cl-shadow)}
.cl-unified .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}
.cl-unified .cl-calc{padding:28px}
.cl-unified .cl-calc label{font:500 13px/1.45 var(--cl-font-sans);letter-spacing:0;text-transform:none;min-height:38px}
.cl-unified .cl-calc input{padding:12px;background:#fff;border:1px solid #BCCAE2;color:var(--ui-ink)}
.cl-unified .cl-calc .out div{background:var(--ui-paper-2);border:1px solid var(--ui-paper-line);border-radius:12px}
.cl-unified .cl-calc .out span{font:500 12px/1.5 var(--cl-font-mono);letter-spacing:0}
.cl-unified .takeaway h2{font-size:13px;letter-spacing:.06em;margin:0 0 18px;color:var(--ui-link)}
.cl-unified .cta-box{padding:32px;border-radius:18px;background:var(--cl-surface);border:1px solid var(--cl-line-strong);box-shadow:var(--cl-shadow)}
.cl-unified .cta-box h2{margin-top:0}
.cl-unified .cta-box .alt{display:inline-flex;min-height:44px;align-items:center}
.cl-unified .related li{border:1px solid var(--cl-line);border-radius:12px;padding:16px 20px;background:var(--cl-surface)}
.cl-unified .cl-alpha{column-gap:28px}
.cl-unified .cl-alpha a{padding:12px 0;min-height:44px}
.cl-unified .cl-sec{margin-top:60px}
.cl-unified .ui-table-scroll{max-width:100%;overflow:auto;border:1px solid var(--cl-line-strong);border-radius:16px;margin:30px 0}
.cl-unified .ui-table-scroll table{margin:0;min-width:560px;table-layout:auto}
.cl-unified .ui-table-scroll th{font:500 12px/1.5 var(--cl-font-mono);letter-spacing:.02em;background:var(--cl-surface-2)}
.cl-unified .ui-table-scroll td{padding:16px}
.cl-unified .ui-table-scroll:focus-visible{outline-offset:3px}
.cl-unified .ui-library-search{display:block;margin:24px 0 8px;max-width:520px}
.cl-unified .ui-library-search span{display:block;font-size:14px;font-weight:500;margin-bottom:8px}
.cl-unified .ui-library-search input{width:100%;padding:14px 18px;background:var(--cl-surface);border:1px solid var(--cl-line-strong);color:var(--cl-text)}
.cl-unified .ui-search-status{font-size:14px;color:var(--cl-text-3);margin:8px 0 24px}
.cl-unified [hidden]{display:none!important}
@media(min-width:1181px){.cl-unified .clx-hero.solo{padding-left:264px;max-width:1240px}.cl-unified .wrap.wide .clx-hero.solo{padding-left:0}}
@media(max-width:1180px){.cl-unified .clx-main{grid-template-columns:minmax(0,800px);gap:0}.cl-unified .plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.cl-unified .clx-hero{grid-template-columns:minmax(0,1fr);padding-top:42px;gap:32px}.cl-unified .clx-map{max-width:640px;width:100%}}
@media(max-width:600px){
  .cl-unified .clb{width:calc(100% - 20px)}
  .cl-unified .clb-row{padding:6px 6px 6px 12px}
  .cl-unified .clx-hero{padding:32px 20px 36px}
  .cl-unified .clx-main,.cl-unified:not(.vg) .wrap.wide,.cl-unified.cx:not(.vg) .wrap{padding-inline:20px}
  .cl-unified:not(.vg) .hero,.cl-unified.cx:not(.vg) .hero{padding-top:112px;padding-bottom:40px}
  .cl-unified .wrap.wide .hero{padding-top:32px}
  .cl-unified .plans{grid-template-columns:1fr}
  .cl-unified :is(.plan,.card,.cl-calc,.cta-box){padding:24px 20px}
  .cl-unified .cta-box .alt{margin:12px 0 0}
  .cl-unified .cl-start-actions{align-items:stretch}
  .cl-unified .cl-start-actions > a{flex:1 1 180px}
  .cl-unified .sec{padding-block:64px}
  .cl-unified .ui-table-scroll th,.cl-unified .ui-table-scroll td{padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){.cl-unified *{scroll-behavior:auto!important;transition:none!important}}

/* Three public pricing tiers. */
@media(min-width:900px){.vg .vg-price{grid-template-columns:repeat(3,minmax(0,1fr))}}
