:root{--black:#000;--gold:#d4af37;--silver:#d0d0d6;--text:#e9e9ec;--muted:#a8a8b3;--panel:rgba(255,255,255,.03);--border:rgba(255,255,255,.06)}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--black);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial}
a{color:#eee}a:hover{color:#fff}
.nav-wrap{position:sticky;top:0;z-index:20;background:rgba(0,0,0,.65);backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--border)}
.nav{max-width:1200px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand .logo{height:32px;width:auto}
.menu-btn{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--panel);position:relative}
.menu-btn span{position:absolute;width:22px;height:2px;background:linear-gradient(90deg,#bfbfbf,#fff);border-radius:1px;left:9px}
.links{display:flex;gap:16px;align-items:center;margin:0;padding:0;list-style:none}
.links a,.nav-btn{color:#f0f0f4;text-decoration:none;font-weight:600;padding:8px 10px;border-radius:10px;background:linear-gradient(180deg,var(--panel),rgba(255,255,255,.02));border:1px solid var(--border)}
.bg-layers{position:fixed;inset:0;z-index:-1}.bg-canvas{position:absolute;inset:0}.vignette{position:absolute;inset:0;background:radial-gradient(900px 700px at 50% 40%,rgba(255,255,255,.12),rgba(0,0,0,.92) 60%,#000 100%)}
.hero{min-height:clamp(420px,60vh,760px);display:grid;place-items:center;padding:56px 16px 14px}.hero-inner{text-align:center;max-width:1080px}
.gradient-title{font-size:clamp(28px,4vw,56px);line-height:1.05;margin:10px 0 12px;background:linear-gradient(90deg,var(--gold),var(--silver),#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:#e3e3e9;font-size:clamp(16px,1.5vw,20px);line-height:1.7;margin:0 auto 18px;max-width:900px}
.section{padding:34px 0}.container{max-width:1260px;margin:0 auto;padding:0 16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px}
.footer{margin-top:48px;border-top:1px solid var(--border)}.footer-inner{max-width:1260px;margin:0 auto;padding:24px 16px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}
.logo-foot{height:28px}
@media(max-width:980px){.grid-3,.grid-2{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}}
/* === v12 Contact form restore (append at END) ========================== */
.grid.gap { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width: 800px){ .grid.gap { grid-template-columns:1fr; } }

.grid-2.gap-24 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width: 980px){ .grid-2.gap-24 { grid-template-columns:1fr; } }

.form-shell { margin-top:18px; }

.contact-form { width:100%; }

.field.floating { position:relative; display:block; margin:10px 0; }
.field.floating input,
.field.floating textarea,
.field.floating select {
  width:100%;
  padding:14px 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.02);
  color:#fff;
  outline:none;
}
.field-message textarea { min-height:180px; resize:vertical; }

.field.floating .placeholder{
  position:absolute;
  left:14px;
  top:11px;
  font-size:12px;
  color:#bbb;
  pointer-events:none;
  transition:.18s ease;
  background:#000;
  padding:0 6px;
  border-radius:6px;
}

/* Float up on focus / when has value */
.field.floating input:focus + .placeholder,
.field.floating textarea:focus + .placeholder,
.field.floating input:not(:placeholder-shown) + .placeholder,
.field.floating textarea:not(:placeholder-shown) + .placeholder,
.field.floating.filled .placeholder {
  top:-8px;
  color:#ddd;
}

/* Make all inputs equal height in the 2-col rows */
.grid.gap .field.floating input,
.grid.gap .field.floating select { height:44px; }

/* Select normalize (so it doesn't look native-blue on Safari) */
.field.floating select {
  -webkit-appearance: none;
  appearance: none;
  background-image: linear-gradient(45deg, #fff 40%, rgba(255,255,255,0) 41%),
                    linear-gradient(135deg, #fff 40%, rgba(255,255,255,0) 41%),
                    linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0));
  background-position: calc(100% - 22px) calc(1em - 2px), calc(100% - 14px) calc(1em - 2px), 100% 0;
  background-size: 8px 8px, 8px 8px, 2.5em 2.5em;
  background-repeat: no-repeat;
}

/* Button matches v12 look */
.btn.primary {
  padding:12px 18px;
  font-weight:800;
  border-radius:12px;
  background:linear-gradient(90deg, var(--gold), var(--silver));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 36px rgba(212,175,55,.36);
}

.form-actions {
  display:flex; align-items:center; gap:14px; margin-top:12px;
}

.form-note { color:#e3e3e9; margin:0; }

/* Hide placeholders while typing (safeguard) */
input::placeholder, textarea::placeholder { opacity:0; }

/* Honeypot hidden */
.hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; }

/* Thicker vignette on contact only (keeps your earlier tweak) */
body[data-page="contact"] .vignette {
  background: radial-gradient(900px 700px at 50% 40%, rgba(255,255,255,.18), rgba(0,0,0,.88) 60%, #000 100%);
}
/* ===================================================================== */
