/* Shared desktop alignment. This stylesheet is loaded only above 800px. */
:root {
  --content-width: 1120px;
  --page-gutter: max(6vw, calc((100vw - var(--content-width)) / 2));
  --section-space: clamp(64px, 6vw, 96px);
}
.nav { padding-inline: var(--page-gutter); }
.hero-copy { left: var(--page-gutter); right: var(--page-gutter); max-width: var(--content-width); bottom: 48px; }
.hero h1 { font-size: clamp(4rem, 7.2vw, 7.5rem); line-height: 1.04; }
.hero-line { max-width: 620px; margin-top: 24px; }
.section-pad { padding: var(--section-space) var(--page-gutter); }
.section-index { margin: 0 0 24px; line-height: 1.4; }
.section-head,
.reel .section-head,
.weddings .section-head { display: block; max-width: none; margin: 0 0 32px; text-align: left; }
.section-head h2,
.statement h2,
.international h2,
.cap-copy h2,
.contact h2 { font-size: clamp(3.5rem, 5.5vw, 5.5rem); line-height: 1.08; margin: 0; }
.statement,
.international,
.contact { display: block; }
.statement.section-pad,
.international.section-pad,
.contact.section-pad { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.statement > div > p,
.international > div > p { max-width: 720px; margin: 28px 0 0; line-height: 1.85; }
.reel.section-pad { padding-top: 56px; padding-bottom: 64px; }
.reel .section-head h2 { margin-top: 0; }
.reel .section-head .button { margin: 28px auto 0; }
.video-frame { max-width: none; margin: 0; }
.gallery { padding: 16px var(--page-gutter); gap: 16px; }
.partner-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.lead { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.25; }
.partner-copy p { margin: 0 0 24px; }
.partner-copy p:last-child { margin-bottom: 0; }
.partners.section-pad { padding-bottom: 0; }
.partners .audiences { margin: 56px calc(-1 * var(--page-gutter)) 0; padding: 64px var(--page-gutter); }
.capabilities.section-pad { padding-top: var(--section-space); padding-bottom: 64px; }
.cap-copy { max-width: none; margin: 0; }
.cap-copy ul { margin: 36px 0 0; }
.cap-copy li { grid-template-columns: 60px minmax(0, 1fr); }
.weddings.section-pad { padding-top: 64px; padding-bottom: 64px; }
.wedding-description { max-width: 720px; margin: 0 0 36px; }
.wedding-photo { max-width: none; width: 100%; margin: 0; }
.wedding-photo img { width: 100%; height: auto; }
.woodland-image { padding-inline: var(--page-gutter); }
.woodland-frame { max-width: none; margin: 0; }
.contact-intro { max-width: 720px; margin: 28px 0 0; }
.contact-links { margin-top: 36px; }
footer { padding: 40px var(--page-gutter); gap: 32px; align-items: center; }
footer p { margin: 0; }
