

:root{--ink:#203b3c;--teal:#08676b;--purple:#71528f;--paper:#faf6ef;--line:#d9d4cb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Georgia,serif}button,input{font:inherit}button{cursor:pointer}header{padding:24px 5%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font:11px/1.5 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.seal{color:var(--purple)}main{max-width:1160px;margin:auto;padding:60px 32px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.eyebrow{font:11px Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--purple)}h1{font-size:clamp(48px,6.5vw,86px);line-height:1.05;letter-spacing:-4px;font-weight:400;margin:24px 0}em{color:var(--purple)}.intro{max-width:420px;font-size:18px}.primary{background:var(--teal);color:white;border:0;padding:16px 27px;border-radius:40px;font:14px Arial,sans-serif;display:inline-block;text-decoration:none}.art{position:relative;background:#193f47;border-radius:190px 190px 10px 10px;overflow:hidden;aspect-ratio:4/4.6;box-shadow:14px 14px 0 #e7dfeb}.art svg{width:100%;height:100%;display:block}.art-label{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff4dc;font-size:13px;letter-spacing:2px}.margin-note{font-style:italic;color:var(--purple);font-size:14px;margin-top:23px}.route{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);margin:65px 0;padding:25px 0;font:12px Arial,sans-serif;letter-spacing:1px}.route span{color:var(--purple)}section{padding:30px 0 45px}h2{font-size:clamp(32px,4vw,47px);font-weight:400;line-height:1.15;margin:13px 0}h3{font-weight:400;font-size:24px;margin:0 0 8px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.muted{color:#637172;font-size:15px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.choice{border:1px solid var(--line);padding:23px;text-align:left;background:transparent;color:var(--ink);border-radius:5px;position:relative;min-height:155px}.choice strong{display:block;font:20px Georgia,serif;margin:12px 0 5px}.choice small{font-size:13px;line-height:1.5;display:block}.choice[aria-pressed=true]{background:#ebe4f1;border-color:var(--purple)}.choice[aria-pressed=true]:after{content:'✓';position:absolute;right:16px;top:12px;color:var(--purple)}.princess{padding:35px;background:#e4eded;border-radius:8px}.princess .choice[aria-pressed=true]{background:#cbdfe0;border-color:var(--teal)}.number{font:12px Arial,sans-serif;color:var(--purple);letter-spacing:2px}.details{display:flex;gap:25px;margin-top:22px;flex-wrap:wrap}label{font:13px Arial,sans-serif}input{display:block;margin-top:9px;border:1px solid var(--line);background:transparent;padding:12px;border-radius:5px;color:var(--ink)}.ask{text-align:center;border-top:1px solid var(--line);padding:60px 0 20px}.button-zone{position:relative;max-width:550px;height:165px;margin:25px auto 0}.yes{position:absolute;left:calc(50% - 130px);top:30px}.no{position:absolute;left:calc(50% + 30px);top:30px;background:transparent;border:1px solid var(--purple);color:var(--purple);padding:14px 25px;border-radius:30px;font:14px Arial,sans-serif}.honest{border:0;background:none;text-decoration:underline;color:#637172;font:12px Arial,sans-serif}.summary{background:#fffdf8;border:1px solid var(--line);padding:35px;max-width:680px;margin:25px auto;text-align:left;box-shadow:8px 8px 0 #e5deec}.summary dl{display:grid;grid-template-columns:110px 1fr;gap:13px;font-size:15px}.summary dt{color:var(--purple)}.summary dd{margin:0}footer{border-top:1px solid var(--line);padding:24px;text-align:center;font:10px Arial,sans-serif;letter-spacing:2px;color:var(--purple)}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #bc8bce;outline-offset:4px}.petal{position:fixed;top:-30px;pointer-events:none;animation:fall 3s ease-in forwards;color:var(--purple);font-size:24px;z-index:5}@keyframes fall{to{transform:translateY(110vh) rotate(240deg)}}@media(max-width:700px){main{padding:38px 22px}.hero{grid-template-columns:1fr;gap:30px}h1{letter-spacing:-2px}.art{max-height:420px;aspect-ratio:1.1}.choices{grid-template-columns:1fr}.choice{min-height:110px}.route{font-size:10px;gap:10px;margin:42px 0}.section-heading{display:block}.princess{padding:24px 18px}.summary{padding:22px}.summary dl{grid-template-columns:85px 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.petal{display:none}}

main{max-width:1050px;min-height:calc(100vh - 160px)}.steps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:35px}.steps a{font:12px Arial,sans-serif;color:var(--purple);padding:9px 12px;text-decoration:none;border-bottom:2px solid transparent}.steps a[aria-current=page]{border-color:var(--teal);color:var(--teal)}.page-nav{display:flex;justify-content:space-between;align-items:center;margin-top:35px;gap:20px}.back{color:var(--purple);font:14px Arial,sans-serif}.ask{border:0;padding-top:20px}.summary{margin-top:30px} .hero .primary{margin-top:10px}
/* Courtney's picnic scrapbook */
500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,600&display=swap');
:root{--ink:#38204f;--teal:#087e83;--purple:#913fd1;--paper:#fff4fe;--line:#d6b6ed}body{background-color:#fff4fe;background-image:radial-gradient(#d9b8ec 1px,transparent 1px),radial-gradient(ellipse at 90% 12%,#c1eeeb88,transparent 50%),radial-gradient(ellipse at 0% 70%,#e6c2ff77,transparent 50%);background-size:22px 22px,100% 100%,100% 100%;font-family:'DM Sans',Arial,sans-serif}header{border:0;background:#5f287f;color:#fff4fc;padding:17px 5%;font-weight:700;letter-spacing:2px;box-shadow:0 4px 0 #d4b2e9}header .seal{color:#b6f0e4;background:#ffffff13;border:1px solid #dcb6f066;border-radius:30px;padding:6px 13px}header>span:first-child{padding-top:6px}main{max-width:1160px;padding-top:35px;padding-bottom:42px}.steps{margin:0 auto 42px;padding:9px;background:#fffafdcc;border:2px solid #dfc9ec;box-shadow:0 5px 0 #e7d5f0;border-radius:50px;gap:3px;max-width:920px}.steps a{border:0;padding:11px 16px;border-radius:30px;font-weight:700;color:#805b91;transition:transform .2s,background .2s}.steps a:hover{background:#f0e1f9;transform:translateY(-2px)}.steps a[aria-current=page]{background:#8441b3;color:white;box-shadow:0 3px 0 #582b7b}.hero{gap:44px;position:relative;padding:20px 12px}.eyebrow,.number{font-family:'DM Sans',Arial,sans-serif;font-weight:700;color:#8b41b7;letter-spacing:2px}.eyebrow{display:inline-block;background:#efdcfc;padding:9px 14px;border:1px solid #d7b2ef;border-radius:12px;transform:rotate(-2deg)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif}h1{font-weight:600;font-size:clamp(50px,6vw,78px);letter-spacing:-3px;line-height:1.06;margin:25px 0;color:#4f2369}h1 em{color:#087e83;text-decoration:underline;text-decoration-color:#b19bde;text-decoration-thickness:5px;text-underline-offset:9px}h2{color:#642f83;font-weight:600}h3{color:#6e328f}.intro{color:#685374;font-size:18px;line-height:1.7}.primary{background:#087e83;border:2px solid #065d65;box-shadow:0 5px 0 #065d65;color:#fff;font-family:'DM Sans',Arial,sans-serif;font-weight:700;border-radius:18px;padding:16px 24px;transition:transform .18s,box-shadow .18s}.primary:hover{transform:translateY(-3px);box-shadow:0 8px 0 #065d65;background:#0a9396}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #065d65}.margin-note{display:inline-block;background:#fff7c6;border:1px solid #e3cf89;border-radius:4px;padding:11px 15px;max-width:390px;transform:rotate(-2deg);font-size:13px;box-shadow:3px 4px 0 #eadb9b66;color:#765a48}.art{border:9px solid #fffafd;border-bottom-width:45px;border-radius:48% 48% 18px 18px;box-shadow:10px 13px 0 #b4dedb,15px 18px 0 #ebd4f3;transform:rotate(3deg);aspect-ratio:4/4.6;overflow:visible;isolation:isolate}.art svg{border-radius:48% 48% 0 0;overflow:hidden;filter:saturate(1.35) brightness(1.09)}.art:before{content:'✧ just us two ✧';position:absolute;z-index:2;top:20px;right:-23px;background:#f3d7ff;color:#7d309f;border:2px solid #b884d1;box-shadow:3px 4px 0 #61317833;padding:10px 18px;transform:rotate(10deg);font:bold 15px 'DM Sans',Arial,sans-serif;border-radius:10px}.art:after{content:'✦';position:absolute;left:-30px;bottom:100px;color:#a350cb;font-size:74px;line-height:1;text-shadow:3px 3px #fff}.art-label{bottom:-34px;color:#794c8c;font:700 12px 'DM Sans',Arial,sans-serif;letter-spacing:2px}.section-heading{align-items:center}section{position:relative;padding:32px;background:#fffdfddd;border:2px solid #dfc2ed;border-radius:28px;box-shadow:7px 8px 0 #dfc4ee;min-height:340px}.number{font-size:11px;display:inline-block;background:#f1e0fb;border-radius:30px;padding:7px 13px}section:before{content:'✦';position:absolute;right:25px;top:14px;color:#b17bce;font-size:31px}.muted{color:#796582;font-family:'DM Sans',Arial,sans-serif;font-size:14px}.choices{gap:19px;margin-top:29px}.choice{background:#fff9ff;border:2px solid #dfc2ec;box-shadow:0 5px 0 #e6d3ef;border-radius:22px;padding:25px 21px;min-height:195px;transition:transform .18s,box-shadow .18s}.choice>span{display:flex;align-items:center;justify-content:center;font-size:29px;width:55px;height:55px;background:#f0e3fa;border-radius:17px;transform:rotate(-7deg);margin-bottom:15px}.choice strong{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:600;color:#653784}.choice small{font-family:'DM Sans',Arial,sans-serif;font-size:13px;color:#7c6886;line-height:1.65}.choice:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 10px 0 #e6d3ef}.choice[aria-pressed=true]{background:#ead5fa;border:2px solid #a15bc9;box-shadow:0 5px 0 #b582d5}.choice[aria-pressed=true]>span{background:#fff9ff}.choice[aria-pressed=true]:after{background:#8742b4;color:white;width:25px;height:25px;line-height:25px;text-align:center;border-radius:50%;top:15px;right:15px;font:bold 15px/25px Arial}.princess{background:#e8faf7;border:2px solid #8dcac5;box-shadow:7px 8px 0 #a7d8d3}.princess h2{color:#086c74}.princess .number{background:#c7eee7;color:#087780}.princess .choice{background:#f9fffd;border-color:#a5d6cf;box-shadow:0 5px 0 #b9ded9}.princess .choice>span{background:#d6f1e9}.princess .choice strong{color:#126f76}.princess .choice[aria-pressed=true]{background:#c5eae2;border-color:#219b9c;box-shadow:0 5px 0 #6ebbb6}.princess .choice[aria-pressed=true]:after{background:#087e83}.princess:before{content:'♛';color:#15999c;font-size:40px}.details{background:#f3e8fa;padding:18px;border-radius:17px;margin-top:26px}.details label{flex:1;min-width:200px;font-family:'DM Sans',Arial,sans-serif;font-weight:600;color:#775385}input{width:100%;border:2px solid #d6b8e7;background:#fffaff;border-radius:12px;font:14px 'DM Sans',Arial,sans-serif;padding:13px}.page-nav{margin-top:31px;padding-inline:5px}.back{font-family:'DM Sans',Arial,sans-serif;font-weight:700;color:#8548a4;text-decoration:none}.back:hover{text-decoration:underline}.ask{border:2px solid #d9b5ec;background:linear-gradient(140deg,#fffaff,#eaddf7);padding:50px 24px 30px;border-radius:30px;box-shadow:8px 9px 0 #d5b6e7}.ask h2{font-size:clamp(38px,5vw,64px);max-width:740px;margin:25px auto 16px}.ask>p{color:#765987}.ask:before{content:'✧';color:#c395df;font-size:45px}.no{border:2px solid #bd90d4;background:#fffaff;box-shadow:0 4px 0 #d7b9e5;border-radius:16px;font-family:'DM Sans',Arial,sans-serif;font-weight:700}.yes{border-radius:16px}.honest{font-family:'DM Sans',Arial,sans-serif;color:#856b90}.summary{border:2px dashed #bd92d3;border-radius:20px;background:#fffdf9;box-shadow:5px 6px 0 #d3b2e3;padding:27px}.summary dl{font-family:'DM Sans',Arial,sans-serif;gap:18px}.summary dt{font-weight:700;color:#8a43a9}.summary dd{color:#5c4968}footer{background:#5f287f;border:0;color:#eedcf8;padding:21px;font:700 10px 'DM Sans',Arial,sans-serif;letter-spacing:2px}section+ .back{display:inline-block;margin-top:28px}@media(max-width:700px){header{font-size:8px;letter-spacing:1px;padding:12px 16px;align-items:center}header>span:first-child{padding-top:0}main{padding:25px 18px 35px}.steps{border-radius:19px;margin-bottom:30px;padding:8px;gap:3px}.steps a{padding:8px 9px;font-size:10px}.hero{padding:0 4px;gap:35px}h1{font-size:57px;letter-spacing:-2px}.art{margin:0 18px 15px;max-height:380px;aspect-ratio:1.1}.art:before{font-size:12px;right:-20px;top:20px}.art:after{font-size:50px;left:-25px}.eyebrow{font-size:9px;letter-spacing:1.5px}section{padding:27px 19px;box-shadow:5px 6px 0 #dfc4ee}.choice{min-height:140px;padding:20px}.choice>span{float:left;margin:5px 17px 25px 0;width:45px;height:45px;font-size:25px}.choice strong{font-size:21px;padding-right:15px}.choice small{font-size:12px}.princess{padding:27px 19px}.ask{padding:42px 14px 25px}.ask h2{font-size:41px}.page-nav .primary{font-size:12px;padding:13px 17px}.summary{padding:20px 15px}.summary dl{font-size:13px;grid-template-columns:85px 1fr}.margin-note{margin-top:24px}.number{font-size:9px;padding:7px 10px;letter-spacing:1px}}

.location{display:inline-block;background:#e0f4ef;color:#086c74;padding:10px 16px;border-radius:14px;font-size:14px;border:1px solid #a4d4ca}main{padding-top:44px}
/* An evening garden invitation */
:root{--ink:#eddfef;--purple:#c5a1dc;--teal:#73c8c1;--line:#9372a0;--paper:#251d30}body{background:#241c30;background-image:radial-gradient(ellipse at 12% 10%,#70426a66,transparent 55%),radial-gradient(ellipse at 95% 65%,#18636a66,transparent 60%),radial-gradient(#c5a77835 .7px,transparent .7px);background-size:100% 100%,100% 100%,38px 38px;color:#f0e5ed}header{background:#1b1723b8;box-shadow:none;border-bottom:1px solid #c7ad7d55;color:#ddc8ac}header .seal{color:#e5d1ae;background:none;border-color:#c7ad7d55}main{padding-top:58px;padding-bottom:55px}.hero{gap:65px}.eyebrow,.number{background:transparent;border:0;border-bottom:1px solid #c7ad7d66;border-radius:0;color:#d6ba8d;transform:none;padding:9px 0;letter-spacing:2.5px}h1{color:#f3e8ee;font-weight:400;letter-spacing:-3px}h1 em{color:#acdcd3;text-decoration:none}h2,h3{color:#f2e1ee;font-weight:400}.intro{color:#cab8cf}.margin-note{background:transparent;border:0;border-left:1px solid #b99a68;border-radius:0;box-shadow:none;transform:none;color:#d7b99b;padding:6px 17px;font:italic 15px/1.7 Georgia,serif}.primary{background:#316f73;border:1px solid #91c0b1;box-shadow:0 6px 25px #071d2244;border-radius:40px;color:#fff4df;font-weight:500;padding:15px 27px}.primary:hover{background:#40858a;box-shadow:0 8px 30px #163b4666;transform:translateY(-2px)}.art{transform:rotate(2deg);border:7px solid #e9dece;border-bottom-width:42px;box-shadow:0 0 0 1px #ba9b6b,0 18px 70px #070c1e66}.art svg{filter:saturate(.85) brightness(.94)}.art:before{content:'a day, just for us';background:#efe2cd;color:#5f4760;border:1px solid #b8996e;box-shadow:0 5px 20px #18102133;font:italic 16px Georgia,serif;border-radius:3px;transform:rotate(5deg)}.art:after{content:'❋';color:#cbb58d;text-shadow:none;font-size:76px;left:-35px;bottom:30px}.art-label{color:#6a536b;font-weight:500}.muted{color:#d0bdd3}section,.princess{background:linear-gradient(135deg,#423049dd,#292c3add);border:1px solid #ac8caa88;border-radius:22px;box-shadow:0 18px 60px #0d091f44;padding:35px}section:before{content:'❋';color:#c9ad81;font-size:38px}.princess:before{content:'❋';color:#a3cdc4}.princess h2{color:#e2f0e8}.princess .number{color:#a9d4ca;background:none}.choices{gap:20px}.choice,.princess .choice{background:#ffffff05;border:1px solid #b39ab568;border-radius:17px;box-shadow:none;padding:25px;min-height:190px}.choice:hover,.princess .choice:hover{background:#ffffff0d;box-shadow:0 10px 30px #120d2322;transform:translateY(-4px)}.choice strong{color:#eedbf2;font-weight:400}.choice small{color:#cdbdd2}.choice>span{background:#d7b5e51a;color:#dfbfeb;border-radius:50%;transform:none}.choice[aria-pressed=true]{background:#9363a52b;border:1px solid #c89bda;box-shadow:inset 0 0 25px #c49bd40a}.choice[aria-pressed=true]>span{background:#d7b5e522}.choice[aria-pressed=true]:after{background:#aa7fb8;color:#22142d}.princess .choice strong{color:#c4e8df}.princess .choice>span{background:#9cd7cb18}.princess .choice[aria-pressed=true]{background:#5fafa322;border-color:#91cdbb;box-shadow:none}.princess .choice[aria-pressed=true]:after{background:#90c8b8;color:#183832}.details,.pickup{background:#211b2b77;border:1px solid #a189aa55;border-radius:16px}.details label{color:#dcc8df}.details small{display:block;color:#b6c4c4;font-weight:400;font-size:12px;margin-top:10px}input{background:#f5edf1;color:#45394c;border:1px solid #b29eb9;border-radius:9px;color-scheme:light}.pickup input{max-width:290px}.location{color:#b8dcd3;background:#73b8a61a;border-color:#8cb6ad66;border-radius:30px}.ask{background:radial-gradient(ellipse at 50% 0,#71507855,transparent 70%),#302337;border:1px solid #b591b177;border-radius:25px;box-shadow:0 20px 70px #100b1a55}.ask:before{content:'❋';color:#d0b58f}.ask>p{color:#d4c1d5}.no{background:#3d2e46;border:1px solid #be9ccc;color:#ead5ed;box-shadow:none;border-radius:30px}.summary{background:#f7f0e5;border:1px solid #b29b74;border-radius:10px;box-shadow:0 10px 35px #130e2144}.summary dt{color:#785285}.summary dd{color:#4c4853}.back{color:#c9b6d3;font-weight:400}.back:hover{color:#e4d2e9}footer{background:#1c1724;color:#c6af88;border-top:1px solid #b09b7733;font-weight:400;letter-spacing:2.5px}@media(max-width:700px){main{padding-top:35px}.hero{gap:36px}h1{font-size:55px}.art{margin:5px 20px 18px}.art:before{font-size:13px}.art:after{font-size:55px;left:-25px}section,.princess{padding:27px 19px}.choice,.princess .choice{padding:20px;min-height:145px}.ask{padding:40px 15px 25px}.eyebrow{font-size:9px}.intro{font-size:16px}.details{padding:15px}}

.cover{text-align:center;max-width:900px;margin:auto;position:relative;padding:0 15px 20px}.cover .eyebrow{font-size:10px}.cover h1{font-size:clamp(43px,5.4vw,67px);line-height:1.12;margin:15px auto 25px;letter-spacing:-2px}.cover-kicker{color:#d4b98f;font:italic 16px Georgia,serif;margin:27px 0 0}.cover-copy{color:#d1c0d4;font-size:16px;line-height:1.8;margin-bottom:27px}.cover-note{color:#b7a3bd;font:italic 13px/1.7 Georgia,serif;margin-top:25px}.envelope{width:205px;height:125px;margin:33px auto 0;position:relative;background:linear-gradient(150deg,#e8d9c3,#c5af94);border:1px solid #e6d5b4;border-radius:5px;box-shadow:0 15px 45px #09091b66;transform:rotate(-6deg);overflow:hidden}.envelope:before{content:'';position:absolute;inset:0;background:#eadcc7;clip-path:polygon(0 0,100% 0,50% 60%);filter:drop-shadow(0 2px 1px #65516c)}.envelope span{position:absolute;bottom:17px;left:0;right:0;font:10px Georgia,serif;letter-spacing:4px;color:#6b526b}.envelope i{position:absolute;top:54px;left:85px;background:#765181;border:1px solid #b997bd;border-radius:50%;width:35px;height:35px;line-height:32px;color:#ead7b3;font-style:normal}.cover-stamp{position:absolute;right:5px;top:150px;border:2px solid #b59c7077;border-radius:50%;width:112px;height:112px;display:flex;flex-direction:column;justify-content:center;color:#c7ae85;font:12px/1.8 Georgia,serif;transform:rotate(13deg);outline:1px solid #b59c7055;outline-offset:5px}.cover-stamp span{font-size:10px;letter-spacing:2px}@media(max-width:700px){.cover{padding:0 0 15px}.cover h1{font-size:43px}.cover-copy{font-size:14px}.cover-copy br{display:none}.cover-stamp{width:76px;height:76px;right:0;top:125px;font-size:9px}.cover-stamp span{font-size:7px;letter-spacing:1px}.envelope{width:170px;height:108px;margin-top:30px}.envelope i{left:68px;top:43px}.cover .eyebrow{font-size:8px;letter-spacing:1.5px}}

.drinks-choices{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.drinks-choices{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.drinks-choices{grid-template-columns:1fr}}

.rain-plan{margin-top:35px;padding-top:28px;border-top:1px solid #ac8caa55}.rain-plan h3{font-size:29px}.rain-plan .choices{grid-template-columns:repeat(2,1fr)}.personal-note{font:italic 25px/1.6 Georgia,serif!important;color:#e5cda8!important;max-width:560px;margin:35px auto;padding:20px 15px;border-block:1px solid #b59b7155}@media(max-width:700px){.rain-plan .choices{grid-template-columns:1fr}.personal-note{font-size:22px!important}}
