
/* ===== Paleta tomada de la presentación SINCO ===== */
:root{
  --wine:#621920;        /* banner de títulos */
  --red:#ad2a27;         /* chevron rojo */
  --red-deep:#4c1211;    /* sombra del chevron rojo */
  --copper:#c47a45;      /* tonos cobre del logo */
  --graphite:#5d5d5f;    /* chevron gris oscuro */
  --graphite-deep:#282829;
  --silver:#a2a4a5;      /* chevron gris claro */
  --mist:#ececec;        /* fondo de diapositivas */
  --mist-2:#f5f5f5;
  --white:#ffffff;
  --text:#1c1c1d;
  --muted:#5d5d5f;
  --line:#d9d9da;
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{max-width:100%}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-family:"Montserrat",system-ui,sans-serif;background:var(--mist-2);color:var(--text);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:"Montserrat",sans-serif;font-weight:700;line-height:1.15}
.disp{font-family:"Michroma",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.04em}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* Banner de título estilo presentación: franja vino con punta de flecha */
.band{display:inline-block;background:var(--wine);color:#fff;font-family:"Michroma",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.95rem,1.7vw,1.25rem);padding:14px 34px 14px 46px;clip-path:polygon(26px 0,100% 0,100% 100%,26px 100%,0 50%);box-shadow:0 6px 14px rgba(0,0,0,.18)}
.tag{display:inline-block;background:var(--graphite);color:#fff;font-family:"Michroma",sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;line-height:1.45;padding:12px 26px 12px 40px;clip-path:polygon(22px 0,100% 0,100% 100%,22px 100%,0 50%)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:"Michroma",sans-serif;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:15px 28px;transition:.25s;cursor:pointer;border:0}
.btn-primary{background:var(--wine);color:#fff}
.btn-primary:hover{background:var(--red)}
.btn-outline{border:1.5px solid var(--graphite);color:var(--graphite)}
.btn-outline:hover{background:var(--graphite);color:#fff}
.arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

/* Chevrones decorativos (rojo · grafito · plata) */
.chev{position:absolute;top:0;bottom:0;width:150px;pointer-events:none}
.chev i{position:absolute;top:0;bottom:0;width:100%;clip-path:polygon(0 0,40% 0,100% 50%,40% 100%,0 100%,60% 50%)}
.chev i:nth-child(1){background:linear-gradient(90deg,var(--red),var(--red-deep));left:0}
.chev i:nth-child(2){background:linear-gradient(90deg,var(--graphite),var(--graphite-deep));left:40px}
.chev i:nth-child(3){background:linear-gradient(90deg,var(--silver),#8b8d8e);left:80px}

/* ---------- Top bar & nav ---------- */
.topbar{background:var(--graphite-deep);color:#c4c5c6;font-size:.78rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:36px;gap:16px}
.topbar span{white-space:nowrap}
.topbar .sep{opacity:.4;margin:0 10px}
header.nav{position:sticky;top:0;z-index:50;background:rgba(245,245,245,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:82px}
.nav-left{display:flex;align-items:center;gap:22px}
.nav-left .logo img{height:50px;width:auto}
.nav-sub{border-left:3px solid var(--graphite-deep);padding-left:18px;line-height:1.2}
.nav-sub b{display:block;font-weight:500;font-size:.92rem;color:var(--graphite-deep)}
.nav-sub span{font-size:.72rem;color:var(--muted)}
.menu{display:flex;gap:28px;align-items:center}
.menu a{font-weight:600;font-size:.88rem;color:var(--graphite-deep);position:relative;padding:6px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--red);transition:.25s}
.menu a:hover::after{width:100%}
.menu .btn{padding:11px 20px;color:#fff;font-weight:400}
.menu .btn::after{display:none}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--graphite-deep);margin:6px 8px}

/* ---------- Hero (portada de la presentación) ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#eeeeee,#e2e2e2);min-height:640px}
.hero-photo{position:absolute;top:0;bottom:0;right:0;width:64%;background:url(../img/portada.jpg) center/cover no-repeat;clip-path:polygon(0 0,64% 0,82% 50%,64% 100%,0 100%,18% 50%)}
.hero-photo-ghost{position:absolute;top:0;bottom:0;right:0;width:64%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%);background:url(../img/portada.jpg) center/cover no-repeat;opacity:.16;filter:grayscale(1)}
.hero-logo{position:absolute;right:3%;top:50%;transform:translateY(-50%);width:min(38vw,520px);z-index:2;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.hero > .wrap{position:relative;z-index:3;padding-top:90px;padding-bottom:160px}
.hero-content{max-width:470px}
.hero-content .tag{margin-bottom:26px}
.hero h1{font-size:clamp(2rem,3.8vw,3.1rem);color:var(--graphite-deep);margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--wine)}
.hero p{color:var(--muted);font-size:1.05rem}
.hero-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-strip{position:absolute;left:0;right:0;bottom:0;z-index:4;background:var(--graphite-deep);color:#fff}
.hero-strip::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red),var(--wine) 40%,var(--graphite) 70%,var(--silver))}
.hero-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:22px 18px;border-left:1px solid rgba(255,255,255,.1)}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font-family:"Michroma",sans-serif;font-weight:400;font-size:1.7rem;display:block;line-height:1.1}
.stat span{font-size:.74rem;color:var(--silver);text-transform:uppercase;letter-spacing:.08em}

/* ---------- Sections ---------- */
section{padding:100px 0;position:relative}
.sec-head{margin-bottom:50px}
.sec-head .band{margin-bottom:26px}
.sec-head .row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}
.sec-head h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--graphite-deep)}
.sec-head p{color:var(--muted)}
.white{background:var(--white)}

/* About */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.about p.lead{font-size:1.12rem;text-align:justify;color:#2c2c2d;margin-bottom:18px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px}
.pillar{background:var(--white);padding:22px;border-left:4px solid transparent;transition:.25s}
.pillar:hover{border-left-color:var(--red)}
.pillar h4{font-size:1rem;color:var(--wine);margin-bottom:4px}
.pillar p{font-size:.88rem;color:var(--muted)}
.hex-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:460px;margin-left:auto}
.hex{aspect-ratio:1/1.1;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;text-align:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:14px;transition:transform .3s}
.hex:hover{transform:scale(1.05)}
.hex svg{width:36px;height:36px;margin-bottom:6px}
.hex:nth-child(2),.hex:nth-child(5),.hex:nth-child(8){transform:translateY(50%)}
.hex:nth-child(2):hover,.hex:nth-child(5):hover,.hex:nth-child(8):hover{transform:translateY(50%) scale(1.05)}
.h-red{background:linear-gradient(135deg,var(--red),var(--red-deep))}
.h-wine{background:var(--wine)}
.h-gray{background:linear-gradient(135deg,var(--graphite),var(--graphite-deep))}
.h-silver{background:linear-gradient(135deg,var(--silver),#7f8182)}
.h-photo{background:url(../img/portada.jpg) 70% center/cover}

/* Services */
.services{background:var(--mist)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:var(--white);padding:0 0 28px;position:relative;transition:.3s;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.svc:hover{transform:translateY(-4px);box-shadow:0 18px 36px -18px rgba(98,25,32,.45)}
.svc-top{display:flex;align-items:center;gap:14px;background:var(--wine);color:#fff;padding:18px 24px 18px 30px;clip-path:polygon(18px 0,100% 0,100% 100%,18px 100%,0 50%);margin:22px 0 22px -1px;transition:background .3s}
.svc:hover .svc-top{background:var(--red)}
.svc-top svg{width:30px;height:30px;flex:none}
.svc-top h3{font-family:"Michroma",sans-serif;font-weight:400;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;line-height:1.35}
.svc-num{position:absolute;top:14px;right:20px;font-family:"Michroma";font-size:.7rem;color:var(--silver)}
.svc ul{list-style:none;color:var(--muted);font-size:.92rem;flex:1;padding:0 26px}
.svc li{padding:7px 0 7px 20px;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:16px;width:8px;height:8px;background:var(--graphite-deep);border-radius:50%}

/* Engineering band */
.eng{background:var(--graphite-deep);color:#fff;overflow:hidden}
.eng::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px}
.eng .wrap{position:relative}
.eng .sec-head h2{color:#fff}
.eng .sec-head p{color:var(--silver)}
.eng .tag{background:var(--red)}
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.eng-card{background:#323234;padding:32px 26px;transition:.3s;border-top:3px solid transparent}
.eng-card:hover{background:#3a1a1d;border-top-color:var(--red)}
.eng-card .k{font-family:"Michroma";font-size:.66rem;color:var(--silver);letter-spacing:.08em}
.eng-card h3{font-size:1.1rem;margin:14px 0 10px}
.eng-card p{color:#b9babb;font-size:.9rem}

/* Studies PCP-1502 */
.studies{background:var(--white)}
.studies-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.studies p{color:var(--muted);margin-bottom:16px;text-align:justify}
.studies p b{color:var(--text)}
.etap{display:flex;gap:22px;align-items:center;padding:24px 26px;background:var(--mist);border-left:5px solid var(--red);margin:26px 0}
.etap .v{font-family:"Michroma";font-size:2.4rem;color:var(--red);line-height:1}
.etap small{display:block;font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.norms{display:flex;flex-wrap:wrap;gap:10px}
.norm{font-size:.82rem;font-weight:600;background:var(--graphite-deep);color:#fff;padding:8px 16px}
.norm b{color:#f0a49f;font-weight:700}
.deliver{list-style:none;background:var(--mist);padding:10px 28px}
.deliver li{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.deliver li:last-child{border-bottom:0}
.deliver li svg{width:22px;height:22px;color:var(--red);flex:none}
.studies h3.sub{font-size:1.05rem;color:var(--wine);margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em}

/* Arc flash */
.arc{background:var(--mist)}
.arc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.levels{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.levels .hdr{display:grid;grid-template-columns:120px 1fr;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 0;border-bottom:2px solid var(--graphite-deep)}
.levels .hdr span{padding:0 18px}
.level{display:grid;grid-template-columns:120px 1fr;align-items:center;border-top:1px solid var(--line)}
.level .sw{height:58px;margin:6px 10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#111}
.level .rg{padding:0 18px;font-weight:500}
.sw.l1{background:#00b050;color:#fff}.sw.l2{background:#ffff00}.sw.l3{background:#ff8000}.sw.l4{background:#ff0000;color:#fff}
.sw.l5{background:repeating-linear-gradient(45deg,#111 0 10px,#ffff00 10px 20px);color:#fff;text-shadow:0 0 4px #000}
.label-mock{background:#fff;border:2px dashed #9b9b9b;padding:16px;color:#111;font-size:.76rem;margin-top:28px}
.label-mock .hd{background:#ffff00;font-weight:800;font-size:1.7rem;text-align:center;padding:4px;letter-spacing:.02em}
.label-mock .sub{text-align:center;font-weight:700;margin:8px 0 12px;font-size:.78rem}
.label-mock .rw{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.label-mock dl{display:grid;grid-template-columns:1fr auto;gap:3px 10px}
.label-mock dt{color:#444}.label-mock dd{font-weight:700;text-align:right}
.label-mock .cal{background:#ffff00;font-weight:800;font-size:1.7rem;text-align:center;padding:6px}
.label-mock .id{color:#d00;font-weight:700;text-decoration:underline;margin-bottom:8px}
.label-mock .ppe{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
.label-mock .ppe span{aspect-ratio:1;border-radius:50%;background:#1e5aa8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.6rem;text-align:center;font-weight:600;line-height:1.1;padding:4px;border:3px solid #fff;box-shadow:0 0 0 2px #1e5aa8}

/* Projects */
.projects{background:var(--white)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{font-family:"Montserrat";font-weight:600;background:var(--mist);border:0;color:var(--graphite-deep);padding:10px 20px;cursor:pointer;transition:.2s;font-size:.85rem;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.filters button.on,.filters button:hover{background:var(--wine);color:#fff}
.proj-table{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
.proj{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid var(--line);transition:.2s}
.proj:hover{padding-left:8px;background:var(--mist-2)}
.proj .yr{font-family:"Michroma";font-size:.8rem;color:var(--red)}
.proj .nm{font-weight:600}
.proj .ct{color:var(--muted);font-size:.82rem}
.proj.hide{display:none}

/* Clients */
.clients{background:var(--mist);padding:80px 0}
.clients-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.client{background:var(--white);height:90px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;color:var(--graphite);font-size:.9rem;padding:10px;transition:.25s;border-bottom:3px solid transparent}
.client:hover{color:var(--wine);border-bottom-color:var(--red)}

/* CTA */
.cta{background:linear-gradient(100deg,var(--red-deep) 0%,var(--wine) 45%,var(--red) 100%);color:#fff;padding:80px 0;overflow:hidden}
.cta .chev{right:40px;opacity:.25}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;position:relative;z-index:1}
.cta h2{font-size:clamp(1.5rem,2.8vw,2.2rem);max-width:640px}
.cta .btn{background:#fff;color:var(--wine)}
.cta .btn:hover{background:var(--graphite-deep);color:#fff}

/* Contact */
.contact{background:var(--white)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.contact p{color:var(--muted)}
.cinfo{margin-top:34px;display:grid;gap:22px}
.cinfo>div{display:flex;gap:16px;align-items:flex-start}
.cinfo svg{width:22px;height:22px;color:var(--red);flex:none;margin-top:2px}
.cinfo b{display:block}
.cinfo span{color:var(--muted);font-size:.95rem}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--mist);padding:36px;border-top:5px solid var(--wine)}
form label{display:flex;flex-direction:column;gap:6px;font-size:.74rem;font-weight:700;color:var(--graphite);text-transform:uppercase;letter-spacing:.06em}
form .full{grid-column:1/-1}
input,select,textarea{font:inherit;font-size:.98rem;color:var(--text);background:#fff;border:1px solid var(--line);padding:13px 14px;text-transform:none;letter-spacing:0;font-weight:400}
input:focus,select:focus,textarea:focus{outline:2px solid var(--wine);outline-offset:-1px}
textarea{min-height:120px;resize:vertical}
.form-ok{grid-column:1/-1;color:#1f8a46;font-weight:600;display:none}

/* Footer */
footer{background:var(--graphite-deep);color:var(--silver);padding:70px 0 30px;font-size:.9rem;position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red),var(--wine) 40%,var(--graphite) 70%,var(--silver))}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1)}
footer .flogo{height:56px;width:auto}
footer h4{color:#fff;font-family:"Michroma";font-weight:400;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}
footer ul{list-style:none;display:grid;gap:10px}
footer a:hover{color:#fff}
.f-bot{display:flex;justify-content:space-between;padding-top:26px;font-size:.8rem;gap:20px;flex-wrap:wrap}

/* Reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* ---------- Responsive ---------- */
.about-grid>*,.studies-grid>*,.arc-grid>*,.contact-grid>*,.sec-head .row>*{min-width:0}
.hex-cluster{width:100%}
@media (max-width:1100px){.nav-sub{display:none}}
@media (max-width:1024px){
  .svc-grid{grid-template-columns:1fr 1fr}
  .eng-grid{grid-template-columns:1fr 1fr}
  .clients-row{grid-template-columns:repeat(3,1fr)}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .menu{position:fixed;top:118px;left:0;right:0;background:var(--mist-2);flex-direction:column;align-items:flex-start;padding:24px;gap:18px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s,visibility .35s;visibility:hidden;z-index:-1}
  .menu.open{transform:none;visibility:visible}
  .burger{display:block}
  .sec-head .row,.about-grid,.studies-grid,.arc-grid,.contact-grid,.proj-table{grid-template-columns:1fr;gap:30px}
  .proj-table{gap:0}
  .hero{min-height:auto}
  .hero-photo,.hero-photo-ghost{position:relative;width:100%;height:300px;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)}
  .hero-photo-ghost{display:none}
  .hero-logo{top:150px;right:50%;transform:translate(50%,-50%);width:min(80vw,460px)}
  .hero > .wrap{padding-top:40px;padding-bottom:50px}
  .hero-strip{position:relative}
  .hero-strip .wrap{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .hex-cluster{margin:0 auto 40px}
  .cta .wrap{flex-direction:column;align-items:flex-start}
  section{padding:76px 0}
  .band{font-size:.9rem}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .hex{font-size:.58rem;padding:8px}.hex svg{width:26px;height:26px}
  .topbar .hide-sm{display:none}
  .nav-left .logo img{height:40px}
  .svc-grid,.eng-grid{grid-template-columns:1fr}
  .clients-row{grid-template-columns:1fr 1fr}
  form{grid-template-columns:1fr;padding:22px}
  .f-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .label-mock .rw{grid-template-columns:1fr}
  .levels .hdr,.level{grid-template-columns:96px 1fr}
  .stat b{font-size:1.35rem}
  .band{padding:12px 20px 12px 34px}
}

/* WordPress: barra de administración y formulario */
.admin-bar header.nav{top:32px}
@media (max-width:782px){.admin-bar header.nav{top:46px}}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-msg{grid-column:1/-1;font-weight:600;padding:12px 16px;display:block}
.form-msg.ok{background:#e6f4ea;color:#1f6b3a}
.form-msg.err{background:#fbe9e8;color:#8a1f1c}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* Páginas internas */
.page-simple{padding:80px 0;background:var(--white);min-height:50vh}
.page-simple h1{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--graphite-deep);margin:24px 0}
.entry-content{max-width:820px;color:#2c2c2d}
.entry-content p,.entry-content ul,.entry-content ol{margin-bottom:1.1em}
.entry-content a{color:var(--wine);text-decoration:underline}
