@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@400;500;600&display=swap";:root{color:#30352d;font-synthesis:none;background:#f5f0e8;font-family:Montserrat,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}.hero{color:#fffaf2;background:linear-gradient(90deg,#232f22ad,#232f222e,#232f22a3),url(https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2000&q=85) 50%/cover;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:1px solid #fff6;position:absolute;inset:18px}nav{z-index:2;justify-content:space-between;align-items:center;width:100%;padding:38px 5vw;display:flex;position:absolute;top:0}.mark{letter-spacing:3px;font:500 26px Cormorant Garamond,serif}.mark span{margin:0 3px;font-style:italic}.nav-links{gap:34px;display:flex}.nav-links a{letter-spacing:2px;text-transform:uppercase;font-size:10px}.nav-links a:hover{opacity:.65}.hero-content{z-index:1;text-align:center;padding:130px 24px 80px;position:relative}.eyebrow,.section-label{letter-spacing:3px;text-transform:uppercase;font-size:10px;font-weight:600}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:400}h1{letter-spacing:-3px;margin:30px 0 22px;font-size:clamp(68px,11vw,150px);line-height:.82}.flourish{justify-content:center;align-items:center;gap:14px;font-family:serif;font-size:13px;display:flex}.flourish span{opacity:.65;background:currentColor;width:48px;height:1px}.invitation{margin:24px 0 35px;font:italic 25px Cormorant Garamond,serif}.date{letter-spacing:4px;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:600}.location{margin:0 0 38px;font:italic 19px Cormorant Garamond,serif}.button{letter-spacing:2px;text-transform:uppercase;border:1px solid;padding:15px 27px;font-size:10px;font-weight:600;transition:all .25s;display:inline-block}.button:hover{color:#30352d;background:#fffaf2}.scroll{z-index:2;font-size:22px;animation:2s infinite bounce;position:absolute;bottom:35px}@keyframes bounce{50%{transform:translateY(6px)}}section{padding:120px max(7vw,28px)}.story{text-align:center;background:#f5f0e8}.section-label{color:#7b856f}.story h2,.details h2,.rsvp h2{margin:24px 0 32px;font-size:clamp(48px,7vw,88px);line-height:.95}.story-copy{color:#65675f;max-width:620px;margin:auto;font:21px/1.7 Cormorant Garamond,serif}.timeline{justify-content:center;align-items:center;max-width:760px;margin:75px auto 0;display:flex}.timeline div{min-width:125px}.timeline strong{font:36px Cormorant Garamond,serif;display:block}.timeline span{letter-spacing:1.5px;text-transform:uppercase;font-size:9px}.timeline i{background:#c9c4b8;flex:1;max-width:150px;height:1px}.details{background:#dfe4d9;grid-template-columns:.8fr 1.2fr;gap:9vw;display:grid}.details-intro>p:last-child{color:#626a5d;max-width:420px;font:19px/1.65 Cormorant Garamond,serif}.cards{grid-template-columns:1fr 1fr;align-items:center;gap:22px;display:grid}.cards article{background:#ffffff8c;border:1px solid #30352d24;flex-direction:column;justify-content:center;min-height:390px;padding:55px 38px;display:flex;position:relative}.cards article:last-child{transform:translateY(35px)}.card-number{color:#87917d;font:italic 16px Cormorant Garamond,serif;position:absolute;top:22px;right:25px}.cards h3{margin:18px 0;font-size:34px}.cards article>p:last-child{color:#626a5d;font:17px/1.8 Cormorant Garamond,serif}.rsvp{text-align:center;color:#264b35;background:radial-gradient(circle at 10% 15%,#ffffff1f,#0000 25%),repeating-linear-gradient(125deg,#ffffff06 0 2px,#0000 2px 8px),#5e7460;position:relative;overflow:hidden}.rsvp:before,.rsvp:after{content:"";opacity:.18;background:radial-gradient(#0000 48%,#dbe2d5 50% 51%,#0000 53%);width:340px;height:520px;position:absolute;transform:rotate(35deg)}.rsvp:before{top:-100px;left:-180px}.rsvp:after{bottom:-130px;right:-170px;transform:rotate(-35deg)}.rsvp-heading{z-index:1;color:#f7f1e8;margin-bottom:52px;position:relative}.rsvp-heading .section-label{color:#dbe2d5}.rsvp h2{margin-bottom:18px}.rsvp-heading>p:last-child{font:italic 20px Cormorant Garamond,serif}.rsvp-card{z-index:1;background:radial-gradient(circle at 35% 20%,#fff9,#0000 35%),repeating-linear-gradient(20deg,#6c634b06 0 1px,#0000 1px 5px),#e8dfcc;place-items:center;width:min(720px,100%);min-height:750px;margin:auto;padding:64px;display:grid;position:relative;box-shadow:0 25px 70px #19271b47,inset 1px 1px 2px #ffffffe6,inset -1px -1px 2px #574e3c38}.embossed-frame,.embossed-frame:before,.embossed-frame:after{pointer-events:none;border-radius:2px;position:absolute}.embossed-frame{border:2px solid #ffffff8c;inset:17px;box-shadow:1px 1px 1px #574e3c38,inset 1px 1px 1px #574e3c1f}.embossed-frame:before{content:"";border:1px solid #766c5340;inset:6px}.embossed-frame:after{content:"";border:2px solid #ffffff6b;border-radius:36% 36% 30% 30%/15% 15% 12% 12%;inset:16px;box-shadow:1px 1px 1px #574e3c33}.botanical{z-index:1;fill:none;stroke:#d6cbb4;stroke-width:2.15px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(1.2px 1.2px .7px #4d45346b)drop-shadow(-1px -1px .8px #ffffffe0);width:175px;height:125px;position:absolute;overflow:visible}.botanical .corner-scroll{stroke-width:3px}.botanical .floral-sprig{stroke-width:1.75px}.botanical .blossom ellipse{fill:#e2d8c3;stroke-width:1.25px}.botanical circle{fill:#d6cbb4;stroke:#ffffff6b;stroke-width:.7px}.top-left{top:27px;left:27px;transform:scaleY(-1)}.top-right{top:27px;right:27px;transform:scale(-1)}.bottom-left{bottom:27px;left:27px}.bottom-right{bottom:27px;right:27px;transform:scaleX(-1)}.rsvp-card-content{z-index:2;width:min(430px,100%);position:relative}.form-progress{z-index:3;background:#264b3526;width:80px;height:2px;position:absolute;top:49px;left:calc(50% - 40px)}.form-progress span{background:#264b35;height:100%;transition:width .35s;display:block}.form-kicker{letter-spacing:4px;text-transform:uppercase;margin:0 0 20px;font-size:10px;font-weight:600}.rsvp-card h3,.rsvp-complete h3{margin:0;font-size:clamp(45px,6vw,62px);line-height:1}.form-intro{margin:15px 0 35px;font:italic 18px Cormorant Garamond,serif}.form-fields{text-align:left;gap:22px;display:grid}.form-fields label{letter-spacing:2px;text-transform:uppercase;gap:8px;font-size:9px;font-weight:600;display:grid}.form-fields label small{letter-spacing:1px;opacity:.65;font-size:8px;font-weight:400}.form-fields input,.form-fields textarea,.admin-login input,.admin-title input{color:#264b35;background:0 0;border:0;border-bottom:1px solid #264b356b;border-radius:0;outline:none;width:100%;padding:10px 1px 11px;font:19px Cormorant Garamond,serif}.form-fields textarea{resize:vertical;border:1px solid #264b3540;padding:12px}.form-fields input:focus,.form-fields textarea:focus{border-color:#264b35;box-shadow:0 1px #264b35}.form-fields input::placeholder,.form-fields textarea::placeholder{color:#264b356e}.honeypot{position:absolute;left:-10000px}.attendance{border:0;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;display:grid}.attendance legend{text-align:center;width:100%;margin-bottom:14px;font:italic 18px Cormorant Garamond,serif}.attendance label{cursor:pointer;display:block}.attendance input{opacity:0;position:absolute}.attendance span{letter-spacing:1.5px;border:1px solid #264b3547;place-items:center;min-height:55px;padding:10px;font-size:9px;transition:all .2s;display:grid}.attendance .selected span{color:#e8dfcc;background:#264b35;border-color:#264b35}.guest-list{gap:16px;max-height:330px;padding-right:6px;display:grid;overflow-y:auto}.guest{border:1px solid #264b3533;gap:14px;padding:16px;display:grid}.guest-heading{justify-content:space-between;font:italic 17px Cormorant Garamond,serif;display:flex}.guest-heading button,.add-guest,.text-button{color:#264b35;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:0 0;border:0;padding:0;font:600 8px Montserrat,sans-serif}.add-guest{justify-self:center;padding:8px}.response-summary{text-align:center;border-top:1px solid #264b3540;border-bottom:1px solid #264b3540;padding:20px}.response-summary span,.response-summary strong,.response-summary small{display:block}.response-summary span,.response-summary small{letter-spacing:2px;text-transform:uppercase;font-size:8px}.response-summary strong{margin:8px 0;font:27px Cormorant Garamond,serif}.form-error{color:#8a3d35;margin:18px 0 0;font:italic 15px Cormorant Garamond,serif}.form-actions{justify-content:center;align-items:center;gap:25px;min-height:48px;margin-top:28px;display:flex}.form-button,.admin-login button{color:#e8dfcc;cursor:pointer;letter-spacing:2px;text-transform:uppercase;background:#264b35;border:1px solid #264b35;padding:15px 24px;font:600 9px Montserrat,sans-serif}.form-button:hover{color:#264b35;background:0 0}.form-button:disabled{opacity:.55;cursor:wait}.step-count{letter-spacing:2px;margin:19px 0 0;font-size:8px}.rsvp-complete{z-index:2;max-width:420px;position:relative}.rsvp-complete>p:not(.form-kicker){font:italic 20px/1.5 Cormorant Garamond,serif}.tiny-flourish{margin:24px;font-size:25px}.rsvp-complete .text-button{border-bottom:1px solid;padding-bottom:4px}footer{color:#f7f1e8;background:#283126;justify-content:space-between;align-items:center;padding:35px 5vw;display:flex}footer p{margin:0;font:28px Cormorant Garamond,serif}footer span{letter-spacing:2px;text-transform:uppercase;font-size:9px}@media (width<=800px){.nav-links{display:none}h1{font-size:clamp(62px,20vw,100px)}section{padding-block:90px}.details{grid-template-columns:1fr;gap:45px}.cards article:last-child{transform:none}}@media (width<=540px){.hero:after{inset:10px}nav{padding:25px 28px}.cards{grid-template-columns:1fr}.cards article{min-height:320px}.timeline i{width:20px}.timeline div{min-width:80px}.timeline strong{font-size:28px}.timeline span{font-size:8px}footer{text-align:center;flex-direction:column;gap:10px}.rsvp{padding-inline:12px}.rsvp-card{min-height:720px;padding:75px 42px 65px}.embossed-frame{inset:9px}.botanical{width:115px;height:85px}.top-left{top:18px;left:17px}.top-right{top:18px;right:17px}.bottom-left{bottom:18px;left:17px}.bottom-right{bottom:18px;right:17px}.attendance{grid-template-columns:1fr}}.admin{color:#29392d;background:#f3efe6;min-height:100vh}.admin header{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f3efe6ed;border-bottom:1px solid #d7d2c6;justify-content:space-between;align-items:center;padding:22px 5vw;display:flex;position:sticky;top:0}.admin header>div{align-items:center;gap:24px;display:flex}.admin-mark{letter-spacing:3px;font:27px Cormorant Garamond,serif}.admin-mark i{font-weight:400}.live{letter-spacing:1.5px;text-transform:uppercase;align-items:center;gap:7px;font-size:8px;display:flex}.live:before{content:"";background:#aaa;border-radius:50%;width:7px;height:7px}.live.connected:before{background:#5a8a62;box-shadow:0 0 0 4px #5a8a621f}.admin header button{color:#29392d;cursor:pointer;letter-spacing:1.5px;text-transform:uppercase;background:0 0;border:1px solid #29392d;padding:11px 16px;font:600 8px Montserrat}.admin-content{max-width:1180px;margin:auto;padding:70px 28px 100px}.admin-title{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.admin-title p{letter-spacing:2px;text-transform:uppercase;margin:0 0 7px;font-size:9px}.admin-title h1{margin:0;font-size:clamp(48px,6vw,76px)}.admin-title input{width:260px;font:15px Montserrat,sans-serif}.stats{background:#d7d2c6;grid-template-columns:repeat(3,1fr);gap:1px;margin:45px 0 34px;padding:0;display:grid}.stats article{background:#e9e4da;padding:30px}.stats span{letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;font-size:8px;display:block}.stats strong{font:45px Cormorant Garamond,serif}.response-list{gap:12px;display:grid}.response-row{background:#ffffff6b;border:1px solid #d7d2c6;grid-template-columns:90px 1.1fr 1.4fr 1.4fr;align-items:start;gap:24px;padding:25px;display:grid}.response-status span{letter-spacing:1px;text-transform:uppercase;padding:6px 8px;font-size:7px;font-weight:600;display:inline-block}.response-status.yes span{color:#31563c;background:#dce7dc}.response-status.no span{color:#76534c;background:#ebdeda}.response-status time{color:#797b74;margin-top:10px;font-size:8px;display:block}.response-person h2{margin:0 0 4px;font-size:25px}.response-person p,.response-guests span,.response-extras p{color:#6c7068;margin:0;font-size:10px;line-height:1.6}.response-guests{gap:9px;display:grid}.response-guests strong{font:17px Cormorant Garamond,serif;display:block}.response-guests span{display:block}.response-extras{gap:10px;display:grid}.response-extras b{color:#29392d;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:2px;font-size:7px;display:block}.empty-state{text-align:center;border:1px dashed #c6c0b4;padding:80px 20px}.empty-state span{font-size:30px}.empty-state h2{margin:13px 0 5px;font:35px Cormorant Garamond,serif}.empty-state p{color:#72756e;font-size:11px}.admin-login{color:#eee8dc;background:#314335;place-items:center;min-height:100vh;padding:30px;display:grid}.admin-login form{text-align:center;color:#264b35;background:#e8dfcc;width:min(420px,100%);padding:60px 45px;display:grid;box-shadow:0 25px 70px #0003}.admin-login h1{margin:25px 0 5px;font-size:57px}.admin-login p{font:italic 17px Cormorant Garamond,serif}.admin-login input{text-align:center;margin:20px 0 28px}.admin-login button{justify-self:center}.admin-login a{letter-spacing:1.5px;text-transform:uppercase;margin-top:30px;font-size:8px}.admin-login .admin-error{color:#8a3d35}@media (width<=800px){.admin-title{flex-direction:column;align-items:stretch}.admin-title input{width:100%}.response-row{grid-template-columns:85px 1fr}.response-extras{grid-column:2}}@media (width<=540px){.stats article{padding:20px 13px}.stats span{min-height:20px}.stats strong{font-size:35px}.response-row{grid-template-columns:1fr}.response-extras{grid-column:1}}
