/* ===== TALLER DE CONSTRUCCION — style.css v3.0 ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Open Sans",sans-serif;color:#222;background:#fff;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block;image-orientation:from-image}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:root{--y:#F1B434;--dk:#111;--bk:#0d0d0d;--gr:#898D8D}

.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.07);transition:background .3s}
.navbar.sc{background:rgba(0,0,0,.98)}
.nb{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo-img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a{color:rgba(255,255,255,.85);font-size:.9rem;font-weight:500;transition:color .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--y)}
.nav-cta{background:var(--y)!important;color:var(--dk)!important;padding:9px 22px;border-radius:4px;font-weight:700!important}
.nav-cta:hover{background:#d99f20!important}
.mtog{display:none;background:none;border:none;cursor:pointer;padding:4px;z-index:101}
.mtog span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:all .3s}

/* BOTONES */
.btn-y{display:inline-block;padding:13px 32px;background:var(--y);color:var(--dk);border-radius:4px;font-weight:700;font-size:.95rem;transition:background .2s}
.btn-y:hover{background:#d99f20}
.btn-dk{display:inline-block;padding:14px 32px;background:var(--dk);color:#fff;border-radius:4px;font-weight:700;font-size:.95rem;border:2px solid var(--dk);transition:all .25s}
.btn-dk:hover{background:#333}
.btn-outline{display:inline-block;padding:13px 32px;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);border-radius:4px;font-weight:600;font-size:.95rem;transition:all .2s}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-full{width:100%;text-align:center}

/* LABEL */
.label{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--y);margin-bottom:10px}
.label--y{color:var(--y)}

/* SEC HEADER */
.sec-hd{text-align:center;margin-bottom:56px}
.sec-hd h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:1.2;margin-top:8px}
.sec-hd--light h2{color:#fff}
.sec-hd--light .label{color:var(--y)}

/* HERO */
.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-bg video,.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-ov{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.4) 100%)}
.hero-ct{position:relative;z-index:2;max-width:800px}
.hero-sub{color:var(--y);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin-bottom:16px}
.hero-ct h1{color:#fff;font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;margin-bottom:20px;font-weight:700}
.hero-desc{color:rgba(255,255,255,.85);font-size:1.15rem;margin-bottom:36px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}

/* PAGE HERO */
.page-hero{position:relative;height:380px;display:flex;align-items:flex-end;padding-bottom:60px;margin-top:70px;background-size:cover;background-position:center}
.ph-ov{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.ph-ct{position:relative;z-index:2}
.ph-ct h1{color:#fff;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:12px;line-height:1.15}
.ph-ct p{color:rgba(255,255,255,.8);font-size:1.05rem;max-width:600px}

/* INTRO */
.intro{padding:100px 0}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.intro-img img{border-radius:8px;width:100%;aspect-ratio:4/3;object-fit:cover}
.intro-txt h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:20px;line-height:1.2}
.intro-txt p{color:#555;margin-bottom:16px;font-size:1.02rem}
.intro-txt .btn-y{margin-top:12px}

/* SERVICIOS HOME */
.servicios-home{padding:100px 0;background:#f8f8f8}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.srv-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.07);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.srv-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.13)}
.srv-img{aspect-ratio:16/9;overflow:hidden}
.srv-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.srv-card:hover .srv-img img{transform:scale(1.06)}
.srv-body{padding:24px;flex:1;display:flex;flex-direction:column}
.srv-body h3{font-size:1.05rem;margin-bottom:10px;font-weight:700}
.srv-body p{color:#666;font-size:.9rem;flex:1}
.srv-link{color:var(--y);font-weight:700;font-size:.88rem;margin-top:16px;display:inline-block}

/* VALORES */
.valores{padding:100px 0;background:var(--bk)}
.val-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-top:16px}
.val-item{text-align:center;padding:32px 16px;background:rgba(255,255,255,.05);border-radius:8px;border:1px solid rgba(255,255,255,.08)}
.val-letra{display:block;font-size:3rem;font-weight:900;color:var(--y);line-height:1;margin-bottom:12px}
.val-item h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.val-item p{color:rgba(255,255,255,.5);font-size:.8rem}

/* PROYECTOS HOME */
.proy-home{padding:100px 0}
.proy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.proy-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;display:block}
.proy-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.proy-thumb:hover img{transform:scale(1.07)}
.proy-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;align-items:flex-end;padding:20px;opacity:0;transition:opacity .3s}
.proy-thumb:hover .proy-ov{opacity:1}
.proy-ov span{color:#fff;font-size:.85rem;font-weight:600}

/* CLIENTES */
.clientes{padding:80px 0;background:#f8f8f8}
.clientes .sec-hd h2{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:400;max-width:700px;margin:8px auto 0}
.clientes .sec-hd h2 strong{font-weight:700}
.cli-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px 48px;margin-top:48px}
.cli-item{opacity:.6;transition:opacity .2s;filter:grayscale(1)}
.cli-item:hover{opacity:1;filter:none}
.cli-item img{height:48px;width:auto;max-width:160px;object-fit:contain}

/* CTA */
.cta{background:var(--y);padding:80px 0;text-align:center}
.cta h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-bottom:14px;line-height:1.2}
.cta p{font-size:1.05rem;margin-bottom:32px;color:rgba(0,0,0,.7)}

/* SERVICIOS PAGE */
.srv-sec{padding:80px 0}
.srv-sec--alt{background:#f8f8f8}
.srv-blk{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.srv-blk--rev .srv-blk-img{order:2}
.srv-blk--rev .srv-blk-txt{order:1}
.srv-blk-img img{border-radius:8px;width:100%;aspect-ratio:4/3;object-fit:cover}
.srv-blk-txt h2{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-bottom:8px;font-weight:700}
.srv-blk-txt h3{font-size:1rem;color:var(--gr);margin-bottom:20px;font-weight:600}
.srv-blk-txt p{color:#555;margin-bottom:14px}
.srv-list{margin:20px 0 28px;display:flex;flex-direction:column;gap:8px}
.srv-list li{padding:8px 14px;background:#fff;border-left:3px solid var(--y);border-radius:0 4px 4px 0;font-size:.9rem;color:#333}
.srv-sec--alt .srv-list li{background:#fff}

/* NOSOTROS PAGE */
.nosotros-sec{padding:80px 0}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.nos-img img{border-radius:8px;width:100%;aspect-ratio:4/3;object-fit:cover}
.nos-txt h2{font-size:clamp(1.5rem,2.5vw,2.2rem);margin-bottom:20px}
.nos-txt p{color:#555;margin-bottom:14px}
.nos-pilares{padding:60px 0;background:#f8f8f8}
.nos-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.nos-card{background:#fff;padding:32px;border-radius:8px;border-top:4px solid var(--y)}
.nos-card h3{font-size:1.1rem;margin-bottom:12px;font-weight:700}
.nos-card p{color:#555;font-size:.95rem}
.equipo{padding:80px 0}
.eq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:700px;margin:0 auto}
.eq-card{text-align:center;padding:40px 24px;background:#f8f8f8;border-radius:8px}
.eq-avatar{width:80px;height:80px;background:var(--y);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;color:var(--dk);margin:0 auto 16px}
.eq-card h3{font-size:1.2rem;font-weight:700;margin-bottom:4px}
.eq-rol{color:var(--y);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.eq-card p{color:#555;font-size:.9rem}

/* CONTACTO PAGE */
.contacto-sec{padding:80px 0}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contacto-info h2{font-size:1.8rem;margin-bottom:8px}
.contacto-info>p{color:#666;margin-bottom:32px}
.ci-item{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}
.ci-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}
.ci-item strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#999;margin-bottom:4px}
.ci-item p,.ci-item a{color:#333;font-size:.95rem}
.ci-item a:hover{color:var(--y)}
.mapa{margin-top:32px;border-radius:8px;overflow:hidden}
.contacto-form h2{font-size:1.8rem;margin-bottom:28px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:#444}
.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:4px;font-family:inherit;font-size:.95rem;transition:border-color .2s;background:#fff}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--y)}
.form-group textarea{resize:vertical}
.form-check{display:flex;align-items:flex-start;gap:10px}
.form-check input{width:auto;margin-top:3px;flex-shrink:0}
.form-check label{font-size:.85rem;color:#555}
.form-check a{color:var(--y)}

/* FOOTER */
.footer{background:var(--bk);color:rgba(255,255,255,.7);padding:64px 0 0}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:48px}
.fc>p{font-size:.88rem;color:rgba(255,255,255,.5);max-width:240px}
.fc h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.fc ul li{margin-bottom:8px}
.fc ul a,.fc>p a{font-size:.88rem;color:rgba(255,255,255,.5);transition:color .2s}
.fc ul a:hover,.fc>p a:hover{color:var(--y)}
.flogo{height:36px;width:auto;margin-bottom:16px}
.fb2{border-top:1px solid rgba(255,255,255,.08);padding:18px 0}
.fb2 .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.fb2 p{font-size:.78rem;color:rgba(255,255,255,.3)}
.fb2 a{color:rgba(255,255,255,.35);transition:color .2s}
.fb2 a:hover{color:var(--y)}

/* RESPONSIVE */
@media(max-width:1024px){
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .val-grid{grid-template-columns:repeat(3,2fr)}
  .fg{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .mtog{display:block}
  .nav-links{display:none;flex-direction:column;position:fixed;top:70px;left:0;right:0;background:rgba(0,0,0,.98);padding:24px;gap:20px;border-top:1px solid rgba(255,255,255,.1);z-index:99}
  .nav-links.open{display:flex}
  .intro-grid,.srv-blk,.nos-grid,.contacto-grid{grid-template-columns:1fr;gap:40px}
  .srv-blk--rev .srv-blk-img,.srv-blk--rev .srv-blk-txt{order:unset}
  .srv-grid,.proy-grid,.nos-cards{grid-template-columns:1fr}
  .val-grid{grid-template-columns:repeat(2,1fr)}
  .eq-grid{grid-template-columns:1fr}
  .fg{grid-template-columns:1fr 1fr}
  .hero-btns{flex-direction:column;gap:12px}
}
@media(max-width:480px){
  .fg{grid-template-columns:1fr}
  .val-grid{grid-template-columns:1fr}
  .hero{min-height:100dvh}
}
/* Fix fotos giradas EXIF */
.pcard-img img, .srv-img img, .intro-img img, .nos-img img, .srv-blk-img img, .proy-thumb img { image-orientation: from-image; }