/* Reading hierarchy: copy stays prominent alongside the illustrated rooms. */
@font-face{font-family:Gmarket;src:url('assets/GmarketSansMedium.woff') format('woff');font-weight:400 600;font-display:swap}
body{font-family:Gmarket,'Malgun Gothic',sans-serif;font-weight:400;font-size:20px;line-height:1.95;letter-spacing:-.035em}
h1,h2,h3{letter-spacing:-.045em;line-height:1.5}
.section-index,.proof-label{font-size:16px;line-height:1.8}
.hero.room-stage{padding-top:65px;padding-bottom:90px;min-height:max(1050px,64vw)}
.hero-copy{width:44%}
.hero h1{font-size:clamp(53px,5.2vw,84px);line-height:1.42;letter-spacing:-.055em}
.hero .eyebrow{font-size:16px;margin-bottom:24px}
.hero-subcopy{font-size:clamp(20px,1.65vw,26px);font-weight:700;line-height:1.9;margin-top:26px}
.hero .hero-description{font-size:clamp(20px,1.65vw,26px);line-height:1.9;margin:27px 0 22px}
.hero-model{font-size:20px;line-height:1.95;margin-bottom:32px}
.hero .button{font-size:21px;min-height:68px;padding:18px 40px}
.hero .hero-subcopy,.hero .hero-description,.hero .hero-model{background:var(--cream)}
.problem-copy h2{font-size:clamp(42px,4.2vw,66px);line-height:1.5}
.problem-points li>span{font-size:20px;line-height:1.9}
.problem-points li>strong{font-size:clamp(27px,2.5vw,39px);line-height:1.65;letter-spacing:-.045em}
.problem-copy{padding:35px 38px}
.problem.room-stage{min-height:max(890px,61vw)}
.partnership-stage h2{font-size:clamp(48px,4.8vw,76px);line-height:1.5}
.partnership-stage .section-heading>p:last-child{font-size:24px;line-height:1.95}
.partnership-message .lead{font-size:27px;line-height:1.85}
.partnership-message>p+p{font-size:22px;line-height:2}
.section-heading>p:last-child,.workflow-caption{font-size:21px;line-height:1.95}
.workflow li{font-size:17px;line-height:1.7}
.workflow-summary{font-size:23px;line-height:1.9}
.tradeoff>p:not(.stat){font-size:20px;line-height:1.95}
.limit-conclusion>p{font-size:23px;line-height:1.95}
.limit-conclusion h3{font-size:clamp(35px,3.5vw,54px);line-height:1.7}
.services h2,.fit-intro .section-heading h2{font-size:clamp(40px,4vw,62px);line-height:1.5}
.service-list h3{font-size:25px;line-height:1.7}
.service-list details>p{font-size:19px;line-height:1.95}
.your-part-title h3{font-size:30px;line-height:1.6}
.your-part li strong{font-size:21px;line-height:1.8}
.your-part li span,.participation-time,.cost-note p{font-size:17px;line-height:1.9}
.vision-stage>.vision-copy h2{font-size:clamp(39px,3.9vw,61px);line-height:1.55}
.vision-copy>p:not(.section-index){font-size:23px;line-height:1.95}
.founder.room-stage .founder-title h2{font-size:clamp(39px,3.9vw,61px);line-height:1.5}
.founder.room-stage .founder-story h3{font-size:clamp(28px,2.6vw,40px);line-height:1.65}
.founder.room-stage .founder-story p{font-size:22px;line-height:1.95}
.founder.room-stage{min-height:max(1080px,73vw)}
.proof-heading h2{font-size:clamp(37px,3.8vw,60px);line-height:1.5}
.proof-heading p,.proof-conclusion>p{font-size:23px;line-height:1.95}
.fit-grid h3{font-size:25px;line-height:1.6}
.fit-grid ul li{font-size:18px;line-height:1.95}
.faq-list summary{font-size:20px;line-height:1.8}
.answer{font-size:18px;line-height:1.95}
.coffee-copy h2{font-size:clamp(40px,3.9vw,62px);line-height:1.55}
.coffee-copy>p:not(.section-index):not(.button-note){font-size:24px;line-height:1.95}
.coffee.room-stage{min-height:max(900px,62vw)}
.coffee .button{font-size:21px}
@media(min-width:761px) and (max-width:1100px){
 .hero h1{font-size:54px}.hero-copy{width:46%}.hero.room-stage{min-height:1120px}
 .partnership-stage>.section-heading,.vision-stage>.vision-copy{width:46%}
 .partnership-stage,.vision-stage{min-height:1000px}
 .founder.room-stage{min-height:1170px}
 .problem-copy{padding:28px}.problem-copy h2{font-size:37px}
 .services-layout{grid-template-columns:1fr}.your-part{position:relative;top:auto;margin-top:30px}
 .fit-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
 body{font-size:18px;line-height:1.95}
 .hero.room-stage{padding:38px 0 0;min-height:0}
 .hero-copy{width:auto}
 .hero h1{font-size:clamp(43px,11.7vw,64px);line-height:1.45}
 .hero .eyebrow{font-size:13px}
 .hero-subcopy{font-size:19px;line-height:1.9;margin-top:25px}
 .hero .hero-description{font-size:18px;line-height:1.95;margin-top:25px}
 .hero-model{font-size:17px;line-height:1.95;margin-bottom:28px}
 .hero .button{font-size:18px;min-height:59px;padding:16px 30px}
 .section-index,.proof-label{font-size:13px}
 .problem.room-stage{min-height:0}.problem-copy{padding:26px 22px}
 .problem-copy h2{font-size:clamp(29px,8vw,40px);line-height:1.55}
 .problem-points li>span{font-size:16px}.problem-points li>strong{font-size:clamp(23px,6.2vw,31px);line-height:1.65}
 .partnership-stage h2{font-size:clamp(34px,9vw,48px);line-height:1.55}
 .partnership-stage .section-heading>p:last-child{font-size:19px;line-height:1.95}
 .partnership-message .lead{font-size:21px}.partnership-message>p+p{font-size:18px}
 .section-heading>p:last-child,.workflow-caption{font-size:17px;line-height:1.95}
 .workflow li{font-size:12px}.workflow-summary{font-size:18px}
 .tradeoff>p:not(.stat){font-size:17px;line-height:1.95}
 .limit-conclusion>p{font-size:18px}.limit-conclusion h3{font-size:clamp(24px,6.1vw,32px);line-height:1.8}
 .services h2,.fit-intro .section-heading h2{font-size:clamp(30px,7.5vw,40px);line-height:1.6}
 .service-list h3{font-size:22px}.service-list details>p{font-size:17px;line-height:1.95}
 .your-part-title h3{font-size:27px}.your-part li strong{font-size:20px}
 .your-part li span,.participation-time,.cost-note p{font-size:16px;line-height:1.95}
 .vision-stage>.vision-copy h2{font-size:clamp(30px,7.5vw,41px);line-height:1.65}
 .vision-copy>p:not(.section-index){font-size:19px;line-height:1.95}
 .founder.room-stage{min-height:0}
 .founder.room-stage .founder-title h2{font-size:clamp(30px,7.7vw,41px);line-height:1.6}
 .founder.room-stage .founder-story h3{font-size:25px;line-height:1.7}
 .founder.room-stage .founder-story p{font-size:18px;line-height:1.95}
 .proof-heading h2{font-size:clamp(27px,6.9vw,37px);line-height:1.6}
 .proof-heading p,.proof-conclusion>p{font-size:18px;line-height:1.95}
 .fit-grid h3{font-size:23px}.fit-grid ul li{font-size:17px;line-height:1.95}
 .faq-list summary{font-size:17px;line-height:1.85}.answer{font-size:17px;line-height:1.95}
 .coffee.room-stage{min-height:0}.coffee-copy h2{font-size:clamp(31px,8vw,43px);line-height:1.6}
 .coffee-copy>p:not(.section-index):not(.button-note){font-size:20px;line-height:1.95}
 .coffee .button{font-size:18px}
}

/* Supporting copy must remain readable, not become tiny captions. */
.problem-points li>span{font-size:26px;font-weight:700;line-height:1.9;margin-bottom:12px}
.proof-label,.workflow-caption,.card-tab{font-size:22px;line-height:1.9}
.proof-numbers>div>span,.revenue>div>span,.revenue strong{font-size:20px;line-height:1.8}
.comparison{font-size:20px;line-height:1.9}
.participation-time,.your-part li span,.cost-note>span,.cost-note p{font-size:20px;line-height:1.9}
.button-note,.tradeoff .fine-print{font-size:17px!important;line-height:1.9}
.analytics-preview>span{font-size:18px}.growth-step strong{font-size:27px}
@media(min-width:1101px){
 .hero.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop,.founder.room-stage .scene-backdrop{width:88%;left:auto;right:0}
 .hero.room-stage{background:linear-gradient(var(--cream) 0 calc(100% - 10vw),var(--pink) calc(100% - 10vw))}
 .partnership-stage{background:linear-gradient(var(--purple) 0 calc(100% - 10vw),var(--pink) calc(100% - 10vw))}
 .vision-stage{background:linear-gradient(var(--mint) 0 calc(100% - 10vw),var(--cream) calc(100% - 10vw))}
 .founder.room-stage{background:linear-gradient(var(--cream) 0 calc(100% - 10vw),var(--pink) calc(100% - 10vw))}
 .hero-copy,.partnership-stage>.section-heading,.vision-stage>.vision-copy{width:49%}
 .hero h1{font-size:clamp(58px,5.2vw,84px)}
 .founder.room-stage .founder-title,.founder.room-stage .founder-story{width:48%}
 .partnership-stage,.vision-stage{min-height:max(900px,62vw)}
 .services.illustrated-room,.fit.illustrated-room{padding-right:29vw}
}
@media(max-width:760px){
 .problem-points li>span{font-size:20px;line-height:1.8}
 .proof-label,.workflow-caption,.card-tab{font-size:17px;line-height:1.85}
 .proof-numbers>div>span{font-size:14px}
 .revenue>div>span,.revenue strong{font-size:15px}
 .comparison{font-size:14px}.comparison th,.comparison td{font-size:14px;line-height:1.9}
 .participation-time,.your-part li span,.cost-note>span,.cost-note p{font-size:17px;line-height:1.9}
 .button-note,.tradeoff .fine-print{font-size:15px!important}
 .analytics-preview>span{font-size:16px}.growth-step strong{font-size:23px}
 .hero .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop,.founder .scene-backdrop{}
 .hero .scene-backdrop img,.partnership-stage .scene-backdrop img,.vision-stage .scene-backdrop img,.founder .scene-backdrop img{width:145%;margin-left:-45%}
}

/* Cap scene scale on PCs rather than enlarge characters with the viewport. */
@media(min-width:761px){
 .hero.room-stage{min-height:950px;padding-bottom:95px}
 .hero.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop,.founder.room-stage .scene-backdrop{width:min(78%,1150px);left:auto;right:0}
 .hero .scene-backdrop{clip-path:inset(3% 0 0)}
 .founder.room-stage{min-height:970px}
 .hero-copy{max-width:690px}
 .hero .hero-description{margin-bottom:34px}
 .partnership-stage,.vision-stage{min-height:870px}
 .founder.room-stage .founder-story{max-width:670px}
}
@media(min-width:1800px){
 .hero.room-stage,.founder.room-stage,.partnership-stage,.vision-stage{padding-left:calc((100vw - 1580px)/2)}
 .hero h1{font-size:78px}
 .hero.room-stage .scene-backdrop,.founder.room-stage .scene-backdrop,.partnership-stage .scene-backdrop,.vision-stage .scene-backdrop{right:calc((100vw - 1680px)/2)}
}
@media(max-width:760px){.hero .scene-backdrop{clip-path:inset(3% 0 0)}.hero .hero-description{margin-bottom:30px}}

.workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1000px;margin:auto}
.workflow-area{padding:35px;transform:none}
.workflow li{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;padding:22px 14px;border-radius:12px;transform:none!important;min-height:156px;position:relative}
.workflow li .workflow-number{grid-column:1/-1;text-align:left;font-family:var(--heading);font-size:18px;color:var(--ink);margin:0}
.workflow-icon{width:64px;height:64px}
.workflow li strong{font-family:var(--heading);font-size:23px;line-height:1.55;word-break:keep-all}
.workflow li:nth-child(n+5){translate:none!important}
.workflow li:not(:last-child):after{right:-22px;top:50%;font-size:30px}
.workflow li:nth-child(4):after{display:none}
@media(max-width:1100px){
 .workflow li{grid-template-columns:1fr;justify-items:center;padding:18px 10px}
 .workflow li .workflow-number{justify-self:start}
 .workflow li strong{font-size:21px}
}
@media(max-width:760px){
 .workflow-area{padding:25px 18px}
 .workflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
 .workflow li{min-height:164px;gap:8px;padding:16px 10px}
 .workflow li:nth-child(n+5){translate:none!important}
 .workflow li:last-child{grid-column:auto;width:auto;justify-self:stretch}
 .workflow li .workflow-number{font-size:16px}
 .workflow li strong{font-size:21px}.workflow-icon{width:54px;height:54px}
 .workflow li:after{display:none}
}

@media(min-width:761px){
 .hero.room-stage{--floor:calc(min(78vw,1150px) * .1332);background:linear-gradient(var(--cream) 0 calc(100% - var(--floor)),#f1aab5 calc(100% - var(--floor)))}
 .founder.room-stage{--floor:calc(min(78vw,1150px) * .10374);background:linear-gradient(var(--cream) 0 calc(100% - var(--floor)),#efa3b8 calc(100% - var(--floor)))}
 .partnership-stage{--floor:calc(min(78vw,1150px) * .16215);background:linear-gradient(var(--purple) 0 calc(100% - var(--floor)),#f0aab8 calc(100% - var(--floor)))}
 .vision-stage{--floor:calc(min(78vw,1150px) * .13924);background:linear-gradient(var(--mint) 0 calc(100% - var(--floor)),#fcf5e3 calc(100% - var(--floor)))}
}

@media(min-width:761px){
 .problem.room-stage .scene-backdrop,.coffee.room-stage .scene-backdrop{width:min(78%,1150px);right:auto;left:0}
 .problem.room-stage{--floor:calc(min(78vw,1150px) * .13442);background:linear-gradient(var(--yellow) 0 calc(100% - var(--floor)),#91d4b1 calc(100% - var(--floor)))}
 .coffee.room-stage{--floor:calc(min(78vw,1150px) * .08559);background:linear-gradient(var(--yellow) 0 calc(100% - var(--floor)),#efabb5 calc(100% - var(--floor)))}
 .coffee-copy{width:47%}
 .site-header nav,.button-small{font-size:17px}
}
.site-footer{font-size:16px;line-height:1.8}
@media(max-width:760px){.site-footer{font-size:14px}.workflow-caption{max-width:none}}
