/* Rounded geometric display lettering for the homepage wordmark. */
@font-face{font-family:'ACE Signal';src:url('fonts/ace-signal.woff') format('woff');font-style:normal;font-weight:900;font-display:swap}
/* Scoped to the For You hero. The photograph remains readable without motion. */
.home-lucid{overflow-x:clip}
.lucid-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;width:100vw;margin-inline:calc(50% - 50vw);padding:85px 5% 110px;min-height:700px;min-height:clamp(660px,calc(100svh - 88px),1000px);overflow:hidden;background:#080813;gap:0}
.lucid-scene,.lucid-shade{position:absolute;inset:0;pointer-events:none;z-index:-2}
.lucid-scene{overflow:hidden;transform:translate3d(0,var(--hero-shift,0px),0);inset:-35px 0}
.lucid-photo{height:100%;width:100%;object-fit:cover;object-position:50% 50%;display:block;animation:lucid-drift 26s ease-in-out infinite alternate;will-change:transform;filter:saturate(1.1)}
.lucid-shade{z-index:-1;background:linear-gradient(180deg,#0808134d 0%,#08081320 23%,#08081380 51%,#08081330 74%,#080813e8 100%),radial-gradient(ellipse at 50% 45%,#08081370,transparent 70%)}
.lucid-light{position:absolute;inset:-20%;mix-blend-mode:screen;opacity:.3;pointer-events:none;will-change:transform}
.lucid-light-one{background:radial-gradient(ellipse at 20% 45%,#A0BDDB23,transparent 48%);animation:lucid-haze 19s ease-in-out infinite alternate}
.lucid-light-two{background:radial-gradient(ellipse at 80% 65%,#FF5A1F20,transparent 35%);animation:lucid-haze 23s ease-in-out infinite alternate-reverse}
.lucid-content{width:100%;max-width:1450px;position:relative;z-index:1;margin:auto}
.lucid-kicker{display:flex;align-items:center;justify-content:center;gap:12px;letter-spacing:4px;font-size:10px;color:#A0BDDB;margin-bottom:32px;text-shadow:0 2px 12px #080813}
.lucid-hero h1{font-size:clamp(48px,10.4vw,157px);font-weight:900;line-height:1;letter-spacing:.025em;margin:0;text-align:center;text-shadow:0 6px 40px #08081345;color:#A0BDDB}
.lucid-hero h1 em{font-style:normal;color:var(--accent);text-shadow:0 0 45px #FF5A1F16}
.lucid-wordmark{display:block;white-space:nowrap}
.lucid-period{color:#A0BDDB}
.lucid-tagline{font:11px/1.8 'Courier New',monospace;letter-spacing:6px;margin:23px 0 28px;color:#A0BDDB;text-shadow:0 2px 10px #080813}
.lucid-hero .intro{max-width:470px;margin:0 auto 28px;color:#A0BDDB;text-shadow:0 2px 12px #080813;font-size:14px;line-height:1.9}
.lucid-hero .intro strong{color:#A0BDDB}.lucid-hero .actions{justify-content:center;gap:28px}.lucid-hero .text-link{color:#A0BDDB;border-color:#A0BDDB80;text-shadow:0 2px 8px #080813}
.lucid-bottom{position:absolute;bottom:28px;left:5.2%;right:5.2%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:18px;text-shadow:0 2px 12px #080813}
.lucid-edition{font-size:9px;letter-spacing:2px;text-align:left;color:#A0BDDB}.lucid-scroll{font:9px 'Courier New',monospace;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:15px;color:#A0BDDB}.lucid-scroll span{font:22px Arial,sans-serif;color:var(--accent)}
.lucid-motion{justify-self:end;border:1px solid #A0BDDB60;background:#08081370;border-radius:40px;padding:10px 13px;color:#A0BDDB;font:10px Arial,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}.lucid-motion:hover{background:#080813bb}
.lucid-photo,.lucid-light{animation-play-state:paused}
.lucid-hero.motion-ready .lucid-photo,.lucid-hero.motion-ready .lucid-light{animation-play-state:running}
.lucid-hero.motion-paused .lucid-photo,.lucid-hero.motion-paused .lucid-light{animation-play-state:paused}
@keyframes lucid-drift{from{transform:scale(1.07) translate3d(-1.2%,.7%,0)}to{transform:scale(1.17) translate3d(1.2%,-.7%,0)}}
@keyframes lucid-haze{from{transform:translate3d(-4%,-2%,0) rotate(-6deg)}to{transform:translate3d(4%,2%,0) rotate(6deg)}}
@media(min-width:1700px){.lucid-content{max-width:1450px}.lucid-hero h1{font-size:157px}}
@media(max-width:760px){.lucid-hero{min-height:680px;min-height:calc(100svh - 72px);padding:90px 5% 120px}.lucid-hero h1{font-size:10.4vw;letter-spacing:.025em}.lucid-kicker{letter-spacing:3px;font-size:9px;margin-bottom:27px}.lucid-tagline{font-size:9px;letter-spacing:4px;margin-top:19px}.lucid-hero .intro{font-size:13px;max-width:320px}.lucid-hero .actions{gap:15px}.lucid-bottom{grid-template-columns:1fr 1fr;bottom:23px}.lucid-edition{display:none}.lucid-scroll{justify-content:flex-start;font-size:8px;letter-spacing:1px;gap:8px}.lucid-photo{object-position:70% 50%}.lucid-motion{font-size:9px}.lucid-hero .btn{padding:16px 19px;font-size:11px}}
@media(max-width:380px){.lucid-hero .actions{flex-direction:column;gap:8px}.lucid-hero{padding-top:60px;min-height:650px}.lucid-hero .intro{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lucid-photo,.lucid-light{animation:none!important;will-change:auto}.lucid-photo{transform:scale(1.07)}.lucid-scene{transform:none!important}.lucid-motion{display:none}}

/* For You mascot edition: centered typography and clear space between letters. */
.mascot-hero{padding-top:45px;padding-bottom:100px;background:#080813;min-height:940px}
.mascot-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 27%,#A0BDDB23,transparent 62%),linear-gradient(180deg,color-mix(in srgb, #A0BDDB 8%, #080813),#080813)}
.mascot-glow{position:absolute;width:580px;height:500px;left:50%;top:30px;transform:translateX(-50%);background:radial-gradient(ellipse,#A0BDDB23,transparent 70%);border-radius:50%}
.mascot-hero .lucid-shade{background:linear-gradient(180deg,transparent 65%,#08081390)}
.mascot-hero .lucid-kicker{margin-bottom:10px}
.mascot-stage{position:relative;isolation:isolate;height:310px;width:290px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ace-mascot{position:relative;height:100%;width:100%;object-fit:contain;display:block;z-index:1;filter:drop-shadow(0 13px 16px #08081355);animation:mascot-float 7s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 70%}
.mascot-ground{position:absolute;bottom:1px;left:27%;right:27%;height:15px;border-radius:50%;background:#08081385;filter:blur(9px);animation:mascot-shadow 7s ease-in-out infinite;animation-play-state:paused}
.mascot-hero h1{font-size:clamp(42px,9.2vw,136px);letter-spacing:.025em;font-kerning:none;font-variant-ligatures:none;line-height:1.08}
.mascot-hero .lucid-wordmark{letter-spacing:inherit}
.mascot-hero .lucid-tagline{margin:18px 0 23px}
.mascot-hero .intro{margin-bottom:24px}
.mascot-hero.motion-ready .ace-mascot,.mascot-hero.motion-ready .mascot-ground{animation-play-state:running}
.mascot-hero.motion-paused .ace-mascot,.mascot-hero.motion-paused .mascot-ground{animation-play-state:paused}
@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes mascot-shadow{0%,100%{transform:scaleX(1);opacity:.65}50%{transform:scaleX(.8);opacity:.4}}
@media(min-width:1700px){.mascot-hero{min-height:1000px}.mascot-stage{height:340px;width:310px}.mascot-hero h1{font-size:136px}}
@media(max-width:760px){.mascot-hero{min-height:790px;padding-top:35px;padding-bottom:95px}.mascot-stage{height:260px;width:245px;margin-bottom:22px}.mascot-hero h1{font-size:9.2vw;letter-spacing:.025em}.mascot-hero .lucid-kicker{margin-bottom:6px}.mascot-glow{width:100%;height:400px;top:30px}.mascot-hero .lucid-tagline{letter-spacing:3px}.mascot-hero .intro{max-width:310px}}
@media(max-width:380px){.mascot-hero{min-height:760px}.mascot-stage{height:225px;width:215px}.mascot-hero .actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.ace-mascot,.mascot-ground{animation:none!important}}

/* Real glTF model; motion and rotation are rendered by the 3D viewer. */
.mascot-stage{width:340px;height:340px;max-width:100%;margin-bottom:0;pointer-events:auto}
model-viewer{display:block;width:100%;height:100%;--poster-color:transparent;--progress-bar-color:#FF5A1F;background:transparent;outline-offset:4px}
.mascot-poster{position:absolute;inset:0;pointer-events:none}.mascot-poster img{width:100%;height:100%;object-fit:contain}
.mascot-tools{display:flex;justify-content:center;gap:18px;align-items:center;margin:7px 0 22px;font:9px/1.5 'Courier New',monospace;letter-spacing:1px;color:#A0BDDBb3}
.mascot-tools a{color:#FF5A1F;text-decoration:none;border-bottom:1px solid #FF5A1F40;padding:4px 0}.mascot-tools a:hover{border-color:#FF5A1F}
@media(max-width:760px){.mascot-stage{width:285px;height:285px}.mascot-tools{font-size:8px;gap:14px;margin-bottom:20px}}
@media(max-width:380px){.mascot-stage{width:245px;height:245px}}

.mascot-hero #hero-title{font-family:'ACE Signal',Arial,Helvetica,sans-serif;font-weight:900;font-synthesis:none;letter-spacing:.025em;-webkit-text-stroke:0}
.mascot-backdrop::before{content:'';position:absolute;inset:0;background:url('graffiti-wall.svg') center 20px / max(1200px,100vw) auto no-repeat;opacity:.65}
@media(max-width:760px){.mascot-backdrop::before{background-image:url('graffiti-mobile.svg');background-size:100% auto;background-position:center top;opacity:.78}}
