/*
 * Motor Claude — tema Voo XV (céu).
 * Céu de dia com nuvens (WebGL em voo-scene.js), cartão de embarque de papel,
 * painel de partidas com letras que viram.
 * Paleta (--c-*): sky-top / sky-mid / sky-bottom / cloud / cloud-shade / sun o céu;
 * bg / bg-deep / ink / ink-soft fundo e texto sobre ele; paper / paper-ink /
 * paper-muted / line o papel; band / band-ink a faixa do cartão; board /
 * board-tile / board-ink / board-muted / board-amber o painel; button-bg /
 * button-ink a ação; primary e accent-text destaques.
 * Tipografia: Bricolage Grotesque (painel e cartão), Instrument Serif (nome),
 * Manrope (texto). Escopo: body.sg-engine-claude_v1.
 */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url("../fonts/bricolage-grotesque-variable.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/instrument-serif-400-italic.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url("../fonts/manrope-variable.woff2") format("woff2")}

body.sg-engine-claude_v1{
  --vo-sky-top:var(--c-sky-top,#3F8FD8);--vo-sky-mid:var(--c-sky-mid,#7DB8EC);--vo-sky-bottom:var(--c-sky-bottom,#D3EAFB);
  --vo-cloud:var(--c-cloud,#FFFFFF);--vo-cloud-shade:var(--c-cloud-shade,#B9D2EA);--vo-sun:var(--c-sun,#FFF3CF);
  --vo-bg:var(--c-bg,#D3EAFB);--vo-ink:var(--c-ink,#12284A);--vo-muted:var(--c-ink-soft,#34507A);
  --vo-paper:var(--c-paper,#FFFDF8);--vo-paper-ink:var(--c-paper-ink,#172338);--vo-paper-muted:var(--c-paper-muted,#56607A);--vo-line:var(--c-line,#E6E0D2);
  --vo-band:var(--c-band,#1F5FA8);--vo-band-ink:var(--c-band-ink,#FFFFFF);--vo-primary:var(--c-primary,#1F5FA8);--vo-accent:var(--c-accent-text,#1F5FA8);
  --vo-board:var(--c-board,#161A22);--vo-tile:var(--c-board-tile,#232833);--vo-board-ink:var(--c-board-ink,#F7F2E4);--vo-board-muted:var(--c-board-muted,#AEB4C2);--vo-amber:var(--c-board-amber,#FFC857);
  --vo-btn:var(--c-button-bg,#12284A);--vo-btn-ink:var(--c-button-ink,#FFFFFF);
  --vo-grot:"Bricolage Grotesque",system-ui,sans-serif;--vo-serif:"Instrument Serif",Georgia,serif;--vo-sans:"Manrope",system-ui,sans-serif;
  --vo-ease:cubic-bezier(.22,1,.36,1);
  --vo-shadow:0 1px 1px rgba(10,30,60,.08),0 22px 40px -22px rgba(10,30,60,.55);
  background:var(--vo-sky-bottom) linear-gradient(180deg,var(--vo-sky-top),var(--vo-sky-mid) 45%,var(--vo-sky-bottom)) fixed!important;color:var(--vo-ink);font-family:var(--vo-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;min-height:100svh;overflow:clip;background:transparent}
body.sg-engine-claude_v1 .convite{overflow:visible!important}
body.sg-engine-claude_v1 .vo-root{position:relative;isolation:isolate;font-family:var(--vo-sans);-webkit-font-smoothing:antialiased}
body.sg-engine-claude_v1 .vo-root [hidden]{display:none!important}
.vo-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ================= Céu ================= */
.vo-stage{position:fixed;z-index:0;inset:-2px 0;width:min(100%,480px);margin-inline:auto;pointer-events:none;overflow:hidden;will-change:transform;
  background:radial-gradient(circle at 80% 14%,color-mix(in srgb,var(--vo-sun) 80%,transparent),transparent 34%),linear-gradient(180deg,var(--vo-sky-top),var(--vo-sky-mid) 50%,var(--vo-sky-bottom))}
.vo-gl{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .6s ease}
.vo-root.vo-gl-on .vo-gl{opacity:1}
.vo-root.vo-gl-on .vo-fallback{display:none}
/* Nuvens em CSS: só quando não há WebGL. */
.vo-fallback i{position:absolute;display:block;width:46%;height:9%;border-radius:999px;background:var(--vo-cloud);opacity:.9;filter:blur(1.5px);
  box-shadow:inset 0 -10px 18px -8px var(--vo-cloud-shade);animation:vo-drift 30s linear infinite alternate}
.vo-fallback i::before,.vo-fallback i::after{content:"";position:absolute;bottom:40%;border-radius:50%;background:inherit}
.vo-fallback i::before{left:14%;width:42%;height:120%}
.vo-fallback i::after{left:44%;width:34%;height:90%}
.vo-fallback i:nth-child(1){left:-8%;top:18%}.vo-fallback i:nth-child(2){right:-12%;top:34%;width:52%;animation-delay:-8s}
.vo-fallback i:nth-child(3){left:10%;top:58%;width:38%;animation-delay:-14s}.vo-fallback i:nth-child(4){right:-6%;top:74%;animation-delay:-4s}
.vo-fallback i:nth-child(5){left:-14%;top:88%;width:60%;animation-delay:-20s}.vo-fallback i:nth-child(6){left:40%;top:6%;width:26%;height:6%;opacity:.6}
@keyframes vo-drift{from{translate:-4% 0}to{translate:6% 0}}
.vo-root.vo-opened .vo-fallback i{top:auto;bottom:-3%;height:12%}
/* Aviãozinho de papel. */
.vo-plane{position:absolute;left:0;top:0;width:58px;filter:drop-shadow(0 10px 8px rgba(10,30,60,.18));offset-rotate:0deg}
.vo-plane-svg{display:block;width:100%;height:auto;overflow:visible}
.vo-plane .vo-plane-top{fill:var(--vo-cloud)}
.vo-plane .vo-plane-wing{fill:color-mix(in srgb,var(--vo-cloud-shade) 55%,var(--vo-cloud))}
.vo-plane .vo-plane-fold{fill:var(--vo-cloud-shade)}
.vo-root.vo-closed .vo-plane{animation:vo-glide 11s ease-in-out infinite}
@keyframes vo-glide{
  0%{transform:translate(-80px,34vh) rotate(-8deg)}
  45%{transform:translate(52vw,22vh) rotate(-3deg)}
  55%{transform:translate(64vw,20vh) rotate(-6deg)}
  100%{transform:translate(min(115vw,560px),6vh) rotate(-14deg)}}
.vo-root.vo-opening .vo-plane{animation:vo-away 1.4s cubic-bezier(.5,0,.8,.4) forwards}
@keyframes vo-away{from{transform:translate(20vw,60vh) rotate(-30deg) scale(1.2)}to{transform:translate(min(90vw,440px),-20vh) rotate(-38deg) scale(.6)}}
.vo-root.vo-opened .vo-plane{width:40px;animation:vo-cross 22s linear infinite 2s;opacity:.95}
@keyframes vo-cross{0%{transform:translate(-60px,12vh) rotate(-6deg)}40%{transform:translate(min(115vw,560px),4vh) rotate(-10deg)}100%{transform:translate(min(115vw,560px),4vh) rotate(-10deg)}}

/* ================= Capa: cartão de embarque ================= */
body.sg-engine-claude_v1.sg-engine-claude_v1 .vo-root .capa.vo-cover{position:fixed!important;inset:0!important;z-index:30;display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;gap:clamp(12px,2.6svh,22px);
  min-height:0!important;height:auto!important;margin:0!important;padding:calc(16px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom))!important;box-sizing:border-box;
  background:none!important;border:0!important;box-shadow:none!important;overflow:hidden;text-align:left!important}
body.sg-engine-claude_v1 .vo-root .capa.vo-cover::before,body.sg-engine-claude_v1 .vo-root .capa.vo-cover::after{content:none!important;display:none!important}
@media (min-width:560px){body.sg-engine-claude_v1.sg-engine-claude_v1 .vo-root .capa.vo-cover{left:50%!important;right:auto!important;width:480px;transform:translateX(-50%)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .vo-root.vo-opened .capa.vo-cover,body.sg-engine-claude_v1.sg-engine-claude_v1 .vo-root .capa.vo-cover[hidden]{display:none!important}
body.sg-engine-claude_v1 .pagina-convite .vo-cover-top{margin:0;padding:7px 16px;border-radius:999px;background:color-mix(in srgb,var(--vo-paper) 86%,transparent);color:var(--vo-paper-ink);font-family:var(--vo-serif);font-style:italic;font-size:19px;line-height:1.1;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 20px -14px rgba(10,30,60,.5)}
.vo-pass{--notch:11px;position:relative;display:flex;flex-direction:column;width:min(100%,360px);filter:drop-shadow(0 26px 30px rgba(10,30,60,.28)) drop-shadow(0 2px 2px rgba(10,30,60,.08));animation:vo-hover 6s ease-in-out infinite alternate}
@keyframes vo-hover{from{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-6px) rotate(.6deg)}}
.vo-pass-main,.vo-head{position:relative;background:var(--vo-paper);color:var(--vo-paper-ink);border-radius:20px 20px 6px 6px;
  -webkit-mask:radial-gradient(circle var(--notch,11px) at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch,11px) at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle var(--notch,11px) at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch,11px) at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
body.sg-engine-claude_v1 .pagina-convite .vo-band{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 18px;border-radius:20px 20px 0 0;background:var(--vo-band);color:var(--vo-band-ink);font-family:var(--vo-grot);line-height:1}
.vo-band span{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vo-band b{font-size:14px;font-weight:800;font-stretch:80%;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.vo-route{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:10px;padding:clamp(12px,2.2svh,18px) 20px 4px}
body.sg-engine-claude_v1 .pagina-convite .vo-route p{display:flex;flex-direction:column;margin:0;line-height:1}
.vo-route p:last-child{text-align:right;align-items:flex-end}
.vo-route small,.vo-grid dt,.vo-pax small{font-family:var(--vo-sans);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--vo-paper-muted)}
.vo-route b{display:flex;align-items:baseline;gap:4px;margin-top:4px;font-family:var(--vo-grot);font-size:clamp(34px,11vw,44px);font-weight:800;font-stretch:75%;letter-spacing:-.01em;text-transform:uppercase;color:var(--vo-paper-ink)}
.vo-route b em{font-family:var(--vo-sans);font-size:11px;font-style:normal;font-weight:800;letter-spacing:.12em;color:var(--vo-paper-muted)}
.vo-route-line{position:relative;display:block;height:30px;margin-bottom:6px}
.vo-route-line i{position:absolute;left:0;right:0;bottom:8px;height:0;border-top:2px dashed color-mix(in srgb,var(--vo-paper-muted) 45%,transparent);border-radius:50%}
.vo-route-line .vo-plane-svg{position:absolute;left:50%;bottom:4px;width:30px;margin-left:-15px;animation:vo-route 3.2s ease-in-out infinite alternate}
.vo-route-line .vo-plane-top{fill:var(--vo-primary)}
.vo-route-line .vo-plane-wing{fill:color-mix(in srgb,var(--vo-primary) 70%,var(--vo-paper-ink))}
.vo-route-line .vo-plane-fold{fill:var(--vo-paper-ink)}
@keyframes vo-route{from{translate:-18px 0}to{translate:18px -3px}}
body.sg-engine-claude_v1 .pagina-convite .vo-pass-label{margin:6px 20px 0;max-width:30ch;font-family:var(--vo-sans);font-size:15px;font-weight:600;line-height:1.4;color:var(--vo-paper-muted)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-cover .vo-pass-name{display:block;box-sizing:border-box;margin:clamp(10px,2svh,16px) 20px 0!important;padding:0 .12em 0 .02em;max-width:calc(100% - 40px);font-family:var(--vo-serif)!important;font-style:italic;font-size:clamp(40px,12vw,54px)!important;font-weight:400;line-height:1!important;letter-spacing:-.01em;color:var(--vo-paper-ink);overflow-wrap:break-word;text-wrap:balance}
body.sg-engine-claude_v1 .pagina-convite .vo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:clamp(10px,2svh,16px) 20px 0;padding:12px 0 0;border-top:1px solid var(--vo-line)}
body.sg-engine-claude_v1 .pagina-convite .vo-grid div{margin:0;min-width:0}
body.sg-engine-claude_v1 .pagina-convite .vo-grid dd{margin:4px 0 0;font-family:var(--vo-grot);font-size:19px;font-weight:700;font-stretch:80%;line-height:1;text-transform:uppercase;color:var(--vo-paper-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.sg-engine-claude_v1 .pagina-convite .vo-pax{display:flex;flex-direction:column;gap:4px;margin:12px 20px 0;padding:0 0 clamp(14px,2.4svh,20px)}
.vo-pax b{font-family:var(--vo-sans);font-size:16px;font-weight:700;color:var(--vo-paper-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Carimbo "Embarcado". */
.vo-stamp{position:absolute;right:16px;top:118px;display:flex;flex-direction:column;align-items:center;padding:6px 12px 5px;border:3px solid currentColor;border-radius:8px;color:var(--vo-accent);
  font-family:var(--vo-grot);line-height:1;text-transform:uppercase;rotate:-13deg;opacity:0;scale:1.8;pointer-events:none;mix-blend-mode:multiply}
.vo-stamp b{font-size:21px;font-weight:800;font-stretch:78%;letter-spacing:.06em}
.vo-stamp small{margin-top:2px;font-size:9px;font-weight:700;letter-spacing:.3em}
.vo-root.vo-opening .vo-pass .vo-stamp{animation:vo-stamp .32s cubic-bezier(.3,1.6,.6,1) .18s forwards}
@keyframes vo-stamp{to{opacity:.9;scale:1}}
/* O canhoto é o botão. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-root a.botao.vo-stub{position:relative;display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:auto!important;min-height:0!important;margin:0!important;padding:16px 18px 18px 20px!important;
  border:0!important;border-top:2px dashed var(--vo-line)!important;border-radius:6px 6px 18px 18px!important;background:var(--vo-paper)!important;color:var(--vo-paper-ink)!important;box-shadow:none!important;
  font-family:var(--vo-sans)!important;font-size:16px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;text-decoration:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent;transform-origin:0 0;
  -webkit-mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-root a.botao.vo-stub::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-root a.botao.vo-stub::after{content:none!important;display:none!important}
body.sg-engine-claude_v1 .pagina-convite a.vo-stub:focus-visible{outline:3px solid var(--vo-btn)!important;outline-offset:3px}
.vo-stub b{font:inherit;line-height:1.2}
.vo-stub-arrow{width:40px;height:40px;padding:10px;box-sizing:border-box;border-radius:50%;background:var(--vo-btn);color:var(--vo-btn-ink);animation:vo-nudge 2.4s ease-in-out infinite}
@keyframes vo-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.vo-barcode{display:flex;align-items:stretch;gap:2px;height:36px}
.vo-barcode i{display:block;width:calc(var(--w) * 1.3px);background:var(--vo-paper-ink)}
.vo-barcode i:nth-child(n+23){display:none}
body.sg-engine-claude_v1 .pagina-convite a.vo-stub:active{transform:translateY(2px)}
.vo-cover-foot{min-height:20px}
body.sg-engine-claude_v1 .pagina-convite .vo-greet{margin:0;padding:6px 14px;border-radius:999px;background:color-mix(in srgb,var(--vo-paper) 86%,transparent);font-family:var(--vo-sans);font-size:14px;font-weight:700;color:var(--vo-paper-ink)}
/* Embarque: o canhoto se solta, o carimbo desce, o cartão sobe junto com o céu. */
.vo-root.vo-opening .vo-pass{animation:vo-lift 1.05s cubic-bezier(.55,0,.8,.3) .78s forwards}
@keyframes vo-lift{0%{transform:translateY(0)}20%{transform:translateY(10px) rotate(1deg)}100%{transform:translateY(-120svh) rotate(-5deg)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-root.vo-opening a.botao.vo-stub{animation:vo-tear .9s cubic-bezier(.45,0,.75,.4) forwards;pointer-events:none}
@keyframes vo-tear{0%{transform:none}22%{transform:translate(4px,8px) rotate(5deg)}100%{transform:translate(30px,70svh) rotate(24deg);opacity:0}}
.vo-root.vo-opening :is(.vo-cover-top,.vo-cover-foot){opacity:0;transition:opacity .35s}
.vo-root.vo-opening .vo-cover{animation:vo-out .3s ease 1.6s forwards}
@keyframes vo-out{to{opacity:0}}
.vo-root.vo-closed .vo-app{opacity:0;pointer-events:none}
.vo-root.vo-opening .vo-app{animation:vo-rise 1s var(--vo-ease) 1.7s both}
@keyframes vo-rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@media (max-height:640px){
  body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-cover .vo-pass-name{font-size:38px!important}
  .vo-route b{font-size:30px}
  .vo-cover-top{display:none}
}

/* ================= Tela inicial ================= */
.vo-app{position:relative;z-index:1}
.vo-home{display:flex;flex-direction:column;gap:14px;padding:calc(22px + env(safe-area-inset-top)) 14px calc(34px + env(safe-area-inset-bottom))}
.vo-head{--notch:10px;filter:none;box-shadow:none;border-radius:20px 20px 14px 14px}
.vo-app .vo-head{filter:drop-shadow(0 20px 26px rgba(10,30,60,.22))}
.vo-head-body{position:relative;padding:18px 20px 22px;text-align:left}
body.sg-engine-claude_v1 .pagina-convite .vo-kicker{display:flex;align-items:center;min-height:46px;box-sizing:border-box;margin:0 0 4px;padding-right:118px;line-height:1.35;font-family:var(--vo-sans);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--vo-accent)}
body.sg-engine-claude_v1 .pagina-convite .vo-lede{margin:8px 0 0;max-width:28ch;font-family:var(--vo-sans);font-size:16px;font-weight:600;line-height:1.4;color:var(--vo-paper-muted)}
body.sg-engine-claude_v1 .pagina-convite .vo-grid--head{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px;margin:18px 0 0;padding-top:14px;border-top:2px dashed var(--vo-line)}
body.sg-engine-claude_v1 .pagina-convite .vo-grid--head dd{font-size:21px}
body.sg-engine-claude_v1 .pagina-convite .vo-grid--head .vo-grid-wide{grid-column:1/-1}
body.sg-engine-claude_v1 .pagina-convite .vo-grid--head .vo-grid-wide dd{white-space:normal;text-transform:none;font-size:20px;line-height:1.15}
body.sg-engine-claude_v1 .pagina-convite .vo-name{display:block;box-sizing:border-box;margin:0;padding:0 .12em 0 .02em;max-width:100%;font-family:var(--vo-serif)!important;font-style:italic;font-size:clamp(46px,14vw,66px);font-weight:400;line-height:1;letter-spacing:-.01em;text-transform:none;color:var(--vo-paper-ink);overflow-wrap:break-word;text-wrap:balance}
.vo-name:focus{outline:none}
body.sg-engine-claude_v1 .pagina-convite .vo-when{margin:12px 0 0;font-family:var(--vo-sans);font-size:15px;font-weight:700;color:var(--vo-paper-muted)}
body.sg-engine-claude_v1 .pagina-convite .vo-intro{margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--vo-line);font-family:var(--vo-serif);font-style:italic;font-size:20px;line-height:1.4;color:var(--vo-paper-ink)}
.vo-stamp--on{top:12px;right:6px;opacity:.85;scale:.72}
.vo-root.vo-opening .vo-stamp--on{opacity:0;scale:1.4;animation:vo-stamp-on .32s cubic-bezier(.3,1.6,.6,1) 2.4s forwards}
@keyframes vo-stamp-on{to{opacity:.85;scale:.8}}

/* Painel (contagem e partidas) */
.vo-count,.vo-board{position:relative;border-radius:18px;background:var(--vo-board);color:var(--vo-board-ink);box-shadow:var(--vo-shadow),inset 0 1px 0 rgba(255,255,255,.06)}
.vo-count{padding:12px 12px 14px}
.vo-board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:0 4px;font-family:var(--vo-grot);line-height:1}
.vo-count .vo-board-head{justify-content:center;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--vo-board-muted)}
.vo-count .vo-board-head span::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:var(--vo-amber);box-shadow:0 0 10px var(--vo-amber);animation:vo-blink 1.6s steps(2,jump-none) infinite}
@keyframes vo-blink{50%{opacity:.25}}
body.sg-engine-claude_v1 .vo-count{--c-ink:var(--vo-board-ink);--c-ink-soft:var(--vo-board-muted);--c-surface:transparent;--c-line:transparent}
body.sg-engine-claude_v1 .vo-count :is(.secao,.secao__interno){margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important}
body.sg-engine-claude_v1 .vo-count :is(.cantoneiras,.cantoneira,.divisor,.titulo-secao){display:none!important}
body.sg-engine-claude_v1 .vo-count .revela{opacity:1!important;transform:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count .contagem{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start;gap:8px!important;justify-content:center!important;margin:0!important;padding:0!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count .contagem__item{display:flex!important;flex:1 1 0;flex-direction:column;align-items:center;min-width:0;max-width:86px;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--vo-board-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count .contagem__item[hidden]{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count :is(.contagem__numero,.contagem-regressiva__numero){display:block;width:100%;box-sizing:border-box;padding:8px 0 7px!important;border-radius:6px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--vo-tile) 88%,#fff) 0 50%,var(--vo-tile) 50% 100%)!important;box-shadow:inset 0 -1px 0 rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.05);
  font-family:var(--vo-grot)!important;font-size:clamp(28px,9vw,38px)!important;font-weight:700!important;font-stretch:80%;line-height:1!important;text-align:center;font-variant-numeric:tabular-nums;color:var(--vo-board-ink)!important;position:relative}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count :is(.contagem__numero,.contagem-regressiva__numero)::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.6)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-count :is(.contagem__rotulo,.contagem-regressiva__rotulo,.contagem__realizada){margin-top:7px!important;font-family:var(--vo-sans)!important;font-size:10px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--vo-board-muted)!important}

/* Roteiro da viagem: cada parte do convite aberta, uma parada por vez. */
body.sg-engine-claude_v1 .pagina-convite .vo-route-title{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:0 4px}
.vo-route-title .vo-plane-svg{flex:none;width:30px;rotate:-12deg}
.vo-route-title .vo-plane-top{fill:var(--vo-band)}
.vo-route-title .vo-plane-wing{fill:var(--vo-btn)}
.vo-route-title .vo-plane-fold{fill:var(--vo-ink)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-route-title h2{margin:0!important;padding:0!important;font-family:var(--vo-grot)!important;font-size:24px!important;font-weight:800!important;font-stretch:80%;letter-spacing:.12em!important;line-height:1!important;text-transform:uppercase!important;text-align:left!important;color:var(--vo-ink)!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-route-title h2::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-route-title h2::after{content:none!important}
body.sg-engine-claude_v1 .pagina-convite .vo-stops{position:relative;display:flex;flex-direction:column;gap:18px;margin:0;padding:0 0 0 36px;list-style:none}
.vo-stops::before{content:"";position:absolute;left:14px;top:20px;bottom:26px;border-left:2px dashed color-mix(in srgb,var(--vo-band) 55%,transparent)}
body.sg-engine-claude_v1 .pagina-convite .vo-stop{--clm-paper:var(--vo-paper);--clm-ink:var(--vo-paper-ink);--clm-muted:var(--vo-paper-muted);--clm-line:var(--vo-line);--clm-accent:var(--vo-btn);--clm-display:var(--vo-serif);--clm-sans:var(--vo-sans);
  position:relative;margin:0;padding:18px 18px 16px;list-style:none;border-radius:18px;background:var(--vo-paper);color:var(--vo-paper-ink);box-shadow:var(--vo-shadow);scroll-margin-top:16px}
.vo-stop::marker{content:none}
.vo-stop-dot{position:absolute;left:-36px;top:18px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--vo-band);color:var(--vo-band-ink);font-family:var(--vo-grot);font-size:12px;font-weight:800;font-stretch:80%;box-shadow:0 0 0 4px color-mix(in srgb,var(--vo-sky-bottom) 80%,transparent)}
.vo-stop-head{display:flex;align-items:center;gap:12px;padding-bottom:4px}
.vo-stop-tag{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--vo-band) 12%,var(--vo-paper));color:var(--vo-band)}
.vo-stop-icon{width:26px;height:26px}
.vo-stop-titles{display:flex;flex-direction:column;gap:4px;min-width:0}
.vo-stop-titles small{font-family:var(--vo-sans);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--vo-accent)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-stop-title{margin:0!important;padding:0!important;font-family:var(--vo-serif)!important;font-style:italic;font-size:30px!important;font-weight:400!important;line-height:1.05!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;color:var(--vo-paper-ink)!important;background:none!important;overflow-wrap:anywhere}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-stop-title::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-stop-title::after{content:none!important}
/* O título da parada substitui o do primeiro bloco. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-modules--titled > .secao:first-child .titulo-secao{display:none!important}
/* Na bagagem (traje): etiqueta de mala em âmbar. */
.vo-stop--dress .vo-stop-tag{border-radius:12px 12px 12px 24px;background:var(--vo-amber);color:var(--vo-board)}
/* Horários do voo: cabeçalho de painel de aeroporto. */
.vo-stop--agenda .vo-stop-tag{background:var(--vo-board);color:var(--vo-amber)}
/* Cartões-postais (mural): o cartão leva um selo. */
.vo-stop--camarim::after{content:"XV";position:absolute;top:16px;right:16px;display:grid;place-items:center;width:40px;height:48px;border:2px dashed var(--vo-band);border-radius:4px;font-family:var(--vo-grot);font-size:13px;font-weight:800;color:var(--vo-band);rotate:6deg;pointer-events:none}
.vo-stop--camarim .vo-stop-head{padding-right:52px}

/* Check-in: a confirmação de presença aberta e em destaque. */
body.sg-engine-claude_v1 .pagina-convite .vo-checkin{--clm-paper:var(--vo-paper);--clm-ink:var(--vo-paper-ink);--clm-muted:var(--vo-paper-muted);--clm-line:var(--vo-line);--clm-accent:var(--vo-btn);--clm-display:var(--vo-serif);--clm-sans:var(--vo-sans);
  position:relative;margin:18px 0 0;border-radius:22px;background:var(--vo-btn);color:var(--vo-btn-ink);overflow:hidden;box-shadow:0 30px 50px -24px rgba(10,30,60,.7);scroll-margin-top:16px}
body.sg-engine-claude_v1 .pagina-convite .vo-checkin-band{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 18px;background:var(--vo-amber);color:var(--vo-board)}
.vo-checkin-band b{font-family:var(--vo-grot);font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.vo-checkin-band .vo-barcode{height:22px}
.vo-checkin-band .vo-barcode i{background:var(--vo-board)}
.vo-checkin-main{padding:20px 20px 4px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-checkin-title{margin:0!important;padding:0!important;font-family:var(--vo-serif)!important;font-style:italic;font-size:clamp(36px,11vw,44px)!important;font-weight:400!important;line-height:1!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;color:var(--vo-btn-ink)!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-checkin-title::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vo-checkin-title::after{content:none!important}
body.sg-engine-claude_v1 .pagina-convite .vo-checkin-lede{margin:10px 0 0;font-family:var(--vo-sans);font-size:15px;font-weight:600;line-height:1.45;color:var(--vo-btn-ink);opacity:.9}
body.sg-engine-claude_v1 .pagina-convite .vo-checkin-body{margin:16px 10px 10px;padding:6px 16px 12px;border-radius:16px;background:var(--vo-paper);color:var(--vo-paper-ink)}
body.sg-engine-claude_v1 .pagina-convite .vo-bye{margin:10px 0 0;text-align:center;font-family:var(--vo-serif);font-style:italic;font-size:28px;color:var(--vo-ink)}

body.sg-engine-claude_v1 .pagina-convite a.vo-top{align-self:center;margin:0;padding:10px 14px;font-family:var(--vo-sans);font-size:14px;font-weight:700;color:var(--vo-ink);text-decoration:underline;text-underline-offset:4px}
body.sg-engine-claude_v1 .pagina-convite a.vo-top:focus-visible{outline:3px solid var(--vo-ink);outline-offset:3px}

/* ================= Prévias ================= */
.vo-root--cover-only .vo-app{display:none!important}
.vo-root--cover-only .vo-stage{position:absolute}
body.sg-engine-claude_v1.sg-engine-claude_v1 .vo-root--cover-only .capa.vo-cover{position:relative!important;min-height:100svh!important}
.vo-section-preview{padding:16px}
.vo-section-preview .vo-card{--clm-paper:var(--vo-paper);--clm-ink:var(--vo-paper-ink);--clm-muted:var(--vo-paper-muted);--clm-line:var(--vo-line);--clm-accent:var(--vo-btn);--clm-display:var(--vo-serif);--clm-sans:var(--vo-sans);padding:20px;border-radius:18px;background:var(--vo-paper)}

@media (prefers-reduced-motion:reduce){
  .vo-pass,.vo-plane,.vo-route-line .vo-plane-svg,.vo-stub-arrow,.vo-fallback i,.vo-count .vo-board-head span::before{animation:none!important}
  .vo-root.vo-opening :is(.vo-pass,.vo-cover,.vo-app,.vo-stub,.vo-stamp){animation:none!important}
  .vo-root.vo-opened .vo-plane{display:none}
}
