/*
 * Motor Claude — tema Caixa de Veludo (prefixo cx).
 * Na mesa, uma caixa forrada de veludo com o nome em folha metálica na tampa, uma faixa e um
 * laço de cetim. O laço se solta, a tampa levanta e sai, e aparece o forro de cetim com o
 * cartão de algodão e um raminho de lavanda. O cartão vem de frente; aberto, fica fixo sobre
 * o veludo e as partes do convite sobem como cartões do mesmo conjunto.
 */
@font-face{font-family:"Parisienne";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/parisienne-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/bodoni-moda-latin-var-normal.woff2") format("woff2")}
@font-face{font-family:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/pinyon-script-400.woff2") format("woff2")}
@font-face{font-family:"Italiana";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/italiana-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Tenor Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/tenor-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-variable.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-italic-variable.woff2") format("woff2")}
@font-face{font-family:"Cormorant SC";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/cormorant-sc-latin-500-normal.woff2") format("woff2")}

body.sg-engine-claude_v1:has(.cx-root){
  --cx-paper:var(--c-paper,#F8F2E7);--cx-paper2:var(--c-paper-2,#EFE5D3);--cx-ink:var(--c-paper-ink,#2E2420);--cx-muted:var(--c-paper-muted,#5F5348);
  --cx-table:var(--c-table,#CDBFAE);--cx-accent:var(--c-accent-text,#7A5320);
  --cx-f1:var(--c-foil-1,#5C4210);--cx-f2:var(--c-foil-2,#86621F);--cx-f3:var(--c-foil-3,#B08A3E);--cx-f4:var(--c-foil-4,#DDBF7A);--cx-f5:var(--c-foil-5,#F7E7BC);
  --cx-script:"Parisienne","Pinyon Script",cursive;--cx-caps:"Cormorant SC","Cormorant Garamond",serif;--cx-title:"Bodoni Moda","Cormorant Garamond",serif;--cx-serif:"Cormorant Garamond",Georgia,serif;
  --cx-name-scale:1;--cx-tx:0;--cx-back:var(--cx-table);
  --cx-light:rgba(255,255,255,.6);--cx-dark:rgba(60,40,20,.14);
  background:var(--cx-table)!important;color:var(--cx-ink)}
body.sg-engine-claude_v1:has(.cx-root[data-cx-font="classica"]){--cx-script:"Pinyon Script",cursive;--cx-caps:"Cormorant SC","Cormorant Garamond",serif;--cx-title:"Cormorant Garamond",Georgia,serif;--cx-name-scale:.9}
body.sg-engine-claude_v1:has(.cx-root[data-cx-font="moderna"]){--cx-script:"Italiana","Cormorant Garamond",serif;--cx-caps:"Tenor Sans","Cormorant SC",sans-serif;--cx-title:"Italiana","Cormorant Garamond",serif;--cx-name-scale:.62}
/* Aberto: o fundo da página é o do convite aberto (o contraste automático mede por ele). */
body.sg-engine-claude_v1:has(.cx-root.is-opened){background:var(--cx-back)!important}
/* Lembrete flutuante do motor ("Confirmar presença") na cor de destaque. */
body.sg-engine-claude_v1:has(.cx-root) .cl-rsvp-fab{--cl-fab-bg:var(--cx-accent)!important;--cl-fab-ink:#FFFFFF!important;font-family:var(--cx-caps)!important;letter-spacing:.08em!important}
/* Enquanto o convite está fechado (e durante a abertura), a página não rola. */
body.sg-engine-claude_v1:has(.cx-root:not(.is-opened)){overflow:hidden;overscroll-behavior:none}
body.sg-engine-claude_v1:has(.cx-root)::before,body.sg-engine-claude_v1:has(.cx-root)::after{display:none!important}
body.sg-engine-claude_v1:has(.cx-root) .pagina-convite{max-width:none;margin:0!important;background:transparent!important;min-height:100svh;overflow:clip}
body.sg-engine-claude_v1:has(.cx-root) .convite{overflow:visible!important;background:transparent!important}
body.sg-engine-claude_v1:has(.cx-root) .rodape{display:none!important}

/* ---------------- Medidas ---------------- */
.cx-root{--cx-w:min(90vw,460px);position:relative;z-index:1;isolation:isolate;min-height:100svh;overflow-x:clip;font-family:var(--cx-serif);color:var(--cx-ink);-webkit-tap-highlight-color:transparent}
.cx-root [hidden]{display:none!important}
.cx-root.cx-root--section{position:relative;inset:auto;overflow:visible;min-height:0}

/* ---------------- Mesa ---------------- */
.cx-table{position:fixed;inset:0;z-index:0;background-color:var(--cx-table);
  background-image:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.14),rgba(0,0,0,.14)),var(--cx-linen);
  background-size:auto,256px 256px;background-blend-mode:normal,soft-light}
.cx-scene{position:fixed;inset:0;z-index:1;pointer-events:none}


/* ---------------- O cartão impresso ---------------- */
.cx-card{position:absolute;z-index:2;left:50%;top:50%;width:var(--cx-cw);height:calc(var(--cx-cw) * 1.4);translate:-50% -50%;container-type:size;
  transform:translateY(var(--cx-cy,0px)) scale(var(--cx-ck,1));transform-origin:50% 50%;transition:transform 1.25s cubic-bezier(.55,.05,.3,1)}
.cx-face{position:absolute;inset:14% 11% 13%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body.sg-engine-claude_v1 .cx-root .cx-eyebrow{margin:0 0 .6em!important;font-family:var(--cx-caps)!important;font-size:4.4cqw!important;letter-spacing:.22em!important;line-height:1.35!important;color:var(--cx-muted)!important;text-transform:uppercase;text-shadow:0 1px 0 var(--cx-light)}
.cx-root .cx-name{position:relative!important;inset:auto!important;display:block!important;max-width:100%!important;width:auto!important;transform:none!important;margin:0!important;
  font-family:var(--cx-script)!important;font-weight:400!important;font-size:calc(18cqw * var(--cx-name-scale))!important;line-height:1.3!important;letter-spacing:0!important;padding:0 .14em;white-space:nowrap;outline:0}
body.sg-engine-claude_v1 .cx-root .cx-name.is-wrap{white-space:normal;line-height:1.1!important;text-wrap:balance}
.cx-root[data-cx-font="moderna"] :is(.cx-name,.cx-foil--deco){letter-spacing:.07em!important;text-transform:uppercase}
body.sg-engine-claude_v1 .cx-root .cx-when{margin:0!important;display:flex;flex-direction:column;align-items:center;gap:.3em;font-family:var(--cx-serif)!important;font-size:6.2cqw!important;line-height:1.2!important;color:var(--cx-ink)!important;text-shadow:0 1px 0 var(--cx-light)}
body.sg-engine-claude_v1 .cx-root .cx-when .cx-date{font-family:var(--cx-caps);font-size:.7em;letter-spacing:.16em;text-transform:uppercase}
body.sg-engine-claude_v1 .cx-root .cx-when .cx-time{font-style:italic}
body.sg-engine-claude_v1 .cx-root .cx-venue{margin:.7em 0 0!important;font-family:var(--cx-caps)!important;font-size:4.8cqw!important;letter-spacing:.12em!important;line-height:1.35!important;color:var(--cx-ink)!important;text-transform:uppercase;text-shadow:0 1px 0 var(--cx-light)}
/* Papel de algodão e moldura em relevo seco com um fio de folha por dentro. */
.cx-paper{position:absolute;inset:0;border-radius:inherit;background-color:var(--cx-paper);
  background-image:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%,rgba(0,0,0,.035)),var(--cx-fiber);background-size:100% 100%,420px 420px;background-blend-mode:normal,multiply}
.cx-frame{position:absolute;inset:5.5cqw;pointer-events:none;border-radius:1px;
  box-shadow:inset 1px 1px 0 var(--cx-dark),inset -1px -1px 0 var(--cx-light),1px 1px 0 var(--cx-light),-1px -1px 0 var(--cx-dark)}
.cx-frame::after{content:"";position:absolute;inset:1.6cqw;border:1px solid color-mix(in srgb,var(--cx-f3) 70%,transparent)}

/* Folha metálica (hot stamping) em papel claro: os tons fundos do metal; o reflexo corre com o giro do aparelho. */
.cx-root .cx-foil{background-image:linear-gradient(112deg,var(--cx-f1) 0%,var(--cx-f2) 20%,var(--cx-f1) 38%,var(--cx-f2) 50%,var(--cx-f3) 56%,var(--cx-f2) 62%,var(--cx-f1) 80%,var(--cx-f2) 100%);
  background-size:260% 100%;background-position:calc(50% + var(--cx-tx) * 1%) 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 -.5px 0 rgba(50,30,10,.2))}
/* Folha sobre material escuro (tampa, cinta): os tons claros do metal. */
.cx-root[data-cx-tone="escuro"] .cx-foil--deco{background-image:linear-gradient(112deg,var(--cx-f4) 0%,var(--cx-f5) 18%,var(--cx-f4) 34%,var(--cx-f3) 50%,var(--cx-f4) 64%,var(--cx-f5) 80%,var(--cx-f4) 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}

/* Filete: duas linhas finas e um losango. */
.cx-rule{display:flex;align-items:center;justify-content:center;gap:8px;margin:.8em auto 1.1em}
.cx-rule i{width:calc(var(--cx-w) * .1);height:1px;background:linear-gradient(90deg,transparent,var(--cx-f3))}
.cx-rule i:last-child{background:linear-gradient(90deg,var(--cx-f3),transparent)}
.cx-rule b{width:7px;height:7px;rotate:45deg;background:var(--cx-f3)}
.cx-face .cx-rule{margin:.9em auto 1.1em}
.cx-face .cx-rule i{width:14cqw}
.cx-face .cx-rule b{width:1.8cqw;height:1.8cqw}


body.sg-engine-claude_v1:has(.cx-root){--cx-velvet:var(--c-velvet,#5E1B2B);--cx-lining:var(--c-lining,#EFE3CC);--cx-back:var(--cx-velvet)}
.cx-root{
  /* A caixa (um pouco maior que um cartão 5 × 7) cabe na tela do celular com o convite de abrir embaixo. */
  --cx-bw:min(68vw,39svh,370px);--cx-bh:calc(var(--cx-bw) * 1.36);--cx-by:45svh;
  --cx-cw:min(86vw,calc(78svh * 5 / 7),440px);
  --cx-k:.62;--cx-y0:calc(var(--cx-by) - 50svh);
  --cx-hint-top:calc(var(--cx-by) + var(--cx-bh) * .5 + clamp(20px,3.6svh,36px))}
/* Veludo: a cor da paleta, o pelo e o brilho das bordas (o veludo clareia onde dobra). */
.cx-velvet{position:absolute;inset:0;border-radius:inherit;background-color:var(--cx-velvet);
  background-image:radial-gradient(130% 90% at 30% 20%,rgba(255,255,255,.08),rgba(0,0,0,.18)),linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.07) 48%,rgba(255,255,255,0) 66%),var(--cx-velvet-tex);
  background-size:auto,280% 100%,300px 300px;background-position:0 0,calc(50% + var(--cx-tx) * 1.2%) 0,0 0;background-blend-mode:normal,soft-light,soft-light}
.cx-root[data-cx-tone="claro"] .cx-velvet{background-image:radial-gradient(130% 90% at 30% 20%,rgba(255,255,255,.18),rgba(0,0,0,.08)),linear-gradient(118deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.16) 48%,rgba(255,255,255,0) 66%),var(--cx-velvet-tex)}
.cx-backdrop{position:fixed;inset:0;z-index:0;opacity:0;transition:opacity 1.3s ease}
.cx-root:is(.is-front,.is-opened) .cx-backdrop{opacity:1}

/* A caixa (fundo) com o forro de cetim. */
.cx-box,.cx-over,.cx-lid{position:absolute;left:50%;top:var(--cx-by);width:var(--cx-bw);height:var(--cx-bh);translate:-50% -50%;border-radius:5px}
.cx-box{z-index:1;box-shadow:0 2px 3px rgba(0,0,0,.22),0 26px 44px -14px rgba(0,0,0,.45);transition:transform 1.25s cubic-bezier(.55,.05,.35,1),opacity .9s ease}
.cx-box .cx-velvet{box-shadow:inset 0 0 14px rgba(255,255,255,.12)}
.cx-lining{position:absolute;inset:4.6%;border-radius:2px;background-color:var(--cx-lining);
  background-image:linear-gradient(128deg,rgba(255,255,255,0) 12%,rgba(255,255,255,.55) 22%,rgba(255,255,255,0) 34%,rgba(0,0,0,.06) 46%,rgba(255,255,255,.4) 60%,rgba(255,255,255,0) 72%,rgba(0,0,0,.08) 88%),
    linear-gradient(38deg,rgba(0,0,0,.05),rgba(255,255,255,.18) 50%,rgba(0,0,0,.06));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),inset 0 10px 18px -6px rgba(0,0,0,.4),inset 0 -6px 14px -6px rgba(0,0,0,.22),inset 8px 0 14px -8px rgba(0,0,0,.25),inset -8px 0 14px -8px rgba(0,0,0,.25)}
.cx-root[data-cx-palette="noite"] .cx-lining{background-image:linear-gradient(128deg,rgba(255,255,255,0) 12%,rgba(255,255,255,.14) 22%,rgba(255,255,255,0) 34%,rgba(0,0,0,.2) 46%,rgba(255,255,255,.1) 60%,rgba(255,255,255,0) 72%,rgba(0,0,0,.2) 88%)}
/* O raminho deitado no forro, por cima do canto do cartão. */
.cx-over{z-index:3;pointer-events:none;transition:transform 1.25s cubic-bezier(.55,.05,.35,1),opacity .9s ease}
.cx-sprig{position:absolute;left:-7%;bottom:2%;width:74%;height:auto;max-width:none;rotate:-24deg;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.cx-card{border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.18),0 10px 22px -10px rgba(0,0,0,.4)}
.cx-root:is(.is-front,.is-opened) .cx-card{box-shadow:0 2px 3px rgba(0,0,0,.25),0 26px 48px -16px rgba(0,0,0,.55)}

/* A tampa: veludo com relevo, a faixa de cetim e o nome em folha. */
.cx-lid{z-index:4;width:calc(var(--cx-bw) * 1.02);height:calc(var(--cx-bh) * 1.015);container-type:size;
  box-shadow:0 1px 1px rgba(0,0,0,.25),0 3px 6px rgba(0,0,0,.18);transform-origin:50% 50%;
  transition:transform .75s cubic-bezier(.4,0,.2,1),box-shadow .75s ease,opacity .5s ease}
.cx-lid .cx-velvet{box-shadow:inset 0 0 16px rgba(255,255,255,.14),inset 0 -2px 0 rgba(0,0,0,.2)}
.cx-emboss{position:absolute;inset:6.5cqw;border-radius:2px;pointer-events:none;
  box-shadow:inset 1px 1px 0 rgba(0,0,0,.32),inset -1px -1px 0 rgba(255,255,255,.12),1px 1px 0 rgba(255,255,255,.12),-1px -1px 0 rgba(0,0,0,.26)}
.cx-root[data-cx-tone="claro"] .cx-emboss{box-shadow:inset 1px 1px 0 rgba(80,50,30,.2),inset -1px -1px 0 rgba(255,255,255,.6),1px 1px 0 rgba(255,255,255,.6),-1px -1px 0 rgba(80,50,30,.16)}
.cx-ribbon{position:absolute;left:0;right:0;top:27%;height:7cqw;translate:0 -50%;
  background:linear-gradient(180deg,#B9A37E 0%,#F3E8D2 22%,#D8C6A3 46%,#EFE2C8 66%,#B49D77 100%);box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .8s cubic-bezier(.6,0,.3,1),opacity .5s ease .2s}
.cx-ribbon::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 6px,rgba(255,255,255,.06) 6px 7px)}
.cx-address{position:absolute;left:9%;right:9%;top:56%;bottom:9%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body.sg-engine-claude_v1 .cx-root .cx-address .capa__convidado{margin:0 0 .35em!important;padding:0!important;background:none!important;border:0!important;font-family:var(--cx-caps)!important;font-size:4.4cqw!important;letter-spacing:.2em!important;line-height:1.3!important;color:var(--cx-f5)!important;opacity:.9;display:flex;flex-direction:column;align-items:center;gap:.25em}
body.sg-engine-claude_v1 .cx-root[data-cx-tone="claro"] .cx-address .capa__convidado{color:var(--cx-ink)!important}
body.sg-engine-claude_v1 .cx-root .cx-address .capa__convidado small{font-size:.74em!important;letter-spacing:.24em!important}
body.sg-engine-claude_v1 .cx-root .cx-address .capa__convidado strong{font-family:var(--cx-serif)!important;font-weight:500!important;font-size:1.25em!important;letter-spacing:.02em!important}
body.sg-engine-claude_v1 .cx-root .cx-lid-name{margin:0!important;white-space:nowrap;padding:0 .2em;font-family:var(--cx-script)!important;font-weight:400!important;font-size:calc(16cqw * var(--cx-name-scale))!important;line-height:1.3!important}

/* O laço (o botão da capa), no meio da faixa de cetim. */
.botao.cx-bow,.cx-bow{position:absolute!important;z-index:6;left:50%;top:calc(var(--cx-by) - var(--cx-bh) * .5 + var(--cx-bh) * .27);width:calc(var(--cx-bw) * .44);aspect-ratio:4 / 3;pointer-events:auto;
  transform:none!important;translate:-50% -46%;display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:40%!important;background:none!important;box-shadow:none!important;min-height:0!important;outline-offset:4px;cursor:pointer;
  transition:scale .5s cubic-bezier(.5,0,.75,0),opacity .45s ease,rotate .5s ease}
body.sg-engine-claude_v1 .pagina-convite .cx-root .botao.cx-bow[href]{box-shadow:none!important;animation:none!important;background:none!important;border:0!important;padding:0!important;min-height:0!important;font-size:0!important}
.botao.cx-bow{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;overflow:visible!important;color:transparent!important;text-shadow:none!important}
.botao.cx-bow::before,.botao.cx-bow::after{content:none!important;display:none!important}
.cx-bow-img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(20,10,5,.3)) drop-shadow(0 5px 7px rgba(20,10,5,.2))}
.cx-bow-css{position:absolute;inset:25% 10%;border-radius:50%;background:radial-gradient(circle,#F3E8D2,#B9A37E)}
.cx-bow:focus-visible{outline:2px solid var(--cx-f4)}
.cx-root.is-closed:not(.is-breaking) .cx-bow{animation:cx-bow-in .8s cubic-bezier(.2,.8,.3,1.2) .8s backwards}
.cx-root.is-closed:not(.is-breaking) .cx-bow-img{animation:cx-breathe 3.4s ease-in-out 2s infinite}
@keyframes cx-bow-in{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes cx-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}

/* ---------------- Estados da abertura ---------------- */
.cx-root:is(.is-closed,.is-breaking,.is-lifting,.is-off) .cx-card{--cx-cy:var(--cx-y0);--cx-ck:var(--cx-k)}
.cx-root.is-closed:not(.is-breaking) :is(.cx-box,.cx-lid,.cx-over){animation:cx-land 1.2s cubic-bezier(.2,.75,.25,1) backwards}
@keyframes cx-land{from{opacity:0;margin-top:22px}to{opacity:1;margin-top:0}}
/* O laço se solta e a faixa escorrega para fora da tampa. */
.cx-root:is(.is-breaking,.is-lifting,.is-off,.is-front,.is-opened) .cx-bow{scale:.2;rotate:40deg;opacity:0;pointer-events:none}
.cx-root:is(.is-breaking,.is-lifting,.is-off,.is-front,.is-opened) .cx-ribbon{transform:translateX(110%);opacity:0}
/* A tampa levanta (vem para perto, com a sombra maior) e sai pelo alto. */
.cx-root.is-lifting .cx-lid{transform:translateY(-4%) scale(1.06);box-shadow:0 18px 30px rgba(0,0,0,.28),0 40px 70px -10px rgba(0,0,0,.35)}
.cx-root:is(.is-off,.is-front,.is-opened) .cx-lid{transform:translate(48vw,-62svh) rotate(16deg) scale(1.08);opacity:0;transition:transform 1s cubic-bezier(.5,0,.6,1),opacity .8s ease .2s}
/* O cartão vem de frente e a caixa sai pela borda de baixo. */
.cx-root:is(.is-front,.is-opened) .cx-card{z-index:5;--cx-cy:0px;--cx-ck:1}
.cx-root:is(.is-front,.is-opened) :is(.cx-box,.cx-over){transform:translateY(80svh);opacity:0}
.cx-root.is-opened :is(.cx-box,.cx-over,.cx-lid){visibility:hidden}

/* ---------------- Cartões depois de aberto: algodão com moldura ---------------- */
.cx-plate-in{border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 16px 30px -12px rgba(0,0,0,.45)}
.cx-plate-bg{background-color:var(--cx-paper);background-image:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%,rgba(0,0,0,.03)),var(--cx-fiber);background-size:100% 100%,420px 420px;background-blend-mode:normal,multiply}
.cx-plate-bg::after{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--cx-f3) 60%,transparent);box-shadow:0 0 0 4px transparent,0 0 0 5px color-mix(in srgb,var(--cx-f3) 22%,transparent)}
.cx-plate:nth-child(even) .cx-plate-in{background-color:var(--cx-paper2)}
.cx-plate:nth-child(even) .cx-plate-bg{background-color:transparent}
.cx-root--cover-only .cx-card{--cx-cy:var(--cx-y0);--cx-ck:var(--cx-k)}


/* ---------------- Capa: o convite para abrir ---------------- */
.cx-cover{position:fixed!important;inset:0!important;z-index:5;pointer-events:none;margin:0!important;padding:0!important;min-height:0!important;background:none!important;border:0!important;box-shadow:none!important}
.cx-hint{position:absolute;left:0;right:0;top:var(--cx-hint-top);margin:0!important;display:flex;justify-content:center;transition:opacity .4s ease}
.cx-hint span{font-family:var(--cx-caps);font-size:clamp(12px,3.4vw,16px);letter-spacing:.3em;text-transform:uppercase;color:var(--cx-hint-ink,#fff);text-shadow:0 1px 2px rgba(0,0,0,.18)}
.cx-root.is-closed:not(.is-breaking) .cx-hint{animation:cx-hint 1s ease 1.4s backwards}
@keyframes cx-hint{from{opacity:0;transform:translateY(6px)}}
.cx-root:is(.is-breaking,.is-opened) .cx-hint{opacity:0}
.cx-root.is-opened .cx-cover{display:none!important}

/* ---------------- Depois de aberto: o cartão fixo no fundo e os cartões que sobem ---------------- */
.cx-veil{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:calc(var(--cx-sc,0) * .62);
  background:radial-gradient(120% 90% at 50% 45%,color-mix(in srgb,var(--cx-back) 40%,transparent),color-mix(in srgb,var(--cx-back) 92%,#000 8%))}
.cx-app{position:relative;z-index:4}
.cx-root:not(.is-opened) .cx-app{visibility:hidden}
.cx-flow{display:flex;flex-direction:column;align-items:center;gap:30px;padding:calc(100svh - 24px) 14px max(56px,env(safe-area-inset-bottom))}
.cx-plate{position:relative;width:var(--cx-w);margin:0;transform:translateY(46px);opacity:0;transition:transform 1s cubic-bezier(.2,.75,.25,1),opacity .7s ease}
.cx-plate.is-in{transform:none;opacity:1}
.cx-plate--reply{width:calc(var(--cx-w) * .93)}
.cx-plate-in{position:relative;isolation:isolate;background-color:var(--cx-paper)}
.cx-plate-bg{position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none}
.cx-plate-body{position:relative;z-index:1;padding:calc(var(--cx-w) * .12) calc(var(--cx-w) * .1) calc(var(--cx-w) * .11)}
.cx-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5em}
body.sg-engine-claude_v1 .cx-root .cx-intro{margin:0 auto!important;max-width:28ch;font-family:var(--cx-serif)!important;font-style:italic;font-size:calc(var(--cx-w) * .054)!important;line-height:1.4!important;color:var(--cx-ink)!important}
.cx-plate-head{text-align:center;padding:0 4%}
.cx-plate-title{margin:0!important;font-family:var(--cx-title)!important;font-weight:400!important;font-size:calc(var(--cx-w) * .062)!important;line-height:1.25!important;letter-spacing:.06em!important;text-transform:none!important;text-wrap:balance}
.cx-root[data-cx-font="moderna"] .cx-plate-title{letter-spacing:.1em!important;text-transform:uppercase!important;font-size:calc(var(--cx-w) * .056)!important}

/* ---------------- Contagem ---------------- */
.cx-count{margin-top:.6em}
.cx-root .cx-count .secao__interno{display:flex!important;flex-direction:column;align-items:center;gap:.35em;padding:0!important;margin:0!important;max-width:none!important;background:none!important;border:0!important;box-shadow:none!important}
.cx-root .cx-count .contagem{display:flex!important;align-items:baseline;justify-content:center;gap:.7em;grid-template-columns:none!important}
.cx-root .cx-count .contagem__item{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;min-width:0!important}
.cx-root .cx-count .contagem__item[hidden]{display:none!important}
.cx-root .cx-count .contagem__numero{font-size:calc(var(--cx-w) * .085)!important;line-height:1!important;font-family:var(--cx-caps)!important;color:var(--cx-accent)!important}
.cx-root .cx-count .contagem__rotulo{font-size:calc(var(--cx-w) * .026)!important;font-family:var(--cx-caps)!important;letter-spacing:.16em!important;color:var(--cx-muted)!important}
.cx-root .cx-count .contagem,.cx-root .cx-count .secao{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;min-height:0!important}
.cx-root .cx-count :is(.divisor,.cantoneira,.cantoneiras){display:none!important}
body.sg-engine-claude_v1 .cx-root .cx-count .titulo-secao,body.sg-engine-claude_v1 .cx-root .cx-count .secao .titulo-secao{display:block!important;margin:0 0 .4em!important;padding:0!important;border:0!important;background:none!important;font-family:var(--cx-caps)!important;font-weight:400!important;font-size:calc(var(--cx-w) * .028)!important;line-height:1.35!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--cx-muted)!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
body.sg-engine-claude_v1 .cx-root .cx-count .titulo-secao::before,body.sg-engine-claude_v1 .cx-root .cx-count .titulo-secao::after{content:none!important;display:none!important}
.cx-root .cx-count .revela,.cx-root .cx-count.revela{opacity:1!important;transform:none!important;visibility:visible!important}

/* ---------------- Módulos do Capítulo 15 nos cartões ---------------- */
.cx-root .cl-modules{--clm-paper:transparent;--clm-ink:var(--cx-ink);--clm-muted:var(--cx-muted);--clm-line:color-mix(in srgb,var(--cx-f3) 40%,transparent);--clm-accent:var(--cx-accent);--clm-display:var(--cx-serif);--clm-sans:var(--cx-caps);
  font-size:15px;text-align:left}
.cx-root .cx-modules--same-title :is(.titulo-secao,.secao > .secao__interno > h2):first-of-type{display:none!important}
/* Impresso na chapa: tudo centralizado, sem caixas nem pílulas. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules{text-align:center!important;font-size:16px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.secao,.secao__interno,.item,.item__conteudo,.item__principal,.item__titulo,.item__texto,.texto,.texto--centro,p,.compromisso,.compromisso__local,.compromisso__endereco){text-align:center!important;align-items:center!important;justify-content:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .secao + .secao{border-top:0!important;margin-top:18px!important;padding-top:22px!important;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--cx-f3) 70%,transparent),transparent) top center/46% 1px no-repeat!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.titulo-secao,h2){text-align:center!important;font-family:var(--cx-caps)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--cx-accent)!important;margin:0 0 12px!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.item__titulo,.evento__nome,.local-card__nome,.compromisso__nome,h3){font-family:var(--cx-serif)!important;font-style:italic!important;font-weight:500!important;font-size:21px!important;line-height:1.2!important;letter-spacing:0!important;color:var(--cx-ink)!important;text-transform:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(p,.item__texto,.texto,.compromisso__endereco,li,small){font-family:var(--cx-serif)!important;font-size:17px!important;line-height:1.45!important;color:var(--cx-muted)!important;letter-spacing:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules span:not([class*="mdi"]):not(.fa-solid):not(.contagem__numero):not(.contagem__rotulo){font-family:var(--cx-serif)!important;font-size:17px!important;line-height:1.45!important;color:var(--cx-muted)!important;letter-spacing:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__local{font-family:var(--cx-caps)!important;font-size:18px!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--cx-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.campo__rotulo,.rsvp-prazo){font-family:var(--cx-caps)!important;font-size:11.5px!important;letter-spacing:.18em!important;color:var(--cx-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item.item{flex-direction:column!important;align-items:center!important;gap:6px!important;padding:16px 4px!important;border:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item + .item{padding-top:26px!important;position:relative}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item + .item::before{content:"";position:absolute;top:4px;left:50%;width:9px;height:9px;translate:-50% 0;background:var(--cx-f3);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item__icone{margin:0 auto 2px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;font-size:22px!important;color:var(--cx-accent)!important;background:none!important;border:0!important;box-shadow:none!important;opacity:.95}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item__icone [class*="mdi-sg"]{color:var(--cx-accent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.aviso,.rsvp-cartao,.rsvp-preview-note-4035,.reserved-color-note-151,.compromisso__comodidade,.rsvp-membro,.rsvp-guest-policy-ack,.rsvp__resposta,.cd-guest-example131){border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .reserved-color-note-151{position:relative;display:block!important;text-align:center!important;margin:4px auto 10px!important;padding:14px 6px!important;max-width:30ch;border-top:1px solid color-mix(in srgb,var(--cx-f3) 55%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--cx-f3) 55%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .reserved-color-note-151 :is(strong,b){display:block;font-family:var(--cx-serif)!important;font-style:italic;font-weight:500!important;font-size:19px!important;color:var(--cx-ink)!important;margin:2px 0 4px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso{border:0!important;padding-bottom:6px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__comodidades{justify-items:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__comodidade{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:2px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.compromisso__mapa-estatico,.invite-static-map-6159){border-radius:4px!important;padding:5px!important;background:rgba(255,255,255,.85)!important;box-shadow:0 1px 2px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.16)!important}
/* Botões: moldura dupla dourada, nunca pílula colorida. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.botao,button.botao,a.botao,button[type=submit]){min-height:46px!important;padding:12px 22px!important;border-radius:3px!important;background:transparent!important;color:var(--cx-ink)!important;
  box-shadow:inset 0 0 0 1px var(--cx-f3),inset 0 0 0 4px transparent,inset 0 0 0 5px color-mix(in srgb,var(--cx-f3) 45%,transparent)!important;font-family:var(--cx-caps)!important;font-size:12.5px!important;letter-spacing:.18em!important;font-weight:400!important;text-transform:uppercase}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.botao--contorno,button.compromisso__copiar-endereco,.compromisso__copiar-endereco){min-height:36px!important;padding:6px 4px!important;box-shadow:none!important;background:none!important;color:var(--cx-accent)!important;text-decoration:underline!important;text-decoration-color:color-mix(in srgb,var(--cx-f3) 70%,transparent)!important;text-underline-offset:5px!important;font-size:11.5px!important}
/* Campos: linha de preencher, como num cartão de resposta. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea){border:0!important;border-bottom:1px solid color-mix(in srgb,var(--cx-ink) 40%,transparent)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  font-family:var(--cx-serif)!important;font-size:18px!important;font-style:italic;color:var(--cx-ink)!important;text-align:center!important;padding:8px 4px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules select option{color:#1A1714;background:#FFFFFF}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(input,select,textarea):focus{border-bottom-color:var(--cx-accent)!important;box-shadow:0 1px 0 var(--cx-accent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--cx-muted) 80%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .escolha{border:0!important;border-radius:0!important;background:none!important;font-family:var(--cx-serif)!important;font-style:italic;font-size:17px!important;color:var(--cx-ink)!important;display:inline-flex!important;align-items:center;gap:8px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .escolha::before{content:"";width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--cx-ink);flex:none}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .escolha:has(input:checked){background:none!important;color:var(--cx-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .escolha:has(input:checked)::before{box-shadow:inset 0 0 0 1px var(--cx-ink),inset 0 0 0 3px var(--cx-paper),inset 0 0 0 7px var(--cx-accent)}
/* Fotos: impressas com margem branca, como foto de papel. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.story-public-6136 img,.cd-carousel-6137 img){border-radius:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .story-public-6136__moment{background:none!important;border:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .story-public-6136 figure{background:#fff!important;padding:7px 7px 26px!important;border-radius:0!important;box-shadow:0 1px 2px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.18)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__quando{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;border:0!important;padding:0 0 10px!important;margin:0 0 6px!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__quando :is(.compromisso__data,.compromisso__hora){font-family:var(--cx-caps)!important;font-size:12px!important;letter-spacing:.16em!important;color:var(--cx-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__quando .compromisso__hora{font-family:var(--cx-serif)!important;font-style:italic;font-size:18px!important;letter-spacing:0!important;color:var(--cx-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__endereco-linha{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__endereco-linha .compromisso__copiar-endereco{min-height:36px!important;padding:6px 4px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;color:var(--cx-accent)!important;text-decoration:underline!important;text-underline-offset:5px!important;font-family:var(--cx-caps)!important;font-size:11.5px!important;letter-spacing:.16em!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .compromisso__endereco-linha > *{flex:none!important;min-height:0!important;height:auto!important;width:auto!important;max-width:100%!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item.item--dress-main-4062{display:flex!important;flex-direction:column!important;align-items:center!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .item--dress-main-4062 > *{grid-column:auto!important;margin-inline:auto!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .party-public-6136{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .party-public-6136__moment{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .party-public-6136__icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--cx-accent)!important;font-size:22px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .party-public-6136__line{display:block!important;width:1px!important;height:18px!important;margin:6px auto!important;background:color-mix(in srgb,var(--cx-f3) 70%,transparent)!important;position:static!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules .party-public-6136__copy{text-align:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .cx-root .cx-modules.cl-modules :is(.cd-carousel-6137,.story-carousel-6137){background:none!important;border:0!important;box-shadow:none!important}


/* ---------------- Miniatura, prévia de seção, movimento reduzido e impressão ---------------- */
.cx-root--cover-only *{animation:none!important}
.cx-root--cover-only :is(.cx-app,.cx-veil){display:none}
.cx-section-preview{padding:16px}
.cx-root--section .cx-plate{position:relative;inset:auto;transform:none;opacity:1;padding:22px 18px;border-radius:2px;background:var(--cx-paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cx-f3) 45%,transparent)}
@media (prefers-reduced-motion:reduce){
  .cx-root *{animation:none!important;transition-duration:.01s!important}
}
@media print{
  .cx-root{position:static;min-height:0}
  .cx-cover,.cx-table,.cx-veil,.cx-box,.cx-over,.cx-lid,.cx-bow,.cx-backdrop{display:none!important}
  .cx-scene{position:relative;height:auto;inset:auto}
  .cx-card{position:relative;left:auto;top:auto;translate:none;transform:none;margin:0 auto;clip-path:none!important}
  .cx-flow{padding:12px 0}
  .cx-plate{opacity:1!important;transform:none!important;page-break-inside:avoid}
}
