:root{--gold:#d6b174;--red:#eb1039;--blue:#006cac}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080808;color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;min-height:95px;display:flex;align-items:center;gap:28px;padding:10px 10% 10px 6.5%;border-bottom:1px solid #ffffff50;background:#00000010;transition:background .25s,box-shadow .25s}.site-header.is-scrolled{background:#000;box-shadow:0 2px 20px #0003}.brand{margin-right:auto;flex-shrink:0}.brand img{display:block;max-width:300px;width:100%;max-height:75px;object-fit:contain}.header-navigation{display:flex;align-items:center;gap:50px}.primary-nav{list-style:none;display:flex;align-items:center;gap:36px;padding:0;margin:0}.nav-item{position:relative}.nav-item-heading{display:flex;align-items:center;min-height:74px;gap:4px}.nav-item-heading>a{font-size:14px;white-space:nowrap}.dropdown-toggle{background:none;border:0;color:#fff;padding:8px 2px}.dropdown-menu{position:absolute;top:100%;left:-22px;min-width:240px;margin:0;padding:20px 26px;list-style:none;background:#000;visibility:hidden;opacity:0;transform:translateY(8px);transition:.2s}.dropdown-menu a{display:block;font-size:13px;color:#d6d6d6;padding:8px 0;line-height:1.5}.dropdown-menu a:hover{color:var(--gold)}.nav-item:hover>.dropdown-menu,.nav-item:focus-within>.dropdown-menu,.nav-item.is-open>.dropdown-menu{visibility:visible;opacity:1;transform:none}.header-contact{display:flex;align-items:center;gap:26px}.phone{font-weight:500;font-size:15px;letter-spacing:1px;white-space:nowrap}.email{display:flex;align-items:center;font-size:14px}.header-cta{position:absolute;top:0;right:1%;width:150px;min-height:146px;background:#462333;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:24px 22px;gap:10px}.header-cta>span{font-family:'Arial Narrow',Arial,sans-serif;font-size:24px;letter-spacing:5px;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere}.header-cta small{font-size:12px;line-height:1.4;letter-spacing:1px}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:100svh;max-height:1200px;overflow:hidden}.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;pointer-events:none}.slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.slide-image,.slide-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.slide-shade{background:linear-gradient(90deg,#0008,#0003),linear-gradient(0deg,#0003,#0002)}.slide-content{position:relative;margin:auto;width:min(1200px,80%);padding:clamp(300px,24vh,250px) 0 120px}.sub-heading{font-family:'Brush Script MT','Segoe Script',cursive;font-size:clamp(36px,4vw,72px);color:var(--gold);font-style:italic;margin:0 0 20px;line-height:1.3}.slide h1{max-width:850px;font-size:clamp(42px,4.6vw,86px);font-weight:700;font-style:italic;line-height:1.12;letter-spacing:-1.5px;margin:0 0 35px;overflow-wrap:anywhere}.slide-description{font-size:clamp(16px,1.1vw,20px);max-width:777px;line-height:1.6;margin-bottom:30px}.slide-cta{display:inline-flex;align-items:center;position:relative;min-height:115px;padding:0 35px 0 10px;font-family:'Brush Script MT','Segoe Script',cursive;font-style:italic;font-size:clamp(27px,2.6vw,44px)}.slide-cta>span:first-child{position:relative;z-index:1}.cta-arrow{width:115px;height:115px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font:36px Arial;margin-left:-10px}.slider-controls{position:absolute;z-index:5;bottom:30px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px}.slider-controls>button{border:1px solid #ffffff70;color:#fff;background:#0005;border-radius:50%;width:40px;height:40px}.slider-dots{display:flex;gap:10px}.slider-dots button{border:1px solid #fff;background:transparent;width:10px;height:10px;padding:0;border-radius:50%}.slider-dots button.is-active{background:#fff}.site-footer{min-height:170px;padding:55px 7%;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer>a:first-child{font:24px Georgia,serif;letter-spacing:2px}.site-footer span{display:block;font:12px Arial;letter-spacing:1px;margin-top:8px;color:#aaa}
@media(min-width:1101px) and (max-width:1550px){.site-header{gap:20px;padding-left:4%;padding-right:155px}.brand img{max-width:230px}.primary-nav{gap:20px}.header-navigation{gap:25px}.header-contact{gap:18px}.phone{font-size:14px}.header-cta{width:125px;min-height:135px}.header-cta>span{font-size:21px;letter-spacing:4px}}
@media(max-width:1100px){.site-header{min-height:85px;padding:10px 155px 10px 24px}.brand img{max-width:230px;max-height:60px}.header-cta{width:115px;min-height:110px;right:12px;padding:16px}.header-cta>span{font-size:19px;letter-spacing:3px}.menu-toggle{display:flex;flex-direction:column;gap:5px;width:42px;padding:10px;background:transparent;border:0}.menu-toggle span{height:2px;width:23px;background:#fff}.header-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#000;padding:24px;max-height:calc(100svh - 110px);overflow:auto;align-items:stretch;gap:24px}.site-header.menu-open .header-navigation{display:flex;flex-direction:column}.primary-nav{flex-direction:column;align-items:stretch;gap:0}.nav-item-heading{min-height:48px;justify-content:space-between}.dropdown-menu{position:static;display:none;visibility:visible;opacity:1;transform:none;padding:6px 20px 16px;border-left:1px solid #ffffff40}.nav-item.is-open>.dropdown-menu{display:block}.header-contact{flex-wrap:wrap}.hero{min-height:700px;max-height:none}.slide-content{width:85%;padding-top:180px}.slide h1{max-width:750px}.site-footer{padding:40px 7%}}
@media(max-width:600px){.site-header{padding-left:16px;padding-right:110px;gap:8px}.brand img{max-width:160px}.header-cta{right:0;width:95px;min-height:100px;padding:14px 8px}.header-cta>span{font-size:16px;letter-spacing:2px}.header-cta small{font-size:10px}.slide-content{width:86%;padding-top:165px;padding-bottom:100px}.sub-heading{font-size:34px;margin-bottom:18px}.slide h1{font-size:42px;letter-spacing:-1px;margin-bottom:24px}.slide-description{font-size:16px}.slide-cta{font-size:28px;min-height:80px}.cta-arrow{height:80px;width:80px}.hero{height:100svh;min-height:740px}.slider-controls{bottom:22px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Consistent typography across the desktop, sticky and mobile header. */
.slider-controls { top: 50%; right: 28px; bottom: auto; left: auto; transform: translateY(-50%); }
.slider-dots { flex-direction: column; gap: 16px; }
.slider-dots button { width: 12px; height: 12px; }
@media (max-width: 600px) { .slider-controls { right: 12px; } }
.site-header, .site-header button, .site-header .header-cta > span { font-family: 'Poppins', sans-serif; }

/* Dark image overlay and serif title treatment inspired by the slider reference. */
.slide-shade {
    background: linear-gradient(90deg, #1b1b1bf5 0%, #1b1b1bd9 35%, #3232328c 70%, #32323266 100%),
                linear-gradient(0deg, #1b1b1b99 0%, #32323200 65%);
}
.slide-content { font-family: 'Poppins', sans-serif; }
.slide .sub-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(11px, 1vw, 14px);
    font-style: normal;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #eac396;
    margin-bottom: 28px;
}
.slide .sub-heading::before { content: ''; width: 20px; height: 2px; flex-shrink: 0; background: #eac396; }
.slide h1 {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(40px, 4.6vw, 76px);
    font-weight: 600;
    font-style: normal;
    line-height: 1.12;
    letter-spacing: 0;
    margin-bottom: 22px;
}
.slide h1 .title-highlight { display: block; color: #eac396; font-style: italic; }
.slide .slide-description { font-size: clamp(14px, 1.1vw, 15px); font-weight: 400; }
.slide .slide-cta {
    gap: 0;
    min-height: 115px;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-family: 'Mr Dafoe', 'Brush Script MT', cursive;
    font-size: clamp(36px, 3.2vw, 48px);
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
    box-shadow: none;
}
.slide .slide-cta > span:first-child { margin-right: -18px; }
.slide .cta-arrow {
    display: grid;
    place-items: center;
    width: 115px;
    height: 115px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #eac396;
    color: #462333;
    margin-left: 0;
    transition: background .2s;
}
.slide .slide-cta:hover .cta-arrow { background: #f0b46f; }
@media (max-width: 600px) {
    .slide .sub-heading { letter-spacing: 2px; gap: 10px; }
    .slide .sub-heading::before { width: 28px; }
    .slide h1 { font-size: clamp(36px, 9vw, 48px); }
    .slide .slide-cta { min-height: 88px; padding: 0; font-size: 36px; }
    .slide .cta-arrow { width: 88px; height: 88px; }
}

/* Homepage Layout 1: blend the hero into the dark editorial section. */
.hero::after {
    content: '';
    position: absolute;
    z-index: 2;
    inset: auto 0 0;
    height: clamp(130px, 22vh, 240px);
    background: linear-gradient(180deg, #11111100 0%, #111111b3 60%, #111 100%);
    pointer-events: none;
}
.homepage-layout-one {
    background: linear-gradient(180deg, #111 0%, #111 35%, #323232 100%);
    color: #eac396;
    font-family: 'Poppins', sans-serif;
}
.layout-one-heading-strip { display: flex; border-block: 1px solid #ffffff26; }
.layout-one-heading-strip p {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 8px 16px;
    color: #eac396;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    text-transform: uppercase;
}
.layout-one-heading-strip p + p { border-left: 1px solid #ffffff26; }
.layout-one-heading-strip span { font: 32px/1 Georgia, serif; flex-shrink: 0; }
.layout-one-composition {
    display: grid;
    grid-template-columns: 36% 30% 34%;
    align-items: start;
    padding-block: 75px 70px;
}
.layout-one-left { padding: 300px 30px 0 4px; }
.layout-one-left-frame { position: relative; width: 62%; max-width: 310px; margin: 0; }
.layout-one-left-frame img { display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.layout-one-left-frame::before,
.layout-one-left-frame::after { content: ''; position: absolute; width: 85px; height: 85px; border-top: 1px solid #eac39666; border-right: 1px solid #eac39666; border-top-right-radius: 14px; right: -9px; top: -9px; pointer-events: none; }
.layout-one-left-frame::after { top: auto; bottom: -9px; transform: scaleY(-1); }
.frame-star { position: absolute; right: -20px; color: #eac396; font: 28px/1 Georgia, serif; }
.frame-star-top { top: -23px; }
.frame-star-bottom { bottom: -23px; }
.layout-one-copy { padding: 0 35px 0 20px; }
.layout-one-logo { display: block; max-width: 180px; width: 50%; height: 160px; object-fit: contain; object-position: left center; margin-bottom: 22px; }
.layout-one-copy h2 { margin: 0; font: 500 clamp(30px, 2.6vw, 48px)/1.1 'Cormorant Garamond', Georgia, serif; text-transform: uppercase; overflow-wrap: anywhere; }
.layout-one-subheading { margin: 0; font: 400 clamp(28px, 2.5vw, 46px)/1.35 'Mr Dafoe', 'Brush Script MT', cursive; }
.layout-one-bullets { list-style: none; margin: 42px 0 0; padding: 0; font-size: 13px; font-weight: 400; line-height: 1.9; }
.layout-one-bullets li { position: relative; padding-left: 20px; margin-bottom: 5px; overflow-wrap: anywhere; }
.layout-one-bullets li::before { content: '✧'; position: absolute; left: 0; top: 0; }
.layout-one-button { display: inline-block; margin-top: 52px; padding-bottom: 5px; border-bottom: 1px solid #eac39666; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; overflow-wrap: anywhere; }
.layout-one-button:hover { color: #fff; border-color: #fff; }
.layout-one-right { padding-top: 25px; }
.layout-one-right img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
@media (max-width: 1100px) {
    .layout-one-composition { grid-template-columns: 24% 43% 33%; padding-block: 60px; }
    .layout-one-left { padding-top: 260px; padding-right: 20px; }
    .layout-one-left-frame { width: 100%; }
    .layout-one-copy { padding-inline: 20px; }
    .layout-one-heading-strip p { font-size: 11px; }
}
@media (max-width: 700px) {
    .layout-one-heading-strip { flex-direction: column; }
    .layout-one-heading-strip p + p { border-left: 0; border-top: 1px solid #ffffff26; }
    .layout-one-composition { grid-template-columns: 1fr 1fr; gap: 35px 24px; padding: 45px 24px 60px; }
    .layout-one-copy { grid-column: 1 / -1; grid-row: 1; padding: 0; }
    .layout-one-logo { height: 120px; width: 140px; }
    .layout-one-copy h2 { font-size: 38px; }
    .layout-one-subheading { font-size: 36px; }
    .layout-one-bullets { margin-top: 28px; }
    .layout-one-button { margin-top: 30px; }
    .layout-one-left { padding: 55px 12px 0 0; }
    .layout-one-right { padding: 0; }
    .layout-one-right img { aspect-ratio: 2 / 3; }
}

/* Homepage Layout 2: three arched portrait cards on a warm peach background. */
.homepage-layout-two { background: #eac396; color: #244b4d; padding: 135px 32px 100px; font-family: 'Poppins', sans-serif; }
.layout-two-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; max-width: 1110px; margin: 0 auto; }
.layout-two-image-wrap { position: relative; }
.layout-two-image { display: block; width: 100%; aspect-ratio: 335 / 400; object-fit: cover; border-radius: 50% 50% 0 0 / 42% 42% 0 0; }
.layout-two-card h2 { margin: 50px 0 24px; text-align: center; font: 500 clamp(28px, 2.2vw, 36px)/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.layout-two-card p { margin: 0; font-size: 14px; font-weight: 400; line-height: 2.05; white-space: pre-line; overflow-wrap: anywhere; }
.layout-two-sparkles { position: absolute; right: 8px; top: 5px; width: 80px; height: 90px; color: #9b7157; pointer-events: none; }
.layout-two-sparkles span { position: absolute; font: 48px/1 Georgia, serif; }
.layout-two-sparkles span:nth-child(1) { top: 0; left: 0; }
.layout-two-sparkles span:nth-child(2) { top: 38px; left: 42px; }
.layout-two-sparkles span:nth-child(3) { top: -3px; right: 0; font-size: 30px; }
@media (max-width: 1000px) { .homepage-layout-two { padding: 85px 28px 75px; } .layout-two-grid { gap: 28px; } .layout-two-card h2 { margin-top: 32px; } }
@media (max-width: 700px) { .homepage-layout-two { padding: 60px 28px; } .layout-two-grid { grid-template-columns: 1fr; max-width: 380px; gap: 50px; } .layout-two-card h2 { font-size: 34px; margin: 28px 0 18px; } }

/* Homepage Layout 3: centered introduction on a warm cream surface. */
.homepage-layout-three { background: #faf6eb; color: #141414; padding: 105px 24px 90px; text-align: center; }
.layout-three-copy { max-width: 620px; margin: 0 auto; }
.layout-three-subheading { margin: 0 0 24px; color: #79571d; font: 400 11px/1.7 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.layout-three-subheading::after { content: ''; display: block; width: 58px; height: 2px; margin: 10px auto 0; background: #8a6a27; }
.layout-three-copy h2 { margin: 0 0 4px; font: 500 clamp(34px, 3vw, 40px)/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.layout-three-content { margin: 0; font: 400 clamp(14px, 1.1vw, 15px)/1.85 'Poppins', sans-serif; color: #3e3933; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 700px) { .homepage-layout-three { padding: 65px 24px; } .layout-three-subheading { letter-spacing: 3px; } .layout-three-copy h2 { margin-bottom: 12px; } }

/* Homepage Layout 4: burgundy introduction with four evenly spaced statistics. */
.homepage-layout-four { background: #462333; color: #fff; padding: 58px 28px 64px; text-align: center; font-family: 'Poppins', sans-serif; }
.layout-four-inner { max-width: 1260px; margin: 0 auto; }
.layout-four-inner h2 { margin: 0 0 8px; font-size: clamp(28px, 2.3vw, 40px); line-height: 1.3; font-weight: 600; font-style: italic; overflow-wrap: anywhere; }
.layout-four-content { max-width: 1050px; margin: 0 auto; font-size: 16px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.layout-four-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin-top: 36px; }
.layout-four-value { margin: 0 0 2px; font-size: clamp(44px, 4.5vw, 72px); line-height: 1.2; font-weight: 400; overflow-wrap: anywhere; }
.layout-four-label { margin: 0; font-size: 13px; line-height: 1.6; font-weight: 400; text-transform: uppercase; overflow-wrap: anywhere; }
@media (max-width: 800px) { .layout-four-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; } .layout-four-content { font-size: 14px; } }
@media (max-width: 420px) { .homepage-layout-four { padding: 45px 20px; } .layout-four-grid { gap: 28px 14px; } .layout-four-label { font-size: 11px; } .layout-four-value { font-size: 42px; } }

/* Homepage Layout 5: alternating navy reviews and separate event photographs. */
.homepage-layout-five { padding: 32px 28px 42px; background: #fff; color: #102d4c; font-family: 'Poppins', sans-serif; }
.layout-five-inner { max-width: 1320px; margin: 0 auto; }
.layout-five-heading { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 42px; }
.layout-five-heading h2 { margin: 0; font: 600 clamp(28px, 2.8vw, 40px)/1.25 'Poppins', sans-serif; overflow-wrap: anywhere; }
.layout-five-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; border: 1px solid #462333; padding: 15px 24px; font-size: 12px; color: #462333; flex-shrink: 0; max-width: 100%; overflow-wrap: anywhere; transition: background .2s, color .2s; }
.layout-five-button:hover { background: #462333; color: #fff; }
.layout-five-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.client-speak { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.client-speak:nth-child(2) { flex-direction: column-reverse; }
.client-speak-box { padding: 22px; border: 1px solid #46233366; border-radius: 8px; background: #462333; color: #fff; }
.client-speak-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.client-stars { display: inline-flex; gap: 2px; color: #ffffff40; font-size: 18px; line-height: 1; }
.client-stars .is-filled { color: #eac396; }
.client-google { display: inline-flex; flex-shrink: 0; background: #fff; border-radius: 50%; padding: 2px; }
.client-google svg { width: 14px; height: 14px; }
.client-speak blockquote { margin: 18px 0; font-size: 13px; line-height: 1.9; color: #fff; white-space: pre-line; overflow-wrap: anywhere; }
.client-speak blockquote::first-line { font-size: 17px; }
.client-identity { display: flex; align-items: center; gap: 10px; }
.client-identity img { width: 36px; height: 36px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.client-identity h3 { margin: 0; font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
.client-function-image { width: 100%; margin: 0; aspect-ratio: 427 / 374; object-fit: cover; display: block; border-radius: 8px; }
.client-speak:nth-child(2) .client-function-image { aspect-ratio: 427 / 356; }
@media (max-width: 1000px) { .client-speak-box { padding: 18px; } .layout-five-heading h2 { font-size: 30px; } }
@media (max-width: 750px) { .homepage-layout-five { padding: 40px 24px; } .layout-five-heading { align-items: flex-start; flex-direction: column; gap: 22px; margin-bottom: 30px; } .layout-five-grid { grid-template-columns: 1fr; gap: 32px; max-width: 480px; margin: 0 auto; } .client-speak-box { padding: 22px; } .client-speak:nth-child(2) { flex-direction: column; } }

/* Homepage Layout 6: peach gallery with a large center portrait. */
.homepage-layout-six { padding: 65px 28px 90px; background: #eac396; color: #244b4d; }
.layout-six-inner { position: relative; max-width: 1110px; margin: 0 auto; }
.layout-six-heading { position: relative; min-height: 120px; text-align: center; }
.layout-six-heading h2 { margin: 0; color: #f2dcaf; font: 500 clamp(58px, 8vw, 150px)/1 'Cormorant Garamond', Georgia, serif; text-transform: uppercase; overflow-wrap: anywhere; }
.layout-six-heading p { position: relative; z-index: 1; margin: -65px 0 0; padding-bottom: 26px; font: 400 clamp(30px, 2.8vw, 44px)/1.3 'Mr Dafoe', 'Brush Script MT', cursive; }
.layout-six-viewport { position: relative; overflow: hidden; height: clamp(360px, 38vw, 520px); }
.layout-six-track { position: relative; height: 100%; }
.layout-six-image { position: absolute; top: 11%; left: 0; width: 28%; height: 89%; margin: 0; transition: left .7s ease, width .7s ease, top .7s ease, height .7s ease, opacity .5s; }
.layout-six-image:nth-child(2) { top: 0; left: 33%; width: 34%; height: 100%; }
.layout-six-image:nth-child(3) { left: 72%; }
.layout-six-image:nth-child(n+4) { visibility: hidden; }
.layout-six-image[data-slot] { visibility: visible; }
.layout-six-image[data-slot="left"] { left: 0; top: 11%; width: 28%; height: 89%; opacity: 1; }
.layout-six-image[data-slot="center"] { left: 33%; top: 0; width: 34%; height: 100%; opacity: 1; }
.layout-six-image[data-slot="right"] { left: 72%; top: 11%; width: 28%; height: 89%; opacity: 1; }
.layout-six-image[data-slot="hidden"] { left: 110%; opacity: 0; visibility: hidden; pointer-events: none; }
.layout-six-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.layout-six-image figcaption { position: absolute; inset: auto 0 0; padding: 50px 20px 22px; background: linear-gradient(transparent, #1b1b1bdb); color: #fff; font: 500 24px/1.3 'Cormorant Garamond', Georgia, serif; opacity: 0; transform: translateY(10px); transition: opacity .2s, transform .2s; overflow-wrap: anywhere; }
.layout-six-image:hover figcaption, .layout-six-image:focus figcaption { opacity: 1; transform: none; }
.layout-six-image:focus-visible { outline: 2px solid #244b4d; outline-offset: -3px; }
.layout-six-controls { display: flex; gap: 12px; min-height: 44px; padding-top: 24px; }
.layout-six-controls button { display: grid; place-items: center; width: 24px; height: 30px; border: 0; padding: 0; background: transparent; color: #462333; font: 300 30px/1 Georgia, serif; }
.layout-six-decoration { position: absolute; bottom: -35px; right: -45px; color: #9b7157; font: 48px/1 Georgia, serif; letter-spacing: 6px; }
.layout-six-decoration span { position: relative; top: 30px; }
@media (max-width: 1200px) { .layout-six-decoration { right: 0; } }
@media (max-width: 700px) { .homepage-layout-six { padding: 45px 20px 75px; } .layout-six-heading { min-height: 100px; } .layout-six-heading h2 { font-size: clamp(42px, 12vw, 84px); } .layout-six-heading p { margin-top: -30px; padding-bottom: 20px; font-size: 30px; } .layout-six-viewport { height: 430px; } .layout-six-image[data-slot="center"] { left: 10%; width: 80%; } .layout-six-image[data-slot="left"] { left: -82%; width: 80%; } .layout-six-image[data-slot="right"] { left: 102%; width: 80%; } .layout-six-controls { padding-top: 18px; } .layout-six-image figcaption { opacity: 1; transform: none; } }
@media (hover: none) { .layout-six-image figcaption { opacity: 1; transform: none; } }

/* Footer: centered booking invitation above logo, navigation and contact columns. */
.website-footer { position: relative; background: #0b0a0f; color: #dedbd4; font-family: 'Poppins', sans-serif; }
.website-footer a:hover { color: #eac396; }
.footer-top { text-align: center; padding: 36px 24px 30px; background: radial-gradient(ellipse at top, #1b1810 0%, #0b0a0f 80%); border-bottom: 1px solid #c5a24726; }
.footer-top h2 { margin: 0 0 0; color: #fff; font: 500 clamp(36px, 3.4vw, 52px)/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.footer-top::before { content: ''; display: block; width: 58px; height: 2px; background: #eac396; margin: 0 auto 22px; }
.footer-top-description { max-width: 780px; margin: 5px auto 28px; color: #eac396; font-size: 16px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.footer-top-actions { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.footer-top-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 51px; padding: 14px 28px; border: 1px solid #eac396; font-size: 11px; line-height: 1.5; letter-spacing: 2px; text-transform: uppercase; max-width: 100%; overflow-wrap: anywhere; }
.footer-book-button { background: #eac396; color: #080808; }
.website-footer .footer-book-button:hover { background: #eac396; color: #080808; }
.footer-call-button { color: #eac396; }
.footer-top-note { margin: 24px auto 0; max-width: 850px; color: #eac396; font-size: 12px; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.footer-main { max-width: 1250px; margin: 0 auto; padding: 30px 24px 28px; display: grid; grid-template-columns: 2.5fr 1fr 1fr 1fr 2fr; gap: 32px; align-items: start; }
.footer-brand { text-align: center; }
.footer-brand img { display: block; max-width: 210px; width: 100%; max-height: 130px; object-fit: contain; margin: 0 auto 12px; }
.footer-brand p { margin: 0; font-size: 11px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.footer-navigation { padding-top: 26px; }
.footer-navigation ul { list-style: none; margin: 0; padding: 0; }
.footer-navigation li { margin-bottom: 9px; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.footer-contact { padding-top: 12px; font-size: 12px; line-height: 1.9; overflow-wrap: anywhere; }
.footer-contact h3 { margin: 0 0 8px; color: #eac396; font-size: 10px; letter-spacing: 2px; font-weight: 500; text-transform: uppercase; }
.footer-contact p { margin: 0 0 7px; }
.footer-address { white-space: pre-line; }
.footer-contact > a { display: block; }
.footer-socials { display: flex; gap: 14px; margin-top: 10px; }
.footer-socials a { display: inline-flex; }
.footer-socials svg { width: 20px; height: 20px; }
.footer-bottom { max-width: 1024px; margin: 0 auto; border-top: 1px solid #c5a24733; padding: 20px 0 24px; color: #96918a; font-size: 10px; }
.footer-back-top { position: absolute; bottom: 16px; right: 20px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #c5a247; color: #0b0a0f; }
.footer-back-top svg { width: 20px; height: 20px; }
.footer-unconfigured { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 24px; max-width: 1100px; margin: auto; padding: 40px 24px; }
@media (max-width: 1100px) { .footer-main { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px; } .footer-contact { grid-column: 2 / -1; padding-top: 0; } .footer-bottom { margin-inline: 24px; padding-right: 32px; } }
@media (max-width: 650px) { .footer-top { padding-block: 40px 30px; } .footer-top-description { font-size: 14px; } .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-block: 32px; gap: 24px 18px; } .footer-brand { grid-column: 1 / -1; max-width: 330px; margin: auto; } .footer-navigation { padding-top: 0; } .footer-contact { grid-column: 1 / -1; } .footer-navigation li { font-size: 11px; } }

/* All The Info: introduction image banner beneath the shared transparent header. */
.introduction-hero { position: relative; min-height: 560px; border-block: 3px solid #92752c; display: grid; place-items: center; padding: 155px 28px 110px; overflow: hidden; background: #1b1b1b; }
.introduction-hero-image, .introduction-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.introduction-hero-image { object-fit: cover; }
.introduction-hero-shade { background: linear-gradient(180deg, #24200db3 0%, #121214a6 50%, #0b0a0fd9 100%); }
.introduction-hero-copy { position: relative; width: 100%; max-width: 920px; margin: auto; text-align: center; }
.introduction-eyebrow { margin: 0 0 24px; font: 400 11px/1.6 'Poppins', sans-serif; letter-spacing: 4px; color: #eac396; text-transform: uppercase; }
.introduction-hero h1 { max-width: 850px; margin: 0 auto 22px; font: 500 clamp(40px, 4.7vw, 72px)/1.02 'Cormorant Garamond', Georgia, serif; color: #fff; overflow-wrap: anywhere; }
.introduction-content { max-width: 650px; margin: 0 auto; font: italic 500 clamp(21px, 1.8vw, 30px)/1.3 'Cormorant Garamond', Georgia, serif; color: #eac396; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 700px) { .introduction-hero { min-height: 540px; padding: 155px 24px 80px; } .introduction-eyebrow { letter-spacing: 2px; font-size: 10px; } }

/* Introduction Module 1.1: arched portrait beside editorial gold copy. */
.introduction-detail { background: #462333; color: #eac396; padding: 80px 28px 88px; }
.introduction-detail-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 375px minmax(0, 1fr); gap: 95px; align-items: start; }
.introduction-detail-image { display: block; width: 100%; aspect-ratio: 375 / 477; object-fit: cover; border-radius: 50% 50% 0 0 / 40% 40% 0 0; }
.introduction-detail-copy { padding-top: 10px; }
.introduction-detail-subheading { margin: 0; font: 500 30px/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.introduction-detail-punchline { margin: 0; font: 400 30px/1.15 'Mr Dafoe', 'Brush Script MT', cursive; overflow-wrap: anywhere; }
.introduction-detail-copy h2 { margin: 48px 0 0; font: 400 16px/1.85 'Poppins', sans-serif; letter-spacing: 1.5px; text-transform: uppercase; overflow-wrap: anywhere; }
.introduction-detail-copy h2::after { content: ''; display: block; width: 50px; height: 2px; background: #eac39666; margin: 48px 0 46px; }
.introduction-detail-content { font: 400 13px/1.85 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 950px) { .introduction-detail-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 45px; } .introduction-detail-copy h2 { margin-top: 30px; } .introduction-detail-copy h2::after { margin-block: 30px; } }
@media (max-width: 650px) { .introduction-detail { padding: 50px 24px; } .introduction-detail-inner { max-width: 440px; grid-template-columns: 1fr; gap: 32px; } .introduction-detail-image { max-width: 375px; margin: auto; } .introduction-detail-copy { padding: 0; } }

/* Introduction Modules 1.2–1.4: alternating cream editorial sections. */
.intro-chapter, .intro-values { background: #fbf3d9; }
.intro-numbers { background: #faf6eb; text-align: center; }
.intro-chapter, .intro-numbers, .intro-values { padding: 90px 28px; color: #171714; font-family: 'Poppins', sans-serif; }
.intro-section-inner { max-width: 1030px; margin: 0 auto; }
.intro-section-eyebrow { margin: 0 0 25px; color: #8d7238; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.intro-section-eyebrow::after { content: ''; display: block; width: 58px; height: 2px; background: #9b7b35; margin-top: 15px; }
.intro-section-title { margin: 0; font: 500 clamp(32px, 3vw, 50px)/1.08 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.intro-chapter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: start; }
.intro-chapter-grid > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-top: 2px solid #c5a247; border-radius: 3px; }
.intro-chapter-content { margin: 8px 0 0; color: #706b60; font: 400 14px/1.95 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.intro-numbers .intro-section-eyebrow::after, .intro-values .intro-section-eyebrow::after { margin-inline: auto; }
.intro-numbers-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 42px; border: 1px solid #ddd7c9; border-radius: 3px; overflow: hidden; background: #fff; }
.intro-number-card { padding: 28px 20px; }
.intro-number-card + .intro-number-card { border-left: 1px solid #e5dfd1; }
.intro-number-card h3 { margin: 0 0 8px; color: #796023; font: 500 clamp(28px, 2.5vw, 42px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.intro-number-card p { margin: 0; color: #7d7970; font-size: 9px; line-height: 1.8; letter-spacing: 1px; text-transform: uppercase; white-space: pre-line; overflow-wrap: anywhere; }
.intro-values { text-align: center; }
.intro-values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 42px; text-align: left; }
.intro-value-card { border-top: 3px solid #c5a247; padding: 20px 24px 24px; background: #fff; }
.intro-value-card img { display: block; width: 34px; height: 34px; object-fit: contain; margin-bottom: 12px; }
.intro-value-card h3 { margin: 0 0 8px; font: 600 24px/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.intro-value-card p { margin: 0; color: #706b60; font-size: 12px; line-height: 1.9; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 750px) { .intro-chapter, .intro-numbers, .intro-values { padding: 55px 24px; } .intro-chapter-grid { grid-template-columns: 1fr; gap: 28px; } .intro-numbers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .intro-number-card:nth-child(3) { border-left: 0; } .intro-number-card:nth-child(n+3) { border-top: 1px solid #e5dfd1; } .intro-values-grid { grid-template-columns: 1fr; } .intro-section-eyebrow { letter-spacing: 3px; } }

/* Why Choose Parra Villa 1.1: full-height photograph and three-column benefits. */
.why-choose-package { display: grid; grid-template-columns: 1fr 1fr; background: #462333; color: #eac396; }
.why-package-photo { position: relative; min-height: 650px; }
.why-package-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.why-package-copy { padding: 28px clamp(24px, 3vw, 60px) 36px; }
.why-package-copy > h2 { margin: 0 0 65px; text-align: center; font: 600 clamp(30px, 2.5vw, 44px)/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.why-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.why-package-card { text-align: center; }
.why-package-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 12px; border-radius: 50%; background: #eac396; }
.why-package-icon img { display: block; width: 32px; height: 32px; object-fit: contain; }
.why-package-card h3 { margin: 0 0 8px; font: 600 18px/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.why-package-card p { margin: 0; font: 500 16px/1.4 'Cormorant Garamond', Georgia, serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 1100px) { .why-choose-package { grid-template-columns: 38% 62%; } .why-package-grid { gap: 26px 20px; } .why-package-copy > h2 { margin-bottom: 40px; } }
@media (max-width: 750px) { .why-choose-package { grid-template-columns: 1fr; } .why-package-photo { min-height: 0; } .why-package-photo > img { position: static; display: block; aspect-ratio: 4 / 3; } .why-package-copy { padding: 40px 24px; } .why-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 22px; } }
@media (max-width: 420px) { .why-package-grid { grid-template-columns: 1fr; } .why-package-card { max-width: 300px; margin-inline: auto; } }

/* Why Choose Parra Villa 1.2: five staggered photographs and captions. */
.why-choose-gallery { background: #eac396; color: #715842; padding: 100px 28px 110px; font-family: 'Poppins', sans-serif; }
.why-gallery-composition { position: relative; max-width: 1050px; margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(12, auto); column-gap: 20px; row-gap: 30px; }
.why-gallery-item { position: relative; margin: 0; min-width: 0; }
.why-gallery-item img { display: block; width: 100%; object-fit: cover; }
.why-gallery-item figcaption { margin-top: 30px; font-size: 13px; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.why-gallery-item-1 { grid-column: 1 / 6; grid-row: 2 / 6; margin-top: 80px; padding-right: 38px; }
.why-gallery-item-1 img { aspect-ratio: 320 / 383; }
.why-gallery-item-2 { grid-column: 7 / 13; grid-row: 1 / 4; }
.why-gallery-item-2 img { aspect-ratio: 383 / 278; }
.why-gallery-item-3 { grid-column: 8 / 12; grid-row: 4 / 8; margin-top: 22px; }
.why-gallery-item-3 img { aspect-ratio: 274 / 335; }
.why-gallery-item-4 { grid-column: 3 / 7; grid-row: 7 / 11; margin-top: 20px; }
.why-gallery-item-4 img { aspect-ratio: 260 / 366; }
.why-gallery-item-5 { grid-column: 9 / 13; grid-row: 9 / 13; margin-top: 22px; }
.why-gallery-item-5 img { aspect-ratio: 260 / 366; }
.why-gallery-stars { position: absolute; width: 80px; height: 90px; right: -70px; top: -30px; color: #a47755; pointer-events: none; }
.why-gallery-stars span { position: absolute; font: 42px/1 Georgia, serif; }
.why-gallery-stars span:nth-child(1) { left: 0; top: 16px; }
.why-gallery-stars span:nth-child(2) { right: 0; top: 0; font-size: 26px; }
.why-gallery-stars span:nth-child(3) { right: 0; top: 43px; }
.why-gallery-item-4 .why-gallery-stars { top: -100px; right: -25px; }
@media (max-width: 1250px) { .why-gallery-composition { max-width: 900px; margin-inline: auto; } .why-gallery-stars { right: -25px; } }
@media (max-width: 750px) { .why-choose-gallery { padding: 60px 24px; } .why-gallery-composition { grid-template-columns: 1fr 1fr; grid-template-rows: none; gap: 36px 24px; align-items: start; } .why-gallery-item { grid-column: auto; grid-row: auto; margin-top: 0; padding: 0; } .why-gallery-item:nth-child(even) { margin-top: 45px; } .why-gallery-item figcaption { margin-top: 18px; font-size: 12px; } .why-gallery-stars { display: none; } }
@media (max-width: 450px) { .why-gallery-composition { grid-template-columns: 1fr; max-width: 340px; gap: 36px; } .why-gallery-item:nth-child(even) { margin-top: 0; } }

/* Ballroom 1.1: three landscape images in a looping cream gallery. */
.ballroom-gallery { background: #faf6eb; padding: 100px 28px 120px; }
.ballroom-gallery-inner { position: relative; max-width: 1024px; margin: 0 auto; }
.ballroom-gallery-viewport { overflow: hidden; }
.ballroom-gallery-track { display: flex; gap: 16px; will-change: transform; }
.ballroom-gallery-slide { flex: 0 0 calc((100% - 32px) / 3); min-width: 0; margin: 0; }
.ballroom-gallery-slide img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 3px; }
.ballroom-gallery-prev, .ballroom-gallery-next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; font: 24px/1 Georgia, serif; box-shadow: 0 2px 8px #0001; }
.ballroom-gallery-prev { left: 10px; background: #462333; color: #fff; }
.ballroom-gallery-next { right: 10px; background: #fffE; color: #172330; }
.ballroom-gallery-prev:hover { background: #bb0e5b; }
.ballroom-gallery-next:hover { background: #fff; }
@media (max-width: 800px) { .ballroom-gallery { padding: 65px 24px; } .ballroom-gallery-slide { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 500px) { .ballroom-gallery-slide { flex-basis: 100%; } .ballroom-gallery { padding-block: 45px; } }

/* Ballroom 1.2: centered peach introduction beneath the gallery. */
.ballroom-overview { padding: 105px 24px 90px; background: #eac396; color: #171714; text-align: center; }
.ballroom-overview-inner { max-width: 640px; margin: 0 auto; }
.ballroom-overview-subheading { margin: 0 0 26px; color: #79571d; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.ballroom-overview-subheading::after { content: ''; display: block; width: 58px; height: 2px; margin: 10px auto 0; background: #8a6a27; }
.ballroom-overview h2 { margin: 0 0 8px; font: 500 clamp(30px, 2.5vw, 40px)/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-overview-content { margin: 0; font: 400 15px/1.85 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 700px) { .ballroom-overview { padding: 65px 24px; } .ballroom-overview-content { font-size: 14px; } .ballroom-overview-subheading { letter-spacing: 3px; } }

/* Ballroom 1.3: centered introduction above a three-column feature grid. */
.ballroom-features { background: #faf7f2; color: #171714; padding: 80px 28px 76px; }
.ballroom-features-inner { max-width: 1140px; margin: 0 auto; }
.ballroom-features-heading { text-align: center; margin: 0 auto 40px; }
.ballroom-features-subheading { margin: 0 0 20px; color: #ad782e; font: 400 12px/1.7 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.ballroom-features-heading h2 { max-width: 800px; margin: 0 auto 24px; font: 600 clamp(34px, 3.6vw, 56px)/1.06 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-features-intro { max-width: 940px; margin: 0 auto; color: #61574d; font: 400 14px/1.85 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.ballroom-features-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ballroom-feature-card { padding: 30px; border: 1px solid #e5ddd1; background: #fff; }
.ballroom-feature-label { margin: 0 0 14px; color: #b47e33; font: 500 30px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-feature-card h3 { margin: 0 0 16px; font: 600 27px/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-feature-content { margin: 0; color: #61574d; font: 400 13px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 850px) { .ballroom-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ballroom-feature-card { padding: 25px; } }
@media (max-width: 550px) { .ballroom-features { padding: 55px 24px; } .ballroom-features-grid { grid-template-columns: 1fr; } .ballroom-features-heading h2 { font-size: 38px; } }

/* Ballroom 1.4: two burgundy editorial rows with cursive title accents. */
.ballroom-editorial { padding: 100px 28px 70px; background: #462333; color: #dfd5be; }
.ballroom-editorial-inner { max-width: 1220px; margin: 0 auto; }
.ballroom-editorial-row { display: grid; align-items: center; gap: 70px; }
.ballroom-editorial-row-1 { grid-template-columns: minmax(0, 410px) minmax(0, 500px); justify-content: center; }
.ballroom-editorial-portrait img { display: block; width: 100%; aspect-ratio: 410 / 660; object-fit: cover; }
.ballroom-editorial-copy { min-width: 0; }
.ballroom-editorial-subheading { margin: 0 0 12px; color: #eac396; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.ballroom-editorial-copy h2 { margin: 0 0 24px; color: #eac396; font: 500 clamp(32px, 2.9vw, 48px)/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-editorial-copy h2 .title-highlight { font-family: 'Mr Dafoe', 'Brush Script MT', cursive; font-weight: 400; }
.ballroom-editorial-content { font: 400 13px/1.85 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.ballroom-editorial-row-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); margin-top: 70px; }
.ballroom-editorial-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.ballroom-editorial-pair img { display: block; width: 100%; height: 100%; aspect-ratio: 320 / 455; object-fit: cover; }
.ballroom-editorial-frame { position: relative; }
.ballroom-editorial-frame::before, .ballroom-editorial-frame::after { content: ''; position: absolute; width: 85px; height: 85px; border-top: 1px solid #eac39680; border-left: 1px solid #eac39680; border-top-left-radius: 16px; top: -12px; left: -12px; pointer-events: none; }
.ballroom-editorial-frame::after { top: auto; bottom: -12px; transform: scaleY(-1); }
.ballroom-editorial-frame > span { position: absolute; top: -33px; left: -28px; color: #eac39699; font: 32px/1 Georgia, serif; }
@media (max-width: 900px) { .ballroom-editorial { padding: 70px 28px; } .ballroom-editorial-row { gap: 35px; } .ballroom-editorial-pair { gap: 18px; } .ballroom-editorial-row-2 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) { .ballroom-editorial { padding: 55px 24px; } .ballroom-editorial-row-1, .ballroom-editorial-row-2 { grid-template-columns: 1fr; } .ballroom-editorial-portrait { max-width: 400px; width: 100%; margin: auto; } .ballroom-editorial-row-2 { margin-top: 50px; } }

.ballroom-editorial-bullets { margin: 20px 0 0; padding-left: 20px; font: 400 13px/1.85 'Poppins', sans-serif; }
.ballroom-editorial-bullets li { padding-left: 4px; margin-bottom: 8px; white-space: pre-line; overflow-wrap: anywhere; }
.ballroom-editorial-bullets li::marker { color: #eac396; }

/* Ballroom 1.5: five-image celebration mosaic on a dark background. */
.ballroom-celebrations { background: #0b0a0f; color: #fff; padding: 75px 28px; text-align: center; }
.ballroom-celebrations-inner { max-width: 1024px; margin: 0 auto; }
.ballroom-celebrations-subheading { margin: 0 0 24px; color: #d0ad50; font: 400 11px/1.8 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.ballroom-celebrations-subheading::after { content: ''; display: block; width: 58px; height: 2px; margin: 10px auto 0; background: #92752c; }
.ballroom-celebrations h2 { margin: 0 0 40px; font: 500 clamp(32px, 3.3vw, 52px)/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-celebrations-grid { display: grid; grid-template-columns: 2.05fr 1fr 1fr; grid-template-rows: repeat(2, 220px); gap: 12px; }
.ballroom-celebrations-image { margin: 0; min-width: 0; overflow: hidden; border-radius: 2px; }
.ballroom-celebrations-image:first-child { grid-row: span 2; }
.ballroom-celebrations-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 800px) { .ballroom-celebrations { padding: 60px 24px; } .ballroom-celebrations-grid { grid-template-rows: repeat(2, 170px); gap: 10px; } }
@media (max-width: 550px) { .ballroom-celebrations-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } .ballroom-celebrations-image:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 5 / 4; } .ballroom-celebrations-image:not(:first-child) { aspect-ratio: 1; } .ballroom-celebrations-subheading { letter-spacing: 3px; } }

/* Ballroom 1.6: cream location panel with an external Google Maps logo link. */
.ballroom-location { padding: 90px 28px 80px; background: #fbf3d9; color: #171714; }
.ballroom-location-inner { max-width: 1030px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.ballroom-location-subheading { margin: 0 0 28px; color: #9b712e; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.ballroom-location-subheading::after { content: ''; display: block; width: 58px; height: 2px; background: #a17b31; margin-top: 16px; }
.ballroom-location-copy h2 { margin: 0 0 14px; font: 500 clamp(34px, 3.3vw, 52px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.ballroom-location-content { color: #70634e; font: 400 13px/2.05 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.ballroom-location-map { display: block; width: fit-content; max-width: 100%; margin: 14px 0 0 auto; }
.ballroom-location-map img { display: block; max-width: 180px; width: 100%; max-height: 55px; object-fit: contain; }
.ballroom-location-image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-top: 2px solid #c5a247; border-radius: 3px; }
@media (max-width: 700px) { .ballroom-location { padding: 55px 24px; } .ballroom-location-inner { grid-template-columns: 1fr; gap: 30px; } .ballroom-location-copy h2 { font-size: 40px; } }

/* Function Lounge: Weddings video banner. */
.weddings-hero { position: relative; display: grid; place-items: center; min-height: 680px; min-height: max(680px, 85svh); padding: 170px 28px 100px; overflow: hidden; background: #1b1b1b; border-block: 3px solid #92752c; }
.weddings-background-video, .weddings-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.weddings-background-video { object-fit: cover; }
.weddings-hero-shade { background: linear-gradient(180deg, #1b1b1b80, #1b1b1b66 45%, #0b0a0fcc); }
.weddings-hero-copy { position: relative; width: 100%; max-width: 900px; text-align: center; }
.weddings-hero h1 { margin: 0 0 24px; color: #fff; font: 500 clamp(42px, 5vw, 80px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.weddings-small-content { max-width: 720px; margin: 0 auto; color: #eac396; font: 400 clamp(15px, 1.3vw, 19px)/1.8 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.weddings-video-toggle { position: absolute; right: 24px; bottom: 22px; padding: 10px 15px; border: 1px solid #ffffff70; background: #0b0a0f99; color: #fff; font: 400 11px/1.5 'Poppins', sans-serif; }
.weddings-video-toggle[hidden] { display: none; }
@media (max-width: 650px) { .weddings-hero { min-height: 620px; padding: 160px 24px 100px; } }

/* Wedding Module 1.1: centered title and supporting text. */
.wedding-intro { padding: 85px 24px; background: #faf6eb; color: #171714; text-align: center; }
.wedding-intro-inner { max-width: 850px; margin: 0 auto; }
.wedding-intro h2 { margin: 0 0 22px; font: 500 clamp(34px, 3.4vw, 52px)/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-intro p { margin: 0; color: #61574d; font: 400 15px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 650px) { .wedding-intro { padding: 55px 24px; } .wedding-intro p { font-size: 14px; } }

/* Wedding Module 1.2: portrait beside four landscape photographs. */
.wedding-gallery { background: #faf6eb; padding: 20px 24px 25px; }
.wedding-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 10px; max-width: 1120px; aspect-ratio: 1120 / 500; margin: 0 auto; }
.wedding-gallery-image { margin: 0; min-width: 0; min-height: 0; overflow: hidden; }
.wedding-gallery-image:first-child { grid-row: span 2; }
.wedding-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px) { .wedding-gallery { padding-inline: 20px; } .wedding-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; aspect-ratio: auto; } .wedding-gallery-image:first-child { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 4 / 5; } .wedding-gallery-image:not(:first-child) { aspect-ratio: 3 / 2; } }

/* Wedding Module 1.3: peach feature cards on a burgundy section. */
.wedding-features { padding: 85px 28px; background: #462333; color: #fff; }
.wedding-features-inner { max-width: 1132px; margin: 0 auto; }
.wedding-features-heading { text-align: center; margin-bottom: 46px; }
.wedding-features-subheading { margin: 0 0 20px; color: #b68c42; font: 500 12px/1.7 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.wedding-features-heading h2 { max-width: 800px; margin: 0 auto 30px; font: 600 clamp(34px, 3.6vw, 56px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-features-intro { max-width: 950px; margin: 0 auto; font: 400 14px/1.85 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.wedding-features-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.wedding-feature-card { padding: 32px; background: #eac396; color: #17100d; }
.wedding-feature-label { margin: 0 0 16px; color: #a47f48; font: 500 17px/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-feature-card h3 { margin: 0 0 16px; font: 600 27px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-feature-content { margin: 0; font: 400 14px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 850px) { .wedding-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wedding-feature-card { padding: 26px; } }
@media (max-width: 550px) { .wedding-features { padding: 55px 24px; } .wedding-features-grid { grid-template-columns: 1fr; } .wedding-features-heading h2 { font-size: 38px; } }

/* Wedding Module 1.4: featured room statistics on cream. */
.wedding-spaces { padding: 40px 28px 55px; background: #fbf3d9; color: #171714; text-align: center; }
.wedding-spaces-inner { max-width: 1132px; margin: 0 auto; }
.wedding-spaces-subheading { margin: 0 0 20px; color: #b47c36; font: 500 12px/1.7 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.wedding-spaces h2 { max-width: 800px; margin: 0 auto 34px; font: 600 clamp(34px, 3.6vw, 56px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-spaces-content { max-width: 760px; margin: 0 auto 40px; font: 400 14px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.wedding-spaces-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #462333; }
.wedding-space-card { padding: 34px 24px; }
.wedding-space-card + .wedding-space-card { border-left: 1px solid #fbf3d9; }
.wedding-space-card h3 { margin: 0 0 4px; color: #eac396; font: 600 40px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-space-card p { margin: 0; color: #fff; font: 400 12px/1.8 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 650px) { .wedding-spaces { padding: 50px 24px; } .wedding-spaces-grid { grid-template-columns: 1fr; } .wedding-space-card + .wedding-space-card { border-left: 0; border-top: 1px solid #fbf3d9; } .wedding-spaces h2 { font-size: 38px; } }

/* Wedding Module 1.5: two-by-two occasions on a peach background. */
.wedding-occasions { padding: 45px 28px 75px; background: #eac396; color: #17100d; }
.wedding-occasions-inner { max-width: 1130px; margin: 0 auto; }
.wedding-occasions-heading { text-align: center; margin-bottom: 45px; }
.wedding-occasions-subheading { margin: 0 0 20px; color: #a67a44; font: 500 12px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.wedding-occasions-heading h2 { margin: 0 0 8px; font: 600 clamp(34px, 3.4vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-occasions-content { max-width: 900px; margin: 0 auto; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.wedding-occasions-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 45px; max-width: 1050px; margin: 0 auto; }
.wedding-occasion-card { border-left: 2px solid #b18855; padding: 20px 22px; }
.wedding-occasion-card h3 { margin: 0 0 12px; font: 600 26px/1.2 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-occasion-card p { margin: 0; font: 400 14px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 650px) { .wedding-occasions { padding: 50px 24px; } .wedding-occasions-grid { grid-template-columns: 1fr; gap: 22px; } .wedding-occasions-heading { margin-bottom: 32px; } .wedding-occasion-card { padding: 12px 18px; } }

/* Wedding Module 1.6: hospitality copy and paired portrait photographs. */
.wedding-hospitality { padding: 88px 28px 68px; background: #462333; color: #eadbc5; }
.wedding-hospitality-inner { display: grid; grid-template-columns: minmax(0, 500px) minmax(0, 650px); gap: 70px; align-items: start; max-width: 1220px; margin: 0 auto; }
.wedding-hospitality-subheading { margin: 0 0 20px; color: #eac396; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.wedding-hospitality h2 { max-width: 420px; margin: 0 0 30px; color: #eac396; font: 500 clamp(34px, 3vw, 48px)/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-hospitality h2 .title-highlight { font-family: 'Mr Dafoe', 'Brush Script MT', cursive; font-weight: 400; }
.wedding-hospitality-content { font: 400 13px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.wedding-hospitality-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: stretch; }
.wedding-hospitality-images img { display: block; width: 100%; height: 100%; aspect-ratio: 310 / 441; object-fit: cover; }
.wedding-hospitality-frame { position: relative; }
.wedding-hospitality-frame::before, .wedding-hospitality-frame::after { content: ''; position: absolute; width: 85px; height: 85px; border-top: 1px solid #eac39680; border-left: 1px solid #eac39680; border-top-left-radius: 16px; top: -12px; left: -12px; pointer-events: none; }
.wedding-hospitality-frame::after { top: auto; bottom: -12px; transform: scaleY(-1); }
.wedding-hospitality-frame > span { position: absolute; top: -33px; left: -28px; color: #eac39699; font: 32px/1 Georgia, serif; }
@media (max-width: 950px) { .wedding-hospitality-inner { grid-template-columns: 1fr 1.2fr; gap: 40px; } .wedding-hospitality-images { gap: 20px; } }
@media (max-width: 650px) { .wedding-hospitality { padding: 55px 24px; } .wedding-hospitality-inner { grid-template-columns: 1fr; gap: 40px; } .wedding-hospitality h2 { max-width: 100%; } }

/* Wedding Module 1.7: venue photograph left, location details right. */
.wedding-location { padding: 82px 28px 65px; background: #fbf3d9; color: #171714; }
.wedding-location-inner { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 490px) minmax(0, 490px); justify-content: space-between; gap: 70px; align-items: start; }
.wedding-location-image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-top: 2px solid #c5a247; border-radius: 3px; }
.wedding-location-subheading { margin: 0 0 30px; color: #ad782e; font: 400 10px/1.8 'Poppins', sans-serif; letter-spacing: 4px; text-transform: uppercase; overflow-wrap: anywhere; }
.wedding-location-subheading::after { content: ''; display: block; width: 58px; height: 2px; margin-top: 16px; background: #a17b31; }
.wedding-location-copy h2 { max-width: 390px; margin: 0 0 20px; font: 500 clamp(34px, 3.4vw, 52px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.wedding-location-content { color: #806441; font: 400 13px/2.05 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.wedding-location-map { display: block; width: fit-content; max-width: 100%; margin: 10px 0 0 auto; }
.wedding-location-map img { display: block; width: 160px; max-width: 100%; max-height: 55px; object-fit: contain; }
@media (max-width: 850px) { .wedding-location-inner { gap: 35px; } }
@media (max-width: 650px) { .wedding-location { padding: 55px 24px; } .wedding-location-inner { grid-template-columns: 1fr; gap: 30px; } .wedding-location-copy h2 { max-width: 100%; font-size: 40px; } }

/* Function Lounge Birthdays: portrait video left and burgundy content right. */
.birthdays-hero { padding: 155px 28px 70px; background: #462333; color: #fff; }
.birthdays-hero-inner { display: grid; grid-template-columns: minmax(0, 410px) minmax(0, 600px); gap: 75px; align-items: center; max-width: 1140px; margin: 0 auto; }
.birthdays-video-wrap { width: 100%; background: #1b1b1b; }
.birthdays-video { display: block; width: 100%; aspect-ratio: 9 / 16; max-height: 730px; object-fit: contain; }
.birthdays-copy { padding: 30px 0; background: #462333; }
.birthdays-copy h1 { margin: 0 0 26px; color: #eac396; font: 500 clamp(40px, 4vw, 64px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.birthdays-small-content { margin: 0; color: #eadbc5; font: 400 15px/1.95 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 900px) { .birthdays-hero-inner { grid-template-columns: 1fr 1.2fr; gap: 35px; } }
@media (max-width: 650px) { .birthdays-hero { padding: 135px 24px 55px; } .birthdays-hero-inner { grid-template-columns: 1fr; gap: 30px; } .birthdays-video-wrap { max-width: 360px; margin: 0 auto; } .birthdays-copy { padding: 0; } .birthdays-small-content { font-size: 14px; } }

/* Afghan Gold Module 1.1: menu names in three bordered columns. */
.afghan-gold-header { background: #1b1b1b; }
.afghan-gold-header img { display: block; width: 100%; max-height: 560px; min-height: 260px; object-fit: cover; }
.afghan-gold-buffet { background: #fefcf7; color: #171714; padding: 90px 28px 100px; text-align: center; }
.afghan-gold-buffet-inner { max-width: 1112px; margin: 0 auto; }
.afghan-gold-buffet-subheading { margin: 0 0 16px; color: #b1792c; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-buffet h2 { margin: 0 0 16px; font: 600 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-buffet-content { margin: 0 auto 42px; max-width: 850px; color: #806441; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.afghan-gold-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; text-align: left; }
.afghan-gold-menu-grid li { display: flex; align-items: center; gap: 14px; padding: 21px; border: 1px solid #e8ddc8; background: #fff; font: 500 14px/1.8 'Poppins', sans-serif; overflow-wrap: anywhere; min-width: 0; }
.afghan-gold-menu-grid li > span { flex-shrink: 0; color: #b1792c; font: 24px/1 Georgia, serif; }
.afghan-gold-buffet-note { margin: 24px 0 0; color: #806441; font: 400 12px/1.8 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 800px) { .afghan-gold-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 500px) { .afghan-gold-buffet { padding: 55px 24px; } .afghan-gold-menu-grid { grid-template-columns: 1fr; } }

/* Afghan Gold Module 1: centered introduction before the buffet. */
.afghan-gold-intro { padding: 62px 24px 48px; background: #faf6eb; color: #171714; text-align: center; }
.afghan-gold-intro-inner { max-width: 860px; margin: 0 auto; }
.afghan-gold-intro h2 { max-width: 800px; margin: 0 auto 26px; font: 500 clamp(34px, 3.4vw, 52px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-intro p { margin: 0; color: #705c48; font: 400 15px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 650px) { .afghan-gold-intro { padding: 50px 24px; } .afghan-gold-intro p { font-size: 14px; } }

/* Afghan Gold Food Gallery 1.2 reuses the looping Ballroom gallery layout. */
.afghan-gold-food-gallery { background: #eac396; padding-block: 42px 45px; }

/* Afghan Gold Dessert Menu 1.3: five-column dessert selection. */
.afghan-gold-desserts { padding: 85px 28px; background: #faf7f2; color: #171714; text-align: center; }
.afghan-gold-desserts-inner { max-width: 1112px; margin: 0 auto; }
.afghan-gold-desserts-subheading { margin: 0 0 16px; color: #ad782e; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-desserts h2 { margin: 0 0 16px; font: 600 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-desserts-content { max-width: 850px; margin: 0 auto 44px; color: #806441; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.afghan-gold-desserts-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.afghan-gold-desserts-grid li { display: grid; place-items: center; min-height: 89px; padding: 22px 16px; border: 1px solid #e7d0ae; background: #fff; font: 500 26px/1.3 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
@media (max-width: 850px) { .afghan-gold-desserts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 550px) { .afghan-gold-desserts { padding: 55px 24px; } .afghan-gold-desserts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.afghan-gold-dessert-gallery { background: #eac396; padding-block: 42px 45px; }

/* Afghan Gold Refreshment 1.5: two bordered hospitality cards. */
.afghan-gold-refreshments { padding: 85px 28px; background: #fefcf7; color: #171714; }
.afghan-gold-refreshments-inner { max-width: 1112px; margin: 0 auto; }
.afghan-gold-refreshments-heading { text-align: center; margin-bottom: 44px; }
.afghan-gold-refreshments-subheading { margin: 0 0 16px; color: #ad782e; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-refreshments h2 { margin: 0 0 16px; font: 600 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-refreshments-content { margin: 0; color: #806441; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.afghan-gold-refreshments-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.afghan-gold-refreshment-card { padding: 32px; border: 1px solid #e8ddc8; background: #fff; }
.afghan-gold-refreshment-card .afghan-gold-refreshments-subheading { margin-bottom: 10px; }
.afghan-gold-refreshment-card h3 { margin: 0 0 8px; font: 600 30px/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
@media (max-width: 650px) { .afghan-gold-refreshments { padding: 55px 24px; } .afghan-gold-refreshments-grid { grid-template-columns: 1fr; } .afghan-gold-refreshment-card { padding: 26px; } }

/* Afghan Gold Package 1.6: white package cards on burgundy. */
.afghan-gold-package { padding: 85px 28px; background: #462333; color: #fff; }
.afghan-gold-package-inner { max-width: 1112px; margin: 0 auto; }
.afghan-gold-package-heading { text-align: center; margin-bottom: 44px; }
.afghan-gold-package-subheading { margin: 0 0 16px; color: #b88a35; font: 400 11px/1.8 'Poppins', sans-serif; letter-spacing: 2px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-package-heading h2 { margin: 0 0 16px; font: 600 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-package-heading > p:last-child { margin: 0; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.afghan-gold-package-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.afghan-gold-package-card { padding: 26px; border: 1px solid #e8ddc8; background: #fff; color: #171714; }
.afghan-gold-package-card .afghan-gold-package-subheading { margin-bottom: 14px; letter-spacing: 1px; }
.afghan-gold-package-card h3 { margin: 0 0 8px; font: 600 27px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-package-card-content { margin: 0; color: #806441; font: 400 13px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 850px) { .afghan-gold-package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .afghan-gold-package { padding: 55px 24px; } .afghan-gold-package-grid { grid-template-columns: 1fr; } }

/* Afghan Gold Package 1.7: dining copy beside a double gold frame. */
.afghan-gold-dining { padding: 88px 28px; background: #fefcf7; color: #171714; }
.afghan-gold-dining-inner { max-width: 1112px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.afghan-gold-dining-subheading { margin: 0 0 16px; color: #ad782e; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-dining h2 { margin: 0 0 22px; font: 600 clamp(34px, 3.2vw, 50px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.afghan-gold-dining-content { color: #806441; font: 400 14px/1.95 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.afghan-gold-dining-button { display: inline-block; margin-top: 18px; padding: 15px 24px; max-width: 100%; border: 1px solid #ad782e; border-radius: 2px; color: #ad782e; font: 500 12px/1.6 'Poppins', sans-serif; letter-spacing: .6px; text-transform: uppercase; overflow-wrap: anywhere; }
.afghan-gold-dining-button:hover { background: #ad782e; color: #fff; }
.afghan-gold-dining-images { display: grid; gap: 20px; }
.afghan-gold-dining-frame { margin: 0; padding: 18px; border: 1px solid #d4b77e; background: linear-gradient(130deg, #f8eed4, #e1d0a4); }
.afghan-gold-dining-frame img { display: block; width: 100%; aspect-ratio: 5 / 3; object-fit: cover; border: 1px solid #bd9952; padding: 5px; background: #fbf5e9; }
@media (max-width: 750px) { .afghan-gold-dining { padding: 55px 24px; } .afghan-gold-dining-inner { grid-template-columns: 1fr; gap: 35px; } .afghan-gold-dining-frame { padding: 14px; } }

/* Continental Menu Module 1.1: three softly bordered selection cards. */
.continental-overview { padding: 88px 28px 85px; background: #fff; color: #171714; }
.continental-overview-inner { max-width: 1112px; margin: 0 auto; }
.continental-overview-heading { text-align: center; margin-bottom: 42px; }
.continental-overview-subheading { margin: 0 0 18px; color: #ad782e; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.continental-overview h2 { max-width: 760px; margin: 0 auto 24px; font: 500 clamp(36px, 3.5vw, 54px)/1.05 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-overview-content { margin: 0; color: #806441; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.continental-overview-heading .continental-overview-content { max-width: 780px; margin: 0 auto; }
.continental-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.continental-overview-card { padding: 32px 28px 40px; border: 1px solid #e8e0d3; border-radius: 12px; box-shadow: 0 10px 35px #46233306; }
.continental-card-subheading { margin: 0 0 20px; color: #b88a35; font: 500 34px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-overview-card h3 { margin: 0 0 12px; font: 500 27px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
@media (max-width: 700px) { .continental-overview { padding: 55px 24px; } .continental-overview-grid { grid-template-columns: 1fr; } }

/* Continental Menu Module 1.2: entree choices and three-column menu list. */
.continental-entrees { padding: 55px 28px 90px; background: #faf7f2; color: #171714; }
.continental-entrees-inner { max-width: 1112px; margin: 0 auto; }
.continental-entrees-heading { text-align: center; margin-bottom: 65px; }
.continental-entrees-subheading { margin: 0 0 18px; color: #ad782e; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.continental-entrees h2 { margin: 0 0 24px; font: 500 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-entrees-content { margin: 0 auto; max-width: 950px; color: #806441; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.continental-choice-label { display: inline-block; margin: 28px 0 0; padding: 8px 16px; border: 1px solid #ddc89b; border-radius: 25px; color: #79571d; background: #fdfaf2; font: 600 16px/1.3 'Cormorant Garamond', Georgia, serif; letter-spacing: .6px; text-transform: uppercase; overflow-wrap: anywhere; max-width: 100%; }
.continental-entrees-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.continental-entrees-grid li { display: flex; align-items: flex-start; gap: 12px; padding: 20px; border: 1px solid #e8e0d3; border-radius: 9px; background: #fff; font: 500 14px/1.8 'Poppins', sans-serif; min-width: 0; overflow-wrap: anywhere; }
.continental-entrees-grid li > span:first-child { color: #b88a35; flex-shrink: 0; }
.continental-entrees-grid li > span:last-child { min-width: 0; }
@media (max-width: 800px) { .continental-entrees-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 500px) { .continental-entrees { padding: 50px 24px; } .continental-entrees-heading { margin-bottom: 36px; } .continental-entrees-grid { grid-template-columns: 1fr; } }

/* Continental 1.3 and 1.4: two-column menu cards and independent looping galleries. */
.continental-selection { padding: 55px 28px 70px; background: #faf7f2; color: #171714; }
.continental-selection-inner { max-width: 1112px; margin: 0 auto; }
.continental-selection h2 { margin: 0 0 24px; font: 500 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-selection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.continental-selection-card { padding: 28px; background: #fff; border: 1px solid #ece5da; border-radius: 12px; box-shadow: 0 8px 20px #46233304; }
.continental-selection-main-course .continental-selection-card { border-top: 3px solid #b58b3e; }
.continental-selection-card h3 { margin: 0 0 10px; font: 500 27px/1.15 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-selection-card p { margin: 0; color: #70664f; font: 400 13px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.continental-selection-gallery { background: #eac396; padding-block: 42px; }
@media (max-width: 650px) { .continental-selection { padding: 50px 24px; } .continental-selection .continental-entrees-heading { margin-bottom: 36px; } .continental-selection-grid { grid-template-columns: 1fr; } }

/* Continental Features 1.5: rounded white cards on burgundy. */
.continental-features { padding: 85px 28px; background: #462333; color: #fff; }
.continental-features-inner { max-width: 1112px; margin: 0 auto; }
.continental-features-heading { text-align: center; margin-bottom: 42px; }
.continental-features-subheading { margin: 0 0 18px; color: #b88a35; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.continental-features h2 { margin: 0 0 22px; font: 500 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-features-content { max-width: 800px; margin: 0 auto; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.continental-features-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.continental-feature-card { padding: 28px; border: 1px solid #e8e0d3; border-radius: 12px; background: #fff; color: #171714; }
.continental-feature-card h3 { margin: 0 0 12px; font: 500 27px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-feature-card p { margin: 0; color: #70664f; font: 400 13px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 850px) { .continental-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .continental-features { padding: 55px 24px; } .continental-features-grid { grid-template-columns: 1fr; } }

/* Continental Refreshments 1.6: charcoal cards before the package features. */
.continental-refreshments { padding: 85px 28px; background: #252a2b; color: #fff; }
.continental-refreshments-inner { max-width: 1112px; margin: 0 auto; }
.continental-refreshments-heading { text-align: center; margin-bottom: 42px; }
.continental-refreshments-subheading { margin: 0 0 18px; color: #b88a35; font: 500 11px/1.8 'Poppins', sans-serif; letter-spacing: 3px; text-transform: uppercase; overflow-wrap: anywhere; }
.continental-refreshments h2 { margin: 0 0 22px; font: 500 clamp(36px, 3.5vw, 54px)/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-refreshments-content { max-width: 900px; margin: 0 auto; font: 400 14px/1.9 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
.continental-refreshments-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.continental-refreshment-card { padding: 28px; border: 1px solid #ffffff1f; border-radius: 12px; background: #323738; min-height: 160px; }
.continental-refreshment-card h3 { margin: 0 0 12px; font: 500 27px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: anywhere; }
.continental-refreshment-card p { margin: 0; color: #eee; font: 400 13px/2 'Poppins', sans-serif; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 850px) { .continental-refreshments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 550px) { .continental-refreshments { padding: 55px 24px; } .continental-refreshments-grid { grid-template-columns: 1fr; } }

@media(max-width:600px){.site-header .header-cta{display:none}.site-header{padding-right:16px}}
