.local-wrap { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.local-page { margin: 0; background: #10172d; color: #f3efe3; font-family: var(--font-body); font-size: 16px; font-weight: 300; line-height: 1.75; }
.local-page *, .local-discovery * { box-sizing: border-box; }
.local-page main a, .local-discovery a { color: inherit; }
.local-page main a { text-decoration: none; }
.local-page :where(main) p { margin: 0 0 1.3rem; color: #c9c3b6; }
.local-page h1, .local-page h2, .local-page h3, .local-discovery h2, .local-discovery h3 { font-family: var(--font-display); font-weight: 400; text-wrap: balance; }
.local-page h1 { font-size: clamp(2.6rem, 4.5vw, 4.5rem); line-height: 1.12; margin: 1.3rem 0 2rem; letter-spacing: -.035em; }
.local-page h2, .local-discovery h2 { font-size: clamp(2rem, 3.5vw, 3.3rem); line-height: 1.16; margin: 1rem 0 2rem; }
.local-page a:focus-visible, .local-page summary:focus-visible, .local-discovery a:focus-visible { outline: 2px solid #f3efe3; outline-offset: 6px; }
.local-header { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 22px 4vw; border-bottom: 1px solid #b8b0a247; }
.local-header img { display: block; object-fit: contain; }
.local-header nav, .local-footer nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: .85rem; }
.local-header nav a { padding: 7px 0; border-bottom: 1px solid transparent; }
.local-header nav a[aria-current], .local-header nav a:hover { border-bottom-color: #b8b0a2; }
.local-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 15px 22px; background: #6f1d2c; color: #f3efe3; font-size: .85rem; line-height: 1.4; text-decoration: none; }
.local-button:hover { background: #86283a; }
.local-button svg, .local-text-link svg, .local-card-action svg { flex-shrink: 0; }
.local-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.local-text-link { display: inline-flex; align-items: center; gap: 14px; padding-block: 8px; border-bottom: 1px solid #b8b0a2; font-size: .9rem; }
.local-kicker, .local-page .local-kicker { display: block; color: #b8b0a2; font-size: .68rem; letter-spacing: .19em; text-transform: uppercase; line-height: 1.7; margin-bottom: 14px; }
.local-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; font-size: .75rem; padding-top: 26px; color: #b8b0a2; }
.local-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.local-hero { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(30px, 6vw, 90px); padding-block: 45px 100px; }
.local-hero figure { margin: 0; }
.local-hero img { width: 100%; height: min(650px, 75vw); display: block; object-fit: cover; }
.local-hero figcaption { font-size: .7rem; color: #b8b0a2; padding-top: 12px; letter-spacing: .06em; }
.local-page .local-intro { font-size: 1.08rem; max-width: 540px; }
.local-page .local-meta { font-size: .77rem; line-height: 1.8; margin-top: 30px; }
.local-story { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(40px, 8vw, 120px); align-items: center; padding-block: 40px 110px; }
.local-story img { width: 100%; height: 470px; object-fit: cover; display: block; }
.local-band { background: #f3efe3; color: #10172d; padding-block: 80px; }
.local-band p, .local-band .local-kicker { color: #4d514b; max-width: 800px; }
.local-band .local-text-link { border-color: #10172d; }
.local-band a:focus-visible { outline-color: #10172d; }
.local-menu { padding-block: 1px 30px; }
.local-menu-note { margin: 2rem 0 0; font-size: .83rem; line-height: 1.7; }
.local-menu-note a { text-decoration: underline; text-underline-offset: 4px; }
.local-faq { padding-block: 90px; }
.local-faq details { border-top: 1px solid #b8b0a247; padding: 23px 0; }
.local-faq details:last-child { border-bottom: 1px solid #b8b0a247; }
.local-faq summary { cursor: pointer; font-size: 1.08rem; padding-right: 12px; }
.local-faq details p { max-width: 850px; margin: 18px 0 0; }
.local-location { padding-block: 80px; background: #1d2439; scroll-margin-top: 30px; }
.local-location address { font-style: normal; margin-bottom: 20px; }
.local-location address a { text-decoration: underline; text-underline-offset: 4px; }
.local-footer { padding: 45px 0 20px; }
.local-footer > .local-wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 25px; }
.local-footer .sante-privacy-links { margin-top: 36px; }
.local-skip { position: absolute; top: 0; left: 16px; padding: 12px; background: #f3efe3; color: #10172d !important; transform: translateY(-120%); z-index: 100; }
.local-skip:focus { transform: translateY(0); }
.local-discovery { padding: 105px 0 85px; background: #10172d; color: #f3efe3; }
.local-discovery-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: end; gap: 60px; margin-bottom: 52px; }
.local-discovery-heading h2 { margin: 18px 0 0; font-size: clamp(2.7rem, 4.8vw, 4.5rem); line-height: 1.04; letter-spacing: -.035em; }
.local-discovery-heading h2 em { color: #d4b29d; font-weight: 400; }
.local-discovery-heading > p { max-width: 360px; margin: 0 0 4px auto; color: #b8b0a2; font-size: .96rem; line-height: 1.85; }
.local-discovery-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 32px; }
.local-discovery-card { position: relative; display: block; height: clamp(490px, 46vw, 620px); overflow: hidden; isolation: isolate; background: #1d2439; text-decoration: none; outline-offset: 7px; }
.local-discovery-card:nth-child(2) { margin-top: 72px; }
.local-discovery-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#10172d4d 0%,#10172d00 30%,#10172d8c 58%,#0a101fea 100%); transition: opacity .65s; }
.local-discovery-card img { position: absolute; inset: 0; z-index: -2; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center 40%; transition: transform 1s cubic-bezier(.2,.65,.3,1),filter .7s; }
.local-discovery-card:nth-child(2) img { object-position: center 32%; }
.local-card-top { position: absolute; inset: 28px 30px auto; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.local-card-top > span:first-child { font-size: .65rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-shadow: 0 1px 10px #000; }
.local-card-arrow { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid #f3efe380; border-radius: 50%; transition: background .4s,color .4s,transform .6s; }
.local-card-copy { position: absolute; inset: auto 36px 34px; }
.local-discovery-card h3 { font-size: clamp(2.8rem, 4vw, 3.8rem); line-height: 1.02; letter-spacing: -.025em; margin: 0 0 20px; transition: transform .65s cubic-bezier(.2,.65,.3,1); }
.local-discovery-card h3 em { font-weight: 400; }
.local-discovery-card p { max-width: 315px; color: #e5ddd0; font-size: .92rem; line-height: 1.7; margin: 0 0 26px; }
.local-card-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #f3efe366; padding-top: 18px; font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; transition: border-color .4s; }
.local-card-action > span { display: flex; transition: transform .5s; }
.local-discovery-signoff { margin: 30px 0 0 !important; color: #b8b0a2; font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.local-discovery-card:focus-visible { outline: 2px solid #f3efe3; }
.local-discovery-card:focus-visible .local-card-arrow { background: #f3efe3; color: #10172d; }
@media (hover: hover) and (pointer: fine) {
 .local-discovery-card { transition: transform .65s cubic-bezier(.2,.65,.3,1),box-shadow .65s; }
 .local-discovery-card:hover { transform: translateY(-7px); box-shadow: 0 24px 48px #0005; }
 .local-discovery-card:hover img { transform: scale(1.065); filter: saturate(1.12); }
 .local-discovery-card:hover h3 { transform: translateY(-7px); }
 .local-discovery-card:hover .local-card-arrow { background: #f3efe3; color: #6f1d2c; transform: rotate(-35deg); }
 .local-discovery-card:hover .local-card-action { border-color: #f3efe3; }
 .local-discovery-card:hover .local-card-action > span { transform: translateX(5px); }
}
@media (prefers-reduced-motion: reduce) {
 .local-discovery-card, .local-discovery-card *, .local-discovery-card::after { transition: none !important; transform: none !important; }
}
/* The pre-rendered shell is readable even when scripts are unavailable. */
[data-static-home] .reveal { opacity: 1 !important; transform: none !important; visibility: visible !important; }
[data-static-home] .sante-menu-nav { display: flex; }
[data-static-home] .static-home-nav { display: flex; }
.local-static-event { padding: 32px; border: 1px solid #b8b0a247; }
.local-static-event h3 { font-family: 'Bodoni Moda', serif; font-size: 2rem; margin-block: 14px; }
.local-static-event p { line-height: 1.7; margin-block: 14px; color: #b8b0a2; }
@media (max-width: 1000px) {
  .local-header { flex-wrap: wrap; }
  .local-header nav { order: 3; width: 100%; justify-content: center; }
  [data-static-home] header { position: relative; }
  [data-static-home] header nav { flex-wrap: wrap; }
  [data-static-home] .static-home-nav { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; gap: 14px; padding-block: 12px; }
}
@media (max-width: 640px) {
  .local-wrap { width: calc(100% - 40px); }
  .local-header { padding: 18px 20px; gap: 18px; }
  .local-header img { width: 100px; }
  .local-header > .local-button { padding: 12px 14px; font-size: .75rem; gap: 8px; }
  .local-header nav { gap: 19px; font-size: .8rem; }
  .local-hero, .local-story { grid-template-columns: 1fr; gap: 35px; padding-block: 35px 60px; }
  .local-hero img { height: 470px; }
  .local-story img { height: 390px; }
  .local-band, .local-location { padding-block: 55px; }
  .local-faq { padding-block: 60px; }
  .local-discovery { padding-block: 65px 45px; }
  .local-discovery-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 32px; }
  .local-discovery-heading > p { margin: 0; max-width: 400px; }
  .local-discovery-grid { grid-template-columns: 1fr; gap: 24px; }
  .local-discovery-card { height: 500px; }
  .local-discovery-card:nth-child(2) { margin-top: 0; }
  .local-card-top { inset: 22px 24px auto; }
  .local-card-copy { inset: auto 26px 28px; }
  .local-discovery-card h3 { font-size: 3rem; }
  .local-footer nav { gap: 14px; }
}
.local-page main { padding-top: 90px; }
.local-page [data-shared-header] { background: #10172df5; }
.shared-header-scrolled { box-shadow: 0 8px 30px #0002; }
.shared-mobile-menu { display: none; }
.shared-mobile-menu summary { list-style: none; cursor: pointer; padding: 10px; border: 1px solid #b8b0a247; border-radius: 50%; }
.shared-mobile-menu summary::-webkit-details-marker { display: none; }
.shared-mobile-menu summary:focus-visible { outline: 2px solid #f3efe3; outline-offset: 5px; }
.shared-menu-panel { position: fixed; inset: 84px 0 0; z-index: 60; padding-block: 28px; }
.shared-menu-panel ul { display: flex; flex-direction: column; }
.shared-menu-panel .btn-gold { display: inline-flex; padding: 14px 24px; font-size: .8rem; }
@media (max-width: 1023px) { .shared-mobile-menu { display: block; } }
/* Shared navigation: keep booking in the header at every viewport size. */
.site-booking { display: inline-flex !important; align-items: center; justify-content: center; flex-shrink: 0; min-height: 42px; padding: 11px 22px; border-radius: 2px; font-size: .72rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
header nav > ul { gap: clamp(18px, 2.4vw, 36px); }
@media (max-width: 640px) {
 header nav { gap: 12px !important; }
 header nav > a img { max-width: 108px; height: auto; }
 header nav > div { gap: 10px !important; }
 .site-booking { min-height: 40px; padding: 10px 15px; font-size: .65rem; }
}
/* Local stories use layered midnight backgrounds and warm text accents. */
.local-hero-shell { background: #10172d; color: #f3efe3; padding-top: 12px; }
.local-hero-shell .local-hero { grid-template-columns: 1.12fr 1fr; gap: 70px; padding-block: 65px 85px; }
.local-hero-shell .local-kicker, .local-hero-shell .local-intro, .local-hero-shell .local-meta { color: #c9c3b6; }
.local-page .local-hero-shell h1 { font-size: clamp(3.3rem,5.15vw,5rem); line-height: 1.02; letter-spacing: -.05em; margin-block: 25px; }
.local-hero-shell h1 em { color: #d4b29d; font-weight: 400; }
.local-page .local-hero-shell .local-intro { font-size: .98rem; line-height: 1.85; max-width: 450px; }
.local-hero-shell .local-text-link { border-color: #b8b0a2; }
.local-page .local-hero-shell .local-button { color: #f3efe3; }
.local-hero-shell a:focus-visible { outline-color: #f3efe3; }
.local-hero-montage { position: relative; min-width: 0; padding: 0 0 65px 36px; }
.local-hero .local-photo-main { margin: 0; transform: rotate(2deg); }
.local-hero .local-photo-main img { height: 590px; width: 100%; object-position: center 34%; }
.local-hero .local-photo-main figcaption { color: #b8b0a2; font-size: .62rem; letter-spacing: .06em; text-align: right; padding-left: 42%; }
.local-hero .local-photo-detail { position: absolute; width: 43%; left: -35px; bottom: 0; transform: rotate(-6deg); margin: 0; padding: 8px 8px 0; background: #eee8dc; box-shadow: 0 14px 28px #0005; }
.local-hero .local-photo-detail img { width: 100%; height: 235px; object-fit: cover; }
.local-hero .local-photo-detail figcaption { padding: 10px 2px 12px; font-family: var(--font-display); font-size: .8rem; line-height: 1.3; font-style: italic; text-align: center; color: #44382d; }
.local-photo-seal { position: absolute; right: -15px; top: 52%; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 112px; height: 112px; background: #792a3b; color: #f3efe3; border-radius: 50%; transform: rotate(10deg); font-family: var(--font-display); font-size: 2rem; line-height: 1.2; }
.local-photo-seal small { margin-top: 7px; font-family: var(--font-body); font-size: .5rem; letter-spacing: .12em; text-transform: uppercase; }
.local-hero-foot { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 22px; border-top: 1px solid #b8b0a247; font-size: .67rem; text-transform: uppercase; letter-spacing: .12em; }
.local-hero-foot a { display: inline-flex; align-items: center; gap: 20px; }
.local-ritual-line { border-bottom: 1px solid #b8b0a247; }
.local-ritual-line > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 18px; padding-block: 25px; font-size: .65rem; text-transform: uppercase; letter-spacing: .16em; color: #b8b0a2; }
.local-story { grid-template-columns: 1fr .85fr; gap: 110px; padding-block: 110px; scroll-margin-top: 100px; }
.local-story figure { position: relative; margin: 0; }
.local-story figure::before { content: ''; position: absolute; inset: 22px -18px -20px 20px; border: 1px solid #b8b0a247; z-index: -1; }
.local-story img { height: 560px; }
.local-story figcaption { padding-top: 15px; font-size: .6rem; letter-spacing: .12em; color: #b8b0a2; text-transform: uppercase; }
.local-page .local-story-note { margin-top: 30px; padding-left: 22px; border-left: 2px solid #792a3b; color: #d4b29d; font-family: var(--font-display); font-size: 1.65rem; font-style: italic; line-height: 1.4; }
.local-band { padding-block: 75px; background: #192136; color: #f3efe3; border-block: 1px solid #b8b0a225; }
.local-band-grid { display: grid; grid-template-columns: .8fr 1fr; align-items: center; gap: 90px; }
.local-band figure { margin: 0; transform: rotate(-3deg); }
.local-band figure img { width: 100%; height: 460px; object-fit: cover; }
.local-band h2 { font-size: clamp(2.6rem,4vw,3.8rem); }
.local-page .local-band p { color: #c9c3b6; }
.local-page .local-band .local-kicker { color: #b8b0a2; }
.local-band .local-text-link { border-color: #b8b0a2; }
.local-band a:focus-visible { outline-color: #f3efe3; }
.local-band .local-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
.local-menu-intro { margin-top: 80px; }
.local-menu-intro h2 { font-size: clamp(3rem,4.8vw,4.4rem); line-height: 1.05; }
.local-menu-intro em, .local-faq h2 em, .local-location h2 em { font-weight: 400; color: #d4b29d; }
.local-menu .sante-food-menu { margin-top: 35px; }
.local-faq { display: grid; grid-template-columns: .85fr 1.3fr; gap: 90px; padding-block: 110px; }
.local-faq h2 { font-size: clamp(2.4rem,3.7vw,3.5rem); }
.local-faq > div:first-child > p:last-child { max-width: 300px; font-size: .9rem; }
.local-faq summary { display: flex; align-items: baseline; gap: 15px; list-style: none; padding-right: 0; font-size: .95rem; }
.local-faq summary::-webkit-details-marker { display: none; }
.local-faq-number { color: #b8b0a2; font-size: .6rem; letter-spacing: .1em; }
.local-faq-plus { align-self: center; flex-shrink: 0; margin-left: auto; transition: transform .3s; }
.local-faq details[open] .local-faq-plus { transform: rotate(45deg); }
.local-page .local-faq details p { padding-left: 31px; font-size: .92rem; margin-bottom: 0; }
.local-location { background: #1d2439; padding-block: 90px; }
.local-location-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 80px; }
.local-location h2 { font-size: clamp(3.5rem,5.3vw,5rem); line-height: 1; }
.local-opening { padding-left: 55px; border-left: 1px solid #b8b0a247; }
.local-opening > span { font-size: .65rem; text-transform: uppercase; letter-spacing: .16em; color: #b8b0a2; }
.local-opening strong { display: block; font-family: var(--font-display); font-size: clamp(4rem,8vw,7.5rem); font-weight: 400; line-height: 1.2; margin: 12px 0 20px; }
.local-opening p { font-size: .85rem; max-width: 280px; }
.local-opening p a { text-decoration: underline; text-underline-offset: 4px; }
@media (hover:hover) and (pointer:fine) {
 .local-hero-montage figure, .local-band figure { transition: transform .8s cubic-bezier(.2,.65,.3,1); }
 .local-hero-montage:hover .local-photo-main { transform: rotate(0); }
 .local-hero-montage:hover .local-photo-detail { transform: rotate(-3deg) translateY(-5px); }
 .local-band figure:hover { transform: rotate(0); }
 .local-text-link svg { transition: transform .35s; }
 .local-text-link:hover svg { transform: translateX(4px); }
}
@media (max-width:1000px) {
 .local-hero-shell .local-hero { gap: 35px; }
 .local-hero .local-photo-main img { height: 520px; }
 .local-hero .local-photo-detail img { height: 180px; }
 .local-story, .local-band-grid, .local-faq { gap: 45px; }
 .local-location-grid { gap: 35px; }
 .local-opening { padding-left: 30px; }
}
@media (max-width:700px) {
 .local-hero-shell .local-hero { grid-template-columns: 1fr; gap: 42px; padding-block: 40px 35px; }
 .local-page .local-hero-shell h1 { font-size: clamp(2.9rem,10.3vw,4rem); }
 .local-hero-montage { padding: 0 12px 60px 30px; }
 .local-hero .local-photo-main img { height: 460px; }
 .local-hero .local-photo-detail { left: 0; width: 43%; }
 .local-hero .local-photo-detail img { height: 175px; }
 .local-photo-seal { right: 5px; width: 94px; height: 94px; font-size: 1.7rem; }
 .local-hero-foot { font-size: .57rem; gap: 20px; }
 .local-hero-foot > span { max-width: 130px; }
 .local-hero-foot a { gap: 10px; }
 .local-ritual-line > div { font-size: .55rem; gap: 12px; }
 .local-story, .local-band-grid, .local-faq, .local-location-grid { grid-template-columns: 1fr; gap: 35px; }
 .local-story, .local-faq { padding-block: 65px; }
 .local-story figure { margin-right: 17px; }
 .local-story img { height: 450px; }
 .local-band { padding-block: 45px 55px; }
 .local-band figure { width: 80%; margin: 0 auto 10px; }
 .local-band figure img { height: 340px; }
 .local-menu-intro { margin-top: 65px; }
 .local-location { padding-block: 60px; }
 .local-opening { border-left: 0; border-top: 1px solid #b8b0a247; padding: 30px 0 0; }
 .local-opening strong { font-size: 5.7rem; }
}
@media (prefers-reduced-motion:reduce) {
 .local-hero-montage figure, .local-band figure, .local-faq-plus, .local-text-link svg { transition: none !important; }
}
/* Give the menu heading room even when there is no photographic cover. */
.sante-food-menu:not(:has(.editorial-menu-cover)) { padding-top: clamp(32px,4vw,52px); }
.local-page .sante-food-menu { background: #eee8dc; color: #26251f; box-shadow: 0 24px 70px #0002; }
.local-page .sante-food-menu .sante-menu-eyebrow, .local-page .sante-food-menu .sante-menu-category h4 { color: #792a3b; }
.local-page .sante-food-menu .sante-menu-category li p, .local-page .sante-food-menu .local-menu-note { color: #666054; }
@media print {
 .local-page main * { opacity: 1 !important; translate: none !important; filter: none !important; }
}
/* Weekly nights, composed as four typographic posters. */
#serate .sante-night-card { position: relative; min-width: 0; min-height: 450px; padding: 0; border: 1px solid #b8b0a23d; border-top: 0 !important; background: #1a2238; overflow: hidden; isolation: isolate; transition: translate .65s cubic-bezier(.2,.65,.3,1),border-color .5s,box-shadow .65s; }
#serate .sante-night-card::after { content: none; }
.sante-night-card::before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1; background: radial-gradient(ellipse at 85% 0%,#a3465840,transparent 70%),linear-gradient(155deg,#792a3b,#4b1b2d); opacity: 0; transition: opacity .65s; }
.sante-night-link { position: relative; display: flex; flex-direction: column; height: 100%; min-height: 450px; padding: 28px; color: #f3efe3; text-decoration: none; }
.sante-night-link::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: #a66570; transform-origin: left; transform: scaleX(.22); transition: transform .75s cubic-bezier(.2,.65,.3,1),background .5s; }
.sante-night-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 50px; }
.sante-night-top > span:first-child { padding: 6px 9px; border: 1px solid #b8b0a24d; font-size: .57rem; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.sante-night-number { font-family: var(--font-display); font-size: 1.35rem; font-style: italic; color: #d4b29d; }
.sante-night-art { position: absolute; top: 65px; right: -16px; width: 160px; height: 160px; color: #d4b29d; opacity: .12; transform: rotate(-12deg); transition: transform 1s cubic-bezier(.2,.65,.3,1),opacity .65s; pointer-events: none; }
.sante-night-body { position: relative; z-index: 1; flex: 1; }
#serate .sante-night-day { margin: 0 0 12px; color: #d4b29d; font-family: var(--font-display); font-style: italic; font-size: 1.35rem; letter-spacing: 0; }
#serate .sante-night-card h3 { font-family: var(--font-display); font-size: clamp(1.8rem,2.4vw,2.55rem); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; margin: 0 0 20px; transition: translate .65s cubic-bezier(.2,.65,.3,1); }
#serate .sante-night-description { color: #c9c3b6; font-size: .84rem; line-height: 1.8; margin: 0 0 32px; }
.sante-night-action { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 20px; margin-top: 15px; border-top: 1px solid #b8b0a247; }
.sante-night-action > span:first-child { font-family: var(--font-display); font-size: 1.13rem; font-style: italic; }
.sante-night-action small { display: block; margin-top: 5px; font-family: var(--font-body); color: #b8b0a2; font-size: .58rem; font-style: normal; letter-spacing: .06em; }
.sante-night-arrow { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border: 1px solid #b8b0a25c; border-radius: 50%; transition: background .4s,color .4s,transform .5s; }
.sante-night-link:focus-visible { outline: 2px solid #f3efe3; outline-offset: -5px; }
.sante-night-card:focus-within::before { opacity: 1; }
.sante-night-card:focus-within .sante-night-arrow { background: #f3efe3; color: #6f1d2c; }
@media (hover:hover) and (pointer:fine) {
 #serate .sante-night-card:hover { translate: 0 -8px; border-color: #c99478; box-shadow: 0 20px 35px #0004; }
 .sante-night-card:hover::before { opacity: 1; }
 .sante-night-card:hover .sante-night-link::before { transform: scaleX(1); background: #d4b29d; }
 .sante-night-card:hover .sante-night-art { transform: rotate(4deg) scale(1.12); opacity: .3; }
 #serate .sante-night-card:hover h3 { translate: 0 -4px; }
 #serate .sante-night-card:hover .sante-night-description { color: #f0e5dc; }
 .sante-night-card:hover .sante-night-action small { color: #dfc6b8; }
 .sante-night-card:hover .sante-night-arrow { transform: rotate(-35deg); background: #f3efe3; color: #6f1d2c; }
}
@media (max-width:767px) {
 #serate .sante-night-card { padding: 0; min-height: 410px; }
 .sante-night-link { min-height: 410px; padding: 28px; }
 .sante-night-top { margin-bottom: 42px; }
 #serate .sante-night-card h3 { font-size: 2.5rem; }
 .sante-night-card::before { opacity: .25; }
}
@media (prefers-reduced-motion:reduce) {
 #serate .sante-night-card,.sante-night-card::before,.sante-night-link::before,.sante-night-art,#serate .sante-night-card h3,.sante-night-arrow { transition: none !important; }
 #serate .sante-night-card:hover,#serate .sante-night-card:hover h3 { translate: none; }
}
/* Desktop event layout: two rows of wide, compact cards. */
@media (min-width:768px) {
 #serate .editorial-event-rail { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 24px !important; }
 #serate .sante-night-card { min-height: 320px; }
 .sante-night-link { min-height: 320px; padding: 28px 30px; }
 .sante-night-top { margin-bottom: 22px; }
 #serate .sante-night-description { margin-bottom: 18px; }
 .sante-night-art { top: 60px; right: 25px; width: 150px; height: 150px; }
}
@media (min-width:1024px) {
 .sante-night-link { display: grid; grid-template-columns: minmax(0,1fr) 126px; grid-template-rows: auto 1fr; column-gap: 26px; min-height: 310px; }
 #serate .sante-night-card { min-height: 310px; }
 .sante-night-top { grid-column: 1 / -1; margin-bottom: 20px; }
 .sante-night-body { align-self: center; }
 #serate .sante-night-card h3 { font-size: clamp(2rem,2.6vw,2.55rem); margin-bottom: 14px; }
 #serate .sante-night-description { margin-bottom: 0; }
 .sante-night-action { align-self: stretch; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 5px 0 0 22px; margin-top: 0; border-top: 0; border-left: 1px solid #b8b0a247; }
 .sante-night-action > span:first-child { line-height: 1.3; }
 .sante-night-action small { margin-top: 10px; line-height: 1.7; }
 .sante-night-arrow { margin-top: 18px; }
 .sante-night-art { right: 125px; top: 70px; }
}
