/* Shared photographic stories and the newsletter-only footer. */
/* Opening-weekend invitation: one quiet offer, no public price. */
.s_opening_offer {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(0,1fr);
    align-items: center;
    margin: 0;
    padding: 0;
    background: #2b2926;
    color: #f7f6f2;
    overflow: hidden;
}
.s_opening_offer .s_opening_offer_visual { margin: 0; min-width: 0; padding: 0; align-self: center; }
.s_opening_offer .s_opening_offer_visual img { display: block; width: 100%; height: auto; max-width: none; object-fit: contain; }
.s_opening_offer .s_opening_offer_copy { min-width: 0; padding: clamp(28px,3.3vw,48px); }
.s_opening_offer .s_opening_offer_copy p { margin: 0; color: #e5e0d8; font: 450 13px/1.8 Montserrat, "Bezzera Sans", sans-serif; }
.s_opening_offer .s_opening_offer_eyebrow { color: #d3b471; font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: .14em; text-transform: uppercase; }
.s_opening_offer .s_opening_offer_dates { margin-top: 9px; color: #f7f6f2; font-size: 15px; font-weight: 550; letter-spacing: .025em; }
.s_opening_offer h2 { margin: 23px 0 17px; color: #f7f6f2; font: 500 clamp(34px,3.4vw,43px)/1.08 "Cormorant Garamond", "Bezzera Serif", Georgia, serif; letter-spacing: -.015em; text-transform: none; }
.s_opening_offer h2 span { display: block; color: #d3b471; }
.s_opening_offer .s_opening_offer_benefits { display: grid; gap: 9px; list-style: none; margin: 22px 0; padding: 18px 0; border-top: 1px solid #555048; border-bottom: 1px solid #555048; }
.s_opening_offer .s_opening_offer_benefits li { position: relative; margin: 0; padding: 0 0 0 17px; color: #f7f6f2; font: 500 13px/1.6 Montserrat, "Bezzera Sans", sans-serif; }
.s_opening_offer .s_opening_offer_benefits li::before { content: ""; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; background: #b58a32; border-radius: 50%; }
.s_opening_offer .s_opening_offer_teaser { font-size: 12px; }
.s_opening_offer .s_opening_offer_link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin-top: 20px; padding: 10px 18px; border: 1px solid #d3b471; border-radius: 0; background: transparent; color: #f7f6f2; font: 550 12px/1.5 Montserrat, "Bezzera Sans", sans-serif; text-align: center; text-decoration: none; letter-spacing: .02em; }
.s_opening_offer .s_opening_offer_link:hover { background: #3c3831; color: #fff; border-color: #e4cc98; }
.s_opening_offer .s_opening_offer_link:focus-visible { outline: 2px solid #e4cc98; outline-offset: 4px; }
.s_opening_offer .s_opening_offer_copy .s_opening_offer_note { margin-top: 20px; color: #bfb8ad; font-size: 10px; line-height: 1.75; }
@media (max-width: 900px) {
    .s_opening_offer { grid-template-columns: minmax(0,1fr); }
    .s_opening_offer .s_opening_offer_copy { padding: 32px 24px 36px; }
    .s_opening_offer h2 { font-size: 36px; }
}
@container homepage (max-width: 900px) {
    .s_opening_offer { grid-template-columns: minmax(0,1fr); }
    .s_opening_offer .s_opening_offer_copy { padding: 32px 24px 36px; }
    .s_opening_offer h2 { font-size: 36px; }
}
.s_home_photos {
    display: grid;
    grid-template-columns: 3fr 2fr;
    align-items: start;
    gap: 32px;
    padding: 55px 44px;
    background: var(--kleur-papier, var(--paper, #f7f6f2));
}
.s_home_photo { margin: 0; min-width: 0; }
.s_home_photo_media { height: clamp(280px,40vw,500px); height: clamp(280px,40cqi,500px); overflow: hidden; background: #ece9e1; }
.s_home_photo_media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.s_home_photo figcaption { margin-top: 15px; color: #2b2926; font: 500 28px/1.2 "Cormorant Garamond", "Bezzera Serif", Georgia, serif; }
.s_home_photo figcaption p { max-width: 520px; margin: 10px 0 0; color: #66615a; font: 450 13px/1.8 Montserrat, "Bezzera Sans", sans-serif; }
.s_newsletter_section {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,1fr);
    align-items: center;
    gap: 44px;
    padding: 44px;
    background: var(--kleur-papier, var(--paper, #f7f6f2));
    border-top: 1px solid var(--kleur-lijn, var(--line, #dedad3));
}
.s_newsletter_section h2 { margin: 0; text-transform: none; color: #2b2926; font: 500 36px/1.15 "Cormorant Garamond", "Bezzera Serif", Georgia, serif; }
.s_newsletter_section .s_newsletter_intro p { max-width: 430px; margin: 13px 0 0; color: #66615a; font-size: 13px; line-height: 1.8; }
.s_newsletter_section .s_footer_newsletter { display: flex; align-items: flex-end; gap: 12px; min-width: 0; margin: 0; padding: 0; }
.s_newsletter_section .s_newsletter_field { display: block; flex: 1; min-width: 0; }
.s_newsletter_section .s_newsletter_field span { display: block; margin-bottom: 7px; color: #66615a; font-size: 11px; }
.s_newsletter_section .s_footer_newsletter input { display: block; width: 100%; max-width: none; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #c5c0b7; border-radius: 2px; background: #fff; color: #2b2926; font: inherit; font-size: 16px; }
.s_newsletter_section .s_footer_newsletter .s_footer_subscribe { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: auto; max-width: none; height: 44px; min-width: 112px; margin: 0; padding: 9px 19px; border: 1px solid #b58a32; border-radius: 2px; background: #b58a32; color: #fff; font: inherit; font-size: 12px; font-weight: 550; letter-spacing: .035em; text-transform: uppercase; cursor: pointer; }
.s_newsletter_section .s_footer_newsletter .s_footer_subscribe:hover { background: #a87b28; border-color: #a87b28; }
.s_newsletter_status { margin: 0; padding: 0 44px 24px; color: #66615a; font-size: 12px; }
@media (max-width: 760px) {
    .s_home_photos { grid-template-columns: minmax(0,1fr); gap: 29px; padding: 36px 24px; }
    .s_home_photo_media { height: auto; aspect-ratio: 1 / 1; }
    .s_home_photo figcaption { font-size: 25px; }
    .s_newsletter_section { grid-template-columns: minmax(0,1fr); gap: 25px; padding: 36px 24px; }
    .s_newsletter_section h2 { font-size: 32px; }
    .s_newsletter_section .s_footer_newsletter { flex-wrap: wrap; }
    .s_newsletter_section .s_newsletter_field { flex: 1 1 100%; }
    .s_newsletter_section .s_footer_newsletter .s_footer_subscribe { min-width: 148px; }
    .s_newsletter_status { padding: 0 24px 22px; }
}
@container homepage (max-width: 640px) {
    .s_home_photos { grid-template-columns: minmax(0,1fr); gap: 29px; padding: 36px 24px; }
    .s_home_photo_media { height: auto; aspect-ratio: 1 / 1; }
    .s_home_photo figcaption { font-size: 25px; }
    .s_newsletter_section { grid-template-columns: minmax(0,1fr); gap: 25px; padding: 36px 24px; }
    .s_newsletter_section h2 { font-size: 32px; }
    .s_newsletter_section .s_footer_newsletter { flex-wrap: wrap; }
    .s_newsletter_section .s_newsletter_field { flex: 1 1 100%; }
    .s_newsletter_section .s_footer_newsletter .s_footer_subscribe { min-width: 148px; }
    .s_newsletter_status { padding: 0 24px 22px; }
}
