:root{
  --cream: #F7F0E3;
  --cream-deep: #F1E7D3;
  --ink: #1C1A17;
  --ink-soft: #4A443C;
  --gold: #B8935A;
  --gold-deep: #8C6D3F;
  --line: #D8CBB3;
  --white: #FFFDF8;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{ background:var(--gold); color:var(--white); }

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background: radial-gradient(120% 100% at 20% 0%, #2A251E 0%, var(--ink) 60%);
}
.hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(20,17,13,0.35) 0%, rgba(20,17,13,0.55) 55%, rgba(20,17,13,0.8) 100%);
  z-index:1;
}

/* ---------- HEADER BANNER (solid white block) ---------- */
.site-header{
  background:var(--white);
  padding:22px 6vw;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logotype{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  font-size:clamp(24px, 2.8vw, 32px);
  letter-spacing:0.06em;
  color:var(--ink);
}
.logotype .accent{
  /* accent letter, no italic */
}

/* ---------- HERO CONTENT GRID ---------- */
.hero-grid{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6vw;
}
.eyebrow{
  font-family:'Pinyon Script', cursive;
  font-size:20px;
  letter-spacing:0.02em;
  text-transform:none;
  color:var(--gold);
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
  white-space:nowrap;
}
.eyebrow svg{
  display:inline-block;
  flex-shrink:0;
}

/* ---------- FOREGROUND FORM CARD ---------- */
.form-card{
  width:100%;
  max-width:440px;
  background:rgba(247, 240, 227, 0.94);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,0.4);
  padding:40px 36px 34px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.5);
}
.form-card .eyebrow{ color:var(--gold-deep); justify-content:center; }
.form-card h2{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  font-size:clamp(24px, 2.3vw, 29px);
  line-height:1.3;
  letter-spacing:0.02em;
  margin-bottom:12px;
  color:var(--ink);
  text-align:center;
}
.form-card p.lead{
  font-size:13.5px;
  line-height:1.6;
  color:var(--ink-soft);
  margin-bottom:28px;
  text-align:center;
}

form{ text-align:left; }
.field{ margin-bottom:16px; }
label{
  display:block;
  font-size:10.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:7px;
}
input, select{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  font-size:15px;
  padding:9px 2px;
  outline:none;
  transition:border-color 0.25s ease;
}
select option{ background:var(--white); color:var(--ink); }
input::placeholder{ color:#A69C89; }
input:focus, select:focus{ border-bottom-color:var(--gold-deep); }

.btn{
  margin-top:24px;
  width:100%;
  background:var(--ink);
  color:var(--cream);
  border:none;
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:13.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:15px 20px;
  cursor:pointer;
  transition:background 0.25s ease, transform 0.15s ease;
}
.btn:hover{ background:#33291F; }
.btn:active{ transform:scale(0.99); }
.btn:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--gold-deep);
  outline-offset:2px;
}

.fine-print{
  margin-top:16px;
  font-size:11px;
  color:#8A8172;
  text-align:center;
}
.status{
  margin-top:14px;
  font-size:12.5px;
  text-align:center;
  min-height:16px;
}
.status.success{ color:var(--gold-deep); }
.status.error{ color:#B5473F; }

footer{
  position:relative;
  z-index:2;
  padding:18px 6vw 26px;
  display:flex;
  justify-content:space-between;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#C9C1B0;
}

@media (max-width:860px){
  .site-header{ padding:18px 6vw; }
  footer{ flex-direction:column; gap:8px; text-align:center; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; }
}
