/* =====================================================================
   HVPN Sanorra Style Theme — theme.css
   High-performing squeeze page: no nav, no exits, one message,
   one on-page lead-capture form. Deep teal + orange healthcare design.
   ===================================================================== */

:root {
  --hvpns-teal:       #0F3B3D;
  --hvpns-teal-light: #1D6E71;
  --hvpns-orange:     #FF8759;
  --hvpns-orange-dark:#E9703F;
  --hvpns-cream:      #FBF9F5;
  --hvpns-white:      #ffffff;
  --hvpns-charcoal:   #1B2A2A;
  --hvpns-slate:      #5C6F70;
  --hvpns-border:     #E4E1D8;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:'Plus Jakarta Sans',Arial,sans-serif; background:var(--hvpns-cream); color:var(--hvpns-charcoal); line-height:1.7; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a { color:var(--hvpns-teal); text-decoration:none; }
h1,h2,h3 { color:var(--hvpns-teal); font-weight:800; line-height:1.2; }
button { font-family:inherit; }

.container { max-width:1160px; margin:0 auto; padding:0 32px; }

/* ---- NAV (minimal: brand + phone, no links, no menu) ---- */
.hvpns-nav { background:var(--hvpns-white); border-bottom:1px solid var(--hvpns-border); position:sticky; top:0; z-index:100; }
.hvpns-nav .container { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:16px; padding-bottom:16px; }
.hvpns-nav-brand { font-size:19px; font-weight:800; color:var(--hvpns-teal); }
.hvpns-nav-phone { font-size:14px; font-weight:700; color:var(--hvpns-teal); }
.hvpns-nav-phone:hover { color:var(--hvpns-orange); text-decoration:none; }

/* ---- BUTTONS ---- */
.cta-group { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.btn { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; letter-spacing:.2px; padding:15px 30px; border-radius:999px; border:none; cursor:pointer; transition:background .15s,color .15s,transform .1s,box-shadow .15s; }
.btn:hover { text-decoration:none; transform:translateY(-1px); }
.btn-orange { background:var(--hvpns-orange); color:#fff; box-shadow:0 10px 24px -8px rgba(255,135,89,.55); }
.btn-orange:hover { background:var(--hvpns-orange-dark); }
.btn-teal { background:var(--hvpns-teal); color:#fff; }
.btn-teal:hover { background:var(--hvpns-teal-light); }
.btn-cream { background:#fff; color:var(--hvpns-teal); }
.btn-cream:hover { background:var(--hvpns-cream); }
.btn-lg { padding:18px 38px; font-size:15px; }

/* ---- HERO ---- */
.hvpns-hero { position:relative; min-height:660px; display:flex; align-items:center; overflow:hidden; }
.hvpns-hero-media { position:absolute; inset:0; z-index:0; }
.hvpns-hero-media img { width:100%; height:100%; object-fit:cover; }
.hvpns-hero-overlay { position:absolute; inset:0; background:linear-gradient(120deg, rgba(15,59,61,.94) 0%, rgba(15,59,61,.72) 55%, rgba(15,59,61,.4) 100%); }
.hvpns-hero-inner { position:relative; z-index:1; padding:100px 32px 64px; }
.hvpns-hero-badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.hvpns-pill { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; padding:8px 16px; border-radius:999px; background:var(--hvpns-orange); color:#fff; }
.hvpns-pill-ghost { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.35); text-transform:none; letter-spacing:.2px; }
.hvpns-hero h1 { color:#fff; font-size:48px; margin-bottom:22px; letter-spacing:-.5px; }
.hvpns-subheadline { color:rgba(255,255,255,.85); font-size:18px; margin-bottom:28px; }
.hvpns-photo-placeholder { width:100%; height:100%; background:linear-gradient(135deg, var(--hvpns-teal) 0%, var(--hvpns-orange) 130%); display:flex; align-items:center; justify-content:center; text-align:center; }
.hvpns-photo-placeholder span { color:rgba(255,255,255,.85); font-size:14px; font-weight:600; padding:0 32px; }

/* ---- SQUEEZE HERO LAYOUT (copy + lead form side by side) ---- */
.hvpns-squeeze-inner { display:grid; grid-template-columns:1fr 420px; gap:56px; align-items:center; }
.hvpns-hero-copy { max-width:560px; }
.hvpns-quick-trust { list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:8px; }
.hvpns-quick-trust li { font-size:14px; font-weight:600; color:#fff; }
.hvpns-quick-trust li::before { content:"\2713"; color:var(--hvpns-orange); font-weight:800; margin-right:8px; }
.hvpns-mobile-cta { display:none; }
.hvpns-center-cta { text-align:center; margin-top:48px; }

/* ---- LEAD CAPTURE CARD ---- */
.hvpns-lead-card { background:var(--hvpns-white); border-radius:20px; padding:36px; box-shadow:0 30px 60px -20px rgba(0,0,0,.45); }
.hvpns-lead-form h3, .hvpns-lead-success h3 { font-size:21px; margin-bottom:8px; }
.hvpns-lead-form-sub { font-size:13.5px; color:var(--hvpns-slate); margin-bottom:22px; }
.hvpns-hp-field { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:11.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--hvpns-slate); margin-bottom:6px; }
.form-group input, .form-group select { width:100%; font-family:inherit; font-size:15px; color:var(--hvpns-charcoal); background:var(--hvpns-cream); border:1px solid var(--hvpns-border); border-radius:8px; padding:12px 14px; }
.form-group input:focus, .form-group select:focus { outline:2px solid var(--hvpns-orange); outline-offset:1px; }
.hvpns-lead-submit { width:100%; justify-content:center; margin-top:4px; }
.hvpns-form-note { font-size:11.5px; color:var(--hvpns-slate); text-align:center; margin-top:14px; }

/* ---- LEAD SUCCESS STATE ---- */
.hvpns-lead-success { text-align:center; padding:12px 0; }
.hvpns-lead-success-icon { width:56px; height:56px; border-radius:50%; background:rgba(255,135,89,.15); color:var(--hvpns-orange); font-size:26px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
.hvpns-lead-success p { font-size:15px; color:var(--hvpns-slate); margin-bottom:10px; }
.hvpns-lead-success-phone a { font-weight:700; }
.hvpns-learn-more { display:inline-block; margin-top:16px; font-size:12.5px; font-weight:700; color:var(--hvpns-teal); }

/* ---- PAGE HERO (fallback templates) ---- */
.hvpns-page-hero { background:var(--hvpns-teal); color:#fff; padding:64px 0 48px; }
.hvpns-page-hero h1 { color:#fff; font-size:32px; }

/* ---- SECTIONS ---- */
.hvpns-section { padding:96px 0; }
.section-label { font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--hvpns-orange); text-align:center; margin-bottom:14px; }
.section-heading { font-size:32px; text-align:center; margin-bottom:20px; max-width:760px; margin-left:auto; margin-right:auto; }
.lead { font-size:17px; color:var(--hvpns-slate); max-width:760px; margin:0 auto 48px; text-align:center; }

/* ---- COMPACT BENEFIT ROW ---- */
.hvpns-benefits-compact { padding:72px 0; }
.hvpns-benefit-row { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.hvpns-benefit-item { background:var(--hvpns-white); border:1px solid var(--hvpns-border); border-radius:18px; padding:28px 24px; text-align:center; }
.hvpns-benefit-item .card-icon { margin:0 auto 16px; }
.hvpns-benefit-item h3 { font-size:16px; margin-bottom:8px; }
.hvpns-benefit-item p { font-size:13.5px; color:var(--hvpns-slate); }
.card-icon { width:48px; height:48px; border-radius:50%; background:rgba(255,135,89,.12); display:flex; align-items:center; justify-content:center; font-size:20px; }

/* ---- FINAL CTA ---- */
.hvpns-final-cta { background:linear-gradient(120deg, var(--hvpns-teal) 0%, var(--hvpns-orange) 140%); padding:96px 0; text-align:center; }
.hvpns-final-cta h2 { color:#fff; font-size:34px; margin-bottom:18px; max-width:680px; margin-left:auto; margin-right:auto; }
.hvpns-final-cta p { color:rgba(255,255,255,.9); font-size:17px; margin-bottom:36px; max-width:560px; margin-left:auto; margin-right:auto; }

/* ---- FOOTER (disclosure only, no outbound links) ---- */
.hvpns-footer { background:var(--hvpns-teal); padding:40px 0; text-align:center; }
.hvpns-footer-disclosure { color:rgba(255,255,255,.85); font-size:13px; max-width:600px; margin:0 auto 8px; }
.hvpns-footer-areas { color:rgba(255,255,255,.6); font-size:12px; max-width:600px; margin:0 auto 16px; }
.hvpns-footer-copy { color:rgba(255,255,255,.6); font-size:12px; }

/* ---- 404 / no-posts (fallback templates) ---- */
.not-found-inner { text-align:center; padding:120px 0; }
.not-found-inner h1 { font-size:80px; color:var(--hvpns-border); }
.not-found-inner h2 { font-size:28px; margin-bottom:16px; }
.not-found-inner p { font-size:17px; margin-bottom:32px; color:var(--hvpns-slate); }
.no-posts { text-align:center; padding:40px 0; color:var(--hvpns-slate); font-size:18px; }

/* ---- RESPONSIVE ---- */
@media (max-width:900px) {
  .hvpns-hero { min-height:auto; }
  .hvpns-hero-inner { padding:56px 24px 48px; }
  .hvpns-hero h1 { font-size:32px; }
  .hvpns-squeeze-inner { grid-template-columns:1fr; }
  .hvpns-hero-copy { max-width:none; }
  .hvpns-mobile-cta { display:inline-flex; margin-top:8px; }
  .hvpns-benefit-row { grid-template-columns:1fr 1fr; }
  .hvpns-section, .hvpns-benefits-compact { padding:56px 0; }
  .section-heading { font-size:26px; }
  .hvpns-final-cta h2 { font-size:26px; }
}
@media (max-width:600px) {
  .container { padding:0 20px; }
  .hvpns-benefit-row { grid-template-columns:1fr; }
  .hvpns-lead-card { padding:26px 22px; }
}
