/* Compact light/dark mode control */
.theme-toggle{position:relative;display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;padding:7px 12px 7px 8px;border:1px solid #cfe1eb;border-radius:999px;background:#f3f9fc;color:#244b66;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.theme-toggle:hover{transform:translateY(-1px);border-color:#7fc1dc;box-shadow:0 5px 16px rgba(19,87,120,.12)}
.theme-toggle-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#fff3cb;color:#9b6912;font-size:16px;line-height:1;box-shadow:0 2px 8px rgba(88,74,31,.12);transition:transform .35s ease,background .3s ease,color .3s ease}
.theme-toggle-label{white-space:nowrap}
.theme-toggle:focus-visible{outline:3px solid #29a5d0;outline-offset:3px}
@media(max-width:850px){.head{gap:12px}.theme-toggle-label{display:none}.theme-toggle{padding:6px}}

/* Dark surfaces and legible type; warm ember is a restrained accent. */
html[data-theme="dark"]{color-scheme:dark;--ink:#e7f1f6;--blue:#72c8ea;--cyan:#61d0df;--red:#ff8a79;--muted:#b1c3ce;--line:#315063;--soft:#142b3a;--fire:#f1a45f;--fire-glow:rgba(242,133,71,.2);background:#0b1a25;color:var(--ink)}
html[data-theme="dark"] body{background:#0b1a25;color:#e7f1f6}
html[data-theme="dark"] header{background:#0e202d;border-color:#294454}
html[data-theme="dark"] .brand-name{color:#e3f2f7}
html[data-theme="dark"] .brand-name .service{color:#6bc8e2}
html[data-theme="dark"] nav{color:#c3d2dc}
html[data-theme="dark"] .hero{background:#0b1a25}
html[data-theme="dark"] .hero-building{opacity:.28;filter:saturate(.68) brightness(.72)}
html[data-theme="dark"] .hero::before{background:linear-gradient(90deg,rgba(7,20,30,.76),rgba(8,22,32,.44) 58%,rgba(8,22,32,.22)),linear-gradient(180deg,rgba(8,22,32,.35),transparent 75%)}
html[data-theme="dark"] .hero-inner{background:linear-gradient(100deg,rgba(9,26,38,.88),rgba(10,29,41,.68) 68%,rgba(10,29,41,.28));box-shadow:0 16px 50px rgba(0,0,0,.18)}
html[data-theme="dark"] .hero h1{color:#e5f4fa}
html[data-theme="dark"] .hero p{color:#c0d8e4}
html[data-theme="dark"] .section.soft{background:#122735}
html[data-theme="dark"] .section:not(.soft){background:#0b1a25}
html[data-theme="dark"] .section-head h2,html[data-theme="dark"] .section h2{color:#e3f1f7}
html[data-theme="dark"] .section-head p{color:#aabfca}
html[data-theme="dark"] .card{background:#132b3a;border-color:#294656;border-top-color:#428eaa;color:#e3edf2;box-shadow:0 9px 24px rgba(0,0,0,.16)}
html[data-theme="dark"] .card h3,html[data-theme="dark"] .card .documents-card-title,html[data-theme="dark"] .card .safety-card-title,html[data-theme="dark"] .card .articles-card-title{color:#e8f3f7}
html[data-theme="dark"] .card p,html[data-theme="dark"] .card .documents-card-description,html[data-theme="dark"] .card .safety-card-description,html[data-theme="dark"] .card .articles-card-copy{color:#b6c8d1}
html[data-theme="dark"] .card .icon{background:#1b4053;color:#77d2ec}
html[data-theme="dark"] .card .album-mark{background:#21485b;color:#8fe0ed}
html[data-theme="dark"] .card .album-copy small{color:#b7cbd5}
html[data-theme="dark"] .card .album-arrow{color:#78cde4}
html[data-theme="dark"] .card.emergency{background:#291e25;border-color:#5b3437}
html[data-theme="dark"] .card:hover,html[data-theme="dark"] .card:focus-visible{background:#18364a;border-color:#e39658;box-shadow:0 12px 32px rgba(0,0,0,.24),0 0 24px rgba(231,135,73,.12)}
html[data-theme="dark"] .card:hover h3,html[data-theme="dark"] .card:hover p,html[data-theme="dark"] .card:hover .documents-card-title,html[data-theme="dark"] .card:hover .documents-card-description,html[data-theme="dark"] .card:hover .safety-card-title,html[data-theme="dark"] .card:hover .safety-card-description,html[data-theme="dark"] .card:hover .articles-card-title,html[data-theme="dark"] .card:hover .articles-card-copy{color:#f3f8fa}
html[data-theme="dark"] .card::before{content:"";position:absolute;z-index:0;inset:-1px;border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(ellipse at 50% 110%,rgba(255,164,83,.2),transparent 61%);transition:opacity .35s ease}
html[data-theme="dark"] .card:hover::before,html[data-theme="dark"] .card:focus-visible::before{opacity:1}
html[data-theme="dark"] .notice{background:#173345;border-color:#31566a;color:#e1edf2}
html[data-theme="dark"] .notice h2{color:#e9f3f7}
html[data-theme="dark"] .notice p{color:#c0d0d9}
html[data-theme="dark"] .info-notice{background:#142f40}
html[data-theme="dark"] .info-summary-copy h2{color:#e9f3f7}
html[data-theme="dark"] .info-summary-copy>span{color:#bbced8}
html[data-theme="dark"] .info-toggle{background:#183d50;border-color:#42677a;color:#8edcf0}
html[data-theme="dark"] .info-content p{color:#c4d4dc}
html[data-theme="dark"] .store-gallery-heading{color:#e0edf2}
html[data-theme="dark"] .store-gallery-heading span{color:#a7bbc6}
html[data-theme="dark"] footer{background:#0e202d;border-color:#294454;color:#afc2cc}
html[data-theme="dark"] .theme-toggle{background:#172d3b;border-color:#496071;color:#eff5f7;box-shadow:0 3px 12px rgba(0,0,0,.22)}
html[data-theme="dark"] .theme-toggle-icon{background:linear-gradient(145deg,#344a6a,#293a54);color:#ffd485;box-shadow:0 0 13px rgba(255,174,84,.22);transform:rotate(-12deg)}
html[data-theme="dark"] .theme-toggle:hover{border-color:#e2a263;box-shadow:0 5px 17px rgba(234,143,77,.15)}
html[data-theme="dark"] .schedule-dialog,html[data-theme="dark"] .documents-dialog,html[data-theme="dark"] .safety-dialog,html[data-theme="dark"] .address-map-dialog{background:#122634;color:#e0edf2;border-color:#365466}
html[data-theme="dark"] .schedule-inner{background:linear-gradient(145deg,#142d3c,#102330 70%,#172c37)}
html[data-theme="dark"] .schedule-inner.season-winter{background:linear-gradient(145deg,#142d40,#1b3548 58%,#203d51)}
html[data-theme="dark"] .schedule-inner.season-spring{background:linear-gradient(145deg,#172f32,#1d3a35 58%,#243d37)}
html[data-theme="dark"] .schedule-inner.season-summer{background:linear-gradient(145deg,#353321,#20363b 58%,#244248)}
html[data-theme="dark"] .schedule-inner.season-autumn{background:linear-gradient(145deg,#34291f,#3c3026 58%,#453326)}
html[data-theme="dark"] .schedule-title,html[data-theme="dark"] .documents-head h2,html[data-theme="dark"] .safety-page-head h2,html[data-theme="dark"] .address-map-head h2{color:#e4f0f5}
html[data-theme="dark"] .schedule-subtitle,html[data-theme="dark"] .documents-head p,html[data-theme="dark"] .safety-page-head p,html[data-theme="dark"] .address-map-address{color:#b4c8d2}
html[data-theme="dark"] .schedule-select,html[data-theme="dark"] .schedule-search,html[data-theme="dark"] .documents-close,html[data-theme="dark"] .schedule-close,html[data-theme="dark"] .safety-close,html[data-theme="dark"] .address-map-close{background:#1b3645;border-color:#3a5b6d;color:#e7f2f6}
html[data-theme="dark"] .street-chip{background:#183343;border-color:#355567;color:#cddde4}
html[data-theme="dark"] .street-chip.active{background:#126b96;color:#fff;border-color:#48b4db}
html[data-theme="dark"] .documents-accordion,html[data-theme="dark"] .documents-photo,html[data-theme="dark"] .safety-gallery-block,html[data-theme="dark"] .safety-guidance{background:#172f3e;border-color:#355365;color:#d7e4e9}
html[data-theme="dark"] .documents-accordion>summary{background:linear-gradient(110deg,#1a3848,#17303e);color:#e2edf1}
html[data-theme="dark"] .documents-accordion-hint,html[data-theme="dark"] .documents-instructions,html[data-theme="dark"] .documents-photo-caption{color:#b4c7d0}
html[data-theme="dark"] .safety-dialog .safety-page{background:#122634!important}
html[data-theme="dark"] .safety-guidance h3,html[data-theme="dark"] .safety-guidance p{color:#d1e0e6}
html[data-theme="dark"] .articles-dialog{background:#091722;color:#e4eff4;border-color:#405b69}
html[data-theme="dark"] .articles-inner{background:radial-gradient(ellipse at 95% 0%,rgba(194,93,48,.14),transparent 39%),linear-gradient(145deg,#102331,#091722 74%)}
html[data-theme="dark"] .article-card{background:linear-gradient(145deg,#1a3545,#112633);border-color:#365364}
html[data-theme="dark"] .article-card[aria-selected="true"]{background:linear-gradient(145deg,#25485a,#173142);border-color:#e59a5b;box-shadow:0 0 24px rgba(238,132,61,.13)}
html[data-theme="dark"] .article-panel{background:linear-gradient(140deg,#142f3f,#0f2431);border-color:#3a5767}
html[data-theme="dark"] .article-case{background:rgba(41,105,126,.15);border-color:#376373}
html[data-theme="dark"] .address-map-frame-wrap{background:#142b38;border-color:#395969}
html[data-theme="dark"] .address-map-external{background:#1a3949;border-color:#426274;color:#99dced}
@media(prefers-reduced-motion:reduce){html[data-theme="dark"] *,html[data-theme="dark"] *::before,html[data-theme="dark"] *::after{scroll-behavior:auto!important}}

/* Compact shop gallery and enlarged viewer also follow the selected color theme. */
html[data-theme="dark"] .store-gallery-heading{color:#e2edf2}
html[data-theme="dark"] .store-gallery-heading span{color:#a9bdc8}
html[data-theme="dark"] .store-photo{background:#162d3b;border-color:#345263;box-shadow:0 7px 18px rgba(0,0,0,.16)}
html[data-theme="dark"] .store-photo-open img{filter:saturate(.9) brightness(.88)}
html[data-theme="dark"] .store-photo-open:hover img,html[data-theme="dark"] .store-photo-open:focus-visible img{filter:saturate(1.06) brightness(.98)}
html[data-theme="dark"] .store-photo figcaption{background:rgba(4,19,29,.84);color:#f1f7fa}
html[data-theme="dark"] .store-photo-dialog{background:#081822;border-color:#48616e}
html[data-theme="dark"] .store-photo-dialog-close,html[data-theme="dark"] .store-photo-dialog-arrow{border-color:rgba(255,255,255,.35);background:rgba(3,17,26,.8)}
html[data-theme="dark"] .store-photo-caption-large{color:#e7f0f4}

/* Smooth cross-theme color blending on major page surfaces. */
html body,html body::after,html header,html nav,html .hero,html .hero::before,html .hero-inner,html .section,html .section-head,html .card,html .notice,html .info-notice,html .info-content,html footer,html .schedule-dialog,html .schedule-inner,html .house-card,html .house-result,html .documents-dialog,html .safety-dialog,html .address-map-dialog,html .articles-dialog,html .articles-inner,html .article-card,html .article-panel,html .store-photo,html .store-photo-dialog{transition:background-color .78s cubic-bezier(.2,.7,.2,1),background-image .78s cubic-bezier(.2,.7,.2,1),color .62s ease,border-color .72s ease,box-shadow .72s ease,transform .28s ease}
html body{position:relative;isolation:isolate}
html body::after{content:"";position:fixed;z-index:9998;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 80% 14%,rgba(245,155,89,.11),transparent 42%),linear-gradient(135deg,rgba(9,27,40,.12),transparent 58%,rgba(41,136,164,.07));transition:opacity .95s cubic-bezier(.2,.7,.2,1)}



