/*
 * Landing page - New Template (August 2026), re-skinned to John Crapo's
 * homepage (approved mockup B "The Annotated Page"). Same tokens, fonts,
 * sticker buttons, nav, ruled sheets, tape, index cards, polaroid, notepad
 * and note card as client.css.
 */
:root{
  --wine:#6B2D3A; --wine-deep:#56232F; --wine-ink:#431B24;
  --forest:#3D5C3F; --forest-deep:#2A412C;
  --copper:#C47A4A; --copper-deep:#A9623A;
  --navy:#324A6E; --navy-deep:#243756;
  --parch:#F7F4F0; --page:#FBF9F5; --parch-2:#EFE9E0; --parch-3:#E2D8CB; --tape:rgba(226,214,196,.86);
  --ink:#2D2420; --ink-soft:#5E514A;
  --display:'Libre Caslon Display','Libre Caslon Text',Georgia,serif;
  --text:'Libre Caslon Text',Georgia,serif;
  --sans:'Onest',system-ui,sans-serif;
  --hand:'Caveat','Libre Caslon Text',cursive;
  --wrap:1140px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ruled:repeating-linear-gradient(180deg,transparent 0 33px,rgba(50,74,110,.11) 33px 34px);
  --ruled-light:repeating-linear-gradient(180deg,transparent 0 29px,rgba(255,255,255,.08) 29px 30px);
  --margin-x:max(10px,calc((100% - var(--wrap))/2 - 18px));
  --hdr-h:72px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;padding-bottom:0;background:var(--page);color:var(--ink);font:400 1.0625rem/1.72 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
a[href^="tel:"],a[href^="mailto:"]{text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.1;margin:0 0 .55em;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
strong{font-weight:600}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.lp-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.lp-narrow{max-width:940px}
.lp-sec{padding:clamp(64px,7vw,96px) 0}
section[id],div[id]{scroll-margin-top:calc(var(--hdr-h) + 12px)}
.lp-tag{font:600 1.5rem/1.1 var(--hand);color:var(--copper-deep);margin-bottom:.6rem}

/* ---------- notebook paper (the homepage's .sheet) ---------- */
.lp-sheet{position:relative;background-color:var(--page);background-image:var(--ruled);background-position:0 18px}
.lp-sheet::before{content:"";position:absolute;top:0;bottom:0;left:var(--margin-x);width:1.5px;background:rgba(196,122,74,.42);pointer-events:none;z-index:0}
.lp-sheet>*{position:relative;z-index:1}
.lp-sheet--alt{background-color:var(--parch)}
/* Marco 2026-09-29: the LP drops the ruled notepad background, margin line
   and binder holes on every screen size - plain paper tones only */
.lp-sheet{background-image:none}
.lp-sheet::before,.lp-holes{display:none}
/* ...except the hero, which keeps the ruled notepad page (Marco 2026-09-29) */
.lp-hero.lp-sheet{background-image:var(--ruled)}
.lp-hero.lp-sheet::before{display:block}
.lp-hero .lp-holes{display:flex}
@media (max-width:900px),(hover:none) and (pointer:coarse) and (max-height:500px){.lp-hero .lp-holes{display:none}}
.lp-tape{position:absolute;width:112px;height:30px;background:var(--tape);z-index:3;pointer-events:none;
  clip-path:polygon(0 8%,6% 0,12% 10%,18% 0,24% 8%,30% 0,70% 0,76% 8%,82% 0,88% 10%,94% 0,100% 8%,100% 92%,94% 100%,88% 90%,82% 100%,76% 92%,70% 100%,30% 100%,24% 92%,18% 100%,12% 90%,6% 100%,0 92%);
  box-shadow:0 1px 2px rgba(0,0,0,.06)}
.pencil{fill:none;stroke:var(--copper);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.lp-ul{position:relative;display:inline-block}
.lp-ul>svg{position:absolute;left:-2%;bottom:-.18em;width:104%;height:.3em;overflow:visible;pointer-events:none}
.lp-ul .pencil{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s var(--ease)}
.lp-ul.in .pencil{stroke-dashoffset:0}
.lp-ul--load .pencil{animation:lpDraw 1.4s var(--ease) .6s forwards}
@keyframes lpDraw{to{stroke-dashoffset:0}}
/* a hand-drawn box with a pencil check */
.lp-check{flex:none;width:24px;height:24px;overflow:visible}
.lp-check .bx{fill:none;stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-check .ck{fill:none;stroke:var(--wine);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- buttons: the homepage's stickers ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 .95rem/1.2 var(--sans);text-decoration:none;cursor:pointer;border:0;white-space:nowrap;
  padding:1rem 1.6rem;border-radius:4px;background:var(--wine);color:var(--parch);box-shadow:3px 3px 0 var(--copper);
  transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.btn:hover{background:var(--wine-deep);box-shadow:3px 3px 0 var(--ink)}
.btn-paper{background:var(--page);color:var(--wine-ink);box-shadow:3px 3px 0 var(--copper)}
.btn-paper:hover{background:#fff;box-shadow:3px 3px 0 var(--wine)}
/* pressed: the sticker nudges into its shadow */
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--copper)}
.btn{transition:background .25s var(--ease),box-shadow .25s var(--ease),transform .12s var(--ease)}

/* ---------- header: the homepage's nav bar ---------- */
.lp-hdr{position:sticky;top:0;z-index:60;background:var(--page);border-bottom:1.5px solid rgba(50,74,110,.18);transition:box-shadow .35s}
.lp-hdr.stuck{box-shadow:0 14px 30px -26px rgba(45,36,32,.45)}
.lp-hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--hdr-h)}
.lp-brand{text-decoration:none;display:flex;align-items:baseline;gap:12px;flex:none}
.lp-brand b{font:400 1.55rem/1 var(--display);color:var(--wine)}
.lp-brand small{font:600 1.05rem/1 var(--hand);color:var(--copper-deep)}
/* the homepage menu: Onest 500 .93rem, ink, turns wine on hover */
.lp-nav{display:flex;align-items:center;gap:26px}
.lp-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:500 .93rem/1 var(--sans);color:var(--ink);white-space:nowrap;transition:color .2s}
.lp-nav a:hover,.lp-nav a:focus-visible{color:var(--wine)}
.lp-hdr-cta{display:flex;align-items:center;gap:20px;flex:none}
.lp-tel{display:inline-flex;align-items:center;gap:.45rem;font:600 .95rem/1 var(--sans);color:var(--wine);white-space:nowrap}
.lp-tel svg{flex:none}
.lp-hdr-btn{padding:.75rem 1.1rem;font-size:.86rem}

/* ---------- hero: the annotated page ---------- */
.lp-holes{position:absolute;left:calc(var(--margin-x) - 34px);top:60px;bottom:60px;width:18px;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none}
.lp-holes i{display:block;width:16px;height:16px;border-radius:50%;background:var(--parch-3);box-shadow:inset 0 2px 3px rgba(45,36,32,.25)}
.lp-hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding-block:66px 74px}
.lp-hero h1{font-size:clamp(2.6rem,5.2vw,4.5rem);line-height:1.05;color:var(--ink);margin:0}
.lp-hero h1 .lp-ul>svg{bottom:-.16em;height:.26em}
/* plain in the doc (not italic) */
.lp-hero .lp-hero-h2{font:400 clamp(1.15rem,1.7vw,1.36rem)/1.45 var(--text);color:var(--ink);max-width:36ch;margin:30px 0 0}
.lp-hero-lede{display:flex;align-items:center;gap:10px;margin:20px 0 30px;font:600 1.5rem/1.15 var(--hand);color:var(--copper-deep);transform:rotate(-1.5deg);transform-origin:left}
.lp-hero-lede svg{flex:none}
.lp-hero-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.lp-snap{position:relative;justify-self:center;width:min(100%,360px);margin:0;background:#fff;padding:14px 14px 20px;transform:rotate(3deg);
  box-shadow:0 22px 40px -22px rgba(45,36,32,.45),0 2px 4px rgba(45,36,32,.06);animation:lpSettle 1.4s var(--ease) .2s both}
.lp-snap img{width:100%;aspect-ratio:4/5;object-fit:cover}
.lp-snap .lp-tape{top:-15px;left:50%;margin-left:-56px;transform:rotate(-4deg)}
@keyframes lpSettle{from{opacity:0;transform:rotate(9deg) translateY(-24px)}to{opacity:1;transform:rotate(3deg)}}

/* ---------- badges ---------- */
.lp-badges{background:var(--parch-2);border-block:1.5px solid rgba(50,74,110,.12);padding:18px 0}
.lp-badges-in{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px}
.lp-badge{display:inline-flex;align-items:center;gap:10px;font:600 .94rem/1.3 var(--sans);color:var(--ink)}

/* ---------- shared section type ---------- */
.lp-sec h2{font-size:clamp(2rem,3.4vw,2.7rem);color:var(--wine)}
.lp-center-h{text-align:center;margin-inline:auto;max-width:26ch}
.lp-sec-head{text-align:center;max-width:780px;margin:0 auto clamp(44px,5vw,64px)}

/* the white index card (the story spreads' pages) */
.lp-card{position:relative;background-color:#fff;background-image:var(--ruled);background-position:0 12px;border-radius:4px;
  padding:clamp(28px,3.4vw,44px) clamp(22px,3.4vw,44px) clamp(30px,3.6vw,46px) clamp(46px,5.4vw,70px);
  box-shadow:0 24px 28px -20px rgba(45,36,32,.26),0 1px 3px rgba(45,36,32,.06)}
.lp-card::before{content:"";position:absolute;top:0;bottom:0;left:clamp(26px,3vw,44px);width:1.5px;background:rgba(196,122,74,.45)}
.lp-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,3.6vw,52px);align-items:stretch}
.lp-split--rev{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.lp-split--rev .lp-split-img{order:-1}
.lp-split-text{align-self:center;min-width:0}
.lp-split-text p:last-child{margin-bottom:0}
.lp-split-img{display:flex;min-height:340px;padding:12px 8px}
/* the photo, taped on as a tilted plate */
.lp-plate{position:relative;flex:1;display:flex;flex-direction:column;background:#fff;padding:10px 10px 12px;transform:rotate(1.2deg);
  box-shadow:0 10px 20px -14px rgba(45,36,32,.45),0 1px 2px rgba(45,36,32,.08)}
.lp-split--rev .lp-plate{transform:rotate(-1deg)}
.lp-plate .lp-tape{top:-13px;left:50%;margin-left:-48px;transform:rotate(-3deg);width:96px;height:26px}
.lp-ph{flex:1;position:relative;overflow:hidden}
.lp-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* the paper-clipped note card (the homepage's faith card) */
.lp-note{position:relative;max-width:760px;margin:clamp(56px,6vw,80px) auto 0;background-color:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 31px,rgba(50,74,110,.1) 31px 32px);background-position:0 86px;
  padding:34px 56px 40px;text-align:center;transform:rotate(-.6deg);box-shadow:0 22px 40px -26px rgba(45,36,32,.5),0 1px 3px rgba(45,36,32,.06)}
.lp-clip{position:absolute;top:-22px;right:64px;width:26px;height:64px;overflow:visible}
.lp-note h2{font-size:clamp(1.9rem,3.2vw,2.5rem);color:var(--forest-deep);margin:0 -56px 30px;padding:0 56px 18px;border-bottom:1.5px solid rgba(196,122,74,.55);background:#fff}
.lp-note p{font:400 1.12rem/32px var(--text);margin:0 0 32px}
.lp-note p:last-child{margin-bottom:0}
.lp-problem-cta{text-align:center;margin-top:clamp(40px,4.5vw,56px)}
.lp-pull{font:600 1.9rem/1.2 var(--hand);color:var(--wine);margin-top:1em}

/* ---------- CTA bands: the homepage's wine closing band ---------- */
.lp-band{position:relative;text-align:center;padding:clamp(76px,8vw,110px) 0;color:var(--parch);background:linear-gradient(90deg,rgba(74,29,39,.97),var(--wine) 50%,rgba(107,45,58,.94));overflow:hidden}
.lp-band::before{display:none} /* no ruled notepad lines on the band (Marco 2026-09-29) */
.lp-band .lp-wrap{position:relative}
.lp-band-k{font:600 1.7rem/1.1 var(--hand);color:#F1C9AE;margin-bottom:.5rem}
.lp-band-h{font-family:var(--display);font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.1;color:#F6EBDD;margin:0 auto 1.1em;max-width:22ch}
.lp-band-h .pencil{stroke:#E9B08A}
.lp-band-body{max-width:54ch;margin:0 auto 1.6rem;color:#EFDDD5}

/* ---------- what changes: a notepad over the road ---------- */
.lp-outcomes{position:relative;min-height:620px;overflow:hidden;isolation:isolate;background:var(--navy-deep);display:flex;align-items:center}
.lp-outcomes-bg{position:absolute;inset:0;z-index:-1}
.lp-outcomes-bg img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.lp-outcomes-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,40,34,0) 30%,rgba(28,40,34,.45))}
.lp-notepad{position:relative;margin:80px max(24px,calc((100% - var(--wrap))/2 + 40px)) 80px auto;width:min(520px,calc(100% - 48px));background-color:var(--page);background-image:var(--ruled);background-position:0 70px;
  padding:64px 44px 44px;transform:rotate(1.2deg);box-shadow:0 30px 50px -26px rgba(0,0,0,.6)}
.lp-notepad::before{content:"";position:absolute;left:0;right:0;top:0;height:26px;background:
  radial-gradient(circle at 50% 13px,var(--navy-deep) 0 5px,transparent 5.5px) 0 0/28px 26px repeat-x,var(--wine)}
.lp-notepad::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:12px;background:var(--page);
  clip-path:polygon(0 0,100% 0,100% 40%,96% 90%,92% 30%,88% 80%,84% 20%,80% 90%,76% 40%,72% 100%,68% 30%,64% 80%,60% 20%,56% 90%,52% 30%,48% 100%,44% 40%,40% 80%,36% 20%,32% 90%,28% 30%,24% 100%,20% 40%,16% 80%,12% 20%,8% 90%,4% 30%,0 80%)}
.lp-notepad h2{font-size:2.15rem;color:var(--navy);line-height:1.08}
.lp-notepad p{font-size:1.02rem;line-height:34px;margin:0 0 .1em}
.lp-benefit-list{display:grid;gap:0;margin:14px 0 6px}
.lp-benefit-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;min-height:34px;font:400 1.02rem/1.3 var(--sans);color:var(--ink);padding:3px 0}
.lp-benefit-body{display:block;font-weight:400;font-size:.95rem;color:var(--ink-soft)}
.lp-benefit-close{font:600 1.6rem/1.15 var(--hand) !important;color:var(--wine);margin-top:16px !important}

/* ---------- process: three index cards in the What I Offer colours ---------- */
.lp-steps{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:34px;counter-reset:none}
.lp-step{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;color:var(--parch);background-color:var(--navy);
  background-image:var(--ruled-light);background-position:0 88px;border-radius:3px;box-shadow:0 18px 30px -20px rgba(36,55,86,.7)}
.lp-step::before{content:"";position:absolute;left:0;right:0;top:96px;height:1.5px;background:rgba(233,176,138,.75)}
.lp-step--forest{background-color:var(--forest);box-shadow:0 18px 30px -20px rgba(42,65,44,.7)}
.lp-step:nth-child(1){transform:rotate(-1.4deg)}.lp-step:nth-child(2){transform:rotate(1deg) translateY(10px)}.lp-step:nth-child(3){transform:rotate(-.7deg)}
.lp-step .lp-tape{top:-14px;left:50%;margin-left:-56px;transform:rotate(3deg)}
.lp-step-n{font:600 2.6rem/1 var(--hand);color:#F1C9AE;height:52px}
.lp-step h3{font-size:clamp(1.55rem,2.2vw,1.9rem);line-height:1.08;color:var(--parch);margin:10px 0 26px;min-height:2.2em}
.lp-step p{font-size:1rem;color:#E9E2DA}
/* bold in the doc -> bold body text, not the handwriting (Marco 2026-09-29) */
.lp-step p strong{display:block;margin-top:.5em;font:700 1.02rem/1.5 var(--sans);color:#F1C9AE}
.lp-step p:last-child{margin-bottom:0}
.lp-process-cta{text-align:center;margin-top:clamp(52px,5vw,68px)}

/* ---------- trust + bio ---------- */
.lp-trust h2.lp-center-h{margin-bottom:clamp(44px,5vw,64px)}
.lp-trust-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:34px}
.lp-icard{position:relative;background-color:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 29px,rgba(50,74,110,.12) 29px 30px);background-position:0 88px;
  padding:26px 30px 30px;border-radius:2px;box-shadow:0 18px 30px -22px rgba(45,36,32,.5),0 1px 3px rgba(45,36,32,.06)}
/* the copper rule sits under each title (follows 1- or 2-line titles) */
.lp-icard::before{display:none}
.lp-icard:nth-child(1){transform:rotate(-1.2deg)}.lp-icard:nth-child(2){transform:rotate(1deg);margin-top:18px}.lp-icard:nth-child(3){transform:rotate(-.6deg)}
.lp-icard .lp-tape{top:-14px;left:28px;transform:rotate(-6deg)}
.lp-icard:nth-child(2) .lp-tape{left:auto;right:28px;transform:rotate(5deg)}
.lp-icard h3{font-size:clamp(1.4rem,2vw,1.65rem);color:var(--wine);min-height:2.3em;display:flex;align-items:flex-end;margin:0 -30px 1em;padding:0 30px .45em;border-bottom:1.5px solid rgba(196,122,74,.6)}
.lp-icard p{font:400 1.08rem/30px var(--text);margin:0}
/* the homepage bio: taped polaroid + pencil-underlined letter */
.lp-bio{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center;max-width:1060px;margin:clamp(70px,8vw,100px) auto 0}
.lp-polaroid{position:relative;margin:0;background:#fff;padding:16px 16px 22px;box-shadow:0 26px 44px -26px rgba(45,36,32,.55),0 2px 4px rgba(45,36,32,.06);max-width:430px} /* straight (Marco 2026-09-29) */
.lp-polaroid img{width:100%;height:auto}
.lp-polaroid .lp-tape{top:-15px;left:36px;transform:rotate(-8deg)}
.lp-polaroid .lp-tape--b{left:auto;right:30px;transform:rotate(7deg)}
.lp-polaroid figcaption{font:600 1.4rem/1.2 var(--hand);color:var(--ink-soft);text-align:center;margin-top:14px}
.lp-bio-txt h3{font-size:clamp(2.4rem,4.2vw,3.4rem);color:var(--wine);margin-bottom:.5em}
.lp-bio-txt p:first-of-type{font:italic 400 1.35rem/1.45 var(--text);color:var(--ink);margin-bottom:1.2em}

/* ---------- testimonials: notes taped to the page ---------- */
.lp-testi-intro{text-align:center;max-width:640px;margin:-1rem auto 2.4rem}
.lp-testimonials h2.lp-center-h{margin-bottom:clamp(44px,5vw,64px)}
.lp-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:40px 34px;align-items:stretch}
.lp-testi{position:relative;display:flex;flex-direction:column;margin:0;background:#FFFDF7;padding:36px 30px 28px;box-shadow:0 18px 30px -22px rgba(45,36,32,.5),0 1px 3px rgba(45,36,32,.06)}
.lp-testi:nth-child(3n+1){transform:rotate(-1.4deg)}.lp-testi:nth-child(3n+2){transform:rotate(1.1deg)}.lp-testi:nth-child(3n){transform:rotate(-.6deg)}
.lp-testi .lp-tape{top:-14px;left:50%;margin-left:-56px;transform:rotate(3deg)}
.lp-testi blockquote{margin:0}
/* testimonials in the upright body font - easier to read than the italic serif / handwriting (Marco 2026-09-29) */
.lp-testi blockquote p{font:400 1.0625rem/1.72 var(--sans);color:var(--ink);margin:0}
.lp-testi blockquote p::before{content:"\201C"}
.lp-testi blockquote p::after{content:"\201D"}
/* italic in the doc */
.lp-testi figcaption{margin-top:auto;padding-top:18px;font:italic 400 1rem/1.3 var(--text);color:var(--copper-deep)}

/* ---------- FAQ: the site FAQ page's index cards + pencil check ---------- */
.lp-faq h2.lp-center-h{margin-bottom:clamp(40px,4.5vw,56px)}
.lp-faq-list{display:flex;flex-direction:column;gap:22px}
.lp-faq-item{position:relative;background:#fff;border-radius:3px;box-shadow:0 18px 30px -22px rgba(45,36,32,.45),0 1px 3px rgba(45,36,32,.06);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.lp-faq-item.t1{transform:rotate(-.45deg)}.lp-faq-item.t2{transform:rotate(.35deg)}.lp-faq-item.t3{transform:rotate(-.2deg)}
.lp-faq-item:hover{transform:rotate(0) translateY(-3px)}
.lp-faq-item.is-open{transform:none}
.lp-faq-item h3{margin:0;font-size:inherit}
.lp-faq-q{width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:none;border:0;cursor:pointer;padding:22px 28px 22px 22px;font:400 clamp(1.25rem,1.9vw,1.5rem)/1.25 var(--display);color:var(--ink);transition:box-shadow .45s var(--ease)}
.lp-faq-qt{flex:1;transition:color .25s}
.lp-faq-q:hover .lp-faq-qt,.lp-faq-item.is-open .lp-faq-qt{color:var(--wine)}
.lp-faq-item.is-open .lp-faq-q{box-shadow:inset 0 -1.5px 0 rgba(196,122,74,.55)}
.lp-faq-box{flex:0 0 30px;width:30px;height:30px}
.lp-faq-box svg{display:block;width:100%;height:100%;overflow:visible}
.lp-faq-box .bx{fill:none;stroke:var(--ink-soft);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-faq-box .ck{fill:none;stroke:var(--wine);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .55s var(--ease)}
.lp-faq-item.is-open .lp-faq-box .ck{stroke-dashoffset:0;transition-delay:.12s}
.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{overflow:hidden;padding:0 30px 0 70px;font-size:1.08rem;line-height:1.8;background-image:repeating-linear-gradient(180deg,transparent 0 30px,rgba(50,74,110,.09) 30px 31px);background-position:0 18px;opacity:0;transition:opacity .4s ease,padding .45s var(--ease)}
.lp-faq-item.is-open .lp-faq-a-in{opacity:1;padding-top:18px;padding-bottom:26px}
.lp-faq-a-in p{margin:0}
.lp-faq-a-in p+p{margin-top:.9em}

/* ---------- form: the homepage's Final CTA band + white form card ---------- */
.lp-form-sec{position:relative;color:var(--parch);padding:clamp(80px,9vw,110px) 0;overflow:hidden;isolation:isolate}
.lp-form-sec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(74,29,39,.95),rgba(107,45,58,.86) 50%,rgba(107,45,58,.6))}
.lp-form-bg{position:absolute;inset:0;z-index:-2}
.lp-form-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.lp-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:start}
.lp-form-copy h2{font-size:clamp(2.4rem,4.4vw,3.6rem);color:#F6EBDD;margin-bottom:.6em}
.lp-form-copy h2 .pencil{stroke:#E9B08A}
.lp-form-copy p{font-size:1.08rem;color:#EFDDD5}
/* italic in the doc -> a real italic, not the handwriting */
.lp-form-copy p em{font:italic 400 1.35rem/1.45 var(--text);color:#fff}
/* "What Happens Next?" in a plain white text box like the form card, not
   notepad style (Marco 2026-09-29) */
.lp-next{margin-top:2rem;background:#fff;color:var(--ink);border-radius:10px;padding:26px 28px 28px;box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
.lp-next-h{font-size:clamp(1.5rem,2.2vw,1.9rem);color:var(--wine);margin-bottom:1rem}
.lp-next-list{display:grid;gap:14px;counter-reset:n}
.lp-next-list li{position:relative;padding-left:46px;counter-increment:n;line-height:1.6;color:var(--ink)}
.lp-next-list li::before{content:counter(n);position:absolute;left:0;top:-.05rem;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:600 .95rem/1 var(--sans);color:#fff;background:var(--wine)}
.lp-next-list li strong{color:var(--ink)}
.lp-next-list li a{color:var(--wine);font-weight:600}
.lp-assurances{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:2.2rem}
.lp-assurance{background:rgba(247,244,240,.08);border:1px solid rgba(247,244,240,.2);border-radius:4px;padding:16px 18px}
.lp-assurance h4{font:600 .95rem/1.3 var(--sans);color:#fff;margin-bottom:.35rem}
.lp-assurance p{font-size:.92rem !important;line-height:1.55;margin:0}
.lp-form-card{position:relative;background:#fff;color:var(--ink);border-radius:10px;padding:34px 32px 30px;box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
.lp-form-card h3{font-size:clamp(1.45rem,2.1vw,1.8rem);color:var(--wine);margin-bottom:1rem;text-align:center}
.lp-form-note{font-size:.95rem}
.lp-form-card .wpforms-container{margin:0 !important}
.lp-form-card .wpforms-container form.wpforms-form{display:block !important;background:none !important;padding:0 !important;box-shadow:none !important;border:0 !important}
.lp-form-card .wpforms-container .wpforms-field-container{display:grid !important;grid-template-columns:1fr 1fr;column-gap:16px}
.lp-form-card .wpforms-container .wpforms-field-container>.wpforms-field{padding:0 !important;margin:0 0 14px !important;grid-column:1/-1;max-width:none !important;width:auto !important}
.lp-form-card .wpforms-container .wpforms-field-container>.wpforms-field.tpa-half{grid-column:auto}
.lp-form-card .wpforms-container .wpforms-form .wpforms-field-label{opacity:1 !important;display:block !important;font:500 .88rem/1.2 var(--sans) !important;color:var(--ink-soft) !important;margin:0 0 6px !important;text-transform:none !important;letter-spacing:normal !important}
.lp-form-card .wpforms-container .wpforms-form .wpforms-required-label{display:none !important}
.lp-form-card .wpforms-container .wpforms-form input[type=text],.lp-form-card .wpforms-container .wpforms-form input[type=email],.lp-form-card .wpforms-container .wpforms-form input[type=tel],.lp-form-card .wpforms-container .wpforms-form textarea{
  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:1px solid #CFC3B4 !important;border-radius:6px !important;padding:11px 13px !important;box-shadow:none !important;transition:border-color .2s,box-shadow .2s !important}
.lp-form-card .wpforms-container .wpforms-form input:focus,.lp-form-card .wpforms-container .wpforms-form textarea:focus{outline:none !important;border-color:var(--wine) !important;box-shadow:0 0 0 3px rgba(107,45,58,.14) !important}
.lp-form-card .wpforms-container .wpforms-form textarea{min-height:110px !important;resize:vertical}
.lp-form-card .wpforms-container .wpforms-form .wpforms-submit-container{padding:0 !important;margin:0 !important}
.lp-form-card .wpforms-container .wpforms-form button.wpforms-submit{display:flex !important;align-items:center;justify-content:center;width:100% !important;height:auto !important;margin-top:10px !important;
  font:600 .95rem/1.2 var(--sans) !important;text-transform:none !important;letter-spacing:normal !important;white-space:normal !important;
  padding:1rem 1.6rem !important;border:0 !important;border-radius:4px !important;background:var(--wine) !important;background-image:none !important;color:var(--parch) !important;
  box-shadow:3px 3px 0 var(--copper) !important;cursor:pointer;transition:background .25s var(--ease),box-shadow .25s var(--ease) !important}
.lp-form-card .wpforms-container .wpforms-form button.wpforms-submit::after{display:none !important}
.lp-form-card .wpforms-container .wpforms-form button.wpforms-submit:hover{background:var(--wine-deep) !important;box-shadow:3px 3px 0 var(--ink) !important}
.lp-form-card .wpforms-error,.lp-form-card label.wpforms-error,.lp-form-card em.wpforms-error{font-size:.88rem !important;color:#9A2F3E !important}
.lp-form-card .wpforms-confirmation-container-full{background:var(--parch) !important;border:0 !important;border-radius:6px !important;color:var(--ink) !important}

/* ---------- footer: the homepage's ink footer ---------- */
.lp-ftr{background:var(--ink);color:#CFC4BA;padding:42px 0 calc(26px + env(safe-area-inset-bottom))}
.lp-ftr-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid rgba(247,244,240,.1)}
.lp-fbrand{font:400 1.4rem/1 var(--display);color:var(--parch);text-decoration:none}
.lp-fbrand small{display:block;font:500 .74rem/1.4 var(--sans);color:#A99C91;margin-top:6px}
.lp-pt{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:500 .85rem/1 var(--sans);color:var(--parch);border:1px solid rgba(247,244,240,.25);border-radius:4px;padding:9px 14px;transition:border-color .2s}
.lp-pt:hover{border-color:var(--copper)}
.lp-pt b{display:grid;place-items:center;width:24px;height:24px;border-radius:3px;background:#4C8FB3;color:#fff;font:700 .7rem/1 var(--sans)}
.lp-ftr-btm{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;font-size:.8rem}
.lp-ftr-btm a{text-decoration:none;margin-left:22px;color:#CFC4BA}
.lp-ftr-btm a:first-child{margin-left:0}
.lp-ftr-btm a:hover{color:var(--parch)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .lp-nav{gap:18px}
  .lp-hdr-in{gap:16px}
}
@media (max-width:1024px){
  .lp-hdr-btn{display:none}
  .lp-split,.lp-split--rev{grid-template-columns:1fr 1fr}
  .lp-form-grid{gap:40px}
}
/* phones (portrait + landscape): the section links become a 2x2 grid of
   sticker pills (the homepage's paper button), the phone stays written out */
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .lp-hdr{position:relative}
  .lp-hdr .lp-hdr-in{flex-wrap:wrap;gap:12px 14px;padding-block:12px 16px;min-height:0}
  .lp-hdr .lp-brand{flex-direction:column;align-items:flex-start;gap:4px} /* credentials stacked under the name (Marco 2026-09-29) */
  .lp-hdr .lp-brand small{display:block;font-size:1rem}
  .lp-brand b{font-size:1.4rem}
  .lp-hdr-btn{display:none}
  .lp-nav{order:3;flex:1 0 100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:0 3px 3px 0}
  .lp-nav a{justify-content:center;text-align:center;white-space:nowrap;line-height:1.2;padding:10px 6px;border-radius:4px;background:var(--page);color:var(--wine-ink);font-weight:600;
    box-shadow:3px 3px 0 var(--copper),0 0 0 1px rgba(45,36,32,.1);transition:background .2s,box-shadow .2s}
  .lp-nav a:hover,.lp-nav a:focus-visible{background:#fff;color:var(--wine-ink);box-shadow:3px 3px 0 var(--wine),0 0 0 1px rgba(45,36,32,.1)}
}
.lp-nav a{min-height:44px}
@media (max-width:900px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .lp-hero .lp-hero-in{grid-template-columns:1fr;gap:30px;padding-block:44px 56px}
  .lp-snap{width:240px;order:-1;justify-self:center;margin:0 auto} /* centred on phones (Marco 2026-09-29) */
  .lp-holes{display:none}
  .lp-steps{grid-template-columns:1fr;gap:44px;max-width:520px;margin-inline:auto}
  .lp-step:nth-child(n){transform:rotate(-.8deg)}
  .lp-step:nth-child(2){transform:rotate(.8deg)}
  .lp-step h3{min-height:0}
  .lp-bio{grid-template-columns:1fr;gap:44px}
  .lp-polaroid{max-width:340px;margin-left:10px}
  .lp-form-grid{grid-template-columns:1fr}
  .lp-icard h3{min-height:0}
  .lp-icard:nth-child(2){margin-top:0}
  .lp-testi:nth-child(3n+2){margin-top:0}
}
@media (max-width:768px),(hover:none) and (pointer:coarse) and (max-height:500px){
  .lp-sheet::before{left:12px}
  .lp-split,.lp-split--rev{grid-template-columns:1fr}
  .lp-card{padding:22px 20px 30px 38px}
  .lp-card::before{left:22px}
  .lp-split-img,.lp-split--rev .lp-split-img{order:-1;min-height:0;padding:8px 4px}
  .lp-ph{aspect-ratio:4/3;flex:none}
  .lp-note{padding:30px 24px 36px}
  .lp-note h2{margin:0 -24px 26px;padding:0 24px 16px}
  .lp-clip{right:30px}
  .lp-outcomes{min-height:0;display:block;padding-top:220px}
  .lp-notepad{width:auto;margin:0 16px 50px;padding:56px 24px 36px;transform:rotate(1deg)}
  .lp-faq-q{gap:14px;padding:18px 18px 18px 16px}
  .lp-faq-box{flex-basis:26px;width:26px;height:26px}
  .lp-faq-a-in,.lp-faq-item.is-open .lp-faq-a-in{padding-left:20px;padding-right:20px}
  .lp-faq-item.t1,.lp-faq-item.t2,.lp-faq-item.t3{transform:none}
  .lp-assurances{grid-template-columns:1fr}
  .lp-form-card{padding:28px 20px 24px}
  .lp-form-card .wpforms-container .wpforms-field-container{grid-template-columns:1fr}
  .lp-form-card .wpforms-container .wpforms-field-container>.wpforms-field.tpa-half{grid-column:1/-1}
  .lp-ftr-btm a{margin-left:0;margin-right:18px}
}
/* phone buttons: the homepage's 480px sticker rule - text wraps and centres,
   and the stacked hero/section buttons run full width so none is a stub */
@media (max-width:480px){
  .lp-wrap{padding:0 18px}
  .lp-hero h1{font-size:2.45rem}
  .btn{padding:.98rem 1.2rem;white-space:normal;text-align:center}
  .lp-hero-acts{flex-direction:column;align-items:stretch;gap:16px}
  .lp-problem-cta .btn,.lp-process-cta .btn,.lp-band .btn{width:calc(100% - 3px)}
}
@media (max-width:430px){
  .lp-tel-num{font-size:.95rem}
  .lp-tel{gap:.35rem}
  .lp-tel svg{width:14px;height:14px}
  .lp-nav{gap:10px}
  .lp-nav a{letter-spacing:0;padding-inline:4px}
}
@media (hover:none) and (pointer:coarse){
  .lp-nav a,.lp-badge,.lp-assurance p,.lp-ftr-btm,.lp-pt,.lp-fbrand small{font-size:.9rem !important}
  .lp-form-card .wpforms-container .wpforms-form .wpforms-field-label{font-size:.9rem !important}
  .btn{min-height:44px}
  .lp-ftr-btm a{display:inline-flex;align-items:center;min-height:44px}
  .lp-tel,.lp-brand{min-height:44px;align-items:center}
}
/* desktop: the form card ends level with the italic closing line of the
   text beside it ("You can walk in guarded..."); the page script sizes the
   message box to fit (Marco 2026-09-29). This is the no-JS fallback. */
@media (min-width:901px){
  .lp-form-card .wpforms-container .wpforms-form textarea{min-height:160px !important}
}
