
:root{
  --primary:#063b4c;--primary2:#087e8b;--accent:#d6a84f;--ink:#102a32;
  --muted:#60727a;--bg:#f5f8f9;--white:#fff;--line:#dfe8eb;
  --shadow:0 18px 50px rgba(6,59,76,.12);--radius:22px;
  --footer-bg:#0d4338;--footer-accent:#b9f5c9;--footer-soft:#eafaf2;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,92%);margin:auto}
header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,232,235,.9);transition:.3s}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em}
.logo-mark{width:54px;height:54px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;box-shadow:0 10px 20px rgba(6,59,76,.12)}
.logo-mark img{width:100%;height:100%;object-fit:cover;display:block}
.logo small{display:block;font-size:.66rem;color:var(--muted);letter-spacing:.12em}
.navlinks{display:flex;align-items:center;gap:12px;font-size:.93rem;font-weight:700}
.navlinks a{padding:10px 14px;border-radius:12px;position:relative;transition:all .22s ease;color:var(--ink)}
.navlinks a.active,.navlinks a:hover{color:var(--primary);background:rgba(8,126,139,.1);box-shadow:inset 0 0 0 1px rgba(8,126,139,.08)}
.navlinks a.active:after,.navlinks a:hover:after{display:none}
.nav-item{position:relative;display:flex;align-items:center}
.dropdown-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;position:relative;transition:all .22s ease}
.dropdown-toggle:hover{color:var(--primary);background:rgba(8,126,139,.1)}
.dropdown-toggle .caret{font-size:.8rem;color:var(--primary2);transition:.2s}
.nav-item.dropdown:hover .dropdown-toggle .caret,.nav-item.dropdown:focus-within .dropdown-toggle .caret,.nav-item.dropdown.open .dropdown-toggle .caret{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(0);min-width:250px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px;display:none;z-index:1000}
.nav-item.dropdown:hover .dropdown-menu,.nav-item.dropdown:focus-within .dropdown-menu,.nav-item.dropdown.open .dropdown-menu{display:grid;gap:6px}
.dropdown-menu a{padding:10px 12px;border-radius:10px;display:block;color:var(--ink);transition:all .2s ease}
.dropdown-menu a:hover{background:rgba(8,126,139,.08);color:var(--primary);transform:translateX(2px)}
.menu{display:none;background:none;border:0;font-size:1.6rem;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 21px;font-weight:800;cursor:pointer;transition:.25s}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{transform:translateY(-2px);background:#052e3b}
.btn-accent{background:var(--accent);color:#172b30}
.btn-outline{border:1px solid var(--primary);color:var(--primary);background:transparent}
.hero{position:relative;min-height:610px;display:grid;place-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(6,59,76,.92),rgba(6,59,76,.48)),url("https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=2200&q=88") center/cover}
.hero:after{content:"";position:absolute;inset:auto -10% -130px;height:240px;background:var(--bg);border-radius:50% 50% 0 0/100% 100% 0 0}
.hero-content{position:relative;z-index:2;width:min(1180px,92%);padding:90px 0 130px}
.eyebrow{color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}
h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;margin:16px 0 20px;max-width:850px}
h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;margin-bottom:15px}
h3{line-height:1.2}
.lead{font-size:1.12rem;color:var(--muted);max-width:720px}
.hero .lead{color:#e4f0f3;max-width:700px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.section{padding:90px 0}
.section.alt{background:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.kicker{font-size:.78rem;font-weight:900;color:var(--primary2);text-transform:uppercase;letter-spacing:.16em}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(16,42,50,.06);transition:.3s}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.card-img{aspect-ratio:16/10;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .card-img img{transform:scale(1.05)}
.card-body{padding:22px}
.card-body p{color:var(--muted);font-size:.94rem;margin:9px 0 18px}
.icon-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px}
.icon{width:48px;height:48px;border-radius:15px;background:#e8f4f5;color:var(--primary2);display:grid;place-items:center;font-size:1.3rem;margin-bottom:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.split-img{border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.split-img img{width:100%;height:100%;object-fit:cover}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:30px}
.stat{background:#fff;border:1px solid var(--line);padding:22px;border-radius:18px}
.stat strong{font-size:2rem;color:var(--primary)}
.breadcrumb{padding:18px 0;font-size:.88rem;color:var(--muted)}
.page-hero{padding:70px 0;background:linear-gradient(135deg,#e8f4f5,#f7fafb)}
.page-hero h1{font-size:clamp(2.4rem,5vw,4rem)}
.catalog-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}
.catalog-hero img{border-radius:28px;width:100%;height:430px;object-fit:cover;box-shadow:var(--shadow)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:16px;cursor:pointer}
.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.client{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;font-weight:750}
form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:750;font-size:.9rem}
input,textarea,select{border:1px solid #cbd9dd;border-radius:12px;padding:13px 14px;background:#fff;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--primary2);box-shadow:0 0 0 3px rgba(8,126,139,.1)}
textarea{min-height:140px;resize:vertical}
.notice{padding:16px;border-radius:14px;background:#eef8f5;color:#205b52;display:none;margin-top:15px}
.map{min-height:380px;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#dfecef,#eef5f6);display:grid;place-items:center;text-align:center;padding:0;border:1px solid var(--line);box-shadow:var(--shadow)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(0.1) contrast(1.05)}
.cta{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-radius:28px;padding:50px}
.cta .lead{color:#dcebed}
footer{background:linear-gradient(135deg,var(--footer-bg),#145f46);color:var(--footer-soft);padding:70px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:35px}
footer h3{color:var(--footer-accent);margin-bottom:16px}
footer a{color:var(--footer-soft);display:block;margin:8px 0}
footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.86rem}
.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon .wa-svg{width:20px;height:20px;fill:currentColor}.whatsapp,.message-fab{position:fixed;right:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 15px 30px rgba(0,0,0,.18);z-index:1100;text-decoration:none}.whatsapp{bottom:22px;background:#25D366}.message-fab{bottom:92px;background:var(--primary2)}.wa-svg{width:31px;height:31px;fill:currentColor}.msg-svg{width:27px;height:27px;fill:currentColor}.fab-tooltip{position:absolute;right:70px;white-space:nowrap;background:#102a32;color:#fff;padding:7px 10px;border-radius:8px;font-size:.78rem;font-weight:800;opacity:0;transform:translateX(5px);pointer-events:none;transition:.2s}.whatsapp:hover .fab-tooltip,.message-fab:hover .fab-tooltip{opacity:1;transform:none}.message-fab:hover,.whatsapp:hover{transform:translateY(-3px)}
.to-top{position:fixed;right:22px;bottom:90px;width:44px;height:44px;border:0;border-radius:50%;background:var(--primary);color:#fff;display:none;z-index:1100;cursor:pointer}
.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}
.reveal.show{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;place-items:center;z-index:2000;padding:25px}
.lightbox.open{display:grid}
.lightbox img{max-width:95vw;max-height:88vh;border-radius:12px}
.lightbox button{position:absolute;top:18px;right:25px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.searchbox{display:flex;gap:10px;margin:20px 0}
.searchbox input{flex:1}
.badge{display:inline-block;background:#e8f4f5;color:var(--primary2);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
@media(max-width:950px){
  .navlinks{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:15px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}
  .navlinks.open{display:flex}.navlinks a{padding:12px 14px;border-radius:12px}.navlinks a.active:after,.navlinks a:hover:after{display:none}
  .nav-item,.nav-item.dropdown{width:100%}.dropdown-toggle{padding:12px 14px;display:flex;justify-content:space-between;border-radius:12px}.dropdown-menu{position:static;transform:none;left:auto;min-width:0;width:100%;display:none;padding:8px 0 0 0;border:0;border-radius:0;box-shadow:none;background:transparent}.nav-item.dropdown.open .dropdown-menu,.nav-item.dropdown:focus-in .dropdown-menu{display:grid;gap:4px;padding-top:8px}.dropdown-menu a{padding:10px 12px;border-radius:10px;background:#f3faf6;color:var(--ink)}
  .menu{display:block}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}
  .split,.catalog-hero{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .nav{height:68px}.navlinks{top:68px}
  .grid-4,.grid-3,.clients,.gallery,.form-grid,.stat-row{grid-template-columns:1fr}
  .section{padding:65px 0}.hero{min-height:610px}.hero-content{padding-top:65px}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
  .catalog-hero img{height:300px}.actions .btn{width:100%}
}
