:root{
  --gold-1:#fff3a0;
  --gold-2:#d4af37;
  --gold-3:#ffd700;
  --text:#ffffff;
  --panel:#ffffff;
}

*{box-sizing:border-box}
html, body {padding:0; margin:0;}
body{
  background:#4b4d59;
  font-size:100%;
  color:var(--text);
  font-family:"ALK Sanet","Noto Sans Georgian",sans-serif;
  min-height:100vh;
  overflow-x:hidden;
}

img, a img{border:0; max-width:100%; width:431px;}
h1, p{padding:0 0 35px; margin:0;}

#parent_container{
  max-width:1130px;
  width:100%;
  font-size:1rem;
  position:relative;
  z-index:2;
  padding:3rem;
  margin:0 auto;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}

#logo_container{text-align:center;}
#intro_container{text-align:center; max-width:1130px; margin:0 auto; font-size:1.25rem; line-height:1.8125rem;}
#intro_container p{color:#fff; font-size:1.125rem; font-weight:700; line-height:1.8125rem;}
#privacy_policy_note{padding:1.5625rem 0 0; font-size:0.8125rem; letter-spacing:0.020625rem; color:#ffffff; text-align:center;}

.video-wrapper{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
video{
  position:absolute;
  top:0;
  left:0;
  object-fit:cover;
  height:100%;
  width:100%;
}
.video-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.50));
}

.download-wrapper{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  padding:10px 0 0;
}

.vip-btn{
  background:linear-gradient(135deg, var(--gold-1), var(--gold-2), var(--gold-1));
  color:#111;
  padding:14px 24px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  position:relative;
  overflow:hidden;
  transition:all .35s ease;
  box-shadow:0 6px 14px rgba(212, 175, 55, 0.25);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  text-align:center;
  gap:10px;
}

.vip-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:60%;
  height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.65), transparent);
  transform:skewX(-20deg);
}

.vip-btn:hover{
  transform:translateY(-4px) scale(1.04);
  box-shadow:0 10px 25px rgba(212, 175, 55, 0.45);
}

.vip-btn:hover::before{animation:shineMove .9s ease;}
@keyframes shineMove{100%{left:130%;}}

.btn-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 18px;
  transition:transform .3s ease, filter .3s ease;
}
.btn-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}
.vip-btn:hover .btn-icon{
  transform:translateY(-2px) scale(1.08);
  filter:drop-shadow(0 2px 5px rgba(255,255,255,.35));
}

.file-action-btn{
  width:100%;
  padding:14px;
  margin-top:10px;
  background:linear-gradient(135deg, var(--gold-1), var(--gold-2), var(--gold-1));
  border:none;
  border-radius:12px;
  font-weight:800;
  font-size:16px;
  color:#111;
  cursor:pointer;
  transition:.25s ease;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 6px 14px rgba(212, 175, 55, 0.2);
}
.file-action-btn:hover{
  transform:scale(1.02);
  box-shadow:0 8px 20px rgba(212,175,55,.3);
}
.file-subtitle{
  color:#666;
  font-size:14px;
  margin:0 0 14px;
  line-height:1.5;
}

.modal{
  display:none;
  position:fixed;
  z-index:9999;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  padding:20px;
  animation:fadeIn .25s ease;
}

.modal-content{
  background:linear-gradient(145deg, #ffffff, #f6f6f6);
  margin:6vh auto 0;
  padding:26px 22px 22px;
  border-radius:20px;
  width:100%;
  max-width:380px;
  text-align:center;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  position:relative;
  animation:slideUp .35s ease;
}

.modal-content::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:19px;
  pointer-events:none;
  box-shadow:inset 0 0 18px rgba(212,175,55,.18);
}

.close{
  position:absolute;
  right:14px;
  top:10px;
  cursor:pointer;
  font-size:20px;
  line-height:1;
  color:#777;
  transition:.2s;
  z-index:2;
}
.close:hover{color:#111;}

.modal-logo{
  display:flex;
  justify-content:center;
  margin:0 auto 8px;
}
.modal-logo img{
  width:110px;
  max-width:100%;
  height:auto;
}
.logo-fallback{
  font-size:22px;
  font-weight:800;
  letter-spacing:.5px;
  margin-bottom:6px;
  background:linear-gradient(135deg, var(--gold-2), var(--gold-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.modal-title{
  margin:0 0 16px;
  color:#151515;
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

.field-group{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.modal-content input{
  width:100%;
  margin:0;
  padding:14px 15px;
  border-radius:12px;
  border:none;
  background:#f1f1f1;
  font-size:15px;
  color:#111;
  outline:none;
  transition:.25s ease;
  font-family:"ALK Sanet","Noto Sans Georgian",sans-serif;
}
.modal-content input:focus{
  background:#fff;
  box-shadow:0 0 0 2px rgba(212,175,55,.28), 0 0 10px rgba(212,175,55,.22);
}

.calc-btn{
  width:100%;
  padding:14px;
  margin-top:14px;
  background:linear-gradient(135deg, var(--gold-2), var(--gold-3));
  border:none;
  border-radius:12px;
  font-weight:800;
  font-size:16px;
  color:#111;
  cursor:pointer;
  transition:.25s ease;
  font-family:"ALK Sanet","Noto Sans Georgian",sans-serif;
}
.calc-btn:hover{
  transform:scale(1.03);
  box-shadow:0 8px 20px rgba(212,175,55,.35);
}

#result{
  margin:16px 0 0;
  min-height:28px;
  font-size:16px;
  font-weight:700;
  color:#151515;
  line-height:1.5;
}
.helper-text{
  color:#666;
  font-size:13px;
  line-height:1.5;
  margin:10px 0 0;
}

@keyframes fadeIn{
  from{opacity:0;}
  to{opacity:1;}
}
@keyframes slideUp{
  from{transform:translateY(28px); opacity:0;}
  to{transform:translateY(0); opacity:1;}
}

@media only screen and (max-width:767px){
  #parent_container{padding:1rem;}
  #intro_container p{font-size:0.92rem; line-height:1.55rem;}
  #privacy_policy_note{font-size:0.72rem;}
  img, a img{width:221px;}
}

@media only screen and (max-width:600px){
  #parent_container{padding:24px 14px 32px;}
  #main_container{width:100%;}
  .download-wrapper{gap:12px; padding-top:8px;}
  .vip-btn{width:100%; min-width:0; padding:15px 18px; font-size:16px;}
  .modal{padding:12px;}
  .modal-content{width:100%; max-width:none; margin:8vh auto 0; padding:24px 16px 18px; border-radius:18px;}
  .modal-title{font-size:19px;}
  .modal-logo img{width:96px;}
  .logo-fallback{font-size:20px;}
  .modal-content input,
  .calc-btn{font-size:16px; padding:15px;}
  #result{font-size:15px;}
}
