.nye { --nye-dark:#0d211c; --nye-green:#19362c; --nye-gold:#e7c68e; --nye-cream:#faf6ee; color:#243b33; font:16px/1.7 Arial,Helvetica,sans-serif; background:var(--nye-cream); }
.nye * { box-sizing:border-box; }
.nye__inner { width:min(1120px,100%); margin:auto; }
.nye__announcement { margin:0; padding:12px 20px; text-align:center; color:var(--nye-dark); background:var(--nye-gold); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.nye__hero { padding:clamp(56px,8vw,110px) 24px; color:var(--nye-cream); background:radial-gradient(ellipse at 85% 30%,#254d3b,transparent 65%),var(--nye-dark); }
.nye__hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:72px; align-items:center; }
.nye__eyebrow { margin:0 0 18px; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.nye__hero .nye__eyebrow,.nye__countdown .nye__eyebrow { color:var(--nye-gold); }
.nye h1 { margin:20px 0 26px; font:400 clamp(48px,7vw,88px)/1.02 Georgia,serif; letter-spacing:-.05em; }
.nye h1 span { color:var(--nye-gold); }
.nye h2 { margin:0 0 14px; font:400 clamp(28px,4vw,44px)/1.15 Georgia,serif; letter-spacing:-.03em; }
.nye__intro { max-width:540px; margin:0 0 30px; line-height:1.8; }
.nye__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.nye a { color:inherit; text-underline-offset:4px; }
.nye .nye__button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid var(--nye-gold); border-radius:4px; color:var(--nye-dark); background:var(--nye-gold); font-size:12px; font-weight:800; letter-spacing:.04em; text-decoration:none; }
.nye .nye__button--outline { background:transparent; color:var(--nye-cream); border-color:#e7c68e88; }
.nye .nye__button--dark { color:var(--nye-cream); background:var(--nye-dark); border-color:var(--nye-dark); }
.nye__small { margin:18px 0 0; font-size:12px; line-height:1.6; }
.nye__medallion { width:min(340px,100%); aspect-ratio:1; justify-self:center; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:50%; color:var(--nye-dark); background:linear-gradient(135deg,#f2d69e,#c29c62); border:6px double #fff0c0; box-shadow:0 0 0 24px #e7c68e06,0 0 0 25px #e7c68e30,0 0 0 48px #e7c68e04,0 0 0 49px #e7c68e20; }
.nye__medallion span { font-size:11px; font-weight:800; letter-spacing:.25em; text-transform:uppercase; }
.nye__medallion strong { font:400 clamp(70px,10vw,110px)/1.3 Georgia,serif; letter-spacing:-.07em; }
.nye__countdown { padding:32px 24px; background:#172e26; color:var(--nye-cream); border-top:1px solid #e7c68e33; }
.nye__countdown-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.nye__countdown h2 { font-size:26px; }
.nye__clock { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; text-align:center; }
.nye__clock strong { display:block; font:400 clamp(32px,5vw,58px)/1.3 Georgia,serif; font-variant-numeric:tabular-nums; }
.nye__clock span { color:var(--nye-gold); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.nye__expect { padding:clamp(56px,8vw,90px) 24px; }
.nye__section-head { max-width:700px; margin:0 auto 36px; text-align:center; }
.nye__expect .nye__eyebrow,.nye__visit .nye__eyebrow { color:#89551f; }
.nye__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.nye__cards article { padding:28px; background:#fff; border:1px solid #243b3322; border-radius:8px; }
.nye__cards h3 { margin:16px 0 10px; font:400 23px/1.3 Georgia,serif; }
.nye__cards p { margin:0; font-size:14px; }
.nye__spark { color:#89551f; font-size:26px; }
.nye__planning { margin:24px 0 0; padding:20px; border-left:2px solid #ad783a; background:#eee8dc; font-size:13px; }
.nye__visit { padding:64px 24px; background:#eee8dc; }
.nye__visit-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; }
.nye__visit p { margin:0; font-size:14px; }
.nye__text-link { min-height:44px; display:inline-flex; align-items:center; font-weight:700; }
.nye__policy { grid-column:1/-1; }
.nye :focus-visible { outline:3px solid #b45e28; outline-offset:5px; box-shadow:0 0 0 3px #fff; }
@media(max-width:760px) {
  .nye__hero-grid,.nye__countdown-grid,.nye__visit-grid { grid-template-columns:1fr; }
  .nye__hero-grid { gap:64px; }
  .nye__medallion { width:230px; }
  .nye__hero { padding:48px 20px 76px; }
  .nye__cards { grid-template-columns:1fr; }
  .nye__expect,.nye__visit { padding-inline:20px; }
  .nye__clock { gap:8px; }
}
@media(max-width:380px) { .nye__actions { flex-direction:column; align-items:stretch; } }
