/* Wedding landing page: shared Fantasm type, colors and controls; portrait-led. */
.wedding-page{--wedding-paper:#F5F5F7;--wedding-ink:#191921}
.wedding-page .eyebrow{font-size:12px;line-height:1.6}
.wedding-page h2{font-size:clamp(44px,4.5vw,62px);line-height:1}
.wedding-page p{font-size:16px;line-height:1.8}
.wedding-hero{max-width:var(--max);margin:auto;background:#000;isolation:isolate}
.wedding-portrait{position:absolute;right:0;top:50%;width:62%;transform:translateY(-50%);z-index:0;pointer-events:none}
.wedding-portrait img{width:100%;height:auto;mask-image:linear-gradient(to right,transparent,#000 14%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 82%,transparent);mask-composite:intersect}
.wedding-hero .hero-copy p{font-size:16px;line-height:1.65;color:#D5D5DB}
.wedding-hero .hero-copy .lineups{font-size:12px}
.wedding-hero .actions{gap:20px}
.wedding-intro{background:var(--wedding-paper);color:var(--wedding-ink)}
.wedding-intro>.wrap{padding-block:56px}
.wedding-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.wedding-intro .eyebrow{color:var(--wedding-ink);border-left:3px solid var(--orange);padding-left:12px}
.wedding-intro p{color:#53535D}
.wedding-intro-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:32px}
.wedding-intro-details article{border-top:1px solid #CECED6;padding-top:22px}
.wedding-intro-details h3{font-size:32px;line-height:1.1}
.wedding-intro-details p{font-size:15px;margin-top:12px;max-width:54ch}
.wedding-intro-proof{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:18px;align-items:center;margin:32px 0 0;padding:27px 0 0;border-top:1px solid #CECED6}
.wedding-intro-quote-mark{font:70px/.8 Georgia,serif;color:var(--orange);align-self:start}
.wedding-intro-proof blockquote{margin:0;max-width:58ch}
.wedding-intro-proof blockquote p{color:var(--wedding-ink);font-size:17px;line-height:1.6;font-weight:600}
.wedding-intro-proof figcaption{font-size:12px;color:#53535D;margin-top:10px}
.wedding-intro-proof .text-link{min-height:44px;font-size:12px;border-color:#9C9CA4}
.wedding-intro-proof .text-link:hover,.wedding-intro-proof .text-link:focus-visible{color:var(--wedding-ink);border-color:var(--orange);text-decoration:none}
#wedding-reviews-title{scroll-margin-top:100px}
.wedding-music{padding-block:64px}
.wedding-music-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.wedding-music-copy>p{margin-top:20px;color:#BDBDC7}
.wedding-music-copy strong{color:var(--white)}
.wedding-song-links{display:flex;align-items:start;flex-direction:column;gap:8px;margin-top:22px}
.wedding-music .text-link{min-height:44px}
.wedding-download{display:inline-flex;align-items:center;gap:12px;font-size:14px;min-height:44px;border-bottom:1px solid #666;text-decoration:none}
.wedding-download span{font-size:12px;font-weight:700;text-decoration:none}
.wedding-download:hover,.wedding-download:focus-visible{color:var(--orange)}
.wedding-video{min-width:0}.wedding-video-frame{aspect-ratio:16/9;width:100%;background:#111}
.wedding-video .video-facade{min-height:0}
.wedding-video>p{font-size:14px;line-height:1.7;color:#BDBDC7;margin-top:16px}
.wedding-video>.text-link{margin-top:12px}
.wedding-themes{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}
.wedding-themes>p{font-size:14px;color:#BDBDC7;margin-bottom:14px}
.wedding-themes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.wedding-themes a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border-bottom:2px solid var(--wedding-theme);font-size:15px;font-weight:700}
.wedding-themes a:hover,.wedding-themes a:focus-visible{color:color-mix(in srgb,var(--wedding-theme) 75%,white)}
.wedding-reviews{padding-block:68px;border-top:1px solid var(--line)}
.wedding-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px}
.wedding-section-heading>p{color:#BDBDC7;font-size:15px;max-width:42ch}
.wedding-review-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:46px;border-top:1px solid var(--line);padding-top:34px}
.wedding-review{min-width:0;margin:0}
.wedding-quote-mark{display:block;color:var(--orange);font:70px/.8 Georgia,serif;height:42px}
.wedding-review blockquote{margin:0}
.wedding-review>blockquote p{font-size:20px;line-height:1.65;color:var(--white)}
.wedding-review figcaption{margin-top:22px;font-size:14px}
.wedding-review figcaption strong{display:block;font-weight:700}
.wedding-review figcaption>span{display:block;font-size:13px;color:#BDBDC7;margin-top:3px}
.wedding-review-family{border-left:1px solid var(--line);padding-left:40px}
.wedding-full-review{margin-top:22px}
.wedding-full-review summary{font-size:13px;min-height:44px;padding-block:11px;cursor:pointer;text-underline-offset:4px}
.wedding-full-review summary:hover{color:var(--hover)}
.wedding-full-review[open] summary{margin-bottom:10px}
.wedding-full-review blockquote p{font-size:15px;color:#D1D1D7}
.wedding-full-review>.wedding-review-context{font-size:12px;margin-top:15px;color:#ACACB7}
.wedding-coverage{background:var(--wedding-paper);color:var(--wedding-ink)}
.wedding-coverage-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding-block:64px;align-items:start}
.wedding-coverage .eyebrow{color:var(--wedding-ink);border-left:3px solid var(--orange);padding-left:12px}
.wedding-coverage-intro>p{margin-top:24px;color:#53535D}
.wedding-insurance{margin-top:30px;border-left:3px solid var(--orange);padding-left:18px}
.wedding-insurance strong{display:block;font-family:Tungsten,'Arial Narrow',sans-serif;font-size:40px;line-height:1.1}
.wedding-insurance span{display:block;font-size:13px;line-height:1.7;margin-top:6px;color:#53535D}
.wedding-service-list article{display:grid;grid-template-columns:27px 1fr;gap:17px;border-top:1px solid #D3D3DB;padding-block:24px}
.wedding-service-list article:first-child{padding-top:4px;border-top:0}
.wedding-service-list article:last-child{padding-bottom:0}
.wedding-service-number{font-size:13px;line-height:2.1;font-weight:700;color:#65656D}
.wedding-service-list h3{font-size:32px;line-height:1.1}
.wedding-service-list p{font-size:15px;color:#53535D;margin-top:12px}
.wedding-planning{padding-block:68px 56px}
.wedding-planning-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.wedding-planning-steps li{border-top:1px solid var(--line);padding-top:23px;min-width:0}
.wedding-step{font-family:Tungsten,'Arial Narrow',sans-serif;font-size:40px;line-height:1;color:var(--orange);display:block;margin-bottom:17px}
.wedding-planning-steps h3{font-size:31px;line-height:1.1}
.wedding-planning-steps p{color:#BDBDC7;font-size:15px;margin-top:15px}
.wedding-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding-block:16px 68px;align-items:start}
.wedding-faq>div:first-child{padding-top:27px;border-top:1px solid var(--line)}
.wedding-faq .faq{margin-top:0}
.wedding-faq .faq details{padding:0;border-color:var(--line)}
.wedding-faq summary{font-size:15px;line-height:1.65;min-height:58px;padding-block:18px;cursor:pointer}
.wedding-faq .faq p{color:#C4C4CD;font-size:15px;line-height:1.8;margin:0;padding:0 0 22px}
.wedding-faq .faq details:last-child{border-bottom:1px solid var(--line)}
.wedding-close{background:var(--orange);color:#090909}
.wedding-close>.wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-block:48px}
.wedding-close .eyebrow{color:#090909;margin-bottom:14px}
.wedding-close p{font-size:16px;line-height:1.7}
.wedding-close .btn{margin-top:23px;background:var(--panel);color:var(--white)}
.wedding-close .btn:hover,.wedding-close .btn:focus-visible{background:#000;color:white}
.wedding-close .wedding-close-note{font-size:12px;margin-top:13px}
.wedding-page summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.wedding-page .wedding-close :focus-visible{outline-color:#090909}
.wedding-page .hero-copy,.wedding-page .wedding-music-copy{min-width:0}
.booking-wedding-link{display:block;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;line-height:1.7;text-decoration:none}
.booking-wedding-link>span:first-child{display:block;font-size:18px;font-weight:700;color:var(--white);margin-bottom:5px}
.booking-wedding-link:hover,.booking-wedding-link:focus-visible{color:var(--orange)}
@media(max-width:1000px){
 .wedding-portrait{width:56%}
 .wedding-intro-grid,.wedding-intro-details,.wedding-music-grid,.wedding-coverage-grid{gap:36px}
 .wedding-intro-proof{grid-template-columns:32px minmax(0,1fr)}
 .wedding-intro-proof .text-link{grid-column:2;justify-self:start}
 .wedding-themes>div{gap:18px}
 .wedding-review-grid{gap:28px}.wedding-review-family{padding-left:28px}
 .wedding-planning-steps{gap:24px}
 .wedding-faq{gap:36px}.wedding-close>.wrap{gap:36px}
}
@media(max-width:800px){
 .wedding-intro>.wrap{padding-block:44px}
 .wedding-intro-grid{grid-template-columns:1fr;gap:22px}
 .wedding-intro-details{grid-template-columns:1fr;gap:24px;margin-top:28px}
 .wedding-intro-details p{margin-top:10px}
 .wedding-intro-proof{margin-top:28px;padding-top:25px;gap:12px}
 .wedding-intro-proof blockquote p{font-size:16px}
 .wedding-music{padding-block:44px}
 .wedding-music-grid{grid-template-columns:1fr;gap:36px}
 .wedding-music-copy>p{margin-top:18px}
 .wedding-music .eyebrow{margin-bottom:15px}
 .wedding-video .eyebrow{margin-bottom:14px}
 .wedding-section-heading{display:block;margin-bottom:28px}
 .wedding-section-heading>p{margin-top:20px;max-width:55ch;font-size:14px}
 .wedding-reviews{padding-block:44px}
 .wedding-review-grid{grid-template-columns:1fr;gap:30px;padding-top:28px}
 .wedding-review-family{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:28px}
 .wedding-review>blockquote p{font-size:19px}
 .wedding-coverage-grid{grid-template-columns:1fr;gap:35px;padding-block:44px}
 .wedding-service-list article:first-child{border-top:1px solid #D3D3DB;padding-top:23px}
 .wedding-planning{padding-block:44px 34px}
 .wedding-planning-steps{grid-template-columns:1fr;gap:25px}
 .wedding-planning-steps li{position:relative;padding-left:49px;padding-top:22px}
 .wedding-step{position:absolute;left:0;top:23px;font-size:32px}
 .wedding-planning-steps p{margin-top:12px}
 .wedding-faq{grid-template-columns:1fr;gap:24px;padding-block:5px 44px}
 .wedding-faq>div:first-child{padding-top:24px}
 .wedding-close>.wrap{grid-template-columns:1fr;gap:24px;padding-block:38px}
}
@media(max-width:740px){
 .wedding-themes>div{grid-template-columns:1fr;gap:8px}
 .wedding-themes a{min-height:52px}
 .wedding-portrait{position:relative;top:auto;right:auto;width:100%;transform:none;order:0}
 .wedding-portrait img{mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-composite:add}
 .wedding-hero>.wrap{padding-block:18px 40px}
 .wedding-hero .hero-copy p{font-size:15px;line-height:1.65}
 .wedding-hero .hero-copy .lineups{font-size:12px}
 .wedding-hero .actions{gap:22px}
}
@media(prefers-reduced-motion:reduce){.wedding-page *{scroll-behavior:auto}}
