@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

:root{font-family:Arial,Helvetica,sans-serif;color:#1c303a;background:#fff;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.top{height:84px;background:#fff;color:#18333c;border-bottom:1px solid #dce4e7;position:sticky;top:0;z-index:20}.top-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:15px;line-height:1.2}.brand small{display:block;font-size:10px;letter-spacing:.11em;color:#6a777d;margin-top:5px}.mark{width:45px;height:45px;display:grid;place-items:center;background:#18333c;color:#fff;font-size:16px;letter-spacing:-.1em;padding-right:3px}.desktop{display:flex;align-items:center;gap:17px;font-size:13px;font-weight:600}.desktop a:hover,.desktop a:focus-visible{color:#a57738}.desktop .contact-link{padding:12px 14px;background:#18333c;color:#fff}.toggle{width:50px;height:50px;border:0;border-left:1px solid #dce4e7;background:transparent;color:#18333c;cursor:pointer;display:none;align-items:center;justify-content:center}.toggle svg{width:28px;height:28px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}.drawer[hidden]{display:none}.drawer{position:fixed;top:76px;bottom:0;left:0;right:0;overflow:auto;background:linear-gradient(rgba(5,26,39,.95),rgba(5,26,39,.95)),url('/images/trabajo-01.webp') center/cover;color:white}.drawer-inner{width:min(600px,calc(100% - 56px));margin:auto;padding:30px 0 55px}.drawer a{display:block;text-align:center;padding:13px 0;font-size:clamp(23px,6vw,32px);font-weight:400;text-transform:uppercase;line-height:1.4}.drawer a:last-child{color:#e5bc76}.drawer a:hover,.drawer a:focus-visible{color:#e5bc76;text-decoration:underline;text-underline-offset:8px}.top.open{background:#0b2737;color:#fff;border-color:#284555}.top.open .brand small{color:#bbcbd1}.top.open .mark{background:#fff;color:#0b2737}.top.open .toggle{color:#fff;border-color:#355363}.page-hero{min-height:420px;display:flex;align-items:end;background:linear-gradient(90deg,rgba(8,29,41,.92),rgba(8,29,41,.55)),url('/images/trabajo-01.webp') center/cover;color:#fff}.page-hero .wrap{padding:105px 0 60px}.kicker{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e1b76f;margin:0 0 20px}.page-hero h1{font-size:clamp(45px,7vw,78px);font-weight:600;line-height:1.05;letter-spacing:-.035em;margin:0 0 20px;max-width:850px}.page-hero p{font-size:clamp(18px,2vw,23px);line-height:1.55;max-width:740px;margin:0}.section{padding:90px 0}.section.alt{background:#f1f5f6}.section.dark{background:#0c2b40;color:#fff}.section-head{max-width:780px;margin-bottom:44px}.label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#956a32;font-weight:700;margin:0 0 18px}.dark .label{color:#e1b76f}.section h2{font-size:clamp(34px,4vw,52px);line-height:1.17;letter-spacing:-.025em;font-weight:600;margin:0 0 20px}.section p{font-size:17px;line-height:1.7;color:#526169}.dark p{color:#d7e0e4}.lede{font-size:20px!important;max-width:830px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tile{border-top:2px solid #b98947;padding:24px 0 10px}.tile h3{font-size:22px;color:#18333c;margin:0 0 12px}.tile p{margin:0;font-size:16px}.dark .tile h3{color:#fff}.dark .tile{border-color:#e1b76f}.statement{text-align:center;max-width:850px;margin:0 auto;padding:28px 0}.statement+.statement{border-top:1px solid rgba(255,255,255,.22)}.statement h2{font-size:clamp(28px,3vw,38px);margin-bottom:10px}.statement p{font-size:19px;margin:0}.list{border-top:1px solid #d5dfe2}.list-item{display:grid;grid-template-columns:220px 1fr;gap:35px;border-bottom:1px solid #d5dfe2;padding:24px 0}.list-item h3{font-size:22px;margin:0;color:#18333c}.list-item p{margin:0}.image-block{width:100%;aspect-ratio:16/8;object-fit:cover;display:block}.btn{display:inline-flex;align-items:center;min-height:48px;padding:13px 21px;background:#18333c;color:#fff;font-weight:700;font-size:15px}.btn:hover,.btn:focus-visible{background:#2b5262}.cta{background:#e9f0f2;padding:65px 0}.cta .wrap{display:flex;justify-content:space-between;gap:35px;align-items:center}.cta h2{font-size:clamp(30px,3.5vw,45px);margin:0}.footer{background:#18333c;color:#c8d3d7;padding:36px 0;font-size:14px}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer strong{color:#fff}.contact-card{border-top:2px solid #18333c;padding-top:24px}.contact-card strong{display:block;font-size:23px;margin-bottom:12px}.contact-card a{text-decoration:underline;text-underline-offset:4px}.contact-card p{margin:0 0 14px}.fine{font-size:14px!important;color:#6c7a80!important}.social{display:block;position:relative}.social img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block}.social span{position:absolute;bottom:20px;left:20px;background:#18333c;color:#fff;padding:14px 20px;font-weight:700}
@media(max-width:1120px){.desktop{display:none}.toggle{display:flex}.top{height:76px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.page-hero{min-height:470px}.page-hero .wrap{padding:75px 0 55px}.section{padding:65px 0}.grid-2,.grid-3{grid-template-columns:1fr;gap:18px}.list-item{grid-template-columns:1fr;gap:8px}.cta .wrap{display:block}.cta .btn{margin-top:22px}.social img{aspect-ratio:4/3}}

/* Identidad tipográfica: titulares azules sobre blanco y blancos sobre azul */
:root{font-family:Montserrat,"Avenir Next",Arial,sans-serif;color:#0b285e}
.brand,.desktop,.drawer,.page-hero h1,.section h2,.tile h3,.list-item h3,.contact-card strong,.cta h2,.btn{font-family:Montserrat,"Avenir Next",Arial,sans-serif}
.top,.footer,.desktop .contact-link,.btn,.social span{background-color:#0b285e}
.page-hero{background-image:linear-gradient(90deg,rgba(7,31,76,.87),rgba(7,31,76,.43)),url('/images/movimiento-tierra.webp')}
.page-hero h1{color:#fff;font-weight:700;letter-spacing:-.025em}
.page-hero p{color:#fff;font-weight:500}
.top{background:#fff;color:#0b285e}
.mark{background:#0b285e}
.section h2,.tile h3,.list-item h3,.contact-card strong,.cta h2{color:#0b285e;font-weight:700}
.section.dark{background:#0b285e}
.section.dark h2,.section.dark .tile h3{color:#fff}
.section .section-head h2:after,.section .grid-2 h2:after{content:"";display:block;width:150px;height:5px;background:#f3cb2f;margin-top:22px}
.dark .statement h2:after{content:"";display:block;width:130px;height:4px;background:#f3cb2f;margin:17px auto 0}
.section p{color:#243856;line-height:1.8}
.section.dark p{color:#f3f5fb}
.label,.kicker{color:#a77724}
.dark .label,.page-hero .kicker{color:#f3cb2f}
.btn{background:#0b285e;color:#fff}
.btn:hover,.btn:focus-visible{background:#183d83}
.footer{color:#e0e6ee}
.drawer{background-image:linear-gradient(rgba(6,26,66,.95),rgba(6,26,66,.95)),url('/images/trabajo-01.webp')}
.drawer a{font-weight:500}
.top.open{background:#0b285e}
@media(max-width:760px){.page-hero h1{font-size:clamp(41px,10vw,58px)}.section p{font-size:17px}}

/* Ajuste de acentos sin subrayado decorativo */
.section .section-head h2:after,.section .grid-2 h2:after,.dark .statement h2:after{display:none}
.label,.kicker{color:#267b68}
.dark .label,.page-hero .kicker{color:#7ac7aa}
.tile,.dark .tile{border-top-color:#2f8d76}
.drawer a:last-child,.drawer a:hover,.drawer a:focus-visible{color:#85d1b4}

.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-grid article{background:#f2f6f7}.project-grid img{width:100%;height:260px;object-fit:cover;display:block}.project-grid article div{padding:22px}.project-grid h3{margin:0 0 12px;color:#0b285e;font-size:22px}.project-grid p{margin:0;font-size:15px}.record-link{margin-top:70px;padding:35px 0;border-top:2px solid #2f8d76}.record-link p{max-width:700px}.record-link .btn{margin-top:12px}@media(max-width:760px){.project-grid{grid-template-columns:1fr}.project-grid img{height:230px}}

/* Galería de trabajos */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-grid article{overflow:hidden;background:#f3f6f8}.project-grid img{height:auto;aspect-ratio:4/3;object-fit:cover}.project-grid article div{padding:20px 22px 24px}.project-grid h3{font-size:21px}.project-grid p{font-size:15px;line-height:1.55}.record-link h2{font-size:clamp(28px,3vw,40px)}@media(max-width:850px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-grid{grid-template-columns:1fr;gap:22px}}

/* Proyectos ejecutados y clientes */
.executed{background:#f2f6f8}.executed-list{border-top:1px solid #cbd8df}.executed-list article{display:grid;grid-template-columns:minmax(250px, .8fr) 1fr;gap:48px;align-items:start;padding:26px 0;border-bottom:1px solid #cbd8df}.executed-list .client{display:block;color:#267b68;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px}.executed-list h3{font-size:23px;line-height:1.3;color:#0b285e;margin:0}.executed-list h3 small{font-size:16px;white-space:nowrap}.executed-list p{margin:0;font-size:16px;line-height:1.6}@media(max-width:700px){.executed-list article{grid-template-columns:1fr;gap:10px;padding:23px 0}.executed-list h3{font-size:21px}}

.project-grid .topografia-card img{object-fit:contain;object-position:center;background:#e7eee9;padding:8px}
