:root{
  --navy:#0d2848;
  --blue:#3569a5;
  --blue2:#6fa3d7;
  --powder:#edf5ff;
  --pale:#d9e9fa;
  --ink:#10233d;
  --muted:#5f718a;
  --line:#bfd3ea;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fff 0%,#f7fbff 34%,#eaf4ff 100%);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;min-height:100vh}
.site-header{background:#fff}
.header-inner{max-width:804px;margin:0 auto;padding:26px 34px 20px;min-height:150px;display:flex;align-items:flex-start}
.brand-logo{width:150px;height:auto;display:block;object-fit:contain}
.top-rule{height:10px;background:#dbe7f4;position:relative;overflow:hidden}
.top-rule span{display:block;height:100%;width:0;background:var(--blue);transition:width .25s ease}
.page-shell{max-width:804px;margin:0 auto;padding:56px 38px 80px}
.intro-panel,.builder{max-width:680px;margin:0 auto}
.eyebrow{font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);font-weight:700;margin:0 0 26px}
.eyebrow.small{font-size:.72rem;margin-bottom:14px}.eyebrow.light{color:#dcecff}.counter{display:flex;align-items:baseline;gap:8px;color:#a9c4e3;margin-bottom:42px;font-family:"Playfair Display",Georgia,serif}.counter .big{font-size:3.4rem;line-height:1}.counter span:last-child{font-size:1.5rem}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;color:var(--navy)}
h1{font-size:clamp(2.75rem,7vw,5rem);line-height:1.02;margin:0 0 26px;letter-spacing:-.035em}h1 span{color:var(--blue)}
h2{font-size:clamp(2.55rem,7vw,4.6rem);line-height:1.04;margin:0 0 26px;letter-spacing:-.03em}h3{font-size:2rem;line-height:1.1;margin:0 0 16px}
.intro-copy,.helper{font-size:1.18rem;line-height:1.75;color:var(--muted);margin:0 0 24px}
.thought-card{border:1px solid var(--line);background:#fff;padding:25px 28px;margin:0 0 18px;font-size:1.28rem;font-weight:600;box-shadow:0 7px 20px rgba(29,76,122,.05)}
.step{display:none}.step.active{display:block;animation:fade .22s ease}@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
textarea,input{width:100%;border:1.5px solid var(--line);background:#fff;padding:20px;font:inherit;color:var(--ink);outline:none;border-radius:2px;box-shadow:0 4px 14px rgba(23,62,101,.03)}
textarea{resize:vertical;min-height:190px;line-height:1.55}input{height:70px;margin-top:10px;font-size:1.08rem}textarea:focus,input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(53,105,165,.08)}
label{display:block;font-size:1.05rem;font-weight:700;margin:28px 0;color:var(--ink)}
.consent{display:flex;align-items:flex-start;gap:12px;color:var(--muted);font-weight:400;font-size:.98rem;line-height:1.55}.consent input{width:20px;height:20px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--blue)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}.btn{border:0;padding:21px 28px;font:700 1.05rem "DM Sans",sans-serif;cursor:pointer;background:var(--blue);color:#fff;box-shadow:0 10px 20px rgba(26,75,123,.14)}.btn.primary{background:var(--blue)}.btn.wide{width:100%}.btn.white{background:#fff;color:var(--navy);box-shadow:none}.text-link{appearance:none;border:0;background:none;color:var(--blue);font:600 1rem "DM Sans",sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px 0}.text-link.center{display:block;margin:30px auto 0}
.form-error{color:#a22a40;font-weight:600;min-height:1.2em;margin-top:18px}
.email-gate{background:#fff;border-top:12px solid var(--navy);border-bottom:12px solid var(--blue2);padding:58px 44px 50px;box-shadow:0 12px 32px rgba(24,68,110,.06)}.result-ready-bar{display:none}
.loading{text-align:center;padding:80px 20px}.spinner{width:48px;height:48px;border:4px solid var(--pale);border-top-color:var(--blue);border-radius:50%;margin:0 auto 30px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.results{padding-top:18px}.result-card{background:#fff;border-top:3px solid var(--blue);padding:30px 26px;margin:0 0 22px;box-shadow:0 5px 18px rgba(27,67,106,.05)}.result-copy{font-family:"Playfair Display",Georgia,serif;font-size:1.55rem;line-height:1.5;margin:0;white-space:pre-wrap}.combined-card{background:var(--navy);border-bottom:10px solid var(--blue2);color:#fff;padding:36px 30px;margin:28px 0}.combined-card #combinedText{font-family:"Playfair Display",Georgia,serif;font-size:1.45rem;line-height:1.6;white-space:pre-wrap;margin:0 0 26px}.teaser-card{background:#e9f3ff;border-bottom:8px solid var(--blue2);padding:38px 30px;margin-top:34px;text-align:center}.teaser-card p{color:var(--muted);font-size:1.05rem;line-height:1.7}.teaser-card strong{color:var(--navy)}
footer{max-width:804px;margin:0 auto;text-align:center;padding:24px 25px 44px;color:var(--muted);font-size:.95rem}footer a{color:var(--blue);font-weight:700;text-decoration:none}footer p{margin-top:20px}
@media(max-width:600px){.header-inner{padding:22px 28px 18px;min-height:132px}.brand-logo{width:132px}.page-shell{padding:48px 28px 62px}.eyebrow{font-size:.73rem;margin-bottom:22px}.counter{margin-bottom:34px}.counter .big{font-size:2.9rem}.counter span:last-child{font-size:1.25rem}h1{font-size:3.15rem}h2{font-size:3rem}.intro-copy,.helper{font-size:1.05rem;line-height:1.68}.thought-card{font-size:1.12rem;padding:22px 24px}.email-gate{padding:42px 24px 36px;margin:0 -8px}.nav-row{flex-direction:column-reverse;align-items:stretch}.nav-row .btn{width:100%}.nav-row .text-link{text-align:center}.result-copy{font-size:1.34rem}.combined-card #combinedText{font-size:1.3rem}.teaser-card{padding:32px 22px}}
