:root{color-scheme:light;--bg:#f5f3eb;--ink:#111211;--accent:#3113ff;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--bg)}
a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--bg);outline-offset:6px}
.page{position:relative;isolation:isolate;width:100%;height:100svh;height:100dvh;min-height:420px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0 max(5vw,env(safe-area-inset-left)) 0 max(5vw,env(safe-area-inset-right));overflow:hidden}
.film,.shade{position:absolute;inset:0;pointer-events:none}
.film{z-index:-2;background:var(--ink)}
.film video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.film video::-webkit-media-controls{display:none!important}
.shade{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 28%),linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.35) 28%,transparent 62%)}
.header{height:110px;padding-top:env(safe-area-inset-top);display:flex;align-items:center;pointer-events:none}
.logo{display:block;width:90px;height:auto;filter:brightness(0) invert(1);opacity:.96}
.hero{display:flex;align-items:flex-end;min-height:0;padding:24px 0 30px;pointer-events:none}
h1{font-weight:500;letter-spacing:-.06em;font-size:clamp(42px,5.5vw,80px);line-height:1.1;margin:0;text-shadow:0 2px 24px rgba(0,0,0,.2)}
.footer{padding:0 0 max(28px,env(safe-area-inset-bottom))}
.cta{display:flex;justify-content:center;align-items:center;width:100%;padding:24px 22px;border-radius:8px;background:var(--accent);color:#fff;text-decoration:none;text-align:center;font-size:clamp(20px,2.1vw,30px);font-weight:800;letter-spacing:-.035em;transition:background .18s}
.cta:hover{background:#2510ce}
@media(max-width:700px){
 .page{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
 .header{height:88px}.logo{width:76px}
 .hero{padding:20px 0 25px}
 h1{font-size:clamp(28px,8.3vw,50px);line-height:1.13;letter-spacing:-.055em}
 .cta{font-size:20px;padding:21px 14px}.footer{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.page{padding-left:16px;padding-right:16px}.cta{font-size:18px}h1{font-size:28px}}
@media(max-height:500px) and (min-width:701px){.header{height:72px}.logo{width:70px}h1{font-size:38px}.hero{padding-bottom:18px}.cta{padding:16px 22px;font-size:20px}.footer{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}
