.home-carousel{position:relative;isolation:isolate;background:#f5f9fd}
.home-carousel-track{display:grid;overflow:hidden;position:relative;touch-action:pan-y}
.home-hero-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.3s cubic-bezier(.4,0,.2,1),visibility 0s linear 1.3s;z-index:0}
.home-hero-slide[hidden]{display:none!important}
.home-hero-slide[data-active=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;z-index:1}
.home-carousel-controls{display:flex;align-items:center;justify-content:center;position:absolute;right:24px;bottom:16px;padding:0;min-height:32px;z-index:20}
.home-carousel-controls[hidden]{display:none}
.home-carousel-dots{display:flex;align-items:center;gap:2px}
.home-carousel-dots button{width:26px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center}
.home-carousel-dots button::after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#9aaabe;transition:background .3s,box-shadow .3s}
.home-carousel-dots button[aria-current=true]::after{background:#ff0018}
.home-carousel-dots button:hover::after{box-shadow:0 0 0 4px #ff001815}
.home-carousel-controls button:focus-visible{outline:2px solid #ff0018;outline-offset:0}
.home-carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-carousel[data-loading=true] .home-carousel-dots{opacity:.5}
@media(max-width:760px){.home-carousel .ai-hero{height:610px}.home-carousel .hero-orbit-preview .ai-scene{top:284px}.home-carousel-controls{right:14px;bottom:10px}}
@media(max-width:380px){.home-carousel .ai-hero{height:590px}.home-carousel .hero-orbit-preview .ai-scene{top:304px}}
@media(prefers-reduced-motion:reduce){.home-hero-slide,.home-carousel-dots button::after{transition:none}.home-hero-slide{transform:none}}
/* Approved poster typography: first slide only, same DragonThai face as website offer. */
#home-hero-orbit .ai-hero-copy{font-family:DragonThai,system-ui,sans-serif}
#home-hero-orbit .ai-hero h1{font-family:inherit;font-size:clamp(3rem,1rem + 5vw,6.5rem);font-weight:800;line-height:1.04;letter-spacing:-.035em}
#home-hero-orbit .ai-slogan{font-size:clamp(2rem,1rem + 2.9vw,4rem);font-weight:800;line-height:1.12;letter-spacing:-.035em;margin:8px 0 5px;text-wrap:balance}
#home-hero-orbit .ai-description{font-size:clamp(1.125rem,.5rem + 1.2vw,1.75rem);font-weight:700;line-height:1.4;margin-bottom:16px;text-wrap:balance}
@media(max-width:1100px) and (min-width:761px){#home-hero-orbit .ai-hero h1{font-size:clamp(3rem,.5rem + 5.4vw,5rem)}#home-hero-orbit .ai-slogan{font-size:clamp(2rem,.5rem + 3.1vw,3rem)}}
@media(max-width:760px){#home-hero-orbit .ai-hero h1{font-size:clamp(1.8rem,.4rem + 6vw,3rem);letter-spacing:-.035em;white-space:normal;line-height:1.08}#home-hero-orbit .ai-slogan{font-size:clamp(1.5rem,.5rem + 3.5vw,2.2rem);line-height:1.15;letter-spacing:-.025em;margin:10px auto 8px;max-width:24ch}#home-hero-orbit .ai-description{font-size:clamp(1rem,.75rem + 1vw,1.2rem);font-weight:700;line-height:1.45;max-width:34ch;margin:0 auto 16px}}
/* Tighter supporting copy and CTA spacing, approved follow-up. */
#home-hero-orbit .ai-description{font-size:clamp(1.05rem,.45rem + 1.05vw,1.5rem);font-weight:700;margin-bottom:8px}
@media(max-width:760px){#home-hero-orbit .ai-description{font-size:clamp(.95rem,.7rem + .9vw,1.1rem);margin-bottom:10px}}
