/* Candles and Carols 2026: static "Reservations open soon" page (evergreen theme). External CSS only; no JS. */
@font-face{font-family:"Fondamento";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/fondamento/fondamento-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Merriweather";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/merriweather/merriweather-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Quicksand";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/quicksand/quicksand-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Quicksand";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/quicksand/quicksand-latin-700-normal.woff2") format("woff2")}
:root{
  --c-bg:#242c2a; --c-surface:#2e3735; --c-wood:#281915; --c-text:#f4e4cb; --c-heading:#f9efdf;
  --c-muted:#b6c5d4; --c-border:#869299; --c-accent:#e89c19; --c-focus:#f9efdf; --c-holly:#a00a10;
  --font-script:"Fondamento","Apple Chancery","URW Chancery L",cursive;
  --font-display:"Merriweather",Georgia,"Times New Roman",serif;
  --font-sans:"Quicksand",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fs-sm:.875rem; --fs-base:1.0625rem; --fs-md:1.25rem;
  --fs-xl:clamp(1.953rem,1.4rem + 2.6vw,2.75rem); --fs-mark:clamp(2.6rem,1.6rem + 5vw,4.4rem);
  --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px; --s-7:48px;
  --radius:6px; --measure:36rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--c-bg)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--c-bg);color:var(--c-text);font:500 var(--fs-base)/1.6 var(--font-sans)}
main{flex:1 0 auto}
.wrap{max-width:var(--measure);margin:0 auto;padding:0 var(--s-4)}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px;box-shadow:0 0 0 2px var(--c-bg)}
.site-header{background:var(--c-wood);border-bottom:2px solid var(--c-holly);padding:var(--s-5) 0 var(--s-4);text-align:center}
.brand{font-family:var(--font-script);font-weight:400;font-size:var(--fs-mark);line-height:1;color:var(--c-heading);margin:0;overflow-wrap:anywhere}
/* signature: snowy evergreen bough + snow tile (drifts only when motion is OK) */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(112px,13vw,184px) 0 var(--s-6);text-align:center}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:clamp(96px,12vw,170px);background:url("img/bough.svg") center top/auto 100% repeat-x;z-index:-1;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background:url("img/snow.svg") 0 0/320px 320px repeat;z-index:-2;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.hero::after{animation:snow 90s linear infinite}}
@keyframes snow{to{background-position:40px 320px}}
.kicker{font-weight:700;font-size:var(--fs-sm);letter-spacing:.32em;text-transform:uppercase;color:var(--c-accent);margin:0 0 var(--s-3)}
h1{font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);line-height:1.2;color:var(--c-heading);margin:0 0 var(--s-4);text-wrap:balance;overflow-wrap:anywhere}
.hero p.intro{margin:0 auto;max-width:34rem;text-wrap:pretty}
.details{background:var(--c-surface);border:1px solid var(--c-border);border-top:4px solid var(--c-accent);border-radius:var(--radius);padding:var(--s-4) var(--s-5);margin:0 0 var(--s-5)}
.details dl{margin:0;display:grid;grid-template-columns:1fr;gap:0}
.details dt{font-weight:700;color:var(--c-accent);text-transform:uppercase;letter-spacing:.12em;font-size:var(--fs-sm);padding-top:2px}
.details dd{margin:0 0 var(--s-3)}
.details dd:last-child{margin-bottom:0}
@media (min-width:480px){.details dl{grid-template-columns:auto 1fr;gap:var(--s-2) var(--s-4)}.details dd{margin:0}}
.checkback{text-align:center;font-size:var(--fs-md);margin:0 0 var(--s-7);color:var(--c-heading)}
.site-footer{background:var(--c-wood);border-top:2px solid var(--c-holly);padding:var(--s-5) 0 var(--s-6);font-size:var(--fs-sm);color:var(--c-muted);text-align:center}
.site-footer p{margin:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
