:root {
 --color-brand: #c51d24;
 --color-brand-strong: #a7191f;
 --color-ink: #101920;
 --color-muted: #5d5c5c;
 --color-surface: #ededed;
 --color-white: #ffffff;
 --color-border: rgb(16 25 32 / 0.16);
 --font-sans: "Segoe UI", system-ui, sans-serif;
 --content-max: 75rem;
 --reading-max: 44rem;
 --display-size: clamp(2.5rem, 7vw, 5.75rem);
 --section-size: clamp(2rem, 4vw, 3.75rem);
 --space-section: clamp(4rem, 9vw, 8rem);
 --step--1: clamp(0.82rem, 0.79rem + 0.12vw, 0.9rem);
 --step-0: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
 --step-1: clamp(1.25rem, 1.14rem + 0.5vw, 1.6rem);
 --step-2: clamp(1.65rem, 1.42rem + 1.05vw, 2.35rem);
 --space-1: clamp(0.5rem, 0.46rem + 0.18vw, 0.625rem);
 --space-2: clamp(0.875rem, 0.79rem + 0.36vw, 1.125rem);
 --space-3: clamp(1.25rem, 1.08rem + 0.72vw, 1.75rem);
 --space-4: clamp(1.75rem, 1.48rem + 1.18vw, 2.5rem);
 --space-6: clamp(2.75rem, 2.17rem + 2.54vw, 4.5rem);
 --space-8: clamp(4rem, 3.01rem + 4.36vw, 7rem);
 --radius-sm: 0.3rem;
 --shadow-raised: 0 1rem 2.75rem rgb(16 25 32 / 0.14);
 --header-height: 5.25rem;
 --corporate-hero-overlay:linear-gradient(90deg,rgb(16 25 32/.70) 0%,rgb(16 25 32/.49) 46%,rgb(16 25 32/.10) 100%);
 color: var(--color-ink);
 background: var(--color-white);
 font-family: var(--font-sans);
}
*,
*::before,
*::after {
 box-sizing: border-box;
}
html {
 scroll-padding-top: calc(var(--header-height) + var(--space-2));
}
body {
 margin: 0;
 overflow-x: clip;
 color: var(--color-ink);
 background: var(--color-white);
 font-size: var(--step-0);
 line-height: 1.6;
 overflow-wrap: anywhere;
}
img {
 display: block;
 max-width: 100%;
 height: auto;
}
a {
 color: inherit;
}
button,
input,
select,
textarea {
 font: inherit;
}
:focus-visible {
 outline: 3px solid var(--color-brand);
 outline-offset: 3px;
}
[hidden] {
 display: none !important;
}
.container {
 width: min(calc(100% - 2rem), var(--content-max));
 margin-inline: auto;
}
.skip-link {
 position: fixed;
 z-index: 100;
 top: var(--space-1);
 left: var(--space-1);
 min-height: 2.75rem;
 display: inline-flex;
 align-items: center;
 transform: translateY(calc(-100% - 2rem));
 padding: 0.65rem 1rem;
 color: var(--color-white);
 background: var(--color-ink);
 font-weight: 800;
 text-decoration: none;
}
.skip-link:focus {
 transform: translateY(0);
}
.site-header {
 position: sticky;
 z-index: 20;
 top: 0;
 border-bottom: 1px solid var(--color-border);
 background: rgb(255 255 255 / 0.98);
 box-shadow: 0 0.35rem 1.5rem rgb(16 25 32 / 0.05);
}
.site-header__inner {
 position: relative;
 min-height: var(--header-height);
 display: flex;
 align-items: center;
 gap: clamp(0.75rem, 2vw, 2rem);
}
.brand {
 flex: 0 0 auto;
 display: inline-flex;
 min-height: 2.75rem;
 align-items: center;
 text-decoration: none;
}
.brand__logo {
 width: clamp(8.75rem, 7.75rem + 3vw, 11.5rem);
 height: auto;
}
.site-navigation {
 flex: 1 1 auto;
}
.site-navigation__list {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: clamp(0.25rem, 1.8vw, 1.5rem);
 margin: 0;
 padding: 0;
 list-style: none;
}
.site-navigation a {
 position: relative;
 min-height: 2.75rem;
 display: inline-flex;
 align-items: center;
 padding: 0.6rem 0.5rem;
 color: var(--color-muted);
 font-size: var(--step--1);
 font-weight: 750;
 text-decoration: none;
}
.site-navigation a::after {
 position: absolute;
 right: 0.5rem;
 bottom: 0.28rem;
 left: 0.5rem;
 height: 0.16rem;
 transform: scaleX(0);
 transform-origin: left;
 background: var(--color-brand);
 content: "";
 transition: transform 180ms ease;
}
.site-navigation a:hover,
.site-navigation a[aria-current="page"] {
 color: var(--color-ink);
}
.site-navigation a:hover::after,
.site-navigation a[aria-current="page"]::after {
 transform: scaleX(1);
}
.menu-toggle {
 min-width: 2.75rem;
 min-height: 2.75rem;
 display: none;
 align-items: center;
 justify-content: center;
 border: 1px solid var(--color-border);
 border-radius: var(--radius-sm);
 padding: 0.55rem;
 color: var(--color-ink);
 background: var(--color-white);
 font-size: 0.78rem;
 font-weight: 800;
 cursor: pointer;
}
.button {
 min-height: 2.75rem;
 flex: 0 0 auto;
 width: auto;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 border: 1px solid transparent;
 border-radius: var(--radius-sm);
 padding: 0.7rem 1.15rem;
 font-size: var(--step--1);
 font-weight: 800;
 line-height: 1.2;
 text-align: center;
 text-decoration: none;
 transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.button:hover {
 transform: translateY(-1px);
}
.button--primary {
 color: var(--color-white);
 background: var(--color-brand);
}
.button--primary:hover {
 background: var(--color-brand-strong);
}
.button--secondary {
 border-color: rgb(255 255 255 / 0.64);
 color: var(--color-white);
 background: transparent;
}
.button--secondary:hover {
 border-color: var(--color-white);
 background: rgb(255 255 255 / 0.09);
}
.button--text {
 min-height: 2.75rem;
 padding-inline: 0;
 color: var(--color-brand);
 background: transparent;
 text-decoration: underline;
 text-decoration-thickness: 0.12rem;
 text-underline-offset: 0.32rem;
}
.button--text:hover {
 color: var(--color-brand-strong);
}
.button--header {
 flex: 0 0 auto;
 white-space: nowrap;
}
.page-intro {
 padding-block: clamp(2.75rem, 7vw, 6.5rem);
 color: var(--color-white);
 background:
   linear-gradient(125deg, rgb(197 29 36 / 0.16), transparent 45%),
   var(--color-ink);
}
.page-intro h1 {
 max-width: 18ch;
 margin: 0;
 font-size: var(--display-size);
 line-height: 1.03;
 letter-spacing: -0.04em;
 text-wrap: balance;
}
.page-intro__content {
 max-width: 48rem;
 margin-top: var(--space-3);
}
.page-intro__eyebrow {
 margin: 0 0 var(--space-1);
 color: rgb(255 255 255 / 0.7);
 font-size: var(--step--1);
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}
.page-intro__summary {
 max-width: 42rem;
 margin: 0;
 color: rgb(255 255 255 / 0.84);
 font-size: var(--step-1);
 line-height: 1.5;
}
.hero-actions,
.cta-actions {
 display: flex;
 flex-wrap: wrap;
 gap: var(--space-1);
 margin-top: var(--space-3);
}
.commercial-hero {
 position: relative;
 display: grid;
 min-height: clamp(38rem, 84svh, 56rem);
 overflow: hidden;
 padding-block: 0;
 color: var(--color-white);
 background: var(--color-ink);
 isolation: isolate;
}
.commercial-hero::after {
 position: absolute;
 z-index: 1;
 inset: 0;
 content: "";
 background: linear-gradient(90deg, rgb(16 25 32 / 0.96) 0%, rgb(16 25 32 / 0.82) 45%, rgb(16 25 32 / 0.38) 100%);
 pointer-events: none;
}
.commercial-hero__media {
 position: absolute;
 z-index: 0;
 inset: 0;
}
.commercial-hero__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.commercial-hero__inner {
 position: relative;
 display: grid;
 align-content: center;
 width: 100%;
 max-width: none;
 min-height: inherit;
 padding: var(--space-6) max(1rem, calc((100% - 75rem) / 2));
}
.commercial-hero__content { display: contents; }
.commercial-hero :is(.breadcrumbs, .page-intro__eyebrow, h1, .commercial-hero__content > *) {
 position: relative;
 z-index: 2;
}
.commercial-cta {
 color: #fff;
 background: var(--color-ink);
}
.metric-band__list {
 width: min(100% - 2rem, var(--content-max));
 grid-template-columns: repeat(4, minmax(0, 1fr));
 margin-inline: auto;
}
.editorial-section,
.commercial-cta,
.corporate-backing {
 display: grid;
 gap: clamp(1.5rem, 5vw, 4rem);
 padding: clamp(1.5rem, 5vw, 4rem);
}
.editorial-section {
 grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
 background: var(--color-white);
}
.commercial-cta {
 grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.8fr);
}
.commercial-cta__actions {
 display: flex;
 align-items: center;
 align-content: center;
 align-self: center;
 justify-content: flex-start;
 flex-wrap: wrap;
 gap: var(--space-1);
}
.media-gallery__grid {
 grid-template-columns: repeat(2, minmax(0, 1fr));
}
.media-gallery img {
 aspect-ratio: 16 / 10;
 object-fit: cover;
}
.corporate-backing {
 grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
 background: var(--color-surface);
}
.editorial-section__copy,
.commercial-cta__copy,
.corporate-backing__copy {
 max-width: var(--reading-max);
}
.page-content {
 min-height: clamp(18rem, 42vw, 32rem);
 padding-block: var(--space-6) var(--space-8);
}
.page-content > :where(p, ul) {
 max-width: 48rem;
}
.page-content h2 {
 max-width: 22ch;
 margin-block: var(--space-6) var(--space-2);
 font-size: var(--step-2);
 line-height: 1.12;
 letter-spacing: -0.03em;
}
.page-content p {
 margin-block: 0 var(--space-2);
 color: var(--color-muted);
}
.page-content ul {
 padding-left: 1.25rem;
}
.page-content li + li {
 margin-top: var(--space-1);
}
.page-content > section + section {
 margin-top: var(--space-8);
}
.eyebrow {
 margin-bottom: var(--space-1) !important;
 color: var(--color-brand) !important;
 font-size: var(--step--1);
 font-weight: 850;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}
.commercial-cta__copy>*{color:inherit!important}
.section-heading {
 max-width: 48rem;
}
.section-heading h2,
.secondary-line h2,
.about-focus h2 {
 margin-top: 0;
}
.section-title--compact {
 margin-top: 0 !important;
 font-size: var(--step-1) !important;
}
.evidence-grid {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--space-3);
 max-width: none !important;
 margin: var(--space-3) 0 0;
 padding: 0 !important;
 list-style: none;
}
.evidence-item {
 min-width: 0;
 display: grid;
 align-content: center;
 border-left: 0.28rem solid var(--color-brand);
 padding: 0.35rem 0 0.35rem var(--space-2);
}
.evidence-item + .evidence-item {
 margin-top: 0 !important;
}
.evidence-item strong {
 color: var(--color-ink);
 font-size: var(--step-2);
 line-height: 1;
 letter-spacing: -0.035em;
}
.evidence-item span {
 margin-top: 0.45rem;
 color: var(--color-muted);
}
.project-gallery__item {
 display: block;
 min-width: 0;
 overflow: hidden;
 background: var(--color-surface);
}
.project-gallery__item img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
}
.category-grid {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: var(--space-2);
 max-width: none !important;
 margin: var(--space-4) 0 0;
 padding: 0 !important;
 list-style: none;
}
.category-grid > li,
.category-grid > li + li {
 min-width: 0;
 margin-top: 0;
}
.category-card {
 height: 100%;
 display: grid;
 grid-template-rows: auto auto 1fr auto;
 gap: var(--space-1);
 border-top: 0.3rem solid var(--color-ink);
 padding: var(--space-3) var(--space-2);
 color: var(--color-ink);
 background: var(--color-surface);
 text-decoration: none;
 transition: border-color 180ms ease, transform 180ms ease;
}
.category-card:hover {
 transform: translateY(-0.2rem);
 border-color: var(--color-brand);
}
.category-card__index {
 color: var(--color-brand);
 font-size: var(--step--1);
 font-weight: 850;
}
.category-card strong {
 font-size: var(--step-1);
 line-height: 1.2;
}
.category-card__description {
 color: var(--color-muted);
}
.category-card__status {
 min-height: 2.75rem;
 display: inline-flex;
 align-items: center;
 color: var(--color-ink);
 font-size: var(--step--1);
 font-weight: 800;
 text-decoration: underline;
 text-underline-offset: 0.25rem;
}
.secondary-line {
 display: grid;
 grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
 gap: var(--space-4) var(--space-6);
 align-items: start;
}
.secondary-line__copy {
 max-width: var(--reading-max);
}
.secondary-line__copy > p:not(.eyebrow) {
 max-width: 44rem;
 font-size: var(--step-1);
 line-height: 1.55;
}
.secondary-line__proof {
 padding: var(--space-4);
 border-top: 0.35rem solid var(--color-brand);
 background: var(--color-surface);
}
.secondary-line__proof > strong,
.secondary-line__proof > span {
 display: block;
}
.secondary-line__proof > strong {
 color: var(--color-ink);
 font-size: var(--step-2);
 line-height: 1;
}
.secondary-line__proof > span { color: var(--color-muted); }
.secondary-line__facts {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--space-2);
 margin: var(--space-3) 0 0;
 padding: 0 !important;
 list-style: none;
}
.secondary-line__centers {
 max-width: 60rem !important;
 margin-top: var(--space-3) !important;
 color: var(--color-ink) !important;
}
.secondary-line__note {
 margin-top: var(--space-3) !important;
 padding-top: var(--space-2);
 border-top: 1px solid var(--color-border);
 font-size: var(--step--1);
}
.about-focus {
 display: grid;
 grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
 overflow: hidden;
 color: var(--color-white);
 background: var(--color-ink);
}
.about-focus__media {
 min-height: clamp(19rem, 40vw, 32rem);
 background: var(--color-surface);
}
.about-focus__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.about-focus__copy {
 display: grid;
 align-content: center;
 gap: var(--space-2);
 padding: var(--space-4);
}
.about-focus__copy h2 { color: var(--color-white); }
.about-focus__copy > p:not(.eyebrow) {
 color: rgb(255 255 255 / 0.78);
}
.project-filters {
 display: flex;
 flex-wrap: wrap;
 gap: var(--space-1);
 margin-bottom: var(--space-4);
}
.project-filter {
 min-height: 2.75rem;
 border: 1px solid var(--color-border);
 border-radius: 999px;
 padding: 0.65rem 1.15rem;
 color: var(--color-ink);
 background: var(--color-white);
 font-size: var(--step--1);
 font-weight: 800;
 cursor: pointer;
 transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}
.project-filter:hover {
 border-color: var(--color-brand);
 color: var(--color-brand-strong);
}
.project-filter[aria-pressed="true"] {
 border-color: var(--color-ink);
 color: var(--color-white);
 background: var(--color-ink);
}
.portfolio-section > h2 {
 margin-top: 0;
}
.portfolio-features {
 display: grid;
 gap: var(--space-2);
 margin-top: var(--space-3);
}
.portfolio-feature {
 display: grid;
 grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.92fr);
 overflow: hidden;
 color: var(--color-white);
 background: var(--color-ink);
 box-shadow: 0 0.75rem 2rem rgb(16 25 32 / 0.08);
}
.portfolio-feature__media {
 min-width: 0;
 min-height: clamp(19rem, 42vw, 34rem);
 display: block;
 overflow: hidden;
 background: var(--color-surface);
}
.portfolio-feature__media img {
 width: 100%;
 height: 100%;
 display: block;
 object-fit: cover;
}
.portfolio-feature__copy {
 display: grid;
 align-content: center;
 gap: var(--space-2);
 padding: var(--space-4);
}
.portfolio-feature h2 {
 max-width: 15ch;
 margin: 0;
 color: var(--color-white);
 font-size: var(--section-size);
}
.portfolio-feature__summary {
 color: rgb(255 255 255 / 0.78) !important;
}
.portfolio-feature__facts {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: var(--space-2);
 margin: 0;
 padding: var(--space-2) 0 0 !important;
 border-top: 1px solid rgb(255 255 255 / 0.24);
 list-style: none;
}
.portfolio-feature__facts li,
.portfolio-feature__facts li + li {
 display: grid;
 gap: 0.3rem;
 margin: 0;
 padding: 0;
 color: rgb(255 255 255 / 0.68);
 font-size: var(--step--1);
}
.portfolio-feature__facts strong {
 color: var(--color-white);
 font-size: var(--step-0);
}
.portfolio-feature__actions {
 display: flex;
 flex-wrap: wrap;
 gap: var(--space-1);
}
.portfolio-context {
 padding-top: var(--space-4);
 border-top: 1px solid var(--color-border);
}
.portfolio-lines {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--space-2);
 max-width: none !important;
 margin: var(--space-3) 0 0;
 padding: 0 !important;
 list-style: none;
}
.portfolio-lines > li,
.portfolio-lines > li + li { margin: 0; }
.portfolio-line {
 min-height: 8rem;
 display: grid;
 align-content: start;
 gap: var(--space-1);
 border-top: 0.3rem solid var(--color-brand);
 padding: var(--space-2);
 color: var(--color-ink);
 background: var(--color-surface);
 text-decoration: none;
}
.portfolio-line strong { font-size: var(--step-1); }
.portfolio-line span { color: var(--color-muted); }
.industrial-proof__history { color: rgb(255 255 255 / 0.78) !important; }
.industrial-proof .metric-band__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-overview {
 max-width: 52rem;
}
.media-gallery__grid {
 display: grid;
 gap: var(--space-2);
 margin-top: var(--space-4);
}
.project-gallery__item {
 aspect-ratio: 16 / 9;
 box-shadow: 0 0.75rem 2rem rgb(16 25 32 / 0.08);
}
.project-gallery__item:first-child { grid-column: 1 / -1; }
.project-overview > p:not(.eyebrow) {
 font-size: var(--step-1);
}
.metric-band {
 padding: var(--space-4);
 color: var(--color-white);
 background: var(--color-ink);
}
.metric-band h2 {
 color: var(--color-white);
}
.metric-band .eyebrow {
 color: rgb(255 255 255 / 0.68) !important;
}
.metric-band__list {
 display: grid;
 gap: var(--space-3);
 padding: 0 !important;
 list-style: none;
}
.project-metric,
.project-metric + .project-metric {
 min-width: 0;
 display: grid;
 gap: 0.3rem;
 margin-top: 0;
 border-top: 1px solid rgb(255 255 255 / 0.24);
 padding-top: var(--space-2);
}
.project-metric__label,
.project-metric__unit {
 color: rgb(255 255 255 / 0.72);
 font-size: var(--step--1);
}
.project-metric strong {
 color: var(--color-white);
 font-size: var(--step-2);
 line-height: 1;
 letter-spacing: -0.035em;
}
.project-benefits__list,
.project-attributes__list {
 display: grid;
 max-width: none !important;
 margin: var(--space-4) 0 0;
 padding: 0 !important;
 list-style: none;
}
.project-benefits__list { border-top: 1px solid var(--color-border); }
.project-benefit,
.project-benefit + .project-benefit {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 gap: var(--space-2);
 margin: 0;
 padding: var(--space-3) 0;
 border-bottom: 1px solid var(--color-border);
}
.project-benefit__index {
 color: var(--color-brand);
 font-size: var(--step-1);
 font-weight: 850;
 line-height: 1;
}
.project-benefit strong {
 display: block;
 margin-bottom: .45rem;
 color: var(--color-ink);
 font-size: var(--step-1);
}
.project-benefit p { margin: 0; }
.project-attributes__list {
 align-self: start;
 margin-top: 0;
}
.project-attributes__list li,
.project-attributes__list li + li {
 min-height: 3.5rem;
 display: flex;
 align-items: center;
 margin-top: 0;
 border-bottom: 1px solid var(--color-border);
 padding: var(--space-1) 0;
 color: var(--color-ink);
 font-weight: 800;
}
.project-attributes__list li::before {
 width: 0.65rem;
 height: 0.65rem;
 flex: 0 0 auto;
 margin-right: var(--space-1);
 background: var(--color-brand);
 content: "";
}
.project-location {
 display: grid;
 grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
 gap: 0 var(--space-6);
}
.project-location .eyebrow,
.project-location h2 {
 grid-column: 1;
}
.project-location__address,
.project-disclaimer {
 grid-column: 2;
}
.project-location__address {
 grid-row: 1;
 color: var(--color-ink) !important;
 font-size: var(--step-1);
 font-weight: 800;
}
.project-disclaimer {
 padding-top: var(--space-2);
 border-top: 1px solid var(--color-border);
 font-size: var(--step--1);
}
.project-contact {
 display: block;
 padding: var(--space-4);
 border-left: 0.35rem solid var(--color-brand);
 background: var(--color-surface);
}
.breadcrumbs {
 margin-bottom: var(--space-3);
}
.breadcrumbs__list {
 display: flex;
 flex-wrap: wrap;
 gap: 0.4rem 0.7rem;
 margin: 0;
 padding: 0;
 color: rgb(255 255 255 / 0.78);
 font-size: var(--step--1);
 list-style: none;
}
.breadcrumbs__item {
 display: inline-flex;
 align-items: center;
 gap: 0.7rem;
}
.breadcrumbs__item:not(:last-child)::after {
 color: rgb(255 255 255 / 0.42);
 content: "/";
}
.breadcrumbs a {
 min-height: 2.75rem;
 display: inline-flex;
 align-items: center;
 text-underline-offset: 0.25rem;
}
.breadcrumbs [aria-current="page"] {
 color: var(--color-white);
 font-weight: 750;
}
.site-footer {
 padding-block: var(--space-6);
 color: rgb(255 255 255 / 0.76);
 background: #000000;
}
.site-footer__grid {
 display: grid;
 grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(9rem, 0.6fr));
 gap: var(--space-4) var(--space-6);
}
.site-footer__positioning p {
 max-width: 30rem;
 margin-block: 0;
}
.site-footer__brand {
 margin-bottom: var(--space-1) !important;
 color: var(--color-white);
 font-size: var(--step-1);
 font-weight: 850;
 letter-spacing: -0.02em;
}
.site-footer__navigation {
 display: grid;
 align-content: start;
 justify-items: start;
 gap: 0.3rem;
}
.site-footer__label {
 margin: 0 0 var(--space-1);
 color: var(--color-white);
 font-size: 0.78rem;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
}
.site-footer__navigation a {
 min-height: 2.75rem;
 display: inline-flex;
 align-items: center;
 text-decoration-color: rgb(255 255 255 / 0.36);
 text-underline-offset: 0.25rem;
}
.site-footer__navigation a:hover {
 color: var(--color-white);
 text-decoration-color: var(--color-brand);
}
@media (max-width: 64rem) {
 .commercial-hero::after {
   background: linear-gradient(
     90deg,
     rgb(16 25 32 / 0.94) 0%,
     rgb(16 25 32 / 0.86) 55%,
     rgb(16 25 32 / 0.78) 100%
   );
 }
 .site-footer__grid {
   grid-template-columns: minmax(0, 1fr) repeat(2, minmax(8rem, 0.5fr));
   gap: var(--space-4);
 }
}

@media (max-width: 52rem) {
 :root {
   --header-height: 4.5rem;
 }
 .site-header__inner {
   min-height: var(--header-height);
   flex-wrap: wrap;
   gap: 0.5rem;
 }
 .brand {
   order: 1;
 }
 .brand__logo {
   width: clamp(7.5rem, 34vw, 9rem);
 }
 .menu-toggle{order:2;margin-left:auto}
 .js .menu-toggle{display:inline-flex;}
 .site-navigation {
   order: 3;
   flex: 1 0 100%;
   padding-bottom: var(--space-1);
 }
 .button--header {
   order: 4;
   margin-left: 0;
   padding-inline: 0.75rem;
   font-size: 0.75rem;
 }
 .site-navigation__list {
   align-items: stretch;
   flex-direction: column;
   gap: 0;
 }
 .site-navigation a {
   width: 100%;
   border-top: 1px solid var(--color-border);
   padding-inline: 0;
 }
 .site-navigation a::after {
   right: auto;
   left: 0;
   width: 2.5rem;
 }
 .js .site-navigation {
   display: none;
 }
 .js .site-navigation[data-open="true"] {
   display: block;
   padding: var(--space-1) var(--space-2);
   border: 1px solid var(--color-border);
   background: var(--color-white);
   box-shadow: var(--shadow-raised);
 }
 .site-footer__grid {
   grid-template-columns: 1fr 1fr;
 }
 .site-footer__positioning {
   grid-column: 1 / -1;
 }
 .secondary-line,
 .about-focus,
 .project-location,
 .project-contact {
   grid-template-columns: 1fr;
 }
 .editorial-section,
 .commercial-cta,
 .corporate-backing { grid-template-columns: 1fr; }
 .metric-band__list { grid-template-columns: 1fr; }
 .media-gallery__grid { grid-template-columns: 1fr; }
 .category-grid {
   grid-template-columns: 1fr;
 }
 .portfolio-feature,
 .portfolio-lines,
 .portfolio-feature__facts,
 .secondary-line__facts,
 .industrial-proof .metric-band__list {
   grid-template-columns: 1fr;
 }
 .portfolio-feature__media { min-height: clamp(16rem, 70vw, 27rem); }
 .about-focus__media { min-height: clamp(16rem, 70vw, 27rem); }
 .project-location .eyebrow,
 .project-location h2,
 .project-location__address,
 .project-disclaimer {
   grid-column: 1;
   grid-row: auto;
 }
 .project-gallery__item:first-child { grid-column: auto; }
}

@media (max-width: 22rem) {
 :root {
   --header-height: 7.75rem;
 }
 .container {
   width: min(calc(100% - 1.25rem), var(--content-max));
 }
 .site-header__inner {
   flex-wrap: wrap;
   padding-block: 0.35rem;
 }
 .button--header {
   width: 100%;
   flex-basis: 100%;
   margin-left: 0;
   padding-inline: 0.6rem;
   font-size: 0.7rem;
 }
 .site-footer__grid {
   grid-template-columns: 1fr;
 }
 .site-footer__positioning {
   grid-column: auto;
 }
}

@media (prefers-reduced-motion: reduce) {
 html {
   scroll-behavior: auto;
 }
 *,
 *::before,
 *::after {
   scroll-behavior: auto !important;
   animation-duration: 0.01ms !important;
   animation-iteration-count: 1 !important;
   transition-duration: 0.01ms !important;
 }
}
.contact-overview,
.contact-form-section,
.privacy-pending,
.privacy-notice,
.privacy-details {
 max-width: 64rem;
}
.contact-overview,
.privacy-pending {
 padding: clamp(1.5rem,4vw,3.5rem);
 border-top: 0.35rem solid var(--color-brand);
 color: var(--color-white);
 background: var(--color-ink);
}
.contact-overview h2,
.contact-form-section h2,
.privacy-pending h2,
.privacy-notice h2,
.privacy-details h2,
.project-contact h2 {
 margin-top: 0;
}
.contact-details {
 display: grid;
 gap: var(--space-1);
 margin-top: var(--space-2) !important;
 padding: 0 !important;
 list-style: none;
}
.contact-details li,
.contact-details li + li {
 margin: 0;
}
.contact-editorial-note {
 margin-top: var(--space-2) !important;
 font-size: var(--step--1);
}
.contact-guidance {
 display: grid;
 gap: var(--space-1);
 margin-top: var(--space-2) !important;
 padding-left: 1.25rem !important;
}
.contact-form-lead {
 max-width: var(--reading-max);
 font-size: var(--step-1);
}
.contact-alternative {
 max-width: var(--reading-max);
 border-left: 0.25rem solid var(--color-brand);
 padding-left: var(--space-2);
 color: var(--color-muted);
}
.contact-overview p,
.privacy-pending p {
 color: rgb(255 255 255 / 0.82);
}
.contact-overview .eyebrow,
.privacy-pending .eyebrow {
 color: var(--color-white) !important;
}
.contact-form-section,.project-contact {
 scroll-margin-top:calc(var(--header-height)+var(--space-2));
}
.lead-form {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--space-2) var(--space-3);
 margin-top: var(--space-3);
 padding: clamp(1.25rem, 4vw, 3rem);
 border-top: 0.35rem solid var(--color-brand);
 background: var(--color-white);
 box-shadow: var(--shadow-raised);
}
.lead-form[aria-busy="true"] .button:disabled {
 cursor: wait;
}
.button:disabled {
 opacity: 0.64;
 cursor: not-allowed;
 transform: none;
}
.form-error-summary {
 scroll-margin-top: calc(var(--header-height) + var(--space-2));
 border-left: 0.3rem solid var(--color-brand);
 padding: var(--space-2) var(--space-3);
 color: var(--color-ink);
 background: var(--color-surface);
}
.form-error-summary h3 {
 margin: 0 0 0.25rem;
 font-size: var(--step-1);
}
.form-error-summary p {
 margin-bottom: 0.5rem;
}
.form-error-summary ul {
 margin: 0;
 padding-left: 1.25rem;
}
.form-error-summary a {
 color: var(--color-brand-strong);
 font-weight: 800;
 text-underline-offset: 0.2rem;
}
.field {
 min-width: 0;
}
.field--full {
 grid-column: 1 / -1;
}
.field > label:not(.consent) {
 display: block;
 margin-bottom: 0.35rem;
 color: var(--color-ink);
 font-size: var(--step--1);
 font-weight: 800;
}
.field input:not([type="checkbox"]),
.field select,
.field textarea {
 width: 100%;
 min-height: 2.75rem;
 border: 1px solid rgb(16 25 32 / 0.32);
 border-radius: var(--radius-sm);
 padding: 0.7rem 0.8rem;
 color: var(--color-ink);
 background: var(--color-white);
}
.field textarea {
 min-height: 8rem;
 resize: vertical;
}
.field input:hover,
.field select:hover,
.field textarea:hover {
 border-color: var(--color-muted);
}
.field [aria-invalid="true"] {
 border-color: var(--color-brand-strong);
 box-shadow: 0 0 0 1px var(--color-brand-strong);
}
.field-error {
 min-height: 1.5rem;
 margin: 0.25rem 0 0 !important;
 color: #8f1016 !important;
 font-size: 0.86rem;
 font-weight: 750;
}
.industrial-fields {
 min-width: 0;
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: var(--space-2) var(--space-3);
 margin: 0;
 border: 1px solid var(--color-border);
 padding: var(--space-2);
}
.industrial-fields legend {
 padding-inline: 0.35rem;
 color: var(--color-ink);
 font-weight: 850;
}
.consent {
 min-height: 2.75rem;
 display: flex;
 align-items: flex-start;
 gap: 0.75rem;
 padding-block: 0.55rem;
 cursor: pointer;
}
.consent input {
 width: 1.25rem;
 height: 1.25rem;
 flex: 0 0 auto;
 margin: 0.15rem 0 0;
 accent-color: var(--color-brand);
}
.consent span {
 color: var(--color-muted);
 font-size: 0.9rem;
 line-height: 1.45;
}
.consent a {
 color: var(--color-brand-strong);
 font-weight: 750;
 text-underline-offset: 0.2rem;
}
.form-actions {
 display: grid;
 justify-items: start;
}
.form-actions .button {
 min-width: min(100%, 18rem);
}
.form-status {
 min-height: 1.6rem;
 margin: var(--space-1) 0 0 !important;
 color: var(--color-ink) !important;
 font-weight: 800;
}
.form-note,
.form-noscript {
 max-width: 44rem;
 font-size: 0.86rem;
}
.form-note {
 margin: 0 !important;
}
.form-noscript {
 margin-top: var(--space-1);
 border-left: 0.25rem solid var(--color-brand);
 padding: 0.75rem var(--space-2);
 color: var(--color-ink);
 background: var(--color-surface);
}
.form-honeypot {
 position: absolute !important;
 left: -10000px !important;
 width: 1px !important;
 height: 1px !important;
 overflow: hidden !important;
}
@media (max-width: 52rem) {
 .lead-form,
 .industrial-fields {
   grid-template-columns: 1fr;
 }
 .lead-form {
   padding: var(--space-3);
 }
 .field--full {
   grid-column: auto;
 }
}
.page-intro--media:not(.commercial-hero) {
 position: relative;
 display: grid;
 min-height: clamp(28rem, 58vw, 42rem);
 overflow: hidden;
 isolation: isolate;
}
.page-intro--media:not(.commercial-hero)::after {
 position: absolute;
 z-index: 1;
 inset: 0;
 content: "";
 background:var(--corporate-hero-overlay);
 pointer-events: none;
}
.page-intro--media:not(.commercial-hero)>.page-intro__media {
 position: absolute;
 z-index: 0;
 inset: 0;
}
.page-intro--media:not(.commercial-hero)>.page-intro__media img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.page-intro--media:not(.commercial-hero)>.container {
 position: relative;
 z-index: 2;
 display: grid;
 align-content: center;
 min-height: inherit;
 padding-block: var(--space-6);
}
.corporate-proof {
 display: grid;
 grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
 gap: var(--space-4);
 align-items: center;
}
.corporate-proof h2 {margin-top:0}
.corporate-proof .corporate-evidence {grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.metric-band .evidence-item strong {color:var(--color-white)}
.metric-band .evidence-item span {color:rgb(255 255 255/.72)}
.corporate-introduction {
 display:grid;
 grid-template-columns:minmax(9rem,.3fr) minmax(0,1fr);
 gap:clamp(2rem,6vw,6rem);
 align-items:start;
 max-width:68rem;
 margin-inline:auto;
}
.corporate-introduction__mark {
 display:grid;
 place-items:center;
 aspect-ratio:1;
 border:1px solid var(--color-border);
 background:var(--color-surface);
}
.corporate-introduction__mark img {width:clamp(4rem,8vw,6rem)}
.corporate-introduction__copy {max-width:var(--reading-max)}
.corporate-introduction__copy h2 {margin-top:0}
.business-lines__grid {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:var(--space-2);
 max-width:none!important;
 margin:var(--space-4) 0 0;
 padding:0!important;
 list-style:none;
}
.business-line-card,
.business-line-card+.business-line-card {
 min-width:0;
 display:grid;
 grid-template-columns:auto 1fr;
 grid-template-rows:auto auto 1fr;
 gap:var(--space-1) var(--space-2);
 margin:0;
 border-top:.3rem solid var(--color-ink);
 padding:var(--space-3);
 background:var(--color-surface);
}
.business-line-card__icon {grid-row:1/3;width:3.5rem}
.business-line-card__index {justify-self:end;color:var(--color-brand);font-size:var(--step--1);font-weight:850}
.business-line-card h3 {margin:0;color:var(--color-ink);font-size:var(--step-1);line-height:1.2}
.business-line-card p {grid-column:1/-1;margin:var(--space-1) 0 0}
.corporate-story-preview .corporate-evidence {grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.projects-method .corporate-evidence {grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.about-principles__grid {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:var(--space-2);
 max-width:none!important;
 margin:var(--space-4) 0 0;
 padding:0!important;
 list-style:none;
}
.about-principles__grid li,
.about-principles__grid li+li {margin:0;border-top:.3rem solid var(--color-brand);padding:var(--space-3);background:var(--color-surface)}
.about-principles__grid strong {font-size:var(--step-1)}
.about-principles__grid p {margin:.5rem 0 0}
.landing-contact {
 scroll-margin-top:calc(var(--header-height) + var(--space-2));
 padding-block:var(--space-section);
 background:var(--color-surface);
}
.landing-contact__grid {
 display:grid;
 grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
 gap:clamp(2rem,6vw,6rem);
 align-items:start;
}
.landing-contact__intro {
 position:sticky;
 top:calc(var(--header-height) + var(--space-4));
 max-width:34rem;
}
.landing-contact__intro h2 {max-width:12ch;margin-top:0}
.landing-contact__intro>p:last-child {color:var(--color-muted)}
.landing-contact .lead-form {margin-top:0}
@media (max-width:52rem) {
 .corporate-proof,
 .corporate-introduction,
 .business-lines__grid,
 .corporate-proof .corporate-evidence,
 .corporate-story-preview .corporate-evidence,
 .projects-method .corporate-evidence,
 .about-principles__grid {grid-template-columns:1fr}
 .corporate-introduction__mark {max-width:10rem}
 .landing-contact__grid {grid-template-columns:1fr}
 .landing-contact__intro {position:static}
}
@media(max-height:18rem){:root{--header-height:0}.site-header{position:static}}

/* Home: composición aprobada de la landing Atenea III */
.home-landing .site-header {
 background:rgb(255 255 255/.98);
}
.landing-home :is(#hero,#caracteristicas,#galeria,#ubicacion,#nosotros,#proyectos,#contacto) {
 scroll-margin-top:calc(var(--header-height) + var(--space-2));
}
.landing-hero {
 position:relative;
 display:grid;
 min-height:clamp(36rem,72vh,48rem);
 overflow:hidden;
 color:var(--color-white);
 background:var(--color-ink);
 isolation:isolate;
}
.landing-hero::after {
 position:absolute;
 z-index:1;
 inset:0;
 content:"";
 background:var(--corporate-hero-overlay);
 pointer-events:none;
}
.landing-hero__media {
 position:absolute;
 z-index:0;
 inset:0;
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center;
}
.landing-hero__content {
 position:relative;
 z-index:2;
 display:grid;
 align-content:center;
 min-height:inherit;
 padding-block:clamp(5rem,10vw,8rem);
}
.landing-hero h1 {
 max-width:13ch;
 margin:var(--space-2) 0 0;
 color:var(--color-white);
 font-size:clamp(2.7rem,6.2vw,5.8rem);
 line-height:.96;
 letter-spacing:-.055em;
 text-wrap:balance;
}
.landing-hero .eyebrow,
.landing-decision .eyebrow {color:#ff6b70}
.landing-hero__lead {
 max-width:42rem;
 margin:var(--space-3) 0 0;
 color:rgb(255 255 255/.88);
 font-size:var(--step-1);
}
.landing-hero__support {
 max-width:38rem;
 margin:var(--space-2) 0 0;
 color:rgb(255 255 255/.68);
 font-size:var(--step--1);
}
.landing-proof {background:var(--color-white)}
.landing-proof__grid {
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 border-bottom:1px solid var(--color-border);
}
.landing-proof__item {
 display:grid;
 align-content:start;
 gap:.4rem;
 min-width:0;
 padding:clamp(1.5rem,3vw,2.4rem);
 border-left:1px solid var(--color-border);
}
.landing-proof__item:last-child {border-right:1px solid var(--color-border)}
.landing-proof__item strong {color:var(--color-ink);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1}
.landing-proof__line {display:block}
.landing-proof__item>span {color:var(--color-muted);font-size:var(--step--1)}
.landing-section {padding-block:var(--space-section)}
.landing-benefits {background:var(--color-surface)}
.landing-benefits .section-heading {max-width:48rem}
.landing-benefits__grid {
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:var(--space-4);
 margin-top:var(--space-4);
}
.landing-benefit {
 min-width:0;
 border-top:.25rem solid var(--color-ink);
 padding:var(--space-3) 0 0;
}
.landing-benefit__icon {
 display:block;
 width:4.5rem;
 height:4.5rem;
 margin-bottom:var(--space-2);
}
.landing-benefit h3 {margin:0;color:var(--color-ink);font-size:var(--step-1);line-height:1.2}
.landing-benefit p {margin:var(--space-1) 0 0}
.landing-benefits__note {
 margin:var(--space-4) 0 0;
 border-left:.25rem solid var(--color-brand);
 padding:var(--space-2) var(--space-3);
 background:var(--color-white);
 color:var(--color-ink);
}
.landing-decision {padding-block:clamp(1.75rem,3vw,2.75rem);background:var(--color-ink);color:var(--color-white)}
.landing-decision__inner {display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.landing-decision__title {
 max-width:none;
 margin:.5rem 0 0;
 color:var(--color-white);
 font-size:clamp(1.5rem,2.5vw,2.25rem);
 line-height:1.1;
 letter-spacing:-.035em;
 white-space:nowrap;
}
.landing-gallery {background:var(--color-white)}
.section-heading--split {display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.62fr);gap:var(--space-4);align-items:end;max-width:none}
.section-heading--split>p {margin:0}
.landing-gallery__group {margin-top:clamp(2.5rem,5vw,4.5rem)}
.landing-gallery__group-title {
 margin:0;
 color:var(--color-ink);
 font-size:clamp(1.25rem,2vw,1.75rem);
}
.landing-gallery__grid {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:var(--space-2);
 margin-top:var(--space-2);
}
.landing-gallery__grid--featured {grid-template-columns:1fr}
.landing-gallery__item {
 position:relative;
 min-height:0;
 aspect-ratio:16/9;
 overflow:hidden;
 background:var(--color-ink);
}
.landing-gallery__item--wide {min-height:clamp(22rem,48vw,42rem)}
.landing-gallery__item picture,
.landing-gallery__item img {display:block;width:100%;height:100%}
.landing-gallery__item picture {position:absolute;inset:0}
.landing-gallery__item img {object-fit:cover;transition:transform 180ms ease}
.landing-gallery__item::after {
 position:absolute;
 inset:auto 0 0;
 height:55%;
 content:"";
 background:linear-gradient(transparent,rgb(16 25 32/.84));
 pointer-events:none;
}
.landing-gallery__caption {
 position:absolute;
 z-index:1;
 inset:auto var(--space-2) var(--space-2);
 margin:0;
 color:var(--color-white);
 font-weight:750;
}
.landing-gallery__item:hover img {transform:scale(1.015)}
.external-media {
 position:relative;
 display:grid;
 aspect-ratio:16/9;
 margin-top:var(--space-2);
 overflow:hidden;
 border:1px solid rgb(255 255 255/.2);
 background:linear-gradient(135deg,#101920,#263844);
 color:var(--color-white);
}
.external-media__placeholder {
 z-index:1;
 display:grid;
 place-content:center;
 justify-items:start;
 min-height:100%;
 padding:clamp(1.5rem,5vw,4rem);
 background:linear-gradient(90deg,rgb(16 25 32/.94),rgb(16 25 32/.54));
}
.external-media__eyebrow {margin:0 0 var(--space-1);color:#ff6b70}
.external-media__title {max-width:24ch;font-size:clamp(1.5rem,3vw,2.75rem);line-height:1.05}
.external-media__description {max-width:42rem;margin:var(--space-2) 0 0;color:rgb(255 255 255/.78)}
.external-media__button {min-height:2.75rem;margin-top:var(--space-3)}
.external-media noscript {margin-top:var(--space-2);color:rgb(255 255 255/.7);font-size:var(--step--1)}
.external-media__frame {display:block;width:100%;height:100%;border:0}
.landing-location {background:var(--color-ink);color:rgb(255 255 255/.8)}
.landing-location__grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem)}
.landing-location h2 {max-width:14ch;margin:.5rem 0 0;color:var(--color-white)}
.landing-location .eyebrow {color:#ff6b70}
.landing-location__copy {max-width:var(--reading-max)}
.landing-location__copy p:first-child {margin-top:0}
.landing-location__copy strong {color:var(--color-white)}
.landing-location .button--text {color:var(--color-white)}
.landing-location .external-media {grid-column:1/-1;margin-top:calc(var(--space-2) * -1)}
.landing-trust {
 background:var(--color-white);
 padding-bottom:clamp(3rem,5vw,4.5rem);
}
.landing-trust__content {max-width:var(--content-max)}
.landing-trust__title {
 max-width:none;
 margin:.6rem 0 var(--space-3);
 font-size:27px;
 line-height:1.08;
 letter-spacing:-.035em;
 white-space:nowrap;
}
.landing-trust__content>p:not(.eyebrow) {max-width:50rem;font-size:18px}
.landing-trust__description {max-width:68ch!important;text-wrap:pretty}
.landing-trust__disclaimer {color:var(--color-muted);font-size:var(--step--1)!important}
.landing-trust .button {margin-top:var(--space-2)}
.landing-corporate {padding-block:0 var(--space-section)}
.landing-corporate>section+section {margin-top:var(--space-section)}
.landing-corporate .business-lines {padding-block:0}
.landing-corporate .business-lines>.section-heading {max-width:52rem}
.business-line-card__icon {width:4.5rem;height:4.5rem}
.corporate-story-preview {
 align-items:start;
 grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
}
.corporate-story-preview .corporate-evidence {
 grid-template-columns:repeat(2,minmax(0,12.5rem));
 justify-content:center;
 align-self:center;
 gap:var(--space-2);
 width:100%;
 margin:0;
}
.corporate-story-preview .evidence-item {
 position:relative;
 aspect-ratio:1;
 align-content:end;
 border:1px solid var(--color-border);
 border-top:.3rem solid var(--color-ink);
 border-left:0;
 padding:var(--space-3);
 background:var(--color-white);
}
.corporate-story-preview .evidence-item__index {
 position:absolute;
 top:var(--space-2);
 right:var(--space-2);
 margin:0;
 color:var(--color-brand);
 font-size:var(--step--1);
 font-weight:850;
 letter-spacing:.08em;
}
.corporate-story-preview .evidence-item strong {
 font-size:clamp(2rem,3.5vw,3rem);
}

@media (max-width:64rem) {
 :root {--corporate-hero-overlay:linear-gradient(90deg,rgb(16 25 32/.68),rgb(16 25 32/.36))}
 .corporate-story-preview {grid-template-columns:1fr}
 .landing-benefits__grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:52rem) {
 :root {--corporate-hero-overlay:rgb(16 25 32/.58)}
 .landing-hero {min-height:38rem}
 .landing-hero h1 {font-size:clamp(2.6rem,11vw,4.5rem)}
 .landing-proof__grid,
 .landing-benefits__grid,
 .section-heading--split,
 .landing-location__grid {grid-template-columns:1fr}
 .landing-proof__item {border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
 .landing-decision__inner {align-items:flex-start;flex-direction:column}
 .landing-gallery__grid {grid-template-columns:1fr}
 .landing-gallery__item,
 .landing-gallery__item--wide {min-width:0;min-height:0}
 .landing-location .external-media {margin-top:0}
}
@media (max-width:40rem) {
 .corporate-story-preview .corporate-evidence {
  grid-template-columns:1fr;
  max-width:20rem;
  margin-inline:auto;
 }
 .corporate-story-preview .evidence-item {
  min-height:9rem;
  aspect-ratio:auto;
 }
 .landing-trust__title {
  white-space:normal;
  text-wrap:balance;
 }
 .landing-decision__title {
  font-size:clamp(1.5rem,7vw,2rem);
  white-space:normal;
  text-wrap:balance;
 }
}
@media (max-width:32rem) {
 .landing-hero__content {padding-block:4rem}
 .landing-benefits__grid {gap:var(--space-4)}
 .landing-benefit {padding-top:var(--space-2)}
}
@media (prefers-reduced-motion:reduce) {
 .landing-gallery__item img {transition:none}
 .landing-gallery__item:hover img {transform:none}
}

/* Ajustes aprobados: galerías editoriales, privacidad, contacto y respuestas */
.site-footer__logo {
 width:min(13rem,100%);
 height:auto;
 margin-bottom:var(--space-2);
 filter:brightness(0) invert(1);
}
.whatsapp-fab {
 position:fixed;
 z-index:40;
 right:max(1rem,env(safe-area-inset-right));
 bottom:max(1rem,env(safe-area-inset-bottom));
 inline-size:3.5rem;
 block-size:3.5rem;
 display:grid;
 place-items:center;
 border:2px solid var(--color-white);
 border-radius:50%;
 background:#25d366;
 box-shadow:0 .7rem 1.8rem rgb(16 25 32/.28);
 transition:transform 160ms ease,background-color 160ms ease;
}
.whatsapp-fab:hover {background:#1cae53;transform:translateY(-2px)}
.whatsapp-fab:focus-visible {outline-color:var(--color-white);box-shadow:0 0 0 5px var(--color-ink),0 .7rem 1.8rem rgb(16 25 32/.28)}
.whatsapp-fab__icon {inline-size:2rem;block-size:2rem;filter:drop-shadow(0 0 1px var(--color-ink))}
.category-showcase__heading {max-width:50rem}
.category-showcase__heading h2 {max-width:none;margin-top:0}
.category-showcase__group {margin-top:var(--space-4)}
.category-showcase__group h3 {margin:0 0 var(--space-2);font-size:var(--step-1)}
.category-showcase__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-items:start}
.category-showcase__item {min-width:0;margin:0;overflow:hidden;background:var(--color-surface)}
.category-showcase__media {display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#dfe3e5}
.category-showcase__media img {display:block;width:100%;height:100%;object-fit:cover;transition:transform 180ms ease}
.category-showcase__item--edificio-atenea-i-fachada img,
.category-showcase__item--martin-de-zamora-exterior img {object-fit:contain}
.category-showcase__item--edificio-atenea-i-bano {grid-column:1/-1}
.category-showcase__item--edificio-atenea-i-bano .category-showcase__media {aspect-ratio:16/9}
.category-showcase__item:hover img {transform:scale(1.012)}
.category-showcase__item figcaption {padding:var(--space-2);border-top:.2rem solid var(--color-brand);color:var(--color-ink);font-weight:750}
.land-listing {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.land-listing__facts {margin:var(--space-2) 0 var(--space-3)}
.land-listing__figure {grid-column:1/-1}
.land-listing__media,.land-listing__media img {display:block;width:100%}
.privacy-status-note {max-width:54rem;color:var(--color-muted)}
.privacy-section {max-width:54rem}
.privacy-section+.privacy-section {margin-top:var(--space-6)}
.privacy-section h2 {max-width:none;margin-top:0}
.privacy-list {max-width:52rem!important;margin-block:var(--space-2);padding-left:1.3rem!important}
.privacy-identity {display:grid;gap:.2rem;padding:var(--space-3);border-top:.25rem solid var(--color-ink);background:var(--color-surface)}
.privacy-identity strong {color:var(--color-ink);font-size:var(--step-1)}
.privacy-identity span {color:var(--color-muted)}
.landing-gallery__heading {max-width:52rem}
.landing-gallery__heading h2 {margin-bottom:var(--space-1)}
.landing-gallery__heading>p:last-child {max-width:44rem;margin:0;color:var(--color-muted);font-size:var(--step-1)}
.section-heading>p:last-child,
.secondary-line__copy>p,
.industrial-proof__history,
.category-showcase__heading>p:last-child {max-width:68ch}
.landing-location__grid {align-items:center;gap:clamp(2rem,6vw,6rem)}
.landing-location .external-media {grid-column:2;grid-row:1;min-height:clamp(24rem,36vw,30rem);margin-top:0;aspect-ratio:auto}
.landing-answers__heading {max-width:50rem}
.landing-answers__heading h2 {margin-top:0}
.landing-answers__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:var(--space-4);background:var(--color-border)}
.landing-answer {min-width:0;padding:var(--space-3);background:var(--color-white)}
.landing-answer h3 {margin:0;color:var(--color-ink);font-size:var(--step-1);line-height:1.25}
.landing-answer p {margin:var(--space-1) 0 0;color:var(--color-muted)}
@media(max-width:52rem) {
 .category-showcase__grid,.landing-answers__grid {grid-template-columns:1fr}
 .land-listing {grid-template-columns:1fr}
 .category-showcase__item--edificio-atenea-i-bano {grid-column:auto}
 .landing-location .external-media {grid-column:1;grid-row:auto;min-height:24rem}
}
@media(max-width:40rem) {
 .site-footer {padding-bottom:6rem}
}
@media(prefers-reduced-motion:reduce) {
 .whatsapp-fab,.category-showcase__media img {transition:none}
 .whatsapp-fab:hover,.category-showcase__item:hover img {transform:none}
}
/* Texto de lectura justificado en todas las rutas y tamaños de pantalla. */
main :is(p,li,dd,figcaption,span),
.site-footer p {
 text-align:justify;
 text-align-last:left;
 hyphens:auto;
}
main :is(h1,h2,h3,h4,h5,h6,.eyebrow,[class*="__eyebrow"]) {text-align:start;hyphens:none}
.corporate-story-preview .evidence-item {text-align:left}
.corporate-story-preview .evidence-item>span:not(.evidence-item__index) {text-align:left;hyphens:none}
