/* Landing-page styles — hidden, ad-traffic, conversion-focused.
   Reuses brand variables from style.css */

.lp-body{background:var(--paper)}

/* Minimal header (no nav, reduce exits) */
.lp-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.lp-header .container{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.lp-header img{height:40px}
.lp-header .h-right{display:flex;align-items:center;gap:18px}
.lp-header .phone{color:var(--navy);font-weight:600;font-size:.95rem}
@media(max-width:620px){.lp-header .phone{display:none}}

/* Hero */
.lp-hero{background:linear-gradient(160deg,#0b2847 0%,#0a2238 55%,#0e2b4e 100%);color:#fff}
.lp-hero .container{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center;padding:72px var(--pad) 80px}
.lp-hero .eyebrow{color:#8fb0ff}
.lp-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.9rem);margin:16px 0 18px}
.lp-hero h1 .accent{color:var(--gold);font-style:italic}
.lp-hero p.sub{font-size:1.15rem;color:#c6d3e6;max-width:32em}
.lp-hero .cta-row{display:flex;gap:13px;margin-top:28px;flex-wrap:wrap}
.lp-hero .micro{margin-top:18px;font-size:.86rem;color:#9fb3cf}

/* VSL / video block */
.vsl{position:relative;border-radius:16px;overflow:hidden;background:#06182d;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px rgba(0,0,0,.4);aspect-ratio:16/10}
.vsl .placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#cfe;background:linear-gradient(150deg,#123a64,#0b2847);text-align:center;padding:24px}
.vsl .play{width:74px;height:74px;border-radius:50%;background:var(--gold);color:#0b2847;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.vsl .vlabel{font-size:.95rem;color:#dbe7f7}
.vsl .vnote{font-size:.78rem;color:#90a6c4}

/* Generic LP section */
.lp-section{padding:clamp(54px,7vw,92px) 0}
.lp-section.tight{padding:clamp(40px,5vw,64px) 0}
.lp-section.mist{background:var(--mist)}
.lp-section.navy{background:var(--navy);color:#fff}
.lp-section.navy h2,.lp-section.navy h3{color:#fff}
.lp-head{max-width:720px;margin:0 auto 44px;text-align:center}
.lp-head p{margin-top:14px}

/* Value props */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px}
.value .ic{width:44px;height:44px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:16px;font-size:1.1rem}
.value h3{font-size:1.3rem;margin-bottom:8px}
.value p{color:var(--muted);font-size:.96rem}

/* Reframe / positioning band */
.reframe{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.reframe .lead{font-size:1.18rem;color:var(--muted)}
.reframe ul{list-style:none;margin-top:18px;display:grid;gap:12px}
.reframe li{padding-left:30px;position:relative;color:var(--ink)}
.reframe li::before{content:"\2713";position:absolute;left:0;color:var(--blue);font-weight:700}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:880px;margin:0 auto}
.price-card{border:1px solid var(--line);border-radius:16px;padding:32px 30px;background:#fff;position:relative}
.price-card.featured{border-color:var(--gold);box-shadow:0 18px 44px rgba(11,40,71,.12)}
.price-card .tier{font-family:var(--sans);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;color:var(--blue)}
.price-card.featured .tier{color:var(--gold)}
.price-card .price{font-family:var(--serif);font-size:2.5rem;color:var(--navy);margin:10px 0 4px;line-height:1}
.price-card .per{color:var(--muted);font-size:.9rem}
.price-card .desc{color:var(--muted);font-size:.95rem;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.price-note{text-align:center;color:var(--muted);font-size:.86rem;margin-top:22px;max-width:620px;margin-left:auto;margin-right:auto}
.ribbon{position:absolute;top:-12px;right:22px;background:var(--gold);color:#0b2847;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--navy);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"\2013"}
.faq p{color:var(--muted);margin-top:12px;font-size:.97rem}

/* Final CTA */
.lp-cta{background:linear-gradient(160deg,#0b2847,#123a64);color:#fff;text-align:center}
.lp-cta h2{color:#fff;font-size:clamp(2rem,4.5vw,3rem)}
.lp-cta p{color:#c6d3e6;max-width:34em;margin:16px auto 28px}

/* trust strip */
.trust-strip{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;color:var(--muted);font-size:.92rem;margin-top:30px}
.trust-strip b{color:var(--navy);font-family:var(--serif)}

/* sticky mobile CTA */
.sticky-cta{display:none}
@media(max-width:760px){
  .lp-hero .container{grid-template-columns:1fr;padding-bottom:56px}
  .value-grid{grid-template-columns:1fr}
  .reframe{grid-template-columns:1fr;gap:24px}
  .pricing-grid{grid-template-columns:1fr}
  .sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:12px 16px;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
  .sticky-cta .btn{flex:1;text-align:center;padding:14px}
  body{padding-bottom:70px}
}

/* minimal LP footer */
.lp-footer{background:var(--navy-deep);color:#9fb1c9;font-size:.86rem;text-align:center;padding:34px var(--pad)}
.lp-footer a{color:#cdd8e8}

/* ---- Revision components ---- */

/* Social proof video strip */
.social-proof{background:var(--mist)}
.sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,230px));gap:18px;justify-content:center;max-width:980px;margin:0 auto}
.sp-card{border-radius:14px;overflow:hidden;position:relative;aspect-ratio:9/16;border:1px solid var(--line);box-shadow:0 12px 30px rgba(11,40,71,.12);background:#000}
.sp-card iframe{width:100%;height:100%;border:0;display:block}
.sp-card .sp-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#dbe7f7;background:linear-gradient(160deg,#123a64,#0b2847);text-align:center;padding:18px}
.sp-card .play-sm{width:54px;height:54px;border-radius:50%;background:var(--gold);color:#0b2847;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.sp-card .sp-label{font-size:.86rem;color:#eaf1ff;line-height:1.3}
.sp-more{text-align:center;margin-top:28px}
@media(max-width:760px){.sp-grid{grid-template-columns:repeat(auto-fit,minmax(0,150px));gap:12px}}

/* Facility differentiator band (the #1 selling point) */
.facility{background:var(--navy);color:#fff}
.facility .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.facility h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem)}
.facility .lead{color:#c6d3e6;margin-top:14px}
.facility .kicker{display:inline-block;background:var(--gold);color:#0b2847;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:16px}
.compare{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}
.compare .chead{display:grid;grid-template-columns:1.4fr 1fr 1fr;background:rgba(0,0,0,.18);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:#aebfd6}
.compare .chead div{padding:14px 16px}
.compare .crow{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.1);font-size:.95rem;align-items:center}
.compare .crow div{padding:14px 16px}
.compare .lbl{color:#e7eef8}
.compare .yes{color:#7fe0a8;font-weight:700}
.compare .no{color:#e6a5a5;font-weight:700}
@media(max-width:760px){.facility .grid{grid-template-columns:1fr;gap:26px}.compare .chead,.compare .crow{grid-template-columns:1.3fr .8fr .8fr}}

/* Before / after gallery */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ba{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(11,40,71,.07)}
.ba .imgs{display:grid;grid-template-columns:1fr 1fr}
.ba .ph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;color:#0b2847;font-family:var(--serif);font-size:1rem;background:linear-gradient(150deg,#dfe7f4,#c3d2ea)}
.ba .ph.after{background:linear-gradient(150deg,#e6d9c4,#d8c3a4)}
.ba .cap{padding:13px 16px;font-size:.85rem;color:var(--muted)}
@media(max-width:760px){.ba-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* Video testimonial */
.vtest{max-width:760px;margin:0 auto}
.vtest .vframe{aspect-ratio:16/9;border-radius:16px;overflow:hidden;position:relative;border:1px solid var(--line);box-shadow:0 20px 44px rgba(11,40,71,.14)}
.vtest .vframe .sp-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#dbe7f7;background:linear-gradient(160deg,#123a64,#0b2847);text-align:center;padding:20px}

/* Location section */
.location .grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.location .card{background:var(--mist);border:1px solid var(--line);border-radius:16px;padding:30px}
.location h3{font-size:1.5rem}
.location .addr{color:var(--muted);margin:10px 0 14px}
.location .ph{display:block;color:var(--navy);font-weight:600}
.location .flyin{margin-top:16px;color:var(--ink);font-size:.98rem;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:760px){.location .grid{grid-template-columns:1fr;gap:22px}}

/* Typeform popup modal */
.tf-modal{position:fixed;inset:0;z-index:1000;display:none;background:#fff}
.tf-modal.open{display:block}
.tf-dialog{position:absolute;inset:0;width:100%;height:100%;background:#fff;overflow:hidden}
.tf-dialog iframe{width:100%;height:100%;border:0;display:block}
.tf-close{position:fixed;top:12px;right:14px;z-index:2;background:rgba(11,40,71,.9);color:#fff;border:0;width:44px;height:44px;border-radius:50%;font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tf-close:hover{background:rgba(11,40,71,1)}

/* Widow / orphan control — no single word alone on a line */
h1, h2, h3, h4,
.section-title, .eyebrow, .kicker, .tier, .per,
.trust-strip span, .compare .lbl, .value h3 { text-wrap: balance; }
p, .lead, .sub, .desc, .micro, .price-note, .faq p, summary { text-wrap: pretty; }

/* Recurring "See Offers" CTA band */
.offers-band{text-align:center;padding:clamp(26px,4vw,38px) 20px;background:var(--mist)}
.offers-band .btn{font-size:1rem}
/* Sticky bar: fit three buttons on one line on mobile */
@media(max-width:600px){.sticky-cta .btn{padding:13px 5px;font-size:.8rem;letter-spacing:.01em}}
