html.sc-checking body { visibility:hidden; }
body.sc-closed > :not(#seasonal-closure):not(script):not(style):not(link) { display:none !important; }
body.sc-closed { margin:0; padding:0; background:#172820; overflow-x:hidden; }
#seasonal-closure { --sc-position:50%; --sc-shade:.55; position:relative; min-height:100svh; width:100%; background:#172820; color:#fff8e8; display:flex; flex-direction:column; justify-content:center; overflow:hidden; box-sizing:border-box; font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif; }
.sc-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% var(--sc-position); }
.sc-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,23,18,.76),rgba(9,23,18,.18)),linear-gradient(0deg,rgba(9,23,18,.6),transparent 75%),rgba(9,23,18,var(--sc-shade)); }
.sc-content { position:relative; z-index:1; width:min(820px,100%); margin:0 auto; padding:90px 30px; box-sizing:border-box; text-align:center; }
.sc-eyebrow { color:#e5d2a9; font-size:11px; font-weight:500; letter-spacing:.23em; line-height:1.8; margin:0 0 32px; }
#seasonal-closure h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(43px,6.2vw,80px); line-height:1.08; letter-spacing:-.045em; font-weight:400; margin:0 0 30px; color:inherit; }
.sc-rule { width:48px; height:1px; background:#dfc694; margin:0 auto 27px; }
.sc-message { font-size:15px; line-height:1.95; color:#f4eddf; white-space:pre-line; max-width:590px; margin:0 auto 30px; }
.sc-signoff { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:22px; line-height:1.5; margin:0 0 25px; color:#f6e4c0; }
.sc-reopening { display:inline-block; padding:12px 20px; border:1px solid #e3cfa44d; border-radius:40px; font-size:11px; letter-spacing:.04em; line-height:1.6; color:#f4e6cd; }
.sc-bottom { position:relative; z-index:1; text-align:center; color:#e7dbbfad; font-size:10px; letter-spacing:.1em; padding:0 20px 28px; }
@media(max-width:600px) { .sc-content { padding:calc(65px + env(safe-area-inset-top,0px)) 26px 45px; }.sc-eyebrow { margin-bottom:25px; font-size:9px; letter-spacing:.18em; }#seasonal-closure h1 { font-size:48px; }.sc-message { font-size:14px; line-height:1.9; }.sc-signoff { font-size:21px; }.sc-bottom { padding-bottom:calc(25px + env(safe-area-inset-bottom,0px)); }.sc-shade { background:linear-gradient(0deg,#091712a8,transparent),rgba(9,23,18,var(--sc-shade)); } }
.sc-footer { position:relative; z-index:1; width:100%; margin-top:auto; padding:35px 30px 28px; box-sizing:border-box; border-top:1px solid #e7d5b225; background:linear-gradient(180deg,#0c1b16b8,#0c1b16ed); }
.sc-footer-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:45px; width:min(920px,100%); margin:0 auto 27px; }
#seasonal-closure .sc-footer h2 { font:400 25px/1.3 Georgia,'Times New Roman',serif; color:#f6e4c0; margin:0 0 15px; letter-spacing:-.02em; }
.sc-contact address { font-style:normal; font-size:12px; line-height:1.8; color:#f0e6d2; }
.sc-contact address p { margin:0 0 3px; overflow-wrap:anywhere; }
.sc-contact-links,.sc-social-links { display:flex; flex-wrap:wrap; align-content:start; align-items:center; gap:8px; }
.sc-contact-links { margin-top:16px; }.sc-social-links h2 { flex-basis:100%; }
.sc-footer a { display:inline-flex; align-items:center; justify-content:center; min-height:41px; padding:9px 13px; box-sizing:border-box; border:1px solid #e7d5b230; border-radius:8px; color:#f6e4c0; font-size:11px; line-height:1.5; text-decoration:none; }
.sc-footer a:hover { background:#ffffff0d; border-color:#e7d5b268; }.sc-footer a:focus-visible { outline:2px solid #e7d5b2; outline-offset:3px; }
.sc-legal { width:min(920px,100%); margin:0 auto; padding-top:23px; border-top:1px solid #e7d5b225; text-align:center; font-size:10px; line-height:1.8; color:#e7dbbfbf; }
.sc-legal p { margin:2px 0; overflow-wrap:anywhere; }
@media(max-width:600px) { .sc-footer { padding:29px 24px calc(25px + env(safe-area-inset-bottom,0px)); }.sc-footer-inner { grid-template-columns:minmax(0,1fr); gap:27px; margin-bottom:24px; }#seasonal-closure .sc-footer h2 { font-size:24px; }.sc-footer a { min-height:44px; }.sc-legal { text-align:left; font-size:10px; } }
/* Compact phone layout: retain all message, contact and legal content. */
@media(max-width:600px) {
 .sc-content { padding:calc(23px + env(safe-area-inset-top,0px)) 19px 19px; }
 .sc-eyebrow { font-size:9px; line-height:1.4; letter-spacing:.13em; margin-bottom:12px; }
 #seasonal-closure h1 { font-size:clamp(29px,8.3vw,35px); line-height:1.08; margin-bottom:14px; }
 .sc-rule { width:34px; margin-bottom:13px; }
 .sc-message { font-size:13px; line-height:1.55; white-space:normal; margin-bottom:13px; }
 .sc-signoff { font-size:18px; line-height:1.3; margin-bottom:10px; }
 .sc-reopening { font-size:10px; line-height:1.4; padding:6px 13px; margin:0; }
 .sc-footer { padding:17px 16px calc(15px + env(safe-area-inset-bottom,0px)); }
 .sc-footer-inner { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:12px; margin-bottom:13px; }
 #seasonal-closure .sc-footer h2 { font-size:17px; line-height:1.2; margin-bottom:9px; }
 .sc-contact address { font-size:11px; line-height:1.45; }
 .sc-contact address p { margin:0 0 2px; }
 .sc-contact-links,.sc-social-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
 .sc-contact-links { margin-top:9px; }
 .sc-social-links { align-content:start; }
 #seasonal-closure .sc-social-links h2 { grid-column:1/-1; margin-bottom:4px; }
 .sc-footer a { min-width:0; min-height:40px; padding:7px 5px; border-radius:7px; font-size:10px; line-height:1.3; text-align:center; overflow-wrap:anywhere; }
 .sc-legal { padding-top:12px; font-size:10px; line-height:1.5; text-align:center; }
 .sc-legal p { display:inline; margin:0; }
 .sc-legal p:not(:last-child)::after { content:' · '; color:#e7dbbf88; }
}
/* One aligned grid for every contact and social link on phones. */
@media(max-width:600px) {
 .sc-footer-inner { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; align-items:start; }
 #seasonal-closure .sc-contact,.sc-contact-links,.sc-social-links { display:contents; }
 #seasonal-closure .sc-contact h2 { grid-column:1/-1; text-align:center; margin:0 0 3px; }
 #seasonal-closure .sc-contact address { grid-column:1/-1; margin:0 0 7px; text-align:center; font-size:11px; line-height:1.5; }
 .sc-contact address p { display:inline; margin:0; }
 .sc-contact address p:not(:last-child)::after { content:' · '; }
 #seasonal-closure .sc-social-links h2 { display:none; }
 .sc-footer-inner a { width:100%; min-height:42px; padding:7px 4px; }
}
/* Brighter photography and a fresh, readable contact footer. */
#seasonal-closure > .sc-photo { filter:brightness(1.08) saturate(1.04); }
#seasonal-closure > .sc-shade { background:linear-gradient(180deg,rgba(6,25,20,.12),rgba(6,25,20,.48)),rgba(9,23,18,var(--sc-shade)); opacity:.55; }
.sc-content { text-shadow:0 2px 15px #051b1680; }
#seasonal-closure h1 { text-shadow:0 3px 25px #051b1659; }
.sc-reopening { background:#ffffff18; border-color:#fff2d780; color:#fff9eb; }
.sc-footer { background:#f5f2eaf5; border-top:1px solid #fff7e8b3; color:#28473e; }
#seasonal-closure .sc-footer h2 { color:#244c3e; }
.sc-contact address { color:#3e5a50; }
.sc-footer a { background:#ffffffa6; border-color:#365b432b; color:#244c3e; font-weight:500; text-shadow:none; }
.sc-footer a:hover { background:#e3eee3; border-color:#365b4359; }
.sc-footer a:focus-visible { outline-color:#365b43; }
.sc-legal { display:grid; gap:4px; padding-top:16px; border-top-color:#365b432b; color:#53665b; font-size:12px; line-height:1.5; text-align:center; }
.sc-legal p { display:block; margin:0; }
.sc-legal p:not(:last-child)::after { content:none; }
.sc-legal p:first-child { color:#2c4b3e; font-size:13px; font-weight:600; }
.sc-legal p:nth-child(3) { color:#2c4b3e; font-size:13px; letter-spacing:.035em; font-weight:600; }
@media(max-width:600px) {
 .sc-footer { padding-top:16px; }
 .sc-legal { font-size:12px; line-height:1.4; padding-top:13px; gap:4px; }
 .sc-legal p:first-child,.sc-legal p:nth-child(3) { font-size:13px; }
}
/* Editorial seasonal page: clear type and a separate photograph. */
html.sc-page { background:#f5f2ea !important; color-scheme:light !important; --auto-safe-bg:#f5f2ea !important; }
html.sc-page body.sc-closed { background:#f5f2ea !important; color:#28473e; }
body.sc-closed #seasonal-closure { display:flex; flex-direction:column; justify-content:flex-start; background:#f5f2ea; color:#28473e; overflow:hidden; }
.sc-brand { display:flex; align-items:center; justify-content:center; padding:24px 22px 12px; background:#f5f2ea; }
.sc-logo-mark { position:relative; width:190px; height:75px; overflow:visible; background:transparent; border-radius:0; }
.sc-logo-mark img { display:block; position:static; width:100%; height:100%; max-width:100%; object-fit:contain; transform:none; }
.sc-hero { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); align-items:center; gap:48px; width:min(1120px,100%); margin:0 auto; padding:35px 30px 45px; box-sizing:border-box; }
#seasonal-closure .sc-content { padding:0; margin:0; width:100%; text-align:left; text-shadow:none; }
#seasonal-closure .sc-eyebrow { color:#70816c; font-size:10px; letter-spacing:.15em; line-height:1.5; margin:0 0 16px; }
#seasonal-closure h1 { font-size:clamp(40px,4.8vw,62px); color:#243d32; text-shadow:none; letter-spacing:-.045em; line-height:1.08; margin:0 0 21px; }
#seasonal-closure .sc-rule { background:#b8a87f; margin:0 0 20px; width:40px; }
#seasonal-closure .sc-message { color:#4d6155; font-size:14px; line-height:1.8; margin:0 0 19px; max-width:none; }
#seasonal-closure .sc-signoff { color:#41604c; font-size:22px; line-height:1.4; margin:0 0 15px; }
#seasonal-closure .sc-reopening { background:#e5ebdf; border:1px solid #8da67f30; color:#47623f; border-radius:9px; padding:9px 14px; font-size:11px; margin:0; text-shadow:none; }
.sc-photo-frame { position:relative; aspect-ratio:1.08; width:100%; margin:0; overflow:hidden; border-radius:23px; background:#e2e6da; border:1px solid #3d57351a; }
#seasonal-closure .sc-photo-frame .sc-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% var(--sc-position); filter:saturate(1.02); }
.sc-photo-frame::after { content:''; position:absolute; inset:0; pointer-events:none; background:rgba(13,29,23,var(--sc-shade)); opacity:.12; }
#seasonal-closure .sc-footer { background:#f5f2ea; border-top-color:#365b432b; }
@media(max-width:700px) {
 .sc-brand { padding:calc(14px + env(safe-area-inset-top,0px)) 18px 10px; }
 .sc-logo-mark { width:150px; height:59px; border-radius:0; }
 .sc-hero { display:flex; flex-direction:column; gap:17px; padding:8px 19px 20px; }
 #seasonal-closure .sc-content { text-align:center; }
 #seasonal-closure .sc-eyebrow { font-size:8px; margin-bottom:10px; letter-spacing:.13em; }
 #seasonal-closure h1 { font-size:clamp(30px,8.4vw,37px); line-height:1.08; margin-bottom:14px; }
 #seasonal-closure .sc-rule { margin:0 auto 13px; width:31px; }
 #seasonal-closure .sc-message { font-size:13px; line-height:1.55; margin-bottom:12px; white-space:normal; }
 #seasonal-closure .sc-signoff { font-size:18px; line-height:1.3; margin-bottom:10px; }
 #seasonal-closure .sc-reopening { font-size:10px; padding:6px 12px; }
 .sc-photo-frame { aspect-ratio:2.6; max-height:165px; border-radius:14px; }
}

/* Seamless transitions between the photo, contacts and legal details. */
#seasonal-closure .sc-footer { border-top:0; padding-top:15px; margin-top:0; }
#seasonal-closure .sc-legal { border-top:0; padding-top:8px; }
.sc-footer-inner { margin-bottom:8px; }
.sc-hero { padding-bottom:22px; }
@media(max-width:700px) { .sc-hero { gap:12px; padding-bottom:8px; } #seasonal-closure .sc-footer { padding-top:10px; } .sc-footer-inner { margin-bottom:5px; } #seasonal-closure .sc-legal { padding-top:5px; } }
