:root {
  --navy: #05213f;
  --deep: #03152a;
  --blue: #0a5ea8;
  --sky: #58a7df;
  --green: #41b95f;
  --gold: #f7c833;
  --ink: #10233a;
  --muted: #64748b;
  --line: rgba(5,33,63,.14);
  --white: #fff;
  --shadow: 0 24px 70px rgba(3,21,42,.16);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:"Inter",Arial,sans-serif; color:var(--ink); background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 45%,#ffffff 100%); }
a { color:inherit; text-decoration:none; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px clamp(18px,5vw,72px); background:linear-gradient(90deg,rgba(3,21,42,.98) 0%,rgba(5,33,63,.96) 58%,rgba(10,94,168,.9) 100%); border-bottom:1px solid rgba(255,255,255,.12); box-shadow:0 16px 40px rgba(3,21,42,.16); backdrop-filter:blur(18px); }
.brand { display:inline-flex; align-items:center; width:clamp(168px,18vw,245px); min-width:160px; }
.brand img { display:block; width:100%; height:76px; object-fit:contain; object-position:left center; border-radius:10px; }
.main-nav { display:flex; gap:28px; color:rgba(255,255,255,.78); font-size:.95rem; font-weight:800; }
.main-nav a:hover { color:var(--white); }
.nav-button,.primary-button,.ghost-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border:1px solid transparent; border-radius:999px; font-size:.95rem; font-weight:900; transition:transform .2s ease,box-shadow .2s ease; cursor:pointer; }
.nav-button,.primary-button { color:var(--white); background:linear-gradient(135deg,var(--blue),var(--navy)); box-shadow:0 12px 24px rgba(5,33,63,.18); }
.ghost-button { color:var(--white); background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.42); }
.nav-button:hover,.primary-button:hover,.ghost-button:hover { transform:translateY(-2px); }
.hero { position:relative; display:flex; align-items:center; overflow:hidden; min-height:640px; margin-top:-1px; background:var(--deep); }
.hero-bg { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,21,42,.96) 0%,rgba(5,33,63,.82) 47%,rgba(10,94,168,.36) 100%),url("assets/projects/ehk-projeto-06.webp") center/cover no-repeat; }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(180deg,rgba(3,21,42,0),rgba(3,21,42,.72)); pointer-events:none; }
.hero-inner { position:relative; z-index:1; width:min(100%,1220px); margin:0 auto; padding:clamp(70px,8vw,108px) clamp(18px,5vw,32px); color:var(--white); }
.hero-kicker,.eyebrow,.form-label { margin:0 0 14px; color:var(--sky); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.03em; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:960px; margin-bottom:22px; font-size:clamp(2.55rem,5.4vw,5rem); line-height:1.02; }
.hero-copy { max-width:760px; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.section { padding:clamp(70px,9vw,112px) clamp(18px,5vw,72px); }
.section-heading { max-width:840px; margin-bottom:38px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading h2 { color:var(--navy); font-size:clamp(2rem,4vw,3.35rem); line-height:1.08; margin-bottom:16px; }
.section-heading p,.benefit-track p,.steps-track p { color:var(--muted); line-height:1.72; }
.benefits { background:linear-gradient(180deg,#ffffff,#f1f8ff); }
.benefit-carousel,.steps-carousel,.projects-carousel { position:relative; max-width:1240px; margin:0 auto; overflow:hidden; padding:2px 0; }
.benefit-carousel::before,.benefit-carousel::after,.steps-carousel::before,.steps-carousel::after,.projects-carousel::before,.projects-carousel::after { content:""; position:absolute; top:0; bottom:0; z-index:2; width:clamp(34px,8vw,110px); pointer-events:none; }
.benefit-carousel::before,.steps-carousel::before { left:0; background:linear-gradient(90deg,#f7fbff,rgba(247,251,255,0)); }
.benefit-carousel::after,.steps-carousel::after { right:0; background:linear-gradient(270deg,#f7fbff,rgba(247,251,255,0)); }
.benefit-track,.steps-track,.projects-track { display:flex; width:max-content; gap:22px; will-change:transform; }
.benefit-track { animation:carousel-scroll 32s linear infinite; }
.steps-track { animation:carousel-scroll 34s linear infinite; }
.projects-track { animation:carousel-scroll 52s linear infinite; }
.benefit-track:hover,.steps-track:hover,.projects-track:hover { animation-play-state:paused; }
.benefit-track article,.steps-track article,.contact-card { border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:0 12px 34px rgba(5,33,63,.08); }
.benefit-track article,.steps-track article { flex:0 0 clamp(280px,27vw,360px); min-height:285px; padding:30px 26px; }
.benefit-icon { display:inline-flex; align-items:center; justify-content:center; width:54px; height:54px; margin-bottom:28px; color:var(--white); background:linear-gradient(135deg,var(--blue),var(--navy)); border-radius:18px; font-size:.78rem; font-weight:900; }
.benefit-track h3,.steps-track h3 { color:var(--navy); font-size:1.25rem; line-height:1.22; }
.steps { background:radial-gradient(circle at 86% 14%,rgba(88,167,223,.2),transparent 28%),linear-gradient(135deg,#eef7ff,#ffffff); }
.steps-track span { display:inline-block; margin-bottom:22px; color:var(--blue); font-size:.82rem; font-weight:900; text-transform:uppercase; }
@keyframes carousel-scroll { from { transform:translateX(0); } to { transform:translateX(calc(-50% - 11px)); } }
.projects { background:linear-gradient(180deg,var(--deep) 0%,var(--navy) 100%); color:var(--white); overflow:hidden; }
.projects .section-heading h2 { color:var(--white); }
.projects .section-heading p:not(.eyebrow) { color:rgba(255,255,255,.72); }
.projects-carousel::before { left:0; background:linear-gradient(90deg,var(--deep),rgba(3,21,42,0)); }
.projects-carousel::after { right:0; background:linear-gradient(270deg,var(--navy),rgba(5,33,63,0)); }
.project-card { position:relative; flex:0 0 clamp(300px,36vw,520px); aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:#06182d; box-shadow:0 20px 55px rgba(0,0,0,.34); }
.project-card::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,0,0,.3)); }
.project-card img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.01); filter:saturate(1.04) contrast(1.02); }
.faq { background:rgba(255,255,255,.85); }
.faq .primary-button { margin-top:10px; border:0; }
.contact { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:28px; padding:clamp(70px,9vw,112px) clamp(18px,5vw,72px); background:radial-gradient(circle at 18% 10%,rgba(88,167,223,.18),transparent 32%),linear-gradient(135deg,#f4faff,#ffffff); }
.calculator-heading { margin-bottom:0; }
.contact-card { position:relative; isolation:isolate; overflow:hidden; width:min(100%,590px); padding:34px; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,248,255,.92)); box-shadow:var(--shadow); }
.contact-card > *:not(.calc-scene) { position:relative; z-index:2; }
.calc-scene { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.sun-orb { position:absolute; right:32px; top:26px; width:92px; height:92px; border-radius:50%; background:radial-gradient(circle,#fff 0 30%,#8ac8f2 32% 54%,rgba(5,33,63,.15) 55% 100%); opacity:.42; }
.panel-shape { position:absolute; left:18px; bottom:28px; width:128px; height:80px; opacity:.12; background:repeating-linear-gradient(90deg,transparent 0 24px,#fff 24px 29px),repeating-linear-gradient(0deg,var(--navy) 0 18px,#fff 18px 23px); transform:skewX(-8deg); border-radius:8px; }
.line-orb { position:absolute; border-radius:999px; background:linear-gradient(135deg,rgba(10,94,168,.18),rgba(65,185,95,.12)); }
.line-a { left:52px; top:52px; width:120px; height:20px; transform:rotate(-18deg); }
.line-b { right:90px; bottom:92px; width:150px; height:24px; transform:rotate(14deg); }
form { display:grid; gap:14px; }
label { display:grid; gap:7px; color:#243044; font-size:.9rem; font-weight:900; }
input,select { width:100%; min-height:50px; padding:0 14px; color:var(--ink); background:rgba(255,255,255,.95); border:1px solid var(--line); border-radius:14px; font:inherit; }
select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%); background-position:calc(100% - 19px) 22px,calc(100% - 13px) 22px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
input:focus,select:focus { outline:3px solid rgba(88,167,223,.34); border-color:var(--blue); }
.full { width:100%; border:0; }
.chat-widget { position:fixed; inset:0; z-index:50; display:none; justify-content:flex-end; align-items:flex-end; padding:24px; background:rgba(3,21,42,.35); }
.chat-widget.is-open { display:flex; }
.chat-panel { width:min(100%,420px); max-height:min(86vh,720px); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(88,167,223,.24); border-radius:22px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.28); }
.chat-header { display:flex; justify-content:space-between; gap:16px; padding:18px; color:#fff; background:var(--navy); }
.chat-header span { display:block; margin-top:4px; color:rgba(255,255,255,.72); font-size:.82rem; }
.chat-header button { width:34px; height:34px; border:0; border-radius:50%; color:var(--navy); background:#fff; font-size:1.4rem; line-height:1; cursor:pointer; }
.chat-messages { display:grid; gap:10px; padding:16px; overflow:auto; min-height:180px; }
.chat-message { max-width:86%; padding:11px 13px; border-radius:16px; color:#202020; background:#f0f5fa; line-height:1.45; font-size:.92rem; }
.chat-message.user { justify-self:end; color:#fff; background:var(--blue); }
.chat-message.typing { display:inline-flex; align-items:center; gap:5px; width:auto; padding:13px 14px; }
.chat-message.typing span { width:7px; height:7px; border-radius:50%; background:#8d929c; animation:typing-dot 1s infinite ease-in-out; }
.chat-message.typing span:nth-child(2) { animation-delay:.14s; }
.chat-message.typing span:nth-child(3) { animation-delay:.28s; }
@keyframes typing-dot { 0%,80%,100% { transform:translateY(0); opacity:.45; } 40% { transform:translateY(-4px); opacity:1; } }
.chat-form { display:grid; grid-template-columns:1fr auto; gap:8px; padding:12px 16px; border-top:1px solid #e9eef4; }
.chat-form input { min-height:42px; }
.chat-form button { border:0; border-radius:12px; padding:0 14px; background:var(--navy); color:#fff; font-weight:900; cursor:pointer; }
.whatsapp-float,.instagram-float,.chat-float { position:fixed; right:22px; z-index:30; display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; color:var(--white); border-radius:50%; border:0; cursor:pointer; }
.chat-float { bottom:142px; background:var(--navy); color:#fff; box-shadow:0 8px 18px rgba(5,33,63,.18); }
.chat-float svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.whatsapp-float { bottom:22px; background:#128c4a; box-shadow:0 8px 18px rgba(18,140,74,.18); }
.instagram-float { bottom:82px; background:radial-gradient(circle at 30% 110%,#feda75 0 18%,#fa7e1e 32%,#d62976 55%,#962fbf 75%,#4f5bd5 100%); box-shadow:0 8px 18px rgba(150,47,191,.16); }
.whatsapp-float svg,.instagram-float svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.site-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; padding:30px clamp(18px,5vw,72px); color:rgba(255,255,255,.76); background:var(--deep); font-size:.92rem; }
.site-footer a { font-weight:800; }
.site-footer span { width:100%; text-align:center; }
@media (max-width:1050px) { .main-nav{display:none;} .contact-card{max-width:620px;} }
@media (max-width:680px) {
  .site-header{position:static;align-items:flex-start;} .brand{min-width:0;width:168px;} .brand img{height:62px;} .nav-button{display:none;} h1{font-size:2.35rem;} .hero{min-height:auto;}
  .hero-bg{background:linear-gradient(180deg,rgba(3,21,42,.98) 0%,rgba(5,33,63,.86) 66%,rgba(10,94,168,.36) 100%),url("assets/projects/ehk-projeto-06.webp") center/cover no-repeat;}
  .benefit-track article,.steps-track article,.project-card{flex-basis:82vw;min-height:auto;} .contact-card{padding:24px;}
  .chat-widget{padding:10px;} .chat-panel{width:100%; max-height:92vh;} .chat-float,.whatsapp-float,.instagram-float{right:16px;width:44px;height:44px;} .chat-float{bottom:126px;} .instagram-float{bottom:72px;} .whatsapp-float{bottom:16px;}
}
