/* Shared public-site design. Existing quote behavior and business terms are retained. */
:root{--public-blue:#175dec;--public-ink:#172b43;--public-muted:#526378}
body.public-page,body.city-landing{font-family:Arial,Helvetica,sans-serif;color:var(--public-ink);background:#fff;margin:0}
.home-public .top{background:#175dec}.home-public .footer{background:#f4f8ff;color:#526378;border-top:1px solid #dfe8f4}.home-public .footer a{color:#175dec}.home-public .footer strong{color:#172b43}.home-public .footer .fine{color:#64758a}
.public-menu{display:none;position:relative}.public-menu summary{list-style:none;cursor:pointer;color:white;width:36px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff66;border-radius:9px}.public-menu summary::-webkit-details-marker{display:none}.public-menu-panel{position:absolute;right:0;top:44px;width:240px;max-width:85vw;padding:10px;background:#fff;box-shadow:0 10px 35px #172b4326;border:1px solid #dce6f5;border-radius:13px;z-index:100}.public-menu-panel a{display:block;color:#175dec;text-decoration:none;font-size:15px;padding:10px 12px;font-weight:700}.public-menu-panel a:hover{background:#edf4ff;border-radius:7px}@media(max-width:1100px){.public-page .navlinks,.city-landing .navlinks,.home-public .navlinks{display:none}.public-menu{display:block}.public-page .nav,.city-landing .nav,.home-public .nav{gap:9px}.public-page .official-logo img,.city-landing .official-logo img,.home-public .official-logo img{max-width:145px}.public-page .header-phone strong,.city-landing .header-phone strong,.home-public .header-phone strong{font-size:16px}}
.public-page .top,.city-landing .top{background:var(--public-blue);color:#fff}
.public-page .nav,.city-landing .nav{min-height:78px;gap:24px}.public-page .navlinks a,.city-landing .navlinks a{font-size:14px;color:white}
.public-page .public-main{max-width:1120px;padding-top:24px;padding-bottom:50px}.public-main>.hero{padding:32px;border:1px solid #e1eafa;border-radius:20px;background:linear-gradient(140deg,#f2f7ff,#fff);margin:18px 0 30px}
.public-main h1{font-size:clamp(31px,4.6vw,52px);line-height:1.1;letter-spacing:-1.3px;max-width:850px;margin:0 0 18px}.public-main h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;margin:28px 0 14px}.public-main h3{font-size:20px;line-height:1.3}.public-main p,.public-main li{line-height:1.7}.public-main .lead{max-width:850px;font-size:18px;color:#526378;line-height:1.6}.public-main .crumbs{font-size:12px;color:#64758a;line-height:1.7}
.public-intro-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 12px}.public-intro-actions a{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid #175dec;border-radius:10px;background:#fff;color:#175dec;padding:11px 17px;text-decoration:none;font-size:15px;font-weight:700}.public-intro-actions .public-primary{background:#175dec;color:#fff}.public-action-note{font-size:12px!important;color:#64758a;max-width:800px;margin:10px 0 0}
.public-main .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.public-main .card,.public-main .grid>div{background:#f7faff;border:1px solid #e0e9f6;border-radius:16px;padding:24px;min-width:0;box-shadow:none}.public-main .card h2,.public-main .grid>div h2{font-size:23px;margin-top:0}.public-main .card p{color:#526378}.public-main .links{display:flex;flex-wrap:wrap;gap:12px}.public-main details{padding:18px 0;border-bottom:1px solid #e0e7f0}.public-main summary{font-weight:700;cursor:pointer}.public-main details p{color:#526378}.public-main .notice{padding:20px;border-left:4px solid #175dec;background:#edf4ff;border-radius:12px}.public-main img{max-width:100%;height:auto}.public-main iframe{max-width:100%}.public-main .btn{display:inline-flex;width:auto;min-height:46px;align-items:center;padding:11px 18px;font-size:15px;text-decoration:none}.public-main a:focus-visible,.public-intro-actions a:focus-visible{outline:3px solid #79aaff;outline-offset:3px}
.public-page .footer,.city-landing .footer{background:#f4f8ff;color:#526378;border-top:1px solid #dfe8f4}.public-page .footer a,.city-landing .footer a{color:#175dec}.public-page .footer strong,.city-landing .footer strong{color:#172b43}.public-page .footer .fine,.city-landing .footer .fine{color:#64758a}.public-footer-contact{margin-top:16px;display:flex;flex-wrap:wrap;gap:12px}.public-page .page-contact-actions{z-index:20}.public-policy .public-main{max-width:900px}.public-policy h1{margin-top:24px}.public-main .decision-panel{margin:28px 0;padding:24px;background:#edf4ff;border-radius:16px}.public-main .decision-actions{display:flex;flex-wrap:wrap;gap:12px}.public-main .decision-actions a{display:inline-flex;padding:12px 16px;border:1px solid #175dec;border-radius:10px;text-decoration:none;font-weight:700}.public-main .estimate-checklist{width:100%;border-collapse:collapse}.public-main .estimate-checklist th,.public-main .estimate-checklist td{padding:14px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #d6e1f0}.public-main .estimate-checklist th{width:33%}
@media(max-width:850px){.public-page .nav,.city-landing .nav{min-height:62px}.public-page .navlinks{display:none}.public-page .public-main{padding-top:16px;padding-bottom:85px}.public-main>.hero{padding:23px 19px;margin-top:12px;border-radius:16px}.public-main .grid{grid-template-columns:1fr;gap:14px}.public-main h1{font-size:32px;letter-spacing:-.9px}.public-main h2{font-size:25px}.public-main .lead{font-size:16px}.public-main .card{padding:20px}.public-intro-actions a{flex:1 1 42%;font-size:14px;padding:11px 9px}.public-main .decision-panel{padding:18px}.public-main .estimate-checklist td,.public-main .estimate-checklist th{font-size:14px;padding:10px 6px}.public-main .decision-actions a{width:100%}.public-main .locations-hero{grid-template-columns:1fr}.public-main .footer-grid{grid-template-columns:1fr}}
@media(max-width:850px) and (max-height:740px){.city-landing .hero-copy{display:none}}
/* Visible controls and motion preferences shared by all public pages. */
.location-experience{font-size:15px;font-weight:700;color:#175dec;line-height:1.5;margin:12px 0 18px}
.public-menu summary{width:44px;min-height:44px}
.public-menu-panel a{min-height:44px;box-sizing:border-box}
body:is(.public-page,.city-landing,.home-public) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #175dec;outline-offset:3px}
body:is(.public-page,.city-landing,.home-public) .top :is(a,summary):focus-visible{outline-color:#fff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body:is(.public-page,.city-landing,.home-public) *,body:is(.public-page,.city-landing,.home-public) *::before,body:is(.public-page,.city-landing,.home-public) *::after{animation:none!important;transition:none!important}}
