/* ============= Downtime Studios — v27 ============= */
*{box-sizing:border-box}
html,body{margin:0;height:100%;width:100%;background:#000;color:#fff}
body{font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}
:root{
  --overlay:#181818cc;
  --muted:#ffffffbf;
  --blueblack:#0F1828;
  --ink:#E6E6E6;
  --stroke:rgba(255,255,255,.16);
  --title-top:14vh;
}

/* toast */
#tiny-toast{position:fixed;z-index:100;left:10px;top:10px;font-size:11px;background:#111d;border:1px solid #333;padding:6px 8px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .18s, transform .18s;transform:translateY(-6px)}
#tiny-toast.on{opacity:1;transform:translateY(0)}

h1,h2,h3{font-family:'Anton',Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;letter-spacing:.02em}

/* buttons */
.btn{background:transparent;border:0;outline:0;color:#fff;cursor:pointer;text-transform:lowercase;font-weight:700;letter-spacing:.06em}
.btn.more,.btn.less{font-size:.82em;opacity:.6}
.btn.more:hover,.btn.less:hover{opacity:.95}

/* menu */
.menu-wrap{position:fixed;top:12px;right:12px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.menu-head{display:flex;align-items:flex-end;gap:10px}
.menu-head img{height:64px;display:block}
.menu-current{margin-top:2px}
.menu-current a{color:#fff;text-decoration:none;font-size:13px;line-height:1.12;text-transform:lowercase;-webkit-text-stroke:1px var(--stroke);paint-order:stroke fill}
.dropdown{position:relative;top:6px;right:0;text-align:right;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s}
.menu-wrap.open .dropdown{opacity:1;transform:translateY(0);pointer-events:auto}
.dropdown p{margin:1px 0}
.dropdown a{color:#fff;text-decoration:none;font-size:13px;line-height:1.12;text-transform:lowercase;-webkit-text-stroke:1px var(--stroke);paint-order:stroke fill;transition:font-weight .15s}
.dropdown a:hover{font-weight:700}

/* mobile hamburger → logo swap (only on non-index pages or when menu is open) */
.menu-toggle{display:none;width:40px;height:32px;background:transparent;border:0;cursor:pointer;position:relative}
.menu-toggle .bar{display:block;position:absolute;left:0;right:0;height:3px;background:#fff;border-radius:2px;opacity:.95}
.menu-toggle .bar:nth-child(1){top:4px}
.menu-toggle .bar:nth-child(2){top:14px}
.menu-toggle .bar:nth-child(3){top:24px}
@media (max-width:767px){
  .menu-toggle{display:block}
  .menu-head>a img{display:none}
  .menu-wrap.open .menu-toggle{display:none}
  .menu-wrap.open .menu-head>a img{display:block}
}

/* Hide small logo while on the index landing */
body.on-landing .menu-head{opacity:0;pointer-events:none}

/* scroller/sections */
.scroll-container{position:relative;height:100vh;width:100vw;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth}
.scroll-container::-webkit-scrollbar{display:none}
.scroll-container{scrollbar-width:none}

.section{position:relative;height:100vh;width:100vw;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;background:#000}

/* video/poster */
.video-bg{position:absolute;inset:0;z-index:1;overflow:hidden;background:#000}
.video-bg video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;object-fit:var(--video-fit, cover);background:#000}
.section::before{content:"";position:absolute;inset:0;background-image:var(--poster-image);background-size:var(--poster-size, cover);background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.1s ease;z-index:2;background-color:#000}
.section.poster-active::before{opacity:1}
.calm-section::before{display:none}

/* landing logo — video never fades; logo fades in at 4s */
.big-logo{position:absolute;inset:0;display:grid;place-items:center;z-index:20;opacity:0;transition:opacity 1.2s ease}
.big-logo.show{opacity:1}
.big-logo img{width:min(50vw,50vh);max-width:640px}

/* rail & stack */
.rail{position:absolute;left:50%;transform:translateX(-50%);bottom:4px;width:min(1000px,92vw);z-index:4;transition:transform .45s ease .09s, top .45s ease .09s, padding-bottom .45s ease;padding-bottom:var(--pad-bottom,0px)}
.title{font-size:clamp(27px,4.4vw,51px);line-height:.95;margin:0;text-align:center;-webkit-text-stroke:1px var(--stroke);paint-order:stroke fill}

/* drawer */
.drawer{display:block;max-width:85%;margin:10px auto 0}
.peek{background:var(--overlay);padding:12px 12px 10px;border-radius:14px;color:#e9e9e9}
.peek .logline-inside{font-family:'Libre Baskerville',serif;font-size:.95rem;line-height:1.35;font-style:italic;color:#e3e3e3;margin:2px 0 8px 0;text-align:center}
.peek .text{font-family:'Libre Baskerville',serif;font-size:1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 100%);mask-image:linear-gradient(to bottom, rgba(0,0,0,.75) 0%, rgba(0,0,0,0) 100%)}
.peek .text p{margin:0}
.section.open .peek{display:none}

/* open animation: top edge glides up, bottom grows slightly slower */
.panel{background:var(--overlay);border-radius:14px;overflow:hidden;max-height:0;visibility:hidden;padding:0;transform:translateY(10px);transition:max-height .55s ease, padding .35s ease, transform .35s ease, visibility 0s linear .55s;margin-top:10px;will-change:max-height,transform}
.section.open .panel{padding:18px;max-height:60vh;visibility:visible;transform:translateY(0)}
.panel .logline-inside{font-family:'Libre Baskerville',serif;font-size:.95rem;line-height:1.35;font-style:italic;color:#ddd;margin:2px 0 10px;text-align:center}
.panel .body{font-family:'Libre Baskerville',serif;font-size:1rem;line-height:1.5;color:#f0f0f0}
.panel .body p{margin:0 0 1em 0}

/* credits + less */
.panel .body b,.panel .body strong,.peek .text b,.peek .text strong{font-weight:400}
.meta-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:2px;position:relative}
.credits-line{margin:0;text-align:center;padding-right:70px;white-space:nowrap;font-size:.9em;opacity:.86}
.meta-row .less{position:absolute;right:6px;top:50%;transform:translateY(-50%)}

/* open state — title locks; drawer grows below it */
.film-section.open .rail,.mv-section.open .rail{top:var(--title-top);bottom:auto;transform:translate(-50%,0)}

/* auto-open durations */
.film-section.auto-open .rail,.film-section.auto-open .panel{transition-duration:2.6s}
.mv-section.auto-open .rail,.mv-section.auto-open .panel{transition-duration:2.0s}

/* controls */
.controls{position:absolute;right:16px;bottom:14px;display:flex;gap:10px;z-index:6}
.control{background:transparent;border:none;padding:0;cursor:pointer}
.control img{width:20px;height:20px;filter:invert(1) contrast(1.2)}
@media (max-width:767px){ .control img{width:18px;height:18px} }

/* chevron */
.chev-center{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;background:transparent;border:none;padding:0;margin:0;z-index:500;cursor:pointer;opacity:.8}
.chev-center img{width:56px;height:56px;filter:invert(1) opacity(.95)}
@media (max-width:767px){ .chev-center img{width:50px;height:50px} }

/* calm sections (bigger, responsive) */
.calm-section{background:#000;scroll-snap-align:start;height:100vh;display:block;position:relative;overflow:hidden}
.calm-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1200px,96vw);color:var(--ink);background:var(--blueblack);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 18px;box-shadow:0 16px 42px rgba(0,0,0,.45);max-height:80vh;display:flex;flex-direction:column}
.calm-header h3{font-family:'Libre Baskerville',serif;margin:0 0 6px}
.calm-header .sub{font-family:'Libre Baskerville',serif;margin:0 0 12px;opacity:.9}
.calm-scroll{flex:1;min-height:0;overflow:hidden;scrollbar-width:none}
.calm-wrap:hover .calm-scroll{overflow:auto}
.calm-scroll::-webkit-scrollbar{display:none}
.calm-columns{column-count:2;column-gap:28px;font-family:'Libre Baskerville',serif;font-size:clamp(14px,1.8vw,18px);will-change:transform}
.calm-columns p{margin:.4em 0}
@media (max-width:900px){ .calm-columns{column-count:1} }
.calm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;place-items:center;will-change:transform}
.calm-grid:empty{display:none;margin-top:0}
.calm-grid-img{width:100%;height:170px;object-fit:contain;background:#000;border-radius:8px;transition:transform .18s ease}
.calm-grid-img:hover{transform:scale(1.06)}
@media (max-width:900px){ .calm-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .calm-grid{grid-template-columns:1fr} .calm-grid-img{height:160px} }

/* lightbox — full screen */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:50}
.lightbox.is-open{opacity:1;pointer-events:auto}
.lightbox-inner{max-width:96vw;max-height:96vh;position:relative}
.lightbox-inner img{width:96vw;height:96vh;object-fit:contain;display:block}
.lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer}
.lb-arrow img{width:44px;filter:invert(1) opacity(.9)}
.lb-left{left:-56px}
.lb-right{right:-56px}

/* YouTube holder */
.yt-holder{position:absolute;inset:0;z-index:1;background:#000}

/* MV mobile play overlay */
.mv-play{display:none;align-items:center;justify-content:center}
.mv-play img{width:86px;height:86px;filter:invert(1) opacity(.9)}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .big-logo,.section::before,.film-section .rail,.film-section .panel,
  .mv-section .rail,.mv-section .panel,.lightbox{transition-duration:.2s !important}
}
