/* Phone navigation, touch targets and keyboard-safe dialogs. */
.mobile-menu-action{display:none}
html{scroll-padding-top:90px}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #f97316;outline-offset:3px}.modal{z-index:100;overflow-y:auto;overscroll-behavior:contain}.dialog{max-height:calc(100dvh - 40px);overflow-y:auto}.close{width:44px;height:44px;z-index:2}.dialog h2{padding-right:36px}.mobile-actions{display:none}body.dialog-open{overflow:hidden}
@media(max-width:800px){
 .nav-links .mobile-menu-action{display:block}
 .scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}
 .shell{width:calc(100% - 28px)}.nav{gap:12px;height:68px;z-index:40}.menu{min-width:64px;min-height:44px;font-size:16px;font-weight:700;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.nav-links.open{top:calc(100% + 6px);left:0;right:0;max-height:calc(100dvh - 160px);overflow:auto;gap:0;padding:8px}.nav-links a,.nav-links button{display:block;min-height:48px;padding:13px 14px;font-size:16px;text-align:left}.mobile-menu-action{border:0;background:transparent;color:var(--ink);font-weight:700;width:100%}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;gap:8px;background:rgba(255,255,255,.98);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.mobile-actions .button{flex:1;min-width:0;min-height:48px;padding:10px;font-size:14px}.mobile-actions .button-quiet{border:1px solid var(--line)}body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.hero{padding:16px 0 48px}.hero-card{padding:32px 22px;min-height:0;border-radius:20px}.hero h1{font-size:clamp(36px,9vw,58px);line-height:1.08;letter-spacing:-.04em}.hero-copy{font-size:16px;line-height:1.6}.hero-proof{display:none}.search-panel{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;padding:10px}.input-wrap{min-width:0}.input-wrap input,.input-wrap select{min-width:0;font-size:16px;height:50px}.search-panel .button{height:50px;font-size:16px}.metrics{margin-top:0}.metric{padding:16px 20px}section{padding:48px 0}.section-head h2{font-size:32px;line-height:1.15}.section-head p{font-size:16px}.button{min-height:48px}.categories,.steps,.pros-grid,.plans{grid-template-columns:minmax(0,1fr)}.category{min-height:100px;padding:20px}.category-icon{margin-bottom:14px}.pro-title,.pro-info,.dash-title,.profile-list div{flex-wrap:wrap}.dash-title .button{width:100%}.plan{padding:22px}.cta-card{padding:30px 22px}.cta-card h2{font-size:34px;line-height:1.1}.cta-card .button{width:100%}.modal{padding:12px;align-items:center}.dialog{padding:24px 18px;width:100%;max-height:calc(100dvh - 24px);border-radius:18px}.dialog h2{font-size:28px}.form-grid label{font-size:15px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:48px}.form-grid textarea{min-height:100px}.profile-top{align-items:flex-start}.profile-top>div{min-width:0}.dialog h2,.card-name,.project-row{overflow-wrap:anywhere}.card-dialog{padding:0}.virtual-card{padding:28px 20px}.card-data{flex-wrap:wrap;gap:12px}.card-name{font-size:30px}.map-toolbar select{width:100%;min-height:48px;font-size:16px}.master-map{height:300px}.help-strip{flex-wrap:wrap}.welcome-helper{left:12px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:35}.helper-button{width:48px;height:48px}.helper-message{max-width:min(220px,calc(100vw - 90px))}.access-tools{position:static;display:flex;flex-direction:row;justify-content:center;padding:14px;gap:12px}.access-tools button{width:48px;height:48px}.toast{left:14px;right:14px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:110}.footer-grid{grid-template-columns:1fr;gap:24px}.dialog-open .mobile-actions,.dialog-open .welcome-helper{display:none}
 /* Secondary pages keep every navigation link available. */
 .wrap{padding-left:16px;padding-right:16px}.nav.wrap{height:auto;min-height:68px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;position:sticky;top:0;background:#fff}.nav.wrap nav{display:flex;width:100%;overflow-x:auto;gap:8px;padding-top:8px;white-space:nowrap}.nav.wrap nav a{padding:10px 12px;min-height:44px;border-radius:8px;background:#f1f5f9}.wrap .cards{grid-template-columns:minmax(0,1fr)}.hero .wrap h1{font-size:34px;line-height:1.15}.section.wrap{padding-top:40px;padding-bottom:40px}.card .badge{float:none;display:inline-block;margin-bottom:12px}.card h3{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
