/* ========== The Sip Society DC — Luxury Theme CSS ========== */
:root{
  --cream:#FAF9F6;   /* ivory background */
  --tan:#E6C9B3;     /* blush accent */
  --sun:#D4AF37;     /* champagne gold */
  --merlot:#5A2A27;  /* headings / strong text */
  --orange:#7B3F61;  /* plum (CTAs, accents) */
  --ink:#2E2C2C;     /* body text */
  --white:#ffffff;   /* white */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
a{color:var(--merlot);text-decoration:none}
a:hover{color:var(--sun)}

/* Layout helpers */
.wrap{width:min(1100px,92%);margin-inline:auto}
.center{text-align:center}
.narrow{max-width:780px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:var(--cream);
  border-bottom:1px solid rgba(90,42,39,.15);
}
.site-header .wrap{display:flex;align-items:center;gap:1rem;padding:.75rem 0}
.logo{font-weight:700;font-size:1.1rem}
.logo span{color:var(--orange)}
.primary-nav ul{display:flex;gap:1rem;list-style:none;margin:0;padding:0}
.primary-nav li a{padding:.25rem .5rem;border-radius:.4rem}
.primary-nav li a:hover{background:var(--tan)}
.menu-toggle{display:none;border:none;background:transparent;font-size:1.4rem}

/* Sticky CTA button */
.sticky-cta{position:fixed;right:1rem;bottom:1rem;z-index:999}

/* Sections */
.section--pad{padding:3rem 0}
.section--accent{background:var(--tan)}

/* Hero */
.hero{
  position:relative;min-height:60vh;display:grid;align-items:center;
  background:radial-gradient(65% 65% at 70% 20%, rgba(212,175,55,.25), transparent 60%);
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:var(--hero-bg);
  background-size:cover;background-position:center;
  filter:brightness(.75) saturate(1.1);opacity:.25;
}
.hero__wrap{position:relative}
.hero__title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.8vw,3.25rem);
  line-height:1.1;margin:0 0 .5rem;
  color:var(--merlot);
  text-shadow:0 2px 14px rgba(0,0,0,.18);
}
.hero__subtitle{max-width:60ch;margin:0 0 1rem;font-weight:400;color:var(--ink)}
.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Grids / cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{
  background:var(--white);
  border:1px solid var(--tan);
  padding:1.25rem;border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,0.04);
}
.section-title{font-size:1.8rem;margin:0 0 1rem}

/* Masonry images */
.masonry{columns:2;column-gap:1rem}
.masonry img{
  width:100%;display:block;border-radius:14px;
  margin:0 0 1rem;break-inside:avoid;
}

/* Testimonials */
.testimonials{display:grid;gap:1rem}
.testimonials blockquote{
  margin:0;padding:1rem;
  background:var(--white);
  border-left:6px solid var(--orange);
  border-radius:8px;
  color:var(--ink);
}

/* Buttons */
.btn-cta,.btn-outline{
  display:inline-block;
  padding:.8rem 1.15rem;
  border-radius:999px;
  font-weight:600;letter-spacing:.3px;
}
.btn-cta{
  background:var(--orange);
  color:var(--white);
  box-shadow:0 6px 16px rgba(123,63,97,.22);
}
.btn-cta.small{padding:.55rem .9rem;font-size:.95rem}
.btn-cta:hover{filter:brightness(.92)}
.btn-outline{
  border:2px solid var(--merlot);
  color:var(--merlot);
  background:transparent;
}
.btn-outline:hover{background:var(--tan)}

/* Footer */
.site-footer{
  border-top:1px solid rgba(250,249,246,.25);
  padding:2rem 0;
  background:var(--merlot);
  color:var(--cream);
}
.site-footer a{color:var(--sun)}
.site-footer a:hover{color:var(--tan)}

/* Forms */
.sip-form{
  background:var(--white);
  border:1px solid rgba(90,42,39,.10);
  padding:1.5rem;border-radius:14px;
  box-shadow:0 10px 20px rgba(0,0,0,.05);
}
.sip-form .sip-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.sip-form .field.full{grid-column:1 / -1}
.sip-form label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--merlot)}
.sip-form input[type="text"],
.sip-form input[type="email"],
.sip-form input[type="tel"],
.sip-form input[type="date"],
.sip-form input[type="number"],
.sip-form select,
.sip-form textarea{
  width:100%;padding:.7rem .8rem;
  border:1px solid rgba(90,42,39,.22);
  border-radius:10px;
  background:var(--white);
  color:var(--ink);
}
.sip-form input:focus,
.sip-form select:focus,
.sip-form textarea:focus{
  outline:2px solid var(--sun);
  border-color:var(--sun);
}
.sip-form .options{display:flex;flex-wrap:wrap;gap:.75rem 1rem}
.sip-form .option{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid rgba(90,42,39,.22);
  padding:.5rem .75rem;border-radius:999px;
  background:var(--cream);
}
.sip-form .option input[type="radio"],
.sip-form .option input[type="checkbox"]{margin:0}
.sip-form .option span{line-height:1}
.sip-form .actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}
.sip-form .form-note{margin:0;opacity:.8}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto}
.skip-link:focus{left:0;top:0;background:var(--white);color:var(--ink);padding:.5rem}

/* CTA slab */
.cta-slab{display:grid;gap:.5rem;align-items:center;justify-items:start;text-align:left}

/* Mobile adjustments */
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr}
  .masonry{columns:1}
  .sip-form .sip-grid{grid-template-columns:1fr}
  .primary-nav{display:none}
  .menu-toggle{display:inline-block}
}