/* Preserve the original widescreen composition; repair the smaller layouts. */
.signup-input:disabled{opacity:.72;cursor:not-allowed}
.header-cta:empty,.depth-cta:empty{display:none}
.header-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0;max-width:100%}
.header-tagline{font-size:20px;font-weight:400;line-height:1.15;letter-spacing:-.25px;white-space:nowrap;color:var(--white-50)}
.header-tagline strong{font-weight:700}
@media(max-width:1099px){.header-brand{gap:20px}.header-tagline{font-size:18px}}
@media(max-width:767px){.header-brand{gap:12px}.header-tagline{font-size:15px;letter-spacing:-.2px}}
.btn-primary:disabled{cursor:not-allowed}
.btn-primary{white-space:nowrap}
.signup-message{position:absolute;top:calc(100% + 7px);left:0;max-width:100%;font-size:14px;line-height:1.3;color:#ffcccc}
.signup-message:empty{display:none}
.signup:has(.signup-message:not(:empty)){margin-bottom:26px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:5px}
.statement--static{height:auto;min-height:0;padding:100px 32px}
.statement--static .statement-title{line-height:1.15}
.hero-media-veil{background:linear-gradient(180deg,#00000014,transparent 40%,#00000014)}
.statement-scrim{background:#000}
.hero-scene.is-pinned{--hero-scroll-factor:2.8;height:var(--hero-scene-height,280vh)}
.hero-scene .photo--muted:after{display:none}
.hero-scene video,.hero-motion-fallback{pointer-events:none;user-select:none}
.hero-motion-fallback{background:center/cover no-repeat url("./hero-poster.webp")}
.hero-media canvas{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
/* A still gray hairline; only its soft inner highlight travels downward. */
.hero-scroll-cue{position:absolute;z-index:5;left:50%;top:calc(100% + 24px);display:block;width:1px;height:var(--cue-length,56px);border-radius:999px;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,transparent,var(--white-20) 15%,var(--white-20) 85%,transparent)}
.hero-scroll-light{position:absolute;inset:0 0 auto;display:block;height:18px;background:linear-gradient(180deg,transparent,var(--white-50),transparent);opacity:0}
.hero-scene:not(.is-pinned) .hero-scroll-cue{position:relative;left:50%;top:auto;margin:6px 0 0}
@media(prefers-reduced-motion:no-preference){
 .hero-scroll-light{animation:hero-scroll-light 4s linear infinite;animation-play-state:var(--cue-motion,running)}
}
@keyframes hero-scroll-light{
 0%{transform:translateY(-18px);opacity:0}
 15%{opacity:.7}
 65%{opacity:.7}
 80%,100%{transform:translateY(var(--cue-length,56px));opacity:0}
}
/* Keep each vendor selector separate: unsupported selectors must not invalidate the others. */
.hero-scene video::-webkit-media-controls{display:none!important;opacity:0!important;pointer-events:none!important}
.hero-scene video::-webkit-media-controls-enclosure{display:none!important}
.hero-scene video::-webkit-media-controls-panel{display:none!important}
.hero-scene video::-webkit-media-controls-start-playback-button{display:none!important;opacity:0!important;-webkit-appearance:none}

@media(min-width:1100px) and (min-height:601px){
 .hero-scene.is-pinned{--scale:min(1,calc(100vw / 1728px),calc((100svh - 200px) / 740px))}
 .hero-scene.is-pinned .hero-scene-pin{--hero-video-top:max(calc(50% - 214px * var(--scale)),calc(136px + 128px * var(--scale)))}
 .hero-scene.is-pinned .hero-title{top:calc(var(--hero-video-top) - 78px * var(--scale))}
 .hero-scene.is-pinned .hero-photo-slot{top:var(--hero-video-top)}
 .hero-scene.is-pinned .hero-secondary{top:calc(var(--hero-video-top) + 360px * var(--scale))}
}

/* The rule always cuts through the logo at the same proportional height.
   The small print has its own natural height, so wrapping cannot clip it. */
.site-footer{height:auto}
.footer-brand{height:calc(304px * var(--scale));overflow:hidden}
.footer-wordmark{height:calc(391.731px * var(--scale))}
.footer-bar{position:relative;left:auto;right:auto;bottom:auto;height:auto;padding-bottom:calc(39px * var(--scale))}
.footer-meta{align-items:flex-start}
.footer-note{flex-shrink:0;max-width:100%}
.footer-copy{flex:0 1 auto;min-width:0}

/* Keep equal visual weight while shortening the pauses between the photographs. */
@media(min-width:1100px){.about-band{height:calc(1000px * var(--scale))}}
@media(min-width:1729px){.about-band{height:clamp(860px,58vw,1000px)}}

@media(max-width:1099px){
 .statement-scrim{background:#000}
 .hero-scene.is-pinned{--hero-scroll-factor:2.4;height:var(--hero-scene-height,240svh)}
 .hero-scene.is-pinned .hero-scene-pin{
  height:100svh;--hero-title-size:clamp(52px,8vw,80px);
  --hero-kicker-size:clamp(42px,7vw,72px);
  --hero-video-width:min(76vw,775px,calc((100svh - 340px) * 1.81));
  --hero-video-height:calc(var(--hero-video-width) * .5522580645);
  --hero-video-top:max(calc(50% - var(--hero-video-height) / 2 - 24px),calc(164px + var(--hero-title-size) * .65));
 }
 .hero-scene.is-pinned .stage-hero{height:100%;padding:0}
 .hero-scene.is-pinned .hero{position:relative;display:block;height:100%;padding:0}
 .hero-scene.is-pinned .hero-copy-layer,.hero-scene.is-pinned .hero-header-layer{position:absolute;inset:0;display:block}
 .hero-scene.is-pinned .site-header{position:absolute;left:32px;right:32px;top:28px;height:56px}
 .hero-scene.is-pinned .hero-title{position:absolute;left:32px;top:calc(var(--hero-video-top) - var(--hero-title-size) * .65);width:calc(100% - 64px);max-width:none;margin:0;font-size:var(--hero-title-size);line-height:.95;letter-spacing:-.04em}
 .hero-scene.is-pinned .hero-title .appear-line{white-space:nowrap}
 .hero-scene.is-pinned .hero-photo-slot{position:absolute;left:calc(50% - var(--hero-video-width) / 2);top:var(--hero-video-top);width:var(--hero-video-width);height:var(--hero-video-height);margin:0;aspect-ratio:auto}
 .hero-scene.is-pinned .hero-secondary{position:absolute;left:auto;right:32px;top:calc(var(--hero-video-top) + var(--hero-video-height) - var(--hero-kicker-size) * .58);width:calc(100% - 64px);max-width:none;margin:0;gap:16px;align-items:flex-end}
 .hero-scene.is-pinned .hero-kicker{font-size:var(--hero-kicker-size);line-height:.95;text-align:right;white-space:nowrap}
 .hero-scene.is-pinned .hero-body{width:min(570px,65vw);max-width:none;font-size:20px;line-height:1.5;text-align:right}
 .hero-scene.is-pinned .statement-title{font-size:clamp(32px,5.4vw,56px);line-height:1.05;width:calc(100% - 64px)}
 .about-band-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
 .about-band,.about-band-grid{min-height:min(70svh,640px)}
 .about-band-copy,.about-band-copy--wide{width:100%;min-width:0;margin:0;padding:64px 0;grid-column:1}
 .about-band-copy--right{grid-column:2;margin:0}
 .about-band-media img{object-fit:contain}
 .about-band-body{color:#ffffffcc}
 .about-band-media:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#0008 0%,#0003 42%,transparent 66%)}
 .about-band--conversations .about-band-media:after{background:linear-gradient(270deg,#000a 0%,#0004 42%,transparent 66%)}
 .footer-brand{height:auto;padding:48px 24px 0;overflow:hidden}
 .footer-wordmark{position:relative;left:auto;top:auto;width:100%;height:calc((100vw - 48px) * .2089347079);overflow:hidden}
 .wordmark-reveal{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:1455 / 391.731}
 .wordmark-img{width:100%;height:auto}
 .footer-bar{padding-bottom:32px}
 .footer-meta{flex-wrap:wrap}
 .footer-note{flex-shrink:0}
 .footer-copy{flex:1 1 380px}
}

@media(max-width:767px){
 .hero-scene.is-pinned .hero-scene-pin{--hero-title-size:clamp(40px,11.4vw,52px);--hero-kicker-size:clamp(34px,9.6vw,46px);--hero-video-width:100vw;--hero-video-height:clamp(176px,calc(100svh - 430px),100vw);--hero-video-top:calc(112px + var(--hero-title-height,123px) - var(--hero-title-size) * .58)}
 .hero-scene.is-pinned .site-header{left:20px;right:20px;top:16px;height:40px}
 .hero-scene.is-pinned .hero-title{left:20px;top:112px;width:calc(100% - 40px);font-size:var(--hero-title-size);line-height:.92;letter-spacing:-.045em}
 .hero-scene:not(.is-pinned) .hero{padding-top:56px}
 .hero-scene.is-pinned .hero-title .appear-line{white-space:normal}
 .hero-scene.is-pinned .hero-photo-slot{left:0}
 .hero-scene.is-pinned .hero-secondary{right:20px;width:calc(100% - 40px);top:calc(var(--hero-video-top) + var(--hero-video-height) - 11.2px);gap:14px}
 .hero-scene.is-pinned .hero-kicker{font-size:var(--hero-kicker-size);line-height:.92;letter-spacing:-.045em;white-space:normal}
 .hero-scene.is-pinned .hero-body{font-size:16px;line-height:1.45;width:min(28ch,100%)}
 .hero-scene.is-pinned .statement-title{font-size:clamp(26px,6.8vw,32px);line-height:1.18;width:calc(100% - 40px)}
 .hero-scene.is-pinned .statement-title .appear-line{display:inline}
 .hero-scene.is-pinned .statement-title .appear-line+.appear-line:before{content:" "}
 .about-band,.about-band-grid{min-height:64svh}
 .about-band-grid{display:flex;align-items:flex-end;gap:0}
 .about-band-media img{object-fit:cover}
 .about-band-copy,.about-band-copy--wide,.about-band-copy--right{width:100%;padding:48px 20px 72px;gap:12px}
 .about-band-media:after,.about-band--conversations .about-band-media:after{background:linear-gradient(to top,#000f 0%,#000b 26%,#0004 54%,transparent 78%)}
 /* Keep the interview setup visible, including the camera operator and boom. */
 .about-band--content .about-band-media{bottom:auto;height:min(100%,112.5vw)}
 .about-band--content .about-band-media img{object-position:right top}
 .about-band--content .about-band-media:after{background:linear-gradient(to top,#000 0%,#0008 25%,transparent 60%)}
 .about-band--courses .about-band-media{transform:translateY(clamp(-36px,-4svh,-20px))}
 .about-band-body{color:#ffffffd9}
 .footer-brand{padding:40px 20px 0}
 .footer-wordmark{height:calc((100vw - 40px) * .2089347079)}
 .footer-bar{padding-bottom:28px}
 .footer-copy{flex:initial}
 .mobile-cta .signup-input{font-size:16px}
 .mobile-cta .signup-message{position:static;flex-basis:100%;font-size:13px}
 .mobile-cta .signup:has(.signup-message:not(:empty)){flex-wrap:wrap;margin-bottom:0}
 .page:has(.mobile-cta .signup-message:not(:empty)){padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .page:not(:has(.mobile-cta)){padding-bottom:0}
}

@media(max-width:767px) and (orientation:portrait){
 .about-band,.about-band-grid{min-height:max(64svh,calc(75vw + 240px))}
 .about-band--content .about-band-grid{min-height:max(64svh,calc(112.5vw + 180px))}
}
@media(max-width:767px) and (orientation:landscape){
 .about-band--content .about-band-copy{width:58%}
}

/* Short landscape screens need a compact composition, not a cropped paragraph. */
@media(min-width:568px) and (max-height:600px){
 .hero-scene.is-pinned .hero-scene-pin{--hero-title-size:36px;--hero-kicker-size:34px;--hero-video-width:272px;--hero-video-height:150px;--hero-video-top:146px}
 .hero-scene.is-pinned .stage-hero{padding:0}
 .hero-scene.is-pinned .hero-title{font-size:36px;line-height:.95;top:122px;left:32px;width:calc(100% - 64px)}
 .hero-scene.is-pinned .site-header{top:16px;height:40px}
 .hero-scene.is-pinned .wordmark-link,.hero-scene.is-pinned .wordmark-header{width:118px;height:32px}
 .hero-scene.is-pinned .signup-input,.hero-scene.is-pinned .btn-primary{height:40px;padding-top:8px;padding-bottom:8px}
 .hero-scene.is-pinned .hero-photo-slot{left:calc(50% - 136px);top:146px;width:272px;height:150px}
 .hero-scene.is-pinned .hero-secondary{top:276px;left:auto;right:32px;width:calc(100% - 64px);gap:8px}
 .hero-scene.is-pinned .hero-kicker{font-size:34px;line-height:.95}
 .hero-scene.is-pinned .hero-body{font-size:16px;line-height:1.4;width:440px;max-width:65vw}
 .depth-title{font-size:clamp(44px,12vh,64px)}
 .depth-inner{padding:40px 0}
}

@media(prefers-reduced-motion:reduce){
 .hero-title,.hero-kicker,.hero-body{filter:none!important}
 .signup-input,.btn-primary{transition:none}
 .statement--static{padding:72px 20px}
}

/* The third concept's broad open arcs, arranged around a shared central purpose. */
.about-intro{display:grid;grid-template-columns:minmax(0,713fr) minmax(0,619fr);column-gap:20px;row-gap:72px;min-height:0;padding-top:calc(140px * var(--scale));padding-bottom:calc(112px * var(--scale))}
.about-title,.about-aside{width:auto;min-width:0}
.about-aside{justify-content:flex-start}
.understanding-map{grid-column:1 / -1;position:relative;width:100%;min-width:0;aspect-ratio:1352 / 550;margin:0}
.understanding-caption{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(100%,620px);margin-top:18px;text-align:center;color:var(--white-50);font-size:14px;line-height:1.5;font-weight:400;text-wrap:balance}
.understanding-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* WebKit loses gradient strokes with non-scaling-stroke; scale the fine SVG strokes normally. */
.understanding-lines path{stroke-width:1.1;stroke-linecap:round}
@media(min-width:768px) and (max-width:1099px){.understanding-lines path{stroke-width:1.6}}
.understanding-lines--narrow path{stroke-width:1.1}
.understanding-lines--narrow{display:none}
.understanding-label{position:absolute;margin:0;color:#fff;font-size:clamp(22px,2.1vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.025em;white-space:nowrap}
.understanding-label--content{left:16.8%;top:21.4%;transform:translateY(-50%)}
.understanding-label--courses{left:78%;top:28.8%;transform:translateY(-50%)}
.understanding-label--purpose{left:49.7%;top:46.2%;transform:translate(-50%,-50%);font-weight:500;text-align:center}
.understanding-label--conversations{left:46.5%;top:88.5%;transform:translate(-50%,-50%)}
@media(max-width:1099px){
 .about-intro{grid-template-columns:minmax(0,1fr);row-gap:28px;padding:104px 32px 88px}
 .about-aside{max-width:619px}
 .understanding-map{margin-top:36px}
 .understanding-label{font-size:clamp(22px,2.6vw,28px)}
}
@media(max-width:767px){
 .about-intro{padding:80px 20px 92px;row-gap:24px;min-height:0;justify-content:initial}
 .understanding-map{aspect-ratio:350 / 340;max-width:420px;justify-self:center;margin-top:20px}
 .understanding-lines--wide{display:none}
 .understanding-lines--narrow{display:block}
 .understanding-label{font-size:clamp(20px,5.65vw,26px)}
 .understanding-label--content{left:0;top:21.1765%;transform:translateY(-50%)}
 .understanding-label--courses{left:auto;right:0;top:29.1176%;transform:translateY(-50%)}
 .understanding-label--purpose{left:50%;top:51.4706%}
 .understanding-label--conversations{left:50%;top:90%}
}

/* The participation invitation has its own plain backdrop, separate from the depth orb. */
.participation{background:var(--black);padding:88px 0 80px}
.participation-inner{width:min(710px,calc(100% - 64px));margin:0 auto;text-align:center}
.participation-title{margin:0 auto;max-width:30ch;font-size:32px;font-weight:500;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.participation-soft{color:var(--white-50)}
.participation-body{margin:20px 0 0;font-size:18px;line-height:1.6;color:var(--white-80)}
.participation-contact{display:inline-block;margin-top:32px;padding:12px 4px;color:var(--white);font-size:24px;font-weight:400;line-height:1.4;letter-spacing:.015em;text-decoration:underline;text-decoration-color:var(--white-50);text-decoration-thickness:1px;text-underline-offset:7px}
.participation-contact:hover{text-decoration-color:var(--white)}
.faq-answer a{color:var(--white);text-decoration:underline;text-decoration-color:var(--white-50);text-underline-offset:4px;overflow-wrap:anywhere}
.faq-answer a:hover{text-decoration-color:var(--white)}
/* Keep the statement compact, followed by the invitation and FAQ. */
.depth--statement .depth-inner{min-height:0;padding:80px 0 72px}
.participation + .canvas--end .faq{padding-top:80px}
@media(max-width:1099px){
 .depth--statement .depth-inner{padding:64px 0}
 .participation{padding:72px 0 64px}
}
@media(max-width:767px){
 .participation{padding:56px 0 48px}
 .participation-inner{width:calc(100% - 40px)}
 .participation-title{font-size:26px;line-height:1.3}
 .participation-body{margin-top:18px;font-size:16px;line-height:1.55}
 .participation-contact{margin-top:28px;font-size:22px}
 .depth--statement .depth-inner{padding:56px 0 48px}
 .participation + .canvas--end .faq{padding-top:48px}
}
