/* Readable labels keep the same hierarchy on large screens and phones. */
:root .eyebrow {font-size:var(--eyebrow-size,clamp(13px,.9vw,16px));line-height:var(--eyebrow-leading,1.5);letter-spacing:var(--eyebrow-tracking,.11em)}
.section-number {font-size:inherit;color:inherit;opacity:.75}
.album-topline {font-size:13px;letter-spacing:.11em;line-height:1.5}
.closing-copy {--eyebrow-size:clamp(22px,2.2vw,38px);--eyebrow-leading:1.25;--eyebrow-tracking:.045em}
.service-row div>span {font-size:12px;letter-spacing:.035em}
.service-row:nth-child(3)>img {aspect-ratio:3/2;max-height:none;width:100%;justify-self:auto}

/* The visible location label is part of the main heading. */
.landing-copy h1>.eyebrow {display:block;font-family:var(--sans);font-weight:400}

/* A real button with switch semantics, a visible state and a generous tap area. */
.footer-links {align-items:center}
.footer-links .theme-toggle {display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 13px;border:1px solid #75806b;border-radius:28px;font-size:13px;line-height:1.4;white-space:nowrap}
.footer-links .theme-toggle[hidden] {display:none}
.theme-track {display:block;width:32px;height:18px;border-radius:12px;background:#6b7563;padding:3px;flex:none}
.theme-track::after {content:'';display:block;width:12px;height:12px;border-radius:50%;background:#f4f4ea}
.theme-toggle[aria-checked=true] .theme-track {background:#c8d5b6}
.theme-toggle[aria-checked=true] .theme-track::after {transform:translateX(14px);background:#202a20}
.theme-state {min-width:22px;color:#d1dac5;font-size:12px}
.footer-links .theme-toggle:hover {border-color:#d1dac5;text-decoration:none}

/* A charcoal gallery with warm text. Photographs are never color-inverted. */
:root[data-theme=dark] {--paper:#131914;--ink:#f1f0e7;--olive:#bdcfa7;--muted:#b2bbaa;--line:#414b3e;--dark:#0e140f;color-scheme:dark}
[data-theme=dark] .site-header.light {background:#131914f2;border-bottom-color:var(--line)}
[data-theme=dark] .site-header .brand img,[data-theme=dark] .intro-logo img {filter:brightness(0) invert(1)}
[data-theme=dark] .intro-glow {background:radial-gradient(ellipse at 50% 48%,#6d7d5c4a,transparent 64%);z-index:0}
[data-theme=dark] .camera {filter:drop-shadow(0 6px 24px #b6cba41c)}
[data-theme=dark] :is(.album,.services) {background:#1e271f}
[data-theme=dark] :is(.memory-sequence,.feeling,.feeling-pin,.legal-page) {background:var(--paper)}
[data-theme=dark] .memory-details {background:#18211a}
[data-theme=dark] .album-photo {box-shadow:0 18px 40px #0005}
[data-theme=dark] :is(.memory-print figcaption>span,.service-row p,.service-row div>span,.row-number,.services-heading>p:last-child,.legal-copy,.scroll-word,.intro-skip) {color:var(--muted)}
[data-theme=dark] .album-nav button {color:#b8c2ad}
[data-theme=dark] .album-nav button[aria-current=true] {color:var(--ink)}
[data-theme=dark] .little-star {color:var(--olive)}
[data-theme=dark] .scroll-line {background:linear-gradient(transparent,#bcc9ad)}
[data-theme=dark] :is(.button,.site-header.light .header-cta,.closing-cta) {background:var(--olive);color:#182016;border-color:var(--olive)}
[data-theme=dark] :is(.button,.site-header.light .header-cta,.closing-cta):is(:hover,:focus-visible) {background:#d3dfc3;color:#182016}
[data-theme=dark] .memory-controls button:hover:not(:disabled) {color:#182016}
[data-theme=dark] .photo-open {color:#242720}
[data-theme=dark] :is(.contact,.site-footer) {background:#101810;color:#edf1e6}
[data-theme=dark] .contact .section-number {color:inherit}
[data-theme=dark] :is(.field input,.field textarea,.copy-button,#lightbox,.lightbox-bar button,.lightbox-arrow) {color:#edf1e6}
[data-theme=dark] .button-light {background:#e0e9d4;color:#182016}
[data-theme=dark] :is(.field input,.field textarea)::placeholder {color:#aab69e}
[data-theme=dark] .field input:focus,[data-theme=dark] .field textarea:focus {border-color:#c9daba}
[data-theme=dark] :focus-visible {outline-color:#d0b38a}
[data-theme=dark] .feeling-window::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#131914c9,#1319149c 32%,transparent 68%);pointer-events:none}
[data-theme=dark] :is(.feeling-copy,.feeling-index) {color:var(--ink)}
[data-theme=dark] .closing-image::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#131914ed,#131914b8 33%,transparent 65%);pointer-events:none}
[data-theme=dark] :is(.closing-copy,.closing-note) {color:var(--ink)}
@media(max-width:700px){
 .closing-copy {--eyebrow-size:clamp(18px,5vw,24px)}
 .footer-links {align-items:center;gap:8px 20px}
 .footer-links .theme-toggle {min-height:48px;padding:10px 14px}
 [data-theme=dark] .closing-image::after {background:linear-gradient(0deg,#131914fa,#131914ce 35%,transparent 78%)}
 [data-theme=dark] .feeling-window::after {background:linear-gradient(0deg,#131914ed,#131914b3 35%,transparent 78%)}
}
@media print {
 :root[data-theme=dark] {--paper:#fff;--ink:#242720;--muted:#50544b;--line:#d6d6ca;color-scheme:light}
 [data-theme=dark] .legal-page {background:#fff}
}

/* Direct calls stay easy to reach on desktop and touch screens. */
.contact-phone {display:flex;align-items:center;width:fit-content;min-height:44px;gap:18px;margin-top:12px;border-bottom:1px solid #717762;font-size:16px}
.contact-phone span {font-size:23px}
.footer-links .footer-phone {display:inline-flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}

/* Keep the recovery page as calm and readable as the legal pages. */
.error-page .legal-copy {margin-top:32px;max-width:720px}
