:root{
  --brand:#5B8EC2;        /* azul médio (logo) */
  --brand-2:#8EBBE6;      /* azul claro (logo) */
  --brand-dark:#3d5a7a;   /* azul escuro */
  --brand-light:#c8dfef;  /* azul muito claro */
  --accent:#7aa8d1;       /* azul accent */
  --bg:#ffffff;           /* fundo claro */
  --surface:#f8fafb;      /* seções em destaque */
  --surface-alt:#f0f6fc;  /* superfície alternativa */
  --text:#0a1628;         /* título */
  --text-secondary:#1f2937; /* texto intermediário */
  --muted:#6b7280;        /* texto secundário */
  --line:#e1e8f0;         /* divisórias */
  --shadow: 0 1px 3px rgba(91,142,194,0.08), 0 4px 12px rgba(91,142,194,0.06);
  --shadow-md: 0 4px 6px rgba(91,142,194,0.07), 0 10px 25px rgba(91,142,194,0.1);
  --shadow-lg: 0 10px 30px rgba(91,142,194,0.12), 0 20px 60px rgba(91,142,194,0.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;font-size:16px}
a{color:var(--brand);text-decoration:none;transition:color 0.2s ease,opacity 0.2s ease}
a:hover{color:var(--brand-dark)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{line-height:1.15;font-weight:800;color:var(--text);letter-spacing:-0.02em}
h1{font-size:clamp(36px,6vw,72px);margin:0 0 24px}
h2{font-size:clamp(32px,4.5vw,52px);margin:0 0 20px}
h3{font-size:clamp(22px,3vw,32px);margin:0 0 14px;font-weight:700}

/* Layout */
.container{max-width:1280px;margin:0 auto;padding:0 24px}
@media(min-width:768px){.container{padding:0 40px}}
header{background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,0.03)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;flex-wrap:wrap}
.brand img{display:block;transition:transform 0.2s ease;height:auto;width:auto;max-width:180px}
.brand:hover img{transform:scale(1.02)}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;align-items:center}
nav ul li{flex-shrink:0}
nav ul li a{padding:5px 14px;border-radius:6px;font-weight:600;font-size:16px;transition:background 0.2s ease,color 0.2s ease;display:block;white-space:nowrap}
nav ul li a:hover{background:var(--surface-alt);color:var(--brand-dark)}
.btn{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:0;border-radius:12px;padding:14px 32px;font-weight:700;font-size:16px;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease;box-shadow:var(--shadow-md);display:inline-block;letter-spacing:0.01em}
.btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:#fff}
.btn.secondary{background:transparent;color:var(--brand-dark);outline:2px solid var(--brand);box-shadow:none;font-weight:700}
.btn.secondary:hover{background:var(--brand);color:#fff;transform:translateY(-3px);outline-color:var(--brand-dark)}
.btn-white{background:#fff !important;color:var(--brand-dark) !important;box-shadow:0 4px 16px rgba(0,0,0,0.15) !important}
.btn-white:hover{box-shadow:0 8px 24px rgba(0,0,0,0.25) !important;color:var(--brand-dark) !important}

.hero{padding:clamp(80px,12vw,160px) 0;background:linear-gradient(135deg,rgba(200,223,239,0.2) 0%,rgba(142,187,230,0.1) 50%,rgba(255,255,255,1) 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:700px;height:700px;background:radial-gradient(circle,rgba(142,187,230,0.15) 0%,transparent 65%);border-radius:50%;pointer-events:none;animation:float 8s ease-in-out infinite}
.hero h1{font-size:clamp(42px,7vw,82px);margin:0 0 28px;background:linear-gradient(135deg,var(--text) 0%,var(--brand) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900;letter-spacing:-0.03em}
.hero p{color:var(--text-secondary);margin:0 0 40px;max-width:62ch;font-size:clamp(17px,2.2vw,22px);line-height:1.65;font-weight:400}
.page-hero{padding:clamp(48px,8vw,96px) 0;background:linear-gradient(135deg,var(--surface-alt) 0%,var(--surface) 100%);border-bottom:1px solid var(--line)}
.page-hero h1{margin:0 0 10px;font-size:clamp(26px,4vw,38px);font-weight:800}
.page-hero.hero-gradient{background:linear-gradient(135deg,rgba(200,223,239,0.25) 0%,rgba(142,187,230,0.15) 50%,rgba(255,255,255,1) 100%);position:relative;overflow:hidden;padding:clamp(20px,3vw,36px) 0}
.page-hero.hero-gradient::before{content:'';position:absolute;top:-50px;right:-50px;width:500px;height:500px;background:radial-gradient(circle,rgba(142,187,230,0.2) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.lead{color:var(--text-secondary);max-width:75ch;font-size:clamp(15px,1.8vw,17px);line-height:1.7}
.cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}

main section{padding:clamp(64px,10vw,120px) 0;position:relative}
main section:nth-child(even){background:var(--surface)}
main section h2{text-align:center;margin-bottom:clamp(16px,3vw,24px);position:relative;padding-bottom:20px;font-size:clamp(32px,5vw,56px)}
main section h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100px;height:5px;background:linear-gradient(90deg,var(--brand-2),var(--brand));border-radius:3px}

/* Grid + Cards */
.grid{display:grid;gap:32px;margin-top:48px}
@media(min-width:640px){.grid.cols-2{grid-template-columns:repeat(2,1fr);gap:36px}.grid.cols-4{grid-template-columns:repeat(2,1fr);gap:28px}}
@media(min-width:960px){.grid.cols-3{grid-template-columns:repeat(3,1fr);gap:40px}}
@media(min-width:1200px){.grid.cols-4{grid-template-columns:repeat(4,1fr);gap:32px}}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px 32px;transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--brand-2),var(--brand));opacity:0;transition:opacity 0.3s ease}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--brand-2)}
.card:hover::before{opacity:1}
.card h3{margin:0 0 14px;font-size:clamp(20px,2.5vw,28px);color:var(--text);font-weight:700}
.card p{margin:0;color:var(--muted);line-height:1.75;font-size:15px}
.card ul{margin:12px 0 0;padding-left:8px;color:var(--text-secondary);list-style:none}
.card ul li{margin-bottom:10px;line-height:1.65;padding-left:28px;position:relative}
.card ul li::before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:900;font-size:16px}
.cta-row{display:flex;gap:20px;flex-wrap:wrap;align-items:center}

footer{background:linear-gradient(180deg,var(--surface-alt) 0%,#fff 100%);border-top:1px solid var(--line);margin-top:0;padding-top:clamp(40px,6vw,64px)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px;padding:0 0 32px 0}
@media (min-width:880px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}}
.footer-grid strong{display:block;margin-bottom:12px;color:var(--text);font-size:15px;font-weight:600}
.footer-grid div div{margin-bottom:8px}
.footer-grid a{color:var(--muted);font-size:15px}
.footer-grid a:hover{color:var(--brand)}
small,.muted{color:var(--muted)}

.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{position:static;width:auto;height:auto;padding:12px 16px;background:var(--brand);color:#fff;border-radius:4px;font-weight:600}

/* Full width sections can use .full */
.full{width:100%;padding:0;background:var(--surface)}

/* Feature highlights */
.feature-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--brand-2),var(--brand));border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:#fff;font-size:24px;font-weight:700;transition:transform 0.3s ease,box-shadow 0.3s ease}
.feature-icon-gradient{background:linear-gradient(135deg,#667eea 0%,var(--brand) 50%,var(--brand-2) 100%);box-shadow:0 8px 24px rgba(91,142,194,0.2)}
.card-highlight:hover .feature-icon{transform:scale(1.15);box-shadow:0 12px 32px rgba(91,142,194,0.3)}

/* Stats/metrics */
.stat{text-align:center;padding:24px}
.stat-value{font-size:clamp(32px,4vw,48px);font-weight:700;color:var(--brand);margin-bottom:8px}
.stat-label{color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:0.5px}

/* Section variations */
.section-dark{background:linear-gradient(135deg,var(--brand-dark) 0%,var(--brand) 100%);color:#fff}
.section-dark h2,.section-dark h3,.section-dark p{color:#fff}
.section-dark .muted{color:rgba(255,255,255,0.8)}

/* List styles */
ul.checklist{list-style:none;padding:0}
ul.checklist li{padding-left:32px;position:relative;margin-bottom:12px;line-height:1.6}
ul.checklist li::before{content:'✓';position:absolute;left:0;color:var(--brand);font-weight:700;font-size:18px}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.8}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.hero .container{animation:fadeInUp 0.8s ease-out}
.card{animation:fadeInUp 0.6s ease-out;animation-fill-mode:both}
.card:nth-child(1){animation-delay:0.1s}
.card:nth-child(2){animation-delay:0.2s}
.card:nth-child(3){animation-delay:0.3s}
.card:nth-child(4){animation-delay:0.4s}

/* Enhanced visual elements */
.hero::after{content:'';position:absolute;bottom:-50px;left:0;right:0;height:100px;background:linear-gradient(180deg,transparent 0%,var(--bg) 100%);pointer-events:none}

/* Gradient text accent */
.gradient-text{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Enhanced buttons with icons */
.btn::after{content:'→';margin-left:8px;transition:margin-left 0.2s ease}
.btn:hover::after{margin-left:12px}

/* Floating CTA Button */
.float-cta{position:fixed;bottom:32px;right:32px;background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:16px 28px;border-radius:50px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:12px;font-weight:700;font-size:15px;z-index:1000;transition:transform 0.3s ease,box-shadow 0.3s ease;text-decoration:none}
.float-cta:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(91,142,194,0.25);color:#fff}
.float-cta svg{flex-shrink:0}
@media(max-width:768px){.float-cta{bottom:20px;right:20px;padding:14px 20px;font-size:14px}.float-cta span{display:none}}

/* Section subtitles */
.section-subtitle{text-align:center;font-size:clamp(16px,2vw,20px);color:var(--muted);max-width:60ch;margin:0 auto 48px;line-height:1.6}

/* Badges */
.badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px;background:var(--brand-2);color:var(--brand-dark)}
.badge-purple{background:#e9d5ff;color:#7c3aed}
.badge-green{background:#d1fae5;color:#059669}
.badge-orange{background:#fed7aa;color:#ea580c}

/* Card icon */
.card-icon{width:72px;height:72px;background:linear-gradient(135deg,var(--brand-2) 0%,var(--brand) 100%);border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#fff;transition:transform 0.3s ease,box-shadow 0.3s ease;box-shadow:0 4px 12px rgba(91,142,194,0.15)}
.card:hover .card-icon{transform:scale(1.15) rotate(5deg);box-shadow:0 8px 24px rgba(91,142,194,0.25)}
.card-blue .card-icon{background:linear-gradient(135deg,#60a5fa 0%,var(--brand) 100%)}
.card-purple .card-icon{background:linear-gradient(135deg,#a78bfa 0%,#7c3aed 100%)}
.card-green .card-icon{background:linear-gradient(135deg,#34d399 0%,#059669 100%)}
.card-orange .card-icon{background:linear-gradient(135deg,#fb923c 0%,#ea580c 100%)}

/* Colored cards */
.card-colored{border-left:5px solid var(--brand)}
.card-colored.card-blue{border-left-color:var(--brand);background:linear-gradient(135deg,rgba(91,142,194,0.03) 0%,rgba(255,255,255,1) 100%)}
.card-colored.card-purple{border-left-color:#7c3aed;background:linear-gradient(135deg,rgba(124,58,237,0.03) 0%,rgba(255,255,255,1) 100%)}
.card-colored.card-green{border-left-color:#059669;background:linear-gradient(135deg,rgba(5,150,105,0.03) 0%,rgba(255,255,255,1) 100%)}
.card-colored.card-orange{border-left-color:#ea580c;background:linear-gradient(135deg,rgba(234,88,12,0.03) 0%,rgba(255,255,255,1) 100%)}

/* Highlight cards */
.card-highlight{background:#fff;border:2px solid var(--line)}
.card-highlight:hover{border-color:var(--brand);background:linear-gradient(135deg,rgba(91,142,194,0.04) 0%,#fff 100%)}

/* Section highlight */
.section-highlight{background:linear-gradient(135deg,var(--surface-alt) 0%,var(--surface) 100%)}

/* Responsive improvements */
@media(max-width:960px){
  .grid.cols-3{grid-template-columns:1fr}
  .hero h1{font-size:clamp(28px,8vw,48px)}
}

@media(max-width:768px){
  nav ul{gap:4px}
  nav ul li a{padding:5px 12px;font-size:15px}
  .brand img{max-width:180px;height:auto}
}

@media(max-width:640px){
  .grid.cols-2{grid-template-columns:1fr}
  nav ul{width:100%;justify-content:flex-start;gap:6px}
  nav ul li a{padding:5px 10px;font-size:14px}
  .cta{flex-direction:column;width:100%}
  .cta .btn{width:100%;text-align:center}
  .nav{flex-direction:column;align-items:flex-start;gap:8px}
  .brand{margin-bottom:0}
}

/* Chat Modal */
.chat-modal{position:fixed;bottom:0;right:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;display:none;align-items:flex-end;justify-content:flex-end;padding:20px;opacity:0;transition:opacity 0.3s ease}
.chat-modal.active{display:flex;opacity:1}
.chat-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,0.2);width:100%;max-width:420px;height:600px;max-height:90vh;display:flex;flex-direction:column;transform:translateY(20px);transition:transform 0.3s ease;overflow:hidden}
.chat-modal.active .chat-container{transform:translateY(0)}
.chat-header{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;padding:16px 20px;display:flex;align-items:center;gap:12px;border-radius:16px 16px 0 0}
.chat-header-avatar{width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--brand);flex-shrink:0}
.chat-header-info{flex:1}
.chat-header-info h3{margin:0;font-size:16px;font-weight:700}
.chat-header-info p{margin:0;font-size:12px;opacity:0.9}
.chat-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;opacity:0.8;transition:opacity 0.2s}
.chat-close:hover{opacity:1}
.chat-messages{flex:1;padding:20px;overflow-y:auto;background:#f8f9fa;display:flex;flex-direction:column;gap:12px}
.chat-message{display:flex;gap:8px;max-width:85%;animation:fadeInUp 0.3s ease}
.chat-message.bot{align-self:flex-start}
.chat-message.user{align-self:flex-end;flex-direction:row-reverse}
.chat-message-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.chat-message.user .chat-message-avatar{background:var(--muted)}
.chat-message-bubble{background:#fff;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;box-shadow:0 1px 2px rgba(0,0,0,0.08)}
.chat-message.user .chat-message-bubble{background:var(--brand);color:#fff}
.chat-input-container{padding:16px;border-top:1px solid var(--line);background:#fff;display:flex;gap:8px}
.chat-input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:20px;font-size:14px;outline:none;transition:border-color 0.2s}
.chat-input:focus{border-color:var(--brand)}
.chat-send{background:var(--brand);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;flex-shrink:0}
.chat-send:hover{background:var(--brand-dark)}
.chat-send:disabled{background:var(--muted);cursor:not-allowed;opacity:0.5}
@media(max-width:640px){.chat-modal{padding:0}.chat-container{max-width:100%;height:100%;max-height:100%;border-radius:0}}
