/* Wide-screen editorial layouts; retain the existing phone layouts. */
@media (min-width: 821px) {
  body.estate-home { overflow: auto; }
  .estate-home .choice {
    position: relative; min-height: 100svh; display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 100px minmax(590px, 1fr) 60px;
  }
  .estate-home .crest {
    position: static; transform: none; grid-column: 1 / -1; grid-row: 1;
    display: flex; align-items: center; justify-content: center; gap: 18px;
    padding: 20px; background: #191510;
  }
  .estate-home .crest .mark { width: 48px; height: 48px; font-size: 24px; margin: 0; }
  .estate-home .crest .estate { margin: 0; font-size: 12px; letter-spacing: .32em; }
  .estate-home .panel { grid-row: 2; min-height: 590px; }
  .estate-home #panelWed { grid-column: 1; border-right: 1px solid rgba(201,173,114,.35); }
  .estate-home #panelEve { grid-column: 2; }
  .estate-home .divider { display: none; }
  .estate-home .panel-label { justify-content: flex-end; align-items: flex-start; text-align: left; padding: 60px clamp(32px, 5vw, 88px); }
  .estate-home .panel-label h2 { font-size: clamp(64px, 6.5vw, 104px); letter-spacing: -.035em; }
  .estate-home .panel-label .eyebrow { font-size: 11px; letter-spacing: .23em; text-indent: 0; }
  .estate-home .panel-label p.sub { font-size: 21px; line-height: 1.5; max-width: 35ch; min-height: 108px; }
  .estate-home .panel-label p.sub small { display: inline-block; margin-top: 10px; font-size: 13px; }
  .estate-home .enter-pill { border-radius: 0; margin-top: 24px; padding: 16px 26px; letter-spacing: .2em; }
  .estate-home .panel::after { background: linear-gradient(180deg,rgba(25,21,16,.04) 20%,rgba(25,21,16,.32) 45%,rgba(25,21,16,.92) 100%); }
  .estate-home #bgWed { background-position: center 40%; }
  .estate-home #bgEve { background-position: center 25%; }
  .estate-home .foot-links { position: static; grid-row: 3; grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: 20px; padding: 10px 20px; }
  .estate-home .foot-links a { color: #c9bfac; padding: 10px; }
  .estate-home .blossom-field, .estate-home .laser-layer, .estate-home .crowd-motion { opacity: .35; }
  .estate-home .panel:focus-visible { outline: 3px solid #c9ad72; outline-offset: -6px; }

  .weddings-page .topbar-inner, .events-dark .topbar-inner { max-width: 1360px; }
  .weddings-page .topbar, .events-dark .topbar { padding: 16px 0; }
  .weddings-page .nav-cta, .weddings-page .cta-main, .events-dark .nav-cta { animation: none; }
  .weddings-page .hero { height: min(820px, 90svh); min-height: 650px; }
  .weddings-page .hero-veil { background: linear-gradient(90deg,rgba(25,30,23,.76),rgba(25,30,23,.24) 65%,rgba(25,30,23,.1)); }
  .weddings-page .hero-content { max-width: 1360px; margin: auto; align-items: flex-start; text-align: left; padding: 120px 56px 64px; }
  .weddings-page .hero h1 { max-width: 10ch; font-size: clamp(68px,7vw,108px); line-height: .98; letter-spacing: -.025em; text-transform: none; }
  .weddings-page .hero-sub { max-width: 35ch; margin-top: 24px; font-size: 24px; }
  .weddings-page .opening-line { max-width: 58ch; font-size: 12px; letter-spacing: .1em; line-height: 1.8; padding: 16px 0; margin: 24px 0; }
  .weddings-page .hero .render-note { max-width: 62ch; font-size: 10px; letter-spacing: .09em; }
  .weddings-page .intro { max-width: 1180px; padding: 90px 40px; display: grid; grid-template-columns: 240px minmax(0,1fr); column-gap: 72px; text-align: left; align-items: start; }
  .weddings-page .intro .brand-mark { grid-column: 1; grid-row: 1 / 5; width: 240px; height: auto; margin: auto; align-self: center; }
  .weddings-page .intro > :not(.brand-mark) { grid-column: 2; }
  .weddings-page .intro h2 { max-width: 20ch; font-size: 48px; line-height: 1.1; }
  .weddings-page .intro .lede { font-size: 21px; margin: 0; line-height: 1.65; }
  .weddings-page .intro .drive-times { margin-top: 20px; }
  .weddings-page .altars, .weddings-page .gallery-section { max-width: 1360px; padding-left: 56px; padding-right: 56px; }
  .weddings-page .section-head { max-width: 820px; margin: 0 auto 48px; }
  .weddings-page .section-head h2 { font-size: 48px; line-height: 1.15; }
  .weddings-page .altar-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .weddings-page .altar-card { background: transparent; border: 0; border-bottom: 1px solid var(--line); }
  .weddings-page .altar-card .imgwrap { aspect-ratio: 4 / 3; }
  .weddings-page .altar-card-body { padding: 24px 0 28px; }
  .weddings-page .altar-card-body h3 { font-size: 30px; }
  .weddings-page .altar-card-body p { font-size: 18px; }
  .weddings-page .altar-card .eyebrow { font-size: 11px; letter-spacing: .12em; min-height: 34px; }
  .weddings-page .wgallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
  .weddings-page .wgallery .ph, .weddings-page .wgallery .ph.wide { aspect-ratio: 4 / 3; }
  .weddings-page .wgallery figcaption { font-size: 11px; letter-spacing: .08em; margin-top: 12px; }
  .weddings-page .feast { padding-top: 80px; padding-bottom: 80px; }
  .weddings-page .feast-grid { max-width: 1248px; gap: 24px; }
  .weddings-page .feast-wide { max-height: 600px; }
  .weddings-page .request { padding-top: 80px; padding-bottom: 80px; }
  .events-dark .ev-hero { height: min(820px,90svh); min-height: 650px; }
  .events-dark .ev-hero-content { max-width: 1360px; margin: auto; text-align: left; padding: 0 56px; bottom: 64px; }
  .events-dark .ev-hero-content h1 { font-size: clamp(64px,7vw,100px); letter-spacing: -.025em; text-transform: none; max-width: 13ch; line-height: 1; }
  .events-dark .ev-hero-sub { font-size: 23px; max-width: 42ch; }
  .events-dark .ev-section { max-width: 1360px; padding: 80px 56px; }
  .events-dark .ev-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
  .events-dark .ev-card-body { padding: 24px; }
  .events-dark .ev-card-body h3 { font-size: 29px; }
  .events-dark .ev-card-body p { font-size: 18px; }
}
@media (min-width: 821px) and (max-width: 1050px) {
  .weddings-page .altar-grid, .events-dark .ev-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .weddings-page .intro { grid-template-columns: 180px minmax(0,1fr); column-gap: 40px; }
  .weddings-page .intro .brand-mark { width: 180px; }
}
@media (max-width: 820px) {
  .weddings-page .altar-grid, .events-dark .ev-grid { min-width: 0; }
  .weddings-page .altar-card, .events-dark .ev-card { min-width: 0; }
}

/* Equal, full-bleed homepage photos; crop the sides instead of letterboxing. */
.estate-home .panel .bg { inset: 0; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; }
.estate-home #bgWed { background-position: center 52%; }
@media (min-width: 821px) {
  .estate-home .panel { min-width: 0; min-height: 590px; }
  .estate-home #panelWed { border-right: 0; }
}

/* Center the couple in a full-panel crop, matching the owl panel footprint. */
.estate-home .panel video#bgWed {
  inset: -30% 0 auto; width: 100%; height: 130%;
  object-fit: cover; object-position: 43% 50%; background: #191510;
  transform: none !important; translate: none !important;
}
@media (max-width: 820px) {
  .estate-home #panelWed .panel-label { justify-content: flex-end; padding: 16px; }
  .estate-home #panelWed .panel-label p.sub { font-size: 14px; line-height: 1.35; max-width: none; }
  .estate-home #panelWed .panel-label p.sub small { font-size: 11px; }
}
