/* V9.22 — one entrance vocabulary, with no text parallax. */
.ideal-section-text .ideal-text-word{display:inline-block;overflow:hidden;vertical-align:top;padding:var(--ideal-text-bleed-top) var(--ideal-text-bleed-x) var(--ideal-text-bleed-bottom);margin:calc(-1 * var(--ideal-text-bleed-top)) calc(-1 * var(--ideal-text-bleed-x)) calc(-1 * var(--ideal-text-bleed-bottom))}
.ideal-section-text .ideal-text-char,.ideal-section-text .ideal-text-body{display:inline-block;transform-origin:0 100%;backface-visibility:hidden}
/* Service palette stays on the cards; the section returns to the site's paper. */
#ideal-services.ideal-services-v93::before{display:none}
#ideal-services .is93-surface{border:1px solid #a68add;box-shadow:none;transition:border-color 450ms var(--ideal-ease)}
#ideal-services .is93-card:nth-child(2) .is93-surface{border-color:#83b9ce}
#ideal-services .is93-card:nth-child(3) .is93-surface{border-color:#8b91ff}
#ideal-services .is93-card:is(:hover,:focus-visible) .is93-surface{box-shadow:none;border-color:#7750ca}
#ideal-services .is93-card:nth-child(3):is(:hover,:focus-visible) .is93-surface{border-color:#d3d6ff}
/* Opening composition reuses the home and Studio typography and inline imagery. */
.ideal-layer-intro{position:relative;isolation:isolate;z-index:0;height:auto;overflow:visible}
.ideal-layer-stage.ideal-hero-v9{position:relative;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(70px,7vw,130px);text-align:center;overflow:visible;background:var(--ideal-paper,#f6f7fa);color:var(--ideal-ink);transform-origin:50% 100%;will-change:transform}
.ideal-layer-stage .ideal-hero-headline{position:relative;display:flex;flex-direction:column;align-items:center;gap:.08em;width:100%;height:auto;margin:0;font:400 10vw/1.04 Aeonik,Arial,sans-serif;letter-spacing:-.06em}
.ideal-layer-stage .ideal-hero-headline-long{font-size:7vw}
.ideal-layer-stage .ideal-hero-description{max-width:660px}
.ideal-layer-stage .ideal-hero-link{border:0;background:none;font-family:inherit;cursor:pointer}
.ideal-layer-stage .v7-tags{justify-content:center;margin:24px 0 0;padding:0}
.ideal-layer-stage [data-page-intro]{transform-origin:50% 100%;backface-visibility:hidden}
[data-layer-cover]{position:relative;z-index:2;isolation:isolate;background-color:var(--ideal-paper,#f6f7fa);border-radius:var(--global-border-radius,24px) var(--global-border-radius,24px) 0 0}
@media(max-width:812px){
 .ideal-layer-stage.ideal-hero-v9{min-height:0;padding:120px 22px 48px}
 .ideal-layer-stage .ideal-hero-headline{font-size:13.8vw;gap:.28em}
 .ideal-layer-stage .ideal-hero-headline-long{font-size:11.5vw}
 .ideal-layer-stage .ideal-hero-eyebrow{margin-bottom:26px}
 .ideal-layer-stage .ideal-hero-description{max-width:34ch;margin-top:26px}
 .ideal-layer-stage .v7-tags{gap:8px;margin-top:20px}
}
@media(max-width:480px){
 .ideal-layer-stage.ideal-hero-v9{padding-top:112px;padding-bottom:40px}
 .ideal-layer-stage .ideal-hero-headline{font-size:20vw;gap:.24em}
 .ideal-layer-stage .ideal-hero-headline-long{font-size:15vw}
 .ideal-layer-stage .ideal-hero-eyebrow{font-size:9px;letter-spacing:.045em}
 .ideal-layer-stage .ideal-hero-description{font-size:16px;line-height:1.45;margin-top:24px}
 .ideal-layer-stage .ideal-hero-actions{margin-top:20px}
 .ideal-layer-stage .v7-tags{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .ideal-section-text .ideal-text-char,.ideal-section-text .ideal-text-body,.ideal-layer-stage.ideal-hero-v9{transform:none!important}
}
@media(max-width:812px){
 .ideal-layer-stage .ideal-hero-headline-long .ideal-hero-line:last-child .ideal-hero-fragment:last-child{max-width:4.4em;font-size:.78em;white-space:normal;text-align:left}
}
@media(max-width:480px){
 header.ideal-layer-stage .ideal-hero-fragment:first-child{font-size:.8em;max-width:100%;white-space:normal}
 header.ideal-layer-stage .ideal-hero-fragment:last-child{font-size:.86em}
 .ideal-layer-stage .ideal-hero-headline-long .ideal-hero-line:last-child .ideal-hero-fragment:last-child{font-size:.78em}
}
@media(max-width:480px){
 header.ideal-layer-stage .ideal-hero-covers:not(.is-pair){width:1.3em;height:.78em}
}

.ideal-section-text[data-section-reveal="complete"] .ideal-text-word{overflow:visible}
