/* ============================================================
   TSAWC 2026 — Ad Landing Page (page-landing.php)
   Loads after main.css. All selectors scoped with .lp-* so nothing
   leaks into the main site. Light & bright, mobile-first.
   ============================================================ */
:root{ --lime:#d3ff5c; --lime-2:#9fe83a; --lp-head-h:72px; --lp-bar-h:62px; }
.lp-body{background:var(--paper);color:var(--text)}
.lp em{font-style:normal}

/* ---------- slim header ---------- */
.lp-head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.lp-head__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--lp-head-h)}
.lp-head__logo img{height:40px;width:auto}
.lp-head__phone{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-weight:700;font-size:.95rem;color:var(--navy);padding:.6em 1.05em;border-radius:999px;background:var(--paper-2);transition:background .2s,color .2s}
.lp-head__phone svg{width:18px;height:18px;flex:none}
.lp-head__phone:hover{background:var(--navy);color:#fff}
@media(max-width:700px){.lp-head__logo img{height:34px}.lp-head__phone span{display:none}.lp-head__phone{padding:.7em;background:var(--navy);color:#fff}}

/* ---------- hero ---------- */
.lp-hero{position:relative;overflow:hidden;background:var(--paper);color:var(--text);isolation:isolate;display:flex;align-items:center;min-height:clamp(540px,78vh,820px)}
.lp-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.lp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,246,242,.985) 0%,rgba(247,246,242,.96) 40%,rgba(247,246,242,.74) 64%,rgba(247,246,242,.1) 92%)}
.lp-hero__body{position:relative;padding:clamp(56px,8vw,110px) 0 clamp(56px,8vw,100px);max-width:66rem}
.lp-hero__title{font-size:clamp(2.35rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.035em;max-width:17ch;margin:.5em 0 .35em;color:var(--navy)}
.lp-hero__title em{color:var(--blue);white-space:nowrap}
.lp-hero__lede{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.55;color:var(--text-2);max-width:52ch;margin:0 0 1.6em}
.lp-hero__actions{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.lp-hero__actions .btn{justify-content:center}
.lp-btn-call svg{width:18px;height:18px}
.lp-hero__doc{margin:26px 0 0;font-size:.9rem;color:var(--text-2);font-weight:600;letter-spacing:.01em}
.lp-hero__doc::before{content:"";display:inline-block;width:26px;height:2px;background:var(--sage);vertical-align:middle;margin-right:10px}
.lp-price{position:absolute;right:clamp(20px,5vw,80px);top:clamp(20px,4vw,48px);z-index:1;width:124px;height:124px;border-radius:50%;background:var(--navy);color:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);box-shadow:0 20px 40px -18px rgba(10,19,34,.7);transform:rotate(6deg)}
.lp-price b{font-size:2.3rem;line-height:1;letter-spacing:-.04em;font-weight:800}
.lp-price span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-top:4px;font-weight:700}
@media(max-width:900px){.lp-price{width:96px;height:96px;top:16px;right:16px}.lp-price b{font-size:1.75rem}.lp-price span{font-size:.55rem}}
@media(max-width:700px){
  .lp-hero{min-height:0;display:block}
  .lp-hero__media{position:relative;inset:auto;height:min(58vw,300px);z-index:0}
  .lp-hero::before{background:linear-gradient(0deg,var(--paper) 0%,var(--paper) 55%,rgba(247,246,242,0) 100%);inset:auto 0 0 0;height:60%}
  .lp-hero__body{padding:18px 0 40px}
  .lp-hero__title{font-size:2.15rem;max-width:none}
  .lp-hero__actions .btn{width:100%}
  .lp-price{top:14px;right:14px;transform:rotate(6deg)}
}

/* ---------- trust strip ---------- */
.lp-trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-trust__row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:22px 0}
.lp-trust__row>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding-left:16px;border-left:3px solid var(--sage)}
.lp-trust__row b{font-family:var(--display);font-weight:800;font-size:1.12rem;color:var(--navy);letter-spacing:-.02em;line-height:1.1}
.lp-trust__row span{font-size:.86rem;color:var(--text-2)}
.lp-stars{display:inline-flex;gap:2px;color:#f5b301}
.lp-stars svg{width:18px;height:18px}
@media(max-width:900px){.lp-trust__row{grid-template-columns:1fr 1fr;gap:16px 24px}}
@media(max-width:420px){.lp-trust__row b{font-size:1rem}}

/* ---------- generic section ---------- */
.lp-section{padding:clamp(56px,8vw,112px) 0}
.lp-section--alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-h2{font-size:clamp(1.9rem,3.8vw,3.2rem);line-height:1.04;letter-spacing:-.03em;color:var(--navy);margin:.35em 0 .35em;max-width:22ch}
.lp-h2 em{color:var(--blue)}
.lp-lede{font-size:clamp(1.02rem,1.3vw,1.18rem);color:var(--text-2);max-width:58ch;line-height:1.6;margin:0 0 1.6em}
.lp-lede a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---------- what you get ---------- */
.lp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:8px 0 28px}
.lp-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px;box-shadow:0 18px 40px -28px rgba(10,19,34,.35)}
.lp-card p{margin:0;font-weight:600;font-size:1.02rem;line-height:1.45;color:var(--text)}
.lp-card__ic,.lp-for__ic{flex:none;width:30px;height:30px;border-radius:50%;background:linear-gradient(100deg,var(--lime) 0%,var(--lime-2) 100%);color:var(--navy);display:inline-flex;align-items:center;justify-content:center}
.lp-card__ic svg,.lp-for__ic svg{width:15px;height:15px}
.lp-offer-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 22px}
.lp-offer-cta--center{justify-content:center;margin-top:34px}
.lp-offer-cta__note{font-size:.9rem;color:var(--text-2);max-width:32ch;line-height:1.4}
.lp-disclosure{font-size:.78rem;line-height:1.5;color:var(--muted);max-width:90ch;margin:0;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:700px){.lp-offer-cta .btn{width:100%;justify-content:center}.lp-offer-cta__note{max-width:none}}

/* ---------- who it's for ---------- */
.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.lp-for{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lp-for li{display:flex;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-weight:600;font-size:1.02rem;color:var(--navy)}
.lp-split .lp-lede{margin-bottom:0}
@media(max-width:900px){.lp-split{grid-template-columns:1fr}.lp-split .lp-lede{margin-bottom:1.2em}}

/* ---------- how it works ---------- */
.lp-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:lp}
.lp-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px 26px;box-shadow:0 18px 40px -28px rgba(10,19,34,.35)}
.lp-step__n{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--lime);font-family:var(--display);font-weight:800;font-size:1.2rem;margin-bottom:16px}
.lp-step h3{font-size:1.25rem;letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em;color:var(--navy)}
.lp-step p{margin:0;color:var(--text-2);line-height:1.55;font-size:.98rem}
.lp-doc{margin:28px 0 0;color:var(--text-2);font-size:.95rem}
.lp-doc strong{color:var(--navy)}
@media(max-width:900px){.lp-steps{grid-template-columns:1fr}}

/* ---------- reviews ---------- */
.lp-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.lp-review{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;display:flex;flex-direction:column;gap:14px}
.lp-review blockquote{margin:0;font-size:1.04rem;line-height:1.55;color:var(--text);font-weight:500;flex:1}
.lp-review blockquote::before{content:"\201C";font-family:var(--display);font-size:2.4rem;line-height:0;color:var(--sage);vertical-align:-.4em;margin-right:4px}
.lp-review figcaption{display:flex;flex-direction:column;font-size:.9rem;color:var(--text-2)}
.lp-review figcaption strong{color:var(--navy);font-family:var(--display)}
@media(max-width:900px){.lp-reviews{grid-template-columns:1fr}}

/* ---------- claim form ---------- */
.lp-claim{background:var(--navy);color:#fff;padding:clamp(60px,8vw,112px) 0;scroll-margin-top:var(--lp-head-h)}
.lp-claim .eyebrow{color:var(--sage-glow)}
.lp-claim .lp-h2{color:#fff}
.lp-claim .lp-h2 em{color:var(--lime)}
.lp-claim .lp-lede{color:rgba(255,255,255,.8)}
.lp-claim .lp-lede a{color:#fff}
.lp-claim__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.lp-claim__points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lp-claim__points li{display:flex;align-items:center;gap:12px;font-weight:600;color:rgba(255,255,255,.92)}
.lp-form-wrap{min-height:200px}
.lp-form{background:#fff;color:var(--text);border-radius:var(--r-lg);padding:clamp(24px,3vw,36px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);display:grid;gap:16px}
.lp-form__title{font-size:1.5rem;letter-spacing:-.025em;margin:0 0 4px;color:var(--navy)}
.lp-field{display:grid;gap:6px}
.lp-field label{font-family:var(--display);font-weight:700;font-size:.82rem;letter-spacing:.02em;color:var(--navy)}
.lp-field input,.lp-field select{width:100%;font:inherit;font-size:1.02rem;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(15,23,38,.18);background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.lp-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a1322' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:40px}
.lp-field input:focus,.lp-field select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(68,103,143,.18)}
.lp-field.is-bad input,.lp-field.is-bad select{border-color:#c62828;box-shadow:0 0 0 4px rgba(198,40,40,.14)}
.lp-consent{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;line-height:1.45;color:var(--text-2);cursor:pointer}
.lp-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--blue)}
.lp-consent.is-bad span{color:#c62828}
.lp-hp{position:absolute!important;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.lp-form__err{margin:0;padding:12px 14px;border-radius:10px;background:#fdecec;color:#8e1b1b;font-size:.92rem;font-weight:600}
.lp-form__err[hidden]{display:none}
.lp-form__submit{width:100%;justify-content:center;font-size:1.1rem}
.lp-form__submit[disabled]{opacity:.6;cursor:wait;animation:none;transform:none}
.lp-form__fine{margin:0;font-size:.8rem;color:var(--muted);text-align:center}
.lp-form__fine a{text-decoration:underline;text-underline-offset:2px}
.lp-thanks{background:#fff;color:var(--text);border-radius:var(--r-lg);padding:clamp(28px,4vw,44px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);text-align:center}
.lp-thanks__ic{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(100deg,var(--lime) 0%,var(--lime-2) 100%);color:var(--navy);display:flex;align-items:center;justify-content:center}
.lp-thanks__ic svg{width:30px;height:30px}
.lp-thanks h3{font-size:1.7rem;letter-spacing:-.03em;color:var(--navy);margin:0 0 .4em}
.lp-thanks p{margin:0 0 1.2em;color:var(--text-2);font-size:1.05rem}
.lp-thanks .btn{justify-content:center}
@media(max-width:900px){.lp-claim__grid{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.lp-faq{max-width:60rem}
.lp-faq .faq{margin-top:10px;border-top:1px solid var(--line)}
.lp-faq .faq summary{font-size:1.08rem;color:var(--navy)}
.lp-faq .faq__a p{margin:0;line-height:1.6}

/* ---------- slim footer ---------- */
.lp-foot{background:var(--ink);color:rgba(255,255,255,.72);padding:clamp(44px,6vw,72px) 0 calc(28px + env(safe-area-inset-bottom));font-size:.92rem}
.lp-foot__top{display:grid;gap:14px;justify-items:start;margin-bottom:28px}
.lp-foot__top img{height:46px;width:auto}
.lp-foot__nap{margin:0;line-height:1.7}
.lp-foot__nap a{color:rgba(255,255,255,.85)}
.lp-foot__nap strong{color:#fff;font-size:1.05rem}
.lp-foot__doc{margin:0;color:rgba(255,255,255,.6)}
.lp-foot__disc{font-size:.76rem;line-height:1.55;color:rgba(255,255,255,.5);max-width:92ch;margin:0 0 24px;padding-top:22px;border-top:1px solid var(--line-d)}
.lp-foot__bar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.5);padding-top:18px;border-top:1px solid var(--line-d)}
.lp-foot__bar a{color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:2px}

/* ---------- sticky mobile bar ---------- */
.lp-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;grid-template-columns:1fr 1.3fr;gap:1px;background:var(--line-d);box-shadow:0 -10px 30px -16px rgba(0,0,0,.6);padding-bottom:env(safe-area-inset-bottom);transition:transform .3s var(--ease)}
.lp-bar a{display:flex;align-items:center;justify-content:center;gap:.5em;height:var(--lp-bar-h);font-family:var(--display);font-weight:800;font-size:1rem}
.lp-bar a svg{width:18px;height:18px}
.lp-bar__call{background:var(--navy);color:#fff}
.lp-bar__claim{background:linear-gradient(100deg,var(--lime) 0%,var(--lime-2) 100%);color:var(--navy)}
.lp-bar.is-hidden{transform:translateY(110%)}
@media(max-width:700px){.lp-bar{display:grid}.lp-body{padding-bottom:calc(var(--lp-bar-h) + env(safe-area-inset-bottom))}}

@media(prefers-reduced-motion:reduce){.lp-bar{transition:none}}

/* ---------- DESIGN QA 2026-10-05 ---------- */
/* padding shorthands on .wrap-based blocks were zeroing the side gutters (hero copy + trust strip touched the viewport edge on phones) */
.lp-hero__body,.lp-trust__row{padding-inline:var(--gut)}
/* hero copy starts at the same left edge as every section below it (was a centered 66rem column) */
.lp-hero__body{max-width:none}
.lp-hero__body{width:100%} /* .lp-hero is display:flex, so the wrap was shrink-wrapping + centering */
