/* ═══════════════════════════════════════════════════════════════════════════
   NICOLE TERRAZAS — LANDING PAGE · "THE WAY BACK"

   Self-contained BY DESIGN. client.css never loads on a landing page, so this
   file repeats the palette, the type stack and the reset rather than importing
   them. It also carries its OWN touch block and its OWN landscape condition,
   because it inherits neither — validator Checks 18 and 32 test this file
   separately from client.css for exactly that reason.

   The design is the MAIN SITE's, applied to the LP's conversion structure: the
   cream plate on a warm mount cut at 3.4°, the 3:2:1 sage/clay/wildflower rule
   as every divider, one 2px radius, and the raked sage→wildflower button sweep.
   A visitor arriving here from the homepage sees one practice.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --sage:#6B8E5A; --sage-deep:#47603B; --sage-tint:#E7EDE1; --sage-mid:#C8D6BC;
  --taupe:#8B7B6A; --taupe-deep:#655949; --taupe-tint:#EDE7DF;
  --orchid:#A0689E; --orchid-deep:#7C4B7A; --orchid-tint:#F1E8F0; --orchid-mid:#DDC6DB;
  --cream:#FAF9F6; --cream-warm:#F4F1EA;
  --green-deep:#31402A; --clay-mid:#D6CBBC; --clay-deep:#4E4437; --plum:#5C3459;
  --ink:#2D2A26; --ink-soft:#4F4941;
  --spectrum:linear-gradient(to right,var(--sage) 0 50%,var(--taupe) 50% 83.333%,var(--orchid) 83.333% 100%);

  --f-mark:"Fraunces",Georgia,"Times New Roman",serif;
  --f-head:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --f-body:"Literata",Georgia,"Times New Roman",serif;

  --gut:clamp(20px,5vw,40px);
  --container:1140px;
  --sec:clamp(52px,6vw,86px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--f-body);font-optical-sizing:auto;
  font-size:clamp(1rem,.975rem + .13vw,1.06rem);line-height:1.72;
  text-wrap:pretty;overflow-x:clip;
}
img{max-width:100%}
h1,h2,h3{font-family:var(--f-head);margin:0;line-height:1.09;letter-spacing:-.028em;font-weight:700;text-wrap:balance}
h1{font-size:clamp(1.8rem,1.2rem + 2.4vw,2.9rem);letter-spacing:-.038em;line-height:1.04}
h2{font-size:clamp(1.6rem,1.16rem + 1.55vw,2.28rem)}
h3{font-size:clamp(1.18rem,1.03rem + .55vw,1.42rem);letter-spacing:-.02em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
a{color:inherit}
:focus-visible{outline:2.5px solid var(--orchid);outline-offset:3px}

.lp-wrap{width:min(100% - (var(--gut)*2),var(--container));margin-inline:auto}
.lp-skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--ink);color:var(--cream);
  font-family:var(--f-head);font-weight:650;padding:13px 22px;text-decoration:none}
.lp-skip:focus{left:0}

/* Shutterstock comps carry a ~100px info bar; the over-tall image inside an
   overflow-hidden frame drops it below the cut. Same mechanism as the main
   site — every stock photograph here must sit inside a .shot. */
.shot{position:relative;overflow:hidden;background:var(--taupe-tint)}
.shot img{display:block;width:100%;height:112%;object-fit:cover;object-position:center top}
.shot picture{display:block;position:absolute;inset:0}
.shot picture img{height:112%}
.shot--hero img,.shot--hero picture img{height:118%}

/* ── buttons: sage, with the wildflower sweeping across on a 14° rake ─────── */
.btn{
  display:inline-block;position:relative;isolation:isolate;overflow:hidden;
  font-family:var(--f-head);font-size:.99rem;font-weight:650;line-height:1.25;letter-spacing:-.008em;
  padding:16px 24px;border:0;border-radius:2px;
  background:var(--sage-deep);color:var(--cream);text-decoration:none;cursor:pointer;
  transition:color .35s;
}
.btn::before{
  content:"";position:absolute;top:-2px;bottom:-2px;left:-12%;width:124%;z-index:-1;
  background:var(--orchid-deep);
  transform:skewX(-14deg) scaleX(0);transform-origin:left center;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.btn:hover::before,.btn:focus-visible::before{transform:skewX(-14deg) scaleX(1)}
.btn--light{background:var(--cream);color:var(--ink)}
.btn--light::before{background:var(--orchid-deep)}
.btn--light:hover,.btn--light:focus-visible{color:var(--cream)}
@media (prefers-reduced-motion:reduce){.btn::before{transition:none}}

.lp-secondary{
  font-family:var(--f-head);font-weight:670;font-size:.95rem;color:var(--orchid-deep);
  text-decoration:none;border-bottom:2px solid rgba(160,104,158,.4);padding-bottom:2px;
}
.lp-secondary:hover{border-bottom-color:var(--orchid)}

.lp-eyebrow{
  margin:0 0 .7em;font-family:var(--f-head);font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--taupe-deep);
}
.lp-eyebrow--rev{color:rgba(250,249,246,.62)}
.lp-lead{font-size:clamp(1.1rem,1.03rem + .34vw,1.28rem);color:var(--ink-soft);line-height:1.6}
.lp-strong{font-weight:700;font-style:normal;color:var(--ink)}

/* ── header ──────────────────────────────────────────────────────────────── */
.lp-hdr{position:fixed;top:0;left:0;right:0;z-index:70;transition:background .4s ease,box-shadow .4s ease}
.lp-hdr::before{
  content:"";position:absolute;inset:0 0 auto;height:235%;
  background:linear-gradient(to bottom,rgba(38,35,31,.86) 0%,rgba(38,35,31,.6) 45%,rgba(38,35,31,0) 100%);
  pointer-events:none;transition:opacity .4s;
}
.lp-hdr::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:3;
  background:var(--spectrum);opacity:0;transition:opacity .4s;pointer-events:none;
}
.lp-hdr.stuck{background:var(--sage-tint);box-shadow:0 8px 26px -20px rgba(45,42,38,.6)}
.lp-hdr.stuck::before{opacity:0}
.lp-hdr.stuck::after{opacity:1}
/* three tracks so the nav sits on the PAGE's centre line, not on whatever is
   left over between the wordmark and the phone number */
.lp-hdr-in{position:relative;z-index:2;display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(12px,2vw,28px);padding:12px 0}

.mark{display:flex;align-items:baseline;gap:.34em;line-height:1;text-decoration:none;flex:0 1 auto;min-width:0}
.mark b{font-family:var(--f-mark);font-weight:400;font-size:1.3rem;letter-spacing:-.015em;
  font-variation-settings:"SOFT" 60,"WONK" 1,"opsz" 96;overflow-wrap:anywhere}
.mark span{font-family:var(--f-head);font-size:.72rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase}
.lp-hdr .mark b{color:var(--cream)}
.lp-hdr .mark span{color:#B4CDA4}
.lp-hdr.stuck .mark b{color:var(--ink)}
.lp-hdr.stuck .mark span{color:var(--sage-deep)}

.lp-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,1.8vw,24px)}
.lp-nav a{
  font-family:var(--f-head);font-size:.9rem;font-weight:550;color:var(--cream);
  text-decoration:none;padding:9px 0;border-bottom:2px solid transparent;transition:border-color .3s,color .3s;
}
.lp-nav a:hover,.lp-nav a:focus-visible{border-bottom-color:var(--orchid)}
.lp-hdr.stuck .lp-nav a{color:var(--ink)}
.lp-tel{
  justify-self:end;
  font-family:var(--f-head);font-size:.95rem;font-weight:680;color:var(--cream);white-space:nowrap;
  text-decoration:none;border-bottom:2px solid rgba(250,249,246,.45);padding-bottom:2px;
}
.lp-hdr.stuck .lp-tel{color:var(--orchid-deep);border-bottom-color:rgba(160,104,158,.4)}

/* ── hero: the plate on its warm mount, cut at 3.4° ───────────────────────── */
.lp-hero{
  position:relative;background:var(--ink);display:flex;align-items:center;
  min-height:clamp(560px,60vw,780px);
  padding:clamp(92px,9vw,124px) 0 clamp(70px,8vw,110px);
}
.lp-hero .shot{position:absolute;inset:0;height:100%}
.lp-hero .shot img,.lp-hero .shot picture img{object-position:50% top;filter:brightness(.86) saturate(1.03)}
.lp-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:6;background:var(--spectrum)}
.lp-hero-grid{position:relative;z-index:5}
.lp-plate{position:relative;width:min(600px,calc(56vw - var(--gut)));padding:14px}
.lp-plate::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--sage-mid);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 35px),0 100%);
  filter:drop-shadow(0 26px 46px rgba(45,42,38,.5));
}
.lp-plate-in{position:relative;z-index:1;padding:clamp(28px,3vw,38px) clamp(26px,2.9vw,34px) clamp(60px,6vw,78px)}
.lp-plate-in::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cream);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 33px),0 100%);
}
.lp-hero h1{color:var(--ink)}
.lp-hero-sub{margin-top:.7em;font-size:clamp(1.08rem,.99rem + .4vw,1.24rem);color:var(--ink-soft);line-height:1.55}
.lp-hero-meta{
  margin-top:clamp(14px,1.8vw,20px);padding-top:clamp(12px,1.6vw,16px);position:relative;
  font-size:1.1rem;color:var(--taupe-deep);
}
.lp-hero-meta::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--spectrum)}
.lp-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:clamp(20px,2.6vw,28px)}

/* ── badges ──────────────────────────────────────────────────────────────── */
.lp-badges{background:var(--cream-warm);padding:16px 0}
.lp-badges-in{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.lp-badge{font-family:var(--f-head);font-size:.85rem;font-weight:600;color:var(--taupe-deep)}

/* ── two-column bands ────────────────────────────────────────────────────── */
.lp-problem{background:var(--sage-mid);padding:var(--sec) 0}
.lp-solution{background:var(--cream);padding:var(--sec) 0}
.lp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4vw,56px);align-items:stretch}
.lp-split--rev .lp-col:first-child{order:2}
.lp-split--rev .lp-col--img{order:1}
.lp-col{min-width:0;align-self:center}
/* stretch, NOT the inherited align-self:center from .lp-col — the photo is
   absolutely positioned inside this column, so a centred (content-height)
   column collapses to zero and the image never appears */
.lp-col--img{position:relative;min-width:0;align-self:stretch}
.lp-col--img .shot{position:absolute;inset:0;height:100%;border-radius:2px;box-shadow:0 24px 48px -32px rgba(45,42,38,.5)}
.lp-split{min-height:clamp(260px,28vw,360px)}
.lp-problem h2{color:var(--green-deep)}
.lp-solution h2{color:var(--green-deep)}
.lp-problem p,.lp-solution p{color:var(--ink-soft)}
.lp-col h3{margin:2em 0 .85em;color:var(--green-deep)}
/* A design moment, not another bold sentence: the site's tri-partite rule
   centred above it, then the line itself large and italic in the body serif,
   with real air either side. */
.lp-bens-close{
  position:relative;margin:clamp(42px,5vw,68px) auto 0;max-width:26ch;
  padding-top:clamp(22px,2.6vw,32px);text-align:center;
  font-family:var(--f-body);font-style:italic;font-weight:400;
  font-size:clamp(1.32rem,1.06rem + 1.15vw,1.9rem);
  line-height:1.35;color:var(--green-deep);
}
.lp-bens-close::before{
  content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:96px;height:3px;background:var(--spectrum);
}
.lp-list{margin:1.2em 0;padding:0;list-style:none;display:grid;gap:.6em}
.lp-list li{position:relative;padding-left:22px;color:var(--ink-soft)}
.lp-list li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--sage-deep)}

.lp-bens-h{margin:clamp(30px,3.6vw,46px) 0 .8em;color:var(--green-deep)}
.lp-bens{margin:0;padding:0;list-style:none;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.lp-bens li{background:var(--cream-warm);border-radius:2px;padding:18px 20px}
.lp-bens b{display:block;font-family:var(--f-head);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:.3em}
.lp-bens span{color:var(--ink-soft);font-size:.98rem}

/* ── CTA bands ───────────────────────────────────────────────────────────── */
/* Not a flat fill. Three layers: a soft light falling from the upper left, a
   diagonal deep-green-to-sage wash, and a very fine weave. All in her own
   greens, so cream type still measures 6.7:1 at the lightest point. */
.lp-band{
  position:relative;color:var(--cream);padding:clamp(44px,5.2vw,70px) 0;
  background:
    radial-gradient(120% 140% at 12% 0%, rgba(200,214,188,.30) 0%, rgba(200,214,188,0) 58%),
    linear-gradient(115deg, var(--green-deep) 0%, var(--sage-deep) 62%, #3E5433 100%);
  overflow:hidden;
}
.lp-band::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(115deg,
    rgba(250,249,246,.045) 0 2px, rgba(250,249,246,0) 2px 7px);
}
.lp-band::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--spectrum);pointer-events:none;
}
.lp-band > *{position:relative;z-index:1}
.lp-band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}
.lp-band h2{color:var(--cream);max-width:22ch}

/* ── process: reversed out of deep green, like the site's services viewer ── */
.lp-process{background:var(--green-deep);color:var(--cream);padding:var(--sec) 0}
.lp-process h2{color:#CBDCC0}
.lp-process .lp-lead{color:rgba(250,249,246,.78)}
.lp-steps{
  margin:clamp(26px,3.2vw,40px) 0 0;padding:0;list-style:none;counter-reset:s;
  display:grid;gap:clamp(18px,2.4vw,30px);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
}
.lp-steps li{counter-increment:s;position:relative;padding-top:18px}
.lp-steps li::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--spectrum)}
.lp-steps h3{color:var(--cream);margin-bottom:.45em}
.lp-steps p{color:rgba(250,249,246,.78)}
/* Each step lifts in turn, 1 -> 2 -> 3 -> 1, so the eye is walked through the
   sequence rather than left to pick a starting point. Opacity only, so it
   stays on the compositor. */
.lp-steps li{position:relative;padding:18px 18px 0;isolation:isolate}
.lp-steps li::after{
  content:"";position:absolute;inset:-2px -8px -10px;z-index:-1;border-radius:2px;
  background:rgba(203,220,192,.10);
  opacity:0;animation:stepLift 10.5s ease-in-out infinite;
}
.lp-steps li:nth-child(2)::after{animation-delay:3.5s}
.lp-steps li:nth-child(3)::after{animation-delay:7s}
@keyframes stepLift{
  0%,3%   {opacity:0}
  8%,28%  {opacity:1}
  33%,100%{opacity:0}
}
.lp-steps li::before{transition:opacity .5s ease}
@media (prefers-reduced-motion:reduce){
  .lp-steps li::after{animation:none;opacity:0}
}
.lp-mid-cta{margin-top:clamp(26px,3vw,38px)}

/* ── trust pillars ───────────────────────────────────────────────────────── */
.lp-trust{background:var(--clay-mid);padding:var(--sec) 0}
.lp-trust h2{color:var(--green-deep);max-width:24ch}
.lp-pillars{margin-top:clamp(24px,3vw,38px);display:grid;gap:clamp(18px,2.4vw,30px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.lp-pillar{background:var(--cream);border-radius:2px;padding:clamp(20px,2.4vw,28px)}
.lp-pillar h3{color:var(--green-deep);margin-bottom:.5em}
.lp-pillar p{color:var(--ink-soft);font-size:.98rem}

/* ── About Me ────────────────────────────────────────────────────────────
   A face to put to the method, between the pillars and the questions. */
.lp-about{background:var(--cream-warm);padding:var(--sec) 0}
.lp-about-in{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);
  gap:clamp(26px,3.6vw,56px);align-items:start}
.lp-about-portrait .shot{aspect-ratio:4/5;border-radius:2px 2px 0 0;
  box-shadow:0 24px 48px -32px rgba(78,68,55,.6)}
.lp-about-portrait .bio-cap{
  margin:0;padding:14px 18px 16px;background:var(--sage-tint);border-radius:0 0 2px 2px;
  text-align:center;
}
.lp-about-portrait .card-kind{
  font-family:var(--f-head);font-size:.82rem;font-weight:600;color:var(--sage-deep);
}
.lp-about-copy h2{color:var(--green-deep);margin-bottom:.6em}
.lp-about-copy p{color:var(--ink-soft);max-width:62ch}
@media (max-width:820px){
  .lp-about-in{grid-template-columns:1fr}
  .lp-about-portrait{max-width:320px}
}

/* the closing argument, sitting inside the form column above the steps */
.lp-closing-word{margin:clamp(20px,2.4vw,30px) 0 clamp(24px,3vw,36px)}
.lp-closing-word h3{color:var(--plum);margin-bottom:.55em}
.lp-closing-word p{color:var(--ink-soft)}

/* ── the two assurances, directly under the form ─────────────────────────── */
.lp-assur{
  margin-top:clamp(34px,4vw,56px);padding-top:clamp(24px,3vw,34px);position:relative;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(22px,3vw,44px);
}
.lp-assur::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--spectrum);
}
.lp-assur-col h3{color:var(--green-deep);margin-bottom:.5em;font-size:clamp(1.05rem,.98rem + .3vw,1.2rem)}
.lp-assur-col p{color:var(--ink-soft);font-size:.96rem;margin:0 0 .4em}

/* ── FAQ ledger: the same object the main site's FAQ page uses ───────────── */
.lp-faq{background:var(--cream);padding:var(--sec) 0}
.lp-faq h2{color:var(--plum)}
.faq-list{margin-top:clamp(22px,2.8vw,34px)}
.faq-row{border-top:1px solid rgba(139,123,106,.4);position:relative}
.faq-row:last-child{border-bottom:1px solid rgba(139,123,106,.4)}
.faq-row::after{
  content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--spectrum);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none;
}
.faq-row.open::after{transform:scaleX(1)}
.faq-q{
  width:100%;display:flex;align-items:flex-start;gap:18px;background:none;border:0;cursor:pointer;text-align:left;
  padding:clamp(18px,2.2vw,26px) 0;
  font-family:var(--f-head);font-weight:700;letter-spacing:-.022em;line-height:1.22;
  font-size:clamp(1.14rem,1.03rem + .45vw,1.34rem);color:var(--green-deep);transition:color .3s;
}
.faq-q:hover{color:var(--plum)}
.faq-mark{position:relative;flex:0 0 auto;width:18px;height:18px;margin-top:.28em;
  transition:transform .45s cubic-bezier(.22,1,.36,1)}
.faq-mark::before,.faq-mark::after{content:"";position:absolute;background:var(--orchid)}
.faq-mark::before{left:0;right:0;top:8px;height:2px}
.faq-mark::after{top:0;bottom:0;left:8px;width:2px;transition:opacity .3s}
.faq-row.open .faq-mark{transform:rotate(90deg)}
.faq-row.open .faq-mark::after{opacity:0}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1)}
.faq-row.open .faq-a{grid-template-rows:1fr}
.faq-a-in{overflow:hidden}
.faq-a-in > div{padding:0 0 clamp(20px,2.4vw,28px);max-width:68ch;color:var(--ink-soft);line-height:1.8}
@media (prefers-reduced-motion:reduce){.faq-row::after,.faq-mark,.faq-a{transition:none}}

/* ── closing + form ──────────────────────────────────────────────────────── */
.lp-close{
  background:linear-gradient(to bottom,var(--orchid-tint) 0%,var(--orchid-tint) 46%,var(--sage-tint) 100%);
  padding:var(--sec) 0;
}
.lp-close-plate{
  background:var(--cream);border-radius:2px;text-align:center;
  padding:clamp(28px,3.4vw,44px);box-shadow:0 30px 64px -40px rgba(45,42,38,.55);
  width:min(100% - (var(--gut)*2),760px);
}
.lp-close-plate h2{color:var(--plum);max-width:20ch;margin-inline:auto}
.lp-close-plate p{color:var(--ink-soft);max-width:58ch;margin-inline:auto}

.lp-form-grid{
  margin-top:clamp(30px,3.6vw,48px);
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(26px,4vw,54px);align-items:start;
}
.lp-form-side h2{color:var(--green-deep)}
.lp-next{margin:1.2em 0 0;padding:0;list-style:none;counter-reset:n;display:grid;gap:.9em}
.lp-next li{position:relative;padding-left:34px;color:var(--ink-soft)}
.lp-next li::before{
  counter-increment:n;content:counter(n);position:absolute;left:0;top:.1em;
  width:24px;height:24px;border-radius:2px;background:var(--sage-deep);color:var(--cream);
  font-family:var(--f-head);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.lp-next b{font-family:var(--f-head);color:var(--ink)}
.lp-form-tel{margin-top:1.2em;font-family:var(--f-head);font-weight:670}
.lp-form-tel a{color:var(--orchid-deep);text-decoration:none;border-bottom:2px solid rgba(160,104,158,.4)}
.lp-form-card{background:var(--cream);border-radius:2px;padding:clamp(22px,2.8vw,34px);
  box-shadow:0 26px 54px -38px rgba(45,42,38,.5)}
.lp-form-card h3{color:var(--green-deep);margin-bottom:.7em}
.lp-form-detail{margin-top:1em;font-size:.9rem;color:var(--taupe-deep)}
.form-missing{background:var(--taupe-tint);color:var(--clay-deep);padding:16px 18px;border-radius:2px;
  font-family:var(--f-head);font-size:.95rem}

/* ── footer ──────────────────────────────────────────────────────────────── */
.lp-ftr{background:var(--plum);color:var(--cream);padding:40px 0 28px}
.lp-ftr-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}
.lp-ftr .mark b{color:var(--cream)}
.lp-ftr .mark span{color:#E6CFE4}
.lp-ftr-reach{margin:0;margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 22px}
.lp-ftr-reach a{color:var(--cream);text-decoration:none;border-bottom:2px solid rgba(230,207,228,.5);font-family:var(--f-head);font-weight:650}
.lp-fees{width:100%;margin-top:20px;padding-top:16px;position:relative;
  font-size:.85rem;color:rgba(250,249,246,.78)}
.lp-fees::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--spectrum)}
.lp-fees p{margin:0 0 .35em}
.lp-ftr-legal{width:100%;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}
.lp-ftr-legal a{color:rgba(250,249,246,.84);text-decoration:none;font-size:.85rem;border-bottom:1px solid transparent}
.lp-ftr-legal a:hover{border-bottom-color:var(--orchid)}
.lp-ftr-legal small{margin-left:auto;font-size:.85rem;color:rgba(250,249,246,.6)}

/* ══════════════════ RESPONSIVE ══════════════════
   The condition also catches a phone in LANDSCAPE — 926px wide, which clears
   every max-width:768px gate on its own and would otherwise render the desktop
   layout inside a 428px-tall window. */
@media (max-width:900px){
  .lp-split{grid-template-columns:1fr;min-height:0}
  .lp-split--rev .lp-col:first-child,.lp-split--rev .lp-col--img{order:0}
  .lp-col--img{min-height:clamp(220px,52vw,320px)}
  .lp-form-grid{grid-template-columns:1fr}
}

@media (max-width:768px),
       (hover:none) and (pointer:coarse) and (max-height:500px){
  .lp-nav{display:none}
  .lp-hdr-in{gap:12px}
  .mark{margin-right:auto}
  .lp-tel{font-size:.9rem}
  .lp-hero{min-height:0;display:block;padding:0 0 var(--sec);background:var(--cream)}
  .lp-hero .shot{position:relative;inset:auto;height:auto;aspect-ratio:5/4}
  .lp-hero-grid{width:auto;margin:0}
  .lp-plate{width:auto;margin:-56px var(--gut) 0;padding:10px}
  .lp-plate::before{clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),0 100%)}
  .lp-plate-in{padding:24px 20px 40px}
  .lp-plate-in::before{clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),0 100%)}
  .lp-band-in{flex-direction:column;align-items:flex-start}
  .lp-ftr-reach{margin-left:0}
  .lp-ftr-legal small{margin-left:0;width:100%}
}

@media (max-width:480px){
  .mark b{font-size:1.08rem}
  .lp-badges-in{gap:8px 16px}
}

/* Touch devices — accessible minimum type. Duplicated from client.css BY
   DESIGN: this page loads no client.css, so the floors have to live here too.
   Any change to one must be made in the other. Never a `display` in this block. */
@media (hover:none) and (pointer:coarse){
  .lp-eyebrow,.lp-badge,.lp-form-detail,.lp-fees,.lp-ftr-legal a,.lp-ftr-legal small,
  .mark span,.lp-bens span,.lp-pillar p{font-size:.9rem}
  /* Bare <button> inherits the UA default of 13.33px and fails the 14px floor
     even though no stylesheet ever set a size. */
  button,
  input[type="submit"],
  input[type="button"]{font-size:14px}
  /* Name-agnostic button floor — no !important, so a deliberately larger
     variant keeps winning. */
  .btn,a.btn,button.btn{font-size:14px;min-height:44px;box-sizing:border-box}
  .lp-nav a,.lp-secondary{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
  .lp-tel{min-height:44px;display:inline-flex;align-items:center}
  a[href^="tel:"],a[href^="mailto:"]{min-height:44px;padding:10px 0;display:inline-block;box-sizing:border-box}
  .mark{padding:7px 0;min-height:44px;align-items:center}
  .faq-q{padding-top:16px;padding-bottom:16px}
  .lp-ftr-legal a{padding:11px 0;display:inline-block}
  /* WPForms — beat its 604-rule modern theme cascade */
  .wpforms-container .wpforms-field-label,
  .wpforms-container .wpforms-field-label.wpforms-field-label{font-size:14px!important;line-height:1.4!important}
  .wpforms-form .wpforms-submit,
  button[type="submit"].wpforms-submit{
    min-height:44px!important;height:auto!important;
    padding-top:12px!important;padding-bottom:12px!important;box-sizing:border-box!important;
  }
}
