/* Audit fixes shared by every current page. */
html{scroll-padding-top:0}
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}
main[id],main [id]{scroll-margin-top:110px}
.legacy-anchor{display:block;height:0}
footer#contact{scroll-margin-top:110px}
.link-arrow{display:inline-block;flex-shrink:0;white-space:nowrap}
.closing:after{content:none}
.closing{align-items:center}
.closing>div:last-child{width:100%;max-width:360px}
.closing p{max-width:35ch;line-height:1.6;margin-bottom:24px}
.closing .button{width:100%;min-width:0}
.editorial-toc a{display:block;padding:3px 0}
.button:hover span{transform:none}
.scroll-cue:hover{transform:translateY(3px)}
.case-card:hover .case-open,.service-row:hover>span:last-child,.note-card:hover .bottom>span:last-child,.seo-card:hover b{transform:translateX(3px)}
.decor-options .option{min-height:78px;line-height:1.4}
.decor-options .option span{min-width:0}
.estimate-simple .estimate-range{margin:28px 0 32px}
.mobile-estimate{display:none}
/* Percentage row gaps overflow an auto-height, single-column founder grid. */
.home-page #about .founder-grid{row-gap:40px}
@media(max-width:540px){.decor-options{grid-template-columns:1fr}.decor-options .option{min-height:58px}}
@media(max-width:760px){
  header .menu-toggle{width:44px;height:44px;flex:0 0 44px;padding:0;font-size:20px}
  header .header-cta{min-height:44px;display:inline-flex;align-items:center}
  header .nav,.home-page header .nav{top:100%;gap:0}
  header .nav a{display:flex;align-items:center;min-height:44px;width:100%}
  .video-dialog .close{width:44px;height:44px;flex-shrink:0}
  .steps .step{min-height:44px;font-size:10px}
  .home-page #about .founder-grid{gap:32px}
  .home-page #about .process-grid{margin-top:48px}
  .builder-shell>.estimate{display:none}
  .builder .mobile-estimate{display:grid;gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
  .mobile-estimate>span{font-size:11px;line-height:1.5;letter-spacing:.04em}
  .mobile-estimate>strong{font-size:34px;font-weight:500;line-height:1.15;letter-spacing:-.04em;overflow-wrap:break-word}
  .builder .input-grid{grid-template-columns:minmax(0,1fr)}
  .builder .field{min-width:0}
  .builder input[type=date]{display:block;min-width:0;min-inline-size:0;max-width:100%;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none}
}
@media(max-width:700px){
  main[id],main [id]{scroll-margin-top:96px}
  header .nav,.home-page header .nav{top:100%}
  header .header-cta{font-size:11px}
  .closing>div:last-child{max-width:none}
  .editorial-toc a{min-height:44px;padding:10px 0}
  .editorial-toc li{margin:4px 0}
}

/* Direct conversation after the calculator, without a second intake form. */
.contact-dialog{max-width:580px;padding:34px 38px 30px;background:#faf9f4;border-radius:24px;box-shadow:0 28px 100px #0003}
.contact-dialog::backdrop{background:#101010a8;backdrop-filter:blur(7px)}
.contact-dialog .modal-head{align-items:center;margin-bottom:26px;gap:12px}
.contact-dialog .close{flex-shrink:0;width:44px;height:44px;border:1px solid #d8d5cf;border-radius:50%;font-size:25px;line-height:1;display:grid;place-items:center;color:#171717}
.contact-dialog .close:hover{background:#eae7e0}
.contact-dialog h2{font-size:clamp(38px,4.5vw,58px);line-height:1.02;letter-spacing:-.055em;margin-bottom:23px}
.contact-dialog #brief-explanation{font-size:16px;color:#55534e;line-height:1.6;max-width:46ch}
.contact-dialog #brief-explanation p{margin-bottom:27px}
.contact-dialog #brief-explanation strong{color:#171717;font-weight:600}
.contact-telegram{display:flex;align-items:center;gap:16px;padding:21px 22px;border-radius:16px;background:#171717;color:#faf9f4;transition:background .2s,transform .2s}
.contact-telegram:hover{background:#303030;transform:translateY(-2px)}
.contact-channel-icon{width:48px;height:48px;border-radius:14px;background:#ff582a;color:#171717;flex-shrink:0;display:grid;place-items:center}
.contact-channel-copy{display:grid;gap:6px;min-width:0}
.contact-channel-copy small{font-size:9px;letter-spacing:.12em;line-height:1.2;color:#c7c3bb}
.contact-channel-copy strong{font-size:21px;line-height:1.25;font-weight:500;letter-spacing:-.025em}
.contact-channel-arrow{margin-left:auto;font-size:26px;flex-shrink:0;color:#ff744f}
.contact-dialog .contact-draft-hint{margin:15px 3px 27px;font-size:12px;line-height:1.6;color:#68645d;max-width:52ch}
.contact-call{border-top:1px solid #dcd8d0;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}
.contact-call>span{color:#68645d}
.contact-call a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;white-space:nowrap}
.contact-call a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:540px){.contact-dialog{padding:24px;width:calc(100% - 28px);border-radius:22px}.contact-dialog .modal-head{margin-bottom:23px}.contact-dialog h2{font-size:42px}.contact-dialog #brief-explanation{font-size:15px}.contact-telegram{padding:18px 16px;gap:12px}.contact-channel-icon{width:40px;height:40px;border-radius:12px}.contact-channel-copy strong{font-size:18px}.contact-channel-copy small{font-size:8px}.contact-channel-arrow{font-size:22px}.contact-call{gap:3px}}
@media(max-width:360px){.contact-dialog{padding:22px 18px}.contact-dialog h2{font-size:38px}.contact-telegram{padding:16px 12px;gap:10px}.contact-channel-icon{width:34px;height:38px}.contact-channel-copy strong{font-size:16px}.contact-channel-arrow{font-size:19px}}
@media(prefers-reduced-motion:reduce){.contact-telegram{transition:none}.contact-telegram:hover{transform:none}}
