/* ===== Final homepage refinement + forms (staged) ===== */
:root{--soft:#D9E3F6}

/* hero: tighter spacing so both CTAs sit in the first viewport */
.hero-text{padding-top:clamp(32px,4vw,60px);padding-bottom:clamp(32px,4vw,60px)}
.hero h1{max-width:15em}
.hero .lead{margin-top:22px;max-width:34em}
.hero-cta{margin-top:30px}
.hero .btn-line{background:transparent;border-color:rgba(255,255,255,.34);color:rgba(255,255,255,.92)}
.hero .btn-line:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.75);color:#fff;box-shadow:none}

/* editorial text-link rows (no filled button) */
.alink{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-weight:400;font-size:16px;text-decoration:none}
.alink span{background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px;padding-bottom:3px;transition:background-size .5s var(--ease)}
.alink svg{flex:none;transition:transform .35s var(--ease)}
.alink:hover svg{transform:translateX(4px)}
.alink:hover span{background-size:0 1px;background-position:100% 100%}
.edrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding-top:clamp(24px,3vw,34px)}
.edrow p{font-size:clamp(1.12rem,1.7vw,1.4rem);letter-spacing:-.015em;line-height:1.4}
.softblock{margin-top:clamp(28px,4vw,44px);padding:clamp(22px,3vw,32px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.softblock h3{font-size:clamp(1.2rem,1.8vw,1.5rem)}
.softblock p{margin-top:6px;opacity:.86;font-size:16px;max-width:34em}

/* how I work: heading and description share one left edge */
.steps h3{grid-template-columns:44px minmax(0,1fr)}
.steps p{margin-left:44px}

/* pricing sizes */
.sprice{font-size:clamp(1.5rem,2.35vw,1.95rem)}
.cprice{font-size:clamp(2.1rem,3.5vw,2.95rem)}

/* contact form card on dark section: readable eyebrow */
.bg-dark .form-card .eyebrow{color:#4A4F57}

/* forms */
.reqnote{font-size:13.5px;color:var(--grey);margin:0}
.fhelp{margin-top:6px;font-size:13.5px;line-height:1.4;color:var(--grey)}
.field.check{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.field.check input{width:22px;height:22px;flex:none;margin-top:2px;padding:0;border-radius:4px;accent-color:var(--blue);cursor:pointer}
.field.check label{flex:1 1 0;min-width:0;margin:0;font-size:14.5px;line-height:1.55;font-weight:300;cursor:pointer}
.field.check .ferr{flex-basis:100%;margin-left:34px}
.thanks h3:focus{outline:none}

/* final CTA banner */
.finalcta{background:var(--soft);color:var(--graphite);padding:clamp(56px,7vw,92px) 0}
.fc-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px clamp(28px,5vw,72px);align-items:center}
.finalcta .eyebrow{color:var(--grey)}
.finalcta h2{max-width:17em;font-size:clamp(1.8rem,3.3vw,2.7rem);color:var(--graphite)}
.finalcta .fc-p{margin-top:16px;max-width:36em;opacity:.9}
@media (max-width:760px){.fc-grid{grid-template-columns:minmax(0,1fr)}.finalcta .btn{width:100%}}

/* consultation request page */
.cpage{max-width:760px}
.cpage h1{font-size:clamp(2.1rem,4vw,3.2rem);max-width:14em}
.cpage .cinfoline{margin-top:16px;font-size:16px;font-weight:400;color:var(--blue-deep)}
.cpage .clead{margin-top:18px;max-width:38em;opacity:.9}
.cpage .cnote{margin-top:12px;max-width:38em;font-size:14.5px;color:var(--grey)}
.cpage .form-card{margin-top:34px}
.back2{display:inline-block;font-size:14.5px;text-decoration:none;color:var(--grey);margin-bottom:28px}
.back2:hover{color:var(--ink)}
@media (max-width:640px){.edrow .alink,.softblock .alink{min-height:44px}}
