:root{--navy:#111d37;--navy-2:#192a4b;--ivory:#f5ecdf;--paper:#fbf5ea;--burgundy:#681628;--wine:#851f37;--mauve:#9c7185;--rose:#bd7c56;--gold:#c89252;--coral:#cf7655;--ink:#17213a;--line:rgba(104,22,40,.16);--shadow:0 28px 80px -42px rgba(17,29,55,.55);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--shell:min(1160px,calc(100% - 48px))}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;left:16px;top:12px;padding:10px 14px;background:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:none}.shell{width:var(--shell);margin-inline:auto}.paper{background-color:var(--paper);background-image:radial-gradient(rgba(104,22,40,.035) .7px,transparent .8px),radial-gradient(rgba(200,146,82,.04) .7px,transparent .8px);background-position:0 0,7px 9px;background-size:13px 13px}.navy{background:var(--navy);color:var(--ivory)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02}h2{font-size:clamp(2.75rem,6vw,5.3rem);letter-spacing:-.04em;margin-bottom:24px}h2 em{font-weight:400;color:var(--burgundy)}.navy h2 em{color:#d8a887}.eyebrow,.overline{font:700 .7rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.28em;color:var(--burgundy);margin-bottom:17px}.eyebrow.gold{color:#dda96b}.lead{font:500 clamp(1.15rem,2vw,1.35rem)/1.65 var(--serif);font-style:italic}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 25px;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:700 .7rem/1 var(--sans);cursor:pointer;transition:.25s ease}.button-primary{background:var(--burgundy);color:#fff}.button-primary:hover,.submit-button:hover{background:var(--wine);transform:translateY(-2px)}.button-text{color:var(--burgundy)}.button-light{border-color:rgba(245,236,223,.42);color:var(--ivory)}.button-light:hover{background:var(--ivory);color:var(--navy)}
.site-nav{height:76px;position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));background:rgba(251,245,234,.9);border-bottom:1px solid rgba(104,22,40,.1);backdrop-filter:blur(15px)}.nav-mark{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 1.2rem/1 var(--serif);color:var(--burgundy)}.nav-mark i{width:1px;height:27px;background:var(--rose);position:relative}.nav-mark i:after{content:"◆";position:absolute;font-size:7px;color:var(--rose);left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);padding:3px 0}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{text-decoration:none;font:600 .68rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;position:relative}.nav-links a:after{content:"";height:1px;background:var(--rose);position:absolute;left:0;right:100%;bottom:-7px;transition:.2s}.nav-links a:hover:after{right:0}.nav-links .nav-rsvp{color:var(--burgundy)}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:12px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--burgundy);margin:7px 0;transition:.25s}
.hero{min-height:960px;padding:150px 24px 110px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;text-align:center}.floral-frame{position:absolute;z-index:-1;inset:76px 0 auto;width:100%;height:calc(100% - 76px);object-fit:cover;object-position:center;opacity:.22;pointer-events:none}.hero:after{content:"";position:absolute;z-index:-2;inset:105px 7vw 32px;border:1px solid rgba(189,124,86,.38)}.hero-inner{width:min(690px,100%);margin:auto}.hero-logo{width:240px;margin:0 auto 20px;mix-blend-mode:multiply}.hero-kicker{font:600 .73rem/1.4 var(--sans);letter-spacing:.21em;text-transform:uppercase;margin-bottom:13px}.hero h1{font-size:clamp(4.2rem,9vw,7.2rem);color:var(--burgundy);margin:0}.hero h1>span{display:block;font:700 .75rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.28em;color:var(--ink);margin-bottom:13px}.hero h1 em{font-size:.55em;color:var(--rose);font-weight:400}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);margin:22px auto}.ornament i{height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament i:last-child{background:linear-gradient(90deg,var(--gold),transparent)}.ornament b{font-size:9px}.date-lockup{display:flex;align-items:stretch;justify-content:center;margin:13px auto 20px}.date-lockup>div{width:112px;display:flex;flex-direction:column;justify-content:center;border-block:1px solid var(--gold)}.date-lockup strong{font:500 2.5rem/1 var(--serif);color:var(--burgundy)}.date-lockup small{font:700 .55rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.18em}.date-lockup p{margin:0 14px;padding:0 24px;border-inline:1px solid var(--gold);display:flex;flex-direction:column;justify-content:center;text-transform:uppercase}.date-lockup p span{font:600 1.05rem/1.4 var(--sans);letter-spacing:.16em}.date-lockup p b{font:500 1.45rem/1.2 var(--serif);letter-spacing:.18em;color:var(--burgundy)}.place{font:600 .78rem/1.6 var(--sans);letter-spacing:.17em;text-transform:uppercase}.place span{color:var(--gold);padding:0 6px}.hero-actions{display:flex;justify-content:center;gap:10px;margin-top:32px}.private-note{font:500 .68rem/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin:24px 0 0}.private-note b{color:var(--burgundy)}
.textile-band{height:54px;background-color:var(--navy);overflow:hidden;position:relative}.textile-band:before,.textile-band:after{content:"";position:absolute;inset:8px 0;border-block:1px solid rgba(200,146,82,.48)}.textile-band:after{inset:15px 0}.textile-band span{position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0 17px,rgba(200,146,82,.22) 18px 20px,transparent 21px 37px),repeating-linear-gradient(-45deg,transparent 0 17px,rgba(104,22,40,.8) 18px 20px,transparent 21px 37px)}
.countdown-section{padding:72px 0}.countdown-wrap{display:flex;justify-content:space-between;align-items:center;gap:50px}.countdown-wrap h2{font-size:clamp(2.6rem,5vw,4.4rem);margin:0}.countdown{display:flex;align-items:center}.countdown>div{text-align:center;min-width:80px}.countdown b{font:500 clamp(2.6rem,5vw,4.2rem)/1 var(--serif);display:block;color:var(--ivory);font-variant-numeric:tabular-nums}.countdown span{display:block;font:700 .58rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#d8a887;margin-top:8px}.countdown i{width:4px;height:4px;border-radius:50%;background:var(--rose);margin:0 5px}
.story{padding:140px 0}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:10vw}.story-copy{max-width:600px}.story-copy h2{font-size:clamp(3rem,5.8vw,5.2rem)}.story-copy>p:not(.eyebrow){max-width:560px}.signature{font:500 2rem/1 var(--serif);font-style:italic;color:var(--burgundy);margin-top:36px}.signature span{color:var(--rose)}.portrait-frame{min-height:680px;padding:18px;position:relative;border:1px solid var(--gold);background:var(--paper);box-shadow:var(--shadow)}.photo-placeholder{height:100%;min-height:644px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,rgba(17,29,55,.97),rgba(38,49,78,.93)),radial-gradient(circle at 30% 20%,var(--rose),transparent 45%);color:var(--ivory);position:relative;overflow:hidden}.photo-placeholder:before{content:"";position:absolute;inset:0;opacity:.28;background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(200,146,82,.45) 19px 20px,transparent 21px 39px)}.photo-placeholder span{font:500 4rem/1 var(--serif);position:relative}.photo-placeholder span i{color:var(--gold);font-style:normal}.photo-placeholder p{position:relative;font:700 .6rem/1 var(--sans);text-transform:uppercase;letter-spacing:.2em;margin:18px 0 0;color:#d8a887}.frame-corner{position:absolute;width:70px;height:70px}.frame-corner:before,.frame-corner:after{content:"";position:absolute;background:var(--burgundy)}.frame-corner:before{width:100%;height:2px}.frame-corner:after{width:2px;height:100%}.frame-corner.top{top:-8px;left:-8px}.frame-corner.bottom{bottom:-8px;right:-8px;transform:rotate(180deg)}
.celebration{padding:130px 0;background:#ead9cf}.section-heading{max-width:750px;margin-bottom:60px}.section-heading.centred{text-align:center;margin-inline:auto}.section-heading>p:last-child{font-size:1.05rem;max-width:620px}.section-heading.centred>p:last-child{margin-inline:auto}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.schedule-card{min-height:350px;background:var(--paper);padding:38px 34px;position:relative;border-top:3px solid var(--burgundy);box-shadow:var(--shadow)}.schedule-card.feature-card{background:var(--burgundy);color:var(--ivory);border-color:var(--gold);transform:translateY(-18px)}.card-number{font:500 2rem/1 var(--serif);color:var(--rose);opacity:.7}.schedule-card .time{font:700 .62rem/1 var(--sans);text-transform:uppercase;letter-spacing:.2em;color:var(--rose);margin:65px 0 14px}.schedule-card h3{font-size:2.25rem;margin-bottom:16px}.rites-card .time{margin-top:38px}.rites-intro{margin-bottom:18px}.event-details{display:grid;gap:2px}.event-detail{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.event-detail-icon{width:32px;height:32px;border:1px solid rgba(189,124,86,.45);border-radius:50%;display:grid;place-items:center;color:var(--rose)}.event-detail-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.event-detail-copy>span{display:block;color:var(--rose);font:700 .54rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.15em}.event-detail-copy strong{display:block;margin-top:3px;font:600 1rem/1.35 var(--serif);color:var(--ink)}.event-detail-copy p{margin:3px 0 0;font-size:.72rem;line-height:1.45;color:rgba(23,33,58,.72)}.venue-card{margin-top:50px;padding:36px 40px;background:var(--navy);color:var(--ivory);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}.venue-pin{width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:400 2rem var(--serif);color:var(--gold)}.venue-card h3{font-size:2.4rem;margin:0 0 6px}.venue-card p{margin-bottom:0}.venue-card .eyebrow{margin-bottom:5px}
.heritage{padding:140px 0;overflow:hidden}.heritage .section-heading{margin-bottom:80px}.heritage .section-heading>p:last-child{color:rgba(245,236,223,.72)}.heritage-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:45px;align-items:center}.heritage-panel{border:1px solid rgba(200,146,82,.3);padding:45px;position:relative;background:rgba(255,255,255,.025)}.heritage-index{position:absolute;right:30px;top:22px;font:400 3rem/1 var(--serif);color:rgba(200,146,82,.22)}.heritage-panel h3{font-size:3rem;margin-bottom:24px}.heritage-panel .eyebrow{color:#d8a887}.heritage-panel>p:not(.eyebrow),.heritage-panel li{color:rgba(245,236,223,.76)}.heritage-panel ul{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid rgba(200,146,82,.25)}.heritage-panel li{padding:12px 0;border-bottom:1px solid rgba(200,146,82,.2);font:600 .68rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em}.bead-union{display:flex;flex-direction:column;align-items:center}.bead-union span{width:17px;height:17px;border-radius:50%;margin:3px;background:linear-gradient(135deg,#e29a70,#92391f);box-shadow:inset -3px -3px 5px rgba(70,15,8,.3)}.bead-union b{font:400 2rem/1 var(--serif);color:var(--gold);margin:10px 0}
.guest-guide{padding:140px 0;position:relative;overflow:hidden}.guide-floral{position:absolute;width:680px;right:-320px;top:-120px;opacity:.35;pointer-events:none}.guide-list{max-width:900px;margin:auto;border-top:1px solid var(--line)}.guide-item{border-bottom:1px solid var(--line)}.guide-item summary{list-style:none;display:grid;grid-template-columns:60px 1fr auto;gap:22px;align-items:center;padding:26px 0;cursor:pointer}.guide-item summary::-webkit-details-marker{display:none}.guide-item summary>span{font:500 1.25rem/1 var(--serif);color:var(--rose)}.guide-item summary p{font:700 .58rem/1 var(--sans);text-transform:uppercase;letter-spacing:.2em;color:var(--burgundy);margin:0 0 7px}.guide-item summary h3{font-size:2rem;margin:0}.guide-item summary>b{font:300 1.8rem/1 var(--sans);color:var(--rose);transition:.2s}.guide-item[open] summary>b{transform:rotate(45deg)}.guide-body{padding:0 60px 30px 82px;max-width:760px}.swatches{display:flex;gap:12px;margin-top:20px}.swatches i{width:34px;height:34px;border-radius:50%;background:var(--swatch);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line)}
.invitation-section{padding:140px 0}.invitation-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center}.invitation-copy p:not(.eyebrow){color:rgba(245,236,223,.75)}.invitation-copy .button{margin-top:18px}.invite-frame{margin:0;position:relative;padding:20px;background:#d0a168;box-shadow:0 40px 100px -55px #000}.invite-frame:before{content:"";position:absolute;inset:10px;border:1px solid rgba(104,22,40,.65);pointer-events:none}.invite-frame img{width:100%}.invite-frame figcaption{text-align:center;margin-top:20px;color:var(--navy);font:700 .58rem/1 var(--sans);text-transform:uppercase;letter-spacing:.19em}
.registry-section{padding:130px 0}.registry-card{max-width:820px;margin:auto;padding:72px 80px;text-align:center;border:1px solid rgba(104,22,40,.18);background:rgba(255,255,255,.52);box-shadow:var(--shadow);position:relative}.registry-card:before,.registry-card:after{content:"◆";position:absolute;left:50%;transform:translateX(-50%);color:var(--gold);font-size:9px;background:var(--paper);padding:0 15px}.registry-card:before{top:-7px}.registry-card:after{bottom:-7px}.registry-card h2{font-size:clamp(3rem,6vw,5rem)}.registry-card>p:not(.eyebrow){max-width:660px;margin-inline:auto}.registry-note{max-width:620px;margin:34px auto 0;padding:28px 30px;border-block:1px solid var(--line)}.registry-note span{display:block;margin-bottom:11px;color:var(--burgundy);font:700 .6rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.18em}.registry-note p{margin:0}
.gallery{padding:140px 0}.gallery-grid{height:620px;display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:1fr 1fr;gap:18px}.gallery-slot{position:relative;display:flex;align-items:flex-end;padding:28px;overflow:hidden;background:linear-gradient(140deg,var(--navy),#34405b);color:var(--ivory)}.gallery-slot:before{content:"";position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(45deg,transparent 0 20px,rgba(200,146,82,.4) 21px 22px,transparent 23px 43px)}.gallery-slot.tall{grid-row:span 2}.gallery-slot span{position:absolute;top:22px;right:25px;font:400 2.2rem/1 var(--serif);color:rgba(245,236,223,.35)}.gallery-slot p{position:relative;font:500 1.5rem/1 var(--serif);font-style:italic;margin:0}.gallery-slot.wide{background:linear-gradient(140deg,#752137,#9c7185)}
.rsvp-section{position:relative;isolation:isolate;overflow:hidden;padding:140px 0;background:var(--burgundy);color:var(--ivory)}.rsvp-floral{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;opacity:.17;filter:saturate(.8);pointer-events:none}.rsvp-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}.rsvp-intro{position:sticky;top:120px}.rsvp-intro h2{font-size:clamp(3rem,5.5vw,5rem)}.rsvp-intro h2 em{color:#e3b598}.rsvp-intro>p:not(.eyebrow){color:rgba(245,236,223,.78)}.rsvp-address{display:flex;flex-direction:column;border-left:1px solid var(--gold);padding-left:24px;margin-top:38px;text-transform:uppercase}.rsvp-address span{font:700 .58rem/1.6 var(--sans);letter-spacing:.19em;color:#e3b598}.rsvp-address b{font:500 2rem/1.3 var(--serif)}.rsvp-form{background:var(--paper);color:var(--ink);padding:48px;box-shadow:0 36px 90px -48px rgba(0,0,0,.8)}.rsvp-policy{margin:0 0 35px;padding:22px 24px;border-left:3px solid var(--burgundy);background:rgba(104,22,40,.07)}.rsvp-policy span{display:block;margin-bottom:8px;color:var(--burgundy);font:700 .63rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.15em}.rsvp-policy p{margin:0;font-size:.88rem;line-height:1.65}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rsvp-form>label,.form-row label{display:block;font:700 .64rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);margin-bottom:22px}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=tel],.rsvp-form input[type=number],.rsvp-form textarea{display:block;width:100%;border:0;border-bottom:1px solid rgba(104,22,40,.25);border-radius:0;padding:12px 2px;background:transparent;color:var(--ink);outline:none;text-transform:none;letter-spacing:0}.rsvp-form input:focus,.rsvp-form textarea:focus{border-color:var(--burgundy);box-shadow:0 2px 0 var(--burgundy)}.rsvp-form fieldset{border:0;padding:0;margin:0 0 24px}.rsvp-form legend{font:700 .64rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--burgundy);margin-bottom:13px}.choices{display:flex;flex-wrap:wrap;gap:9px}.choices label{cursor:pointer}.choices input{position:absolute;opacity:0;pointer-events:none}.choices span{display:block;padding:10px 14px;border:1px solid var(--line);font-size:.78rem;background:#fff}.choices input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.submit-button{width:100%;background:var(--burgundy);color:#fff;margin-top:10px}.form-status{font-size:.82rem;color:var(--burgundy);margin:14px 0 0;min-height:1.4em}.honey{position:absolute;left:-9999px}.rsvp-success{display:none;background:var(--paper);color:var(--ink);padding:55px}.rsvp-success h3{font-size:3rem;color:var(--burgundy)}
.site-footer{position:relative;text-align:center}.site-footer>.textile-band{border-bottom:1px solid rgba(200,146,82,.25)}.footer-inner{padding:85px 24px}.footer-inner img{width:180px;margin:0 auto 28px;mix-blend-mode:screen;border-radius:50%}.footer-script{font:400 clamp(2.2rem,5vw,4rem)/1 var(--serif);font-style:italic;margin-bottom:20px}.footer-inner>p:not(.footer-script){font:600 .65rem/1.8 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:rgba(245,236,223,.65)}.footer-inner .hashtag{color:#e3b598!important}.footer-inner>a{display:inline-block;margin-top:24px;font:700 .6rem/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:#e3b598}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){:root{--shell:min(100% - 36px,720px)}.menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:nth-last-child(2){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-links{position:fixed;inset:76px 0 auto;background:var(--paper);padding:25px;display:grid;gap:0;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.3s;box-shadow:var(--shadow)}.nav-links.open{transform:none}.nav-links a{padding:16px;text-align:center}.hero{min-height:900px;padding-top:130px}.floral-frame{opacity:.16;object-fit:cover}.countdown-wrap,.story-grid,.invitation-grid,.rsvp-grid{grid-template-columns:1fr;display:grid}.countdown-wrap{text-align:center}.story-grid{gap:70px}.portrait-frame{width:min(520px,100%);margin:auto}.schedule-grid{grid-template-columns:1fr}.schedule-card.feature-card{transform:none}.venue-card{grid-template-columns:auto 1fr}.venue-card .button{grid-column:1/-1}.heritage-grid{grid-template-columns:1fr}.bead-union{flex-direction:row}.heritage .section-heading{margin-bottom:50px}.invitation-grid{gap:65px}.invite-frame{width:min(620px,100%);margin:auto}.rsvp-intro{position:static}.rsvp-grid{gap:45px}.gallery-grid{height:750px;grid-template-columns:1fr 1fr}.footer-inner img{mix-blend-mode:normal}}
@media(max-width:600px){:root{--shell:calc(100% - 30px)}.site-nav{height:66px}.nav-links{inset:66px 0 auto}.hero{min-height:850px;padding:110px 18px 90px}.hero:after{inset:82px 10px 18px}.hero-logo{width:190px}.overline{font-size:.59rem}.hero h1{font-size:3.9rem}.hero h1>span{font-size:.58rem}.hero-kicker{font-size:.57rem}.date-lockup>div{width:68px}.date-lockup strong{font-size:1.8rem}.date-lockup p{padding:0 9px;margin:0 7px}.date-lockup p span{font-size:.75rem}.date-lockup p b{font-size:1.2rem}.place{font-size:.61rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.countdown-section{padding:60px 0}.countdown>div{min-width:64px}.countdown i{display:none}.countdown b{font-size:2.6rem}.story,.celebration,.heritage,.guest-guide,.invitation-section,.registry-section,.gallery,.rsvp-section{padding:95px 0}.registry-card{padding:50px 24px}.registry-note{padding:24px 4px}.portrait-frame{min-height:500px}.photo-placeholder{min-height:464px}.schedule-card{min-height:300px}.venue-card{padding:28px 24px;grid-template-columns:1fr}.venue-pin{width:58px;height:58px}.heritage-panel{padding:34px 25px}.guide-floral{opacity:.18}.guide-item summary{grid-template-columns:35px 1fr auto;gap:12px}.guide-item summary h3{font-size:1.55rem}.guide-body{padding:0 20px 28px 47px}.gallery-grid{height:auto;display:grid;grid-template-columns:1fr}.gallery-slot,.gallery-slot.tall{min-height:330px;grid-row:auto}.rsvp-form{padding:32px 22px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{padding:70px 20px}.footer-inner img{width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
.hero-logo,.footer-inner img{mix-blend-mode:normal;border-radius:0}
.venue-pin svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.portrait-frame .story-image{width:100%;height:644px;object-fit:cover;object-position:center}
.gallery-slot{margin:0}.gallery-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-slot:before{z-index:1;opacity:.12}.gallery-slot figcaption{position:relative;z-index:2;margin:0;padding:8px 12px;background:rgba(17,29,55,.72);font:500 1.35rem/1 var(--serif);font-style:italic;color:var(--ivory);backdrop-filter:blur(4px)}
@media(max-width:600px){.portrait-frame .story-image{height:464px}}
.heritage-details{margin-top:30px;border-top:1px solid rgba(200,146,82,.25)}.heritage-detail{border-bottom:1px solid rgba(200,146,82,.2)}.heritage-detail summary{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:14px 0;list-style:none;cursor:pointer;color:rgba(245,236,223,.88);font:600 .68rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em}.heritage-detail summary::-webkit-details-marker{display:none}.heritage-detail summary b{font:300 1.3rem/1 var(--sans);color:#d8a887;transition:transform .2s}.heritage-detail[open] summary b{transform:rotate(45deg)}.heritage-detail>p{padding:0 25px 17px 0;margin:0;color:rgba(245,236,223,.72);font-size:.92rem;line-height:1.65}.heritage-detail summary:focus-visible{outline:2px solid #d8a887;outline-offset:5px}
.love-story{margin-top:120px;padding-top:95px;border-top:1px solid var(--line)}.love-story-heading{max-width:760px;margin-bottom:50px}.love-story-heading h2{font-size:clamp(3rem,5.8vw,5.2rem)}.love-story-heading .lead{max-width:650px;color:var(--burgundy)}.love-story-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.love-story-columns p{margin-bottom:1.35em}.love-story-close{margin:48px 0 0;text-align:center;font:500 clamp(1.8rem,4vw,3rem)/1.25 var(--serif);font-style:italic;color:var(--burgundy)}
@media(max-width:760px){.love-story{margin-top:85px;padding-top:70px}.love-story-columns{grid-template-columns:1fr;gap:0}.love-story-close{text-align:left;margin-top:32px}}
.travel-guide .guide-body{max-width:none;padding-right:0}.travel-intro{max-width:760px;margin-bottom:28px}.travel-intro a{color:var(--burgundy);font-weight:700;text-underline-offset:3px}.travel-logistics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.travel-card{padding:25px 23px;background:rgba(255,255,255,.7);border:1px solid var(--line);box-shadow:0 16px 45px -38px rgba(17,29,55,.65)}.travel-label{display:inline-block;margin-bottom:12px;padding:5px 9px;border-radius:30px;background:rgba(104,22,40,.09);color:var(--burgundy);font:700 .55rem/1 var(--sans);text-transform:uppercase;letter-spacing:.11em}.travel-number{font:500 1.25rem/1 var(--serif);color:var(--rose);margin-bottom:12px}.travel-card h4{font:500 1.75rem/1.05 var(--serif);margin:0 0 18px;color:var(--ink)}.travel-card p,.travel-card li{font-size:.84rem;line-height:1.65}.travel-card ul{margin:0 0 1em;padding-left:18px}.travel-card li{margin-bottom:7px}.travel-note{border-left:2px solid var(--rose);padding-left:13px;color:var(--burgundy);font-weight:600}.guide-list{max-width:1000px}
@media(max-width:900px){.travel-logistics-grid{grid-template-columns:1fr}.travel-card{padding:28px}.travel-card p,.travel-card li{font-size:.95rem}}
@media(max-width:600px){.travel-guide .guide-body{padding-left:0}.travel-intro{padding-left:47px}.travel-card{padding:24px 20px}}
.international-guide{margin:0 0 38px;padding:38px;background:var(--navy);color:var(--ivory);position:relative;overflow:hidden}.international-guide:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(200,146,82,.18);border-radius:50%;right:-170px;top:-170px;pointer-events:none}.international-heading{max-width:760px;margin-bottom:28px}.international-heading .travel-label{background:rgba(227,181,152,.12);color:#e3b598}.international-heading h4,.route-heading h4,.connection-panel h4{font:500 clamp(2rem,4vw,3rem)/1.05 var(--serif);margin:0 0 15px;color:var(--ivory)}.international-heading>p{margin:0;color:rgba(245,236,223,.76)}.preflight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.preflight-card{padding:24px;border:1px solid rgba(200,146,82,.25);background:rgba(255,255,255,.035)}.preflight-card>span{color:#dda96b;font:500 1.05rem/1 var(--serif)}.preflight-card h5,.route-card h5,.practical-grid h5{font:500 1.45rem/1.1 var(--serif);margin:13px 0 12px}.preflight-card p,.route-card p,.connection-panel p,.practical-grid p{font-size:.84rem;line-height:1.65;color:rgba(245,236,223,.72);margin-bottom:0}.preflight-card a,.official-links a{display:inline-block;margin-top:13px;color:#dda96b;font:700 .57rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.09em;text-underline-offset:4px}.official-links{display:flex;flex-wrap:wrap;gap:6px 18px}.travel-disclaimer{margin:18px 0 46px;padding-left:14px;border-left:2px solid var(--rose);font-size:.75rem;line-height:1.6;color:rgba(245,236,223,.62)}.route-heading{margin-bottom:20px}.route-heading .eyebrow,.connection-panel .eyebrow{color:#dda96b;margin-bottom:8px}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-card{padding:24px;background:var(--ivory);color:var(--ink)}.route-card>span{color:var(--burgundy);font:700 .57rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.14em}.route-card h5{color:var(--ink)}.route-card p{color:rgba(23,33,58,.78)}.connection-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;margin:34px 0;padding:30px;border:1px solid rgba(200,146,82,.32)}.stopover-box{padding:22px;background:rgba(255,255,255,.05)}.stopover-box span{display:block;margin-bottom:9px;color:#dda96b;font:700 .56rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.13em}.stopover-box p{color:rgba(245,236,223,.86)}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.practical-grid article{padding-top:19px;border-top:1px solid rgba(200,146,82,.3)}.practical-grid h5{color:#e3b598}.international-help{margin:30px 0 0;color:#f5ecdf;border-color:#dda96b}.international-guide+.travel-logistics-grid{margin-top:0}
@media(max-width:900px){.international-guide{padding:30px}.preflight-grid,.route-grid,.connection-panel,.practical-grid{grid-template-columns:1fr}.connection-panel{align-items:start}.practical-grid{gap:20px}}
.practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practical-grid ul{margin:13px 0;padding-left:19px}.practical-grid li{margin-bottom:8px;color:rgba(245,236,223,.72);font-size:.82rem;line-height:1.65}.payments-card{grid-column:1/-1}
@media(max-width:900px){.practical-grid{grid-template-columns:1fr}.payments-card{grid-column:auto}}
@media(max-width:600px){.international-guide{padding:25px 20px}.international-heading h4{font-size:2rem}.preflight-card,.route-card,.connection-panel{padding:21px}.travel-disclaimer{margin-bottom:38px}}
.gallery-grid{height:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:155px;grid-template-rows:none;grid-auto-flow:dense}.gallery-slot{min-height:0}.gallery-slot img{object-position:var(--pos,center)}.gallery-feature,.gallery-portrait{grid-column:span 1;grid-row:span 3}.gallery-wide{grid-column:span 2;grid-row:span 2}.gallery-square{grid-column:span 1;grid-row:span 2}
@media(max-width:900px){.gallery-grid{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px}.gallery-feature,.gallery-portrait{grid-column:span 1;grid-row:span 3}.gallery-wide{grid-column:span 2;grid-row:span 2}.gallery-square{grid-column:span 1;grid-row:span 2}}
@media(max-width:600px){.gallery-grid{height:auto;grid-template-columns:1fr;grid-auto-rows:auto}.gallery-slot,.gallery-feature,.gallery-portrait,.gallery-wide,.gallery-square{grid-column:auto;grid-row:auto;min-height:0;aspect-ratio:4/5}.gallery-landscape{aspect-ratio:4/3}.gallery-square{aspect-ratio:1}}
.stay-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.stay-options>div{padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.65)}.stay-options span{display:block;color:var(--rose);font:700 .55rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.14em}.stay-options h4{font:500 1.4rem/1.15 var(--serif);margin:8px 0;color:var(--ink)}.stay-options p{font-size:.86rem;margin:0}.stay-group-title{margin:30px 0 0;color:var(--burgundy);font:700 .63rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.16em}.resident-title{padding-top:26px;border-top:1px solid var(--line)}.local-stays{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-booking-note{margin:22px 0 0;padding-left:14px;border-left:2px solid var(--rose);font-size:.8rem;color:rgba(23,33,58,.72)}.discover-city{padding:140px 0}.discover-city .section-heading>p:last-child{color:rgba(245,236,223,.72)}.city-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:70px}.city-fact{padding:30px;border-top:1px solid var(--gold);background:rgba(255,255,255,.025)}.city-fact>span{color:var(--rose);font:500 1.4rem/1 var(--serif)}.city-fact h3{font-size:2.1rem;margin:45px 0 14px}.city-fact p{color:rgba(245,236,223,.7);margin:0}.city-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.city-guide-card{padding:42px;border:1px solid rgba(200,146,82,.32);background:rgba(255,255,255,.03)}.city-recommendation{padding:18px 0;border-bottom:1px solid rgba(200,146,82,.2)}.city-recommendation h3{font-size:1.55rem;margin-bottom:7px}.city-recommendation p{font-size:.9rem;color:rgba(245,236,223,.7);margin:0}.city-link{display:inline-block;margin-top:24px;color:#dda96b;font:700 .62rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;text-underline-offset:4px}.taste-card>p:not(.eyebrow){color:rgba(245,236,223,.72)}.taste-card ul{list-style:none;margin:25px 0;padding:0;border-top:1px solid rgba(200,146,82,.2)}.taste-card li{padding:15px 0;border-bottom:1px solid rgba(200,146,82,.2)}.taste-card li strong{display:block;font:500 1.4rem/1.2 var(--serif);color:#e3b598}.taste-card li span{display:block;margin-top:5px;font-size:.85rem;color:rgba(245,236,223,.68)}.restaurant-note{margin-top:25px!important;padding-left:18px;border-left:2px solid var(--rose)}
@media(max-width:900px){.stay-options,.local-stays{grid-template-columns:1fr}}
@media(max-width:800px){.stay-options,.city-guide-grid{grid-template-columns:1fr}.city-facts{grid-template-columns:1fr}.city-fact h3{margin-top:20px}.discover-city{padding:95px 0}}
.lagos-card{grid-column:1/-1}.lagos-card>p:not(.eyebrow){max-width:900px;color:rgba(245,236,223,.72)}.lagos-title{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 20px}.lagos-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;margin:28px 0 0;padding:0;border-top:1px solid rgba(200,146,82,.2)}.lagos-list li{padding:17px 0;border-bottom:1px solid rgba(200,146,82,.2)}.lagos-list strong{display:block;font:500 1.4rem/1.2 var(--serif);color:#e3b598}.lagos-list span{display:block;margin-top:5px;font-size:.85rem;color:rgba(245,236,223,.68)}.lagos-after-dark{margin:27px 0 0!important;color:#d8a887!important;font:500 1.45rem/1.3 var(--serif);font-style:italic}
@media(max-width:600px){.city-guide-card{padding:28px 22px}.lagos-list{grid-template-columns:1fr}}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invitation-section{border-top:1px solid rgba(200,146,82,.25)}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}}
