/* INDREC — superficies blancas y tipografía azul. El único fondo celeste es el banner de inicio. */
:root {
    --indrec-blue: #145296;
    --indrec-body: #285884;
    --indrec-line: #d4dfe9;
    --ink: var(--indrec-blue);
    --muted: var(--indrec-body);
    --off: #fff;
    --line: var(--indrec-line);
}
body { background: #fff; color: var(--indrec-blue); }
.site-header, .site-footer, .site-header .main-nav {
    background: #fff; color: var(--indrec-blue); border-color: var(--indrec-line);
}
.site-header { box-shadow: 0 1px 0 var(--indrec-line); }
.site-footer { border-top: 1px solid var(--indrec-line); }
.site-header .indrec-brand-caption, .site-footer .indrec-brand-caption,
.site-header .main-nav a, .site-footer .footer-links a, .site-footer h3 {
    color: var(--indrec-blue);
}
.site-footer p, .site-footer .footer-bottom { color: var(--indrec-body); }
.site-footer .footer-bottom { border-color: var(--indrec-line); }
.site-header .brand .indrec-official-logo, .site-footer .brand .indrec-official-logo {
    padding: 0; border: 0; border-radius: 0; box-shadow: none; background: #fff;
}
.site-header .brand .indrec-official-logo img, .site-footer .brand .indrec-official-logo img {
    width: 100%; height: auto; max-height: none; flex: none;
    aspect-ratio: 768 / 383; object-fit: contain;
    clip-path: inset(0 0 36% 0); transform: translateY(11%);
}
.site-header .main-nav a:hover, .site-footer .footer-links a:hover,
.case-crumb a:hover, .case-index a:hover {
    color: var(--indrec-blue); text-decoration: underline; text-underline-offset: 4px;
}
.site-header .menu-toggle, .nav-cta, .button, .button.outline, .cta-panel .button,
.case-hero-actions .button.outline, .case-contact .button, .pagination .current,
.filter-link.active, .filter-link:hover {
    background: #fff; color: var(--indrec-blue); border: 1px solid var(--indrec-blue);
}
.nav-cta:hover, .button:hover, .button.outline:hover, .case-hero-actions .button.outline:hover {
    background: #fff; color: var(--indrec-blue); text-decoration: underline; text-underline-offset: 3px;
}
.page-hero, .case-hero, .section.dark, .section.off, .hero, .hero-visual,
.statbar, .cta-panel, .aside-card, .empty-panel, .mini-facts > div,
.section.dark .method-card, .method-card, .case-cover, .case-cover img,
.case-cover figcaption, .case-facts-bar, .case-editorial, .case-aside-inner,
.case-gallery-item a, .case-video-section, .case-video, .case-conclusion, .case-contact,
.project-media, .project-media img, .project-card img[loading=lazy], .project-hero-image,
.hero-visual img, .prose blockquote, .tag {
    background: #fff; color: var(--indrec-blue); border-color: var(--indrec-line);
}
.hero:before { background: none; }
.hero-visual:after, .vertical-word, .project-media .index, .project-media:has(img) .index {
    background: #fff; color: var(--indrec-blue);
}
.page-hero, .case-hero, .section.dark, .statbar { border-bottom: 1px solid var(--indrec-line); }
p, .page-hero p, .hero .lead, .stat span, .section.dark p,
.section.dark .method-card p, .case-lead, .case-crumb, .case-hero-topline,
.case-section-heading p, .case-editorial p, .case-chapter p, .case-conclusion p,
.case-evidence-note, .case-spec small, .case-spec strong,
.case-facts-grid span, .case-facts-grid strong, .case-gallery-item figcaption,
.case-cover figcaption, .callout-note, .breadcrumb, .mini-facts span {
    color: var(--indrec-body);
}
.eyebrow, .eyebrow.accent, .eyebrow.lime, .hero h1 em, .stat strong,
.solution-card .number, .section.dark .method-card .number, .text-link,
.case-evidence-note strong, .case-gallery-item figcaption span, .case-index a {
    color: var(--indrec-blue);
}
.case-dot { background: var(--indrec-blue); box-shadow: none; }
.case-facts-bar, .case-conclusion, .case-contact, .case-aside-inner { border-color: var(--indrec-line); }

.ir26{--ink:var(--indrec-blue);--muted:var(--indrec-body);--line:var(--indrec-line);--blue:var(--indrec-blue);--sky:#6dc6fe;--ice:#9bd9fe;--paper:#fff;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}
.ir26 *{box-sizing:border-box}.ir26 figure,.ir26 p,.ir26 h1,.ir26 h2,.ir26 h3,.ir26 dl,.ir26 dd{margin:0}.ir26 a{text-decoration:none}.ir26 a:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px white}.ir26 .ir-wrap{width:min(1192px,calc(100% - 96px));margin-inline:auto}.ir26 .ir-label,.ir26 .ir-ref,.ir26 .ir-stamp,.ir26 small,.ir26 .ir-media>span,.ir26 .ir-covercase figcaption{font:700 .7rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.095em;text-transform:uppercase}.ir26 .ir-label{color:var(--muted);display:flex;align-items:center;gap:.62rem}.ir26 .ir-label i{display:inline-block;width:1.6rem;height:3px;background:var(--blue)}.ir26 .ir-invert{color:var(--ink)}
.ir26 h1,.ir26 h2,.ir26 h3{color:inherit;text-transform:none;font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.053em}.ir26 h2{font-size:clamp(2rem,3.65vw,3.45rem);line-height:1.08}.ir26 h3{font-size:1.6rem;line-height:1.14}.ir26 p{line-height:1.6}.ir26 img{display:block;max-width:100%}.ir26 .ir-hero{color:var(--ink);background:linear-gradient(108deg,var(--ice) 0%,var(--sky) 47%,#48b7ff 73%,#318ce7 100%)}.ir26 .ir-band,.ir26 .ir-casehead{color:var(--ink);background:white;border-bottom:1px solid var(--line)}.ir26 .ir-process{background:#fff;color:var(--ink);border-block:1px solid var(--line)}.ir26 .ir-process .ir-invert{color:var(--ink)}.ir26 .ir-cover{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:6%;align-items:center;padding-block:clamp(46px,5.6vw,86px)}.ir26 .ir-intro h1{font-size:clamp(3.8rem,6.8vw,6.6rem);line-height:.93;margin:1.45rem 0 1.25rem}.ir26 h1 span{color:var(--ink)}.ir26 .ir-role{font-weight:650;font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:-.025em;color:var(--ink)}.ir26 .ir-desc{max-width:44ch;margin-top:.65rem;font-size:1.03rem;color:var(--ink)}.ir26 .ir-actions{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin-top:1.7rem}.ir26 .ir-btn{color:var(--ink);background:white;border:1px solid var(--blue);display:inline-flex;align-items:center;justify-content:center;gap:1.35rem;padding:13px 19px;border-radius:3px;font-weight:700;font-size:.93rem;line-height:1.35}.ir26 .ir-btn:hover{background:white;text-decoration:underline;text-underline-offset:3px;box-shadow:inset 0 0 0 1px var(--blue)}.ir26 .ir-link-light,.ir26 .ir-back{color:var(--ink);text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:5px;font-size:.93rem}.ir26 .ir-hero-photo{background:white;box-shadow:0 6px 20px #1a58921a;border:1px solid var(--line)}.ir26 .ir-hero-photo>a{display:block;position:relative}.ir26 .ir-hero-photo img{aspect-ratio:1.72;width:100%;height:auto;object-fit:cover;object-position:50% 54%}.ir26 .ir-stamp{position:absolute;top:14px;left:14px;background:white;color:var(--ink);padding:5px 8px;font-size:.63rem}.ir26 .ir-hero-photo figcaption{padding:12px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;color:var(--ink)}.ir26 .ir-hero-photo small{display:block;color:var(--muted);font-size:.61rem;margin-bottom:1px}.ir26 .ir-hero-photo figcaption a{color:var(--ink);font-size:1.4rem;padding:4px 8px}
.ir26 .ir-section,.ir26 .ir-process,.ir26 .ir-old{padding-block:clamp(48px,6vw,88px)}.ir26 [id]{scroll-margin-top:95px}.ir26 .ir-sectionhead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}.ir26 .ir-sectionhead>.ir-label,.ir26 .ir-sectionhead .ir-label,.ir26 .ir-end .ir-label,.ir26 .ir-body .ir-label{margin:0 0 12px}.ir26 .ir-sectionhead>p,.ir26 .ir-end p:not(.ir-label){max-width:42ch;color:var(--muted);font-size:1rem}.ir26 .ir-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ir26 .ir-card{border:1px solid var(--line);background:#fff;overflow:hidden;border-radius:5px}.ir26 .ir-card-link{display:flex;flex-direction:column;height:100%;color:var(--ink)}.ir26 .ir-card:focus-within,.ir26 .ir-card:hover{border-color:var(--blue);box-shadow:0 5px 18px #112b420d}.ir26 .ir-media,.ir26 .ir-covercase{position:relative;background:white}.ir26 .ir-media{width:100%;aspect-ratio:1.72;border-bottom:1px solid var(--line);overflow:hidden}.ir26 .ir-media img,.ir26 .ir-covercase img{width:100%;height:100%;object-fit:cover}.ir26 .ir-cad{background:#fff}.ir26 .ir-cad img{object-fit:contain;padding:10px}.ir26 .ir-media>span,.ir26 .ir-covercase figcaption{position:absolute;left:10px;bottom:10px;padding:4px 7px;background:white;color:var(--muted);border:1px solid #d2dcd8;font-size:.57rem;letter-spacing:.055em}.ir26 .ir-card-copy{display:flex;flex-direction:column;flex:1;padding:21px}.ir26 .ir-ref{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.61rem}.ir26 .ir-ref b{white-space:nowrap;color:var(--muted);font-weight:500}.ir26 .ir-card h3{font-size:clamp(1.35rem,2.1vw,1.75rem);margin:12px 0 9px;letter-spacing:-.045em}.ir26 .ir-card-copy p{font-size:.94rem;line-height:1.5;color:var(--muted);margin-bottom:20px}.ir26 .ir-card-copy strong{margin-top:auto;color:#185b93;font-size:.85rem}.ir26 .ir-card-copy strong span{padding-left:5px}.ir26 .ir-process .ir-sectionhead>p{color:var(--muted)}.ir26 .ir-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.ir26 .ir-steps>div{border-top:1px solid var(--line);padding:18px 0 0}.ir26 .ir-steps small{color:var(--ink);font-size:.68rem}.ir26 .ir-steps h3{margin:.65rem 0;font-size:1.4rem;letter-spacing:-.03em}.ir26 .ir-steps p{color:var(--muted);font-size:.95rem}.ir26 .ir-end{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:clamp(46px,5vw,72px)}.ir26 .ir-end p:not(.ir-label){margin-top:.8rem;max-width:61ch}.ir26 .ir-btn-dark{background:white;color:var(--ink);white-space:nowrap}.ir26 .ir-btn-dark:hover{background:white}.ir26 .ir-band,.ir26 .ir-casehead{padding-block:clamp(38px,5vw,76px)}.ir26 .ir-band h1,.ir26 .ir-casehead h1{font-size:clamp(2.8rem,5.15vw,5.25rem);line-height:.98;margin:20px 0}.ir26 .ir-band .ir-wrap>p:last-child,.ir26 .ir-caseintro{color:var(--ink);font-size:1.14rem;max-width:56ch}.ir26 .ir-old{background:var(--paper)}.ir26 .ir-older{border-top:1px solid #bacacf}.ir26 .ir-older a{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid #bacacf;padding:19px 0;color:var(--ink);font-size:1.2rem;font-weight:600}.ir26 .ir-older a:hover,.ir26 .ir-more:hover{color:var(--ink)}.ir26 .ir-older b{color:var(--muted)}.ir26 .ir-back{display:inline-block;margin-bottom:35px}.ir26 .ir-casegrid,.ir26 .ir-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:8%;align-items:center}.ir26 .ir-covercase{aspect-ratio:1.65;overflow:hidden;border-radius:3px}.ir26 .ir-author{color:var(--ink);margin-top:1.5rem;font-weight:600}.ir26 .ir-author span{color:var(--ink);margin-inline:.5rem}.ir26 .ir-body{align-items:start}.ir26 .ir-body h2,.ir26 .ir-body h3{margin-bottom:.75rem}.ir26 .ir-body h3{margin-top:1.8rem;font-size:1.45rem}.ir26 .ir-body p:not(.ir-label){font-size:1.05rem;color:var(--muted)}.ir26 .ir-spec{background:var(--paper);border-left:3px solid var(--blue);padding:23px 26px}.ir26 .ir-spec dt{font-size:.78rem;color:var(--muted);margin-top:10px}.ir26 .ir-spec dd{font-weight:650;color:var(--ink);font-size:1rem;line-height:1.4}.ir26 .ir-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 19px}.ir26 .ir-gallery figure>a{background:white;display:block;position:relative;border:1px solid var(--line);aspect-ratio:1.5;overflow:hidden}.ir26 .ir-gallery img{height:100%;width:100%;object-fit:contain}.ir26 .ir-gallery a span{position:absolute;bottom:8px;right:8px;background:white;color:var(--ink);border-radius:2px;padding:2px 8px}.ir26 .ir-gallery figcaption{font-size:.88rem;line-height:1.45;color:var(--muted);margin-top:7px}.ir26 .ir-more{display:inline-block;color:var(--muted);font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:18px}
@media(max-width:940px){.ir26 .ir-wrap{width:calc(100% - 52px)}.ir26 .ir-cover{gap:4%}.ir26 .ir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ir26 .ir-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ir26 .ir-wrap{width:calc(100% - 36px)}.ir26 .ir-cover,.ir26 .ir-casegrid,.ir26 .ir-body{display:grid;grid-template-columns:1fr;gap:25px}.ir26 .ir-cover{padding-block:35px 28px}.ir26 .ir-intro h1{font-size:clamp(3.45rem,13.7vw,5rem);margin:.95rem 0}.ir26 .ir-actions{margin-top:1.1rem;gap:13px}.ir26 .ir-hero-photo img{aspect-ratio:1.95}.ir26 .ir-sectionhead,.ir26 .ir-end{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.ir26 .ir-sectionhead{margin-bottom:20px}.ir26 .ir-section,.ir26 .ir-process,.ir26 .ir-old{padding-block:39px}.ir26 .ir-steps{grid-template-columns:1fr;gap:20px}.ir26 .ir-card-copy{padding:17px}.ir26 .ir-grid{gap:15px}.ir26 .ir-back{margin-bottom:20px}.ir26 .ir-end{padding-block:36px}.ir26 .ir-gallery{gap:16px}.ir26 .ir-ref{flex-wrap:wrap}}
@media(max-width:500px){.ir26 .ir-grid,.ir26 .ir-gallery{grid-template-columns:1fr}.ir26 .ir-gallery figure>a{aspect-ratio:1.6}.ir26 .ir-btn{padding:12px 15px}.ir26 .ir-actions>a{font-size:.87rem}.ir26 .ir-ref{flex-wrap:nowrap}}

.ir26 .ir-card-copy strong span,.ir26 .ir-older b{color:var(--ink)}
.ir26 .ir-card:hover .ir-card-copy strong,.ir26 .ir-card:focus-within .ir-card-copy strong{color:var(--ink)}
.ir26 .ir-process .ir-label i{background:var(--blue)}

@media(max-width:700px){.ir26 .ir-hero{background:linear-gradient(158deg,#b8e4ff 0%,var(--ice) 54%,var(--sky) 82%,#48b7ff 100%)}}

/* Visor de planos y fotografías de los proyectos. */
html.indrec-visor-open { overflow: hidden; scrollbar-gutter: stable; }
.indrec-visor {
    width: min(1080px, calc(100% - 32px));
    height: min(830px, calc(100% - 32px));
    max-width: calc(100vw - 24px); max-height: 94vh; max-height: 94dvh;
    padding: 0; margin: auto; border: 1px solid #b8ccdc; border-radius: 10px;
    background: #fff; color: var(--indrec-blue); box-shadow: 0 16px 60px #22476b30;
}
.indrec-visor[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.indrec-visor::backdrop { background: rgba(60, 80, 100, .45); }
.indrec-visor-bar {
    display: flex; gap: 8px; align-items: center; padding: 10px 16px;
    border-bottom: 1px solid var(--indrec-line);
}
.indrec-visor-bar > span { margin-right: auto; font-size: .92rem; font-weight: 700; }
.indrec-visor button {
    min-height: 40px; padding: 5px 13px; background: #fff; color: var(--indrec-blue);
    border: 1px solid currentColor; border-radius: 5px; font: 600 .88rem/1.3 system-ui;
}
.indrec-visor button:focus-visible, .indrec-visor-frame:focus-visible {
    outline: 2px solid var(--indrec-blue); outline-offset: -3px;
}
.indrec-visor button:hover { text-decoration: underline; }
.indrec-visor form { margin: 0; }
.indrec-visor-frame { overflow: auto; min-height: 0; overscroll-behavior: contain; }
.indrec-visor-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }
.indrec-visor-frame.is-zoomed img { width: max(1600px, 150%); max-width: none; height: auto; }
.indrec-visor .indrec-visor-caption {
    margin: 0; padding: 10px 16px; border-top: 1px solid var(--indrec-line);
    color: var(--indrec-body); font-size: .95rem; line-height: 1.4;
}
@media (max-width: 600px) {
    .indrec-visor { width: calc(100% - 16px); max-width: calc(100vw - 16px); }
    .indrec-visor-bar { padding: 8px; gap: 6px; }
    .indrec-visor-bar > span { font-size: .8rem; }
    .indrec-visor button { min-height: 44px; padding-inline: 10px; }
}
