/* Visual narrative, scoped to the selected /lab page. */
html[data-lab="true"] .lp-hero-visual--builder .lp-hero-portrait img { object-position:50% 20%; }
.lab-scroll-pains { background:#faf9f3; padding:110px 0 100px; overflow:hidden; }
.lab-capacity-story { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:56px; min-height:570px; --capacity-progress:0; }
.lab-capacity-copy h2 { font-size:clamp(42px,4.7vw,76px); line-height:1.03; letter-spacing:-.055em; }
.lab-capacity-copy em,.lab-capacity-question em,.lab-youtube em { color:#628d2c; font-style:normal; }
.lab-capacity-copy p { margin-top:30px; font-size:22px; line-height:1.55; color:#667269; }
.lab-capacity-stage { position:relative; min-width:0; height:530px; display:grid; place-items:center; perspective:1200px; }
.capacity-orbit { position:absolute; width:440px; max-width:100%; aspect-ratio:1; border:1px solid #d7dfca; border-radius:50%; box-shadow:0 0 0 36px #eaf0e130,0 0 0 72px #eaf0e120; }
.capacity-day { position:relative; width:88%; padding:24px; border:1px solid #bac6ad; border-radius:16px; background:#f3f4e9; box-shadow:0 28px 60px #183b2415; transform:rotate(calc(-5deg + var(--capacity-progress)*5deg)); }
.capacity-day-heading { display:block; font-size:20px; font-weight:600; margin-bottom:20px; }
.capacity-slot { display:flex; align-items:center; gap:14px; margin:8px 0; padding:17px 14px; font-size:20px; background:#fffdf7; border:1px solid #d9dfcf; border-radius:7px; transform:translateX(calc((1 - var(--capacity-progress))*var(--slot-shift, 0px))); }
.capacity-slot:nth-of-type(1) { --slot-shift:-32px; }
.capacity-slot:nth-of-type(2) { --slot-shift:28px; }
.capacity-slot:nth-of-type(3) { --slot-shift:-18px; }
.capacity-slot:nth-of-type(4) { --slot-shift:36px; }
.capacity-slot img { width:23px; height:23px; }
.capacity-full { background:#17382e; color:#f8f8ee; border-radius:7px; padding:16px; text-align:center; font-size:21px; margin-top:16px; }
.capacity-new { position:absolute; border-radius:8px; background:#ceff65; color:#17382e; font-size:22px; font-weight:600; padding:17px 25px; box-shadow:0 9px 24px #17382e16; }
.capacity-new-one { right:-10px; top:24px; transform:translateY(calc(var(--capacity-progress)*21px)) rotate(7deg); }
.capacity-new-two { left:-24px; bottom:-22px; transform:translateY(calc(var(--capacity-progress)*-8px)) rotate(-6deg); }
.lab-capacity-question { padding:72px 0 60px; text-align:center; }
.lab-capacity-question > span { display:block; font-size:20px; color:#667269; margin-bottom:24px; }
.lab-capacity-question h3 { font-size:clamp(32px,3.4vw,53px); line-height:1.14; letter-spacing:-.045em; }
.lab-picture-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.lab-picture-card { overflow:hidden; border:1px solid #d9dfcf; border-radius:12px; background:#f5f5ec; transition:box-shadow .3s ease; }
.lab-picture-card:hover { box-shadow:0 16px 35px #17382e0d; }
.lab-pain-picture { width:100%; height:auto; display:block; }
.lab-pain-picture text { font-family:inherit; font-size:27px; fill:#17382e; }
.lab-pain-picture g[transform] text:not([style]) { font-size:22px; }
.lab-pain-picture text[fill="#fffdf7"] { fill:#fffdf7; }
.lab-pain-picture text[fill="#ceff65"] { fill:#ceff65; }
.lab-picture-copy { padding:26px 30px 32px; }
.lab-picture-copy > span { display:block; font-size:18px; color:#628d2c; margin-bottom:12px; }
.lab-picture-copy h3 { font-size:clamp(25px,2.2vw,34px); line-height:1.14; letter-spacing:-.035em; max-width:24ch; }
.lab-picture-copy p { font-size:19px; line-height:1.5; color:#667269; margin:16px 0 0; }
.lab-youtube { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding-block:110px; }
.lab-youtube-preview { position:relative; display:block; border-radius:12px; overflow:hidden; box-shadow:0 22px 50px #17382e14; }
.lab-youtube-preview > img { display:block; width:100%; height:auto; transition:transform .5s; }
.lab-youtube-preview:hover > img { transform:scale(1.035); }
.lab-youtube-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:78px; height:62px; border-radius:18px; background:#ceff65; color:#17382e; font-size:27px; box-shadow:0 6px 30px #0003; }
.lab-youtube h2 { font-size:clamp(36px,3.3vw,52px); line-height:1.1; letter-spacing:-.045em; }
.lab-youtube p { margin:24px 0 28px; font-size:21px; line-height:1.5; color:#667269; }
.lab-youtube a:focus-visible { outline:3px solid #628d2c; outline-offset:6px; }
html[data-lab="true"] .client-fit li { font-size:20px; }
html[data-lab="true"] .process-list p { max-width:44ch; font-size:20px; }
html[data-lab="true"] .process-list h3 { font-size:26px; }
html[data-lab="true"] .process-intro .principle { max-width:25ch; font-size:23px; line-height:1.5; }
html[data-lab="true"] .lab-founder-story img { object-position:50% 38%; }
html[data-lab="true"] .button { white-space:normal; }
@keyframes picture-drift { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@media(prefers-reduced-motion:no-preference) { .lab-picture-card.is-visible .picture-drift { animation:picture-drift 6s ease-in-out var(--delay,0s) infinite; animation-play-state:paused; } .lab-picture-card[data-motion-visible] .picture-drift { animation-play-state:running; } }
@media(max-width:1000px) { .lab-capacity-story { gap:28px; } .capacity-slot { font-size:17px; padding:15px 10px; } .capacity-day { padding:20px; width:94%; } .capacity-new { font-size:19px; } .lab-youtube { gap:32px; } }
@media(max-width:760px) {
 html[data-lab="true"] .lp-hero-visual--builder .lp-hero-portrait img { object-position:50% 0%; }
 .lab-scroll-pains { padding-block:65px; }
 .lab-capacity-story { grid-template-columns:1fr; gap:10px; min-height:0; }
 .lab-capacity-copy h2 { font-size:clamp(42px,7.5vw,62px); }
 .lab-capacity-copy h2 > br { display:none; }
 .lab-capacity-copy h2 em { display:block; }
 .lab-capacity-copy h2 em br { display:none; }
 .lab-capacity-copy p { font-size:20px; margin-top:24px; }
 .lab-capacity-stage { height:570px; width:100%; max-width:500px; margin:auto; }
 .capacity-day { width:87%; }
 .capacity-day-heading { font-size:18px; }
 .capacity-new-one { right:0; top:0; transform:rotate(7deg); }
 .capacity-new-two { left:0; bottom:0; transform:rotate(-6deg); }
 .capacity-slot { font-size:18px; }
 .capacity-full { font-size:18px; }
 .lab-capacity-question { padding:48px 0 40px; text-align:left; }
 .lab-capacity-question > span { font-size:18px; }
 .lab-capacity-question h3 { font-size:35px; }
 .lab-capacity-question br { display:none; }
 .lab-picture-grid { gap:22px; grid-template-columns:1fr; }
 .lab-picture-copy { padding:24px; }
 .lab-picture-copy h3 { font-size:29px; }
 .lab-youtube { grid-template-columns:1fr; padding-block:70px; gap:35px; }
 .lab-youtube h2 { font-size:37px; }
 html[data-lab="true"] .client-fit li,html[data-lab="true"] .process-list p { font-size:19px; }
 html[data-lab="true"] .button { max-width:100%; font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .capacity-day,.capacity-slot,.capacity-new { transform:none; } .lab-youtube-preview > img { transition:none; } }
