@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--cream:#f7efdf;--blue:#426886;--ink:#343b36;--terra:#c47755;--line:#c8c7b1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}a{color:inherit}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:var(--blue);color:var(--cream);border:1px solid var(--blue);padding:16px 24px;border-radius:3px;transition:background .2s,transform .2s}button:hover{background:#2f526e}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:5px}header{height:85px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;text-decoration:none}.nav-link{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap}.hero{position:relative;height:720px;max-height:90svh;min-height:530px;overflow:hidden;background:#95b8c4}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;animation:landscape-in 2s ease-out both}.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,#14324844,transparent 75%)}.hero-text{position:relative;text-align:center;color:#fff7e5;padding:90px 20px 35px;text-shadow:0 2px 22px #27465244}.eyebrow{display:block;font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:500}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.02}h1{font-size:clamp(76px,12vw,144px);margin:25px 0 32px;letter-spacing:-5px}.hero h1{animation:title-in 1.3s ease-out both}.hero h1 em{font-weight:400}.hero-date{font-size:13px;letter-spacing:4px}.hero-date span{padding:0 10px}.scroll{display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;width:42px;height:58px;margin:35px auto 0;font-size:25px;text-decoration:none;animation:float 3s ease-in-out infinite}.hero-note{position:absolute;bottom:25px;right:35px;color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:25px;font-style:italic}.ornament{height:39px;overflow:hidden;white-space:nowrap;text-align:center;color:var(--blue);font-family:Georgia,serif;font-size:29px;line-height:31px;letter-spacing:13px;border-top:4px double #748faa;border-bottom:4px double #748faa;background:#e5e4cc}.welcome,.schedule,.dress,.rsvp{padding:95px 24px;text-align:center;max-width:1040px;margin:auto}h2{font-size:clamp(45px,6vw,72px);margin:20px 0 30px;letter-spacing:-1.5px}.welcome p{font-family:'Cormorant Garamond',serif;font-size:25px;line-height:1.5}.welcome .invitation-line{font-size:29px}.flourish{display:block;color:var(--blue);font-size:45px;line-height:1.2;margin-top:35px}.date-section{padding:25px;max-width:1050px;margin:0 auto;background:repeating-linear-gradient(45deg,#7493a333 0px,#7493a333 1px,transparent 1px,transparent 8px);border:1px solid #7f99a1}.date-card{position:relative;text-align:center;padding:55px 25px;background:radial-gradient(ellipse at 30% 20%,#f5f2dfaa,transparent 65%),#c7dbe0;border:6px double #688b9c;color:var(--blue)}.date-card:before,.date-card:after{content:'❦';position:absolute;font-size:64px;color:#6b8b81;top:15px;left:20px}.date-card:after{left:auto;right:20px;transform:scaleX(-1)}.date-card h2{margin-bottom:35px}.date-numbers{display:flex;align-items:center;justify-content:center;gap:35px}.date-numbers>span{font:100px/1 'Cormorant Garamond',serif}.date-numbers small{display:block;font:9px/2 'DM Sans',sans-serif;letter-spacing:2px;margin-top:12px}.date-numbers i{font:45px 'Cormorant Garamond',serif}.ceremony-time{font:115px/1 'Cormorant Garamond',serif;color:var(--terra);margin:40px 0 12px}.ceremony-time em{font-size:55px}.date-card p{margin-bottom:10px}.tiny-rule{width:60px;height:1px;background:#7994a2;margin:22px auto}.events{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:60px;margin-top:60px}.events article{border-top:1px solid var(--line);padding-top:22px}.event-day{font:65px 'Cormorant Garamond',serif;color:var(--terra);display:flex;align-items:center;gap:25px}.event-day span{font:10px 'DM Sans',sans-serif;letter-spacing:2px;color:var(--blue)}h3{font-size:35px;margin:20px 0}.events p{font-size:14px;line-height:1.9}.stay{border-left:2px solid var(--blue);padding:4px 0 0 19px;margin-top:28px}.stay>span{font-size:9px;letter-spacing:1.8px;color:var(--blue)}.stay p{margin:10px 0 0}.footnote{font-size:12px;opacity:.7;margin:45px 0 0}.dress p{max-width:420px;margin:0 auto}.swatches{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:40px}.swatches span{display:block}.swatches i{display:block;width:65px;height:85px;border-radius:40px 40px 3px 3px;background:var(--swatch);box-shadow:inset 0 0 0 5px #fff3}.swatches small{display:block;font-size:9px;letter-spacing:1px;margin-top:10px}.rsvp{max-width:650px;padding-top:55px}fieldset{padding:0;margin:30px 0 20px;border:0;display:grid;gap:12px}.choice{display:flex;align-items:center;text-align:left;border:1px solid var(--line);padding:17px 20px;position:relative;cursor:pointer;gap:15px;background:#fff3}.choice:has(input:checked){border-color:var(--blue);background:#d9e3df88}.choice:has(input:focus-visible){outline:3px solid var(--terra)}.choice input{position:absolute;opacity:0}.choice strong{display:block;font-weight:500}.choice small{display:block;font-size:12px;opacity:.7}.radio-dot{border:1px solid #91a19e;border-radius:50%;width:20px;height:20px;margin-left:auto;flex-shrink:0}.choice input:checked~.radio-dot{background:var(--blue);box-shadow:inset 0 0 0 4px var(--cream)}#rsvp-form button{width:100%;display:flex;justify-content:space-between}#response-status{margin-top:20px;color:var(--blue);font-size:13px}.preview-note{border:1px solid var(--line);padding:24px;margin-top:25px;font-size:13px}footer{text-align:center;padding:40px 20px 50px;border-top:1px solid var(--line)}footer h2{font-size:32px;margin:20px 0}footer p{font-size:11px;letter-spacing:3px}footer>span:not(.flourish){font:italic 21px 'Cormorant Garamond',serif}footer>a{display:block;font-size:10px;opacity:.65;margin-top:45px}.demo{background:#e8dcc6;color:#5a503c;font-size:12px;text-align:center;padding:9px 20px}.admin{max-width:950px;margin:auto;padding:35px 24px 80px}.admin h1{font-size:58px;letter-spacing:-2px}.admin h2{font-size:32px;margin:0 0 20px}.admin .eyebrow{margin-top:40px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin label{display:grid;gap:8px;font-size:13px}.admin input{width:100%;padding:13px;background:#fffc;border:1px solid var(--line);border-radius:3px;color:var(--ink)}.admin form{display:grid;gap:18px}.admin-panel{background:#fff5;border:1px solid var(--line);padding:28px;margin-top:25px}.stats{display:flex;gap:35px;margin-top:30px;flex-wrap:wrap}.stats strong{font:38px 'Cormorant Garamond',serif;color:var(--blue);margin-right:5px}.secondary{padding:8px 12px;font-size:12px;color:var(--blue);background:transparent;border:1px solid var(--line)}.secondary:hover{background:#dde5de}.invite-list article{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:18px 0}.invite-list article>div{flex:1;min-width:0;overflow-wrap:anywhere}.invite-list small{display:block;color:var(--blue)}.invite-list a{font-size:12px}summary{cursor:pointer;color:var(--blue)}details[open] summary{margin-bottom:25px}#new-link:not(:empty){margin-top:25px}.empty{max-width:650px;padding:80px 24px;margin:auto}.empty h1{font-size:55px;letter-spacing:-1px}#toast:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:white;z-index:10;border-radius:4px;max-width:90vw;width:max-content;font-size:13px;box-shadow:0 5px 25px #0002}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal.observe{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}@keyframes title-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes landscape-in{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(7px)}}@media(min-width:1100px){.hero{margin:24px 24px 0}.hero+ .ornament{margin:0 24px}.hero-text{padding-top:65px}}@media(max-width:600px){header{height:auto;min-height:75px;padding:17px 20px}.brand{font-size:17px;max-width:205px;line-height:1.25}.nav-link{font-size:9px;letter-spacing:0;max-width:95px;white-space:normal;text-align:right}.hero{height:640px;min-height:520px;max-height:85svh}.hero-art{object-position:54% center}.hero-text{padding-top:80px}.hero h1{font-size:100px}.hero-date{font-size:10px;letter-spacing:2px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.welcome,.schedule,.dress,.rsvp{padding:65px 25px}.welcome p{font-size:22px}.welcome .invitation-line{font-size:25px}.date-section{margin:0 14px;padding:12px}.date-card{padding:40px 14px}.date-card:before,.date-card:after{font-size:35px;left:8px;top:8px}.date-card:after{left:auto;right:8px}.date-numbers{gap:20px}.date-numbers>span{font-size:83px}.date-numbers small{font-size:8px;letter-spacing:1px}.events{grid-template-columns:1fr;gap:35px;margin-top:35px}.swatches{gap:14px}.swatches i{width:56px;height:75px}.admin h1{font-size:43px}.admin-panel{padding:20px}.invite-list article{flex-wrap:wrap}.invite-list article>div{flex-basis:100%}.stats{gap:15px}.stats span{font-size:12px}.stats strong{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.observe{opacity:1;transform:none}}
