/* Presentación de catálogo y fichas. Las imágenes de equipos conservan su aspecto original. */
.p21 {--p099-accent:#00adee;--p099-primary:#17479d;font-size:17px}
.p21 .product-hero,.p21 .products-index-hero {padding:calc(var(--p099-header-h,126px) + 48px) 0 54px;background:radial-gradient(ellipse at 85% 15%,#154178 0,transparent 55%),#0a162d}
.p21 .product-hero::after {display:none}
.p21 .product-hero__grid,.p21 .products-index-hero__grid {display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:44px}
.p21 .product-hero__grid>div,.p21 .products-index-hero__grid>div {min-width:0}
.p21 .product-hero h1,.p21 .products-index-hero h1 {margin:20px 0;font-size:clamp(35px,3.65vw,52px);line-height:1.07;letter-spacing:-.045em;font-weight:850;color:#fff}
.p21 .products-index-hero h1 {font-size:clamp(34px,3.25vw,46px)}
.p21 .product-hero__lead,.p21 .products-index-hero__lead {max-width:60ch;font-size:18px;line-height:1.7;color:#dbe6f7}
.p21 .product-eyebrow {font-size:12px;line-height:1.65;color:#8fdbf9;background:#00adee13;border:1px solid #00adee40}
.p21 .product-hero__points {margin:23px 0;font-size:16px;gap:12px 18px}
.p21 .product-hero__points li {font-size:15px;line-height:1.6;color:#edf5ff}
.p21 .product-hero__points li::before {color:#00adee}
.p21 .product-hero__actions {gap:12px;margin-top:26px}
.p21 .product-hero__actions .product-btn--light {background:#00adee;color:#071a34;box-shadow:0 8px 28px #00adee22}
.p21 .product-hero__actions .product-btn--light:hover {background:#25c0fa}
.p21 .product-hero__actions .product-btn--ghost {color:#fff;background:transparent;border:1px solid #7596c2}
.p21 .product-btn {font-size:15px;min-height:50px;line-height:1.4}
.p21-media {position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;min-width:0;margin:0;background:#e8eff5;border:1px solid #ffffff26;border-radius:24px;aspect-ratio:1/1}
.p21-media__environment {position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2}
.p21-media--cutout::before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#08142d9c,transparent 50%),radial-gradient(ellipse at 50% 45%,#ffffff5e,transparent 68%)}
.p21 .p21-media__equipment {position:absolute;inset:0;margin:auto;display:block;width:78%;height:80%;object-fit:contain;filter:drop-shadow(0 22px 18px #07152f45)}
.p21 .p21-media--photo .p21-media__equipment {width:100%;height:100%;padding:26px;object-fit:contain;filter:none;background:#f7f9fc}
.p21 .p21-media--ambiente .p21-media__equipment {width:100%;height:100%;object-fit:cover;filter:none}
.p21-media__seal {position:absolute;right:18px;top:18px;width:64px;filter:drop-shadow(0 5px 8px #05132d55)}
.p21-media__seal img {display:block;width:100%;height:auto}
.p21-media figcaption {position:absolute;bottom:0;left:0;right:0;padding:26px 18px 13px;color:#fff;font-size:11px;line-height:1.5;background:linear-gradient(0deg,#07152feb,#07152f00);text-align:center}
.p21-consult {padding:58px 0;background:#edf2f8}
.p21-consult__grid {display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:54px;align-items:center}
.p21-consult__copy h2 {font-size:clamp(28px,2.8vw,38px);line-height:1.12;letter-spacing:-.035em;margin:15px 0 22px;color:#0c1931;font-weight:850}
.p21-consult .product-answer {background:transparent;border:0;border-radius:0;padding:0;margin:0 0 25px;box-shadow:none}
.p21-consult .product-answer__label {color:#17479d;font-size:11px}
.p21-consult .product-answer p {color:#42516a;font-size:16px;line-height:1.75;margin:10px 0 0}
.p21-consult .product-answer strong {color:#12243f}
.p21-consult__steps {list-style:none;padding:0;margin:0;display:grid;gap:19px}
.p21-consult__steps li {display:flex;gap:14px;align-items:flex-start}
.p21-consult__steps li>span {display:grid;place-items:center;flex:0 0 35px;height:35px;background:#dbeafa;color:#17479d;border-radius:50%;font-size:12px;font-weight:800}
.p21-consult__steps strong {font-size:15px;line-height:1.5;color:#10203a}
.p21-consult__steps p {font-size:14px;line-height:1.65;margin:3px 0 0;color:#53627a}
.p21 .p21-consult .form-card-099 {position:static;align-self:auto;width:100%;max-width:none;padding:32px;border-radius:22px;box-shadow:0 16px 48px #10234112}
.p21 .form-card-099 h2 {font-size:30px;line-height:1.13;letter-spacing:-.035em}
.p21 .form-card-099 .te-llamamos {font-size:16px}
.p21 .form-card-099 button {font-size:16px}
.p21 .product-card-grid {gap:24px}
.p21 .product-card--link {padding:0;overflow:hidden;border-radius:20px;background:#fff}
.p21 .product-card--link>a {display:flex;flex-direction:column;height:100%;padding:0 24px 26px}
.p21 .product-card--link .p21-media {align-self:stretch;margin:0 -24px 22px;aspect-ratio:4/3;border:0;border-bottom:1px solid #e5ebf3;border-radius:0}
.p21 .p21-media--card .p21-media__equipment {width:72%;height:78%}
.p21 .p21-media--card.p21-media--photo .p21-media__equipment {width:100%;height:100%;padding:18px 30px 30px}
.p21 .p21-media--card.p21-media--ambiente .p21-media__equipment {width:100%;height:100%}
.p21 .p21-media--card .p21-media__seal {width:42px;right:14px;top:14px}
.p21 .p21-media--card figcaption {font-size:9px;padding-bottom:9px}
.p21 .product-card h3 {font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.p21 .product-card p {font-size:16px;line-height:1.7}
.p21 .product-card__more {font-size:14px;margin-top:auto;padding-top:22px}
.p21 .product-copy-grid__body p,.p21 .product-table {font-size:17px;line-height:1.75}
.p21 .product-table-wrap {position:relative}
@media(max-width:1050px){
 .p21 .product-hero__grid,.p21 .products-index-hero__grid {gap:28px}
 .p21-consult__grid {gap:32px}
 .p21 .product-hero h1 {font-size:40px}
 .p21 .products-index-hero h1 {font-size:36px}
 .p21 .product-hero__lead,.p21 .products-index-hero__lead {font-size:17px}
 .p21 .product-hero__points {grid-template-columns:1fr}
 .p21 .p21-consult .form-card-099 {padding:26px}
}
@media(max-width:760px){
 .p21 {font-size:16px}
 .p21 .product-hero,.p21 .products-index-hero {padding:calc(var(--p099-header-h,78px) + 28px) 0 34px}
 .p21 .product-hero__grid,.p21 .products-index-hero__grid,.p21-consult__grid {grid-template-columns:1fr;gap:30px}
 .p21 .product-hero h1,.p21 .products-index-hero h1 {font-size:34px;line-height:1.08;margin:18px 0}
 .p21 .product-hero__lead,.p21 .products-index-hero__lead {font-size:16px;line-height:1.7}
 .p21 .product-eyebrow {font-size:10px;letter-spacing:.055em}
 .p21 .product-hero__actions {display:grid;grid-template-columns:1fr;margin-top:24px}
 .p21 .product-hero__actions .product-btn {width:100%}
 .p21-media--hero {aspect-ratio:4/3;border-radius:20px}
 .p21 .p21-media--hero .p21-media__equipment {height:84%;width:82%}
 .p21 .p21-media--hero.p21-media--photo .p21-media__equipment,.p21 .p21-media--hero.p21-media--ambiente .p21-media__equipment {height:100%;width:100%}
 .p21-media__seal {width:48px;right:14px;top:14px}
 .p21-consult {padding:38px 0}
 .p21-consult__copy h2 {font-size:30px}
 .p21 .p21-consult .form-card-099 {padding:25px 20px}
 .p21 .form-card-099 h2 {font-size:27px}
 .p21 .product-card h3 {font-size:22px}
 .p21 .product-copy-grid__body p,.p21 .product-table {font-size:16px}
}
@media(prefers-reduced-motion:reduce){.p21 .product-card--link {transition:none}.p21 .product-card--link:hover {transform:none}}

/* Fotos aportadas: conservar fondo y marca originales. */
.p21 .p21-media--provided,.p21 .p21-media--provided .p21-media__equipment {background:#fff}
.p21 .p21-media--hero.p21-media--provided {aspect-ratio:1/1}
.p21 .p21-media--hero.p21-media--provided .p21-media__equipment {padding:16px}
@media(max-width:760px){.p21 .p21-media--hero.p21-media--provided .p21-media__equipment {padding:10px}}

/* Fotos de uso: encuadre completo en escritorio y móvil. */
.p21 .p23-context {padding:66px 0;background:#f3f6fa}
.p21 .p23-context__head {max-width:760px;margin:0 0 32px}
.p21 .p23-context__head h2 {margin:14px 0 16px;font-size:clamp(29px,3vw,42px);line-height:1.13;letter-spacing:-.035em;color:#10203a;font-weight:850}
.p21 .p23-context__head p {font-size:17px;line-height:1.7;color:#53627a;margin:0}
.p21 .p23-context__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.p21 .p23-context__card {min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid #dce5ef;border-radius:22px;box-shadow:0 12px 32px #10234107}
.p21 .p23-context__photo {position:relative;aspect-ratio:3/2;background:#e9edf1}
.p21 .p23-context__image {display:block;width:100%;height:100%;object-fit:contain}
.p21 .p23-context__card figcaption {padding:25px 28px 30px}
.p21 .p23-context__label {font-size:11px;line-height:1.6;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#17479d}
.p21 .p23-context__card h3 {font-size:25px;line-height:1.2;letter-spacing:-.025em;font-weight:800;color:#10203a;margin:9px 0 12px}
.p21 .p23-context__card p {font-size:16px;line-height:1.7;color:#53627a;margin:0}
.p21 .p23-context__note {font-size:12px;line-height:1.65;color:#617087;margin:24px 0 0;max-width:85ch}
.p21 .p23-feature {margin:0 0 30px;overflow:hidden;background:#fff;border:1px solid #dce5ef;border-radius:24px;box-shadow:0 18px 45px #1023410c}
.p21 .p23-feature>img {display:block;width:100%;height:auto;object-fit:contain}
.p21 .p23-feature figcaption {padding:25px 30px 28px;display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:start}
.p21 .p23-feature strong {font-size:26px;line-height:1.2;letter-spacing:-.025em;color:#10203a}
.p21 .p23-feature p {margin:0;font-size:16px;line-height:1.7;color:#53627a}
.p21 .p23-tamper {padding:64px 0;background:#fff;scroll-margin-top:160px}
.p21 .p23-tamper__panel {display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:48px;background:linear-gradient(125deg,#0d1830,#173564);border-radius:26px;color:#fff}
.p21 .p23-tamper .product-section__kicker {color:#63d5ff}
.p21 .p23-tamper h2 {margin:18px 0 24px;font-size:clamp(29px,3vw,39px);line-height:1.16;letter-spacing:-.03em;color:#fff;font-weight:850}
.p21 .p23-tamper__copy p {margin:0 0 18px;font-size:17px;line-height:1.75;color:#dbe5f4}
.p21 .p23-tamper__copy a {display:inline-block;margin-top:8px;color:#76ddff;font-weight:750;font-size:16px;line-height:1.5;text-underline-offset:4px}
.p21 .p23-tamper__steps {display:grid;gap:16px;margin:0;padding:0;list-style:none;align-content:center}
.p21 .p23-tamper__steps li {display:flex;gap:16px;padding:22px;background:#ffffff0c;border:1px solid #ffffff20;border-radius:17px}
.p21 .p23-tamper__steps li>span {flex:0 0 36px;display:grid;place-items:center;align-self:start;width:36px;height:36px;border-radius:10px;background:#00adee;color:#071c32;font-size:14px;font-weight:850}
.p21 .p23-tamper__steps h3 {margin:0 0 9px;font-size:20px;line-height:1.3;color:#fff;font-weight:800}
.p21 .p23-tamper__steps p {margin:0;font-size:15px;line-height:1.65;color:#dbe5f4}
@media(max-width:959px){.p21 .p23-tamper__panel {grid-template-columns:1fr;gap:28px}}
@media(max-width:760px){
 .p21 .p23-context {padding:40px 0}
 .p21 .p23-context__grid {grid-template-columns:1fr;gap:22px}
 .p21 .p23-context__head {margin-bottom:26px}
 .p21 .p23-context__head p {font-size:16px}
 .p21 .p23-context__card figcaption {padding:22px 22px 26px}
 .p21 .p23-context__card h3 {font-size:24px}
 .p21 .p23-feature figcaption {padding:22px;grid-template-columns:1fr;gap:12px}
 .p21 .p23-feature strong {font-size:24px}
 .p21 .p23-tamper {padding:40px 0;scroll-margin-top:120px}
 .p21 .p23-tamper__panel {grid-template-columns:1fr;gap:28px;padding:28px 23px;border-radius:22px}
 .p21 .p23-tamper__copy p {font-size:16px}
 .p21 .p23-tamper__steps li {padding:18px 15px;gap:12px}
}
.p21 .p21-media--scene {aspect-ratio:3/2;background:#e9edf1}
.p21 .p21-media--scene .p21-media__equipment {width:100%;height:100%;padding:0;object-fit:contain;filter:none}
.p21 .p21-media--hero.p21-media--scene {aspect-ratio:3/2}
.p21 .p21-media--card.p21-media--scene {aspect-ratio:3/2}
.p21 .p21-media--card.p21-media--scene .p21-media__equipment {width:100%;height:100%}
.p21 .p21-media--photo .p21-media__equipment {background:#fff}
.p21 .p21-media--hero.p21-media--photo .p21-media__equipment {padding:14px}
.p21 .p21-media--hero.p21-media--photo {background:#fff}
.p21 .p21-media--hero.p21-media--kit {aspect-ratio:3/2}
@media(max-width:760px){
 .p21 .p21-media--hero.p21-media--photo {aspect-ratio:1/1}
 .p21 .p21-media--hero.p21-media--kit {aspect-ratio:3/2}
 .p21 .p21-media--hero.p21-media--scene .p21-media__equipment {width:100%;height:100%}
 .p21 .p21-media--hero.p21-media--photo .p21-media__equipment {padding:12px}
 .p21-media figcaption {font-size:10px;line-height:1.45;padding:24px 12px 10px}
}
