@import "tailwindcss" source(none);
@source "../src";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-3xl: calc(var(--radius) + 12px);
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary-soft: var(--primary-soft);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-success: var(--success);
  --color-destructive: var(--destructive);
  --color-destructive-foreground: var(--destructive-foreground);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-ink: var(--ink);
  --color-footer: var(--footer);
  --color-footer-foreground: var(--footer-foreground);
  --color-footer-muted: var(--footer-muted);
  --color-footer-accent: var(--footer-accent);
  --color-footer-divider: var(--footer-divider);
  --color-footer-panel: var(--footer-panel);
  --font-sans: var(--font-content, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  --font-display: var(--font-content, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
}

:root {
  --font-content: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --radius: 0.75rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.19 0.03 285);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.19 0.03 285);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.19 0.03 285);
  --primary: oklch(0.52 0.24 292);
  --primary-foreground: oklch(0.99 0 0);
  --primary-soft: oklch(0.95 0.03 292);
  --secondary: oklch(0.97 0.01 285);
  --secondary-foreground: oklch(0.25 0.04 285);
  --muted: oklch(0.97 0.008 285);
  --muted-foreground: oklch(0.55 0.02 285);
  --accent: oklch(0.95 0.04 292);
  --accent-foreground: oklch(0.35 0.15 292);
  --success: oklch(0.62 0.15 155);
  --destructive: oklch(0.58 0.24 27);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.92 0.01 285);
  --input: oklch(0.92 0.01 285);
  --ring: oklch(0.52 0.24 292);
  --ink: oklch(0.24 0.09 288);
  --footer: oklch(0.12 0.055 278);
  --footer-foreground: oklch(0.98 0.006 286);
  --footer-muted: oklch(0.79 0.026 286);
  --footer-accent: oklch(0.7 0.2 300);
  --footer-divider: oklch(0.43 0.12 286 / 0.5);
  --footer-panel: oklch(0.16 0.065 280 / 0.72);
  --footer-overlay: linear-gradient(90deg, oklch(0.12 0.055 278 / 0.08) 0%, oklch(0.12 0.055 278 / 0.58) 23%, oklch(0.11 0.05 276 / 0.97) 39%, oklch(0.11 0.05 276 / 0.98) 100%);
  --gradient-brand: linear-gradient(120deg, oklch(0.4 0.2 290), oklch(0.55 0.24 295) 55%, oklch(0.62 0.2 305));
  --gradient-soft: linear-gradient(180deg, oklch(0.98 0.015 292), oklch(1 0 0));
  --shadow-card: 0 1px 2px oklch(0.2 0.05 290 / 0.04), 0 12px 32px -12px oklch(0.35 0.12 292 / 0.18);
  --shadow-float: 0 24px 60px -20px oklch(0.35 0.15 292 / 0.35);
  --blog-background: oklch(1 0 0);
  --blog-surface: oklch(1 0 0);
  --blog-surface-raised: oklch(0.975 0.014 292);
  --blog-foreground: oklch(0.22 0.09 287);
  --blog-muted: oklch(0.5 0.035 285);
  --blog-border: oklch(0.91 0.018 290);
  --blog-primary: oklch(0.52 0.24 292);
  --blog-primary-foreground: oklch(0.99 0 0);
  --blog-shadow: 0 16px 40px -24px oklch(0.3 0.12 292 / 0.28);
  --login-night: oklch(0.11 0.06 294);
  --login-foreground: oklch(0.99 0.005 290);
  --login-star: oklch(0.93 0.08 289);
}

/* Tema escuro Nebix — roxo profundo, nunca preto puro */
.dark {
  --background: oklch(0.16 0.055 288);
  --foreground: oklch(0.97 0.008 292);
  --card: oklch(0.2 0.06 288);
  --card-foreground: oklch(0.97 0.008 292);
  --popover: oklch(0.2 0.06 288);
  --popover-foreground: oklch(0.97 0.008 292);
  --primary: oklch(0.66 0.21 296);
  --primary-foreground: oklch(0.14 0.05 288);
  --primary-soft: oklch(0.28 0.08 292);
  --secondary: oklch(0.24 0.06 288);
  --secondary-foreground: oklch(0.95 0.01 292);
  --muted: oklch(0.24 0.055 288);
  --muted-foreground: oklch(0.76 0.03 290);
  --accent: oklch(0.28 0.08 292);
  --accent-foreground: oklch(0.92 0.06 296);
  --success: oklch(0.68 0.15 155);
  --destructive: oklch(0.62 0.2 22);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.32 0.06 289);
  --input: oklch(0.32 0.06 289);
  --ring: oklch(0.66 0.21 296);
  --ink: oklch(0.22 0.08 288);
  --gradient-soft: linear-gradient(180deg, oklch(0.2 0.07 290), oklch(0.16 0.055 288));
  --shadow-card: 0 1px 2px oklch(0 0 0 / 0.35), 0 14px 34px -18px oklch(0 0 0 / 0.55);
  --shadow-float: 0 26px 64px -22px oklch(0 0 0 / 0.6);
  color-scheme: dark;
}
.dark .panel-shell { --panel-night: oklch(0.2 0.07 288); background: oklch(0.14 0.05 288); }
.dark .panel-topbar { background: color-mix(in oklab, oklch(0.19 0.06 288) 88%, transparent); }
.dark .panel-card { background: color-mix(in oklab, var(--card) 92%, transparent); }
.dark .panel-sidebar { background: oklch(0.18 0.06 288); }
.dark .panel-nav-flyout { background: color-mix(in oklab, oklch(0.2 0.065 288) 96%, transparent); }

@utility bg-footer-overlay {
  background: var(--footer-overlay);
}

.payment-flag {
  display: inline-flex;
  height: 30px;
  min-width: 48px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--footer-divider);
  border-radius: 5px;
  background: var(--footer-foreground);
  padding-inline: 8px;
  color: var(--footer);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}
.payment-pix i { width: 10px; height: 10px; rotate: 45deg; border: 2px solid var(--success); border-radius: 2px; }
.payment-visa { color: var(--primary); font-size: 12px; font-style: italic; }
.payment-master i { width: 21px; height: 12px; background: radial-gradient(circle at 35% 50%, var(--destructive) 0 42%, transparent 44%), radial-gradient(circle at 65% 50%, var(--footer-accent) 0 42%, transparent 44%); }
.payment-master b { font-size: 7px; font-weight: 700; }
.payment-elo { font-size: 13px; text-transform: lowercase; }
.payment-elo span { color: var(--footer-accent); font-size: 8px; }
.payment-boleto svg { width: 14px; height: 14px; }

@layer base {
  *,
  *::before,
  *::after {
    border-color: var(--color-border);
    font-family: var(--font-content, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  }

  html,
  body,
  #root {
    font-family: var(--font-content, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
  }

  body {
    background-color: var(--color-background);
    color: var(--color-foreground);
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4 {
    font-family: var(--font-content, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    letter-spacing: -0.02em;
  }
}

.blog-shell {
  --background: var(--blog-background);
  --foreground: var(--blog-foreground);
  --card: var(--blog-surface);
  --card-foreground: var(--blog-foreground);
  --muted: var(--blog-surface-raised);
  --muted-foreground: var(--blog-muted);
  --border: var(--blog-border);
  --input: var(--blog-border);
  --primary: var(--blog-primary);
  --primary-foreground: var(--blog-primary-foreground);
  --accent: var(--blog-surface-raised);
  --accent-foreground: var(--blog-foreground);
  background: var(--blog-background);
  color: var(--blog-foreground);
  font-family: var(--font-sans);
}
.blog-shell h1, .blog-shell h2, .blog-shell h3 { font-family: var(--font-display); letter-spacing: 0; }

/* Login Nebix */
.login-page { --login-panel: oklch(1 0 0); --login-text: oklch(.2 .06 287); --login-soft: oklch(.97 .018 292); width: 100%; height: 100svh; min-height: 0; overflow: hidden; color: var(--login-text); background: var(--login-panel); font-family: var(--font-sans); }
.login-page.is-dark { --login-panel: oklch(.21 .045 288); --login-text: oklch(.97 .008 292); --login-soft: oklch(.27 .05 290); }
.login-card { width: 100%; height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(480px, .96fr); overflow: visible; background: var(--login-panel); }
.login-visual { position: relative; min-height: 0; overflow: visible; z-index: 2; background: oklch(.95 .035 292); }
.login-scene { position: absolute; inset: 0; max-width: none; height: 100%; object-fit: cover; object-position: 52% center; }
.login-scene { width: 100%; }

.login-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, oklch(.98 .015 292 / .88) 0%, transparent 46%); pointer-events: none; }
.login-welcome { position: absolute; z-index: 2; top: 38px; left: 42px; }
.login-welcome img { display: none; }
.login-welcome h1 { margin: 0; font-size: clamp(2.6rem, 4.4vw, 4.15rem); line-height: .94; letter-spacing: 0; font-weight: 850; }
.login-welcome h1 > span:last-child { color: var(--primary); }
.login-welcome p { margin-top: .75rem; color: oklch(.48 .09 288); font-size: 1rem; line-height: 1.45; }
.login-handnote { position: absolute; z-index: 2; top: 42%; left: 8%; rotate: -8deg; color: oklch(.48 .16 292); font-size: 1.15rem; font-style: italic; line-height: 1.25; }
.login-form-side { position: relative; z-index: 1; min-height: 0; display: flex; flex-direction: column; padding: clamp(16px, 2.2vh, 28px) clamp(28px, 3vw, 48px) 14px; overflow: hidden; background: var(--login-panel); }
.login-topbar { display: flex; align-items: center; justify-content: flex-end; gap: .7rem; min-height: 40px; }
.login-topbar > span { margin-left: auto; font-size: .72rem; color: var(--muted-foreground); }
.login-topbar button { color: var(--primary); }
.login-top-link, .login-plan-link { display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; color: var(--primary); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.login-top-link svg, .login-plan-link svg { width: 14px; height: 14px; }
.login-top-link { padding: .55rem .65rem; }
.login-plan-link { padding: .58rem .85rem; border: 1px solid color-mix(in oklab, var(--primary) 22%, transparent); transition: transform .2s ease, box-shadow .2s ease; }
.login-plan-link:hover { transform: translateY(-2px); box-shadow: 0 8px 20px color-mix(in oklab, var(--primary) 18%, transparent); }
.login-form-wrap { width: min(440px, 100%); margin: clamp(10px, 2.3vh, 24px) auto 0; }
.login-solution-picker { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-bottom: 18px; padding: 5px; border-radius: 12px; background: var(--login-soft); }
.login-solution-picker button { height: 48px; min-width: 0; padding: 5px 3px; gap: 3px; flex-direction: column; color: var(--muted-foreground); font-size: .62rem; border-radius: 9px; }
.login-solution-picker button svg { width: 16px; height: 16px; }
.login-solution-picker button[data-active="true"] { color: var(--primary); background: var(--login-panel); box-shadow: 0 5px 14px oklch(.4 .13 292 / .12); }
.login-form-wrap h2 { margin: 0; font-size: 1.85rem; font-weight: 800; letter-spacing: 0; }
.login-form-wrap > p { margin: .2rem 0 1rem; color: var(--muted-foreground); font-size: .86rem; }
.login-form { display: grid; gap: 14px; }
.login-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.login-input { height: 48px; display: flex; align-items: center; gap: 9px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--login-panel); transition: border-color .2s, box-shadow .2s; }
.login-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent); }
.login-input > svg { width: 18px; color: var(--primary); }
.login-input input { height: 44px; padding: 0; border: 0; box-shadow: none; }
.login-input input:focus-visible { box-shadow: none; }
.login-input button { width: 34px; height: 34px; }
.login-options { display: flex; align-items: center; justify-content: space-between; margin-top: 1px; font-size: .72rem; }
.login-options label { display: flex; gap: 7px; align-items: center; }
.login-options input { accent-color: var(--primary); }
.login-options button, .login-back { color: var(--primary); font-weight: 650; }
.login-message { margin: 0 !important; color: var(--primary) !important; font-size: .75rem !important; }
.nebix-toast { border-color: color-mix(in oklab, var(--primary) 24%, transparent) !important; background: color-mix(in oklab, var(--accent) 82%, var(--background)) !important; color: var(--foreground) !important; box-shadow: 0 14px 38px color-mix(in oklab, var(--primary) 25%, transparent) !important; }
.nebix-toast [data-icon] { color: var(--primary) !important; }
.login-submit-track { position: relative; margin-top: clamp(24px, 5vh, 50px); }
.login-submit { position: relative; width: 100%; height: 50px; overflow: hidden; background: var(--gradient-brand); font-weight: 750; box-shadow: 0 12px 28px color-mix(in oklab, var(--primary) 28%, transparent); }
.login-submit:hover { box-shadow: 0 0 0 1px color-mix(in oklab, var(--primary) 24%, transparent), 0 14px 34px color-mix(in oklab, var(--primary) 42%, transparent); filter: brightness(1.08); }
.login-submit:disabled { opacity: 1; }
.login-running-neb { position: absolute; z-index: 3; bottom: 38px; left: -78px; width: 100px; height: 75px; object-fit: contain; pointer-events: none; mix-blend-mode: multiply; animation: neb-login-run 2.2s cubic-bezier(.22,.8,.26,1) both; filter: drop-shadow(0 8px 9px oklch(.34 .1 292 / .25)); }
.login-running-neb.is-success { left: auto; right: 16px; animation: neb-login-celebrate .75s ease-out both; }
.login-progress { display: inline-flex; gap: 4px; align-items: center; }
.login-progress i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; animation: login-dot .8s ease-in-out infinite alternate; }
.login-progress i:nth-child(2) { animation-delay: .16s; }
.login-progress i:nth-child(3) { animation-delay: .32s; }
@keyframes neb-login-run { 0% { transform: translateX(0) translateY(8px) rotate(-4deg) scale(.72); opacity: 0; } 8% { opacity: 1; } 28% { transform: translateX(105px) translateY(0) rotate(2deg) scale(.86); } 55% { transform: translateX(245px) translateY(-7px) rotate(-1deg) scale(1); } 78% { transform: translateX(385px) translateY(1px) rotate(2deg) scale(.9); opacity: 1; } 100% { transform: translateX(500px) translateY(7px) rotate(-2deg) scale(.76); opacity: 0; } }
@keyframes neb-login-celebrate { 0% { transform: translateY(8px) scale(.75); opacity: 0; } 55% { transform: translateY(-8px) scale(1.04); opacity: 1; } 100% { transform: translateY(0) scale(.94); opacity: 1; } }
@keyframes login-dot { to { transform: translateY(-3px); opacity: .45; } }
.login-divider { display: flex; align-items: center; gap: 14px; margin: 11px 0; color: var(--muted-foreground); font-size: .72rem; }
.login-divider::before, .login-divider::after { content: ""; flex: 1; height: 1px; background: var(--border); }
.login-google { width: 100%; height: 44px; }
.google-mark { font-size: 1.15rem; font-weight: 800; color: oklch(.58 .19 38); }
.login-back { display: block; margin: 14px auto 0; font-size: .78rem; }
.login-shortcuts { margin-top: clamp(8px, 1.6vh, 16px); padding: clamp(10px, 1.5vh, 15px); border-radius: 12px; background: var(--login-soft); }
.login-shortcuts > strong, .login-shortcuts > span { display: block; }
.login-shortcuts > strong { font-size: .78rem; }
.login-shortcuts > span { margin-top: 1px; color: var(--muted-foreground); font-size: .68rem; }
.menu-promo-cta { color: var(--primary); background: linear-gradient(110deg, var(--primary-foreground), var(--accent), var(--primary-foreground)); background-size: 200% 100%; box-shadow: 0 9px 24px color-mix(in oklab, var(--primary) 22%, transparent); transition: transform .25s ease, box-shadow .25s ease, background-position .5s ease; }
.menu-promo-cta:hover { transform: translateY(-2px); background-position: 100% 50%; box-shadow: 0 0 0 1px color-mix(in oklab, var(--primary-foreground) 50%, transparent), 0 12px 30px color-mix(in oklab, var(--primary) 38%, transparent); }
.login-shortcuts > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 10px; }
.login-shortcuts button { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 9px 3px; border: 1px solid transparent; border-radius: 9px; background: color-mix(in oklab, var(--login-panel) 92%, transparent); transition: .25s ease; }
.login-shortcuts button:hover, .login-shortcuts button[data-active="true"] { border-color: color-mix(in oklab, var(--primary) 35%, transparent); transform: translateY(-3px); box-shadow: 0 8px 18px oklch(.4 .12 292 / .1); }
.login-shortcuts svg { width: 18px; color: var(--primary); }
.login-shortcuts b { font-size: .63rem; }
.login-shortcuts small { color: var(--muted-foreground); font-size: .52rem; }
.login-shortcuts > p { margin: 10px 0 0; text-align: center; font-size: .59rem; color: var(--muted-foreground); }
.login-shortcuts > p span { color: var(--primary); }
.reset-page { min-height: 100svh; display: grid; place-items: center; padding: 24px; background: var(--gradient-soft); }
.reset-page > section { width: min(420px, 100%); padding: 34px; border: 1px solid var(--border); border-radius: 14px; background: var(--background); box-shadow: var(--shadow-float); }
.reset-page h1 { margin-top: 20px; font-size: 1.7rem; font-weight: 800; }
.reset-page p { margin-top: 6px; color: var(--muted-foreground); font-size: .85rem; }
.reset-page form { display: grid; gap: 12px; margin: 22px 0; }
.reset-page form label { display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; }
.reset-page form label input { border: 0; box-shadow: none; }
.reset-page > section > a { color: var(--primary); font-size: .8rem; font-weight: 700; }
@media (max-height: 760px) and (min-width: 821px) { .login-form-wrap { margin-top: 8px; } .login-solution-picker { margin-bottom: 12px; } .login-form-wrap h2 { font-size: 1.55rem; } .login-form-wrap > p { margin-bottom: .8rem; } .login-submit-track { margin-top: 22px; } .login-divider { margin: 8px 0; } .login-shortcuts { margin-top: 9px; padding: 9px 12px; } .login-shortcuts > div { margin-top: 6px; } .login-shortcuts button { padding: 6px 3px; } .login-shortcuts > p { margin-top: 5px; } }
@media (max-width: 820px) { .login-card { grid-template-columns: 42% 58%; } .login-visual { min-height: 0; } .login-welcome { top: 24px; left: 20px; } .login-welcome h1 { font-size: clamp(1.8rem, 6vw, 2.7rem); } .login-welcome p, .login-handnote { display: none; } .login-scene { width: 100%; object-position: 57% center; } .login-scene-hand { top: 39%; right: -11%; width: 31%; } .login-form-side { padding: 14px 16px; } .login-topbar > span { display: none; } .login-form-wrap { margin-top: 10px; } }
@media (max-width: 600px) { .login-card { grid-template-columns: 1fr; } .login-visual { display: none; } .login-form-side { padding: 12px 18px; } .login-topbar { justify-content: space-between; } .login-top-link span, .login-plan-link { display: none; } .login-solution-picker button span { display: none; } .login-solution-picker button { height: 40px; } .login-field-row { grid-template-columns: 1fr; } .login-shortcuts > div { grid-template-columns: repeat(4, 1fr); } }
@media (prefers-reduced-motion: reduce) { .login-running-neb { animation: none; left: calc(100% - 100px); opacity: 1; } .login-progress i { animation: none; } }
.blog-hero { background: linear-gradient(90deg, var(--blog-background) 44%, color-mix(in oklab, var(--primary) 8%, var(--background))); }
.blog-kicker { display: inline-flex; width: fit-content; border-radius: 999px; background: var(--accent); padding: .35rem .7rem; color: var(--primary); font-size: .68rem; font-weight: 800; }
.blog-search { border: 1px solid var(--blog-border); background: var(--blog-surface); box-shadow: var(--blog-shadow); }
.blog-neb-scene { overflow: hidden; background: radial-gradient(circle at 64% 42%, color-mix(in oklab, var(--primary) 25%, transparent), transparent 54%); }
.blog-neb-image { position: absolute; z-index: 2; bottom: -7rem; left: 3%; width: min(70%, 30rem); filter: drop-shadow(0 18px 28px color-mix(in oklab, var(--primary) 22%, transparent)); transform-origin: center bottom; animation: neb-working-grounded 4.8s ease-in-out infinite; }
.blog-note { position: absolute; z-index: 1; right: 4%; top: 9%; rotate: -3deg; border-top: 5px solid var(--primary); background: color-mix(in oklab, var(--accent) 82%, white); padding: 1.1rem 1.4rem; color: var(--primary); font-size: 1.15rem; font-weight: 700; line-height: 1.25; box-shadow: var(--blog-shadow); }
.blog-books { position: absolute; z-index: 3; right: 1%; bottom: 6%; display: grid; width: 10.5rem; gap: 2px; rotate: 1deg; }
.blog-books span { border-radius: 3px; background: var(--ink); padding: .38rem .75rem; color: var(--primary-foreground); font-size: .67rem; font-weight: 700; box-shadow: var(--blog-shadow); }
.blog-category-row { display: grid; grid-template-columns: repeat(10, minmax(76px,1fr)); gap: .6rem; overflow-x: auto; scrollbar-width: none; }
.blog-category-row::-webkit-scrollbar { display: none; }
.blog-category { display: grid; min-height: 72px; place-items: center; gap: .35rem; border: 1px solid transparent; border-radius: .45rem; background: var(--muted); padding: .6rem; color: var(--muted-foreground); font-size: .7rem; font-weight: 700; transition: transform .25s ease, color .25s ease, background .25s ease; }
.blog-category:hover { transform: translateY(-3px); color: var(--primary); }
.blog-category[data-active="true"] { background: var(--primary); color: var(--primary-foreground); box-shadow: var(--blog-shadow); }
.blog-feature { background: var(--ink); box-shadow: var(--blog-shadow); transition: transform .35s cubic-bezier(.22,1,.36,1); }
.blog-feature:hover { transform: translateY(-3px); }
.blog-feature-overlay { background: linear-gradient(90deg, color-mix(in oklab, var(--ink) 96%, transparent) 0%, color-mix(in oklab, var(--ink) 78%, transparent) 48%, transparent 82%); }
.blog-cover-fallback { background: linear-gradient(145deg, color-mix(in oklab, var(--primary) 18%, var(--accent)), var(--ink)); }
.blog-popular { transition: background .25s ease, transform .25s ease; }
.blog-popular:hover { background: var(--accent); transform: translateX(3px); }
.blog-card { color: var(--blog-foreground); box-shadow: var(--blog-shadow); transition: transform .3s ease, box-shadow .3s ease; }
.blog-card:hover { transform: translateY(-5px); box-shadow: 0 22px 45px -25px color-mix(in oklab, var(--primary) 38%, transparent); }
.blog-newsletter { background: var(--gradient-brand); box-shadow: var(--blog-shadow); }
.blog-cta { background: var(--gradient-brand); box-shadow: var(--blog-shadow); }
.blog-modal { border: 1px solid var(--blog-border); }
.blog-article { color: var(--blog-muted); font-size: .95rem; line-height: 1.8; }
.blog-article h1, .blog-article h2, .blog-article h3, .blog-article strong { color: var(--blog-foreground); }
.blog-article h2, .blog-article h3 { margin-top: 1.7rem; margin-bottom: .7rem; }
.blog-article p, .blog-article ul, .blog-article ol { margin: .85rem 0; }
.blog-article ul, .blog-article ol { padding-left: 1.25rem; }
.blog-article a { color: var(--blog-primary); text-decoration: underline; }
.blog-article img { max-width: 100%; height: auto; margin: 1.4rem auto; border-radius: .8rem; }
.blog-article iframe { max-width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .blog-shell *, .blog-shell *::before, .blog-shell *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@utility bg-brand {
  background-image: var(--gradient-brand);
}
@utility bg-soft {
  background-image: var(--gradient-soft);
}
@utility shadow-card {
  box-shadow: var(--shadow-card);
}
@utility shadow-float {
  box-shadow: var(--shadow-float);
}
@utility text-gradient {
  background-image: var(--gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

@keyframes rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes neb-working {
  0%, 100% { transform: translateY(0) rotate(.2deg); }
  45% { transform: translateY(-7px) rotate(-.35deg); }
  55% { transform: translateY(-5px) rotate(.15deg); }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@utility animate-rise {
  animation: rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@utility animate-floaty {
  animation: floaty 6s ease-in-out infinite;
}
@utility animate-marquee {
  animation: marquee 28s linear infinite;
}

@utility reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  &.is-visible {
    opacity: 1;
    transform: none;
  }
}

@utility card-lift {
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
  &:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-float);
  }
}

@utility btn-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.7rem;
  background-image: var(--gradient-brand);
  padding: 0.7rem 1.15rem;
  font-weight: 600;
  color: var(--primary-foreground);
  box-shadow: 0 6px 18px -8px oklch(0.4 0.2 292 / 0.6);
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease, filter 0.25s ease;
  &:hover {
    transform: translateY(-2px);
    filter: saturate(1.15);
    box-shadow: 0 14px 28px -10px oklch(0.4 0.2 292 / 0.65);
  }
  &:active { transform: translateY(0); }
  & .arrow { transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1); }
  &:hover .arrow { transform: translateX(4px); }
}

@utility btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.7rem;
  border: 1px solid var(--border);
  background: var(--card);
  padding: 0.7rem 1.15rem;
  font-weight: 600;
  color: var(--primary);
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.25s ease, background 0.25s ease;
  &:hover {
    transform: translateY(-2px);
    border-color: var(--primary);
    background: var(--accent);
  }
  & .arrow { transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1); }
  &:hover .arrow { transform: translateX(4px); }
}

@utility link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 600;
  color: var(--primary);
  & .arrow { transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1); }
  &:hover .arrow { transform: translateX(4px); }
}

/* ---------- Hostinger-like surfaces ---------- */
:root {
  --gradient-night: radial-gradient(120% 90% at 20% 0%, oklch(0.32 0.16 300) 0%, oklch(0.22 0.13 292) 40%, oklch(0.14 0.08 288) 100%);
  --gradient-dawn: linear-gradient(180deg, oklch(0.93 0.05 292), oklch(0.99 0.01 292) 60%, oklch(1 0 0));
}
@utility bg-night { background-image: var(--gradient-night); }
@utility bg-dawn { background-image: var(--gradient-dawn); }
@utility bg-night-solid { background: #2a1358; }
@utility bg-night-header { background: color-mix(in oklab, var(--ink) 78%, transparent); backdrop-filter: blur(18px); }
@utility header-on-dark { color: var(--primary-foreground); }
@utility logo-light { filter: brightness(0) invert(1); }

.header-on-dark:hover,
.header-on-dark:focus-visible { color: var(--primary-foreground); background: color-mix(in oklab, var(--primary-foreground) 10%, transparent); }

@utility glass {
  background: color-mix(in oklab, white 10%, transparent);
  backdrop-filter: blur(14px);
  border: 1px solid color-mix(in oklab, white 18%, transparent);
}

@utility pill-tabs {
  display: inline-flex;
  gap: 0.15rem;
  border-radius: 999px;
  background: var(--card);
  padding: 0.3rem;
  box-shadow: var(--shadow-card);
  & button {
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--muted-foreground);
    transition: color 0.25s ease, background 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  }
  & button[data-active="true"] {
    background: var(--ink);
    color: white;
  }
}

@utility btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  background: white;
  padding: 0.85rem 1.6rem;
  font-weight: 700;
  color: oklch(0.2 0.06 290);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.3s ease;
  &:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 18px 40px -14px oklch(0.2 0.1 292 / 0.7); }
  &:active { transform: translateY(0) scale(0.99); }
}

@utility btn-ghost-glow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  padding: 0.55rem 1.1rem;
  font-weight: 600;
  border: 1px solid color-mix(in oklab, var(--primary) 45%, transparent);
  background: color-mix(in oklab, var(--primary) 10%, transparent);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  &:hover { transform: translateY(-2px); box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 18%, transparent); }
}

@utility tilt-card {
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease, filter 0.45s ease;
  &:hover { transform: translateY(-14px) rotate(-0.6deg) scale(1.02); box-shadow: var(--shadow-float); filter: saturate(1.08); }
}

@utility rise-stagger {
  opacity: 0;
  transform: translateY(46px) scale(0.97);
  transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  &.is-visible { opacity: 1; transform: none; }
}

@keyframes shimmer { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@keyframes light-sweep {
  0%, 55% { background-position: -220% 50%; }
  90%, 100% { background-position: 220% 50%; }
}
@utility text-shimmer {
  position: relative;
  display: inline-block;
  background:
    linear-gradient(105deg,
      transparent 32%,
      oklch(1 0 0 / 0.85) 46%,
      oklch(0.95 0.05 310 / 0.95) 50%,
      oklch(1 0 0 / 0.85) 54%,
      transparent 68%) 0 0 / 220% 100% no-repeat,
    linear-gradient(90deg, oklch(0.72 0.16 300), oklch(0.9 0.06 320), oklch(0.72 0.16 300)) 0 0 / 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: light-sweep 4.5s cubic-bezier(.4, 0, .2, 1) infinite;
}

@keyframes slideUpLoop {
  0%, 12% { transform: translateY(0); }
  25%, 37% { transform: translateY(-25%); }
  50%, 62% { transform: translateY(-50%); }
  75%, 87% { transform: translateY(-75%); }
  100% { transform: translateY(0); }
}
@utility anim-slideup { animation: slideUpLoop 12s cubic-bezier(0.7, 0, 0.2, 1) infinite; }

@keyframes typing { from { width: 0; } to { width: 100%; } }
@keyframes caret { 50% { border-color: transparent; } }
@utility anim-typing {
  overflow: hidden;
  white-space: nowrap;
  border-right: 2px solid currentColor;
  animation: typing 3.2s steps(32) infinite alternate, caret 0.8s step-end infinite;
}

@utility float-cta {
  position: fixed;
  left: 50%;
  bottom: 1.25rem;
  translate: -50% 0;
  z-index: 60;
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  &[data-hidden="true"] { opacity: 0; pointer-events: none; transform: translateY(24px); }
}

@keyframes screenRise {
  from { opacity: 0; transform: translateY(72px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes screenDrift {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -10px; }
}

@utility showcase-stage {
  position: relative;
  display: flex;
  align-items: end;
  gap: 1rem;
  min-height: 350px;
}

@utility showcase-screen {
  flex: var(--showcase-size, .95) 1 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in oklab, var(--primary-foreground) 24%, transparent);
  border-radius: 1.35rem;
  background: var(--card);
  box-shadow: var(--shadow-float);
  animation: screenRise .9s cubic-bezier(.16,1,.3,1) both, screenDrift 7s ease-in-out 1.2s infinite;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s ease;
  & img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
  &:hover { transform: translateY(-10px) scale(1.015); box-shadow: 0 32px 72px -24px oklch(0.15 0.12 292 / .75); }
}
@utility showcase-mobile { --showcase-size: .72; height: 300px; & img { object-position: top center; } }
@utility showcase-wide { --showcase-size: 1.75; height: 340px; }
@utility showcase-side { height: 285px; }

@utility product-scene { min-height: 390px; position: relative; }
@utility product-screen {
  height: 310px;
  overflow: hidden;
  transform: translateY(14px) rotate(-1deg);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
  & img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
  .product-scene:hover & { transform: translateY(0) rotate(0deg) scale(1.015); }
}
@utility product-prompt {
  position: absolute;
  inset-inline: 2.5rem;
  bottom: 1.4rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card);
  padding: .65rem .75rem .65rem 1rem;
  box-shadow: var(--shadow-card);
}

@utility neb-chat-band { background: var(--gradient-dawn); }
@utility section-kicker { color: var(--primary); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
@utility neb-chat-shell { overflow: hidden; border: 1px solid var(--border); border-radius: 1.5rem; background: var(--card); box-shadow: var(--shadow-float); }
@utility neb-avatar { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 999px; background-image: var(--gradient-brand); color: var(--primary-foreground); }
@utility neb-user-message { background-image: var(--gradient-brand); color: var(--primary-foreground); border-radius: 1rem; }
@utility neb-prompt { background: var(--background); }

@media (max-width: 767px) {
  .showcase-stage { display: grid; grid-template-columns: 1fr; min-height: 270px; }
  .showcase-wide { height: 260px; }
  .float-cta { width: calc(100% - 2rem); justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* ---------- Hero: destaque ao passar o mouse (estilo Hostinger) ---------- */
.showcase-screen {
  flex: var(--showcase-size, .95) 1 0%;
  cursor: pointer;
  transform: none;
  transform-origin: center bottom;
  transition:
    flex-grow .75s cubic-bezier(.16, 1, .3, 1),
    translate .75s cubic-bezier(.16, 1, .3, 1),
    scale .75s cubic-bezier(.16, 1, .3, 1),
    opacity .55s ease,
    filter .55s ease,
    box-shadow .75s cubic-bezier(.16, 1, .3, 1);
}
.showcase-screen.showcase-mobile { flex-grow: .72; }
.showcase-screen.showcase-wide { flex-grow: 1.75; }
.showcase-stage:has(.showcase-screen:hover) .showcase-screen,
.showcase-stage:has(.showcase-screen[data-active="true"]) .showcase-screen {
  opacity: .72;
  filter: saturate(.88);
  scale: .96;
}
.showcase-stage .showcase-screen:hover,
.showcase-stage .showcase-screen[data-active="true"] {
  opacity: 1 !important;
  filter: none !important;
  scale: 1.025;
  z-index: 3;
}
.showcase-stage:has(.showcase-screen[data-active="true"]) .showcase-screen[data-active="true"] {
  flex-grow: 2.15 !important;
  translate: 0 -10px;
  scale: 1.025;
  box-shadow: 0 32px 72px -24px oklch(0.15 0.12 292 / .72);
  z-index: 4;
}
.showcase-stage .showcase-screen[data-active="true"] img {
  transform: none;
  transition: transform .75s cubic-bezier(.16, 1, .3, 1);
}
.showcase-stage .showcase-screen:focus-visible {
  outline: 2px solid oklch(0.82 0.1 300);
  outline-offset: 4px;
}

@media (max-width: 767px) {
  .showcase-stage:has(.showcase-screen[data-active="true"]) .showcase-screen[data-active="true"] {
    translate: 0 -4px;
    scale: 1.01;
  }
}

/* ---------- Máquina de escrever ---------- */
.typewriter { display: inline-flex; align-items: center; min-height: 1.2em; }
.tw-caret {
  display: inline-block;
  width: 2px;
  height: 1em;
  margin-left: 2px;
  background: currentColor;
  animation: caret .9s step-end infinite;
}

/* ---------- Cards de ferramentas com telas reais ---------- */
@utility tool-card {
  position: relative;
  overflow: visible;
  transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease;
  &:hover { transform: translateY(-12px); box-shadow: var(--shadow-float); }
}
.tool-card-top {
  position: relative;
  height: 9.5rem;
  border-radius: 1.8rem 1.8rem 0 0;
  padding: 1rem 1rem 0;
  overflow: visible;
}
.tool-shot {
  height: 100%;
  overflow: hidden;
  border-radius: .9rem;
  box-shadow: var(--shadow-card);
  background: var(--card);
}
.tool-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.tool-card:hover .tool-shot img { transform: scale(1.07) translateY(-6px); }
.tool-mascot {
  position: absolute;
  left: 50%;
  bottom: -.5rem;
  translate: -50% 0;
  height: 13.5rem;
  width: auto;
  filter: drop-shadow(0 24px 30px oklch(0.3 0.12 292 / .35));
  animation: floaty 6s ease-in-out infinite;
  transition: transform .5s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
}
.tool-card:hover .tool-mascot { transform: translateY(-14px) rotate(-3deg) scale(1.05); }

/* ---------- Planos expansíveis ---------- */
.plan-details {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows .45s cubic-bezier(.16,1,.3,1), opacity .35s ease;
  opacity: 0;
  & > * { min-height: 0; }
  &[data-open="true"] { grid-template-rows: 1fr; opacity: 1; }
}

/* ---------- Cards do Neb com seleção e carregamento ---------- */
.neb-deck-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 17rem;
  background: color-mix(in oklab, white 6%, transparent);
  border: 1px solid color-mix(in oklab, white 12%, transparent);
  transition: transform .5s cubic-bezier(.16,1,.3,1), background .5s ease, height .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease;
}
.neb-deck-card .neb-deck-chat { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s cubic-bezier(.16,1,.3,1); }
.neb-deck-card[data-active="true"] {
  background-image: var(--gradient-brand);
  height: 21rem;
  transform: translateY(-6px);
  box-shadow: var(--shadow-float);
}
.neb-deck-card[data-active="true"] .neb-deck-chat { opacity: 1; transform: none; }
.neb-working-home-wrap {
  position: relative;
  z-index: 6;
  width: min(100%, 38rem);
  height: 23rem;
  margin: -9rem 0 -6rem auto;
  pointer-events: none;
  overflow: visible;
}
.neb-working-home {
  position: absolute;
  z-index: 2;
  inset: auto 0 0 auto;
  display: block;
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 24px 28px oklch(0.08 0.06 292 / .52));
  animation: neb-working-grounded 4.8s ease-in-out infinite;
  transform-origin: center bottom;
}
.neb-help-visual { min-height: 34rem; overflow: visible; align-self: end; }
.neb-help-image-wrap {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  height: 34rem;
  align-items: end;
  justify-content: center;
  overflow: visible;
}
.neb-working-help {
  position: relative;
  z-index: 2;
  display: block;
  width: min(100%, 34rem);
  max-height: 34rem;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 24px 28px oklch(0.2 0.08 292 / .18));
  animation: neb-working-grounded 4.8s ease-in-out infinite;
  transform-origin: center bottom;
}
@keyframes neb-working-grounded {
  0%, 100% { transform: rotate(.15deg) scale(1); }
  50% { transform: rotate(-.15deg) scale(1.006); }
}
.neb-deck-loader {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.1rem;
  height: 3px;
  border-radius: 999px;
  background: color-mix(in oklab, white 22%, transparent);
  overflow: hidden;
}
.neb-deck-card[data-active="true"] .neb-deck-loader::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: white;
  transform-origin: left;
  animation: loadbar 6s linear infinite;
}
@keyframes loadbar { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* ---------- Painel do Neb ---------- */
.neb-panel {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 80;
  display: flex;
  flex-direction: column;
  width: min(380px, calc(100vw - 2rem));
  height: min(600px, calc(100vh - 3rem));
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  background: var(--card);
  box-shadow: var(--shadow-float);
  animation: rise .4s cubic-bezier(.16,1,.3,1) both;
}
.neb-panel-hero {
  display: flex;
  width: 100%;
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--border);
  border-radius: 1rem;
  background: var(--card);
  padding: .8rem;
  box-shadow: var(--shadow-card);
  transition: transform .3s cubic-bezier(.16,1,.3,1), border-color .3s ease;
}
.neb-panel-hero:hover { transform: translateY(-3px); border-color: var(--primary); }
.neb-panel-tile {
  display: grid;
  gap: .4rem;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: .9rem;
  padding: .7rem .4rem;
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}
.neb-panel-tile:hover { transform: translateY(-3px); border-color: var(--primary); background: var(--accent); }

@utility marquee-mask {
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.hero-shot { position: relative; transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s ease; }
.hero-shot::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 40%, color-mix(in oklab, white 55%, transparent) 50%, transparent 60%);
  transform: translateX(-120%); animation: hero-shine 6.5s ease-in-out infinite;
}
.hero-shot:hover { transform: translateY(-6px) scale(1.01); }
@keyframes hero-shine { 0%, 70% { transform: translateX(-120%); } 90%, 100% { transform: translateX(120%); } }

@media (prefers-reduced-motion: reduce) {
  .hero-shot::after { animation: none; }
  .neb-working-home, .neb-working-help { animation: none; }
}

@media (max-width: 1023px) {
  .neb-working-home-wrap { width: min(100%, 32rem); height: 17rem; margin-top: -4rem; opacity: .96; }
  .neb-help-visual, .neb-help-image-wrap { min-height: 27rem; }
  .neb-help-image-wrap { height: 27rem; }
}

@media (max-width: 767px) {
  .blog-hero { background: var(--background); }
  .blog-neb-scene { min-height: 360px; }
  .blog-neb-image { bottom: -5rem; left: 4%; width: min(78%, 24rem); }
  .blog-note { right: 1%; top: 5%; font-size: .9rem; }
  .blog-books { right: 1%; width: 8rem; }
}

@media (max-width: 639px) {
  .neb-working-home-wrap { display: block; width: 100%; height: 15rem; margin: -2rem 0 -6rem; }
  .neb-help-visual, .neb-help-image-wrap { min-height: 23rem; }
  .neb-help-image-wrap { height: 23rem; }
  .neb-working-help { width: min(100%, 28rem); max-height: 22rem; }
}

/* ---------- Migração ---------- */
.migration-page {
  background-image: linear-gradient(to bottom, var(--background), color-mix(in oklab, var(--primary) 3%, var(--background)));
}
.migration-hero {
  min-height: 515px;
}
.migration-hero-art {
  inset-inline: 0;
  width: 100%;
  z-index: 0;
  object-position: center 47%;
  filter: saturate(1.06) contrast(1.02);
}
.migration-hero-shade {
  z-index: 1;
  background: linear-gradient(90deg, color-mix(in oklab, var(--footer) 96%, transparent) 0%, color-mix(in oklab, var(--footer) 90%, transparent) 30%, color-mix(in oklab, var(--footer) 48%, transparent) 52%, color-mix(in oklab, var(--footer) 4%, transparent) 76%, color-mix(in oklab, var(--footer) 34%, transparent) 100%);
}
.migration-hero > .relative {
  z-index: 2;
}
.migration-consult {
  position: relative;
  z-index: 2;
  margin-top: -1.2rem;
}
.migration-neb-callout {
  background-image: linear-gradient(135deg, color-mix(in oklab, var(--primary) 8%, var(--card)), var(--card));
}
.migration-limited {
  background-image: linear-gradient(135deg, var(--night-solid), color-mix(in oklab, var(--primary) 70%, var(--night-solid)));
}
.migration-plan-card {
  background: var(--card);
  color: var(--foreground);
}
.migration-plan-card-featured {
  background: color-mix(in oklab, var(--primary) 28%, var(--night-solid));
  color: var(--primary-foreground);
}
.migration-final {
  min-height: 132px;
  background-image: linear-gradient(105deg, var(--primary), color-mix(in oklab, var(--primary) 55%, var(--night-solid)) 72%, color-mix(in oklab, var(--primary) 22%, var(--card)));
}
.migration-final > img { margin-block: -2.5rem; }

@media (max-width: 1023px) {
  .migration-hero { min-height: 670px; }
  .migration-hero-art { width: 100%; object-position: 60% center; }
  .migration-hero-shade { background: linear-gradient(90deg, color-mix(in oklab, var(--footer) 97%, transparent), color-mix(in oklab, var(--footer) 76%, transparent) 62%, color-mix(in oklab, var(--footer) 22%, transparent)); }
}

@media (max-width: 639px) {
  .migration-hero { min-height: 710px; }
  .migration-hero-art { object-position: 66% bottom; opacity: .56; }
  .migration-hero-shade { background: linear-gradient(180deg, color-mix(in oklab, var(--footer) 98%, transparent) 0%, color-mix(in oklab, var(--footer) 88%, transparent) 54%, color-mix(in oklab, var(--footer) 25%, transparent) 100%); }
  .migration-consult { margin-top: 0; padding-top: 1rem; }
  .migration-neb-callout { grid-template-columns: 80px 1fr; }
  .migration-step { border-right: 0; border-bottom: 1px solid var(--border); }
  .migration-final > img { margin-block: -1rem 0; }
}

.neb-chip {
  transition: background-color .35s ease, transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.neb-chip:hover {
  background-color: color-mix(in oklch, var(--background) 55%, transparent);
  border-color: color-mix(in oklch, var(--primary) 45%, transparent);
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 14px 34px -12px color-mix(in oklch, var(--primary) 45%, transparent);
  animation: neb-chip-pop .45s ease;
}
.neb-chip:hover svg {
  animation: neb-chip-icon .5s ease;
}
@keyframes neb-chip-pop {
  0% { transform: translateY(0) scale(1); }
  55% { transform: translateY(-5px) scale(1.06); }
  100% { transform: translateY(-4px) scale(1.04); }
}
@keyframes neb-chip-icon {
  0% { transform: rotate(0) scale(1); }
  50% { transform: rotate(-10deg) scale(1.2); }
  100% { transform: rotate(0) scale(1); }
}

/* Cena do login (imagem full-bleed com borda curva) */
.login-hero { background: oklch(.24 .07 292); }
.login-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.login-hero-veil { position: absolute; inset: 0; background: linear-gradient(100deg, oklch(.18 .07 292 / .92) 0%, oklch(.24 .09 292 / .72) 38%, transparent 72%); }
@media (min-width: 1024px) {
  .login-hero { border-top-right-radius: 0; border-bottom-right-radius: 0; clip-path: ellipse(112% 100% at 0% 50%); }
}

.marquee-track { animation: nbx-brand-marquee 32s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
@keyframes nbx-brand-marquee { to { transform: translateX(-50%); } }

/* Painel interno Nebix */
.panel-shell { --panel-night: oklch(0.15 0.09 280); font-family: var(--font-sans); }
.panel-shell h1, .panel-shell h2, .panel-shell h3 { letter-spacing: 0; }
.panel-topbar { border-bottom: 1px solid var(--border); background: color-mix(in oklab,var(--background) 88%,transparent); box-shadow: 0 8px 26px -24px var(--foreground); backdrop-filter: blur(18px); }
.panel-card { border: 1px solid var(--border); border-radius: 8px; background: color-mix(in oklab,var(--card) 94%,transparent); box-shadow: 0 8px 28px -26px var(--foreground); transition: border-color .2s,transform .2s,box-shadow .2s; }
.panel-card:hover { border-color: color-mix(in oklab,var(--primary) 22%,var(--border)); box-shadow: 0 14px 34px -30px var(--foreground); }
.panel-hero { box-shadow: 0 16px 36px -24px oklch(0.3 0.18 290 / .48); }
.panel-input { display: flex; height: 42px; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 7px; padding-inline: 12px; }
.panel-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px color-mix(in oklab, var(--primary) 12%, transparent); }
.panel-input svg { width: 16px; color: var(--primary); }
.panel-input input { min-width: 0; flex: 1; background: transparent; font-size: 12px; outline: none; }
.panel-modal { animation: panel-pop .45s cubic-bezier(.2,.8,.2,1); }
@keyframes panel-pop { from { transform: translateY(12px) scale(.985); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 640px) { .panel-topbar { border-radius: 0; } .panel-hero img { object-position: 63% center; opacity: .6; } }
@media (prefers-reduced-motion: reduce) { .panel-modal { animation: none; } }
.panel-sidebar { overflow: visible; scrollbar-width: thin; scrollbar-color: color-mix(in oklab,var(--primary) 35%,transparent) transparent; box-shadow: 10px 0 28px -28px var(--foreground); }
.panel-sidebar nav { overflow-y: auto; overflow-x: visible; }
.panel-nav-flyout { position:absolute; left:calc(100% + 9px); top:0; z-index:90; display:none; width:190px; border:1px solid var(--border); border-radius:8px; background:color-mix(in oklab,var(--background) 95%,transparent); padding:8px; box-shadow:0 18px 42px -24px var(--foreground); opacity:0; transform:translateX(-7px) scale(.98); pointer-events:none; backdrop-filter:blur(18px); transition:opacity .18s,transform .18s; }
.panel-nav-flyout strong { display:block; padding:7px 9px; font-size:11px; color:var(--foreground); }
.panel-nav-flyout a { display:block; border-radius:6px; padding:8px 9px; font-size:10px; color:var(--muted-foreground); transition:background .18s,color .18s,transform .18s; }
.panel-nav-flyout a:hover,.panel-nav-flyout a.is-active { background:var(--accent); color:var(--primary); transform:translateX(2px); }
.panel-nav-group:hover .panel-nav-flyout,.panel-nav-group:focus-within .panel-nav-flyout { opacity:1; transform:none; pointer-events:auto; animation:panel-flyout-in .22s cubic-bezier(.22,1,.36,1); }
.panel-nav-group:hover .panel-nav-flyout a,.panel-nav-group:focus-within .panel-nav-flyout a { animation:panel-flyout-item .26s backwards; }
.panel-nav-flyout a:nth-of-type(2){animation-delay:.03s}.panel-nav-flyout a:nth-of-type(3){animation-delay:.06s}.panel-nav-flyout a:nth-of-type(4){animation-delay:.09s}.panel-nav-flyout a:nth-of-type(5){animation-delay:.12s}.panel-nav-flyout a:nth-of-type(6){animation-delay:.15s}
@keyframes panel-flyout-in { from { opacity:0; transform:translateX(-8px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes panel-flyout-item { from { opacity:0; transform:translateX(-6px); } to { opacity:1; transform:none; } }
.panel-detail-hero img { object-position: center 38%; }
.panel-shop-band { min-height: 150px; }
@media (max-width: 640px) { .panel-detail-hero img { object-position: 62% center; opacity: .72; } }
html:has(.panel-shell), body:has(.panel-shell) { overflow-x: clip; max-width: 100%; }
.panel-shell main { min-width: 0; overflow-x: clip; }
.panel-shell table { max-width: 100%; }

/* Editor visual administrativo */
.visual-editor-launch { position:fixed; right:20px; bottom:22px; z-index:120; box-shadow:0 16px 38px -18px var(--foreground); }
.visual-editor-topbar { position:fixed; inset:0 0 auto; z-index:140; display:flex; height:58px; align-items:center; gap:10px; border-bottom:1px solid var(--border); background:var(--background); padding:8px 14px; box-shadow:0 10px 30px -26px var(--foreground); }
.visual-editor-panel { position:fixed; z-index:135; left:0; top:58px; bottom:0; width:290px; border-right:1px solid var(--border); background:color-mix(in oklab,var(--background) 96%,transparent); box-shadow:14px 0 34px -28px var(--foreground); backdrop-filter:blur(16px); overflow-y:auto; }
.visual-editing body { padding-top:58px; padding-left:290px; transition:padding .25s; }
.visual-editing body *:not([data-visual-editor], [data-visual-editor] *) { cursor:crosshair; }
.visual-editing [data-visual-selected="true"] { outline:2px solid var(--primary); outline-offset:3px; }
.visual-selection-box { position:fixed; z-index:130; border:2px solid var(--primary); background:color-mix(in oklab,var(--primary) 8%,transparent); pointer-events:auto; cursor:move; }
body[data-editor-viewport="tablet"] > #root,body[data-editor-viewport="mobile"] > #root { margin-inline:auto; border-inline:1px solid var(--border); box-shadow:0 0 30px -20px var(--foreground); }
body[data-editor-viewport="tablet"] > #root { max-width:820px; } body[data-editor-viewport="mobile"] > #root { max-width:390px; }
@media(max-width:760px){.visual-editor-panel{width:250px}.visual-editing body{padding-left:0}.visual-editor-topbar span,.visual-editor-topbar strong{display:none}}

/* Login imersivo Nebix */
.neb-login { position: relative; min-height: 100svh; overflow: hidden; background-color: var(--login-night); background-position: center 88%; background-size: cover; color: var(--login-foreground); font-family: var(--font-sans); isolation:isolate; }
.neb-login::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 55%, transparent 0 22%, rgb(8 2 24 / .14) 52%, rgb(5 1 15 / .62) 100%); }
.neb-login-stars { position: absolute; inset: 0; opacity: .28; background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom,#000,transparent 65%); }
.neb-login-shooting-stars{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.neb-login-shooting-stars i{position:absolute;top:9%;left:66%;width:120px;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--login-star));filter:drop-shadow(0 0 6px var(--login-star));opacity:0;transform:rotate(32deg);animation:neb-shooting-star 8s ease-in infinite}.neb-login-shooting-stars i:nth-child(2){top:17%;left:37%;width:82px;animation-delay:3.1s;animation-duration:10s}.neb-login-shooting-stars i:nth-child(3){top:7%;left:83%;width:64px;animation-delay:6.4s;animation-duration:12s}
.neb-login-brand { position: absolute; z-index: 3; left: 3.2vw; top: 3.2vh; display: flex; align-items: center; gap: 20px; animation: login-rise .8s ease both; }
.neb-login-brand > *:first-child { width: 135px; }
.neb-login-brand p { border-left: 1px solid rgb(255 255 255 / .28); padding-left: 18px; font-size: 8px; font-weight: 700; letter-spacing: .12em; line-height: 1.7; color: rgb(255 255 255 / .65); }
.neb-login-language { position: absolute; z-index: 3; right: 3vw; top: 4vh; display: flex; align-items: center; gap: 8px; font-size: 10px; color: rgb(255 255 255 / .76); }
.neb-login-language svg { width: 15px; }
.neb-login-form-card { position: absolute; z-index: 4; left: 50%; top: 50%; width: min(31vw, 440px); transform: translate(-50%,-48%); border: 1px solid rgb(255 255 255 / .2); border-radius: 18px; padding: clamp(22px,3vh,36px); background: linear-gradient(150deg,rgb(31 17 61 / .82),rgb(10 5 29 / .9)); box-shadow: 0 35px 90px rgb(0 0 0 / .46), inset 0 1px rgb(255 255 255 / .12); backdrop-filter: blur(18px); animation: login-form-in .9s cubic-bezier(.2,.8,.2,1) both; }
.neb-login-kicker { display: block; text-align: center; font-size: 8px; font-weight: 800; letter-spacing: .28em; color: #bda5ff; }
.neb-login-form-card h1 { margin-top: 8px; text-align: center; font-size: clamp(22px,2vw,31px); font-weight: 800; letter-spacing: -.03em; }
.neb-login-form-card > p { margin: 7px auto 18px; max-width: 320px; text-align: center; font-size: 10px; color: rgb(255 255 255 / .58); }
.neb-login-form { display: grid; gap: 13px; }
.neb-login-form label > span { display: block; margin-bottom: 6px; font-size: 9px; font-weight: 700; color: rgb(255 255 255 / .75); }
.neb-login-form label > div { display: flex; align-items: center; height: 43px; border: 1px solid rgb(255 255 255 / .14); border-radius: 8px; background: rgb(255 255 255 / .07); padding-inline: 12px; transition: border-color .2s,box-shadow .2s; }
.neb-login-form label > div:focus-within { border-color: #9a6cff; box-shadow: 0 0 0 3px rgb(145 92 255 / .13); }
.neb-login-form label svg { width: 15px; color: #b594ff; }
.neb-login-form input { min-width: 0; flex: 1; height: 100%; background: transparent; padding-inline: 10px; color: #fff; font-size: 11px; outline: none; }
.neb-login-form input::placeholder { color: rgb(255 255 255 / .32); }
.neb-login-options { display: flex; align-items: center; justify-content: space-between; font-size: 9px; color: rgb(255 255 255 / .64); }
.neb-login-options > label { display: flex; align-items: center; gap: 7px; }
.neb-login-options input { width: 13px; accent-color: #854ff2; }
.neb-login-options button,.neb-login-signup button { height: auto; padding: 0; color: #c6aeff; font-size: 9px; }
.neb-login-submit { width: 100%; height: 43px; justify-content: center; border: 1px solid rgb(255 255 255 / .25); background: linear-gradient(180deg,#ad7aff,#6f37de); box-shadow: 0 8px 0 #3d188a,0 15px 28px rgb(81 30 173 / .42),inset 0 1px rgb(255 255 255 / .45); transition: transform .18s,box-shadow .18s; }
.neb-login-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 0 #3d188a,0 20px 32px rgb(81 30 173 / .48),inset 0 1px rgb(255 255 255 / .45); }
.neb-login-submit:active { transform: translateY(5px); box-shadow: 0 3px 0 #3d188a,0 8px 18px rgb(81 30 173 / .35); }
.neb-login-divider { display: flex; align-items: center; gap: 9px; margin-block: 15px 11px; font-size: 8px; color: rgb(255 255 255 / .36); }
.neb-login-divider span { height: 1px; flex: 1; background: rgb(255 255 255 / .12); }
.neb-login-divider + div button { border-color: rgb(255 255 255 / .15); background: rgb(255 255 255 / .05); color: white; font-size: 10px; }
.google-mark { color: #75a7ff; font-size: 14px; }
.neb-login-signup { margin-top: 16px; text-align: center; font-size: 9px; color: rgb(255 255 255 / .5); }
.neb-login-signup button { display: inline-flex; margin-left: 5px; }
.neb-login-signup small { display: block; margin-top: 5px; }
.neb-login-solutions { position: absolute; z-index: 4; top: 50%; display: grid; align-content: center; width: min(19vw,278px); gap: 20px; perspective:900px; transform: translateY(-50%); }
.neb-login-solutions-left { left: 3.5vw; }.neb-login-solutions-right { right: 3.5vw; }
.neb-solution-card { position:relative;width:100%;height:72px;justify-content:flex-start;gap:12px;border:1px solid rgb(255 255 255 / .3);border-radius:13px;background:linear-gradient(115deg,rgb(255 255 255 / .2),rgb(216 195 255 / .1));color:#fff;box-shadow:none;backdrop-filter:blur(9px) saturate(120%);transform:rotateZ(-7deg) skewX(-9deg);transition:transform .35s cubic-bezier(.2,.75,.2,1),background .3s,border-color .3s;animation:login-rise .8s ease both;overflow:hidden}
.neb-solution-card::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgb(255 255 255 / .16),transparent 46%);pointer-events:none}
.neb-login-solutions-right .neb-solution-card { transform:rotateZ(7deg) skewX(9deg);box-shadow:none }
.neb-solution-card:hover { transform:translateY(-5px) rotateZ(0) skewX(0) scale(1.02);border-color:rgb(255 255 255 / .5);background:linear-gradient(115deg,rgb(255 255 255 / .28),rgb(205 178 255 / .16));box-shadow:none; }
.neb-solution-card[data-active="true"] { transform:translateY(-4px) rotateZ(0) skewX(0) scale(1.04);border-color:color-mix(in oklab,var(--primary) 70%,white);background:linear-gradient(115deg,color-mix(in oklab,var(--primary) 44%,transparent),rgb(255 255 255 / .16));box-shadow:0 0 0 2px color-mix(in oklab,var(--primary) 45%,transparent),0 16px 34px rgb(80 30 170 / .35); }
.neb-solution-card > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background:linear-gradient(145deg,var(--primary),color-mix(in oklab,var(--primary) 72%,var(--accent))); color:var(--primary-foreground); box-shadow:0 7px 13px color-mix(in oklab,var(--primary) 38%,transparent),inset 0 1px rgb(255 255 255 / .38); }.neb-solution-card[data-solution="atendimento"]>span{background:linear-gradient(145deg,var(--success),color-mix(in oklab,var(--success) 66%,var(--primary)))}.neb-solution-card[data-solution="webmail"]>span{background:linear-gradient(145deg,var(--ring),color-mix(in oklab,var(--ring) 62%,var(--success)))}.neb-solution-card svg { width: 20px; }.neb-solution-card p { min-width: 0; flex: 1; text-align: left; }.neb-solution-card b,.neb-solution-card small { display:block; }.neb-solution-card b { font-size: 12px; }.neb-solution-card small { margin-top: 3px; font-size: 8px; color:rgb(255 255 255 / .72); }.neb-solution-card i { color:#d3bcff;font-weight:900; }
.neb-login-wall-note { position: absolute; z-index: 2; left: 4vw; bottom: 22%; font-size: 8px; font-weight: 800; letter-spacing: .18em; line-height: 2; color: rgb(255 255 255 / .5); }
.neb-login-neb-note { position: absolute; z-index: 2; right: 9vw; bottom: 21%; font-family: cursive; font-size: 11px; line-height: 1.6; color: rgb(255 255 255 / .66); transform: rotate(-7deg); }.neb-login-neb-note i { color: #b995ff; }

.neb-login-footer { position:absolute; z-index:4; inset:auto 3.5vw 15px; display:flex; align-items:center; gap:14px; padding-top:13px; border-top:1px solid rgb(255 255 255 / .1); color:rgb(255 255 255 / .43); font-size:8px }.neb-login-footer > *:first-child{width:76px}.neb-login-footer nav{display:flex;gap:20px;margin-left:auto}.neb-login-footer a:hover{color:white}.login-running-neb{position:absolute;z-index:3;bottom:28px;left:-40px;width:52px;pointer-events:none;animation:neb-run 1.2s linear infinite}.login-running-neb.is-success{animation:neb-finish .75s ease forwards}
.panel-popover { position:absolute; top:calc(100% + 8px); z-index:80; display:grid; min-width:220px; gap:6px; border:1px solid var(--border); border-radius:10px; background:var(--background); padding:12px; color:var(--foreground); box-shadow:0 18px 50px rgb(0 0 0 / .22); font-size:11px }.panel-popover a,.panel-popover button{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px;border-radius:6px}.panel-popover svg{width:15px}.panel-popover p{color:var(--muted-foreground)}
@keyframes login-form-in{from{opacity:0;transform:translate(-50%,-43%) scale(.95)}to{opacity:1;transform:translate(-50%,-48%) scale(1)}}@keyframes login-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes neb-run{from{transform:translateX(0) rotate(-5deg)}to{transform:translateX(390px) rotate(5deg)}}@keyframes neb-finish{to{transform:translateX(390px) scale(1.1);opacity:0}}@keyframes neb-shooting-star{0%,76%{opacity:0;translate:-80px -70px}78%{opacity:.9}84%{opacity:0;translate:250px 190px}100%{opacity:0}}
@media(max-width:760px){.neb-login{min-height:100svh;overflow-y:auto;background-position:center 72%}.neb-login-solutions,.neb-login-wall-note,.neb-login-neb-note{display:none}.neb-login-form-card{position:relative;left:auto;top:auto;width:min(92%,440px);margin:100px auto 210px;transform:none;animation:login-form-mobile .7s ease both}.neb-login-footer{position:absolute}.neb-login-brand{left:20px}.neb-login-language{right:20px}@keyframes login-form-mobile{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}}
@media(max-width:520px){.neb-login-brand p,.neb-login-language{display:none}.neb-login-form-card{padding:22px 18px}.neb-login-form-card .grid-cols-2{grid-template-columns:1fr}.neb-login-footer span,.neb-login-footer nav{display:none}}
@media(prefers-reduced-motion:reduce){.neb-login-form-card,.neb-login-brand,.neb-solution-card,.login-running-neb,.neb-login-shooting-stars i{animation:none}}

/* App — composição editorial fiel às referências */
.app-hero { background:var(--background); }
.app-hero::after { content:""; position:absolute; inset:auto 0 0; height:18%; background:linear-gradient(180deg,transparent,var(--background)); pointer-events:none; }
.app-hero-backdrop { height:610px; object-fit:fill; object-position:center top; animation:app-backdrop-in .8s ease both; }
.app-hero-copy { position:relative; z-index:2; }
.app-hero-copy h1 { font-size:clamp(3rem,4vw,3.65rem); letter-spacing:0; }
.app-hero-note { z-index:2; top:24%; right:11.5%; max-width:120px; }
.app-benefit-strip,.app-feature-card,.app-highlight,.app-final-cta,.checkout-trust-card { border-radius:8px; }
.app-benefit-strip { position:relative; z-index:3; background:color-mix(in oklab,var(--card) 94%,transparent); backdrop-filter:blur(15px); }
.app-benefit-wrap { margin-top:-38px; transform:translateY(38px); z-index:4; }
.app-feature-card { min-height:124px; box-shadow:0 14px 34px -28px var(--foreground); }
.app-highlight { overflow:hidden; }
.app-final-cta { min-height:112px; background-image:linear-gradient(105deg,var(--footer),color-mix(in oklab,var(--primary) 68%,var(--footer))); }
.app-final-inner { min-height:112px; grid-template-columns:90px minmax(240px,1.35fr) auto 150px minmax(150px,.7fr); gap:18px; padding:12px 24px; }
.app-final-brand { display:flex; align-items:center; padding-right:18px; border-right:1px solid color-mix(in oklab,var(--primary-foreground) 17%,transparent); }
.app-final-copy h2 { font-size:17px; letter-spacing:0; }
.app-final-copy p { margin-top:3px; color:color-mix(in oklab,var(--primary-foreground) 68%,transparent); font-size:10px; }
.app-final-cta .app-final-inner>.flex { flex-wrap:nowrap; gap:7px; }
.app-final-cta .app-final-inner>.flex a { min-width:106px; border-radius:5px; padding:7px 10px; }
.app-final-cta .app-final-inner>.flex a svg { width:19px; height:19px; }
.app-final-cta .app-final-inner>.flex a small { font-size:7px; }
.app-final-cta .app-final-inner>.flex a b { font-size:9px; }
.app-final-neb { grid-column:4; align-self:end; justify-self:center; width:112px; margin-bottom:-12px; filter:drop-shadow(0 9px 12px color-mix(in oklab,var(--footer) 50%,transparent)); }
.app-final-list { grid-column:5; display:grid; gap:5px; font-size:10px; }
.app-final-list svg { width:13px; height:13px; }
@keyframes app-backdrop-in { from { opacity:0; transform:scale(1.015); } to { opacity:1; transform:none; } }

/* Checkout — composição fiel às referências */
.checkout-steps { position:relative; z-index:5; }
.checkout-steps>div { min-height:58px; }
.checkout-hero { min-height:245px; background:var(--background); }
.checkout-hero-background { object-fit:cover; object-position:center 46%; }
.checkout-hero-veil { z-index:1; background:linear-gradient(90deg,color-mix(in oklab,var(--background) 99%,transparent) 0%,color-mix(in oklab,var(--background) 90%,transparent) 35%,color-mix(in oklab,var(--background) 8%,transparent) 67%,color-mix(in oklab,var(--background) 12%,transparent)); }
.checkout-hero>div:last-child { z-index:2; min-height:245px; }
.checkout-hero-copy { max-width:660px; }
.checkout-hero-copy h1 { font-size:clamp(2.3rem,4vw,3.8rem); letter-spacing:0; }
.checkout-hero-copy>p { max-width:610px; font-size:13px; }
.checkout-form-card,.checkout-summary-card,.checkout-method-card { border-radius:8px; }
.checkout-form-card { box-shadow:0 12px 34px -30px var(--foreground); }
.checkout-method-card { min-height:124px; }
.checkout-select-trigger { border-radius:8px; border-color:color-mix(in oklab,var(--primary) 18%,var(--border)); background:color-mix(in oklab,var(--background) 96%,var(--primary)); padding-inline:14px; box-shadow:0 5px 18px -15px var(--foreground); transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.checkout-select-trigger:hover { border-color:color-mix(in oklab,var(--primary) 52%,var(--border)); background:color-mix(in oklab,var(--background) 92%,var(--accent)); }
.checkout-select-trigger[data-state="open"] { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 15%,transparent),0 12px 30px -20px var(--foreground); }
.checkout-select-trigger>svg { color:var(--primary); opacity:1; transition:transform .2s ease; }
.checkout-select-trigger[data-state="open"]>svg { transform:rotate(180deg); }
.checkout-select-content { border-radius:8px; border-color:color-mix(in oklab,var(--primary) 22%,var(--border)); background:var(--popover); padding:5px; box-shadow:0 18px 45px -18px color-mix(in oklab,var(--foreground) 45%,transparent); }
.checkout-select-content [data-radix-select-viewport] { height:auto; max-height:280px; }
.checkout-select-item { min-height:40px; cursor:pointer; border-radius:6px; padding:9px 38px 9px 12px; transition:background-color .15s ease,color .15s ease; }
.checkout-select-item[data-highlighted] { background:var(--accent); color:var(--primary); }
.checkout-select-item[data-state="checked"] { background:color-mix(in oklab,var(--primary) 12%,var(--background)); color:var(--primary); font-weight:600; }
.checkout-summary-card { background:linear-gradient(145deg,var(--footer),color-mix(in oklab,var(--primary) 33%,var(--footer))); }
.checkout-success-page { background:var(--footer); color:var(--primary-foreground); }
.checkout-success-page .checkout-steps { border-color:color-mix(in oklab,var(--primary-foreground) 12%,transparent); background:color-mix(in oklab,var(--footer) 92%,transparent); }
.checkout-success-page .checkout-steps span,.checkout-success-page .checkout-steps b { color:var(--primary-foreground); }
.checkout-success-hero { min-height:500px; background:var(--footer); }
.checkout-success-background { object-position:center 43%; }
.checkout-success-veil { background:linear-gradient(90deg,color-mix(in oklab,var(--footer) 99%,transparent) 0%,color-mix(in oklab,var(--footer) 92%,transparent) 35%,color-mix(in oklab,var(--footer) 18%,transparent) 67%,color-mix(in oklab,var(--footer) 38%,transparent)); }
.checkout-success-page>section:not(.checkout-success-hero) { color:var(--primary-foreground); }
.checkout-success-page>section:not(.checkout-success-hero) .bg-card { background:color-mix(in oklab,var(--primary-foreground) 6%,transparent); }
.checkout-success-page>section:not(.checkout-success-hero) .bg-background { background:color-mix(in oklab,var(--primary-foreground) 4%,transparent); }
.checkout-success-page>section:not(.checkout-success-hero) .text-muted-foreground { color:color-mix(in oklab,var(--primary-foreground) 65%,transparent); }
.checkout-success-page>section:not(.checkout-success-hero) .text-foreground { color:var(--primary-foreground); }
.checkout-success-page>section:not(.checkout-success-hero) .border-border { border-color:color-mix(in oklab,var(--primary-foreground) 13%,transparent); }

/* Editor visual: biblioteca, elementos criados e ordenação */
.visual-editor-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.visual-editor-library button { display:flex; min-height:58px; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; border:1px solid var(--border); border-radius:7px; background:var(--card); padding:9px; font-size:10px; transition:border-color .18s,transform .18s; }
.visual-editor-library button:hover { border-color:var(--primary); transform:translateY(-1px); }
.visual-editor-section-row { display:flex; align-items:center; gap:8px; border:1px solid var(--border); border-radius:7px; background:var(--card); padding:8px; font-size:10px; cursor:grab; }
.visual-editor-section-row:active { cursor:grabbing; }
.visual-editing [data-visual-added] { outline:1px dashed color-mix(in oklab,var(--primary) 55%,transparent); outline-offset:3px; }
.visual-added-block { margin:16px auto; max-width:72rem; border:1px solid var(--border); border-radius:8px; background:var(--card); padding:20px; }
.visual-added-testimonial { border-left:3px solid var(--primary); }
.visual-added-carousel { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; }
.visual-added-carousel > * { min-width:min(280px,80vw); scroll-snap-align:start; }
@media(max-width:1023px){.app-hero{min-height:760px}.app-hero-backdrop{height:390px;top:auto;bottom:25px;object-position:58% center}.app-hero-copy{min-height:410px}.app-benefit-wrap{margin-top:0;transform:none}.checkout-hero-background{object-position:60% center}.checkout-success-background{object-position:61% center}}
@media(max-width:767px){.app-hero{min-height:800px;padding-top:92px}.app-hero-backdrop{height:330px;bottom:50px;object-position:61% center}.app-hero-copy{min-height:410px;justify-content:flex-start}.app-hero-copy h1{font-size:3rem}.app-benefit-strip{grid-template-columns:1fr 1fr}.checkout-steps ol{width:100%;overflow-x:auto;flex-wrap:nowrap}.checkout-steps li{flex:none}.checkout-steps li>span>span:last-child{display:none}}
@media(max-width:767px){.checkout-hero{min-height:360px}.checkout-hero-background{object-position:72% bottom;opacity:.62}.checkout-hero-veil{background:linear-gradient(180deg,var(--background) 0%,color-mix(in oklab,var(--background) 86%,transparent) 57%,color-mix(in oklab,var(--background) 30%,transparent))}.checkout-hero>div:last-child{min-height:360px;align-items:flex-start}.checkout-success-hero{min-height:660px}.checkout-success-background{object-position:62% bottom}.checkout-success-veil{background:linear-gradient(180deg,color-mix(in oklab,var(--footer) 98%,transparent),color-mix(in oklab,var(--footer) 82%,transparent) 55%,color-mix(in oklab,var(--footer) 28%,transparent))}}
@media(max-width:1023px){.app-final-inner{grid-template-columns:80px 1fr 112px auto;gap:14px}.app-final-copy{grid-column:2}.app-final-cta .app-final-inner>.flex{grid-column:2}.app-final-neb{grid-column:3}.app-final-list{grid-column:4;grid-row:1/3}}
@media(max-width:767px){.app-final-inner{grid-template-columns:1fr;padding:22px}.app-final-brand{width:90px;border:0}.app-final-copy,.app-final-cta .app-final-inner>.flex,.app-final-list{grid-column:1}.app-final-neb{display:none}.app-final-list{grid-row:auto}}
@media(prefers-reduced-motion:reduce){.app-feature-card,.visual-editor-library button{transition:none}}

/* Políticas — leitura editorial e composição do material de referência */
.policy-page { background:linear-gradient(180deg,var(--background),color-mix(in oklab,var(--accent) 18%,var(--background))); }
.policy-hero { min-height:475px; background:var(--footer); }
.policy-hero-image { object-fit:cover; object-position:center 46%; }
.policy-hero-shade { background:linear-gradient(90deg,color-mix(in oklab,var(--footer) 99%,transparent) 0%,color-mix(in oklab,var(--footer) 92%,transparent) 31%,color-mix(in oklab,var(--footer) 20%,transparent) 59%,color-mix(in oklab,var(--footer) 35%,transparent) 100%); }
.policy-pill { display:inline-flex; border:1px solid color-mix(in oklab,var(--primary-foreground) 16%,transparent); border-radius:999px; background:color-mix(in oklab,var(--primary-foreground) 8%,transparent); padding:5px 11px; font-size:10px; font-weight:700; letter-spacing:.08em; }
.policy-trust-row { width:min(620px,100%); }
.policy-trust-item { display:flex; min-width:0; align-items:center; gap:9px; }
.policy-trust-item>span { display:grid; width:38px; height:38px; flex:none; place-items:center; border:1px solid color-mix(in oklab,var(--primary-foreground) 25%,transparent); border-radius:8px; color:var(--primary-foreground); background:color-mix(in oklab,var(--primary-foreground) 7%,transparent); }
.policy-trust-item p { min-width:0; font-size:9px; line-height:1.25; }
.policy-trust-item b,.policy-trust-item small { display:block; }
.policy-trust-item small { color:color-mix(in oklab,var(--primary-foreground) 68%,transparent); }
.policy-handnote { position:absolute; right:14%; top:42%; rotate:-8deg; color:color-mix(in oklab,var(--primary-foreground) 78%,var(--primary)); font-size:18px; font-style:italic; line-height:1.4; text-align:center; }
.policy-handnote b { color:var(--primary-foreground); }
.policy-quote { position:absolute; right:1.5%; bottom:28px; border:1px solid color-mix(in oklab,var(--primary-foreground) 22%,transparent); border-radius:8px; background:color-mix(in oklab,var(--footer) 72%,transparent); padding:17px 20px; font-size:12px; line-height:1.5; }
.policy-document { margin-top:-22px; }
.policy-toolbar { position:relative; z-index:4; border-radius:8px; }
.policy-tab { height:46px; justify-content:center; gap:9px; border-radius:6px; font-size:12px; color:var(--foreground); }
.policy-tab svg { width:17px; }
.policy-tab.is-active { background:var(--gradient-brand); color:var(--primary-foreground); box-shadow:0 7px 16px color-mix(in oklab,var(--primary) 20%,transparent); }
.policy-search { display:flex; height:46px; align-items:center; gap:10px; border:1px solid var(--border); border-radius:6px; padding:0 14px; color:var(--primary); }
.policy-search input { width:100%; border:0; background:transparent; color:var(--foreground); font-size:12px; outline:none; }
.policy-index { padding-bottom:24px; color:var(--muted-foreground); font-size:11px; }
.policy-index-home { display:flex; align-items:center; gap:9px; border:1px solid color-mix(in oklab,var(--primary) 14%,var(--border)); border-radius:7px; background:var(--accent); padding:12px 14px; color:var(--primary); font-size:12px; font-weight:700; }
.policy-index-home svg,.policy-index a svg { width:14px; height:14px; flex:none; }
.policy-index>p { margin:18px 12px 8px; color:var(--primary); font-size:9px; font-weight:800; }
.policy-index ul { display:grid; gap:1px; }
.policy-index li a { display:flex; align-items:flex-start; gap:7px; border-radius:5px; padding:5px 12px; line-height:1.35; transition:background .2s,color .2s,transform .2s; }
.policy-index li a:hover { background:var(--accent); color:var(--primary); transform:translateX(2px); }
.policy-article { min-width:0; padding:8px 0 0; }
.policy-article header p { display:flex; align-items:center; gap:10px; }
.policy-article header p i { width:1px; height:14px; background:var(--border); }
.policy-download { gap:8px; border-radius:6px; background:var(--gradient-brand); }
.policy-download svg { width:16px; }
.policy-intro { display:flex; align-items:flex-start; gap:12px; border:1px solid color-mix(in oklab,var(--primary) 15%,var(--border)); border-radius:7px; background:color-mix(in oklab,var(--accent) 72%,var(--background)); padding:15px; color:var(--primary); }
.policy-intro>svg { width:20px; flex:none; }
.policy-intro p { color:color-mix(in oklab,var(--foreground) 76%,var(--primary)); font-size:12px; line-height:1.55; }
.policy-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:20px; }
.policy-summary-grid>div { display:flex; align-items:center; gap:12px; border:1px solid var(--border); border-radius:7px; padding:13px; background:var(--card); }
.policy-summary-grid span { display:grid; width:42px; height:42px; flex:none; place-items:center; border-radius:7px; background:var(--accent); color:var(--primary); }
.policy-summary-grid svg { width:21px; }
.policy-summary-grid b,.policy-summary-grid small { display:block; }
.policy-summary-grid b { font-size:12px; }
.policy-summary-grid small { margin-top:2px; color:var(--muted-foreground); font-size:10px; line-height:1.35; }
.policy-clause { margin-top:24px; }
.policy-clause h3 { color:var(--foreground); font-size:18px; font-weight:750; letter-spacing:0; }
.policy-clause p { margin-top:7px; color:var(--muted-foreground); font-size:12px; line-height:1.65; }
.policy-solutions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:28px; }
.policy-solutions>div { display:flex; align-items:center; gap:9px; border:1px solid var(--border); border-radius:7px; background:var(--card); padding:12px; font-size:11px; }
.policy-solutions svg { width:19px; color:var(--primary); }
.policy-support-banner { position:relative; display:grid; min-height:136px; grid-template-columns:auto minmax(180px,1fr) auto 1fr 190px; align-items:center; gap:18px; overflow:hidden; margin-top:36px; border-radius:8px; background:linear-gradient(110deg,var(--footer),color-mix(in oklab,var(--primary) 70%,var(--footer))); padding:20px 24px; color:var(--primary-foreground); }
.policy-support-icon { display:grid; width:52px; height:52px; place-items:center; border:1px solid color-mix(in oklab,var(--primary-foreground) 25%,transparent); border-radius:50%; color:var(--primary); }
.policy-support-banner h2 { font-size:16px; font-weight:700; letter-spacing:0; }
.policy-support-banner p { margin-top:3px; color:color-mix(in oklab,var(--primary-foreground) 70%,transparent); font-size:11px; }
.policy-support-banner button { background:var(--primary-foreground); color:var(--primary); }
.policy-support-note { rotate:-5deg; text-align:center; font-size:12px!important; font-style:italic; line-height:1.4; }
.policy-support-banner>img { position:absolute; right:8px; bottom:-48px; width:180px; filter:drop-shadow(0 12px 18px color-mix(in oklab,var(--footer) 70%,transparent)); }
@media(max-width:1023px){.policy-handnote{display:none}.policy-hero-image{object-position:63% center}.policy-hero-shade{background:linear-gradient(90deg,var(--footer) 0%,color-mix(in oklab,var(--footer) 90%,transparent) 47%,color-mix(in oklab,var(--footer) 25%,transparent) 100%)}.policy-support-banner{grid-template-columns:auto 1fr auto;padding-right:210px}.policy-support-note{display:none}}
@media(max-width:767px){.policy-hero{min-height:590px}.policy-hero-image{object-position:67% bottom}.policy-hero-shade{background:linear-gradient(180deg,color-mix(in oklab,var(--footer) 98%,transparent) 0%,color-mix(in oklab,var(--footer) 83%,transparent) 55%,color-mix(in oklab,var(--footer) 38%,transparent) 100%)}.policy-hero>div:last-child{align-items:flex-start;padding-top:110px}.policy-hero h1{font-size:42px}.policy-trust-row{margin-top:18px}.policy-quote{display:none}.policy-document{margin-top:-16px}.policy-toolbar{grid-template-columns:1fr}.policy-tab{justify-content:flex-start}.policy-index{position:static;max-height:240px;overflow:auto;border-bottom:1px solid var(--border)}.policy-article h2{font-size:30px}.policy-summary-grid,.policy-solutions{grid-template-columns:1fr}.policy-support-banner{grid-template-columns:auto 1fr;padding:20px}.policy-support-banner button{grid-column:1/-1}.policy-support-banner>img{display:none}}
@media print{.policy-page>header,.policy-hero,.policy-toolbar,.policy-index,.policy-support-banner,.policy-page>footer{display:none!important}.policy-document{margin:0}.policy-document>div:nth-child(2){display:block}.policy-article{padding:0}.policy-download{display:none}}

/* Contrato — composição fiel à referência enviada */
.contract-page { background:linear-gradient(180deg,var(--background),color-mix(in oklab,var(--accent) 16%,var(--background))); }
.contract-hero { min-height:500px; background:var(--footer); }
.contract-hero-image { object-fit:cover; object-position:center 48%; }
.contract-hero-shade { background:linear-gradient(90deg,color-mix(in oklab,var(--footer) 99%,transparent) 0%,color-mix(in oklab,var(--footer) 94%,transparent) 33%,color-mix(in oklab,var(--footer) 28%,transparent) 61%,color-mix(in oklab,var(--footer) 38%,transparent) 100%); }
.contract-pill { display:inline-flex; border:1px solid color-mix(in oklab,var(--primary-foreground) 17%,transparent); border-radius:999px; background:color-mix(in oklab,var(--primary-foreground) 8%,transparent); padding:5px 11px; font-size:10px; font-weight:700; letter-spacing:.08em; }
.contract-trust-row { width:min(570px,100%); }
.contract-trust-item { display:flex; min-width:0; align-items:center; gap:9px; }
.contract-trust-item>span { display:grid; width:38px; height:38px; flex:none; place-items:center; border:1px solid color-mix(in oklab,var(--primary-foreground) 25%,transparent); border-radius:8px; background:color-mix(in oklab,var(--primary-foreground) 7%,transparent); }
.contract-trust-item svg { width:17px; height:17px; }
.contract-trust-item p { min-width:0; font-size:9px; line-height:1.25; }
.contract-trust-item b,.contract-trust-item small { display:block; }
.contract-trust-item small { color:color-mix(in oklab,var(--primary-foreground) 68%,transparent); }
.contract-handnote { position:absolute; right:7%; top:35%; rotate:-8deg; color:color-mix(in oklab,var(--primary-foreground) 82%,var(--primary)); font-size:18px; font-style:italic; line-height:1.4; text-align:center; }
.contract-handnote b { color:var(--primary); }
.contract-quote { position:absolute; right:1.5%; bottom:28px; border:1px solid color-mix(in oklab,var(--primary-foreground) 22%,transparent); border-radius:8px; background:color-mix(in oklab,var(--footer) 72%,transparent); padding:17px 20px; font-size:12px; line-height:1.5; }
.contract-layout { scroll-margin-top:84px; }
.contract-nav { display:grid; gap:2px; }
.contract-nav-item { width:100%; height:43px; justify-content:flex-start; border-radius:7px; padding:0 13px; color:var(--muted-foreground); font-size:12px; font-weight:500; }
.contract-nav-item svg { width:17px; color:var(--primary); }
.contract-nav-item.is-active { border:1px solid color-mix(in oklab,var(--primary) 22%,var(--border)); background:var(--accent); color:var(--primary); box-shadow:inset 3px 0 var(--primary); }
.contract-help-card { position:relative; min-height:335px; overflow:hidden; border-radius:8px; background:linear-gradient(145deg,var(--primary),color-mix(in oklab,var(--footer) 82%,var(--primary))); padding:20px; color:var(--primary-foreground); }
.contract-help-card>img { position:absolute; right:-7px; bottom:-57px; width:175px; filter:drop-shadow(0 10px 18px color-mix(in oklab,var(--footer) 65%,transparent)); }
.contract-help-card button { position:relative; z-index:2; border-radius:6px; font-size:11px; }
.contract-feature { display:flex; align-items:flex-start; gap:16px; border:1px solid var(--border); border-radius:8px; background:var(--card); padding:20px; box-shadow:0 12px 34px -30px var(--foreground); }
.contract-feature-icon { display:grid; width:52px; height:52px; flex:none; place-items:center; border-radius:8px; background:var(--accent); color:var(--primary); }
.contract-feature-icon svg { width:25px; }
.contract-feature-action { min-width:168px; border-radius:6px; font-size:10px; }
.contract-full { border:1px solid var(--border); border-radius:8px; background:var(--card); padding:24px; box-shadow:0 12px 34px -30px var(--foreground); }
.contract-clause { scroll-margin-top:100px; }
.contract-side-card { border:1px solid color-mix(in oklab,var(--primary) 8%,var(--border)); border-radius:8px; background:color-mix(in oklab,var(--accent) 28%,var(--card)); padding:18px; }
.contract-document-link { display:grid; grid-template-columns:34px minmax(0,1fr) 16px; align-items:center; gap:9px; border-radius:7px; background:var(--card); padding:11px; color:var(--foreground); transition:transform .2s,border-color .2s; }
.contract-document-link:hover { transform:translateY(-1px); color:var(--primary); }
.contract-document-link>span:nth-child(2) { min-width:0; }
.contract-document-link b,.contract-document-link small { display:block; }
.contract-document-link b { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.contract-document-link small { margin-top:2px; color:var(--muted-foreground); font-size:9px; }
.contract-document-link>svg { width:14px; color:var(--primary); }
.contract-pdf { display:grid; width:32px; height:32px; place-items:center; border-radius:6px; background:var(--primary); color:var(--primary-foreground); }
.contract-pdf svg { width:15px; }
.contract-security-card { border-radius:8px; background:linear-gradient(145deg,var(--footer),color-mix(in oklab,var(--primary) 70%,var(--footer))); padding:20px; color:var(--primary-foreground); }
.contract-security-card>span { display:grid; width:42px; height:42px; margin-bottom:16px; place-items:center; border:1px solid color-mix(in oklab,var(--primary-foreground) 25%,transparent); border-radius:8px; color:var(--primary); }
.contract-security-card svg { width:20px; }
.contract-neb-banner-inner { display:grid; min-height:165px; grid-template-columns:210px 180px 1fr; align-items:center; gap:20px; overflow:hidden; border-radius:8px; background:color-mix(in oklab,var(--accent) 65%,var(--background)); padding:20px 34px; }
.contract-neb-banner img { align-self:end; width:180px; margin-bottom:-48px; filter:drop-shadow(0 12px 18px color-mix(in oklab,var(--primary) 20%,transparent)); }
.contract-neb-banner-inner>p:last-child { max-width:520px; color:var(--muted-foreground); font-size:12px; line-height:1.65; }
.contract-neb-quote { rotate:-5deg; color:var(--primary); font-size:16px; font-style:italic; line-height:1.45; text-align:center; }
@media(max-width:1100px){.contract-handnote{display:none}.contract-hero-image{object-position:61% center}.contract-hero-shade{background:linear-gradient(90deg,var(--footer),color-mix(in oklab,var(--footer) 88%,transparent) 48%,color-mix(in oklab,var(--footer) 22%,transparent))}.contract-feature{flex-wrap:wrap}.contract-feature-action{margin-left:68px}.contract-neb-banner-inner{grid-template-columns:180px 150px 1fr}}
@media(max-width:767px){.contract-hero{min-height:590px}.contract-hero-image{object-position:66% bottom}.contract-hero-shade{background:linear-gradient(180deg,color-mix(in oklab,var(--footer) 98%,transparent),color-mix(in oklab,var(--footer) 82%,transparent) 56%,color-mix(in oklab,var(--footer) 42%,transparent))}.contract-hero>div:last-child{align-items:flex-start;padding-top:110px}.contract-hero h1{font-size:42px}.contract-trust-row{gap:7px}.contract-trust-item{display:block}.contract-trust-item>span{margin-bottom:6px}.contract-quote{display:none}.contract-layout{padding-top:28px}.contract-left{position:static}.contract-nav{grid-template-columns:1fr 1fr}.contract-nav-item{height:auto;min-height:42px;white-space:normal}.contract-help-card{display:none}.contract-feature{padding:16px}.contract-feature-action{width:100%;margin-left:0}.contract-full{padding:18px}.contract-right{position:static}.contract-neb-banner-inner{grid-template-columns:1fr;padding:24px}.contract-neb-banner img{display:none}.contract-neb-banner-inner>p:last-child{text-align:center}}
@media print{.contract-page>header,.contract-hero,.contract-left,.contract-right,.contract-neb-banner,.contract-page>footer,.contract-feature-action{display:none!important}.contract-layout{display:block;padding:0}.contract-feature,.contract-full{box-shadow:none}.contract-full{border:0}.contract-page{background:var(--background)}}

.neb-qr-login { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 6px 0 2px; }
.neb-qr-box { position: relative; display: grid; place-items: center; width: 172px; height: 172px; padding: 10px; border-radius: 20px; background: rgba(255,255,255,.96); border: 1px solid rgba(148,110,255,.45); box-shadow: 0 12px 34px -12px rgba(76,29,149,.55), inset 0 0 0 1px rgba(255,255,255,.6); }
.neb-qr-box img { width: 100%; height: 100%; border-radius: 12px; }
.neb-qr-box > svg { color: #6d28d9; width: 28px; height: 28px; }
.neb-qr-box .neb-qr-close { position: absolute; top: -10px; right: -10px; z-index: 2; width: 28px; height: 28px; border-radius: 999px; background: #2a1158; color: #fff; box-shadow: 0 6px 16px -6px rgba(30,10,70,.7); }
.neb-qr-box .neb-qr-close:hover { background: #3b1a78; color: #fff; }
.neb-qr-box .neb-qr-close svg { width: 14px; height: 14px; color: inherit; }
.neb-qr-box .absolute, .neb-qr-box button { position: absolute; inset: auto; }
.neb-qr-login > p { display: flex; align-items: center; gap: 7px; margin: 0; font-size: 12.5px; color: rgba(233,222,255,.85); }
.neb-qr-login > p svg { width: 15px; height: 15px; color: #a78bfa; }


/* Nebix typography contract: every rendered element uses the canonical content font. */
html,
body,
#root,
#root *,
#root *::before,
#root *::after {
  font-family: var(--font-content,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji") !important;
}
