.opening { position:relative; isolation:isolate; min-height:800px; padding:195px max(60px,calc((100vw - 1440px)/2)) 120px; background-color:var(--astalgo-midnight); background-image:var(--astalgo-satin); color:var(--astalgo-ivory); overflow:hidden; }
.hero-copy { position:relative; z-index:2; width:min(620px,51%); }
.audience { font-size:17px; margin-bottom:27px; }
.hero-copy h1 { font-size:clamp(58px,5.4vw,84px); letter-spacing:-.025em; line-height:1.055; }
.hero-description { max-width:455px; font-size:20px; line-height:1.6; margin-top:28px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:21px 25px; margin-top:32px; font-size:17px; }
.primary-action { background:var(--astalgo-ivory); color:var(--astalgo-midnight); padding:14px 22px; text-decoration:none; border-radius:4px; }
.primary-action:hover { background:var(--astalgo-silver-blue); }
.quiet-action { padding-block:10px; }
.hero-contact-note { font-size:13px; color:var(--astalgo-silver-blue); margin-top:15px; }
.outbound-stage { position:absolute; z-index:0; inset:0 0 0 auto; width:57%; }
.outbound-stage canvas { position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0; transition:opacity .15s ease; }
.outbound-stage.has-sculpture canvas { opacity:1; }
.signal-labels { position:absolute; z-index:2; bottom:8%; left:12%; right:14%; display:flex; justify-content:space-between; gap:25px; font-size:14px; color:var(--astalgo-ivory); opacity:0; }
.signal-note { position:absolute; z-index:2; bottom:2%; left:0; right:0; text-align:center; font-size:12px; color:var(--astalgo-silver-blue); opacity:0; }
.has-sculpture .signal-labels,.has-sculpture .signal-note,.scene-unavailable .signal-labels,.scene-unavailable .signal-note { opacity:1; }
.signal-fallback { display:none; position:absolute; inset:15% 4%; width:92%; height:65%; color:var(--astalgo-silver-blue); }
.scene-unavailable .signal-fallback { display:block; }
.opening-foot { position:absolute; bottom:37px; left:max(60px,calc((100vw - 1440px)/2)); width:min(580px,70%); display:flex; gap:30px; align-items:center; color:var(--astalgo-ivory); font-size:15px; text-decoration:none; }
.opening-foot span { font-size:25px; }
@media(min-width:1800px){.opening{min-height:900px;padding-top:220px;}.outbound-stage{width:59%;}}
@media(max-width:1100px){
 .opening{padding:170px 32px 115px;min-height:760px;}
 .hero-copy{width:55%;}.hero-copy h1{font-size:60px;}
 .hero-description{font-size:19px;}.opening-foot{left:32px;}
 .outbound-stage{width:53%;}
 .signal-labels{font-size:12px;left:7%;right:7%;}
}
@media(max-width:700px){
 .opening{display:flex;flex-direction:column;min-height:0;padding:148px 22px 32px;}
 .hero-copy{display:contents;}
 .audience{order:1;font-size:14px;margin-bottom:21px;}
 .hero-copy h1{order:2;font-size:clamp(36px,10.2vw,60px);line-height:1.08;}
 .hero-description{order:3;font-size:19px;margin-top:22px;}
 .hero-actions{order:4;gap:15px 22px;margin-top:26px;font-size:16px;}
 .hero-contact-note{order:5;font-size:12px;}
 .outbound-stage{position:relative;order:6;inset:auto;width:calc(100% + 44px);height:310px;margin:15px -22px 0;}
 .signal-labels{bottom:7%;left:11%;right:11%;font-size:12px;}
 .signal-note{bottom:0%;font-size:10px;}
 .opening-foot{order:7;position:static;width:100%;margin-top:20px;font-size:13px;gap:20px;max-width:310px;}
}
