/* sidec.com.ar — hoja única.
   Tokens del sistema de marca montek / sidec / movec v1.0 (agosto 2026), dirección «1a Índice».
   Regla: hueso y grafito mandan; el olivo aparece en dosis chicas (la «e», un filete, una palabra).
   Sin fondos plenos de color salvo el grafito. Mobile-first. */

/* ---------- Fuentes autoalojadas (sólo subset latin: cubre todo el castellano) ---------- */
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-400.woff2) format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-serif-display-400i.woff2) format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/source-sans-3-300-600.woff2) format('woff2')}

/* ---------- Tokens ---------- */
:root{
  --hueso:#F2EFE9;--hueso-2:#F7F5F1;--hueso-3:#EDE9E1;--arena:#D9D2C7;--linea:#E4DFD6;
  --piedra:#AFA89B;--piedra-2:#8C8579;
  --grafito:#242323;--carbon:#2E2D2A;--linea-oscura:#3A3835;
  --texto:#242323;--texto-2:#4A463F;--texto-3:#6E6960;--texto-claro:#B5AEA2;
  --olivo:#6C7D56;--olivo-claro:#8FA173;--tierra:#9D7751;--tierra-claro:#C79A6E;--naranja:#CD5403;--naranja-claro:#E86A18;
  --acento:var(--olivo);
  --e-sidec:var(--olivo);--e-montek:var(--tierra);--e-movec:var(--naranja);
  --f-serif:'DM Serif Display',Georgia,'Times New Roman',serif;
  --f-sans:'Source Sans 3','Source Sans Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(20px,3.4vw,48px);
  --max:1600px;
  --s-section:clamp(64px,8vw,110px);
  color-scheme:light;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--hueso)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--hueso);color:var(--texto);font:400 16px/1.72 var(--f-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img,picture,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,dl,dd,figure,address{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
em{font-style:italic}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--grafito);color:var(--hueso);padding:8px 14px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--olivo);outline-offset:3px}

/* ---------- Tipografía ---------- */
.label{font:400 11px/1.5 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--piedra-2)}
.label--dark{color:var(--texto)}
.display{font:400 clamp(34px,4.4vw,58px)/1.16 var(--f-serif);color:var(--texto);max-width:24ch;text-wrap:pretty;text-wrap:balance}
.h2{font:400 clamp(28px,3vw,42px)/1.16 var(--f-serif);color:var(--texto);max-width:24ch;text-wrap:pretty}
.h3{font:400 clamp(22px,2.3vw,30px)/1.18 var(--f-serif);color:var(--texto)}
.display em,.h2 em,.h3 em{font-style:italic;color:var(--acento)}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.6}
.copy{color:var(--texto-2);text-wrap:pretty}
.copy p+p{margin-top:1em}
.arrow{display:inline-flex;align-items:center;gap:.6em;font:400 11px/1.5 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--texto)}
.arrow::after{content:"→";transition:transform .25s ease}
.arrow:hover::after,.arrow:focus-visible::after{transform:translateX(4px)}
.arrow--back::after{content:none}
.arrow--back::before{content:"←";transition:transform .25s ease}
.arrow--back:hover::before{transform:translateX(-4px)}
.arrow--light{color:var(--tierra-claro)}
.btn{display:inline-block;font:400 11px/1 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;padding:15px 26px;border:1px solid var(--grafito);color:var(--grafito);background:transparent;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--grafito);color:var(--hueso)}
.btn--solid{background:var(--grafito);color:var(--hueso)}
.btn--solid:hover{background:var(--carbon)}
.tag-ej{display:inline-block;vertical-align:middle;font:500 9.5px/1 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;background:rgba(205,84,3,.12);color:var(--naranja);padding:5px 7px 4px;border-radius:3px;margin-left:10px;position:relative;top:-3px}
.list li{padding:9px 0;border-top:1px solid var(--linea);font-size:14.5px;line-height:1.5;color:var(--texto-3)}
.list li:last-child{border-bottom:1px solid var(--linea)}
.list--big li{font-size:clamp(16px,1.3vw,18px);padding:14px 0;color:var(--texto-2)}

/* Sección estándar: etiqueta a la izquierda, contenido a la derecha (dirección 1a) */
.sect{display:grid;gap:18px}
@media (min-width:900px){.sect{grid-template-columns:120px minmax(0,1fr);gap:80px}}
.sect__lbl{padding-top:6px}
@media (min-width:900px){.sect__lbl{padding-top:14px}}
.cols{display:grid;gap:22px;max-width:88ch;margin-top:32px}
@media (min-width:760px){.cols{grid-template-columns:1fr 1fr;gap:64px;margin-top:40px}}
.vlabel span{display:block;font:400 11px/1.9 var(--f-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--piedra-2)}
@media (min-width:900px){.vlabel span{writing-mode:vertical-rl}}

/* Hueco de foto (mientras no esté el archivo en media/) */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:160px;padding:18px;text-align:center;background:#DCD6CB;color:#8C8579;background-image:repeating-linear-gradient(135deg,rgba(140,133,121,.07) 0 10px,transparent 10px 20px)}
.ph__t{font:500 10px/1 var(--f-sans);letter-spacing:.24em;text-transform:uppercase}
.ph__h{font-size:12.5px;line-height:1.4;max-width:28ch;text-wrap:pretty}

/* Aparición al hacer scroll: sólo con JS y sin reduced-motion; sin JS todo se ve. */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
  .js .rv.in{opacity:1;transform:none}
}

/* ---------- Navegación ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(242,239,233,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px}
@media (min-width:900px){.nav__in{padding-block:24px}}
.nav__logo{color:var(--grafito)}
.nav__logo svg{height:36px;width:auto}
.nav__menu{display:flex;align-items:center;gap:34px}
.nav__links{display:flex;gap:34px}
.nav__links a{display:block;font:400 11px/1 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--piedra-2);padding:8px 0;transition:color .2s}
.nav__links a:hover,.nav__links a[aria-current]{color:var(--texto)}
.nav__group{display:flex;gap:26px;align-items:center;padding-left:34px;border-left:1px solid var(--arena)}
.nav__sib{font:400 11px/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase}
.nav__sib--montek{color:var(--tierra)}
.nav__sib--movec{color:var(--naranja)}
.nav__burger{display:none}
@media (max-width:899px){
  .nav__burger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-right:-10px;padding:0;border:0;background:none;cursor:pointer}
  .nav__burger span:not(.sr){display:block;width:22px;height:1.5px;background:var(--grafito);transition:transform .25s ease,opacity .25s ease}
  .nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.75px) rotate(45deg)}
  .nav__burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
  .nav__menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--gutter) 22px;background:var(--hueso);border-bottom:1px solid var(--linea);box-shadow:0 18px 30px -20px rgba(36,35,35,.25)}
  .nav__menu.is-open{display:flex}
  .nav__links{flex-direction:column;gap:0}
  .nav__links a{padding:15px 0;font-size:13px;border-bottom:1px solid var(--linea)}
  .nav__group{border:0;padding:20px 0 0;gap:24px}
}

/* ---------- Hero ---------- */
.hero{padding-top:clamp(18px,3vw,44px)}
.hero__media{position:relative;aspect-ratio:4/3;background:var(--arena);overflow:hidden}
@media (min-width:700px){.hero__media{aspect-ratio:16/9}}
@media (min-width:1100px){.hero__media{aspect-ratio:auto;height:clamp(460px,46vw,720px)}}
.hero__media img,.hero__media video,.hero__media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__media video{z-index:1}
@media (prefers-reduced-motion:reduce){.hero__media video{display:none}}
.hero__cap{display:flex;justify-content:space-between;align-items:flex-start;gap:24px 40px;padding-top:18px;flex-wrap:wrap}
@media (min-width:900px){.hero__cap{padding-top:22px}}

/* ---------- Declaración ---------- */
.statement{padding:var(--s-section) 0 calc(var(--s-section)*.85)}

/* ---------- Índice de obras ---------- */
.index{padding-bottom:var(--s-section)}
.index--page{padding-top:8px}
.tabs{display:flex;gap:18px 26px;flex-wrap:wrap;margin-bottom:28px}
@media (min-width:900px){.tabs{margin-bottom:34px}}
.tabs a{font:400 11px/1.5 var(--f-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--piedra-2);padding-bottom:5px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.tabs a:hover,.tabs a[aria-current]{color:var(--texto);border-color:var(--texto)}
.rows{border-bottom:1px solid var(--linea)}
.row{border-top:1px solid var(--linea);transition:background .25s ease}
.row__line{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px 20px;align-items:baseline;padding:22px 0}
.row__n{font-size:12px;color:var(--piedra);transition:color .2s}
.row__name{font:400 clamp(22px,2.4vw,32px)/1.15 var(--f-serif);color:var(--texto)}
.row__meta{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.row__cat{font:400 11px/1.5 var(--f-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--olivo)}
.row__place,.row__year{font-size:12.5px;color:var(--piedra-2)}
@media (min-width:900px){
  .row__line{grid-template-columns:42px minmax(0,1fr) 190px 150px 60px;gap:32px;align-items:center;padding:26px 0}
  .row__meta{display:contents}
  .row__year{text-align:left}
}
.row__open{display:none;gap:16px;padding:0 0 26px}
.row__open figure{position:relative;flex:none;width:calc(50% - 8px);aspect-ratio:29/19;overflow:hidden;background:var(--arena)}
.row__open figure img,.row__open figure .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.row__txt{flex:1 1 100%;padding-top:6px}
.row__txt p{font-size:15px;line-height:1.7;color:var(--texto-2);max-width:34ch;text-wrap:pretty}
.row__txt .arrow{margin-top:16px}
@media (min-width:900px){
  .row__open{padding-left:74px}
  .row__open figure{width:290px}
  .row__txt{flex:1 1 0;padding-left:14px}
}
.row--open{background:var(--hueso-3)}
.row--open .row__open{display:flex;flex-wrap:wrap}
.row--open .row__n{color:var(--tierra)}
@media (hover:hover) and (min-width:900px){
  .row:hover{background:var(--hueso-3)}
  .row:hover .row__open,.row:focus-within .row__open{display:flex}
  .row:hover .row__n{color:var(--tierra)}
}
.index__more{margin-top:34px}

/* ---------- Tríptico de servicios (home) ---------- */
.pillars-sec{padding-bottom:var(--s-section)}
.pillars-sec__lead{max-width:60ch;margin-top:18px}
.trio{display:grid;gap:40px;margin-top:44px}
@media (min-width:700px){.trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}}
.trio__item{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.trio__img{position:relative;width:100%;aspect-ratio:4/3;background:var(--arena);overflow:hidden;margin-bottom:10px}
.trio__img img,.trio__img .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
@media (hover:hover){.trio__item:hover .trio__img img{transform:scale(1.03)}}
.trio__n{font-size:12px;color:var(--piedra)}
.trio__item .copy{max-width:38ch;font-size:14.5px;line-height:1.7}
.trio__item .arrow{margin-top:6px}

/* ---------- Cabeceras de página interior ---------- */
.page-head{padding:clamp(40px,6vw,80px) 0 clamp(36px,5vw,64px)}
.page-head__lead{max-width:62ch;margin-top:22px}
.page-head--404{min-height:50vh}
.crumbs{display:flex;gap:10px;padding-top:22px;font:400 11px/1.5 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--piedra-2)}
.crumbs a:hover{color:var(--texto)}

/* ---------- Obra ---------- */
.obra__hero{position:relative;aspect-ratio:16/9;background:var(--arena);overflow:hidden;margin-top:22px}
@media (min-width:1100px){.obra__hero{aspect-ratio:auto;height:clamp(420px,44vw,680px)}}
.obra__hero img,.obra__hero .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.obra__head{padding:clamp(36px,5vw,64px) 0 clamp(28px,4vw,48px)}
.obra__body{padding-bottom:var(--s-section)}
.ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 32px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--linea);max-width:88ch}
.ficha dt{font:400 10.5px/1.5 var(--f-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--piedra-2);margin-bottom:6px}
.ficha dd{font-size:15px;line-height:1.5;color:var(--texto)}
.obra__text{max-width:62ch}
.gallery{display:grid;gap:16px;padding-bottom:var(--s-section)}
@media (min-width:900px){.gallery{grid-template-columns:1.6fr 1fr}.gallery__it:nth-child(3n){grid-column:1/-1}}
.gallery__it{position:relative;aspect-ratio:3/2;background:var(--arena);overflow:hidden}
.gallery__it img,.gallery__it .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.obra__nav{display:flex;justify-content:space-between;gap:24px;padding:28px 0 var(--s-section);border-top:1px solid var(--linea)}

/* ---------- Servicios ---------- */
.pillar-row{padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--linea)}
.pillars-full{padding-bottom:var(--s-section)}
.pillar-row__grid{display:grid;gap:32px}
@media (min-width:900px){.pillar-row__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}}
.pillar-row__intro{max-width:52ch;margin:16px 0 26px}
.pillar-row .list{margin-bottom:26px;max-width:52ch}
.pillar-row__img{position:relative;aspect-ratio:4/3;background:var(--arena);overflow:hidden}
.pillar-row__img img,.pillar-row__img .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pillar-row .h2 a:hover{color:var(--olivo)}
.serv__img{position:relative;aspect-ratio:16/9;background:var(--arena);overflow:hidden}
@media (min-width:1100px){.serv__img{aspect-ratio:auto;height:clamp(380px,40vw,600px)}}
.serv__img img,.serv__img .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.serv__body{padding:clamp(40px,6vw,80px) 0 var(--s-section)}
.serv__body .list--big{max-width:62ch}
.serv__obras-t{margin:56px 0 22px}
.cta-row{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;margin-top:44px}

/* ---------- Empresa ---------- */
.emp-img__media{position:relative;aspect-ratio:16/9;background:var(--arena);overflow:hidden}
@media (min-width:1100px){.emp-img__media{aspect-ratio:auto;height:clamp(380px,40vw,600px)}}
.emp-img__media img,.emp-img__media .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.emp-sec{padding:var(--s-section) 0 0}
.emp-sec:last-child{padding-bottom:var(--s-section)}
.emp-sec__lead{max-width:60ch;margin:18px 0 20px}
.emp-sec--line .sect{padding-bottom:var(--s-section);border-bottom:1px solid var(--linea)}
.emp-sec--dark{background:var(--grafito);color:var(--texto-claro);--acento:var(--olivo-claro);margin-top:0;padding:var(--s-section) 0}
.emp-sec--dark .h2{color:var(--hueso)}
.emp-sec--dark .copy{color:var(--texto-claro)}
.emp-sec--dark+.emp-sec{padding-top:var(--s-section)}
.equip{display:grid;gap:32px;margin-top:36px}
@media (min-width:760px){.equip{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}
.equip__t{margin-bottom:12px}
.futuro{display:grid;gap:1px;margin-top:36px;background:var(--linea-oscura);border:1px solid var(--linea-oscura)}
@media (min-width:760px){.futuro{grid-template-columns:repeat(3,minmax(0,1fr))}}
.futuro>div{background:var(--carbon);padding:30px 28px 32px}
.futuro dt{font:400 clamp(20px,1.8vw,24px)/1.25 var(--f-serif);color:var(--hueso);margin-bottom:12px}
.futuro dd{font-size:14.5px;line-height:1.7;color:var(--texto-claro)}
.emp-sec__closing{max-width:60ch;margin-top:30px}
.logos{display:flex;flex-wrap:wrap;gap:32px 48px;align-items:center;margin-top:36px}
.logos li{width:140px}
.logos-strip{margin-top:36px;max-width:900px}
.logos-strip img{mix-blend-mode:multiply}

/* ---------- Contacto ---------- */
.contact{padding-bottom:var(--s-section)}
.contact__grid{display:grid;gap:48px}
@media (min-width:1000px){.contact__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px}}
.form{display:grid;gap:20px;max-width:620px}
@media (min-width:600px){.form{grid-template-columns:1fr 1fr}.field--full{grid-column:1/-1}}
.field{display:grid;gap:8px}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;line-height:1.4;padding:12px 14px;border:1px solid var(--arena);border-radius:0;background:var(--hueso-2);color:var(--texto);-webkit-appearance:none;appearance:none}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--grafito)}
.field textarea{resize:vertical;min-height:140px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:6px}
.form__msg{font-size:14px;color:var(--olivo);min-height:1.5em;margin:0}
.form__msg--err{color:var(--naranja)}
.contact__info .label{margin:0 0 12px}
.contact__info .label+*{margin-bottom:34px}
.contact__addr,.contact__lines{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.6;color:var(--texto-2)}
.contact__addr .arrow,.contact__lines .btn{margin-top:10px;align-self:flex-start}
.contact__lines a:hover{color:var(--texto)}

/* ---------- Pie ---------- */
.footer{background:var(--grafito);color:var(--texto-claro);--acento:var(--olivo-claro);--e-sidec:var(--olivo-claro);--e-montek:var(--tierra-claro);--e-movec:var(--naranja-claro);padding:clamp(56px,7vw,76px) 0 40px}
.footer__top{display:grid;gap:44px;padding-bottom:clamp(40px,5vw,60px);border-bottom:1px solid var(--linea-oscura)}
@media (min-width:1000px){.footer__top{grid-template-columns:minmax(0,1fr) auto;gap:60px}}
.footer__cta{font:400 clamp(28px,3vw,38px)/1.24 var(--f-serif);color:var(--hueso);max-width:30ch;margin-bottom:22px;text-wrap:pretty}
.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px}
@media (min-width:1000px){.footer__cols{display:flex;gap:64px}}
.footer__cols .label{margin-bottom:14px}
.footer__cols a,.footer__cols span,.footer__addr span{display:block;font-size:13.5px;line-height:2;color:var(--texto-claro)}
.footer__cols a:hover{color:var(--hueso)}
.footer__cols .footer__role{display:inline;color:var(--piedra-2)}
.footer__bot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 40px;padding-top:34px;flex-wrap:wrap}
.footer__logo{color:var(--hueso)}
.footer__logo svg{height:44px;width:auto}
.footer__right{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
@media (min-width:700px){.footer__right{align-items:flex-end}}
.footer__sig{display:flex;align-items:center;gap:18px;color:var(--hueso)}
.footer__sig svg{height:18px;width:auto}
.footer__sig i{display:block;width:1px;height:18px;background:var(--linea-oscura)}
.footer__copy{font-size:11px;color:var(--texto-3)}

/* ---------- Impresión ---------- */
@media print{.nav,.footer,.skip,.hero__video{display:none!important}body{background:#fff;color:#000}.ph{display:none}}
