@font-face{
  font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/montserrat.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --bg:#040740;
  --font:"Montserrat",sans-serif;
  --btn-grad:linear-gradient(267deg,#d300c4 .23%,#8d00b0 98.56%);
  --footer-grad:linear-gradient(180deg,#03083f 0%,#291b7d 49%,#381a65 100%);
  --blue:#0195ff;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);display:flex;flex-direction:column;min-height:100dvh;font-family:var(--font)}
body.no-scroll{overflow:hidden}
button,input{font-family:var(--font)}

/* ---- Full-page fixed background ---- */
.page-bg{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;
  background:url(/assets/images/hero-bg.webp) top/cover no-repeat}
@media(max-width:900px){
  .page-bg{background-image:url(/assets/images/hero-bg-sm.webp)}
  .page-inner .page-bg{background-size:contain}
}

/* ---- Containers ---- */
.container,.nav-container{max-width:1280px;margin:0 auto;padding-inline:30px}
@media(max-width:1280px){.container,.nav-container{max-width:100%;padding-inline:10px}}
@media(max-width:1000px){.container,.nav-container{max-width:100%;padding-inline:16px}}

/* ---- Navigation ---- */
.nav-container{display:flex;align-items:center;justify-content:space-between;padding-block:15px}
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.site-logo img{display:block;height:auto;max-height:40px;width:auto;max-width:min(260px,calc(100vw - 110px));object-fit:contain;object-position:left center}
.brand-mark{display:flex;align-items:center;gap:8px;height:40px}
.brand-emblem{width:36px;height:36px;flex:0 0 auto}
.brand-name{color:#fff;font-size:15px;font-weight:700;line-height:17.5px;letter-spacing:-.3px;text-transform:uppercase;white-space:nowrap;max-width:min(220px,calc(100vw - 150px));overflow:hidden;text-overflow:ellipsis}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-link{color:#fff;text-align:center;font-size:16px;font-weight:600;line-height:24px;letter-spacing:-.32px;text-decoration-line:underline}
.nav-burger,.nav-close{display:none}
@media(max-width:900px){
  .site-logo img{max-height:35px;width:auto}
  .brand-mark{height:35px}
  .brand-emblem{width:32px;height:32px}
}
@media(max-width:500px){
  .nav-burger,.nav-close{display:block;background:transparent;border:none;color:#000;cursor:pointer}
  .nav-burger img,.nav-close img{display:block}
  .nav-close{padding-bottom:3px}
  .nav-overlay{position:fixed;top:0;left:-100%;width:100%;height:100vh;background:#000;transition:all .2s ease-in-out;z-index:999999}
  .nav-links{position:fixed;top:0;left:-100%;width:100%;height:100%;flex-direction:column;justify-content:center;gap:30px;z-index:999999}
  .nav-open .nav-overlay,.nav-open .nav-links{left:0}
}

/* ---- Hero ---- */
.hero{padding:40px 80px}
.hero-inner{max-width:1000px;margin:auto;text-align:center;display:flex;flex-direction:column;gap:15px}
.hero h1{color:#fff;text-align:center;font-size:40px;font-weight:600;line-height:60px}
.hero p{color:#fff;text-align:center;font-size:18px;font-weight:400;line-height:28px;letter-spacing:-.36px;text-transform:capitalize}
@media(max-width:900px){
  .hero{padding:12px 16px}
  .hero-inner{gap:10px}
  .hero h1{font-size:20px;line-height:30px}
  .hero p{font-size:14px;line-height:20px;letter-spacing:-.28px}
}

/* ---- Operator cards ---- */
.operators{padding:96px 80px}
.op-grid{max-width:1280px;margin:auto;padding-inline:32px;display:flex;flex-wrap:wrap;gap:32px;align-items:center}
.op-card{
  flex:0 0 calc((100% - 64px) / 3);max-width:calc((100% - 64px) / 3);
  position:relative;display:flex;flex-direction:column;gap:16px;height:fit-content;
  padding:12px 16px 20px;border-radius:12px;border:1px solid rgb(255 255 255 / .7);
  background:linear-gradient(180deg,rgb(86 86 86 / .3) 0%,rgb(6 12 143 / .3) 100%);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.op-rank{position:absolute;top:-12px;left:-12px}
.op-rank-dot{display:block;width:24px;height:24px;border-radius:16px;background:#fff}
.op-rank p{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#032c03;text-align:center;font-size:16px;font-weight:600;line-height:24px}
.op-top{padding:0 8px;display:flex;justify-content:space-between}
.op-logo{display:block;padding-bottom:4px}
.op-logo img{display:block;width:150px;height:100px;max-height:100px;object-fit:cover}
.op-rating{display:flex;align-items:center;gap:6px}
.op-star{display:block;width:31px;height:32px}
.op-rating p{color:#fff;text-align:center;font-size:32px;font-weight:600;line-height:56px}
.op-rating p span{color:#d1d1d1;font-size:20px;font-weight:400;line-height:30px}
.op-body{display:flex;flex-direction:column;gap:20px}
.op-desc{display:flex;flex-direction:column;gap:2px}
.op-text{color:#fff;text-align:center;font-size:20px;font-weight:900;line-height:30px}
.op-cta{margin:auto;display:flex;flex-direction:column;gap:8px}
.btn-detail{
  display:flex;justify-content:center;align-items:center;width:220px;height:56px;
  border-radius:12px;border:2px solid #ffb2fc;background:var(--btn-grad);
  color:#fff;font-size:20px;font-weight:700;line-height:30px;letter-spacing:-.4px;
  white-space:nowrap;text-decoration:none;cursor:pointer;
}
@media(max-width:1280px){
  .op-card{flex-basis:calc((100% - 32px) / 2);max-width:calc((100% - 32px) / 2)}
}
@media(max-width:900px){
  .operators{padding:40px 16px}
  .op-grid{padding:0}
  .op-card{flex-basis:100%;max-width:100%}
}
@media(max-width:320px){
  .op-logo img{height:70px;max-height:70px}
}

/* ---- Inner pages ---- */
.page-content{padding:68px 16px;max-width:960px;margin:0 auto auto}
.page-content h1{margin-bottom:48px;color:#fff;text-align:center;font-size:48px;font-weight:600;line-height:64px}
.page-content p,.page-content li,.page-content span,.page-content a{color:#fff;font-size:16px;font-weight:400;line-height:24px;letter-spacing:-.32px}
.page-content a{text-decoration:underline}
@media(max-width:900px){
  .page-content{padding:12px 16px 48px}
  .page-content h1{margin-bottom:44px;font-size:24px;line-height:36px}
  .page-content p,.page-content li,.page-content span,.page-content a{font-size:14px;line-height:20px;letter-spacing:-.28px}
}

/* ---- Contact ---- */
.contact{padding:69px 16px}
.contact-inner{max-width:720px;margin:auto;display:flex;flex-direction:column;gap:48px;align-items:center}
.contact-text{display:flex;flex-direction:column;gap:16px;text-align:center}
.contact-text h2{color:#fff;text-align:center;font-size:48px;font-weight:600;line-height:64px}
.contact-text p,.contact-text a{color:#fff;text-align:center;font-size:18px;font-weight:400;line-height:28px;letter-spacing:-.36px;text-transform:capitalize}
.contact-form-wrap{width:320px;display:flex;justify-content:center;position:relative;z-index:4}
.contact-form{width:100%;display:flex;gap:20px;flex-direction:column}
.form-field{display:flex;flex-direction:column}
.form-field label{color:#fff;font-size:14px;font-weight:400;line-height:20px}
.form-field input{padding:10px 12px;border-radius:6px;background:#fff;border:none;width:100%;color:#000;font-size:16px;font-weight:400;line-height:24px}
.form-field input:focus{border:none;outline:none}
.form-field input::placeholder{color:#000;opacity:1}
.form-submit{
  cursor:pointer;width:100%;display:block;border:none;border-radius:12px;
  background:linear-gradient(180deg,#e30000 0%,#800 100%);box-shadow:3px 3px 0 0 #570000;
  padding:12px 0;text-align:center;color:#fff;font-size:18px;font-weight:700;line-height:28px;letter-spacing:-.36px;
  margin:12px auto 0;
}
.form-success{display:none;border-radius:6px;background:#2faa04;box-shadow:none;font-weight:600;letter-spacing:0;cursor:default}
.contact-form.sent .submit-btn{display:none}
.contact-form.sent .form-success{display:block}
@media(max-width:900px){
  .contact{padding:12px 16px 48px}
  .contact-text{gap:12px}
  .contact-text h2{font-size:24px;line-height:36px}
  .contact-text p,.contact-text a{font-size:16px;line-height:24px;letter-spacing:-.32px}
  .contact-form-wrap{width:100%}
}

/* ---- Footer ---- */
.footer-legal{background:var(--footer-grad);padding-block:40px}
.footer-legal .container{display:flex;flex-direction:column;align-items:center}
.footer-legal p,.footer-legal a{line-height:26px;color:#fff;font-size:15px;text-align:center;font-weight:400}
.footer-legal a{text-decoration:underline}
.footer-legal p{margin-bottom:15px}
.footer-legal p:last-child{margin-bottom:0}
.footer-badges{padding-block:48px;display:flex;flex-direction:column;gap:10px;background:#fff}
.badge-row{background:#050740;padding-block:24px}
.badge-row .container{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:52px}
.badge-row a,.badge-row span{display:block;padding-bottom:4px}
.badge-row img{display:block;height:58px}
.footer-bottom{border-top:1px solid #c4c4c4;background:#fff;padding-block:32px}
.footer-bottom .container{line-height:20px;font-size:15px;text-align:center;color:#a0a0a0;font-weight:500;display:flex;align-items:center;justify-content:space-between}
.legal-links{display:flex;align-items:center;gap:20px}
.legal-links a{font-size:15px;color:#2d1c78;font-weight:500;text-decoration:none;text-align:center;line-height:20px}
@media(max-width:768px){.badge-row img{height:45px;width:auto}}
@media(max-width:650px){.footer-bottom .container{flex-direction:column-reverse;gap:32px}}
@media(max-width:400px){.legal-links{flex-wrap:wrap;justify-content:center}}
@media(max-width:350px){.badge-row img{height:40px}}

/* ---- Age gate ---- */
.age-gate{position:fixed;top:0;left:0;width:100%;height:100dvh;display:flex;align-items:center;justify-content:center;z-index:6;background:var(--bg);padding-inline:12px}
.age-gate[hidden]{display:none}
.age-denied{z-index:7}
.age-box{border-radius:12px;border:1px dashed #fff;background:rgb(255 255 255 / .1);width:480px;display:flex;flex-direction:column;align-items:center}
.age-box img{width:60px;height:60px;margin-top:48px;margin-bottom:32px}
.age-box h2{color:#fff;text-align:center;font-size:28px;font-weight:700;line-height:40px;letter-spacing:1.12px;margin-bottom:6px;padding-inline:24px}
.age-box p,.age-box a{color:#fff;text-align:center;font-size:18px;font-weight:500;line-height:28px}
.age-box p{padding-inline:24px}
.age-actions{width:100%;display:flex;align-items:center;margin-top:32px}
.age-actions button{height:44px;width:100%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;outline:none;font-size:15px;font-weight:500;line-height:24px}
.age-no{background:#eaeaea;color:#2b2d31;border-bottom-left-radius:11px;box-shadow:0 1px 2px 0 rgb(16 24 40 / .05)}
.age-yes{background:var(--blue);color:#fff;border-bottom-right-radius:11px;box-shadow:0 1px 2px 0 rgb(16 24 40 / .05)}
.age-denied-box{border-radius:12px;border:1px dashed #fff;background:rgb(255 255 255 / .1);max-width:480px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.age-denied-box p{color:#ff6161;text-align:center;font-size:24px;font-weight:700;line-height:36px;letter-spacing:.96px}
@media(max-width:580px){
  .age-actions{flex-direction:column-reverse}
  .age-box h2,.age-box p{padding-inline:16px}
  .age-box img{margin-top:32px;margin-bottom:24px}
  .age-no{border-bottom-right-radius:11px;border-bottom-left-radius:11px}
  .age-yes{border-radius:0}
}

/* ---- Cookie bar ---- */
.cookie-bar{position:fixed;bottom:16px;left:50px;z-index:5;width:343px;display:flex;flex-direction:column;gap:16px;
  padding-top:16px;border-radius:8px;background:#fff;box-shadow:4px 4px 19px 0 rgb(0 0 0 / .25)}
.cookie-bar[hidden]{display:none}
.cookie-text{display:flex;flex-direction:column;align-items:self-start;gap:2px;padding:0 39px}
.cookie-text p{color:#2b2d31;text-align:center;font-size:16px;font-weight:700;line-height:24px}
.cookie-actions{display:flex}
.cookie-btn{width:100%;height:36px;display:flex;align-items:center;justify-content:center;outline:none;border:none;cursor:pointer;font-size:15px;font-weight:500;line-height:24px}
.cookie-decline{color:#2b2d31;background:#eaeaea;border-bottom-left-radius:8px}
.cookie-accept{color:#fff;background:var(--blue);border-bottom-right-radius:8px;box-shadow:0 1px 2px 0 rgb(16 24 40 / .05)}
@media(max-width:768px){
  .cookie-bar{width:100%;bottom:0;left:0}
  .cookie-decline,.cookie-accept{border-radius:0}
}
