/* Theme switch shared by all pages. The light palette is the site default. */
.theme-toggle{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #d8d9ca;border-radius:50%;background:#f9f8f2;color:var(--forest);margin-left:auto;transition:background .2s,border-color .2s}
.theme-toggle:hover{background:#ebece2;border-color:#aeb7a1}
.theme-toggle svg{grid-area:1/1;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
html[data-theme=dark]{color-scheme:dark;--night:#192920;--night-surface:#23362b;--night-card:#2b3d31;--night-line:#435548;--night-text:#f0ede3;--night-muted:#bec5b3;--night-terra:#d4a18b;--night-olive:#b6bf93}
html[data-theme=dark] .theme-toggle{background:#3b4d3b;border-color:#657662;color:#f3ebd9}
html[data-theme=dark] .theme-toggle:hover{background:#4a5d49}
html[data-theme=dark] .theme-toggle .theme-moon{display:none}
html[data-theme=dark] .theme-toggle .theme-sun{display:block}
html[data-theme=dark] body{background:var(--night);color:var(--night-text)}
html[data-theme=dark] .wordmark svg{stroke:var(--night-text)}
html[data-theme=dark] .main-nav{background:#2b3e31;border-color:#425745}
html[data-theme=dark] .main-nav a{color:#c2cbb6}
html[data-theme=dark] .main-nav a:hover{background:#405544;color:#fff}
html[data-theme=dark] .main-nav a[aria-current=page]{background:#f5f0e7;color:#294534;font-weight:600}
html[data-theme=dark] .header-cta,html[data-theme=dark] .button{background:#e7ddc9;border-color:#e7ddc9;color:#294534}
html[data-theme=dark] .button:hover{background:#f4eee2;border-color:#f4eee2}
html[data-theme=dark] .entry h1 em{color:var(--night-terra)}
html[data-theme=dark] .eyebrow{color:var(--night-olive)}
html[data-theme=dark] .entry-note,html[data-theme=dark] .app-footer,html[data-theme=dark] .app-footer a,html[data-theme=dark] .quiet-link{color:var(--night-muted)}
html[data-theme=dark] .quiet-link{text-decoration-color:#88927e}
html[data-theme=dark] .home-welcome{background:#314738}
html[data-theme=dark] .home-welcome .small-flower{color:#b8c6a0}
html[data-theme=dark] .home-welcome>p:not(.eyebrow),html[data-theme=dark] .home-welcome .quiet-link{color:#c6cebe}
html[data-theme=dark] .home-start{background:var(--night-surface);border-color:var(--night-line)}
html[data-theme=dark] .home-start-heading .eyebrow{color:var(--night-terra)}
html[data-theme=dark] .home-start-heading>span{color:#b4baa9}
html[data-theme=dark] .quick-services>a,html[data-theme=dark] .quick-services>a:last-child{background:var(--night-card);border-color:#4b5c4e;color:var(--night-text)}
html[data-theme=dark] .quick-services>a:hover{background:#3b513e;border-color:#a4b597}
html[data-theme=dark] .quick-services small{color:#bcc6b3}
html[data-theme=dark] .quick-services>a .quick-arrow{color:#cbd5bf}
html[data-theme=dark] .service-symbol,html[data-theme=dark] .quick-services>a:nth-child(n) .service-symbol{background:#465745;color:#ecd6c4}
html[data-theme=dark] .home-photo .image-label,html[data-theme=dark] .image-label{background:#24392fdd;color:#f4eee2;border-color:#bdcbb25e}
html[data-theme=dark] .service-tabs button,html[data-theme=dark] .filter-list button{color:#d5d9c9;border-color:#62715b}
html[data-theme=dark] .service-tabs button:hover:not([aria-selected=true]),html[data-theme=dark] .filter-list button:hover:not([aria-pressed=true]){background:#405443}
html[data-theme=dark] .service-tabs button[aria-selected=true],html[data-theme=dark] .filter-list button[aria-pressed=true]{background:#c7cda9;border-color:#c7cda9;color:#253b2d}
html[data-theme=dark] .service-slide{background:var(--night-surface);border-color:var(--night-line)}
html[data-theme=dark] .service-copy>p,html[data-theme=dark] .service-copy>small,html[data-theme=dark] .slider-footer p,html[data-theme=dark] .slider-hint{color:var(--night-muted)}
html[data-theme=dark] .service-copy ul{color:#d6decf}
html[data-theme=dark] .service-copy li:before{color:var(--night-terra)}
html[data-theme=dark] .slide-number{color:var(--night-olive)}
html[data-theme=dark] .icon-button{border-color:#72836b;color:var(--night-text);background:#304635}
html[data-theme=dark] .icon-button:hover{background:#526751}
html[data-theme=dark] .gallery-disclosure,html[data-theme=dark] .portfolio-meta small,html[data-theme=dark] .portfolio-index,html[data-theme=dark] .gallery-bottom p{color:var(--night-muted)}
html[data-theme=dark] .portfolio-image .round-arrow{background:#263c30ee;color:#f1e9db}
html[data-theme=dark] .project-modal{background:var(--night-surface);color:var(--night-text)}
html[data-theme=dark] .modal-copy>p:not(.eyebrow){color:var(--night-muted)}
html[data-theme=dark] .request-aside{background:#304535}
html[data-theme=dark] .request-aside p:not(.eyebrow){color:#d0d8c7}
html[data-theme=dark] .request-form{background:var(--night-surface);border-color:var(--night-line)}
html[data-theme=dark] .form-progress,html[data-theme=dark] .form-step label,html[data-theme=dark] .form-intro{color:var(--night-muted)}
html[data-theme=dark] .form-progress>div{background:#4d604d}
html[data-theme=dark] .form-progress i{background:var(--night-terra)}
html[data-theme=dark] .form-step input:not([type=radio]):not([type=checkbox]),html[data-theme=dark] .form-step select,html[data-theme=dark] .form-step textarea{background:#344a39;border-color:#61705d;color:var(--night-text)}
html[data-theme=dark] .form-step input::placeholder,html[data-theme=dark] .form-step textarea::placeholder{color:#acb8a6}
html[data-theme=dark] .choice-grid span{background:#324838;border-color:#62715d;color:var(--night-text)}
html[data-theme=dark] .choice-grid input:checked+span{background:#536449;border-color:#c3cca4}
html[data-theme=dark] .choice-grid span:before{background:#263b2f;border-color:#b1bfaa}
html[data-theme=dark] .choice-grid input:checked+span:before{background:#e6eadb;border-color:#c3cca4}
html[data-theme=dark] .button--ghost{background:transparent;border-color:#7a8b75;color:#e8ebde}
html[data-theme=dark] .button--ghost:hover{background:#435745}
html[data-theme=dark] .form-success{background:#395a3b;color:#f0f5e8}
html[data-theme=dark] .form-error{color:#f0b39f}
html[data-theme=dark] .coverage-app{background:var(--night-surface);border-color:var(--night-line)}
html[data-theme=dark] .map-toolbar{border-color:var(--night-line)}
html[data-theme=dark] .map-toolbar>label:not(.route-toggle),html[data-theme=dark] .route-toggle,html[data-theme=dark] .map-note,html[data-theme=dark] .map-legend{color:var(--night-muted)}
html[data-theme=dark] .map-toolbar select{background:#344a39;border-color:#64745f;color:var(--night-text)}
html[data-theme=dark] .map-column{background:#25382c}
html[data-theme=dark] .map-canvas{background:#324839}
html[data-theme=dark] .leaflet-tile-pane{filter:brightness(.77) saturate(.72) sepia(.11)}
html[data-theme=dark] .leaflet-control-attribution{background:#24392fdc!important;color:#e1e6d7!important}
html[data-theme=dark] .leaflet-control-attribution a{color:#dbe9d4!important}
html[data-theme=dark] .leaflet-bar a{background:#304436;color:#f4eee1!important;border-color:#61735d}
html[data-theme=dark] .map-fit{background:#304436;border-color:#61735d;color:#f4eee1}
html[data-theme=dark] .leaflet-tooltip,html[data-theme=dark] .leaflet-popup-content-wrapper,html[data-theme=dark] .leaflet-popup-tip{background:#2d4233;color:#f0ede3;border-color:#71836c}
html[data-theme=dark] .map-sidebar{border-color:var(--night-line)}
html[data-theme=dark] .zone-list-header span,html[data-theme=dark] .zone-choice span,html[data-theme=dark] .zone-detail>p:not(.eyebrow),html[data-theme=dark] #map-empty{color:var(--night-muted)}
html[data-theme=dark] .zone-choice{background:#304536;border-color:#536750;color:var(--night-text)}
html[data-theme=dark] .zone-choice[aria-pressed=true]{background:#526344;border-color:#b4c6a5}
html[data-theme=dark] .zone-detail{border-color:var(--night-line)}
html[data-theme=dark] .zone-detail .route-description{background:#3b4d3a}
html[data-theme=dark] .service-status li>span:last-child{color:var(--night-muted)}
html[data-theme=dark] .service-status li.selected-service{background:#455c43;color:#fff}
html[data-theme=dark] .map-network{background:#4d4436;color:#f1e2c9}
@media(max-width:700px){.theme-toggle{order:1;margin-left:auto;width:34px;height:34px;flex-basis:34px}.header-cta{margin-left:0}.main-nav{background:#e9e8de}html[data-theme=dark] .main-nav{background:#2b3e31}}
@media(max-width:380px){.wordmark>span{font-size:29px}.header-cta{font-size:8px;padding:9px 11px;gap:8px}}
html[data-theme=dark] .home-welcome .button{background:#e7ddc9;border-color:#e7ddc9;color:#294534}
html[data-theme=dark] .home-welcome .button:hover{background:#f4eee2}
@media(max-width:700px){.app-header{gap:8px}}
@media(max-width:380px){.header-cta{order:2;flex:1 0 100%;margin-left:0}.main-nav{order:3}}
html[data-theme=dark] .view-switch{background:#263b2d;border-color:#53664f}
html[data-theme=dark] .view-switch button{color:#c2ccb9}
html[data-theme=dark] .view-switch button[aria-pressed=true]{background:#f5f0e7;color:#294534}
html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a,html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a:nth-child(n),html[data-theme=dark] .home-start .quick-services[data-view=list]>a{background:var(--night-card);border-color:#536750;color:var(--night-text)}
html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a:nth-child(2){background:#344b3a}
html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a:nth-child(4){background:#3b4a3b}
html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a:nth-child(5){background:#405642}
html[data-theme=dark] .home-start .quick-services[data-view=widgets]>a:hover,html[data-theme=dark] .home-start .quick-services[data-view=list]>a:hover{background:#455b46;border-color:#91a382}
html[data-theme=dark] .app-footer>span{color:var(--night-muted)}
html[data-theme=dark] .app-footer .footer-cta{background:var(--night-card);border-color:#657662;color:var(--night-text);box-shadow:none}
html[data-theme=dark] .app-footer .footer-cta:hover{background:#e7ddc9;border-color:#e7ddc9;color:#294534}
html[data-theme=dark] .app-footer .footer-wa{background:var(--night-terra);border-color:var(--night-terra);color:#24362b}
html[data-theme=dark] .app-footer .footer-wa:hover{background:#e4b69d;border-color:#e4b69d;color:#24362b}
html[data-theme=dark] .home-welcome h2 em{color:var(--night-terra)}
html[data-theme=dark] .button,html[data-theme=dark] .header-cta{background:#e7ddc9;border-color:#e7ddc9;color:#294534}
html[data-theme=dark] .button:hover,html[data-theme=dark] .header-cta:hover{background:#f4eee2;border-color:#f4eee2;color:#294534}
