/*
 * Motor Claude — tema Temporada (baile de debutante da época da Regência).
 * Capa: cortina de flores 3D em camadas (cada flor balança no próprio ritmo e
 * responde à inclinação com profundidade), a tiara de princesa girando
 * (canvas, temporada.js) e o cartão com o botão. Abertura: a cortina se abre
 * do meio para as bordas. Convite: cartões de papel em cores pastel, cada um
 * com uma flor presa no canto, que pousam girando de leve ao chegar na tela.
 * Cores da paleta pelo sistema (--c-*): bg, ink, ink-soft, name, accent-text,
 * button-bg, button-ink. Artes por paleta via [data-tp-set]. Escopo: .tp-*.
 */
@font-face{font-family:"Ibarra Real Nova";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/ibarra-real-nova-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Ibarra Real Nova";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/ibarra-real-nova-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Ibarra Real Nova";font-style:italic;font-weight:500;font-display:swap;src:url("../fonts/ibarra-real-nova-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:"MonteCarlo";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montecarlo-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"GFS Didot";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/gfs-didot-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:200 1000;font-display:swap;src:url("../fonts/mulish-latin-var-normal.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:italic;font-weight:200 1000;font-display:swap;src:url("../fonts/mulish-latin-var-italic.woff2") format("woff2")}

body.sg-engine-claude_v1{background:var(--c-bg,#ECE4F6)!important;background-image:none!important;color:var(--c-ink,#2A1F3D)}
body.sg-engine-claude_v1::before,body.sg-engine-claude_v1::after{display:none!important}
body.sg-engine-claude_v1 .pagina-convite{max-width:none;margin:0 auto!important;background:transparent!important;min-height:100svh;overflow:clip}
body.sg-engine-claude_v1 .convite{overflow:visible!important;background:transparent!important}

.tp-root{
  --tp-bg:var(--c-bg,#ECE4F6);--tp-ink:var(--c-ink,#2A1F3D);--tp-muted:var(--c-ink-soft,#54476B);--tp-name-ink:var(--c-name,#2A1745);
  --tp-accent:var(--c-accent-text,#5A3794);--tp-btn:var(--c-button-bg,#6A43A8);--tp-btn-ink:var(--c-button-ink,#FFFFFF);
  --tp-gold:#C9A45C;--tp-halo:0 0 2px rgba(255,255,255,.9),0 0 22px rgba(255,255,255,.85),0 0 46px rgba(255,255,255,.6);
  --tp-halo-sm:0 0 10px rgba(255,255,255,.9),0 0 22px rgba(255,255,255,.7);
  --tp-card:rgba(255,255,255,.78);--tp-card-line:rgba(160,120,60,.55);--tp-shadow:rgba(60,30,90,.30);
  --tp-sans:"Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --tp-name:"Ibarra Real Nova",Georgia,serif;--tp-name-style:italic;--tp-name-weight:500;--tp-name-track:-.01em;
  --tp-display:"Ibarra Real Nova",Georgia,serif;--tp-display-style:italic;
  --tp-cover-size:clamp(56px,16.5vw,140px);--tp-sheet-size:clamp(52px,15vw,108px);
  --tp-ease:cubic-bezier(.22,1,.36,1);
  --gx:0;--gy:0;
  --u:min(1vw,.56svh);
  position:relative;isolation:isolate;overflow-x:clip;color:var(--tp-ink);font-family:var(--tp-sans);-webkit-font-smoothing:antialiased}
/* Cores de cada paleta (as mesmas do theme.json; o teste confere). */
.tp-root[data-tp-set="lavanda"]{--tp-bg:#ECE4F6;--tp-ink:#2A1F3D;--tp-muted:#54476B;--tp-name-ink:#291744;--tp-accent:#563491;--tp-btn:#6A43A8;--tp-btn-ink:#FFFFFF}
.tp-root[data-tp-set="ametista"]{--tp-bg:#1C1030;--tp-ink:#F4EEFB;--tp-muted:#CEC2E2;--tp-name-ink:#FBF1DA;--tp-accent:#E9CD8C;--tp-btn:#E6C77E;--tp-btn-ink:#2A1A08}
.tp-root[data-tp-set="jardim"]{--tp-bg:#FBF2EE;--tp-ink:#3A2236;--tp-muted:#66485F;--tp-name-ink:#381640;--tp-accent:#7E3471;--tp-btn:#8A3B7C;--tp-btn-ink:#FFFFFF}
.tp-root[data-tp-set="azul"]{--tp-bg:#E5EDF8;--tp-ink:#1E2A44;--tp-muted:#485671;--tp-name-ink:#1D2547;--tp-accent:#41469A;--tp-btn:#4A4FA3;--tp-btn-ink:#FFFFFF}
.tp-root[data-tp-set="ametista"]{
  --tp-halo:0 0 2px rgba(20,8,36,.8),0 0 22px rgba(20,8,36,.75),0 0 46px rgba(20,8,36,.55);--tp-halo-sm:0 0 10px rgba(20,8,36,.85),0 0 22px rgba(20,8,36,.6);
  --tp-card:rgba(40,22,66,.72);--tp-card-line:rgba(230,199,126,.6);--tp-shadow:rgba(0,0,0,.5);--tp-gold:#E6C77E}
.tp-root[data-tp-font="caligrafia"]{--tp-name:"MonteCarlo",cursive;--tp-name-style:normal;--tp-name-weight:400;--tp-name-track:0;--tp-cover-size:clamp(60px,17.5vw,156px);--tp-sheet-size:clamp(58px,17vw,124px)}
.tp-root[data-tp-font="moderna"]{--tp-name:"GFS Didot",Didot,Georgia,serif;--tp-name-style:normal;--tp-name-weight:400;--tp-name-track:.01em;--tp-display:"GFS Didot",Didot,Georgia,serif;--tp-display-style:normal;--tp-cover-size:clamp(50px,14.5vw,124px);--tp-sheet-size:clamp(46px,13.5vw,96px)}
body.sg-engine-claude_v1 .tp-root [hidden]{display:none!important}
.tp-root :is(p,h1,h2){margin:0}
.tp-root img{-webkit-user-drag:none;user-select:none;max-width:none}

/* ================= Salão ao fundo ================= */
.tp-atmos{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--tp-bg)}
.tp-bg,.tp-bg-soft{position:absolute;left:50%;top:50%;width:max(100vw,100svh);height:max(100vw,100svh);object-fit:cover;transform:translate(-50%,-50%)}
.tp-bg{transform-origin:50% 30%}
.tp-bg-soft{opacity:0;transition:opacity 1.4s ease .3s}
.tp-root.is-closed .tp-bg{animation:tp-arrive 10s cubic-bezier(.2,.7,.2,1) both}
@keyframes tp-arrive{from{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1)}}
.tp-root:is(.tp-opening,.tp-opened) .tp-bg-soft{opacity:1}
.tp-root.tp-opened .tp-bg{visibility:hidden}
/* luz do salão que acende na abertura */
.tp-glow{position:absolute;inset:-20%;opacity:0;background:radial-gradient(60% 45% at 50% 38%,rgba(255,255,255,.95),rgba(255,248,236,.5) 40%,rgba(255,255,255,0) 72%)}
.tp-root[data-tp-set="ametista"] .tp-glow{background:radial-gradient(60% 45% at 50% 38%,rgba(255,226,170,.55),rgba(160,90,200,.25) 45%,rgba(0,0,0,0) 72%)}
.tp-root.tp-opening .tp-glow{animation:tp-glow 2.4s ease-out forwards}
@keyframes tp-glow{0%{opacity:0;transform:scale(.6)}35%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
.tp-air{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;height:100lvh;pointer-events:none}
/* Na capa, as pétalas passam por trás das flores, do nome e do cartão: nada cobre o nome. */
.tp-root:is(.is-closed,.tp-opening) .tp-air{z-index:29}

/* ================= Capa ================= */
body.sg-engine-claude_v1.sg-engine-claude_v1 .tp-root .capa.tp-cover{position:fixed!important;inset:0!important;z-index:30;display:block!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden;background:none!important;border:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .tp-root .capa.tp-cover[hidden]{display:none!important}
.tp-curtain{position:absolute;inset:0;pointer-events:none}

/* Uma flor = uma camada: o invólucro leva a posição, a profundidade (inclinação) e a saída; a imagem balança. */
.tp-f{position:absolute;left:var(--x);top:var(--y);width:calc(var(--s) * var(--u));pointer-events:auto;
  translate:calc(-50% + var(--gx) * var(--d) * 16px) calc(-50% + var(--gy) * var(--d) * 11px)}
.tp-f--wis{translate:calc(-50% + var(--gx) * var(--d) * 16px) calc(var(--gy) * var(--d) * 8px)}
.tp-fi{display:block;width:100%;height:auto;transform:rotate(var(--r));transform-origin:50% 55%;
  filter:drop-shadow(0 12px 14px rgba(60,30,90,.20));animation:tp-sway var(--w) ease-in-out infinite alternate;animation-delay:calc(var(--k) * -1.3s)}
.tp-f--wis .tp-fi{transform-origin:50% 0;animation-name:tp-swing}
@keyframes tp-sway{from{transform:rotate(calc(var(--r) - var(--m) * 2.5deg)) translateY(-1.5%)}to{transform:rotate(calc(var(--r) + var(--m) * 2.5deg)) translateY(1.5%)}}
@keyframes tp-swing{from{transform:rotate(calc(var(--r) - 3.5deg))}to{transform:rotate(calc(var(--r) + 3.5deg))}}
.tp-root[data-tp-set="ametista"] .tp-fi{filter:brightness(.88) saturate(1.06) drop-shadow(0 12px 16px rgba(0,0,0,.45))}
/* toque numa flor: um pulinho de mola */
.tp-f.is-boing{animation:tp-boing .9s cubic-bezier(.2,1.6,.4,1) both!important}
@keyframes tp-boing{0%{scale:1}25%{scale:1.14}55%{scale:.95}100%{scale:1}}

/* Entrada: as flores desabrocham das bordas para dentro, as glicínias crescem para baixo. */
.tp-root.is-closed .tp-curtain .tp-f{animation:tp-bloom 1.5s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(.15s + var(--k) * 75ms)}
.tp-root.is-closed .tp-curtain .tp-f--wis{animation-name:tp-grow}
@keyframes tp-bloom{from{opacity:0;scale:.35;rotate:-24deg}60%{opacity:1}to{opacity:1;scale:1;rotate:0deg}}
@keyframes tp-grow{from{opacity:0;scale:1 .15}50%{opacity:1}to{opacity:1;scale:1 1}}

/* Abertura: a cortina se abre do meio para as bordas, cada flor no seu tempo. */
.tp-root.tp-opening .tp-curtain .tp-f--l{animation:tp-out-l 1.5s cubic-bezier(.55,0,.2,1) var(--o) forwards}
.tp-root.tp-opening .tp-curtain .tp-f--r{animation:tp-out-r 1.5s cubic-bezier(.55,0,.2,1) var(--o) forwards}
@keyframes tp-out-l{to{opacity:0;transform:translate(-62vw,calc(var(--d) * 8vh)) rotate(-40deg) scale(1.15)}}
@keyframes tp-out-r{to{opacity:0;transform:translate(62vw,calc(var(--d) * 8vh)) rotate(40deg) scale(1.15)}}

/* Tiara: canvas por cima da imagem parada (que fica para movimento reduzido e miniatura). */
.tp-tiara{position:relative;aspect-ratio:720/432;pointer-events:none}
.tp-tiara-still,.tp-tiara-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.tp-tiara-still{filter:drop-shadow(0 16px 20px rgba(60,30,90,.25))}
.tp-tiara.is-live .tp-tiara-still{opacity:0}
.tp-tiara-cv{filter:drop-shadow(0 16px 20px rgba(60,30,90,.25))}
.tp-root[data-tp-set="ametista"] :is(.tp-tiara-still,.tp-tiara-cv){filter:drop-shadow(0 14px 24px rgba(0,0,0,.55))}
.tp-tiara--cover{position:absolute;left:50%;top:max(6svh,24px);z-index:2;width:min(90vw,52svh,620px);translate:-50% 0}
.tp-root.is-closed .tp-tiara--cover{animation:tp-tiara-in 2s var(--tp-ease) .35s both}
@keyframes tp-tiara-in{from{opacity:0;transform:translateY(-14px) scale(.86);filter:brightness(2.2) blur(8px)}55%{filter:brightness(1.35) blur(0)}to{opacity:1;transform:none;filter:none}}
.tp-root.tp-opening .tp-tiara--cover{animation:tp-tiara-out .9s cubic-bezier(.4,0,.2,1) forwards}
@keyframes tp-tiara-out{25%{filter:brightness(1.9)}to{opacity:0;transform:scale(.9);filter:brightness(1.2)}}

/* Nome: entra escrito da esquerda para a direita, saindo do desfoque. */
.tp-cover-title{position:absolute;left:0;right:0;top:min(39svh,calc(6svh + min(90vw,52svh,620px) * .6 + 26px));z-index:3;display:flex;flex-direction:column;align-items:center;padding:0 16px;text-align:center;pointer-events:none}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-cover-eyebrow{margin:0 0 10px!important;font:700 11.5px/1.4 var(--tp-sans)!important;letter-spacing:.34em!important;padding-left:.34em!important;text-transform:uppercase!important;color:var(--tp-muted)!important;text-shadow:var(--tp-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-cover-name{display:inline-block;max-width:calc(100vw - 36px);margin:0!important;padding:.06em .2em .14em!important;white-space:nowrap;font-family:var(--tp-name)!important;font-style:var(--tp-name-style)!important;font-weight:var(--tp-name-weight)!important;font-size:var(--tp-cover-size)!important;line-height:1.02!important;letter-spacing:var(--tp-name-track)!important;color:var(--tp-name-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:var(--tp-halo)!important}
.tp-root[data-tp-font="caligrafia"] .tp-cover-name{padding-top:.2em!important}
.tp-root.is-closed .tp-cover-eyebrow{animation:tp-fade 1.4s ease .9s both}
.tp-root.is-closed .tp-cover-name{animation:tp-write 2.1s cubic-bezier(.4,0,.2,1) 1.05s both}
@keyframes tp-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tp-write{from{clip-path:inset(-20% 100% -20% 0);filter:blur(6px);opacity:.2}55%{filter:blur(0);opacity:1}to{clip-path:inset(-20% -10% -20% -10%);filter:none;opacity:1}}
.tp-root.tp-opening .tp-cover-title{animation:tp-title-out .7s cubic-bezier(.4,0,.2,1) forwards}
@keyframes tp-title-out{to{opacity:0;filter:blur(10px);transform:scale(1.06)}}

/* Cartão do botão: papel com filete dourado duplo. */
.tp-card{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + max(4svh,22px));z-index:3;box-sizing:border-box;width:min(calc(100vw - 40px),360px);padding:18px 18px 18px;border-radius:26px;text-align:center;transform:translateX(-50%);
  background:var(--tp-card);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);
  box-shadow:inset 0 0 0 1px var(--tp-card-line),inset 0 0 0 5px rgba(255,255,255,0),inset 0 0 0 6px color-mix(in srgb,var(--tp-card-line) 55%,transparent),0 24px 44px -26px var(--tp-shadow)}
.tp-root.is-closed .tp-card{animation:tp-card-in 1.5s cubic-bezier(.16,1.2,.3,1) 1.5s both}
@keyframes tp-card-in{from{opacity:0;transform:translate(-50%,46px) scale(.94)}to{opacity:1;transform:translate(-50%,0)}}
.tp-root.tp-opening .tp-card{animation:tp-card-out .7s cubic-bezier(.4,0,.2,1) forwards}
@keyframes tp-card-out{to{opacity:0;transform:translate(-50%,24px) scale(.96);filter:blur(6px)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-card-when{margin:4px 0 14px!important;font:650 14.5px/1.45 var(--tp-sans)!important;letter-spacing:.01em!important;color:var(--tp-ink)!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-greet{margin:0 0 14px!important;padding:0!important;background:none!important;border:0!important;font:var(--tp-display-style) 400 22px/1.3 var(--tp-display)!important;color:var(--tp-ink)!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-card .capa__convidado{display:flex;flex-direction:column;align-items:center;gap:2px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-card .capa__convidado small{font:700 10px/1.4 var(--tp-sans)!important;letter-spacing:.26em!important;padding-left:.26em;text-transform:uppercase!important;color:var(--tp-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-card .capa__convidado strong{font:var(--tp-display-style) 400 22px/1.3 var(--tp-display)!important;color:var(--tp-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.botao.tp-open{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:58px;margin:0;padding:14px 24px!important;border:0!important;border-radius:999px!important;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--tp-btn) 82%,#fff),var(--tp-btn) 55%,color-mix(in srgb,var(--tp-btn) 82%,#000))!important;background-color:var(--tp-btn)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.14),0 14px 28px -14px var(--tp-shadow),0 0 0 0 color-mix(in srgb,var(--tp-btn) 45%,transparent)!important;
  text-decoration:none!important;text-shadow:none!important;filter:none!important;-webkit-tap-highlight-color:transparent;transition:transform .5s cubic-bezier(.2,1.4,.3,1);animation:tp-call 2.8s ease-out 3.4s infinite}
@keyframes tp-call{0%{box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.14),0 14px 28px -14px var(--tp-shadow),0 0 0 0 color-mix(in srgb,var(--tp-btn) 45%,transparent)}70%,100%{box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.14),0 14px 28px -14px var(--tp-shadow),0 0 0 14px color-mix(in srgb,var(--tp-btn) 0%,transparent)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.botao.tp-open span{position:relative;z-index:1;font:750 16.5px/1.2 var(--tp-sans)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--tp-btn-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .tp-root a.botao.tp-open::before{content:""!important;display:block!important;position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 62%);transform:translateX(-120%);animation:tp-shine 4.4s ease-in-out 3s infinite}
body.sg-engine-claude_v1.sg-engine-claude_v1 .tp-root a.botao.tp-open::after{content:none!important;display:none!important}
@keyframes tp-shine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.tp-open:active{transform:scale(.97)}

/* ================= Convite aberto ================= */
.tp-app{position:relative;z-index:1;box-sizing:border-box;width:100%;padding:0 0 calc(env(safe-area-inset-bottom,0px) + 8px)}
.tp-root.is-closed:not(.tp-opening) .tp-app{opacity:0;pointer-events:none}
.tp-front{position:relative;display:flex;flex-direction:column;align-items:center;padding:max(5svh,26px) 16px 8px;text-align:center}
.tp-garland{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none}
.tp-f--g{top:calc(var(--y) + 0px)}
.tp-tiara--sheet{width:min(80vw,44svh,520px)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-eyebrow{margin:16px 0 0!important;font:700 11.5px/1.4 var(--tp-sans)!important;letter-spacing:.34em!important;padding-left:.34em!important;text-transform:uppercase!important;color:var(--tp-muted)!important;text-shadow:var(--tp-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-name{display:inline-block!important;max-width:calc(100vw - 24px);margin:6px 0 0!important;padding:.06em .2em .14em!important;white-space:nowrap;font-family:var(--tp-name)!important;font-style:var(--tp-name-style)!important;font-weight:var(--tp-name-weight)!important;font-size:var(--tp-sheet-size)!important;line-height:1.04!important;letter-spacing:var(--tp-name-track)!important;text-transform:none!important;color:var(--tp-name-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:var(--tp-halo)!important;outline:0}
.tp-root[data-tp-font="caligrafia"] .tp-name{padding-top:.2em!important}
.tp-when{display:flex;flex-direction:column;align-items:center;gap:2px;margin:22px 0 0!important}
.tp-wd,.tp-time{font:750 11.5px/1.8 var(--tp-sans);letter-spacing:.28em;padding-left:.28em;text-transform:uppercase;color:var(--tp-muted);text-shadow:var(--tp-halo-sm)}
.tp-date{font:var(--tp-display-style) 400 29px/1.25 var(--tp-display);color:var(--tp-ink);text-shadow:var(--tp-halo-sm)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-venue{margin:10px 0 0!important;font:var(--tp-display-style) 400 23px/1.35 var(--tp-display)!important;color:var(--tp-ink)!important;text-shadow:var(--tp-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-intro{max-width:20em;margin:22px auto 0!important;padding:0!important;font:var(--tp-display-style) 400 23px/1.45 var(--tp-display)!important;text-align:center;color:var(--tp-ink)!important;text-shadow:var(--tp-halo-sm)!important}
/* Ao abrir: o alto do convite sobe em cascata. */
.tp-root.tp-opening .tp-front > :not(.tp-garland,.tp-tiara){animation:tp-rise 1.3s var(--tp-ease) both;animation-delay:calc(1.05s + var(--q,0) * .09s)}
.tp-root.tp-opening .tp-tiara--sheet{animation:tp-fade .9s ease .15s both}
.tp-front > :nth-child(3){--q:1}.tp-front > :nth-child(4){--q:2}.tp-front > :nth-child(5){--q:3}.tp-front > :nth-child(6){--q:4}.tp-front > :nth-child(7){--q:5}
.tp-root.tp-opening .tp-garland .tp-f{animation:tp-bloom 1.4s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(.6s + var(--k) * 90ms)}
.tp-root.tp-opening :is(.tp-count,.tp-part){animation:tp-rise 1.2s var(--tp-ease) 1.2s both}
@keyframes tp-rise{from{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:none}}

/* Contagem: pastilhas de papel; o título é o que a cliente deu à contagem. */
.tp-count{margin:30px auto 0;padding:0 16px;text-align:center}
body.sg-engine-claude_v1 .tp-count .secao{padding:0!important;margin:0!important;border:0!important;background:none!important;opacity:1!important;transform:none!important;min-height:0!important}
body.sg-engine-claude_v1 .tp-count .secao__interno{width:auto!important;max-width:none!important;padding:0!important}
body.sg-engine-claude_v1 .tp-count :is(.divisor,.cantoneiras){display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .titulo-secao{display:block!important;margin:0 0 12px!important;padding:0 0 0 .34em!important;border:0!important;background:none!important;font:750 11px/1.4 var(--tp-sans)!important;letter-spacing:.34em!important;text-transform:uppercase!important;text-align:center!important;color:var(--tp-muted)!important;-webkit-text-fill-color:currentColor!important;text-shadow:var(--tp-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .titulo-secao::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .titulo-secao::after{content:none!important;display:none!important}
body.sg-engine-claude_v1 .tp-count .contagem{display:flex!important;flex-wrap:wrap;justify-content:center;gap:10px!important;margin:0!important}
body.sg-engine-claude_v1 .tp-count .contagem__item:not([hidden]){flex:0 1 78px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__item{min-width:0!important;padding:13px 4px 11px!important;border:0!important;border-radius:16px!important;background:#FFFDF8!important;
  box-shadow:inset 0 0 0 1px rgba(160,120,60,.45),inset 0 0 0 4px #FFFDF8,inset 0 0 0 5px rgba(160,120,60,.25),0 14px 26px -18px var(--tp-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__item:nth-child(4n+1){background:#EFE6FA!important;box-shadow:inset 0 0 0 1px rgba(160,120,60,.45),inset 0 0 0 4px #EFE6FA,inset 0 0 0 5px rgba(160,120,60,.25),0 14px 26px -18px var(--tp-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__item:nth-child(4n+2){background:#FBE6EE!important;box-shadow:inset 0 0 0 1px rgba(160,120,60,.45),inset 0 0 0 4px #FBE6EE,inset 0 0 0 5px rgba(160,120,60,.25),0 14px 26px -18px var(--tp-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__item:nth-child(4n+3){background:#E2F2E8!important;box-shadow:inset 0 0 0 1px rgba(160,120,60,.45),inset 0 0 0 4px #E2F2E8,inset 0 0 0 5px rgba(160,120,60,.25),0 14px 26px -18px var(--tp-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__item:nth-child(4n+4){background:#E2ECFA!important;box-shadow:inset 0 0 0 1px rgba(160,120,60,.45),inset 0 0 0 4px #E2ECFA,inset 0 0 0 5px rgba(160,120,60,.25),0 14px 26px -18px var(--tp-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__numero{display:block;font-family:var(--tp-display)!important;font-style:normal!important;font-size:38px!important;font-weight:400!important;line-height:1.05!important;font-variant-numeric:tabular-nums;color:#2B2140!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-count .contagem__rotulo{display:block!important;opacity:1!important;visibility:visible!important;position:static!important;margin-top:4px;font:750 10px/1.3 var(--tp-sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#55496A!important;text-shadow:none!important}
body.sg-engine-claude_v1 .tp-count .contagem__realizada{grid-column:1/-1;font-family:var(--tp-display)!important;font-size:24px!important;color:var(--tp-ink)!important}

/* ================= Cartões coloridos ================= */
.tp-part{position:relative;box-sizing:border-box;width:min(calc(100% - 32px),620px);margin:62px auto 0;scroll-margin-top:24px}
.tp-paper{position:relative;box-sizing:border-box;padding:46px 22px 26px;border-radius:18px;background:var(--tp-paper);color:#2B2140;
  background-image:radial-gradient(120% 60% at 50% 0,rgba(255,255,255,.55),rgba(255,255,255,0) 60%);
  box-shadow:inset 0 0 0 1px rgba(160,120,60,.5),inset 0 0 0 6px var(--tp-paper),inset 0 0 0 7px rgba(160,120,60,.28),0 28px 46px -30px var(--tp-shadow),0 2px 6px rgba(60,30,90,.06);
  --clm-paper:var(--tp-paper);--clm-ink:#2B2140;--clm-muted:#55496A;--clm-line:rgba(70,40,110,.16);--clm-accent:#5A3794;
  --clm-display:var(--tp-display);--clm-sans:var(--tp-sans);--c-primary-ink:#FFFFFF;--c-primary-text-surface:#5A3794}
.tp-pin{position:absolute;z-index:2;top:-40px;width:104px;height:auto;pointer-events:none;filter:drop-shadow(0 10px 10px rgba(60,30,90,.25))}
.tp-part--l .tp-pin{left:-14px;rotate:-12deg}
.tp-part--r .tp-pin{right:-14px;rotate:14deg}
.tp-root[data-tp-set="ametista"] .tp-pin{filter:brightness(.95) drop-shadow(0 10px 14px rgba(0,0,0,.45))}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-part-title{display:block;margin:0 0 10px!important;padding:0 26px!important;font-family:var(--tp-display)!important;font-style:var(--tp-display-style)!important;font-size:clamp(32px,9vw,42px)!important;font-weight:400!important;line-height:1.1!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;text-wrap:balance;color:#2B2140!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-modules--same-title > .secao:first-child .titulo-secao,
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-part--vip .tp-modules #confirmar .titulo-secao{display:none!important}
.tp-paper .tp-modules{margin-top:4px}
/* Cartão que chega na tela: pousa girando de leve; a flor do canto entra com uma mola. */
.tp-root.tp-js.tp-opened .tp-part:not(.is-in) :is(.tp-paper,.tp-pin){opacity:0}
.tp-part.is-in .tp-paper{animation:tp-land 1.15s cubic-bezier(.2,.85,.25,1) both}
.tp-part--r.is-in .tp-paper{animation-name:tp-land-r}
.tp-part.is-in .tp-pin{animation:tp-pin .95s cubic-bezier(.2,1.5,.35,1) .35s both}
@keyframes tp-land{from{opacity:0;transform:translateY(54px) rotate(-3.2deg) scale(.96)}60%{opacity:1;transform:translateY(-4px) rotate(.5deg)}to{opacity:1;transform:none}}
@keyframes tp-land-r{from{opacity:0;transform:translateY(54px) rotate(3.2deg) scale(.96)}60%{opacity:1;transform:translateY(-4px) rotate(-.5deg)}to{opacity:1;transform:none}}
@keyframes tp-pin{from{opacity:0;scale:.2;transform:rotate(-80deg)}to{opacity:1;scale:1;transform:none}}

/* ================= Fim: "Voltar ao início" e o buquê ================= */
.tp-close{position:relative;padding:56px 0 0;text-align:center}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.tp-top{position:relative;z-index:3;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 24px;border-radius:999px;font:750 13.5px/1.3 var(--tp-sans);color:var(--tp-ink)!important;text-decoration:none!important;background:var(--tp-card);box-shadow:inset 0 0 0 1px var(--tp-card-line),0 12px 24px -16px var(--tp-shadow)}
.tp-bouquet{position:relative;width:min(100%,560px);height:min(78vw,420px);margin:-6px auto 0;pointer-events:none;--u:min(1.15vw,5.6px)}
.tp-bouquet .tp-f{pointer-events:auto}

/* ================= Telas largas ================= */
.tp-f--wide{display:none}
@media (orientation:landscape) and (min-width:760px){
  .tp-f--wide{display:block}
  .tp-root{--u:min(1.35vw,.9svh)}
  .tp-tiara--cover{top:3svh;width:min(52svh,40vw,560px)}
  .tp-cover-title{top:calc(3svh + min(52svh,40vw,560px) * .6 + 18px)}
  body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tp-cover-name{font-size:clamp(64px,min(10vw,14svh),150px)!important}
  .tp-part{width:min(calc(100% - 64px),640px)}
  .tp-paper{padding:52px 40px 32px}
  .tp-bouquet{--u:5.6px}
}
@media (orientation:portrait) and (min-width:700px){
  .tp-root{--u:min(.95vw,.6svh)}
  .tp-tiara--cover{width:min(70vw,40svh,600px)}
  .tp-cover-title{top:calc(6svh + min(70vw,40svh,600px) * .6 + 30px)}
}

/* Movimento reduzido: tudo parado, a tiara em pé. */
@media (prefers-reduced-motion:reduce){
  .tp-root *,.tp-root *::before{animation:none!important;transition:none!important}
  .tp-root .tp-part :is(.tp-paper,.tp-pin){opacity:1!important}
}

/* Impressão / PDF: só o convite, em papel branco. */
@media print{
  .tp-root :is(.tp-air,.tp-cover,.tp-atmos,.tp-bouquet,.tp-garland,.tp-pin,.tp-tiara){display:none!important}
  .tp-root .tp-app{opacity:1!important}
  .tp-root .tp-part :is(.tp-paper){opacity:1!important;animation:none!important;break-inside:avoid;box-shadow:0 0 0 1px rgba(0,0,0,.18)!important;background:#fff!important}
  body.sg-engine-claude_v1{--c-ink:#1B1B1B;--c-ink-soft:#444;--c-name:#111}
  .tp-root{--tp-halo:none;--tp-halo-sm:none}
}

/* Miniatura da capa e prévia de seção */
.tp-root--cover-only .tp-app{display:none}
.tp-root--cover-only :is(.tp-f,.tp-fi,.tp-tiara,.tp-cover-title,.tp-cover-title > *,.tp-card,.tp-bg){animation:none!important;opacity:1}
.tp-root--section{padding:18px 16px;background:var(--c-bg,#ECE4F6)}
.tp-root--section .tp-paper{--tp-paper:#EFE6FA;padding:22px 18px}
.tp-root--section .tp-modules{--c-bg:#EFE6FA;--c-surface:#EFE6FA;--c-ink:#2B2140;--c-ink-soft:#55496A;--c-line:rgba(70,40,110,.16);--c-primary:#5A3794;--c-button-bg:#5A3794;--c-button-ink:#fff;color:#2B2140;font-family:var(--tp-sans)}
