@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  color-scheme:dark;
  --bg:#000;
  --fg:#fff;
  --body:#999;
  --border:#191919;
  --outer:clamp(28px,5vw,80px);
  --content:760px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font-family:Montserrat,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.25ch}
button,input{font:inherit}
.site-shell{min-height:100vh;padding:0 var(--outer)}
.site-header{width:min(100%,var(--content));margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(28px,4vw,48px)}
.site-logo{width:152px;height:152px;object-fit:contain;margin:0 auto}
.identity{margin-top:20px}
.identity h1{margin:0;color:var(--fg);font-size:clamp(24px,4.2vw,30px);font-weight:700;line-height:1.15;letter-spacing:7.5px;text-transform:uppercase}
.identity p{margin:8px 0 0;font-size:17px;font-weight:400;line-height:1.5;color:var(--body)}
.description{width:min(100%,var(--content));margin:clamp(26px,4vw,42px) auto 0;color:var(--fg);font-size:clamp(16px,1.2vw,17px);font-weight:400;line-height:1.5;letter-spacing:.05em;text-align:center}
.description a{color:inherit;text-decoration:none;padding:0 .1em;transition:background-color .16s ease,color .16s ease}
.description a:hover,.description a:focus-visible{background:#fff;color:#000;outline:none}
.video-stack{width:100%;margin:clamp(28px,4vw,48px) auto 0;display:grid;gap:24px}
.video-frame{position:relative;width:min(100%,760px);aspect-ratio:16/9;margin:0 auto;background:#050505;overflow:hidden}
.video-frame.video-primary{width:min(100%,640px)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.client-login{width:min(100%,34rem);margin:clamp(34px,5vw,58px) auto 0;text-align:center}
.client-login summary{display:inline-block;cursor:pointer;color:var(--body);font-size:14px;font-weight:400;letter-spacing:.08em;text-transform:lowercase;list-style:none;user-select:none;padding:4px 0;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.client-login summary::-webkit-details-marker{display:none}
.client-login summary::marker{display:none;content:""}
.client-login summary:hover,.client-login summary:focus-visible{color:var(--fg);border-bottom-color:#666;outline:none}
.client-login[open] summary{color:var(--fg)}
.client-login-panel{padding-top:18px}
.client-login form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:stretch}
.client-login input,.client-login button{min-height:44px;border:1px solid #3a3a3a;border-radius:0;background:#000;color:#fff;outline:none}
.client-login input{width:100%;padding:10px 12px;font-size:14px}
.client-login input::placeholder{color:#777;text-transform:lowercase}
.client-login input:focus,.client-login button:focus-visible{border-color:#aaa;box-shadow:0 0 0 1px #aaa}
.client-login button{padding:10px 20px;cursor:pointer;text-transform:lowercase;background:#111;transition:background .18s ease,border-color .18s ease}
.client-login button:hover{background:#1b1b1b;border-color:#777}
.site-footer{width:min(100%,1380px);margin:clamp(50px,8vw,90px) auto 0;border-top:1px solid var(--border);padding:clamp(30px,4vw,70px) 0;text-align:center}
.site-footer p{margin:0;color:var(--body);font-size:13px;letter-spacing:1px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:760px){
  :root{--outer:clamp(18px,5vw,28px)}
  body{font-size:16px}
  .site-header{padding-top:24px}
  .site-logo{width:128px;height:128px}
  .identity{margin-top:16px}
  .identity h1{font-size:24px;letter-spacing:5px}
  .identity p{font-size:15px}
  .description{margin-top:24px;font-size:16px}
  .video-stack{margin-top:28px;gap:18px}
  .client-login{margin-top:34px}
  .client-login form{grid-template-columns:1fr}
  .client-login input,.client-login button{min-height:48px}
  .site-footer{margin-top:52px;padding:34px 0}
}
@media(max-width:390px){
  .site-logo{width:112px;height:112px}
  .identity h1{font-size:22px;letter-spacing:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
