/* The approved PDF stylesheet owns slide composition. Only the viewer scales. */
*{box-sizing:border-box}
html,body{height:100%;overflow:hidden}
body{font-family:Inter,sans-serif;color:var(--ink);background:var(--paper);--header:56px}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.skip{position:fixed;left:12px;top:-80px;z-index:30;padding:12px;background:white}
.skip:focus{top:8px}
.site-header{height:var(--header);display:flex;align-items:center;gap:24px;padding:0 28px;background:var(--paper);position:relative;z-index:2;border-bottom:1px solid #0a112010}
.wordmark{display:flex;align-items:center}.wordmark img{width:110px;height:auto}
nav{display:flex;gap:22px;margin-left:auto;font-size:12px;font-weight:500}
nav a{padding:10px 0;position:relative;color:#626d80}
nav a[aria-current]{color:var(--blue)}
nav a[aria-current]:after{content:'';position:absolute;bottom:3px;height:2px;left:0;right:0;background:var(--blue)}
.download{display:flex;align-items:center;gap:5px;font-size:12px;border-left:1px solid #0a112020;padding-left:24px}
.download svg{width:15px;height:15px;margin-left:5px;fill:none;stroke:currentColor;stroke-width:1.5}
.reading-progress{position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--blue);transform-origin:left;transform:scaleX(0);transition:transform .25s}
main{height:calc(100dvh - var(--header));overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-y:contain}
main::-webkit-scrollbar{display:none}
.screen{height:100%;width:100%;display:grid;place-items:center;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:var(--paper)}
.screen:has(.studio.night),.screen.vision{background:var(--ink)}
.screen:has(.studio.founder),.screen.business-model,.screen.traction,.screen.competition{background:white}
.screen.product{background:var(--paper)}
.screen.close{background:var(--blue)}
.frame{width:calc(1200px * var(--scale, .25));height:calc(675px * var(--scale, .25));position:relative}
.frame>.studio{transform:scale(var(--scale, .25));transform-origin:top left}
button.demo-frame{border:0;padding:0;background:none;text-align:inherit;color:inherit}
.product-new .play-new{transition:box-shadow .2s,background .2s}
.demo-frame:hover .play-new{background:#3154c3;box-shadow:0 0 0 5px var(--paper),0 6px 24px #0a112040}
.modal-open{overflow:hidden}dialog{width:min(1120px,92vw);max-width:none;max-height:92svh;padding:0;border:1px solid #354157;border-radius:8px;background:var(--ink);color:white;box-shadow:0 30px 100px #0008}dialog::backdrop{background:rgba(3,8,17,.83);backdrop-filter:blur(9px)}.video-heading{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.video-heading h2{font:400 14px Inter,sans-serif;letter-spacing:0;color:#d4dced}.close-video{background:transparent;border:0;padding:8px;color:#d4dced;font-size:13px;display:flex;align-items:center;gap:14px}.close-video span{font-size:26px;line-height:.6}video{display:block;width:100%;max-height:calc(92svh - 110px);aspect-ratio:16/9;background:#000}.video-status{padding:15px 20px;color:#d4dced;font-size:14px}.retry-video{margin:0 20px 20px;padding:8px 14px;background:var(--blue);color:white;border:0;border-radius:4px}

@media(max-width:600px){body{--header:50px}.site-header{padding:0 12px;gap:15px}.wordmark img{width:78px}nav{gap:15px;font-size:11px}.download{font-size:11px;padding-left:12px}.download>span{display:none}.download svg{margin:0;width:13px}dialog{width:94vw}.video-heading{padding:10px 12px}}
@media(max-width:360px){.site-header{gap:10px}nav{gap:10px}.wordmark img{width:68px}.download{padding-left:9px}}
@media(max-height:450px){body{--header:40px}}
@media(prefers-reduced-motion:reduce){main{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.slide-controls{display:flex;align-items:center;gap:3px}
.slide-controls button{width:32px;height:40px;border:0;background:none;color:var(--ink);font-size:26px;line-height:1;border-radius:4px}
.slide-controls button:hover:not(:disabled){background:#0a112009}
.slide-controls button:disabled{opacity:.25;cursor:default}
#slide-select{width:176px;max-width:24vw;border:0;background:transparent;font:500 11px Inter,sans-serif;color:var(--muted);padding:8px 4px;cursor:pointer;text-overflow:ellipsis}
@media(max-width:1100px){nav{display:none}.slide-controls{margin-left:auto}#slide-select{max-width:none}}
@media(max-width:600px){.site-header{gap:10px}.slide-controls{gap:0}.slide-controls button{width:28px}#slide-select{width:134px;font-size:10px}.download{padding-left:9px}}
@media(max-width:360px){.site-header{padding:0 10px;gap:6px}.wordmark img{width:60px}#slide-select{width:109px}.slide-controls button{width:25px}.download svg{display:none}.download{padding-left:8px}}

/* Center chapter navigation on the viewport, independently of the right controls. */
.chapter-links{display:flex;align-items:center;gap:22px;position:absolute;left:50%;transform:translateX(-50%)}
.chapter-links nav{margin-left:0;gap:18px}
.slide-controls{margin-left:auto}
@media(min-width:1351px) and (max-width:1700px){.site-header{gap:16px}.download>span,.one-pager-download>span{display:none}#slide-select{width:140px}.download{padding-left:16px}}
@media(max-width:1350px){.chapter-links{position:static;transform:none;margin-left:auto}.chapter-links nav{display:none}.chapter-links .appendix-menu{margin-left:0}.slide-controls{margin-left:0}}

/* Navigation supplies the wordmark; keep slide labels and in-content branding. */
.studio .mast>.brand{display:none}
.studio .contact a:hover{text-decoration:underline;text-underline-offset:3px}
.studio.cover-new h1{top:115px}
.studio.cover-new .intro{top:354px}

/* Scroll-driven depth keeps text fully visible and never changes its scale. */
.frame .studio>h1{translate:0 calc(var(--scroll-drift, 0px) * -.35)}
.frame .studio>:is(.body,.moat-body,.thesis-copy,.intro,.sign-off){translate:0 calc(var(--scroll-drift, 0px) * .55)}

/* The cinematic web cover fills the viewport; the other PDF canvases stay intact. */
.overview .frame{width:100%;height:100%;transform:none!important}
.overview .studio.cover-new{width:100%;height:100%;transform:none;display:flex;align-items:center;padding:48px clamp(28px,6vw,110px) 110px;background:var(--ink);color:#fff}
.cover-film{position:absolute;inset:0;pointer-events:none}
.cover-film video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:65% center;background:var(--ink)}
.cover-film:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,32,.92) 0%,rgba(10,17,32,.76) 35%,rgba(10,17,32,.18) 76%),linear-gradient(0deg,rgba(10,17,32,.68),transparent 35%)}
.hero-copy{position:relative;z-index:1;width:100%}
.overview .studio.cover-new h1{position:static;width:auto;font-size:clamp(48px,min(6.5vw,10.5vh),108px);line-height:1.03;letter-spacing:-.045em;color:#fff;translate:none}
.overview .studio.cover-new .intro{position:static;width:auto;max-width:560px;margin-top:30px;font-size:clamp(15px,1.5vw,21px);line-height:1.55;color:#e0e5ee;translate:none}
.overview .studio.cover-new .origin{margin-top:18px;font-size:clamp(27px,2.5vw,36px);color:var(--sky)}
.overview .studio.cover-new .contact{top:auto;bottom:30px;left:clamp(28px,6vw,110px);right:80px;color:#b9c5d6;font-size:12px}
.overview .studio.cover-new .contact strong{color:#eef1f7}
.film-toggle{position:absolute;right:28px;bottom:30px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;background:#0a112045;color:#fff;z-index:1}
.film-toggle:hover{background:#0a112090}.film-toggle:focus-visible{outline-color:var(--sky)}
.film-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.film-toggle .pause-icon,.film-toggle.playing .play-icon{display:none}.film-toggle.playing .pause-icon{display:block}
@media(max-width:700px){
 .overview .studio.cover-new{align-items:flex-start;padding:clamp(54px,13vh,120px) 26px 100px}
 .cover-film video{object-position:90% center}
 .cover-film:after{background:linear-gradient(180deg,rgba(10,17,32,.82),rgba(10,17,32,.56) 48%,rgba(10,17,32,.2) 70%,rgba(10,17,32,.85)),linear-gradient(90deg,rgba(10,17,32,.4),transparent)}
 .overview .studio.cover-new h1{font-size:clamp(40px,11.5vw,68px)}
 .overview .studio.cover-new .intro{font-size:16px;max-width:340px;margin-top:26px}
 .overview .studio.cover-new .intro br{display:none}
 .overview .studio.cover-new .contact{left:26px;bottom:25px;font-size:10px}
 .overview .studio.cover-new .contact .person{font-size:11px}
 .film-toggle{right:20px;bottom:25px}
}
@media(max-height:550px){
 .overview .studio.cover-new{align-items:center;padding:20px 40px 70px}
 .overview .studio.cover-new h1{font-size:clamp(30px,8.8vh,48px)}
 .overview .studio.cover-new .intro{margin-top:13px;font-size:13px}
 .overview .studio.cover-new .origin{margin-top:7px;font-size:23px}
 .overview .studio.cover-new .contact{left:40px;bottom:16px;font-size:10px}
 .overview .studio.cover-new .contact .person{font-size:11px;margin-bottom:2px}
 .film-toggle{bottom:16px}
}

/* Appendix navigation stays available on narrow screens. */
.screen{position:relative}
.studio .footer-brand{display:none}
.appendix-menu{position:relative;font-size:12px;flex-shrink:0}
.appendix-menu summary{cursor:pointer;padding:14px 0;color:#626d80}
.appendix-menu summary[aria-current]{color:var(--blue)}
.appendix-options{position:absolute;right:0;top:44px;width:218px;padding:8px;background:var(--paper);border:1px solid #0a112018;border-radius:6px;box-shadow:0 12px 30px #0a112018}
.appendix-options a{display:block;padding:12px;border-radius:3px}
.appendix-options a:hover,.appendix-options a:focus-visible{background:#3d63d810;color:var(--blue)}
.back-to-close{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:14px;font-size:12px;color:var(--muted);white-space:nowrap}
.appendix-market .back-to-close{color:#b8c4db}
.back-to-close:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.appendix-menu{margin-left:auto}.slide-controls{margin-left:0}}
@media(max-width:600px){.wordmark img{width:60px}.slide-controls button{display:none}#slide-select{width:105px}.appendix-menu{font-size:11px}.appendix-options{position:fixed;top:var(--header);right:12px;left:auto}}
@media(max-width:360px){.wordmark img{width:55px}#slide-select{width:78px}}

/* Keep the two PDF downloads together without crowding mobile navigation. */
.one-pager-download{display:block;flex-shrink:0;white-space:nowrap;font-size:12px;padding:12px 0}
@media(max-width:1250px){nav{display:none}.appendix-menu{margin-left:auto}.slide-controls{margin-left:0}}
@media(max-width:900px){.site-header{gap:12px}.download>span,.one-pager-download>span{display:none}}
@media(max-width:600px){.one-pager-download{font-size:11px}.site-header{gap:10px}}
@media(max-width:360px){.site-header{gap:6px}}
