@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#18090c;--ink:#faf0df;--gold:#d9b77b;--muted:#bdaaa3;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.7 Manrope,Arial,sans-serif}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 6%;background:#18090cf0;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font:600 26px Georgia,serif;letter-spacing:2px}.brand span{font-size:14px;color:var(--gold);margin:0 7px}nav{display:flex;gap:32px;font-size:12px}nav a:hover{color:var(--gold)}#music{color:var(--gold);border:1px solid var(--line);background:transparent;border-radius:30px;padding:7px 15px}#music[aria-pressed=true]{border-color:var(--gold)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.05}h2{font-size:clamp(43px,5.2vw,76px);margin-bottom:35px}h2 em{color:var(--gold);font-weight:400}h3{font-size:29px}button.gold,.link-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--gold);color:#281219;border:0;padding:16px 25px;font-size:12px;font-weight:700}.outline{border:1px solid #947655;background:none;color:var(--gold);padding:13px 22px}.hero{position:relative;overflow:hidden;min-height:860px;padding:76px 8% 32px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#70222b80,transparent 62%),linear-gradient(120deg,#1c090d,#3a111a 50%,#18090c)}.hero:before,.hero:after{content:'';position:absolute;top:-10%;width:35%;height:120%;opacity:.4;background:repeating-linear-gradient(95deg,#0b0309 0,#8b2432 17%,#2d0910 30%);z-index:0}.hero:before{left:-24%;transform:rotate(13deg)}.hero:after{right:-24%;transform:rotate(-13deg)}.hero>*{position:relative;z-index:1}.hero .eyebrow{letter-spacing:3px}.edition{margin:55px 0 14px;color:#e6cda6;font-size:10px;letter-spacing:6px}.hero h1{font-size:clamp(76px,10.6vw,154px);line-height:.82;margin:0 0 55px}.hero em{font-weight:400;color:var(--gold)}.hero .night{display:inline-block;font-family:Manrope,Arial,sans-serif;font-size:19px;letter-spacing:13px;margin-top:33px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;text-align:left;font-size:11px;letter-spacing:1px}.hero-bottom p:last-child{text-align:right}.round-link{display:grid;place-items:center;width:46px;height:46px;border:1px solid #a08660;border-radius:50%;font-size:24px}.section{padding:100px 8%}.details{text-align:center;background:#f6efdf;color:#301d20}.details .eyebrow{color:#8e6339}.details h2 em{color:#8f573c}.event-details{display:grid;grid-template-columns:repeat(3,1fr);margin:55px 0 42px;gap:20px}.event-details>div{padding:0 20px;border-right:1px solid #38211d25}.event-details>div:last-child{border:0}.event-details span{font-size:9px;letter-spacing:2px;color:#886d54}.event-details h3{margin:18px 0 12px}.event-details p,.event-details a{font-size:12px;color:#715956}.countdown{display:flex;justify-content:center;gap:35px;margin:35px 0}.countdown strong{display:block;font:46px Georgia,serif}.countdown span{font-size:9px;letter-spacing:2px}.details .outline{color:#704329}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px}.section-heading>p{color:var(--muted);font-size:12px;margin-bottom:42px}.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:20px;border-top:1px solid var(--line);padding:25px 0}.timeline-row time{color:var(--gold);font-family:Georgia,serif;font-size:23px}.timeline-row ul{margin:0;padding-left:18px}.timeline-row li{padding-bottom:5px}.timeline-row p{margin:0}.menu{background:#efe6d4;color:#301d20}.menu em{color:#8f573c}.menu .eyebrow{color:#8e6339}.intro{max-width:470px;color:#745f56}.menu-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;margin-top:50px}.menu-item{border-top:1px solid #a07d5145;padding:25px 0}.menu-item h3{font-size:31px;color:#70482f;margin-bottom:16px}.menu-item ul{list-style:none;padding:0;font-size:13px;line-height:1.9}.seating label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.seating input{width:100%;padding:17px 20px;border:1px solid #816748;background:#241418;color:var(--ink);border-radius:0;font-size:16px}.legend{display:flex;gap:23px;font-size:11px;color:var(--muted);margin:24px 0}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.vip{background:var(--gold)}.honoured{background:#5aafce}#search-status{margin:10px 0;color:var(--gold);font-size:12px}.table{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 0;font-size:18px;display:flex;justify-content:space-between;align-items:center}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;color:var(--gold)}details[open]>summary:after{content:'−'}.guest-list{padding:0 0 22px;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.guest{display:flex;gap:15px;padding:13px 0;border-top:1px solid #ffffff0d;align-items:center;font-size:12px}.seat{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--gold);color:var(--gold);border-radius:50%;width:30px;height:30px;font:16px Georgia,serif}.guest.honour .seat{color:#8fd5ec;border-color:#5aafce}.table-count{font-size:10px;letter-spacing:1px;color:var(--muted);margin-left:auto;margin-right:25px}.hall{border-top:1px solid var(--line);margin-top:25px;color:var(--muted)}.hall summary{font-size:13px}.hall p{font-size:12px;max-width:700px}.location{background:#2c1219;display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:center}.location h2{font-size:clamp(40px,4.6vw,67px)}.photo-note{border-left:1px solid #a0866077;padding-left:45px}.photo-note>span{font-size:35px;color:var(--gold)}.photo-note h3{margin:20px 0}.photo-note p{color:var(--muted);font-size:12px}footer{text-align:center;padding:85px 20px 50px}footer h2{font-size:clamp(35px,5vw,65px)}footer>p:not(.eyebrow),footer>a{font-size:11px;color:var(--muted)}footer>a{display:inline-block;margin-top:25px}.opening{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#140509;text-align:center;transition:opacity .7s}.curtain{position:absolute;inset:0;width:50%;background:repeating-linear-gradient(90deg,#28060d,#7e172a 18%,#3b0712 33%,#8b2436 50%);transition:transform 1.25s cubic-bezier(.65,0,.35,1);box-shadow:0 0 60px #000}.curtain.right{left:50%;border-left:1px solid #c9a45d55}.invitation{position:relative;z-index:1;background:radial-gradient(ellipse,#18090cf0,#18090c45);padding:40px 20px;width:min(600px,95vw);transition:opacity .4s}.invitation h1{font-size:clamp(37px,6vw,65px);line-height:1.05}.invitation p{font-size:13px;color:#ead6be}.star{color:var(--gold);font-size:40px;margin:15px}.invitation small{display:block;margin-top:20px;color:#d1bdb5;font-size:10px}.opening.opened .left{transform:translateX(-110%)}.opening.opened .right{transform:translateX(110%)}.opening.opened .invitation{opacity:0}.opening.finished{opacity:0;pointer-events:none}@media(max-width:700px){header{padding:12px 5%}nav{gap:15px;font-size:10px}.brand{font-size:21px}#music{padding:6px 10px}#music span{display:none}.section{padding:65px 6%}.hero{min-height:720px;padding:65px 6% 25px}.hero h1{font-size:clamp(70px,17vw,112px);margin-bottom:65px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.edition{margin-top:65px}.hero .night{font-size:13px;letter-spacing:9px}.hero-bottom{font-size:8px}.event-details{grid-template-columns:1fr;margin:30px 0;gap:0}.event-details>div{border-right:0;border-bottom:1px solid #38211d25;padding:22px 0}.event-details h3{margin:10px 0}.countdown{gap:25px}.countdown strong{font-size:36px}.section-heading{display:block}.section-heading>p{margin-bottom:30px}.timeline-row{grid-template-columns:75px 1fr;gap:12px;font-size:12px}.timeline-row time{font-size:20px}.menu-grid{grid-template-columns:1fr;margin-top:30px}.guest-list{grid-template-columns:1fr}.table-count{font-size:9px;margin-right:12px}summary{font-size:16px}.location{grid-template-columns:1fr;gap:45px}.photo-note{padding-left:25px}.opening .eyebrow{font-size:8px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.table-content{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:40px;align-items:center;padding-bottom:25px}.table-content .guest-list{grid-template-columns:1fr;padding:0}.table-visual{min-width:0}.table-diagram{position:relative;aspect-ratio:1;width:100%;max-width:360px;margin:auto;background:radial-gradient(circle,#d9b77b12,transparent 70%)}.table-center{position:absolute;left:23%;top:23%;width:54%;height:54%;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px solid #d9b77b;background:radial-gradient(circle,#604532,#34241c);box-shadow:0 10px 35px #0008,inset 0 0 0 7px #d9b77b22;color:#f8e6bd}.table-flower{font-size:42px;color:#d9b77b;line-height:1.2}.table-center strong{font:20px Georgia,serif}.layout-seat{position:absolute;transform:translate(-50%,-50%);width:42px;height:46px;display:grid;place-items:center;border:2px solid #e8bf70;border-radius:13px 13px 7px 7px;background:linear-gradient(#e1ba70,#a77b37);color:#24170c;font:700 21px Georgia,serif;box-shadow:0 5px 0 #725026,0 7px 12px #0007}.layout-seat:before{content:'';position:absolute;left:-5px;right:-5px;bottom:5px;border-left:4px solid #f2d29b;border-right:4px solid #f2d29b;height:18px;pointer-events:none}.honoured-seat{background:linear-gradient(#6bd0f1,#177caa);border-color:#8cd7ee;color:#061c2e;box-shadow:0 5px 0 #145173,0 7px 12px #0007}.layout-seat:hover,.selected-seat{outline:3px solid #fff;outline-offset:4px}.matched-seat{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 20px #fff9}.seat-info{text-align:center;min-height:60px;margin:16px 0 0;color:var(--muted);font-size:12px}.vvip-note{font-size:12px;color:var(--muted);max-width:800px}@media(max-width:800px){.table-content{grid-template-columns:1fr;gap:20px}.table-diagram{max-width:330px}.layout-seat{width:38px;height:42px;font-size:19px}}


.photo-section{background:#efe6d4;color:#301d20}.photo-section h2 em{color:#8f573c}.photo-section .eyebrow{color:#8e6339}.photo-section figure{margin:30px 0 0}.photo-section img{width:100%;height:auto;display:block;border:1px solid #b8915a}.photo-section figcaption{font-size:12px;color:#715956;margin-top:14px}

.brand{display:flex;align-items:center;gap:10px}.brand img{width:43px;height:50px;object-fit:contain;background:#fff;border-radius:4px}.brand span{font:600 9px Manrope,Arial,sans-serif;letter-spacing:1.5px;color:var(--gold);margin:0}.invitation-logo{width:100px;height:112px;object-fit:contain;background:#fff;border-radius:7px;margin:15px auto 20px;display:block}@media(max-width:700px){.brand span{display:none}.brand img{width:32px;height:38px}#music{font-size:10px}.invitation-logo{width:85px;height:96px}}

/* Transparent original crest and opening envelope */
.brand img,.invitation-logo{background:transparent;border-radius:0}
.opening{min-height:100svh;overflow-y:auto}
.invitation{padding:24px 20px;background:radial-gradient(ellipse,#18090c88,transparent 72%)}
.invitation-logo{width:108px;height:120px;margin:18px auto 22px}
.invitation h1{margin-bottom:22px}.invitation p{margin-bottom:25px}
.envelope-button{display:flex;flex-direction:column;align-items:center;margin:0 auto;padding:12px 20px 4px;border:0;background:none;color:var(--gold);perspective:800px}
.envelope-art{display:block;position:relative;width:210px;height:126px;border-radius:5px;background:#946330;box-shadow:0 18px 35px #0007,inset 0 0 0 1px #e9cf9c55}
.envelope-letter{position:absolute;left:9%;top:9%;width:82%;height:86%;display:flex;align-items:center;justify-content:center;padding-bottom:30px;background:#fff1d5;color:#855b35;font-size:8px;letter-spacing:2px;transition:transform .6s .15s}
.envelope-pocket{position:absolute;inset:0;border-radius:5px;background:linear-gradient(120deg,#c99855,#e4c08a);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}
.envelope-pocket:after{content:'';position:absolute;inset:0;background:linear-gradient(25deg,#eacb95,#b48546);clip-path:polygon(0 100%,50% 40%,100% 100%)}
.envelope-flap{position:absolute;inset:0;background:linear-gradient(#edcd94,#c89956);clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top;transition:transform .55s;backface-visibility:hidden;z-index:3}
.envelope-seal{position:absolute;left:calc(50% - 19px);top:44%;width:38px;height:38px;display:grid;place-items:center;border:2px solid #dfb774;border-radius:50%;background:radial-gradient(circle at 30% 25%,#a72f42,#651023);color:#f4d89b;font:italic 23px Georgia,serif;z-index:4;box-shadow:0 3px 7px #0005;transition:opacity .2s}
.envelope-label{font:italic 25px 'Cormorant Garamond',Georgia,serif;margin-top:21px;letter-spacing:.5px}.envelope-hint{font-size:9px;letter-spacing:1px;color:#d8c2af;margin-top:3px}
.envelope-button:hover .envelope-art{box-shadow:0 18px 40px #0009,0 0 25px #d9b77b30}.envelope-button:focus-visible{outline:2px solid var(--gold);outline-offset:7px;border-radius:8px}
.opening.opened .invitation{opacity:1;animation:invite-fade .6s .85s forwards}.opening.opened .envelope-flap{transform:rotateX(180deg)}.opening.opened .envelope-letter{transform:translateY(-45px)}.opening.opened .envelope-seal{opacity:0}.opening.opened .curtain{transition-delay:.65s}
@keyframes invite-fade{to{opacity:0;transform:translateY(-15px)}}
@media(max-width:700px){.invitation-logo{width:92px;height:102px;margin:14px auto 20px}.invitation h1{font-size:clamp(31px,7.7vw,43px)}.envelope-art{width:185px;height:112px}.envelope-label{font-size:24px}.invitation p{margin-bottom:18px}}
@media(max-height:700px){.invitation{padding:18px}.invitation-logo{width:65px;height:73px;margin:10px auto}.invitation h1{font-size:30px;margin-bottom:15px}.invitation p{font-size:11px;margin-bottom:10px}.envelope-art{width:155px;height:94px}.envelope-label{font-size:21px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.opening.opened .invitation{animation:none;opacity:0}}

.invitation h1{font-family:"Great Vibes","Cormorant Garamond",Georgia,serif;font-size:clamp(49px,7vw,76px);font-weight:400;line-height:1.14;letter-spacing:0;color:#f5e6c9;text-shadow:0 2px 20px #d9b77b25;margin:0 0 24px}.envelope-label{font-family:"Great Vibes","Cormorant Garamond",Georgia,serif;font-size:32px;font-style:normal;line-height:1.3}.envelope-letter{font-family:Georgia,serif;letter-spacing:1.5px}.invitation>.eyebrow{letter-spacing:3.5px;font-size:9px}@media(max-width:700px){.invitation h1{font-size:clamp(43px,11.5vw,59px);line-height:1.18}.envelope-label{font-size:30px}}@media(max-height:700px){.invitation h1{font-size:39px;margin-bottom:16px}.envelope-label{font-size:27px}}
