/* Fotografía editorial compartida: una sola gramática visual para toda la experiencia pública. */
.editorial-frame{--frame-gutter:clamp(1rem,5vw,5.5rem);position:relative;width:min(100% - var(--frame-gutter)*2,1480px);margin:clamp(3rem,8vw,8rem) auto;color:var(--text);isolation:isolate}
.editorial-frame__media{position:relative;overflow:hidden;aspect-ratio:16/7;background:#071722;clip-path:polygon(0 0,100% 0,100% 88%,96% 100%,0 100%)}
.editorial-frame__media::after{content:"";position:absolute;inset:0;background:rgba(4,18,27,.14);pointer-events:none}
.editorial-frame img{width:100%;height:115%;object-fit:cover;object-position:var(--editorial-position,center);display:block;filter:saturate(.82) contrast(1.05);transform:translate3d(0,-6%,0) scale(1.04)}
.editorial-frame figcaption{display:grid;grid-template-columns:auto 1fr minmax(3rem,16vw);align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:1.15rem 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.editorial-frame figcaption span{color:var(--gold);font-weight:700}.editorial-frame figcaption p{margin:0}.editorial-frame figcaption i{height:1px;background:var(--gold);transform-origin:left}
.editorial-frame--product{margin-top:-1px}.editorial-frame--product .editorial-frame__media{aspect-ratio:2.2/1}.editorial-frame--contact{margin-top:0}
.catalog-hero__image{overflow:hidden;background:none!important}.catalog-hero__image::before,.catalog-hero__image::after{display:none!important}.catalog-hero__image img{width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.7) contrast(1.12);transform:scale(1.06)}
.catalog-hero::after{content:"";position:absolute;inset:0;background:rgba(3,17,26,.72);pointer-events:none}.catalog-hero>*:not(.catalog-hero__image){z-index:1}
.internal-hero,.contact-hero,.catalog-hero,.corporate-hero{isolation:isolate}
.internal-hero--editorial{display:grid;grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);align-items:end;gap:clamp(2rem,6vw,7rem)}.internal-hero--editorial figure{margin:0;aspect-ratio:16/10;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 88%,92% 100%,0 100%)}.internal-hero--editorial img{width:100%;height:110%;object-fit:cover;filter:saturate(.75) contrast(1.08);transform:translateY(-4%)}
.corporate-section{transition:background-color .45s ease}.corporate-section:hover{background:color-mix(in srgb,var(--gold) 4%,transparent)}
.corporate-section:hover .section-number{color:var(--gold)}
.faq-list details{transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,background-color .35s ease}.faq-list details:hover{transform:translateX(.4rem);border-color:color-mix(in srgb,var(--gold) 52%,transparent)}
.sitemap-grid>div{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .4s ease}.sitemap-grid>div::after{content:"";position:absolute;right:-2rem;bottom:-3rem;width:8rem;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--gold) 25%,transparent);border-radius:50%;transition:transform .6s ease}.sitemap-grid>div:hover{transform:translateY(-.45rem);border-color:var(--gold)}.sitemap-grid>div:hover::after{transform:scale(1.35)}
@supports(animation-timeline:view()){
 .editorial-frame__media{animation:frame-reveal linear both;animation-timeline:view();animation-range:entry 5% cover 42%}
 .editorial-frame img{animation:image-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 .editorial-frame figcaption i{animation:line-grow linear both;animation-timeline:view();animation-range:entry 10% cover 45%}
 .catalog-hero__image img{animation:hero-breathe linear both;animation-timeline:scroll(root);animation-range:0 65vh}
}
@keyframes frame-reveal{from{clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 88%,96% 100%,0 100%)}}
@keyframes image-drift{from{transform:translate3d(0,-10%,0) scale(1.08)}to{transform:translate3d(0,0,0) scale(1.02)}}
@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hero-breathe{from{transform:scale(1.06) translateY(0)}to{transform:scale(1.12) translateY(4%)}}
@media(max-width:767px){.editorial-frame{--frame-gutter:1rem;margin-block:3rem}.editorial-frame__media,.editorial-frame--product .editorial-frame__media{aspect-ratio:4/5;clip-path:polygon(0 0,100% 0,100% 94%,90% 100%,0 100%)}.editorial-frame figcaption{grid-template-columns:auto 1fr}.editorial-frame figcaption i{display:none}.editorial-frame img{height:110%}.catalog-hero__image img{object-position:66% center}.faq-list details:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.editorial-frame__media,.editorial-frame img,.editorial-frame figcaption i,.catalog-hero__image img{animation:none!important;transform:none!important}.corporate-section,.faq-list details,.sitemap-grid>div{transition:none}}
@media(max-width:767px){.internal-hero--editorial{grid-template-columns:1fr}.internal-hero--editorial figure{aspect-ratio:4/3}}
