:root { --ink:#171918; --paper:#f4f4f2; --gold:#e7b264; --red:#87282d; --line:#d7d7d2; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; font-size:16px; }
a { color:inherit; text-decoration:none; }
.info-nav { min-height:110px; display:flex; align-items:center; justify-content:space-between; padding:1.5rem 6vw; background:var(--ink); color:#fff; }
.info-brand { display:inline-flex; flex-direction:column; line-height:.78; font-weight:600; letter-spacing:-.07em; }
.info-brand span { font-family:"Playfair Display",serif; font-size:2.7rem; }
.info-brand small { margin-top:8px; font-size:.66rem; letter-spacing:.26em; }
.back-link { padding:.8rem 1rem; border:1px solid rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; }
main { display:grid; grid-template-columns:.8fr 1.2fr; min-height:calc(100vh - 110px); }
.info-intro { padding:7rem 6vw; background:#fff; }
.kicker { margin:0 0 2.6rem; color:#b77b28; text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; font-weight:600; }
h1 { max-width:740px; margin:0; font-family:"Playfair Display",serif; font-size:clamp(3.8rem,6vw,7rem); font-weight:500; line-height:.9; letter-spacing:-.045em; text-transform:uppercase; }
.direct-contact { display:grid; gap:1.25rem; margin-top:4.5rem; }
.direct-contact a { display:flex; align-items:center; gap:1.1rem; width:max-content; max-width:100%; text-transform:uppercase; letter-spacing:.08em; font-size:1.05rem; }
.direct-contact .contact-email { text-transform:none; letter-spacing:normal; }
.direct-contact span { display:grid; place-items:center; width:46px; height:46px; color:var(--gold); font-size:1.65rem; }
.social-block { margin-top:4.7rem; }
.social-block p { margin:0 0 1.25rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.social-block>div { display:flex; flex-wrap:wrap; gap:.8rem; }
.social { min-width:150px; padding:1rem 1.4rem; border-radius:999px; color:#fff; text-align:center; }
.instagram { background:#55473f; }
.facebook { background:#3f60a3; }
.request-panel { display:flex; align-items:center; padding:7rem 6vw; background:#ecece9; }
form { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:1.3rem; }
label { position:relative; }
label:not(.event-date)>span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
label.event-date { display:grid; gap:.4rem; min-width:0; }
label.event-date>span { font-size:.875rem; font-weight:600; }
label.event-date input { min-width:0; }
input,select,textarea { width:100%; border:1px solid var(--line); border-radius:0; background:#fff; padding:1.25rem; color:var(--ink); font:inherit; font-size:1rem; }
input,select { min-height:66px; }
textarea { resize:vertical; min-height:170px; }
input:focus,select:focus,textarea:focus { outline:2px solid var(--gold); outline-offset:1px; }
.wide { grid-column:1/-1; }
button { min-height:66px; border:0; border-radius:999px; background:var(--red); color:#fff; cursor:pointer; font:600 .82rem "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.15em; }
button:hover { background:#6e1f24; }
.form-status { min-height:1.4rem; margin:0; font-size:.9rem; }
footer { display:grid; grid-template-columns:1fr 1fr auto; gap:3rem; align-items:start; padding:5rem 6vw 2rem; background:var(--ink); color:#fff; }
footer p { margin:0; line-height:1.6; }
footer>small { align-self:end; color:#999; }
.info-nav-actions { display:flex; align-items:center; gap:.7rem; }
.info-call { display:none; }
.footer-phone { display:inline-block; margin-top:.7rem; border-bottom:1px solid rgba(255,255,255,.7); }
@media (max-width:900px) {
  main { grid-template-columns:1fr; }
  .info-intro,.request-panel { padding:5rem 24px; }
  h1 { font-size:clamp(3.3rem,12vw,5.5rem); }
  footer { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .info-nav { min-height:90px; padding:1.1rem 20px; }
  .info-brand span { font-size:2rem; }
  .info-nav-actions { gap:.45rem; }
  .info-call { display:inline-flex; min-height:44px; align-items:center; padding:.65rem .8rem; border:1px solid var(--ink); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
  .back-link { padding:.65rem .7rem; font-size:.62rem; }
  .info-intro { padding-top:4rem; }
  .kicker { line-height:1.5; }
  h1 { font-size:clamp(3rem,15vw,4.7rem); }
  form { grid-template-columns:1fr; }
  .wide { grid-column:1; }
  .request-panel { padding-top:4rem; }
}
