/* Revision after acquisition audit: existing Magengard identity preserved. */
.hero{padding-block:55px}
.hero h1{font-size:clamp(43px,4.4vw,64px);line-height:1.08;letter-spacing:-.035em}
.hero-description{font-size:20px;max-width:43ch;margin-top:22px}
.hero .eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:19px}
.hero-photo figcaption{grid-template-columns:112px 1fr;font-size:14px}
.hero-photo figcaption small{display:block;font-size:11px;margin-top:7px}
.hero-reassurance{max-width:42ch}
.hero-reviews{margin-top:17px;font-size:15px;color:var(--sage);line-height:1.4}
.hero-reviews a{text-decoration:none;display:inline-block;padding-block:3px}
.hero-reviews a:hover{text-decoration:underline;text-underline-offset:4px}
.hero-reviews a>span:first-child{font-size:15px;letter-spacing:.08em;margin-right:7px}
.hero-reviews small{display:block;font-size:11px;margin-top:4px}
.proof-inner{padding-block:22px;grid-template-columns:1fr 1fr 1.2fr}
.proof-inner p{font-size:16px}
.quote-section{padding-block:65px 72px}
.quote-grid{grid-template-columns:.85fr 1.15fr;gap:85px}
.quote-intro h2{font-size:clamp(33px,3vw,44px);line-height:1.1}
.quote-intro>p:not(.eyebrow){font-size:18px;margin-top:19px;max-width:39ch}
.quote-intro .quote-local{font-size:15px;line-height:1.45}
.contact-block{margin-top:25px;padding-block:20px}
.contact-block>a{font-size:28px}
.form-panel{padding:27px 30px 21px}
.form-top{font-size:21px}
.form-help{font-size:14px;margin-block:17px}
.optional-details{margin-top:19px;padding:14px 0;border-block:1px solid var(--line)}
.optional-details summary{font-size:16px;font-weight:700;cursor:pointer}
.optional-details summary span{font-size:13px;font-weight:400;margin-left:5px}
.optional-details[open] summary{margin-bottom:10px}
.optional-details .form-row{gap:14px}
.terrain-section{padding-block:67px;background:var(--sage)}
.terrain-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.terrain-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.terrain-photo figcaption{font-size:12px;line-height:1.4;margin-top:10px}
.terrain-copy .eyebrow{margin-bottom:14px}
.terrain-copy h2{font-size:clamp(32px,3vw,43px)}
.terrain-copy>p:not(.eyebrow){margin-top:17px;font-size:17px}
.mission-list{margin:21px 0 0}
.mission-list>div{margin-top:15px}
.mission-list dt{font-size:17px;font-weight:700;line-height:1.3}
.mission-list dd{margin:5px 0 0;font-size:16px;line-height:1.4;max-width:47ch}
.terrain-copy .evidence-note{font-size:12px!important;line-height:1.4}
.follow-up{padding-block:68px}
.follow-head{gap:70px}
.follow-head h2{font-size:clamp(35px,3.4vw,48px)}
.follow-head>p{font-size:18px;max-width:34ch}
.process{grid-template-columns:repeat(3,1fr);gap:44px;margin-top:32px}
.process-label{margin:0 0 12px}
.process h3{font-size:25px}
.process li>p:last-child{margin-top:12px}
.follow-cta{margin-top:32px;font-size:16px}
.faq{padding-block:65px}
.faq .section-intro>p:not(.eyebrow){font-size:17px;max-width:32ch}
.faq summary{padding-block:18px;font-size:19px}
.faq details p{font-size:17px;padding-bottom:20px}
@media(max-width:960px){
  .hero h1{font-size:44px}.hero-grid{gap:26px}.hero-description{font-size:18px}
  .hero-photo figcaption{display:block;font-size:12px}.hero-photo figcaption br{display:none}
  .quote-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.quote-intro h2{font-size:34px}
  .form-panel{padding-inline:23px}.form-top{font-size:19px}.contact-block>a{font-size:24px}
  .terrain-grid{gap:35px}.terrain-copy h2{font-size:33px}
  .follow-head{gap:35px}.process{gap:24px}
}
@media(max-width:720px){
  .hero{padding-block:31px 29px}.hero-grid{gap:28px}.hero h1{font-size:clamp(36px,9.6vw,58px)}
  .hero .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:16px}
  .hero-description{font-size:18px;margin-top:18px}.hero-cta{margin-top:21px;min-height:51px}
  .hero-reassurance{font-size:13px;margin-top:10px}.photo-topline{font-size:9px}
  .hero-reviews{font-size:13px;margin-top:13px}.hero-reviews a>span:first-child{font-size:12px;margin-right:4px}
  .hero-photo figcaption{display:grid;grid-template-columns:90px 1fr;font-size:12px;gap:10px}
  .hero-photo figcaption small{font-size:10px;margin-top:4px}
  .proof-inner{grid-template-columns:1fr;padding-block:9px}
  .proof-inner p{padding-block:9px;font-size:14px;border:0}
  .quote-section{padding-block:35px 40px}.quote-grid{grid-template-columns:1fr;gap:22px}
  .quote-intro .eyebrow{font-size:10px;margin-bottom:12px}
  .quote-intro h2{font-size:32px}.quote-intro h2 br{display:none}
  .quote-intro>p:not(.eyebrow){font-size:16px;margin-top:13px;max-width:none}
  .quote-intro .quote-local{font-size:13px!important}
  .quote-intro .contact-block{display:none}
  .form-panel{padding:23px 20px 18px}.form-top{font-size:19px}.step-tabs{margin-top:18px}
  .form-help{font-size:13px;margin-block:14px}.form-step label{margin-top:15px}
  .form-next{min-height:48px;margin-top:19px}.recruitment{margin-top:18px;padding-top:14px}
  .terrain-section{padding-block:38px}.terrain-grid{grid-template-columns:1fr;gap:24px}
  .terrain-copy{grid-row:1}.terrain-copy h2{font-size:32px}.terrain-copy>p:not(.eyebrow){font-size:16px}
  .terrain-copy .eyebrow{font-size:10px;margin-bottom:12px}.mission-list{margin-top:18px}
  .mission-list dt{font-size:16px}.mission-list dd{font-size:15px}.terrain-photo figcaption{font-size:11px}
  .follow-up{padding-block:40px}.follow-head{grid-template-columns:1fr;gap:17px}
  .follow-head .eyebrow{font-size:10px;margin-bottom:12px}.follow-head h2{font-size:34px}
  .follow-head>p{font-size:16px;max-width:none}.process{grid-template-columns:1fr;gap:22px;margin-top:25px}
  .process-label{font-size:10px;margin-bottom:7px}.process h3{font-size:24px}
  .process li>p:last-child{font-size:16px;margin-top:8px}.follow-cta{margin-top:25px;width:100%;justify-content:space-between}
  .faq{padding-block:40px}.faq .section-split{gap:25px}.faq .section-intro .eyebrow{font-size:10px;margin-bottom:12px}
  .faq h2{font-size:33px}.faq .section-intro>p:not(.eyebrow){font-size:16px;margin-top:15px}
  .faq summary{font-size:18px;padding-block:16px}.faq details p{font-size:16px;padding-right:10px}
}

/* Consent choices use the existing Magengard palette and equal visual weight. */
.cookie-preferences{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0;min-height:30px;text-align:left}
.cookie-notice{position:fixed;z-index:30;left:24px;bottom:24px;width:min(560px,calc(100% - 48px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--cream-light);color:var(--ink);border:1px solid var(--sage);box-shadow:0 8px 32px #1b241f26;padding:25px 28px}
.cookie-notice h2{font-size:25px;line-height:1.2;letter-spacing:-.01em;margin-bottom:12px}
.cookie-notice p{font-size:16px;line-height:1.45;margin:10px 0;max-width:65ch}
.cookie-notice a{text-underline-offset:3px}.cookie-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.cookie-choice{flex:1;min-width:150px;min-height:48px;border:1px solid var(--forest);border-radius:2px;background:var(--forest);color:var(--cream);font:inherit;font-size:16px;font-weight:700;padding:12px 16px}
.cookie-choice:hover{background:var(--ink)}.cookie-notice :focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.legal-page .notice-intro{font-size:18px}.legal-page .preview-disclosure{background:var(--sage);padding:16px;font-size:17px}.legal-page ul{padding-left:24px;max-width:70ch}.legal-page li{margin-block:9px}.legal-page .cookie-preferences{font-size:18px;min-height:44px}
@media(max-width:640px){.cookie-notice{left:12px;bottom:78px;width:calc(100% - 24px);max-height:calc(100dvh - 100px);padding:20px}.cookie-notice h2{font-size:23px}.cookie-notice p{font-size:15px}.cookie-actions{gap:10px}.cookie-choice{min-width:105px;font-size:15px;padding:11px 10px}.footer-bottom>div{align-items:center}}
