@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Jost:wght@300;400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#C0102A;
  --red-light:rgba(192,16,42,0.08);
  --cream:#F5F0E8;
  --cream-dark:#EDE5D8;
  --cream-mid:#E8E0D0;
  --warm:#FAF7F2;
  --ink:#1C1712;
  --ink-soft:#3A3028;
  --stone:#8A7E72;
  --stone-light:#C4B8A8;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);overflow-x:hidden;font-weight:300}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:300;
  padding:2rem 4vw 1.2rem;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .4s,border-color .4s;
}
nav.scrolled{background:rgba(245,240,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--cream-dark)}
.nav-logo{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.5rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;
}
.nav-links{display:flex;align-items:center;gap:2.8rem;list-style:none}
.nav-links a{
  font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;transition:color .2s;
}
.nav-links a:hover,.nav-links a.active{color:var(--red)}
.nav-cta{
  font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--red)!important;border-bottom:1px solid var(--red);padding-bottom:1px;
}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:all .3s}
.mobile-overlay{
  display:none;position:fixed;inset:0;background:var(--cream);z-index:290;
  flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;
}
.mobile-overlay.open{display:flex}
.mobile-overlay a{font-family:var(--serif);font-style:italic;font-size:2.8rem;font-weight:300;color:var(--ink);text-decoration:none;transition:color .2s}
.mobile-overlay a:hover{color:var(--red)}
.mobile-close{position:absolute;top:2rem;right:4vw;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--ink);font-family:var(--sans);font-weight:300}

/* ── BUTTONS ── */
.btn-pill{
  display:inline-block;text-decoration:none;
  font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  padding:.85rem 2.4rem;border-radius:100px;transition:all .25s;cursor:pointer;border:none;
  font-family:var(--sans);
}
.btn-dark{background:var(--ink);color:var(--cream)}.btn-dark:hover{background:var(--ink-soft)}
.btn-outline-dark{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-outline-dark:hover{background:var(--ink);color:var(--cream)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#9e0b22}
.btn-outline-red{background:transparent;color:var(--red);border:1px solid var(--red)}.btn-outline-red:hover{background:var(--red);color:#fff}
.btn-cream{background:var(--cream);color:var(--ink)}.btn-cream:hover{background:var(--cream-dark)}
.btn-link{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;transition:gap .2s;
}
.btn-link:hover{gap:1rem}
.btn-link-red{color:var(--red)}

/* ── SHARED LABELS ── */
.eyebrow{
  display:block;font-size:.6rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;
  color:var(--stone);margin-bottom:1.4rem;
}
.eyebrow-red{color:var(--red)}

/* ── SECTION DIVIDER ── */
.divider{height:1px;background:var(--cream-dark);margin:0}
.divider-v{width:1px;background:var(--cream-dark)}

/* ── SPINNING WORDS (animated) ── */
.spin-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;height:1.1em}
.spin-inner{display:flex;flex-direction:column;animation:spinWords 6s steps(1) infinite}
.spin-inner span{display:block;line-height:1.1}
@keyframes spinWords{
  0%{transform:translateY(0)}
  33%{transform:translateY(-100%)}
  66%{transform:translateY(-200%)}
  100%{transform:translateY(0)}
}

/* ── TICKER ── */
.ticker{overflow:hidden;white-space:nowrap;background:var(--ink);padding:.85rem 0}
.ticker-track{display:inline-flex;animation:ticker 30s linear infinite}
.ticker-track span{font-size:.6rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,240,232,.5);padding:0 2.5rem}
.ticker-track .bullet{color:var(--red);letter-spacing:0;padding:0;font-size:.7rem}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── CONTACT STRIP ── */
.contact-strip{
  background:var(--cream-dark);padding:3rem 6vw;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  border-top:1px solid var(--cream-mid);
}
.contact-strip p{font-family:var(--serif);font-style:italic;font-size:1.6rem;font-weight:300;color:var(--ink)}
.contact-strip span{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--stone);display:block;margin-top:.3rem}

/* ── FOOTER ── */
footer{background:var(--ink);padding:5rem 6vw 2.5rem}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:4rem}
.footer-logo{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.6rem;color:var(--cream);display:block;margin-bottom:1rem;text-decoration:none}
.footer-p{font-size:.8rem;color:rgba(245,240,232,.4);line-height:1.9;margin-bottom:1.5rem;letter-spacing:.02em}
.footer-social{display:flex;gap:1rem}
.footer-social a{font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.4);text-decoration:none;transition:color .2s}
.footer-social a:hover{color:var(--cream)}
.footer-col h5{font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,240,232,.3);margin-bottom:1.5rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.75rem}
.footer-col ul li a{font-size:.8rem;color:rgba(245,240,232,.45);text-decoration:none;transition:color .2s;letter-spacing:.02em}
.footer-col ul li a:hover{color:var(--cream)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between}
.footer-bottom p{font-size:.68rem;color:rgba(245,240,232,.25);letter-spacing:.06em}
.footer-tagline{font-family:var(--serif);font-style:italic;font-size:.9rem;color:rgba(245,240,232,.25)}

/* ── FORM STYLES ── */
.form-field{margin-bottom:1.6rem}
.form-field label{display:block;font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:.7rem}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:1rem 0;
  background:transparent;border:none;border-bottom:1px solid var(--cream-mid);
  font-family:var(--sans);font-size:.9rem;font-weight:300;color:var(--ink);
  outline:none;transition:border-color .2s;-webkit-appearance:none;border-radius:0;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-bottom-color:var(--red)}
.form-field textarea{resize:none;min-height:120px}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--stone-light)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.form-success{display:none;padding:2rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--ink)}
.form-success.show{display:block}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:1.6rem 5vw 1rem}
  .nav-links{display:none}
  .hamburger{display:flex}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem}
  .contact-strip{flex-direction:column;align-items:flex-start;padding:2.5rem 5vw}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .footer-top{grid-template-columns:1fr}
}
