.wedding-body{--wine:#78343d;--ink:#392c28;--muted:#6f6056;--paper:#fcf7ed;--line:#dfd0b9;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans",sans-serif;margin:0;line-height:1.6;overflow-x:clip}.wedding-body *{box-sizing:border-box}.wedding-body [hidden]{display:none!important}.wedding-body h1,.wedding-body h2,.wedding-body h3{font-family:Georgia,"Noto Serif",serif;line-height:1.12;letter-spacing:-.035em;color:inherit}.wedding-body h1{font-size:clamp(2.5rem,5vw,5rem)}.wedding-body h2{font-size:clamp(2rem,3.8vw,3.6rem)}.wedding-body h3{font-size:1.6rem}.wedding-body a{color:var(--wine)}.wedding-body p{overflow-wrap:anywhere}.wedding-body .eyebrow{font:700 .72rem/1.7 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:inherit}.wedding-body .hint-text{font-size:.83rem;color:var(--muted)}.wedding-body .button{min-height:46px;border:1px solid #b7a08d;border-radius:6px;padding:12px 19px;background:transparent;color:var(--wine);font:600 .86rem/1.4 Arial,sans-serif;text-decoration:none;text-align:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:normal}.wedding-body .button.primary{background:var(--wine);border-color:var(--wine);color:#fff}.wedding-body .button:disabled{opacity:.5;cursor:wait}.wedding-body :focus-visible{outline:3px solid #bc6a1f;outline-offset:4px}.wedding-nav{max-width:1280px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.wedding-brand{font:italic 2rem Georgia,serif;text-decoration:none}.wedding-brand small{font:600 .6rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;display:block}.wedding-nav nav{display:flex;gap:25px;flex-wrap:wrap;justify-content:flex-end}.wedding-nav nav a{font-size:.84rem;text-decoration:none;min-height:44px;display:flex;align-items:center}.wedding-hero{max-width:1240px;margin:auto;padding:72px 40px 84px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.wedding-hero h1{font-size:clamp(3.8rem,6.5vw,6rem);margin:20px 0;line-height:.99}.wedding-hero h1 em{color:var(--wine);font-weight:400}.wedding-hero-copy>p:not(.eyebrow){max-width:500px;color:var(--muted)}.wedding-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center;margin-top:24px}.wedding-hero-art{position:relative;padding:20px 24px 25px;background:#eee1c9;border-radius:47% 47% 5px 5px;min-width:0}.hero-sample{border:1px solid #ad7157;border-radius:46% 46% 3px 3px;padding:70px 25px 30px;text-align:center;color:#7c3c3b;background:#fff4df;box-shadow:0 15px 40px #70332810}.hero-sample p{margin:10px auto;max-width:280px}.hero-sample .hero-names{font:3.8rem/1.05 Georgia,serif}.hero-names span{font-size:2rem;font-style:italic;color:#aa7444}.hero-flower{font-size:3rem;color:#b56326}.hero-date{font-size:.75rem;letter-spacing:.18em}.sample-label{font-size:.65rem;opacity:.7}.hero-garland{position:absolute;left:4px;top:5px;font-size:3.6rem;color:#d58c29;line-height:.85;transform:rotate(-8deg)}.hero-stamp{position:absolute;right:-20px;bottom:-18px;background:#78343d;color:#fff5df;border:5px solid var(--paper);border-radius:50%;padding:32px 20px;transform:rotate(8deg);font:italic .95rem/1.3 Georgia,serif;text-align:center}.wedding-strip{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;background:#eee3d2;border-block:1px solid var(--line);padding:22px;font-size:.8rem;letter-spacing:.07em}.wedding-strip span::before{content:'✦';margin-right:15px;color:#a06935}.wedding-section{max-width:1220px;margin:auto;padding:85px 40px}.wedding-section-heading{max-width:680px;margin-bottom:34px}.wedding-section-heading h2{margin:10px 0 22px}.wedding-section-heading p{color:var(--muted)}.catalog-controls,.wedding-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-controls{margin:30px 0;max-width:720px}.wedding-body label{display:flex;flex-direction:column;gap:6px;font-size:.84rem;font-weight:600;margin-bottom:16px}.wedding-body input,.wedding-body select,.wedding-body textarea{width:100%;max-width:100%;min-width:0;border:1px solid #c9b99e;border-radius:5px;background:#fffdf8;color:#392c28;padding:12px;font:400 16px/1.45 Arial,sans-serif;min-height:46px}.wedding-body textarea{resize:vertical}.wedding-body input[type=color]{padding:5px}.wedding-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.catalog-design{min-width:0}.catalog-design h3{font-size:1.4rem;margin-bottom:9px}.catalog-design>p{font-size:.87rem;color:var(--muted);min-height:45px}.catalog-thumb{position:relative;min-height:340px;padding:28px 20px;background:var(--card-bg);color:var(--card-ink);text-align:center;display:flex;flex-direction:column;justify-content:center;border:1px solid #c4ac8866;box-shadow:0 8px 25px #54301909}.catalog-thumb::before{content:'';position:absolute;inset:15px;border:1px solid currentColor;opacity:.45;border-radius:45% 45% 3px 3px;pointer-events:none}.catalog-thumb .mini-motif{font-size:3rem;margin:0}.catalog-thumb .mini-names{font:2.3rem/1.2 Georgia,serif;margin:16px 0}.mini-copy{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase}.catalog-thumb[data-design=royal]::before,.catalog-thumb[data-design=emerald]::before{border-radius:38% 38% 0 0;border-style:double;border-width:4px}.function-chips{display:flex;gap:12px;flex-wrap:wrap}.function-chips a{border:1px solid #b8a28a;padding:10px 15px;min-height:44px;border-radius:30px;text-decoration:none;font-size:.83rem;background:#ffffff60}.wedding-functions-section{border-block:1px solid var(--line);background:#f1e7d8;max-width:none;padding-inline:max(40px,calc((100vw - 1140px)/2))}.wedding-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.wedding-benefits article>span{font:italic 3rem Georgia,serif;color:#b5936e}.wedding-benefits p{font-size:.95rem;color:var(--muted)}.wedding-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.wedding-panel{background:#fffcf7;border:1px solid var(--line);padding:32px;border-radius:10px;min-width:0}.wedding-price{font:3rem Georgia,serif}.wedding-panel h2{font-size:2rem}.wedding-panel h3{margin-top:12px}.wedding-faq details{padding:22px 0;border-bottom:1px solid var(--line)}.wedding-faq summary{cursor:pointer;font-weight:600;min-height:44px}.wedding-faq p{max-width:750px;color:var(--muted)}.wedding-final{text-align:center;background:#f2e4d4;margin:30px auto 80px;border-radius:12px}.wedding-final>p{max-width:620px;margin:20px auto}.wedding-body .site-footer{border-top:1px solid var(--line);max-width:1220px;margin:auto;padding:30px 40px;color:var(--muted);display:flex;gap:20px;justify-content:space-between;font-size:.78rem}.wedding-body .site-footer nav{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.wedding-editor-main{max-width:1320px;margin:auto;padding:35px 30px}.wedding-editor-heading{max-width:740px}.wedding-editor-heading h1{font-size:3rem;margin:12px 0}.wedding-editor-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:start}.wedding-editor-main fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}.wedding-editor-main legend{font:1.5rem Georgia,serif;margin-bottom:20px}.wedding-editor-main fieldset p{font-size:.85rem;color:var(--muted)}.function-editor-row{border-top:1px solid var(--line);padding:22px 0}.function-editor-row h3{font-size:1.1rem}.function-editor-row .wedding-actions{margin:0 0 15px}.function-editor-row .button{padding:8px 12px}.wedding-preview{min-width:0;position:sticky;top:25px}.wedding-card{background:var(--card-bg,#fff2cb);color:var(--card-ink,#a34119);padding:28px;margin:25px auto;max-width:800px;overflow-wrap:anywhere;box-shadow:0 12px 40px #39231512}.wedding-card-inner{border:1px solid currentColor;border-radius:180px 180px 5px 5px;padding:75px 32px 35px;text-align:center}.wedding-card h1{font-size:clamp(2.4rem,4vw,4.4rem);margin:15px 0 28px}.wedding-card h1 span{display:block;font-size:.6em;font-style:italic;margin:15px 0}.wedding-motif{font-size:4rem;line-height:1.4}.wedding-family{font-size:.9rem;max-width:500px;margin:15px auto;white-space:pre-line}.wedding-message{font:1.1rem/1.7 Georgia,serif;max-width:530px;margin:25px auto;white-space:pre-line}.wedding-function{padding:28px 0;border-top:1px solid currentColor;break-inside:avoid;max-width:530px;margin:auto}.wedding-function h2{font-size:1.7rem;margin:12px 0}.wedding-function p{margin:8px auto;white-space:pre-line}.wedding-card .wedding-actions .button{color:inherit;border-color:currentColor}.wedding-photo{max-width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:45% 45% 3px 3px;margin:20px auto;display:block}.wedding-closing{font-style:italic}.wedding-notice{min-height:28px;font-size:.9rem}.wedding-notice.is-error{color:#a02324}#savedInvitation,#weddingResponses{margin-top:30px}.wedding-response{padding:20px 0;border-top:1px solid var(--line)}.wedding-response h3{font-size:1.2rem}.wedding-body #main>.wedding-panel{max-width:800px;margin:30px auto}.wedding-check{flex-direction:row!important;align-items:center;font-weight:400!important}.wedding-check input{width:22px!important;min-height:22px;flex:0 0 22px}.wedding-panel fieldset{border:1px solid var(--line);padding:18px}.wedding-panel legend{padding:0 8px}.wedding-share-link{word-break:break-all}.export-downloads a{display:block;min-height:44px}.wedding-body .skip-link{position:absolute;left:10px;top:-100px}.wedding-body .skip-link:focus{top:10px}
@media(max-width:1000px){.wedding-hero{gap:35px}.wedding-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.wedding-editor-layout{gap:20px}.wedding-card{padding:16px}.wedding-card-inner{padding:60px 20px 25px}.wedding-panel{padding:24px}.hero-stamp{right:-8px}.wedding-nav{padding-inline:25px}}
@media(max-width:760px){.wedding-hero{grid-template-columns:1fr;padding:40px 25px 60px;gap:40px}.wedding-hero-art{max-width:420px;width:100%;margin:auto}.wedding-hero h1{font-size:4.3rem}.wedding-editor-layout{grid-template-columns:1fr}.wedding-preview{position:static}.wedding-benefits{grid-template-columns:1fr;gap:20px}.wedding-benefits article{border-top:1px solid var(--line);padding-top:20px}}
@media(max-width:640px){.wedding-nav{padding:18px 20px;align-items:flex-start;gap:15px}.wedding-nav nav{gap:8px 14px;max-width:240px}.wedding-nav nav a{font-size:.76rem}.wedding-hero h1{font-size:3.6rem}.wedding-section{padding:55px 22px}.wedding-catalog,.wedding-price-grid,.wedding-fields,.catalog-controls{grid-template-columns:1fr}.wedding-catalog{gap:32px}.catalog-thumb{min-height:380px}.catalog-design>p{min-height:0}.wedding-strip{gap:16px 25px;font-size:.7rem;justify-content:flex-start}.wedding-editor-main{padding:25px 16px}.wedding-editor-heading h1{font-size:2.5rem}.wedding-panel{padding:24px 18px}.wedding-card{padding:16px}.wedding-card-inner{padding:60px 18px 20px}.wedding-card h1{font-size:2.6rem}.wedding-final{border-radius:0;margin-bottom:40px}.wedding-body .site-footer{padding:25px 22px;flex-direction:column}.wedding-body #main>.wedding-panel{margin:20px 16px}.wedding-actions{justify-content:center;flex-direction:column;align-items:stretch}.wedding-actions>*{width:100%;justify-content:center}.wedding-body .button{width:100%}}
@media(prefers-reduced-motion:reduce){.wedding-body *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.wedding-body{background:#fff}.wedding-nav,.site-footer,.no-print,.wedding-editor-main{display:none!important}.wedding-body #main{max-width:none;margin:0;padding:0}.wedding-card{box-shadow:none;max-width:none;margin:0;padding:10px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.wedding-card-inner{border-radius:0;padding:25px}.wedding-function{break-inside:avoid}.wedding-card h1{font-size:40px}.wedding-card h2{font-size:24px}.wedding-program{display:block}.wedding-card .wedding-photo{max-height:240px}a{color:inherit}}

.mobile-preview-link{display:none}
@media(max-width:760px){.mobile-preview-link{display:flex}}
