/* Readable details and a simple launch invitation. */
.hero .micro,.workspace-footnote,.studio-note,.film-bottom>span{font-size:13px;color:#b6c2b6;line-height:1.6}
.film-top{color:#d1dfc9;font-size:13px;letter-spacing:.025em}
.film-top>span:last-child{font-size:13px;color:#d6f0c1}
.intro-controls #intro-time{font-size:13px;color:#d2dcd0;font-variant-numeric:tabular-nums}
.film-bottom{padding:11px 14px;text-align:center}
.hero-stage{overflow:hidden}
.workspace-panel figcaption span,.lab-toolbar>div>div>span,.preview-meta,.field-help,.studio-note{font-size:13px;color:#b7c4b9}
.access{background:#19201b;border-color:#47513d}
.access .access-action{flex-shrink:0;text-align:left}
.access p:not(.eyebrow):not(.micro){color:#c0cbbd;font-size:15px}
.access .micro{color:#b6c4ad;font-size:13px;max-width:265px;line-height:1.6}
.access .button{gap:18px;white-space:nowrap}
.access .button span{font-size:21px;line-height:1}
#access-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;padding:36px;border:1px solid #485446;border-radius:24px;background:#171d19;color:#edf3e9;box-shadow:0 32px 100px #0008}
#access-dialog::backdrop{background:#050907c9;backdrop-filter:blur(6px)}
#access-dialog .dialog-close{width:40px;height:40px;font-size:25px;border-radius:50%;color:#c4cfc2;background:#222b23;top:16px;right:16px}
#access-dialog .eyebrow{margin-top:22px;margin-bottom:12px;font-size:11px;color:#bedbaf}
#access-dialog h2{font-size:34px;line-height:1.2;letter-spacing:-.04em;margin:0 0 17px}
#access-dialog p{font-size:15px;color:#c3cec0;line-height:1.7}
.launch-icon{display:grid;place-items:center;height:52px;width:52px;color:#c2eea0;border:1px solid #566846;border-radius:16px;background:#263120}
.launch-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5}
#access-dialog .launch-email{margin-top:13px;display:flex;justify-content:space-between;padding:16px 20px;background:#c2eea0;color:#182214;font-weight:750;font-size:15px}
#access-dialog .launch-email:hover{background:#d3f6b9}
#access-dialog .launch-explainer,#access-dialog .launch-privacy{font-size:13px;line-height:1.7;color:#b4c0b1}
.launch-fallback{margin-top:20px;padding-top:16px;border-top:1px solid #374232}
.launch-fallback summary{cursor:pointer;color:#d5e2cf;font-size:14px}
#access-dialog .launch-fallback p{font-size:13px;overflow-wrap:anywhere}
.launch-privacy a,.launch-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .hero .micro,.workspace-footnote,.film-bottom>span{font-size:12px}
 .access .access-action{margin-top:24px}.access .micro{max-width:none}
 #access-dialog{padding:27px 24px;border-radius:20px}#access-dialog h2{font-size:30px}
}
@media(max-width:360px){
 .access .button{font-size:13px;padding:14px 16px;gap:12px}
 .film-top{font-size:11px;padding:11px 10px}.film-top>span:last-child{font-size:11px}
 .intro-controls{padding:10px;gap:7px}.intro-controls #intro-time{font-size:11px}
}
/* One focal reveal, then a calm surface for reading and interaction. */
@media(prefers-reduced-motion:no-preference){
 .scroll-motion :is(.gallery-frame,.caption-workbench)>.cinema-sweep::before{animation:none}
 .scroll-motion .reel-ready>.cinema-sweep::after,.scroll-motion .reel-ready .cinema-sweep::after{opacity:.15;background:#bbed9729}
 .scroll-motion .reel-ready::before,.scroll-motion .reel-ready .gallery-frame::before{transform:none;opacity:.2}
}
@media(min-width:1001px) and (min-height:650px) and (prefers-reduced-motion:no-preference){
 .scroll-motion .workspace-gallery.reel-scene{transform:perspective(1600px) translate3d(0,calc(var(--reel-remaining) * 32px),0) rotateY(calc(var(--reel-remaining) * -5deg)) scale(calc(1 - var(--reel-remaining) * .05));opacity:calc(1 - var(--reel-remaining) * .18)}
 .scroll-motion .caption-workbench.reel-scene{transform:perspective(1800px) translate3d(0,calc(var(--reel-remaining) * 30px),0) rotateX(calc(var(--reel-remaining) * 5deg)) scale(calc(1 - var(--reel-remaining) * .04));opacity:calc(1 - var(--reel-remaining) * .18)}
  .scroll-motion .reel-scene.reel-ready:not(.pointer-lit){transform:none}
}

/* Caption preview: native-size vector controls and readable time, at every width. */
.preview-transport{width:min(100%,350px)}
.preview-player{display:grid;grid-template-columns:44px minmax(40px,1fr) auto 44px;align-items:center;gap:10px;margin-top:16px}
.preview-player #preview-play{grid-column:1;grid-row:1;justify-self:start}
.preview-player #preview-seek{grid-column:2;grid-row:1;order:initial;min-width:0;width:100%;height:44px;margin:0}
.preview-player #preview-time{grid-column:3;grid-row:1;color:#e3ebe1;font-size:14px;font-weight:650;line-height:20px;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;text-align:center;flex:none;text-shadow:none}
.preview-player #preview-reset{grid-column:4;grid-row:1;justify-self:end}
.preview-player button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;box-sizing:border-box;border:1px solid #687960;background:#232d24;color:#ecf6e6;display:grid;place-items:center;transform:none}
.preview-player button:hover{background:#334332;border-color:#bcdbab;transform:none}
.preview-player button:focus-visible,.preview-player #preview-seek:focus-visible{outline:2px solid #c1ee9f;outline-offset:4px}
.preview-player svg{width:20px;height:20px;display:block;stroke-width:2}
.preview-player #preview-seek::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#c2eea0 var(--played,0%),#687568 var(--played,0%));border-radius:4px}
.preview-player #preview-seek::-moz-range-track{height:4px;background:#687568;border-radius:4px}
.preview-player #preview-seek::-moz-range-progress{height:4px;background:#c2eea0;border-radius:4px}
.preview-player #preview-seek::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6px;background:#ddf8c9;border:2px solid #152016}
.preview-player #preview-seek::-moz-range-thumb{width:12px;height:12px;background:#ddf8c9;border:2px solid #152016}
.demo-phone #preview-watermark{font-size:12px!important;font-weight:600;line-height:18px;opacity:1;letter-spacing:0;color:#fff;text-shadow:none;background:#0b100dcc;border:1px solid #ffffff26;border-radius:5px;padding:3px 6px;box-sizing:border-box;overflow-wrap:anywhere}
.preview-transport .word-timing summary{font-size:14px;color:#c7d3c2;min-height:44px}
.preview-transport #preview-status{font-size:13px;color:#c7d3c2}
@media(max-width:420px){
 .preview-player{grid-template-columns:44px minmax(0,1fr) 44px;gap:4px 12px}
 .preview-player #preview-time{grid-column:2;grid-row:1}
 .preview-player #preview-reset{grid-column:3;grid-row:1}
 .preview-player #preview-seek{grid-column:1/-1;grid-row:2;height:32px}
}
