
@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{--paper:#f8f7f3;--ink:#222321;--accent:#222321;--heading:'Cormorant Garamond',Georgia,serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{color:inherit}a{color:inherit}.studio{height:74px;border-bottom:1px solid #8883;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:15px}.brand{font:600 25px var(--heading);letter-spacing:-1px}.brand em{font-weight:400}.brand sup{font:9px var(--body);margin-left:4px}.studio-right{display:flex;align-items:center;gap:20px}.edition{font-size:9px;letter-spacing:2px;opacity:.55}.plain{background:none;border:0;padding:10px;font-size:11px}.edit-button{border:1px solid var(--ink);border-radius:2px;background:none;padding:10px 17px;font-size:11px}.edit-button:hover{background:var(--ink);color:var(--paper)}.page{min-height:calc(100svh - 74px);position:relative;padding:31px 7vw 22px;display:flex;flex-direction:column;overflow:hidden}.topline{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;gap:15px}.topline span:nth-child(2){opacity:.55}.invitation{width:min(960px,100%);margin:30px auto 24px;flex:1;min-height:620px;border:1px solid var(--ink);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 65px 35px}.invitation:before{content:'';position:absolute;inset:7px;border:1px solid currentColor;opacity:.3;pointer-events:none}.corner{width:50px;height:50px;position:absolute;background:var(--paper);display:grid;place-items:center;font:38px var(--heading)}.corner.a{left:-19px;top:-20px}.corner.b{right:-19px;top:-20px;transform:scaleX(-1)}.corner.c{left:-19px;bottom:-20px;transform:scaleY(-1)}.corner.d{right:-19px;bottom:-20px;transform:rotate(180deg)}.eyebrow{font-size:9px;letter-spacing:3.3px;text-transform:uppercase;line-height:1.7}.muted{opacity:.6}.crest{width:165px;height:120px;color:var(--accent);margin-bottom:16px}.crest svg{width:100%;height:100%;overflow:visible}.content{width:100%;text-align:center;position:relative;animation:appear .5s ease}h1,h2,p{margin:0}h1{font:400 clamp(48px,6.2vw,82px)/.99 var(--heading);letter-spacing:-2px;margin:20px 0 17px}h1 em{font-weight:400}h2{font:400 clamp(35px,4.2vw,57px)/1.08 var(--heading);letter-spacing:-1px;margin:23px auto;max-width:640px}.subtitle{font:italic 20px var(--heading);opacity:.75;line-height:1.5}.rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px auto 18px}.rule:before,.rule:after{content:'';width:45px;height:1px;background:currentColor;opacity:.35}.diamond{width:5px;height:5px;background:currentColor;transform:rotate(45deg)}.couple{font-size:10px;letter-spacing:2.8px;text-transform:uppercase}.actions{display:flex;align-items:center;justify-content:center;gap:16px;margin:27px auto 0;min-height:53px}.primary{background:var(--accent);color:var(--paper);border:1px solid var(--accent);padding:17px 32px;text-transform:uppercase;letter-spacing:2px;font-size:10px;min-width:185px;transition:transform .2s}.primary:hover{transform:translateY(-2px)}.secondary{background:transparent;border:1px solid #8886;padding:17px 25px;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;min-width:105px}.note{font-size:10px;line-height:1.8;opacity:.55;margin-top:20px}.bottomline{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;text-transform:uppercase;gap:20px}.bottomline .signature{font:italic 18px var(--heading);letter-spacing:0;text-transform:none}.progress{display:flex;justify-content:center;gap:7px;margin:0 0 28px}.progress span{height:2px;width:28px;background:var(--ink);opacity:.15}.progress span.done{opacity:1}.options{display:grid;gap:10px;width:min(440px,100%);margin:28px auto 0}.option{display:flex;text-align:left;align-items:center;gap:15px;border:1px solid #8885;background:transparent;padding:16px 18px;font-size:12px;transition:.2s}.option .number{font:italic 17px var(--heading);opacity:.5}.option:hover{background:var(--accent);color:var(--paper);border-color:var(--accent);transform:translateX(3px)}.back{background:none;border:0;font-size:10px;opacity:.6;margin-top:22px;padding:9px}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:520px;margin:28px auto 0;padding-top:20px;border-top:1px solid #8884}.details p{font:23px var(--heading);margin-top:8px}.details .wide{grid-column:1/-1}.final-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:25px}.final-links a,.final-links button{padding:12px 18px;border:1px solid #8886;background:none;font-size:10px;text-decoration:none}.final-links a:hover,.final-links button:hover{background:var(--ink);color:var(--paper)}.seal{display:inline-flex;border:1px solid currentColor;border-radius:50%;height:57px;width:57px;align-items:center;justify-content:center;font:italic 23px var(--heading);margin-bottom:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:13px 23px;font-size:12px;z-index:10;max-width:90vw;text-align:center}.hidden{display:none!important}.shade{position:fixed;inset:0;background:#0006;z-index:20;backdrop-filter:blur(3px)}.drawer{position:fixed;right:0;top:0;height:100dvh;width:min(460px,100%);z-index:21;background:#faf9f6;color:#222321;box-shadow:-10px 0 70px #0002;display:flex;flex-direction:column}.drawer-head{padding:23px 28px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font:30px Georgia;margin:0}.drawer-body{overflow:auto;flex:1;padding:0 28px 25px}.tabs{display:flex;gap:22px;border-bottom:1px solid #ddd;margin-bottom:20px;position:sticky;top:0;background:#faf9f6;z-index:2}.tabs button{padding:18px 0 13px;background:none;border:0;border-bottom:2px solid transparent;font-size:11px}.tabs button.active{border-color:#222}.field{display:block;font-size:10px;letter-spacing:.4px;margin:18px 0}.field input,.field textarea,.field select{display:block;width:100%;padding:12px;border:1px solid #ccc;background:white;color:#222;margin-top:8px;border-radius:0;font-size:12px}.field textarea{min-height:70px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.section-label{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-top:26px;padding-bottom:12px;border-bottom:1px solid #ddd}.drawer-foot{border-top:1px solid #ddd;padding:17px 28px;background:#faf9f6}.drawer-foot button{width:100%;background:#222;color:#fff;padding:15px;border:0;font-size:11px}.drawer-foot small{font-size:10px;color:#666;display:block;margin-top:10px;text-align:center;line-height:1.5}.swatches{display:flex;gap:12px;margin:20px 0}.swatch{width:40px;height:40px;border:1px solid #aaa;border-radius:50%;padding:4px;background:var(--s)}.help{font-size:12px;line-height:1.9;color:#555}.help h3{font:25px Georgia;color:#222}.help ol{padding-left:17px}.help li{margin-bottom:15px}.tiny-button{padding:11px 14px;border:1px solid #bbb;background:none;font-size:11px}.question-editor{border-bottom:1px solid #ddd;padding-bottom:10px}.confetti{position:fixed;top:-20px;pointer-events:none;width:6px;height:11px;background:var(--ink);animation:fall 3s linear forwards;z-index:5}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{to{transform:translateY(110vh) rotate(600deg);opacity:0}}[data-guest="true"] .studio{display:none}[data-guest="true"] .page{min-height:100svh}@media(min-width:1600px){.invitation{max-height:800px;flex:initial;width:1050px;margin:55px auto}.page{justify-content:space-between}}@media(max-width:650px){.studio{height:62px;padding:0 18px}.edition{display:none}.studio-right{gap:5px}.brand{font-size:23px}.page{padding:23px 25px 20px;min-height:calc(100svh - 62px)}.topline{font-size:7px;letter-spacing:1.5px}.invitation{margin:29px auto 25px;min-height:590px;padding:40px 24px 30px}.crest{width:135px;height:100px}h1{font-size:55px;letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:2.3px}.subtitle{font-size:19px}.couple{font-size:8px;letter-spacing:1.7px}.primary{min-width:150px;padding:17px 19px}.secondary{min-width:75px;padding:17px}.bottomline{font-size:7px;letter-spacing:1px}.bottomline .signature{font-size:15px}.details{gap:18px 8px}.details p{font-size:21px}.option{font-size:11px}.note{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* A little yes — a quieter, larger, mobile-first invitation. */
:root{--paper:#f8f7f3}.studio{height:64px;padding:0 4vw;border-bottom:0}.brand{font-size:25px}.brand sup,.edition{display:none}.studio-right{gap:12px}.plain{font-size:12px}.edit-button{font-size:12px;border-radius:30px;padding:11px 20px}.page{padding:12px 24px 32px;min-height:calc(100svh - 64px);justify-content:center}.topline,.bottomline,.corner{display:none}.invitation{width:min(100%,920px);border:0;margin:0 auto;min-height:650px;padding:25px 55px 35px;flex:1}.invitation:before{display:none}.content{max-width:780px}.crest{width:205px;height:147px;margin:0 auto 10px;animation:float 6s ease-in-out infinite}.crest.doves{width:230px;height:150px}.crest.small-art{width:125px;height:88px;margin-bottom:25px}h1{font-size:clamp(76px,8.8vw,122px);line-height:.88;font-weight:400;letter-spacing:-4px;margin:16px 0 24px}h1 em{font-weight:400}h2{font-size:clamp(48px,6vw,76px);line-height:1.02;margin:14px auto 20px;letter-spacing:-2px;max-width:720px}.subtitle{font:400 20px/1.6 var(--body);opacity:.8}.attendance-question{font:italic 36px/1.2 var(--heading);margin-top:24px}.couple{font:400 24px/1.5 var(--heading);text-transform:none;letter-spacing:0}.date-caption{font-size:12px;letter-spacing:1px;opacity:.6;margin-top:3px}.hero-bottom{margin-top:0}.actions{gap:12px;margin-top:22px;min-height:95px;position:relative;max-width:440px}.primary{font-size:13px;letter-spacing:0;text-transform:none;min-width:210px;min-height:54px;border-radius:50px;padding:16px 27px}.secondary{font-size:13px;letter-spacing:0;text-transform:none;border-radius:50px;min-height:54px;padding:16px 23px}.note{font-size:12px;line-height:1.7;margin-top:4px;min-height:20px}.progress{margin-bottom:18px}.progress span{width:34px}.options{width:min(500px,100%);gap:12px;margin-top:30px}.option{font-size:16px;padding:20px 23px;min-height:62px;border-radius:8px}.option .number{font-size:23px}.back{font-size:12px;padding:13px;margin-top:18px}.eyebrow{font-size:11px;letter-spacing:1.4px}.details{max-width:550px;gap:25px 20px;margin-top:25px}.details p{font-size:28px}.details .note{font-size:14px}.final-links{gap:12px}.final-links a,.final-links button{font-size:13px;padding:14px 20px;border-radius:50px}.drawer{width:min(490px,100%)}.drawer-head h2{font:34px var(--heading);letter-spacing:-1px}.tabs{gap:20px}.tabs button{font-size:13px}.field{font-size:12px;letter-spacing:0}.field input,.field textarea,.field select{font-size:15px;min-height:45px}.drawer-foot button{font-size:14px;border-radius:30px}.drawer-foot small{font-size:11px}.help{font-size:14px;line-height:1.75}.help h3{font:32px var(--heading);letter-spacing:-.5px;margin:18px 0 10px}.help li{margin-bottom:12px}.help-box{padding:18px;border:1px solid #ddd;border-radius:9px;margin:15px 0}.help-box strong{display:block;font-size:15px;color:#222;margin-bottom:8px}.tiny-button{font-size:13px;border-radius:5px;padding:13px 15px}.export-title{font:30px var(--heading);margin-top:22px}.section-label{font-size:11px;letter-spacing:1px}.swatch{width:46px;height:46px}.drawer-foot{padding:16px 28px}.share-label{font-size:11px;opacity:.55;margin-top:12px} @keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@media(max-width:650px){.studio{height:62px;padding:0 15px}.brand{font-size:22px}.studio-right{gap:0}.studio-right .plain{font-size:11px;padding:10px 8px}#restart{display:none}.edit-button{font-size:11px;padding:10px 13px}.page{padding:5px 23px 25px;min-height:calc(100svh - 62px)}.invitation{min-height:610px;padding:16px 0 15px;justify-content:center}.crest{width:170px;height:123px;margin-bottom:7px}.crest.doves{width:190px;height:128px}.crest.small-art{width:115px;height:75px;margin-bottom:22px}h1{font-size:clamp(70px,17vw,92px);letter-spacing:-2.6px;margin:12px 0 19px}h2{font-size:clamp(44px,11vw,59px);letter-spacing:-1.2px;margin:12px auto 20px}.subtitle{font-size:16px;line-height:1.65}.attendance-question{font-size:31px;margin-top:25px}.actions{margin-top:15px;min-height:105px;gap:10px}.primary{font-size:13px;min-width:0;padding:16px 23px}.secondary{font-size:13px;padding:16px 19px;min-width:0}.couple{font-size:23px}.date-caption{font-size:11px}.note{font-size:11px}.options{gap:12px;margin-top:25px}.option{font-size:15px;padding:18px 16px;line-height:1.5}.details{gap:23px 10px}.details p{font-size:25px}.details .eyebrow{font-size:10px}.final-links a,.final-links button{font-size:12px;padding:13px 16px}.drawer-body{padding:0 22px 25px}.drawer-head{padding:20px 22px}.tabs{gap:16px}.tabs button{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.drawer-foot{padding:14px 22px}.help{font-size:14px}}
@media(max-width:370px){h1{font-size:66px}.actions{gap:7px}.primary,.secondary{font-size:12px;padding:15px 18px}.brand{font-size:20px}}@media(prefers-reduced-motion:reduce){.crest{animation:none}}

.question-interaction{max-width:560px;margin:0 auto}.interaction-caption{font:400 17px/1.6 var(--body);opacity:.75;max-width:470px;margin:12px auto}.slider-value{font:italic 76px/1 var(--heading);margin:25px 0 15px}.range-label{display:block;margin:30px auto 12px;max-width:460px}.range-label input{width:100%;height:6px;accent-color:var(--accent);cursor:pointer}.range-ends{display:flex;justify-content:space-between;gap:12px;font-size:11px;opacity:.6;max-width:460px;margin:16px auto 0}.next-question{margin-top:30px;min-width:230px}.multi-options .selected{background:var(--accent);color:var(--paper);border-color:var(--accent)}.check{font:22px var(--heading);width:22px}.primary:disabled{opacity:.4;cursor:default}.song-vinyl{height:90px;width:90px;border-radius:50%;border:1px solid currentColor;background:repeating-radial-gradient(circle,transparent 0,transparent 5px,color-mix(in srgb,var(--ink) 10%,transparent) 6px,transparent 7px);display:grid;place-items:center;margin:25px auto;animation:spin 14s linear infinite}.song-vinyl span{font:36px var(--heading)}.song-label input{width:100%;max-width:460px;border:0;border-bottom:1px solid #8886;background:transparent;color:var(--ink);padding:17px 0;font:italic 27px var(--heading);outline-offset:8px}.song-label input::placeholder{color:var(--ink);opacity:.5}.song-label{display:block}.skip-song{display:block;margin:13px auto 0}.cheer-button{display:block;margin:23px auto 15px;background:none;border:0;width:170px;height:145px;color:var(--accent)}.cheer-button svg{height:100%;width:100%}.cheer-dots{display:flex;gap:12px;justify-content:center;margin:20px}.cheer-dots i{width:8px;height:8px;border:1px solid var(--ink);border-radius:50%}.cheer-dots .lit{background:var(--ink)}.clink{animation:clink .4s}.promise-heart{width:110px;height:100px;margin:25px auto;color:var(--accent);animation:pulse 2.5s infinite}.promise-heart svg{height:100%;width:100%}.hold-button{position:relative;overflow:hidden;isolation:isolate;touch-action:none;user-select:none}.hold-button:before{content:'';position:absolute;inset:0;background:var(--paper);opacity:.3;transform:scaleX(0);transform-origin:left;z-index:-1}.hold-button.holding:before{transform:scaleX(1);transition:transform 1s linear}.hold-button.sealed{opacity:1}.soundtrack{font:italic 20px var(--heading);margin-top:20px;opacity:.7}.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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes clink{0%,100%{transform:rotate(0)}30%{transform:rotate(-9deg) scale(1.07)}70%{transform:rotate(9deg) scale(1.07)}}@keyframes pulse{50%{transform:scale(1.06)}}
@media(max-width:650px){.interaction-caption{font-size:15px}.slider-value{font-size:72px}.range-label input{height:10px;min-height:35px}.range-ends{font-size:10px}.song-label input{font-size:24px}.cheer-button{height:130px;width:150px}.question-interaction .options{margin-top:25px}.next-question{font-size:14px;min-height:56px}.promise-heart{width:100px;height:90px}}@media(prefers-reduced-motion:reduce){.promise-heart,.song-vinyl,.clink{animation:none}}

.sw-inv-page{min-height:100svh}.sw-guest-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 5vw;font-size:12px}.sw-guest-nav>a{font:italic 23px var(--heading);text-decoration:none}.sw-guest-nav div{display:flex;gap:25px}.sw-guest-nav div a{text-decoration:none}.sw-inv-page #sw-guest{min-height:calc(100svh - 75px);padding:5px 24px 35px}.sw-inv-page .invitation{min-height:calc(100svh - 120px)}.sw-preview-label{text-align:center;font:11px/1.6 Arial;padding:10px;background:#0001}.direct-rsvp{font-size:11px;opacity:.65;display:inline-block;margin-top:16px}.guest-form{width:min(100%,480px);margin:35px auto 0;text-align:left}.guest-form label{display:block;font:13px/1.5 var(--body);margin:0 0 19px}.guest-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.guest-form textarea{width:100%;display:block;padding:13px;margin-top:7px;border:1px solid #8885;border-radius:5px;background:transparent;color:var(--ink);font:16px/1.6 var(--body)}.guest-form textarea{min-height:90px;resize:vertical}.guest-form fieldset{border:0;margin:25px 0;padding:0}.guest-form legend{font-size:13px;margin-bottom:14px}.guest-form .radio-choice,.guest-form .consent{display:flex;align-items:flex-start;gap:10px;font-size:13px}.guest-form input[type=checkbox],.guest-form input[type=radio]{accent-color:var(--ink);margin-top:3px;width:18px;height:18px;flex-shrink:0}.form-small{font-size:11px;opacity:.7;line-height:1.8;margin-bottom:23px}.form-message{font-size:13px;line-height:1.8;margin-top:20px;overflow-wrap:anywhere}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.photo-actions{display:flex;gap:10px;margin-bottom:22px}.photo-actions .primary{min-width:0}.photo-actions .secondary{min-width:0}#photo-preview img{width:100%;max-height:350px;object-fit:contain;margin-bottom:20px}.wedding-album{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:40px auto 20px;max-width:900px}.wedding-album a{display:block;text-decoration:none}.wedding-album img{width:100%;height:240px;object-fit:cover}.wedding-album span{font-size:10px;opacity:.6}.wedding-album>.note{grid-column:1/-1}.option.selected{background:var(--accent);color:var(--paper)}#sw-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:15px 22px;z-index:10;font-size:13px;max-width:90vw;text-align:center}.sw-inv-page [hidden]{display:none!important}.sw-inv-page .hold-button{touch-action:pan-y}.sw-inv-page .promise-heart{width:130px;height:100px}.sw-inv-page .promise-heart .crest{width:100%;height:100%}@media(max-width:600px){.sw-guest-nav{padding:18px 20px;gap:12px}.sw-guest-nav>a{font-size:18px;max-width:45%}.sw-guest-nav div{gap:15px;font-size:11px}.sw-inv-page #sw-guest{padding:0 23px 25px}.sw-inv-page .invitation{min-height:calc(100svh - 100px);padding:12px 0 22px}.wedding-album{grid-template-columns:1fr 1fr;gap:12px}.wedding-album img{height:190px}.photo-actions .primary,.photo-actions .secondary{padding:15px 18px;font-size:12px}.guest-form{margin-top:25px}.guest-form label{font-size:13px}.form-small{font-size:11px}}

.sw-inv-page h1{font-size:clamp(76px,8.8vw,var(--hero-size,116px))}.sw-inv-page[data-layout=editorial] .invitation{border-top:1px solid #8886;border-bottom:1px solid #8886}.sw-inv-page[data-layout=editorial] .content>h1,.sw-inv-page[data-layout=editorial] .content>h2{font-style:italic}.sw-inv-page[data-layout=modern] .primary,.sw-inv-page[data-layout=modern] .secondary,.sw-inv-page[data-layout=modern] .option{border-radius:3px}.sw-inv-page[data-layout=modern] .content>h1{letter-spacing:-2px}@media(max-width:650px){.sw-inv-page h1{font-size:clamp(42px,17vw,var(--mobile-size,78px))}}

.submission-success{padding:24px!important;margin:24px 0;border:1px solid currentColor;border-radius:16px;text-align:center;font-size:18px!important;line-height:1.6}.submission-success strong{display:block;font-size:28px;font-family:Georgia,serif}.submission-success p{margin:12px 0}.submission-success a{overflow-wrap:anywhere;text-decoration:underline}
