/* 0701 Ingeniería C.A. · dirección de diseño en README.md */
@font-face{font-family:"Red Hat Display";src:url(../fonts/redhat-display.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Red Hat Text";src:url(../fonts/redhat-text.woff2) format("woff2");font-weight:300 700;font-display:swap}

:root{
  --marino:#0d2a4a;      /* fondo del brochure */
  --marino-2:#0a2240;    /* pie */
  --azul:#1d4569;        /* logo */
  --amarillo:#f1b432;    /* acento del brochure */
  --blanco:#fff;
  --hueso:#f2f4f7;
  --tinta:#16222f;
  --gris:#5b6672;
  --claro:#c8d2dd;
  --linea:rgba(13,42,74,.14);
  --display:"Red Hat Display",system-ui,sans-serif;
  --texto:"Red Hat Text",system-ui,sans-serif;
  --e1:8px;--e2:16px;--e3:24px;--e4:32px;--e5:48px;--e6:72px;--e7:112px;
  --cab:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cab) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanco);color:var(--tinta);font-family:var(--texto);font-size:17px;line-height:1.62}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--display);margin:0;color:var(--marino)}
p{margin:0 0 var(--e2)}
:focus-visible{outline:3px solid var(--amarillo);outline-offset:3px}
.saltar{position:absolute;left:-999px;top:8px;background:var(--marino);color:#fff;padding:10px 14px;z-index:50}
.saltar:focus{left:8px}
.env{max-width:1280px;margin:0 auto;padding:0 var(--e2)}
@media (min-width:720px){.env{padding:0 var(--e4)}}

/* tipografía de marca */
.antetitulo{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--azul);margin:0 0 var(--e2)}
.antetitulo::before{content:"";width:32px;height:3px;background:var(--amarillo);flex:none}
.antetitulo--claro{color:#fff}
.titulo{margin-bottom:var(--e3);font-weight:800;font-size:clamp(2rem,1.25rem + 2.9vw,3.3rem);line-height:1.02;letter-spacing:.005em;text-transform:uppercase;max-width:20ch}
.titulo span{background:linear-gradient(transparent 68%,var(--amarillo) 68%,var(--amarillo) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.titulo--claro{color:#fff}
.titulo--claro span{background:none;color:var(--amarillo)}

/* botones y enlaces */
.acciones{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e4)}
.boton{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;background:var(--amarillo);color:var(--marino);font-family:var(--display);font-weight:800;font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:36px;transition:background .2s,color .2s}
.boton:hover{background:#fff}
.boton--marino{background:var(--marino);color:#fff}
.boton--marino:hover{background:var(--azul);color:#fff}
.boton--linea{background:transparent;clip-path:none;box-shadow:inset 0 0 0 2px var(--marino);text-transform:none;letter-spacing:.01em;font-weight:700;font-size:16px;padding-right:26px}
.boton--linea:hover{background:var(--marino);color:#fff}
.enlace{font-family:var(--display);font-weight:700;font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--marino);display:inline-flex;align-items:center;gap:10px}
.enlace::after{content:"";width:22px;height:2px;background:currentColor;transition:width .2s}
.enlace:hover::after{width:34px}
.enlace--claro{color:#fff}

/* cabecera */
.cab{position:sticky;top:0;z-index:30;background:#fff;box-shadow:0 1px 0 var(--linea)}
.cab__in{max-width:1280px;margin:0 auto;height:var(--cab);padding:0 var(--e2);display:flex;align-items:center;justify-content:space-between}
.cab__logo{color:var(--azul);display:block}
.logo{display:block;height:44px;width:auto}
.nav{display:flex;align-items:center;gap:var(--e4);font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--marino);padding:8px 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--amarillo)}
.nav .nav__cta{background:var(--marino);color:#fff;padding:12px 26px 12px 20px;border:0;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.nav .nav__cta:hover{background:var(--azul)}
.cab__menu{display:none;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;background:var(--marino);color:#fff;border:0;padding:11px 16px;cursor:pointer}
@media (min-width:720px){.cab__in{padding:0 var(--e4)}}
@media (max-width:899px){
  :root{--cab:66px}
  .logo{height:38px}
  .cab__menu{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:var(--e1) var(--e2) var(--e3);box-shadow:0 12px 24px rgba(13,42,74,.12)}
  .nav a{padding:16px 0;border-bottom:1px solid var(--linea);font-size:15px}
  .nav .nav__cta{margin-top:var(--e2);text-align:center}
  .nav.abierta{display:flex}
}

/* portada: composición de la portada del brochure */
.portada{--t:clamp(180px,28vh,320px);--x:62%;--iz:110px;--de:110px;position:relative;overflow:hidden;background:var(--marino)}
.portada__foto{position:absolute;inset:0 0 auto 0;height:calc(var(--t) + var(--iz) + 60px)}
.portada__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.portada__franja,.portada__cuna,.portada__panel{position:absolute;inset:0}
.portada__franja{background:#fff;clip-path:polygon(0 calc(var(--t) + var(--iz)),var(--x) var(--t),100% calc(var(--t) + var(--de)),100% 100%,0 100%)}
.portada__cuna{background:var(--amarillo);clip-path:polygon(0 calc(var(--t) + var(--iz) * .33),calc(var(--x) * .6) calc(var(--t) + var(--iz) * .4),0 calc(var(--t) + var(--iz)))}
.portada__panel{background:var(--marino);clip-path:polygon(0 calc(var(--t) + var(--iz) + 50px),var(--x) calc(var(--t) + 50px),100% calc(var(--t) + var(--de) + 50px),100% 100%,0 100%)}
.portada__marca{position:absolute;right:-4vw;bottom:-10vw;width:min(50vw,780px);height:auto;color:#fff;animation:sube 1.2s cubic-bezier(.2,.7,.2,1) both}
.portada__txt{position:relative;z-index:2;width:100%;padding-top:calc(var(--t) + var(--iz) + 90px);padding-bottom:var(--e6)}
.portada h1{color:#fff;font-weight:800;font-size:clamp(2.1rem,1.2rem + 2.6vw,3.4rem);line-height:1.02;text-transform:uppercase;max-width:17ch;margin-bottom:var(--e4)}
.portada h1 span{display:block;color:var(--amarillo);font-size:.56em;line-height:1.15;margin-top:.4em;max-width:24ch}
@keyframes sube{from{transform:translateY(10%);opacity:0}to{transform:none;opacity:1}}
@media (max-width:899px){
  .portada{--t:150px;--x:70%;--iz:64px;--de:30px}
  .portada__marca{width:92vw;right:-14vw;bottom:-16vw;color:var(--azul)}
  .portada__txt{padding-bottom:var(--e5)}
}

/* organización */
.intro{padding:var(--e7) 0 var(--e6)}
.intro__in{display:grid;gap:var(--e4)}
.intro__entrada{font-size:clamp(18px,16px + .5vw,21px);line-height:1.55;color:var(--marino)}
.intro__txt p:not(.intro__entrada){color:var(--gris)}
.cifras{display:grid;gap:var(--e3);margin:var(--e4) 0 0}
.cifras>div{border-left:4px solid var(--amarillo);padding:4px 0 4px var(--e3)}
.cifras dt{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--azul)}
.cifras dd{margin:2px 0 4px;font-family:var(--display);font-weight:800;font-size:clamp(2.4rem,1.6rem + 2.4vw,3.6rem);line-height:1;color:var(--marino)}
.cifras p{margin:0;color:var(--gris);font-size:15px}
@media (min-width:900px){
  .intro__in{grid-template-columns:5fr 7fr;column-gap:var(--e6)}
  .cifras{grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:var(--e5)}
}

/* servicios */
.servicios{background:var(--marino);color:var(--claro);padding:calc(var(--e7) + 40px) 0 var(--e7);clip-path:polygon(0 56px,100% 0,100% 100%,0 100%)}
.servicios__cab{display:grid;gap:var(--e2);margin-bottom:var(--e5)}
.servicios__entrada{max-width:52ch;font-size:18px}
.srv-rejilla{list-style:none;padding:0;margin:0;display:grid;gap:var(--e5) var(--e4)}
.srv__img{position:relative;overflow:hidden;margin-bottom:var(--e3)}
.srv__img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .6s}
.srv__img::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:28px;background:var(--amarillo);clip-path:polygon(0 0,70% 0,100% 100%,0 100%)}
.srv:hover .srv__img img{transform:scale(1.04)}
.srv h3{color:#fff;font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--e1)}
.srv p{margin:0;font-size:16px}
@media (min-width:720px){.srv-rejilla{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.servicios__cab{grid-template-columns:1fr 1fr;align-items:end;column-gap:var(--e5)}.servicios__cab .antetitulo{grid-column:1/-1;margin-bottom:0}.servicios__entrada{margin:0 0 6px}}
@media (min-width:1100px){.srv-rejilla{grid-template-columns:repeat(3,1fr)}}

/* obras */
.obras{padding:var(--e7) 0}
.obras__cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--e3);margin-bottom:var(--e5)}
.obra-t{display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit;background:var(--hueso)}
.obra-t__media{position:relative;overflow:hidden;background:var(--marino)}
.obra-t__img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}
.obra-t:hover .obra-t__img{transform:scale(1.035)}
.obra-t__txt{padding:var(--e4) var(--e3) var(--e4)}
.obra-t__meta{font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--azul);margin-bottom:var(--e1)}
.obra-t h3{font-weight:800;font-size:clamp(1.35rem,1.15rem + .6vw,1.7rem);line-height:1.12;margin-bottom:var(--e2)}
.obra-t__txt>p:not(.obra-t__meta){color:var(--gris);font-size:16px}
.obra-t__ver{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--marino);border-bottom:3px solid var(--amarillo);padding-bottom:4px}
.obra-t--grande{margin-bottom:var(--e4)}
.obra-t--grande .obra-t__txt{background:var(--marino);color:var(--claro);position:relative}
.obra-t--grande h3{color:#fff;font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem)}
.obra-t--grande .obra-t__meta{color:var(--amarillo)}
.obra-t--grande .obra-t__txt>p:not(.obra-t__meta){color:var(--claro);font-size:17px}
.obra-t--grande .obra-t__ver{color:#fff}
.obras__rejilla{display:grid;gap:var(--e4)}
.obra-t__plano{position:relative;height:100%;min-height:280px;aspect-ratio:4/3;background:var(--marino);color:#fff;padding:var(--e4);display:flex;align-items:flex-start;overflow:hidden}
.obra-t__marca{position:absolute;right:-8%;bottom:-24%;width:84%;color:var(--azul)}
.obra-t__plano dl{position:relative;margin:0;display:grid;gap:var(--e2)}
.obra-t__plano dt{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--amarillo)}
.obra-t__plano dd{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(1.8rem,1.3rem + 1.5vw,2.6rem);line-height:1}
@media (min-width:720px){.obras__rejilla{grid-template-columns:1fr 1fr}}
@media (min-width:900px){
  .obra-t--grande{grid-template-columns:7fr 5fr;grid-template-rows:auto}
  .obra-t--grande .obra-t__img{aspect-ratio:auto;height:100%;min-height:460px}
  .obra-t--grande .obra-t__txt{padding:var(--e5);display:flex;flex-direction:column;justify-content:flex-end}
  .obra-t--grande .obra-t__txt::before{content:"";position:absolute;top:0;left:var(--e5);width:64px;height:6px;background:var(--amarillo)}
}
@media (min-width:720px) and (max-width:1099px){.obras__rejilla--pag>:last-child:nth-child(odd){grid-column:1/-1}}
@media (min-width:1100px){.obras__rejilla--pag{grid-template-columns:repeat(6,1fr)}.obras__rejilla--pag>*{grid-column:span 2}.obras__rejilla--pag>:nth-child(-n+2){grid-column:span 3}}
.galeria figure:only-child{grid-column:1/-1;max-width:640px}

/* clientes */
.clientes{background:var(--hueso);padding:var(--e5) 0}
.clientes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px 36px}
.clientes li{font-family:var(--display);font-weight:800;font-size:clamp(1rem,.9rem + .4vw,1.2rem);letter-spacing:.04em;text-transform:uppercase;color:var(--marino)}
.clientes li{display:flex;align-items:center;gap:12px}.clientes li::before{content:"";width:9px;height:9px;background:var(--amarillo);flex:none}

/* empresa */
.empresa{padding:var(--e7) 0}
.empresa__in{display:grid;gap:var(--e5)}
.empresa__foto{margin:0;position:relative}
.empresa__marco{position:relative;margin-right:18px}
.empresa__marco::before{content:"";position:absolute;inset:18px -18px -18px 18px;background:var(--amarillo);z-index:-1}
.empresa__marco img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:28% 50%}
.empresa__foto figcaption{font-size:13.5px;color:var(--gris);margin-top:30px}
.empresa__txt strong{color:var(--marino)}
.mv{display:grid;gap:var(--e3);margin:var(--e4) 0}
.mv>div{border-top:3px solid var(--marino);padding-top:var(--e2)}
.mv h3,.empresa__sub{font-weight:800;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--e1)}
.mv p{color:var(--gris);font-size:16px;margin:0}
.empresa__sub{margin-top:var(--e4);color:var(--azul)}
.aliados{margin:0;display:grid;gap:var(--e2)}
.aliados dt{font-family:var(--display);font-weight:800;color:var(--marino)}
.aliados dd{margin:2px 0 0;color:var(--gris);font-size:16px}
@media (min-width:720px){.mv{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.empresa__in{grid-template-columns:5fr 6fr;column-gap:var(--e6);align-items:start}.empresa__foto{position:sticky;top:calc(var(--cab) + 32px)}}

/* contacto */
.contacto{position:relative;overflow:hidden;background:var(--amarillo);color:var(--marino);padding:calc(var(--e7) + 32px) 0 var(--e7);clip-path:polygon(0 0,100% 48px,100% 100%,0 100%)}
.contacto__marca{position:absolute;right:-6%;bottom:-22%;width:min(60vw,820px);color:rgba(13,42,74,.09)}
.contacto__in{position:relative;display:grid;gap:var(--e5)}
.contacto .antetitulo{color:var(--marino)}
.contacto .antetitulo::before{background:var(--marino)}
.contacto .titulo span{background:none;color:#fff;-webkit-text-stroke:0}
.contacto .titulo span{color:var(--marino);background:linear-gradient(transparent 68%,#fff 68%,#fff 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.contacto__txt{max-width:46ch;font-size:18px;margin:var(--e3) 0 var(--e4)}
.contacto__datos{margin:0;align-self:end}
.contacto__datos>div{border-top:2px solid var(--marino);padding:14px 0}
.contacto__datos dt{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.contacto__datos dd{margin:4px 0 0;font-size:17px;font-weight:600}
.contacto__datos a{text-decoration:none;border-bottom:1px solid rgba(13,42,74,.5)}
@media (min-width:900px){.contacto__in{grid-template-columns:7fr 4fr;column-gap:var(--e6)}}

/* pie */
.pie{background:var(--marino-2);color:var(--claro);padding:var(--e6) 0 var(--e3);font-size:15px}
.pie__in{display:grid;gap:var(--e4)}
.pie .logo--blanco{color:#fff;height:58px;margin-bottom:var(--e2)}
.pie__marca p{max-width:32ch}
.pie h2{font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--amarillo);margin-bottom:var(--e2)}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pie a{text-decoration:none}
.pie a:hover{color:#fff;text-decoration:underline}
.pie__base{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e1);margin-top:var(--e5);padding-top:var(--e3);font-size:13.5px}.pie__base::before{content:"";position:absolute;top:0;left:var(--e2);right:var(--e2);height:1px;background:rgba(255,255,255,.14)}@media (min-width:720px){.pie__base::before{left:var(--e4);right:var(--e4)}}
.pie__base a{text-decoration:underline;text-underline-offset:3px}
@media (min-width:720px){.pie__in{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.pie__in{grid-template-columns:1.6fr 1fr 1.2fr 1fr}}

/* cabecera de páginas interiores */
.cabeza-pag{position:relative;overflow:hidden;background:var(--marino);color:var(--claro);padding:var(--e6) 0 calc(var(--e6) + 40px);clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),64% 100%,0 calc(100% - 24px))}
.cabeza-pag__marca{position:absolute;right:-4%;bottom:-38%;width:min(52vw,700px);color:var(--azul)}
.cabeza-pag .env{position:relative}
.cabeza-pag h1{color:#fff;font-weight:800;font-size:clamp(2.2rem,1.3rem + 3.2vw,4rem);line-height:1.02;text-transform:uppercase;max-width:20ch;margin-bottom:var(--e3)}
.cabeza-pag__txt{max-width:56ch;font-size:18px}
.migas{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--e4);color:var(--claro)}
.migas a{color:var(--amarillo);text-decoration:none}
.ficha{margin:var(--e4) 0 0;display:grid;gap:0 var(--e4);max-width:1000px}
.ficha>div{border-top:1px solid rgba(255,255,255,.22);padding:12px 0}
.ficha dt{font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amarillo)}
.ficha dd{margin:4px 0 0;color:#fff;font-weight:600;line-height:1.35}
@media (min-width:720px){.ficha{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.ficha{grid-template-columns:1.4fr 1fr .7fr 1.2fr}}

/* memoria descriptiva */
.memo__portada{max-width:1280px;margin:calc(-1 * var(--e5)) auto 0;padding:0 var(--e2);position:relative;z-index:2}
.mosaico{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(340px,48vw,620px)}
.mosaico img{width:100%;height:100%;object-fit:cover;min-height:0}
.mosaico img:first-child{grid-row:span 2}
@media (max-width:719px){.mosaico{grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;height:clamp(380px,110vw,560px)}.mosaico img:first-child{grid-row:auto;grid-column:span 2}}
@media (min-width:720px){.memo__portada{padding:0 var(--e4)}}
.memo{display:grid;gap:var(--e4);padding-top:var(--e6);padding-bottom:var(--e6)}
.memo__indice p{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--azul);margin-bottom:var(--e1)}
.memo__indice ol{list-style:none;margin:0;padding:0;border-left:3px solid var(--hueso)}
.memo__indice a{display:block;padding:7px 0 7px var(--e2);margin-left:-3px;border-left:3px solid transparent;text-decoration:none;font-family:var(--display);font-weight:600;font-size:15px;color:var(--gris)}
.memo__indice a:hover,.memo__indice a.activo{color:var(--marino);border-left-color:var(--amarillo)}
.memo__indice span{color:var(--azul);font-weight:800;margin-right:4px}
.memo__sec{padding:var(--e4) 0;border-top:1px solid var(--linea)}
.memo__sec:first-child{border-top:0;padding-top:0}
.memo__sec h2{font-weight:800;font-size:clamp(1.35rem,1.15rem + .7vw,1.75rem);text-transform:uppercase;letter-spacing:.02em;margin-bottom:var(--e2)}
.memo__sec h2 span{color:var(--azul);margin-right:6px}
.memo__sec p{max-width:68ch}
.alcance{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.alcance li{position:relative;padding-left:26px;max-width:62ch}
.alcance li::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;background:var(--amarillo);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
.datos-t{border-collapse:collapse;width:100%;max-width:760px}
.datos-t th,.datos-t td{text-align:left;padding:12px var(--e2) 12px 0;border-bottom:1px solid var(--linea);vertical-align:top}
.datos-t th{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--azul);width:42%}
.datos-t td{font-weight:600;color:var(--marino)}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.galeria figure{margin:0}
.galeria a{display:block;overflow:hidden;cursor:zoom-in}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.galeria a:hover img{transform:scale(1.04)}
.galeria figcaption{font-size:13.5px;color:var(--gris);margin-top:6px;line-height:1.4}
@media (min-width:900px){
  .memo{grid-template-columns:240px 1fr;column-gap:var(--e6)}
  .memo__indice{position:sticky;top:calc(var(--cab) + 32px);align-self:start}
  .galeria{grid-template-columns:repeat(3,1fr)}
}
.memo__nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2);padding-bottom:var(--e6)}
.memo__nav a{display:block;background:var(--hueso);padding:var(--e3);text-decoration:none;font-family:var(--display);font-weight:800;font-size:clamp(1.05rem,1rem + .4vw,1.35rem);color:var(--marino);border-top:4px solid var(--amarillo)}
.memo__nav a:last-child{text-align:right}
.memo__nav span{display:block;font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--azul);margin-bottom:4px}
.memo__nav a:hover{background:var(--marino);color:#fff}
.memo__nav a:hover span{color:var(--amarillo)}

/* cuadro de obras */
.cuadro{padding:var(--e6) 0 var(--e7);background:var(--hueso)}
.cuadro .titulo{margin-bottom:var(--e5)}
.tabla{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45;background:#fff}
.tabla th{font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--marino);text-align:left;padding:14px var(--e2)}
.tabla td{padding:14px var(--e2);border-bottom:1px solid var(--linea);vertical-align:top}
.tabla td:first-child{font-family:var(--display);font-weight:800;color:var(--marino);white-space:nowrap}
.tabla td:nth-child(2){font-family:var(--display);font-weight:700;color:var(--marino);width:22%}
.tabla td:last-child{white-space:nowrap;color:var(--gris)}
@media (max-width:719px){
  .tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabla,.tabla tbody,.tabla tr,.tabla td{display:block;width:auto}
  .tabla tr{display:grid;grid-template-columns:auto 1fr;gap:2px var(--e2);padding:var(--e2);border-bottom:1px solid var(--linea)}
  .tabla td{border:0;padding:0}
  .tabla td:nth-child(2){grid-column:1/-1;order:3;width:auto}
  .tabla td:nth-child(3){grid-column:1/-1;order:4}
  .tabla td:last-child{text-align:right}
}

/* visor de fotos */
.visor{position:fixed;inset:0;z-index:60;background:rgba(7,20,36,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--e5) var(--e2)}
.visor[hidden]{display:none}
.visor img{max-width:100%;max-height:80vh;object-fit:contain}
.visor__pie{color:var(--claro);margin-top:var(--e2);text-align:center}
.visor__cerrar{position:absolute;top:14px;right:14px;background:var(--amarillo);color:var(--marino);border:0;font-family:var(--display);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px;padding:11px 16px;cursor:pointer}

/* aparición al hacer scroll */
.js .revela{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .revela.vista{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .portada__marca{animation:none}
  .js .revela{opacity:1;transform:none;transition:none}
  .srv__img img,.obra-t__img,.galeria img{transition:none}
}

.obra-t__lista{list-style:none;margin:0 0 var(--e3);padding:0;display:grid;gap:6px}
.obra-t__lista li{position:relative;padding-left:20px;font-size:15.5px;color:#fff}
.obra-t__lista li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;background:var(--amarillo)}
