/* Complete transparent room vignettes; section colors never need image seams. */
.hero.room-stage,.founder.room-stage{background:var(--cream)}
.problem.room-stage,.coffee.room-stage{background:var(--yellow)}
.partnership-stage{background:var(--purple)}
.vision-stage{background:var(--mint)}
.hero .button{margin-top:30px}
.hero .hero-invite{margin-top:4px}
.hero-invite span{box-shadow:inset 0 -.38em 0 var(--yellow);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-headline-line{display:block;white-space:nowrap}
@media(max-width:760px){.hero h1 .hero-headline-line{font-size:.82em}}
.hero-cta-mobile{display:none}
.problem-copy>p.problem-question:not(.section-index):not(.lead){margin:32px 0 0;font-size:clamp(19px,1.65vw,24px);font-weight:750;line-height:1.7}
.problem-copy>p.problem-affirm:not(.section-index):not(.lead){margin:46px 0 30px;color:var(--purple);font-family:var(--heading);font-size:clamp(28px,2.5vw,38px);font-weight:700;line-height:1.45}
.problem-explanation{border-top:2px solid var(--ink)}
.problem-explanation p{margin:0;padding:25px 0;font-size:clamp(19px,1.7vw,25px);font-weight:700;line-height:1.75}
.problem-explanation p+p{border-top:1px solid #241e2752}
.problem-explanation strong{color:var(--purple);font-weight:850}
.limits-intro .section-heading{max-width:980px}
.limits-intro h2{font-size:clamp(34px,3.25vw,52px);line-height:1.5}
.workflow-caption{font-size:17px;line-height:1.5;font-weight:800;margin-bottom:24px}
.workflow-area.is-visible .workflow li{animation:none}
.workflow-area.is-workflow-active .workflow li{animation:workflow-fill .2s ease-out calc(var(--i,0)*.24s) 1 forwards}
.workflow li:nth-child(8){--i:7}
.workflow li:nth-child(3n+1){--tile:#d9b8e6}
@keyframes workflow-fill{from{background:var(--cream)}to{background:var(--tile)}}

.limits .outsource{background:var(--cream)}
.limit-conclusion h3{margin:46px 0 50px;font-size:clamp(35px,3.3vw,50px);line-height:1.55}
.limit-conclusion>p.limit-cost,.limit-conclusion>p.limit-agency{font-size:clamp(21px,1.9vw,27px);line-height:1.8}
.limit-conclusion>p.limit-cost{margin-top:0;font-weight:750}
.limit-conclusion>p.limit-agency{margin-top:62px}
.hero .scene-backdrop picture{display:block}
.problem .scene-backdrop picture,.partnership-stage .scene-backdrop picture,.vision-stage .scene-backdrop picture,.founder .scene-backdrop picture{display:block}
.hero .hero-subcopy{background:transparent}
.room-stage .scene-backdrop{clip-path:none;overflow:visible}
.room-stage .scene-backdrop img{width:100%;height:auto;margin:0;object-fit:contain}
.room-surround img{display:block;width:100%;height:auto;margin:0}
.fit-card-heading{display:flex;align-items:center;gap:17px;min-height:88px;margin-bottom:22px}
.fit-card-heading img{display:block;width:82px;height:82px;object-fit:contain;flex:none}
.fit-grid .fit-card-heading h3{margin:0;font-size:clamp(24px,2vw,32px);line-height:1.45}
.fit-grid article{min-width:0}
.partnership .comparison-wrap{--mrz-start:61%;--mrz-lift:20px;--mrz-foot:12px;position:relative;transform:none;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;margin-top:48px;margin-bottom:16px}
.partnership .comparison-wrap:before{content:"";position:absolute;z-index:2;left:0;right:calc(100% - var(--mrz-start));top:0;bottom:0;border:3px solid var(--ink);border-right:0;border-radius:3px 0 0 3px;pointer-events:none}
.partnership .comparison-wrap:after{content:"";position:absolute;z-index:3;left:var(--mrz-start);right:0;top:calc(-1 * var(--mrz-lift));bottom:calc(-1 * var(--mrz-foot));border:2px solid var(--ink);border-radius:2px;background:linear-gradient(to bottom,var(--yellow) 0 var(--mrz-lift),transparent var(--mrz-lift),transparent calc(100% - var(--mrz-foot)),#fff0bb calc(100% - var(--mrz-foot)));box-shadow:-10px 2px 18px #241e274d,4px 7px 12px #241e2733;pointer-events:none}
.comparison{border-collapse:separate;border-spacing:0}
.comparison thead{background:transparent}
.comparison tr>*:last-child{position:relative}
.comparison th,.comparison td{text-align:center;vertical-align:middle;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.comparison tr>*:last-child{border-right:0}
.comparison tbody tr:last-child>*{border-bottom:0}
.comparison thead th:nth-child(1){background:#f0e7d7}
.comparison thead th:nth-child(2){background:#e8e0d4}
.comparison thead tr:last-child>*{border-bottom:2px solid var(--ink)}
.comparison thead th:last-child{position:relative;z-index:1;border:0;border-bottom:2px solid var(--ink)}
.comparison td:nth-child(2){background:var(--cream)}
@media(max-width:760px){
 .partnership .comparison-wrap{--mrz-start:61.5%;--mrz-lift:14px;--mrz-foot:8px;margin-top:40px}
 .partnership .comparison-wrap:after{box-shadow:-7px 1px 12px #241e274d,3px 5px 8px #241e2733}
}
.comparison tbody th{background:#f0e7d7}
.comparison-note{display:block;margin-top:.3em;font-size:clamp(11px,.7em,14px);line-height:1.35;color:#665a63;font-weight:400}
.vision-steps .growth-diagram{padding-top:0}
@media (prefers-reduced-motion:no-preference){
 .motion-ready .growth-diagram .growth-step{opacity:0;transform:translateY(38px) scale(.985)}
 .motion-ready .growth-diagram.is-visible .growth-step{animation:step-stack .58s cubic-bezier(.2,.8,.25,1) both}
 .motion-ready .growth-diagram.is-visible .step-one{animation-delay:.12s}
 .motion-ready .growth-diagram.is-visible .step-two{animation-delay:.38s}
 .motion-ready .growth-diagram.is-visible .step-three{animation-delay:.64s}
 .motion-ready .growth-diagram.is-visible .step-four{animation-delay:.9s}
}
@keyframes step-stack{from{opacity:0;transform:translateY(38px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:761px){
 .hero.room-stage,.problem.room-stage,.coffee.room-stage,.founder.room-stage,.partnership-stage,.vision-stage{min-height:800px;padding:75px max(6vw,calc((100vw - 1580px)/2)) 85px}
 .hero.room-stage{min-height:850px}
 .hero-copy,.partnership-stage>.section-heading,.vision-stage>.vision-copy{width:51%;max-width:720px}
 .hero.room-stage .scene-backdrop,.founder.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop{inset:50% max(3vw,calc((100vw - 1640px)/2)) auto auto;width:min(43%,700px);transform:translateY(-45%)}
 .problem.room-stage .scene-backdrop,.coffee.room-stage .scene-backdrop{inset:50% auto auto max(2vw,calc((100vw - 1640px)/2));width:min(43%,700px);transform:translateY(-50%)}
 .problem-copy,.coffee-copy{width:51%;max-width:780px}
 .founder.room-stage .founder-title,.founder.room-stage .founder-story{width:51%;max-width:740px}
 .services.illustrated-room .room-surround,.fit.illustrated-room .room-surround{inset:auto 2vw 50px auto;width:min(24%,370px)}
 .services.illustrated-room .room-surround img,.fit.illustrated-room .room-surround img{width:100%;margin:0}
 .limits .room-surround,.channel-proof .room-surround,.faq .room-surround{top:95px;width:min(100%,1450px);left:50%;right:auto;transform:translateX(-50%)}
 .limits-intro .section-heading{position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;padding:18px 0 48px}
 .proof-heading{position:relative;background:var(--cream);border-radius:18px;padding:25px 30px}
 .faq-heading{position:relative;background:transparent;border:0;border-radius:0;box-shadow:none;padding:30px 0 0;margin-left:clamp(0px,3vw,55px)}
 .channel-proof .proof-heading{background:var(--yellow)}
 .faq-heading{height:fit-content}
 .hero.room-stage{min-height:max(850px,50vw);padding-bottom:110px}
 .hero.room-stage .scene-backdrop{inset:auto 0 0;width:100%;transform:none}
 .hero.room-stage .scene-backdrop img{width:100%;height:auto;aspect-ratio:2/1}
 .problem.room-stage,.partnership-stage,.vision-stage,.founder.room-stage{min-height:max(900px,50vw);padding-bottom:150px}
 .problem.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop,.founder.room-stage .scene-backdrop{inset:auto 0 0;width:100%;transform:none}
 .problem.room-stage .scene-backdrop img,.partnership-stage .scene-backdrop img,.vision-stage .scene-backdrop img,.founder.room-stage .scene-backdrop img{width:100%;height:auto;aspect-ratio:2/1}
 .problem-copy{width:42%;padding:30px}
 .founder.room-stage{padding-bottom:240px}
 .founder.room-stage .founder-story{width:43%}
 .partnership .partnership-stage .section-heading h2{font-size:clamp(56px,5.3vw,86px);line-height:1.5}
 .partnership-stage .section-heading>p:last-child{font-size:clamp(26px,1.85vw,32px);line-height:1.95}
 .channel-proof.illustrated-room{position:relative;padding:90px 0 100px;overflow:hidden}
 .channel-proof .room-surround{top:auto;bottom:0;left:50%;right:auto;width:min(100%,1650px);transform:translateX(-50%)}
 .channel-proof .proof-panel{position:relative;z-index:1;width:min(1100px,calc(100% - 27vw));margin:0 auto;padding:42px 56px 58px;background:var(--cream);border:3px solid var(--ink);border-radius:12px;box-shadow:10px 11px 0 var(--ink)}
 .channel-proof .proof-heading{max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0}
 .channel-proof .proof-numbers{margin-top:42px}
 .channel-proof .proof-conclusion{margin-top:58px}
 .fit.illustrated-room{min-height:0;padding:85px max(6vw,calc((100vw - 1320px)/2)) 95px}
 .fit-grid{width:100%}
 .services.illustrated-room{min-height:0;padding:85px max(6vw,calc((100vw - 1320px)/2)) 95px}
 .services-layout{width:100%;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5%}
}
@media(min-width:761px) and (max-width:1100px){
 .hero h1{font-size:52px}.problem-copy{padding:25px}
 .hero.room-stage,.problem.room-stage,.coffee.room-stage,.founder.room-stage,.partnership-stage,.vision-stage{min-height:800px;padding-left:5vw;padding-right:5vw}
 .problem-copy h2{font-size:38px}.problem-points li>span{font-size:22px}
}
@media(max-width:760px){
 .site-header>.button{display:none}
 .hero-cta-desktop{display:none!important}
 .hero-cta-mobile{display:inline-flex;align-self:center;order:2;width:calc(100% - 14vw);max-width:400px;margin:0 auto 35px!important}
 .problem-copy>p.problem-question:not(.section-index):not(.lead){margin-top:28px;font-size:18px}
 .problem-copy>p.problem-affirm:not(.section-index):not(.lead){margin:40px 0 27px;font-size:27px}
 .problem-explanation p{font-size:18px;line-height:1.75;padding:24px 0}
 .limits-intro h2{font-size:clamp(25px,6.2vw,33px);line-height:1.55}
 .limits-intro .section-heading{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 0 34px}
 .faq-heading{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 24px}
 .vision-steps .growth-diagram{padding-top:0}
 .workflow-caption{font-size:14px;margin-bottom:19px}
 .limit-conclusion h3{margin:35px 0 39px;font-size:clamp(25px,6.1vw,32px);line-height:1.65}
 .limit-conclusion>p.limit-cost,.limit-conclusion>p.limit-agency{font-size:19px;line-height:1.8}
 .limit-conclusion>p.limit-agency{margin-top:48px}
 .channel-proof.illustrated-room{padding:48px 6vw 55px}
 .channel-proof .proof-panel{position:relative;z-index:1;width:100%;padding:24px 20px 30px;background:var(--cream);border:3px solid var(--ink);border-radius:9px;box-shadow:5px 6px 0 var(--ink)}
 .channel-proof .proof-heading{padding:0;border:0;box-shadow:none;background:transparent}
 .channel-proof .proof-numbers{background:transparent}
 .channel-proof .room-surround{order:10;width:100%;margin:28px auto 0}
 .fit.illustrated-room{padding:50px 7vw 65px;min-height:0}
 .fit-card-heading{gap:12px;min-height:80px;margin-bottom:18px}
 .fit-card-heading img{width:80px;height:80px}
 .fit-grid .fit-card-heading h3{font-size:23px}
 .services.illustrated-room{min-height:0;padding:50px 7vw 65px}
 .partnership .partnership-stage .section-heading h2{font-size:clamp(37px,9.7vw,48px)}
 .partnership-stage .section-heading>p:last-child{font-size:21px;line-height:1.95}
 .problem.room-stage{background:linear-gradient(var(--yellow) 0 calc(100% - 90px),#91d5b4 calc(100% - 90px))}
 .partnership-stage{background:linear-gradient(var(--purple) 0 calc(100% - 90px),#f6b1c7 calc(100% - 90px))}
 .vision-stage{background:linear-gradient(var(--mint) 0 calc(100% - 90px),#fcebd1 calc(100% - 90px))}
 .founder.room-stage{background:linear-gradient(var(--cream) 0 calc(100% - 90px),#f6b1c7 calc(100% - 90px))}
 .hero.room-stage{background:linear-gradient(var(--cream) 0 calc(100% - 90px),#f6b1c7 calc(100% - 90px))}
 .room-stage .scene-backdrop,.hero.room-stage .scene-backdrop,.founder.room-stage .scene-backdrop,.problem.room-stage .scene-backdrop,.coffee.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop{position:relative;inset:auto;width:94%;margin:28px auto 20px;transform:none;order:1;clip-path:none}
 .hero.room-stage .scene-backdrop img,.founder.room-stage .scene-backdrop img,.problem.room-stage .scene-backdrop img,.coffee.room-stage .scene-backdrop img,.partnership-stage .scene-backdrop img,.vision-stage .scene-backdrop img{width:100%;margin:0}
 .illustrated-room,.faq.illustrated-room,.services.illustrated-room,.fit.illustrated-room{display:flex;flex-direction:column;padding:48px 7vw 40px}
 .illustrated-room .room-surround{position:relative;inset:auto;order:10;width:100%;margin:30px auto 0;overflow:visible}
 .limits.illustrated-room .room-surround,.channel-proof.illustrated-room .room-surround,.faq.illustrated-room .room-surround{display:none}
 .illustrated-room .room-surround img,.services.illustrated-room .room-surround img,.fit.illustrated-room .room-surround img{width:100%;margin:0}
 .services.illustrated-room .room-surround,.fit.illustrated-room .room-surround{width:220px;max-width:85%}
 .founder.room-stage,.hero.room-stage,.problem.room-stage,.coffee.room-stage,.partnership-stage,.vision-stage{min-height:0}
 .problem.room-stage .scene-backdrop{width:100%;overflow:hidden;margin-bottom:0}
 .problem.room-stage .scene-backdrop img{width:200%;max-width:none;margin:0;aspect-ratio:2/1}
 .partnership-stage .scene-backdrop{width:85%}
 .site-footer{justify-content:center;padding:28px 7vw calc(34px + env(safe-area-inset-bottom));gap:0}
 .site-footer>a:first-child,.site-footer p{display:none}
 .site-footer>a:last-child{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:400px;min-height:56px;margin:0;padding:12px 20px;border:3px solid var(--ink);border-radius:999px;background:var(--yellow);box-shadow:5px 5px 0 var(--ink);color:var(--ink);font-family:var(--heading);font-size:20px;font-weight:800;text-align:center;text-decoration:none}
}

/* Keep touch scrolling visually steady while retaining the requested diagrams. */
@media(max-width:760px){
 html{scroll-behavior:auto}
 .motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1;translate:none;transition:none}
 .mobile-cta{translate:0 0;opacity:0;pointer-events:none;transition:opacity .2s ease,visibility .2s}
 .mobile-cta.is-visible{translate:0 0;opacity:1;pointer-events:auto}
 .motion-ready .growth-diagram .growth-step{transform:translateY(24px)}
 .motion-ready .growth-diagram.is-visible .growth-step{animation-name:step-stack-mobile}
}
@keyframes step-stack-mobile{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:760px){
 /* Decorative cropping should not create nested scroll containers on touch devices. */
 .room-stage,.illustrated-room,.channel-proof.illustrated-room,
 .comparison-wrap,.problem.room-stage .scene-backdrop,.room-surround{overflow:clip}
}
