  :root {
    --navy: #0b2a5b; --navy2: #0e3a7a; --azul: #1f7fd1; --azul2: #3aa0f0; --ceu: rgba(31,127,209,.10); --laranja: #f59e0b; --laranja2: #f97316;
    --txt: #0f1b33; --txt2: #4f5d78; --verde: #12a150;
    --vidro: rgba(255,255,255,.55); --vidro2: rgba(255,255,255,.72); --borda-v: rgba(255,255,255,.75); --linha: rgba(15,27,51,.08);
    --blur: blur(20px) saturate(170%);
    --sombra: 0 1px 1px rgba(255,255,255,.8) inset, 0 10px 30px rgba(31,70,140,.10), 0 2px 6px rgba(31,70,140,.06);
    --sombra2: 0 1px 1px rgba(255,255,255,.9) inset, 0 24px 60px rgba(31,70,140,.18);
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; font: 16px/1.6 Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--txt); -webkit-font-smoothing: antialiased;
    background: linear-gradient(160deg, #eef5ff 0%, #f6f3ff 40%, #eefaff 70%, #fff6ee 100%); background-attachment: fixed; min-height: 100vh; }
  /* bolhas de cor atrás do vidro */
  .bolhas { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
  .bolhas i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: vaga 22s ease-in-out infinite alternate; }
  .bolhas i:nth-child(1) { width: 520px; height: 520px; background: #8cc8ff; top: -120px; right: -80px; }
  .bolhas i:nth-child(2) { width: 460px; height: 460px; background: #c9b8ff; top: 35%; left: -160px; animation-delay: -6s; }
  .bolhas i:nth-child(3) { width: 420px; height: 420px; background: #ffd3a6; bottom: -140px; right: 10%; animation-delay: -12s; }
  .bolhas i:nth-child(4) { width: 360px; height: 360px; background: #9ff0e4; top: 55%; right: -120px; animation-delay: -3s; opacity: .4; }
  @keyframes vaga { to { transform: translate(60px, -40px) scale(1.12); } }
  .vd { background: var(--vidro); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--borda-v); box-shadow: var(--sombra); }
  h1, h2, h3 { font-family: Montserrat, Inter, sans-serif; line-height: 1.15; margin: 0; letter-spacing: -.01em; color: var(--navy); }
  h1 { font-size: clamp(34px, 5.2vw, 60px); font-weight: 800; }
  h2 { font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; }
  h3 { font-size: 19px; font-weight: 700; }
  p { margin: 0; } a { color: inherit; } img { max-width: 100%; display: block; }
  .wrap { width: min(1180px, 100% - 40px); margin: 0 auto; }
  .tag { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: rgba(255,255,255,.6); border: 1px solid var(--borda-v); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); color: var(--navy2); font-size: 13.5px; font-weight: 600; }
  .tag i { width: 7px; height: 7px; border-radius: 50%; background: var(--laranja); box-shadow: 0 0 0 4px rgba(245,158,11,.18); }
  .sub { color: var(--txt2); font-size: 18px; }
  .bt { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 26px; border-radius: 14px; font-weight: 600; text-decoration: none; border: 0; cursor: pointer; font-size: 16px; font-family: inherit; transition: transform .15s, box-shadow .2s, background .2s; white-space: nowrap; }
  .bt:hover { transform: translateY(-2px); }
  .bt.p { background: linear-gradient(135deg, #2b8fe0, var(--navy2)); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 26px rgba(31,127,209,.35); }
  .bt.w { background: linear-gradient(135deg, #2fd16b, #16a34a); color: #fff; box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 26px rgba(34,197,94,.35); }
  .bt.g { background: rgba(255,255,255,.6); color: var(--navy); border: 1px solid var(--borda-v); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); box-shadow: var(--sombra); }
  .bt svg { width: 20px; height: 20px; }

  /* topo */
  header { position: sticky; top: 12px; z-index: 50; margin: 12px auto 0; width: min(1200px, 100% - 24px); border-radius: 20px; transition: box-shadow .2s, background .2s; }
  header.rolou { background: rgba(255,255,255,.72); box-shadow: var(--sombra2); }
  .nav { display: flex; align-items: center; gap: 26px; height: 68px; padding: 0 18px 0 16px; }
  .marca { display: flex; align-items: center; gap: 10px; text-decoration: none; }
  .marca .sim { width: 40px; height: auto; } .marca .nome { height: 30px; width: auto; }
  .menu { display: flex; gap: 24px; margin-left: auto; } .menu a { text-decoration: none; color: var(--txt2); font-weight: 500; font-size: 15px; transition: color .15s; } .menu a:hover { color: var(--navy); }
  .nav .bt { padding: 11px 18px; font-size: 14.5px; border-radius: 12px; }
  .hamb { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--borda-v); background: rgba(255,255,255,.6); border-radius: 12px; cursor: pointer; }
  .hamb span { display: block; width: 20px; height: 2px; background: var(--navy); margin: 4px auto; border-radius: 2px; transition: .2s; }

  /* hero */
  .hero { position: relative; padding: 70px 0 80px; }
  .hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
  .hero h1 span { background: linear-gradient(120deg, #2b8fe0, var(--navy2) 70%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .hero .sub { margin: 20px 0 32px; max-width: 560px; }
  .hero .acoes { display: flex; gap: 12px; flex-wrap: wrap; }
  .hero .selos { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; color: var(--txt2); font-size: 14px; }
  .hero .selos span { display: flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: rgba(255,255,255,.5); border: 1px solid var(--borda-v); } .hero .selos svg { width: 16px; height: 16px; color: var(--verde); }
  .vitrine { position: relative; height: 480px; }
  .vitrine .disco { position: absolute; inset: 0; margin: auto; width: 360px; height: 360px; border-radius: 50%; }
  .vitrine .logo { position: absolute; inset: 0; margin: auto; width: 250px; height: auto; filter: drop-shadow(0 26px 34px rgba(11,42,91,.22)); animation: flutua 6s ease-in-out infinite; }
  .vitrine .anel { position: absolute; inset: 0; margin: auto; width: 430px; height: 430px; border-radius: 50%; border: 1.5px dashed rgba(31,127,209,.25); animation: gira 40s linear infinite; }
  .vitrine .anel::before, .vitrine .anel::after { content: ''; position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--laranja); top: -7px; left: 50%; box-shadow: 0 0 0 6px rgba(245,158,11,.18); }
  .vitrine .anel::after { background: var(--azul2); top: auto; bottom: -7px; box-shadow: 0 0 0 6px rgba(58,160,240,.18); }
  .flut { position: absolute; border-radius: 16px; padding: 12px 16px; display: flex; gap: 12px; align-items: center; font-size: 14px; animation: flutua 7s ease-in-out infinite; background: rgba(255,255,255,.66); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--borda-v); box-shadow: var(--sombra2); }
  .flut b { display: block; font-weight: 600; } .flut small { color: var(--txt2); }
  .flut .ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 20px; }
  .flut.a { top: 20px; left: 0; } .flut.b { bottom: 60px; right: 0; animation-delay: -3s; } .flut.c { bottom: 6px; left: 30px; animation-delay: -5s; }
  @keyframes flutua { 50% { transform: translateY(-12px); } } @keyframes gira { to { transform: rotate(360deg); } }

  /* seções */
  section { padding: 90px 0; scroll-margin-top: 70px; }
  .cab { text-align: center; max-width: 720px; margin: 0 auto 48px; } .cab h2 { margin: 14px 0 14px; }
  .prods { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  .prod { position: relative; overflow: hidden; border-radius: 28px; padding: 36px; min-height: 330px; display: flex; flex-direction: column; text-decoration: none; transition: transform .25s, box-shadow .25s; }
  .prod::before { content: ''; position: absolute; width: 340px; height: 340px; border-radius: 50%; right: -90px; top: -110px; filter: blur(30px); opacity: .55; z-index: -1; }
  .prod.food::before { background: radial-gradient(circle, #ffb36b, transparent 70%); } .prod.vert::before { background: radial-gradient(circle, #6fbaff, transparent 70%); }
  .prod:hover { transform: translateY(-6px); box-shadow: var(--sombra2); }
  .prod .em { font-size: 44px; } .prod h3 { font-size: 28px; margin: 14px 0 10px; font-weight: 800; }
  .prod p { color: var(--txt2); max-width: 430px; } .prod .preco { margin-top: auto; padding-top: 26px; display: flex; align-items: end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .prod .preco b { font-family: Montserrat, sans-serif; font-size: 30px; font-weight: 800; color: var(--navy); } .prod .preco small { color: var(--txt2); display: block; font-size: 14px; }
  .prod .seta { width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.75); border: 1px solid var(--borda-v); color: var(--navy); display: grid; place-items: center; transition: background .2s, transform .2s, color .2s; } .prod:hover .seta { background: var(--navy2); color: #fff; transform: rotate(-45deg); }
  .prod .seta svg { width: 22px; height: 22px; }

  .bloco { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
  .bloco .txt h2 { margin: 14px 0 16px; } .bloco .txt .sub { margin-bottom: 26px; }
  .segs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; } .segs span { padding: 8px 14px; background: rgba(255,255,255,.6); border: 1px solid var(--borda-v); border-radius: 999px; font-size: 14.5px; }
  .recs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; margin-top: 46px; }
  .rec { border-radius: 20px; padding: 22px; transition: transform .2s, box-shadow .2s, background .2s; }
  .rec:hover { transform: translateY(-4px); box-shadow: var(--sombra2); background: var(--vidro2); }
  .rec .ic { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(58,160,240,.22), rgba(31,127,209,.08)); color: var(--azul); margin-bottom: 14px; border: 1px solid rgba(255,255,255,.8); }
  .rec .ic svg { width: 23px; height: 23px; } .rec.lj .ic { background: linear-gradient(135deg, rgba(249,115,22,.22), rgba(245,158,11,.08)); color: var(--laranja2); }
  .rec h3 { font-size: 16.5px; margin-bottom: 6px; } .rec p { color: var(--txt2); font-size: 14.5px; }

  /* telas ilustrativas */
  .tela { border-radius: 24px; overflow: hidden; background: rgba(255,255,255,.5); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); border: 1px solid var(--borda-v); box-shadow: var(--sombra2); }
  .tela .barra { height: 38px; background: rgba(255,255,255,.55); display: flex; align-items: center; gap: 7px; padding: 0 14px; border-bottom: 1px solid rgba(255,255,255,.7); } .tela .barra i { width: 11px; height: 11px; border-radius: 50%; }
  .tela .barra i:nth-child(1) { background: #ff6b6b; } .tela .barra i:nth-child(2) { background: #ffc94d; } .tela .barra i:nth-child(3) { background: #4cd27a; }
  .kds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 14px; }
  .kds .col { border-radius: 14px; padding: 10px; min-height: 270px; border: 1px solid rgba(255,255,255,.7); } .kds .col > b { font-size: 11px; letter-spacing: .08em; display: block; margin-bottom: 8px; color: #33415c; }
  .kds .c1 { background: rgba(120,180,255,.28); } .kds .c2 { background: rgba(255,180,90,.30); } .kds .c3 { background: rgba(90,215,140,.28); }
  .ped { background: rgba(255,255,255,.85); border-radius: 10px; padding: 9px 10px; margin-bottom: 8px; font-size: 12px; box-shadow: 0 2px 8px rgba(11,42,91,.08); animation: entra .6s both; }
  .ped b { display: flex; justify-content: space-between; font-size: 12.5px; } .ped small { color: var(--txt2); display: block; } .ped em { font-style: normal; display: inline-block; margin-top: 5px; padding: 2px 8px; border-radius: 999px; font-size: 10.5px; background: #eef3fa; color: var(--navy2); }
  @keyframes entra { from { opacity: 0; transform: translateY(10px); } }
  .dash { padding: 16px; display: grid; gap: 12px; }
  .dash .kp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .dash .kp div { background: rgba(255,255,255,.8); border-radius: 12px; padding: 12px; font-size: 12px; color: var(--txt2); box-shadow: 0 2px 8px rgba(11,42,91,.06); }
  .dash .kp b { display: block; font-family: Montserrat, sans-serif; font-size: 20px; color: var(--txt); }
  .dash .gr { background: rgba(255,255,255,.8); border-radius: 12px; padding: 14px; height: 150px; display: flex; align-items: end; gap: 8px; box-shadow: 0 2px 8px rgba(11,42,91,.06); }
  .dash .gr i { flex: 1; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, var(--azul2), var(--navy2)); transform-origin: bottom; animation: sobe 1s cubic-bezier(.2,.8,.2,1) both; }
  @keyframes sobe { from { transform: scaleY(0); } }
  .dash .tr { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; } .dash .tr div { background: rgba(255,255,255,.8); border-radius: 12px; padding: 12px; font-size: 12.5px; box-shadow: 0 2px 8px rgba(11,42,91,.06); } .dash .tr small { color: var(--txt2); display: block; }

  /* vértice (painel de vidro) */
  .painel { border-radius: 36px; padding: 56px; position: relative; overflow: hidden; }
  .painel::before { content: ''; position: absolute; width: 480px; height: 480px; left: -160px; bottom: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(111,186,255,.45), transparent 70%); z-index: -1; }
  .abas { display: inline-flex; background: rgba(255,255,255,.5); border: 1px solid var(--borda-v); border-radius: 14px; padding: 5px; margin-bottom: 26px; }
  .abas button { border: 0; background: none; color: var(--txt2); padding: 11px 22px; border-radius: 10px; font: 600 15px Inter, sans-serif; cursor: pointer; transition: .2s; }
  .abas button.on { background: #fff; color: var(--navy); box-shadow: 0 4px 14px rgba(31,70,140,.12); }
  .lista { display: grid; gap: 14px; } .lista > div { display: flex; gap: 14px; align-items: flex-start; }
  .lista .ck { flex: 0 0 28px; height: 28px; border-radius: 9px; background: linear-gradient(135deg, #3aa0f0, #1f6fc4); color: #fff; display: grid; place-items: center; box-shadow: 0 4px 10px rgba(31,127,209,.3); } .lista .ck svg { width: 16px; height: 16px; }
  .lista b { display: block; font-weight: 600; color: var(--navy); } .lista small { color: var(--txt2); font-size: 14.5px; }

  /* planos */
  .planos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; align-items: stretch; }
  .plano { position: relative; border-radius: 26px; padding: 32px 28px; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
  .plano:hover { transform: translateY(-4px); box-shadow: var(--sombra2); }
  .plano.dest { background: rgba(255,255,255,.78); border: 1.5px solid rgba(43,143,224,.55); box-shadow: 0 1px 1px rgba(255,255,255,.9) inset, 0 24px 50px rgba(31,127,209,.20); }
  .plano .fita { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, var(--laranja), var(--laranja2)); color: #fff; padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; box-shadow: 0 6px 16px rgba(249,115,22,.35); }
  .plano .prd { color: var(--azul); font-weight: 600; font-size: 14px; } .plano h3 { font-size: 23px; margin: 6px 0 16px; }
  .plano .val { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 46px; color: var(--navy); line-height: 1; } .plano .val small { font-size: 16px; color: var(--txt2); font-weight: 600; }
  .plano .depois { color: var(--txt2); margin: 10px 0 22px; font-size: 15px; min-height: 48px; } .plano .depois s { opacity: .7; }
  .plano ul { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 10px; font-size: 15px; } .plano li { display: flex; gap: 10px; } .plano li svg { flex: 0 0 18px; height: 18px; color: var(--verde); margin-top: 3px; }
  .plano .bt { margin-top: auto; }
  .eco { display: inline-block; margin-top: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(18,161,80,.12); color: #0c7a3c; font-size: 13px; font-weight: 600; }

  .passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: p; }
  .passo { border-radius: 24px; padding: 30px; position: relative; }
  .passo::before { counter-increment: p; content: counter(p); font-family: Montserrat, sans-serif; font-weight: 900; font-size: 54px; line-height: 1; background: linear-gradient(135deg, var(--azul2), var(--navy2)); -webkit-background-clip: text; background-clip: text; color: transparent; display: block; margin-bottom: 14px; }
  .passo p { color: var(--txt2); margin-top: 8px; }
  .conf { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .conf > div { text-align: center; padding: 26px 18px; border-radius: 22px; }
  .conf .ic { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(58,160,240,.25), rgba(255,255,255,.6)); border: 1px solid rgba(255,255,255,.8); color: var(--azul); } .conf svg { width: 26px; height: 26px; }
  .conf p { color: var(--txt2); font-size: 14.5px; margin-top: 6px; }

  .faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
  details { border-radius: 18px; padding: 0 22px; transition: box-shadow .2s, background .2s; } details[open] { background: var(--vidro2); box-shadow: var(--sombra2); }
  summary { list-style: none; cursor: pointer; padding: 20px 0; font-weight: 600; color: var(--navy); display: flex; justify-content: space-between; gap: 16px; align-items: center; } summary::-webkit-details-marker { display: none; }
  summary::after { content: '+'; font-size: 24px; color: var(--azul); transition: transform .2s; } details[open] summary::after { transform: rotate(45deg); }
  details p { color: var(--txt2); padding: 0 0 20px; }

  .final { position: relative; overflow: hidden; text-align: center; border-radius: 36px; padding: 70px 30px; }
  .final::before { content: ''; position: absolute; inset: -40%; z-index: -1; background: radial-gradient(circle at 30% 30%, rgba(111,186,255,.45), transparent 40%), radial-gradient(circle at 75% 70%, rgba(255,179,107,.35), transparent 40%); }
  .final .sub { margin: 16px auto 30px; max-width: 560px; } .final .acoes { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
  footer { margin: 90px auto 24px; width: min(1200px, 100% - 24px); border-radius: 22px; padding: 26px 0; }
  footer .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: var(--txt2); font-size: 14.5px; }
  footer a { text-decoration: none; }
  .zap { position: fixed; right: 20px; bottom: 20px; z-index: 60; width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(135deg, #2fd16b, #16a34a); color: #fff; display: grid; place-items: center; box-shadow: 0 12px 30px rgba(34,197,94,.45); transition: transform .2s; }
  .zap:hover { transform: scale(1.08); } .zap svg { width: 30px; height: 30px; }
  .zap::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid #22c55e; animation: pulso 2.2s infinite; } @keyframes pulso { to { transform: scale(1.6); opacity: 0; } }

  .rv { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); } .rv.on { opacity: 1; transform: none; }
  [hidden] { display: none !important; }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } .rv { opacity: 1; transform: none; } }
  @media (max-width: 980px) {
    .hero .wrap, .bloco, .prods { grid-template-columns: 1fr; } .vitrine { height: 400px; } .vitrine .anel { width: 340px; height: 340px; } .vitrine .disco { width: 290px; height: 290px; } .vitrine .logo { width: 200px; }
    .conf { grid-template-columns: 1fr 1fr; } .passos { grid-template-columns: 1fr; } .painel { padding: 36px 26px; }
  }
  @media (max-width: 760px) {
    .menu, .nav > .bt { display: none; } .hamb { display: block; } .marca .nome { height: 24px; } .marca .sim { width: 34px; }
    header { top: 8px; margin-top: 8px; } header.aberto { background: rgba(255,255,255,.92); }
    header.aberto .menu { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 72px; background: rgba(255,255,255,.95); -webkit-backdrop-filter: var(--blur); backdrop-filter: var(--blur); padding: 14px 18px 20px; gap: 2px; border-radius: 20px; box-shadow: var(--sombra2); }
    header.aberto .menu a { padding: 12px 4px; font-size: 17px; border-bottom: 1px solid var(--linha); } header.aberto .menu .bt { display: flex; margin-top: 12px; border: 0; color: #fff; }
    header.aberto .hamb span:nth-child(1) { transform: translateY(6px) rotate(45deg); } header.aberto .hamb span:nth-child(2) { opacity: 0; } header.aberto .hamb span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    section { padding: 64px 0; } .hero { padding: 36px 0 50px; } .prod { padding: 28px; } .kds { gap: 6px; padding: 8px; } .kds .col { padding: 6px; min-height: 220px; } .ped small { display: none; }
    .flut.c { display: none; } .conf { grid-template-columns: 1fr; } .final { border-radius: 26px; padding: 50px 22px; } .painel { border-radius: 26px; padding: 30px 18px; }
    .vitrine .anel { width: 300px; height: 300px; } .vitrine .disco { width: 250px; height: 250px; } .vitrine .logo { width: 180px; }
  }
  .so-movel { display: none; } @media (max-width: 760px) { .so-movel { display: flex; } }

  /* temas por produto */
  body.food { background: linear-gradient(160deg, #fff6ee 0%, #fff1f4 40%, #fffaf0 70%, #eef5ff 100%); background-attachment: fixed; }
  body.food .bolhas i:nth-child(1) { background: #ffc58f; } body.food .bolhas i:nth-child(2) { background: #ffb8c9; } body.food .bolhas i:nth-child(3) { background: #ffe08a; } body.food .bolhas i:nth-child(4) { background: #9cd0ff; }
  body.food .bt.p { background: linear-gradient(135deg, #fb923c, #ea580c); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 26px rgba(234,88,12,.32); }
  body.food .hero h1 span { background: linear-gradient(120deg, #f97316, #c2410c 75%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  body.food .plano.dest { border-color: rgba(249,115,22,.55); box-shadow: 0 1px 1px rgba(255,255,255,.9) inset, 0 24px 50px rgba(249,115,22,.18); }
  body.food .plano .prd, body.food summary::after { color: #ea580c; }
  body.food .passo::before { background: linear-gradient(135deg, #fb923c, #c2410c); -webkit-background-clip: text; background-clip: text; }
  body.food .menu a.on, body.vert .menu a.on { color: var(--navy); }
  body.vert { background: linear-gradient(160deg, #eaf6ff 0%, #eefcf9 45%, #f2f1ff 75%, #eaf3ff 100%); background-attachment: fixed; }
  body.vert .bolhas i:nth-child(1) { background: #7fc4ff; } body.vert .bolhas i:nth-child(2) { background: #8ff0dc; } body.vert .bolhas i:nth-child(3) { background: #b9b2ff; } body.vert .bolhas i:nth-child(4) { background: #9fe3ff; }
  body.vert .bt.p { background: linear-gradient(135deg, #22b8cf, #1c5fb8); box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 26px rgba(28,95,184,.32); }
  body.vert .hero h1 span { background: linear-gradient(120deg, #14b8a6, #1c5fb8 70%); -webkit-background-clip: text; background-clip: text; color: transparent; }
  .voltar { display: inline-flex; align-items: center; gap: 6px; color: var(--txt2); text-decoration: none; font-size: 14px; font-weight: 500; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--borda-v); background: rgba(255,255,255,.5); }
  .voltar:hover { color: var(--navy); }
  .produto-selo { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 15px; color: var(--navy); padding-left: 12px; margin-left: 2px; border-left: 1px solid var(--linha); white-space: nowrap; }
  .portas { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .portas .prod { min-height: 420px; padding: 40px; }
  .portas .prod ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 8px; color: var(--txt2); font-size: 15px; } .portas .prod li::before { content: '✓  '; color: var(--verde); font-weight: 700; }
  .portas .prod .ir { margin-top: 26px; display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--navy); }
  .hero.curta { padding: 60px 0 30px; text-align: center; } .hero.curta .wrap { display: block; } .hero.curta .sub { margin: 18px auto 0; }
  .hero.curta .logo-grande { width: 150px; margin: 0 auto 22px; filter: drop-shadow(0 20px 30px rgba(11,42,91,.2)); animation: flutua 6s ease-in-out infinite; }
  .plano-unico { max-width: 520px; margin: 0 auto; }
  .colunas2 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; } .colunas2 .vd { border-radius: 26px; padding: 32px; } .colunas2 h3 { font-size: 22px; margin-bottom: 18px; }
  @media (max-width: 980px) { .portas, .colunas2 { grid-template-columns: 1fr; } .portas .prod { min-height: 0; padding: 30px; } }
  @media (max-width: 760px) { .produto-selo { display: none; } }
  /* cards com foto desfocada ao fundo */
  .prod.foto { isolation: isolate; }
  .prod.foto::before { display: none; }
  .prod.foto .fundo-foto { position: absolute; inset: -12px; z-index: -2; background-size: cover; background-position: center; filter: blur(3px) saturate(115%); transform: scale(1.04); transition: transform .6s ease; }
  .prod.foto::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(115deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.74) 45%, rgba(255,255,255,.42) 100%); }
  .prod.foto:hover .fundo-foto { transform: scale(1.09); }
  .prod.foto h3 { margin-top: 4px; }
  /* ícone do WhatsApp (Font Awesome Free, CC BY 4.0 — fontawesome.com) */
  .ic-zap { fill: currentColor; flex: 0 0 auto; } .bt .ic-zap { width: 27px; height: 27px; margin: -4px 0; } .zap .ic-zap { width: 44px; height: 44px; }
  /* selos de segurança no rodapé */
  .selos-seg { display: flex; gap: 8px; flex-wrap: wrap; }
  .selo { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 600; color: #0c7a3c; background: rgba(18,161,80,.10); border: 1px solid rgba(18,161,80,.22); }
  .selo svg { width: 16px; height: 16px; }
