/* Theme Name: IDRA Ingenieros
Version: 1.0.0
Description: Tema de bloques para IDRA Ingenieros.
Author: IDRA
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: idra */
:root{--ink:#163c40;--teal:#007f88;--paper:#f4f7f6;--line:#dce5e2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #009ca8;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(42px,6vw,82px);font-weight:500}h2{font-size:clamp(32px,4vw,52px);font-weight:500}h3{font-size:25px;font-weight:500}p{max-width:65ch}header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px max(5vw,24px);border-bottom:1px solid var(--line)}.logo img{width:155px}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav a{text-decoration:none}.nav a:hover{color:var(--teal)}.nav .contact-link{background:var(--ink);color:white;padding:12px 22px}.wrap{max-width:1320px;margin:auto;padding:80px max(5vw,24px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:bold;color:var(--teal);margin-bottom:25px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;padding-top:65px;padding-bottom:65px}.hero p{color:#557073;font-size:18px}.hero-photo{height:580px;width:100%;object-fit:cover;border-radius:2px}.buttons{display:flex;gap:22px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-block;background:var(--teal);color:white;text-decoration:none;padding:15px 24px;font-size:14px}.text-link{text-decoration:none;border-bottom:1px solid;font-size:14px}.strip{background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:24px;padding:28px max(5vw,24px);font-size:13px}.strip span:after{content:' >';color:#72d3cf;margin-left:15px}.pale{background:var(--paper)}.intro{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:40px}.intro h2{max-width:620px;margin-bottom:0}.intro p{max-width:380px;color:#557073;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:38px 30px;background:white;border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;min-height:300px}.card .number{font-size:13px;color:var(--teal);margin-bottom:45px}.card p{font-size:15px;color:#557073}.card .more{margin-top:auto;font-size:13px;color:var(--teal)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split img{width:100%;height:400px;object-fit:cover}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.values p{color:#557073}.cta{background:var(--teal);color:white}.cta .eyebrow{color:#a1e2df}.cta .button{background:white;color:var(--ink)}footer{background:#123438;color:#d4e4e2;padding:55px max(5vw,24px)}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footbrand{font-size:25px;color:white;letter-spacing:-1px}.footgrid p,.footgrid a{font-size:13px}.footlinks{display:flex;flex-direction:column;gap:8px}.copyright{border-top:1px solid #426166;margin-top:40px;padding-top:20px;font-size:11px;color:#a1b6b7}.page-head{padding-bottom:50px}.page-head h1{max-width:900px}.lead{font-size:21px;color:#557073}.service-group{padding:35px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:26px;letter-spacing:-.025em;padding:12px 0}li{margin-bottom:10px;color:#557073}.service-group ul{columns:2;column-gap:65px;padding-left:22px}.steps{counter-reset:steps}.step{padding:22px 0;border-top:1px solid var(--line)}.step strong{display:block;font-size:18px}.step p{color:#557073;margin:8px 0}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact-item{padding:25px 0;border-top:1px solid var(--line)}.contact-item small{display:block;color:#557073}.contact-item a{font-size:26px;text-decoration:none}.note{font-size:12px;color:#557073}.empty{border:1px solid var(--line);padding:50px;background:var(--paper)}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;z-index:10;padding:12px}.mobile-menu{display:none}.wp-site-blocks{padding:0}.wp-block-post-content{margin:0}.wp-block-template-part{margin:0}@media(max-width:850px){header{flex-wrap:wrap;padding:20px 24px}.nav{gap:18px;flex-wrap:wrap;font-size:13px}.hero,.split,.contact-grid{grid-template-columns:1fr;gap:35px}.hero-photo{height:350px}.wrap{padding:55px 24px}.hero h1{max-width:700px}.cards,.values{grid-template-columns:1fr}.intro{display:block}.intro p{margin-top:25px}.strip{flex-wrap:wrap;padding:24px}.footgrid{grid-template-columns:1fr 1fr}.footgrid>div:first-child{grid-column:1/-1}.service-group ul{columns:1}.card{min-height:230px}.card .number{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Propuesta 2: portada panorámica y composición editorial */
header{padding:16px 4vw;min-height:96px;background:white;position:relative;z-index:2}.logo img{width:145px;height:auto}.nav{gap:40px;font-size:15px}.nav a{padding:12px 0;border-bottom:2px solid transparent}.nav a:hover{border-bottom-color:var(--teal)}h1,h2,h3{letter-spacing:-.055em}.hero-wide{position:relative;isolation:isolate;min-height:690px;height:calc(100svh - 96px);max-height:1050px;background:#142c2c;display:flex;align-items:center;overflow:hidden}.hero-wide-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-wide-image{object-position:62% center}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,24,26,.80),rgba(8,24,26,.39) 46%,rgba(8,24,26,.06) 100%)}.hero-wide-content{padding:65px 6vw 110px;color:white;max-width:1050px}.hero-wide .eyebrow{color:#b6eeeb;letter-spacing:.19em;font-size:12px}.hero-wide h1{font-weight:700;font-size:clamp(48px,6.7vw,104px);line-height:.99;letter-spacing:-.06em;margin-bottom:30px}.hero-wide-content>p:not(.eyebrow){font-size:20px;line-height:1.5}.hero-wide .button{background:var(--teal);padding:17px 26px;margin-top:8px}.hero-scroll{position:absolute;bottom:30px;left:6vw;color:white;text-decoration:none;font-size:12px;letter-spacing:.1em}.strip{background:#101d1e;padding:27px 6vw}.wrap{max-width:1500px;padding:95px 6vw}.pale{background:#f1f4f2}.intro{margin-bottom:55px}.intro h2{font-size:clamp(42px,4.8vw,70px)}.cards{gap:30px}.card{padding:0;border:0;background:transparent}.service-image{width:100%;height:255px;object-fit:cover;margin-bottom:24px}.card .number{margin-bottom:18px}.card h3{font-size:30px}.card p{font-size:16px}.card .more{padding-top:15px}.split{gap:8vw}.project-feature{background:#122c2e;color:white}.project-feature .eyebrow{color:#84d8d4}.featured-image{display:block;position:relative;text-decoration:none}.featured-image>img{width:100%;height:560px;object-fit:cover}.project-caption{padding:30px 0;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px}.project-caption p{font-size:12px;color:#a8cdca;grid-column:1/-1;margin:0}.project-caption h3{font-size:46px;margin:0}.project-caption span{text-align:right;font-size:14px}.cta{background:#007c85}.cta h2{font-size:clamp(38px,4.6vw,68px)}footer{background:#111f20}.project-tile{text-decoration:none;display:block;max-width:850px}.project-tile img{width:100%;height:430px;object-fit:cover;margin-bottom:25px}.project-tile h2{font-size:46px}.project-cover img{width:100%;height:620px;object-fit:cover}.project-facts{margin:0}.project-facts div{border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:20px}.project-facts dt{font-size:13px;color:#557073}.project-facts dd{margin:0;font-size:16px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:0}.project-gallery img{width:100%;height:380px;object-fit:cover}.energy-list{columns:2;column-gap:60px}@media(min-width:1600px){.hero-wide-content{padding-left:max(6vw,calc((100vw - 1500px)/2 + 90px))}}@media(max-width:850px){header{padding:14px 24px;gap:10px}.logo img{width:120px}.nav{gap:20px;font-size:13px}.wrap{padding:60px 24px}.hero-wide{height:760px;min-height:650px;max-height:none}.hero-wide-content{padding:70px 24px 100px}.hero-wide h1{font-size:clamp(48px,10vw,78px)}.hero-wide-content>p:not(.eyebrow){font-size:18px}.hero-wide-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(8,24,26,.82),rgba(8,24,26,.42))}.hero-scroll{left:24px}.featured-image>img{height:330px}.project-caption{display:block}.project-caption span{display:block;text-align:left;margin-top:12px}.project-caption h3{font-size:36px}.project-gallery{grid-template-columns:1fr}.project-gallery img{height:300px}.project-cover img{height:400px}.project-tile img{height:320px}.energy-list{columns:1}.service-image{height:280px}.cards{gap:45px}}@media(max-width:520px){header{display:block}.nav{justify-content:space-between;gap:5px;margin-top:12px;font-size:12px}.nav a{padding:8px 0}.hero-wide{height:720px}.hero-wide h1{font-size:49px}.hero-wide-content{padding-top:50px}.project-facts div{grid-template-columns:1fr;gap:5px}}

/* Logo corporativo original: versión blanca mediante CSS sobre fondos oscuros. */
header{background:#101719;border-bottom:1px solid #344044;color:white}.logo img{width:178px;height:auto;filter:brightness(0) invert(1)}.nav a:hover{color:#80d7d4;border-bottom-color:#80d7d4}.footer-logo{display:inline-block;margin-bottom:20px}.footer-logo img{width:195px;height:auto;filter:brightness(0) invert(1)}.logo--color img{filter:none}@media(max-width:850px){.logo img{width:145px}}@media(max-width:520px){.logo img{width:130px}}

@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/ibm-plex-sans-400.ttf") format("truetype")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/ibm-plex-sans-500.ttf") format("truetype")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/ibm-plex-sans-600.ttf") format("truetype")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/ibm-plex-sans-700.ttf") format("truetype")}
body,button,input,textarea,select{font-family:"IBM Plex Sans","Trebuchet MS",Arial,sans-serif}h1,h2,h3{letter-spacing:-.035em}.hero-wide h1{font-weight:600;letter-spacing:-.04em}.nav{font-weight:500}

.services-nav{display:flex;align-items:center;gap:4px}.services-dropdown{position:relative}.services-dropdown summary{font-family:inherit;font-size:18px;letter-spacing:0;line-height:1;padding:15px 8px;list-style:none;color:white}.services-dropdown summary::-webkit-details-marker{display:none}.services-dropdown[open] summary{color:#80d7d4}.services-submenu{position:absolute;top:100%;left:-85px;width:300px;background:#101719;box-shadow:0 18px 45px #0003;border:1px solid #344044;padding:14px;z-index:50}.nav .services-submenu a{display:block;color:white;padding:14px 12px;font-size:15px;border:0}.nav .services-submenu a:hover{background:#244548;color:#b6eeeb}.breadcrumb{font-size:13px;text-decoration:none;display:inline-block;margin-bottom:30px;border-bottom:1px solid #99b7b4}.service-hero{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);min-height:570px}.service-hero-copy{padding:65px 5vw 70px 6vw;align-self:center}.service-hero h1{font-size:clamp(42px,4.4vw,68px);font-weight:500;line-height:1.07}.service-hero .eyebrow{margin-bottom:20px}.service-hero .lead{font-size:19px}.service-hero>img{width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center}.friendly-grid,.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:50px}.friendly-card{border-top:2px solid #96c4c0;padding:28px 0 10px}.friendly-card h3{font-size:26px;line-height:1.15;margin:18px 0}.friendly-card p{color:#557073;font-size:16px}.specialty-card{background:white;padding:30px}.specialty-card h3{font-size:28px;min-height:62px}.specialty-card>p{color:#557073}.specialty-card summary{font-size:15px;letter-spacing:0;display:flex;justify-content:space-between;align-items:center;list-style:none}.specialty-card summary::-webkit-details-marker{display:none}.specialty-card details[open] summary span{transform:rotate(45deg)}.specialty-card .service-group{padding:15px 0;margin-top:25px}.specialty-card ul{columns:1;font-size:14px;padding-left:18px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.process-number{font-size:44px;color:var(--teal);display:block;margin-bottom:25px}.process-grid h3{font-size:23px}.process-grid p{font-size:15px;color:#557073}.related-services{display:flex;gap:35px;flex-wrap:wrap}.related-services a{font-size:25px;text-decoration:none;border-bottom:1px solid;padding-bottom:8px}.client-band{margin-top:55px;padding:35px;background:var(--paper)}.client-band h3{font-size:25px}.client-band p{margin-bottom:0;color:#557073}.business-lines{padding-top:0}.business-line{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;text-decoration:none;margin-bottom:75px}.business-line img{width:100%;height:390px;object-fit:cover}.business-line h2{font-size:clamp(34px,3.8vw,56px)}.business-line p:not(.eyebrow){color:#557073}.business-line:nth-child(even) img{order:2}@media(max-width:1000px){.friendly-grid,.specialty-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.specialty-card h3{min-height:0}.service-hero{grid-template-columns:1fr}.service-hero>img{min-height:0;height:400px}.service-hero-copy{padding:50px 6vw}.services-submenu{left:-90px}.business-line{gap:35px}.business-line img{height:320px}}@media(max-width:650px){.business-line{grid-template-columns:1fr;margin-bottom:55px}.business-line:nth-child(even) img{order:0}.business-line img{height:280px}.process-grid{grid-template-columns:1fr}.service-hero>img{height:300px}.service-hero-copy{padding:40px 24px}.service-hero h1{font-size:44px}.services-nav{gap:0}.services-dropdown summary{padding:10px 4px;font-size:15px}.services-submenu{left:-95px;width:260px}.nav .services-submenu a{font-size:14px;white-space:normal}.related-services a{font-size:22px}}

/* Submenú por cursor y teclado; en pantallas táctiles conserva el botón nativo. */
@media(hover:hover){.services-nav{position:relative}.services-nav .services-dropdown{position:static}.services-nav .services-dropdown:not([open])>.services-submenu{display:block;visibility:hidden;opacity:0;pointer-events:none}.services-nav:hover .services-dropdown>.services-submenu,.services-nav:focus-within .services-dropdown>.services-submenu{display:block;visibility:visible;opacity:1;pointer-events:auto}.services-nav .services-submenu{top:100%;left:0}.services-nav:hover>.services-dropdown>summary{color:#80d7d4}}

.project-grid-nine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px;padding-top:0}.project-square-card{min-width:0}.project-square-photo{position:relative;display:block;aspect-ratio:1 / 1;overflow:hidden;background:#183b3d;text-decoration:none;isolation:isolate}.project-square-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-square-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(5,22,24,.85));z-index:1;pointer-events:none}.project-square-photo h2{position:absolute;left:25px;right:20px;bottom:25px;margin:0;color:white;font-size:clamp(25px,2.8vw,38px);line-height:1.1;z-index:2}.project-square-photo[href]:hover img{transform:scale(1.035)}.project-square-card>p{font-size:15px;color:#557073;margin:20px 0 10px}.project-placeholder>p{margin-bottom:0}@media(max-width:750px){.project-grid-nine{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 20px}.project-square-photo h2{left:18px;bottom:18px;font-size:27px}}@media(max-width:480px){.project-grid-nine{grid-template-columns:1fr}.project-square-photo h2{font-size:34px}}@media(prefers-reduced-motion:reduce){.project-square-photo img{transition:none}}

.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-top:0}.news-card>a:first-child{text-decoration:none}.news-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:25px}.news-card h2{font-size:28px;line-height:1.15}.news-card p:not(.eyebrow){color:#557073;font-size:15px}.news-meta{font-size:12px;color:#557073}.news-heading{max-width:1150px}.news-heading .eyebrow{margin-top:40px}.news-heading h1{font-size:clamp(38px,5vw,66px);line-height:1.08}.news-cover{margin:0 auto;max-width:1250px;padding:0 6vw}.news-cover img{width:100%;max-height:570px;object-fit:cover}.news-cover figcaption{font-size:11px;color:#557073;margin-top:8px}.news-body{max-width:950px;font-size:18px;line-height:1.8}.news-body>p{max-width:100%}.news-source{background:var(--paper);padding:25px;margin:40px 0;font-size:14px}.news-source p{margin-bottom:8px}@media(max-width:850px){.news-grid{grid-template-columns:1fr}.news-card img{aspect-ratio:16/9}.news-card h2{font-size:30px}.news-cover{padding:0 24px}.news-body{font-size:17px}}

.idra-blog .wp-block-post-template{gap:40px!important}.idra-blog .wp-block-post-featured-image{margin:0 0 25px}.idra-blog .wp-block-post-featured-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.idra-blog .wp-block-post-title{font-size:28px;line-height:1.18;margin:0 0 18px}.idra-blog .wp-block-post-title a{text-decoration:none}.idra-blog .wp-block-post-date{font-size:13px;color:#557073;margin-bottom:15px}.idra-blog .wp-block-post-excerpt{font-size:16px;color:#557073}.idra-blog h1{margin-bottom:45px}.idra-article h1{font-size:clamp(36px,4vw,64px);line-height:1.1;max-width:1100px}.idra-article .wp-block-post-date{margin:25px 0 40px}.idra-article .news-cover{padding:0;margin:0 0 40px}.idra-article .news-body{margin:auto}@media(max-width:780px){.idra-blog .wp-block-post-template{grid-template-columns:1fr!important}}

/* Cabecera sobre la fotografía de portada */
body.home header{position:absolute;top:0;left:0;right:0;z-index:20;background:transparent;border-bottom:0;color:white}
body.home.admin-bar header{top:32px}
body.home header .nav>a,body.home header .services-nav>a,body.home header summary{text-shadow:0 1px 6px rgba(0,0,0,.5)}
body.home .hero-wide{height:100svh;min-height:760px;max-height:1150px}
body.home .hero-wide-content{padding-top:160px;padding-bottom:65px}
body.home .hero-shade{background:linear-gradient(180deg,rgba(5,20,22,.55),transparent 30%),linear-gradient(90deg,rgba(5,20,22,.72),rgba(5,20,22,.12))}
@media(max-width:850px){body.home .hero-wide-content{padding-top:190px}body.home .hero-wide{min-height:800px;height:100svh}}
@media(max-width:782px){body.home.admin-bar header{top:46px}}
@media(max-width:520px){body.home .hero-wide-content{padding-top:220px}body.home .hero-wide{min-height:850px}}
