/* ArmyGym · composición, lectura y accesos móviles. */
:root{--space:clamp(24px,5vw,72px)}
.hero{min-height:690px;padding-top:76px}
.hero-photo{width:83%;object-position:62% center;filter:brightness(1.08)}
.hero-shade{background:linear-gradient(90deg,#10150ff5 0%,#10150fdf 25%,#10150f77 52%,#10150f12 80%),linear-gradient(0deg,#10150ff5,transparent 45%)}
.hero:after{opacity:.26;mask-image:linear-gradient(90deg,#000,transparent 60%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 60%)}
.hero-copy{max-width:70%}
.hero h1{font-size:clamp(48px,6.1vw,88px);line-height:1.12;letter-spacing:-.015em}
:is(.hero h1,.section h2,.facility-list h3,.plan h3,.facade-video-copy h3,.value-item strong,.access-page h1,.legal-page h1){mask-image:url('assets/title-wear-soft-v28.svg');-webkit-mask-image:url('assets/title-wear-soft-v28.svg');mask-size:640px 256px;-webkit-mask-size:640px 256px;mask-repeat:repeat;-webkit-mask-repeat:repeat}
.hero-emblem{width:clamp(190px,19vw,260px);top:64px;right:calc(var(--space) + 8px);filter:drop-shadow(0 8px 18px #0008)}
.hero .eyebrow{box-shadow:none;background:#151e14a8;border-color:#a1ac7938;font-size:10px}
.hero-description{max-width:450px;color:#e4e7dc}
.hero-bottom{background:#10150f40}
.values-band{padding-block:24px;background:linear-gradient(#11111180,#11111180),url('assets/web-v28/camo-urban.webp') center/720px auto;border-color:#9b9f8c80}
.value-item strong{font-size:21px}
.facilities{background:#181e16}
.facility-list h3{font-size:25px}
.gallery-section{background:#e5e5d9;border-top-width:3px}
.gallery-grid{gap:26px 22px}
.gallery-grid.gallery-showcase{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row}
.gallery-showcase .gallery-item{grid-column:span 2}
.gallery-showcase .gallery-item:first-child{grid-column:span 4;grid-row:span 2;display:flex;flex-direction:column}
.gallery-showcase .gallery-item:first-child .gallery-image{flex:1;min-height:0;aspect-ratio:auto}
.gallery-image{border:0;background:#cfd3c5}
.gallery-image img{filter:brightness(1.025) saturate(.94);object-position:center}
.gallery-item[data-category="peso-libre"] .gallery-image img{filter:brightness(1.06) saturate(.92)}
.gallery-item[data-category="cardio"] .gallery-image img{filter:brightness(1.03) saturate(.94)}
.gallery-showcase .gallery-item:first-child .gallery-image img{position:absolute;inset:0}
.gallery-showcase .gallery-item:first-child .photo-caption h3{font-size:21px}
.photo-caption{padding-top:13px;gap:12px}
.photo-caption h3{line-height:1.35}
.gallery-section .button.outline{color:#35432a}
.plans{background:#121810;border-block:1px solid #53614666}
.plan-grid{gap:22px;align-items:stretch;padding-top:12px}
.plan{padding:32px 26px;background:#1c2519;border-color:#4a5840;box-shadow:none}
.plan.featured{background:linear-gradient(145deg,#394a2c,#27351f);border:2px solid #bccd8e;padding:31px 25px;box-shadow:0 12px 32px #0003}
.plan-label{left:24px;right:auto;top:-14px;padding:5px 12px;letter-spacing:.08em;font-size:9px;background:#c5d398}
.plan h3{font-size:28px}
.plan .eyebrow{margin-bottom:20px;color:#b9c6a6}
.plan .price{font-size:46px;margin:20px 0 0;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.plan-period{font-size:12px;color:#b9c6ad;display:block;margin-top:6px}
.plan p.plan-description{margin:22px 0 20px;max-width:100%;min-height:44px;flex:none;font-size:14px;color:#d6ddce}
.plan-benefit{display:flex;gap:10px;align-items:flex-start;min-height:70px;font-size:12px;color:#d9e1d0;margin-bottom:24px;padding-top:17px;border-top:1px solid #71815b60;width:100%}
.plan-benefit>.icon{width:18px;height:18px;color:#b9cb8d;margin-top:2px}
.plan-benefit strong{display:block;color:#d1e5a5;font-weight:650;margin-top:3px}
.plan .button{margin-top:auto;justify-content:center;font-size:13px;gap:10px;min-height:50px;padding:12px}
.more-plans{gap:0;padding:0;border:1px solid #46543c;background:#182015;margin-top:28px}
.more-plans>div,.more-plans>div:first-child,.more-plans>div:last-child{display:grid;grid-template-columns:1fr;align-content:start;justify-items:start;gap:5px;padding:21px 24px}
.more-plans>div{border-right:1px solid #46543c}
.more-plans strong{font-size:24px;letter-spacing:-.025em}
.more-plans small{font-size:11px;color:#bfd2a0}
.price-note{max-width:760px;line-height:1.8;color:#b9c4ac}
.member-compact{background:#222d1d;border-block:1px solid #5a6947;grid-template-columns:minmax(0,1fr) auto;gap:36px;padding-block:42px}
.member-compact .eyebrow{margin-bottom:12px}
.member-compact h2{font-size:clamp(26px,2.7vw,36px)}
.member-compact>div>p:not(.eyebrow):not(.small-note){margin-top:12px;max-width:600px;font-size:14px}
.member-compact .small-note{margin-top:10px!important}
.member-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.member-actions .button{font-size:13px}
.member-actions .text-link{font-size:12px;padding-left:3px}
.location{background:#171d14}
.facade-video{background:#232d1d;border:1px solid #546745}
.faq{border-top-width:3px}
.site-footer{background:#10150e}
.mobile-actions{display:none}
.legal-page{max-width:900px;padding-inline:36px}
.legal-page h1{font-size:clamp(32px,4.2vw,55px)}
.legal-page h2{font-size:23px;line-height:1.4;margin-top:32px}
.legal-page p{max-width:75ch}
@media(min-width:761px) and (max-width:1100px){
 .hero-copy{max-width:76%}.hero-emblem{width:190px;right:30px;top:38px}.hero{min-height:660px;padding-top:100px}
 .hero h1{font-size:clamp(48px,6.1vw,88px)}.plan-grid{gap:14px}.plan{padding:28px 18px}.plan.featured{padding:27px 17px}.plan .price{font-size:39px}.plan .button{font-size:11px;gap:6px}
 .gallery-showcase .gallery-item:first-child .photo-caption h3{font-size:18px}.member-compact{gap:24px}.member-actions .button{font-size:12px;padding-inline:15px}
}
@media(max-width:760px){
 html{scroll-padding-top:112px;scroll-padding-bottom:90px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .section{padding-block:46px}.section-heading{margin-bottom:26px}.section-heading>p{margin-top:16px}
 .hero{min-height:0;padding-top:24px}.hero-photo{width:100%;opacity:1;object-position:60% center;filter:brightness(1.06)}
 .hero-shade{background:linear-gradient(90deg,#10150fe0,#10150f90),linear-gradient(0deg,#10150fff,transparent 78%)}
 .hero:after{opacity:.18}.hero-emblem{display:none}.hero-copy{max-width:100%}
 .hero h1{font-size:clamp(28px,8.1vw,56px);line-height:1.12}:is(.hero h1,.section h2,.facility-list h3,.plan h3,.facade-video-copy h3,.value-item strong,.access-page h1,.legal-page h1){mask-size:480px 192px;-webkit-mask-size:480px 192px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:17px}
 .hero-description{margin:18px 0 20px;font-size:14px;line-height:1.75}.hero-actions{gap:10px}.hero-actions .button{min-height:48px}
 .hero-location{margin:22px 0 28px;font-size:9px;letter-spacing:.1em}.hero-bottom{padding:18px 0;gap:14px}.hero-bottom>a{display:none}
 .values-band{padding-block:16px}.value-item strong{font-size:clamp(11px,2.8vw,18px)}.value-item{gap:6px}
 .gallery-grid.gallery-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.gallery-showcase .gallery-item{grid-column:auto;grid-row:auto}
 .gallery-showcase .gallery-item:first-child{grid-column:1/-1;grid-row:auto;display:block}.gallery-showcase .gallery-item:first-child .gallery-image{aspect-ratio:4/3}
 .gallery-showcase .gallery-item:first-child .photo-caption h3{font-size:19px}.gallery-showcase .gallery-item:nth-child(6){grid-column:1/-1}
 .gallery-showcase .gallery-item:nth-child(6) .gallery-image{aspect-ratio:16/9}.gallery-grid:not(.gallery-showcase){grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-filters button{min-height:44px}.gallery-more{margin-top:26px}.photo-caption p{font-size:11px}
 .plan-grid{gap:24px;padding-top:10px}.plan,.plan.featured{padding:26px}.plan.featured{border-width:2px;padding:25px}
 .plan .price{font-size:44px}.plan p.plan-description{min-height:0;margin-top:17px;margin-bottom:16px}.plan-benefit{min-height:0;margin-bottom:21px;padding-top:14px}
 .plan .button{font-size:13px}.more-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .more-plans>div,.more-plans>div:first-child,.more-plans>div:last-child{padding:18px 16px;gap:4px}
 .more-plans>div:nth-child(2){border-right:0}.more-plans>div:nth-child(n+3){border-top:1px solid #46543c}.more-plans>div:nth-child(3){border-right:1px solid #46543c}
 .more-plans small{font-size:10px}.price-note{font-size:11px}
 .member-compact{grid-template-columns:1fr;gap:23px;padding-block:30px}.member-compact h2{font-size:26px}.member-actions{gap:7px}
 .member-actions .button{font-size:13px}.facade-video{margin-top:28px;padding:20px 16px;gap:20px}.contact-heading{margin-top:36px}
 .mobile-actions{position:fixed;z-index:40;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#10160ff5;border-top:1px solid #71815b80;box-shadow:0 -5px 20px #0003;backdrop-filter:blur(12px)}
 .mobile-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:1px solid #819568;color:#eef2e6;background:#293620;font-size:13px;font-weight:650;border-radius:2px}
 .mobile-actions a:first-child{background:#b9cb8d;color:#192312;border-color:#b9cb8d}.mobile-actions .icon{width:20px;height:20px}
 body.dialog-open .mobile-actions{visibility:hidden}.menu-toggle{min-height:44px;min-width:44px}.header-directions.button{min-height:44px}
 .legal-page{padding:34px 24px 48px}.legal-page h1{font-size:32px}.legal-page h2{font-size:21px}.legal-page p{font-size:14px;line-height:1.85}
 .site-footer{padding-bottom:28px}.footer-links a{padding-block:12px}
}
@media(max-width:380px){.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.gallery-grid.gallery-showcase,.gallery-grid:not(.gallery-showcase){grid-template-columns:1fr}.gallery-showcase .gallery-item{grid-column:1}.photo-caption h3{font-size:16px}.hero-location{font-size:8px}.site-header .brand img{width:66px;height:66px}.site-header{gap:8px}.header-directions.button{padding-inline:9px}}
@media print{.mobile-actions{display:none}body{padding-bottom:0}:is(.hero h1,.section h2,.facility-list h3,.plan h3,.facade-video-copy h3,.value-item strong,.access-page h1,.legal-page h1){mask-image:none;-webkit-mask-image:none}}

/* Cabecera compacta y accesos móviles. */
.site-header>.text-link{margin-left:auto;min-height:44px;white-space:nowrap}
@media(max-width:1100px){.header-directions{margin-left:auto}}
@media(max-width:760px){.site-header .brand>span{display:none}.site-header{gap:10px}.site-header>.text-link{font-size:12px;gap:5px}}
@media(max-width:520px){.header-directions.button{width:44px;padding:0;justify-content:center}.header-directions>span{display:none}.header-directions svg{width:20px;height:20px}.site-header{gap:8px}}
@media(max-width:380px){.site-header{gap:6px}}

.site-footer .trademark-note{flex-basis:100%;margin:0;font-size:11px;line-height:1.7;color:#b8c1ad}

/* Azul del plafón y la fachada como acento de la identidad. */
:root{--gym-blue:#1749d6;--gym-blue-light:#6087ff}
.hero-actions .button.primary{background:var(--gym-blue);border-color:var(--gym-blue);color:#fff;box-shadow:none}
.hero-bottom:before,.contact-grid:before{background:var(--gym-blue-light)}
.gallery-filters button[aria-pressed=true]{background:var(--gym-blue);border-color:var(--gym-blue);color:#fff}
.hero-actions .button.primary,.gallery-filters button[aria-pressed=true]{background:radial-gradient(ellipse at 50% 130%,#174bb4 0%,#102555 68%,#101d3b 100%);border-color:#3c70ef;box-shadow:inset 0 0 18px #2861ffb3,inset 0 0 4px #79a2ff8c;color:#fff;text-shadow:0 1px 3px #071026}
.hero-actions .button.primary:hover,.gallery-filters button[aria-pressed=true]:hover{border-color:#719bff;box-shadow:inset 0 0 22px #3774ffdb,inset 0 0 5px #a5c1ff99}
.photo-zoom{background:#123cacdd;border-color:#7799ff;color:#fff}
.plan.featured{background:radial-gradient(ellipse at 50% 0%,#245be64d,transparent 66%),radial-gradient(ellipse at 50% 100%,#1f57e652,transparent 68%),linear-gradient(135deg,#1b2730,#17231c 55%,#1b2630);border-color:#446bc6;box-shadow:inset 0 0 52px #285de675,inset 0 0 12px #5485ff55,0 0 20px #1749d614}
.plan-label{background:var(--gym-blue);color:#fff}
.gallery-item:focus-visible,.hero-actions .button:focus-visible{outline-color:var(--gym-blue-light)}

/* Nombre y ubicación visibles en la cabecera, también en celular. */
.header-identity{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand-details{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.brand-wordmark{font-family:Arial,Helvetica,sans-serif;font-size:26px;font-weight:800;line-height:1.1}
.brand-name{display:inline-flex;align-items:baseline;letter-spacing:-.055em;white-space:nowrap;line-height:1}
.brand-army{color:#e4e7dc}.brand-gym{color:#65712c}
.brand-letter{position:relative;display:inline-block}
.wordmark-glyph{display:inline-block;clip-path:polygon(0 0,100% 0,100% 68%,66% 68%,66% 100%,0 100%)}
.brand-gym .wordmark-glyph{clip-path:polygon(0 0,100% 0,100% 68%,89% 72%,78% 68%,78% 100%,0 100%)}
.wordmark-chevrons{position:absolute;right:-.025em;bottom:.10em;width:.21em;height:.22em;overflow:visible}
.brand-army .wordmark-chevrons{transform:rotate(-18deg)}
.brand-wordmark small{display:block;margin-top:6px;font-size:9px;letter-spacing:.13em;color:var(--sand);font-weight:500;white-space:nowrap}
@media(min-width:901px) and (max-width:1250px){.header-identity{gap:9px}.brand-wordmark{font-size:24px}.brand-wordmark small{font-size:8px}}
@media(max-width:760px){
 .header-identity{gap:8px}.brand-wordmark{display:block;font-size:24px}.brand-wordmark small{font-size:8px;letter-spacing:.08em}
}
@media(max-width:520px){.brand-wordmark{font-size:23px}.brand-wordmark small{font-size:7.5px}}
@media(max-width:380px){.header-identity{gap:6px}.site-header .brand img{width:60px;height:60px}.brand-wordmark{font-size:20px}.brand-wordmark small{font-size:6.8px;letter-spacing:.05em}.site-header>.text-link{font-size:11px;gap:3px}}

/* Portada: colores anteriores y desgaste más ligero. */
.hero h1{color:#f5f3ea}
.hero-title-shadow{filter:drop-shadow(2px 4px 5px rgb(0 0 0 / 65%))}
@media(max-width:760px){.hero-title-shadow{filter:drop-shadow(1px 2px 3px rgb(0 0 0 / 50%))}}
.hero h1 em{color:#bacb8c}
.hero-final-letter{position:relative;display:inline-block}
.hero-letter-glyph{display:inline-block;clip-path:polygon(0 0,100% 0,100% 58%,68% 58%,68% 100%,0 100%)}
.hero-letter-chevrons{position:absolute;right:0;bottom:.27em;width:.24em;height:.20em;overflow:visible;transform:rotate(-18deg)}
/* Redes dentro del mismo cuadro de llamadas, WhatsApp y correo. */
.contact-socials{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid #58664677}
.contact-grid .contact-socials a{display:inline-flex;justify-content:center;min-height:44px;padding:8px 12px;gap:9px;border:1px solid transparent;color:#b9c98e;font-size:14px;font-weight:600}
.contact-grid .contact-socials a:hover{background:#2d3824;border-color:#7f9160;color:#eef1e5}
.contact-socials .icon{width:21px;height:21px}
@media(max-width:760px){.contact-socials{justify-content:flex-start;gap:10px}.contact-grid .contact-socials a{padding-inline:8px}}
@media print{.hero h1{mask-image:none;-webkit-mask-image:none}.hero-title-shadow{filter:none}}
