/* ==========================================================================
   Landing Page - New Template (August 2026), re-skinned to Moonrise Therapy
   Services' homepage (approved mockup A "Phases").
   Self-contained: client.css never loads on the LP. Tokens, buttons, the
   moon glyphs, the night hero + horizon, the pane of glass, the night-to-
   first-light band, the arc, the bio frame, the dusk + full moon and the
   cream form card are the homepage's own values.
   ========================================================================== */
.lp-mr{
  --ink:#1B1F3B;--ink-soft:#474A68;--navy:#09195C;--night:#0C1647;--lav:#BC95DD;--lav-deep:#7E64A6;--lav-soft:#E9E0F1;--lav-mist:#F3EFF4;
  --cream:#FBF8F1;--moonlight:#F4EEDD;--gold:#C9A75E;
  --serif:"Hedvig Letters Serif",Georgia,serif;--sans:"Karla",system-ui,sans-serif;--ital:"Crimson Pro",Georgia,serif;
  --wrap:1200px;--t-h2:clamp(1.9rem,3.2vw,2.75rem);--t-lead:clamp(1.12rem,1.5vw,1.3rem);--ease:cubic-bezier(.22,1,.36,1);
}
.lp-mr *,.lp-mr *::before,.lp-mr *::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.lp-mr{margin:0;padding-bottom:0;background:var(--lav-mist);color:var(--ink);font:400 1.08rem/1.72 var(--sans);overflow-x:hidden}
:where(.lp-mr) img{display:block;max-width:100%;height:auto}
:where(.lp-mr) a{color:inherit}
:where(.lp-mr) :is(h1,h2,h3,h4){font-family:var(--serif);font-weight:400;line-height:1.1;margin:0;text-wrap:balance;letter-spacing:-.01em;color:var(--ink)}
:where(.lp-mr) p{margin:0 0 1.1em;text-wrap:pretty}
.lp-mr :focus-visible{outline:2px solid var(--lav-deep);outline-offset:3px;border-radius:4px}
.lp-wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
.lp-narrow{max-width:900px}
.lp-center{text-align:center}
.lp-copy > :last-child{margin-bottom:0}
.lp-tag{font:600 .82rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--lav-deep);margin:0 0 14px}
.lp-sec{position:relative;padding:clamp(70px,8vw,110px) 0}
.lp-sec h2{font-size:var(--t-h2);margin:0 0 24px}
.lp-acts{margin:30px 0 0}
.lp-mist{background:var(--lav-mist)}
.lp-cream{background:var(--cream)}
.lp-lav{background:var(--lav-soft)}
/* the curved top every homepage band has */
.lp-cream::before,.lp-lav::before{content:"";position:absolute;left:0;right:0;top:-1px;height:60px;background:var(--lav-mist);clip-path:ellipse(70% 100% at 50% 0)}
.lp-lav + .lp-cream::before,.lp-lav + .lp-sec::before{background:var(--lav-soft)}
.lp-cream + .lp-mist::before{content:"";position:absolute;left:0;right:0;top:-1px;height:60px;background:var(--cream);clip-path:ellipse(70% 100% at 50% 0)}
.lp-cream,.lp-lav,.lp-cream + .lp-mist{padding-top:clamp(100px,11vw,140px)}

/* ---------- moon-phase glyphs (homepage .ph) ---------- */
.lp-mr .ph{display:inline-block;width:30px;height:30px;vertical-align:middle;flex:none}
.lp-mr .ph svg{width:100%;height:100%;overflow:visible;display:block}
.lp-mr .ph .dk{fill:var(--navy)}
.lp-mr .ph .lt{fill:var(--moonlight)}
.lp-mr .ph .rim{fill:none;stroke:var(--navy);stroke-width:1.2}
.lp-hero .ph .dk,.lp-nl .ph .dk,.lp-night .ph .dk{fill:#1D2A6E}
.lp-hero .ph .rim,.lp-nl .ph .rim,.lp-night .ph .rim{stroke:#46549A}
.lp-head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:26px}
.lp-head h2,.lp-head h3{margin:0}
.lp-mr h2 em,.lp-mr h3 em{font:italic 500 1.1em/1 var(--ital);color:var(--lav-deep);letter-spacing:0}

/* ---------- buttons: half-moon, the light waxes across on hover (homepage .btn) ---------- */
.lp-mr .btn{--b:var(--navy);--f:var(--cream);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:16px 30px 16px 26px;border-radius:8px 40px 40px 8px;
  background:linear-gradient(90deg,var(--lav) 0 50%,var(--b) 50% 100%) 100% 0/202% 100% no-repeat;color:var(--f);
  font:600 1rem/1.2 var(--sans);text-decoration:none;letter-spacing:.01em;text-align:center;transition:background-position .55s var(--ease),color .35s;border:0;cursor:pointer}
.lp-mr .btn:hover,.lp-mr .btn:focus-visible{background-position:0 0;color:var(--navy)}
.lp-mr .btn--lav{--b:var(--lav);--f:var(--navy);background-image:linear-gradient(90deg,var(--moonlight) 0 50%,var(--lav) 50% 100%)}
.lp-mr .btn--ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px rgba(244,238,221,.7);transition:background .35s,color .35s}
.lp-mr .btn--ghost:hover,.lp-mr .btn--ghost:focus-visible{background:var(--cream);color:var(--navy)}

/* ---------- header (homepage .hdr) ---------- */
.lp-hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--lav-mist) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid #E1D8EA;transition:box-shadow .3s}
.lp-hdr.stuck{box-shadow:0 10px 30px -22px rgba(9,25,92,.45)}
.lp-hdr-in{display:flex;align-items:center;gap:28px;min-height:88px}
.lp-logo img{height:54px;width:auto}
.lp-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.lp-nav a{display:block;padding:10px 13px;font:500 .98rem/1 var(--sans);text-decoration:none;color:var(--ink);border-radius:30px;white-space:nowrap;transition:background .25s}
.lp-nav a:hover{background:var(--lav-soft)}
.lp-hdr-cta{display:flex;align-items:center;gap:16px}
.lp-tel{font:600 1rem/1 var(--sans);text-decoration:none;color:var(--navy);white-space:nowrap}
.lp-hdr .btn{padding:13px 22px 13px 20px;font-size:.95rem}

/* ---------- hero: the homepage night, the photo in a rising-moon window ---------- */
.lp-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(70% 90% at 78% 40%,#1B2A78 0%,var(--night) 62%);color:var(--cream);padding:clamp(60px,7vw,100px) 0 clamp(140px,15vw,210px)}
.lp-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.lp-hero-copy > .ph{width:34px;height:34px;margin-bottom:22px}
.lp-hero h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.04;color:var(--cream)}
.lp-hero-sub{margin:26px 0 14px;font:italic 400 var(--t-lead)/1.55 var(--sans);color:var(--lav-soft);max-width:36ch}
/* the subheadline on one line where it fits (Marco 2026-10-04) */
@media (min-width:1025px){.lp-hero-sub{max-width:none;white-space:nowrap;font-size:clamp(1rem,1.45vw,1.3rem)}}
.lp-hero-loc{font-size:1rem;color:#B9B7D3;margin:0}
.lp-hero-acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.lp-badges{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:34px 0 0;padding:0}
.lp-badges li{display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;color:#DCDAEC}
.lp-badges .ph{width:20px;height:20px}
.lp-moonwin{position:relative;justify-self:center;width:min(100%,460px);aspect-ratio:1;animation:lpRise 2.4s var(--ease) both}
@keyframes lpRise{from{transform:translateY(8%);opacity:0}to{transform:none;opacity:1}}
.lp-halo{position:absolute;inset:-7%;border-radius:50%;background:radial-gradient(closest-side,rgba(244,238,221,.28),rgba(188,149,221,.14) 70%,transparent);animation:lpGlow 5s ease-in-out infinite}
@keyframes lpGlow{50%{transform:scale(1.04);opacity:.75}}
.lp-moonwin-in{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1.5px rgba(244,238,221,.55),0 0 0 14px rgba(244,238,221,.08),0 0 90px 10px rgba(188,149,221,.25)}
.lp-moonwin-in img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 45%)}
.lp-moonwin-in::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 30%,transparent 55%,rgba(12,22,71,.35))}
.lp-star{position:absolute;width:12px;height:12px;background:var(--moonlight);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:.85;animation:lpTwinkle 3.6s ease-in-out infinite}
.lp-star--a{left:-4%;top:12%}.lp-star--b{right:2%;top:-2%;width:9px;height:9px;animation-delay:1.2s}.lp-star--c{right:-6%;bottom:22%;width:7px;height:7px;animation-delay:2.1s}
@keyframes lpTwinkle{50%{opacity:.3;transform:scale(.7)}}
.lp-horizon{position:absolute;left:0;right:0;bottom:-1px;height:clamp(70px,9vw,130px);z-index:1;pointer-events:none}
.lp-horizon svg{display:block;width:100%;height:100%}
.lp-horizon path{fill:var(--lav-mist)}

/* ---------- the photo with the frosted pane of glass over its edge (homepage v1 / v3) ---------- */
.lp-problem{padding-top:clamp(30px,4vw,56px)}
.lp-pane{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}
.lp-pane-photo{grid-column:1/8;grid-row:1;align-self:stretch;position:relative;min-height:clamp(320px,34vw,470px);border-radius:22px;overflow:hidden}
.lp-pane-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-glass{grid-column:7/13;grid-row:1;position:relative;z-index:1;margin:40px 0;padding:clamp(30px,3.6vw,52px);border-radius:22px;
  background:rgba(251,248,241,.74);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 30px 60px -36px rgba(9,25,92,.45)}
.lp-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.55) 0 18%,rgba(255,255,255,0) 18.2% 60%,rgba(255,255,255,.25) 60.2% 63%,rgba(255,255,255,0) 63.2%)}
.lp-glass > *{position:relative}
.lp-pane--rev .lp-pane-photo{grid-column:6/13}
.lp-pane--rev .lp-glass{grid-column:1/7}
.lp-skill{font:400 clamp(1.3rem,2vw,1.6rem)/1.35 var(--serif);color:#4B3A7E;margin:1.2em 0 0}

/* ---------- part 2: night to first light, the moon rising as you read ---------- */
.lp-nl{position:relative;overflow:hidden;padding:clamp(110px,12vw,160px) 0 clamp(90px,10vw,130px);color:#E3E3F3;
  background:linear-gradient(180deg,var(--lav-mist) 0,var(--night) 70px,var(--night) 45%,#3D3F93 70%,#8C7FC6 86%,var(--lav-soft) 100%)}
.lp-nl + .lp-lav::before{display:none}
.lp-nl + .lp-lav{padding-top:clamp(40px,5vw,70px)}
.lp-nl::before{content:"";position:absolute;left:0;right:0;top:-1px;height:70px;background:var(--lav-mist);clip-path:ellipse(70% 100% at 50% 0)}
.lp-risemoon{position:absolute;right:max(24px,calc((100vw - var(--wrap))/2));top:18%;width:clamp(110px,13vw,190px);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 40% 36%,#FFFBEE,var(--moonlight) 55%,#DCCFB0);box-shadow:0 0 80px 20px rgba(244,238,221,.25);
  transform:translateY(var(--y,380px)) scale(var(--s,.8));opacity:var(--o,.7);transition:transform .7s var(--ease),opacity .7s ease;animation:lpMoonGlow 5s ease-in-out infinite}
@keyframes lpMoonGlow{50%{box-shadow:0 0 110px 34px rgba(244,238,221,.38),0 0 220px 60px rgba(188,149,221,.2)}}
.lp-nl-col{position:relative;max-width:720px}
.lp-nl h2{font-size:var(--t-h2);color:var(--cream)}
.lp-nl p{color:#E3E3F3}
.lp-nl .lp-copy p:last-child{color:var(--cream);font-size:var(--t-lead);margin-top:1.4em}
.lp-nl .lp-skill{color:var(--lav)}

/* ---------- what changes: the night band, each change a moon phase ---------- */
.lp-night{position:relative;overflow:hidden;background:var(--night);color:#E3E3F3;padding:clamp(80px,9vw,120px) 0 clamp(150px,15vw,210px)}
.lp-solution + .lp-night::before{content:"";position:absolute;left:0;right:0;top:-1px;height:70px;background:var(--lav-soft);clip-path:ellipse(70% 100% at 50% 0)}
.lp-night .lp-center > .ph{width:38px;height:38px;margin-bottom:20px}
.lp-night h2{font-size:clamp(2.1rem,3.8vw,3.1rem);color:var(--cream);margin:0 auto 18px;max-width:24ch}
.lp-night-intro{max-width:60ch;margin:0 auto;font-size:var(--t-lead);color:#DCDAEC}
.lp-phases{list-style:none;margin:46px auto 0;padding:0;max-width:760px;display:grid;gap:14px}
.lp-phases li{display:flex;align-items:center;gap:18px;padding:18px 24px;border-radius:8px 40px 40px 8px;background:rgba(244,238,221,.06);box-shadow:inset 0 0 0 1px rgba(188,149,221,.28);font-size:1.12rem;color:var(--cream)}
.lp-phases .ph{width:32px;height:32px;filter:drop-shadow(0 0 6px rgba(201,167,94,.35))}
.lp-benefit-body{display:block;color:#DCDAEC;font-size:.98rem}
.lp-night-close{text-align:center;margin:44px auto 0;max-width:40ch;font:400 clamp(1.35rem,2.2vw,1.75rem)/1.35 var(--serif);color:var(--lav)}
.lp-night .lp-horizon path{fill:var(--cream)}

/* ---------- process: the three shifts on the moon's dotted arc ---------- */
.lp-process{padding-top:clamp(50px,6vw,80px)}
.lp-process::before{display:none}
.lp-sec-head{max-width:780px;margin:0 auto clamp(30px,4vw,50px)}
.lp-arc{position:relative;padding-top:90px}
.lp-arc-line{position:absolute;left:-2%;right:-2%;top:0;width:104%;height:260px;overflow:visible;pointer-events:none}
.lp-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px);align-items:start}
.lp-step{background:#fff;border-radius:22px;padding:clamp(26px,3vw,38px);box-shadow:0 30px 60px -40px rgba(9,25,92,.45)}
.lp-step:nth-child(2){margin-top:-60px}
.lp-step-n{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.lp-step-n .ph{width:40px;height:40px;filter:drop-shadow(0 0 8px rgba(201,167,94,.4))}
.lp-step-n b{font:400 1rem/1 var(--sans);letter-spacing:.14em;color:var(--lav-deep)}
.lp-step h3{font-size:clamp(1.45rem,2vw,1.75rem);margin:0 0 14px}
.lp-step p{color:var(--ink-soft)}
.lp-step p:last-child{margin:0;padding-top:16px;border-top:1px solid var(--lav-soft)}
.lp-step strong{color:var(--navy);font-weight:700}

/* ---------- trust + the homepage bio ---------- */
.lp-trust-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);margin-top:clamp(30px,4vw,48px)}
.lp-trust-item{background:var(--cream);border-radius:22px;padding:clamp(26px,3vw,36px);box-shadow:0 22px 44px -34px rgba(9,25,92,.4)}
.lp-trust-item .ph{margin-bottom:18px}
.lp-trust-item h3{font-size:clamp(1.35rem,1.9vw,1.6rem);margin:0 0 12px}
.lp-trust-item p{color:var(--ink-soft);margin:0}
.lp-bio{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);align-items:start;margin-top:clamp(70px,8vw,110px)}
.lp-frame{position:relative;width:min(100%,340px);margin-inline:auto;isolation:isolate}
.lp-frame::before{content:"";position:absolute;inset:-18px 26px 26px -18px;background:var(--lav-soft);border-radius:26px;z-index:-1}
.lp-frame::after{content:"";position:absolute;right:-22px;bottom:-22px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFF8E4,var(--moonlight) 55%,#E6DABB);box-shadow:0 0 0 10px rgba(244,238,221,.45)}
.lp-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;position:relative;z-index:1}
.lp-bio-cap{margin:46px 0 0;text-align:center;font:400 clamp(1.15rem,1.5vw,1.3rem)/1.3 var(--serif);color:var(--navy)}
.lp-bio-txt h3{font-size:clamp(2.3rem,4vw,3.4rem)}
.lp-bio-txt .lp-copy p:first-child{font-size:var(--t-lead)}

/* ---------- testimonials ---------- */
.lp-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:36px}
.lp-testi{margin:0;background:var(--cream);border-radius:22px;padding:30px}
.lp-testi blockquote{margin:0;font:italic 500 1.3rem/1.5 var(--ital);color:var(--ink-soft)}
.lp-testi figcaption{margin-top:14px;font-weight:600;font-size:.9rem;color:var(--navy)}

/* ---------- FAQ: each question's moon waxes full as it opens ---------- */
.lp-faq-list{margin-top:clamp(28px,4vw,44px)}
.lp-faq-item{margin-bottom:14px;background:var(--lav-mist);border-radius:18px;transition:background .35s,box-shadow .45s}
.lp-faq-item.is-open{background:#fff;box-shadow:0 26px 50px -34px rgba(9,25,92,.45)}
.lp-faq-item h3{margin:0;font-size:inherit}
.lp-faq-q{all:unset;box-sizing:border-box;display:grid;grid-template-columns:30px 1fr 16px;gap:18px;align-items:center;width:100%;padding:22px 26px;cursor:pointer;font:400 clamp(1.2rem,1.9vw,1.42rem)/1.3 var(--serif);color:var(--navy)}
.lp-faq-q:hover .lp-faq-qt{color:var(--lav-deep)}
.lp-faq-q:focus-visible{outline:2px solid var(--lav-deep);outline-offset:3px;border-radius:18px}
.lp-faq-q[aria-expanded="true"] .lp-faq-moon{filter:drop-shadow(0 0 7px rgba(201,167,94,.6))}
.lp-faq-chev{width:9px;height:9px;border-right:1.6px solid var(--lav-deep);border-bottom:1.6px solid var(--lav-deep);transform:rotate(45deg) translate(-3px,-3px);transition:transform .45s var(--ease);justify-self:end}
.lp-faq-q[aria-expanded="true"] .lp-faq-chev{transform:rotate(225deg) translate(-3px,-3px)}
.lp-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.lp-faq-item.is-open .lp-faq-a{grid-template-rows:1fr}
.lp-faq-a-in{min-height:0;overflow:hidden}
.lp-faq-a-body{padding:0 32px 26px 74px;color:var(--ink-soft);font-size:1.08rem;line-height:1.8;opacity:0;transform:translateY(10px);transition:opacity .5s .1s,transform .6s .1s var(--ease)}
.lp-faq-item.is-open .lp-faq-a-body{opacity:1;transform:none}
.lp-faq-a-body p:last-child{margin-bottom:0}

/* ---------- CTA band 2: the dusk, the full moon rising ---------- */
.lp-dusk{position:relative;overflow:hidden;isolation:isolate;color:#E6E3F2;padding:clamp(200px,20vw,260px) 0 clamp(90px,10vw,130px)}
.lp-dusk::before{content:"";position:absolute;left:0;right:0;top:-1px;height:80px;background:var(--cream);clip-path:ellipse(70% 100% at 50% 0);z-index:1}
.lp-dusk-img{position:absolute;inset:0;z-index:-2}
.lp-dusk-img img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.lp-dusk-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--night) 0,rgba(12,22,71,.55) 30%,rgba(12,22,71,.35) 58%,rgba(7,15,56,.9) 100%)}
.lp-fullmoon{position:absolute;left:50%;top:clamp(80px,9vw,110px);width:clamp(90px,10vw,130px);aspect-ratio:1;margin-left:clamp(-65px,-5vw,-45px);border-radius:50%;z-index:-1;
  background:radial-gradient(42% 38% at 60% 38%,rgba(196,186,160,.38),transparent 70%),radial-gradient(30% 26% at 34% 64%,rgba(196,186,160,.3),transparent 72%),radial-gradient(circle at 42% 38%,#FFFCF2 0,var(--moonlight) 55%,#E2D6BA 100%);
  box-shadow:0 0 50px 8px rgba(244,238,221,.26),0 0 170px 50px rgba(188,149,221,.16);animation:lpMoonGlow 5s ease-in-out infinite;
  transform:translateY(var(--fy,160px)) scale(var(--fs,.8));opacity:var(--fo,.55);transition:transform .7s var(--ease),opacity .7s ease}
.lp-dusk .lp-horizon path{fill:var(--lav-mist)}
.lp-dusk{padding-bottom:clamp(150px,15vw,210px)}
.lp-dusk h2{font-size:clamp(2.3rem,4.4vw,3.8rem);color:var(--cream);max-width:22ch;margin:0 auto}
.lp-kicker{display:inline-block;font:600 .82rem/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--lav)!important;padding:10px 16px;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(188,149,221,.55);margin:0 0 22px!important}

/* ---------- form band: copy on the mist, the homepage's cream form card ---------- */
.lp-final-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.lp-final h2{font-size:clamp(2.3rem,4.2vw,3.4rem)}
.lp-final-copy .lp-copy p{color:var(--ink-soft)}
.lp-final-copy .lp-copy p em{font:italic 500 1.4em/1.35 var(--ital);color:var(--lav-deep)}
.lp-next{margin-top:30px;padding-top:26px;border-top:1px solid #D9D0E4}
.lp-next h3{font-size:1.6rem;margin:0 0 16px}
.lp-next-list{margin:0;padding:0;list-style:none;counter-reset:n;display:grid;gap:12px}
.lp-next-list li{counter-increment:n;display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;color:var(--ink-soft)}
.lp-next-list li > span{padding-top:2px}
.lp-next-list li::before{content:counter(n);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--moonlight);font:400 .95rem/1 var(--serif)}
.lp-next-list a{color:var(--lav-deep);text-decoration-color:var(--lav);text-underline-offset:3px}
.lp-next-list strong{color:var(--navy)}
.lp-assurances{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.lp-assurance h4{font:600 .95rem/1.3 var(--sans);color:var(--navy);margin:0 0 6px}
.lp-assurance p{font-size:.92rem;color:var(--ink-soft);margin:0}
.lp-form-card{position:sticky;top:110px;background:var(--cream);padding:clamp(28px,4vw,50px);border-radius:26px;box-shadow:0 40px 80px -50px rgba(9,25,92,.55)}
.lp-form-card h3{font-size:1.6rem;margin:0 0 18px}
.lp-form-note{color:#9A3B4A}

/* WPForms = the mockup's form fields + half-moon button */
.lp-mr .form-wp .wpforms-container{margin:0!important;max-width:none!important}
.lp-mr .form-wp .wpforms-container form.wpforms-form{display:block!important;background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
.lp-mr .form-wp .wpforms-container .wpforms-field-container{display:grid!important;grid-template-columns:1fr 1fr;gap:0 14px}
.lp-mr .form-wp .wpforms-container .wpforms-field-container>.wpforms-field{padding:0!important;margin:0 0 16px!important;grid-column:1/-1;max-width:none!important;width:auto!important}
.lp-mr .form-wp .wpforms-container .wpforms-field-container>.wpforms-field.tpa-half{grid-column:auto}
.lp-mr .form-wp .wpforms-container .wpforms-form .wpforms-field-label{opacity:1!important;display:block!important;font:600 .92rem/1.3 var(--sans)!important;color:var(--ink)!important;margin:0 0 7px!important;text-transform:none!important;letter-spacing:normal!important}
.lp-mr .form-wp .wpforms-container .wpforms-form .wpforms-required-label{display:none!important}
.lp-mr .form-wp .wpforms-container .wpforms-form input[type=text],.lp-mr .form-wp .wpforms-container .wpforms-form input[type=email],.lp-mr .form-wp .wpforms-container .wpforms-form input[type=tel],.lp-mr .form-wp .wpforms-container .wpforms-form textarea{
  display:block!important;width:100%!important;max-width:none!important;height:auto!important;font:400 1rem/1.4 var(--sans)!important;color:var(--ink)!important;background:#fff!important;border:1.5px solid #D9D0E4!important;border-radius:12px!important;padding:14px 16px!important;box-shadow:none!important}
.lp-mr .form-wp .wpforms-container .wpforms-form input:focus,.lp-mr .form-wp .wpforms-container .wpforms-form textarea:focus{outline:0!important;border-color:var(--lav-deep)!important}
.lp-mr .form-wp .wpforms-container .wpforms-form textarea{min-height:120px!important;resize:vertical}
.lp-mr .form-wp .wpforms-container .wpforms-form .wpforms-submit-container{display:block!important;padding:0!important;margin:8px 0 0!important}
.lp-mr .form-wp .wpforms-container .wpforms-form button.wpforms-submit{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:auto!important;margin:0!important;
  padding:16px 30px 16px 26px!important;border-radius:8px 40px 40px 8px!important;border:0!important;box-shadow:none!important;outline:0!important;
  background:linear-gradient(90deg,var(--lav) 0 50%,var(--navy) 50% 100%) 100% 0/202% 100% no-repeat!important;color:var(--cream)!important;
  font:600 1rem/1.2 var(--sans)!important;letter-spacing:.01em!important;text-transform:none!important;cursor:pointer;transition:background-position .55s var(--ease),color .35s!important}
.lp-mr .form-wp .wpforms-container .wpforms-form button.wpforms-submit:hover{background-position:0 0!important;color:var(--navy)!important}
.lp-mr .form-wp .wpforms-container .wpforms-form button.wpforms-submit::after{display:none!important}
.lp-mr .form-wp .wpforms-error,.lp-mr .form-wp em.wpforms-error{font-size:.9rem!important;color:#9A3B4A!important}

/* ---------- footer (homepage .ftr) ---------- */
.lp-ftr{background:#070F38;color:#B7B5D2;padding:46px 0 40px;font-size:.92rem}
.lp-ftr .lp-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px}
.lp-ftr-logo img{height:50px;width:auto}
.lp-pt{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:40px;box-shadow:inset 0 0 0 1px #2E3A78;text-decoration:none;color:#DCDAEC;font-weight:500}
.lp-pt svg{width:22px;height:22px}
.lp-legal{display:flex;gap:22px;flex-wrap:wrap}
.lp-legal a{text-decoration:none}
.lp-legal a:hover{color:var(--cream)}
.lp-copyline{width:100%;padding-top:24px;border-top:1px solid #1C2660;text-align:center;font-size:.86rem;margin:0}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .lp-nav a{padding:10px 8px;font-size:.92rem}
  .lp-hdr .lp-hdr-btn{display:none}
}
@media (max-width:1024px){
  .lp-tel{display:none}
  .lp-pane-photo{grid-column:1/9}
  .lp-glass{grid-column:6/13}
  .lp-pane--rev .lp-pane-photo{grid-column:5/13}
  .lp-pane--rev .lp-glass{grid-column:1/8}
  .lp-trust-items{grid-template-columns:minmax(0,1fr)}
  .lp-step:nth-child(2){margin-top:0}
  .lp-arc{padding-top:0}
  .lp-arc-line{display:none}
}
@media (max-width:900px){
  .lp-steps{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  /* LP phone nav: 2x2 pill grid + phone written out (the fleet default) */
  .lp-hdr{position:relative}
  .lp-hdr-in{flex-wrap:wrap;gap:.6rem .8rem;padding-block:.75rem .85rem;min-height:0}
  .lp-logo img{height:44px}
  .lp-hdr-cta{margin-left:auto}
  .lp-tel{display:inline;font-size:.95rem}
  .lp-hdr .lp-hdr-btn{display:none!important}
  .lp-nav{order:3;flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem;margin:0;padding:0}
  .lp-nav a{display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;padding:.55rem .4rem;font-size:.9rem;min-height:44px;font-weight:600;color:var(--navy);
    border-radius:8px 30px 30px 8px;background:var(--cream);box-shadow:inset 0 0 0 1.5px var(--lav)}
}
@media (max-width:768px){
  .lp-hero{padding:40px 0 130px}
  .lp-hero-grid,.lp-bio,.lp-final-grid{grid-template-columns:minmax(0,1fr)}
  .lp-moonwin{width:min(76%,320px);order:-1}
  .lp-pane{display:flex;flex-direction:column}
  .lp-pane-photo{min-height:0;aspect-ratio:4/3.2;order:-1}
  .lp-glass{margin:-70px 14px 0;padding:28px 24px}
  .lp-risemoon{opacity:.35}
  .lp-assurances{grid-template-columns:1fr}
  .lp-form-card{position:static}
  .lp-frame{width:min(78%,300px)}
  .lp-mr .form-wp .wpforms-container .wpforms-field-container{grid-template-columns:1fr}
  .lp-mr .form-wp .wpforms-container .wpforms-field-container>.wpforms-field.tpa-half{grid-column:1/-1}
  .lp-faq-q{grid-template-columns:26px 1fr 14px;gap:14px;padding:20px 18px}
  .lp-faq-moon{width:26px!important;height:26px!important}
  .lp-faq-a-body{padding:0 20px 24px 20px}
  .lp-ftr .lp-wrap{flex-direction:column;text-align:center}
  .lp-legal{justify-content:center}
}
@media (max-width:480px){
  .lp-wrap{width:calc(100% - 36px)}
  .lp-hero h1{font-size:2.4rem}
  .lp-glass{margin-inline:6px;padding:26px 20px}
  .lp-nav a{padding-inline:.25rem}
  .lp-mr .btn{padding:15px 22px 15px 20px}
}
@media (max-width:430px){
  .lp-tel{font-size:.9rem}
}
@media (hover:none) and (pointer:coarse){
  .lp-mr .form-wp .wpforms-container .wpforms-form .wpforms-field-label,.lp-assurance p,.lp-ftr,.lp-copyline,.lp-pt,.lp-tag,.lp-kicker,.lp-badges li{font-size:.9rem!important}
}
