/* Construcciones Gaspar · estilos (v2: estilo limpio, cabecera blanca, Oswald + Inter) */
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-weight:500;font-display:swap;src:url(fonts/oswald-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Oswald';font-weight:700;font-display:swap;src:url(fonts/oswald-latin-700-normal.woff2) format('woff2')}

:root{
  --navy:#0A192F;--navy2:#112240;--navy3:#1B2E52;
  --lad:#D9672B;--lad-d:#B9531C;--lad-l:#FCEFE7;
  --cem:#F3F4F6;--l1:#F1F5F9;--l2:#E2E8F0;--l3:#CBD5E1;
  --txt:#1E293B;--txt2:#475569;--txt3:#64748B;--suave:#A8B3C7;
  --r:3px;
  --sh:0 10px 30px -10px rgba(10,25,47,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:smooth;scroll-padding-top:88px;color-scheme:light;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--txt);font:400 16px/1.65 'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3{margin:0;color:var(--navy);text-wrap:balance}
h1,h2{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(34px,4.6vw,50px);margin-bottom:16px}
h3{font-family:'Inter',sans-serif;font-weight:600;font-size:19px;line-height:1.3;margin-bottom:10px;letter-spacing:-.01em}
p{margin:0 0 12px}
a{color:inherit}
img{max-width:100%;height:auto}
.w{max-width:1240px;margin:0 auto;padding:0 24px}
section{padding:104px 0}
@media(max-width:700px){section{padding:72px 0}.w{padding:0 20px}}
.gris{background:var(--cem)}
.navy{background:var(--navy);color:#fff}
.navy h2,.navy h3{color:#fff}
.txt{color:var(--txt2);max-width:52ch}
.i{width:1.2em;height:1.2em;flex:none}
:focus-visible{outline:2px solid var(--lad);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:60}
.skip:focus{left:8px;top:8px}

.kicker{display:block;font:600 13px/1.2 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--lad-d);margin-bottom:12px}
.kicker.claro{color:#EE8F57}
.sh{margin-bottom:52px;max-width:720px}
.sh.split{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px}
.sh.split h2{margin:0;max-width:16ch}
.sh.split p{color:var(--txt2);max-width:40ch;font-size:15px;margin:0}
.sh.centro{text-align:center;margin-left:auto;margin-right:auto;max-width:640px}
.navy .sh p{color:var(--suave)}
@media(max-width:800px){.sh.split{flex-direction:column;align-items:flex-start}}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;font:500 16px/1.2 'Inter',sans-serif;text-decoration:none;border:0;border-radius:var(--r);background:var(--lad);color:#fff;cursor:pointer;transition:background .25s,color .25s,transform .25s var(--ease)}
.btn:hover{background:var(--lad-d)}
.btn .i{transition:transform .3s var(--ease)}
.btn:hover .i{transform:translateX(4px)}
.btn.suave{background:rgba(255,255,255,.1);backdrop-filter:blur(4px)}
.btn.suave:hover{background:rgba(255,255,255,.2)}
.btn.navy{background:var(--navy)}
.btn.navy:hover{background:var(--navy3)}
.btn.full{width:100%;padding:18px}
.btn:disabled{opacity:.7;cursor:wait}
.cta{display:flex;flex-wrap:wrap;gap:14px}
@media(max-width:560px){.cta .btn{width:100%}}

/* cabecera */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);border-bottom:1px solid var(--l1);padding-top:env(safe-area-inset-top,0px);transition:box-shadow .3s}
.cab.scroll{box-shadow:0 8px 24px -16px rgba(10,25,47,.35)}
.cab-in{height:80px;display:flex;align-items:center;gap:24px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);margin-right:auto}
.marca img{height:38px;width:auto}
.marca span{font:700 25px/1 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.marca small{display:block;font:600 10px/1 'Inter',sans-serif;letter-spacing:.2em;color:var(--lad-d);margin-bottom:3px}
.cab nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0}
.cab nav a{text-decoration:none;font-size:14.5px;font-weight:500;color:var(--txt);transition:color .2s}
.cab nav a:hover{color:var(--lad-d)}
.solo-movil{display:none}
.cab-btn{padding:11px 22px;font-size:14.5px;margin-left:12px}
.menu-btn{display:none;background:none;border:0;color:var(--navy);padding:8px;margin-right:-8px;cursor:pointer}
.menu-btn svg{display:block}
@media(max-width:900px){
  .cab-in{height:68px}
  .menu-btn{display:block}
  .cab-btn{display:none}
  .solo-movil{display:list-item}
  .cab nav ul{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--l2);padding:8px 0 14px;box-shadow:0 20px 30px -20px rgba(10,25,47,.3)}
  .cab nav ul.abierto{display:flex}
  .cab nav a{display:block;padding:13px 20px;font-size:17px}
}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;padding:112px 0 0;overflow:hidden;isolation:isolate}
.hero-marca{position:absolute;z-index:-1;right:-6%;top:-4%;width:min(760px,70vw);height:auto;opacity:.05;pointer-events:none}
.hero-in{max-width:1240px}
.hero h1{color:#fff;font-size:clamp(46px,7vw,84px);line-height:1.04;max-width:13ch;margin-bottom:26px}
.hero h1 span{color:var(--lad)}
.hero .lead{font-size:clamp(17px,1.6vw,20px);font-weight:400;color:#C3CBDA;max-width:58ch;margin-bottom:40px}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);margin:88px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.cifras>div{padding:28px 24px 34px 0}
.cifras>div+div{padding-left:24px;border-left:1px solid rgba(255,255,255,.1)}
.cifras dt{font:700 clamp(34px,4vw,48px)/1 'Oswald',sans-serif;color:#fff}
.cifras dd{margin:8px 0 0;color:var(--suave);font-size:14px;line-height:1.45}
@media(max-width:800px){
  .hero{padding-top:72px}
  .cifras{grid-template-columns:1fr 1fr;margin-top:64px}
  .cifras>div{padding:22px 16px 24px 0}
  .cifras>div:nth-child(3){padding-left:0;border-left:0}
  .cifras>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
}

/* barra de confianza */
.confianza{padding:0;background:#fff;border-bottom:1px solid var(--l2)}
.conf-in{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:34px;padding-bottom:34px}
.conf-in>div{display:flex;gap:14px;align-items:flex-start}
.conf-in .i{width:30px;height:30px;color:var(--navy)}
.conf-in b{display:block;font-weight:600;color:var(--navy);font-size:15.5px}
.conf-in small{display:block;color:var(--txt3);font-size:13.5px;line-height:1.5;margin-top:3px}
@media(max-width:1000px){.conf-in{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.conf-in{grid-template-columns:1fr;gap:22px}}

/* servicios */
.servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.srv{display:flex;flex-direction:column;background:#fff;border:1px solid var(--l1);padding:34px 32px;text-decoration:none;color:inherit;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.srv:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--l2)}
.srv-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}
.srv-ic .i{width:40px;height:40px;color:var(--lad)}
.tag{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--txt3);border:1px solid var(--l2);padding:4px 9px;border-radius:2px}
.srv p{color:var(--txt2);font-size:14.5px;margin-bottom:16px}
.srv ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:6px;font-size:14px;color:var(--txt2)}
.srv li{padding-left:18px;position:relative}
.srv li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1.5px;background:var(--lad)}
.srv-acc{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--navy)}
.srv-acc .i{transition:transform .3s var(--ease),color .3s}
.srv:hover .srv-acc .i{transform:translateX(6px);color:var(--lad)}
@media(max-width:1000px){.servicios{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:640px){.servicios{grid-template-columns:1fr}.srv{padding:28px 24px}}

/* obras */
.obras{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}
.obras.sin-mapa{grid-template-columns:1fr;max-width:760px}
.obras-datos{display:grid;gap:0;margin:30px 0 34px;border-top:1px solid var(--l2)}
.obras-datos>div{display:flex;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--l2)}
.obras-datos b{font:700 56px/1 'Oswald',sans-serif;color:var(--lad);min-width:2.1ch}
.obras-datos small{font-size:15px;color:var(--txt2);line-height:1.45}
.mapa{position:relative;aspect-ratio:4/3;background:var(--navy);color:#fff;overflow:hidden;border-radius:var(--r);
  background-image:linear-gradient(var(--navy2) 1px,transparent 1px),linear-gradient(90deg,var(--navy2) 1px,transparent 1px);background-size:44px 44px}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.mapa-aviso{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}
.mapa-aviso .pin .i{width:44px;height:44px;color:var(--lad)}
.mapa-aviso small{color:var(--suave);max-width:42ch;font-size:13px;line-height:1.5}
@media(max-width:900px){.obras{grid-template-columns:1fr;gap:40px}.mapa{aspect-ratio:1/1}}

/* por qué elegirnos */
.por{display:grid;grid-template-columns:1fr 2fr;gap:64px}
.por-izq{align-self:start;position:sticky;top:120px}
.por .rea{display:block;width:170px;height:auto;margin-top:26px;border:1px solid var(--l2);background:#fff;padding:10px}
.puntos{list-style:none;margin:0;padding:0;display:grid;gap:44px}
.puntos li{display:flex;gap:28px;border-top:1px solid var(--l3);padding-top:30px}
.num{font:700 40px/1 'Oswald',sans-serif;color:var(--l3);min-width:2ch}
.puntos h3{font-size:21px}
.puntos p{color:var(--txt2);font-size:15px;margin:0;max-width:62ch}
@media(max-width:900px){.por{grid-template-columns:1fr;gap:44px}.por-izq{position:static}.puntos{gap:30px}.puntos li{gap:18px;padding-top:24px}.num{font-size:32px}}

/* proceso */
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pasos li{border-top:2px solid var(--navy);padding-top:22px}
.pasos .num{display:block;margin-bottom:16px;color:var(--lad)}
.pasos p{color:var(--txt2);font-size:15px;margin:0}
@media(max-width:900px){.pasos{grid-template-columns:1fr 1fr;gap:36px 24px}}
@media(max-width:520px){.pasos{grid-template-columns:1fr;gap:28px}}

/* contacto */
.fm{max-width:720px;margin:0 auto;background:#fff;color:var(--txt);border-radius:6px;padding:48px;display:grid;gap:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.fm label{display:grid;gap:8px;font-size:14px;font-weight:500;color:#374151}
.fm input,.fm select,.fm textarea{font:inherit;font-size:16px;color:var(--txt);width:100%;padding:13px 16px;border:1px solid var(--l2);border-radius:2px;background:#F9FAFB;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.fm input::placeholder,.fm textarea::placeholder{color:#9CA3AF}
.fm select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A192F' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:0;background-color:#fff;border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.fm textarea{resize:vertical;min-height:110px}
.fm .r{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fm .opc{font-weight:400;color:var(--txt3)}
.fm .ok{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;line-height:1.5;color:var(--txt2)}
.fm .ok input{width:18px;height:18px;margin:2px 0 0;padding:0;flex:none;-webkit-appearance:auto;appearance:auto;accent-color:var(--navy)}
.fm .info{font-size:12px;line-height:1.55;color:var(--txt3);margin:0}
.fm .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fm .estado{margin:0;font-size:15px;font-weight:500}
.fm .estado:empty{display:none}
.fm .estado.bien{color:#166534;background:#ECFDF3;padding:12px 16px}
.fm .estado.mal{color:#9F1D1D;background:#FEF2F2;padding:12px 16px}
.directo{list-style:none;margin:56px auto 0;padding:0;max-width:1080px;display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:24px 32px;color:var(--suave);font-size:14px}
.directo li{display:flex;gap:12px;align-items:flex-start}
.directo .i{width:22px;height:22px;color:var(--lad);margin-top:2px}
.directo small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7D8AA5;margin-bottom:3px}
.directo a{color:#fff;text-decoration:none;font-weight:500;font-size:15.5px;overflow-wrap:anywhere}
.directo a:hover{color:var(--lad)}
@media(max-width:900px){.directo{grid-template-columns:1fr 1fr;justify-content:stretch}}
@media(max-width:640px){.fm{padding:28px 20px}.fm .r{grid-template-columns:1fr}.directo{grid-template-columns:1fr;gap:18px}}

/* enlace particulares en el hero */
.hero-part{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:#C3CBDA;font-size:14.5px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px;transition:color .2s,border-color .2s}
.hero-part:hover{color:#fff;border-color:var(--lad)}
.hero-part .i{transition:transform .3s var(--ease)}
.hero-part:hover .i{transform:translateX(4px)}

/* trabajos realizados */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:-20px 0 30px}
.filtros button{font:500 14px/1 'Inter',sans-serif;padding:11px 18px;border:1px solid var(--l2);background:#fff;color:var(--txt);border-radius:2px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filtros button:hover{border-color:var(--navy)}
.filtros button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.trab{all:unset;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;background:#fff;border:1px solid var(--l1);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.trab[hidden]{display:none}
.trab:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.trab:focus-visible{outline:2px solid var(--lad);outline-offset:3px}
.trab-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--l1)}
.trab-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.trab:hover .trab-img img{transform:scale(1.04)}
.trab-n,.trab-nal{position:absolute;bottom:12px;font:600 12px/1 'Inter',sans-serif;padding:7px 10px;border-radius:2px}
.trab-n{right:12px;background:rgba(10,25,47,.82);color:#fff}
.trab-nal{left:12px;background:#fff;color:var(--navy)}
.trab-txt{display:grid;gap:4px;padding:20px 22px 22px}
.trab-txt small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lad-d)}
.trab-txt b{font-weight:600;font-size:17px;color:var(--navy);line-height:1.35}
.trab-txt em{font-style:normal;font-size:14px;color:var(--txt3);display:flex;align-items:center;gap:5px}
.trab-txt em .i{width:15px;height:15px}
.anim .trab.rv{transition:opacity .7s var(--ease),transform .4s var(--ease),box-shadow .3s var(--ease)}
@media(max-width:1000px){.galeria{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:640px){.galeria{grid-template-columns:1fr}.filtros{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding-right:20px;scrollbar-width:none}.filtros button{flex:none}}
.aviso-admin{padding:20px 24px;border:1px dashed var(--l3);background:var(--cem);color:var(--txt2);font-size:15px}

/* visor de fotos */
.visor{border:0;padding:0;margin:auto;width:min(1200px,100vw);max-width:100vw;max-height:100vh;background:transparent;color:#fff;overflow:visible}
.visor::backdrop{background:rgba(5,12,24,.92)}
.visor figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 72px 20px}
.visor img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;background:#111}
.visor figcaption{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;font-size:14px;color:#C3CBDA}
.visor .v-cap{display:grid;gap:2px}
.visor .v-cap small{color:#EE8F57;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.visor .v-cap b{color:#fff;font-weight:600;font-size:16px}
.visor .v-cap em{font-style:normal;display:flex;align-items:center;gap:5px}
.visor .v-cap .i{width:14px;height:14px}
.visor .v-cnt{white-space:nowrap}
.visor button{position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;cursor:pointer;width:48px;height:48px;display:grid;place-items:center;border-radius:2px;transition:background .2s}
.visor button:hover{background:rgba(255,255,255,.22)}
.visor button svg{width:26px;height:26px}
.v-cerrar{top:4px;right:12px;font-size:32px;line-height:1}
.v-ant{left:10px;top:calc(50% - 40px)}
.v-sig{right:10px;top:calc(50% - 40px)}
.visor.una .v-ant,.visor.una .v-sig,.visor.una .v-cnt{display:none}
@media(max-width:700px){.visor figure{padding:56px 0 16px}.visor figcaption{padding:0 16px}.v-ant,.v-sig{top:auto;bottom:-60px}.v-ant{left:calc(50% - 56px)}.v-sig{right:calc(50% - 56px)}}

/* contacto: pestañas empresa / particular */
.perfiles{display:flex;justify-content:center;gap:0;margin:0 auto 32px;max-width:520px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:4px;border-radius:4px}
.perfiles button{flex:1;font:500 15px/1.2 'Inter',sans-serif;padding:13px 14px;border:0;border-radius:2px;background:transparent;color:#C3CBDA;cursor:pointer;transition:background .2s,color .2s}
.perfiles button:hover{color:#fff}
.perfiles button[aria-selected="true"]{background:#fff;color:var(--navy)}
.panel-c[hidden]{display:none!important}
#panel-empresa{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;max-width:1080px;margin:0 auto;align-items:start}
#panel-empresa .fm{margin:0;max-width:none}
.planos{background:var(--navy2);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:32px 28px;display:grid;gap:18px}
.planos-ic .i{width:36px;height:36px;color:var(--lad)}
.planos b{display:block;font:700 24px/1.15 'Oswald',sans-serif;color:#fff;margin-bottom:10px}
.planos p{color:var(--suave);font-size:15px;margin-bottom:22px}
.planos .btn{width:100%;background:#fff;color:var(--navy);font-size:14.5px;padding:14px 16px;word-break:break-all}
.planos .btn:hover{background:var(--lad);color:#fff}
.planos .btn .i{transform:none!important}
@media(max-width:900px){#panel-empresa{grid-template-columns:1fr}}
.wa-cab{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--l2)}
.wa-logo{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff}
.wa-logo svg{width:26px;height:26px}
.wa-cab b{display:block;font:700 22px/1.15 'Oswald',sans-serif;color:var(--navy)}
.wa-cab small{color:var(--txt2);font-size:14px}
.fotos-tip{background:var(--cem);padding:16px 18px;font-size:14px;color:var(--txt2)}
.fotos-tip b{color:var(--navy);font-weight:600}
.fotos-tip ul{margin:8px 0 0;padding-left:18px;display:grid;gap:3px}
.btn.wa{background:#1DA851}
.btn.wa:hover{background:#178C43}

/* trabaja con nosotros */
.empleo{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
.perfiles-lista{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.perfiles-lista li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--l1);padding:16px 18px;font-weight:500;font-size:15px;color:var(--navy)}
.perfiles-lista .i{width:26px;height:26px;color:var(--lad)}
.empleo-card{background:var(--navy);color:#fff;padding:34px 30px;border-radius:6px;display:grid;gap:16px}
.empleo-card b{font:700 26px/1.1 'Oswald',sans-serif}
.empleo-card p{color:var(--suave);font-size:15px;margin:0}
.chk-l{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.chk-l li{display:flex;gap:10px;align-items:flex-start}
.chk-l .i{width:18px;height:18px;color:var(--lad);margin-top:3px;stroke-width:2.4}
.empleo-card .btn{background:#fff;color:var(--navy);font-size:15px;overflow-wrap:anywhere}
.empleo-card .btn:hover{background:var(--lad);color:#fff}
.empleo-card .btn .i{transform:none!important}
.empleo-card small{font-size:12px;line-height:1.5;color:#8C97B0}
.empleo-card small a{color:#C3CBDA}
@media(max-width:900px){.empleo{grid-template-columns:1fr;gap:36px}}
@media(max-width:520px){.perfiles-lista{grid-template-columns:1fr}.empleo-card{padding:28px 22px}}

/* financiación */
.fin{background:#fff;padding:64px 0;border-top:1px solid var(--l2)}
.fin-in{display:grid;gap:28px}
.fin-t{font-size:clamp(26px,3vw,32px)}
.fin p{max-width:82ch;color:var(--txt2);font-size:15px}
.fin-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px 30px;padding:24px 28px;border:1px solid var(--l2)}
.fin-logos img{width:auto;height:52px}
.fin-logos img[src*="fin-fondos"]{height:42px}
.fin-logos img[src*="fin-ministerio"],.fin-logos img[src*="fin-cam"]{height:62px}
.fin-logos img[src*="fin-sepe"]{height:56px}
@media(max-width:1000px){.fin-logos{justify-content:flex-start}}
@media(max-width:600px){.fin-logos{gap:16px 20px;padding:18px}.fin-logos img{height:40px}.fin-logos img[src*="fin-fondos"]{height:32px}.fin-logos img[src*="fin-ministerio"],.fin-logos img[src*="fin-cam"]{height:50px}.fin-logos img[src*="fin-sepe"]{height:44px}}

/* pie */
footer{background:var(--navy2);color:#94A3B8;padding:44px 0;font-size:14px}
.pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}
.pie .marca{color:#fff;margin:0}
.pie .marca img{height:34px}
.pie .marca span{font-size:21px}
.pie p{margin:0}
footer .legal-links{display:flex;flex-wrap:wrap;gap:6px 22px}
footer a{text-decoration:none;transition:color .2s}
footer .legal-links a:hover{color:#fff}
@media(max-width:700px){.pie{flex-direction:column;align-items:flex-start}}

/* barra de administración de WordPress */
.admin-bar .cab{top:32px}
@media(max-width:782px){.admin-bar .cab{top:46px}}
@media(max-width:600px){.admin-bar .cab{top:0}}

/* páginas legales */
.legal{background:#fff;padding:72px 0 96px}
.legal .w{max-width:800px}
.legal h1{font-size:clamp(38px,5.5vw,56px);margin-bottom:28px}
.legal h2{font-size:26px;margin:38px 0 10px}
.legal p,.legal li{color:var(--txt2)}
.legal table{border-collapse:collapse;width:100%;font-size:15px;margin:10px 0}
.legal th,.legal td{border:1px solid var(--l2);padding:8px 10px;text-align:left;vertical-align:top}
.legal mark{background:#FEF3C7;padding:0 4px;color:inherit}

/* aparición al hacer scroll */
.anim .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.anim .rv.in{opacity:1;transform:none}
.anim .srv.rv{transition:opacity .7s var(--ease),transform .4s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.anim .srv.rv.in:hover{transform:translateY(-3px)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
