*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f3;color:#20211f;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}.wrap{max-width:1480px;margin:auto;padding-left:6%;padding-right:6%}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:#f6f6f3;position:sticky;top:0;z-index:20;border-bottom:1px solid #e4e5e0}.brand,.footer-brand{font:700 28px Manrope,sans-serif;letter-spacing:-1.7px}.brand span,.footer-brand span{font-weight:400;margin-left:5px}.topbar nav{display:flex;gap:35px}.topbar nav a,.menu-toggle{font-size:10px;letter-spacing:1.7px;font-weight:600}.topbar nav a:hover{opacity:.5}.menu-toggle{display:none;background:none;border:0}.hero{height:min(850px,calc(100vh - 86px));min-height:580px;position:relative;color:white;overflow:hidden}.hero>img{height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.51),rgba(0,0,0,.05) 75%),linear-gradient(0deg,rgba(0,0,0,.24),transparent 30%)}.hero-content{position:absolute;left:6%;top:24%}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.6px;font-weight:600}.light{color:white}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(48px,6.4vw,108px);line-height:1.08;font-weight:400;letter-spacing:-5px;margin:30px 0 45px}.arrow-link{font-size:11px;letter-spacing:1.8px;border-bottom:1px solid currentColor;padding-bottom:14px;display:inline-flex;gap:70px}.arrow-link span{font-size:20px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.intro{padding-top:150px;padding-bottom:150px;display:grid;grid-template-columns:1fr 2fr;gap:80px}.intro h2,.services h2,.sustain h2,.contact h2,.section-head h2{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:-2.5px;line-height:1.14}.intro h2{font-size:clamp(38px,4.2vw,65px);margin:0 0 35px}.intro p{max-width:760px;line-height:1.85;color:#646660;font-size:15px}.intro .lead{font-size:18px;color:#363834}.projects-section{background:#eaeae5;padding:115px 0 135px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-head h2{font-size:clamp(39px,4.8vw,72px);margin:23px 0 0}.section-head p{font-size:13px;color:#777;max-width:250px;line-height:1.7}.period{color:#9faaa1}.filters{display:flex;flex-wrap:wrap;gap:28px;margin:65px 0 36px;border-bottom:1px solid #cdcec9;padding-bottom:19px}.filter{border:0;background:none;color:#8a8d87;cursor:pointer;padding:0 0 8px;font-size:10px;letter-spacing:1.7px}.filter.active{color:#161916;border-bottom:1px solid #161916}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 24px}.project-card{cursor:pointer;min-width:0}.project-card .image-wrap{overflow:hidden;background:#d6d7d1;aspect-ratio:1.52}.project-card img{height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.045)}.project-meta{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-top:18px}.project-meta h3{font-size:18px;font-weight:500;margin:0 0 7px}.project-meta small{font-size:10px;color:#8b8e88;letter-spacing:1.3px;text-transform:uppercase}.project-meta b{font-size:20px;font-weight:300}.sustain{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.sustain-photo img{height:100%;object-fit:cover}.sustain-copy{background:#e0e5de;padding:clamp(65px,8vw,140px) 12%}.sustain h2{font-size:clamp(42px,4vw,65px);margin:45px 0 30px}.sustain p{line-height:1.85;font-size:15px;color:#565e56;max-width:600px}.sustain-points{margin:45px 0}.sustain-points div{padding:15px 0;border-top:1px solid #b7bfb6;font-size:15px}.sustain-points span{font-size:10px;margin-right:28px;color:#7b857a}.sustain p.small{font-size:12px}.services{padding-top:150px;padding-bottom:160px}.services h2{font-size:clamp(40px,5vw,76px);margin:35px 0 80px}.service-list{border-top:1px solid #c9cac5}.service-list>div{display:grid;grid-template-columns:70px 1fr 1fr;align-items:start;gap:20px;border-bottom:1px solid #c9cac5;padding:34px 0}.service-list span{font-size:12px;color:#92958f}.service-list h3{font-size:24px;font-weight:400;margin:0}.service-list p{font-size:14px;line-height:1.7;color:#777;margin:0;max-width:330px}.contact{background:#272c28;color:white;padding:125px 0 140px}.contact h2{font-size:clamp(43px,6vw,90px);margin:35px 0 70px}.contact-links{display:flex;gap:50px;flex-wrap:wrap}.contact-links a{font-size:12px;letter-spacing:1px;border-bottom:1px solid #7c847e;padding-bottom:12px}footer{padding:42px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span{font-size:10px;letter-spacing:1.3px;color:#777}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(15,18,16,.96);display:none;align-items:center;justify-content:center;flex-direction:column;padding:60px 5% 40px;color:white}.lightbox.open{display:flex}.lightbox img{width:auto;max-width:100%;max-height:78vh;object-fit:contain}.lightbox button{position:absolute;top:25px;right:35px;background:none;color:white;border:0;font-size:25px;cursor:pointer}.lightbox div{padding-top:20px;font-size:12px;letter-spacing:1px}@media(max-width:850px){.topbar{height:70px}.menu-toggle{display:block}.topbar nav{display:none;position:absolute;top:70px;left:0;right:0;background:#f6f6f3;padding:28px 6%;flex-direction:column;gap:25px}.topbar nav.open{display:flex}.hero{min-height:550px;height:75vh}.hero h1{letter-spacing:-2px}.intro{grid-template-columns:1fr;gap:35px;padding-top:90px;padding-bottom:90px}.projects-section{padding:80px 0}.sustain{grid-template-columns:1fr}.sustain-photo{height:400px}.sustain-copy{padding:75px 7%}.services{padding-top:90px;padding-bottom:90px}.service-list>div{grid-template-columns:35px 1fr}.service-list p{grid-column:2}.section-head{align-items:start;flex-direction:column}.section-head p{max-width:100%}footer{flex-wrap:wrap}}@media(max-width:560px){.wrap{padding-left:5%;padding-right:5%}.hero-content{left:5%;top:28%}.hero-bottom{left:5%;right:5%;font-size:8px}.hero-bottom span{display:none}.hero h1{font-size:47px}.project-grid{grid-template-columns:1fr}.filters{gap:18px}.section-head h2{letter-spacing:-1.5px}.contact-links{flex-direction:column;gap:24px}.service-list h3{font-size:20px}}
.certifications{padding-top:100px;padding-bottom:110px}.certifications h2{font-size:clamp(32px,4vw,58px);letter-spacing:-.04em;line-height:1.1;margin:20px 0}.cert-intro{max-width:650px;color:#666;margin-bottom:45px}.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cert-item{display:flex;flex-direction:column;gap:16px;padding:35px 28px;border:1px solid #ddd;text-decoration:none;color:inherit;transition:background .2s}.cert-item:hover{background:#f6f6f4}.cert-mark{width:104px;height:104px;display:grid;place-items:center;border:2px solid #292929;font:700 29px Manrope,sans-serif;letter-spacing:-.06em;color:#292929}.cert-item h3{font-size:20px;line-height:1.3;margin:6px 0 0}.cert-item p{color:#666;font-size:14px;line-height:1.6;flex:1}.cert-item span{font-size:11px;letter-spacing:.1em}.cert-note{font-size:12px;color:#777;margin-top:22px;line-height:1.5}@media(max-width:760px){.cert-grid{grid-template-columns:1fr}.certifications{padding-top:65px;padding-bottom:65px}}

/* Seis imágenes destacadas en la portada */
.home-gallery{padding-top:110px;padding-bottom:40px}.home-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px}.home-gallery-heading h2{font:400 clamp(32px,4.2vw,64px)/1.12 Manrope,sans-serif;letter-spacing:-.05em;margin:19px 0 0}.home-gallery-link{font-size:10px;letter-spacing:1.4px;border-bottom:1px solid #666;padding-bottom:10px;white-space:nowrap}.home-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-gallery-item{position:relative;display:block;overflow:hidden;aspect-ratio:1.25;background:#e5e6e2}.home-gallery-item img{height:100%;object-fit:cover;transition:transform .5s}.home-gallery-item:hover img{transform:scale(1.045)}.home-gallery-item::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.38));pointer-events:none}.home-gallery-item span{position:absolute;bottom:18px;left:20px;z-index:1;color:#fff;font-size:11px;letter-spacing:1.3px}@media(max-width:850px){.home-gallery{padding-top:70px}.home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:560px){.home-gallery-heading{align-items:start;flex-direction:column}.home-gallery-grid{grid-template-columns:1fr}.home-gallery-item{aspect-ratio:1.55}}

/* Portada: seis imágenes en carrusel de pantalla completa */
.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}.hero-slide.active{opacity:1}.hero-controls{position:absolute;right:6%;bottom:80px;display:flex;gap:8px;z-index:3}.hero-controls button{width:43px;height:43px;border:1px solid rgba(255,255,255,.7);background:rgba(20,20,20,.18);color:white;cursor:pointer;font-size:21px;transition:background .2s}.hero-controls button:hover{background:rgba(20,20,20,.6)}.hero-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.25)}.hero-progress span{display:block;height:100%;width:0;background:#fff}.hero-content,.hero-bottom{z-index:2}.hero-shade{z-index:1;pointer-events:none}@media(max-width:560px){.hero-controls{right:5%;bottom:75px}.hero-controls button{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

.works-section{background:#f1f0ed;padding-top:85px;padding-bottom:85px}.works-section .project-grid{margin-top:30px}

/* Portada actualizada: mostrar la totalidad de cada fotografía, sin recortes. */
.hero{background:#171a18;}
.hero-slides{background:#171a18;}
.hero-slide{object-fit:contain!important;object-position:center center!important;}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 55%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 24%);}
@media(max-width:850px){.hero{min-height:0;height:calc(100svh - 70px);}}

/* Certificado completo sin recortes */
.sustain-photo {background:#fff;display:flex;align-items:center;justify-content:center;padding:30px;}
.sustain-photo img {width:100%;height:100%;max-height:780px;object-fit:contain;}

/* Identificadores visuales de los tres sistemas */
.cert-symbol{display:flex;align-items:center;justify-content:center;height:112px;width:100%;margin-bottom:18px;background:#f8faf7;border:1px solid #edf0e9}
.cert-logo{width:174px;max-width:75%;height:90px;display:block}

/* WhatsApp contact shortcut */
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#248b5a;color:white;box-shadow:0 5px 20px #0003;z-index:1000;transition:transform .2s,background .2s}
.whatsapp-float:hover{transform:translateY(-3px);background:#1c754b}
.whatsapp-float svg{width:28px;height:28px}
.whatsapp-float:focus-visible{outline:3px solid #111;outline-offset:3px}
@media(max-width:600px){.whatsapp-float{right:16px;bottom:16px;width:50px;height:50px}}

/* Version 13: fondo perla solo en Oficina */
.pearl-office{background:#f1eee8;max-width:none;width:100%;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2));}
.pearl-office .office-layout{max-width:1240px;margin:auto;width:100%;}

/* Versión 15: conservar texto de Oficina en una línea horizontal en escritorio */
@media(min-width:1100px){.pearl-office .office-layout{display:block}.pearl-office .section-kicker{margin-bottom:30px}.pearl-office h2{font-size:clamp(24px,2.2vw,30px);line-height:1.35;letter-spacing:-.025em;white-space:nowrap;max-width:none}.pearl-office .office-layout>div:last-child{max-width:none}}
@media(max-width:1099px){.pearl-office h2{white-space:normal}}

/* Versión 16: portada de registro de obra 03 y carpeta de obras en ejecución */
.works-cover{position:relative;margin:28px 0 68px;min-height:460px;overflow:hidden;background:#e8e6e1;}
.works-cover>img{display:block;width:100%;height:clamp(460px,60vw,700px);object-fit:cover;object-position:center;}
.works-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.12) 65%,transparent);pointer-events:none;}
.works-cover-text{position:absolute;z-index:1;left:clamp(25px,6vw,90px);bottom:clamp(28px,6vw,80px);max-width:610px;color:#fff;}
.works-cover-text span{font-size:12px;letter-spacing:.2em;}
.works-cover-text h2{font-size:clamp(36px,5.5vw,72px);line-height:1.05;margin:18px 0;}
.works-cover-text p{font-size:clamp(14px,1.4vw,18px);line-height:1.5;}
.works-cover-link{display:inline-block;margin-top:22px;padding:12px 0;border-bottom:1px solid #fff;color:#fff;text-decoration:none;letter-spacing:.12em;font-size:12px;}
.works-folder{scroll-margin-top:110px;}
@media(max-width:650px){.works-cover{margin-bottom:44px}.works-cover>img{height:510px}.works-cover:after{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 80%)}.works-cover-text{left:24px;right:24px;bottom:30px}}

/* Logotipo oficial entregado por SAXTON ARQ: conservar imagen original y proporciones */
.brand img{display:block;width:155px;max-width:100%;height:auto;object-fit:contain}
.footer-brand img{display:block;width:190px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.brand img{width:128px}.footer-brand img{width:160px}}

/* V18: exact client logo with alpha backdrop; pearl header unchanged */
.brand img,.footer-brand img{background:transparent!important;}
/* V18: hero phrase 10% smaller at each breakpoint. */
.hero h1{font-size:clamp(43.2px,5.76vw,97.2px);}
@media(max-width:560px){.hero h1{font-size:42.3px;}}
/* V18: archive photography without arbitrary cropping. */
.works-section .project-card .image-wrap{height:290px;background:#f5f4f0;display:flex;align-items:center;justify-content:center;}
.works-section .project-card .image-wrap img{width:100%;height:100%;object-fit:contain;}
.works-cover>img{object-fit:contain;background:#d7d6d1;}
/* Authentic certifying bodies' images; references are not certifications for the studio. */
.official-logo-area{min-height:150px;padding:4px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;}
.official-logo{width:auto;max-width:190px;max-height:116px;height:auto;object-fit:contain;margin:0 auto;}
.official-logo.cev-logo{max-height:116px;}
.logo-origin{color:#7a7d77;font-size:10px;letter-spacing:.03em;text-align:center;}
