/* Landing pages for paid traffic. Mobile first: the form is the first thing under the
   headline on a phone, large tap targets, 16px inputs so iOS does not zoom.
   Uses only the site's own tokens, so both themes work without extra rules. */
.lp-hero{padding-block:clamp(26px,4.5vw,60px) clamp(30px,5vw,64px);border-bottom:1px solid var(--line)}
.lp-hero__g{display:grid;gap:22px;grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "f" "l" "b"}
.lp-hero__h{grid-area:h}.lp-hero__f{grid-area:f}.lp-hero__l{grid-area:l}.lp-bullets{grid-area:b}
.lp-hero__h .crumb{margin-bottom:10px}
.lp-hero h1{font-family:var(--display);font-size:clamp(1.85rem,1.2rem + 3.4vw,3.5rem);line-height:1.04;letter-spacing:-.02em;margin:0;color:var(--ink)}
.lp-hero .lede{margin:0}
@media(min-width:920px){.lp-hero__g{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:48px;grid-template-areas:"h f" "l f" "b f";align-content:start;align-items:start}}
.lp-bullets{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.lp-bullets li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.98rem;color:var(--ink)}
.lp-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:16px 16px 14px;box-shadow:var(--shadow)}
@media(min-width:480px){.lp-card{padding:24px 24px}}
.lp-card__t{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.lp-form label{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 0 5px}
.lp-form label span{text-transform:none;letter-spacing:0;opacity:.8}
.lp-form input[type=text],.lp-form input[type=email],.lp-form textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:13px 14px;min-height:50px}
.lp-form textarea{min-height:52px;resize:vertical}
.lp-form input:focus,.lp-form textarea:focus{outline:2px solid var(--pink-deep);outline-offset:1px;border-color:var(--pink-deep)}
.lp-form label:first-child{margin-top:0}
.lp-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.lp-chip{font:inherit;font-size:.9rem;padding:10px 14px;min-height:44px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);cursor:pointer}
.lp-chip[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:#fff}
.lp-go{width:100%;margin-top:14px;min-height:54px;font-size:1.02rem;justify-content:center;text-align:center}
.lp-go[disabled]{opacity:.65;cursor:progress}
.lp-note{margin:12px 0 0;font-size:.86rem;color:var(--muted);text-align:center}
.lp-call{margin:6px 0 0;font-size:.92rem;text-align:center;color:var(--muted)}
.lp-call a{font-weight:600;padding:8px 4px;display:inline-block}
.lp-err{margin:12px 0 0;color:var(--loss);font-size:.92rem}
.lp-done{padding:6px 0}.lp-done__h{font-family:var(--display);font-size:1.5rem;margin:0 0 8px;color:var(--ink)}
.lp-done p{color:var(--muted)}
.lp-closed{margin:0 0 14px;color:var(--ink)}
.lp-trust{background:var(--surface-2);border-bottom:1px solid var(--line)}
.lp-trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0}
.lp-trust span{padding:14px 10px;font-size:.84rem;color:var(--ink);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:760px){.lp-trust .wrap{grid-template-columns:repeat(4,1fr)}.lp-trust span{border-bottom:0}}
.lp-sec{padding-block:clamp(44px,6vw,84px)}
.lp-h2{font-family:var(--display);font-size:clamp(1.5rem,1.1rem + 1.8vw,2.35rem);line-height:1.12;letter-spacing:-.015em;margin:18px 0 18px;color:var(--ink)}
.lp-table{border-top:1px solid var(--line-strong)}
.lp-row{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.lp-row__n b{display:block;font-weight:600;color:var(--ink)}.lp-row__n span{display:block;font-size:.9rem;color:var(--muted);margin-top:3px;max-width:52ch}
.lp-row__p{font-family:var(--display);font-size:1.15rem;color:var(--fig);white-space:nowrap;text-align:right}
.lp-fine{margin:16px 0 0;font-size:.88rem;color:var(--muted)}
.lp-grid{display:grid;gap:0;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line-strong)}
@media(min-width:700px){.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}}
@media(min-width:1000px){.lp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lp-item{padding:18px 0;border-bottom:1px solid var(--line)}
.lp-item h3{font-size:1.06rem;margin:6px 0;color:var(--ink)}.lp-item p{margin:0;font-size:.93rem;color:var(--muted);line-height:1.55}
.lp-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-ink)}
.lp-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line-strong)}
@media(min-width:760px){.lp-steps{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:26px}}
.lp-steps li{padding:18px 0;border-bottom:1px solid var(--line)}
.lp-n{font-family:var(--mono);font-size:.72rem;color:var(--pink-ink);letter-spacing:.1em}
.lp-steps h3{font-size:1.04rem;margin:8px 0 6px;color:var(--ink)}.lp-steps p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.55}
.lp-proof{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:760px){.lp-proof{grid-template-columns:repeat(3,minmax(0,1fr))}}
.lp-work img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:var(--r-sm);display:block;border:1px solid var(--line)}
.lp-work h3{margin:6px 0;font-size:1.04rem}.lp-work h3 a{text-decoration:none;color:var(--ink)}.lp-work p{margin:0;font-size:.9rem;color:var(--muted);line-height:1.5}
.lp-faq{border-top:1px solid var(--line-strong);max-width:820px}
.lp-faq details{border-bottom:1px solid var(--line)}
.lp-faq summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;font-weight:600;color:var(--ink);position:relative;min-height:44px}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-size:1.3rem;color:var(--pink-ink)}
.lp-faq details[open] summary::after{content:"\2212"}
.lp-faq details p{margin:0 0 18px;color:var(--muted);line-height:1.6;max-width:62ch}
.lp-last{background:var(--band);color:var(--on-band)}
.lp-last .lp-h2{color:var(--on-band)}.lp-last .lede{color:var(--on-band-muted)}
.lp-last__g{display:grid;gap:26px;grid-template-columns:minmax(0,1fr);align-items:center}
@media(min-width:920px){.lp-last__g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px}}

/* Phones: a landing page is one job. Drop the info bar and the page-tab strip so the form
   and its button are on the first screen. Desktop is untouched; the logo, menu and the
   sticky Call and quote bar stay. */
@media(max-width:760px){
  body:has(main.lp) .util,body:has(main.lp) .pagebar{display:none}
}

/* Dark form card. The form is the one thing on the page that asks for something, so it is
   the one dark block: deep plum with a pink edge, light text, high-contrast fields. It reads
   as distinct on the light page and against the purple closing band, in both themes. */
.lp-card{background:var(--plum-deep);color:#F4EAF2;border:1px solid rgba(255,126,212,.5);box-shadow:var(--shadow-lg)}
.lp-card__t{color:#D6C3DE}
.lp-form label{color:#D6C3DE}
.lp-form input[type=text],.lp-form input[type=email],.lp-form textarea{background:rgba(255,255,255,.08);color:#F4EAF2;border:1px solid rgba(255,255,255,.28)}
.lp-form input::placeholder,.lp-form textarea::placeholder{color:rgba(244,234,242,.55);opacity:1}
.lp-form input:focus,.lp-form textarea:focus{outline:2px solid var(--pink);border-color:var(--pink);background:rgba(255,255,255,.12)}
.lp-chip{background:rgba(255,255,255,.07);color:#F4EAF2;border:1px solid rgba(255,255,255,.3)}
.lp-chip:hover{border-color:var(--pink)}
.lp-chip[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:var(--plum-deep);font-weight:600}
.lp-note,.lp-call{color:#D6C3DE}
.lp-call a{color:var(--pink)}
.lp-err{color:#FF8095}
.lp-done__h,.lp-closed{color:#fff}
.lp-done p{color:#D6C3DE}
.lp-card .btn--ghost{color:#F4EAF2;border-color:rgba(255,255,255,.4);background:transparent}
.lp-card .btn--ghost:hover{background:#fff;border-color:#fff;color:var(--plum)}
.lp-banner{display:grid;gap:18px;align-items:center;padding:26px 24px;background:var(--plum);color:#fff;border-radius:var(--r-sm)}
.lp-banner__big{font-family:var(--display);font-size:clamp(2.4rem,1.6rem + 3vw,3.8rem);line-height:1;letter-spacing:-.02em;color:#fff}
.lp-banner__big small{display:block;margin-top:8px;font-family:var(--mono,inherit);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#f3c9e0}
.lp-banner h3{margin:0 0 8px;font-family:var(--display);font-size:1.35rem;line-height:1.2;color:#fff}
.lp-banner p{margin:0;font-size:1rem;line-height:1.55;color:#eadcf0}
@media(min-width:760px){.lp-banner{grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:36px;padding:34px 38px}}
