html{scrollbar-gutter:stable}
html.contact-open{overflow:hidden}
.contact-dialog{width:min(960px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:1px solid #dce1d5;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 28px 100px #14221c40;overscroll-behavior:contain}
.contact-dialog::backdrop{background:#15241ecc;backdrop-filter:blur(5px)}
.contact-dialog-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--paper);border-bottom:1px solid var(--line)}
.contact-dialog-bar>span{font-size:10px;font-weight:650;letter-spacing:1.4px;line-height:1.6}
.contact-close{flex-shrink:0;display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:1px solid #d4dacd;border-radius:8px;background:transparent;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.contact-close:hover{background:#e9ede4}
.contact-dialog .contact{padding:0;background:transparent}
.contact-dialog .contact-layout{width:100%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0}
.contact-dialog .contact-layout>div:first-child{padding:35px 28px;background:#e9ede4}
.contact-dialog .contact h2{font-size:39px;letter-spacing:-1.7px;outline:none}
.contact-dialog .contact-layout>div>p{font-size:14px;line-height:1.85}
.contact-dialog .contact-note{font-size:12px;gap:12px;margin-top:27px}
.contact-dialog .contact-layout>div>.text-link{font-size:13px}
.contact-dialog .form-panel{border:0;border-radius:0;padding:35px 28px;background:var(--paper)}
.contact-dialog .form-row{grid-template-columns:minmax(0,1fr);gap:0}
.contact-dialog .form-intro{font-size:13px;margin-bottom:20px}
.contact-dialog .privacy-note{font-size:11px}
.contact-dialog textarea{min-height:105px}
@media(max-width:680px){
  .contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:14px}
  .contact-dialog-bar{padding:9px 16px;gap:10px}.contact-dialog-bar>span{font-size:9px;letter-spacing:1px}
  .contact-dialog .contact-layout{grid-template-columns:minmax(0,1fr)}
  .contact-dialog .contact-layout>div:first-child{padding:24px}
  .contact-dialog .contact h2{font-size:32px;margin-top:10px}.contact-dialog .contact h2 br{display:none}
  .contact-dialog .contact-layout>div>p{margin-top:14px}
  .contact-dialog .contact-links{margin-top:18px}
  .contact-dialog .contact-note{display:none}
  .contact-dialog .contact-layout>div>.text-link{margin-top:16px;font-size:13px}
  .contact-dialog .form-panel{padding:25px 24px}
}
@media(max-width:360px){.contact-dialog .contact-layout>div:first-child,.contact-dialog .form-panel{padding:22px 18px}.contact-dialog-bar>span{max-width:145px}}

/* Keep scrolling inside the rounded shell, below the fixed close bar. */
.contact-dialog{overflow:hidden}
.contact-dialog[open]{display:flex;flex-direction:column}
.contact-dialog-bar{position:relative;flex-shrink:0}
.contact-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--paper)}
.contact-scroll,.contact-dialog textarea,.phone-dialog{scrollbar-width:thin;scrollbar-color:#87977c #e9ede4}
.contact-scroll::-webkit-scrollbar,.contact-dialog textarea::-webkit-scrollbar,.phone-dialog::-webkit-scrollbar{width:8px;height:8px}
.contact-scroll::-webkit-scrollbar-track,.contact-dialog textarea::-webkit-scrollbar-track,.phone-dialog::-webkit-scrollbar-track{background:#e9ede4;border-radius:10px}
.contact-scroll::-webkit-scrollbar-thumb,.contact-dialog textarea::-webkit-scrollbar-thumb,.phone-dialog::-webkit-scrollbar-thumb{background:#87977c;border:2px solid #e9ede4;border-radius:10px}
.contact-scroll::-webkit-scrollbar-thumb:hover,.contact-dialog textarea::-webkit-scrollbar-thumb:hover,.phone-dialog::-webkit-scrollbar-thumb:hover{background:var(--green)}
.phone-dialog{width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #14221c40;overscroll-behavior:contain}
.phone-dialog::backdrop{background:#15241ea6;backdrop-filter:blur(5px)}
.phone-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}
.phone-top .eyebrow{font-size:9px}.phone-content{padding:30px 26px 20px;text-align:center}
.phone-symbol{display:grid;place-items:center;width:52px;height:52px;margin:auto;border-radius:16px;background:#e5ebdd;color:var(--green);font-size:27px}
.phone-content h2{font-size:29px;letter-spacing:-1px;outline:none}.phone-content>p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:14px}
.phone-number{display:block;margin:24px 0 13px;font-family:Manrope,sans-serif;font-weight:750;font-size:clamp(25px,5vw,34px);letter-spacing:1px;color:var(--green);user-select:all}
.phone-content .phone-hint{font-size:11px}.copy-phone{width:100%;margin-top:24px;justify-content:space-between}.phone-content .copy-status{min-height:24px;font-size:12px;margin-top:12px}
@media(forced-colors:active){.contact-scroll,.contact-dialog textarea,.phone-dialog{scrollbar-color:auto}}
