/* ============================================================
   TIMBERLINE PSYCHOLOGICAL SERVICES — "Compass" LANDING PAGE
   The LP's conversion structure in the SITE's own design language.
   Adapted from the tpa-angelashuey "page-landing-emdr" pattern.

   Self-contained on purpose: page-landing-compass.php owns its own <head>
   and client.css is never enqueued here, so this file carries its own
   reset, tokens, touch block and landscape condition. Validator Checks 18
   and 32 test this file separately for exactly that reason.
   ============================================================ */

:root{
  /* Bright palette 2026-10-10 (client: brighter, peaceful, calm, hopeful). --s0 was the
     dark #181F22 and the on-dark tokens were light; every "dark" surface is now mist sage. */
  --ink:#1F2A2E; --paper:#FBFAF6; --s0:#E7EEE8; --s7:#F7F5EF;
  --amber:#C8973A; --amber-light:#C8973A; --gold-text:#8A661C;
  --on-dark:#1F2A2E; --on-dark-soft:#3C4A47; --on-dark-accent:#8A661C;
  --tint-a:#FBFAF6; --tint-b:#F3F6F1;
  --fh:'Space Grotesk',sans-serif;
  --fb:'Mulish','Helvetica Neue',Arial,sans-serif;
  --wrap:1180px; --r:2px;
  --pad:clamp(3.2rem,6vw,5.4rem);
  --hdr-h:88px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);
  font:400 1.0625rem/1.72 var(--fb);text-wrap:pretty;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
picture{display:contents}
picture>source{display:none}
h1,h2,h3,h4{font-family:var(--fh);text-wrap:balance;margin:0;font-weight:600}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
a{color:inherit}
a[href^="tel:"],a[href^="mailto:"]{text-decoration:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.lp-wrap{width:min(100% - 2.6rem,var(--wrap));margin-inline:auto}
.lp-narrow{width:min(100% - 2.6rem,760px);margin-inline:auto}
.lp-sec{padding:var(--pad) 0}

.cbar{position:relative;overflow:hidden}
.cbar img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;
  object-position:center 50%}
/* purchased images have no caption bar (was height:110.5% to hide it) */
.lp-hero-bg img[src*="lp-psych-testing-hero"]{object-position:center 88%}
.lp-hero-bg img[src*="lp-somatic-methods-hero"]{object-position:center 0%}
/* complex-trauma LP authority photo: box takes the photo's own shape so nothing is cropped */
.lp-split-img:has(img[src*="lp-complex-trauma-body2"]){aspect-ratio:1200/595}
/* ---------- buttons ------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.85em;
  font:700 .78rem/1 var(--fh);letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;padding:1.15rem 2.1rem;border-radius:var(--r);
  border:1.5px solid transparent;position:relative;
  transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}
.btn::after{content:"";flex:0 0 auto;width:1.55em;height:1.5px;background:currentColor;
  opacity:.62;transition:opacity .3s ease}
.btn:hover::after,.btn:focus-visible::after{opacity:1}
.btn-amber{background:var(--amber);color:var(--ink)}
.btn-amber:hover,.btn-amber:focus-visible{background:#B5842B;box-shadow:0 8px 22px rgba(200,151,58,.35)}
.btn-line{background:transparent;color:var(--ink);border-color:rgba(31,42,46,.35)}
.btn-line:hover,.btn-line:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-onDark{background:var(--paper);color:var(--ink)}
.btn-onDark:hover,.btn-onDark:focus-visible{background:var(--amber-light);box-shadow:inset 0 0 0 2px rgba(24,31,34,.25)}

/* ---------- header -------------------------------------------------------- */
.lp-hdr{position:sticky;top:0;z-index:80;background:rgba(251,250,246,.96);
  border-bottom:1px solid rgba(31,42,46,.08);transition:box-shadow .35s ease,background-color .35s ease}
.lp-hdr.stuck{background:var(--paper);box-shadow:0 1px 18px rgba(31,42,46,.12)}
.lp-hdr-in{display:flex;align-items:center;gap:1.1rem;min-height:var(--hdr-h)}
.lp-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0;text-decoration:none;color:var(--ink)}
.lp-brand svg{width:26px;height:26px;flex:none;color:var(--amber)}
.lp-brand-text{font-family:var(--fh);font-weight:600;font-size:15.5px;letter-spacing:.02em;line-height:1.2;white-space:nowrap}
.lp-brand-text span{display:block;font-family:var(--fb);font-weight:600;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#5E6D64;margin-top:2px}
.lp-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.2rem,1.1vw,.9rem);
  flex:1 1 auto;min-width:0}
.lp-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;
  padding:0 .55rem;text-decoration:none;color:var(--ink);
  font:700 .72rem/1 var(--fh);letter-spacing:.1em;text-transform:uppercase;
  transition:color .3s}
.lp-nav a::before{content:"";position:absolute;z-index:-1;left:2px;right:2px;bottom:8px;height:1px;
  background:var(--amber-light);opacity:.7;
  transition:height .44s cubic-bezier(.22,1,.36,1),bottom .44s cubic-bezier(.22,1,.36,1),opacity .32s}
.lp-nav a:hover::before,.lp-nav a:focus-visible::before{height:26px;bottom:7px;opacity:1}
.lp-nav a:hover,.lp-nav a:focus-visible{color:var(--ink)}
.lp-hdr-cta{display:flex;align-items:center;gap:1.1rem;flex:0 0 auto}
.lp-tel{display:flex;flex-direction:column;gap:.2rem;min-height:44px;justify-content:center;
  text-decoration:none;white-space:nowrap}
.lp-tel-lbl{font:700 .63rem/1 var(--fh);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-text)}
.lp-tel-num{display:flex;align-items:center;gap:.44rem;font:700 1.05rem/1.15 var(--fh);color:var(--ink)}
.lp-tel-num svg{flex:0 0 auto;stroke:var(--amber)}
.lp-tel:hover .lp-tel-num{color:var(--gold-text)}
.lp-hdr-btn{padding:1rem 1.4rem;font-size:.7rem;letter-spacing:.09em}

/* ---------- hero ---------------------------------------------------------- */
.lp-hero{position:relative;min-height:clamp(34rem,76vh,44rem);display:flex;align-items:center;
  padding:clamp(3rem,5vw,4.4rem) 0;overflow:hidden;background:var(--s0)}
.lp-hero-bg{position:absolute;inset:0}
.lp-hero-bg img{filter:saturate(1.05) contrast(1.02)}
.lp-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(24,31,34,.4) 0,rgba(24,31,34,.1) 26%,
             rgba(24,31,34,.1) 74%,rgba(24,31,34,.55) 100%)}
.lp-hero .lp-wrap{position:relative;z-index:2}
.lp-hero-plate{background:var(--paper);border-radius:var(--r);border:1px solid rgba(24,31,34,.1);
  width:fit-content;max-width:min(100%,40rem);
  padding:clamp(2.1rem,3vw,2.7rem) clamp(2rem,2.8vw,2.7rem);
  box-shadow:0 34px 70px -22px rgba(0,0,0,.5),0 3px 12px rgba(0,0,0,.2),
             inset 0 1px 0 rgba(255,255,255,.85)}
.lp-hero-plate .flog{margin-bottom:14px}
.lp-hero-plate h1{font-size:clamp(1.9rem,3.9vw,3rem);line-height:1.1;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:.6rem}
.lp-hero-answer{font-family:var(--fh);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25;
  color:var(--ink);margin-bottom:.9rem}
.lp-hero-sub{font-size:clamp(1rem,1.25vw,1.08rem);line-height:1.6;color:#5E6D64;
  margin-bottom:1.6rem}
.lp-hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem}
.lp-hero-tel{display:flex;flex-direction:column;gap:.15rem;text-decoration:none}
.lp-hero-tel-lbl{font:700 .66rem/1 var(--fh);letter-spacing:.13em;text-transform:uppercase;color:#5E6D64}
.lp-hero-tel-num{font:700 1.1rem/1.15 var(--fh);color:var(--ink)}
.lp-hero-tel:hover .lp-hero-tel-num{color:var(--gold-text)}

/* ---------- field-log kicker (matches main-site .flog) --------------------- */
.flog{font-family:var(--fh);font-weight:600;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-text);display:flex;align-items:center;gap:9px}
.flog::before{content:"";width:20px;height:1px;background:currentColor;opacity:.6}

/* ---------- trust badges -------------------------------------------------- */
.lp-badges{background:var(--s0);padding:1.05rem 0}
.lp-badges-in{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,3vw,2.6rem)}
.lp-badge{display:inline-flex;align-items:center;gap:.55rem;
  font:700 .7rem/1.4 var(--fh);letter-spacing:.1em;text-transform:uppercase;
  color:#2E3B37}
.lp-badge svg{flex:0 0 auto;stroke:var(--gold-text)}

/* ---------- split sections ------------------------------------------------ */
.lp-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,4vw,3.6rem);align-items:center}
.lp-split--rev .lp-split-text{order:2}
.lp-split--rev .lp-split-img{order:1}
.lp-split-text h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:1rem}
.lp-split-text p{font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75;color:#3C4A47;max-width:60ch}
.lp-split-img{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;
  box-shadow:0 2px 3px rgba(24,31,34,.05),0 20px 48px -26px rgba(24,31,34,.36)}
.lp-problem{background:var(--tint-a)}
.lp-solution{background:var(--tint-b)}
.lp-pull{font-family:var(--fh);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.42;
  color:var(--ink);margin-top:1.3rem;max-width:36ch}

/* ---------- solution benefits ---------------------------------------------- */
.lp-benefits-intro{max-width:66ch;margin-bottom:1.6rem}
.lp-benefits-intro p{color:#3C4A47;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75}
.lp-benefit-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:.9rem}
.lp-benefit-list li{position:relative;margin:0;
  background:var(--paper);border:1px solid rgba(31,42,46,.2);border-radius:var(--r);
  padding:1.1rem 1.2rem 1.1rem 2.5rem;
  font-size:clamp(.98rem,1.15vw,1.06rem);line-height:1.6;color:#3C4A47}
.lp-benefit-list li::before{content:"";position:absolute;left:1.1rem;top:1.5rem;
  width:.85rem;height:1.5px;background:var(--amber)}
.lp-benefit-close{margin-top:1.6rem;font-family:var(--fh);font-style:italic;
  font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.45;color:var(--ink)}

/* ---------- process --------------------------------------------------------- */
.lp-process{background:var(--tint-a)}
/* Wider container than the standard 1180px wrap, just for this section --
    3 boxes stay 3 boxes, but each gets more room so a longer step-closer
   sentence has a better shot at fitting on one line. */
.lp-process .lp-wrap{--wrap:1560px}
.lp-sec-head{max-width:60ch;margin-bottom:clamp(2rem,3.4vw,3rem)}
.lp-process .lp-sec-head{max-width:none;text-align:center}
.lp-sec-head h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;color:var(--ink)}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.2rem,2vw,1.8rem)}
.lp-step{background:var(--paper);border-radius:var(--r);
  padding:clamp(1.5rem,1.9vw,1.9rem);border:1px solid rgba(31,42,46,.16)}
.lp-step-n{display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);
  font:700 .95rem/1 var(--fh);margin-bottom:1rem}
.lp-step h3{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.25;color:var(--ink);
  margin-bottom:.6rem}
.lp-step p{font-size:1rem;line-height:1.68;color:#3C4A47}

/* ---------- CTA bands ----------------------------------------------------- */
.lp-band{background:#F4E9CF;border-top:3px solid var(--amber);padding:clamp(2.6rem,4.4vw,3.8rem) 0;text-align:center}
.lp-band--dark{background:var(--s0);border-top:0}
.lp-band-eyebrow{font-family:var(--fh);font-weight:700;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold-text);margin-bottom:1rem;display:block}
.lp-band-h{font-family:var(--fh);font-weight:600;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.25;
  color:var(--ink);margin-bottom:.6rem}
.lp-band-body{color:#3C4A47;max-width:52ch;margin:0 auto 1.5rem}
.lp-band .btn{margin-top:.5rem;background:var(--amber);color:var(--ink);border-color:var(--amber)}
.lp-band .btn:hover{background:#B5842B;border-color:#B5842B}

/* ---------- trust --------------------------------------------------------- */
.lp-trust{background:var(--tint-b)}
.lp-trust h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;color:var(--ink);
  margin-bottom:1.6rem}
.lp-trust-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem 2.2rem}
.lp-trust-item{background:var(--paper);border:1px solid rgba(31,42,46,.14);border-radius:var(--r);
  padding:1.8rem 1.7rem;box-shadow:0 2px 3px rgba(24,31,34,.04),0 14px 30px -22px rgba(24,31,34,.28)}
.lp-trust-item h3{font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.3;color:var(--ink);
  margin-bottom:.45rem}
.lp-trust-item p{font-size:1.02rem;line-height:1.7;color:#3C4A47}
.lp-portrait{aspect-ratio:auto;box-shadow:none;overflow:visible;text-align:center;
  max-width:19rem;margin-inline:auto}
.lp-portrait picture{position:relative;display:block;isolation:isolate}
.lp-portrait picture::before{content:'';position:absolute;top:16px;left:16px;right:-16px;
  bottom:-16px;background:var(--amber-light);border-radius:var(--r);z-index:0}
.lp-portrait img{position:relative;z-index:1;width:100%;height:auto;border-radius:var(--r);
  box-shadow:0 3px 5px rgba(24,31,34,.1),0 26px 56px -26px rgba(24,31,34,.45)}
.lp-portrait-cap{margin-top:.9rem;font:700 .69rem/1.5 var(--fh);letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold-text)}
.lp-portrait-bio{margin-top:.6rem}
.lp-portrait-bio p{font-size:.98rem;line-height:1.65;color:#3C4A47}
.lp-portrait-bio p+p{margin-top:.7rem}
.lp-trust-portrait{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(2rem,4vw,3.4rem);
  align-items:start;margin-top:clamp(2.2rem,4vw,3.2rem);padding-top:clamp(2.2rem,4vw,3.2rem);
  border-top:2px solid rgba(200,151,58,.35)}
.lp-portrait--inline{max-width:15rem;margin-inline:0}
.lp-trust-portrait>.lp-portrait-bio{margin-top:0;align-self:center}
.lp-trust-portrait>.lp-portrait-bio p{font-size:1.05rem;line-height:1.8;max-width:64ch}

/* ---------- FAQ ----------------------------------------------------------- */
.lp-faq{background:var(--tint-a)}
.lp-faq h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;color:var(--ink);
  margin-bottom:1.6rem}
.lp-faq-list{border-top:1px solid rgba(31,42,46,.14)}
.lp-faq-row{border-bottom:1px solid rgba(31,42,46,.14)}
.lp-faq-q{position:relative;display:flex;align-items:flex-start;gap:1rem;width:100%;
  background:none;border:0;margin:0;cursor:pointer;text-align:left;
  padding:clamp(1.3rem,2vw,1.7rem) clamp(.4rem,1.4vw,1.2rem);
  font-family:var(--fh);font-weight:600;color:var(--ink);
  font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.3;
  transition:background-color .42s cubic-bezier(.22,1,.36,1),padding-left .42s}
.lp-faq-row.open .lp-faq-q{background:var(--paper);padding-left:clamp(1rem,2.4vw,2rem)}
.lp-faq-mark{flex:0 0 auto;width:10px;height:10px;margin-top:.42em;
  border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);
  transform:rotate(-45deg);transition:transform .42s cubic-bezier(.22,1,.36,1)}
.lp-faq-row.open .lp-faq-mark{transform:rotate(45deg)}
.lp-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}
.lp-faq-row.open .lp-faq-a{grid-template-rows:1fr}
.lp-faq-a>div{overflow:hidden}
.lp-faq-a-in{padding:0 clamp(.4rem,1.4vw,1.2rem)}
.lp-faq-row.open .lp-faq-a-in{padding-top:.9rem;padding-bottom:1.6rem}
.lp-faq-a p{font-size:1.03rem;line-height:1.75;color:#3C4A47}

/* ---------- form section -------------------------------------------------- */
.lp-form-sec{background:var(--s0);color:var(--on-dark);padding:var(--pad) 0}
.lp-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(2rem,3.6vw,3.4rem);align-items:start}
.lp-form-copy h2{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.12;color:var(--ink);
  margin-bottom:1rem}
.lp-form-copy p{color:var(--on-dark-soft);font-size:clamp(1rem,1.2vw,1.1rem);line-height:1.75}
.lp-next{margin-top:clamp(1.8rem,2.6vw,2.4rem);padding-top:clamp(1.4rem,2vw,1.9rem);
  border-top:1px solid rgba(31,42,46,.14)}
.lp-next-h{font-family:var(--fh);font-weight:600;font-size:clamp(1.15rem,1.6vw,1.35rem);color:var(--gold-text);margin-bottom:1rem}
.lp-next-list{list-style:none;margin:0;padding:0;counter-reset:n;display:grid;gap:.95rem}
.lp-next-list li{counter-increment:n;position:relative;padding-left:2.6rem;
  color:var(--on-dark-soft);font-size:1.02rem;line-height:1.65}
.lp-next-list li::before{content:counter(n);position:absolute;left:0;top:.05em;
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--amber);color:var(--gold-text);
  font:700 .78rem/1 var(--fh)}

.lp-form-card{background:#FFFFFF;border:1px solid rgba(31,42,46,.12);
  border-radius:var(--r);padding:clamp(1.6rem,2.4vw,2.2rem)}
.lp-form-card h3{font-family:var(--fh);font-weight:600;font-size:clamp(1.2rem,1.7vw,1.45rem);color:var(--ink);margin-bottom:1.2rem}
.lp-form-note{color:var(--on-dark-soft);font-size:.95rem}

.lp-assurances{display:grid;grid-template-columns:1fr;
  gap:1.4rem;
  margin-top:clamp(2rem,3.2vw,2.8rem);padding-top:clamp(1.5rem,2.2vw,2rem);
  border-top:1px solid rgba(31,42,46,.14)}
.lp-assurance h4{font:700 .72rem/1.4 var(--fh);letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-text);margin:0 0 .6rem}
.lp-assurance p{color:var(--on-dark-soft);font-size:.98rem;line-height:1.68}

/* -------- WPForms styling to match the site's underline field pattern ------ */
.lp-form-card .wpforms-field-label{font-family:var(--fh) !important;font-size:11px !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;color:#5E6D64 !important;opacity:1 !important}
/* tpa-base injects its WPForms contract inline at wp_head:100, keyed on
   `.wpforms-container .wpforms-form <el>` — (0,3,x) AND !important, so the
   (0,2,x) rule above never lands. The contract is `var(--form-*, <light
   fallback>)` driven and client.css (which defines those tokens) is not
   enqueued on the LP, so the labels were painting at its #2b2b2b fallback:
   near-black on the dark form card. Token + a specificity match, label only —
   the fields keep whatever the contract gives them. */
.lp-form-card{--form-label:#5E6D64}
.lp-form-card .wpforms-container .wpforms-form .wpforms-field-label{
  color:#5E6D64 !important;opacity:1 !important}
.lp-form-card .wpforms-form input[type=text],
.lp-form-card .wpforms-form input[type=email],
.lp-form-card .wpforms-form input[type=tel],
.lp-form-card .wpforms-form textarea{
  border:none !important;border-bottom:1.5px solid rgba(31,42,46,.28) !important;border-radius:0 !important;
  background:transparent !important;color:var(--ink) !important;padding:12px 4px !important;box-shadow:none !important}
.lp-form-card .wpforms-form input:focus,
.lp-form-card .wpforms-form textarea:focus{border-color:var(--amber) !important;box-shadow:none !important}
.lp-form-card .wpforms-form textarea{min-height:90px !important;resize:vertical !important}
.lp-form-card .wpforms-form button.wpforms-submit{
  background:var(--amber) !important;color:var(--ink) !important;border:1.5px solid var(--amber) !important;
  box-shadow:none !important;border-radius:2px !important;width:100%;justify-content:center}
.lp-form-card .wpforms-form button.wpforms-submit:hover{background:#B5842B !important;border-color:#B5842B !important}

/* ---------- footer -------------------------------------------------------- */
.lp-ftr{background:#DCE6DE;color:var(--on-dark-soft);
  padding:clamp(2.2rem,3.4vw,3rem) 0 clamp(1.4rem,2vw,1.9rem);
  border-top:1px solid rgba(31,42,46,.08);text-align:center}
.lp-ftr-brand{display:inline-flex;align-items:center;gap:8px;margin-bottom:1.1rem;color:var(--ink);text-decoration:none}
.lp-ftr-brand svg{width:22px;height:22px;color:var(--gold-text)}
.lp-ftr-brand span{font-family:var(--fh);font-weight:600;font-size:14px}
.lp-ftr-line{font:700 .74rem/1.6 var(--fh);letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold-text);margin-bottom:.9rem}
.lp-ftr-fine{max-width:62ch;margin:0 auto 1.1rem;font-size:.92rem;line-height:1.66;
  color:var(--on-dark-soft)}
.lp-ftr-btm{font-size:.88rem;color:var(--on-dark-soft)}
.lp-ftr-btm a{color:var(--on-dark-soft);text-decoration:none}
.lp-ftr-btm a:hover{color:var(--ink)}

/* ==========================================================================
   RESPONSIVE — the mobile condition also catches landscape phones, which are
   ~926px WIDE and clear every max-width:768px gate.
   ========================================================================== */
@media (max-width:1080px){
  .lp-nav{gap:.15rem}
  .lp-nav a{padding:0 .35rem;font-size:.67rem;letter-spacing:.08em}
  .lp-hdr-btn{display:none}
}
@media (max-width:900px){
  .lp-split,.lp-form-grid,.lp-benefit-list{grid-template-columns:1fr}
  .lp-split--rev .lp-split-text,.lp-split--rev .lp-split-img{order:0}
  .lp-steps{grid-template-columns:1fr}
  .lp-portrait{max-width:24rem;margin-inline:auto}
  .lp-trust-portrait{grid-template-columns:1fr;text-align:center}
  .lp-portrait--inline{max-width:16rem;margin-inline:auto}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  :root{--pad:clamp(2.6rem,7vw,3.6rem);--hdr-h:72px}
  .lp-hdr-in{flex-wrap:wrap;gap:.6rem;padding-block:.5rem}
  .lp-brand{order:1}
  .lp-hdr-cta{order:2;margin-left:auto}
  /* section nav = 2x2 grid of pills, never a sideways-scrolling strip */
  .lp-nav{order:3;flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:.45rem;overflow:visible;padding:0;align-items:stretch}
  .lp-nav a{justify-content:center;text-align:center;white-space:nowrap;padding:.55rem .4rem;letter-spacing:.05em;
    border:1px solid rgba(138,102,28,.32);border-radius:6px 14px 6px 14px;background:#FFFFFF}
  .lp-nav a::before{display:none}
  .lp-tel-lbl{display:none}
  .lp-brand{flex:1 1 0;min-width:0}
  .lp-brand-text{white-space:normal;min-width:0}
  .lp-brand-text span{white-space:normal}
  .lp-hero{min-height:auto;display:block;padding:0 0 2.4rem}
  .lp-hero-bg{position:relative;inset:auto;height:clamp(15rem,58vw,21rem)}
  .lp-hero::after{content:none}
  .lp-hero .lp-wrap{margin-top:clamp(-2.6rem,-6vw,-1.6rem)}
  .lp-hero-plate{max-width:100%;padding:1.6rem 1.4rem}
  .lp-assurances{grid-template-columns:1fr}
  .lp-badges-in{gap:.8rem 1.4rem}
}
@media (max-width:480px){
  .lp-wrap,.lp-narrow{width:min(100% - 2rem,var(--wrap))}
  .btn{padding-inline:1.35rem;letter-spacing:.08em;gap:.6em}
  .btn::after{width:1.2em}
  .lp-hero-acts .btn{width:100%}
}

/* ---------- touch devices --------------------------------------------------
   This block is the LP's OWN copy of the site's touch contract. lp-compass.css
   is loaded standalone, so nothing in client.css reaches here. */
@media (hover:none) and (pointer:coarse){
  .flog,.lp-badge,.lp-tel-lbl,.lp-assurance h4,.lp-portrait-cap,
  .lp-ftr-line,.lp-ftr-btm,.lp-form-note,.lp-band-eyebrow,.lp-hero-tel-lbl{font-size:.88rem;letter-spacing:.1em}
  .lp-hero-tel,.lp-hero-tel-num{min-height:44px}
  .btn{font-size:.88rem;letter-spacing:.1em;min-height:44px}
  button,input[type="submit"],input[type="button"]{font-size:14px}
  .lp-nav a{font-size:.88rem;min-height:44px;min-width:44px}
  .lp-brand-text span{font-size:14px;letter-spacing:.06em;line-height:1.25}
  .lp-brand,.lp-ftr-brand{min-height:44px;display:inline-flex;align-items:center}
  .lp-faq-q{font-size:clamp(1.1rem,1.5vw,1.28rem);min-height:44px}
  .lp-tel,.lp-tel-num{min-height:44px}
  a[href^="tel:"]:not([class]),
  a[href^="mailto:"]:not([class]){min-height:44px;display:inline-flex;align-items:center}
  .lp-ftr-btm a{min-height:44px;padding:12px 4px;display:inline-flex;align-items:center}
  .lp-benefit-list li,.lp-next-list li,.lp-step p,.lp-faq-a p,.lp-ftr-fine{font-size:.98rem}
  .lp-hero,.lp-band,.lp-form-sec{background-attachment:scroll}
}

@media (max-width:430px){
  .lp-nav a{letter-spacing:.02em;padding-inline:.25rem}
  .lp-tel-num{font-size:.95rem;gap:.35rem}
  .lp-tel-num svg{width:14px;height:14px}
}
@media (max-width:360px){
  .lp-nav a{letter-spacing:0;padding-inline:.3rem;white-space:normal;line-height:1.15}
  .lp-hdr-in{gap:.6rem .5rem}
  .lp-brand{gap:7px}
  .lp-brand svg{width:22px;height:22px}
  .lp-brand-text span{letter-spacing:0}
  .lp-tel-num{font-size:.88rem;gap:.25rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ---- Copy formatting follows the docs (2026-10-21) ----
   Doc 14pt subheads = one tier with the section H2s; bold-only card titles = one tier;
   plain doc lines render plain at body size. */
.lp-split-text p+h2,.lp-split-text ul+h2{margin-top:clamp(1.8rem,3vw,2.4rem)}
.lp-benefits-intro h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem}
.lp-band .lp-band-h{font-weight:400}
.lp-band .lp-band-h strong{font-weight:600}
.lp-band--dark .lp-band-h{font-weight:600;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14}
.lp-benefit-close{font-family:var(--fb,inherit);font-style:normal;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75;color:#3C4A47}
.lp-form-copy h2,.lp-next-h{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14}
.lp-step h3,.lp-trust-item h3,.lp-faq-q{font-size:clamp(1.1rem,1.5vw,1.28rem)}
