:root { --event-ink:#242822; --event-muted:#60635b; --event-paper:#f7f5ef; --event-line:#ddd9cf; --event-gold:#8c6b3f; --event-dark:#222e27; }
body.events-page { background:var(--event-paper); color:var(--event-ink); }
.events-page main { padding-top:90px; }
/* Match the main site's navigation while keeping the event content palette. */
.events-page .header,.events-page .mobile-menu { --color-gold:#d4af37; --color-gold-hover:#b89126; --color-border:#efedea; line-height:1.7; }
@media (min-width:1200px) and (max-width:1279.98px) {
  .events-page .desktop-menu { display:block; }
  .events-page .mobile-toggle { display:none; }
  .events-page .nav-wrapper { height:90px; }
  .events-page .header-controls { gap:30px; }
  .events-page .btn-book-nav { padding:10px 24px; font-size:11px; }
}
@media (max-width:1199.98px) {
  .events-page main { padding-top:100px; }
  .events-page .event-chapters { top:100px; }
}
@media (max-width:768px) {
  .events-page .header .logo .sub-text { font-size:10px; }
}
.event-wrap { width:min(1280px, calc(100% - 100px)); margin-inline:auto; }
.events-page main h1,.events-page main h2,.events-page main h3 { font-family:var(--font-accent),Georgia,serif; font-weight:400; }
.events-page main h1 { font-size:clamp(54px,5.3vw,82px); line-height:1.1; letter-spacing:-2.5px; }
.events-page main h2 { font-size:clamp(35px,3.5vw,52px); line-height:1.2; letter-spacing:-1.1px; }
.events-page main h3 { font-size:29px; line-height:1.3; }
.events-page main p { font-size:14px; line-height:1.95; }
.events-page em { font-weight:400; }
.events-page .eyebrow { font-size:10px; font-weight:600; letter-spacing:2.1px; line-height:1.7; text-transform:uppercase; color:var(--event-gold); margin-bottom:22px; }
.events-page main section[id],#elopements { scroll-margin-top:160px; }
.events-page main a:focus-visible,.events-page main button:focus-visible,.events-page summary:focus-visible { outline:2px solid var(--event-gold); outline-offset:5px; }
.event-button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; padding:18px 26px; border:1px solid var(--event-dark); background:var(--event-dark); color:white; font:600 10px/1.5 var(--font-body),sans-serif; letter-spacing:1.4px; text-transform:uppercase; transition:background .2s; }
.event-button > span[aria-hidden] { font-size:20px; line-height:1; font-weight:400; }
.event-button:hover { background:#445145; border-color:#445145; color:white; }
.event-link { display:inline-flex; align-items:center; gap:25px; padding:12px 0; border-bottom:1px solid #a99b80; font-size:12px; font-weight:500; line-height:1.6; }
.event-link > span { font-size:20px; line-height:1; }
.event-link:hover { color:var(--event-gold); }
.events-hero { display:grid; grid-template-columns:44% 56%; min-height:660px; }
.hero-copy { padding:65px 45px 65px max(50px,calc((100vw - 1280px) / 2)); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.hero-copy .eyebrow { font-size:9px; letter-spacing:1.8px; margin-bottom:34px; }
.hero-copy h1 em { display:block; white-space:nowrap; }
.events-page .hero-intro { color:var(--event-muted); margin-top:28px; font-size:14px; line-height:2; }
.hero-copy .event-button { margin-top:32px; }
.events-page .hero-note { font-size:9px; letter-spacing:.4px; margin-top:22px; color:var(--event-muted); }
.hero-photo { position:relative; min-width:0; }
.hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.hero-photo figcaption { position:absolute; inset:auto 0 0; padding:70px 28px 24px; display:flex; justify-content:space-between; gap:12px; color:white; background:linear-gradient(transparent,#14251bd9); font-size:10px; letter-spacing:.8px; }
.event-chapters { position:sticky; top:90px; z-index:20; background:rgba(247,245,239,.98); border-bottom:1px solid var(--event-line); }
.event-chapters .event-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; }
.event-chapters a { font-size:11px; padding:15px 0; line-height:1.5; white-space:nowrap; }
.event-chapters a:hover { color:var(--event-gold); }
.event-chapters .chapter-inquire { font-weight:600; color:var(--event-gold); }
.chapter-inquire span { margin-left:12px; font-size:17px; }
.event-breadcrumb { display:flex; gap:12px; padding-top:24px; font-size:10px; color:var(--event-muted); }
.event-breadcrumb a:hover { color:var(--event-gold); }
.event-intro { padding-block:65px 45px; max-width:780px; text-align:center; }
.event-intro > p:last-child { max-width:690px; margin:28px auto 0; color:var(--event-muted); }
.event-split { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; padding-block:70px 115px; }
.ceremony-photos { position:relative; padding:0 35px 80px 0; }
.ceremony-main img { width:100%; height:520px; object-fit:cover; object-position:45% center; }
.ceremony-main figcaption { font:italic 16px/1.6 var(--font-accent),Georgia,serif; color:var(--event-gold); margin-top:16px; }
.ceremony-detail { position:absolute; right:-8px; bottom:0; width:56%; aspect-ratio:1.5; object-fit:cover; border:8px solid var(--event-paper); }
.editorial-copy > p:not(.eyebrow) { color:var(--event-muted); margin-top:20px; }
.events-page .editorial-copy .lead { font-size:17px; color:var(--event-ink); }
.occasion-detail { margin-top:30px; border-top:1px solid var(--event-line); padding-top:25px; }
.events-page .occasion-detail h3 { font-size:24px; margin-bottom:14px; }
.occasion-detail p { color:var(--event-muted); }
.editorial-copy .event-link { margin-top:20px; }
.secondary-link { margin-left:22px; }
.reception-section { padding-block:90px 100px; background:#fff; }
.reception-heading { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; margin-bottom:55px; }
.reception-heading > div:last-child p { color:var(--event-muted); margin-bottom:17px; }
.reception-gallery { display:grid; grid-template-columns:1.65fr 1fr; gap:35px; align-items:start; }
.reception-gallery img { width:100%; object-fit:cover; }
.dance-photo img { aspect-ratio:1.5; }
.table-photo { margin-top:110px; }
.table-photo img { aspect-ratio:1.1; }
.reception-gallery figcaption { font-size:11px; color:var(--event-muted); line-height:1.8; margin-top:20px; }
.reception-gallery figcaption span { display:block; font:27px/1.4 var(--font-accent),Georgia,serif; color:var(--event-ink); margin-bottom:8px; }
.gathering-section { background:var(--event-dark); color:#f5f3e9; padding-block:95px 100px; }
.gathering-section .eyebrow,.inquiry-section .eyebrow { color:#d6bc90; }
.gathering-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:10%; align-items:end; margin-bottom:50px; }
.gathering-heading > p { max-width:370px; color:#d6dcd4; }
.gathering-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:7%; align-items:center; }
.gathering-grid figure img { width:100%; aspect-ratio:1.24; object-fit:cover; }
.gathering-grid figcaption { font:italic 18px/1.6 var(--font-accent),Georgia,serif; color:#dac5a3; margin-top:20px; }
.gathering-list article { display:flex; gap:22px; padding-block:25px; border-top:1px solid #ffffff30; }
.gathering-list article > span { color:#d6bc90; font-size:10px; line-height:3; }
.gathering-list h3 { margin-bottom:13px; }
.gathering-list article p { color:#d6dcd4; font-size:13px; }
.gathering-list .event-link { border-color:#c3ad89; margin-top:5px; }
.gathering-list .event-link:hover { color:#e7d4b4; }
.lodging-section { display:grid; grid-template-columns:1fr 1.12fr; gap:10%; padding-block:110px; align-items:center; }
.lodging-copy > p:not(.eyebrow) { margin-top:25px; color:var(--event-muted); }
.lodging-copy .event-button { margin-top:30px; }
.lodging-copy .event-link { display:flex; width:fit-content; margin-top:15px; }
.lodging-collection > img { width:100%; aspect-ratio:1.6; object-fit:cover; }
.lodging-links > a { display:grid; grid-template-columns:1fr auto; gap:5px 20px; padding:23px 0; border-bottom:1px solid var(--event-line); }
.lodging-links > a > span:first-child { font:25px/1.4 var(--font-accent),Georgia,serif; }
.lodging-links small { grid-row:2; font-size:11px; color:var(--event-muted); }
.lodging-links > a > span:last-child { grid-column:2; grid-row:1/3; align-self:center; font-size:25px; color:var(--event-gold); }
.lodging-links a:hover span:first-child { color:var(--event-gold); }
.planning-section { background:#eeece4; padding-block:90px; }
.planning-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:10%; }
.planning-grid > div:first-child > p:not(.eyebrow) { color:var(--event-muted); margin-top:25px; max-width:330px; }
.planning-grid .event-link { margin-top:20px; }
.event-faqs details { border-bottom:1px solid #d1cdbf; }
.event-faqs details:first-child { border-top:1px solid #d1cdbf; }
.event-faqs summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; font-size:13px; font-weight:500; line-height:1.7; cursor:pointer; }
.event-faqs summary::-webkit-details-marker { display:none; }
.event-faqs summary::after { content:'+'; flex:0 0 18px; font:24px/1 Georgia,serif; color:var(--event-gold); }
.event-faqs details[open] summary::after { content:'−'; }
.event-faqs details p { padding:0 35px 25px 0; color:var(--event-muted); font-size:13px; }
.event-faqs a { text-decoration:underline; text-underline-offset:3px; }
.inquiry-section { background:var(--event-dark); color:#f7f5ef; padding-block:100px; }
.inquiry-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; align-items:start; }
.inquiry-copy > p:not(.eyebrow) { color:#d6dcd4; margin-top:25px; max-width:370px; }
.inquiry-phone { display:block; font:32px/1.6 var(--font-accent),Georgia,serif; margin-top:28px; }
.inquiry-email { display:inline-block; font-size:13px; margin-top:12px; border-bottom:1px solid #ffffff60; padding-bottom:5px; overflow-wrap:anywhere; }
.events-page .inquiry-address { font-size:12px; }
.planning-note { margin-top:45px; padding-top:28px; border-top:1px solid #ffffff30; }
.planning-note .eyebrow { display:block; margin-bottom:13px; }
.planning-note p { font-size:13px; color:#d6dcd4; max-width:340px; }
.event-form { position:relative; background:var(--event-paper); color:var(--event-ink); padding:42px; }
.events-page .event-form h3 { font-size:30px; }
.events-page .form-intro { font-size:11px; color:var(--event-muted); margin-top:10px; margin-bottom:28px; }
.event-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 20px; }
.form-field { min-width:0; }
.field-wide { grid-column:1/-1; }
.form-field label { display:block; font-size:11px; font-weight:500; margin-bottom:9px; line-height:1.6; }
.form-field label span { color:var(--event-muted); font-weight:400; }
.form-field input,.form-field select,.form-field textarea { width:100%; max-width:100%; min-height:46px; background:white; color:var(--event-ink); border:1px solid #ccc9bd; border-radius:0; padding:11px 12px; font:13px/1.6 var(--font-body),Arial,sans-serif; }
.form-field textarea { resize:vertical; min-height:135px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:2px solid #8c6b3f; outline-offset:2px; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#72766c; font-size:11px; }
.event-form .event-button { margin-top:25px; width:100%; }
.event-form .event-button:disabled { opacity:.65; cursor:wait; }
.events-page .form-note { font-size:10px; line-height:1.8; color:var(--event-muted); margin-top:16px; }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.events-page .form-status { font-size:12px; padding:16px; margin-top:20px; border:1px solid #b8c6b7; background:#edf3ec; }
.form-status[data-state="error"] { background:#fff0e9; border-color:#d6a58f; color:#713c2c; }
.form-status[hidden] { display:none; }
.events-page .footer { padding-block:65px 30px; }
.events-page .footer-links { line-height:1.8; }
.skip-link { position:fixed; top:-100px; left:18px; z-index:10010; background:white; color:var(--event-ink); padding:14px 20px; }
.skip-link:focus { top:12px; }
@media (max-width:1279.98px) {
  .event-wrap { width:calc(100% - 64px); }
  .events-hero { min-height:590px; }
  .hero-copy { padding-inline:32px; }
  .events-page main h1 { font-size:clamp(48px,5.8vw,70px); }
  .hero-copy .eyebrow { letter-spacing:1px; }
  .events-page .hero-note { font-size:8px; }
  .event-split { gap:6%; }
  .secondary-link { margin-left:0; margin-right:16px; }
  .ceremony-main img { height:480px; }
  .event-form { padding:30px; }
  .inquiry-grid { gap:6%; grid-template-columns:.8fr 1.2fr; }
}
@media (max-width:760px) {
  .event-wrap { width:calc(100% - 40px); }
  .events-page main h1 { font-size:clamp(49px,11vw,75px); letter-spacing:-1.8px; }
  .events-page main h2 { font-size:clamp(33px,7.7vw,46px); }
  .events-page main h3 { font-size:27px; }
  .events-page main p { font-size:13px; }
  .events-page .eyebrow { font-size:9px; letter-spacing:1.5px; margin-bottom:18px; }
  .events-hero { display:flex; flex-direction:column; min-height:0; }
  .hero-copy { padding:50px 24px 45px; }
  .hero-copy .eyebrow { font-size:8px; margin-bottom:24px; }
  .events-page .hero-intro { margin-top:24px; font-size:13px; }
  .hero-copy .event-button { margin-top:24px; }
  .events-page .hero-note { font-size:9px; margin-top:20px; }
  .hero-photo { height:360px; }
  .hero-photo img { object-position:center; }
  .hero-photo figcaption { font-size:9px; padding:55px 20px 20px; }
  .hero-photo figcaption span:last-child { display:none; }
  .event-chapters { overflow:auto; scrollbar-width:thin; }
  .event-chapters .event-wrap { width:max-content; margin:0; padding-inline:20px; min-height:64px; gap:28px; }
  .event-chapters a { font-size:10px; }
  .event-intro { padding-block:65px 20px; text-align:left; }
  .event-intro > p:last-child { margin-top:23px; }
  .event-split { display:flex; flex-direction:column; align-items:stretch; padding-block:35px 65px; gap:35px; }
  .ceremony-photos { padding:0 25px 65px 0; }
  .ceremony-main img { height:420px; }
  .ceremony-main figcaption { font-size:14px; max-width:150px; }
  .ceremony-detail { right:0; border-width:6px; }
  .events-page .editorial-copy .lead { font-size:16px; }
  .events-page .occasion-detail h3 { font-size:23px; }
  .secondary-link { margin-top:5px !important; }
  .reception-section { padding-block:65px; }
  .reception-heading { display:block; margin-bottom:30px; }
  .reception-heading > div:last-child { margin-top:25px; }
  .reception-gallery { display:block; }
  .table-photo { margin-top:35px; }
  .table-photo img { aspect-ratio:1.5; }
  .reception-gallery figcaption span { font-size:25px; }
  .gathering-section { padding-block:65px; }
  .gathering-heading { display:block; margin-bottom:32px; }
  .gathering-heading > p { margin-top:25px; }
  .gathering-grid { display:block; }
  .gathering-grid figure img { aspect-ratio:1.15; }
  .gathering-grid figcaption { font-size:16px; }
  .gathering-list { margin-top:35px; }
  .gathering-list article { gap:17px; }
  .lodging-section { display:block; padding-block:65px; }
  .lodging-collection { margin-top:38px; }
  .planning-section { padding-block:65px; }
  .planning-grid { display:block; }
  .event-faqs { margin-top:30px; }
  .event-faqs summary { font-size:12px; }
  .event-faqs details p { font-size:12px; padding-right:5px; }
  .inquiry-section { padding-block:65px; }
  .inquiry-grid { display:block; }
  .planning-note { margin-top:30px; }
  .event-form { padding:28px 22px; margin-top:35px; }
  .events-page .event-form h3 { font-size:27px; }
  .event-form-grid { grid-template-columns:1fr; gap:21px; }
  .form-field input,.form-field select,.form-field textarea { font-size:16px; }
  .form-field label { font-size:12px; }
  .event-button { padding:17px 22px; }
  .events-page .footer > .container { padding-inline:24px; }
}
@media (max-width:370px) {
  .hero-copy { padding-inline:20px; }
  .hero-copy .eyebrow { font-size:7px; }
  .events-page main h1 { font-size:45px; }
  .events-page .hero-note { font-size:8px; }
  .event-form { padding:25px 16px; }
  .events-page .event-form h3 { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .events-page * { transition:none !important; } }
