/* Torque Entertainment: shared stylesheet for every page.
   Fonts are hosted on this site (no Google request). Put the Barlow font files in /assets/fonts/ (see LAUNCH GUIDE).
   Until they are added, visitors see a similar system font. */
@font-face{font-family:Barlow;font-weight:400;font-style:normal;font-display:swap;src:local("Barlow Regular"),local("Barlow-Regular"),url(/assets/fonts/Barlow-Regular.woff2) format("woff2"),url(/assets/fonts/Barlow-Regular.ttf) format("truetype")}
@font-face{font-family:Barlow;font-weight:500;font-style:normal;font-display:swap;src:local("Barlow Medium"),local("Barlow-Medium"),url(/assets/fonts/Barlow-Medium.woff2) format("woff2"),url(/assets/fonts/Barlow-Medium.ttf) format("truetype")}
@font-face{font-family:Barlow;font-weight:700;font-style:normal;font-display:swap;src:local("Barlow Bold"),local("Barlow-Bold"),url(/assets/fonts/Barlow-Bold.woff2) format("woff2"),url(/assets/fonts/Barlow-Bold.ttf) format("truetype")}
@font-face{font-family:Barlow;font-weight:700;font-style:italic;font-display:swap;src:local("Barlow Bold Italic"),local("Barlow-BoldItalic"),url(/assets/fonts/Barlow-BoldItalic.woff2) format("woff2"),url(/assets/fonts/Barlow-BoldItalic.ttf) format("truetype")}

:root{--ink:#f3ede6;--mute:#b3a89d;--burnt:#cf520c;--line:#5a2406;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{font-size:clamp(16px,.85vw,30px);scroll-padding-top:env(safe-area-inset-top,0px)}
html,body{margin:0;background:#000;color:var(--ink);font:400 1.1rem/1.7 Barlow,"Helvetica Neue",Arial,system-ui,sans-serif}
body{position:relative;overflow-x:hidden;min-height:100svh;display:flex;flex-direction:column}
header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 5vw;position:relative;z-index:6}
.brand .lw{display:block;position:relative;width:clamp(7.5rem,20vw,22rem)}.brand img{display:block;width:100%;height:auto;mix-blend-mode:lighten}.brand .lw .entw,.logo .lw .entw{position:absolute;left:0;top:88.17%;width:100.33%;mix-blend-mode:normal}
nav{display:flex;align-items:center;gap:1.8rem;flex:0 0 auto}nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0;flex-wrap:nowrap;justify-content:flex-end}
nav a{color:var(--burnt);text-decoration:none;cursor:pointer}nav a:hover,nav a:focus-visible{text-decoration:underline;text-underline-offset:.35em;outline:none}nav a[aria-current]{font-weight:700;font-size:1.15em}
.mute{background:none;border:1px solid var(--line);color:var(--burnt);width:2.4rem;height:2.4rem;border-radius:50%;cursor:pointer;display:grid;place-items:center}
.mute:focus-visible{outline:2px solid var(--burnt);outline-offset:2px}.mute .x{display:none}.mute[aria-pressed=true] .x{display:block}.mute[aria-pressed=true] .w{display:none}
.p-home header{position:absolute;inset:0 0 auto 0;justify-content:flex-end}.p-home .brand{display:none}
.p-home footer{display:none}
.hero{position:relative;overflow:hidden;min-height:100svh;display:grid;place-items:center;padding:4rem 0 2rem}
.stage{position:relative;width:min(100vw,1280px);aspect-ratio:16/9}
.stage video,.stage .still{position:absolute;display:block}
.stage video{inset:0;width:100%;height:100%;background:#000}
.still{left:26.5625%;top:25%;width:46.875%;height:auto;mix-blend-mode:lighten;clip-path:polygon(0 0,-17.25% 0,-37.75% 100%,0 100%)}
.halo{position:absolute;left:0;right:0;top:5.5rem;bottom:3.5rem;width:100%;height:calc(100% - 9rem);pointer-events:none;z-index:2}
.halo ellipse{fill:none;stroke:url(#g);stroke-width:10;stroke-dasharray:1;stroke-dashoffset:1}
.halo .b ellipse{opacity:.55}
.done .halo ellipse{animation:draw 1.8s cubic-bezier(.3,.6,.2,1) forwards}.done .halo .b ellipse{animation-duration:1.6s;animation-delay:.2s}
@keyframes draw{to{stroke-dashoffset:0}}
.spin{transform-box:view-box;transform-origin:600px 300px}
.done .spin{animation:wind 1.8s cubic-bezier(.15,.7,.1,1) both}.done .spin.b{animation-duration:1.6s;animation-delay:.2s}
@keyframes wind{from{transform:rotate(55deg)}to{transform:rotate(0)}}
.done .still{animation:revS 2.43s linear .1s forwards}@keyframes revS{to{clip-path:polygon(0 0,137.75% 0,117.25% 100%,0 100%)}}
.skip .still,.skip .ent{clip-path:none;animation:none!important}.skip .spin{animation:none!important}.skip .halo ellipse{animation:none!important;stroke-dashoffset:0}
.ent{position:absolute;left:26.5625%;top:66.39%;width:47.03%;height:auto;display:block;clip-path:polygon(0 0,-35.5% 0,-37.5% 100%,0 100%)}
.done .ent{animation:revE 2.43s linear .1s forwards}@keyframes revE{to{clip-path:polygon(0 0,119.5% 0,117.5% 100%,0 100%)}}
.shine{--m:url(/assets/torque-shine-mask.png);position:absolute;left:25.78%;top:23.61%;width:48.44%;height:48.61%;overflow:hidden;pointer-events:none;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.band{position:absolute;top:-10%;bottom:-10%;left:0;width:30%;background:linear-gradient(90deg,rgba(210,204,199,0),rgba(214,208,203,.6) 30%,rgba(240,236,232,.95) 50%,rgba(214,208,203,.6) 70%,rgba(210,204,199,0));transform:translateX(-133.3%) skewX(-20deg)}
.done .band{animation:sweep 2.43s linear .1s both}
@keyframes sweep{from{transform:translateX(-133.3%) skewX(-20deg)}to{transform:translateX(366.7%) skewX(-20deg)}}
.skip .shine{display:none}
.ov{position:fixed;inset:0;background:#000;z-index:20;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .15s}.ov.on{opacity:1;visibility:visible}.ov video{width:min(100vw,1280px);aspect-ratio:16/9;background:#000}
.content{position:relative;z-index:2;max-width:70rem;margin:0 auto;padding:4rem 5vw 6rem}
.content h1{margin:0 0 2rem;font:italic 700 clamp(1.7rem,4vw,2.9rem)/1 Barlow,sans-serif;letter-spacing:-.02em}
.p-contact h1{margin:0 0 1.4rem;font-size:clamp(.975rem,1.95vw,1.425rem);line-height:1.2}
.row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4vw;align-items:start;padding:2rem 0;border-top:1px solid #2b1609}.row:last-child{padding-bottom:0}
h2{margin:0;font:italic 700 clamp(.975rem,1.95vw,1.425rem)/1.2 Barlow,sans-serif;color:var(--burnt);letter-spacing:-.01em}
address{font-style:normal;color:var(--ink);margin:0 0 1.2rem;max-width:36rem}
.cols{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4vw;align-items:start}
.lede{margin:0;font:italic 700 clamp(.975rem,1.95vw,1.425rem)/1.2 Barlow,sans-serif;color:var(--burnt);letter-spacing:-.01em}
.body p{margin:0 0 1.2rem;max-width:36rem;color:var(--mute)}.body .mail{color:var(--ink);font-weight:500}.body .mail a{color:var(--burnt);text-underline-offset:.25em}
.bgw{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.bg{position:absolute;right:-180px;bottom:-200px;width:620px;height:620px;fill:none;stroke:var(--burnt);stroke-width:2;stroke-linejoin:round;opacity:.22}
.pmain{display:flex;flex-direction:column;align-items:center;padding:0 5vw 4rem;font-size:1rem;line-height:1.6}
.logo{display:block;margin:0 0 .6rem}.logo .lw{display:block;position:relative;width:13rem;max-width:62vw}.logo img{display:block;width:100%;height:auto;mix-blend-mode:lighten}
.card{width:min(100%,29rem);background:#0b0705;border:1px solid #2b1609;border-radius:14px;padding:2.2rem 2rem 1.8rem;box-shadow:0 0 60px rgba(200,75,10,.12)}
.lock{display:block;margin:0 auto 1rem;color:var(--burnt)}
.card h1{margin:0;text-align:center;font:italic 700 1.7rem/1.1 Barlow,sans-serif;letter-spacing:-.01em}
.sub{margin:.45rem 0 1.5rem;text-align:center;color:var(--mute);font-size:.95rem}
.alert{margin:0 0 1.3rem;padding:.75rem .9rem;border-left:4px solid #e0541a;background:rgba(207,82,12,.13);color:#ffd9c4;font-size:.95rem;border-radius:0 6px 6px 0}
@keyframes flash{from{background:rgba(224,84,26,.45)}to{background:rgba(207,82,12,.13)}}
.p-invalid .card{width:min(100%,26rem)}.p-invalid h1{margin-bottom:1.2rem}
label{display:block;margin:0 0 .3rem;font-size:.9rem;color:var(--mute)}
input{width:100%;margin:0 0 1.1rem;padding:.7rem .8rem;background:#130b07;border:1px solid #3a1d0c;border-radius:8px;color:var(--ink);font:inherit}
input:focus{outline:none;border-color:var(--burnt);box-shadow:0 0 0 3px rgba(207,82,12,.25)}
button.go{display:block;width:100%;margin-top:.4rem;padding:.8rem 1rem;border:0;border-radius:999px;background:#c84b0a;color:#fff;font:500 1rem Barlow,sans-serif;cursor:pointer}
button.go:hover,button.go:focus-visible{background:#f2a60c;color:#1a0d00;outline:none}button.go:disabled{opacity:.7;cursor:wait}
.fine{margin:1.4rem 0 0;text-align:center;color:#7d7168;font-size:.8rem}
footer{position:relative;z-index:2;text-align:center;padding:0 5vw 2rem;color:var(--mute);font-size:.95rem}
@media(max-aspect-ratio:1/1){.halo ellipse{stroke-width:5}}
@media(min-width:1800px){.stage,.ov video{width:min(72vw,2000px)}}
@media(max-width:760px){.row{grid-template-columns:1fr;gap:.8rem;padding:1.5rem 0}.cols{grid-template-columns:1fr;gap:1.5rem}header{padding:.9rem 4vw;gap:.6rem;flex-wrap:wrap}.brand{margin-right:auto}nav{flex:1 1 100%;gap:.7rem;justify-content:space-between}nav ul{flex:1;gap:.5rem;justify-content:space-between;font-size:clamp(.74rem,3.5vw,.95rem)}.mute{width:2rem;height:2rem}.mute svg{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.shine{display:none}.ent,.still{clip-path:none;animation:none}.done .halo ellipse,.done .spin{animation:none;stroke-dashoffset:0}}

:root{--nav:min(calc(1.1rem + 5.33px),calc(2.8vw - 2.67px))}
nav a{font-size:var(--nav);white-space:nowrap}nav a[aria-current]{font-size:calc(var(--nav)*1.1)}
nav ul{gap:clamp(.9rem,2.4vw,2rem)}
@media(max-width:760px){:root{--nav:min(calc(1.1rem + 5.33px),calc(5.4vw - 7px))}nav ul{gap:.5rem}}
.sr,h1.sr,.content h1.sr{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.content{padding-top:2.5rem}.row:first-of-type{border-top:0;padding-top:0}
.halo{overflow:visible}
.content{max-width:42rem}
.cols,.row{display:block;text-align:center}.row{padding:2rem 0}.cols{padding:0}
.lede{margin:0 auto 1.2rem}h2{margin:0 0 1rem}
.body p,address{margin-left:auto;margin-right:auto}
.bgw,.bg{display:none}
.lockup{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.motto{margin:.3rem 0 0;color:var(--mute,#b3a89d);font:italic 700 max(10.5px,calc(clamp(7.5rem,20vw,22rem)/14.5))/1.2 Barlow,sans-serif;white-space:nowrap;letter-spacing:.01em}
@media(max-width:760px){.lockup{margin-right:auto}}
.p-home .lockup{display:none}
.cols,.row{text-align:left}
.lede{margin:0 0 1.2rem}h2{margin:0 0 1rem}
.body p,address{margin-left:0;margin-right:0;max-width:none}
.content{font-size:calc(1.1rem + 2.667px)}
.lede,h2{font-size:calc(clamp(.975rem,1.95vw,1.425rem) + 2.667px)}
.navwrap{display:flex;flex-direction:column;align-items:flex-start;flex:0 0 auto}
.motto{margin:.45rem 0 0;font:italic 700 max(12px,calc(var(--nav)*.72))/1.2 Barlow,sans-serif;color:var(--mute,#b3a89d);white-space:nowrap;letter-spacing:0}
@media(max-width:760px){.navwrap{flex:1 1 100%;align-items:stretch}.navwrap nav{flex:none}}
.p-home .motto{display:none}
.skip video{visibility:hidden}
:root{--head:clamp(16px,calc(.9vw + 14px),calc(clamp(.975rem,1.95vw,1.425rem) + 2.667px));--body:clamp(14px,calc(.58vw + 11.5px),calc(1.1rem + 1.333px))}
.motto{font-size:var(--head);color:var(--ink,#f3ede6);margin-top:.5rem}
.content{font-size:var(--body)}.lede,h2{font-size:var(--head)}
.motto{font-size:calc(var(--head) - 1.5px)}
.skipi,.skipov{font:500 .85rem Barlow,sans-serif;color:#cf520c;background:rgba(10,5,2,.72);border:1px solid #5a2406;border-radius:999px;padding:.45rem 1rem;cursor:pointer}
.skipi:hover,.skipi:focus-visible,.skipov:hover,.skipov:focus-visible{color:#f2a60c;border-color:#f2a60c;outline:none}
.skipi{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:6}.done .skipi,.skip .skipi{display:none}
.skipov{position:absolute;right:1.2rem;bottom:1.2rem;z-index:2}

/* ---- additions ---- */
.content{width:100%}
address{font-weight:500}
.btn{display:inline-block;background:#c84b0a;color:#fff;text-decoration:none;font-weight:500;padding:.8rem 1.8rem;border-radius:999px}.btn:hover,.btn:focus-visible{background:#f2a60c;color:#1a0d00;outline:none}
.p-404 .pmain{flex:1;justify-content:center;text-align:center;font-size:1.1rem}.p-404 .pmain p{margin:0 0 1.4rem;color:var(--mute)}

/* ---- nav alignment and lock-out page ---- */
.navwrap{align-items:stretch}
@media(min-width:761px){nav ul{flex:1 1 auto;justify-content:space-between}}
.p-locked .card{width:min(100%,34rem);border-color:#6b2a0b}
.term{margin:1.1rem 0 0;padding:1.1rem 1.2rem;background:#0a0503;border:1px solid #3a1d0c;border-radius:8px;color:#f3ede6;font-family:inherit;font-weight:400;font-size:.95em;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.term p{margin:0 0 1.1rem}.term p:last-child{margin-bottom:0}
.term .k{margin:0 0 .5rem;color:#e0541a;font-weight:700;font-style:italic;font-size:1.2rem;line-height:1.2;letter-spacing:-.01em}
.term ul{margin:0 0 1.1rem;padding-left:1.3rem}.term li{margin:.4rem 0}.term li::marker{color:#e0541a}

/* ---- contact details match the address: white, no underline ---- */
.p-contact .body .mail a{color:inherit;text-decoration:none}
/* ---- login card: wide enough that the first line stays on one line (balanced wrapping on small phones) ---- */
.p-login .card{width:min(100%,38rem)}
.sub{text-wrap:balance}
@media(max-width:440px){.p-login .card{padding-left:1.1rem;padding-right:1.1rem}}

/* ---- coming back to the home page: only the logo with its own ring and ENTERTAINMENT, plus a quick silver swipe.
   No outer halo rings, no sound. (The very first visit still plays the full opening.) ---- */
.skip .halo{display:none}
@keyframes sweepReturn{from{transform:translateX(-133.3%) skewX(-20deg)}to{transform:translateX(366.7%) skewX(-20deg)}}
@media(prefers-reduced-motion:no-preference){
.skip .shine{display:block}
.skip .band{animation:sweepReturn 1.5s linear .3s both}
}
