/* Readable supporting text, consistent controls and balanced card layouts. */
.hero-actions .button,.subtle-link,.site-header nav>a,.hero-footnote,.hero-bottom>.mono,.hero-bottom>div,.hero-bottom>div>span,.service-tags>span,.issue-label,.evidence-note,.step-top>.mono,.delivery-steps>li>p,.step-output>.mono,.step-output>p,.engagement-details summary,.details-copy p,.offer-badge,.offer-grid p,.offer-cta p,.contact form label,.form-note,.footer-top p,.footer-links>a,.footer-base,.footer-base>span,.footer-base>span span,.footer-base>.mono,.footer-base>button{font-size:14px}
.contact input,.contact textarea,.contact select{font-size:16px}
.contact input::placeholder,.contact textarea::placeholder{color:#65745f}
.site-header nav>a{white-space:nowrap}
.site-header nav>a.button-nav,.site-header nav>a.button-nav:visited{color:var(--ink);background:var(--lime);border-color:var(--lime)}
.site-header nav>a.button-nav:is(:hover,:focus-visible,:active){color:var(--ink);background:#d9ff97;border-color:#d9ff97}
.button,.subtle-link,.footer-links>a,.footer-base>button{min-height:44px}
.subtle-link{display:inline-flex;align-items:center}
.hero-bottom>div{gap:25px}.hero-bottom>.mono{letter-spacing:.025em}
.engagement-details summary{padding-block:20px;line-height:1.7}
.details-copy p{font-size:14px;line-height:1.85}
.monthly-method summary{min-height:44px;align-content:center}
.footer-links>a{display:flex;align-items:center}.footer-links{row-gap:0}
.footer-base>.text-button{padding-block:10px}
.footer-base{padding-top:14px}
dialog .eyebrow,dialog>p:not(.eyebrow),dialog pre,dialog #copy-status{font-size:14px}
dialog .button{font-size:14px}.dialog-close{min-width:44px;min-height:44px}
.delivery-steps h3{line-height:1.18}.offer-grid>article{display:flex;flex-direction:column;align-items:flex-start}.offer-grid h3{line-height:1.25}
@media(min-width:961px){.delivery-steps h3{min-height:3.54em}.step-output{min-height:94px}.offer-grid h3{min-height:3.75em}}
@media(min-width:701px) and (max-width:960px){.delivery-steps h3{min-height:2.36em}.offer-grid h3{min-height:2.5em}}
/* Give the five-link navigation enough room: tablets use the same menu as phones. */
@media(max-width:960px){
  .menu-toggle{display:flex;width:44px;height:44px;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid #526956;border-radius:8px}
  .menu-toggle>span{display:block;width:18px;height:1px;background:#c8d9be;transition:transform .2s}
  .menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 88px);overflow-y:auto;background:var(--ink);border-bottom:1px solid #526956;box-shadow:0 18px 34px #0004;padding:18px 32px;align-items:stretch;gap:0}
  .site-header nav.open{display:flex;flex-direction:column}
  .site-header nav>a{font-size:16px;line-height:1.5;padding:13px 0;min-height:48px}
  .site-header nav>a.button-nav{font-size:15px;min-height:48px;margin-top:12px;padding:13px 20px;text-align:center}
  .hero-bottom{align-items:flex-start}.hero-bottom>div{gap:12px;flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:700px){
  .site-header nav{padding:17px 20px}
  .hero-copy>.eyebrow{line-height:1.6}.hero-actions{gap:13px 20px}
  .hero-footnote{font-size:14px;line-height:1.65;max-width:34em}
  .hero-bottom>.mono{font-size:14px}.hero-bottom>div{justify-content:flex-start;gap:10px 18px}.hero-bottom>div>span{font-size:14px;line-height:1.5}
  .delivery-steps h3,.offer-grid h3{min-height:0}.step-output{min-height:0}
  .footer-top .brand{font-size:17px}.footer-top>p{font-size:14px}.footer-links>a{font-size:14px;min-height:44px}
  .footer-base{font-size:14px;gap:12px}.footer-base>span,.footer-base>span span,.footer-base>button{font-size:14px}
  .contact form{padding:24px}.contact .form-note{font-size:14px;line-height:1.7}
  .audience-chips li{font-size:14px;line-height:1.5}
  dialog{padding:38px 24px 26px}dialog h2{padding-right:10px}
}
@media(max-width:380px){
  .shell{width:calc(100% - 32px)}.contact form{padding:22px 18px}
  .monthly-result{padding:22px}.monthly-chart .bar-top{gap:12px}.monthly-chart .bar-top>strong{white-space:nowrap}
  .about-compact{padding:22px}.about-compact .about-tags>span{max-width:100%;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.menu-toggle>span{transition:none}}
.hero-actions .subtle-link,.delivery .step-output>.mono,.contact .button,.contact #form-status{font-size:14px}
.brand{min-height:44px}
.mono.mono.mono{font-size:14px}
@media(min-width:961px){.delivery .step-output{min-height:128px}}

/* Keep the footer identity together and make the navigation a clear, ordered group. */
footer .footer-top{grid-template-columns:minmax(240px,1fr) auto;gap:55px;align-items:start;padding-bottom:34px}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
footer .footer-identity .brand{font-size:22px;min-height:44px;justify-self:start;width:fit-content;gap:11px}
footer .footer-identity .brand svg{width:30px;height:30px}
footer .footer-identity>p{font-size:14px;line-height:1.7;color:#adbec2;margin:0;max-width:280px}
footer .footer-top>.footer-links{display:flex;flex-wrap:wrap;align-items:start;justify-content:flex-end;gap:0 26px;grid-column:auto;grid-row:auto;justify-self:stretch}
footer .footer-links>a{font-size:14px;min-height:44px;line-height:1.5;display:inline-flex;align-items:center;white-space:nowrap;color:#b5c6cb}
footer .footer-links>a:hover{color:var(--lime)}
footer .footer-base{padding-top:14px;border-top-color:#2a3a46}
@media(max-width:1100px) and (min-width:961px){footer .footer-top{gap:30px}footer .footer-top>.footer-links{gap:0 18px}}
@media(max-width:960px){footer .footer-top{grid-template-columns:1fr;gap:22px;padding-bottom:29px}footer .footer-top>.footer-links{justify-content:flex-start;gap:0 30px}footer .footer-identity{gap:10px}}
@media(max-width:700px){
  footer{padding-top:31px}footer .footer-top{gap:23px;padding-bottom:24px}
  footer .footer-identity .brand{font-size:20px;gap:10px}footer .footer-identity .brand svg{width:28px;height:28px}
  footer .footer-top>.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;justify-content:start}
  footer .footer-links>a{justify-content:flex-start;min-height:44px;font-size:14px}
  footer .footer-links>a:last-child{grid-column:1/-1;border-top:1px solid #2a3a46;margin-top:7px;padding-top:7px;color:var(--lime)}
  footer .footer-base{padding-top:9px;gap:14px}
}
