@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#19263c;--gold:#caa35e;--cream:#f7f4ed;--ink:#222b39;--line:#e8dfd0}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 0%,#263b58,var(--navy) 78%);color:#fff;padding:0 6% 82px}.hero nav{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #ffffff15}.brand{display:flex;align-items:center;gap:13px;color:#e8bf78;text-decoration:none;font-size:16px;line-height:1.4;letter-spacing:1.2px;font-weight:800}.brand-icon{font-size:47px;line-height:1}.paris{display:block;text-align:center;font-size:10px;letter-spacing:3px}.languages{display:flex;gap:7px;align-items:center;color:#768297}.languages button{border:0;background:transparent;color:#b8c0cd;padding:7px 9px;font-size:12px;letter-spacing:1px}.languages button[aria-pressed=true]{color:#f0cb8b;border-bottom:1px solid var(--gold)}.hero-content{max-width:780px;margin:57px auto 0;text-align:center;position:relative;z-index:1}.eyebrow{color:#d9b46f;font-size:11px;letter-spacing:3.5px;font-weight:700;margin:0 0 20px}h1{font-size:clamp(36px,5.8vw,64px);line-height:1.15;letter-spacing:-2.5px;margin:0;font-weight:750}.gold-sub{color:#e3b96e;font-size:20px;font-style:italic;letter-spacing:.3px;margin:18px 0 23px}.intro{max-width:570px;margin:0 auto;color:#e4e6eb;line-height:1.9;font-size:15px}.event-meta{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:28px;color:#dfc490;font-size:12px}.meta-dot{color:#667083}.anniversary{position:absolute;right:4%;top:125px;opacity:.055;transform:rotate(12deg);display:flex;align-items:center;flex-direction:column}.anniversary>span{font-size:300px;font-weight:500;line-height:.9}.anniversary small{letter-spacing:8px}main{max-width:850px;margin:auto;padding:0 24px}.invitation{position:relative;display:flex;align-items:center;gap:20px;padding:23px 29px;background:#fdfaf3;border:1px solid var(--gold);border-radius:16px;margin-top:-34px;box-shadow:0 8px 30px #19263c08}.sparkle{color:var(--gold);font-size:30px}.invitation strong{color:var(--navy);font-size:15px}.invitation p{margin:3px 0 0;color:#746f67;font-size:12px}.form-heading{margin:42px 0 25px}.form-heading h2{font-size:28px;letter-spacing:-.8px;line-height:1.3;margin:0 0 8px;color:var(--navy)}.form-heading p{margin:0;color:#7b7c7d;font-size:14px}.form-heading>small{display:block;font-size:11px;color:#96918a;margin-top:10px}.card{border:1px solid var(--line);background:#fffdf8;border-radius:18px;padding:32px;margin-bottom:18px;box-shadow:0 8px 32px #19263c03}.card h3{display:flex;align-items:center;gap:13px;color:var(--navy);font-size:21px;line-height:1.4;letter-spacing:-.5px;margin:0 0 27px;font-weight:750}.number{width:31px;height:31px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;display:grid;place-items:center;letter-spacing:0;flex-shrink:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}label,legend{font-size:13px;font-weight:700;color:#29303b}label>span:not(.choice-tick),legend>span{color:inherit}input:not([type=checkbox]):not([type=radio]){display:block;margin-top:8px;width:100%;height:50px;padding:0 14px;border:1.5px solid #dcd5c9;border-radius:8px;background:#fff;color:var(--navy);outline:none;font-size:14px;transition:.2s}input:focus{border-color:var(--gold)!important;box-shadow:0 0 0 3px #caa35e20}input::placeholder{color:#a6a5a3;font-weight:400}.phone{display:block;margin-top:22px;max-width:100%}label small{display:block;font-size:11px;font-weight:400;color:#8c8984;margin-top:7px}fieldset{padding:0;margin:0;border:0;min-width:0}legend{padding:0;margin-bottom:11px}.choice{display:flex;align-items:center;position:relative;gap:12px;border:1px solid #e2dbce;border-radius:9px;padding:17px 15px;cursor:pointer;background:#fff}.choice strong{font-size:13px}.choice small{margin-top:2px;font-size:11px}.choice input,.slot input{position:absolute;opacity:0;width:1px;height:1px}.choice-tick{margin-left:auto;color:#bab4a8;font-size:19px}.selected{border-color:var(--gold)!important;background:#faf5e9!important}.choice.selected .choice-tick{color:#ac8139}.choice:focus-within,.slot:focus-within{outline:2px solid var(--gold);outline-offset:3px}.slot-field{margin-top:27px}.slot-field legend{margin-bottom:0}.helper{color:#8c8984;font-size:11px;margin:4px 0 13px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;border:1px solid #e2dbce;border-radius:8px;padding:14px 5px;background:#fff;font-size:13px;color:var(--navy);font-variant-numeric:tabular-nums}.empty-slots{font-size:12px;color:#939087;padding:18px;border:1px dashed #dcd5c9;border-radius:8px;text-align:center}.confirm-box{padding:10px 4px 21px}.confirm-box label{display:flex;align-items:center;gap:11px;font-weight:500;font-size:13px}input[type=checkbox]{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0}.submit{width:100%;border:0;border-radius:10px;background:var(--navy);color:#fff;padding:18px 24px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 9px 20px #19263c14}.submit>span{position:absolute;right:23px;font-size:20px}.submit:disabled{opacity:.5;cursor:not-allowed}.submit:hover:not(:disabled){background:#263b58}.privacy{text-align:center;max-width:610px;color:#8a857e;font-size:11px;line-height:1.9;margin:22px auto 0}footer{text-align:center;margin:56px 0 28px;border-top:1px solid var(--line);padding-top:26px}.footer-brand{font-size:10px;letter-spacing:2px;font-weight:800;color:#6b6e74}footer p{font-size:11px;color:#9d978c;margin:6px}.footer-star{font-size:24px;color:var(--gold)}.success{text-align:center;margin-top:40px;padding:45px 25px}.success h2{font-size:30px;letter-spacing:-1px;color:var(--navy)}.success-mark{border:1px solid var(--gold);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;margin:0 auto 22px;color:#ac8139;font-size:25px}.success p{color:#817b70}.receipt{background:var(--cream);border-radius:10px;display:flex;flex-direction:column;padding:23px;margin:23px auto;max-width:330px}.receipt strong{font-size:24px;color:var(--navy)}.receipt span,.receipt small{font-size:12px;color:#8a857e}.error{color:#a13427;font-size:13px}.admin-wrap{padding-top:40px;max-width:1100px}.admin-wrap input{width:100%;padding:12px;margin:12px 0}.admin-wrap button{padding:12px 20px;margin:5px;border:1px solid var(--line);border-radius:8px;background:var(--navy);color:white}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--navy)}@media(max-width:600px){.hero{padding:0 22px 67px}.hero nav{padding:21px 0}.brand{font-size:12px;gap:8px}.brand-icon{font-size:35px}.hero-content{margin-top:38px}h1{letter-spacing:-1.5px;font-size:38px}.gold-sub{font-size:16px;margin-top:15px}.intro{font-size:13px}.eyebrow{font-size:9px;letter-spacing:2.5px}.event-meta{gap:10px;font-size:10px}main{padding:0 16px}.invitation{padding:18px 17px;gap:12px}.invitation p{font-size:10px}.invitation strong{font-size:13px}.sparkle{font-size:24px}.form-heading{margin-top:32px}.form-heading h2{font-size:24px}.form-heading p{font-size:12px}.card{padding:23px 19px;border-radius:15px}.card h3{font-size:18px;margin-bottom:23px}.two-col{grid-template-columns:1fr;gap:20px}.size-options{grid-template-columns:1fr 1fr;gap:9px}.choice{padding:12px 10px;gap:5px}.choice strong{font-size:11px}.choice-tick{font-size:15px}.choice small{font-size:10px}.slot{font-size:11px}.slots{gap:7px}.confirm-box label{font-size:12px}.privacy{font-size:10px}footer{margin-top:35px}.anniversary{right:-80px}}

.hero-logo{display:block;width:152px;height:auto;margin:0 auto 25px;border-radius:0;box-shadow:none}@media(max-width:600px){.hero-logo{width:124px;margin-bottom:22px;border-radius:0}}

.event-details{max-width:660px;margin:34px auto 0;border:1px solid #caa35e70;border-radius:18px;background:linear-gradient(135deg,#ffffff08,#ffffff02);overflow:hidden;text-align:center;box-shadow:0 12px 35px #0000000c}
.event-when{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;padding:25px;gap:22px}.detail-label{display:block;color:#cfae76;font-size:9px;font-weight:750;letter-spacing:2.4px;line-height:1.5}.event-date{border-right:1px solid #caa35e45;padding-right:22px}.event-date>strong{display:block;font-size:59px;line-height:1.15;font-weight:750;color:#edc98d;letter-spacing:-2px;margin-top:8px;font-variant-numeric:tabular-nums}.date-slash{font-size:40px;font-weight:400;color:#b8955f;padding:0 5px;vertical-align:5px}.date-written{display:block;color:#ece2d1;font-size:12px;margin-top:4px}.event-time>strong{display:block;font-size:28px;line-height:1.4;color:#fff8eb;letter-spacing:-.6px;white-space:nowrap;margin-top:13px;font-variant-numeric:tabular-nums}.event-time>strong>span{color:#caa35e;font-size:21px;padding:0 4px;font-weight:400}.time-caption{display:block;font-size:11px;color:#bdc6d3;margin-top:6px}.event-venue{border-top:1px solid #caa35e35;padding:21px 18px 24px;background:#101b2c24}.event-venue>strong{display:block;font-size:20px;color:#f4e5ca;letter-spacing:-.35px;font-weight:750;line-height:1.5;margin:9px auto 4px}.event-venue>strong>span{white-space:nowrap}.event-venue address{font-style:normal;color:#f5f1e9;font-size:18px;font-weight:500;line-height:1.6}
@media(max-width:600px){.event-details{margin-top:27px;border-radius:14px}.event-when{padding:21px 13px;gap:13px;grid-template-columns:1fr 1.2fr}.detail-label{font-size:8px;letter-spacing:1.5px}.event-date{padding-right:13px}.event-date>strong{font-size:46px;letter-spacing:-1.8px}.date-slash{font-size:31px;padding:0 3px;vertical-align:4px}.event-time>strong{font-size:21px;margin-top:12px;letter-spacing:-.7px}.event-time>strong>span{font-size:16px;padding:0 2px}.date-written{font-size:11px}.time-caption{font-size:9px;max-width:150px;margin:6px auto 0}.event-venue{padding:19px 12px 21px}.event-venue>strong{font-size:17px;max-width:290px}.event-venue>strong>span{display:block}.event-venue address{font-size:16px}}

.event-weekday{display:block;color:#f4d39b;font-size:23px;font-weight:800;letter-spacing:3px;line-height:1.35;margin:13px 0 9px}.event-date>strong.full-event-date{font-size:35px;letter-spacing:-1.1px;white-space:nowrap;margin-top:0}.full-event-date .date-slash{font-size:27px;vertical-align:2px;padding:0 2px}.event-when{grid-template-columns:1.2fr 1.35fr}.date-written{font-size:11px}
@media(max-width:600px){.event-when{grid-template-columns:1fr;gap:19px;padding:23px 16px}.event-date{border-right:0;border-bottom:1px solid #caa35e45;padding:0 0 21px}.event-weekday{font-size:24px;letter-spacing:3px;margin:12px 0 9px}.event-date>strong.full-event-date{font-size:38px;letter-spacing:-1px}.full-event-date .date-slash{font-size:29px;padding:0 3px}.event-time>strong{font-size:25px;margin-top:8px}.time-caption{max-width:none;font-size:10px}.date-written{font-size:12px}}
