/*
 * Motor Claude — tema Floresta Encantada.
 * Capa: bosque de troncos altos na neblina, com a luz ainda fraca. Ao tocar, a
 * luz atravessa a copa em raios, a névoa se abre, os vaga-lumes sobem e o
 * convidado caminha para dentro da floresta. O menu fica sobre o verde; as
 * partes abrem em cartões claros.
 * Tudo escopado em body.sg-engine-claude_v1: não afeta outros temas.
 *
 * Paleta (--c-*): light = luz do sol/lua, fog = neblina, far = árvores ao
 * fundo, trunk = troncos próximos, moss = musgo e folhagem, floor = chão,
 * firefly = vaga-lumes, night / night-ink / night-muted = fundo escuro e
 * textos sobre ele, paper / paper-ink / paper-muted / line = cartões claros,
 * accent / accent-ink = botões, accent-text = destaques sobre o cartão claro.
 */
@font-face{font-family:"Alex Brush";font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/alex-brush-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("../../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("../../fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("../../fonts/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("../../fonts/jost-latin-500-normal.woff2") format("woff2")}

body.sg-engine-claude_v1{
  --fo-light:var(--c-light,#FFE3A8);--fo-fog:var(--c-fog,#8EA588);--fo-far:var(--c-far,#5D7A62);--fo-trunk:var(--c-trunk,#1B2A1F);--fo-moss:var(--c-moss,#56753F);
  --fo-floor:var(--c-floor,#22331F);--fo-firefly:var(--c-firefly,#F6E58C);
  --fo-night:var(--c-night,#0F1A13);--fo-night-ink:var(--c-night-ink,#F2ECDD);--fo-night-muted:var(--c-night-muted,#B8C2AE);
  --fo-paper:var(--c-paper,#FAF6EC);--fo-ink:var(--c-paper-ink,#1E2A20);--fo-muted:var(--c-paper-muted,#5D6A5A);--fo-line:var(--c-line,#E3DCC8);
  --fo-accent:var(--c-accent,#D8B45E);--fo-accent-ink:var(--c-accent-ink,#1C1606);--fo-accent-text:var(--c-accent-text,#6E5A1E);
  --fo-accent-soft:color-mix(in srgb,var(--fo-accent) 18%,#fff);
  --fo-night-line:color-mix(in srgb,var(--fo-night-ink) 14%,transparent);
  --fo-win1:var(--fo-light);--fo-win2:var(--fo-firefly);
  --fo-script:"Alex Brush","Snell Roundhand",cursive;--fo-serif:"Cormorant Garamond",Georgia,serif;--fo-sans:"Jost",system-ui,sans-serif;
  background:var(--fo-night)!important;background-image:none!important;color:var(--fo-night-ink);font-family:var(--fo-sans)}
body.sg-engine-claude_v1::before,body.sg-engine-claude_v1::after{display:none!important}
body.sg-engine-claude_v1 .pagina-convite{max-width:480px;margin:0 auto!important;background:var(--fo-night);min-height:100svh;overflow:clip}
body.sg-engine-claude_v1 .convite{overflow:visible!important}
body.sg-engine-claude_v1 .fo-root{position:relative;isolation:isolate}
body.sg-engine-claude_v1 .fo-root [hidden]{display:none!important}
/* Telas fora de vista: classe em vez de [hidden], para os scripts do convite (mapa etc.) prepararem o conteúdo. */
body.sg-engine-claude_v1 .fo-root .fo-pg.fo-off{display:none!important}
.fo-book{position:relative;z-index:1}

/* ================= Fundo das telas internas: o bosque na penumbra ================= */
/* Só aparece dentro das partes; na tela do menu a página termina na cor do tema. */
body.sg-engine-claude_v1:not([data-fo-screen]) .fo-bg,body.sg-engine-claude_v1[data-fo-screen="menu"] .fo-bg{display:none}
.fo-bg{position:fixed;z-index:0;top:0;bottom:0;left:50%;width:min(100%,480px);transform:translateX(-50%);pointer-events:none;overflow:hidden;
  background:radial-gradient(90% 55% at 42% 6%,color-mix(in srgb,var(--fo-light) 38%,var(--fo-fog)) 0,transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--fo-fog) 70%,var(--fo-night)) 0%,color-mix(in srgb,var(--fo-far) 55%,var(--fo-night)) 50%,var(--fo-night) 100%)}
.fo-bg-rays,.fo-rays{position:absolute;inset:-10% -20% 20%;background:repeating-conic-gradient(from 168deg at 42% -12%,transparent 0 5deg,color-mix(in srgb,var(--fo-light) 22%,transparent) 5deg 7deg,transparent 7deg 13deg);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%);filter:blur(6px);opacity:.7;animation:fo-rays 9s ease-in-out infinite alternate}
@keyframes fo-rays{from{opacity:.45;transform:rotate(-1deg)}to{opacity:.8;transform:rotate(1deg)}}
.fo-bg .fo-grove{position:absolute;left:0;bottom:0;width:100%;height:100%}
.fo-bg .fo-grove--far{opacity:.55;filter:blur(1px)}
.fo-bg .fo-grove--near{filter:blur(2.5px);opacity:.9}
.fo-bg-mist,.fo-mist{position:absolute;left:-20%;right:-20%;pointer-events:none;background:radial-gradient(50% 50% at 30% 50%,color-mix(in srgb,var(--fo-fog) 55%,transparent),transparent 70%),radial-gradient(45% 50% at 75% 60%,color-mix(in srgb,var(--fo-fog) 45%,transparent),transparent 70%);filter:blur(10px);animation:fo-mist 22s ease-in-out infinite alternate}
.fo-bg-mist{bottom:4%;height:30%;opacity:.6}
@keyframes fo-mist{from{transform:translateX(-6%)}to{transform:translateX(6%)}}
.fo-grove .fo-trunks,.fo-grove .fo-floor{fill:var(--fo-trunk)}
.fo-grove--far .fo-trunks,.fo-grove--far .fo-floor{fill:color-mix(in srgb,var(--fo-far) 55%,var(--fo-fog))}
.fo-grove--mid .fo-trunks,.fo-grove--mid .fo-floor{fill:color-mix(in srgb,var(--fo-trunk) 55%,var(--fo-far))}
.fo-grove--near .fo-floor{fill:color-mix(in srgb,var(--fo-trunk) 80%,var(--fo-moss))}

/* ================= Cena (tela inicial e, por trás da capa, a abertura) ================= */
.fo-pg{position:relative;box-sizing:border-box;min-height:100svh;text-align:center}
.fo-home{background:var(--fo-night)}
.fo-scene{position:relative;height:100svh;min-height:540px;overflow:hidden;background:var(--fo-night)}
.fo-gl,.fo-fx{position:absolute;inset:0;display:block;width:100%;height:100%}
.fo-gl{z-index:1}
.fo-fx{z-index:2;pointer-events:none}
/* Reserva sem WebGL: o mesmo desenho em CSS/SVG */
.fo-art{position:absolute;inset:0;z-index:0}
.fo-root.fo-gl-on .fo-art{visibility:hidden}
/* Reserva sem WebGL: o mesmo bosque em SVG/CSS */
.fo-sky{position:absolute;inset:0;background:radial-gradient(70% 45% at 42% 12%,var(--fo-light) 0,color-mix(in srgb,var(--fo-light) 45%,var(--fo-fog)) 30%,var(--fo-fog) 65%),linear-gradient(180deg,var(--fo-fog),color-mix(in srgb,var(--fo-floor) 60%,var(--fo-fog)))}
.fo-art .fo-grove{position:absolute;left:0;top:0;width:100%;height:100%}
.fo-mist--back{top:48%;height:22%;opacity:.8}
.fo-mist--front{top:62%;height:26%;opacity:.55;animation-duration:30s}
.fo-canopy{position:absolute;inset:0 0 auto 0;height:34%;background:linear-gradient(180deg,var(--fo-trunk) 0,color-mix(in srgb,var(--fo-trunk) 70%,transparent) 45%,transparent 100%)}
.fo-canopy::after{content:"";position:absolute;inset:0;opacity:.55;background-image:radial-gradient(circle 9px at 14% 18%,color-mix(in srgb,var(--fo-light) 45%,transparent) 60%,transparent 64%),radial-gradient(circle 6px at 33% 9%,color-mix(in srgb,var(--fo-light) 40%,transparent) 60%,transparent 64%),radial-gradient(circle 11px at 58% 22%,color-mix(in srgb,var(--fo-light) 35%,transparent) 60%,transparent 64%),radial-gradient(circle 7px at 79% 12%,color-mix(in srgb,var(--fo-light) 45%,transparent) 60%,transparent 64%),radial-gradient(circle 8px at 91% 30%,color-mix(in srgb,var(--fo-light) 35%,transparent) 60%,transparent 64%);filter:blur(1.5px);animation:fo-twinkle 6s ease-in-out infinite alternate}
@keyframes fo-twinkle{from{opacity:.3}to{opacity:.7}}
.fo-art .fo-grove--near{filter:blur(1.5px)}
.fo-root:not(.fo-lit):not(.is-opening):not(.is-opened) .fo-rays{opacity:.2}
.fo-root:is(.is-opening) .fo-art{animation:fo-walk 3.2s cubic-bezier(.5,0,.3,1) both}
@keyframes fo-walk{from{transform:scale(1)}to{transform:scale(1.12)}}

/* Títulos sobre o céu */
.fo-titles,.fo-cover-titles{position:absolute;z-index:3;left:0;right:0;top:calc(19svh + env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;padding:0 20px}
/* XV entre filetes dourados, logo abaixo do nome */
.fo-xv{display:flex;align-items:center;gap:16px;margin:2px 0 0;color:var(--fo-night-ink)}
.fo-xv span{font-family:var(--fo-serif);font-size:clamp(46px,13vw,62px);font-weight:600;line-height:1;letter-spacing:.14em;padding-left:.14em;
  background:linear-gradient(180deg,#fff 0%,var(--fo-light) 55%,color-mix(in srgb,var(--fo-accent) 80%,var(--fo-light)) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.5)) drop-shadow(0 0 18px color-mix(in srgb,var(--fo-light) 45%,transparent))}
.fo-xv i{display:block;width:clamp(36px,12vw,64px);height:1px;background:linear-gradient(90deg,transparent,var(--fo-accent));opacity:.9}
.fo-xv i:last-child{background:linear-gradient(270deg,transparent,var(--fo-accent))}
.fo-root.is-opening .fo-cover-titles .fo-xv{animation:fo-xv-glow 2s ease both}
@keyframes fo-xv-glow{from{opacity:.75}to{opacity:1}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-eyebrow{margin:0 0 4px;font-family:var(--fo-sans);font-size:12.5px;font-weight:500;letter-spacing:.34em;padding-left:.34em;text-transform:uppercase;color:var(--fo-night-ink);opacity:.9;text-shadow:0 1px 10px rgba(0,0,0,.55)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-name{box-sizing:border-box;width:100%;margin:0;padding:.06em .16em .14em;font-family:var(--fo-script);font-weight:400;font-size:clamp(60px,18vw,88px);line-height:1.2;letter-spacing:0;text-transform:none;white-space:nowrap;text-align:center;
  color:var(--fo-night-ink);text-shadow:0 2px 10px rgba(0,0,0,.55),0 0 22px color-mix(in srgb,var(--fo-light) 45%,transparent),0 0 50px color-mix(in srgb,var(--fo-light) 22%,transparent)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-name.fo-name--2l{white-space:normal;line-height:1.08;text-wrap:balance;padding-bottom:.2em}
/* Adormecida: nome em luz baixa, respira devagar */
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-name--cover{text-shadow:0 0 14px color-mix(in srgb,var(--fo-win1) 30%,transparent);opacity:.92;animation:fo-breathe 4.5s ease-in-out infinite}
@keyframes fo-breathe{0%,100%{opacity:.8}50%{opacity:1}}

/* ================= Capa ================= */
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .capa.fo-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;text-align:center;
  background:none!important;background-image:none!important;border:0!important;box-shadow:none!important}
body.sg-engine-claude_v1 .fo-root .capa.fo-cover::before,body.sg-engine-claude_v1 .fo-root .capa.fo-cover::after{content:none!important;display:none!important}
@media (min-width:560px){body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .capa.fo-cover{left:50%!important;right:auto!important;width:480px;transform:translateX(-50%)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .capa.fo-cover.is-gone{display:none!important}
.fo-cover-foot{position:absolute;left:0;right:0;bottom:calc(46px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;padding:0 24px}
.fo-guest{min-height:1px;margin:0 0 16px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .fo-guest .capa__convidado:not(:empty){display:block!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;margin:0!important;padding:0!important;
  font-family:var(--fo-serif)!important;font-size:22px!important;font-style:italic!important;font-weight:400!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:var(--fo-night-ink)!important;background:none!important;border:0!important;text-shadow:0 1px 10px rgba(0,0,0,.6)!important}
body.sg-engine-claude_v1 .fo-guest .capa__convidado :is(small,strong){display:block;font:inherit!important;color:inherit!important;text-transform:none!important}
/* Botão de abrir: uma luz âmbar que pulsa como janela acendendo */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root a.botao.fo-open{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:0!important;padding:17px 44px 16px!important;border:0!important;border-radius:999px!important;overflow:visible;
  background:var(--fo-accent)!important;background-color:var(--fo-accent)!important;background-image:none!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-win1) 60%,transparent),0 0 26px 4px color-mix(in srgb,var(--fo-accent) 55%,transparent),0 16px 30px -14px #000!important;
  font-family:var(--fo-sans)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--fo-accent-ink)!important;text-shadow:none!important;text-decoration:none!important;
  animation:fo-pulse 2.6s ease-in-out infinite}
body.sg-engine-claude_v1 .fo-root a.botao.fo-open::before,body.sg-engine-claude_v1 .fo-root a.botao.fo-open::after{content:none!important;display:none!important}
body.sg-engine-claude_v1 .fo-root a.botao.fo-open:focus-visible{outline:2px solid var(--fo-win1);outline-offset:5px}
.fo-open-label{position:relative;z-index:1;padding-left:.22em}
.fo-open-glow{position:absolute;inset:-14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fo-win1) 55%,transparent);opacity:0;animation:fo-ring 2.6s ease-out infinite}
@keyframes fo-pulse{0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-win1) 60%,transparent),0 0 18px 2px color-mix(in srgb,var(--fo-accent) 40%,transparent),0 16px 30px -14px #000}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-win1) 80%,transparent),0 0 34px 8px color-mix(in srgb,var(--fo-accent) 65%,transparent),0 16px 30px -14px #000}}
@keyframes fo-ring{0%{transform:scale(.8);opacity:.8}100%{transform:scale(1.18);opacity:0}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-hint{margin:16px 0 0;font-family:var(--fo-sans);font-size:11.5px;font-weight:400;letter-spacing:.24em;padding-left:.24em;text-transform:uppercase;color:var(--fo-night-muted);text-shadow:0 1px 8px rgba(0,0,0,.7)}

/* Abrindo: o nome da capa ganha luz enquanto a cidade acende; depois a tela inicial assume */
.fo-root.is-closed :is(.fo-titles,.fo-sheet){opacity:0}
.fo-root.is-opening .fo-cover-foot{animation:fo-out .5s ease both}
.fo-root.is-opening .fo-name--cover{animation:fo-ignite 1.9s ease both!important}
.fo-root.is-opening .fo-cover-titles{animation:fo-fade-out .35s ease 1.95s both}
.fo-root.is-opening .fo-titles{animation:fo-fade-in .35s ease 1.9s both}
.fo-root.is-opening .fo-sheet{animation:fo-rise 1.1s cubic-bezier(.2,.8,.2,1) 2s both}
.fo-root.is-opening .fo-list li{animation:fo-rise .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(2.3s + var(--i) * .07s)}
@keyframes fo-out{to{opacity:0;transform:translateY(14px)}}
@keyframes fo-ignite{0%{opacity:.85;text-shadow:0 0 14px color-mix(in srgb,var(--fo-win1) 30%,transparent)}100%{opacity:1;text-shadow:0 0 1px color-mix(in srgb,var(--fo-win1) 80%,transparent),0 0 18px color-mix(in srgb,var(--fo-win1) 55%,transparent),0 0 46px color-mix(in srgb,var(--fo-win2) 30%,transparent)}}
@keyframes fo-fade-out{to{opacity:0}}
@keyframes fo-fade-in{from{opacity:0}}
@keyframes fo-rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

/* ================= Tela inicial: menu sobre a noite ================= */
/* O conteúdo começa logo abaixo da linha do chão: data, frase e confirmação já na primeira tela. */
.fo-sheet{position:relative;z-index:4;margin-top:-42svh;padding:34px 26px calc(56px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--fo-night) 72%,transparent) 60px,var(--fo-night) 150px)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-when{margin:0;font-family:var(--fo-serif);font-size:23px;font-weight:600;line-height:1.4;color:var(--fo-night-ink);text-wrap:balance}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-intro{margin:14px auto 0;max-width:30ch;font-family:var(--fo-serif);font-size:21px;font-style:italic;font-weight:400;line-height:1.5;color:var(--fo-night-muted);text-wrap:balance}
.fo-menu{margin:28px 0 0;text-align:left}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root a.fo-rsvp{position:relative;display:block;overflow:hidden;padding:18px 18px 17px;border-radius:999px;text-align:center;text-decoration:none;background:var(--fo-accent)!important;background-color:var(--fo-accent)!important;color:var(--fo-accent-ink)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-win1) 50%,transparent),0 0 30px -4px color-mix(in srgb,var(--fo-accent) 70%,transparent);font-family:var(--fo-sans);font-size:14.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
body.sg-engine-claude_v1 .fo-root a.fo-rsvp span{position:relative;z-index:1}
/* Reflexo de luz que atravessa o botão, como farol passando */
body.sg-engine-claude_v1 .fo-root a.fo-rsvp::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);animation:fo-sheen 4.2s ease-in-out 1s infinite}
@keyframes fo-sheen{0%{left:-40%}40%,100%{left:130%}}
body.sg-engine-claude_v1 .fo-root a.fo-rsvp:focus-visible{outline:2px solid var(--fo-win1);outline-offset:4px}
.fo-list{list-style:none;margin:22px 0 0;padding:0}
.fo-list li{margin:0;padding:0;border-bottom:1px solid var(--fo-night-line)}
.fo-list li:first-child{border-top:1px solid var(--fo-night-line)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root a.fo-item{display:flex;align-items:center;gap:14px;min-height:58px;padding:0 4px;text-decoration:none;color:var(--fo-night-ink);-webkit-tap-highlight-color:transparent}
.fo-item-icon{flex:none;width:22px;height:22px;color:var(--fo-win1);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--fo-win1) 45%,transparent))}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .fo-item-label{flex:1;min-width:0;font-family:var(--fo-serif);font-size:24px;font-weight:600;line-height:1.2;letter-spacing:0;text-transform:none;color:inherit}
.fo-arrow{flex:none;width:16px;height:16px}
.fo-item .fo-arrow{color:var(--fo-win1);transition:transform .2s}
body.sg-engine-claude_v1 .fo-root a.fo-item:hover .fo-arrow{transform:translateX(3px)}
body.sg-engine-claude_v1 .fo-root a.fo-item:focus-visible{outline:1px solid var(--fo-win1);outline-offset:-2px;border-radius:8px}
/* Contagem */
.fo-count{margin:42px 0 0}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-root .fo-count-title{margin:0 0 10px;font-family:var(--fo-sans);font-size:12.5px;font-weight:500;letter-spacing:.3em;padding-left:.3em;text-transform:uppercase;color:var(--fo-win1)}
body.sg-engine-claude_v1 .fo-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 .fo-count .secao__interno{width:auto!important;max-width:none!important;padding:0!important}
body.sg-engine-claude_v1 .fo-count :is(.titulo-secao,.divisor,.cantoneiras){display:none!important}
body.sg-engine-claude_v1 .fo-count .contagem{display:flex!important;justify-content:center;gap:22px!important;margin:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-count .contagem__item{min-width:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-count .contagem__numero{font-family:var(--fo-serif)!important;font-size:46px!important;font-weight:500!important;line-height:1!important;color:var(--fo-night-ink)!important;text-shadow:0 0 18px color-mix(in srgb,var(--fo-win1) 40%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-count .contagem__rotulo{display:block!important;opacity:1!important;visibility:visible!important;position:static!important;margin-top:6px;font-family:var(--fo-sans)!important;font-size:12px!important;font-style:normal!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--fo-night-muted)!important}
body.sg-engine-claude_v1 .fo-count .contagem__realizada{font-family:var(--fo-serif)!important;color:var(--fo-night-ink)!important}

/* ================= Telas ================= */
.fo-page{text-align:left;padding:calc(40px + env(safe-area-inset-top)) 20px calc(112px + env(safe-area-inset-bottom))!important}
.fo-page-head{text-align:center;margin:0 0 22px;color:var(--fo-night-ink)}
.fo-page-icon{display:block;width:30px;height:30px;margin:0 auto 10px;color:var(--fo-win1);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--fo-win1) 55%,transparent))}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .fo-title{margin:0 0 12px;padding:0;font-family:var(--fo-serif);font-size:40px;font-weight:600;line-height:1.15;letter-spacing:0;text-transform:none;color:var(--fo-night-ink)}
.fo-rule{display:block;width:120px;height:14px;margin:0 auto}
.fo-rule path{stroke:var(--fo-win1);stroke-width:1.3;stroke-linejoin:round;opacity:.85}
.fo-page.fo-enter-anim :is(.fo-page-head,.fo-card){animation:fo-rise .7s cubic-bezier(.2,.8,.2,1) both}
.fo-page.fo-enter-anim .fo-card{animation-delay:.1s}
/* Cartão claro: como a janela acesa de um apartamento */
.fo-card{position:relative;border-radius:20px;background:var(--fo-paper);box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-win1) 35%,transparent),0 0 40px -6px color-mix(in srgb,var(--fo-win1) 28%,transparent),0 30px 50px -30px #000}

/* ---------- Módulos reais do Capítulo 15 no cartão ---------- */
body.sg-engine-claude_v1 .fo-modules{
  --c-bg:var(--fo-paper);--c-surface:var(--fo-paper);--c-ink:var(--fo-ink);--c-ink-soft:var(--fo-muted);--c-line:var(--fo-line);
  --c-name:var(--fo-ink);--c-primary:var(--fo-accent-text);--c-button-bg:var(--fo-ink);--c-button-ink:#fff;
  padding:14px 24px 26px;color:var(--fo-ink);font-family:var(--fo-sans);text-align:left}
body.sg-engine-claude_v1 .fo-modules .secao{position:relative;margin:0!important;padding:16px 0 8px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--fo-ink)!important;min-height:0!important}
body.sg-engine-claude_v1 .fo-modules #confirmar{border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1 .fo-modules .secao + .secao{margin-top:10px!important;padding-top:22px!important;border-top:1px solid var(--fo-line)!important}
body.sg-engine-claude_v1 .fo-modules .secao__interno{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
body.sg-engine-claude_v1 .fo-modules :is(.cantoneiras,.cantoneira,.divisor){display:none!important}
body.sg-engine-claude_v1 .fo-modules .revela{opacity:1!important;transform:none!important}
body.sg-engine-claude_v1 .fo-modules :is(.cartao,.moldura){border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1 .fo-modules :is(.moldura,.cartao,.texto)::before,body.sg-engine-claude_v1 .fo-modules :is(.moldura,.cartao,.texto)::after{display:none!important}
body.sg-engine-claude_v1 .fo-card--same-title .fo-modules > .secao:first-child .titulo-secao{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .titulo-secao{display:block!important;width:100%!important;max-width:none!important;margin:0 0 14px!important;padding:0!important;font-family:var(--fo-sans)!important;font-size:12.5px!important;font-weight:500!important;letter-spacing:.2em!important;line-height:1.4!important;text-transform:uppercase!important;text-align:left!important;color:var(--fo-accent-text)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(p,li,.texto,.texto p,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,.rsvp-identificacao p,.rsvp-saudacao,.rsvp-membro,.compromisso__endereco,.compromisso__nota,.compromisso__data,.compromisso__hora,.party-public-6136__copy p,.party-public-6136__copy span){font-family:var(--fo-sans)!important;font-size:16px!important;font-weight:400!important;font-style:normal!important;line-height:1.6!important;letter-spacing:0!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(.item__titulo,.evento__nome,.local-card__nome,.compromisso__nome,.party-public-6136__copy h3){font-family:var(--fo-serif)!important;font-size:21px!important;font-weight:600!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(.campo__rotulo,.rsvp-prazo){font-family:var(--fo-sans)!important;font-size:12px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--fo-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules p#rsvp-membros-rotulo{font-family:var(--fo-sans)!important;font-size:15px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(label,legend):not(.campo__rotulo){font-family:var(--fo-sans)!important;font-size:15px!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .compromisso__local{margin:4px 0!important;font-family:var(--fo-serif)!important;font-size:28px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.2!important;text-transform:none!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1 .fo-modules .compromisso{margin:0 0 12px!important;padding:0 0 14px!important;border:0!important;border-bottom:1px solid var(--fo-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1 .fo-modules .party-public-6136__icon{background:var(--fo-paper)!important;color:var(--fo-accent-text)!important;border:0!important;box-shadow:inset 0 0 0 1.5px var(--fo-accent-text)!important}
body.sg-engine-claude_v1 .fo-modules .party-public-6136__icon [class*="mdi-sg"]{color:var(--fo-accent-text)!important}
body.sg-engine-claude_v1 .fo-modules .party-public-6136__line{background:var(--fo-line)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .itens--grade{display:grid!important;grid-template-columns:1fr!important;gap:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .item{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:14px!important;margin:0!important;padding:14px 0!important;min-height:0!important;border:0!important;border-bottom:1px solid var(--fo-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;transform:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .item:last-child{border-bottom:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .item__icone{flex:none!important;align-self:flex-start!important;margin:3px 0 0!important;width:24px!important;height:24px!important;font-size:20px!important;color:var(--fo-accent-text)!important;background:none!important;border:0!important}
body.sg-engine-claude_v1 .fo-modules .item__icone [class*="mdi-sg"]{color:var(--fo-accent-text)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(.item__conteudo,.item__principal,.item__titulo,.item__texto){text-align:left!important;align-items:flex-start!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .itens--grade > .item{grid-column:auto!important;justify-self:stretch!important;width:auto!important;max-width:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .texto--centro{text-align:left!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-modules .compromisso__comodidades{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-modules .compromisso__comodidade{grid-template-columns:2rem minmax(0,1fr)!important;gap:12px!important;align-items:center!important;border-radius:12px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-modules .compromisso__comodidade :is(.item__titulo,.item__texto){overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important}
body.sg-engine-claude_v1 .fo-modules :is(.compromisso__mapa-estatico,.invite-static-map-6159){border-radius:12px!important;overflow:hidden}
body.sg-engine-claude_v1 .fo-modules :is(.compromisso__mapa-estatico,.invite-static-map-6159) img{display:block;width:100%;height:auto}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules :is(input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea){border:1px solid color-mix(in srgb,var(--fo-ink) 22%,transparent)!important;border-radius:12px!important;background:#fff!important;color:var(--fo-ink)!important;font-family:var(--fo-sans)!important;font-size:16px!important;box-shadow:none!important}
body.sg-engine-claude_v1 .fo-modules :is(input,select,textarea):focus{outline:0!important;border-color:var(--fo-accent-text)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--fo-accent) 30%,transparent)!important}
body.sg-engine-claude_v1 .fo-modules :is(.rsvp-cartao,.rsvp-preview-note-4035,.aviso,.rsvp-membro,.rsvp-guest-policy-ack,.rsvp__resposta){border-radius:12px!important;box-shadow:none!important}
body.sg-engine-claude_v1 .fo-modules #confirmar .rsvp-cartao--simples{max-width:none!important;background:transparent!important;border:0!important;padding:0!important}
body.sg-engine-claude_v1 .fo-modules .escolha{border:1px solid color-mix(in srgb,var(--fo-ink) 22%,transparent)!important;border-radius:999px!important;background:#fff!important;color:var(--fo-ink)!important;font-family:var(--fo-sans)!important}
body.sg-engine-claude_v1 .fo-modules .escolha:has(input:checked){background:var(--fo-accent-soft)!important;border-color:var(--fo-accent-text)!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1 .fo-modules :is(input,select,textarea) + :is(.botao,button),body.sg-engine-claude_v1 .fo-modules form .botao{margin-top:14px!important}
body.sg-engine-claude_v1 .fo-modules a:not(.botao){color:var(--fo-accent-text)}
/* Botões no cartão: noite preenchida com texto claro; secundário em contorno */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root :is(.botao,button.botao,a.botao):not(.fo-open){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px!important;border:0!important;border-radius:999px!important;
  background:var(--fo-ink)!important;background-color:var(--fo-ink)!important;background-image:none!important;color:#fff!important;font-family:var(--fo-sans)!important;font-size:13.5px!important;font-weight:500!important;letter-spacing:.14em!important;line-height:1.1!important;text-transform:uppercase!important;text-decoration:none!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fo-accent) 70%,transparent),0 12px 22px -16px #000!important;text-shadow:none}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root :is(button.botao.botao--contorno,a.botao.botao--contorno,.botao.botao--contorno,button.compromisso__copiar-endereco,.compromisso__copiar-endereco):not(.fo-open){background:transparent!important;color:var(--fo-ink)!important;text-shadow:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fo-accent-text) 70%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-modules .compromisso__copiar-endereco{display:inline-flex!important;align-items:center;min-height:34px!important;margin:6px 0 4px!important;padding:6px 14px!important;border:0!important;border-radius:999px!important;font-family:var(--fo-sans)!important;font-size:11.5px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .botao--pequeno{min-height:38px;padding:8px 16px!important;font-size:12px!important}
body.sg-engine-claude_v1 .fo-root .botao--bloco{display:flex;width:100%}
body.sg-engine-claude_v1 .fo-root .botao:not(.fo-open)::before,body.sg-engine-claude_v1 .fo-root .botao:not(.fo-open)::after{display:none!important}
body.sg-engine-claude_v1 .fo-modules :is(.mural-6138__title,.mural-610__eyebrow){font-family:var(--fo-sans)!important;letter-spacing:.14em!important;color:var(--fo-ink)!important}
body.sg-engine-claude_v1 .fo-modules .mural-6138__subtitle{font-family:var(--fo-serif)!important;font-style:italic;color:var(--fo-muted)!important}

/* ---------- Voltar ao menu ---------- */
body.sg-engine-claude_v1.sg-engine-claude_v1 a.fo-back{position:fixed!important;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:flex!important;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:min(calc(100% - 48px),380px)!important;margin:0!important;padding:14px 18px!important;transform:translateX(-50%)!important;
  border-radius:999px;background:color-mix(in srgb,var(--fo-night) 86%,transparent)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--fo-night-ink)!important;text-decoration:none!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fo-win1) 50%,transparent),0 12px 28px -14px #000!important;font-family:var(--fo-sans)!important;font-size:13px!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase}
body.sg-engine-claude_v1 a.fo-back .fo-arrow{color:var(--fo-win1)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .fo-page[data-fo-screen="vip"] a.fo-back{position:relative!important;left:auto;bottom:auto;transform:none!important;width:100%!important;margin:44px 0 0!important}
body.sg-engine-claude_v1 .fo-page[data-fo-screen="vip"]{padding-bottom:calc(36px + env(safe-area-inset-bottom))!important}
body.sg-engine-claude_v1.fo-typing .fo-page a.fo-back{opacity:0!important;pointer-events:none!important}

/* ---------- Rodapé, música e botão flutuante ---------- */
body.sg-engine-claude_v1 .rodape{position:relative;z-index:2;background:var(--fo-night)!important;color:color-mix(in srgb,var(--fo-night-ink) 70%,transparent)!important;border-top:1px solid var(--fo-night-line)!important}
body.sg-engine-claude_v1 .rodape::before{background:var(--fo-accent)!important}
body.sg-engine-claude_v1[data-fo-screen]:not([data-fo-screen="menu"]) .rodape{display:none!important}
body.sg-engine-claude_v1[data-fo-screen]:not([data-fo-screen="menu"]) .pagina-convite{padding-bottom:0!important;background:transparent}
body.sg-engine-claude_v1[data-fo-screen]:not([data-fo-screen="menu"]) .rsvp-floating-cta{display:none!important}
body.sg-engine-claude_v1 .musica{background:color-mix(in srgb,var(--fo-night) 86%,transparent)!important;color:var(--fo-night-ink)!important;border:0!important;border-radius:999px!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fo-win1) 50%,transparent)!important;font-family:var(--fo-sans)!important;backdrop-filter:blur(8px)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .rsvp-floating-cta,body.sg-engine-claude_v1.sg-engine-claude_v1 .rsvp-floating-cta strong{background:var(--fo-accent)!important;color:var(--fo-accent-ink)!important;border-radius:999px!important;font-family:var(--fo-sans)!important;font-weight:500!important;letter-spacing:.12em!important}

/* Miniatura da capa (seletor de temas): a cidade acesa, sem a capa e sem o menu */
.fo-root--cover-only :is(.fo-cover,.fo-sheet,.fo-bg){display:none!important}
.fo-root--section{min-height:100svh;padding:1px 0;background:var(--fo-night)}
.fo-section-preview{padding:24px 18px}

@media (prefers-reduced-motion:reduce){body.sg-engine-claude_v1 .fo-root *,body.sg-engine-claude_v1 .fo-root *::before,body.sg-engine-claude_v1 .fo-root *::after{animation:none!important;transition-duration:.01ms!important}}

/* ---------- Menu em cartões (peças comuns do motor, cores da Floresta) ---------- */
body.sg-engine-claude_v1 .fo-root{--cl-tile-bg:linear-gradient(160deg,color-mix(in srgb,var(--fo-moss) 35%,var(--fo-night)) 0%,color-mix(in srgb,var(--fo-far) 18%,var(--fo-night)) 100%);--cl-tile-line:color-mix(in srgb,var(--fo-light) 38%,transparent);--cl-tile-ink:var(--fo-night-ink);--cl-tile-muted:var(--fo-night-muted);--cl-tile-accent:var(--fo-light);
  --cl-tile-badge:color-mix(in srgb,var(--fo-light) 14%,transparent);--cl-title-font:var(--fo-serif);--cl-body-font:var(--fo-sans);--cl-head-ink:var(--fo-night-ink);--cl-head-muted:var(--fo-night-muted)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .cl-menu-title{font-size:28px!important;font-weight:600!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .fo-root .cl-tile-label{font-size:23px!important;font-weight:600!important}
