:root{
  --text:#f5f3fb;
  --muted:#d3cfe2;
  --brand:#b091ff;
  --brand-strong:#8a6cff;
  --glass: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.18);
}
*{box-sizing:border-box}
html,body{
  margin:0; padding:0;
  color:var(--text);
  font-family:'Poppins', system-ui, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.6;
  background: #120a1c url('assets/bg.jpg') center top / cover fixed no-repeat;
}
a{color:var(--brand); text-decoration:none}
a:hover{color:var(--brand-strong)}

h1,h2,h3,.elegant,.brand-name{ font-family:'Marcellus', Georgia, serif }

/* Compact frosted header */
.site-header{
  position:sticky; top:0; z-index:100;
  background: linear-gradient(180deg, rgba(20,10,35,0.8) 0%, rgba(20,10,35,0.6) 100%);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  transition: all .25s ease;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.site-header.scrolled{ background: linear-gradient(180deg, rgba(20,10,35,0.9), rgba(20,10,35,0.75)); box-shadow: 0 6px 18px rgba(0,0,0,.4) }
.header-inner{ max-width:1100px; margin:0 auto; padding:8px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px }
.brand.center{ display:flex; flex-direction:column; align-items:center; color:inherit }
.logo.only{ width:200px; height:auto; object-fit:contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)) }
.brand-tag.under{ font-size:13px; color:#b091ff; margin-top:-6px }

.nav.center{ display:flex; gap:20px; margin:6px 0 4px 0; flex-wrap:wrap; justify-content:center }
.nav.center a{ padding:6px 10px; border-radius:999px; font-weight:600; color:var(--text); border:1px solid transparent; font-size:14px }
.nav.center a:hover{ background:var(--glass); border-color:var(--glass-border) }
.nav.center a.active{ color:var(--brand) }

/* Hero */
.hero{ padding:90px 16px 70px; text-align:center; background: radial-gradient(80% 100% at 50% 0%, rgba(176,145,255,.18) 0%, rgba(176,145,255,0) 70%) }
.hero.tight{ padding-top:80px }
.hero h1{ font-size:50px; margin:0 0 8px; color:#ffffff }
.hero .tagline{ color:var(--muted); font-size:18px; margin:0 }

/* Glass sections */
.section{ padding:44px 16px; max-width:1000px; margin:0 auto }
.glass{ background: var(--glass); border: 1px solid var(--glass-border); border-radius: 16px; box-shadow: 0 15px 50px rgba(0,0,0,.25) }
.section-head{ margin:0 0 12px 0 }
.section h2{ margin:0; color:#fff; font-size:28px }

/* Tighter paragraph line-height within About Us */
.longform p{ margin:18px 18px; font-size:18px; line-height:1.3 }
.serif p{ font-family:'Marcellus', Georgia, serif; font-size:20px; line-height:1.35; margin-bottom:20px }

/* Buttons */
.btn{ display:inline-block; padding:10px 16px; border-radius:12px; text-decoration:none; font-weight:700; border:1px solid rgba(255,255,255,.2); color:#fff }
.btn.primary{ background: linear-gradient(180deg, var(--brand), var(--brand-strong)); border-color: transparent }
.btn.ghost{ background:transparent; color:#fff }
.btn.small{ padding:8px 12px; font-weight:600 }

/* Contact */
.contact-grid{ display:grid; grid-template-columns:1fr 420px; gap:20px; align-items:start }
.contact-form{ display:grid; gap:8px; background: rgba(255,255,255,.06); padding:14px; border-radius:12px; border:1px solid rgba(255,255,255,.12) }
.contact-form label span{ display:block; font-weight:600; margin-bottom:6px }
.contact-form input,.contact-form textarea{ width:100%; padding:10px; border:1px solid rgba(255,255,255,.2); border-radius:10px; background: rgba(20,10,35,.35); color:#fff }
.contact-form input::placeholder,.contact-form textarea::placeholder{ color:#bdb7d2 }

@media (max-width:900px){
  .contact-grid{ grid-template-columns:1fr }
}

/* Coming Soon styling */
.center-page{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:50vh; text-align:center }
.elegant{ font-size:42px; margin:0 0 8px; color:#fff }
.coming-soon{ font-family:'Marcellus', Georgia, serif; font-size:26px; color:var(--brand); letter-spacing:.06em }

/* Footer */
.site-footer{ padding:22px 16px; text-align:center; color:#c7c2d8; border-top:1px solid rgba(255,255,255,.08); margin-top:36px }

/* Language switcher */
.lang-switch{display:flex; gap:8px; margin-top:6px}
.lang-switch .pill{border:1px solid rgba(255,255,255,.2); padding:6px 10px; border-radius:999px; font-size:12px; color:#fff}
.lang-switch .pill.active{background:rgba(255,255,255,.14);}
