
:root{--control-h:52px}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;background:#0b0b0c;color:#e9e9ee}
.container{width:min(1100px,92vw);margin:0 auto;padding:32px 0}
h1,h2{margin:0 0 10px}
a{color:#d4af37;text-decoration:none}
a:visited{color:#d4af37}
.accent{color:#d4af37}

/* HERO */
.hero{position:relative;background:#0b0b0c}
.hero img{
  width:100%; height:68vh; object-fit:cover; object-position:center 40%;
  display:block; filter:contrast(1.05);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.hero::before{content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55)); z-index:0}

/* Top-left circular logo */
.top-left-logo{position:absolute; top:16px; left:16px; z-index:2}
.logo-circle{display:inline-block; width:90px; height:90px; border-radius:999px; overflow:hidden;
  border:2px solid rgba(255,255,255,.85); box-shadow:0 4px 20px rgba(0,0,0,.35)}
.logo-circle img{width:100%; height:100%; object-fit:cover}

/* Bigger + lower tagline */
.hero-text{
  position:absolute; inset:0; z-index:1;
  display:flex; justify-content:center; align-items:flex-end;
  text-align:center; padding:0 16px;
  padding-bottom: clamp(48px, 12vh, 180px);
}
.hero-subtitle{
  margin:0; color:#fff; font-weight:800; letter-spacing:.4px;
  text-shadow:0 2px 18px rgba(0,0,0,.6);
  line-height:1.1;
  font-size: clamp(22px, 5.2vw, 48px);
}
@media (min-width: 1024px){
  .hero-text{ padding-bottom: clamp(80px, 18vh, 240px); }
  .hero-subtitle{ font-size: clamp(28px, 3.6vw, 56px); }
}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:10px}
.tile{aspect-ratio:16/10;overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0d0e12}
.tile img{width:100%;height:100%;object-fit:cover;display:block}

/* Form */
.btn{display:inline-block;background:#d4af37;color:#0b0b0c;padding:12px 18px;border-radius:10px;font-weight:800;border:none;font-size:1.1rem}
form{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:14px}
.field{grid-column:span 6;display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:span 12}

/* Controls */
input,select,textarea{background:#0d0e12;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#e9e9ee;font:inherit}
input:not([type="checkbox"]):not([type="radio"]), select{height:var(--control-h);padding:0 12px}
textarea{min-height:120px;padding:12px}
select{-webkit-appearance:none;appearance:none;line-height:normal}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e9e9ee' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px}

footer{padding:24px 0;color:#9a9ab0;font-size:.50rem !important;margin-top:0;line-height:1.1}

/* Spacer between CTA and footer */
.footer-spacer{height:clamp(16px, 5vh, 48px)}

/* Ensure button link text stays dark even when visited */
.btn, .btn:visited{ color:#0b0b0c !important; }
.btn:hover{ filter:brightness(1.05); }
