/* Midnight plum, warm ivory and champagne. Photographs carry the party color. */
:root{--header-height:96px;--line:rgb(232 198 161 / .2);--panel:#241c29}
html{scroll-padding-top:120px}
.site-header{position:fixed;z-index:15;top:0;left:0;right:0;min-height:var(--header-height);padding:22px var(--gutter);transition:background-color 250ms,padding 250ms,box-shadow 250ms;isolation:isolate}
.site-header.is-scrolled,.site-header:has(.nav-disclosure[open]){background:rgb(24 21 28 / .97);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(14px)}
.site-header.is-scrolled{padding-block:17px}
.site-header #main-nav{display:flex;align-items:center;gap:30px;font-size:17px}
.site-header #main-nav>.nav-call{margin-left:12px;margin-top:0;min-height:50px;padding:12px 24px;font-size:16px;line-height:1.3}
.nav-disclosure{position:static}
.nav-disclosure>summary{list-style:none;display:flex;gap:10px;align-items:center;min-height:48px;padding:10px 0;cursor:pointer;font-weight:500}
.nav-disclosure>summary::-webkit-details-marker{display:none}
.nav-chevron{width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translateY(-2px);transition:transform 220ms}
.nav-disclosure[open]>summary{color:var(--accent)}
.nav-disclosure[open] .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-disclosure>summary:hover{color:var(--accent)}
.nav-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
body:has(.nav-disclosure[open]):before{content:'';position:fixed;inset:0;z-index:14;background:rgb(14 10 19 / .5);backdrop-filter:blur(5px);pointer-events:none}
.mega-panel{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(100% - 1px);padding:30px 32px 34px;background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 70px rgb(13 8 18 / .35);max-height:calc(100svh - 125px);overflow:auto;overscroll-behavior:contain;animation:mega-enter 250ms var(--ease) both}
.mega-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.mega-intro>p{font-size:26px;letter-spacing:-.035em;font-weight:500;line-height:1.2}
.site-header .mega-intro>a{display:flex;align-items:center;gap:25px;color:var(--accent);font-size:15px;padding:5px 0!important;min-height:40px}
.mega-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start}
.mega-categories{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.mega-group>p{font-size:14px;color:var(--accent);margin:0 0 13px;font-weight:600}
.mega-group ul{list-style:none;margin:0;padding:0}
.site-header .mega-group a{display:flex;align-items:center;min-height:38px;padding:8px 0!important;white-space:normal!important;font-size:15px;line-height:1.35;transition:color 180ms,transform 220ms}
.site-header .mega-group a:hover{transform:translateX(3px)}
.mega-featured{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.site-header .mega-card{display:block;padding:0!important;white-space:normal!important;min-width:0}
.mega-card img{height:210px;object-fit:cover;transition:filter 300ms}
.mega-card>span{display:block;position:relative;margin-top:16px;padding-right:20px;font-size:21px;line-height:1.17;letter-spacing:-.025em}
.mega-card i,.mega-planning-photo i{position:absolute;right:0;bottom:0;color:var(--accent);font-style:normal}
.mega-card:hover img,.mega-planning-photo:hover img{filter:brightness(1.12)}
.planning-menu-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:40px}
.site-header .mega-planning-photo{position:relative;display:block;padding:0!important;min-height:275px;overflow:hidden;white-space:normal!important}
.mega-planning-photo img{position:absolute;inset:0;height:100%;object-fit:cover;transition:filter 300ms}
.mega-planning-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgb(18 12 23 / .88),rgb(18 12 23 / .05) 85%)}
.mega-planning-photo>span{position:absolute;z-index:1;left:24px;right:24px;bottom:24px;padding-right:30px;font-size:30px;line-height:1.1;letter-spacing:-.035em}
.planning-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}
.site-header .planning-menu-links>a{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:7px;padding:17px 0!important;white-space:normal!important;border-bottom:1px solid var(--line)}
.planning-menu-links strong{font-weight:500;font-size:20px;line-height:1.15;letter-spacing:-.025em}
.planning-menu-links span{font-size:15px;line-height:1.4;color:var(--muted);max-width:27ch}
@keyframes mega-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
.button{transition:transform 220ms var(--ease),background-color 220ms,color 220ms}
.button:hover{background:#f0d6b8;color:var(--accent-ink)}
.hero-video-toggle{top:116px;background:rgb(24 21 28 / .74);border-color:var(--line)}
.hero-scene:after{background:linear-gradient(90deg,rgb(18 12 23 / .82),rgb(18 12 23 / .33) 48%,rgb(18 12 23 / .12) 85%)}
/* A single photograph fills the composition, with copy held in its own dark field. */
.page-hero.single-scene{display:flex;min-height:760px;overflow:hidden;padding:230px var(--gutter) 100px;align-items:flex-end;background:var(--bg)}
.page-hero.single-scene .page-hero-backdrop{position:absolute;inset:0;min-height:0;height:100%;max-height:none;grid-area:auto}
.page-hero.single-scene .page-hero-backdrop:after{background:linear-gradient(90deg,rgb(18 12 23 / .9),rgb(18 12 23 / .5) 52%,rgb(18 12 23 / .12)),linear-gradient(0deg,rgb(18 12 23 / .4),transparent 70%)}
.page-hero.single-scene .hero-image{height:100%;object-position:65% center}
.page-hero.single-scene .page-hero-content{position:relative;display:block;grid-area:auto;width:min(780px,64%);max-width:none;padding:0;align-self:auto}
.page-hero.single-scene h1{font-size:64px;margin:0 0 28px}
.page-hero.single-scene .page-hero-content>p{font-size:22px;max-width:43ch}
.page-hero.single-scene .hero-call{margin-top:30px}
.occasion-section-nav{top:var(--header-height);border-bottom:1px solid var(--line)}
#your-day,#trip-details,#questions{scroll-margin-top:180px}
.wedding-feature{position:relative;display:flex;align-items:center;min-height:720px;overflow:hidden;isolation:isolate}
.wedding-picture{position:absolute;inset:0;height:100%;z-index:-1}
.wedding-picture img{height:110%;object-position:70% top}
.wedding-picture:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgb(18 12 23 / .92),rgb(18 12 23 / .54) 48%,rgb(18 12 23 / .08) 85%)}
.wedding-copy{position:relative;padding:130px var(--gutter);width:100%;max-width:740px}
.wedding-copy h2{font-size:64px}
.wedding-copy>p{font-size:22px;max-width:33ch}
.occasion-picker{position:relative;display:block;min-height:910px;padding-top:125px;padding-bottom:125px;overflow:hidden;isolation:isolate}
.picker-photo{position:absolute;inset:0;height:100%;z-index:-1}
.picker-photo img{height:115%;object-position:72% center}
.picker-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgb(18 12 23 / .95),rgb(18 12 23 / .73) 48%,rgb(18 12 23 / .13))}
.picker-content{position:relative;max-width:560px}
.picker-panel select{background:rgb(36 28 41 / .9);border-color:var(--line);color:var(--ink)}
.conversation-section{position:relative;overflow:hidden;isolation:isolate}
.conversation-photo{position:absolute;inset:0;height:100%;z-index:-1}
.conversation-photo img{height:116%;object-position:68% center}
.conversation-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgb(18 12 23 / .91),rgb(18 12 23 / .81)),linear-gradient(0deg,rgb(18 12 23 / .5),transparent)}
.conversation-content{position:relative;padding-top:125px;padding-bottom:125px}
.conversation-content h2{font-size:64px}
.conversation-steps p{color:var(--ink)}
.conversation-steps>div{border-top:1px solid var(--line);padding-top:26px}
.closing-with-photo{background:var(--bg);color:var(--ink);min-height:620px;padding-block:125px}
.closing-with-photo .closing-photo:after{background:linear-gradient(90deg,rgb(18 12 23 / .94),rgb(18 12 23 / .74) 55%,rgb(18 12 23 / .5))}
.closing-with-photo .closing-photo img{object-position:65% center}
.closing-with-photo .button{background:var(--accent);color:var(--accent-ink)}
.closing-with-photo .button:hover{background:#f0d6b8}
.site-footer{border-top:1px solid var(--line)}
@media(min-width:1001px) and (max-width:1200px){
 .site-header #main-nav{gap:22px;font-size:16px}.site-header .wordmark{font-size:30px}
 .mega-panel{padding:24px}.mega-layout{grid-template-columns:1.6fr 1fr;gap:24px}.mega-categories{gap:15px}.mega-featured{gap:12px}.mega-card img{height:180px}.mega-card>span{font-size:19px}
}
@media(max-width:1000px){
 :root{--header-height:84px}
 .site-header{padding:20px var(--gutter);min-height:84px;gap:20px}
 .site-header.is-scrolled{padding-block:16px}
 .menu-toggle{display:block;position:relative;z-index:1;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:11px 16px;min-height:44px;font-size:16px;line-height:1.25;border-radius:3px}
 .site-header #main-nav{display:none;position:absolute;top:100%;bottom:auto;left:0;right:0;height:calc(100svh - 84px);max-height:calc(100svh - 84px);margin:0;padding:18px var(--gutter) 45px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;font-size:21px;box-shadow:0 1px 0 var(--line) inset}
 .site-header #main-nav.is-open{display:flex}
 .site-header #main-nav>*{flex-shrink:0}
 .site-header #main-nav>a:not(.button),.nav-disclosure>summary{min-height:57px;padding:14px 0;border-bottom:1px solid var(--line);font-size:21px}
 .nav-disclosure>summary{justify-content:space-between}
 .site-header #main-nav>.nav-call{margin:24px 0 0;flex-shrink:0;font-size:17px}
 .mega-panel{position:static;inset:auto;max-height:none;overflow:visible;padding:22px 0 28px;margin:0;border:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none;animation:none}
 .mega-intro{display:block;margin-bottom:22px;padding-bottom:17px}.mega-intro>p{font-size:23px}.site-header .mega-intro>a{margin-top:10px}
 .mega-layout{grid-template-columns:1fr;gap:28px}.mega-categories{grid-template-columns:1fr 1fr;gap:26px 20px}.mega-featured{grid-row:1;gap:14px}
 .mega-card img{height:160px}.mega-card>span{font-size:22px;margin-top:12px}.site-header .mega-group a{font-size:16px;min-height:42px}
 .planning-menu-layout{grid-template-columns:1fr;gap:20px}.site-header .mega-planning-photo{min-height:220px}.mega-planning-photo>span{font-size:28px}.planning-menu-links{gap:6px 22px}.planning-menu-links strong{font-size:19px}
 html:has(#main-nav.is-open){overflow:hidden}.site-header:has(#main-nav.is-open){background:var(--bg)}
 html:not(.js) .site-header{position:relative;flex-wrap:wrap;background:var(--bg)}
 html:not(.js) .site-header #main-nav{display:flex;position:static;height:auto;max-height:none;flex-basis:100%;padding:15px 0 0;overflow:visible}
 html:not(.js) .menu-toggle{display:none}
 html:not(.js) .breadcrumbs{position:static;padding:25px var(--gutter)}
 .page-hero.single-scene .page-hero-content{width:min(680px,82%)}
 .page-hero.single-scene h1{font-size:48px}
 .wedding-copy h2,.conversation-content h2{font-size:48px}
}
@media(max-width:600px){
 .site-header .wordmark{font-size:30px}
 .hero-scene:after{background:linear-gradient(0deg,rgb(18 12 23 / .94),rgb(18 12 23 / .48) 50%,rgb(18 12 23 / .1) 90%)}
 .hero-video-toggle{top:104px}
 .home-hero{padding-bottom:105px}.hero-copy>p{font-size:18px}.hero-bottom{bottom:24px}
 .mega-card img{height:118px}.mega-card>span{font-size:20px}
 .mega-panel{padding-top:20px}.mega-intro>p{font-size:22px}
 .page-hero.single-scene{min-height:740px;padding:205px 20px 90px}
 .page-hero.single-scene .page-hero-content{width:100%}
 .page-hero.single-scene .page-hero-backdrop:after{background:linear-gradient(0deg,rgb(18 12 23 / .96),rgb(18 12 23 / .68) 53%,rgb(18 12 23 / .25) 88%)}
 .page-hero.single-scene h1{font-size:clamp(36px,10.5vw,44px);line-height:1.06;margin-bottom:24px}
 .page-hero.single-scene .page-hero-content>p{font-size:18px;line-height:1.5}
 .page-hero.single-scene .hero-call{margin-top:25px}
 .occasion-section-nav{top:84px}
 #your-day,#trip-details,#questions{scroll-margin-top:158px}
 .wedding-feature{min-height:720px;align-items:flex-end}
 .wedding-picture:after{background:linear-gradient(0deg,rgb(18 12 23 / .96),rgb(18 12 23 / .5) 68%,rgb(18 12 23 / .1))}
 .wedding-copy{padding:95px 20px 75px}.wedding-copy h2,.conversation-content h2{font-size:38px}.wedding-copy>p{font-size:18px}
 .occasion-picker{min-height:850px;padding-top:85px;padding-bottom:85px}.picker-photo:after{background:rgb(18 12 23 / .84)}
 .conversation-content{padding-top:90px;padding-bottom:90px}.conversation-photo:after{background:rgb(18 12 23 / .89)}
 .conversation-steps{gap:27px}.conversation-steps>div{padding-top:22px}
 .closing-with-photo{min-height:580px;padding-top:90px;padding-bottom:90px}.closing-with-photo .closing-photo:after{background:rgb(18 12 23 / .83)}
 .closing-type h2{font-size:48px}.closing-type .closing-content{display:block}.closing-type p{margin-top:28px}.closing-type .button{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.mega-panel{animation:none}.site-header,.nav-chevron,.mega-card img,.mega-planning-photo img{transition:none}}
.nav-disclosure:has(a[aria-current=page])>summary{color:var(--accent)}
.site-header{background:linear-gradient(180deg,rgb(18 12 23 / .75),rgb(18 12 23 / .4) 75%,rgb(18 12 23 / .08))}
.site-header.is-scrolled,.site-header:has(.nav-disclosure[open]),.site-header:has(#main-nav.is-open){background:rgb(24 21 28 / .97)}
body:has(.occasion-section-nav) .faq-editorial .faq-content h2{top:180px}

/* Vector identity: consistent at navigation, footer and small-screen sizes. */
.wordmark{display:inline-flex;align-items:center;flex-shrink:0}
.wordmark .brand-logo{width:230px;height:auto;max-width:none;object-fit:contain}
/* Navigation must stay visible when moving from a collapsed mobile viewport. */
.js .site-header>a,.js .site-header #main-nav>a{animation:none;opacity:1;transform:none}
@media(min-width:1001px) and (max-width:1200px){.site-header{gap:22px}.site-header .brand-logo{width:202px}.site-header #main-nav{gap:18px}.site-header #main-nav>.nav-call{margin-left:0;padding-inline:18px}}
@media(max-width:1000px){.site-header .brand-logo{width:202px}}

/* The drawn monogram is a real window onto the still hero beneath it. */
.brand-intro-pending .site-header,.brand-intro-pending .hero-copy,.brand-intro-pending .hero-bottom,.brand-intro-pending .hero-video-toggle,.brand-intro-pending .page-hero-content,.brand-intro-pending .breadcrumbs{visibility:hidden}
.brand-intro-pending .hero-scene:after,.brand-intro-pending .page-hero-backdrop:after{opacity:.15}
.hero-scene:after,.page-hero-backdrop:after{transition:opacity 500ms ease}
.brand-intro-finished .hero-copy,.brand-intro-finished .site-header{animation:intro-content 550ms var(--ease) both}
@keyframes intro-content{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
main:focus{outline:none}
.intro-skip:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.brand-intro-finished .hero-copy,.brand-intro-finished .site-header{animation:none}.hero-scene:after,.page-hero-backdrop:after{transition:none}}
