/* Concrete entry points, using the established PRISME rhythm. */
.hero__description { max-width: 490px; font-size: .97rem; color: #c1c1bb; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2.5rem; }
.hero__expertises { display: inline-flex; align-items: center; gap: .8rem; min-height: 48px; font-size: .8rem; color: #c1c1bb; }
.hero__expertises:hover { color: var(--paper); text-decoration: underline; text-underline-offset: .3em; }
.hero__expertises span { color: var(--gold); }
.site-header__link { font-size: .8rem; gap: 1.2rem; }
.site-footer__links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.site-footer__links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .3em; }
.site-footer { align-items: center; }
.capabilities-intro { padding-top: 4rem; scroll-margin-top: 2rem; }
.capabilities-intro h3 { margin: 0; font-size: clamp(1.5rem,2.5vw,2.3rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.3; }
.prisme-capabilities { margin-top: 2rem; }

/* Each moving frame links a business need to tangible applications. */
.universes__rail { grid-template-columns: 1fr; }
.universes__rail .universe { display: grid; grid-template-columns: 1.12fr 1fr; gap: 2rem; align-items: center; min-height: 540px; height: auto; padding: 2.4rem; }
.universe__image { right: 38%; }
.universe::after { background: linear-gradient(90deg,#0a141bd9 0%,#0a141bad 35%,#0a141b 63%); }
.universe__copy { padding: 0; min-height: 100%; justify-content: center; }
.universe__sector { margin: 0 0 2rem; padding: 0; }
.universe h3 { font: 400 clamp(1.8rem,2.8vw,3rem)/1.09 var(--sans); letter-spacing: -.04em; }
.universe h3 em { margin-top: .15em; }
.universe__meaning { font-size: .92rem; max-width: 340px; }
.universe__application { min-width: 0; margin: 0; transform: rotate(2deg); }
.universe__sample { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 310px; padding: clamp(1.3rem,2.6vw,3rem); background: #e3eee8; color: #193d3d; box-shadow: 0 18px 35px #0003; }
.universe__sample-label { font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; line-height: 1.6; }
.universe__sample-title { font: 500 clamp(1.8rem,2.7vw,3rem)/1.06 var(--sans); letter-spacing: -.045em; margin: 2.5rem 0 2rem; }
.universe__sample-rule { width: 3rem; height: 3px; background: currentColor; }
.universe__sample-sub { font-size: .76rem; line-height: 1.6; margin: 1rem 0 0; }
.universe__application figcaption { font-size: .77rem; line-height: 1.6; color: #e3e8e4; margin-top: 1.2rem; transform: rotate(-2deg); }
.universe--services { background: #142d36; }
.universe--services .universe__sample, .universe--batiment .universe__sample { border-top: 20px solid #b5c1bc; }
.universe--services .universe__sample::before, .universe--batiment .universe__sample::before { content: ''; position: absolute; left: 12px; top: -13px; width: 5px; height: 5px; border-radius: 50%; background: #5b726b; box-shadow: 9px 0 #5b726b, 18px 0 #5b726b; }
.universe--services::after { background: linear-gradient(90deg,#102732cb,#102732c4 35%,#102732 65%); }
.universe--atelier { background: #0b1d32; }
.universe--atelier::after { background: linear-gradient(90deg,#0b1d32c4,#0b1d32bc 35%,#0b1d32 65%); }
.universe--atelier .universe__sample { background: #d7e5ef; color: #12304b; border-left: .7rem solid #cc5a2c; }
.universe--atelier .universe__sample { box-shadow: 3px 3px #f0f2f1, 5px 5px #8e9a9f, 0 18px 35px #0003; }
.universe--atelier .universe__sample-title { font-weight: 650; letter-spacing: -.06em; }
.universe--batiment::after { background: linear-gradient(90deg,#31281bba,#31281bad 35%,#31281b 65%); }
.universe--batiment .universe__sample { background: #eee6d7; color: #4b492f; }
.universe--batiment .universe__sample-title { font-family: var(--serif); }
.universe--commerce::after { background: linear-gradient(90deg,#283629c9,#283629ad 35%,#283629 65%); }
.universe--commerce .universe__sample { background: #e6dc9c; color: #263d31; }
.universe--commerce .universe__sample-title { font-family: var(--serif); font-size: clamp(2rem,3vw,3.4rem); }
.universe--commerce h3 { font-family: var(--sans); }
@media (min-width:1001px) and (min-height:720px) and (prefers-reduced-motion:no-preference) {
 [data-universes-mode='pinned'] .universes__rail .universe { height: 57svh; min-height: 430px; padding: 3svh 3vw; }
 [data-universes-mode='pinned'] .universe__copy { padding: 0; }
 [data-universes-mode='pinned'] .universe h3 { font-size: clamp(1.9rem,3.8svh,2.8rem); }
 [data-universes-mode='pinned'] .universe__sample { min-height: 31svh; }
 [data-universes-mode='pinned'] .universe__sample-title { margin-block: 2rem 1.5rem; font-size: clamp(1.9rem,3.9svh,2.7rem); }
}
@media (max-width:1000px) {
 .universes__rail { grid-template-columns: 1fr; }
 .universes__rail .universe { min-height: 500px; }
}
@media (max-width:700px) {
 .hero__description { max-width: 330px; font-size: .86rem; }
 .hero__actions { gap: .7rem 1rem; align-items: flex-start; flex-direction: column; }
 .hero__expertises { font-size: .78rem; }
 .site-header__link { font-size: .7rem; max-width: 155px; line-height: 1.5; gap: .7rem; }
 .universes__rail .universe { grid-template-columns: 1fr; gap: 2.2rem; padding: 1.7rem; margin-inline: 0; min-height: 0; }
 .universe__image { right: 0; bottom: 42%; }
 .universe::after { background: linear-gradient(0deg,#13282b 37%,#13282bca 66%,#13282b80); }
 .universe--atelier::after { background: linear-gradient(0deg,#0b1d32 37%,#0b1d32bd 66%,#0b1d3280); }
 .universe--batiment::after { background: linear-gradient(0deg,#31281b 37%,#31281bbd 66%,#31281b80); }
 .universe--commerce::after { background: linear-gradient(0deg,#283629 37%,#283629bd 66%,#28362980); }
 .universe__copy { min-height: 250px; }
 .universe__sector { margin-bottom: 3rem; }
 .universe h3 { font-size: clamp(1.9rem,8vw,2.7rem); }
 .universe__meaning { font-size: .9rem; }
 .universe__sample { min-height: 265px; padding: 1.7rem; }
 .universe__sample-title { font-size: 2rem; }
 .universe--commerce .universe__sample-title { font-size: 2.3rem; }
 .site-footer { align-items: flex-start; }
}
@media (max-width:360px) { .site-header__link { font-size: .65rem; } .universes__rail .universe { padding: 1.3rem; } }
@media (prefers-reduced-motion:reduce) { .universe__application, .universe__application figcaption { transform: none; } }
@media (forced-colors:active) {
 .universes__rail .universe { background: Canvas; color: CanvasText; }
 .universe::after { display: none; }
 .universe__sample { color: CanvasText; background: Canvas; outline: 1px solid CanvasText; }
 .universe__application figcaption { color: CanvasText; }
}
