/* Atelier / a physical solar sculpture. The rest of the page keeps its own rhythm. */
.hero { padding-top:42px; }
.hero-heading { display:block; padding-bottom:0; }
.hero-title-wrap { text-align:center; }
.hero-title-wrap .eyebrow { font-size:11px; margin-bottom:21px; letter-spacing:.15em; }
.hero h1 { font-size:clamp(55px,6.2vw,92px); line-height:1.08; letter-spacing:-.065em; }
.hero h1 span,.hero h1 em { display:inline; }
.hero h1 em { font-size:1.06em; line-height:1.08; }
.hero-introduction { margin:20px auto 0; text-align:center; color:var(--muted); font-size:15px; line-height:1.65; }
.hero-introduction br { display:none; }
.universe-story { margin-top:25px; height:1060px; }
.universe-sticky { width:min(1600px,100%); padding-inline:clamp(16px,2.3vw,40px); top:85px; }
.universe-topline { margin-inline:22px; padding-block:17px; border-top:0; color:#606060; font-size:10px; letter-spacing:.11em; }
.universe-topline b { display:inline-block; margin-inline:10px; font-weight:400; opacity:.4; }
.universe-live { font-size:10px; }
.universe-live i { box-shadow:0 0 0 4px #a6a6a618; }
.universe-surface { height:clamp(560px,calc(100svh - 190px),720px); min-height:0; margin:0; border:1px solid #91919124; border-radius:28px; background:radial-gradient(ellipse at 52% 37%,#f2f2f2 0%,#eeeeee 28%,#e8e8e848 57%,transparent 77%),linear-gradient(150deg,#fdfdfd,#f2f2f2 75%,#dedede); box-shadow:inset 0 1px 0 #ffffff,0 24px 70px -45px #5555554a; overflow:clip; isolation:isolate; }
.universe-surface::before { content:''; position:absolute; inset:0; pointer-events:none; z-index:0; background:radial-gradient(ellipse at 10% 0%,#ffffff99,transparent 40%),linear-gradient(115deg,#ffffff33,transparent 42%); }
.universe-halo { inset:12% 16% 25%; border-radius:50%; background:radial-gradient(ellipse,#ffffff77,#dddddd2e 40%,transparent 70%); filter:blur(12px); }
.universe-signature { position:absolute; left:30px; top:28px; display:flex; flex-direction:column; gap:5px; pointer-events:none; opacity:.8; color:#6f6f6f; z-index:2; }
.universe-signature>span { font-size:12px; letter-spacing:.2em; font-weight:600; }
.universe-signature small { font-size:11px; font-weight:400; }
.hero .orbit-scene { --scene-ink:#3c3c3c; --scene-muted:#606060; --scene-accent:#595959; --scene-ui:#f5f5f5ed; min-height:0; }
.hero .solar-stage { inset:8px 0 126px; overflow:visible; }
.hero .orbit-canvas { cursor:grab; z-index:1; }
.hero .orbit-canvas:active { cursor:grabbing; }
.hero .planet-link { background:transparent; border:0; box-shadow:none; outline-offset:6px!important; }
.hero .planet-emblem { visibility:hidden; pointer-events:none; }
.hero .planet-name { top:calc(100% + 7px); left:50%; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; font-size:12px; line-height:1.4; letter-spacing:.035em; font-weight:600; color:#404040; opacity:.9; transform:translateX(-50%); text-shadow:0 1px 6px #f5f5f5; transition:opacity .25s,color .25s; }
.hero .planet-link[data-active=true] .planet-name,.hero .planet-link:focus-visible .planet-name { color:#242424; opacity:1; transform:translateX(-50%); }
.hero .planet-domain { position:absolute; display:block; top:calc(100% + 27px); left:50%; transform:translateX(-50%); font-size:10px; color:#606060; white-space:nowrap; opacity:0; transition:opacity .25s; pointer-events:none; }
.hero .planet-link[data-active=true] .planet-domain,.hero .planet-link:focus-visible .planet-domain { opacity:1; }
.hero .orbit-center-label { font-size:21px; letter-spacing:.16em; color:#373737; line-height:1.2; text-shadow:0 2px 10px #f2f2f2; }
.hero .orbit-center-label small { font-size:10px; letter-spacing:.13em; margin-top:8px; color:#606060; display:block; }
.hero .orbit-legend { bottom:66px; width:calc(100% - 64px); max-width:1100px; display:grid; grid-template-columns:repeat(6,1fr); gap:0; padding:0; border-top:1px solid #7e7e7e26; border-bottom:1px solid #7e7e7e26; }
.hero .orbit-legend a { min-height:48px; border:0; border-radius:0; background:transparent; justify-content:center; gap:10px; padding:12px 14px; font-size:12px; letter-spacing:.02em; transition:background .25s,color .25s; }
.hero .orbit-legend a+a { border-left:1px solid #7e7e7e26; }
.hero .orbit-legend a:hover,.hero .orbit-legend a[data-active=true],.hero .orbit-legend a:focus-visible { transform:none; background:#f8f8f880; color:#2e2e2e; }
.hero .orbit-key { font-size:10px; font-weight:400; color:#606060!important; }
.hero .legend-arrow { margin-left:3px; font-size:13px; }
.hero .orbit-controls { bottom:11px; gap:25px; font-size:11px; letter-spacing:.015em; }
.hero .orbit-pause { min-height:38px; border-color:#7070703a; background:#f5f5f580; padding:9px 13px; font-size:11px; }
.hero .orbit-pause:hover { background:#fefefe; }
.universe-bottomline { border:0; padding:17px 22px; font-size:12px; color:#606060; }
.universe-bottomline>span>b { font-size:19px; margin-right:10px; font-weight:400; vertical-align:-1px; }
.universe-bottomline>a { font-size:12px; }
.hero .scene-static .planet-emblem { visibility:visible; }
.hero .scene-static .planet-name { opacity:1; }
.hero .scene-static .scene-fallback-globe { width:140px; height:140px; }
@media(min-width:1650px){.hero{padding-top:48px}.universe-story{height:1140px}.universe-surface{height:760px}.hero-introduction{font-size:16px}}
@media(max-width:1100px){.hero h1{font-size:6.2vw}.universe-surface{height:640px}.universe-story{height:990px}.universe-signature{left:24px;top:24px}.hero .planet-name{font-size:11px}.hero .orbit-center-label{font-size:18px}.hero .orbit-legend{width:calc(100% - 40px)}.hero .orbit-legend a{font-size:11px;padding-inline:8px;gap:8px}.hero .legend-arrow{display:none}}
@media(max-width:760px){
 .hero{padding-top:35px}.hero-heading{padding-inline:23px}.hero-title-wrap .eyebrow{font-size:9px;margin-bottom:21px;letter-spacing:.12em}.hero h1{font-size:clamp(46px,10.8vw,75px);line-height:1.05}.hero h1 span,.hero h1 em{display:block}.hero h1 em{font-size:1.08em}.hero-introduction{font-size:13px;margin-top:20px;line-height:1.7}.hero-introduction br{display:block}
 .universe-story{height:880px;margin-top:22px}.universe-sticky{padding-inline:8px;top:76px}.universe-topline{margin-inline:17px;padding-block:14px;gap:12px;font-size:9px;letter-spacing:.07em}.universe-topline>span:first-child{max-width:none}.universe-topline b{margin-inline:4px}.universe-live{font-size:9px;max-width:none;white-space:nowrap}.universe-live i{width:4px;height:4px;margin-right:4px}
 .universe-surface{height:590px;border-radius:21px;margin-inline:0}.universe-halo{inset:5% 0 30%;filter:blur(9px)}.universe-signature{left:18px;top:18px;gap:3px}.universe-signature>span{font-size:10px;letter-spacing:.17em}.universe-signature small{font-size:10px}.hero .solar-stage{inset:38px 0 157px}
 .hero .planet-name{font-size:12px;letter-spacing:.01em;top:calc(100% + 5px);opacity:0;padding:5px 8px;background:#f8f8f8e8;border-radius:6px}.hero .planet-domain{display:none}.hero .orbit-center-label{font-size:14px;letter-spacing:.12em}.hero .orbit-center-label small{font-size:8px;letter-spacing:.04em;margin-top:5px}
 .hero .orbit-legend{bottom:61px;width:calc(100% - 26px);display:flex;flex-wrap:wrap;justify-content:center;border:0;gap:5px}.hero .orbit-legend a{min-height:39px;min-width:calc(33.333% - 5px);border:1px solid #7e7e7e26;border-radius:7px;padding:10px 11px;font-size:12px;gap:6px;background:#f8f8f848}.hero .orbit-legend a+a{border-left:1px solid #7e7e7e26}.hero .orbit-key{font-size:9px}.hero .orbit-controls{bottom:10px;font-size:10px;gap:14px}.hero .orbit-pause{font-size:11px;min-height:38px}.hero .orbit-controls>.scene-hint{max-width:150px;white-space:normal;line-height:1.4}
 .universe-bottomline{padding:15px 15px;font-size:10px;gap:10px}.universe-bottomline>span>b{font-size:17px;margin-right:5px}.universe-bottomline>a{font-size:11px}.universe-bottomline>a span{margin-left:7px}.hero .scene-static .scene-fallback-globe{width:80px;height:80px}
}
@media(max-width:390px){.universe-topline{margin-inline:14px;font-size:9px;letter-spacing:0}.universe-live{font-size:9px}.universe-surface{height:570px}.universe-story{height:850px}.hero .orbit-controls>.scene-hint{max-width:130px}.hero .orbit-legend a{font-size:12px;padding-inline:8px}}
@media(max-height:600px){.universe-story{height:auto}.universe-sticky{position:relative;top:auto}.universe-surface{height:570px}}
@media(prefers-reduced-motion:reduce){.universe-story{height:auto}.universe-sticky{position:relative;top:auto}.universe-halo{transform:none;filter:none}}

.hero .planet-link[data-label-side="above"] .planet-name{top:auto;bottom:calc(100% + 8px)}
.hero .planet-link[data-label-side="above"] .planet-domain{top:auto;bottom:calc(100% + 29px)}
.hero .texture-fallback .planet-emblem{visibility:visible}
/* A reserved signature zone stays readable throughout complete revolutions. */
.hero .orbit-center-label{left:50%!important;top:auto!important;bottom:0;transform:translateX(-50%)!important;font-size:19px;letter-spacing:.18em}
.hero h1 em{margin-left:.14em}
@media(max-width:760px){.hero h1 em{margin-left:0}.hero .orbit-center-label{font-size:14px;bottom:3px}.hero .orbit-center-label small{font-size:9px}}
.hero .orbit-controls[hidden]{display:none}
@media(min-width:1101px){.hero .planet-name{font-size:13px}.hero .planet-domain{font-size:11px}.hero .orbit-legend a{font-size:13px}.hero .orbit-center-label{font-size:22px}}

/* The static and texture-fallback badges match the light 3D materials. */
.hero .orbit-scene{--scene-accent:#595959;--scene-muted:#606060}
.hero .planet-link[data-project] .planet-emblem{background:var(--brand-face,#f7fafc);border:3px solid var(--brand-edge,#d9e6ef);box-shadow:inset 0 1px 2px #fff,0 5px 14px #65788a20}
.hero .planet-emblem::after{background:linear-gradient(135deg,#ffffff22,transparent 55%)}
.hero .planet-emblem img{width:84%;height:84%;filter:none}
.hero .scene-hint,.hero .orbit-center-label small,.hero .orbit-key,.universe-bottomline{color:#606060!important}
/* A label stays legible when its moving planet passes over the dark core. */
.hero .planet-name{padding:3px 7px;border:1px solid #16161612;border-radius:5px;background:#f8f8f8ed;color:#282828;text-shadow:none}
.hero .planet-domain{padding:2px 6px;border-radius:4px;background:#f8f8f8ed;color:#555;top:calc(100% + 36px)}
.hero .planet-link[data-label-side="above"] .planet-domain{top:auto;bottom:calc(100% + 39px)}

@media(max-width:760px){
 .hero .orbit-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero .orbit-legend a{min-width:0;padding-inline:4px;font-size:11px;gap:4px}
 .hero .orbit-key{display:none}
 .hero .orbit-controls{width:calc(100% - 32px);justify-content:space-between;gap:10px}
 .hero .orbit-controls>.scene-hint{flex:1;max-width:160px;text-align:left}
 .hero .orbit-pause{flex-shrink:0}
}

