/* Sun study: the same GECO controls around the existing physical visualization. */
.sun-studio{margin:0;min-width:320px;background:var(--brand-paper);color:var(--brand-ink);color-scheme:light;font-family:var(--brand-font);--text:var(--brand-ink);--muted:var(--brand-muted);--line:var(--brand-line)}
.sun-studio *{box-sizing:border-box}.sun-studio header{position:relative;z-index:2}.sun-studio header .brand span{color:var(--brand-muted)}
.sun-stage{height:calc(100dvh - 84px);min-height:730px;position:relative}#sun-map{position:absolute;inset:0}
.sun-card{position:absolute;top:24px;left:24px;width:310px;max-height:calc(100% - 172px);overflow:auto;padding:24px;background:var(--brand-surface);border:0;border-radius:var(--brand-radius);box-shadow:none}
.sun-card .eyebrow{color:var(--brand-muted);font:600 12px/1.5 var(--brand-font);letter-spacing:0}.sun-card h1{font-size:34px;line-height:1.12;font-weight:650;letter-spacing:-1.3px;margin:12px 0 18px}.sun-card p{color:var(--brand-muted);font-size:13px;line-height:1.6}.sun-card #place{color:var(--brand-ink);font-weight:600}.sun-card a{color:var(--brand-ink)}.sun-card details{font-size:13px;line-height:1.6}.sun-card summary{color:var(--brand-ink);cursor:pointer;min-height:44px;align-content:center}.sun-card .caption{font-size:12px}.sun-card button{font:600 13px/1.5 var(--brand-font);min-height:48px;color:var(--brand-ink);background:var(--brand-mist);border:0;padding:12px}
#sun-path{width:170px;display:block;margin:16px auto}#sun-path text{font:11px var(--brand-font);fill:var(--brand-muted)}
.sun-controls{position:absolute;bottom:24px;left:24px;right:24px;padding:18px 22px;background:var(--brand-surface);border:0;border-radius:var(--brand-radius);display:flex;gap:20px;align-items:center;flex-wrap:wrap}.sun-controls label{margin:0;color:var(--brand-ink);font-size:12px;line-height:1.6}.sun-studio .sun-controls input:not([type=range]){font:500 15px/1.5 var(--brand-font);background:var(--brand-paper);color:var(--brand-ink);padding:10px;min-height:48px;border:1px solid var(--brand-line);border-radius:var(--brand-radius)}.sun-controls button{font:600 13px/1.5 var(--brand-font);background:var(--brand-mist);color:var(--brand-ink);border:0;border-radius:var(--brand-radius);min-height:48px;padding:12px 16px}.sun-controls button:hover{background:var(--brand-accent)}.sun-controls #sun-play{background:var(--brand-pine);color:var(--brand-on-green);min-width:150px}.sun-controls #sun-play:hover{background:var(--brand-green)}.sun-controls .time{flex:1;min-width:220px}.sun-controls input[type=range]{padding:0;accent-color:var(--brand-green);width:100%;border:0;min-height:32px;display:block;background:transparent}.seasons{display:flex;gap:5px}#time-label{font:600 16px/1.5 var(--brand-font);font-variant-numeric:tabular-nums}
.sun-badge{position:absolute;top:24px;right:24px;background:var(--brand-pine);color:var(--brand-on-green);padding:12px 16px;font:500 11px/1.5 var(--brand-font);letter-spacing:0;max-width:300px}.sun-stage .maplibregl-ctrl-bottom-right{bottom:140px}.sun-studio :is(a,button,input,summary):focus-visible{outline:3px solid var(--brand-focus);outline-offset:4px}.sun-studio footer{padding:20px var(--experience-gutter);font:500 12px/1.5 var(--brand-font);color:var(--brand-muted)}
@media(max-width:1050px) and (min-width:761px){.sun-controls{gap:14px}.sun-controls .time{min-width:100%;order:3}.sun-card{max-height:calc(100% - 235px)}.sun-stage .maplibregl-ctrl-bottom-right{bottom:210px}}
@media(max-width:760px){.sun-studio .experience-header .experience-nav{width:100%;justify-content:flex-start;margin:0}.sun-stage{display:flex;flex-direction:column;gap:18px;height:auto;min-height:0;padding:0 20px 22px}#sun-map{position:relative;inset:auto;order:0;height:360px;width:calc(100% + 40px);margin:0 -20px}.sun-badge{top:14px;right:14px;left:14px;max-width:none;width:max-content;max-width:calc(100% - 28px);font-size:10px;padding:8px 10px}.sun-controls{position:static;order:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px;gap:14px;width:100%;min-width:0}.sun-controls #sun-play{min-width:0;align-self:end;font-size:12px;padding:12px 9px}.sun-controls label{min-width:0}.sun-controls input[type=date]{width:100%;min-width:0;font-size:16px;padding:10px 5px}.sun-controls .seasons{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.sun-controls .seasons button{padding:12px 5px;font-size:12px}.sun-controls .time{grid-column:1/-1;min-width:0;width:100%}#time-label{font-size:14px}.sun-card{position:static;order:2;width:100%;max-height:none;overflow:visible;padding:23px}.sun-card h1{font-size:28px;margin-top:12px}.sun-card h1 br{display:initial}#sun-path{width:190px}.sun-stage .maplibregl-ctrl-bottom-right{bottom:0}.sun-card .caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sun-studio *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Static legal footer (site_chrome.py): on wide screens one row below a slightly shorter stage. */
:root .sun-studio>footer.legal-footer[data-legal-footer]{justify-content:flex-start;gap:0 24px;padding:0 var(--experience-gutter);font-size:12px;color:var(--brand-ink)}
@media(min-width:761px){.sun-studio .sun-stage{height:calc(100dvh - 84px - 44px)}:root .sun-studio>footer.legal-footer[data-legal-footer]{flex-wrap:nowrap;white-space:nowrap;overflow-x:auto}}
