/* ============================================
   UNIVERSAL INSURANCE — IDENTIDADE VISUAL v2.0
   Paleta: #67696b #215775 #152d49 #878787 #3c3c3b
   Fontes: Space Grotesk (display) | Inter (body)
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --ui-azul-principal: #215775;
  --ui-azul-escuro: #152d49;
  --ui-cinza-inst: #67696b;
  --ui-cinza-aux: #878787;
  --ui-grafite: #3c3c3b;
  --ui-branco: #ffffff;
  --ui-branco-soft: #f7f8fa;
  --ui-borda: #e6e9ee;
  --ui-borda-escura: #2a4566;
  --font-display: 'Space Grotesk', 'Helvetica Neue', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --container-max: 1240px;
  --container-pad: clamp(20px, 4vw, 48px);
  --shadow-sm: 0 1px 2px rgba(21,45,73,.06), 0 1px 3px rgba(21,45,73,.04);
  --shadow-md: 0 4px 12px rgba(21,45,73,.08), 0 2px 4px rgba(21,45,73,.06);
  --shadow-lg: 0 12px 32px rgba(21,45,73,.12), 0 4px 8px rgba(21,45,73,.06);
  --shadow-xl: 0 24px 60px rgba(21,45,73,.18);
  --t-fast: 160ms ease;
  --t-med: 280ms cubic-bezier(.4,.0,.2,1);
  --t-slow: 480ms cubic-bezier(.4,.0,.2,1);
}

*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin:0; font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--ui-grafite); background:var(--ui-branco); -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:var(--ui-azul-principal); text-decoration:none; transition:color var(--t-fast); }
a:hover { color:var(--ui-azul-escuro); }
button { font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); font-weight:700; letter-spacing:-.01em; color:var(--ui-azul-escuro); margin:0 0 .5em; line-height:1.1; }
p { margin:0 0 1em; }

.container { max-width:var(--container-max); margin:0 auto; padding-left:var(--container-pad); padding-right:var(--container-pad); }

/* HEADER */
.site-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.96); backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--ui-borda); transition:box-shadow var(--t-med); }
.site-header.scrolled { box-shadow:var(--shadow-md); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:16px 0; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { height:48px; width:auto; }
.nav { display:flex; align-items:center; gap:4px; }
.nav a,.nav .nav-trigger { display:inline-flex; align-items:center; gap:6px; padding:10px 14px; border-radius:8px; font-size:14px; font-weight:600; color:var(--ui-grafite); background:none; border:0; letter-spacing:.01em; transition:background var(--t-fast),color var(--t-fast); }
.nav a:hover,.nav .nav-trigger:hover { background:var(--ui-branco-soft); color:var(--ui-azul-escuro); }
.nav a.active { color:var(--ui-azul-principal); }
.nav-item { position:relative; }
.nav-trigger svg { transition:transform var(--t-fast); }
.nav-item.open .nav-trigger svg { transform:rotate(180deg); }
.dropdown { position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(-4px); min-width:320px; background:#fff; border:1px solid var(--ui-borda); border-radius:14px; box-shadow:var(--shadow-lg); padding:10px; opacity:0; visibility:hidden; transition:all var(--t-med); }
.nav-item.open .dropdown { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.dropdown a { display:block; padding:12px 14px; border-radius:8px; font-size:14px; font-weight:500; }
.dropdown a small { display:block; font-size:12px; font-weight:400; color:var(--ui-cinza-aux); margin-top:2px; }
.dropdown a:hover { background:var(--ui-branco-soft); }
.header-ctas { display:flex; align-items:center; gap:10px; }
.btn-icon-wa { width:42px; height:42px; border-radius:50%; background:#25D366; display:inline-flex; align-items:center; justify-content:center; transition:transform var(--t-fast),box-shadow var(--t-fast); }
.btn-icon-wa:hover { transform:scale(1.06); box-shadow:0 6px 16px rgba(37,211,102,.4); }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--ui-borda); border-radius:8px; background:#fff; align-items:center; justify-content:center; }

/* BOTÕES */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 24px; border-radius:10px; font-family:var(--font-body); font-weight:600; font-size:14px; letter-spacing:.02em; border:1px solid transparent; cursor:pointer; transition:all var(--t-med); text-decoration:none; line-height:1; }
.btn-primary { background:var(--ui-azul-principal); color:#fff; }
.btn-primary:hover { background:var(--ui-azul-escuro); color:#fff; transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-dark { background:var(--ui-azul-escuro); color:#fff; }
.btn-dark:hover { background:#0d1f33; color:#fff; transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--ui-azul-escuro); border-color:var(--ui-azul-escuro); }
.btn-outline:hover { background:var(--ui-azul-escuro); color:#fff; }
.btn-outline-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.btn-outline-light:hover { background:#fff; color:var(--ui-azul-escuro); }
.btn-wa { background:#25D366; color:#fff; }
.btn-wa:hover { background:#1ebd5b; color:#fff; transform:translateY(-1px); }
.btn-lg { padding:16px 32px; font-size:15px; }

/* HERO */
.hero { position:relative; background:radial-gradient(1200px 600px at 80% -10%,rgba(33,87,117,.55),transparent 60%),radial-gradient(800px 400px at 0% 100%,rgba(103,105,107,.25),transparent 60%),linear-gradient(135deg,#0d1f33 0%,#152d49 55%,#1b3e5e 100%); color:#fff; overflow:hidden; padding:clamp(80px,12vw,140px) 0 clamp(80px,12vw,130px); }
.hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000 30%,transparent 80%); -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000 30%,transparent 80%); pointer-events:none; }
.hero-symbol { position:absolute; right:-120px; bottom:-120px; width:620px; opacity:.07; pointer-events:none; filter:brightness(0) invert(1); }
.hero-inner { position:relative; z-index:2; max-width:880px; }
.hero-tag { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#cfe1ee; margin-bottom:24px; }
.hero-tag .dot { width:6px; height:6px; border-radius:50%; background:#6dd5a3; box-shadow:0 0 0 3px rgba(109,213,163,.25); }
.hero h1 { font-size:clamp(34px,5.4vw,64px); color:#fff; line-height:1.05; margin-bottom:24px; }
.hero h1 .accent { color:#6aa3c4; }
.hero p.lead { font-size:clamp(16px,1.7vw,19px); color:#d6e2ec; max-width:680px; margin-bottom:36px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }

/* SEÇÕES */
section { padding:clamp(64px,9vw,110px) 0; }
.section-tag { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--ui-azul-principal); margin-bottom:14px; }
.section-tag::before { content:'— '; }
.section-title { font-size:clamp(28px,4vw,44px); margin-bottom:16px; max-width:820px; }
.section-subtitle { font-size:clamp(16px,1.5vw,18px); color:var(--ui-cinza-inst); max-width:720px; margin-bottom:48px; font-weight:400; }
.section-light { background:var(--ui-branco-soft); }
.section-dark { background:var(--ui-azul-escuro); color:#d6e2ec; }
.section-dark h2,.section-dark h3 { color:#fff; }
.section-dark .section-tag { color:#6aa3c4; }

/* SOBRE */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-visual { position:relative; aspect-ratio:4/5; border-radius:18px; background:linear-gradient(135deg,#215775,#152d49); overflow:hidden; box-shadow:var(--shadow-xl); }
.about-visual img { position:absolute; right:-40px; bottom:-40px; width:90%; opacity:.14; filter:brightness(0) invert(1); }
.about-visual .stat { position:absolute; bottom:28px; left:28px; right:28px; color:#fff; }
.about-visual .stat strong { display:block; font-family:var(--font-display); font-size:56px; line-height:1; }
.about-visual .stat span { display:block; font-size:14px; color:#cfe1ee; margin-top:10px; }

/* PRODUTOS */
.products-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.product-card { position:relative; background:#fff; border:1px solid var(--ui-borda); border-radius:16px; padding:32px 28px; transition:all var(--t-med); overflow:hidden; display:flex; flex-direction:column; }
.product-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--ui-azul-principal),var(--ui-azul-escuro)); transform:scaleX(0); transform-origin:left; transition:transform var(--t-med); }
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:transparent; }
.product-card:hover::before { transform:scaleX(1); }
.product-card .icon { width:56px; height:56px; border-radius:12px; background:linear-gradient(135deg,#eaf2f8,#d4e3ed); color:var(--ui-azul-principal); display:inline-flex; align-items:center; justify-content:center; margin-bottom:20px; }
.product-card h3 { font-size:18px; margin-bottom:12px; color:var(--ui-azul-escuro); }
.product-card p { font-size:14.5px; color:var(--ui-cinza-inst); line-height:1.6; margin-bottom:20px; flex:1; }
.product-card .card-link { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; color:var(--ui-azul-principal); }
.product-card .card-link svg { transition:transform var(--t-fast); }
.product-card:hover .card-link svg { transform:translateX(4px); }

/* DIFERENCIAIS */
.features-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:32px; }
.feature { padding:24px 0; border-top:2px solid rgba(255,255,255,.12); }
.feature .num { font-family:var(--font-display); font-size:14px; color:#6aa3c4; margin-bottom:14px; letter-spacing:.1em; }
.feature h3 { color:#fff; font-size:20px; margin-bottom:10px; }
.feature p { color:#adc1d4; font-size:14.5px; margin:0; }

/* STEPS */
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; counter-reset:step; }
.step { position:relative; padding:32px 24px; background:#fff; border:1px solid var(--ui-borda); border-radius:14px; counter-increment:step; }
.step::before { content:counter(step,decimal-leading-zero); position:absolute; top:24px; right:24px; font-family:var(--font-display); font-size:32px; color:var(--ui-azul-principal); opacity:.25; }
.step h4 { font-size:16px; margin-bottom:10px; color:var(--ui-azul-escuro); max-width:calc(100% - 50px); }
.step p { font-size:14px; color:var(--ui-cinza-inst); margin:0; }

/* CTA BANNER */
.cta-banner { background:radial-gradient(800px 400px at 100% 0%,rgba(106,163,196,.25),transparent 60%),linear-gradient(135deg,#152d49,#215775); border-radius:24px; padding:clamp(40px,6vw,72px); color:#fff; position:relative; overflow:hidden; }
.cta-banner h2 { color:#fff; font-size:clamp(26px,3.4vw,38px); margin-bottom:14px; max-width:720px; }
.cta-banner p { font-size:17px; color:#cfe1ee; max-width:620px; margin-bottom:32px; }
.cta-banner .actions { display:flex; flex-wrap:wrap; gap:12px; position:relative; z-index:2; }

/* FOOTER */
.site-footer { background:#0d1f33; color:#adc1d4; padding:64px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.site-footer h4 { color:#fff; font-family:var(--font-body); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:20px; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin-bottom:10px; }
.site-footer a { color:#adc1d4; font-size:14px; }
.site-footer a:hover { color:#fff; }
.footer-brand img { height:56px; margin-bottom:20px; filter:brightness(0) invert(1); }
.footer-brand p { font-size:14px; line-height:1.6; margin-bottom:20px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:24px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:13px; color:#7d96ad; }
.footer-bottom a { color:#7d96ad; margin-left:16px; }

/* PAGE HERO */
.page-hero { background:radial-gradient(900px 500px at 90% 50%,rgba(33,87,117,.4),transparent 60%),linear-gradient(135deg,#152d49,#1b3e5e); color:#fff; padding:clamp(80px,11vw,140px) 0 clamp(60px,8vw,90px); position:relative; overflow:hidden; }
.breadcrumb { font-size:13px; color:#adc1d4; margin-bottom:16px; letter-spacing:.04em; }
.breadcrumb a { color:#adc1d4; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb .sep { margin:0 8px; opacity:.5; }
.page-hero h1 { color:#fff; font-size:clamp(32px,4.8vw,54px); margin-bottom:16px; max-width:820px; position:relative; }
.page-hero p.lead { font-size:clamp(16px,1.6vw,18px); color:#cfe1ee; max-width:720px; margin-bottom:0; position:relative; }

/* SOBRE/PROSE */
.prose { max-width:780px; font-size:16.5px; line-height:1.8; color:var(--ui-grafite); }
.prose h2 { font-size:clamp(24px,3vw,32px); margin-top:40px; }
.prose h3 { font-size:20px; margin-top:32px; color:var(--ui-azul-principal); }
.prose ul { padding-left:22px; }
.prose ul li { margin-bottom:8px; }
.prose strong { color:var(--ui-azul-escuro); }
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-top:32px; }
.value-pill { background:#fff; border:1px solid var(--ui-borda); border-left:3px solid var(--ui-azul-principal); padding:18px 20px; border-radius:10px; font-weight:600; font-size:15px; color:var(--ui-azul-escuro); }

/* LANDING PAGES */
.lp-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:56px; align-items:start; }
.lp-content h2 { font-size:clamp(24px,3vw,32px); margin-top:36px; margin-bottom:16px; }
.lp-content h2:first-child { margin-top:0; }
.lp-content ul { padding-left:0; list-style:none; }
.lp-content ul li { position:relative; padding-left:28px; margin-bottom:10px; font-size:15.5px; line-height:1.6; }
.lp-content ul li::before { content:''; position:absolute; left:0; top:9px; width:14px; height:14px; border-radius:50%; background:linear-gradient(135deg,#6aa3c4,#215775); }
.lp-content ul li::after { content:''; position:absolute; left:4px; top:13px; width:6px; height:3px; border-left:1.5px solid #fff; border-bottom:1.5px solid #fff; transform:rotate(-45deg); }

/* FORMULÁRIOS */
.form-card { background:#fff; border-radius:16px; border:1px solid var(--ui-borda); box-shadow:var(--shadow-lg); padding:32px; position:sticky; top:100px; }
.form-card h3 { font-family:var(--font-display); font-size:22px; margin-bottom:6px; color:var(--ui-azul-escuro); }
.form-card .form-sub { color:var(--ui-cinza-inst); font-size:14px; margin-bottom:24px; }
.form-group { margin-bottom:16px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form-group label { display:block; font-size:13px; font-weight:600; color:var(--ui-azul-escuro); margin-bottom:6px; letter-spacing:.01em; }
.form-group label .req { color:#c0392b; }
.form-group input,.form-group select,.form-group textarea { width:100%; padding:11px 14px; border:1px solid var(--ui-borda); border-radius:8px; font-size:14px; font-family:inherit; color:var(--ui-grafite); background:#fff; transition:border-color var(--t-fast),box-shadow var(--t-fast); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:none; border-color:var(--ui-azul-principal); box-shadow:0 0 0 3px rgba(33,87,117,.12); }
.form-group input[readonly] { background:#f4f7fa; color:var(--ui-cinza-inst); border-color:#d0dce8; cursor:default; }
.form-group input[readonly]:focus { border-color:#d0dce8; box-shadow:none; }

/* CNPJ status */
.cnpj-status { display:block; font-size:12px; margin-top:5px; min-height:16px; line-height:1.4; transition:color var(--t-fast); }
.cnpj-status.cnpj-loading { color:var(--ui-cinza-aux); }
.cnpj-loading::before { content:''; display:inline-block; width:10px; height:10px; border:2px solid var(--ui-cinza-aux); border-top-color:var(--ui-azul-principal); border-radius:50%; animation:cnpj-spin .7s linear infinite; margin-right:6px; vertical-align:middle; }
@keyframes cnpj-spin { to { transform:rotate(360deg); } }
.cnpj-status.cnpj-ok { color:#1a7f4b; }
.cnpj-status.cnpj-error { color:#c0392b; font-size:11.5px; }

/* UPLOAD */
.upload-area { border:2px dashed var(--ui-borda); border-radius:10px; padding:22px; text-align:center; background:var(--ui-branco-soft); cursor:pointer; transition:border-color var(--t-fast),background var(--t-fast); }
.upload-area:hover { border-color:var(--ui-azul-principal); background:#f0f5fa; }
.upload-area svg { color:var(--ui-azul-principal); margin-bottom:8px; }
.upload-area .upload-label { font-size:14px; font-weight:600; color:var(--ui-azul-escuro); display:block; margin-bottom:4px; }
.upload-area .upload-hint { font-size:12px; color:var(--ui-cinza-aux); }
.upload-area input[type="file"] { display:none; }
.upload-files { font-size:12px; color:var(--ui-cinza-inst); margin-top:8px; text-align:left; }
.upload-files .file-item { display:flex; align-items:center; gap:6px; padding:4px 0; }

/* CHECKBOX / SUBMIT */
.checkbox-group { display:flex; align-items:flex-start; gap:10px; margin-top:4px; }
.checkbox-group input[type="checkbox"] { width:18px; height:18px; margin-top:2px; accent-color:var(--ui-azul-principal); flex-shrink:0; }
.checkbox-group label { font-size:12.5px; color:var(--ui-cinza-inst); line-height:1.55; margin:0; font-weight:400; }
.checkbox-group label a { font-weight:600; }
.form-submit { width:100%; margin-top:8px; padding:14px; font-size:15px; }

/* AVISO LEGAL */
.legal-notice { background:#f7f8fa; border-left:3px solid var(--ui-azul-principal); padding:16px 20px; border-radius:0 8px 8px 0; font-size:13.5px; color:var(--ui-cinza-inst); margin-top:32px; line-height:1.6; }

/* WHATSAPP FLOAT */
.wa-float { position:fixed; bottom:24px; right:24px; z-index:90; width:60px; height:60px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(37,211,102,.4); transition:transform var(--t-med),box-shadow var(--t-med); }
.wa-float:hover { transform:scale(1.08); box-shadow:0 12px 28px rgba(37,211,102,.5); }
.wa-float::before { content:''; position:absolute; inset:0; border-radius:50%; background:#25D366; opacity:.35; z-index:-1; animation:pulse 2s infinite; }
@keyframes pulse { 0%{transform:scale(1);opacity:.4} 100%{transform:scale(1.5);opacity:0} }

/* OBRIGADO */
.thanks-wrap { min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:60px 24px; }
.thanks-wrap .check { width:84px; height:84px; background:#e8f5ee; color:#1ebd5b; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-bottom:24px; }
.thanks-wrap h1 { font-size:clamp(28px,4vw,42px); margin-bottom:14px; }
.thanks-wrap p { color:var(--ui-cinza-inst); font-size:17px; max-width:540px; margin:0 auto 32px; }
.thanks-wrap .actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ANIMAÇÕES */
.fade-up { opacity:0; transform:translateY(30px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.fade-up.in { opacity:1; transform:translateY(0); }

/* MOBILE NAV */
.mobile-nav { position:fixed; inset:0; background:var(--ui-azul-escuro); z-index:200; padding:24px; transform:translateX(100%); transition:transform var(--t-med); overflow-y:auto; }
.mobile-nav.open { transform:translateX(0); }
.mobile-nav-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; }
.mobile-nav-head img { height:44px; filter:brightness(0) invert(1); }
.mobile-nav-close { width:42px; height:42px; border:1px solid rgba(255,255,255,.2); background:transparent; color:#fff; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; }
.mobile-nav a { display:block; color:#fff; font-size:18px; font-weight:600; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.mobile-nav .submenu a { font-size:15px; font-weight:500; color:#adc1d4; padding:10px 0 10px 18px; border-bottom:none; }
.mobile-nav .mobile-cta { margin-top:24px; }

/* RESPONSIVE */
@media (max-width:980px) {
  .nav,.header-ctas .btn { display:none; }
  .menu-toggle { display:inline-flex; }
  .header-ctas { gap:8px; }
  .about-grid { grid-template-columns:1fr; gap:40px; }
  .about-visual { aspect-ratio:16/10; max-width:540px; }
  .lp-grid { grid-template-columns:1fr; }
  .form-card { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media (max-width:600px) {
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .hero { padding:60px 0 70px; }
  .wa-float { width:56px; height:56px; bottom:20px; right:20px; }
  .cta-banner { padding:32px 24px; border-radius:18px; }
  .header-inner { padding:12px 0; gap:12px; }
  .brand img { height:40px; }
}

/* ── Símbolo decorativo de fundo (parallax visual) ───────────────────────── */
.hero-symbol {
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 55vw;
  max-width: 700px;
  min-width: 320px;
  opacity: .07;
  pointer-events: none;
  filter: brightness(10) saturate(0);
  transform: rotate(-8deg);
  z-index: 1;
}
@media (max-width: 768px) {
  .hero-symbol { width: 90vw; right: -40px; bottom: -60px; opacity: .05; }
}

/* ── Logo no header sem alt box ──────────────────────────────────────────── */
.brand img {
  height: 52px;
  width: auto;
  display: block;
}

/* ── Animação suave de entrada no hero ───────────────────────────────────── */
.hero-inner { animation: heroIn .9s cubic-bezier(.2,.7,.2,1) both; }
@keyframes heroIn {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Cards de produto com hover animado ─────────────────────────────────── */
.product-card {
  transition: transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med);
}
.product-card:hover { transform: translateY(-6px); }
