    :root{
      --bg:#070707;
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.68);

      --g1:#f6e4a5;
      --g2:#d7b45a;
      --g3:#b8892a;
      --gold: linear-gradient(135deg, var(--g1), var(--g2), var(--g3));

      --glass: rgba(255,255,255,.05);
      --border: rgba(255,255,255,.12);

      --danger: rgba(255,80,80,.9);
      --ok: rgba(120,255,180,.9);
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      background:
        radial-gradient(1200px 700px at 20% 15%, rgba(215,180,90,.18), transparent 60%),
        radial-gradient(900px 520px at 85% 10%, rgba(246,228,165,.10), transparent 55%),
        linear-gradient(to bottom, #0a0a0a, #050505);
      color: var(--text);
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      display:grid;
      place-items:center;
      padding: 24px;
    }

    .wrap{
      width:min(980px, 100%);
      text-align:center;
      padding: 46px 22px 34px;
      border-radius: 26px;
      background: var(--glass);
      border: 1px solid var(--border);
      box-shadow: 0 18px 60px rgba(0,0,0,.45);
      backdrop-filter: blur(12px);
      position: relative;
      overflow:hidden;
    }


    .wrap:before{
      content:"";
      position:absolute;
      inset:-120px -120px auto auto;
      width: 340px;
      height: 340px;
      border-radius: 999px;
      border: 1px solid rgba(215,180,90,.14);
      background: radial-gradient(circle at 30% 30%, rgba(215,180,90,.10), transparent 60%);
      filter: blur(.2px);
      pointer-events:none;
    }

    .langbar{
      position:absolute;
      top:14px;
      right:14px;
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
      z-index:2;
    }
    .langbtn{
      border-radius: 999px;
      padding: 6px 10px;
      font-weight: 800;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.85);
      transition: .2s ease;
      font-size: 12px;
      letter-spacing: .08em;
      cursor: pointer;
      user-select:none;
    }
    .langbtn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.08); }
    .langbtn.active{
      border: 0;
      background: var(--gold);
      color:#241a05;
      box-shadow: 0 10px 22px rgba(215,180,90,.20);
    }

    .logo{
      width: 112px;
      height: 112px;
      border-radius: 999px;
      display:grid;
      place-items:center;
      margin: 0 auto 16px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.35);
      overflow:hidden;
      position:relative;
      z-index:1;
    }
    .logo img{
      width: 78%;
      height: 78%;
      object-fit: contain;
      display:block;
      filter: drop-shadow(0 10px 20px rgba(215,180,90,.18));
    }

    .brand{
      font-family: "Playfair Display", serif;
      letter-spacing: .18em;
      text-transform: uppercase;
      font-size: clamp(34px, 5vw, 58px);
      margin: 6px 0 6px;
      line-height: 1.05;
      position:relative;
      z-index:1;
    }
    .gold-text{
      background: var(--gold);
      -webkit-background-clip:text;
      background-clip:text;
      color: transparent;
    }

    .subtitle{
      font-size: clamp(13px, 2vw, 16px);
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(255,255,255,.72);
      margin: 10px 0 14px;
      position:relative;
      z-index:1;
    }

    .services{
      display:flex;
      justify-content:center;
      flex-wrap: wrap;
      gap: 10px;
      margin: 10px 0 16px;
      color: rgba(255,255,255,.78);
      font-weight: 600;
      letter-spacing: .02em;
      position:relative;
      z-index:1;
    }
    .pill{
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.03);
      font-size: 14px;
      white-space: nowrap;
    }

    .meta{
      margin-top: 6px;
      color: rgba(255,255,255,.62);
      font-size: 13px;
      letter-spacing: .08em;
      text-transform: uppercase;
      display:flex;
      justify-content:center;
      gap: 10px;
      flex-wrap: wrap;
      position:relative;
      z-index:1;
    }
    .dot{
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: var(--gold);
      display:inline-block;
      margin: 0 2px;
    }


    .cta{
      margin-top: 18px;
      display:flex;
      justify-content:center;
      gap: 10px;
      flex-wrap: wrap;
      position:relative;
      z-index:1;
    }
    .btn{
      border-radius: 14px;
      padding: 11px 14px;
      font-weight: 800;
      text-decoration:none;
      display:inline-flex;
      align-items:center;
      gap: 10px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.88);
      transition: .2s ease;
      cursor:pointer;
      user-select:none;
    }
    .btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.08); }
    .btn-primary{
      border: 0;
      background: var(--gold);
      color: #241a05;
      box-shadow: 0 12px 28px rgba(215,180,90,.22);
    }
    .btn-primary:hover{  filter: brightness(1.05);background: var(--gold);-webkit-background-clip: text;background-clip: text;color: transparent; }


    .panel{
      width:min(760px, 100%);
      margin: 20px auto 0;
      border-radius: 18px;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.28);
      padding: 16px;
      text-align:left;
      position:relative;
      z-index:1;
    }
    .panel-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap: 12px;
      flex-wrap:wrap;
      margin-bottom: 12px;
    }
    .panel-title{
      font-weight: 800;
      letter-spacing: .04em;
    }
    .panel-desc{
      color: rgba(255,255,255,.62);
      font-size: 13px;
      margin-top: 6px;
      line-height:1.35;
    }

    .grid{
      display:grid;
      grid-template-columns: 1.2fr 1.2fr .8fr;
      gap: 10px;
    }
    .field{
      display:flex;
      flex-direction:column;
      gap: 6px;
    }
    .label{
      font-size: 12px;
      color: rgba(255,255,255,.70);
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    .input{
      width:100%;
      border-radius: 12px;
      padding: 12px 12px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.92);
      outline:none;
      transition: .2s ease;
    }
    .input:focus{
      border-color: rgba(215,180,90,.55);
      box-shadow: 0 0 0 4px rgba(215,180,90,.10);
    }

    .actions{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      margin-top: 12px;
      flex-wrap:wrap;
    }
    .link{
      color: rgba(255,255,255,.70);
      text-decoration:none;
      font-weight:700;
      font-size: 13px;
      border-bottom: 1px dashed rgba(255,255,255,.22);
      padding-bottom:2px;
    }
    .link:hover{ color: rgba(255,255,255,.92); border-bottom-color: rgba(215,180,90,.55); }

    .response{
      margin-top: 10px;
      color: rgba(255,255,255,.55);
      font-size: 12px;
      letter-spacing: .06em;
      text-transform: uppercase;
      position:relative;
      z-index:1;
    }

    .fine{
      margin-top: 14px;
      color: rgba(255,255,255,.45);
      font-size: 12px;
      position:relative;
      z-index:1;
    }

    /* small badges */
    .badges{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-start;
      margin-top: 8px;
    }
    .badge{
      font-size: 12px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.78);
      white-space:nowrap;
    }

    @media (max-width: 820px){
      .grid{ grid-template-columns: 1fr; }
      .actions{ justify-content:stretch; }
      .actions .btn{ width:100%; justify-content:center; }
      .actions .link{ width:100%; text-align:center; }
      .panel{ text-align:center; }
      .panel-head{ justify-content:center; }
      .badges{ justify-content:center; }
    }

    @media (max-width: 520px){
      .wrap{ padding-top: 70px; }
      .langbar{ left:14px; right:14px; justify-content:center; }
    }


/* auth pages */
.auth-wrap{
  width:min(980px, 100%);
  text-align:center;
  padding: 46px 22px 34px;
  border-radius: 26px;
  background: var(--glass);
  border: 1px solid var(--border);
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
  position: relative;
  overflow:hidden;
}
.auth-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
  margin-bottom: 10px;
}
.backlink{
  color: rgba(255,255,255,.75);
  text-decoration:none;
  font-weight:800;
  border-bottom: 1px dashed rgba(255,255,255,.22);
  padding-bottom:2px;
}
.backlink:hover{ color: rgba(255,255,255,.92); border-bottom-color: rgba(215,180,90,.55); }

.notice{
  margin: 12px auto 0;
  width:min(760px, 100%);
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.78);
  text-align:left;
}
.notice.ok{ border-color: rgba(120,255,180,.25); }
.notice.err{ border-color: rgba(255,80,80,.25); }

.form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top: 12px;
}
.form-actions .btn{ justify-content:center; }


/* ===== Modal / Lightbox ===== */
/* ===== Modal / Lightbox ===== */
.modal{ position: fixed; inset:0; display:none; place-items:center; padding:18px; z-index:9999; }
.modal.open{ display:grid; }
.modal-overlay{ position:absolute; inset:0; background: rgba(0,0,0,.62); backdrop-filter: blur(6px); }
.modal-card{
  position: relative;
  width: min(980px, 100%);
  height: min(78vh, 720px);
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.40);
  box-shadow: 0 18px 80px rgba(0,0,0,.55);
  overflow:hidden;
}
.modal-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}
.modal-title{ font-weight:900; letter-spacing:.06em; text-transform:uppercase; color: rgba(255,255,255,.86); font-size:12px; }
.modal-close{
  border-radius: 12px; padding: 8px 10px; font-weight:900;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.88);
  cursor:pointer;
}
.modal-close:hover{ background: rgba(255,255,255,.08); transform: translateY(-1px); }
.modal-body{
  height: calc(100% - 49px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.modal-iframe{ width:100%; height:100%; border:0; background: transparent; }