*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Gold tones */
  --gold:#C9A96E;
  --gold-lt:#E2C98A;
  --gold-dk:#A8863E;
  --gold2:#A8863E;

  /* Neutrals */
  --black:#0A0A0A;
  --white:#FFFFFF;
  --dark:#0F0F0F;
  --darker:#050505;

  /* Backgrounds */
  --gray:#F5F3F0;
  --cream:#FAF7F2;
  --cream2:#E8E2D6;

  /* Misc */
  --sub:rgba(10,10,10,.68);

  /* Typography */
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',-apple-system,sans-serif;

  /* Easing */
  --ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth}
body{background:#fff;color:var(--black);font-family:var(--sans);overflow-x:hidden}
a{text-decoration:none;color:inherit}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
img{display:block;max-width:100%;cursor:default}

@media(max-width:768px){
  main > section:not(:first-child){
    content-visibility:auto;
    contain-intrinsic-size:1px 760px;
  }
}

/* ── SHARED UTILITY CLASSES (used by FAQ include, quote-form include, etc.) ── */
.w{max-width:1320px;margin:0 auto;padding:0 72px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block}
.heading{font-family:var(--serif);font-size:clamp(32px,4vw,58px);font-weight:300;line-height:.96;letter-spacing:-.03em;color:var(--black)}
.heading em{font-style:italic;color:var(--gold)}
