html:has(.single-screen){height:100%;overflow:hidden}.single-screen{height:100svh;overflow:hidden;display:flex;flex-direction:column}.home-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);gap:clamp(36px,4.5vw,90px);padding-block:38px 40px;outline:none}.hero-photograph{min-height:0;position:relative;overflow:hidden;background:#d9d9d9}.hero-photograph>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1)}.hero-photograph>img.is-color{filter:none}.hero-photograph figcaption{position:absolute;bottom:12px;left:16px;right:16px;pointer-events:none}.hero-photograph figcaption a{pointer-events:auto;display:inline;color:white;font:12px/1.5 var(--sans);text-shadow:0 1px 5px #000,0 0 12px #000}.introduction{min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:space-between;padding-top:30px;gap:24px}.intro-kicker{font:700 clamp(22px,2.07vw,40px)/1.06 var(--serif);letter-spacing:-.05em;margin-bottom:9px;white-space:nowrap}.intro-heading h1{font:700 clamp(44px,4.9vw,96px)/.99 var(--serif);letter-spacing:-.06em;white-space:nowrap}.intro-subtitle{font:16px/1.8 var(--serif);margin-top:28px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.intro-body{font:16px/1.85 var(--serif);max-width:520px;line-break:strict}.intro-body p+p{margin-top:17px}.intro-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px/1.5 var(--sans);color:var(--muted);letter-spacing:.025em;padding-top:6px}.intro-footer>span:last-child{white-space:nowrap}
@media(min-width:1800px){.home-layout{padding-block:48px 50px}.introduction{padding-top:42px}.intro-body{font-size:18px;max-width:620px}.intro-subtitle{font-size:18px}}
@media(max-width:1150px){.home-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;padding-block:28px 30px}.introduction{padding-top:15px}.intro-kicker{font-size:23px}.intro-heading h1{font-size:51px}.intro-subtitle{margin-top:22px}.intro-body{font-size:16px;line-height:1.8}}
@media(max-width:850px){.home-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding-block:24px 26px}.intro-heading h1{font-size:38px}.intro-kicker{font-size:18px}.intro-subtitle{font-size:16px}.intro-footer{flex-wrap:wrap}.intro-body p+p{margin-top:12px}}
@media(max-width:620px){.home-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,1fr) auto;gap:20px;padding-block:20px 22px}.hero-photograph>img{object-position:50% 64%}.hero-photograph figcaption{left:10px;bottom:8px}.hero-photograph figcaption a{font-size:12px}.introduction{padding:0;gap:14px}.intro-kicker{font-size:20px;letter-spacing:-.025em;margin-bottom:4px}.intro-heading h1{font-size:43px;letter-spacing:-.05em}.intro-subtitle{margin-top:10px;font-size:16px}.intro-body{font-size:16px;line-height:1.75}.intro-body p+p{margin-top:6px}.intro-footer{font-size:12px;padding-top:0}.intro-body p:first-child{display:none}}
@media(max-height:760px) and (min-width:621px){.home-layout{padding-block:24px}.introduction{padding-top:8px;gap:18px}.intro-subtitle{margin-top:20px}.intro-body p+p{margin-top:10px}.intro-heading h1{font-size:clamp(38px,4.4vw,72px)}}
@media(max-height:740px) and (max-width:620px){:root{--header-height:108px}.header-inner{grid-template-rows:62px 45px}.home-layout{padding-block:15px;gap:15px}.introduction{gap:10px}.intro-heading h1{font-size:36px}.intro-kicker{font-size:18px}.intro-subtitle{margin-top:7px}.intro-body{line-height:1.6}.intro-body p+p{margin-top:4px}}
@media(max-height:540px) and (min-width:621px){:root{--header-height:78px}.home-layout{padding-block:16px}.intro-kicker{font-size:20px}.intro-heading h1{font-size:42px}.intro-subtitle{margin-top:12px}.intro-body{line-height:1.5}.intro-body p+p{margin-top:6px}.intro-footer{padding:0}}
.section-page .home-layout{min-height:calc(100svh - var(--header-height))}
.section-page .hero-photograph{height:max(460px,calc(100svh - var(--header-height) - 78px))}
.section-page .intro-body p:first-child{display:block}
@media(max-width:620px){.section-page .home-layout{grid-template-rows:auto auto}.section-page .hero-photograph{height:360px}.section-page .introduction{gap:22px}.section-page .intro-footer{padding-block:6px 0}}
.single-screen .home-layout.has-carousel{--base-canvas-gap:56px;--canvas-gap:var(--base-canvas-gap);width:calc(100% - 2 * var(--canvas-gap));max-width:none;grid-template-columns:var(--frame-width) minmax(0,1fr);gap:var(--canvas-gap);align-items:center}
.hero-carousel{width:var(--frame-width);height:var(--frame-height);aspect-ratio:4/3;align-self:center;justify-self:center;background:var(--paper);border:0;outline:none;user-select:none}
.hero-carousel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.carousel-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.single-screen .introduction{container-type:inline-size}
.single-screen .intro-heading h1{font-size:clamp(30px,13cqw,96px)}
.single-screen .intro-kicker{font-size:clamp(18px,5.6cqw,40px)}
@media(max-width:620px){.single-screen .home-layout.has-carousel{grid-template-columns:minmax(0,1fr)}.single-screen .intro-heading h1{font-size:clamp(30px,12cqw,43px)}.single-screen .intro-kicker{font-size:20px}}
.intro-footer{justify-content:flex-end}

/* Two borderless canvases share a height; the right canvas owns its contents. */
.right-canvas{width:var(--side-width);height:var(--right-canvas-height,var(--frame-height));min-width:0;min-height:0;position:relative;align-self:center;justify-self:center;border:0;background:var(--paper)}
.right-canvas-content{position:absolute;inset:0}
.home-quote{position:absolute;top:var(--quote-top,12%);left:50%;transform:translateX(-50%);width:100%;max-width:28em;height:var(--quote-slot-height,auto);padding-inline:12px;display:flex;flex-direction:column;justify-content:center;text-align:center;color:var(--ink)}
.home-quote-text{margin:0;font:400 clamp(1rem,1.25vw,1.25rem)/1.8 var(--serif);letter-spacing:.025em;line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}
.home-quote-source{margin-top:10px;color:var(--muted);font:400 .8125rem/1.7 var(--serif);letter-spacing:.02em;overflow-wrap:anywhere}
.home-quote-source cite{font-style:normal}
.home-quote>*{flex:none}
html:has(.single-screen.has-quote-overflow){height:auto;overflow:auto}
.single-screen.has-quote-overflow{height:auto;min-height:100svh;overflow:visible}
.single-screen.has-quote-overflow .home-layout.has-carousel{flex:none;min-height:var(--quote-layout-height)}
.solar-stage{position:absolute;left:50%;top:var(--orbit-center,50%);transform:translate(-50%,-50%);width:var(--orbit-stage-width,100%);height:var(--orbit-stage-height,60%);min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}
.solar-footer{position:absolute;right:0;top:calc(100% + 8px);z-index:1;justify-content:flex-end;padding:0;white-space:nowrap;background:var(--paper);isolation:isolate}
.solar-plot{display:block;flex:none;width:var(--solar-width,100%);height:var(--solar-height,auto);aspect-ratio:624/464;overflow:visible}
.solar-orbit{fill:none;stroke:#b4b4b4;stroke-width:1;vector-effect:non-scaling-stroke}
.solar-moon-orbit{stroke-width:.75}
.solar-body{fill:#000;stroke:var(--paper);stroke-width:1.4;vector-effect:non-scaling-stroke;paint-order:stroke fill}
.solar-ring{fill:none;stroke:#000;stroke-width:1;vector-effect:non-scaling-stroke}
:root[data-theme=dark] .solar-orbit{stroke:#707070}
:root[data-theme=dark] .solar-body{fill:#fff}
:root[data-theme=dark] .solar-ring{stroke:#fff}
.sky-widgets{position:absolute;left:50%;top:var(--sky-widgets-top,calc(50% + var(--orbit-stage-height,0px) / 2 + 24px));transform:translateX(-50%);display:flex;align-items:center;gap:var(--sky-widget-gap,28px)}
.sun-cycle{position:relative;display:block;flex:none;width:var(--sun-cycle-size,56px);height:var(--sun-cycle-height,37.333px);aspect-ratio:3/2;border:0;border-radius:0;padding:0;background:transparent;cursor:default}
.sun-cycle-plot{display:block;width:100%;height:100%;overflow:hidden}
.sun-cycle-wave{fill:none;stroke:#b4b4b4;stroke-width:3;stroke-linecap:round}
.sun-cycle-horizon{fill:none;stroke:#b4b4b4;stroke-width:1;vector-effect:non-scaling-stroke}
.sun-cycle-sun{fill:#000;stroke:var(--paper);stroke-width:1.5;paint-order:stroke fill}
.sun-cycle-tooltip,.moon-phase-tooltip,.weather-tooltip,.solar-body-tooltip{position:absolute;bottom:calc(100% + 14px);width:max-content;max-width:calc(100vw - 32px);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink);font:400 .875rem/1.5 var(--sans);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s;z-index:3}
.sun-cycle-tooltip,.moon-phase-tooltip{left:50%;transform:translateX(-50%);display:flex;align-items:baseline;gap:7px}
.sun-cycle-time{color:inherit;font:inherit;font-variant-numeric:tabular-nums}
.sun-cycle:hover .sun-cycle-tooltip,.sun-cycle:focus-visible .sun-cycle-tooltip,.sun-cycle[data-revealed=true] .sun-cycle-tooltip{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.sun-cycle-tooltip,.moon-phase-tooltip,.weather-tooltip,.solar-body-tooltip{transition:none}}
:root[data-theme=dark] .sun-cycle-wave,:root[data-theme=dark] .sun-cycle-horizon{stroke:#707070}
:root[data-theme=dark] .sun-cycle-sun{fill:#fff}
.moon-phase{position:relative;display:block;flex:none;width:var(--sun-cycle-height,37.333px);height:var(--sun-cycle-height,37.333px);aspect-ratio:1;border:0;border-radius:0;padding:0;background:transparent;cursor:default}
.moon-phase-plot{display:block;width:100%;height:100%}
.moon-phase:after{content:"";position:absolute;inset:.78%;border:.5px solid #000;border-radius:50%;pointer-events:none}
:root[data-theme=dark] .moon-phase:after{content:none}
.moon-phase-tooltip{color:var(--ink)}
.moon-phase:hover .moon-phase-tooltip,.moon-phase:focus-visible .moon-phase-tooltip,.moon-phase[data-revealed=true] .moon-phase-tooltip{opacity:1;visibility:visible}
.weather-module{position:relative;flex:none;width:var(--sun-cycle-height,37.333px);height:var(--sun-cycle-height,37.333px)}
.weather-button{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:default;color:#000}
.weather-glyph{display:block;width:100%;height:100%;background:currentColor;-webkit-mask:var(--weather-icon,url('/assets/weather/cloud.svg')) center/contain no-repeat;mask:var(--weather-icon,url('/assets/weather/cloud.svg')) center/contain no-repeat}
:root[data-theme=dark] .weather-button{color:#fff}
.weather-module[data-status=loading] .weather-glyph,.weather-module[data-status=unavailable] .weather-glyph{opacity:.4}
.weather-tooltip{left:50%;right:auto;transform:translateX(-50%);display:block;overflow:hidden;text-overflow:ellipsis}
.weather-module:hover .weather-tooltip,.weather-module:focus-within .weather-tooltip,.weather-module[data-revealed=true] .weather-tooltip{opacity:1;visibility:visible}
.solar-body-tooltip{top:0;left:0;bottom:auto;transform:none}
.solar-body-tooltip.is-visible{opacity:1;visibility:visible}
.solar-hit{cursor:default}
.solar-hit:focus{outline:none}
@media(max-width:1150px){.single-screen .home-layout.has-carousel{--base-canvas-gap:32px}}
@media(max-width:850px){.single-screen .home-layout.has-carousel{--base-canvas-gap:24px}}
@media(max-width:620px){.single-screen .home-layout.has-carousel{grid-template-rows:minmax(0,1fr) minmax(0,1fr);padding-block:18px}}
@media(max-width:620px) and (min-height:541px){.single-screen.has-quote-overflow .home-layout.has-carousel{grid-template-rows:var(--frame-height) var(--right-canvas-height)}.home-quote{padding-inline:8px}.home-quote-source{margin-top:7px}}
@media(max-width:480px){.single-screen .home-layout.has-carousel{--base-canvas-gap:18px}}
@media(max-height:540px) and (max-width:620px){.single-screen .home-layout.has-carousel{grid-template-rows:minmax(0,1fr);grid-template-columns:var(--frame-width) minmax(0,1fr);padding-block:14px}}
@media(max-width:1150px),(max-height:760px){.single-screen .home-layout.has-carousel{padding-bottom:32px}}
