/* RHS site styles v1.0 — builds on rhs-tokens.css */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700;800&family=Inter:wght@400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--rhs-font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--rhs-ink);background:var(--rhs-paper)}
img{max-width:100%;display:block}
a{color:var(--rhs-red)}
h1,h2,h3,h4{font-family:var(--rhs-font-display);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0 0 var(--sp-4)}
h1{font-size:clamp(2rem,5vw,var(--fs-h1));font-weight:800;line-height:var(--lh-tight)}
h2{font-size:clamp(1.6rem,3.5vw,var(--fs-h2));font-weight:800}
h3{font-size:var(--fs-h3);font-weight:700}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--sp-6)}
.eyebrow{font-family:var(--rhs-font-display);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--rhs-crimson);margin:0 0 var(--sp-3)}
.lead{font-size:var(--fs-lead)}
.muted{color:var(--rhs-muted)}
/* header */
.hdr{background:var(--rhs-navy);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--rhs-navy-700)}
.hdr .wrap{display:flex;align-items:center;gap:var(--sp-6);padding-top:10px;padding-bottom:10px}
.hdr img{height:58px;width:auto}
.hdr nav{display:flex;gap:var(--sp-6);margin-left:auto;flex-wrap:wrap}
.hdr nav a{color:var(--rhs-on-navy-muted);text-decoration:none;font-size:var(--fs-small);font-weight:500}
.hdr nav a:hover,.hdr nav a[aria-current]{color:var(--rhs-on-navy)}
.btn{display:inline-block;background:var(--rhs-red);color:#fff;text-decoration:none;font-family:var(--rhs-font-display);font-weight:700;font-size:var(--fs-small);padding:12px 24px;border-radius:var(--r-pill);border:0;cursor:pointer;transition:background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}
.btn:hover{background:var(--rhs-burgundy);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1.5px solid var(--rhs-on-navy-faint);color:var(--rhs-on-navy)}
.btn-ghost:hover{background:var(--rhs-navy-800)}
/* hero */
.hero{background:var(--rhs-navy);color:var(--rhs-on-navy);padding:var(--sp-24) 0 var(--sp-16);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-220px;top:-220px;width:640px;height:640px;border-radius:50%;background:var(--rhs-gradient-soft);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:#fff;max-width:820px}
.hero .lead{color:var(--rhs-on-navy-muted);max-width:720px}
.hero strong{color:#fff}
.badges{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-8)}
.badge{font-size:var(--fs-small);color:var(--rhs-on-navy-muted);border:1px solid var(--rhs-navy-700);background:var(--rhs-navy-800);padding:6px 14px;border-radius:var(--r-pill)}
/* sections */
section{padding:var(--sp-16) 0}
.band{background:var(--rhs-paper-2)}
.band-navy{background:var(--rhs-navy);color:var(--rhs-on-navy)}
.band-navy h2,.band-navy h3{color:#fff}
.band-navy p{color:var(--rhs-on-navy-muted)}
.grid{display:grid;gap:var(--sp-6)}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.g2,.g3,.g4{grid-template-columns:1fr}.hdr nav{gap:var(--sp-4)}}
.card{background:#fff;border:1px solid var(--rhs-line);border-radius:var(--r-md);padding:var(--sp-6);box-shadow:var(--sh-1)}
.card h3{font-size:var(--fs-h4)}
.card.dark{background:var(--rhs-navy-800);border-color:var(--rhs-navy-700);color:var(--rhs-on-navy)}
.card.dark h3{color:#fff}
.card.dark p{color:var(--rhs-on-navy-muted)}
.card .num{font-family:var(--rhs-font-display);font-weight:800;font-size:var(--fs-h3);color:var(--rhs-crimson)}
.router-card{position:relative;border-top:4px solid var(--rhs-crimson);display:flex;flex-direction:column}
.router-card .btn{margin-top:auto;align-self:flex-start}
.statband{display:flex;flex-wrap:wrap;gap:var(--sp-6);justify-content:space-between}
.stat{flex:1 1 220px}
.stat .num{font-family:var(--rhs-font-display);font-weight:800;font-size:var(--fs-h2);color:var(--rhs-crimson);line-height:1}
.stat .src{font-size:var(--fs-small);color:var(--rhs-muted)}
.steps{counter-reset:step}
.step{position:relative;padding-left:64px;margin-bottom:var(--sp-6)}
.step::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--rhs-gradient);color:#fff;font-family:var(--rhs-font-display);font-weight:800;display:flex;align-items:center;justify-content:center}
.honesty{border-left:4px solid var(--rhs-crimson);background:var(--rhs-paper-2);padding:var(--sp-6);border-radius:0 var(--r-md) var(--r-md) 0;font-style:italic}
.disclaimer{font-size:var(--fs-small);color:var(--rhs-muted);border-top:1px solid var(--rhs-line);padding-top:var(--sp-4);margin-top:var(--sp-8)}
table.tbl{border-collapse:collapse;width:100%;font-size:var(--fs-small)}
.tbl th{background:var(--rhs-navy);color:#fff;text-align:left;padding:10px 14px;font-family:var(--rhs-font-display)}
.tbl td{border:1px solid var(--rhs-line);padding:9px 14px}
.tbl tr:nth-child(even) td{background:var(--rhs-paper-2)}
/* gate */
.gate-panel{border:2px solid var(--rhs-red);border-radius:var(--r-lg);padding:var(--sp-8);background:linear-gradient(180deg,#fff, #FDF3F5);text-align:center}
.gate-panel h3{color:var(--rhs-navy)}
.gated-content{display:none}
.gated-content.unlocked{display:block}
.gate-modal{position:fixed;inset:0;background:rgba(6,14,43,.72);display:none;align-items:flex-start;justify-content:center;z-index:100;padding:5vh var(--sp-4);overflow:auto}
.gate-modal.open{display:flex}
.gate-form{background:#fff;border-radius:var(--r-lg);max-width:560px;width:100%;padding:var(--sp-8);box-shadow:var(--sh-2)}
.gate-form label{display:block;font-size:var(--fs-small);font-weight:600;margin:var(--sp-4) 0 4px}
.gate-form input[type=text],.gate-form input[type=email],.gate-form input[type=tel],.gate-form select{width:100%;padding:11px 14px;border:1.5px solid var(--rhs-line);border-radius:var(--r-sm);font:inherit;font-size:var(--fs-small)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:0.8rem;color:var(--rhs-muted);margin:var(--sp-4) 0 0;text-align:left}
.consent input{margin-top:3px;flex:none}
.gate-close{float:right;border:0;background:none;font-size:1.4rem;cursor:pointer;color:var(--rhs-muted)}
/* footer */
footer{background:var(--rhs-deepnavy);color:var(--rhs-on-navy-muted);padding:var(--sp-12) 0;font-size:var(--fs-small)}
footer a{color:var(--rhs-on-navy-muted)}
footer .legal{margin-top:var(--sp-6);color:var(--rhs-on-navy-faint)}
.crumb{font-size:var(--fs-small);margin-bottom:var(--sp-4)}
.hero .crumb a{color:var(--rhs-on-navy-muted)}

/* ===== v1.1 VISUAL LAYER (2026-07-09) — cinematic heroes, motion, depth ===== */
/* Cinematic hero with artwork + navy scrim (falls back to pure navy if image missing) */
.hero-art{min-height:62vh;display:flex;align-items:center;background-size:cover;background-position:center;padding:var(--sp-20) 0 var(--sp-16)}
.hero-art .wrap{max-width:var(--maxw)}
.hero-art h1{text-shadow:0 2px 24px rgba(6,14,43,.55)}
.hero-art .lead{text-shadow:0 1px 14px rgba(6,14,43,.6)}
.hero--home{background-image:linear-gradient(97deg,rgba(11,23,66,.86) 0%,rgba(11,23,66,.62) 42%,rgba(11,23,66,.14) 78%,rgba(76,7,35,.22) 100%),url('/assets/img/hero-home.jpg')}
.hero--agents{background-image:linear-gradient(97deg,rgba(11,23,66,.84) 0%,rgba(11,23,66,.58) 45%,rgba(11,23,66,.10) 100%),url('/assets/img/hero-agents.jpg')}
.hero--business{background-image:linear-gradient(97deg,rgba(11,23,66,.85) 0%,rgba(11,23,66,.60) 45%,rgba(11,23,66,.12) 100%),url('/assets/img/hero-business.jpg')}
.hero--individuals{background-image:linear-gradient(97deg,rgba(11,23,66,.85) 0%,rgba(11,23,66,.60) 45%,rgba(11,23,66,.12) 100%),url('/assets/img/hero-individuals.jpg')}
@media(max-width:720px){.hero-art{min-height:52vh;background-position:70% center}}
/* Living heartbeat — animated pulse line under hero content */
.pulseband{position:relative;height:46px;margin-top:var(--sp-10);overflow:hidden;opacity:.85}
.pulseband svg{position:absolute;left:0;top:0;height:46px;width:200%;animation:pulseslide 14s linear infinite}
.pulseband path{stroke:var(--rhs-crimson);stroke-width:2.5;fill:none;filter:drop-shadow(0 0 6px rgba(238,11,31,.75))}
@keyframes pulseslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Scan shimmer — a soft scanning light that sweeps the hero */
.hero-art::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.075) 50%,transparent 58%);background-size:280% 100%;animation:scan 7.5s ease-in-out infinite;pointer-events:none}
@keyframes scan{0%{background-position:120% 0}55%{background-position:-40% 0}100%{background-position:-40% 0}}
/* Gradient display numbers */
.stat .num,.card .num{background:var(--rhs-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--rhs-crimson)}
.band-navy .stat .num,.card.dark .num{background:linear-gradient(140deg,#ff6b76 0%,#EE0B1F 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* Cards: lift + glow on hover */
.card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(11,23,66,.14)}
.router-card:hover{border-top-color:var(--rhs-red);box-shadow:0 16px 38px rgba(200,16,46,.16)}
/* Scroll reveal (classes added by JS only — no-JS stays visible) */
.rv{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero-art::before,.pulseband svg{animation:none}}
/* SalesGod engine band */
.salesgod{position:relative;overflow:hidden}
.salesgod::after{content:"";position:absolute;left:-160px;bottom:-260px;width:560px;height:560px;border-radius:50%;background:var(--rhs-gradient-soft);pointer-events:none}
.salesgod .wrap{position:relative;z-index:1}
.salesgod .kicker{display:inline-block;background:var(--rhs-gradient);color:#fff;font-family:var(--rhs-font-display);font-weight:800;font-size:var(--fs-small);letter-spacing:.08em;padding:7px 18px;border-radius:var(--r-pill);margin-bottom:var(--sp-4)}

/* v1.2: scanner showcase */
.scanshow .grid{align-items:center}
.scanshot{display:flex;justify-content:center}
.scanshot img{max-height:560px;width:auto;filter:drop-shadow(0 30px 60px rgba(6,14,43,.55));animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(prefers-reduced-motion:reduce){.scanshot img{animation:none}}

/* v1.3: SalesGod marquee */
.sg-marquee{background:radial-gradient(1100px 620px at 82% -10%,rgba(238,11,31,.22),transparent 60%),var(--rhs-navy);color:var(--rhs-on-navy);padding:var(--sp-20) 0}
.sg-marquee h2,.sg-marquee h3{color:#fff}
.sg-marquee p{color:var(--rhs-on-navy-muted)}
.sg-title{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.08}
.sg-grad{background:linear-gradient(140deg,#ff6b76 0%,#EE0B1F 55%,#C8102E 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.18em}
.sg-list{list-style:none;padding:0;margin:var(--sp-6) 0 0}
.sg-list li{position:relative;padding-left:34px;margin-bottom:var(--sp-4);color:var(--rhs-on-navy-muted)}
.sg-list li strong{color:#fff}
.sg-list li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--rhs-gradient);box-shadow:0 0 12px rgba(238,11,31,.6)}
.sg-chat{display:flex;justify-content:center}
.sg-phone{width:min(400px,100%);background:var(--rhs-deepnavy);border:1px solid var(--rhs-navy-700);border-radius:26px;padding:var(--sp-5);box-shadow:0 34px 70px rgba(6,14,43,.6),0 0 0 1px rgba(238,11,31,.12)}
.sg-phone-hd{font-family:var(--rhs-font-display);font-weight:700;font-size:var(--fs-small);color:var(--rhs-on-navy);display:flex;align-items:center;gap:8px;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--rhs-navy-700)}
.sg-dot{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84;animation:sgpulse 2.2s ease-in-out infinite}
@keyframes sgpulse{50%{opacity:.45}}
.sg-msg{max-width:88%;padding:10px 14px;border-radius:14px;font-size:var(--fs-small);line-height:1.45;margin-bottom:10px;opacity:0;transform:translateY(10px);animation:sgmsg .5s var(--ease) forwards}
.sg-msg.in{background:var(--rhs-navy-800);color:var(--rhs-on-navy-muted);border:1px solid var(--rhs-navy-700);border-bottom-left-radius:4px}
.sg-msg.out{background:var(--rhs-gradient);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.sg-msg.sys{background:none;border:1px dashed rgba(238,11,31,.5);color:var(--rhs-on-navy-muted);max-width:100%;text-align:center;font-style:italic}
.sg-msg:nth-child(2){animation-delay:.3s}.sg-msg:nth-child(3){animation-delay:1.2s}.sg-msg:nth-child(4){animation-delay:2.2s}.sg-msg:nth-child(5){animation-delay:3.1s}.sg-msg:nth-child(6){animation-delay:4.2s}
@keyframes sgmsg{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sg-msg{opacity:1;transform:none;animation:none}.sg-dot{animation:none}}

/* v1.4: SalesGod cost panel */
.sg-cost{margin-top:var(--sp-8);border:1.5px solid rgba(238,11,31,.55);border-left:6px solid var(--rhs-crimson);border-radius:var(--r-md);padding:var(--sp-6);background:rgba(238,11,31,.07)}
.sg-cost h3{color:#fff;font-size:var(--fs-h4);margin-bottom:var(--sp-3)}
.sg-cost p{color:var(--rhs-on-navy-muted);margin:0 0 var(--sp-3);font-size:var(--fs-body)}
.sg-cost strong{color:#fff}
.sg-killers{font-family:var(--rhs-font-display);font-weight:700;color:#fff !important;font-style:italic}

/* v1.5: SalesGod pricing chips */
.sg-price{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-4)}
.sg-price-item{flex:1 1 120px;background:var(--rhs-deepnavy);border:1px solid var(--rhs-navy-700);border-radius:var(--r-md);padding:var(--sp-4);text-align:center}
.sg-price-item .num{font-family:var(--rhs-font-display);font-weight:800;font-size:var(--fs-h3);background:linear-gradient(140deg,#ff6b76 0%,#EE0B1F 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sg-price-item p{margin:4px 0 0;font-size:var(--fs-small);color:var(--rhs-on-navy-muted) !important}
