/* Approved celestial composition. Homepage hero only. */
.celestial-hero{padding:0!important;isolation:isolate;background:#f8f7f3!important}
.celestial-scene{position:absolute;inset:0 0 74px;overflow:hidden;pointer-events:none;z-index:0;background:#f8f7f3}
.celestial-scene img{display:block;width:100%;height:100%;object-fit:fill;max-width:none;transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(var(--scene-scale,1.045));transform-origin:60% 55%;will-change:transform}
.celestial-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f7f342,transparent 48%)}
.celestial-scene canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.celestial-hero .mechanism-hero-grid{display:flex;align-items:center;min-height:max(690px,calc(100svh - 162px));position:relative;gap:0}
.celestial-hero .mechanism-copy{width:55%;padding:64px 0 68px;flex:none}
.celestial-hero .mechanism-copy h1{font-size:clamp(64px,6.7vw,112px);max-width:none}
.celestial-hero .eclipse-intro{color:#575950}
.celestial-hero .hero-footnote{margin-top:32px}
.celestial-hero .hero-baseline{position:relative;z-index:2;margin-top:0;background:#f8f7f3;min-height:74px;padding-block:24px}
.celestial-hero .hero-baseline:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#f8f7f3;z-index:-1;pointer-events:none}
.celestial-hero .sf-text-link{color:#23241f}
@media(min-width:1700px){.celestial-hero .mechanism-copy{width:58%}.celestial-hero .mechanism-hero-grid{min-height:860px}}
@media(max-width:1100px) and (min-width:901px){.celestial-hero .mechanism-copy{width:60%}.celestial-hero .mechanism-copy h1{font-size:6.6vw}.celestial-hero .eclipse-intro{font-size:13px}.celestial-hero .mechanism-copy .actions{gap:18px}.celestial-hero .btn{padding-inline:18px}.celestial-hero .hero-footnote{font-size:8px}}
@media(max-width:900px){
 .celestial-hero .mechanism-hero-grid{min-height:0;display:block}
 .celestial-hero .mechanism-copy{width:100%;padding:52px 0 390px}
 .celestial-hero .mechanism-copy h1{font-size:clamp(62px,10.5vw,92px)}
 .celestial-scene{top:auto;bottom:74px;height:370px}
 .celestial-scene img{object-fit:cover;object-position:70% 50%}
 .celestial-scene:after{background:linear-gradient(#f8f7f3,transparent 32%)}
 .celestial-hero .hero-footnote{margin-top:28px}
}
@media(max-width:600px){
 .celestial-hero .mechanism-copy{padding:40px 0 305px}
 .celestial-hero .mechanism-copy h1{font-size:clamp(42px,12.3vw,68px)}
 .celestial-hero .mechanism-copy .sf-kicker{font-size:8px;letter-spacing:.035em;margin-bottom:26px}
 .celestial-hero .eclipse-intro{font-size:13px;line-height:1.85;max-width:36ch;margin-top:25px}
 .celestial-hero .mechanism-copy .actions{display:flex;gap:20px;flex-wrap:nowrap;margin-top:26px;flex-direction:row;align-items:center}
 .celestial-hero .mechanism-copy .btn{font-size:11px;min-height:52px;padding-inline:16px;width:auto;flex:none}
 .celestial-hero .sf-text-link{font-size:11px;gap:12px}
 .celestial-hero .hero-footnote{font-size:7px;letter-spacing:.045em}
 .celestial-scene{height:300px;bottom:90px}
 .celestial-hero .hero-baseline{min-height:90px;padding-block:20px;gap:12px;display:grid;grid-template-columns:1fr auto;font-size:7px;align-items:start}
 .celestial-hero .hero-baseline a{max-width:none;text-align:right;white-space:nowrap;letter-spacing:0}
 .celestial-hero .hero-baseline>span:last-child{display:none}
}
@media(max-width:370px){.celestial-hero .mechanism-copy .actions{gap:13px}.celestial-hero .mechanism-copy .btn{font-size:10px;padding-inline:11px}.celestial-hero .sf-text-link{font-size:10px;gap:8px}.celestial-hero .btn span{margin-left:7px}}
@media(prefers-reduced-motion:reduce){.celestial-scene img{transform:scale(1.045);will-change:auto}}
.motion-paused .celestial-scene img{will-change:auto}
