:root {
  --black: #0A0A0A;
  --gold: #FFC300;
  --gold-soft: #FFD95A;
  --white: #FFFFFF;
  --grey: #A0A0A0;
}

/* Body & sticky footer */
html, body { height:100%; margin:0; padding:0; }
body {
  display:flex;
  flex-direction:column;
  min-height:100vh;
  background: radial-gradient(circle at top, #1a1a1a 0%, #0A0A0A 60%);
  color: var(--white);
  font-family:'Inter',sans-serif;
  padding-top:70px; /* for top bar */
}

/* Page wrapper */
.page-wrapper {
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  padding: 2rem;
}

/* Card */
.card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 195, 0, 0.2);
  border-radius: 22px;
  padding: 3rem 2.5rem;
  width:100%;
  max-width:560px;
  text-align:center;
  box-shadow: 0 25px 80px rgba(0,0,0,0.65);
  animation: fadeUp 1s ease forwards;
  opacity:0;
}
@keyframes fadeUp { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }

h1 { font-family:'Playfair Display', serif; font-size:2.8rem; font-weight:700; letter-spacing:3px; }
.divider { width:70px; height:3px; background:var(--gold); margin:1.8rem auto; animation: expand 1.2s ease forwards; }
.tagline { color: var(--grey); font-size:1.05rem; margin-bottom:2.5rem; }

form { margin-top:1.5rem; }
input, textarea {
  width:100%;
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;
  padding:0.9rem 1rem;
  margin-bottom:1rem;
  color:var(--white);
  font-size:0.95rem;
  transition:0.3s ease;
}
input:focus, textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 2px rgba(255,195,0,0.2); }
button { width:100%; background:var(--gold); border:none; padding:0.95rem; border-radius:12px; font-weight:600; font-size:0.95rem; cursor:pointer; transition:0.3s ease; }
button:hover { background:var(--gold-soft); transform: translateY(-2px); }

.contact-buttons { margin-top:30px; display:flex; flex-direction:column; gap:12px; }
.contact-buttons a { padding:12px; background:var(--gold); color:#000; text-decoration:none; border-radius:12px; font-weight:600; transition:0.3s ease; }
.contact-buttons a:hover { background: var(--gold-soft); }

.alert-success { color:var(--gold); margin-bottom:1rem; }
.alert-error { color:#ff6b6b; margin-bottom:1rem; }

.footer {
  width:100%;
  text-align:center;
  padding:15px 0;
  background: rgba(10,10,10,0.95);
  border-top:1px solid rgba(255,195,0,0.2);
}

.iframe-wrapper iframe {
  width:100%;
  max-width:500px;
  border:none;
  border-radius:12px;
}

/* Top Bar */
.top-bar {
  position:fixed;
  top:0; left:0;
  width:100%;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255,195,0,0.2);
  z-index: 999;
  padding: 0.8rem 2rem;
}
.top-bar .container { display:flex; align-items:center; justify-content:space-between; max-width:1200px; margin:0 auto; }
.top-bar .logo a { font-family:'Playfair Display', serif; color: var(--gold); text-decoration:none; font-size:1.6rem; font-weight:700; letter-spacing:1px; }
.top-bar .menu { display:flex; gap:25px; }
.top-bar .menu a { color: var(--grey); text-decoration:none; font-weight:500; transition:0.3s ease; }
.top-bar .menu a:hover { color: var(--gold); }
.menu-toggle { display:none; font-size:1.8rem; cursor:pointer; color:var(--gold); }
@media(max-width:768px){
  .top-bar .menu { position:absolute; top:100%; right:0; background: rgba(10,10,10,0.95); flex-direction:column; width:200px; display:none; padding:1rem; border-left:1px solid rgba(255,195,0,0.2);}
  .top-bar .menu.active { display:flex; }
  .menu-toggle { display:block; }
}