@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;color:#10251e;background:#f7f5ef;--ink:#10251e;--forest:#092d23;--green:#13795b;--mint:#6fe0b0;--cream:#f7f5ef;--amber:#e9a84c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink)}button,input,select,textarea{font:inherit}.site-header{height:80px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,28px);border-bottom:1px solid #e7e9e1}.brand img{display:block;width:190px;height:auto}.header-reassurance{display:flex;align-items:center;gap:9px;color:#466057;font-size:.88rem;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:#28bd83;box-shadow:0 0 0 5px #28bd8318}.hero{position:relative;min-height:710px;display:flex;align-items:center;overflow:hidden;background:var(--forest)}.hero-photo{position:absolute;inset:0;background-image:url('/assets/impact-leads-family-hero-v1.png');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,21,.98) 0%,rgba(5,34,25,.9) 34%,rgba(5,30,23,.38) 62%,rgba(5,25,19,.08) 100%)}.hero-content{position:relative;z-index:2;width:min(1180px,90vw);margin:auto;padding:92px 0;color:white}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;color:var(--mint)}.hero h1,.review-intro h2,.life-moments h2{font-family:'Manrope',sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(3.5rem,7.4vw,7rem);line-height:.92;max-width:780px;margin:.28em 0 .25em}.hero h1 em{font-weight:500;color:#a5edce}.hero-content>p{font-size:1.18rem;line-height:1.65;color:#d2e0da;max-width:600px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.primary-cta,.next-button,.submit-button{border:0;text-decoration:none;background:var(--mint);color:#082a20;font-weight:800;border-radius:12px;padding:15px 20px;display:inline-flex;align-items:center;justify-content:center;gap:22px;cursor:pointer;box-shadow:0 12px 30px #00160f55;transition:.2s transform,.2s background}.primary-cta:hover,.next-button:hover,.submit-button:hover{transform:translateY(-2px);background:#8aefc3}.time-note{display:grid;color:white}.time-note small{color:#b5c7c0;margin-top:3px}.family-caption{position:absolute;z-index:2;right:5vw;bottom:38px;color:white;padding-left:18px;border-left:3px solid var(--mint);display:grid;text-shadow:0 2px 14px #000}.family-caption span{text-transform:uppercase;letter-spacing:.14em;font-size:.67rem}.family-caption strong{font-size:1rem;margin-top:3px}.trust-bar{background:white;display:grid;grid-template-columns:repeat(3,1fr);padding:24px max(5vw,28px);gap:2vw;border-bottom:1px solid #e4e7df}.trust-bar>div{display:flex;justify-content:center;align-items:center;gap:15px;border-right:1px solid #e7ebe4}.trust-bar>div:last-child{border:0}.trust-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e5f8ef;color:var(--green);font-weight:800;font-size:1.25rem}.trust-bar p{display:grid;margin:0}.trust-bar small{color:#687b73;margin-top:3px}.service-area{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 5vw;background:#e6f6ee;color:#284a3e;font-size:.86rem}.service-area span{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:#668078}.service-area strong{font-family:'Manrope';font-size:.86rem}.service-area i{color:#45aa81}.review-section{width:min(1180px,90vw);margin:auto;padding:120px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.review-intro{position:sticky;top:30px}.review-intro .section-kicker,.life-moments .section-kicker{color:var(--green)}.review-intro h2,.life-moments h2{font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;margin:.25em 0}.review-intro>p{font-size:1.1rem;line-height:1.7;color:#566c63}.review-intro blockquote{margin:36px 0 0;padding:22px 0 22px 24px;border-left:3px solid var(--amber);font-family:'Manrope';font-size:1.2rem;line-height:1.5;color:#345147}.lead-card{background:white;border:1px solid #e1e7df;border-radius:26px;padding:clamp(25px,4vw,48px);box-shadow:0 26px 70px #13362912}.step-header{display:flex;justify-content:space-between;align-items:end}.step-header>div{display:grid;gap:5px}.step-header span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:#74857e;font-weight:800}.step-header strong{font-family:'Manrope';font-size:1.15rem}.step-percent{color:var(--green)!important}.progress{height:5px;background:#e5e9e4;border-radius:99px;margin:16px 0 36px;overflow:hidden}.progress span{display:block;width:33%;height:100%;background:linear-gradient(90deg,var(--green),var(--mint));transition:width .35s ease}fieldset{border:0;padding:0;margin:0}legend{font-family:'Manrope';font-size:clamp(1.75rem,3vw,2.35rem);font-weight:800;letter-spacing:-.035em}.field-help{color:#6a7d75;margin:8px 0 24px}.need-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.need-option{position:relative;border:1px solid #dbe3dd;border-radius:15px;padding:18px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;cursor:pointer;transition:.2s}.need-option:hover{border-color:#6bbd9d;background:#f8fcfa}.need-option:has(input:checked){border:2px solid var(--green);padding:17px;background:#effaf5;box-shadow:0 0 0 4px #1d976915}.need-option input{position:absolute;opacity:0}.need-symbol{grid-row:1/3;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#e4f6ee;color:var(--green);font-weight:800}.need-option strong{align-self:end}.need-option small{color:#74857e;margin-top:3px}.next-button,.submit-button{margin-top:26px;margin-left:auto;padding:14px 22px;box-shadow:none}.field-stack,.contact-grid{display:grid;gap:14px}.contact-grid{grid-template-columns:1fr 1fr}.wide-field{grid-column:1/-1}label{display:grid;gap:7px;font-size:.8rem;font-weight:800;color:#40574e}input,select,textarea{width:100%;border:1px solid #cad6ce;border-radius:11px;padding:13px 14px;background:#fbfcfa;color:var(--ink);font-size:1rem}input:focus,select:focus,textarea:focus{outline:3px solid #65d4a740;border-color:var(--green);background:white}.step-actions{display:flex;align-items:center;justify-content:space-between}.back-button{margin-top:26px;border:0;background:transparent;color:#5c7067;font-weight:800;cursor:pointer;padding:14px}.consent{grid-template-columns:auto 1fr;align-items:start;gap:10px;margin-top:18px;font-weight:500;line-height:1.45}.consent input{width:19px;height:19px;margin:1px 0}.privacy-note{text-align:center;color:#71837b;font-size:.76rem;margin:18px 0 0}#leadMessage{color:#a13737;text-align:center;font-weight:700;min-height:1.2em}.success-panel{text-align:center;padding:35px 10px}.success-mark{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;margin:0 auto 24px;background:#dff7eb;color:var(--green);font-size:2rem}.success-panel h2{font-family:'Manrope';font-size:2.4rem;margin:.4em}.success-panel p{color:#62756d;line-height:1.7}.life-moments{background:var(--forest);color:white;padding:110px max(5vw,calc((100vw - 1180px)/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.life-moments h2{font-size:3.8rem}.moment-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.moment-list article{border-top:1px solid #426057;padding-top:24px}.moment-list span{color:var(--mint);font-weight:800}.moment-list h3{font-family:'Manrope';font-size:1.3rem}.moment-list p{color:#aec1b9;line-height:1.6}footer{background:#071e17;color:#a9bdb5;padding:55px max(5vw,28px);display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}footer img{width:170px;filter:brightness(0) invert(1);opacity:.9}footer p{color:white}footer small{text-align:right;max-width:390px;line-height:1.5}@media(max-width:850px){.site-header{height:68px}.brand img{width:155px}.header-reassurance{font-size:0}.hero{min-height:720px;align-items:end}.hero-photo{background-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(4,27,20,.98) 0%,rgba(4,27,20,.84) 42%,rgba(4,27,20,.1) 78%)}.hero-content{padding:280px 0 70px}.hero h1{font-size:3.55rem}.hero-actions{align-items:flex-start;flex-direction:column}.family-caption{display:none}.trust-bar{grid-template-columns:1fr;gap:0}.trust-bar>div{justify-content:flex-start;border-right:0;border-bottom:1px solid #e7ebe4;padding:14px 0}.service-area{flex-wrap:wrap;gap:9px 12px}.service-area span{width:100%;text-align:center}.review-section{grid-template-columns:1fr;padding:80px 0;gap:42px}.review-intro{position:static}.life-moments{grid-template-columns:1fr}.moment-list{grid-template-columns:1fr}.life-moments h2{font-size:3rem}footer{grid-template-columns:1fr}footer small{text-align:left}.need-grid,.contact-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}}@media(max-width:480px){.hero h1{font-size:3rem}.hero-content>p{font-size:1rem}.need-option{padding:15px}.lead-card{border-radius:18px}.review-section{width:92vw}.step-actions .next-button,.step-actions .submit-button{min-width:65%}}

/* Accessible interaction layer: advanced visually, predictable functionally. */
.hero{--pointer-x:70%;--pointer-y:30%}.tech-grid{position:absolute;inset:0;z-index:1;opacity:.16;background-image:linear-gradient(rgba(111,224,176,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(111,224,176,.22) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.cursor-glow{position:absolute;z-index:1;width:440px;height:440px;left:calc(var(--pointer-x) - 220px);top:calc(var(--pointer-y) - 220px);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(111,224,176,.18),transparent 68%);transition:left .12s linear,top .12s linear}.system-pill{display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:8px 12px;border:1px solid rgba(126,235,190,.3);border-radius:999px;background:rgba(5,43,32,.6);backdrop-filter:blur(10px);font:700 .7rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#c4f4dd}.system-pill span{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 5px rgba(111,224,176,.11),0 0 18px var(--mint);animation:signal-pulse 2.4s ease-in-out infinite}.state-nodes{display:flex;align-items:center;gap:9px;margin-top:34px}.state-nodes span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(133,235,190,.34);border-radius:10px;background:rgba(6,42,31,.66);backdrop-filter:blur(8px);font:800 .68rem 'Manrope',sans-serif;color:#bcf3d8}.state-nodes small{margin-left:7px;color:#b7cbc3;font-weight:600}.lead-card{position:relative;overflow:hidden}.card-scan{position:absolute;inset:0 0 auto;height:2px;opacity:.75;background:linear-gradient(90deg,transparent,var(--mint),transparent);animation:scan-card 5s ease-in-out infinite}.need-option i{position:absolute;right:12px;top:10px;font-style:normal;font-size:.62rem;letter-spacing:.12em;color:#a8b7b0}.need-option.is-selected .need-symbol{color:#fff;background:var(--green);box-shadow:0 0 0 5px rgba(19,121,91,.1)}.reveal-card{opacity:.45;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease,border-color .3s ease}.reveal-card.is-visible{opacity:1;transform:none}.reveal-card:hover{border-color:var(--mint)}button,a,input,select,textarea,.need-option{min-height:44px}:focus-visible{outline:3px solid #e9a84c!important;outline-offset:4px}.next-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.primary-cta span,.next-button span,.submit-button span{transition:transform .2s ease}.primary-cta:hover span,.next-button:hover span,.submit-button:hover span{transform:translateX(4px)}
@keyframes signal-pulse{50%{opacity:.55;box-shadow:0 0 0 8px rgba(111,224,176,0),0 0 25px var(--mint)}}@keyframes scan-card{0%,15%{transform:translateY(0);opacity:0}35%{opacity:.7}70%,100%{transform:translateY(570px);opacity:0}}
@media(max-width:850px){.tech-grid{background-size:42px 42px;opacity:.1}.cursor-glow{display:none}.system-pill{margin-bottom:14px}.state-nodes{flex-wrap:wrap}.state-nodes small{width:100%;margin:2px 0 0}.card-scan{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.system-pill span,.card-scan{animation:none}.reveal-card{opacity:1;transform:none;transition:none}.primary-cta,.next-button,.submit-button,.primary-cta span,.next-button span,.submit-button span{transition:none}.cursor-glow{display:none}}

/* Readability and keyboard safeguards for a wide age range. */
.need-option:has(input:focus-visible){outline:3px solid var(--amber)!important;outline-offset:4px}.system-pill,.state-nodes span,.service-area span,.family-caption span,.need-option i{font-size:.75rem}.privacy-note{font-size:.8rem}
@media(max-width:850px){.header-reassurance{font-size:.75rem}.header-reassurance .status-dot{flex:0 0 auto}}
@media(max-width:380px){.header-reassurance{max-width:105px;line-height:1.2}.brand img{width:145px}}

/* Clear organizational disclosure, presented as ordinary information rather than a status effect. */
.follow-up-note{margin:28px 0 0!important;padding:14px 17px;border-left:3px solid var(--mint);background:rgba(5,38,29,.64);color:#e0ece7!important;font-size:.92rem!important;line-height:1.5!important;max-width:520px}.header-reassurance{color:#40574e}.need-option i{display:none}
@media(max-width:850px){.follow-up-note{margin-top:24px!important}.header-reassurance{max-width:150px;text-align:right;line-height:1.25}}

/* Acquisition-first layout: the shortest useful path appears before supporting content. */
.state-field{margin-top:18px}.optional-label{display:inline;color:#74857e;font-size:.75rem;font-weight:500;margin-left:5px}.progress span{width:50%}
@media(max-width:850px){.hero{min-height:580px}.hero-content{padding:220px 0 48px}.review-section{padding:38px 0 64px}.lead-card{order:-1}.review-intro blockquote{display:none}.review-intro h2{font-size:2.7rem}.trust-bar{padding-top:14px;padding-bottom:14px}}
@media(max-width:480px){.hero{min-height:550px}.hero-content{padding-top:190px}.hero h1{font-size:2.75rem}.hero-actions{margin-top:22px}.follow-up-note{font-size:.85rem!important}.review-section{gap:32px}}
