/* Public wedding pages: warm black, ivory type, and photographs in the foreground. */
.editorial-site{--color-bg:#0d0c0a;--color-bg-alt:#161410;--color-ink:#f5f0e7;--color-ink-dim:#c6beb0;--color-accent:#c9ad73;--color-line:rgba(245,240,231,.18);background:var(--color-bg);color:var(--color-ink)}
.editorial-site [hidden]{display:none!important}
.editorial-site main{overflow:clip}
.editorial-site .site-header{background:var(--color-bg);border-bottom:1px solid var(--color-line)}
.editorial-site .site-header__link{font-size:14px}.editorial-site .site-header__nav{gap:18px}
.editorial-site .site-header__socials{display:none}
.editorial-site .site-menu{overflow-y:auto;overscroll-behavior:contain}
.editorial-site .site-menu__nav{gap:14px}
.editorial-site .site-menu__link{font-size:clamp(1.35rem,4vw,2rem)}
.editorial-site .menu-date{color:var(--color-accent)}
.skip-link{position:fixed;top:8px;left:12px;z-index:500;padding:12px 18px;background:var(--color-accent);color:#17130c;transform:translateY(-150%)}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--color-accent,#c9ad73);outline-offset:5px}
.editorial-site h1,.editorial-site h2,.editorial-site h3{font-family:var(--font-display,Fraunces,Georgia,serif);font-weight:400;letter-spacing:-.035em}
.editorial-site h1,.editorial-site h2{margin:14px 0 26px;font-size:clamp(2.35rem,4.5vw,4rem);line-height:1.08}
.editorial-site h1 em,.editorial-site h2 em{font-weight:400;color:var(--color-accent)}
.editorial-site h3{font-size:1.5rem;line-height:1.25;margin:0 0 18px}
.editorial-site p{line-height:1.8}
.editorial-site .eyebrow{line-height:1.6;font-size:.75rem;letter-spacing:.15em;color:var(--color-accent);text-transform:uppercase}
.editorial-site .fine{font-size:.875rem;line-height:1.7;color:var(--color-ink-dim)}
.editorial-site .fine a,.editorial-site p a{color:var(--color-accent);text-underline-offset:4px}
.page-section{padding:84px 0;scroll-margin-top:84px}
.section-intro{max-width:680px;color:var(--color-ink-dim);margin:0 0 32px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;color:var(--color-ink-dim)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin:28px 0 16px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:15px 25px;border:1px solid var(--color-accent);border-radius:99px;background:var(--color-accent);color:#17130c;font:600 .9375rem/1.5 var(--font-body,Inter,sans-serif);text-align:center;text-decoration:none;cursor:pointer}
.button:hover{background:#ddc38f;border-color:#ddc38f}
.quiet-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--color-ink);font:500 1rem/1.5 var(--font-body,Inter,sans-serif);text-decoration:underline;text-underline-offset:6px;cursor:pointer}
.quiet-link:hover{color:var(--color-accent)}
.opening{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);max-width:1600px;margin:0 auto;padding:110px 4vw 50px}
.opening__photo{min-width:0}.opening__photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.opening__photo>p{font-size:.875rem;color:var(--color-ink-dim);margin:12px 0 0}
.opening__copy{max-width:510px;padding:28px 0}
.editorial-site .opening h1{font-size:clamp(2.65rem,4.2vw,4.4rem);margin:22px 0}
.opening__intro{color:var(--color-ink-dim);font-size:1.0625rem;max-width:450px}
.opening__price{font-size:.875rem;margin:22px 0 0}.opening__price strong{color:var(--color-accent)}
.weddings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.wedding-card{display:block;color:var(--color-ink);text-decoration:none;min-width:0}
.wedding-card__image{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--color-bg-alt)}
.wedding-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.wedding-card:hover img{transform:scale(1.025)}
.wedding-card__names{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font:400 1.35rem/1.4 var(--font-display,Fraunces,serif)}
.wedding-card__names>span{color:var(--color-accent)}
.wedding-card__venue{display:block;margin-top:7px;font-size:.875rem;line-height:1.7;color:var(--color-ink-dim)}
.couple-notes{padding:42px 0 46px;border-block:1px solid var(--color-line);background:var(--color-bg-alt)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:26px 0 18px}
.review-grid figure{display:flex;flex-direction:column;margin:0;padding-right:24px;border-right:1px solid var(--color-line)}
.review-grid figure:last-child{border:0;padding-right:0}
.review-grid blockquote{font:400 1.08rem/1.7 var(--font-display,Fraunces,serif);margin:0 0 20px}
.review-grid figcaption{font-size:.875rem;color:var(--color-ink-dim);margin-top:auto}.review-grid a{color:inherit;text-underline-offset:4px}
.film-layout{display:grid;grid-template-columns:1fr 1.8fr;align-items:center;gap:64px}
.film-layout>div:first-child>p:not(.eyebrow){max-width:330px;font-size:1rem;color:var(--color-ink-dim)}
.film-player{min-width:0}.film-poster{display:block;position:relative;width:100%;padding:0;border:0;background:#050403;cursor:pointer;isolation:isolate}
.film-poster::after{content:"";position:absolute;inset:35% 0 0;z-index:0;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.film-poster img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.play-icon{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--color-accent);color:#17130c;font-size:22px;z-index:1}
.film-poster__label{position:absolute;bottom:22px;left:24px;color:#fff;font:500 .875rem var(--font-body,Inter,sans-serif);z-index:1}
.film-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#050403}
.film-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.875rem!important;color:var(--color-ink-dim);margin:12px 0 0}
.film-caption a{color:var(--color-accent)}
.about-section{background:var(--color-bg-alt)}
.about-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}
.about-photo img{display:block;width:100%;height:auto}
.about-layout>div:last-child>p:not(.eyebrow){color:var(--color-ink-dim);font-size:1rem;max-width:500px}
.about-layout>div:last-child>p+p,.coverage-details p+p{margin-top:16px}
.about-layout .experience{margin-top:24px;color:var(--color-accent)!important;font-size:.875rem!important}
.pricing-section .section-intro{max-width:620px}
.coverage-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:32px 0 24px}
.coverage-choice{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0;padding:28px 24px;border:1px solid var(--color-line);border-radius:6px;background:var(--color-bg-alt);color:var(--color-ink);text-align:left;font:400 1rem/1.7 var(--font-body,Inter,sans-serif);cursor:pointer}
.coverage-choice strong{font:400 1.75rem var(--font-display,Fraunces,serif)}
.coverage-choice strong>span{color:var(--color-accent)}
.coverage-choice small{color:var(--color-ink-dim);font-size:.875rem;line-height:1.8}
.choice-action{display:flex;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:18px;border-top:1px solid var(--color-line);font-size:.875rem;font-weight:600;color:var(--color-accent)}
.coverage-choice:hover,.coverage-choice[aria-pressed=true]{border-color:var(--color-accent)}
.coverage-choice[aria-pressed=true]{background:#211d15;box-shadow:inset 0 3px var(--color-accent)}
.coverage-custom{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:22px 0}
.coverage-custom label{font-size:.875rem}.coverage-custom select{min-height:48px;min-width:230px;padding:10px 16px;border:1px solid var(--color-line);border-radius:4px;background:var(--color-bg-alt);color:var(--color-ink);font:400 .9rem var(--font-body,Inter,sans-serif)}
.coverage-summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid var(--color-accent);background:var(--color-bg-alt);border-radius:6px;margin:24px 0;scroll-margin-top:100px}
.coverage-summary strong{font:400 1.6rem var(--font-display,Fraunces,serif)}
.coverage-summary p{font-size:.875rem;color:var(--color-ink-dim);margin:6px 0 0}
.coverage-summary .button{flex-shrink:0}
.planning-help{font-size:.875rem;color:var(--color-ink-dim)}
.coverage-details{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:42px 0}
.coverage-details p,.coverage-details li{font-size:1rem;color:var(--color-ink-dim);line-height:1.9}
.coverage-details ul{padding-left:20px;margin:0}.coverage-details li{margin-bottom:12px}.coverage-details li::marker{color:var(--color-accent)}
.extras{padding:24px 0;border-block:1px solid var(--color-line);scroll-margin-top:94px}
.extras>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;font:400 1.45rem/1.4 var(--font-display,Fraunces,serif);list-style:none}
.extras>summary::-webkit-details-marker{display:none}.extras>summary>span{color:var(--color-accent)}.extras[open]>summary>span{transform:rotate(45deg)}
.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.extras-grid article{padding:24px;border:1px solid var(--color-line);border-radius:4px}
.extras-grid h3{font-size:1.3rem}.extras-grid p{font-size:1rem;color:var(--color-ink-dim)}
.extras-grid .extra-price{font:400 1.75rem var(--font-display,Fraunces,serif);color:var(--color-accent)}
.extras-grid a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--color-accent);text-underline-offset:4px}
.resources-section{background:var(--color-bg-alt)}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.resource-grid>a{display:block;padding:24px 0;border-top:1px solid var(--color-line);color:var(--color-ink);font:400 1.35rem var(--font-display,Fraunces,serif);text-decoration:none;scroll-margin-top:100px}
.resource-grid>a span{display:block;color:var(--color-ink-dim);font:400 .875rem/1.8 var(--font-body,Inter,sans-serif);margin-top:10px}
.resource-grid>a:hover{color:var(--color-accent)}
.more-guides{margin-top:16px;font-size:.875rem}.more-guides summary{padding:12px 0;cursor:pointer;color:var(--color-accent)}
.guide-links{display:flex;flex-wrap:wrap;gap:8px 24px}.guide-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-ink);text-underline-offset:5px}
.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:64px}
.faq-layout details{border-bottom:1px solid var(--color-line);padding:0 0 18px;margin-bottom:18px}
.faq-layout summary{cursor:pointer;line-height:1.7;padding:6px 0;font-size:.93rem}
.faq-layout details p{font-size:1rem;color:var(--color-ink-dim);padding:6px 0}
.contact-section{background:var(--color-bg-alt);text-align:center}
.contact-section>div>p:not(.eyebrow){max-width:510px;margin:0 auto;color:var(--color-ink-dim)}
.contact-section .actions{justify-content:center}.contact-section .fine{margin-top:22px}
.page-intro,.story-intro{padding-top:120px}.page-intro .eyebrow,.story-intro .eyebrow{margin-top:40px}
.all-weddings{row-gap:44px;margin-top:48px}
.story-intro{padding-bottom:36px}.story-intro h1{font-size:clamp(2.6rem,6vw,5rem)}
.story-location{color:var(--color-accent)}.story-intro .section-intro{margin:18px 0}
.story-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px}
.story-lead img{display:block;width:100%;max-height:78svh;object-fit:contain;background:#080705;height:auto}
.story-gallery{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-top:28px}
.story-photo{display:block;padding:0;border:0;background:none;cursor:zoom-in}.story-photo img{display:block;width:100%;height:auto}
.story-photo:nth-child(5n){grid-column:1/-1}
.story-planning{background:var(--color-bg-alt)}
.planning-example{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;padding:32px;border:1px solid var(--color-line)}
.planning-example p{color:var(--color-ink-dim);max-width:530px}.planning-example>div:last-child{display:flex;align-items:flex-start;flex-direction:column;gap:14px}
.planning-example strong{font:400 1.65rem var(--font-display,Fraunces,serif);color:var(--color-accent)}
.photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:60px 60px 24px;border:0;background:#080705;color:var(--color-ink);overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.photo-viewer::backdrop{background:#080705}
.photo-viewer img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}.photo-viewer p{font-size:.875rem;margin:0;text-align:center}
.viewer-close,.viewer-prev,.viewer-next{position:absolute;min-width:44px;min-height:44px;background:#17130cbf;color:#fff;border:1px solid #ffffff50;border-radius:99px;font:400 1.5rem var(--font-body,Inter,sans-serif);cursor:pointer}
.viewer-close{top:12px;right:16px}.viewer-prev{left:10px;top:45%}.viewer-next{right:10px;top:45%}
body:has(dialog[open]){overflow:hidden}
@media(min-width:1201px){.editorial-site .site-header__nav{display:flex!important}.editorial-site .site-header__cta{display:inline-block!important}.editorial-site .site-header__burger{display:none!important}}
@media(max-width:1080px){.opening{gap:28px;padding-inline:24px}.editorial-site .opening h1{font-size:clamp(2.3rem,4.5vw,3.3rem)}.film-layout,.about-layout,.faq-layout{gap:36px}.coverage-choice{padding:24px 18px}.coverage-choice strong{font-size:1.5rem}.extras-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){
 .page-section{padding:52px 0;scroll-margin-top:84px}.editorial-site h1,.editorial-site h2{font-size:clamp(2.15rem,8.5vw,3rem)}
 .opening{display:flex;flex-direction:column;gap:0;padding:70px 0 12px}.opening__photo>p{display:none}.opening__photo{width:100%}.opening__copy{padding:30px 22px 24px;max-width:100%;text-align:center}.editorial-site .opening h1{font-size:clamp(2.5rem,10vw,3.5rem);margin:18px 0 22px}.opening__intro{font-size:1rem;max-width:440px;margin-inline:auto}.opening__copy .actions{justify-content:center;gap:14px}.opening__copy .quiet-link{font-size:.875rem}.opening__copy .fine{font-size:.875rem}.opening__price{font-size:.875rem}
 .section-heading{display:block;margin-bottom:28px}.section-heading>.quiet-link{margin-top:16px}.section-heading>p{max-width:100%;margin-top:22px}
 .weddings-grid{grid-template-columns:1fr;gap:30px}.wedding-card__image{aspect-ratio:5/4}.wedding-card__names{margin-top:14px}.wedding-card__venue{margin-top:5px}
 .review-grid{grid-template-columns:1fr;gap:22px;margin-bottom:10px}.review-grid figure{border:0;border-bottom:1px solid var(--color-line);padding:0 0 22px}.review-grid blockquote{font-size:1rem;margin-bottom:12px}.couple-notes{padding:36px 0}.couple-notes .quiet-link{margin-top:0}
 .film-layout,.about-layout,.coverage-details,.faq-layout,.planning-example{grid-template-columns:1fr;gap:28px}.film-layout h2 br{display:none}.film-layout h2 em::before{content:' '}.film-layout>div:first-child>p:not(.eyebrow){max-width:100%}.film-poster__label{left:16px;bottom:14px;font-size:.875rem}.film-caption{font-size:.875rem!important}.about-layout>div:last-child>p:not(.eyebrow){font-size:1rem}
 .coverage-choices{grid-template-columns:1fr;gap:14px;margin:24px 0}.coverage-choice{padding:24px;gap:14px}.coverage-choice strong{font-size:1.75rem}.coverage-choice small{font-size:.875rem}.choice-action{padding-top:14px}.coverage-custom{display:block}.coverage-custom label{display:block;margin-bottom:12px}.coverage-custom select{width:100%;font-size:16px}.coverage-summary{flex-direction:column;align-items:stretch;gap:20px}.coverage-summary .button{width:100%}.coverage-details{margin:32px 0;gap:24px}.coverage-details h3{font-size:1.35rem}.planning-help{font-size:.875rem}.extras>summary{font-size:1.25rem}.extras-grid{grid-template-columns:1fr;gap:14px}.extras-grid article{padding:22px}
 .resource-grid{grid-template-columns:1fr}.resource-grid>a{font-size:1.3rem}.faq-layout{gap:22px}.faq-layout h2{margin-bottom:0}.contact-section .actions{gap:12px;flex-direction:column}.contact-section .fine{font-size:.875rem}
 .page-intro,.story-intro{padding-top:100px}.page-intro .eyebrow,.story-intro .eyebrow{margin-top:28px}.story-intro h1{font-size:clamp(2.5rem,10vw,3.5rem)}.story-intro .section-intro{font-size:.9rem}.story-actions{gap:8px 20px}.story-gallery{grid-template-columns:1fr;gap:16px}.story-photo:nth-child(5n){grid-column:auto}.story-lead img{max-height:none}.planning-example{padding:24px}.planning-example h3{font-size:1.4rem}.photo-viewer{padding:64px 12px 28px}.photo-viewer img{max-height:calc(100dvh - 190px)}.photo-viewer p{font-size:.875rem;padding:0 32px}.viewer-prev,.viewer-next{top:auto;bottom:16px}.viewer-prev{left:22px}.viewer-next{right:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Compact resources sit after the main inquiry, with all planning links retained. */
.resources-section{padding:44px 0;border-top:1px solid var(--color-line);background:var(--color-bg)}
.resources-section .section-heading{margin-bottom:24px;align-items:center}
.editorial-site .resources-section h2{font-size:2rem;line-height:1.2;margin:10px 0 0}
.resources-section .section-heading>p{font-size:.875rem;max-width:380px}
.resources-section .resource-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.resources-section .resource-grid>a{padding:18px 0 8px;font-size:1.125rem;line-height:1.5}
.resources-section .resource-grid>a span{font-size:.875rem;line-height:1.6;margin-top:6px}
.editorial-site .site-header__cta{font-size:14px}
.editorial-site .footer__nav a,.editorial-site .footer__bottom{font-size:14px}
@media(max-width:1080px){.resources-section .resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){
 .editorial-site .opening h1{font-size:clamp(2.1rem,8.8vw,3.5rem)}
 .resources-section{padding:36px 0}
 .resources-section .section-heading>p{margin-top:14px}
 .resources-section .resource-grid{grid-template-columns:1fr;gap:4px}
 .resources-section .resource-grid>a{padding:14px 0}
 .resources-section .more-guides{margin-top:8px}
}
