/* Client supplied company profile, additional services and imagery. */
.topbar__whatsapp{margin-left:auto;color:#d6d9dc}
.topbar__whatsapp::before{display:none!important}
.footer address{font:400 .76rem/1.6 var(--body);color:#e1edf4;margin:2px 0 0}
.expanded-home{padding:82px 0 96px;background:#f6f8f8}
.expanded-home__head{text-align:center;max-width:720px;margin:0 auto 41px}
.expanded-home__head .eyebrow i{display:none}
.expanded-home__head h2{color:var(--navy);font-size:clamp(2rem,3vw,2.8rem);font-weight:400;margin:12px 0 15px}
.expanded-home__head p{font-size:1rem;line-height:1.7;color:var(--muted);margin-inline:auto}
.expanded-home__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.expanded-home__card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e4e8e9;box-shadow:0 10px 24px rgba(9,59,84,.045);transition:transform .3s,box-shadow .3s}
.expanded-home__card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(9,59,84,.12)}
.expanded-home__card>img{width:100%;height:188px;object-fit:cover;background:#e7ebea}
.expanded-home__body{display:flex;flex-direction:column;flex:1;padding:23px 22px 22px}
.expanded-home__body strong{font:500 1.08rem/1.3 var(--head);color:var(--deep);min-height:2.6em}
.expanded-home__body small{display:block;font:400 .8rem/1.55 var(--body);color:#5b6770;margin:9px 0 20px}
.expanded-home__body>span{display:flex;align-items:center;gap:8px;margin-top:auto;font:600 .7rem var(--head);color:var(--teal);letter-spacing:.015em}
.expanded-home__body svg{width:16px;height:16px}
.page-services .service-jump .container{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-services .service-jump a{font-size:.76rem;min-height:53px}
.page-services .service-detail{scroll-margin-top:235px}
.page-services .service-detail__media{overflow:visible;isolation:isolate;margin:0 31px 30px 0}
.page-services .service-detail__main{width:100%;height:100%;display:block;object-fit:cover}
.page-services .service-detail__secondary{position:absolute;z-index:2;right:-31px;bottom:-29px;width:39%;height:36%;object-fit:cover;border:7px solid #fff;background:#fff;box-shadow:0 15px 35px rgba(8,37,54,.16)}
.page-services #sanitarios .service-detail__secondary{object-fit:contain}
.page-services .service-detail__image-note{position:absolute;z-index:3;top:13px;right:13px;background:rgba(9,32,46,.76);padding:7px 10px;color:#fff;font:500 .62rem var(--head);letter-spacing:.02em}
.page-services .service-detail:nth-of-type(odd) .service-detail__media{margin-right:0;margin-left:31px}
.page-services .service-detail:nth-of-type(odd) .service-detail__secondary{right:auto;left:-31px}
.page-services .service-detail__copy p{font-size:1rem}
.page-services .service-detail__copy li{font-size:.92rem}
.page-projects .gallery-card img[src*="plano-"]{object-fit:cover;object-position:center;background:#f4f6f5}
.history{background:#fff}
.history__grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(55px,7vw,115px);align-items:center}
.history__visual{position:relative;height:540px}
.history__visual img:first-child{width:83%;height:65%;object-fit:cover;object-position:center;background:#f4f5f4}
.history__visual img:last-child{position:absolute;right:0;bottom:0;width:72%;height:58%;object-fit:cover;border:9px solid #fff;box-shadow:0 22px 45px rgba(11,46,65,.13)}
.history__copy h2{font-size:clamp(2.2rem,3.1vw,3.2rem);font-weight:400;color:var(--deep);line-height:1.15;margin:17px 0 28px}
.history__copy p{font-size:1rem;line-height:1.75;color:#52616b;margin:0 0 18px}
.history__copy p:last-child{font-weight:600;color:var(--teal);font-size:.9rem}
.purpose{background:#f1f4f4}
.purpose__head{text-align:center;margin-bottom:40px}
.purpose__head .eyebrow i{display:none}
.purpose__head h2{font-size:clamp(2.1rem,3vw,3rem);color:var(--deep);font-weight:400;margin:13px 0 0}
.purpose__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.purpose__grid article{background:#fff;border-top:3px solid var(--gold);padding:clamp(34px,4vw,58px);min-height:365px}
.purpose__grid article>span{font:600 .7rem var(--head);letter-spacing:.1em;color:var(--teal)}
.purpose__grid h3{font-size:clamp(1.75rem,2.2vw,2.3rem);font-weight:400;color:var(--navy);margin:25px 0 22px}
.purpose__grid p{font-size:1rem;line-height:1.78;color:#4e5e67;margin:0}
.directory{background:#fff}
.directory__head{text-align:center;max-width:720px;margin:0 auto 45px}
.directory__head .eyebrow i{display:none}
.directory__head h2{font-size:clamp(2.2rem,3.1vw,3.2rem);font-weight:400;color:var(--deep);margin:15px 0}
.directory__head p{font-size:1rem;line-height:1.7;color:var(--muted);margin-inline:auto}
.directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.directory__grid article{background:#f5f7f7;border-bottom:3px solid var(--teal);padding:clamp(29px,3.2vw,45px);min-height:300px;display:flex;flex-direction:column}
.directory__number{font:300 2.1rem var(--head);color:#89a9b6;line-height:1}
.directory__grid h3{font-size:clamp(1.3rem,1.9vw,1.85rem);font-weight:500;color:var(--deep);line-height:1.25;margin:36px 0 16px}
.directory__grid p{font-size:.96rem;font-weight:600;line-height:1.45;color:var(--teal);margin:0 0 8px}
.directory__grid small{font-size:.79rem;line-height:1.55;color:#667780;margin-top:auto}
.page-contact .contact__info{gap:27px}
.page-contact .contact__info>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.page-contact .contact__info address{font:500 clamp(1.08rem,1.6vw,1.4rem)/1.4 var(--head);font-style:normal;color:var(--deep)}
.page-contact .contact__info a{font-size:clamp(1.02rem,1.4vw,1.27rem)}
.has-motion .expanded-home__card,.has-motion .history__visual,.has-motion .history__copy,.has-motion .purpose__grid article,.has-motion .directory__grid article{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.has-motion .expanded-home__card.is-visible,.has-motion .history__visual.is-visible,.has-motion .history__copy.is-visible,.has-motion .purpose__grid article.is-visible,.has-motion .directory__grid article.is-visible{opacity:1;transform:none}
@media(max-width:1100px){
  .expanded-home__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .expanded-home__card>img{height:215px}
  .page-services .service-jump{position:relative;top:auto}
  .page-services .service-detail{scroll-margin-top:95px}
}
@media(max-width:760px){
  .expanded-home{padding:68px 0 76px}
  .history__grid{grid-template-columns:1fr;gap:45px}
  .history__visual{height:430px;max-width:650px;width:100%;margin-inline:auto}
  .purpose__grid{grid-template-columns:1fr}
  .purpose__grid article{min-height:0}
  .directory__grid{grid-template-columns:1fr}
  .directory__grid article{min-height:0}
  .directory__grid h3{margin-top:25px}
  .page-services .service-jump .container{display:flex;grid-template-columns:none}
  .page-services .service-detail:nth-of-type(odd) .service-detail__media,.page-services .service-detail__media{margin:0 0 30px}
  .page-services .service-detail__secondary,.page-services .service-detail:nth-of-type(odd) .service-detail__secondary{right:5px;left:auto;bottom:-22px;width:40%;height:34%;border-width:5px}
}
@media(max-width:520px){
  .topbar__inner{justify-content:center}
  .topbar__mail{display:none!important}
  .topbar__whatsapp{margin:0;font-size:.64rem}
  .expanded-home__grid{grid-template-columns:1fr}
  .expanded-home__card>img{height:210px}
  .expanded-home__body strong{min-height:0}
  .history__visual{height:330px}
  .history__visual img:first-child{width:88%;height:66%}
  .history__visual img:last-child{width:75%;height:55%;border-width:6px}
  .history__copy h2{font-size:2.15rem}
  .purpose__grid article{padding:32px 27px}
  .purpose__grid p{font-size:.94rem}
  .directory__grid article{padding:29px 25px}
  .page-services .service-detail__secondary,.page-services .service-detail:nth-of-type(odd) .service-detail__secondary{width:42%;height:32%;right:4px}
}
@media(prefers-reduced-motion:reduce){
  .expanded-home__card{transition:none}
  .has-motion .expanded-home__card,.has-motion .history__visual,.has-motion .history__copy,.has-motion .purpose__grid article,.has-motion .directory__grid article{opacity:1;transform:none}
}
.office-location{background:#edf2f1}
.office-location__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);min-height:500px;box-shadow:0 18px 45px rgba(10,48,63,.1)}
.office-location__details{display:flex;flex-direction:column;align-items:flex-start;background:var(--deep);padding:clamp(34px,4.5vw,68px);color:#f0f6f6}
.office-location__details .eyebrow{color:#d9bc78}
.office-location__details h2{font-size:clamp(2.25rem,3.25vw,3.35rem);font-weight:500;line-height:1.12;color:#fff;margin:25px 0 36px}
.office-location__details address{font:500 clamp(1.15rem,1.55vw,1.5rem)/1.4 var(--head);font-style:normal;color:#fff}
.office-location__details address small{display:block;font:400 .87rem/1.5 var(--body);color:#bdd3d8;margin-top:8px}
.office-location__details p{max-width:33ch;color:#d4e0e2;line-height:1.65;margin:27px 0 0}
.office-location__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:auto;padding-top:35px}
.office-location__actions .button{white-space:nowrap;background:#d8ba77;color:#12394d}
.office-location__actions .button:hover{background:#edcf8b;color:#12394d}
.office-location__map-link{font:600 .83rem var(--head);color:#e7f1f2;text-decoration:underline;text-underline-offset:5px}
.office-location__map-link:hover{color:#d9bc78}
.office-location__map{min-height:500px;background:#d9e5e2}
.office-location__map iframe{display:block;width:100%;height:100%;min-height:500px;border:0}
@media(max-width:760px){
  .office-location__grid{grid-template-columns:1fr}
  .office-location__details{min-height:390px}
  .office-location__map,.office-location__map iframe{min-height:380px}
}
@media(max-width:520px){
  .office-location__details{min-height:0;padding:33px 26px 36px}
  .office-location__details h2{font-size:2.25rem;margin:20px 0 27px}
  .office-location__actions{align-items:flex-start;flex-direction:column;gap:20px;padding-top:29px;width:100%}
  .office-location__actions .button{width:100%;justify-content:center}
  .office-location__map,.office-location__map iframe{min-height:350px}
}
.office-showcase{background:#f1f4f2;overflow:hidden}
.office-showcase__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(64px,8vw,120px);align-items:center}
.office-showcase__visual{position:relative;min-height:640px;margin:0 40px 34px 0}
.office-showcase__main{display:block;width:100%;height:640px;object-fit:cover;object-position:center 47%}
.office-showcase__detail{position:absolute;right:-40px;bottom:-34px;width:40%;height:245px;object-fit:cover;object-position:center 68%;border:8px solid #f1f4f2;box-shadow:0 18px 35px rgba(9,39,53,.18)}
.office-showcase__photo-label{position:absolute;left:0;top:0;padding:14px 18px;background:#0d5178;color:#fff;font:600 .66rem var(--head);letter-spacing:.14em}
.office-showcase__copy{max-width:600px;padding-right:70px}
.office-showcase__copy h2{color:var(--deep);font-size:clamp(2.55rem,4.25vw,4.35rem);font-weight:500;line-height:1.11;margin:22px 0 27px}
.office-showcase__copy>p{max-width:47ch;font-size:1.12rem;line-height:1.75;color:#536b75;margin:0}
.office-showcase__copy address{font:600 1rem/1.5 var(--head);font-style:normal;color:var(--teal);border-top:1px solid #c9d6d4;margin:33px 0 0;padding-top:25px}
.office-showcase__actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:32px}
.office-showcase__actions .button{background:#0d5178;color:#fff}
.office-showcase__actions .button:hover{background:#0a3c5c}
.office-showcase__whatsapp{font:600 .84rem var(--head);color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.office-showcase__whatsapp:hover{color:var(--deep)}
@media(max-width:900px){
  .office-showcase__grid{gap:48px}
  .office-showcase__visual{min-height:520px}
  .office-showcase__main{height:520px}
  .office-showcase__detail{height:205px}
  .office-showcase__copy{padding-right:0}
}
@media(max-width:760px){
  .office-showcase__grid{grid-template-columns:1fr;gap:50px}
  .office-showcase__visual{min-height:440px;margin:0 24px 0 0}
  .office-showcase__main{height:440px}
  .office-showcase__detail{right:-24px;bottom:-22px;width:34%;height:175px;border-width:6px}
  .office-showcase__copy{max-width:none}
}
@media(max-width:520px){
  .office-showcase__grid{gap:46px}
  .office-showcase__visual{min-height:390px;margin-right:16px}
  .office-showcase__main{height:390px}
  .office-showcase__detail{right:-16px;bottom:-16px;width:42%;height:142px;border-width:5px}
  .office-showcase__photo-label{font-size:.57rem;padding:11px 13px}
  .office-showcase__copy h2{font-size:clamp(2.35rem,9vw,3rem);margin:20px 0 22px}
  .office-showcase__copy>p{font-size:1rem}
  .office-showcase__actions{align-items:flex-start;flex-direction:column;gap:22px}
}

/* Portada: títulos, subtítulos y acreditación MINVU. */
.hero__lead{max-width:760px!important;margin:18px auto 0!important;color:#f1f5f4!important;font-size:clamp(1rem,1.5vw,1.28rem)!important;line-height:1.5!important;font-weight:400;text-wrap:balance}
.hero__copy .hero__actions{margin-top:clamp(32px,4.6vw,64px)}
.hero__scene--minvu{background:radial-gradient(circle at 50% 28%,#215b78 0%,#0f354d 49%,#071c2b 100%)}
.hero__scene--minvu::before{background-image:linear-gradient(120deg,transparent 46%,rgba(255,255,255,.055) 46.1%,transparent 46.4%),linear-gradient(20deg,transparent 55%,rgba(255,255,255,.04) 55.1%,transparent 55.4%);transform:none}
.hero__scene--minvu::after{background:linear-gradient(180deg,rgba(3,17,27,.2),rgba(3,17,27,.28))}
.hero__scene--minvu h2{font-size:clamp(2.45rem,3.65vw,3.95rem)}
.hero__minvu-mark{width:138px;margin:28px auto 0;padding:5px;background:#fff;box-shadow:0 18px 48px rgba(0,0,0,.26)}
.hero__minvu-mark img{display:block;width:100%;height:auto}
.hero__scene--minvu .hero__actions{margin-top:29px}
@media(max-width:680px){
  .hero__lead{font-size:clamp(.96rem,3.8vw,1.1rem)!important;line-height:1.45!important;margin-top:17px!important}
  .hero__copy .hero__actions{margin-top:31px}
  .hero__scene--minvu h2{font-size:clamp(1.9rem,7vw,2.65rem)}
  .hero__minvu-mark{width:96px;margin-top:19px;padding:4px}
  .hero__scene--minvu .hero__actions{margin-top:21px}
}

.page-projects .inner-hero__rule{margin-top:20px;margin-bottom:20px}
.about-intro .eyebrow{text-transform:none}
