/* Private gatherings: a dinner scene, a human welcome, and clear hosting details. */
.private-page { background: var(--ink); }
.private-page [aria-current="page"] { text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 7px; }
.private-wrap { width: min(88%, 1408px); margin-inline: auto; }
.private-section { padding-block: clamp(64px, 6.2vw, 100px); }
.private-page h1, .private-page h2, .private-page h3 { overflow-wrap: normal; }
.private-page h2 { font-size: clamp(2.8rem, 4.4vw, 4.4rem); line-height: 1.03; }
.private-page main p { line-height: 1.75; }
.private-page main .eyebrow { line-height: 1.5; }
.private-hero { position: relative; isolation: isolate; background: #1b1612; }
.private-hero-image, .private-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.private-hero-image { z-index: -2; object-fit: cover; object-position: 60% 58%; }
.private-hero-shade { z-index: -1; background: linear-gradient(90deg, #11100fec 0%, #11100fb0 27%, #11100f40 49%, transparent 72%), linear-gradient(0deg, #11100f6b, transparent 24%); }
.private-hero-inner { position: relative; min-height: clamp(640px, 49vw, 784px); display: flex; align-items: center; padding-block: 58px 78px; }
.private-hero-copy { max-width: 590px; }
.private-hero .eyebrow { font-size: .7rem; letter-spacing: .16em; margin-bottom: 25px; }
.private-hero h1 { font-size: clamp(4.4rem, 6.4vw, 6.4rem); line-height: .96; margin: 0 0 26px; }
.private-hero h1 em, .private-close h2 em { font-weight: 400; }
.private-hero-description { font-size: 1.0625rem; max-width: 345px; color: #f0e6db; margin: 0 0 28px; }
.private-hero .button, .private-close .button { min-height: 54px; gap: 36px; padding: 12px 28px; font-size: 1.5rem; }
.private-hero .button { background: var(--cream); border-color: var(--cream); color: var(--wine); }
.private-hero .button:hover { background: #e7dacb; }
.private-hero-foot { position: absolute; bottom: 23px; left: 0; margin: 0; font-size: .625rem; letter-spacing: .19em; text-transform: uppercase; color: #e6d6be; }
.private-faq h2, .private-faq .eyebrow { color: var(--wine); }
.private-faq { background: #eae3d8; color: #3e3330; }
.private-faq-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10%; }
.private-faq-layout > div:first-child > p:not(.eyebrow) { margin: 0; font-size: 1rem; max-width: 300px; }
.private-faq .faq-list summary { font-size: 1rem; padding-block: 22px; }
.private-faq .faq-list details p { font-size: .9375rem; line-height: 1.8; }
.private-close { padding-block: clamp(75px, 8vw, 128px) 45px; }
.private-close > .private-wrap > .eyebrow { color: #cbb38d; font-size: .6875rem; }
.private-close-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 8%; align-items: center; }
.private-close h2 { font-size: clamp(4rem, 7.2vw, 7.2rem); line-height: .95; margin: 0; }
.private-close-action > p:first-child { font-size: 1rem; color: #d6c9bb; max-width: 330px; margin: 0 0 25px; }
.private-close .private-wedding-link { display: flex; align-items: center; gap: 20px; font-size: .8125rem; color: #cbbfaf; margin: 64px 0 0; padding-top: 20px; border-top: 1px solid #a58a5a45; }
.private-wedding-link .text-link { font-size: .8125rem; border-bottom: 0; color: var(--cream); gap: 14px; }
@media (max-width: 1099px) {
  .private-wrap { width: calc(100% - 64px); }
  .private-hero-inner { min-height: 650px; }
  .private-hero h1 { font-size: 5.5rem; }
  .private-hero-shade { background: linear-gradient(90deg, #11100fe8 0%, #11100fa0 40%, #11100f18 82%); }
  .private-faq-layout { gap: 7%; }
  .private-close-layout { gap: 6%; grid-template-columns: 1.15fr .85fr; }
  .private-close h2 { font-size: 5rem; }
}
@media (max-width: 759px) {
  .private-wrap { width: calc(100% - 48px); }
  .private-section { padding-block: 48px; }
  .private-page h2 { font-size: clamp(2.65rem, 8.8vw, 3.7rem); }
  .private-hero { background: #1b1612; }
  .private-hero-inner { display: block; min-height: 0; padding-block: 32px 295px; }
  .private-hero h1 { font-size: clamp(3.3rem, 11.7vw, 5rem); line-height: .98; margin-bottom: 20px; }
  .private-hero-copy { max-width: 480px; }
  .private-hero .eyebrow { font-size: .625rem; letter-spacing: .1em; margin-bottom: 21px; }
  .private-hero-description { font-size: 1rem; line-height: 1.6; margin-bottom: 21px; max-width: 310px; }
  .private-desktop-break { display: none; }
  .private-hero .button { min-height: 50px; font-size: 1.375rem; padding-inline: 24px; }
  .private-hero-image { top: auto; bottom: 0; height: 295px; object-fit: cover; object-position: 90% 59%; }
  .private-hero-shade { top: auto; bottom: 0; height: 295px; background: linear-gradient(180deg, #1b1612, #1b161280 14%, transparent 35%, transparent 78%, #11100fa0); }
  .private-hero-foot { bottom: 15px; font-size: .5625rem; letter-spacing: .13em; }
  .private-faq-layout, .private-close-layout { grid-template-columns: 1fr; gap: 28px; }
  .private-faq h2 { margin-bottom: 20px; }
  .private-faq-layout > div:first-child > p:not(.eyebrow) { max-width: 360px; }
  .private-faq .faq-list summary { font-size: 1rem; padding-block: 21px; }
  .private-faq .faq-list details p { padding-right: 0; }
  .private-close { padding-block: 58px 28px; }
  .private-close h2 { font-size: clamp(3.5rem, 12vw, 5rem); }
  .private-close-action > p:first-child { max-width: 380px; }
  .private-close .private-wedding-link { display: block; margin-top: 35px; padding-top: 18px; }
  .private-wedding-link .text-link { display: flex; width: fit-content; }
}
@media (max-width: 389px) {
  .private-wrap { width: calc(100% - 40px); }
  .private-hero .eyebrow { max-width: 260px; }
  .private-hero h1 { font-size: 3.2rem; }
  .private-hero-inner { padding-bottom: 270px; }
  .private-hero-image, .private-hero-shade { height: 270px; }
  .private-page h2 { font-size: 2.6rem; }
  .private-close h2 { font-size: 3.5rem; }
}

/* Expanded service copy: open editorial rows with comfortable reading measures. */
.private-editorial-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 9%; align-items: start; }
.private-editorial h2 { font-size: clamp(2.7rem, 3.8vw, 3.8rem); line-height: 1.08; margin: 0; max-width: 15ch; text-wrap: pretty; }
.private-prose { max-width: 65ch; min-width: 0; }
.private-prose p { font-size: 1rem; line-height: 1.85; margin: 0; }
.private-prose p + p { margin-top: 1.35em; }
.private-prose a, .private-wedding-link a { text-decoration-color: var(--brass); text-underline-offset: 5px; text-decoration-thickness: 1px; }
.private-prose a:hover, .private-wedding-link a:hover { text-decoration-thickness: 2px; }
.private-dark { background: var(--ink); }
.private-dark .private-prose { color: #d6c9bb; }
.private-wine { background: var(--wine); }
.private-wine .private-prose { color: #efe1da; }
.private-cream { background: var(--cream); color: #3e3330; }
.private-cream h2 { color: var(--wine); }
.private-cream + .private-cream { padding-top: 0; }
.private-cream + .private-cream > .private-wrap { padding-top: clamp(48px, 5vw, 80px); border-top: 1px solid #a58a5a70; }
.private-photo-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 7%; align-items: center; }
.private-photo-copy h2 { margin-bottom: 28px; max-width: 16ch; }
.private-editorial-photo { margin: 0; min-width: 0; }
.private-editorial-photo img { display: block; width: 100%; height: auto; }
.private-faq-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 9%; align-items: start; }
.private-faq h2 { font-size: clamp(2.7rem, 3.8vw, 3.8rem); line-height: 1.08; max-width: 15ch; margin: 0; }
.private-faq .faq-list { min-width: 0; max-width: 65ch; }
.private-faq .faq-list details p { font-size: 1rem; line-height: 1.85; }
.private-close .private-wedding-link { display: block; }
@media (max-width: 1099px) {
  .private-editorial-layout, .private-faq-layout { column-gap: 7%; }
  .private-photo-layout { gap: 5%; }
  .private-editorial h2, .private-faq h2 { font-size: 3rem; }
}
@media (max-width: 899px) {
  .private-photo-layout { grid-template-columns: 1fr; gap: 36px; }
  .private-photo-copy { max-width: 65ch; }
  .private-photo-copy h2 { max-width: 22ch; }
  .private-editorial-photo { max-width: 760px; }
}
@media (max-width: 759px) {
  .private-editorial-layout, .private-faq-layout { grid-template-columns: 1fr; gap: 26px; }
  .private-editorial h2, .private-faq h2 { font-size: clamp(2.5rem, 8.5vw, 3.4rem); max-width: 22ch; }
  .private-prose p { line-height: 1.8; }
  .private-cream + .private-cream > .private-wrap { padding-top: 40px; }
  .private-photo-copy h2 { margin-bottom: 26px; }
  .private-faq h2 { margin: 0; }
}
