:root {
  --deep-sage: #53675D;
  --gray-sage: #74857C;
  --eucalyptus: #96A69D;
  --clay: #A7795F;
  --linen: #F5F1E9;
  --mist: #E4E9E4;
  --white: #FDFCF8;
  --charcoal: #2D3330;
  --border: #CAD3CD;
  --danger: #8B3E35;
  --shadow: 0 18px 50px rgba(45,51,48,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",sans-serif;color:var(--charcoal);background:var(--white);line-height:1.55}
h1,h2,h3,.eyebrow,.button,nav{font-family:"Manrope",sans-serif}
img{max-width:100%;display:block}
a{color:inherit}
.shell{width:min(1160px,calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--charcoal);color:white;padding:.7rem 1rem;z-index:99}.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(253,252,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(116,133,124,.2)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:280px;height:74px;object-fit:contain;object-position:left center}.header-inner nav{display:flex;align-items:center;gap:25px;font-size:.94rem;font-weight:700}.header-inner nav a{text-decoration:none}.nav-cta{background:var(--deep-sage);color:white;padding:.7rem 1rem;border-radius:999px}
.hero{background:linear-gradient(135deg,var(--linen),var(--mist));padding:85px 0 72px}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:68px;align-items:center}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;color:var(--deep-sage)}h1{font-size:clamp(2.8rem,6vw,5.3rem);line-height:1.02;margin:17px 0 24px;letter-spacing:-.045em}h1 span{color:var(--deep-sage)}.hero-lead{font-size:1.32rem;max-width:660px;margin:0 0 30px}.hero-actions,.success-actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.3rem;border-radius:12px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;font-size:.96rem}.button.primary{background:var(--deep-sage);color:white}.button.primary:hover{background:#43564d}.button.secondary{background:transparent;border-color:var(--deep-sage);color:var(--deep-sage)}.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#4d5d55;font-weight:600}.trust-row span:before{content:"✓";margin-right:7px;color:var(--clay)}.hero-card{background:rgba(253,252,248,.86);border:1px solid rgba(83,103,93,.18);box-shadow:var(--shadow);padding:36px;border-radius:26px}.hero-icon{width:116px;margin-bottom:18px}.quote{font-family:"Manrope",sans-serif;font-size:1.43rem;font-weight:700;line-height:1.35;margin:0 0 13px}.small{font-size:.96rem;color:#56635d}
.safety-banner{background:var(--charcoal);color:white}.safety-inner{display:flex;gap:20px;align-items:flex-start;padding:24px 0}.safety-symbol{min-width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--clay);font-family:"Manrope";font-weight:800}.safety-inner h2{font-size:1rem;margin:0 0 5px;min-height:38px;display:flex;align-items:center}.safety-inner p{margin:0;color:#ecf0ed}
.info-section{padding:70px 0}.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.three-cards article{padding:28px;border-radius:18px;background:var(--linen);border-top:4px solid var(--eucalyptus)}.three-cards h2{font-size:1.25rem;margin:0 0 8px}.three-cards p{margin:0}
.form-section{padding:80px 0;background:linear-gradient(180deg,var(--white),var(--linen))}.form-shell{max-width:930px}.form-heading{text-align:center;margin-bottom:28px}.form-heading h2{font-size:clamp(2rem,4vw,3.2rem);margin:8px 0}.form-heading p{margin:0}.privacy-panel{display:grid;grid-template-columns:1.3fr .7fr;gap:22px;background:var(--mist);border:1px solid var(--border);border-left:6px solid var(--deep-sage);padding:22px 24px;border-radius:16px;margin:28px 0}.privacy-panel p{margin:4px 0 0}.privacy-example{background:var(--white);border-radius:12px;padding:14px;align-self:center}.privacy-example span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;display:block;color:var(--gray-sage);font-weight:700}.progress-wrap{margin:28px 0}.progress-meta{display:flex;justify-content:space-between;font-weight:700;font-size:.88rem}.progress-track{height:9px;border-radius:999px;background:#dce3de;margin-top:8px;overflow:hidden}.progress-bar{height:100%;width:25%;background:var(--deep-sage);transition:width .25s ease}
form{background:var(--white);border:1px solid rgba(83,103,93,.18);border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:var(--shadow)}.form-step{display:none}.form-step.active{display:block}.form-step h3{font-size:1.45rem;margin:0 0 25px}.step-intro{margin-top:-15px;color:#5f6c65}.field{margin:0 0 28px}.field label,.field legend{font-weight:700;font-size:1.03rem}.field legend span,.optional{font-weight:500;font-size:.86rem;color:var(--gray-sage);margin-left:4px}fieldset{border:0;padding:0;min-width:0}select,input[type=date],textarea{width:100%;border:1.5px solid var(--border);background:white;color:var(--charcoal);border-radius:11px;padding:12px 13px;font:inherit;margin-top:8px}select:focus,input:focus,textarea:focus{outline:3px solid rgba(150,166,157,.28);border-color:var(--deep-sage)}textarea{resize:vertical;min-height:190px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.check-grid label{font-weight:500;border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff}.check-grid input{accent-color:var(--deep-sage);margin-right:7px}.check-grid.compact label{font-size:.95rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chip-grid{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.chip-grid input{position:absolute;opacity:0}.chip-grid span{display:block;border:1px solid var(--border);border-radius:999px;padding:9px 13px;cursor:pointer;background:white;font-weight:600}.chip-grid input:checked+span{background:var(--deep-sage);color:white;border-color:var(--deep-sage)}.conditional{background:#f7f8f6;padding:18px;border-radius:12px;border:1px dashed var(--gray-sage)}.inline-warning{background:#fff3eb;color:#6d4634;border-left:4px solid var(--clay);padding:11px 13px;border-radius:8px;margin:9px 0}.textarea-meta{display:flex;justify-content:space-between;color:var(--gray-sage);font-size:.87rem;margin-top:5px}.privacy-alert{background:#fff0ed;border:1px solid #d8a39c;color:#6b302b;border-radius:12px;padding:14px;margin-top:10px}.privacy-alert p{margin:4px 0 0}.field-error{color:var(--danger);font-weight:700}.consent-box{background:var(--mist);padding:18px;border-radius:12px}.consent-box label{font-weight:700}.consent-box input{accent-color:var(--deep-sage);margin-right:7px}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.form-actions #nextBtn,.form-actions #submitBtn{margin-left:auto}.form-message{margin-top:16px;background:#fff0ed;color:var(--danger);padding:12px;border-radius:10px;font-weight:700}.success-panel{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:24px;padding:50px 35px;box-shadow:var(--shadow)}.success-panel img{width:115px;margin:0 auto 18px}.success-panel h2{font-size:2.6rem;margin:8px 0}.success-actions{justify-content:center;margin:24px 0}.prototype-note{font-size:.9rem;background:var(--linen);padding:13px;border-radius:10px}
footer{background:var(--deep-sage);color:white;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand img{width:290px;filter:brightness(0) invert(1);opacity:.94}.footer-inner p{margin:3px 0;text-align:right}
@media (max-width:820px){.header-inner nav a:not(.nav-cta){display:none}.brand img{width:220px}.hero-grid,.privacy-panel{grid-template-columns:1fr}.hero{padding-top:58px}.three-cards{grid-template-columns:1fr}.check-grid,.two-col{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.footer-inner p{text-align:left}.form-actions{position:sticky;bottom:0;background:rgba(253,252,248,.94);padding:12px 0}.shell{width:min(100% - 24px,1160px)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress-bar{transition:none}}

/* Mobile-first refinements added for the HEARD branded header and report form */
.brand{display:flex;align-items:center;min-width:0;flex:0 1 520px}
.brand img{width:min(100%,480px);height:auto;max-height:66px;object-fit:contain;object-position:left center}
button,.button,select,input,textarea{touch-action:manipulation}
select,input[type=date],textarea{font-size:16px;min-height:48px}
.check-grid label{display:flex;align-items:flex-start;gap:8px;min-height:48px;overflow-wrap:anywhere}
.check-grid input{flex:0 0 auto;margin-top:.28rem}
.chip-grid label{max-width:100%}.chip-grid span{overflow-wrap:anywhere}
.form-shell,.form-step,.field{min-width:0}

@media (max-width: 820px){
  .site-header{position:relative}
  .header-inner{min-height:72px;gap:12px}
  .brand{flex:1 1 auto}
  .brand img{width:min(100%,360px);max-height:54px}
  .header-inner nav{flex:0 0 auto;gap:8px}
  .nav-cta{padding:.65rem .8rem;font-size:.86rem;white-space:nowrap}
  .hero-grid{gap:30px}
  .hero-card{padding:26px}
  .privacy-panel{gap:14px}
  form{border-radius:18px;padding:22px 16px}
  .form-actions{z-index:8;margin-left:-4px;margin-right:-4px}
  .form-actions .button{min-width:112px}
}

@media (max-width: 560px){
  .shell{width:calc(100% - 20px)}
  .header-inner{align-items:center;min-height:66px}
  .brand img{width:100%;max-width:245px;max-height:48px}
  .nav-cta{font-size:0;padding:.7rem;border-radius:999px}
  .nav-cta::after{content:"Report";font-size:.86rem}
  .hero{padding:42px 0 44px}
  h1{font-size:clamp(2.35rem,13vw,3.4rem)}
  .hero-lead{font-size:1.1rem}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button{width:100%}
  .trust-row{display:grid;gap:8px}
  .hero-card{border-radius:18px;padding:22px}
  .hero-icon{width:86px}
  .quote{font-size:1.2rem}
  .safety-inner{gap:12px;padding:20px 0}
  .safety-symbol{min-width:32px;height:32px}
  .safety-inner h2{min-height:32px}
  .info-section,.form-section{padding:48px 0}
  .three-cards article{padding:22px}
  .form-heading{text-align:left}
  .privacy-panel{padding:18px 16px;border-left-width:4px}
  .progress-meta{font-size:.82rem}
  form{padding:20px 14px;border-radius:16px}
  .field{margin-bottom:24px}
  .field label,.field legend{font-size:1rem}
  .check-grid{gap:8px}
  .check-grid label{padding:11px 10px}
  .two-col{gap:0}
  textarea{min-height:170px}
  .textarea-meta{align-items:flex-start;gap:8px;flex-direction:column}
  .form-actions{gap:8px;display:grid;grid-template-columns:1fr 1fr;position:sticky;bottom:0;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:rgba(253,252,248,.97)}
  .form-actions .button{width:100%;min-width:0;padding:.75rem .55rem}
  .form-actions #nextBtn,.form-actions #submitBtn{margin-left:0}
  .success-panel{padding:36px 18px;border-radius:18px}
  .success-panel h2{font-size:2rem}
  .success-actions{display:grid;grid-template-columns:1fr}
  .success-actions .button{width:100%}
  .footer-brand img{width:min(100%,270px)}
}

@media (max-width: 380px){
  .brand img{max-width:205px}
  .nav-cta{padding:.62rem}
  form{padding:18px 11px}
  .form-actions .button{font-size:.88rem}
}

/* Privacy promise card refinement */
.hero-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:left}
.hero-card .hero-icon{display:block;width:clamp(150px,48%,230px);height:auto;margin:0 auto 28px}
.hero-card .quote{width:100%;margin:0}
@media (max-width:480px){
  .hero-card .hero-icon{width:clamp(145px,58vw,205px);margin-bottom:24px}
}

/* Opening-position safeguard for desktop and mobile browsers */
html,body{scroll-padding-top:0}
#top{scroll-margin-top:0}
.hero-card .quote-support{font-size:1rem;line-height:1.55;color:#53675D;margin:16px 0 0;font-weight:600}
@media(max-width:700px){.hero-card .quote-support{font-size:.96rem;line-height:1.5;margin-top:14px}}

/* Privacy impact message — intentionally nested in the quote so it always renders */
.hero-card .quote .quote-support{
  display:block;
  font-family:"Source Sans 3",sans-serif;
  font-size:1rem;
  line-height:1.5;
  color:#53675D;
  font-weight:600;
  margin-top:18px;
}
@media (max-width:700px){
  .hero-card .quote .quote-support{font-size:.96rem;margin-top:15px}
}


/* HEARD privacy-card impact statement */
.hero-card > .quote-support{
  display:block;
  width:100%;
  font-family:"Source Sans 3",sans-serif;
  font-size:1rem;
  line-height:1.55;
  color:#53675D;
  font-weight:600;
  margin:18px 0 0;
}
@media (max-width:700px){
  .hero-card > .quote-support{font-size:.96rem;line-height:1.5;margin-top:15px}
}

/* Verified privacy-card layout: keep impact statement visible */
.hero-card > .quote-support{display:block!important;visibility:visible!important;opacity:1!important;width:100%;margin:22px 0 0!important;color:#53675D!important;font-family:"Source Sans 3",sans-serif!important;font-size:1.08rem!important;line-height:1.55!important;font-weight:700!important;}
@media(max-width:700px){.hero-card > .quote-support{font-size:1rem!important;margin-top:18px!important;}}
