/* Elena direction, authored for PPL. Compliance enters as the fourth collection chapter. */
:root { --scene-top:68px; --scene-height:calc(100svh - 68px); }
.hero { background:var(--paper); }
.hero .hero-molecules { display:none!important; }
.hero .hero-stage { min-height:0; max-height:none; background:var(--paper); }
.hero .hero-film:after { display:none; }
.hero .hero-video,.hero .hero-video-poster { object-fit:cover; object-position:var(--hero-subject-x,50%) center; }
.hero .hero-copy { background:transparent; }
.hero .hero-copy h1 { font:500 clamp(42px,5.1vw,76px)/1.04 var(--serif); letter-spacing:-.05em; max-width:15ch; }
.hero .hero-copy h1 em { font-weight:500; color:var(--deep); }
.hero .hero-copy .lead { max-width:37ch; font-size:18px; line-height:1.5; }
.hero.elena-hero { height:calc(var(--scene-height)*2.5); min-height:0; max-height:none; }
.hero.elena-hero .hero-stage { position:sticky; top:var(--scene-top); height:var(--scene-height); overflow:clip; }
.hero.elena-hero .hero-face { position:absolute; margin:0; inset:auto; left:calc(58% - var(--window-open,0)*58%); top:calc(10% - var(--window-open,0)*10%); width:calc(34% + var(--window-open,0)*66%); height:calc(80% + var(--window-open,0)*20%); border-radius:calc(220px - var(--window-open,0)*220px) calc(220px - var(--window-open,0)*220px) calc(18px - var(--window-open,0)*18px) calc(18px - var(--window-open,0)*18px); z-index:1; overflow:hidden; }
.hero.elena-hero .hero-copy { position:absolute; inset:auto; left:var(--gutter); top:20%; width:46%; max-width:600px; padding:0; z-index:2; transform-origin:0 0; transform:translate3d(0,calc(var(--copy-away,0)*-50vh),0) scale(calc(1 - var(--copy-away,0)*.16)); opacity:calc(1 - var(--copy-away,0)*1.25); }
.hero.elena-hero .hero-copy .lead { margin:26px 0; }
.hero.elena-hero .hero-copy .button { min-height:48px; }
.hero.elena-hero .hero-copy:focus-within { opacity:1; transform:none; }
.hero.elena-hero .hero-motion-toggle { inset:auto 24px 24px auto; }
.hero:not(.elena-hero) .hero-stage { height:auto; display:flex; flex-direction:column-reverse; padding:40px 5vw 60px; gap:32px; }
.hero:not(.elena-hero) .hero-copy { position:relative; inset:auto; width:100%; max-width:none; transform:none; padding:0; }
.hero:not(.elena-hero) .hero-copy h1 { max-width:18ch; }
.hero:not(.elena-hero) .hero-face { position:relative; inset:auto; width:100%; height:58svh; min-height:280px; max-height:720px; border-radius:24px; margin:0; }
.hero:not(.elena-hero) .hero-motion-toggle { inset:auto 8vw 84px auto; }

/* Editorial arrivals around the existing interactive experiences. */
.experience-section .experience-heading { align-items:center; text-align:center; padding:32px var(--gutter) 20px; gap:12px; }
.experience-section .experience-heading h2 { font:500 clamp(38px,4vw,58px)/1.06 var(--serif); letter-spacing:-.045em; max-width:26ch; }
.experience-section .experience-heading p { font-size:16px; line-height:1.5; max-width:60ch; }
.experience-section .experience-navigation { padding-top:0; padding-bottom:0; }
.experience-section .experience-stage-tabs { max-width:var(--content-max); border-bottom:1px solid #281c1c33; padding-bottom:6px; }
.experience-section .experience-stage-tabs button { font-size:20px; min-height:44px; padding-block:8px; }
.experience-section .feature-pills__wrap { max-width:var(--content-max); }
.experience-section .experience-panel { padding-top:20px; padding-bottom:32px; }
.experience-section .feature-pills__visual-wrap { border-radius:18px; }
.experience-section .feature-pills__item-label { letter-spacing:-.02em; }
/* Size artwork for the usable window, not half of an unlimited desktop rail.
   Long lists stay in normal flow; neither labels nor artwork are clipped. */
@media(min-width:992px) {
 .experience-section .feature-pills__layout { justify-content:space-between; gap:32px; }
 .experience-section .feature-pills__col { width:auto; flex:1; }
 .experience-section .feature-pills__col.is--visual { flex:0 0 min(40%,clamp(280px,calc(100svh - 360px),380px)); width:min(40%,clamp(280px,calc(100svh - 360px),380px)); }
 .experience-section .feature-pills__visual-cover-img { object-fit:contain; }
 .experience-section .feature-pills__info-list { gap:8px; }
 .experience-section .feature-pills__item-button { min-height:44px; padding-block:9px; }
}
@media(min-width:992px) and (max-height:760px) {
 .experience-section .experience-heading { padding-top:20px; padding-bottom:16px; }
 .experience-section .experience-heading h2 { font-size:44px; }
 .experience-section .experience-panel { padding-top:16px; padding-bottom:16px; }
}
@media(max-width:991px) {
 .experience-section .feature-pills--compact .feature-pills__col.is--visual { width:min(100%,380px); align-self:center; }
}
.elena-reveal-line { display:block; overflow:clip; padding-bottom:.12em; margin-bottom:-.12em; }
.elena-reveal-line>span { display:block; transform-origin:0 100%; }

/* Four landscape service folios: horizontal travel, distinct from Impact. */
.elena-services { padding:0 0 64px; background:#bed9c8; color:var(--ink); overflow:clip; }
.elena-services .service-intro { padding:64px var(--gutter) 40px; text-align:center; max-width:none; display:flex; flex-direction:column; align-items:center; gap:24px; }
.elena-services .service-intro h2 { font:500 clamp(38px,4.6vw,64px)/1.06 var(--serif); letter-spacing:-.045em; max-width:24ch; margin:0; }
.elena-services .service-intro>div { display:grid; grid-template-columns:1fr 1.1fr; text-align:left; gap:50px; max-width:850px; align-items:start; }
.elena-services .intro-lead { font:500 clamp(24px,2.2vw,30px)/1.2 var(--serif); letter-spacing:-.025em; }
.elena-services .service-intro p:not(.intro-lead) { font:16px/1.6 var(--sans); max-width:43ch; }
.elena-services .service-bar { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:0 var(--gutter); min-height:62px; }
.elena-services .how-human-line { font:11px/1.4 var(--mono); margin:0; }
.elena-services .service-bar nav { display:flex; gap:20px; }
.elena-services .service-bar button { min-width:44px; min-height:44px; font:12px var(--mono); opacity:.5; border-bottom:1px solid transparent; }
.elena-services .service-bar button[aria-current] { opacity:1; border-color:var(--ink); }
.elena-services .service-track { display:grid; gap:36px; padding:20px 5vw; }
.elena-services .service-card { position:relative; display:grid; grid-template-columns:42% 1fr; gap:4%; padding:32px; background:#f2f2f0; border-radius:24px; min-width:0; align-items:center; }
.elena-services .service-card:nth-child(2) { background:#f7dbda; }
.elena-services .service-card:nth-child(3) { background:#e5e8e8; }
.elena-services .service-card:nth-child(4) { background:#f0eadf; }
.elena-services .service-copy { padding:12px 8px 12px 0; }
.elena-services .how-number { display:block; font:12px/1.5 var(--mono); margin-bottom:32px; }
.elena-services .service-card h3 { font:500 clamp(32px,3.2vw,46px)/1.08 var(--serif); letter-spacing:-.04em; max-width:16ch; margin:0 0 20px; }
.elena-services .service-card p { font:16px/1.6 var(--sans); max-width:38ch; }
.elena-services .service-card .service-access { font-size:13px; border-top:1px solid #281c1c26; padding-top:16px; margin-top:20px; }
.elena-services .service-art { margin:0; position:relative; overflow:hidden; aspect-ratio:1; border-radius:12px; height:100%; max-height:660px; }
.elena-services .service-art img { width:100%; height:100%; object-fit:cover; }
.elena-services.service-directed .service-runway { height:var(--service-runway); }
.elena-services.service-directed .service-stage { position:sticky; top:var(--scene-top); height:var(--scene-height); display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:62px minmax(0,1fr); padding-bottom:24px; }
.elena-services.service-directed .service-viewport { min-width:0; min-height:0; overflow:clip; }
.elena-services.service-directed .service-track { display:flex; width:max-content; height:100%; gap:28px; padding:12px var(--gutter); will-change:transform; align-items:center; }
.elena-services.service-directed .service-card { flex:0 0 min(86vw,1120px); width:min(86vw,1120px); height:min(100%,560px); min-height:0; }
.elena-services.service-directed .service-art { aspect-ratio:auto; }

/* Physical collection: objects enter at full reading size, then gather. */
.ppl-collection { max-width:1100px; margin-inline:auto; padding-bottom:64px; overflow:clip; }
.ppl-collection .section-intro { text-align:center; align-items:center; gap:20px; padding-bottom:36px; }
.ppl-collection .section-intro h2 { font:500 clamp(38px,4.6vw,64px)/1.06 var(--serif); letter-spacing:-.045em; }
.ppl-collection .section-intro p { font-size:18px; }
.ppl-collection .ppl-showcase-panels { display:grid; gap:60px; }
.ppl-collection [data-showcase-panel] { display:block; position:relative; margin:0; padding:0; outline-offset:8px; }
.ppl-collection [data-showcase-panel]:focus-visible { outline:2px solid var(--ink); }
.ppl-collection .collection-paper { background:#e1e9e1; border:1px solid #281c1c22; border-radius:20px; padding:24px; display:grid; grid-template-rows:minmax(0,1fr) auto; gap:22px; height:100%; box-shadow:0 18px 45px #281c1c0d; transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s; transform-origin:50% 90%; }
.ppl-collection .deliverable-voice .collection-paper { background:#f7dbda; }
.ppl-collection .deliverable-finished .collection-paper { background:#e5e8e8; }
.collection-directed [data-showcase-panel]:is(:hover,:focus-within) { z-index:10!important; }
.collection-directed [data-showcase-panel]:is(:hover,:focus-within) .collection-paper { box-shadow:0 24px 50px #281c1c26; }
.ppl-collection [data-showcase-panel] .deliverable-caption { order:2; max-width:none; margin:0; }
.ppl-collection .deliverable-index { font:11px/1.5 var(--mono); }
.ppl-collection [data-showcase-panel] .deliverable-caption h3 { font:500 clamp(28px,3.2vw,46px)/1.04 var(--serif); letter-spacing:-.04em; margin:12px 0; }
.ppl-collection [data-showcase-panel] .deliverable-caption h3 br { display:none; }
.ppl-collection [data-showcase-panel] .deliverable-caption p { font:16px/1.5 var(--sans); max-width:44ch; margin:0; }
.ppl-collection .deliverable-art { order:1; width:100%; height:420px; border-radius:12px; overflow:hidden; margin:0; }
.ppl-collection .deliverable-art img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.ppl-collection .deliverable-sheet .deliverable-art img { object-position:center; }
.ppl-collection .deliverable-finished-stage { order:1; height:440px; background:transparent; padding:12px; }
.ppl-collection .deliverable-doctor { width:auto; max-width:100%; aspect-ratio:.56; justify-self:center; }
.ppl-collection .deliverable-discussion h4 { font:500 clamp(24px,2.5vw,36px)/1.12 var(--serif); }
.ppl-collection [data-message-axis="vertical"] .doctor-message-viewport { height:90px; min-height:90px; }
.ppl-collection [data-message-axis="vertical"] .doctor-message-track { flex-direction:column; width:100%; height:270px; }
.ppl-collection [data-message-axis="vertical"] .doctor-message-track li { flex:0 0 90px; height:90px; width:100%; display:flex; align-items:center; }
.ppl-collection.collection-directed { height:var(--collection-runway); padding-bottom:0; }
.collection-directed .ppl-showcase-sticky { position:sticky; top:var(--scene-top); height:var(--scene-height); display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:90px minmax(0,1fr) 52px; gap:12px; padding:16px 0; }
.collection-directed .section-intro { padding:0; margin:0; display:flex; flex-direction:row; justify-content:space-between; align-items:center; text-align:left; gap:24px; will-change:transform,opacity; }
.collection-directed .section-intro h2 { font-size:clamp(36px,3.6vw,52px); white-space:nowrap; margin:0; }
.collection-directed .section-intro p { font-size:16px; max-width:30ch; }
.collection-directed .ppl-showcase-panels { position:relative; display:block; min-height:0; transform-origin:top left; }
.collection-directed [data-showcase-panel] { position:absolute; top:0; left:0; height:min(100%,620px); width:32%; will-change:transform,opacity; }
.collection-directed .collection-paper { padding:18px; gap:16px; }
.collection-directed .deliverable-art,.collection-directed .deliverable-finished-stage { height:100%; min-height:0; }
.collection-directed .deliverable-row .collection-paper { display:grid; grid-template-rows:minmax(0,1fr) var(--collection-caption-height,auto); height:100%; max-height:100%; }
.collection-directed .deliverable-row .deliverable-art { height:100%; min-height:0; aspect-ratio:auto; }
.collection-directed .deliverable-row .deliverable-caption { align-self:start; }
.collection-directed .deliverable-art { display:flex; align-items:center; justify-content:center; background:transparent; }
.collection-directed .deliverable-art img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; border-radius:12px; }
.collection-directed [data-showcase-panel] .deliverable-caption h3 { font-size:clamp(27px,2.4vw,36px); }
.collection-directed [data-showcase-panel] .deliverable-caption p { font-size:16px; }
.collection-directed .deliverable-finished-stage { grid-template-columns:1fr 1fr; gap:12px; padding:0; }
.collection-directed .deliverable-discussion h4 { font-size:clamp(21px,2vw,28px); margin-bottom:12px; }
.collection-directed .deliverable-topic { font-size:12px; }
.collection-directed .deliverable-topic-detail { font-size:12px; line-height:1.4; }
.collection-directed .deliverable-doctor { grid-column:2; grid-row:1; height:100%; min-height:0; width:auto; max-width:100%; aspect-ratio:.56; justify-self:center; }
.collection-directed .deliverable-discussion { grid-column:1; grid-row:1; }
.collection-directed .doctor-phone { border-width:4px; border-radius:24px; }
.collection-directed .doctor-phone .doctor-message-screen { bottom:3%; }
.collection-directed .doctor-phone .doctor-screen-heading { font-size:9px; }
.collection-directed .doctor-phone .doctor-message-track li { font-size:11px; padding:8px; }
.collection-directed .ppl-showcase-nav { padding-top:0; align-items:center; }
.collection-directed .ppl-showcase-nav button { min-height:44px; }

/* Expertise has an editorial reading rhythm, independent of the protected close. */
.expertise .section-intro { padding-bottom:30px; max-width:none; }
.expertise .section-intro h2 { font:500 clamp(38px,4.6vw,64px)/1.06 var(--serif); letter-spacing:-.045em; max-width:24ch; }
.expertise .expertise-personas { display:block; overflow:clip; border-top:1px solid #f2f2f036; }
.expertise .expertise-persona { display:grid; grid-template-columns:18% 34% 1fr; gap:5%; padding:28px 0; border:0; border-bottom:1px solid #f2f2f036; background:transparent; }
.expertise .expertise-persona-label { font:11px/1.5 var(--mono); }
.expertise .expertise-persona h3 { font:500 clamp(26px,2.4vw,34px)/1.12 var(--serif); letter-spacing:-.03em; margin:0; }
.expertise .expertise-persona>p:last-child { font:16px/1.6 var(--sans); margin:0; max-width:45ch; }

@media(max-width:999px) {
 .hero.elena-hero .hero-copy h1 { font-size:clamp(38px,5.1vw,54px); }
 .hero.elena-hero .hero-copy .lead { font-size:16px; }
 .hero.elena-hero .hero-copy { width:54%; }
 .elena-services .service-card { padding:24px; }
 .elena-services .service-card h3 { font-size:36px; }
 .elena-services .service-card p { font-size:16px; line-height:1.5; }
 .elena-services .how-number { margin-bottom:20px; }
 .elena-services .service-card .service-access { margin-top:14px; padding-top:12px; font-size:12px; }
 .elena-services.service-directed .service-card { flex-basis:90vw; width:90vw; }
 .ppl-collection .collection-paper { padding:22px; }
 .ppl-collection .deliverable-art { height:auto; aspect-ratio:1.25; }
 .ppl-collection .deliverable-finished-stage { height:430px; }
 .expertise .expertise-persona { grid-template-columns:1fr 1.5fr; gap:24px; }
 .expertise .expertise-persona-label { grid-column:1/-1; }
}
@media(max-height:680px) and (min-width:700px) {
 .hero.elena-hero .hero-copy { top:8%; }
 .hero.elena-hero .hero-copy h1 { font-size:clamp(38px,5.4vw,66px); max-width:15ch; }
 .hero.elena-hero .hero-copy .lead { font-size:16px; margin:18px 0; }
 .elena-services.service-directed .service-card { padding:20px; }
 .elena-services.service-directed .service-card h3 { font-size:32px; margin-bottom:16px; }
 .elena-services.service-directed .how-number { margin-bottom:14px; }
 .elena-services.service-directed .service-card p { line-height:1.4; }
 .elena-services.service-directed .service-card .service-access { margin-top:12px; padding-top:10px; }
 .collection-directed .ppl-showcase-sticky { grid-template-rows:70px minmax(0,1fr) 44px; gap:8px; padding:10px 0; }
 .collection-directed .collection-paper { padding:14px; gap:10px; }
 .collection-directed [data-showcase-panel] .deliverable-caption h3 { font-size:27px; margin:8px 0; }
}
@media(min-width:1000px) and (max-height:760px) {
 .collection-directed .ppl-showcase-sticky { grid-template-rows:70px minmax(0,1fr) 44px; gap:8px; padding:10px 0; }
 .collection-directed .collection-paper { padding:14px; gap:10px; }
 .collection-directed [data-showcase-panel] .deliverable-caption h3 { font-size:27px; margin:8px 0; }
}
@media(min-width:700px) and (max-height:680px) {
 .ppl-collection:not(.collection-directed) .deliverable-finished-stage { height:320px; }
}
/* Keep the complete photographs visible, including in short desktop windows. */
@media(min-width:700px) {
 .ppl-collection .deliverable-art { display:flex; align-items:center; justify-content:center; background:transparent; }
 .ppl-collection .deliverable-art img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; border-radius:12px; }
 .ppl-collection:not(.collection-directed) .ppl-showcase-panels { max-width:1000px; margin-inline:auto; gap:32px; }
 .ppl-collection:not(.collection-directed) .deliverable-row .collection-paper { grid-template-columns:clamp(220px,calc(var(--scene-height)*.64),360px) minmax(0,1fr); grid-template-rows:auto; align-items:center; gap:clamp(24px,4vw,48px); padding:24px; height:auto; }
 .ppl-collection:not(.collection-directed) .deliverable-row .deliverable-art { width:100%; height:auto; aspect-ratio:1; }
 .ppl-collection:not(.collection-directed) .deliverable-row .deliverable-art img { width:100%; height:100%; }
 .ppl-collection:not(.collection-directed) [data-showcase-panel] .deliverable-caption h3 { font-size:clamp(28px,3vw,40px); }
 .ppl-collection:not(.collection-directed) [data-showcase-panel] .deliverable-caption p { max-width:36ch; }
 .ppl-collection.collection-directed .deliverable-finished-stage { height:100%; }
}
@media(max-width:699px) {
 .hero.elena-hero { height:calc(var(--scene-height)*2.25); }
 .hero.elena-hero .hero-copy { left:6vw; top:5%; width:88%; }
 .hero.elena-hero .hero-copy h1 { font-size:clamp(38px,10vw,62px); max-width:15ch; }
 .hero.elena-hero .hero-copy .lead { font-size:16px; margin:20px 0; max-width:36ch; }
 .hero.elena-hero .hero-face { left:calc(22% - var(--window-open,0)*22%); top:calc(55% - var(--window-open,0)*55%); width:calc(70% + var(--window-open,0)*30%); height:calc(42% + var(--window-open,0)*58%); border-radius:calc(110px - var(--window-open,0)*110px) calc(110px - var(--window-open,0)*110px) calc(12px - var(--window-open,0)*12px) calc(12px - var(--window-open,0)*12px); }
 .hero.elena-hero .hero-copy { transform:translate3d(0,calc(var(--copy-away,0)*-40vh),0); }
 .experience-section .experience-heading { padding:40px 24px 24px; gap:16px; }
 .experience-section .experience-heading h2 { font-size:clamp(32px,8vw,44px); }
 .experience-section .experience-heading p { font-size:16px; }
 .experience-section .experience-stage-tabs button { font-size:16px; }
 .elena-services { padding-bottom:48px; }
 .elena-services .service-intro { padding:48px 24px 32px; gap:22px; }
 .elena-services .service-intro h2 { font-size:clamp(32px,8vw,44px); }
 .elena-services .service-intro>div { display:block; }
 .elena-services .intro-lead { font-size:28px; margin-bottom:18px; }
 .elena-services .service-bar { flex-wrap:wrap; padding:0 24px; gap:10px; margin-bottom:12px; }
 .elena-services .service-bar nav { justify-content:space-between; width:100%; }
 .elena-services .service-track { padding:12px 20px; gap:28px; }
 .elena-services .service-card { display:flex; flex-direction:column-reverse; align-items:stretch; padding:20px; gap:28px; }
 .elena-services .service-art { width:100%; height:auto; aspect-ratio:1.2; }
 .elena-services .service-copy { padding:0; }
 .elena-services .service-card h3 { max-width:none; font-size:36px; }
 .elena-services .service-card p { max-width:none; }
 .ppl-collection .section-intro h2 { font-size:40px; }
 .ppl-collection .section-intro p { font-size:16px; }
 .ppl-collection [data-showcase-panel] .deliverable-caption h3 { font-size:32px; }
 .ppl-collection .deliverable-finished-stage { height:auto; min-height:0; display:flex; flex-direction:column; gap:24px; }
 .ppl-collection .deliverable-doctor { height:340px; width:190px; order:0; }
 .ppl-collection .deliverable-discussion { order:1; }
 .ppl-collection .deliverable-topic-detail { font-size:14px; }
 .expertise .expertise-persona { grid-template-columns:1fr; gap:20px; padding:32px 0; }
 .expertise .expertise-persona-label { grid-column:auto; }
 .expertise .expertise-persona h3 { font-size:36px; }
}
/* A narrow desktop panel uses the same scaled collection, not a second animation. */
@media(max-width:699px) {
 .ppl-collection.collection-directed .ppl-showcase-sticky { grid-template-rows:60px minmax(0,1fr) 44px; gap:8px; padding:12px 0; }
 .ppl-collection.collection-directed .section-intro h2 { font-size:clamp(24px,5vw,34px); }
 .ppl-collection.collection-directed .section-intro p { font-size:11px; max-width:24ch; }
 .ppl-collection.collection-directed [data-showcase-panel] .deliverable-caption h3 { font-size:27px; }
 .ppl-collection.collection-directed .deliverable-finished-stage { display:grid; grid-template-columns:1fr 1fr; height:100%; min-height:0; gap:12px; padding:0; }
 .ppl-collection.collection-directed .deliverable-doctor { height:100%; width:auto; order:1; }
 .ppl-collection.collection-directed .deliverable-discussion { order:0; }
 .ppl-collection.collection-directed .deliverable-topic-detail { font-size:12px; }
 .ppl-collection.collection-directed .ppl-showcase-nav { gap:12px; }
 .ppl-collection.collection-directed .ppl-showcase-nav button { gap:6px; font-size:10px; }
 .ppl-collection.collection-directed .ppl-showcase-nav button span { font-size:11px; }
}
/* Finished assets uses the same image/caption card as the other two pieces. */
.ppl-collection .deliverable-tablet-art {
 position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:1;
 height:auto; background:linear-gradient(145deg,#eef0ed,#d9dfdc);
}
.ppl-collection .deliverable-tablet {
 position:absolute; height:94%; width:auto; aspect-ratio:3/4; top:3%; left:50%; transform:translateX(-50%);
 border:2px solid #8a948f; border-radius:22px; background:var(--ink);
 box-shadow:0 12px 22px #281c1c2b,inset 0 0 0 1px #f2f2f04d;
}
.ppl-collection .deliverable-tablet::before {
 content:""; position:absolute; top:4px; left:50%; width:3px; height:3px;
 transform:translateX(-50%); border-radius:50%; background:#8a948f;
}
.ppl-collection .deliverable-tablet img {
 position:absolute; inset:10px; width:calc(100% - 20px); height:calc(100% - 20px);
 max-width:none; max-height:none; border-radius:12px; object-fit:cover; object-position:50% 50%;
}
@media(prefers-reduced-motion:reduce) {
 .hero,.hero.is-scroll { height:auto!important; }
 .ppl-collection .collection-paper,.ppl-collection .deliverable-art img { transition:none; transform:none!important; }
 .elena-reveal-line>span { transform:none!important; opacity:1!important; }
}
@media print {
 .hero.elena-hero,.service-directed .service-runway,.ppl-collection.collection-directed { height:auto; }
 .hero.elena-hero .hero-stage,.service-directed .service-stage,.collection-directed .ppl-showcase-sticky { position:relative; height:auto; }
 .collection-directed .ppl-showcase-panels { width:100%!important; height:auto!important; transform:none!important; }
 .service-directed .service-track { display:grid; width:auto; transform:none!important; }
 .service-directed .service-card { width:auto; }
 .collection-directed [data-showcase-panel] { position:relative; width:100%!important; transform:none!important; opacity:1!important; visibility:visible!important; margin-bottom:40px; }
 .collection-directed .section-intro { opacity:1!important; transform:none!important; }
}

/* Step 04: the complete original section glides into the same reading stage.
   It is outside the scaled photo gallery so the live badge keeps real geometry. */
.collection-directed .collection-scenes { position:relative; min-height:0; min-width:0; isolation:isolate; }
.collection-directed.compliance-arriving .collection-scenes { overflow:clip; }
.collection-directed .collection-scenes .ppl-showcase-panels { height:100%; }
.ppl-collection .deliverable-compliance { margin-inline:0; }
.ppl-collection .deliverable-compliance .deliverable-caption { order:0; max-width:450px; margin:0; }
.ppl-collection .deliverable-compliance .deliverable-caption h3 { font:500 clamp(38px,4.3vw,66px)/1.06 var(--serif); letter-spacing:-.035em; margin:0; }
.ppl-collection .deliverable-compliance .deliverable-caption h3 br { display:initial; }
.ppl-collection .deliverable-compliance .deliverable-caption p { font:400 18px/1.55 var(--sans); max-width:29ch; margin:22px 0 0; }
.collection-directed .deliverable-compliance { position:absolute; inset:0; z-index:20; margin:0; padding:0 16px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(20px,4vw,64px); visibility:hidden; will-change:transform,opacity; }
.collection-directed .deliverable-compliance .bdg-stage { height:100%; width:100%; min-height:0; margin:0; }
.collection-directed .deliverable-compliance .deliverable-caption h3 { font-size:clamp(30px,3.3vw,48px); }
.collection-directed .deliverable-compliance .deliverable-caption p { font-size:clamp(14px,1.5vw,18px); }
.collection-directed .ppl-showcase-nav { position:relative; z-index:25; background:var(--paper); }
@media(max-width:699px) {
 .ppl-collection.collection-directed .deliverable-compliance { padding:0 6px; gap:12px; }
 .ppl-collection.collection-directed .deliverable-compliance .deliverable-index { margin-bottom:14px; }
 .ppl-collection.collection-directed .deliverable-compliance .deliverable-caption h3 { font-size:clamp(25px,5vw,34px); }
 .ppl-collection.collection-directed .deliverable-compliance .deliverable-caption p { font-size:13px; line-height:1.45; margin-top:16px; }
 .ppl-collection.collection-directed .deliverable-compliance .deliverable-flip { font-size:12px; margin-top:20px; padding:10px 16px; min-height:44px; }
 .ppl-collection.collection-directed .ppl-showcase-nav { gap:clamp(4px,1.5vw,12px); justify-content:space-between; }
 .ppl-collection.collection-directed .ppl-showcase-nav button { gap:4px; padding-inline:0; white-space:nowrap; }
 .ppl-collection.collection-directed .ppl-showcase-nav button span { font-size:clamp(8px,1.95vw,11px); }
}
@media print {
 .collection-directed .ppl-showcase-sticky { display:block; }
 .collection-directed .collection-scenes,.collection-directed.compliance-arriving .collection-scenes { overflow:visible; }
 .collection-directed .ppl-showcase-panels { opacity:1!important; visibility:visible!important; }
 .collection-directed .deliverable-compliance { position:relative; opacity:1!important; visibility:visible!important; transform:none!important; padding-block:40px; }
 .collection-directed .deliverable-compliance .bdg-stage { height:560px; }
}
