*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 12px)}
body{margin:0;background:var(--charcoal);color:var(--flour);font-family:var(--sans);font-weight:400;font-size:clamp(16px,1.05vw + 8px,18px);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:.22em}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,p,dl,dd,figure,blockquote{margin:0}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--gold);color:#1F1F1F;padding:12px 18px;z-index:100;font-weight:700}
.skip:focus{top:12px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
section{position:relative;padding:clamp(72px,9vw,128px) 0}
.eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:22px}
.eyebrow::before{content:"";width:36px;height:1px;background:var(--gold)}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:1.04;letter-spacing:-.01em;max-width:16ch;text-wrap:balance}
.h2 em{font-style:italic;color:var(--gold)}
.lead{color:var(--flour-dim);max-width:54ch;margin-top:24px}
.hair{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45;border:0;margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 28px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;letter-spacing:.04em;background:transparent;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s}
.btn--fill{background:var(--wine);border-color:var(--wine);color:var(--flour)}
.btn--gold{background:var(--gold);color:#1F1F1F;border-color:var(--gold)}
@media (hover:hover){.btn:hover{background:var(--gold);color:#1F1F1F}.btn--fill:hover{background:var(--gold)}}
.note{font-size:.82rem;color:var(--flour-dim)}
/* reveals */
html.js [data-r]{opacity:0;translate:0 28px;transition:opacity 1.2s var(--ease),translate 1.2s var(--ease);transition-delay:var(--d,0s)}
html.js [data-r].in{opacity:1;translate:0 0}
/* pills */
.pill{display:inline-flex;align-items:center;gap:9px;min-height:30px;padding:3px 14px 3px 12px;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.02em;background:rgba(0,0,0,.28);white-space:nowrap}
.pill:empty{display:none}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:#8a8176}
.pill.is-open::before{background:var(--gold);box-shadow:0 0 0 0 rgba(217,164,65,.6);animation:ping 2.4s infinite}
@keyframes ping{70%,100%{box-shadow:0 0 0 9px rgba(217,164,65,0)}}
/* marquee */
.marq{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;background:var(--cellar)}
.marq__t{display:flex;width:max-content;animation:marq 70s linear infinite}
.marq__t span{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3vw,2.6rem);color:var(--flour-dim);padding-right:.6em;white-space:nowrap}
.marq__t i{color:var(--gold);font-style:normal;padding-right:.6em}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.js [data-r]{opacity:1;translate:none;transition:none}
  .marq__t{animation:none}.marq{overflow-x:auto}
  .pill.is-open::before{animation:none}
}
