/* Atelier 2026 — 15 complete identities. Scoped so existing weddings retain their designs. */
.wedding-body.atelier-theme[class] .wedding-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;min-height:0;padding:64px 6vw;align-items:center;background:var(--theme-paper);overflow:hidden}
.wedding-body.atelier-theme[class] .w-cover-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:560px;border-radius:0;object-fit:cover;object-position:var(--cover-position,50% 0%);margin:0;filter:none}
.wedding-body.atelier-theme[class] .wedding-hero-content{grid-column:1;grid-row:1;width:100%;max-width:none;padding:24px 0;margin:0;background:none;outline:0;border:0;border-radius:0;text-align:left}
.wedding-body.atelier-theme[class] .wedding-hero-content h1{font-size:clamp(46px,6.1vw,90px);line-height:1.07;margin:28px 0;letter-spacing:-.035em;color:var(--theme-ink);text-shadow:none}
.wedding-body.atelier-theme[class] .wedding-hero-content h1>span{display:block;max-width:100%}
.wedding-body.atelier-theme[class] .wedding-hero-content h1 em{display:block;line-height:1.2;font-size:.5em;color:var(--theme-accent)}
.atelier-theme .w-hero-caption{display:none}.atelier-theme .w-photo-frame{padding:0;border:0;box-shadow:none}.atelier-theme .w-photo-frame:before{display:none}
.atelier-theme .w-party-photo{border:0;padding:0}.atelier-theme .rsvp-form{outline:none}
.atelier-theme .w-countdown{border-block:1px solid var(--w-line)}
.atelier-theme :is(.w-couple-copy,.w-venue-copy,.rsvp-section>div){min-width:0}
.atelier-theme :is(.w-couple-copy p,.w-venue-copy p,.rsvp-section p){text-wrap:pretty}
.atelier-theme .wedding-section h2{text-wrap:balance}
.atelier-theme .w-couple .w-photo-frame img{object-position:var(--cover-position,50% 0%)}
.atelier-theme .wedding-footer{background:var(--theme-paper);color:var(--theme-ink);border-color:var(--w-line)}
.atelier-theme .wedding-footer p{color:var(--theme-ink)}
.atelier-theme .w-finale,.atelier-theme .personalized-finale{border-top:1px solid var(--w-line)}
.atelier-theme .w-chapter-grid article,.atelier-theme .w-schedule-grid article{min-width:0}
/* 01. ALABASTRO: architectural masthead, a horizontal photograph, precise ruled grids. */
.wedding-body.design-alabastro[class] .wedding-hero{grid-template-columns:1fr;gap:25px;padding:40px 5vw 50px}
.wedding-body.design-alabastro[class] .wedding-hero-content{grid-column:1;grid-row:1;text-align:center;padding:0}
.wedding-body.design-alabastro[class] .wedding-hero-content h1{display:flex;align-items:center;justify-content:center;gap:.3em;font-size:clamp(40px,6vw,88px)}
.wedding-body.design-alabastro[class] .w-cover-photo{grid-column:1;grid-row:2;height:clamp(320px,37vw,560px);border-radius:3px}
.design-alabastro .w-countdown{text-align:left;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:40px 6vw}.design-alabastro .w-countdown-grid{grid-column:2;grid-row:1/3;width:100%}
.design-alabastro .w-couple{grid-template-columns:1.15fr 1fr;gap:8vw}.design-alabastro .w-couple-copy blockquote{border-top:1px solid var(--theme-accent);padding-top:22px;font-style:normal}
.design-alabastro :is(.w-chapter-grid,.w-schedule-grid){gap:0}.design-alabastro :is(.w-chapter-grid,.w-schedule-grid) article{padding:24px;border:1px solid var(--w-line);text-align:left}
.design-alabastro .w-ceremony{grid-template-columns:1.15fr 1fr}.design-alabastro .gift-card{border:0;border-bottom:2px solid var(--theme-ink)}
.design-alabastro .rsvp-form{border:0;border-left:2px solid var(--theme-ink)}.design-alabastro .mural-grid blockquote{border:0;border-top:1px solid var(--theme-ink)}
/* 02. MONET: a garden portrait floating in softly painted paper. */
.wedding-body.design-monet[class] .wedding-hero{background:radial-gradient(ellipse at 5% 80%,var(--w-panel),transparent 55%),var(--theme-paper);grid-template-columns:1.1fr 1fr}
.wedding-body.design-monet[class] .w-cover-photo{grid-column:1;border-radius:46% 46% 3px 3px;outline:1px solid var(--theme-accent);outline-offset:13px}
.wedding-body.design-monet[class] .wedding-hero-content{grid-column:2;text-align:center}
.design-monet .w-countdown{border:0;border-radius:50% 50% 0 0/35% 35% 0 0}.design-monet .w-countdown-grid>div{border:0}
.design-monet .w-couple .w-photo-frame img{border-radius:3px 120px 3px 120px}.design-monet .w-couple-copy h2{font-style:italic}
.design-monet .w-chapter-grid{grid-template-columns:1fr 1fr;gap:40px}.design-monet .w-chapter-grid article{background:var(--theme-paper);border:0;border-radius:50px 0;padding:28px}
.design-monet .w-party-photo img{border-radius:50% 50% 0 0/20% 20% 0 0}.design-monet .w-venue-photo{border-radius:0 130px 0 0;overflow:hidden}
.design-monet .gift-card{border-radius:32px 32px 0 0;border:0}.design-monet .rsvp-form{border-radius:60px 0 60px 0;padding:40px}
.design-monet .mural-grid blockquote{border:0;border-radius:0 45px}.design-monet .w-finale{background:radial-gradient(ellipse at bottom,var(--w-panel),var(--theme-paper))}
/* 03. PALAZZO: engraved salon stationery and restrained gilded frames. */
.wedding-body.design-palazzo[class] .wedding-hero{gap:5vw;padding:55px 7vw;background:repeating-linear-gradient(90deg,transparent 0 70px,var(--w-line) 70px 71px),var(--theme-paper)}
.wedding-body.design-palazzo[class] .wedding-hero-content{padding:45px 25px;text-align:center;background:var(--theme-paper);border:4px double var(--theme-accent);outline:1px solid var(--theme-accent);outline-offset:9px}
.wedding-body.design-palazzo[class] .w-cover-photo{border:12px solid var(--theme-paper);outline:1px solid var(--theme-accent);border-radius:180px 180px 0 0}
.design-palazzo .w-countdown{border-block:7px double var(--theme-accent)}.design-palazzo .w-countdown-grid strong{font-style:italic}
.design-palazzo .w-photo-frame{padding:15px;border:5px double var(--theme-accent)}.design-palazzo .w-photo-frame img{height:540px}
.design-palazzo .w-chapter-grid article{border:4px double var(--w-line);padding:25px 18px}.design-palazzo .w-party-photo{padding:15px;border:4px double var(--theme-accent)}
.design-palazzo .w-ceremony{border-block:7px double var(--theme-accent)}.design-palazzo .gift-card{border:0;outline:1px solid var(--w-line);outline-offset:5px}
.design-palazzo .rsvp-form{border:5px double var(--theme-accent);padding:40px}.design-palazzo .mural-grid blockquote{border:4px double var(--w-line)}.design-palazzo .w-finale{border-top:7px double var(--theme-accent)}
/* 04. ÉBANO: gallery-scale image, reversed columns and fine copper rules. */
.wedding-body.design-ebano[class] .wedding-hero{grid-template-columns:57% minmax(0,1fr);padding:0;gap:0}
.wedding-body.design-ebano[class] .w-cover-photo{grid-column:1;height:690px}
.wedding-body.design-ebano[class] .wedding-hero-content{grid-column:2;padding:40px 4vw}
.wedding-body.design-ebano[class] .wedding-hero-content h1{font-size:clamp(44px,5.7vw,82px);font-weight:300}
.design-ebano .w-countdown{background:var(--theme-paper);border-bottom:1px solid var(--theme-accent)}.design-ebano .w-countdown-grid strong{font-weight:300}
.design-ebano .w-couple-copy{order:-1}.design-ebano .w-couple-copy blockquote{font-style:normal;border-left:2px solid var(--theme-accent);padding-left:22px}
.design-ebano .w-chapter-grid{grid-template-columns:1fr 1fr}.design-ebano .w-chapter-grid article{text-align:left;padding:28px;border:1px solid var(--w-line)}
.design-ebano .w-party-photo img{filter:grayscale(.7)}.design-ebano .w-party-names article{border-bottom:1px solid var(--theme-accent);padding-bottom:20px}
.design-ebano .w-venue-photo{order:2}.design-ebano .gift-card{border:0}.design-ebano .gift-content{border-top:2px solid var(--theme-accent)}
.design-ebano .rsvp-form{border:1px solid var(--theme-accent);background:var(--theme-paper)}.design-ebano .mural-grid blockquote{border:0;background:var(--w-panel)}
/* 05. PÉROLA: beaded ovals, cool porcelain and balanced keepsake cards. */
.wedding-body.design-perola[class] .wedding-hero{grid-template-columns:1fr 1fr;max-width:1400px;margin:auto}
.wedding-body.design-perola[class] .w-cover-photo{grid-column:1;border-radius:50%;height:570px;max-width:440px;justify-self:center;outline:3px dotted var(--theme-accent);outline-offset:13px}
.wedding-body.design-perola[class] .wedding-hero-content{grid-column:2;text-align:center}
.design-perola .w-countdown-grid>div{border:1px solid var(--w-line);border-radius:50%;padding:25px 8px;margin:0 7px;aspect-ratio:1}
.design-perola .w-couple .w-photo-frame img{border-radius:50%;outline:1px solid var(--theme-accent);outline-offset:12px}
.design-perola .w-chapter-grid article{border-top:3px dotted var(--theme-accent)}.design-perola .w-party-photo img{border-radius:200px 200px 0 0}
.design-perola .w-venue-copy{border:3px dotted var(--theme-accent);margin:40px;padding:35px}.design-perola .gift-image{border-radius:50%;margin:18px;aspect-ratio:1}
.design-perola .gift-card{border:0;background:none}.design-perola .gift-content{text-align:center}.design-perola .rsvp-form{border-radius:35px;border:3px dotted var(--theme-accent)}
.design-perola .mural-grid blockquote{border-radius:70px 70px 8px 8px;text-align:center}.design-perola .w-finale{border-top:3px dotted var(--theme-accent)}
/* 06. CAFÉ & SEDA: a warm editorial folio with bold vertical bands. */
.wedding-body.design-cafe-seda[class] .wedding-hero{grid-template-columns:1.1fr 1fr;background:var(--w-panel);gap:0;padding:45px 5vw}
.wedding-body.design-cafe-seda[class] .w-cover-photo{grid-column:1;height:610px}
.wedding-body.design-cafe-seda[class] .wedding-hero-content{grid-column:2;background:var(--theme-paper);padding:40px 4vw;border-left:10px solid var(--theme-accent)}
.design-cafe-seda .w-countdown{background:var(--theme-paper);border-block:1px solid var(--theme-accent)}.design-cafe-seda .w-countdown h2{font-style:italic}
.design-cafe-seda .w-photo-frame{border-bottom:18px solid var(--theme-accent)}.design-cafe-seda .w-chapter-grid{grid-template-columns:1fr 1fr}
.design-cafe-seda .w-chapter-grid article{padding:20px 30px;text-align:left;border-left:2px solid var(--theme-accent);border-top:0}
.design-cafe-seda .w-party-names h3{font-style:italic}.design-cafe-seda .w-ceremony{margin:40px 5vw;grid-template-columns:1fr 1.1fr}
.design-cafe-seda .gift-card{border:0}.design-cafe-seda .gift-content{border-left:5px solid var(--theme-accent)}.design-cafe-seda .rsvp-form{border:0;box-shadow:14px 14px 0 var(--w-line)}
.design-cafe-seda .mural-grid blockquote{border:0;border-left:4px solid var(--theme-accent)}.design-cafe-seda .w-finale{background:var(--theme-ink);color:var(--theme-paper)}.design-cafe-seda .w-finale :is(h2,p,span){color:inherit}
/* 07. MARÉ SERENA: a panoramic horizon and gently flowing section silhouettes. */
.wedding-body.design-mare-serena[class] .wedding-hero{grid-template-columns:1fr;gap:28px;padding:32px 0 0}
.wedding-body.design-mare-serena[class] .wedding-hero-content{grid-column:1;grid-row:1;text-align:center;padding:10px 6vw}
.wedding-body.design-mare-serena[class] .wedding-hero-content h1{display:flex;justify-content:center;align-items:center;gap:.3em;font-size:clamp(45px,6vw,86px)}
.wedding-body.design-mare-serena[class] .w-cover-photo{grid-column:1;grid-row:2;height:clamp(320px,38vw,580px);border-radius:0 0 50% 50%/0 0 12% 12%}
.design-mare-serena .w-countdown{background:none;border:0}.design-mare-serena .w-countdown-grid{border-block:1px solid var(--theme-accent);padding:25px 0}
.design-mare-serena .w-couple .w-photo-frame img{border-radius:50% 50% 0 0/18% 18% 0 0}.design-mare-serena .w-chapter-grid article{border-top:0;border-bottom:3px double var(--theme-accent);padding-bottom:25px}
.design-mare-serena .w-party-photo img{border-radius:0 100px 0 100px}.design-mare-serena .w-venue-photo{order:2}.design-mare-serena .w-venue-copy{padding-block:65px}
.design-mare-serena .gift-card{border:0;border-radius:0 0 28px 28px}.design-mare-serena .rsvp-form{border:0;border-top:5px double var(--theme-accent)}
.design-mare-serena .mural-grid blockquote{border:0;border-radius:0 40px}.design-mare-serena .w-finale{border-radius:50% 50% 0 0/20% 20% 0 0;border:0}
/* 08. PROMESSA AZUL: a folded invitation, ribbon rules and a letter-like rhythm. */
.wedding-body.design-promessa-azul[class] .wedding-hero{margin:35px auto;width:calc(100% - 70px);border:1px solid var(--theme-accent);padding:45px;gap:45px;background:linear-gradient(90deg,var(--w-panel) 0 18px,transparent 18px calc(100% - 18px),var(--w-panel) 0),var(--theme-paper)}
.wedding-body.design-promessa-azul[class] .wedding-hero-content{text-align:center;padding:25px;border-block:4px double var(--theme-accent)}
.wedding-body.design-promessa-azul[class] .w-cover-photo{height:540px;border-radius:4px 4px 45% 45%;border:8px solid var(--w-panel)}
.design-promessa-azul .w-countdown{background:var(--theme-paper)}.design-promessa-azul .w-countdown-grid>div{border-top:4px solid var(--w-panel);padding-top:20px}
.design-promessa-azul .w-photo-frame{padding:16px;background:var(--w-panel);transform:rotate(-2deg)}.design-promessa-azul .w-chapter-grid{grid-template-columns:1fr 1fr}
.design-promessa-azul .w-chapter-grid article{border:1px solid var(--theme-accent);padding:30px;background:var(--theme-paper)}.design-promessa-azul .w-party-photo{border-block:8px solid var(--w-panel);padding:12px 0}
.design-promessa-azul .w-venue-copy h2{font-style:italic}.design-promessa-azul .gift-card{border-bottom:5px solid var(--theme-accent)}.design-promessa-azul .rsvp-form{border:1px solid var(--theme-accent);border-top:15px solid var(--w-panel)}
.design-promessa-azul .mural-grid blockquote{border:0;border-block:1px solid var(--theme-accent)}.design-promessa-azul .w-finale{border-top:8px solid var(--theme-accent)}
/* 09. DÁLIA: petal silhouettes, plum headings and peach paper cut-outs. */
.wedding-body.design-dalia[class] .wedding-hero{background:linear-gradient(90deg,var(--theme-paper) 0 65%,var(--w-panel) 65%);padding:65px 6vw}
.wedding-body.design-dalia[class] .w-cover-photo{border-radius:120px 8px 120px 8px;height:580px}
.wedding-body.design-dalia[class] .wedding-hero-content{padding:38px 25px;border-left:3px solid var(--theme-accent)}
.design-dalia .w-countdown{margin:25px 5vw;border-radius:80px 8px;border:0}.design-dalia .w-countdown-grid>div{border:0}
.design-dalia .w-couple-copy{order:-1}.design-dalia .w-photo-frame img{border-radius:8px 100px 8px 100px}.design-dalia .w-couple-copy blockquote{font-size:34px}
.design-dalia .w-chapter-grid{grid-template-columns:1fr 1fr}.design-dalia .w-chapter-grid article{border:0;border-radius:60px 8px;padding:32px;background:var(--theme-paper)}
.design-dalia .w-party-photo img{border-radius:80px 8px}.design-dalia .w-venue-photo{border-radius:0 100px;overflow:hidden}
.design-dalia .gift-card{border-radius:45px 4px 45px 4px;border:0}.design-dalia .rsvp-form{border-radius:4px 65px 4px 65px;border:0}
.design-dalia .mural-grid blockquote{border:0;border-radius:45px 4px}.design-dalia .w-finale{border-radius:100px 0 0 0}
/* 10. TANGERINA: confident colour blocks, rounded cut-paper and playful alignment. */
.wedding-body.design-tangerina[class] .wedding-hero{grid-template-columns:1.05fr 1fr;gap:5vw;background:var(--w-panel);padding:60px 6vw}
.wedding-body.design-tangerina[class] .w-cover-photo{grid-column:1;border-radius:24px;transform:rotate(-2deg);height:540px;border:10px solid var(--theme-paper)}
.wedding-body.design-tangerina[class] .wedding-hero-content{grid-column:2;padding:30px 0}.wedding-body.design-tangerina[class] .wedding-hero-content h1{font-size:clamp(45px,5.3vw,78px)}
.design-tangerina .w-countdown{margin:32px 4vw;border:2px solid var(--theme-ink);border-radius:24px;background:var(--theme-paper)}.design-tangerina .w-countdown-grid>div{border:0}
.design-tangerina .w-photo-frame{padding:15px;background:var(--w-panel);border-radius:24px}.design-tangerina .w-photo-frame img{border-radius:14px}.design-tangerina .w-couple-copy blockquote{font-style:normal}
.design-tangerina .w-chapter-grid article{border:0;padding:24px 18px;border-radius:18px;background:var(--theme-paper)}.design-tangerina .w-chapter-grid article:nth-child(even){transform:translateY(18px)}
.design-tangerina .w-party-photo img{border-radius:24px}.design-tangerina .w-party-names article{background:var(--w-panel);border-radius:20px;padding:24px}
.design-tangerina .w-ceremony{margin:35px 4vw;border-radius:28px;overflow:hidden}.design-tangerina .gift-card{border-radius:22px;border:0}.design-tangerina .rsvp-form{border:2px solid var(--theme-ink);border-radius:22px;box-shadow:8px 8px 0 var(--w-panel)}
.design-tangerina .mural-grid blockquote{border:0;border-radius:24px}.design-tangerina .w-finale{border-top:12px solid var(--theme-accent)}
/* 11. JASMIM: a compact portrait above the invitation, quiet botanical symmetry. */
.wedding-body.design-jasmim[class] .wedding-hero{grid-template-columns:1fr;gap:20px;padding:45px 6vw;background:radial-gradient(ellipse at 50% 25%,var(--w-panel),transparent 65%),var(--theme-paper)}
.wedding-body.design-jasmim[class] .w-cover-photo{grid-column:1;grid-row:1;width:420px;max-width:100%;height:360px;justify-self:center;border-radius:48% 48% 0 0;border:10px solid var(--theme-paper);outline:1px solid var(--theme-accent)}
.wedding-body.design-jasmim[class] .wedding-hero-content{grid-column:1;grid-row:2;text-align:center;padding:0}
.wedding-body.design-jasmim[class] .wedding-hero-content h1{display:flex;align-items:center;justify-content:center;gap:.3em;font-size:clamp(44px,5.5vw,76px);margin:16px 0}
.design-jasmim .w-countdown{background:var(--theme-paper);border-block:1px solid var(--theme-accent)}.design-jasmim .w-countdown-grid strong{font-style:italic}
.design-jasmim .w-couple{gap:10vw}.design-jasmim .w-couple-copy{order:-1}.design-jasmim .w-photo-frame img{border-radius:180px 180px 0 0}
.design-jasmim .w-chapter-grid article{border:0;border-left:1px solid var(--theme-accent);padding:15px 22px;text-align:left}.design-jasmim .w-party-photo img{border-radius:0}
.design-jasmim .w-ceremony{grid-template-columns:1fr 1.15fr}.design-jasmim .gift-card{border:0;background:none}.design-jasmim .gift-content{padding-inline:8px;text-align:center}
.design-jasmim .rsvp-form{border:1px solid var(--theme-accent);background:var(--theme-paper);padding:40px}.design-jasmim .mural-grid blockquote{border:0;border-bottom:1px solid var(--theme-accent)}
/* 12. OBRA DE ARTE: a typographic gallery with asymmetric frames and catalogue labels. */
.wedding-body.design-obra-de-arte[class] .wedding-hero{grid-template-columns:42% minmax(0,1fr);gap:4vw;padding:50px 5vw;align-items:end;border-bottom:12px solid var(--theme-ink)}
.wedding-body.design-obra-de-arte[class] .w-cover-photo{height:530px;border-top:28px solid var(--w-panel);border-right:28px solid var(--w-panel)}
.wedding-body.design-obra-de-arte[class] .wedding-hero-content{padding-bottom:50px}.wedding-body.design-obra-de-arte[class] .wedding-hero-content h1{font-size:clamp(50px,6.4vw,94px)}
.design-obra-de-arte .w-countdown{text-align:left;padding-inline:6vw;background:var(--theme-paper)}.design-obra-de-arte .w-countdown-grid{margin-left:0;max-width:760px}.design-obra-de-arte .w-countdown-grid>div{padding-left:0}
.design-obra-de-arte .w-photo-frame{border-left:30px solid var(--w-panel);border-bottom:30px solid var(--w-panel)}.design-obra-de-arte .w-photo-frame figcaption{text-align:left;padding-left:12px}
.design-obra-de-arte .w-chapter-grid{grid-template-columns:1fr}.design-obra-de-arte .w-chapter-grid article{display:grid;grid-template-columns:140px 1fr 1fr;gap:25px;text-align:left;align-items:start}
.design-obra-de-arte .w-party-names{text-align:left}.design-obra-de-arte .w-venue-photo{order:2;border-left:20px solid var(--theme-ink)}
.design-obra-de-arte .gift-card{border:0}.design-obra-de-arte .gift-content{padding-inline:0;border-top:1px solid var(--theme-ink)}.design-obra-de-arte .rsvp-form{border:0;border-top:12px solid var(--theme-ink)}
.design-obra-de-arte .mural-grid blockquote{border:0;border-left:5px solid var(--theme-ink)}.design-obra-de-arte .w-finale{text-align:left;border-top:12px solid var(--theme-ink)}
/* 13. SAVANA: a sun-shaped landscape, textured paper tones and organic space. */
.wedding-body.design-savana[class] .wedding-hero{grid-template-columns:1.15fr 1fr;padding:65px 5vw;background:radial-gradient(ellipse at 0% 100%,var(--w-panel),transparent 65%),var(--theme-paper)}
.wedding-body.design-savana[class] .w-cover-photo{grid-column:1;border-radius:50% 50% 38% 38%;height:570px}
.wedding-body.design-savana[class] .wedding-hero-content{grid-column:2;padding-left:30px;border-left:1px solid var(--theme-accent)}
.design-savana .w-countdown{border-radius:45% 45% 0 0/30% 30% 0 0;border:0}.design-savana .w-countdown-grid>div{border:0}
.design-savana .w-photo-frame img{border-radius:50% 50% 3px 3px}.design-savana .w-couple-copy blockquote{font-style:normal;border-top:1px solid var(--theme-accent);padding-top:25px}
.design-savana .w-chapter-grid{grid-template-columns:1fr 1fr}.design-savana .w-chapter-grid article{padding:30px;border:0;border-bottom:2px solid var(--theme-accent);text-align:left}
.design-savana .w-party-photo img{border-radius:150px 0}.design-savana .w-venue-photo{border-radius:0 0 180px 0;overflow:hidden}
.design-savana .gift-card{border:0;border-radius:80px 80px 4px 4px}.design-savana .rsvp-form{border:0;border-radius:100px 100px 4px 4px;padding-top:60px}
.design-savana .mural-grid blockquote{border:0;border-radius:0 45px}.design-savana .w-finale{border-radius:45% 45% 0 0/20% 20% 0 0;border:0}
/* 14. CONSTELAÇÃO: silver orbits and a glowing midnight invitation. */
.wedding-body.design-constelacao[class] .wedding-hero{background:radial-gradient(circle at 14% 16%,var(--theme-accent) 0 1px,transparent 2px),radial-gradient(circle at 40% 85%,var(--theme-accent) 0 1px,transparent 2px),radial-gradient(ellipse at 75% 55%,var(--w-panel),transparent 70%),var(--theme-paper);padding:70px 6vw}
.wedding-body.design-constelacao[class] .w-cover-photo{border-radius:50%;height:490px;outline:1px solid var(--theme-accent);outline-offset:18px}
.wedding-body.design-constelacao[class] .wedding-hero-content{text-align:center;padding:25px}
.design-constelacao .w-countdown{background:var(--theme-paper);border-block:1px solid var(--theme-accent)}.design-constelacao .w-countdown-grid>div{border:0;border-bottom:1px solid var(--theme-accent);margin:0 12px;padding-bottom:20px}
.design-constelacao .w-photo-frame{padding:20px;border:1px solid var(--theme-accent);border-radius:50% 50% 4px 4px}.design-constelacao .w-photo-frame img{border-radius:50% 50% 0 0}
.design-constelacao .w-chapter-grid article{border:1px solid var(--w-line);border-radius:100px 100px 4px 4px;padding:35px 20px}.design-constelacao .w-party-photo img{border-radius:50% 50% 0 0/14% 14% 0 0}
.design-constelacao .w-venue-photo{order:2}.design-constelacao .gift-card{border:1px solid var(--theme-accent);border-radius:18px}.design-constelacao .rsvp-form{border-radius:35px;border:1px solid var(--theme-accent)}
.design-constelacao .mural-grid blockquote{border:0;border-top:1px solid var(--theme-accent)}.design-constelacao .w-finale{background:radial-gradient(ellipse at bottom,var(--w-panel),var(--theme-paper));border-top:1px solid var(--theme-accent)}
/* 15. VINHEDO: a landscape invitation, wine-coloured letterpress and linen borders. */
.wedding-body.design-vinhedo[class] .wedding-hero{grid-template-columns:1fr;gap:0;padding:0}
.wedding-body.design-vinhedo[class] .w-cover-photo{grid-column:1;grid-row:1;height:clamp(340px,39vw,590px)}
.wedding-body.design-vinhedo[class] .wedding-hero-content{grid-column:1;grid-row:2;text-align:center;padding:35px 6vw;border-block:6px double var(--theme-accent)}
.wedding-body.design-vinhedo[class] .wedding-hero-content h1{display:flex;align-items:center;justify-content:center;gap:.3em;font-size:clamp(42px,5.6vw,80px);margin:18px 0}
.design-vinhedo .w-countdown{border:0;background:var(--theme-paper)}.design-vinhedo .w-countdown-grid{border:1px solid var(--theme-accent);padding:22px}
.design-vinhedo .w-photo-frame{padding:18px;background:var(--w-panel)}.design-vinhedo .w-photo-frame img{height:520px}.design-vinhedo .w-couple-copy h2{font-style:italic}
.design-vinhedo .w-chapter-grid{grid-template-columns:1fr 1fr}.design-vinhedo .w-chapter-grid article{padding:25px;border-block:3px double var(--theme-accent);text-align:left}
.design-vinhedo .w-party-photo{padding:18px;background:var(--w-panel)}.design-vinhedo .w-party-names h3{font-style:italic}.design-vinhedo .w-ceremony{border-block:6px double var(--theme-accent)}
.design-vinhedo .gift-card{border:0;border-bottom:4px solid var(--theme-accent)}.design-vinhedo .rsvp-form{border:4px double var(--theme-accent);padding:42px}.design-vinhedo .mural-grid blockquote{border:1px solid var(--theme-accent);background:var(--theme-paper)}
.design-vinhedo .w-finale{border-top:6px double var(--theme-accent)}
/* Adapt the composition, never cover names with photos or clip the portrait's top. */
@media(max-width:1050px){
 .wedding-body.atelier-theme[class] .wedding-hero{gap:4vw;padding-inline:4vw}.wedding-body.atelier-theme[class] .wedding-hero-content h1{font-size:58px}
 .wedding-body.atelier-theme[class] .w-cover-photo{height:500px}.wedding-body.design-ebano[class] .wedding-hero{padding:0;gap:0}.wedding-body.design-ebano[class] .w-cover-photo{height:620px}
 .design-perola .w-venue-copy{margin:24px;padding:25px}.atelier-theme .w-couple{gap:5vw}
}
@media(max-width:760px){
 .wedding-body.atelier-theme[class] .wedding-hero{display:flex;flex-direction:column;gap:0;width:100%;margin:0;padding:24px 20px 35px;min-height:0;max-width:none;border:0;background:var(--theme-paper)}
 .wedding-body.atelier-theme[class] .w-cover-photo{position:relative;inset:auto;order:0;width:100%;max-width:100%;height:auto;aspect-ratio:1.1;object-position:var(--cover-position-mobile,var(--cover-position,50% 0%));margin:0;transform:none;border-width:5px;outline-offset:7px;flex-shrink:0}
 .wedding-body.atelier-theme[class] .wedding-hero-content{order:1;width:100%;max-width:100%;padding:30px 12px 5px;margin:0;text-align:center;outline:none;border:0;background:none}
 .wedding-body.atelier-theme[class] .wedding-hero-content h1{display:block;font-size:clamp(40px,11vw,64px);line-height:1.12;margin:18px 0}
 .wedding-body.atelier-theme[class] .wedding-hero-content h1>span{display:block}.wedding-body.atelier-theme[class] .wedding-hero-content h1 em{display:block;margin:3px 0;font-size:.5em;line-height:1}
 .wedding-body.design-alabastro[class] .wedding-hero-content,.wedding-body.design-mare-serena[class] .wedding-hero-content{order:-1;padding:5px 8px 30px}
 .wedding-body.design-ebano[class] .wedding-hero,.wedding-body.design-vinhedo[class] .wedding-hero{padding:0 0 30px}
 .wedding-body.design-ebano[class] .wedding-hero-content,.wedding-body.design-vinhedo[class] .wedding-hero-content{padding:30px 25px 8px}
 .wedding-body.design-palazzo[class] .wedding-hero-content{border:4px double var(--theme-accent);margin-top:25px;padding:25px 16px}
 .wedding-body.design-perola[class] .w-cover-photo{max-width:300px;aspect-ratio:.85}
 .wedding-body.design-constelacao[class] .w-cover-photo{max-width:320px;outline-offset:6px}
 .wedding-body.design-cafe-seda[class] .wedding-hero-content{border-left:6px solid var(--theme-accent);background:var(--w-panel);padding:30px 15px}
 .wedding-body.design-tangerina[class] .wedding-hero{background:var(--w-panel)}
 .wedding-body.design-jasmim[class] .w-cover-photo{max-width:300px;aspect-ratio:1}
 .atelier-theme .wedding-section{padding:60px 24px}.atelier-theme .w-couple{display:grid;grid-template-columns:1fr;gap:35px}
 .atelier-theme .w-couple-copy{order:0}.atelier-theme .w-photo-frame img{height:auto;aspect-ratio:.85}
 .atelier-theme .w-countdown{display:block;margin:0;padding:38px 18px;border-radius:0;text-align:center}.atelier-theme .w-countdown-grid{max-width:100%;padding:15px 0;margin:auto}.atelier-theme .w-countdown-grid>div{margin:0 3px;aspect-ratio:auto;padding:15px 5px}.atelier-theme .w-countdown-grid strong{font-size:34px}
 .atelier-theme .w-chapter-grid{grid-template-columns:1fr 1fr;gap:18px}.atelier-theme .w-chapter-grid article{padding:22px 15px;transform:none}.atelier-theme .w-chapter-grid h3{font-size:25px}
 .atelier-theme .w-schedule-grid{grid-template-columns:1fr 1fr;gap:18px}.atelier-theme .w-schedule-grid article{padding:22px 15px}
 .atelier-theme .w-party-names{grid-template-columns:1fr;gap:20px}.atelier-theme .w-party-names h3{font-size:28px}.atelier-theme .w-party-photo img{aspect-ratio:1.4;border-radius:20px}
 .atelier-theme .w-ceremony{display:flex;flex-direction:column;padding:0;margin:0;border-radius:0}.atelier-theme .w-venue-photo{order:0;min-height:360px;width:100%;border-radius:0;border-left:0}.atelier-theme .w-venue-copy{order:1;width:100%;max-width:none;padding:40px 24px;margin:0;border:0}
 .atelier-theme .gift-grid{grid-template-columns:1fr 1fr;gap:16px}.atelier-theme .gift-content{padding:20px 14px}.atelier-theme .gift-content h3{font-size:25px}.atelier-theme .gift-content>strong{font-size:28px}
 .atelier-theme .rsvp-section{grid-template-columns:1fr;padding:60px 24px;gap:30px}.atelier-theme .rsvp-form{padding:32px 24px;box-shadow:none}
 .atelier-theme .mural-grid{grid-template-columns:1fr}.atelier-theme .w-finale{text-align:center;padding:65px 24px;border-radius:0}
 .design-obra-de-arte .w-chapter-grid{grid-template-columns:1fr}.design-obra-de-arte .w-chapter-grid article{display:block}
 .design-perola .gift-image{margin:8px}.design-perola .w-countdown-grid>div{border-radius:14px}
}
@media(max-width:420px){.atelier-theme .gift-grid,.atelier-theme .w-chapter-grid{grid-template-columns:1fr}.atelier-theme .w-countdown-grid strong{font-size:30px}.atelier-theme .w-countdown-grid span{font-size:7px;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.atelier-theme *{scroll-behavior:auto!important}.atelier-theme .button,.atelier-theme .gift-image img{transition:none}}

/* Miniatures mirror the corresponding full-page hero; shared by home and editor. */
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo){container-type:inline-size;color:var(--theme-ink)}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo)>img{position:absolute;inset:12% 4% auto auto;width:45%;height:78%;border-radius:0;filter:none;opacity:1;object-position:50% 0%}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo)>span{position:absolute;inset:10% 52% 5% 3%;padding:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--theme-ink);text-align:center;border:0;margin:0;text-shadow:none;min-width:0}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo) b{font-family:var(--w-font),serif;font-size:clamp(13px,8cqw,30px)!important;line-height:1.05;margin:10px 0;max-width:100%;width:100%;overflow-wrap:anywhere;color:var(--theme-ink)}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo) b i{color:var(--theme-accent);line-height:1;margin:3px 0;font-size:.55em}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo) small{color:var(--theme-ink);font-size:clamp(3px,1.4cqw,5px);letter-spacing:.1em}
.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo):after{content:none}
.theme-mini.mini-alabastro>span,.theme-choice .theme-mini.mini-alabastro>span{inset:7% 3% 58%;padding:6px}
.theme-mini.mini-alabastro>img{inset:auto 5% 6%;width:90%;height:50%}
.theme-mini.mini-monet>img{inset:12% auto 8% 5%;width:44%;height:77%;border-radius:48% 48% 0 0;outline:1px solid var(--theme-accent);outline-offset:3px}
.theme-mini.mini-monet>span,.theme-choice .theme-mini.mini-monet>span{inset:10% 3% 5% 52%}
.theme-mini.mini-palazzo>span,.theme-choice .theme-mini.mini-palazzo>span{inset:16% 53% 12% 5%;border:3px double var(--theme-accent);padding:7px}
.theme-mini.mini-palazzo>img{inset:12% 5% auto auto;width:40%;height:78%;border-radius:70px 70px 0 0;outline:1px solid var(--theme-accent);outline-offset:3px}
.theme-mini.mini-ebano>img{inset:0 auto 0 0;width:54%;height:100%}
.theme-mini.mini-ebano>span,.theme-choice .theme-mini.mini-ebano>span{inset:7% 3% 3% 56%;align-items:flex-start;text-align:left}
.theme-mini.mini-perola>img{inset:15% auto auto 5%;width:42%;height:74%;border-radius:50%;outline:1px dotted var(--theme-accent);outline-offset:4px}
.theme-mini.mini-perola>span,.theme-choice .theme-mini.mini-perola>span{inset:7% 3% 3% 52%}
.theme-mini.mini-cafe-seda>img{inset:10% auto 10% 4%;width:46%;height:80%}
.theme-mini.mini-cafe-seda>span,.theme-choice .theme-mini.mini-cafe-seda>span{inset:15% 3% 8% 50%;border-left:4px solid var(--theme-accent);background:var(--theme-paper)}
.theme-mini.mini-mare-serena>span,.theme-choice .theme-mini.mini-mare-serena>span{inset:7% 4% 55%;padding:4px}
.theme-mini.mini-mare-serena>img{inset:auto 0 0;width:100%;height:51%;border-radius:0 0 50% 50%/0 0 12% 12%}
.theme-mini.mini-promessa-azul{outline:1px solid var(--theme-accent);outline-offset:-8px}
.theme-mini.mini-promessa-azul>span,.theme-choice .theme-mini.mini-promessa-azul>span{inset:19% 53% 12% 5%;border-block:3px double var(--theme-accent)}
.theme-mini.mini-promessa-azul>img{inset:14% 6% auto auto;width:40%;height:75%;border-radius:0 0 45% 45%}
.theme-mini.mini-dalia>img{inset:12% 4% auto auto;height:78%;width:45%;border-radius:55px 3px}
.theme-mini.mini-dalia>span,.theme-choice .theme-mini.mini-dalia>span{inset:15% 53% 8% 5%;border-left:2px solid var(--theme-accent)}
.theme-mini.mini-tangerina{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-paper))}
.theme-mini.mini-tangerina>img{inset:15% auto auto 5%;width:44%;height:74%;border:4px solid var(--theme-paper);border-radius:10px;transform:rotate(-3deg)}
.theme-mini.mini-tangerina>span,.theme-choice .theme-mini.mini-tangerina>span{inset:10% 3% 5% 52%}
.theme-mini.mini-jasmim>img{inset:9% 28% auto;width:44%;height:43%;border-radius:50% 50% 0 0}
.theme-mini.mini-jasmim>span,.theme-choice .theme-mini.mini-jasmim>span{inset:55% 4% 4%;padding:4px}
.theme-mini.mini-jasmim b{margin:5px 0}
.theme-mini.mini-obra-de-arte{border-bottom:5px solid var(--theme-ink)}
.theme-mini.mini-obra-de-arte>img{inset:18% 3% 5% auto;width:49%;height:77%;border-top:8px solid color-mix(in srgb,var(--theme-ink) 12%,var(--theme-paper));border-right:8px solid color-mix(in srgb,var(--theme-ink) 12%,var(--theme-paper))}
.theme-mini.mini-obra-de-arte>span,.theme-choice .theme-mini.mini-obra-de-arte>span{inset:9% 53% 5% 4%;align-items:flex-start;text-align:left}
.theme-mini.mini-savana>img{inset:12% auto auto 4%;width:47%;height:78%;border-radius:50% 50% 38% 38%}
.theme-mini.mini-savana>span,.theme-choice .theme-mini.mini-savana>span{inset:12% 3% 5% 55%;border-left:1px solid var(--theme-accent)}
.theme-mini.mini-constelacao>img{inset:21% 5% auto auto;width:43%;height:62%;border-radius:50%;outline:1px solid var(--theme-accent);outline-offset:4px}
.theme-mini.mini-constelacao>span,.theme-choice .theme-mini.mini-constelacao>span{inset:12% 53% 5% 3%}
.theme-mini.mini-vinhedo>img{inset:0 0 auto;width:100%;height:52%}
.theme-mini.mini-vinhedo>span,.theme-choice .theme-mini.mini-vinhedo>span{inset:54% 4% 3%;padding:5px;border-top:3px double var(--theme-accent)}
.theme-mini.mini-vinhedo b{margin:6px 0}
.theme-choice .theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo)>span{justify-content:center;align-items:center;text-align:center}
@media(max-width:600px){.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo) b{font-size:clamp(12px,8cqw,27px)!important}.theme-mini:is(.mini-alabastro,.mini-monet,.mini-palazzo,.mini-ebano,.mini-perola,.mini-cafe-seda,.mini-mare-serena,.mini-promessa-azul,.mini-dalia,.mini-tangerina,.mini-jasmim,.mini-obra-de-arte,.mini-savana,.mini-constelacao,.mini-vinhedo) small:last-child{display:none}}

@media(max-width:760px){.atelier-theme .wedding-nav{min-height:85px;padding:10px 20px;gap:18px;scrollbar-width:none}.atelier-theme .wedding-nav::-webkit-scrollbar{display:none}.atelier-theme .wedding-nav .wedding-monogram{width:48px;flex-basis:48px}.atelier-theme .wedding-nav>div{gap:22px}}

.g-theme-card{scroll-margin-top:110px}.g-theme-new{display:block;margin-bottom:8px;color:#76613d;font:600 8px/1.5 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase}

/* Decorative accents stay light; small labels use a readable blend of ink. */
.atelier-theme{--w-accent-text:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-ink))}.wedding-body.atelier-theme :is(.eyebrow,.w-venue-copy dt,.w-party-names article>span,.gift-content small,.w-signature,.mural-grid blockquote footer){color:var(--w-accent-text)}.atelier-theme :is(.w-chapter-grid time,.w-schedule-grid time){color:var(--w-accent-text)}

.design-savana{--w-accent-text:color-mix(in srgb,var(--theme-accent) 20%,var(--theme-ink))}
