:root{--headline-size:clamp(42px,4.65vw,72px);--paper:#f2f0ea;--ink:#000;--muted:#000;--header-surface:#f2f0ea;--hover-surface:#e5e3db;--sage:#79988b;--accent:#b66c50;--line:#d8d9d0;--gutter:clamp(24px,4vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{height:500svh;background:var(--paper);color:var(--ink);font-family:'Instrument Sans',sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-x:none}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}button{font:inherit;font-family:'Lora',serif;color:inherit}button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
#scenery{position:fixed;inset:0;pointer-events:none;overflow:hidden;background:var(--paper) var(--scene-poster,url('/assets/home/scene-0.png')) center bottom/cover no-repeat}
#scenery[data-chapter="4"]{background-position:right bottom}
#residency-house-link{position:fixed;z-index:3;border-radius:4px;text-decoration:none;min-width:32px;min-height:40px}
#residency-house-link[hidden]{display:none}
#landscape{display:block;width:100%;height:100%;opacity:0;transition:opacity .7s ease}
.scene-ready #landscape{opacity:1}
#scenery.scene-fallback #landscape{opacity:0}
:root[data-time="night"]{--scene-background:#000;--ink:#f6f0df;--muted:#f6f0df;--header-surface:#000;--hover-surface:#f6f0df1a}
html[data-time="night"],html[data-time="night"] body{background:var(--scene-background)}
[data-time="night"] #scenery{background-color:var(--scene-background)}

#content,#text-container{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.section{position:absolute;inset:0 0 12%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px;transition:opacity .24s ease}
.section[aria-hidden="true"]{opacity:0;visibility:hidden}
/* Keep the copy together and lift it into the open sky to balance the landscape below. */
.section-copy{width:100%;max-width:950px;display:flex;flex-direction:column;align-items:center}
.section h1,.section h2{font-family:'Lora',serif;font-size:var(--headline-size);font-weight:400;letter-spacing:-.045em;line-height:1.14;text-wrap:balance;max-width:950px}
.section h1 em,.section h2 em{font-weight:400;color:var(--ink);letter-spacing:inherit}
.subtitle{font-size:clamp(15px,1.15vw,17px);line-height:1.65;color:var(--ink);letter-spacing:.01em;margin-top:22px;max-width:640px;text-wrap:balance}
.mobile-break{display:none}
.small{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 20px;color:var(--ink)}
.hero-cta{display:flex;align-items:center;gap:22px;margin-top:24px}
.apply-big{font-family:'Lora',serif;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;border:1px solid currentColor;border-radius:999px;pointer-events:auto;transition:background .2s,color .2s,border-color .2s}
.apply-big{padding:15px 27px;background:transparent;color:var(--ink);border-color:var(--ink);font-size:14px}
.apply-big:hover{background:var(--hover-surface);border-color:var(--ink)}
.deadline-info{text-align:left;display:flex;flex-direction:column;gap:4px}
.deadline-caption{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--ink)}
.deadline-time{font-family:'Lora',serif;font-size:14px;color:var(--ink)}


.ef-investors{max-width:625px;font-size:15px;line-height:1.9;color:var(--ink);margin-top:24px}
.ef-investors a{pointer-events:auto;text-underline-offset:4px;text-decoration-color:currentColor}
.founders-cloud{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 36px;margin-top:12px;max-width:100%}
.founder{display:flex;flex-direction:column;gap:7px}.founder em{font-family:'Lora',serif;font-size:21px;white-space:nowrap;font-weight:400}.founder small{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.skip-link{position:fixed;top:8px;left:12px;z-index:101;background:transparent;color:var(--ink);padding:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}

@media(max-height:750px) and (min-width:769px){.subtitle{margin-top:16px}.hero-cta{margin-top:18px}.founders-cloud{gap:20px 30px}.founder em{font-size:19px}}
@media(max-width:1000px){.founders-cloud{gap:25px}.founder em{font-size:18px}}
@media(max-width:768px){
:root{--gutter:24px}
.section{padding-inline:22px}.section-copy{max-width:480px}.subtitle{font-size:14px;margin-top:19px;max-width:350px;line-height:1.65}.mobile-break{display:initial}.small{font-size:10px;letter-spacing:.1em;margin-bottom:17px}.hero-cta{margin-top:24px;gap:18px}.apply-big{font-size:13px;padding:14px 22px;gap:18px}.deadline-caption{font-size:8px}.deadline-time{font-size:13px}.ef-investors{font-size:14px;margin-top:18px;max-width:330px}.founders-cloud{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;width:100%;margin-top:9px}.founder em{font-size:16px;white-space:normal}.founder small{font-size:9px;line-height:1.4}

}
@media(max-width:380px){.hero-cta{margin-top:17px}.founders-cloud{gap:16px 12px}.founder em{font-size:14px}}
@media(max-width:380px) and (max-height:650px){.founders-cloud{row-gap:8px}}
@media(max-height:520px){.subtitle{font-size:12px;margin-top:10px}.hero-cta{margin-top:12px}.small{margin-bottom:10px}.founders-cloud{grid-template-columns:repeat(4,1fr);gap:12px}.founder em{font-size:14px}.founder small{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

@media(min-width:769px) and (max-height:800px){.section[data-section="2"] .subtitle{margin-top:15px;font-size:14px}}
@media(max-height:520px){.section[data-section="2"] .subtitle{margin-top:10px;font-size:12px}.hero-cta .apply-big{padding:11px 22px;font-size:12px}}

/* Keep supporting text compact around the centered headline on smaller screens. */
@media(min-width:769px) and (max-height:800px){
.small{margin-bottom:14px}.subtitle,.section[data-section="2"] .subtitle{margin-top:14px;line-height:1.5}
}
@media(max-width:380px) and (max-height:700px){
.small{margin-bottom:8px}
.subtitle{font-size:12px;line-height:1.4;margin-top:10px}
.ef-investors{font-size:12px;line-height:1.5;margin-top:8px}
.founders-cloud{row-gap:4px;margin-top:4px}.founder{gap:3px}
}
@media(max-height:520px) and (min-width:600px){
.small{font-size:10px;margin-bottom:8px}.subtitle,.section[data-section="2"] .subtitle{font-size:12px;line-height:1.4;margin-top:8px}
.ef-investors{font-size:12px;line-height:1.5;margin-top:8px}
}

/* Keep the landscape edge-to-edge. */
.scene-ready #scenery{background-image:none}

/* A single responsive type scale; chapter copy never changes its own size. */

@media(max-width:768px){:root{--headline-size:clamp(32px,8.2vw,56px)}}
@media(min-width:769px) and (max-height:800px){:root{--headline-size:clamp(38px,4.1vw,54px)}}
@media(max-width:380px){:root{--headline-size:30px}}
@media(max-height:520px){:root{--headline-size:28px}}


.portfolio-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 30px;list-style:none;padding:0;margin:20px 0 0;max-width:930px}
.portfolio-examples li{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.4}.portfolio-examples a{pointer-events:auto;text-decoration:none}.portfolio-examples a:hover{text-decoration:underline;text-underline-offset:4px}.portfolio-examples span{font-size:11px;opacity:.72}
@media(max-width:768px){.portfolio-examples{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:16px 12px;margin-top:16px}.portfolio-examples li{grid-column:span 2;font-size:12px}.portfolio-examples li:nth-child(4){grid-column:2/span 2}.portfolio-examples li:nth-child(5){grid-column:4/span 2}.portfolio-examples span{font-size:10px}}
@media(max-width:380px){.portfolio-examples{gap:12px 17px}}
@media(max-height:520px){.portfolio-examples{gap:8px 18px;margin-top:10px}.portfolio-examples li{font-size:11px}.portfolio-examples span{font-size:9px}}

/* The pointer target follows the same arc as the WebGL sun and moon. */
#sky-toggle{position:fixed;z-index:4;left:17%;top:22%;width:max(44px,6.4vh);height:max(44px,6.4vh);padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:pointer}
#sky-toggle span{display:block;width:5.4vh;height:5.4vh;min-width:24px;min-height:24px;margin:auto;border-radius:50%;background:#ffcb7d}
.scene-ready #sky-toggle span{opacity:0}
[data-time="night"] #sky-toggle span{background:#f6f0df;box-shadow:0 0 20px #f6f0df30}
#sky-toggle:focus-visible{outline:1px solid currentColor;outline-offset:6px}
