/* Production bridges retain existing functional components in the approved design. */
:root{--surface:#fff;--raised:#fff;--sunken:#f6f7f1;--accent:#214f3d;--accent-ink:#fff;--accent-soft:#edf3e6;--card:#fff;--faint:#536456}
/* Shared legacy theme tokens are bundled after static links. Keep the public
   mockup palette authoritative without changing portal/admin theme tokens. */
:root[data-theme="light"]{--ink:#202d27;--muted:#59645d;--green:#224e3b;--mint:#dbe8d8;--paper:#f5f6ef;--line:#d9dfd6;--white:#fff;--surface:#fff;--raised:#fff;--sunken:#f6f7f1;--accent:#214f3d;--accent-ink:#fff;--accent-soft:#edf3e6;--card:#fff;--faint:#536456}
html{scroll-behavior:auto}body{padding-bottom:0}.directory-mention{display:flex;justify-content:center;padding-block:25px}.directory-mention img{width:min(300px,100%);height:auto}
.container-page{width:min(1240px,calc(100% - 112px));margin-inline:auto}.public-voice-status{font-size:13px;line-height:1.7;margin-block:18px}.voice-studio .voice-tabs:empty{display:none}.voice-studio button:disabled{opacity:.5}.voice-studio .audio-error{font-size:12px}
[data-voice-list]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:24px}[data-voice-list]>article{border:1px solid var(--line);border-radius:8px;background:#fff;padding:24px}[data-voice-list] audio{width:100%;margin-top:15px}[data-voice-list] select{font-size:16px;max-width:100%}[data-voice-list] h3{font-size:26px}[data-voice-list] p{font-size:14px;line-height:1.8}
#managed-number-pricing,#outbound-phone-pricing{background:var(--paper);border-top:1px solid var(--line)}#managed-number-pricing .card,#outbound-phone-pricing .card{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}#managed-number-pricing h2,#outbound-phone-pricing h2{font-size:clamp(30px,3vw,43px);line-height:1.2}
.site-footer #review-notes{display:none}.phone-note{font-size:12px}.legal-prose h1{font-size:clamp(32px,4vw,48px);line-height:1.2;letter-spacing:-1px}.legal-prose h2{font-size:28px;line-height:1.3;letter-spacing:-.5px}
@media(max-width:720px){.container-page{width:calc(100% - 40px)}.site-header .brand{font-size:21px}.site-header .nav-actions{gap:9px}.site-header .nav-start{font-size:11px}.page-hero h1{overflow-wrap:normal}.legal-prose h2{font-size:24px}.legal-prose p,.legal-prose li{font-size:15px}}

.mobile-quick-actions{display:none}.developer-portal.container{padding-block:48px}.developer-portal .dev-article{max-width:900px;margin-inline:auto}.stage-dark{--ink:#18352a;--muted:#536456;--surface:#fff;--raised:#fff;--sunken:#f6f7f1;background:#fff;color:#18352a}
@media(max-width:720px){.mobile-quick-actions{position:sticky;top:70px;z-index:25;display:flex;justify-content:center;gap:26px;background:#f8faf4;border-bottom:1px solid #e2e8dc;min-height:40px;font-size:12px;font-weight:550;align-items:center}.mobile-quick-actions a{display:flex;align-items:center;min-height:40px}.developer-portal.container{padding-block:30px}.site-header .mobile-nav:not([hidden]){max-height:calc(100dvh - 110px)}}

.nav-dropdown>summary::after,.mobile-nav-group>summary::after{content:none}

/* Keep the mockup's next step within reach without covering the last content. */
.phone-tour-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.mobile-action .button>span{color:inherit;font-size:16px;margin:0}
.footer-support{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:20px;max-width:100%}
.footer-support>span{font-size:12px;color:var(--muted)}
.footer-support a,.contact-support .support-phone,.contact-support .contact-email{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.footer-support .support-phone{font-weight:600;color:var(--green)}
.contact-support .support-phone{font-weight:600}
.contact-phone-note{font-size:14px;line-height:1.8;color:var(--muted)}
.receptionist-phone-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 16px}
.receptionist-phone-choice button{min-width:0;min-height:76px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;text-align:left;color:var(--ink);cursor:pointer}
.receptionist-phone-choice button strong,.receptionist-phone-choice button span{display:block;overflow-wrap:anywhere}
.receptionist-phone-choice button strong{font-size:14px;line-height:1.5;font-weight:600}
.receptionist-phone-choice button span{font-size:12px;line-height:1.5;color:var(--muted);margin-top:4px}
.receptionist-phone-choice button[aria-pressed=true]{border-color:var(--green);background:var(--soft,#f3f7f2);box-shadow:inset 0 0 0 1px var(--green)}
.receptionist-phone-choice button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.phone-availability{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:16px}
@media(max-width:520px){.receptionist-phone-choice{grid-template-columns:1fr}.receptionist-phone-choice button{min-height:68px}}
@media(max-width:720px){
  html{scroll-padding-top:126px;scroll-padding-bottom:110px}
  body.has-mobile-action{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .mobile-action>div{min-width:0;flex:1}
  .mobile-action>div>span{font-size:10px;line-height:1.5}
  .mobile-action .button{flex-shrink:0;min-height:44px}
  .phone-demo{scroll-margin-block:126px 110px}
}
