@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap";:root{--cream:#faf7f2;--green:#536b59;--ink:#3e4d43;--muted:#777a74;--gold:#c3ad79;--blue:#dcebf5;--pink:#f4dce3;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--cream);color:var(--ink);font:14px/1.8 var(--sans);margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}img{max-width:100%}h1,h2,h3,p{margin:0}h2{font:500 clamp(38px,4.1vw,58px)/1.08 var(--serif);color:var(--green)}h3{font:500 25px/1.2 var(--serif)}p{color:var(--muted)}.skip{z-index:100;background:#fff;padding:10px;position:fixed;top:-60px;left:12px}.skip:focus{top:8px}.header{z-index:5;background:#faf7f273;border-bottom:1px solid #c3ad7929;justify-content:space-between;align-items:center;height:82px;padding:0 6%;display:flex;position:absolute;inset:0 0 auto}.brand{font:500 13px var(--serif);letter-spacing:3px;align-items:center;gap:10px;display:flex}.logo{object-fit:cover;mix-blend-mode:multiply;filter:invert();border-radius:50%;width:136px;height:136px;margin:0 auto;display:block}.logo.small{width:53px;height:53px;margin:0}.header nav{font:500 11px var(--sans);text-transform:uppercase;letter-spacing:1.1px;align-items:center;gap:32px;display:flex}.header nav a:hover{color:#9a8053}.nav-rsvp{border:1px solid #536b5960;border-radius:3px;align-items:center;gap:12px;padding:11px 17px;display:flex}.hero{isolation:isolate;align-items:center;min-height:820px;padding:110px 6% 90px;display:flex;position:relative;overflow:hidden}.hero-art{z-index:-2;background:#eef0ec url(/images/garden.webp) 50%/cover no-repeat;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#faf7f2f5 0%,#faf7f2e8 25%,#faf7f2a8 39%,#faf7f212 64%,#0000);position:absolute;inset:0}.hero-copy{text-align:center;width:500px;max-width:48%;animation:1s ease-out reveal}.eyebrow{letter-spacing:2.9px;color:var(--green);font-size:10px;font-weight:500}.hero .eyebrow{margin:16px 0 6px;font-size:12px}.hero h1{font:400 clamp(78px,8vw,112px)/.92 var(--serif);color:var(--green)}.hero h1 span{-webkit-text-fill-color:transparent;background:linear-gradient(110deg,#dc9eb4 18%,#99bed7 76%);-webkit-background-clip:text;background-clip:text;margin:5px 0 24px;font:400 clamp(82px,8.3vw,118px)/.8 Great Vibes,cursive;display:block}.family{font:500 13px var(--serif);letter-spacing:6px;color:var(--green);margin-top:12px}.ornament{color:var(--gold);justify-content:center;align-items:center;gap:11px;width:180px;margin:22px auto;font:25px/1 Georgia;display:flex}.ornament span{background:linear-gradient(90deg,transparent,var(--gold));flex:1;height:1px}.ornament span:last-child{transform:rotate(180deg)}.hero-intro{font:500 21px/1.45 var(--serif);color:#556156}.hero-text{max-width:370px;margin:13px auto 20px;font-size:12px;line-height:1.9}.hero-date{letter-spacing:1.5px;color:var(--green);font-size:10px}.hero-date span{color:var(--gold);padding:0 8px}.timezone{margin:4px 0 19px;font-size:11px}.button{background:var(--green);color:#fff;border:1px solid var(--green);text-transform:uppercase;letter-spacing:1.6px;font:500 10px var(--sans);border-radius:3px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:14px 25px;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#405545;transform:translateY(-1px)}.scroll{background:#fffffff0;border:1px solid #c3ad7955;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;bottom:25px;left:calc(50% - 18px)}.hero-caption{color:#56654b;letter-spacing:1.8px;font-size:8px;position:absolute;bottom:24px;right:35px}.section{padding:65px max(6%,50% - 540px)}.section-heading{text-align:center}.section-heading .ornament{margin-top:0;margin-bottom:18px}.section-heading h2{margin:9px 0 20px}.section-heading p:not(.eyebrow){font-size:13px;line-height:1.85}.section-heading p+p{margin-top:8px}.event{background:radial-gradient(ellipse at 0 40%,#dcebf54a,transparent 35%),radial-gradient(ellipse at 100% 20%,#f4dce34d,transparent 30%),var(--cream)}.info-grid{grid-template-columns:repeat(3,1fr);gap:25px;max-width:940px;margin:32px auto 24px;display:grid}.info-grid article{text-align:center;background:#fff8;border:1px solid #c3ad7940;border-radius:10px;padding:21px 12px}.info-grid svg{color:#d7a6b5;stroke-width:1.3px;width:25px;height:25px;margin:0 auto 10px;display:block}.info-grid span{font:500 12px var(--serif);letter-spacing:1.8px}.info-grid h3{font:400 14px var(--sans);margin:8px 0 3px}.info-grid p{font-size:11px}.virtual-note{background:#dcebf549;border:1px solid #c0d3df55;border-radius:7px;align-items:center;gap:18px;max-width:940px;margin:0 auto;padding:20px 26px;display:flex}.virtual-note>svg{color:#8da9b8;flex-shrink:0}.virtual-note h3{font:500 18px var(--serif);margin-bottom:4px}.virtual-note p{font-size:11px;line-height:1.7}.schedule{background:linear-gradient(110deg,#e5edf0e6,#f4f1e8ed),url(/images/garden.webp) 50% 63%/cover;border-top:1px solid #c3ad7930;border-bottom:1px solid #c3ad7930;grid-template-columns:.9fr 1.35fr;gap:100px;display:grid}.schedule-head .eyebrow{letter-spacing:2px;font-size:9px}.schedule-head h2{margin-top:16px}.schedule-head .ornament{width:150px;margin-left:0}.schedule-head p:not(.eyebrow){font-size:13px}.schedule-zone{color:var(--green);align-items:center;gap:7px;margin-top:23px;font-size:10px;display:flex}.timeline{flex-direction:column;gap:26px;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:65px 1fr;gap:28px;display:grid;position:relative}.timeline li:before{content:"";border:1px solid var(--gold);background:var(--cream);z-index:1;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:78px}.timeline li:not(:last-child):after{content:"";background:#c3ad7966;width:1px;position:absolute;top:13px;bottom:-32px;left:81px}.timeline time{font:500 24px var(--serif);color:var(--green)}.timeline-kicker{letter-spacing:1.4px;text-transform:uppercase;color:#8e835f;font-size:8px}.timeline h3{margin:3px 0 5px;font-size:23px}.timeline p{max-width:360px;font-size:11px;line-height:1.7}.dress{grid-template-columns:1fr 1.1fr;align-items:center;gap:70px;display:grid}.dress h2{margin:10px 0}.dress .ornament{width:180px;margin:16px 0}.dress h3{margin-bottom:10px;font-size:22px}.dress p{font-size:12px}.palette{text-align:center;padding:10px 0}.palette .script{color:#9b9d8b;margin-bottom:24px;font:38px Great Vibes,cursive}.swatches{justify-content:center;gap:16px;display:flex}.swatches>div{flex:1;max-width:60px}.swatches span{border:4px solid #fff;border-radius:50%;outline:1px solid #c3ad7933;width:52px;height:52px;margin:0 auto 8px;display:block;box-shadow:0 4px 9px #7771}.swatches small{white-space:nowrap;color:var(--muted);font-size:9px}.palette>p:last-child{letter-spacing:1px;margin-top:23px;font-size:10px}.rsvp{background:radial-gradient(at 3% 30%,#dcebf5af,#0000 50%),radial-gradient(at 98% 60%,#f4dce3a0,#0000 45%),#f6f5f1;padding-bottom:55px}.rsvp-form{background:#fffdf9ed;border:1px solid #e7e2d8;border-radius:14px;max-width:1000px;margin:32px auto 0;padding:27px 32px;box-shadow:0 12px 40px #48533f07}.form-topline{color:#a29170;letter-spacing:1.7px;border-bottom:1px solid #c3ad7936;justify-content:space-between;align-items:center;margin-bottom:23px;padding-bottom:16px;font-size:8px;display:flex}.form-columns{grid-template-columns:1fr 1fr;gap:32px;display:grid}.form-agreements{border-left:1px solid #dfdcd3;padding-left:32px}.field-label,legend{font:500 12px var(--serif);letter-spacing:.5px;margin:0 0 7px;display:block}.field-label:not(:first-child){margin-top:18px}.field-label span,legend span,.checkbox b{color:#c58896}input:not([type=checkbox]):not([type=radio]),select{color:#5c665d;background:#fbfaf7;border:1px solid #deddd6;border-radius:5px;width:100%;min-height:45px;padding:10px 12px;font-size:12px;display:block}input::placeholder{color:#aaa9a4}input:focus,select:focus{outline-offset:2px;outline:2px solid #a3bec9}fieldset{border:0;min-width:0;margin:22px 0 0;padding:0}.attendance{gap:9px;display:flex}.choice{cursor:pointer;text-transform:uppercase;border:1px solid #0000;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:10px 5px;font-size:9px;line-height:1.4;display:flex;position:relative}.choice input{opacity:0;width:1px;position:absolute}.choice:focus-within{outline-offset:2px;outline:2px solid #819989}.choice.yes{color:#6c99b2;background:#dcebf57a;border-color:#c0d9e7}.choice.no{color:#be8794;background:#f4dce370;border-color:#ebcbd3}.choice.selected{background:var(--blue);box-shadow:inset 0 0 0 1px}.choice.no.selected{background:var(--pink)}.required-note{margin-top:18px;font-size:9px}.form-agreements h3{margin-bottom:9px;font-size:25px;line-height:1.18}.form-agreements>p{margin-bottom:17px;font-size:10px}.checkbox{color:#71756f;align-items:flex-start;gap:12px;margin:17px 0;font-size:11px;line-height:1.65;display:flex}.checkbox input{accent-color:var(--green);flex-shrink:0;width:17px;height:17px;margin:3px 0 0}.checkbox small{color:#a1a19a;font-size:9px;display:block}.form-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:245px;padding:10px;display:flex}.form-welcome>svg{color:#c6a3ae;stroke-width:1.2px;margin-bottom:18px}.form-welcome p{max-width:240px;font-size:11px}.privacy-note{text-align:center;margin:24px 0 15px;font-size:9px;line-height:1.7}.submit{width:100%}.form-error{color:#a75262;background:#f9e9e9;border-radius:4px;margin-bottom:15px;padding:10px;font-size:12px}.absence-note{font:20px/1.5 var(--serif);color:#918075;margin-top:23px}.honeypot{max-height:0;position:absolute;left:-9999px;overflow:hidden}.success{text-align:center;background:#fffdf9;border:1px solid #e3ded4;border-radius:12px;max-width:650px;margin:35px auto 0;padding:45px}.success-icon{background:#dcebf5;border-radius:50%;place-items:center;width:55px;height:55px;margin:0 auto 20px;display:grid}.success h3{margin-bottom:15px;font-size:34px}.success p{font-size:13px}footer{text-align:center;background:linear-gradient(#faf7f2e8,#faf7f2db),url(/images/garden.webp) bottom/cover;padding:25px 20px 38px}footer .ornament{margin:0 auto 12px}.footer-name{font:500 27px var(--serif);color:var(--green)}footer p:not(.footer-name){margin:6px 0 13px;font-size:11px}footer>span{letter-spacing:2px;font-size:9px}.desktop{display:initial}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.admin-shell{max-width:1180px;margin:auto;padding:32px 5%}.admin-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.admin-header .brand{letter-spacing:0;font-size:21px}.admin-header p{font:12px var(--sans)}.admin-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.secondary{color:var(--green);background:#fff8;border:1px solid #d6d7cb;border-radius:5px;min-height:42px;padding:10px 16px;font-size:11px}.admin-email{font-size:10px}.stats{grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0;display:grid}.stat{background:#fff9;border:1px solid #deded2;border-radius:9px;padding:20px}.stat strong{font:500 38px var(--serif);color:var(--green);display:block}.stat span{color:var(--muted);font-size:11px}.list-card{background:#fff9;border:1px solid #dfded5;border-radius:12px;padding:25px}.list-tools{align-items:center;gap:12px;margin:20px 0;display:flex}.list-tools input{flex:2}.list-tools select{flex:1}.guest-list{gap:10px;display:grid}.guest-row{text-align:left;width:100%;color:var(--ink);background:#fffaf4;border:1px solid #e4e2d9;border-radius:7px;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;gap:10px;padding:15px;display:grid}.guest-row strong{font:500 21px var(--serif)}.guest-row small{color:var(--muted);font-size:10px}.badge{color:#5a8195;white-space:nowrap;background:#dcebf590;border-radius:20px;justify-self:start;padding:5px 10px;font-size:9px}.badge.no{color:#a86a80;background:#f4dce390}.empty{text-align:center;padding:50px 15px}.login-wrap{background:radial-gradient(at 10% 10%,#dcebf5b0,#0000 60%),radial-gradient(at 90% 90%,#f4dce3b0,#0000 50%);place-items:center;min-height:100dvh;padding:30px;display:grid}.login-card{background:#fffdf9;border:1px solid #dedace;border-radius:14px;width:100%;max-width:420px;padding:35px;box-shadow:0 15px 50px #536b5908}.login-card h1{font:500 34px var(--serif);text-align:center;margin:18px 0 5px}.login-card>p{text-align:center;margin-bottom:23px;font-size:12px}.login-card .button{width:100%;margin-top:15px}.login-card .secondary{background:0 0;border:0;width:100%;margin-top:10px}.login-card .field-label{margin-top:15px}.status-note{background:#dcebf570;border-radius:6px;margin:15px 0;padding:12px 16px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30;background:#24342ac0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--cream);border-radius:12px;width:100%;max-width:550px;max-height:85dvh;padding:30px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.modal dl{grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;font-size:12px;display:grid}.modal dt{color:var(--muted)}.modal dd{text-align:right;overflow-wrap:anywhere;margin:0}@media (max-width:850px){.header{height:70px;padding:0 4%}.brand>span{display:none}.header nav{gap:17px;font-size:9px}.nav-rsvp{padding:9px 12px}.hero{min-height:760px;padding:95px 4% 75px}.hero-copy{max-width:53%}.hero h1{font-size:83px}.hero h1 span{font-size:88px}.hero-text{font-size:11px}.hero-caption{text-align:right;max-width:190px;font-size:7px;right:18px}.schedule{gap:45px}.section{padding:50px 6%}.dress{gap:25px}.swatches{gap:9px}.swatches span{width:40px;height:40px}.form-columns{gap:20px}.form-agreements{padding-left:20px}.rsvp-form{padding:24px}.choice{font-size:8px}}@media (max-width:600px){.header{height:64px;padding:0 18px}.header .small{width:42px;height:42px}.header nav{letter-spacing:.6px;gap:16px;font-size:8px}.header nav a:nth-child(2),.header nav a:nth-child(3){display:none}.nav-rsvp{border-color:#c3ad7970;padding:8px 10px}.hero{align-items:flex-start;min-height:890px;padding:88px 23px 70px}.hero-art{background-position:65%;background-size:auto 100%}.hero:after{background:linear-gradient(#faf7f2ed 0% 45%,#faf7f2ad 65%,#faf7f215 100%)}.hero-copy{width:100%;max-width:100%}.logo{width:110px;height:110px}.hero .eyebrow{letter-spacing:2px;margin-top:12px;font-size:10px}.hero h1{font-size:89px}.hero h1 span{margin-bottom:22px;font-size:95px}.family{letter-spacing:5px;font-size:11px}.hero .ornament{margin:18px auto}.hero-intro{font-size:22px}.hero-text{max-width:300px;margin-bottom:18px;font-size:11px}.hero-date{letter-spacing:1px;font-size:9px}.hero-date span{padding:0 4px}.timezone{font-size:10px}.hero .button{padding:14px 20px;font-size:9px}.hero-caption{max-width:125px;font-size:6px;bottom:17px;right:20px}.scroll{width:32px;height:32px;bottom:17px}.section{padding:43px 23px}.section-heading h2{font-size:38px}.section-heading .eyebrow{letter-spacing:1.7px;font-size:8px}.section-heading p:not(.eyebrow){font-size:12px}.desktop{display:none}.info-grid{gap:8px;margin-top:24px}.info-grid article{padding:17px 6px}.info-grid svg{width:21px;height:21px}.info-grid span{letter-spacing:.7px;font-size:10px}.info-grid h3{font-size:11px;line-height:1.5}.info-grid p{font-size:9px;line-height:1.5}.virtual-note{align-items:flex-start;gap:12px;padding:16px}.virtual-note h3{font-size:20px}.virtual-note p{font-size:10px}.schedule{grid-template-columns:1fr;gap:30px}.schedule-head{text-align:center}.schedule-head h2{font-size:43px}.schedule-head h2 br{display:none}.schedule-head .ornament{margin-left:auto}.schedule-head>p:not(.eyebrow) br{display:none}.schedule-zone{justify-content:center;margin-top:13px}.timeline{gap:27px;max-width:400px;margin:auto}.timeline li{grid-template-columns:58px 1fr;gap:25px}.timeline li:before{left:68px}.timeline li:not(:last-child):after{left:71px}.timeline time{font-size:24px}.timeline h3{font-size:23px}.timeline-kicker{letter-spacing:1px;font-size:7px}.timeline p{font-size:10px}.dress{text-align:center;grid-template-columns:1fr;gap:24px}.dress .ornament{margin:16px auto}.dress h2{font-size:43px}.dress h3{font-size:22px}.dress p{font-size:12px}.palette .script{margin-bottom:19px;font-size:34px}.swatches{gap:8px}.swatches span{border-width:3px;width:39px;height:39px}.swatches small{font-size:8px}.palette>p:last-child{margin-top:17px}.rsvp-form{border-radius:10px;margin-top:25px;padding:20px 17px}.form-topline{letter-spacing:1px;font-size:6px}.form-columns{grid-template-columns:1fr;gap:24px}.form-agreements{border-top:1px solid #dfdcd3;border-left:0;padding:23px 0 0}.form-welcome{min-height:170px}.form-welcome h3{font-size:27px}.form-welcome .ornament{margin-bottom:0}.form-agreements h3{font-size:26px}.checkbox{gap:11px;margin:19px 0;font-size:11px}.choice{font-size:9px}.privacy-note{margin-top:23px;font-size:8px}.success{padding:30px 20px}.success h3{font-size:31px}.admin-shell{padding:24px 17px}.admin-header{display:block}.admin-actions{margin-top:20px}.admin-email{width:100%}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:13px}.stat strong{font-size:33px}.stat span{font-size:10px}.list-card{padding:17px 12px}.list-tools{flex-wrap:wrap;gap:8px}.list-tools input{flex-basis:100%}.list-tools select{font-size:10px}.guest-row{grid-template-columns:1fr auto;gap:5px;padding:12px}.guest-row small{grid-column:1/-1}.guest-row>svg{display:none}.guest-row strong{font-size:20px}.badge{font-size:8px}.login-card{padding:27px 22px}.modal{padding:23px}.modal dl{font-size:11px}.modal h3{font-size:25px}.admin-header .brand .small{width:50px;height:50px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.schedule-head,.timeline,.timeline li>div,.dress>div,.form-main,.form-agreements{min-width:0}.timeline li{grid-template-columns:65px minmax(0,1fr)}.timeline h3{overflow-wrap:break-word}@media (max-width:600px){.schedule{grid-template-columns:minmax(0,1fr)}.timeline{width:100%}.timeline li{grid-template-columns:58px minmax(0,1fr)}.hero:after{background:linear-gradient(#faf7f2f2 0%,#faf7f2f0 53%,#faf7f2bd 72%,#faf7f215 100%)}}@media (max-width:360px){.schedule-head h2{font-size:37px}.swatches{gap:5px}.swatches span{width:34px;height:34px}.swatches small{font-size:7px}}.hero h1{overflow:visible}.hero h1 span{width:max-content;max-width:100%;margin:-.12em auto 0;padding:.07em .18em .12em;line-height:1.22;overflow:visible}.hero-date{margin-bottom:20px}.creator-credit{background:var(--cream);border-top:1px solid #c3ad7930;flex-direction:column;align-items:center;gap:14px;padding:32px 20px 38px;display:flex}.creator-credit .creator-label{font:500 14px/1.5 var(--serif);letter-spacing:1.2px;color:var(--green);margin:0}.bedoya-watermark{object-fit:contain;filter:invert();mix-blend-mode:multiply;opacity:.48;width:150px;height:150px;display:block}.creator-credit .creator-label{letter-spacing:.5px}.creator-label strong{font-weight:600}.creator-facebook{min-height:44px;color:var(--green);font:400 11px/1.4 var(--sans);letter-spacing:.2px;background:0 0;border:1px solid #c3ad7966;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:0;padding:7px 18px;transition:background .2s,border-color .2s;display:inline-flex}.creator-facebook:hover{background:#536b5908;border-color:#536b5966}.creator-facebook:focus-visible{outline:2px solid var(--green);outline-offset:3px}.creator-facebook svg{flex-shrink:0}@media (max-width:600px){.hero h1 span{margin-top:-.1em;margin-bottom:0;padding:.07em .18em .12em;font-size:clamp(72px,23vw,95px);line-height:1.22}.creator-credit{padding:30px 20px 34px}.bedoya-watermark{width:132px;height:132px}}
