@font-face{
  font-family: "Boozy";
  src: url("fonts/BOOZY.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root{
  --bg: #021727;
  --header-h: 175px;
  --top-grad: linear-gradient(
    to bottom,
    rgba(0,0,0,0.8) 0%,
    rgba(2,23,39,0) 100%
  );
}

*{ box-sizing: border-box; }

html, body{
  width: 100%;
  overflow-x: hidden;
}

body.page{
  margin: 0;
  background: var(--bg);
  color: #fff;
  overflow-x: hidden;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

img{
  display: block;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   TOP BAR (OVERLAY)
========================================================= */

.topbar{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-h);
  z-index: 50;
  background: var(--top-grad);
  pointer-events: none;
}

.topbar__inner{
  position: relative;
  height: 100%;
  width: 100%;
  pointer-events: auto;
}

/* ---------------- LEFT / RIGHT BUTTON GROUPS ---------------- */

.topbar__left,
.topbar__right{
  position: absolute;
  top: 18px;
  display: flex;
  align-items: center;
  gap: 28px;
  z-index: 70;
}

.topbar__left{
  left: 120px;
}

.topbar__right{
  right: 120px;
}

/* ---------------- ICONS ---------------- */

.icon-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}

.icon-link:hover{
  transform: translateY(-2px);
  opacity: .9;
}

.icon-link img{
  height: clamp(34px, 3vw, 50px);
  width: auto;
  display: block;
}

.icon-link--wide img{
  height: clamp(34px, 3vw, 50px);
  width: auto;
}

/* ---------------- CENTER LOGO ---------------- */

.game-logo img{
  position: absolute;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  z-index: 60;

  width: 30vw;
  pointer-events: none;
}

/* =========================================================
   PROMO PARALLAX
========================================================= */

.promo{
  position: relative;
  z-index: 10;

}


.promo__parallax{
  position: relative;
  width: 100%;       
  left: 0;           
  transform: none;    
  height: clamp(520px, 56vw, 820px);
  
  background: var(--bg);
  isolation: isolate;
}

.promo,
.promo__parallax{
  overflow: clip;
}


.parallax-layer{
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
  will-change: transform;
  transform: translate3d(var(--px, 0px), var(--py, 0px), 0);
}

.layer-bg{
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.topbar{
  pointer-events: none;
}

.topbar::after{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--top-grad);
}



@media (max-width: 860px){
  .promo__parallax{
    height: clamp(300px, 70vw, 440px);
  }

  .topbar__left{
    left: 40px;
  }

  .topbar__right{
    right: 40px;
  }
  .game-logo img{
    width: 40vw;
  }
}

@media (max-width: 640px){
  .promo__parallax{
    height: 320px;
  }

  .topbar__left{
    left: 25px;
  }

  .topbar__right{
    right: 25px;
  }
  .game-logo img{
    width: 40vw;
  }
}

/* =========================================================
   CHARACTERS 
========================================================= */

.layer-wolf,
.layer-man{
  inset: auto;
  bottom: 0;
  height: auto;
  z-index: 3;

  width: clamp(520px, 50vw, 1020px);

  max-width: 54vw;

  transform: translate3d(-50%, 0, 0) translate3d(var(--px, 0px), var(--py, 0px), 0);
}

.layer-wolf{
  left: 22%;
}

.layer-man{
  left: 78%;
}

/* =========================================================
   VIDEO
========================================================= */

.section{
  background: var(--bg);
}

.section--video{
  padding-top: 120px;   
  padding-left: 10px;   
  padding-right: 10px;  
}

.video{ 
  width: min(800px, calc(100% - 14px));  
  aspect-ratio: 800 / 450;               
  margin: 0 auto;                      
  overflow: hidden;                     
  border-radius: 0;                    
  background: #000;                 
  border: 0;                           
}

.video iframe{
  width: 100%;
  height: 100%;
  display: block;                       
  border: 0;                             
}

@media (max-width: 640px){
  .section--video{
    padding-top: 80px;  
  }
}

@media (max-width: 860px){

}


/* =========================================================
   ABOUT (DESCRIPTION) SECTION
========================================================= */

.section--about{
  background: var(--bg);
  padding: 0; 
}

.about{
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  padding: 120px 0 110px;
  text-align: center;
}

.about__line{
  display: block;
 
  width: clamp(300px, 79vw, 750px);

  height: 8px;

  object-fit: fill;
  object-position: center;

  margin: 0 auto;
  opacity: 0.95;

  max-width: 100%;
}

.about__content{
  width: min(820px, 92%);   
  margin: 64px auto 64px;
}

.about__text{
  font-family: "Boozy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  max-width: 490px;        
  margin: 0 auto 48px;

  font-size: clamp(14px, 1.05vw, 24px); 
  line-height: 1.55;                   
  letter-spacing: 0.015em;             

  color: rgba(159, 189, 219, 1)      
}

.about__title{
  font-family: "Boozy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  font-size: clamp(24px, 2.2vw, 40vw);
  line-height: 1.15;

  margin: 0 0 20px;
  color: rgba(159, 189, 219, 1)
}


.about__text:last-child{
  margin-bottom: 0;
}

@media (max-width: 900px){
  .about__line{
    height: 4px;
  }
     .about__text{
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
  }
    .about__text{
    margin-bottom: 40px;
  }
}

@media (max-width: 860px){

  .about__line{
    height: 6px;
  }

   .about__text{
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
  }
    .about__line{
    height: 4px;
  }
    .about__text{
    margin-bottom: 40px;
  }
}

@media (max-width: 640px){
  .about{
    padding: 80px 0 80px;
  }

  .about__content{
    margin: 46px auto 46px;
  }

  .about__text{
    margin-bottom: 40px;
  }

 .about__text{
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    margin-bottom: 36px;
  }

  .about__line{
    height: 4px;
  }
}



/* =========================================================
   LANGUAGE SWITCH
========================================================= */

.lang-switch{
  position: relative;
}

.lang-switch__btn{
  display: inline-flex;
  align-items: center;
  z-index: 80;
}
.lang-switch__btn{
  display: inline-flex;
  align-items: center;
  transform: translateY(1px);
}

.lang-switch__dropdown{
  position: absolute;
  top: 58px;

  left: 50%;
  transform: translateX(-50%) translateY(-6px);

  display: flex;
  flex-direction: column;
  gap: 6px;

  padding: 8px;
  min-width: 64px;

  background: rgba(2, 23, 39, 0.95);
  backdrop-filter: blur(6px);

  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);

  opacity: 0;
  pointer-events: none;

  transition: opacity .15s ease, transform .15s ease;
}

.lang-switch.is-open .lang-switch__dropdown{
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.lang-switch__dropdown button{
  background: none;
  border: 0;
  padding: 6px 10px;

  font-family: "Boozy", system-ui, sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  color: rgba(255,255,255,0.85);
  cursor: pointer;
}

.lang-switch__dropdown button:hover{
  color: #fff;
}


/* =========================================================
   GALLERY
========================================================= */

.section--gallery{
  padding: 0;
  background: var(--bg);
}

.gallery{
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  padding: 90px 32px 110px;
  text-align: center;
}

.gallery__line{
  display: block;
  width: min(1200px, 82%);
  margin: 0 auto 56px;
  opacity: 0.95;
}

.gallery__frame{
  width: min(1180px, 100%);
  margin: 0 auto;
  padding: 0;
}

/* =========================================================
   GALLERY GRID
========================================================= */

.gallery__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 160px;  
  gap: 20px;             
  align-items: stretch;
}

.gitem{
  margin: 0;              
  padding: 0;
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
  border-radius: 2px;
}

.gitem img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;        
  object-position: center;

  transform: scale(1.01);
  transition: transform .25s ease, filter .25s ease;
}

.gitem:hover img{
  transform: scale(1.06);
  filter: brightness(1.05);
}

.gitem__dl{
  position: absolute;
  top: 10px;
  right: 10px;

  width: 45px;
  height: 45px;

  display: grid;
  place-items: center;

  background: none;         
  border: 0;
  padding: 0;
  margin: 0;
  opacity: 0.95;
  z-index: 3;

  transition: transform .15s ease, opacity .15s ease;
}

.gitem__dl img{
  width: 45px;
  height: 45px;
  display: block;
  object-fit: contain;

  transform: none !important;
  filter: none !important;
}

.gitem__dl:hover{
  transform: translateY(-2px) scale(1.05);
  opacity: 1;
}


.gitem:nth-child(1){
  grid-column: 1 / span 2;
  grid-row: 1 / span 2;
}

.gitem:nth-child(6){ grid-column: 3; grid-row: 1; }
.gitem:nth-child(7){ grid-column: 4; grid-row: 1; }

.gitem:nth-child(8){ grid-column: 3; grid-row: 2; }
.gitem:nth-child(9){ grid-column: 4; grid-row: 2; }

.gitem:nth-child(2){ grid-column: 1; grid-row: 3; }
.gitem:nth-child(3){ grid-column: 2; grid-row: 3; }

.gitem:nth-child(4){ grid-column: 1; grid-row: 4; }
.gitem:nth-child(5){ grid-column: 2; grid-row: 4; }

.gitem:nth-child(10){
  grid-column: 3 / span 2;
  grid-row: 3 / span 2;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1024px){
  .gallery__grid{
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 220px;
    gap: 20px;
  }

  .gitem{
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 640px){
  .gallery{
    padding: 20px 8px 90px;
  }

  .gallery__line{
    margin-bottom: 42px;
  }

  .gallery__grid{
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
    gap: 20px;
  }
}


/* =========================================================
   LIGHTBOX (FULLSCREEN VIEWER)
========================================================= */

.lightbox{
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0,0,0,0.82);
  display: none;
}

.lightbox.is-open{
  display: block;
}

.lightbox__stage{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 60px 24px;
}

.lightbox__img{
  max-width: min(1200px, 92vw);
  max-height: 86vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 2px;
  box-shadow: 0 18px 60px rgba(0,0,0,0.45);
}

.lightbox__btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 10px;
  cursor: pointer;

  background: rgba(2, 23, 39, 0.7);
  color: rgba(255,255,255,0.92);
  font-size: 28px;
  line-height: 1;

  display: grid;
  place-items: center;

  transition: background .15s ease, transform .15s ease, opacity .15s ease;
}

.lightbox__btn:hover{
  background: rgba(2, 23, 39, 0.92);
}

.lightbox__close{
  top: 20px;
  right: 20px;
  transform: none;
  font-size: 22px;
  width: 44px;
  height: 44px;
  border-radius: 12px;
}

.lightbox__prev{ left: 18px; }
.lightbox__next{ right: 18px; }

.lightbox__stage{ z-index: 1; }
.lightbox__btn{ z-index: 2; }
.lightbox__close{ z-index: 3; }

@media (max-width: 640px){
  .lightbox__prev, .lightbox__next{
    width: 42px;
    height: 42px;
    font-size: 26px;
  }
}

/* =========================================================
   TEAM / ABOUT STUDIO
========================================================= */

.section--team{
  background: var(--bg);    
  padding-bottom: 80px;
}

.team{
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  text-align: center;
}

.team__logo{
  display: block;
  margin: 0 auto;
  width: min(230px, 55vw); 
  height: auto;
}

.team__text{
  width: 30vw;
  margin: 70px auto 0;    
  font-family: "Boozy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: clamp(14px, 1.05vw, 24px);
  line-height: 1.55;                   
  letter-spacing: 0.015em; 
  text-transform: uppercase;
  color: rgba(159, 189, 219, 1);
}

.team__actions{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px; 
}

.team__btn{
  width: 350px;    
  height: 55px;     
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.team__btn-img{
  width: 100%;
  height: 100%;
  object-fit: contain;  
  display: block;
}

.team__btn:hover .team__btn-img{
  transform: translateY(-2px);
  opacity: 0.95;
}

@media (max-width: 860px){
  .team__actions{
    flex-direction: column;
    gap: 18px;
  }
  .team__text{
    width: 45vw;
  }

}

@media (max-width: 640px){
  .section--team{
    padding-top: 40px;
    padding-bottom: 110px;
  }

  .team__text{
    width: 70vw;
    margin-top: 60px;
    font-size: 13px;
    line-height: 1.65;
  }

  .team__actions{
    margin-bottom: 60px;
  }


}


/* =========================================================
   SOCIALS
========================================================= */

.section--socials{
  background: var(--bg);
  padding: 0 0 120px; 
}

.socials{
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  text-align: center;
}

.socials__title{
  margin: 0;
  font-family: "Boozy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: clamp(26px, 3vw, 38vw);
  color: rgba(159, 189, 219, 1);
}

.socials__icons{
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;

  flex-wrap: nowrap;     
  overflow: hidden;      
  gap: 12px;
  padding: 0 12px;       
}

.socials__link{
  flex: 0 0 auto;        
  padding: 6px;
  text-decoration: none;
  border: 0;
  background: none;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.socials__link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  padding: 6px;              
  border: 0;
  background: none;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.socials__link img{
  width: 48px;               
  height: 48px;
  display: block;
}

.discord__link img{
  width: 60px;               
  height: 60px;
}

.reddit_link img, .tiktok_link img{
  width: 58px;               
  height: 58px;
}

.socials__link:hover{
  transform: translateY(-2px) scale(1.03);
  opacity: 0.95;
}

@media (max-width: 640px){
  .section--socials{
    padding-bottom: 60px; 
  }
  .socials__icons{
    gap: 8px;
    padding: 0 10px;
  }
  .socials__link img{
    width: 34px;               
    height: 34px;
    display: block;
  }
  .discord__link img{
    width: 48px;               
    height: 48px;
  }

  .reddit_link img, .tiktok_link img{
    width: 36px;               
    height: 36px;
  }
}


/* =========================================================
   CONTACTS
========================================================= */

.section--contacts{
  background: var(--bg);
  padding: 0 0 80px;
}

.contacts{
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto;
  text-align: center;
}

.contacts__email{
    padding-bottom: 20px;
  display: inline-block;
  font-family: "Boozy", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;

  font-size: clamp(40px, 4vw, 80px);

  color: rgba(159, 189, 219, 1);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 6px;

  transition: opacity .15s ease, transform .15s ease;
}

.contacts__email:hover{
  opacity: 0.95;
  transform: translateY(-2px);
}

.contacts__presskit-text:hover{
  transform: translateY(-2px);
  opacity: 0.95;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;

  width: 100%;
  white-space: nowrap;
}

.section-title__text {
  font-family: "Boozy", system-ui, sans-serif;
  text-transform: uppercase;
  color: rgba(159, 189, 219, 1);
  font-size: clamp(40px, 4vw, 80px);

}
.section-title__text:hover{
  opacity: 0.95;
  transform: translateY(-2px);
}

.section-title__line {
  flex: 1 1 auto;
  max-width: 160px;
  height: 4px;
  background: rgba(159, 189, 219, 0.9);
}
.contacts__presskit{
  text-decoration: none;
}


@media (max-width: 640px) {
  .section-title__line {
    max-width: 65px;
  }

  .contacts__email{
    font-size: clamp(26px, 3.4vw, 68px);
    
    max-width: 100%;
    white-space: normal;          
    overflow-wrap: anywhere;      
    word-break: break-word;
  }

  .section-title__text{
    font-size: clamp(26px, 3.4vw, 68px);
  }
}


/* =========================================================
   FOOTER
========================================================= */

.footer{
  width: 100%;
  background: url("images/footer_back.webp") center / cover no-repeat;

  min-height: 520px;

  display: flex;
  justify-content: center;

  align-items: flex-start;

  padding-top: 300px;
  padding-bottom: 70px;
}

.footer__inner{
  width: min(1180px, 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
}

.footer__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: none;
  border: 0;
  padding: 0;
  margin: 0;

  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.footer__btn:hover{
  transform: translateY(-2px);
  opacity: 0.96;
}

.footer__btn img{
  display: block;
  height: auto;

  width: clamp(200px, 24vw, 360px);
}

@media (max-width: 900px){
  .footer{
    padding-top: 240px;
    min-height: 460px;
  }

  .footer__btn img{
    width: clamp(200px, 42vw, 320px);
  }
}

@media (max-width: 700px){
  .footer{
    padding-top: 220px;
    padding-bottom: 70px;
    min-height: 420px;
  }

  .footer__inner{
    flex-direction: column;
    gap: 22px;
  }

  .footer__btn img{
    width: min(320px, 92vw);
  }
}

@media (max-width: 640px){
  .footer__btn img{
    width: clamp(220px, 34vw, 300px);
  }
}

@media (max-width: 900px){
  .topbar__left,
  .topbar__right{
    gap: 20px;
  }

  .icon-link img{
    width: clamp(30px, 4vw, 42px);
  }

  .icon-link--wide img{
    width: clamp(70px, 10vw, 96px);
  }

  .layer-wolf,
  .layer-man{
    width: clamp(480px, 48vw, 840px);
    max-width: 60vw;
  }
}

@media (max-width: 640px){
  .layer-wolf{ left: 23%; }
  .layer-man{ left: 77%; }

  .layer-wolf,
  .layer-man{
    width: clamp(378px, 65vw, 658px);
    max-width: 71vw;
  }
}

@media (prefers-reduced-motion: reduce){
  .parallax-layer{ will-change: auto; }
}


@media (max-width: 640px){
  html, body{
    overflow-x: hidden;
  }

}

@media (max-width: 640px){
  .topbar{
    height: 120px;
  }

  .topbar__left,
  .topbar__right{
    top: 12px;
  }

  .topbar__left{
    left: 12px;
  }

  .topbar__right{
    right: 12px;
  }

  .game-logo img{
    width: 40vw;
    transform: translateX(-50%) translateY(10px);
  }
}

@media (max-width: 420px){
  .topbar__left,
  .topbar__right{
    top: 12px;
  }

  .topbar__left{
    left: 12px;
    gap: 12px;
  }

  .topbar__right{
    right: 12px;
    gap: 12px;
  }
  .game-logo img{
    width: 60vw;
    transform: translateX(-40%) translateY(70px);
  }
}


/* =========================================================
   COOKIE CONSENT + PRIVACY POLICY
========================================================= */

.consent,
.policy{
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
}

.consent.is-open,
.policy.is-open{
  display: block;
}

.consent{
  pointer-events: none;
}

.consent__card{
  pointer-events: auto;
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: min(980px, calc(100% - 24px));
  background: rgba(2, 23, 39, 0.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(159, 189, 219, 0.22);
  box-shadow: 0 18px 60px rgba(0,0,0,0.45);
  border-radius: 16px;
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

.consent__title{
  margin: 0 0 6px;
  font-family: "Boozy", system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 16px;
  color: rgba(159, 189, 219, 1);
}

.consent__desc{
  margin: 0;
  font-size: 14px;
  font-family: "Boozy", system-ui, sans-serif;
  line-height: 1.45;
  color: rgba(255,255,255,0.86);
  max-width: 62ch;
}

.consent__link{
  margin-top: 10px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: rgba(159, 189, 219, 1);
}

.consent__actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.consent__btn{
  font-family: "Boozy", system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(159, 189, 219, 0.35);
  background: rgba(159, 189, 219, 0.18);
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease, background .15s ease;
  white-space: nowrap;
}

.consent__btn:hover{
  transform: translateY(-1px);
  opacity: 0.95;
}

.consent__btn--ghost{
  background: transparent;
}

.policy::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.78);
}

.policy__card{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(980px, calc(100% - 24px));
  max-height: min(78vh, 820px);
  overflow: auto;
  background: rgba(2, 23, 39, 0.96);
  border: 1px solid rgba(159, 189, 219, 0.22);
  box-shadow: 0 18px 70px rgba(0,0,0,0.55);
  border-radius: 18px;
  padding: 22px 18px 18px;
}

.policy__close{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(159, 189, 219, 0.22);
  background: rgba(2, 23, 39, 0.65);
  color: rgba(255,255,255,0.92);
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}

.policy__close:hover{
  transform: translateY(-1px);
  opacity: 0.95;
}

.policy__title{
  margin: 0 0 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 18px;
  color: rgba(159, 189, 219, 1);
  padding-right: 52px;
  font-family: "Boozy", system-ui, sans-serif;
}

.policy__body{
  font-family: "Boozy", system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,0.88);
}

.policy__body a{
  color: rgba(159, 189, 219, 1);
}

.policy__body h3{
  margin: 18px 0 8px;
  font-family: "Boozy", system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(159, 189, 219, 1);
}

.policy__body ul{
  margin: 8px 0 0 18px;
  padding: 0;
}

@media (max-width: 640px){
  .consent__card{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .consent__actions{
    justify-content: stretch;
  }
  .consent__btn{
    flex: 1 1 auto;
  }
}
