/* Ideal V9: same type and motion system, a new editorial opening. */
#home-hero.ideal-hero-v9{display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;height:auto;min-height:100svh;padding:clamp(155px,12vw,230px) var(--base-padding-x) clamp(80px,8vw,150px);text-align:center;overflow:visible}
.ideal-hero-v9::before{content:"";position:absolute;z-index:-1;inset:0 -1px;pointer-events:none;background-image:linear-gradient(#10131b0b 1px,transparent 1px),linear-gradient(90deg,#10131b0b 1px,transparent 1px);background-size:clamp(48px,5vw,92px) clamp(48px,5vw,92px);mask-image:linear-gradient(to bottom,#000 0%,#000 57%,transparent 98%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 57%,transparent 98%)}
.ideal-hero-eyebrow{margin:0 0 clamp(30px,3vw,54px);font:11px/1.5 IBMPlexMono,monospace;letter-spacing:.09em;color:#646573}
#home-hero-title.ideal-hero-headline{position:relative;display:flex;flex-direction:column;align-items:center;gap:.08em;width:100%;height:auto;margin:0;grid-column:auto;font:400 10vw/1.04 Aeonik,Arial,sans-serif;letter-spacing:-.06em;will-change:auto}
.ideal-hero-line{display:flex;align-items:center;justify-content:center;gap:.18em;white-space:nowrap;width:100%}
.ideal-hero-fragment{display:inline-block;position:relative;transform-origin:center bottom}
.ideal-hero-covers{position:relative;display:inline-flex;align-items:center;flex:none;gap:.06em;letter-spacing:normal;width:1.65em;height:.88em;margin:0 .02em;perspective:800px}
.ideal-hero-covers img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border:2px solid #fff;border-radius:.13em;box-shadow:0 .07em .14em -.07em #10131b60;transition:transform 650ms var(--ideal-ease);transform:rotate(-4deg)}
.ideal-hero-covers.is-pair{width:1.86em}
.ideal-hero-covers.is-pair img{position:absolute;left:0;width:1.34em;height:.82em;transform:rotate(-7deg)}
.ideal-hero-covers.is-pair img+img{left:.53em;transform:rotate(6deg) translateY(.055em)}
.ideal-hero-highlight{display:inline-block;position:relative;padding:0 .16em .045em;margin-left:-.035em;isolation:isolate;letter-spacing:-.06em}
.ideal-hero-highlight::before{content:"";position:absolute;inset:.03em -.01em -.01em;border-radius:.17em;z-index:-1;background:linear-gradient(110deg,#00e5ff22,#7000ff1c 90%)}
.ideal-hero-description{max-width:620px;font-size:clamp(17px,1.45vw,24px);line-height:1.5;letter-spacing:-.015em;margin:clamp(28px,3vw,52px) 0 0;text-wrap:pretty;color:#50535e}
.ideal-hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:28px;margin-top:28px}
.ideal-hero-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;color:var(--ideal-ink);text-decoration:none;padding:14px 0}
.ideal-hero-link svg{width:16px;height:16px;transition:transform 480ms var(--ideal-ease)}
.ideal-hero-link:hover svg{transform:translateY(4px)}
.ideal-hero-link:focus-visible{outline:2px solid var(--ideal-accent);outline-offset:6px;border-radius:4px}
@media(hover:hover){.ideal-hero-covers:hover img{transform:rotate(0) translateY(-.04em)}.ideal-hero-covers.is-pair:hover img{transform:rotate(-4deg) translateX(-.03em)}.ideal-hero-covers.is-pair:hover img+img{transform:rotate(4deg) translate(.07em,.02em)}}
/* Native thumbnail-to-center reel geometry and central kinetic typography. */
.ideal-scene-v9 #home-reel-video-placeholder{cursor:pointer;touch-action:pan-y}
.ideal-scene-v9 #home-reel-video-watch-btn:focus-visible{outline:3px solid #00e5ff;outline-offset:8px}
@media(max-width:812px){
 #home-hero.ideal-hero-v9{min-height:88svh;padding:155px 22px 80px}
 .ideal-hero-eyebrow{font-size:10px;margin-bottom:34px}
 #home-hero-title.ideal-hero-headline{font-size:13.8vw;gap:.28em}
 .ideal-hero-line{flex-wrap:wrap;column-gap:.15em;row-gap:.12em}
 .ideal-hero-fragment:first-child{flex-basis:100%}
 .ideal-hero-description{font-size:17px;max-width:33ch;margin-top:34px}
 .ideal-hero-actions{gap:12px 24px;margin-top:24px}
}
@media(max-width:480px){
 #home-hero.ideal-hero-v9{padding-top:132px;min-height:90svh}
 #home-hero-title.ideal-hero-headline{font-size:20vw;gap:.24em}
 .ideal-hero-line{max-width:100%;column-gap:.16em}
 .ideal-hero-fragment:first-child{flex-basis:100%;font-size:.88em}
 .ideal-hero-covers{width:1.6em;height:.85em}
 .ideal-hero-covers.is-pair{width:1.82em}
 .ideal-hero-description{margin-top:28px;font-size:16px}
 .ideal-hero-actions{flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){.ideal-hero-v9 [data-hero-reveal]{transform:none!important;opacity:1!important}.ideal-hero-covers img{transition:none}}

/* V9.2: keep the approved composition; tighten the carousel's reserved space. */
.ideal-hero-line{perspective:1200px}
.ideal-hero-v9 [data-hero-reveal]{transform-origin:50% 100%;backface-visibility:hidden}
#preloader-percent-digits{display:none!important}
#home-featured{--ideal-orbit-space:clamp(32px,3vw,56px)}
#home-featured .ideal-orbit.project-list{margin-top:var(--ideal-orbit-space)}
#home-featured .ideal-orbit-viewport{height:clamp(280px,32vw,1000px)}
#home-featured .ideal-orbit~#home-featured-cta{margin-top:var(--ideal-orbit-space);margin-bottom:0}
#home-featured{padding-bottom:clamp(24px,3vw,64px)}
@media(max-width:812px){
 #home-featured-disclaimer{margin:22px 0 0}
 #home-featured{--ideal-orbit-space:28px}
 #home-featured .ideal-orbit.project-list{margin-top:var(--ideal-orbit-space)}
 #home-featured .ideal-orbit-viewport{height:clamp(190px,52vw,360px)}
 #home-featured .ideal-orbit~#home-featured-cta{margin-top:var(--ideal-orbit-space);margin-bottom:0}
 #home-featured{padding-bottom:20px}
}
