*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1b2533;background:#fff}
img{max-width:100%;height:auto;display:block}a{color:#0b5fff}.wrap{max-width:1180px;margin:0 auto;padding:48px 20px}
.top{position:sticky;top:0;z-index:5;background:#0b2545;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:8px 16px;flex-wrap:wrap;gap:6px}
.brand{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:6px 12px;text-decoration:none}.brand img{height:44px;width:auto}
nav a{color:#cfe0ff;text-decoration:none;margin-left:14px;font-size:.95rem}
.hero{background:linear-gradient(135deg,#0b2545,#13315c 60%,#1d4e89);color:#fff}.hero .wrap{padding:56px 20px 64px}
.hero-logo{display:inline-block;background:#fff;border-radius:16px;padding:14px 22px;margin-bottom:22px;box-shadow:0 6px 20px rgba(0,0,0,.25)}.hero-logo img{height:80px;width:auto}
h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.2;margin:.3em 0}
.lead{font-size:1.1rem;max-width:640px;color:#e3ecff}.rating{color:#ffd76a;margin-top:18px}
.btn{display:inline-block;background:#25d366;color:#fff;font-weight:700;padding:14px 22px;border-radius:999px;text-decoration:none;margin:8px 8px 0 0}
.btn.ghost{background:transparent;color:#0b2545;border:2px solid #0b2545}
h2{font-size:1.7rem;margin:0 0 .3em;color:#0b2545}.sub{color:#4a5568;max-width:720px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:20px}
.card{border:1px solid #e2e8f0;border-radius:14px;padding:18px}.card h3{margin:.3em 0;font-size:1.1rem}.card p{margin:0;color:#4a5568;font-size:.95rem}.ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e8f4fa;color:#174670}.ico svg{width:26px;height:26px}.card:hover .ico{background:#d4edf7}.card:hover .ico svg{stroke:#018fbd}
.alt{background:#f3f6fb}.two{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:20px 0}
.box{background:#fff;border-radius:14px;padding:18px 22px;border-left:5px solid #1d4e89}.box h3{margin-top:0;color:#0b2545}.box p{margin:0}
.principle{margin:20px 0;padding:20px 24px;background:#0b2545;color:#fff;border-radius:14px;font-size:1.25rem;font-weight:600;line-height:1.4}
.vals ul{margin:0;padding-left:20px}.vals li{margin:4px 0}
.gallery{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:20px}
.gallery figure{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0001}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.shots img{aspect-ratio:16/10;object-fit:cover;object-position:top}
figcaption{padding:8px 12px;font-size:.88rem;color:#4a5568}.note{font-size:.85rem;color:#718096}
footer{background:#0b2545;color:#cfe0ff;text-align:center;padding:24px 16px;font-size:.85rem;padding-bottom:90px}
.foot-logo{display:inline-block;background:#fff;border-radius:12px;padding:8px 14px}.foot-logo img{height:44px;width:auto}
.wa-float{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0004;z-index:9}
@media(max-width:700px){nav{display:none}.hero-logo{padding:10px 14px}.hero-logo img{height:auto;width:100%;max-width:300px}}

.g5{grid-template-columns:repeat(5,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.team img{aspect-ratio:4/3}
@media(max-width:1060px){.g5{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(3,1fr)}.team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.g5,.g4,.team{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g5{grid-template-columns:1fr}.g4,.team{grid-template-columns:1fr 1fr;gap:10px}.g3{grid-template-columns:1fr}.g4 figcaption,.team figcaption{font-size:.8rem;padding:6px 8px}.brand img{height:38px}}
.proj-btn{display:inline-flex;align-items:center;gap:10px;margin-top:16px}.ico.sm{width:30px;height:30px;border-radius:8px}.ico.sm svg{width:18px;height:18px}
.crumb{font-size:.9rem;color:#718096;margin:0 0 8px}.crumb a{color:#174670}.ph{color:#0b2545;font-size:clamp(1.7rem,4vw,2.3rem);margin:0}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.pcard{all:unset;cursor:pointer;display:block;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px #0001;transition:transform .2s,box-shadow .2s}
.pcard:hover,.pcard:focus-visible{transform:translateY(-3px);box-shadow:0 10px 24px -10px rgba(11,37,69,.35)}
.pcard img{width:100%;aspect-ratio:4/3;object-fit:cover}.pinfo{display:flex;align-items:center;gap:12px;padding:12px 14px}.pinfo b{display:block;color:#0b2545;font-size:1rem;line-height:1.3}.pinfo small{color:#718096}
.back{margin:24px 0 12px}#atitle{margin-bottom:6px}
.aimg{all:unset;cursor:zoom-in;display:block;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0001}.aimg img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.aimg:hover img{transform:scale(1.04)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(4,12,20,.92);display:flex;align-items:center;justify-content:center;padding:56px 16px}.lb[hidden]{display:none}
.lb img{max-width:min(1100px,100%);max-height:100%;border-radius:8px}.lb p{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#cfe0ff;margin:0}
.lb button{position:absolute;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;width:46px;height:46px;border-radius:50%;font-size:26px;cursor:pointer}.lb-x{top:12px;right:12px}.lb-p{left:10px}.lb-n{right:10px}
@media(max-width:900px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}.album{grid-template-columns:1fr 1fr}}
.pgrid,.album{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.pgrid>*{flex:0 1 calc((100% - 36px)/3)}.album>*{flex:0 1 calc((100% - 54px)/4)}
@media(max-width:900px){.pgrid>*{flex-basis:calc((100% - 18px)/2)}.album>*{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:560px){.pgrid>*{flex-basis:100%}.album{gap:10px}.album>*{flex-basis:calc((100% - 10px)/2)}}
[hidden]{display:none!important}.pcard,.aimg{box-sizing:border-box}.lb{z-index:200}
/* servicios */
a.card{display:block;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}a.card:hover{box-shadow:0 10px 24px -12px rgba(11,37,69,.35);transform:translateY(-2px)}a.card h3{color:#0b2545}
.card .more{display:inline-block;margin-top:8px;font-size:.88rem;font-weight:600;color:#018fbd}
.svc-hero .crumb,.svc-hero .crumb a{color:#cfe0ff}.svc-head{display:flex;align-items:center;gap:16px}.ico.lg{width:64px;height:64px;flex:none;border-radius:16px;background:#e8f4fa}.ico.lg svg{width:36px;height:36px}
.area{color:#cfe0ff;font-size:.9rem;margin-top:16px}.box h2{font-size:1.3rem}
.chk{list-style:none;padding:0;margin:0}.chk li{position:relative;padding-left:26px;margin:8px 0}.chk li:before{content:"";position:absolute;left:4px;top:.45em;width:10px;height:6px;border-left:2px solid #018fbd;border-bottom:2px solid #018fbd;transform:rotate(-45deg)}
.faq details{border:1px solid #e2e8f0;border-radius:12px;padding:12px 18px;margin:10px 0;max-width:820px}.faq summary{cursor:pointer;font-weight:600;color:#0b2545}.faq details p{margin:8px 0 0;color:#4a5568}
.cta{text-align:center}.cta .contact{justify-content:center}
@media(max-width:560px){.svc-head{flex-direction:column;align-items:flex-start;gap:8px}.ico.lg{width:52px;height:52px}}
/* header + hero claro (v2) */
.top{background:#fff;color:#1f2a37;border-bottom:1px solid #e5edf2;box-shadow:0 1px 0 #018fbd22;padding:8px 24px}
.brand{background:none;padding:0;border-radius:0}.brand img{height:52px}
nav a{color:#1f2a37;font-weight:500;margin-left:20px}nav a:hover{color:#018fbd}
.hero{background:linear-gradient(180deg,#f6f9fb,#fff);color:#1f2a37;border-top:3px solid #018fbd}
.hero .wrap{padding:36px 20px 32px}
.hero h1{color:#1f2a37;font-size:clamp(1.7rem,3.6vw,2.4rem);margin:.1em 0 .3em}
.hero .lead{color:#3c4a5c}.hero .rating{color:#b7791f;margin:12px 0 0}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center}
.hero-pic{margin:0}.hero-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px -12px #1f2a3755;max-height:300px}
.svc-hero .crumb,.svc-hero .crumb a{color:#5a6878}.svc-hero .crumb a:hover{color:#018fbd}.svc-hero .area{color:#5a6878}
.svc-hero .ico.lg{background:#e8f4fa}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-pic{display:none}.hero .wrap{padding:28px 20px 32px}}
@media(max-width:560px){.brand img{height:42px}}
