@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--wine:#55263b;--wine-deep:#3e1b2d;--wine-soft:#7e465b;--gold:#b38b5d;--gold-light:#e1c79e;--ink:#2d2528;--muted:#82777a;--line:#e9dfd9;--cream:#fbf8f4;--pale:#f3ebe5;--white:#fffefa;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 20px 60px rgba(55,30,38,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.page-shell{min-height:65vh}.site-header{height:84px;padding:0 clamp(22px,7.2vw,112px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,254,250,.95);border-bottom:1px solid rgba(233,223,217,.8);position:sticky;top:0;z-index:50;backdrop-filter:blur(15px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--wine);font-family:var(--serif);font-size:22px;line-height:1.05;font-weight:700;letter-spacing:-.5px}.brand-symbol{font-size:25px;color:var(--gold)}.brand-light{font-weight:500;color:#996c72}.brand small{display:block;margin-top:5px;font:600 7px var(--sans);letter-spacing:2px;color:#9b8983}.main-nav{display:flex;align-items:center;gap:32px;font-size:12px;color:#655b5d}.main-nav>a:not(.nav-cta){transition:color .2s}.main-nav>a:hover,.main-nav>a.active{color:var(--wine)}.nav-cta{background:var(--wine);color:#fff;padding:12px 18px;border-radius:4px;font-weight:700;box-shadow:0 8px 20px rgba(85,38,59,.14)}.nav-cta span{margin-left:10px;color:var(--gold-light)}.nav-quiet{background:transparent;color:var(--wine);box-shadow:none;padding:8px}.nav-toggle{display:none;border:0;background:none;font-size:22px;color:var(--wine)}.nav-logout{margin:0}.nav-logout button{border:0;background:transparent;color:#655b5d;padding:6px;font-size:12px}.nav-logout button:hover{color:var(--wine)}
.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--gold);font-weight:700;margin:0 0 16px}.eyebrow-star{font-size:15px;margin-right:8px}.hero-section{min-height:620px;padding:64px clamp(22px,10vw,150px) 76px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4%;background:radial-gradient(ellipse at 87% 46%,#f4e9e0 0%,#fbf8f4 37%,#fffefa 70%);overflow:hidden}.hero-copy{max-width:565px;position:relative;z-index:2}.hero-copy h1,.section-heading-row h2,.section-heading-centered h2,.how-section h2,.dashboard-head h1,.builder-heading h1,.sample-page-head h1,.legal-page h1,.contact-page h1{font:500 clamp(43px,5vw,68px)/1.08 var(--serif);letter-spacing:-1.9px;margin:0 0 22px}.hero-copy h1 em,.section-heading-row h2 em,.section-heading-centered h2 em,.how-section h2 em,.dashboard-head h1 em,.builder-heading h1 em,.sample-page-head h1 em,.legal-page h1 em,.contact-page h1 em{font-weight:500;color:var(--wine-soft)}.hero-intro{max-width:480px;color:var(--muted);line-height:1.9;font-size:14px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:4px;padding:14px 20px;font-weight:700;font-size:12px;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--wine);color:#fff;box-shadow:0 9px 24px rgba(85,38,59,.16)}.btn-dark:hover{background:var(--wine-soft)}.btn-light{background:#fff8ef;color:var(--wine)}.btn-outline{border-color:#d6c5bb;background:transparent;color:var(--wine)}.btn-small{padding:9px 12px;font-size:11px}.btn-block{width:100%}.under-link{display:inline-flex;align-items:center;gap:9px;color:var(--wine);font-size:12px;font-weight:700}.under-link:hover{color:var(--gold)}.hero-footnote{display:flex;align-items:center;gap:10px;margin-top:45px;font-size:10px;color:#96898a}.tiny-seal{width:24px;height:24px;border:1px solid #d7c5b6;color:var(--gold);border-radius:50%;display:grid;place-items:center}
.hero-visual{height:475px;position:relative;display:grid;place-items:center}.hero-orbit{position:absolute;border:1px solid rgba(184,145,110,.25);border-radius:50%}.orbit-one{width:440px;height:440px}.orbit-two{width:365px;height:365px;border-style:dashed;opacity:.65}.hero-visual:before{content:'✿';position:absolute;left:4%;top:9%;font-size:60px;color:#d9bd9f;opacity:.5;transform:rotate(-16deg)}.hero-visual:after{content:'✧';position:absolute;right:7%;bottom:8%;font-size:45px;color:#b38b5d;opacity:.7}.hero-invite-card{width:270px;height:370px;position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,#fffaf0,#f0dfcf);color:#67364a;outline:1px solid #c8a879;outline-offset:-8px;border:1px solid #c8a879;box-shadow:0 28px 70px rgba(72,39,44,.18);transform:rotate(2deg);padding:28px}.invite-frame{position:absolute;inset:13px;border:1px solid rgba(184,145,93,.35);pointer-events:none}.card-top-flourish,.card-bottom-flourish{font:38px var(--serif);color:#b38b5d}.card-top-flourish{margin-bottom:16px}.card-bottom-flourish{position:absolute;bottom:12px;transform:rotate(180deg)}.hero-card-kicker{font-size:7px;letter-spacing:2px}.hero-card-names{font:39px/1.04 var(--serif);margin:12px 0}.hero-card-names i{font-size:25px;color:#b38b5d;font-weight:400}.hero-card-divider{width:70px;border-top:1px solid #bd9868;margin:5px 0 12px;color:#b38b5d;font-size:12px}.hero-card-divider span{position:relative;top:-10px;background:#f6eadc;padding:0 8px}.hero-invite-card p{font:italic 12px/1.5 var(--serif);margin:0 0 15px}.hero-invite-card strong{font-size:8px;letter-spacing:1.7px}.hero-invite-card>small{font-size:7px;letter-spacing:1.7px;margin-top:7px}.floating-tag{position:absolute;z-index:4;background:#fffefa;padding:12px 15px;border:1px solid #eee3db;box-shadow:0 10px 30px rgba(52,31,36,.09);font-size:10px;color:#76696b}.floating-tag span{color:var(--gold);margin-right:7px}.floating-tag-top{top:42px;left:-5px;transform:rotate(-4deg)}.floating-tag-bottom{bottom:48px;right:-8px;transform:rotate(3deg)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7eaa83}.hero-caption{position:absolute;bottom:2px;font-size:8px;letter-spacing:2.4px;color:#9a8881}.trust-line{display:flex;align-items:center;justify-content:center;gap:26px;padding:19px 16px;background:#f4eee8;color:#74686a;font-size:8px;letter-spacing:1.6px;flex-wrap:wrap}.trust-line i{font-style:normal;color:#bb9566;font-size:12px}
.section-block{padding:100px clamp(22px,9vw,138px)}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-heading-row h2,.section-heading-centered h2,.how-section h2{font-size:45px;line-height:1.13;margin:0}.section-side-note{max-width:330px;color:var(--muted);line-height:1.85;font-size:12px;margin:0 0 5px}.template-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.sample-card{display:block;background:#fff;border:1px solid #eee5de;transition:transform .25s,box-shadow .25s;overflow:hidden}.sample-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.sample-art{height:250px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 18px;overflow:hidden;color:var(--theme-ink,#693449);background:var(--theme-bg,#f4e9e1)}.sample-art-frame{position:absolute;inset:11px;border:1px solid currentColor;opacity:.3;pointer-events:none}.sample-art:after{content:'';position:absolute;inset:17px;border:1px solid currentColor;opacity:.15;pointer-events:none}.sample-flourish{font-size:22px;color:var(--theme-accent,var(--gold));margin-bottom:6px}.sample-kicker{font-size:7px;letter-spacing:2px}.sample-art strong{font:32px/1.08 var(--serif);margin:10px 0 14px}.sample-art strong i{font-size:21px;font-weight:400;color:var(--theme-accent,var(--gold))}.sample-date{font-size:7px;letter-spacing:1.8px}.sample-deco{position:absolute;bottom:9px;font:28px var(--serif);transform:rotate(180deg);color:var(--theme-accent,var(--gold))}.sample-info{display:flex;align-items:center;justify-content:space-between;padding:13px 14px}.sample-info b{display:block;font:600 15px var(--serif);color:var(--ink)}.sample-info span:not(.sample-arrow){font-size:9px;color:#938789}.sample-arrow{font-size:17px;color:var(--gold)}.collection-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.collection-foot>span{font-size:8px;letter-spacing:1.7px;color:#9a8b88}
.features-section{background:#faf6f1}.section-heading-centered{text-align:center;max-width:620px;margin:0 auto 55px}.section-heading-centered>p:last-child{max-width:490px;margin:16px auto 0;font-size:13px;line-height:1.8;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 44px}.feature-item{border-top:1px solid #e2d5ca;padding:20px 2px 0}.feature-icon{width:39px;height:39px;border:1px solid #dfd1c4;border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:18px}.feature-item h3{font:600 19px var(--serif);margin:17px 0 7px}.feature-item p{font-size:11px;color:var(--muted);line-height:1.85;margin:0;max-width:290px}.how-section{padding:94px clamp(22px,10vw,145px);background:#efe4db}.how-section .section-heading-centered{margin-bottom:54px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8%;max-width:1030px;margin:0 auto}.steps-grid article{padding-top:16px;border-top:1px solid #cdbbae}.steps-grid article>span{color:#b48d62;font-size:10px;letter-spacing:1.5px}.steps-grid h3{font:600 19px var(--serif);margin:14px 0 7px}.steps-grid p{font-size:11px;line-height:1.8;color:#786b6b}.privacy-section{padding:65px clamp(22px,10vw,145px);display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center}.privacy-mark{width:62px;height:62px;border-radius:50%;background:#f5ede6;display:grid;place-items:center;font-size:27px;color:var(--wine-soft)}.privacy-section h2{font:500 29px/1.16 var(--serif);margin:0 0 10px}.privacy-section h2 em{color:var(--wine-soft)}.privacy-section p:not(.eyebrow){font-size:11px;line-height:1.85;color:var(--muted);max-width:700px;margin:0}.privacy-section .under-link{white-space:nowrap}.final-cta{background:var(--wine-deep);color:#fff8ef;text-align:center;padding:77px 22px 82px;position:relative;overflow:hidden}.final-cta:before,.final-cta:after{content:'✿';position:absolute;font-size:160px;color:rgba(255,255,255,.045);top:3px;left:7%}.final-cta:after{left:auto;right:6%;top:auto;bottom:-54px}.cta-ornament{font-size:27px;color:var(--gold-light);margin-bottom:8px}.final-cta .eyebrow{color:var(--gold-light)}.final-cta h2{font:500 45px/1.1 var(--serif);margin:0 0 12px}.final-cta h2 em{color:#e4c49b}.final-cta>p:not(.eyebrow){font-size:12px;color:#d7c3c0;margin-bottom:22px}.final-cta .btn{margin-top:5px}
.site-footer{padding:34px clamp(22px,7.2vw,112px) 18px;background:#fcfaf7}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-bottom:25px;border-bottom:1px solid #eee5de}.footer-brand{font-size:19px}.footer-top>p{font:italic 13px var(--serif);color:#8b7c7d}.footer-links{display:flex;gap:20px;font-size:10px;color:#84787a}.footer-bottom{display:flex;justify-content:space-between;padding-top:15px;color:#a19594;font-size:9px}
/* theme palette */
.theme-royal{--theme-bg:#672c43;--theme-ink:#f6e5c7;--theme-accent:#d3b17b;background:var(--theme-bg);color:var(--theme-ink)}
.theme-floral{--theme-bg:#f0deda;--theme-ink:#774d56;--theme-accent:#b77d84;background:var(--theme-bg);color:var(--theme-ink)}
.theme-minimal{--theme-bg:#e9e6df;--theme-ink:#383b37;--theme-accent:#9e8b71;background:var(--theme-bg);color:var(--theme-ink)}
.theme-marigold{--theme-bg:#a64d35;--theme-ink:#fff0ca;--theme-accent:#f0c46c;background:var(--theme-bg);color:var(--theme-ink)}
.theme-peacock{--theme-bg:#155e61;--theme-ink:#f2e2bd;--theme-accent:#d6b66f;background:var(--theme-bg);color:var(--theme-ink)}
.theme-pastel{--theme-bg:#eee8e0;--theme-ink:#6b5960;--theme-accent:#bc9699;background:var(--theme-bg);color:var(--theme-ink)}
.theme-cinematic{--theme-bg:#292b3a;--theme-ink:#f8e7cf;--theme-accent:#c89b64;background:var(--theme-bg);color:var(--theme-ink)}
.theme-sacred{--theme-bg:#852f38;--theme-ink:#ffedc5;--theme-accent:#e4b66b;background:var(--theme-bg);color:var(--theme-ink)}
.theme-botanical{--theme-bg:#dce3d8;--theme-ink:#405445;--theme-accent:#879a79;background:var(--theme-bg);color:var(--theme-ink)}
.theme-celestial{--theme-bg:#232942;--theme-ink:#f3e8d2;--theme-accent:#c8b4e0;background:var(--theme-bg);color:var(--theme-ink)}
/* auth and dashboard */
.auth-layout{max-width:1120px;margin:58px auto 80px;padding:0 24px;display:grid;grid-template-columns:1fr 430px;gap:9%;align-items:center}.auth-aside{min-height:540px;background:#f6eee8;padding:53px 50px;position:relative;overflow:hidden}.auth-aside:after{content:'✿';position:absolute;right:-10px;bottom:-42px;font-size:190px;color:rgba(179,139,93,.11)}.auth-aside h1{font:500 51px/1.09 var(--serif);letter-spacing:-1.5px;margin:0 0 17px}.auth-aside h1 em,.auth-panel h2 em{color:var(--wine-soft)}.auth-aside>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:400px}.auth-mini-card{width:190px;height:225px;margin:40px auto 0;outline:1px solid var(--theme-accent);outline-offset:-7px;border:1px solid var(--theme-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;box-shadow:0 14px 25px rgba(52,28,35,.12)}.auth-mini-card span,.auth-mini-card small{font-size:7px;letter-spacing:1.5px}.auth-mini-card strong{font:30px/1.05 var(--serif);margin:15px 0}.auth-mini-card strong i{color:var(--theme-accent);font-weight:400}.auth-panel{padding:20px 0}.auth-panel h2{font:500 35px/1.15 var(--serif);margin:0 0 26px}.form-stack{display:grid;gap:17px}.form-stack label,.form-grid label,.full-label,.rsvp-form label,.setup-form label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#6b5d61}.form-stack input,.form-grid input,.form-grid select,.full-label textarea,.rsvp-form input,.rsvp-form select,.rsvp-form textarea,.setup-form input{width:100%;border:1px solid #e3d9d3;border-radius:3px;background:#fffefa;padding:12px 13px;color:var(--ink);font-size:12px;outline:none;transition:border .2s,box-shadow .2s}.form-stack input:focus,.form-grid input:focus,.form-grid select:focus,.full-label textarea:focus,.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus,.setup-form input:focus{border-color:#a87e86;box-shadow:0 0 0 3px rgba(125,70,91,.08)}.auth-switch{font-size:11px;color:var(--muted);margin-top:20px}.auth-switch a{color:var(--wine);font-weight:700}.alert{padding:12px 14px;border-radius:4px;margin:15px 0;font-size:12px}.alert-error{background:#fff0ed;color:#913d32;border:1px solid #f0ccc5}.alert-success{background:#edf6ee;color:#356b45;border:1px solid #cfe4d2}.dashboard-head{padding:62px clamp(22px,9vw,138px) 46px;background:#f6efe9;display:flex;justify-content:space-between;align-items:center;gap:25px}.dashboard-head h1{font-size:45px;margin:0 0 12px}.dashboard-head>div>p:last-child{font-size:12px;color:var(--muted);margin:0}.dashboard-section{padding:45px clamp(22px,9vw,138px) 90px}.dashboard-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.dashboard-section-title h2{font:500 28px var(--serif);margin:0}.subtle-note{font-size:10px;color:#93878a}.empty-panel{padding:60px 22px;text-align:center;border:1px dashed #d9cbc2;background:#fcfaf7}.empty-flower{font-size:31px;color:var(--gold)}.empty-panel h2{font:500 26px var(--serif);margin:10px 0}.empty-panel p{font-size:12px;color:var(--muted);margin:0 auto 22px;max-width:420px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dashboard-card{border:1px solid #ece2dc;background:#fff;min-width:0}.dashboard-card-art{height:185px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;overflow:hidden}.dashboard-card-art .sample-art-frame{inset:9px}.dashboard-card-art>span,.dashboard-card-art>small{font-size:7px;letter-spacing:1.6px}.dashboard-card-art strong{font:27px/1.05 var(--serif)}.dashboard-card-art strong i{font-size:18px;color:var(--theme-accent);font-weight:400}.dashboard-card-body{padding:14px}.dashboard-card-title{display:flex;justify-content:space-between;gap:9px}.dashboard-card-title h3{font:600 15px var(--serif);margin:0}.dashboard-card-title span:not(.status-pill){font-size:9px;color:#93878a}.status-pill{font-size:8px;color:#42784e;background:#edf6ee;padding:4px 6px;height:max-content}.dashboard-url{font:10px var(--sans);color:#897c7d;background:#faf7f4;padding:8px;margin:13px 0;overflow-wrap:anywhere}.dashboard-stats{display:flex;justify-content:space-between;gap:8px;color:#978a8b;font-size:8px}.dashboard-actions{display:flex;align-items:center;gap:7px;margin-top:13px;flex-wrap:wrap}.dashboard-actions form{margin-left:auto}.text-button{border:0;background:none;color:var(--wine);font-size:10px;padding:4px}.danger-text{color:#a14c43}.admin-shortcut{margin:0 clamp(22px,9vw,138px) 75px;padding:22px 25px;background:#f8f3ee;display:flex;align-items:center;justify-content:space-between}.admin-shortcut h2{font:500 22px var(--serif);margin:0}.admin-shortcut .eyebrow{margin-bottom:5px}
/* builder */
.builder-heading{padding:53px clamp(22px,6vw,90px) 30px;display:flex;justify-content:space-between;align-items:end;gap:20px}.builder-heading h1{font-size:39px;margin:0 0 10px}.builder-heading p:not(.eyebrow){color:var(--muted);font-size:12px;margin:0}.builder-layout{padding:0 clamp(22px,6vw,90px) 80px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}.builder-form-column{display:grid;gap:18px}.builder-panel{background:#fff;border:1px solid #eae1db;padding:24px 25px}.panel-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.panel-heading>span{width:29px;height:29px;border:1px solid #d8c5b5;border-radius:50%;display:grid;place-items:center;color:#ab825b;font-size:10px;flex:none}.panel-heading h2{font:600 20px var(--serif);margin:0 0 3px}.panel-heading p{color:#968a8b;font-size:10px;margin:0}.theme-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.theme-option{cursor:pointer;position:relative;display:block}.theme-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.theme-thumb{height:93px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;border:2px solid transparent;outline:1px solid rgba(255,255,255,.25);outline-offset:-7px}.theme-option input:checked+.theme-thumb{border-color:var(--gold);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gold)}.theme-thumb-copy{font:20px var(--serif)}.theme-thumb-copy i{font-size:14px;color:var(--theme-accent);font-weight:400}.theme-thumb small{font:600 7px var(--sans);letter-spacing:1px;margin-top:4px}.theme-option-name{display:block;margin-top:7px}.theme-option-name b{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-option-name small{font-size:8px;color:#9b8e8d}.toggle-row{display:flex;align-items:center;gap:12px;padding-top:18px;margin-top:20px;border-top:1px solid #f0e9e4;cursor:pointer}.toggle-row input{position:absolute;opacity:0}.toggle-control{width:36px;height:20px;border-radius:20px;background:#d9d0cb;position:relative;flex:none;transition:background .2s}.toggle-control:after{content:'';position:absolute;width:14px;height:14px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .2s}.toggle-row input:checked+.toggle-control{background:var(--wine-soft)}.toggle-row input:checked+.toggle-control:after{transform:translateX(16px)}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:10px}.toggle-row small{font-size:9px;color:#988b8b;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .span-two{grid-column:1/-1}.full-label{display:grid;margin-top:15px}.full-label textarea{resize:vertical;min-height:85px}.event-rows{display:grid;gap:12px;margin-bottom:14px}.event-row{background:#fbf8f5;border:1px solid #eee5de;padding:13px}.event-row-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.event-row-top b{font-size:8px;letter-spacing:1.4px;color:var(--gold)}.event-row .form-grid{gap:10px}.event-row .form-grid label{font-size:9px}.event-row .form-grid input{padding:9px 10px}.upload-box{display:flex;align-items:center;gap:13px;padding:15px;border:1px dashed #d5c6bb;background:#fcfaf7;cursor:pointer}.upload-box input{margin-left:auto;max-width:185px;font-size:9px}.upload-icon{width:35px;height:35px;border-radius:50%;background:#f2e7dd;color:var(--wine);display:grid;place-items:center;font-size:19px}.upload-box b,.upload-box small{display:block}.upload-box b{font-size:10px}.upload-box small{font-size:9px;color:#988b8b}.existing-photo{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:9px;color:#8a7f80}.existing-photo img{width:46px;height:46px;object-fit:cover;border-radius:3px}.slug-input-wrap{display:flex;align-items:center;border:1px solid #e3d9d3;background:#faf7f4;border-radius:3px;overflow:hidden}.slug-input-wrap>span{font-size:9px;color:#8a7e7f;padding:0 0 0 10px;white-space:nowrap}.slug-input-wrap input{border:0!important;box-shadow:none!important;background:transparent;padding-left:5px;font-weight:700;color:var(--wine)}.field-hint{font-size:9px;color:#9a8d8d;font-weight:400}.slug-status{font-size:9px;font-weight:600}.slug-status.available{color:#42784e}.slug-status.unavailable{color:#a14c43}.builder-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f5eee8;padding:18px 20px}.builder-submit p{font-size:9px;color:#8d8080;margin:0;max-width:320px}.preview-column{min-width:0}.preview-sticky{position:sticky;top:104px;background:#f8f4f0;border:1px solid #e9dfd8;padding:17px 17px 18px;text-align:center}.preview-title{display:flex;justify-content:space-between;align-items:start;text-align:left;margin-bottom:12px}.preview-title .eyebrow{font-size:8px;margin-bottom:4px}.preview-title h2{font:600 15px var(--serif);margin:0}.live-indicator{font-size:7px;letter-spacing:1px;color:#57815f;display:flex;align-items:center;gap:5px}.live-indicator i{width:6px;height:6px;border-radius:50%;background:#70a47b}.phone-frame{width:210px;max-width:100%;height:350px;border:5px solid #30252b;border-radius:27px;background:#30252b;margin:0 auto;box-shadow:0 12px 30px rgba(38,25,31,.18);position:relative;padding:14px 6px 11px}.phone-speaker{width:44px;height:4px;border-radius:4px;background:#655a5d;position:absolute;top:5px;left:50%;transform:translateX(-50%)}.phone-home{width:38px;height:3px;border-radius:4px;background:#75696c;position:absolute;bottom:4px;left:50%;transform:translateX(-50%)}.phone-screen{height:100%;border-radius:16px;overflow:hidden;background:#fffefa}.mini-invite{height:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 13px;color:var(--theme-ink);background:var(--theme-bg);overflow:hidden}.mini-border{position:absolute;inset:7px;border:1px solid currentColor;opacity:.35;pointer-events:none}.mini-top-flourish{font:30px var(--serif);color:var(--theme-accent);margin-bottom:12px}.mini-invite>small{font-size:6px;letter-spacing:1.2px}.mini-names{font:27px/1.02 var(--serif);margin:13px 0}.mini-names i{display:block;font-size:17px;font-weight:400;color:var(--theme-accent);line-height:1.2}.mini-divider{width:45px;border-top:1px solid var(--theme-accent);font-size:9px;color:var(--theme-accent);margin:4px 0 10px}.mini-invite p{font:italic 9px/1.45 var(--serif);margin:0 0 9px;max-height:45px;overflow:hidden}.mini-photo{width:54px;height:54px;border-radius:50%;background-position:center;background-size:cover;background-color:rgba(255,255,255,.14);margin-bottom:8px}.mini-invite>strong{font-size:7px;letter-spacing:1.2px}.mini-invite>b{font:600 10px var(--serif);margin-top:7px}.mini-invite>small:last-child{font-size:6px;margin-top:3px}.preview-link-box{margin-top:15px;padding:10px;background:#fff;border:1px solid #eee5df;text-align:left}.preview-link-box span{display:block;color:#9a8c8a;font-size:7px;letter-spacing:1.4px;margin-bottom:4px}.preview-link-box code{font-size:8px;color:var(--wine);overflow-wrap:anywhere}.preview-help{font-size:8px;color:#9a8d8a;line-height:1.6;margin:11px 0 0}
/* public invitation */
.invitation-page{background:#f6f0e9;min-height:100vh}.invitation-shell{max-width:1100px;margin:0 auto;background:#fffefa;box-shadow:0 0 65px rgba(61,35,43,.07);min-height:100vh}.invitation-topbar{padding:22px 7%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee5de}.invitation-topbar .brand{font-size:18px}.invitation-topbar .brand small{font-size:6px}.share-button{border:1px solid #dfd1c6;background:#fffefa;color:var(--wine);padding:9px 14px;border-radius:3px;font-size:10px;font-weight:700}.invitation-hero{padding:72px 20px 80px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse,#f9f1e9 0%,#fffefa 65%)}.invitation-decoration{position:absolute;font-size:90px;color:var(--theme-accent);opacity:.38}.decor-left{left:9%;top:17%;transform:rotate(-22deg)}.decor-right{right:10%;bottom:12%;font-size:70px}.invitation-card-large{width:min(590px,100%);min-height:610px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:65px 55px;color:var(--theme-ink);background:var(--theme-bg);outline:1px solid var(--theme-accent);outline-offset:-13px;border:1px solid var(--theme-accent);box-shadow:0 24px 70px rgba(56,34,39,.15);overflow:hidden}.invitation-card-border{position:absolute;inset:22px;border:1px solid currentColor;opacity:.24;pointer-events:none}.invitation-flourish{font:52px var(--serif);color:var(--theme-accent);margin-bottom:15px;line-height:1}.invitation-kicker{font-size:8px;letter-spacing:2.6px;margin:0 0 16px}.invitation-intro{font:italic 13px var(--serif);margin:0 0 14px;opacity:.9}.invitation-card-large h1,.invitation-card-large h2{font:500 clamp(47px,6vw,69px)/1.04 var(--serif);letter-spacing:-1px;margin:0}.invitation-card-large h1 i,.invitation-card-large h2 i{font-size:.6em;color:var(--theme-accent);font-weight:400}.invitation-couple-photo{width:108px;height:108px;object-fit:cover;border-radius:50%;border:3px solid var(--theme-accent);margin:23px 0 0}.invitation-separator{width:95px;border-top:1px solid var(--theme-accent);font-size:12px;color:var(--theme-accent);margin:27px 0 12px}.invitation-separator span{position:relative;top:-10px;background:var(--theme-bg);padding:0 12px}.invitation-message{max-width:360px;font:italic 14px/1.7 var(--serif);margin:0 0 22px}.invitation-date{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.invitation-date span{color:var(--theme-accent);padding:0 4px}.invitation-venue{font:600 19px var(--serif);margin-top:15px}.invitation-city{font-size:10px;letter-spacing:.7px;margin-top:5px;opacity:.85}.map-link{display:inline-block;margin-top:16px;border-bottom:1px solid var(--theme-accent);font-size:10px;font-weight:700;padding-bottom:3px}.bottom-flourish{position:absolute;bottom:20px;margin:0;transform:rotate(180deg)}.celebrations-section{padding:67px 8%;background:#fbf7f2;text-align:center}.celebrations-section h2,.countdown-section h2,.rsvp-inner h2{font:500 36px var(--serif);margin:0 0 32px}.celebrations-section h2 em,.countdown-section h2 em,.rsvp-inner h2 em{color:var(--wine-soft)}.celebration-list{max-width:710px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.celebration-item{display:flex;gap:14px;align-items:center;padding:17px;background:#fff;border:1px solid #efe5de}.celebration-date{min-width:47px;height:47px;border:1px solid #ddcbbb;display:grid;place-items:center;color:#a57c57;font:600 12px var(--serif)}.celebration-item h3{font:600 16px var(--serif);margin:0 0 3px}.celebration-item p,.celebration-item span{display:block;font-size:9px;color:#918486;margin:0;line-height:1.6}.countdown-section{padding:65px 20px;text-align:center;background:#efe4dc}.countdown-section h2{margin-bottom:27px}.countdown-grid{display:flex;justify-content:center;gap:12px}.countdown-grid>div{width:88px;background:#fffefa;border:1px solid #e8dcd3;padding:12px 5px}.countdown-grid strong{display:block;font:500 27px var(--serif);color:var(--wine)}.countdown-grid span{display:block;text-transform:uppercase;letter-spacing:1px;font-size:7px;color:#98898a}.rsvp-section{padding:70px 20px 80px;background:#fffefa}.rsvp-inner{max-width:490px;margin:0 auto;text-align:center}.rsvp-inner h2{margin:0 0 9px}.rsvp-intro{font-size:11px;color:var(--muted);margin:0 0 25px}.rsvp-form{text-align:left;display:grid;gap:14px}.rsvp-form label{font-size:10px}.rsvp-form label span{font-weight:400;color:#a09392}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{padding:11px}.rsvp-form textarea{resize:vertical}.rsvp-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.invitation-footer{display:flex;justify-content:center;gap:5px;padding:24px 15px;background:#f8f3ee;color:#9c8f8b;font-size:9px}.invitation-footer a{color:var(--wine);font-weight:700}
/* sample page, legal, misc */
.sample-page-head{padding:47px clamp(22px,9vw,138px) 32px;background:#f7f0e9}.sample-page-head .under-link{margin-bottom:35px}.sample-page-head h1{font-size:44px;margin:0 0 10px}.sample-page-head>p:last-child{max-width:560px;color:var(--muted);font-size:12px}.sample-page-preview{padding:50px clamp(22px,9vw,138px) 85px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:50px;align-items:center}.sample-detail-card{width:100%;max-width:570px;min-height:580px;margin:0 auto}.sample-page-aside h2{font:500 34px/1.16 var(--serif);margin:0 0 15px}.sample-page-aside h2 em{color:var(--wine-soft)}.sample-page-aside>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.85;margin-bottom:23px}.sample-page-aside .under-link{display:flex;margin-top:17px}.legal-page,.contact-page{max-width:850px;margin:0 auto;padding:75px 24px 100px}.legal-page h1,.contact-page h1{font-size:49px;margin:0 0 8px}.legal-page h2{font:600 21px var(--serif);margin:34px 0 8px}.legal-page p:not(.eyebrow),.contact-page>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted)}.legal-page a{color:var(--wine);text-decoration:underline}.legal-updated{font-size:9px!important;color:#aa9d98!important;margin:0 0 28px}.contact-page{min-height:550px}.contact-page>p:not(.eyebrow){max-width:470px}.contact-email{display:inline-block;margin:18px 0;padding:15px 20px;background:#f5eee8;color:var(--wine);font-size:14px;font-weight:700}.not-found-panel{max-width:620px;margin:100px auto;padding:50px 24px;text-align:center}.not-found-mark{font-size:50px;color:var(--gold)}.not-found-panel h1{font:500 46px/1.1 var(--serif)}.not-found-panel h1 em{color:var(--wine-soft)}.not-found-panel p:not(.eyebrow){font-size:12px;color:var(--muted);margin:20px 0 25px}.response-pill{padding:4px 8px;font-size:9px;border-radius:3px;background:#f2eee9}.response-yes{background:#edf5ec;color:#43784d}.response-no{background:#fff0ed;color:#9e4f43}.response-maybe{background:#f8f0dc;color:#95733d}.admin-stats{padding:35px clamp(22px,9vw,138px) 0;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-stats article{padding:20px;background:#f8f3ee}.admin-stats span{display:block;font-size:10px;color:#94888a}.admin-stats strong{display:block;font:500 34px var(--serif);color:var(--wine);margin-top:5px}.rsvp-table-wrap{overflow:auto;border:1px solid #eee4dd;margin:0 clamp(22px,9vw,138px) 85px}.data-table{width:100%;border-collapse:collapse;font-size:10px;min-width:650px}.data-table th,.data-table td{padding:13px 15px;text-align:left;border-bottom:1px solid #eee7e1}.data-table th{background:#faf6f2;color:#8d8080;font-size:8px;letter-spacing:1px;text-transform:uppercase}.data-table td{color:#655b5e}.data-table td a{color:var(--wine);font-weight:700}.table-empty{text-align:center!important;color:#9a8d8d!important;padding:35px!important}.compact-head{padding-top:48px;padding-bottom:35px}.compact-head h1{font-size:35px}.admin-shortcut{border:1px solid #eee3dc}
/* installer */
.setup-body{background:radial-gradient(ellipse at 80% 10%,#f0e1d9,#fbf7f2 53%,#fffefa);min-height:100vh;display:grid;place-items:center;padding:30px}.setup-wrap{width:min(600px,100%)}.setup-brand{margin:0 auto 25px;display:flex;width:max-content}.setup-card{background:#fffefa;padding:38px 42px;border:1px solid #e8ddd6;box-shadow:0 22px 60px rgba(61,35,43,.09)}.setup-card h1{font:500 32px/1.15 var(--serif);margin:0 0 12px}.setup-copy,.setup-card>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8}.setup-form{display:grid;gap:14px;margin-top:25px}.setup-form h2{font:600 17px var(--serif);margin:10px 0 0}.setup-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.setup-form label{font-size:10px}.setup-form input{padding:11px}.setup-check{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#eaf4eb;color:#477e50;font-size:22px;margin-bottom:18px}.setup-hint{font-size:9px!important;color:#9a8d8d!important;margin-top:17px}.setup-footer{text-align:center;font-size:9px;color:#a39692;margin-top:20px}
/* small interaction polish */
@keyframes driftPetal{0%{transform:translateY(-8px) rotate(0deg);opacity:.3}50%{transform:translateY(8px) rotate(8deg);opacity:.8}100%{transform:translateY(-8px) rotate(0deg);opacity:.3}}
@keyframes softGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(224,192,145,0))}50%{filter:drop-shadow(0 0 8px rgba(224,192,145,.55))}}
@keyframes riseReveal{0%{opacity:.3;transform:translateY(9px)}100%{opacity:1;transform:translateY(0)}}
.motion-on .invitation-flourish,.motion-on .card-top-flourish,.motion-preview .card-top-flourish{animation:driftPetal 5s ease-in-out infinite}.motion-on .invitation-separator,.motion-preview .hero-card-divider{animation:softGlow 4s ease-in-out infinite}.motion-on .invitation-card-large h1,.motion-on .mini-names{animation:riseReveal .9s ease-out both}.motion-preview .hero-card-names{animation:riseReveal 1s ease-out both}.motion-on .sample-flourish,.motion-preview .sample-flourish{animation:softGlow 3.5s ease-in-out infinite}.motion-on .decor-left,.motion-on .decor-right{animation:driftPetal 7s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:1100px){.template-showcase{grid-template-columns:repeat(3,1fr)}.builder-layout{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.theme-picker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.site-header{height:72px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:71px;left:0;right:0;padding:18px 24px 22px;background:#fffefa;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(40,20,30,.06);flex-direction:column;align-items:stretch;gap:14px}.main-nav.open{display:flex}.main-nav>a{padding:5px 0}.main-nav .nav-cta{text-align:center;padding:12px}.nav-logout button{padding:5px 0}.hero-section{grid-template-columns:1fr;padding-top:54px;gap:25px}.hero-copy{max-width:700px}.hero-visual{height:420px}.hero-visual .orbit-one{width:370px;height:370px}.hero-visual .orbit-two{width:315px;height:315px}.template-showcase{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.privacy-section{grid-template-columns:65px 1fr}.privacy-section .under-link{grid-column:2}.auth-layout{grid-template-columns:1fr 370px;gap:5%}.auth-aside{padding:38px 30px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-layout{grid-template-columns:1fr}.preview-column{grid-row:1}.preview-sticky{position:relative;top:auto;display:grid;grid-template-columns:1fr 210px;column-gap:16px;align-items:center;text-align:left}.preview-title{grid-column:1/-1}.phone-frame{grid-column:2;grid-row:2/5}.preview-link-box{grid-column:1;grid-row:2}.preview-help{grid-column:1;grid-row:3}.sample-page-preview{grid-template-columns:1fr 240px;gap:25px}}
@media(max-width:620px){.site-header{padding:0 18px}.brand{font-size:19px}.hero-section{padding:45px 22px 55px}.hero-copy h1{font-size:49px}.hero-intro{font-size:12px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .btn{padding:13px 14px}.hero-visual{height:375px}.hero-invite-card{width:235px;height:325px}.hero-card-names{font-size:34px}.orbit-one{max-width:92vw;max-height:92vw}.floating-tag-top{left:-3px;top:25px}.floating-tag-bottom{right:-3px;bottom:31px}.trust-line{gap:11px;font-size:7px}.trust-line i{font-size:9px}.section-block{padding:65px 20px}.section-heading-row{display:block}.section-heading-row h2,.section-heading-centered h2,.how-section h2{font-size:36px}.section-side-note{margin-top:17px}.template-showcase{gap:12px}.sample-art{height:210px;padding:20px 10px}.sample-art strong{font-size:26px}.sample-info{padding:10px}.sample-info b{font-size:13px}.sample-info span:not(.sample-arrow){font-size:8px}.feature-grid{grid-template-columns:1fr 1fr;gap:25px 18px}.feature-item h3{font-size:16px}.feature-item p{font-size:10px}.how-section{padding:65px 22px}.steps-grid{grid-template-columns:1fr;gap:23px}.steps-grid article{padding-top:12px}.privacy-section{padding:48px 22px;grid-template-columns:1fr;gap:12px}.privacy-section .under-link{grid-column:1}.privacy-section h2{font-size:27px}.final-cta{padding:62px 20px}.final-cta h2{font-size:37px}.footer-top{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom{font-size:8px;gap:15px;flex-wrap:wrap}.auth-layout{margin:20px auto 50px;grid-template-columns:1fr;padding:0 18px;gap:12px}.auth-aside{min-height:0;padding:27px 23px}.auth-aside h1{font-size:39px}.auth-mini-card{display:none}.auth-panel{padding:25px 5px}.auth-panel h2{font-size:31px}.dashboard-head{padding:38px 21px;align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:38px}.dashboard-section{padding:35px 19px 60px}.dashboard-section-title{align-items:flex-start;flex-direction:column;gap:7px}.dashboard-grid{grid-template-columns:1fr}.dashboard-card-art{height:210px}.admin-shortcut{margin:0 19px 55px;padding:18px;align-items:flex-start;flex-direction:column;gap:12px}.builder-heading{padding:36px 18px 23px;display:block}.builder-heading h1{font-size:32px}.builder-heading>.under-link{margin-top:16px}.builder-layout{padding:0 15px 55px}.builder-panel{padding:18px 15px}.panel-heading{gap:10px}.panel-heading h2{font-size:18px}.theme-picker{grid-template-columns:repeat(3,1fr);gap:9px}.theme-thumb{height:80px}.theme-option-name b{font-size:8px}.form-grid{grid-template-columns:1fr}.form-grid .span-two{grid-column:auto}.event-row .form-grid{grid-template-columns:1fr 1fr}.builder-submit{align-items:flex-start;flex-direction:column}.preview-sticky{display:block;text-align:center}.preview-title{text-align:left}.phone-frame{margin:0 auto}.preview-link-box{text-align:left}.preview-column{order:-1}.sample-page-head{padding:38px 21px 20px}.sample-page-head h1{font-size:38px}.sample-page-preview{padding:30px 18px 60px;grid-template-columns:1fr}.sample-detail-card{min-height:500px;padding:50px 30px}.sample-page-aside{padding:0 10px}.legal-page,.contact-page{padding:52px 22px 70px}.legal-page h1,.contact-page h1{font-size:39px}.rsvp-table-wrap{margin:0 16px 55px}.admin-stats{padding:25px 18px 0;gap:8px}.admin-stats article{padding:14px 11px}.admin-stats span{font-size:8px}.admin-stats strong{font-size:27px}.invitation-topbar{padding:15px 16px}.invitation-topbar .brand{font-size:16px}.share-button{font-size:9px;padding:8px 10px}.invitation-hero{padding:35px 12px 45px}.invitation-card-large{min-height:530px;padding:47px 24px}.invitation-card-large h1,.invitation-card-large h2{font-size:49px}.invitation-decoration{font-size:48px}.decor-left{left:0}.decor-right{right:1%}.celebrations-section{padding:50px 17px}.celebrations-section h2,.countdown-section h2,.rsvp-inner h2{font-size:30px}.celebration-list{grid-template-columns:1fr}.countdown-section{padding:50px 13px}.countdown-grid{gap:6px}.countdown-grid>div{width:70px;padding:10px 4px}.countdown-grid strong{font-size:23px}.rsvp-section{padding:52px 19px}.setup-card{padding:28px 21px}.setup-card h1{font-size:27px}.setup-fields{grid-template-columns:1fr}}
.faq-section{padding:82px clamp(22px,10vw,145px);display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start;background:#fffdfa}.faq-heading h2{font:500 39px/1.12 var(--serif);margin:0 0 14px}.faq-heading h2 em{color:var(--wine-soft)}.faq-heading>p:last-child{max-width:300px;color:var(--muted);font-size:11px;line-height:1.8}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:18px 2px}.faq-list summary{cursor:pointer;list-style:none;position:relative;padding-right:30px;font:600 16px var(--serif);color:var(--ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:-3px;color:var(--gold);font:22px var(--sans)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:11px;color:var(--muted);line-height:1.85;margin:12px 25px 0 0}@media(max-width:850px){.faq-section{grid-template-columns:1fr;gap:25px}}@media(max-width:620px){.faq-section{padding:60px 21px}.faq-heading h2{font-size:34px}.faq-list summary{font-size:15px}}
