/* Brand sculpture and concierge composition. */
.brand-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.brand-spark{width:1em;height:1em;fill:currentColor;display:inline-block;vertical-align:-.1em;flex-shrink:0}
/* A full-bleed typographic poster, with quiet product-use photography behind it. */
.deck-ready{--bottom:0px}
.deck-ready .hero{padding:14px 24px}
.deck-ready .hero .slide-inner{display:block;max-width:none;z-index:1}
.deck-ready .hero-copy{font-size:clamp(48px,min(11.2vw,20vh),244px);width:100%;max-width:none;margin:0}
.deck-ready .hero h1{font-family:'Arial Black','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:inherit;line-height:.84;letter-spacing:-.075em;text-transform:uppercase}
.hero h1 .hero-title-line{display:block;width:max-content;color:var(--paper)}
.hero h1 .hero-title-text{display:block;color:inherit;white-space:nowrap}
.hero h1 .hero-promise{color:var(--lime)}
.hero-brand-line{position:relative;margin-left:4.5vw}
.hero-title-line:last-child{margin-left:auto}
.deck-ready .hero .hero-visual.star-visual{position:absolute;left:calc(100% + .03em);top:-.5em;width:1.5em;height:1.5em;min-height:0;margin:0;isolation:isolate;overflow:visible}
.deck-ready .hero-support{display:block;margin-top:24px}
.deck-ready .hero .hero-description{max-width:430px;margin:0 0 0 auto;font-size:clamp(12px,1.25vw,17px);line-height:1.45;color:#c2c3b9}
body[data-chapter="1"] .header-cta{display:none}
.hero-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-backdrop img{position:absolute;top:0;width:56%;height:100%;object-fit:cover;opacity:.22;filter:grayscale(.6) saturate(.7) contrast(.95)}
.hero-backdrop-totem{left:0;object-position:70% center;mask-image:linear-gradient(90deg,#000 75%,transparent)}
.hero-backdrop-mobile{right:0;object-position:76% center;mask-image:linear-gradient(270deg,#000 75%,transparent)}
.hero-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0b30,transparent 35%,#0a0a0b20 70%,#0a0a0b80)}
.star-stage{position:absolute;inset:0;z-index:1;overflow:hidden}
#star-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease}
.star-ready #star-canvas{opacity:1}
.star-fallback{position:absolute;inset:16%;width:68%;height:68%;fill:#b5ff33;transform:rotate(-10deg);filter:drop-shadow(0 22px 45px #8da52c22)}
.star-ready .star-fallback{visibility:hidden}
.star-intro-layer{position:fixed;inset:0;z-index:80;background:#0a0a0b;overflow:hidden}
.star-stage.intro-stage{position:absolute;inset:0;z-index:1;visibility:visible!important}
.intro-stage #star-canvas{opacity:1;transition:none}
.star-anchor{pointer-events:none;visibility:hidden}
.intro-pending .header,.intro-pending #inicio .hero-backdrop,
.intro-pending #inicio .hero-title,.intro-pending #inicio .hero-support,
.intro-pending #inicio #star-stage{visibility:hidden;opacity:0}
.intro-pending #inicio .reveal{animation:none!important}
.intro-revealing #inicio .hero-title-text,.intro-revealing #inicio .hero-support{animation:intro-copy .7s var(--ease) both}
.intro-revealing #inicio .hero-title-line:nth-child(1) .hero-title-text{animation-delay:.1s}
.intro-revealing #inicio .hero-title-line:nth-child(2) .hero-title-text{animation-delay:.16s}
.intro-revealing #inicio .hero-title-line:nth-child(3) .hero-title-text{animation-delay:.23s}
.intro-revealing #inicio .hero-title-line:nth-child(4) .hero-title-text{animation-delay:.29s}
.intro-revealing #inicio .hero-support{animation-delay:.38s}
.intro-revealing .header{animation:intro-header .6s var(--ease) both}
.intro-revealing #inicio .hero-backdrop{animation:intro-fade 1.2s ease both}
@keyframes intro-copy{from{opacity:0;translate:0 18px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes intro-header{from{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}
@keyframes intro-fade{from{opacity:0}to{opacity:1}}
.deck-ready .invitation .split{grid-template-columns:.8fr 1.45fr;gap:24px}
.deck-ready .invitation h2{font-size:clamp(35px,5.7vh,65px);margin-bottom:22px}
.deck-ready .invitation .body-copy{max-width:340px;font-size:clamp(13px,1.9vh,18px)}
.deck-ready .invitation .secondary{font-size:clamp(12px,1.65vh,16px)}
.concierge-scene{display:grid;grid-template-columns:.68fr 1fr;gap:8px;align-items:center;min-width:0}
.concierge-walle{position:relative;min-width:0;height:clamp(320px,56vh,550px);margin:0}
.concierge-walle .walle-stage{inset:0 0 25px}
.concierge-walle .walle-orbit{inset:15% -5% 12%}
.concierge-walle .walle-toolbar{position:absolute;bottom:0;left:-10%;right:-10%;text-align:center;color:#909c7c;font-size:7px;letter-spacing:.06em;line-height:1.5}
.deck-ready .concierge-scene .conversation-demo{padding:20px;min-width:0;box-shadow:0 20px 80px #0002}
.deck-ready .concierge-scene .demo-header{gap:10px;padding-bottom:13px}
.deck-ready .concierge-scene .demo-symbol{width:30px;height:30px;font-size:18px;flex-shrink:0}
.deck-ready .concierge-scene .demo-header strong{font-size:12px}
.deck-ready .concierge-scene .chat-flow{min-height:215px;padding-top:17px}
.deck-ready .concierge-scene .bubble{font-size:12px;padding:12px 14px;max-width:96%}
.deck-ready .concierge-scene .chat-hint{font-size:11px;margin:35px auto;max-width:180px}
.deck-ready .concierge-scene .chat-options{flex-direction:column;gap:7px;margin-top:14px}
.deck-ready .concierge-scene .chat-options button{font-size:10px;padding:11px 12px}
.deck-ready .concierge-scene .demo-disclaimer{font-size:8px;margin-top:12px}
.study-wordmark .brand-spark,.closing-orbit .brand-spark{vertical-align:0}
@media(max-width:1050px) and (min-width:761px){
 .deck-ready .invitation .split{grid-template-columns:.82fr 1.4fr;gap:12px}
 .deck-ready .invitation h2{font-size:36px}
 .concierge-scene{grid-template-columns:.6fr 1fr;gap:2px}
 .deck-ready .concierge-scene .conversation-demo{padding:14px}
 .deck-ready .concierge-scene .demo-symbol{display:none}
 .concierge-walle .walle-toolbar{font-size:6px}
}
@media(max-width:760px){
 .deck-ready .hero{padding:20px 14px}
 .deck-ready .hero-copy{font-size:clamp(44px,16.2vw,118px);width:100%}
 .deck-ready .hero h1{font-family:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-weight:900;line-height:.98;letter-spacing:-.035em}
 .hero-brand-line{margin-left:0}
 .deck-ready .hero .hero-visual.star-visual{width:1.35em;height:1.35em;top:-.4em}
 .deck-ready .hero-support{margin-top:32px}
 .deck-ready .hero .hero-description{font-size:12px;max-width:270px}
 .hero-backdrop img{width:100%;height:58%}
 .hero-backdrop-totem{top:0;object-position:65% center;mask-image:linear-gradient(180deg,#000 75%,transparent)}
 .hero-backdrop .hero-backdrop-mobile{top:auto;bottom:0;object-position:76% center;mask-image:linear-gradient(0deg,#000 75%,transparent)}
 .deck-ready .invitation .split{grid-template-columns:1fr;gap:16px}
 .deck-ready .invitation h2{font-size:34px;margin-bottom:12px}
 .deck-ready .invitation .body-copy{font-size:12px;max-width:480px}
 .deck-ready .invitation .secondary{font-size:11px;margin-top:8px}
 .deck-ready .invitation .pull-line{display:none}
 .concierge-scene{grid-template-columns:.55fr 1fr;gap:5px}
 .concierge-walle{height:310px}
 .concierge-walle .walle-stage{inset:0 -6px 20px}
 .concierge-walle .walle-toolbar{left:0;right:0;font-size:5px;letter-spacing:0}
 .deck-ready .concierge-scene .conversation-demo{padding:13px 11px}
 .deck-ready .concierge-scene .demo-header{gap:8px;padding-bottom:10px}
 .deck-ready .concierge-scene .demo-symbol{width:23px;height:23px;font-size:13px}
 .deck-ready .concierge-scene .demo-header strong{font-size:9px}
 .deck-ready .concierge-scene .demo-header div>span{font-size:7px}
 .deck-ready .concierge-scene .chat-flow{min-height:145px;padding-top:12px}
 .deck-ready .concierge-scene .bubble{font-size:10px;padding:10px 11px;max-width:100%;line-height:1.4}
 .deck-ready .concierge-scene .chat-hint{font-size:9px;margin:25px auto}
 .deck-ready .concierge-scene .chat-options{gap:5px;margin-top:10px}
 .deck-ready .concierge-scene .chat-options button{font-size:8px;padding:8px 10px}
 .deck-ready .concierge-scene .demo-disclaimer{font-size:7px;margin-top:9px}
}
@media(prefers-reduced-motion:reduce){#star-canvas{transition:none}}
.reduced-motion #star-canvas{transition:none}
@media print{#star-canvas{display:none}.star-fallback{visibility:visible!important}}
