:root {
  --ag-blue:#0D47A1; --ag-navy:#0A1F44; --ag-sky:#29B6F6; --ag-cyan:#00BCD4;
  --ag-black:#111111; --ag-graphite:#424242; --ag-light:#F4F7FB; --ag-border:#E2E8F0;
}
html { scroll-behavior:smooth; }
body { font-family:'Open Sans',system-ui,-apple-system,sans-serif; color:var(--ag-black); background:#fff; }
h1,h2,h3,h4,h5,h6,.navbar-brand,.btn { font-family:'Montserrat',system-ui,sans-serif; }
a { color:var(--ag-blue); }
.skip-link { position:absolute; left:-9999px; top:0; z-index:9999; background:#fff; padding:.75rem 1rem; }
.skip-link:focus { left:1rem; top:1rem; }
.topbar { background:var(--ag-navy); color:#fff; font-size:.87rem; }
.topbar a { color:#fff; text-decoration:none; }
.site-nav { box-shadow:0 10px 30px rgba(10,31,68,.08); }
.navbar-brand img { width:150px; height:76px; object-fit:contain; }
.nav-link { font-family:'Montserrat'; font-weight:600; color:#1f2937!important; }
.nav-link:hover,.nav-link.active { color:var(--ag-blue)!important; }
.btn-primary { background:var(--ag-blue); border-color:var(--ag-blue); }
.btn-primary:hover { background:#08377e; border-color:#08377e; transform:translateY(-1px); }
.btn-outline-primary { color:var(--ag-blue); border-color:var(--ag-blue); }
.btn-outline-primary:hover { background:var(--ag-blue); border-color:var(--ag-blue); }
.hero { position:relative; overflow:hidden; min-height:680px; display:flex; align-items:center; background:radial-gradient(circle at 82% 20%,rgba(41,182,246,.22),transparent 30%),linear-gradient(135deg,#06162e 0%,#0A1F44 48%,#0D47A1 100%); color:#fff; }
.hero:after { content:''; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.16); border-radius:50%; right:-130px; top:-120px; }
.hero-kicker { color:#7dd3fc; letter-spacing:.16em; font-weight:700; font-size:.8rem; text-transform:uppercase; }
.hero h1 { font-size:clamp(2.5rem,5.5vw,5rem); line-height:.98; font-weight:800; letter-spacing:-.045em; }
.hero h1 span { color:var(--ag-sky); }
.hero-visual { position:relative; min-height:540px; display:flex; align-items:end; justify-content:center; }
.hero-visual img { width:min(420px,90%); height:570px; object-fit:cover; object-position:center; border-radius:220px 220px 36px 36px; box-shadow:0 40px 80px rgba(0,0,0,.38); border:1px solid rgba(255,255,255,.2); }
.hero-badge { position:absolute; background:rgba(255,255,255,.96); color:#111; border-radius:18px; padding:1rem 1.2rem; box-shadow:0 20px 50px rgba(0,0,0,.22); max-width:220px; }
.hero-badge i { color:var(--ag-blue); font-size:1.5rem; }
.hero-badge.one { top:90px; right:0; } .hero-badge.two { bottom:30px; left:0; }
.section { padding:92px 0; }
.section-soft { background:var(--ag-light); }
.section-title { max-width:760px; }
.section-kicker { color:var(--ag-blue); text-transform:uppercase; letter-spacing:.14em; font-weight:700; font-size:.78rem; }
.section-title h2 { font-weight:800; letter-spacing:-.03em; font-size:clamp(2rem,4vw,3.3rem); }
.feature-card,.product-card,.solution-card,.contact-card,.admin-card { background:#fff; border:1px solid var(--ag-border); border-radius:22px; box-shadow:0 16px 45px rgba(15,23,42,.07); height:100%; transition:.25s ease; }
.feature-card:hover,.product-card:hover,.solution-card:hover { transform:translateY(-5px); box-shadow:0 24px 60px rgba(15,23,42,.12); }
.icon-box { width:58px; height:58px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(145deg,#e9f5ff,#fff); color:var(--ag-blue); font-size:1.6rem; border:1px solid #d6eaff; }
.product-card { overflow:hidden; }
.product-card img { width:100%; height:260px; object-fit:cover; }
.product-card .tag { display:inline-flex; align-items:center; gap:.4rem; color:var(--ag-blue); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.value-strip { background:linear-gradient(90deg,var(--ag-blue),#075ecb); color:#fff; }
.stat { border-right:1px solid rgba(255,255,255,.2); }
.stat:last-child { border-right:none; }
.process-image { border-radius:28px; min-height:480px; width:100%; object-fit:cover; box-shadow:0 28px 70px rgba(10,31,68,.18); }
.quote-panel { border-radius:30px; background:linear-gradient(135deg,#071a38,#0D47A1); color:#fff; overflow:hidden; }
.form-control,.form-select { border-radius:12px; border-color:#d8e0ea; padding:.8rem .95rem; }
.form-control:focus,.form-select:focus { border-color:var(--ag-sky); box-shadow:0 0 0 .25rem rgba(41,182,246,.16); }
.page-hero { padding:120px 0 80px; background:linear-gradient(135deg,#071a38,#0D47A1); color:#fff; }
.breadcrumb a { color:#bce9ff; }
.footer { background:#071629; color:#dbe7f6; }
.footer a { color:#dbe7f6; text-decoration:none; }
.footer a:hover { color:#fff; }
.footer-logo { background:#fff; border-radius:16px; padding:.5rem; width:170px; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:#25D366; color:#fff; font-size:1.8rem; box-shadow:0 16px 35px rgba(0,0,0,.25); z-index:1040; text-decoration:none; }
.whatsapp-float:hover { color:#fff; transform:translateY(-2px); }
.logo-note { font-size:.72rem; color:#64748b; }
.cookie-banner { position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:1050; max-width:1000px; margin:auto; background:#fff; border:1px solid var(--ag-border); border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.18); }
.admin-shell { min-height:100vh; background:#f3f6fb; }
.admin-sidebar { background:#071a38; min-height:100vh; color:#fff; }
.admin-sidebar a { color:#dbe7f6; border-radius:10px; display:block; padding:.7rem .85rem; text-decoration:none; }
.admin-sidebar a:hover,.admin-sidebar a.active { background:rgba(41,182,246,.16); color:#fff; }
.table thead th { font-family:'Montserrat'; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:#475569; }
.status-pill { display:inline-flex; align-items:center; padding:.35rem .65rem; border-radius:999px; font-size:.78rem; font-weight:700; }
.status-active { background:#dcfce7;color:#166534; } .status-draft { background:#f1f5f9;color:#475569; } .status-new { background:#dbeafe;color:#1d4ed8; }
@media (max-width:991.98px){ .hero{padding:110px 0 70px; min-height:auto;} .hero-visual{min-height:450px;margin-top:2rem}.hero-visual img{height:450px}.hero-badge.one{right:4%}.hero-badge.two{left:4%}.section{padding:72px 0}.admin-sidebar{min-height:auto} }
@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto!important;transition:none!important;animation:none!important;} }
