/* Focused landing overrides; the approved prototype's palette and typography remain. */
.landing header{height:88px}
.microgas-brand{font-size:29px;letter-spacing:-1.4px}
.ngb-signature{text-decoration:none;font-size:12px;color:#60705c;display:flex;align-items:center;gap:8px;min-height:44px}
.ngb-signature strong{font-size:22px;letter-spacing:-1px;color:#254d39}
.landing .hero{padding:34px 0 64px;gap:64px}
.landing .hero figure{aspect-ratio:1.05}
.landing .hero picture,.landing .hero img{display:block;width:100%;height:100%}
.landing .hero h1{font-size:clamp(44px,4.8vw,64px)}
.landing .hero-copy>p{max-width:420px}
.landing .quote-section{min-height:0;display:block;padding:64px 0;scroll-margin-top:16px}
.landing .quote-layout{align-items:center;gap:72px}
.quiz-card{min-width:0;border:1px solid #c9d3bd;border-radius:8px;padding:30px;background:#f8faf3;box-shadow:0 12px 36px #254d3909}
.landing .quote-intro .caption{margin-top:20px}
.step-progress{display:flex;gap:6px;margin:0 0 24px}
.step-progress span{height:3px;border-radius:3px;background:#d8e1cc;flex:1}
.step-progress .active{background:#647e48}
fieldset{padding:0;border:0;margin:0;min-width:0}
input[type=hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.landing input,.landing select{font-size:16px;background:#fff;min-height:50px}
.landing label{margin-bottom:16px}
.landing .form-grid{gap:0 16px}
.landing .consent{display:flex;align-items:flex-start;gap:8px;margin-top:24px}
.landing .consent input{flex:0 0 18px;width:18px;min-height:18px;margin-top:3px;accent-color:#254d39}
.landing .consent a{text-underline-offset:3px}
.landing .optional{border-top:1px solid #d4dbce;padding-top:16px;margin-top:20px}
.landing .optional summary{font-size:13px;min-height:44px;display:list-item}
.field-hint{font-size:11px;color:#64715f;display:block;margin-top:6px}
.next-button{width:100%;margin-top:8px}
.landing .form-actions{justify-content:flex-start}
.landing .form-actions button[type=submit]{flex:1}
.landing .form-actions button{gap:10px;padding-inline:16px}
.landing .error{padding:12px;background:#fff0ed;border-left:2px solid #952a21;margin:18px 0 0}
.landing .error:focus{outline:2px solid #952a21;outline-offset:3px}
.landing #submit-status:empty{display:none}
.landing .success{padding:20px 0}
.landing .success p{max-width:390px}
.landing .origin{min-height:0;padding:64px 0;gap:64px}
.landing .origin h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#69764d}
.landing .origin picture{display:block}
.landing .origin img{aspect-ratio:3/2}
.landing .footer{border-top:1px solid #d4dbce;align-items:start;padding:30px 0 36px}
.landing .footer .brand{display:inline-block;margin-bottom:12px;font-size:26px}
.footer-links{display:grid;gap:8px;font-size:12px;color:#60705c}
.footer-links a{text-underline-offset:4px;min-height:24px}
.footer-links span{color:#7a8472}
.price-panel{border-left:2px solid #879574;padding:0 0 0 14px;margin-top:24px}
.price-panel p{margin:4px 0;font-size:12px;color:#64715f;line-height:1.4}
.price-panel #price-value{font-size:22px;color:#254d39;font-weight:600}
.legal-page header{border-bottom:1px solid #d4dbce}
.legal-content{max-width:760px;padding:48px 0 60px;min-height:60vh}
.legal-content h1{font-size:42px;letter-spacing:-1.5px}
.legal-content h2{font-size:23px;letter-spacing:-.4px;margin-top:32px;margin-bottom:12px}
.legal-content p{color:#586a59}
.legal-content a{overflow-wrap:anywhere;text-underline-offset:4px}
.legal-content details{margin-top:24px;padding-top:20px;border-top:1px solid #d4dbce}
.legal-content summary{cursor:pointer;min-height:44px;font-weight:600}
@media(max-width:960px){.landing .hero{gap:32px}.landing .quote-layout,.landing .origin{gap:36px}.quiz-card{padding:24px}.landing .hero h1{font-size:48px}}
@media(max-width:640px){
  .landing header{height:72px}.microgas-brand{font-size:27px}.ngb-signature strong{font-size:20px}
  .landing .hero{gap:26px;padding:18px 0 32px}.landing .hero h1{font-size:45px;line-height:1.05;letter-spacing:-2px}
  .landing .hero .eyebrow{font-size:9px;letter-spacing:1.45px;margin-bottom:20px}.landing .hero-copy>p{font-size:15px}
  .landing .hero .actions{margin-top:22px}.landing .hero .actions .button{width:100%}
  .landing .hero .sub{font-size:11px}.landing .hero figure{aspect-ratio:1.6}
  .landing .hero figcaption{font-size:9px;bottom:8px;right:8px}
  .landing .quote-section{padding:36px 0}.landing .quote-layout{gap:22px}
  .landing .quote-intro h2{font-size:32px;margin-bottom:14px}.landing .quote-intro h2 br{display:none}
  .landing .quote-intro .eyebrow{font-size:10px;margin-bottom:14px}.landing .quote-intro p{font-size:14px}
  .landing .quote-intro .caption{font-size:11px;margin:12px 0 0}.quiz-card{padding:22px 18px}
  .landing .form-grid{grid-template-columns:1fr}.landing .form-actions{gap:10px}.landing .form-actions button{padding-inline:12px;font-size:13px}
  .landing .origin{gap:24px;padding:40px 0}.landing .origin-copy{grid-row:1}.landing .origin h2{font-size:32px}
  .landing .footer{gap:24px;padding-bottom:100px}.landing .footer>div:first-child{flex-basis:100%}
  .landing .footer-links{gap:12px}.landing .mobile-cta{backdrop-filter:blur(8px)}
  .legal-content{padding-top:32px}.legal-content h1{font-size:34px}.legal-page .footer{padding-bottom:32px}
}
@media(max-width:360px){.landing .hero h1{font-size:39px}.landing .hero .eyebrow{font-size:8px}.ngb-signature{font-size:11px}.quiz-card{padding:20px 14px}.landing .form-actions button{font-size:12px;padding-inline:10px}}
