/* Jerarquía más expresiva y un pase de fotografías reales. */
:root{--blue:#095ca9;--cyan:#39bde9;--ink:#112e4c}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif}
h2{font-size:clamp(2.7rem,4.2vw,4.35rem);font-weight:700;line-height:1.12;letter-spacing:-.055em}
.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.17em}
.main-nav{font-size:.84rem;font-weight:700}
.hero-image:after{background:linear-gradient(90deg,rgba(2,23,49,.95) 0%,rgba(2,23,49,.78) 30%,rgba(2,23,49,.23) 70%,rgba(2,23,49,.02) 100%)}
.hero-copy-inner{max-width:790px}
.hero .eyebrow{display:flex;align-items:center;gap:15px;color:#80d9f3;font-size:clamp(.88rem,1.05vw,1.02rem);font-weight:800;letter-spacing:.14em;margin-bottom:30px}
.hero .eyebrow:before{content:"";display:block;width:5px;height:31px;background:var(--cyan);flex:none}
.hero h1{font-size:clamp(3.6rem,5.4vw,5.65rem);font-weight:700;line-height:1.06;letter-spacing:-.062em;max-width:800px;margin-bottom:30px}
.hero h1 em{color:#58d0f0}
.hero-lead{font-size:clamp(1.17rem,1.6vw,1.42rem);font-weight:500;line-height:1.55;max-width:610px}
.hero-actions .button{min-height:59px;font-size:.98rem;font-weight:800;padding-inline:30px}
.hero-actions .text-link{font-size:.97rem;font-weight:700}
.editorial-heading{max-width:1050px}
.editorial-heading>p:last-child{font-size:1.2rem}
.areas-grid{gap:0;border-top:1px solid #bfd7e5;border-bottom:1px solid #bfd7e5}
.area-card{padding:37px clamp(24px,3.5vw,56px) 44px;border-left:1px solid #d4e2eb;min-height:315px}
.area-card:first-child{border-left:0;padding-left:0}
.area-body{position:static;padding:0}
.area-icon{position:static;width:92px;height:92px;display:grid;place-items:center;border:1px solid #a9d8ec;border-radius:50%;background:#e5f5fb;color:#07578e;box-shadow:none;margin:0 0 28px}
.area-icon svg{width:49px;height:49px;stroke-width:1.8}
.area-card:nth-child(2) .area-icon{background:#edf2fb;border-color:#bed0ec;color:#135aaf}
.area-card:nth-child(3) .area-icon{background:#e7f7f4;border-color:#a8d9d0;color:#077a74}
.area-body h3{font-size:clamp(1.55rem,1.8vw,1.95rem);font-weight:700;line-height:1.2;margin-bottom:12px}
.area-body p{font-size:1.04rem;line-height:1.55}
.real-work{background:#eef4f8}
.real-work-heading{align-items:end}
.real-work-heading h2{max-width:770px}
.real-work-heading>p{font-size:1.08rem;line-height:1.55}
.work-stage{position:relative}
.work-controls{display:none}
.carousel-ready .work-gallery{display:block;position:relative;height:clamp(500px,48vw,650px);overflow:hidden;background:#06294d}
.carousel-ready .work-gallery figure{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;grid-column:auto;grid-row:auto;opacity:0;pointer-events:none;z-index:1;transition:opacity .7s ease}
.carousel-ready .work-gallery figure.is-active{opacity:1;pointer-events:auto;z-index:2}
.carousel-ready .work-gallery figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);transition:transform 6.5s ease}
.carousel-ready .work-gallery figure.is-active img{transform:scale(1)}
.carousel-ready .work-gallery figure.work-portrait{background:linear-gradient(115deg,#082f56 0%,#0c5483 100%)}
.carousel-ready .work-gallery figure.work-portrait img{position:absolute;top:0;right:0;width:55%;height:100%;object-fit:cover;object-position:center 53%}
.carousel-ready .work-gallery figure.work-equipo img{object-position:center 62%}
.carousel-ready .work-gallery figure.work-fachada img{object-position:center 57%}
.carousel-ready .work-gallery figure.work-nave img{object-position:center 49%}
.carousel-ready .work-gallery figure.work-interior img{width:42%;object-position:center 63%}
.carousel-ready .work-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,50,.72),rgba(3,25,50,.08) 65%);pointer-events:none}
.carousel-ready .work-gallery figure.work-portrait:after{background:linear-gradient(90deg,rgba(3,25,50,.12) 25%,rgba(3,25,50,0) 65%)}
.carousel-ready .work-gallery figcaption{z-index:2;right:auto;bottom:47px;left:clamp(30px,5vw,72px);max-width:50%;padding:0;background:none;font-size:clamp(1.75rem,3vw,3.2rem);font-weight:700;line-height:1.13;letter-spacing:-.045em;text-shadow:0 2px 15px rgba(0,0,0,.25)}
.carousel-ready .work-controls{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;right:clamp(20px,3vw,46px);bottom:28px;color:#fff}
.work-count{font-size:.89rem;font-weight:800;letter-spacing:.12em;margin-right:14px;font-variant-numeric:tabular-nums}
.work-controls button{width:49px;height:49px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(3,35,67,.75);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.work-controls button:hover{background:var(--blue);transform:translateY(-2px)}
.work-controls .work-pause{font-size:1.06rem;margin-left:4px}
.figure strong{font-weight:700}
.figures-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:970px}
.intro h2,.siba h2,.clients-heading h2{font-weight:700}
.work-models{background:#f8fbfd;color:var(--ink);border-top:1px solid #dbe8ef}
.work-models-heading{max-width:900px;margin-bottom:clamp(36px,5vw,66px)}
.work-models-heading .eyebrow{color:var(--blue);margin-bottom:18px}
.work-models h2{max-width:920px;margin:0 0 20px;font-size:clamp(2.6rem,4.1vw,4.5rem);line-height:1.09;font-weight:650}
.work-models h2 span{color:#0877bb}
.work-models-heading>p:last-child{max-width:730px;margin:0;color:#52677b;font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.55}
.work-models-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:stretch;gap:clamp(34px,5.5vw,84px)}
.work-models-photo{position:relative;height:620px;margin:0;overflow:hidden;background:#dae7ed}
.work-models-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 51%}
.work-models-photo:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(7,36,65,.22));pointer-events:none}
.work-models-list{display:grid;grid-template-rows:repeat(4,1fr)}
.work-models-list article{display:grid;grid-template-columns:57px minmax(0,1fr);gap:25px;align-content:center;border-bottom:1px solid #c8d9e4;padding:22px 0}
.work-models-list article:first-child{border-top:1px solid #c8d9e4}
.work-models-list svg{width:46px;height:46px;color:#0877bb;margin-top:3px}
.work-models-list article:nth-child(even) svg{color:#20aacf}
.work-models-list h3{margin:0 0 7px;font-size:clamp(1.2rem,1.65vw,1.55rem);font-weight:650;line-height:1.2;letter-spacing:-.035em}
.work-models-list p{margin:0;max-width:620px;color:#52677b;font-size:clamp(.94rem,1.02vw,1.05rem);line-height:1.5}
.work-models-close{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:clamp(37px,5vw,63px);padding-top:27px;border-top:1px solid #c8d9e4}
.work-models-close p{margin:0;font-size:clamp(1.12rem,1.5vw,1.45rem);font-weight:600;line-height:1.35;letter-spacing:-.025em}
.work-models-close .button{flex:none;min-height:54px;padding-inline:25px;font-size:.95rem}
@media(max-width:950px){
  .work-models-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:30px}
  .work-models-photo{height:600px}
  .work-models-list article{grid-template-columns:45px minmax(0,1fr);gap:15px}
  .work-models-list svg{width:38px;height:38px}
}
@media(max-width:1050px){
  .hero h1{font-size:clamp(3.4rem,6vw,4.8rem)}
  .area-card{padding-inline:24px}
  .area-card:first-child{padding-left:0}
  .area-icon{width:80px;height:80px}
  .area-icon svg{width:43px;height:43px}
}
@media(max-width:760px){
  .work-models-grid{grid-template-columns:1fr;gap:25px}
  .work-models-photo{height:360px}
  .work-models-photo img{object-position:center 43%}
  .work-models-list{grid-template-rows:none}
  .work-models-list article{min-height:125px}
  .work-models-close{align-items:flex-start;flex-direction:column}
  h2{font-size:clamp(2.45rem,7vw,3.45rem)}
  .hero-image:after{background:linear-gradient(0deg,rgba(2,23,49,.97),rgba(2,23,49,.68) 52%,rgba(2,23,49,.07) 100%)}
  .hero h1{font-size:clamp(2.8rem,7.5vw,3.65rem);max-width:570px}
  .hero-lead{font-size:1.13rem}
  .areas-grid{display:block}
  .area-card,.area-card:first-child{min-height:0;border-left:0;border-top:1px solid #d4e2eb;padding:30px 0 34px}
  .area-card:first-child{border-top:0}
  .carousel-ready .work-gallery{height:clamp(430px,75vw,540px)}
  .carousel-ready .work-gallery figure.work-portrait img{width:66%}
  .carousel-ready .work-gallery figure.work-interior img{width:55%}
  .carousel-ready .work-gallery figcaption{left:25px;bottom:100px;max-width:70%;font-size:clamp(1.6rem,4vw,2.4rem)}
  .carousel-ready .work-controls{left:24px;right:auto;bottom:22px}
}
@media(max-width:600px){
  .work-models h2{font-size:clamp(2.4rem,9vw,3.2rem)}
  .work-models-photo{height:290px}
  .work-models-list article{grid-template-columns:37px minmax(0,1fr);gap:13px;min-height:0;padding:25px 0}
  .work-models-list svg{width:34px;height:34px}
  .work-models-list h3{font-size:1.24rem}
  .work-models-list p{font-size:.96rem}
  .work-models-close .button{width:100%;justify-content:center}
  .hero,.hero-copy{min-height:730px}
  .hero .eyebrow{font-size:.82rem;gap:11px;letter-spacing:.095em;margin-bottom:23px}
  .hero .eyebrow:before{height:25px;width:4px}
  .hero h1{font-size:clamp(2.35rem,9vw,2.85rem);line-height:1.1;letter-spacing:-.057em;margin-bottom:22px}
  .hero-lead{font-size:1.04rem;line-height:1.56;max-width:360px}
  .hero-actions .button{font-size:.92rem;min-height:55px}
  .hero-actions .text-link{font-size:.88rem}
  .eyebrow{font-size:.75rem}
  .areas-grid{display:block}
  .area-card,.area-card:first-child{min-height:0;border-left:0;border-top:1px solid #d4e2eb;padding:29px 0 32px}
  .area-card:first-child{border-top:0}
  .area-body{display:grid;grid-template-columns:74px minmax(0,1fr);column-gap:19px;align-items:start}
  .area-icon{grid-row:1 / 3;width:74px;height:74px;margin:0}
  .area-icon svg{width:39px;height:39px}
  .area-body h3{font-size:1.6rem}
  .area-body p{grid-column:2;font-size:.98rem}
  .figures-grid{grid-template-columns:1fr}
  .carousel-ready .work-gallery{height:480px}
  .carousel-ready .work-gallery figure.work-portrait img,.carousel-ready .work-gallery figure.work-interior img{width:100%;object-position:center 50%}
  .carousel-ready .work-gallery figure.work-interior img{object-position:center 73%}
  .carousel-ready .work-gallery figure:after{background:linear-gradient(0deg,rgba(3,25,50,.9),rgba(3,25,50,.03) 75%)}
  .carousel-ready .work-gallery figure.work-portrait:after{background:linear-gradient(0deg,rgba(3,25,50,.92),rgba(3,25,50,.02) 77%)}
  .carousel-ready .work-gallery figcaption{left:22px;bottom:96px;max-width:85%;font-size:1.7rem}
  .carousel-ready .work-controls{left:20px;bottom:23px;gap:6px}
  .work-count{font-size:.76rem;margin-right:7px}
  .work-controls button{width:42px;height:42px;font-size:1.25rem}
  .work-controls .work-pause{font-size:.9rem}
  .intro h2{font-size:2.3rem}
}
@media(prefers-reduced-motion:reduce){
  .carousel-ready .work-gallery figure,.carousel-ready .work-gallery figure img,.work-controls button{transition:none;transform:none}
}
