:root { --blue:#0a4e8a; --blue-light:#6294be; --clients-bg:#fff; }

body { margin:0; padding:0; font-family:Arial, sans-serif; color:#222; background-image:url('./image/fundo.gif'); background-repeat:no-repeat; background-position:center center; background-size:cover; background-attachment:fixed; }
h1,h2,h3 { margin:0; padding:0; }

.btn { background:var(--blue-light); color:#fff; padding:16px 34px; border-radius:8px; text-decoration:none; font-weight:700; font-size:1.1rem; transition:transform .2s ease, box-shadow .2s ease; border:0; cursor:pointer; display:inline-block; }
.btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(10,78,138,0.35); background-color:aqua; color:var(--blue); }
.btn.btn--light { background:#fff; color:var(--blue); }
.btn.btn--light:hover { background:#fff; color:var(--blue); }
.hp-field { display:none; }

.topbar { position:sticky; top:0; background:#fff; z-index:10; box-shadow:0 2px 12px rgba(0,0,0,0.08); }
.topbar-inner { max-width:1200px; margin:auto; display:flex; align-items:center; justify-content:space-between; padding:12px 24px; }
.logo { height:120px; width:auto; }
.menu { display:flex; gap:18px; flex-wrap:wrap; }
.menu a { color:var(--blue); text-decoration:none; font-weight:600; }
.menu a:hover { text-decoration:underline; }

.hero { position:relative; width:100%; padding:40px 24px; box-sizing:border-box; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,78,138,0.55) 0%, rgba(10,78,138,0.35) 35%, rgba(10,78,138,0.2) 100%); }
.hero img { display:block; max-width:100%; height:auto; }
.hero-logo { position:absolute; top:20px; right:20px; width:6vw; max-width:80px; height:auto; z-index:2; }

footer { background:var(--blue); color:#fff; padding:32px 0; margin-top:40px; }
.footer-inner { max-width:1200px; margin:auto; padding:0 24px; text-align:left; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; align-items:start; }
@media (max-width: 900px) { .footer-grid { grid-template-columns:1fr; gap:16px; } }
.footer-title { font-size:1rem; font-weight:700; margin-bottom:12px; }
.footer-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.footer-list a { color:#fff; text-decoration:none; }
.footer-list a:hover { text-decoration:underline; }
.footer-contact p { margin:6px 0; }
.footer-contact a { color:#fff; text-decoration:none; }
.footer-contact a:hover { text-decoration:underline; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.25); margin-top:20px; padding-top:16px; font-size:.9rem; text-align:center; }

.page-home .hero { height:100vh; }
.page-home .hero-content { position:absolute; top:50%; left:50%; transform:translate(-50%,-58%); color:#fff; text-align:center; max-width:800px; z-index:3; background-color:var(--blue); border-radius:14px; }
.page-home .hero-content h1 { font-size:3.2rem; font-weight:800; text-shadow:0 4px 20px rgba(0,0,0,0.6); padding:5%; }
.page-home .hero-content p { font-size:1.3rem; margin:20px 0; text-shadow:0 4px 20px rgba(0,0,0,0.6); }

.page-home section { padding:80px 40px; max-width:1300px; margin:auto; }
.page-home .fullbg { padding:120px 40px; color:#fff; background-size:cover; background-position:center; }
.page-home .grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:30px; }
.page-home .card { background:var(--blue); padding:30px; color:#fff; border-radius:14px; box-shadow:0 4px 20px rgba(0,0,0,0.08); transition:transform .2s ease, box-shadow .2s ease; text-decoration:none; display:block; }
.page-home .card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,0.14); }
.page-home .section-title { font-size:2.3rem; font-weight:700; color:var(--blue); text-align:center; margin-bottom:40px; }
.page-home .section-text { font-size:1.2rem; line-height:1.7; max-width:900px; margin:auto; text-align:center; padding:40px 40px; }
.page-home .section.alt .section-title { color:#fff; }
.page-home .section.alt { color:#fff; background:rgba(10,78,138,0.9); border-radius:14px; padding:40px 20px; }
.page-home .center { text-align:center; }
.page-home .text { padding:20px; }
.page-home .cards-vertical { display:grid; grid-template-columns:repeat(4, 1fr); gap:0; }
.page-home .cards-horizontal { display:grid; grid-template-columns:repeat(4, 1fr); gap:0; }
.page-home .cards-vertical .card, .page-home .cards-horizontal .card { border-radius:0; padding:24px; box-shadow:none; }
.page-home .card-portrait, .page-home .card-landscape { height:260px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.page-home .card-green { background:rgba(34,197,94,0.8); }
.page-home .card-red { background:rgba(239,68,68,0.8); }
.page-home .card-yellow { background:rgba(234,179,8,0.85); }
.page-home .card-blue { background:rgba(59,130,246,0.8); }
.page-home .card-purple { background:rgba(139,92,246,0.85); }
.page-home .card-teal { background:rgba(13,148,136,0.8); }
.page-home .card-orange { background:rgba(249,115,22,0.85); }
.page-home .card-slate { background:rgba(100,116,139,0.85); }
.page-home .brand-row { display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; }
.page-home .icon { width:64px; height:64px; margin-bottom:12px; display:block; }
.page-home .brand-row svg { width:72px; height:72px; }
.page-home .clients-hero { position:absolute; left:50%; transform:translateX(-50%); bottom:8px; z-index:2; background:var(--clients-bg); border-radius:14px; padding:18px 24px; box-shadow:0 6px 20px rgba(0,0,0,0.18); }
.page-home .clients-title { color:var(--blue); font-weight:700; text-align:center; margin-bottom:10px; }
.page-home .clients-row { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; align-items:center; justify-items:center; }
.page-home .client-item { background:var(--clients-bg); border-radius:12px; width:220px; height:110px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.page-home .client-logo { width:100%; height:100%; object-fit:contain; display:block; background:var(--clients-bg); }

.page-inner .hero { height:40vh; }
.page-inner .hero-content { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:#fff; text-align:center; max-width:800px; z-index:3; background-color:var(--blue); border-radius:14px; padding:40px; }
.page-inner .section { max-width:1200px; margin:40px auto; padding:0 24px; }
.page-inner .section-title { color:var(--blue); font-size:2rem; margin-bottom:12px; text-align:left; }
.page-inner .section-text { font-size:1rem; line-height:1.6; margin-bottom:12px; }
.page-inner .section-subtitle { color:var(--blue); font-size:1.2rem; margin:24px 0 8px; }

.form { background:#ffffffcc; backdrop-filter:blur(2px); border-radius:12px; padding:24px; }
.form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
@media (max-width: 900px) { .form-grid { grid-template-columns:1fr; } }
.form-group { display:flex; flex-direction:column; gap:8px; }
.form-group input, .form-group select, .form-group textarea { padding:10px 12px; border:1px solid #c7d2da; border-radius:8px; font-size:1rem; color:var(--blue); }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--blue-light); }
.form label { color:var(--blue); }

.checks { display:grid; gap:8px; }
.checks label { color:var(--blue); }

.form-box { background:var(--blue); border-radius:14px; padding:24px; color:#cfe2f8; }
.form-box .section-title, .form-box .section-subtitle { color:#cfe2f8; }
.form-box a { color:inherit; text-decoration:none; }
.form-box a:hover { text-decoration:underline; }
.contacts p { margin:6px 0; }

.actions { display:flex; gap:12px; margin:12px 0 20px; flex-wrap:wrap; }

.info-box { background:var(--blue); border-radius:14px; padding:24px; }
.info-box .section-title, .info-box .section-text, .info-box .section-list { color:#fff; }
.section-list { padding-left:18px; }

.routes-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
@media (max-width: 900px) { .routes-grid { grid-template-columns:1fr; } }
.route-box { background:var(--blue); color:#fff; border-radius:12px; padding:18px; }
.route-box h3 { margin-bottom:8px; font-size:1.1rem; }
.route-list { list-style:none; margin:0; padding:0; display:grid; gap:6px; }

.gallery-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
@media (max-width: 900px) { .gallery-grid { grid-template-columns:1fr; } }
.gallery-image { width:100%; height:360px; object-fit:cover; border-radius:12px; box-shadow:0 4px 16px rgba(0,0,0,0.12); }

.map-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
@media (max-width: 900px) { .map-grid { grid-template-columns:1fr; } }
.map-embed { width:100%; height:420px; border:0; border-radius:12px; box-shadow:0 4px 16px rgba(0,0,0,0.12); }
.page-home .map-embed { height:360px; }
