:root{--emerald:#062c2b;--deep:#031b1c;--gold:#cda65c;--gold-light:#f4db9c;--ivory:#f9eed6;--serif:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--sans:'Segoe UI',Arial,sans-serif;--pointer-x:0px;--pointer-y:0px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--deep);color:var(--ivory);font:14px/1.7 var(--sans);overflow-x:hidden}body.entrance-active{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}[hidden]{display:none!important}.eyebrow{font-size:9px;letter-spacing:3.5px;text-transform:uppercase;font-weight:500;color:var(--gold-light)}.gold-divider{object-fit:contain}.gold-button{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:34px;padding:15px 28px;border:1px solid #d9b469;background:linear-gradient(115deg,#a17a37,#efd292 45%,#c4a061 75%,#e4c17e);color:#152b24;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 0 0 4px #c6a36212,inset 0 0 0 2px #3b38152b;transition:filter .3s,transform .3s;line-height:1.7}.gold-button:hover{filter:brightness(1.12);transform:translateY(-2px)}.gold-button>span:last-child:not(:first-child){font-size:18px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:25px;border:0;padding:10px 0;background:none;font-size:10px;letter-spacing:1px;color:var(--gold-light)}.text-link>span{font-size:23px}.section-title{font-size:clamp(38px,4.7vw,64px);line-height:1.2;text-align:center;letter-spacing:-1.3px}.section-title em{font-weight:400;color:var(--gold-light)}.section-subtitle{color:#cebfaa;font-size:12px;margin:19px auto 0;text-align:center}.chapter-label{display:flex;justify-content:center;align-items:center;gap:14px;font-size:9px;text-transform:uppercase;letter-spacing:2.5px;color:#cfb682;position:relative;z-index:3}.chapter-label>span{font-family:var(--serif);font-size:15px;letter-spacing:1px}.chapter-label i{height:1px;width:35px;background:#b596575c}.gold-trim{position:absolute;left:0;right:0;top:0;height:22px;background:url('assets/gold-border.svg') repeat-x center/100px 22px;z-index:3;border-top:1px solid #be995263;border-bottom:1px solid #be995263}.scene-pattern{position:absolute;inset:0;background:url('assets/gold-pattern.svg') repeat center/150px 180px;opacity:.15;pointer-events:none}.skip-link{position:fixed;top:-100px;left:15px;z-index:300;background:var(--ivory);color:var(--deep);padding:12px}.skip-link:focus{top:12px}
.music-toggle{position:fixed;right:22px;bottom:22px;z-index:40;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 17px;border:1px solid #cda65c99;border-radius:24px;background:#062c2bef;color:#f4db9c;box-shadow:0 5px 24px #0005;font-size:10px;letter-spacing:.6px}.music-icon{font-size:20px;line-height:1}.music-toggle[aria-pressed="true"]{border-color:#f4db9c}.music-toggle:hover{background:#12443c}footer{padding-bottom:85px!important}@media(max-width:560px){.music-toggle{right:14px;bottom:max(14px,env(safe-area-inset-bottom));padding:9px 14px;font-size:9px}.toast{bottom:76px}}@media print{.music-toggle{display:none!important}}
/* Independent palace door leaves open into the illuminated courtyard. */
.entrance{position:fixed;inset:0;z-index:200;background:var(--deep);overflow:hidden;perspective:1400px}.entrance-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,#c6a36288,transparent 65%);opacity:0}.palace-door{position:absolute;top:0;bottom:0;width:50.1%;background-image:linear-gradient(#0017161a,#00171635),url('assets/palace-doors.png');background-size:200% 100%;box-shadow:0 0 40px #000b;will-change:transform;transition:transform 2.3s cubic-bezier(.65,.02,.2,1),filter 2.3s;backface-visibility:hidden}.door-left{left:0;background-position:left center;transform-origin:left center;border-right:1px solid #e4c17e}.door-right{right:0;background-position:right center;transform-origin:right center;border-left:1px solid #e4c17e}.entrance-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse 30% 47% at center,#001c20e0,transparent 100%);transition:opacity .6s,transform .8s;text-align:center;padding:20px}.entrance-content>.eyebrow{font-size:10px;letter-spacing:4px;text-shadow:0 2px 8px #000}.seal{width:190px;height:190px;background:radial-gradient(circle,#123d32 0,#071f1d 53%,transparent 55%);border:0;border-radius:50%;padding:0;margin:26px 0 22px;position:relative;filter:drop-shadow(0 10px 24px #0009);transition:transform .4s}.seal img{position:absolute;inset:0;width:100%;height:100%;animation:seal-breathe 5s ease-in-out infinite}.seal>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#f3d48f;font-family:var(--serif);font-size:33px;letter-spacing:3px}.seal:hover{transform:scale(1.04)}.entrance-content h2{font-size:38px;text-shadow:0 2px 18px #000;line-height:1.3}.entrance-content h2 em{color:var(--gold);font-size:.8em;margin:0 4px}.entrance-date{font-size:11px;text-transform:uppercase;letter-spacing:3px;margin-top:12px;color:#f3d9a2;text-shadow:0 2px 8px #000}.entrance-enter{margin-top:31px;padding:14px 24px;background:#062624e8;border:1px solid var(--gold);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);box-shadow:0 5px 35px #0009}.entrance-enter>span{font-size:18px;margin-left:20px}.skip-entrance{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);background:#041f1dcc;border:0;border-bottom:1px solid #ceb78666;color:#e0d3bc;font-size:10px;padding:7px 12px;letter-spacing:1px}.entrance.is-opening{background:transparent;pointer-events:none}.entrance.is-opening .door-left{transform:translateX(-83%) rotateY(-42deg);filter:brightness(.6)}.entrance.is-opening .door-right{transform:translateX(83%) rotateY(42deg);filter:brightness(.6)}.entrance.is-opening .entrance-content{opacity:0;transform:scale(.94)}.entrance.is-opening .skip-entrance{opacity:0}.entrance.is-opening .entrance-glow{animation:entrance-light 2.2s both}.entrance-active #site-shell{pointer-events:none}
/* Palace scene */
.site-header{height:86px;position:absolute;left:0;right:0;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:25px;background:linear-gradient(#031c1bc9,transparent);border-bottom:1px solid #d6b6712b}.brand{display:flex;align-items:center;gap:12px;font:19px var(--serif);letter-spacing:2px;color:var(--gold-light);white-space:nowrap}.brand img{width:40px}.site-header nav{display:flex;gap:31px;font-size:10px;letter-spacing:1px}.site-header nav a{color:#ecdbb7;transition:color .2s}.site-header nav a:hover{color:#fff}.motion-toggle{display:flex;gap:9px;align-items:center;padding:9px 12px;border:1px solid #dfbd744d;background:#08262688;color:#e4c68d;font-size:9px;letter-spacing:.5px}.motion-toggle>span:first-child{font-size:13px;line-height:1}.hero{min-height:850px;height:100svh;max-height:1300px;position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;text-align:center;background:#03292f}.hero-backdrop{position:absolute;inset:-18px;background:url('assets/royal-palace.png') center center/cover no-repeat;transform:translate(var(--pointer-x),var(--pointer-y)) scale(1.025);transition:transform .5s ease-out}.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#001a2033,transparent 20%,#00161900 55%,#021c1b44 84%,#031b1c),radial-gradient(ellipse at 50% 36%,#01242d66,transparent 65%)}#gold-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.hero-light{position:absolute;top:14%;height:43%;width:18%;background:radial-gradient(ellipse at top,#ffd0801c,transparent 70%);filter:blur(10px);transform-origin:top center;animation:light-sway 10s ease-in-out infinite alternate}.light-left{left:9%;transform:rotate(-15deg)}.light-right{right:9%;transform:rotate(15deg);animation-delay:-5s}.hero-content{position:relative;z-index:4;width:100%;padding:130px 8% 150px;display:flex;flex-direction:column;align-items:center}.hero-crest{position:relative;width:80px;height:80px;margin-bottom:21px}.hero-crest img{height:100%;width:100%}.hero-crest span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:14px;color:var(--gold-light);letter-spacing:1px}.hero-content>.eyebrow{font-size:9px;letter-spacing:4px;text-shadow:0 1px 8px #001917}.hero-names{display:flex;align-items:center;justify-content:center;gap:36px;font-size:clamp(67px,7.4vw,112px);line-height:1.1;letter-spacing:-2px;margin:25px 0 19px;color:#f5e9cd;text-shadow:0 3px 20px #001b22}.hero-names .person{display:flex;flex-direction:column;align-items:center;min-width:0}.hero-names .person>span{overflow-wrap:anywhere;max-width:650px}.hero-names .person small{font-family:var(--sans);font-weight:400;text-transform:uppercase;font-size:11px;letter-spacing:7px;line-height:2.2;margin-top:9px;padding-left:7px;color:#e9cb8c}.hero-names>em{font-size:.54em;color:#d8b575;font-weight:400;margin-top:-15px}.hero-content>.gold-divider{width:290px;height:30px;margin-bottom:14px}.hero-date{font-size:12px;text-transform:uppercase;letter-spacing:4px;color:#f2d9a7}.hero-venue{font-family:var(--serif);font-size:18px;font-style:italic;margin-top:7px;color:#e7d8b7}.hero-discover{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:31px}.hero-discover>span:first-child{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#e6d4ad}.down-arrow{display:flex;align-items:center;justify-content:center;width:31px;height:45px;border:1px solid #ceb1727a;border-radius:20px;color:var(--gold-light);animation:arrow-float 3s ease-in-out infinite}.hero-bottom{position:absolute;bottom:29px;left:4.5%;right:4.5%;z-index:5;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#e0cc9e}.hero-bottom a{border-bottom:1px solid #c5a26766;padding-bottom:6px}.hero-bottom a>span:first-child{font-size:14px;font-family:var(--serif);letter-spacing:0}.hero-bottom a>span:last-child{margin-left:15px}.has-entered .hero-rise{animation:royal-rise 1.3s both}.has-entered .hero-rise:nth-child(2){animation-delay:.1s}.has-entered .hero-rise:nth-child(3){animation-delay:.2s}.has-entered .hero-rise:nth-child(4){animation-delay:.3s}.has-entered .hero-rise:nth-child(5){animation-delay:.4s}.has-entered .hero-rise:nth-child(6){animation-delay:.5s}.has-entered .hero-rise:nth-child(7){animation-delay:.6s}
/* Parchment invitation and dimensional botanical layers */
.invitation-scene{position:relative;padding:80px 5% 65px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#185147,var(--emerald) 55%,#042321)}.invitation-scene>.chapter-label{margin-bottom:52px}.invitation-stage{position:relative;max-width:1300px;margin:auto;padding:0 180px}.parchment{position:relative;background:radial-gradient(ellipse at 50% 30%,#fff9e9,#e8d5aa);color:#513826;text-align:center;min-height:715px;padding:50px 45px 30px;box-shadow:0 25px 80px #00120dcc,inset 0 0 80px #a57b2b22;z-index:2;border:1px solid #e1bd76;border-radius:200px 200px 2px 2px / 85px 85px 2px 2px}.parchment::before{content:"";position:absolute;inset:16px;border:1px solid #a47c3d80;border-radius:185px 185px 0 0 / 78px 78px 0 0;pointer-events:none}.parchment::after{content:"";position:absolute;inset:22px;border:1px solid #a47c3d33;border-radius:180px 180px 0 0 / 74px 74px 0 0;pointer-events:none}.parchment-border{position:absolute;top:75px;bottom:35px;left:34px;right:34px;background:linear-gradient(90deg,#af8b4522 1px,transparent 1px) left/100% 100%;pointer-events:none}.paper-medallion{margin:0 auto 19px;width:65px}.parchment .eyebrow{font-size:8px;letter-spacing:3px;color:#84622f}.parchment h2{font-size:clamp(38px,4vw,55px);line-height:1.18;margin:19px 0 18px;letter-spacing:-1px}.parchment h2 em{color:#7c2336}.paper-divider{margin:0 auto 22px;width:215px}.invitation-message{font-family:var(--serif);font-size:16px;line-height:1.9;color:#776145}.paper-names{display:flex;flex-direction:column;align-items:center;font-size:29px;font-family:var(--serif);color:#76283b;line-height:1.25;margin:23px 0}.paper-names em{font-size:22px;color:#a07b3e;line-height:1.5}.paper-date{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#6c542f}.paper-date i{font-size:8px;color:#a07b3e}.paper-venue{font-size:13px;font-family:var(--serif);margin-top:7px;display:block}.paper-flourish{font-family:Georgia,serif;font-size:38px;color:#a07b3e;margin-top:10px;line-height:1}.peacock{position:absolute;bottom:-40px;width:360px;z-index:4;pointer-events:none;filter:drop-shadow(0 15px 22px #0006)}.peacock-left{left:-35px;transform:translateY(var(--bird-offset,0px));transition:transform .25s linear}.peacock-right{right:-35px;transform:translateY(var(--bird-offset,0px)) scaleX(-1);transition:transform .25s linear}.scene-afterword{text-align:center;font-family:var(--serif);font-size:17px;font-style:italic;color:#cfb884;margin-top:55px;position:relative;z-index:5}.hanging-lamp{position:absolute;top:18px;width:92px;height:290px;object-fit:contain;transform-origin:top center;z-index:3;animation:lamp-sway 8s ease-in-out infinite alternate;filter:drop-shadow(0 8px 20px #d69b3744)}.lamp-left{left:5%}.lamp-right{right:5%;animation-delay:-4s}
/* Four gilded architectural clock faces */
.countdown-scene{position:relative;overflow:hidden;padding:90px 6% 100px;text-align:center;background:radial-gradient(ellipse at center,#542133 0,#2b0e19 65%,#1b0c13 100%)}.countdown-scene>.chapter-label{margin-bottom:25px}.countdown-mandala{position:absolute;width:900px;height:900px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.075;pointer-events:none;animation:mandala-turn 180s linear infinite}.countdown-scene>.section-title,.countdown-scene>.section-subtitle{position:relative;z-index:2}.countdown-clock{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;max-width:990px;margin:55px auto 28px}.clock-tower{width:180px;position:relative;padding-top:20px}.tower-crown{color:#cfaa66;font-size:25px;line-height:1;position:absolute;left:50%;top:0;transform:translateX(-50%);filter:drop-shadow(0 0 6px #e3b26344)}.clock-dial{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:205px;border:1px solid #bc9456;border-radius:90px 90px 0 0;background:linear-gradient(125deg,#8555351a,#080d0a77 50%,#976c3b19);box-shadow:0 15px 40px #14071088,inset 0 0 35px #c7994322,inset 0 0 0 6px #2f121e}.clock-dial::before{content:"";position:absolute;inset:8px;border:1px solid #bc94566e;border-radius:85px 85px 0 0}.clock-dial::after{content:"✧";position:absolute;bottom:12px;color:#be995266;font-size:16px}.clock-dial strong{font-family:var(--serif);font-size:70px;line-height:1.2;letter-spacing:-3px;font-weight:400;font-variant-numeric:tabular-nums;color:#f1dba8;text-shadow:0 0 25px #dbac4926;min-width:100%}.clock-dial>span{font-size:8px;text-transform:uppercase;letter-spacing:3px;margin:13px 0 10px;padding-left:3px;color:#c9ad78}.tower-foot{height:10px;margin:0 -8px;background:linear-gradient(#80603b,#dfc083 40%,#7e5834 60%,#ba9153);border:1px solid #bc9456;box-shadow:0 5px 15px #0006}.clock-separator{font-size:25px;color:#b68d55}.timer-note{position:relative;font-size:8px;text-transform:uppercase;letter-spacing:1.5px;color:#cab392;margin-bottom:34px}.wedding-day-message{position:relative;margin:50px auto;font-family:var(--serif);font-size:36px;color:var(--gold-light)}
/* The wedding date plaque */
.wedding-scene{position:relative;overflow:hidden;padding:90px 7% 80px;background:radial-gradient(ellipse at center,#164038,#062724 75%)}.wedding-scene>.chapter-label{margin-bottom:25px}.wedding-scene .section-title{position:relative}.wedding-plaque{position:relative;display:grid;grid-template-columns:350px 1fr;align-items:center;gap:50px;padding:56px 70px;border:1px solid #c8a15e;outline:1px solid #c8a15e44;outline-offset:7px;margin:55px auto 40px;max-width:1060px;background:linear-gradient(105deg,#031f1ae6,#144339e6,#072924e6);box-shadow:0 20px 80px #0004}.wedding-plaque::before{content:"";position:absolute;inset:12px;border:1px solid #c8a15e44;pointer-events:none}.plaque-corner{position:absolute;width:50px;height:50px;background:url('assets/gold-corner.svg') no-repeat center/contain;z-index:2}.corner-tl{top:-2px;left:-2px}.corner-tr{top:-2px;right:-2px;transform:scaleX(-1)}.corner-bl{bottom:-2px;left:-2px;transform:scaleY(-1)}.corner-br{bottom:-2px;right:-2px;transform:scale(-1)}.date-emblem{width:300px;height:300px;position:relative;justify-self:center}.date-emblem>img{width:100%;height:100%;opacity:.85}.date-emblem>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.date-emblem span{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:#d5bb83}.date-emblem strong{font-size:91px;line-height:1.1;font-family:var(--serif);font-weight:400;letter-spacing:-4px;color:#efd49c}.wedding-copy{position:relative}.wedding-copy .eyebrow{font-size:8px;letter-spacing:2.5px}.wedding-copy h3{font-size:49px;color:#f1ddb4;line-height:1.2;margin:15px 0 17px;letter-spacing:-1px}.wedding-copy>p:not(.eyebrow){font-size:12px;color:#c2c4ae;line-height:1.9}.wedding-copy dl{font-size:11px;margin:26px 0 17px}.wedding-copy dl>div{display:grid;grid-template-columns:48px 1fr;gap:10px;margin:11px 0}.wedding-copy dt{color:#b6a577;font-size:9px;text-transform:uppercase;letter-spacing:1px}.wedding-copy dd{margin:0;color:#e5dbbf}.wedding-copy dd>span#event-time{display:block;color:#cbb483;margin-top:4px}.promise-line{position:relative;display:flex;align-items:center;justify-content:center;gap:25px;color:#ccb98f;margin-top:50px}.promise-line p{font-family:var(--serif);font-style:italic;font-size:18px;text-align:center}.promise-line img{width:150px;opacity:.75}
/* Candlelit setting */
.venue-scene{min-height:760px;position:relative;overflow:hidden;display:flex;align-items:center}.venue-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.venue-shade{position:absolute;inset:0;background:linear-gradient(90deg,#021d20eb,#021d20a6 36%,#021d2022 70%),linear-gradient(0deg,#031b1c,transparent 25%,transparent 80%,#06272488)}.venue-content{position:relative;z-index:2;max-width:540px;padding:95px 0 95px 8%;box-sizing:content-box}.venue-content>.chapter-label{justify-content:flex-start;margin-bottom:55px}.venue-content>.eyebrow{font-size:8px;letter-spacing:2.5px}.venue-content h2{font-size:clamp(44px,5vw,74px);line-height:1.1;letter-spacing:-1px;margin:21px 0 24px;max-width:440px;text-wrap:balance;color:#f5e4c1;overflow-wrap:anywhere}.venue-content>.gold-divider{width:220px;margin-bottom:22px}.venue-content>p:not(.eyebrow){font-family:var(--serif);font-size:19px;line-height:1.8;color:#dfd0b1}.venue-content>p.venue-pending{font-family:var(--sans);font-size:10px;line-height:1.8;color:#d5c7a9;margin-top:28px;max-width:260px}.venue-content>p.venue-address{font-family:var(--sans);font-size:12px;margin-top:25px;white-space:pre-line}.venue-content>.gold-button{margin-top:26px}.venue-content>.text-link{display:flex;margin-top:12px}.art-note{position:absolute;bottom:22px;right:4%;font-size:8px;letter-spacing:.5px;color:#e2ce9a;z-index:2;max-width:250px;text-align:right;text-shadow:0 1px 8px #000}
/* Closing seal */
.closing-scene{position:relative;overflow:hidden;padding:95px 20px 80px;text-align:center;background:radial-gradient(ellipse,#164b3e,#062b28 60%,#041e1d)}.closing-ring{position:absolute;width:620px;height:620px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.11;pointer-events:none}.closing-ring img{width:100%;height:100%}.closing-content{position:relative;z-index:2}.closing-content .eyebrow{font-size:8px}.closing-content h2{font-size:clamp(32px,3.7vw,52px);line-height:1.25;margin:24px 0;color:#efdfbf}.closing-content h2 em{color:#ddbe7b}.closing-monogram{font-family:var(--serif);font-size:67px;color:#dfbc72;letter-spacing:-2px;margin:18px 0 11px;line-height:1.2}.closing-names{font-family:var(--serif);font-size:20px;color:#e4d4b2}.closing-names em{color:#b59758;margin:0 8px}.closing-date{font-size:9px;letter-spacing:2.4px;text-transform:uppercase;color:#bfae89;margin:16px 0 28px}footer{padding:26px 5%;border-top:1px solid #c6a36229;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#b7aa8a;background:#031b1c}footer>span{letter-spacing:1px}footer>div{display:flex;align-items:center;gap:28px}footer button{border:0;padding:0;background:none;color:inherit;font-size:inherit}
/* Editor and motion accessibility */
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:250;background:#f6e6c6;color:#16362b;border:1px solid #b9924c;padding:14px 24px;box-shadow:0 12px 45px #0006;max-width:calc(100% - 30px);width:max-content;font-size:11px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #b99453;background:#082e29;color:#f4e2be;padding:32px;width:630px;max-width:calc(100% - 28px);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#001b1be6;backdrop-filter:blur(5px)}.editor-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.editor-heading h2{font-size:31px;margin-top:7px}.editor-heading .eyebrow{font-size:8px}.close-button{border:0;background:none;color:#ddbc7a;font-size:30px;line-height:1}.editor-intro{font-size:11px;color:#b9c4aa;margin:18px 0}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{display:block;margin-bottom:15px;font-size:10px;color:#dfc185}form label span{color:#a5b7a6;font-size:9px}form input,form textarea{display:block;width:100%;min-width:0;margin-top:6px;padding:10px;background:#031d1b;border:1px solid #b597584d;border-radius:0;color:#f6e5c3;font-size:12px;color-scheme:dark}form textarea{resize:vertical}.editor-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:23px}.editor-actions .gold-button{font-size:9px;padding:12px 19px;letter-spacing:.5px}.button-outline{background:none;color:var(--gold-light)}.reset-button{font-size:9px;margin-top:12px}.editor-help{font-size:9px;color:#b0baa0;margin-top:10px;line-height:1.8}.noscript-note{padding:20px;text-align:center;background:#f1dfba;color:#213b2c;font-size:12px}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.65,.2,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-backdrop{transform:scale(1.025)!important}.motion-paused .peacock-left{transform:none!important}.motion-paused .peacock-right{transform:scaleX(-1)!important}.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .hero-rise{opacity:1!important;transform:none!important}.motion-paused .entrance.is-opening .palace-door{transition:none!important}.motion-paused .entrance.is-opening .entrance-glow{display:none}
@keyframes royal-rise{from{opacity:0;transform:translateY(24px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes seal-breathe{0%,100%{filter:drop-shadow(0 0 7px #e2ae431a)}50%{filter:drop-shadow(0 0 20px #e2ae4366)}}@keyframes entrance-light{0%,100%{opacity:0}35%{opacity:.6}}@keyframes lamp-sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes arrow-float{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes light-sway{from{opacity:.5;transform:rotate(-9deg)}to{opacity:1;transform:rotate(9deg)}}@keyframes mandala-turn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(min-width:1700px){.hero{min-height:1000px}.hero-content{padding-top:160px}.hero-names{font-size:125px}.hero-crest{width:100px;height:100px}.hero-discover{margin-top:40px}}
@media(max-width:1150px){.hero{min-height:780px}.hero-content{padding-top:125px}.hero-names{font-size:83px;gap:26px}.invitation-stage{padding:0 130px}.peacock{width:280px}.peacock-left{left:-38px}.peacock-right{right:-38px}.parchment{padding:45px 30px 28px}.wedding-plaque{grid-template-columns:270px 1fr;gap:30px;padding:45px}.date-emblem{width:260px;height:260px}.wedding-copy h3{font-size:44px}.countdown-clock{gap:20px}.clock-tower{width:160px}.clock-dial{height:195px}.clock-dial strong{font-size:63px}.promise-line img{width:100px}}
@media(max-width:800px){.site-header{height:72px;padding:0 5%;gap:14px}.brand{font-size:16px;gap:8px}.brand img{width:31px}.site-header nav{gap:18px;font-size:9px;letter-spacing:.3px}.site-header nav a:first-child,.site-header nav a:last-child{display:none}.motion-toggle{padding:8px 9px}.motion-label{display:none}.hero{min-height:790px;max-height:1050px}.hero-backdrop{background-position:center;background-size:auto 100%}.hero-content{padding:126px 5% 100px}.hero-crest{width:68px;height:68px;margin-bottom:22px}.hero-content>.eyebrow{font-size:8px;letter-spacing:2.5px}.hero-names{font-size:72px;gap:22px;letter-spacing:-2px;margin:26px 0 24px}.hero-names .person small{font-size:9px;letter-spacing:5px}.hero-date{font-size:10px;letter-spacing:2.6px}.hero-venue{font-size:17px}.hero-content>.gold-divider{width:245px}.hero-bottom{left:5%;right:5%;bottom:22px;font-size:7px;letter-spacing:1px}.hero-bottom>span{max-width:150px;text-align:left}.hero-bottom a{align-self:end}.entrance-content{background:radial-gradient(ellipse 65% 40% at center,#001c20ed,transparent)}.entrance-content>.eyebrow{font-size:8px;letter-spacing:3px}.seal{width:170px;height:170px}.entrance-content h2{font-size:34px}.invitation-scene{padding:70px 4% 55px}.invitation-stage{padding:0 65px}.parchment{min-height:730px;padding:45px 30px 42px}.parchment h2{font-size:40px}.invitation-message{font-size:14px}.paper-names{font-size:27px}.peacock{width:225px;bottom:-27px}.peacock-left{left:-64px}.peacock-right{right:-64px}.hanging-lamp{width:65px;height:215px}.lamp-left{left:2%}.lamp-right{right:2%}.scene-afterword{margin-top:55px;font-size:15px}.chapter-label{font-size:8px;letter-spacing:1.7px}.countdown-scene{padding:75px 5% 75px}.countdown-clock{gap:13px;margin-top:45px}.clock-tower{width:135px}.clock-dial{height:173px}.clock-dial strong{font-size:55px}.clock-dial>span{font-size:7px;letter-spacing:2px}.clock-separator{font-size:18px}.wedding-scene{padding:75px 7% 65px}.wedding-plaque{grid-template-columns:230px 1fr;gap:24px;padding:38px 25px}.date-emblem{width:225px;height:225px}.date-emblem strong{font-size:73px}.date-emblem span{font-size:8px}.wedding-copy h3{font-size:37px}.wedding-copy .eyebrow{font-size:7px;letter-spacing:1.5px}.wedding-copy dl>div{display:block}.wedding-copy dt{margin-bottom:3px}.wedding-copy>p:not(.eyebrow){font-size:11px}.promise-line img{width:65px}.promise-line{gap:15px}.promise-line p{font-size:16px}.venue-scene{min-height:720px}.venue-background{object-position:65% center}.venue-shade{background:linear-gradient(90deg,#021d20e8,#021d20aa 43%,#021d2033),linear-gradient(0deg,#031b1c,transparent 35%)}.venue-content{padding:75px 7%;max-width:380px}.venue-content h2{font-size:54px}.venue-content>.chapter-label{margin-bottom:45px}.venue-content>p:not(.eyebrow){font-size:17px}.venue-content>p.venue-pending{font-size:10px}.closing-scene{padding:80px 6% 65px}.closing-content h2{font-size:39px}.closing-monogram{font-size:60px}footer{font-size:8px}footer>div{gap:18px}}
@media(max-width:560px){html{scroll-padding-top:25px}.hero{height:100svh;min-height:800px;max-height:1100px}.hero-backdrop{background-position:center bottom;background-size:auto 100%;inset:-8px}.hero-vignette{background:linear-gradient(#001e2333,#001e231a 30%,#001e2333 60%,#031b1c)}.hero-content{padding-top:116px}.hero-crest{width:62px;height:62px;margin-bottom:18px}.hero-crest span{font-size:11px}.hero-content>.eyebrow{font-size:7px;letter-spacing:2.4px}.hero-names{flex-direction:column;gap:7px;font-size:70px;line-height:1.03;margin:23px 0 20px}.hero-names .person small{font-size:8px;letter-spacing:4.5px;line-height:1.4;margin-top:7px}.hero-names>em{font-size:29px;margin:0;line-height:1.2}.hero-content>.gold-divider{width:215px;margin-bottom:15px;height:25px}.hero-date{font-size:9px;letter-spacing:2.3px}.hero-venue{font-size:16px;margin-top:9px}.hero-discover{margin-top:25px;gap:12px}.hero-discover>span:first-child{font-size:7px;letter-spacing:1.8px}.down-arrow{width:26px;height:37px}.hero-bottom{font-size:6px;letter-spacing:1px;bottom:19px}.hero-bottom a>span:first-child{font-size:12px}.hero-bottom a>span:last-child{margin-left:7px}.hero-bottom>span{max-width:130px}.entrance-content h2{font-size:31px}.entrance-date{font-size:9px;letter-spacing:2px}.entrance-enter{font-size:9px;padding:13px 20px}.seal{margin:26px 0 20px;width:160px;height:160px}.seal>span{font-size:30px}.palace-door{background-size:200% 100%}.entrance-content>.eyebrow{font-size:7px;letter-spacing:2.7px}.invitation-scene{padding:65px 6% 50px}.invitation-scene>.chapter-label{margin-bottom:36px}.hanging-lamp{width:45px;height:165px;opacity:.8}.lamp-left{left:1%}.lamp-right{right:1%}.invitation-stage{padding:0 5px 90px}.parchment{padding:40px 24px 85px;min-height:710px;border-radius:110px 110px 2px 2px / 55px 55px 2px 2px}.parchment::before{inset:11px;border-radius:100px 100px 0 0 / 48px 48px 0 0}.parchment::after{inset:16px;border-radius:95px 95px 0 0 / 44px 44px 0 0}.paper-medallion{width:54px;margin-bottom:16px}.parchment .eyebrow{font-size:7px;letter-spacing:1.8px}.parchment h2{font-size:35px;margin:18px 0}.paper-divider{width:175px;margin-bottom:20px}.invitation-message{font-size:13px;line-height:1.9}.invitation-message br{display:none}.paper-names{font-size:26px;margin:22px 0}.paper-date{gap:6px;font-size:8px;letter-spacing:.5px}.paper-venue{font-size:12px}.paper-flourish{margin-top:12px}.peacock{width:180px;bottom:0}.peacock-left{left:-40px}.peacock-right{right:-40px}.scene-afterword{font-size:14px;margin-top:10px}.countdown-scene{padding:65px 5%}.section-title{font-size:36px;letter-spacing:-.7px}.countdown-scene>.chapter-label{font-size:7px;letter-spacing:1.3px;gap:10px;margin-bottom:22px}.section-subtitle{font-size:10px;max-width:250px;line-height:1.9;margin-top:15px}.countdown-clock{gap:9px;margin:36px auto 25px}.clock-tower{width:calc((100% - 27px)/4);padding-top:15px}.clock-separator{display:none}.tower-crown{font-size:18px}.clock-dial{height:130px;border-radius:50px 50px 0 0;box-shadow:0 10px 25px #14071088,inset 0 0 20px #c7994322}.clock-dial::before{inset:5px;border-radius:45px 45px 0 0}.clock-dial strong{font-size:39px;letter-spacing:-1.5px;margin-top:0}.clock-dial>span{font-size:6px;letter-spacing:1.1px;padding-left:1px;margin:9px 0 4px}.clock-dial::after{font-size:11px;bottom:9px}.tower-foot{height:7px;margin:0 -3px}.timer-note{font-size:6px;letter-spacing:1px;max-width:260px;margin:0 auto 29px;line-height:1.9}.gold-button{font-size:9px;padding:14px 23px;letter-spacing:1.2px;gap:28px}.countdown-mandala{width:620px;height:620px}.wedding-scene{padding:65px 7% 50px}.wedding-plaque{grid-template-columns:1fr;gap:18px;padding:25px 28px 35px;margin-top:40px;text-align:center}.date-emblem{width:210px;height:210px}.date-emblem strong{font-size:70px}.date-emblem span{font-size:8px}.wedding-copy h3{font-size:39px;margin:12px 0 17px}.wedding-copy dl{margin:23px 0 8px;font-size:11px}.wedding-copy dl>div{margin:16px 0}.wedding-copy dt{font-size:8px}.wedding-copy>p:not(.eyebrow){font-size:12px}.wedding-copy .text-link{font-size:9px}.promise-line{gap:10px;margin-top:39px}.promise-line img{width:35px}.promise-line p{font-size:14px;max-width:230px}.venue-scene{min-height:760px;align-items:end}.venue-background{object-position:68% center}.venue-shade{background:linear-gradient(0deg,#031b1c 0,#032020ed 26%,#032020bb 46%,#03202022 80%)}.venue-content{padding:230px 8% 75px;max-width:none;box-sizing:border-box;width:100%}.venue-content>.chapter-label{margin-bottom:27px;font-size:7px}.venue-content>.eyebrow{font-size:7px;letter-spacing:2px}.venue-content h2{font-size:46px;max-width:310px;margin:18px 0 20px}.venue-content>.gold-divider{width:190px;margin-bottom:19px}.venue-content>p:not(.eyebrow){font-size:16px}.venue-content>p.venue-pending{font-size:9px;max-width:250px;margin-top:21px}.art-note{font-size:6px;bottom:20px;right:8%;max-width:200px}.closing-scene{padding:65px 6% 60px}.closing-ring{width:500px;height:500px}.closing-content h2{font-size:31px;letter-spacing:-.5px;margin-top:21px;line-height:1.3}.closing-content .eyebrow{font-size:7px}.closing-monogram{font-size:57px;margin:26px 0 16px}.closing-names{font-size:18px;line-height:1.7}.closing-names em{margin:0 4px}.closing-date{font-size:8px;letter-spacing:1.7px}.chapter-label{font-size:7px}.chapter-label>span{font-size:13px}footer{padding:23px 6%;flex-direction:column;gap:16px;font-size:8px}footer>div{gap:25px}.toast{font-size:10px;padding:12px 18px}dialog{padding:24px}.editor-heading h2{font-size:27px}.form-pair{gap:10px}.editor-actions{gap:10px}.editor-actions .gold-button{padding:12px 13px;font-size:8px}}
@media(max-width:560px){.hero-backdrop{background-image:url('assets/royal-palace-mobile.png');background-size:100% 100%;inset:0;transform:none}.hero-vignette{background:linear-gradient(#001e2322,transparent 20%,#001e231a 70%,#031b1c)}}
@media(max-width:360px){.site-header nav{gap:13px;font-size:8px}.brand{font-size:15px;gap:6px}.brand img{width:27px}.hero-names{font-size:63px}.hero-content>.eyebrow{letter-spacing:1.7px}.parchment h2{font-size:31px}.invitation-message{font-size:12px}.paper-names{font-size:24px}.peacock{width:155px}.clock-dial strong{font-size:33px}.clock-dial{height:118px}.clock-dial>span{font-size:5px;letter-spacing:.8px}.section-title{font-size:32px}.form-pair{grid-template-columns:1fr}.wedding-plaque{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-backdrop{transform:none!important}#gold-dust,.hero-light{display:none}.peacock-left{transform:none!important}.peacock-right{transform:scaleX(-1)!important}.gold-button:hover{transform:none}}
@media print{body{background:#fff;color:#30251e}.entrance,.site-header,.hero-backdrop,.hero-vignette,.hero-light,#gold-dust,.hero-crest,.hero-bottom,.hero-discover,.gold-trim,.scene-pattern,.hanging-lamp,.peacock,.countdown-scene,.venue-background,.venue-shade,.art-note,.closing-scene,footer,dialog,.gold-button,.text-link,.toast{display:none!important}.hero{height:auto;min-height:0;background:white}.hero-content{padding:30px;color:#35271c}.hero-names{font-size:45px;color:#553322;text-shadow:none}.hero-names .person small,.hero-date,.hero-venue,.eyebrow{color:#684521!important}.hero-names{margin:10px;flex-direction:row}.hero-names>em{font-size:25px}.hero-content>.gold-divider{display:none}.invitation-scene,.wedding-scene,.venue-scene{padding:20px;background:#fff;min-height:0;display:block}.invitation-stage{padding:0}.parchment{background:#fff;padding:20px;min-height:0;color:#30251e;box-shadow:none;border:0;border-radius:0}.parchment::before,.parchment::after,.parchment-border,.paper-medallion,.paper-names,.paper-flourish,.scene-afterword{display:none}.parchment h2{font-size:29px}.invitation-message{font-size:13px}.wedding-plaque{break-inside:avoid;background:#fff;box-shadow:none;margin:20px auto;padding:25px;grid-template-columns:150px 1fr;gap:25px}.date-emblem{width:150px;height:150px}.date-emblem strong{font-size:48px;color:#60482b}.date-emblem span{color:#60482b}.wedding-copy h3{font-size:30px;color:#60482b}.wedding-copy dd,.wedding-copy dt,.wedding-copy>p{color:#60482b!important}.section-title{font-size:29px;color:#60482b}.venue-content{padding:20px;color:#60482b}.venue-content h2{font-size:30px;color:#60482b}.venue-content>p{color:#60482b!important}.venue-content>.chapter-label,.chapter-label,.promise-line{display:none}.reveal{opacity:1!important;transform:none!important}}
