/* ArmyGym: esténcil con desgaste suave, paleta oliva y fotografías originales. */
@font-face{font-family:'Army Stencil';src:url('assets/fonts/BlackOpsOne-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--sand:#d1c39e;--field:#303928;--display:'Army Stencil','Arial Black',sans-serif;--space:clamp(24px,5vw,72px)}
/* Marco centrado en pantallas grandes; ancho completo en tabletas y teléfonos. */
html{background:#0c100b;scroll-padding-top:130px}
body{width:100%;max-width:1440px;min-height:100vh;margin-inline:auto;box-shadow:0 0 65px #0005}
.site-header{border-bottom-color:#777c555c;box-shadow:0 3px 18px #080b0733}
.brand small{color:var(--sand)}
.site-header nav>a:not(.button){letter-spacing:.025em}
.site-header .portal-link{border-color:#929a72;background:#26301f}
.button{border-radius:1px;letter-spacing:.025em}
.button.primary{box-shadow:inset 0 0 0 3px #ffffff0c,0 3px 0 #0b100d40}
.button.primary span{border-left:1px solid #31422355;padding-left:15px}
.hero{border-bottom:1px solid #8f96745c}
.hero-photo{width:77%;object-position:57% center;mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}
.hero-shade{background:linear-gradient(90deg,#10150fff 0%,#10150ff5 17%,#10150fc2 39%,#10150f30 73%,#10150f12),linear-gradient(0deg,#10150ff5,transparent 57%)}
.hero:after{background:url('assets/camo-field-seamless.svg') left top/650px auto;opacity:.62;mask-image:linear-gradient(90deg,#000 0%,#000b 32%,transparent 67%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000b 32%,transparent 67%)}
.hero .eyebrow{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid #a1ac795e;background:#121a10b8;color:var(--sand);font-size:10px;letter-spacing:.19em;box-shadow:3px 3px 0 #050a0570}
.rank{display:inline-block;width:17px;height:18px;font-size:0;letter-spacing:0;margin-right:13px;background:var(--olive);clip-path:polygon(0 0,40% 0,77% 50%,40% 100%,0 100%,37% 50%,0 0,52% 0,100% 50%,52% 100%,89% 50%)}
.hero h1{font-family:var(--display);font-size:clamp(48px,6.1vw,88px);font-weight:400;line-height:1.12;letter-spacing:-.015em;color:#f5f3ea}
.hero h1 em{font-style:inherit;color:#bacb8c}
.hero-description{color:#e0e3d7}
.hero-location{color:var(--sand)}
.hero-bottom{border-top-color:#b8bb8566;position:relative}
.hero-bottom:before{content:'';position:absolute;left:0;top:-3px;width:70px;height:5px;background:var(--olive)}
.hero-bottom span{color:#d0c6a9}
.values-band{padding:28px var(--space);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:linear-gradient(#121b1266,#121b1266),url('assets/camo-field-seamless.svg') center/550px auto;border-block:1px solid #a2ab735e;gap:24px}
.value-item{display:flex;align-items:center;gap:18px;padding-right:22px}
.value-item+.value-item{border-left:1px solid #b6c09345;padding-left:32px}
.value-item img{width:42px;height:50px;flex-shrink:0}
.value-item strong{font-family:var(--display);font-size:24px;letter-spacing:.025em;text-transform:uppercase;font-weight:400;text-shadow:0 2px 6px #0b100ccc}
.value-item p{color:#e2e6d8;font-size:12px;margin-top:2px}
.section{position:relative}
.section>.section-heading .eyebrow,.member-section>div>.eyebrow,.faq>div>.eyebrow,.contact-heading>.eyebrow{display:flex;align-items:center;gap:12px;color:var(--sand);letter-spacing:.17em}
.section>.section-heading .eyebrow:before,.member-section>div>.eyebrow:before,.faq>div>.eyebrow:before,.contact-heading>.eyebrow:before{content:'';display:inline-block;width:15px;height:15px;flex-shrink:0;background:currentColor;clip-path:polygon(50% 0,61% 35%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,39% 35%)}
.section h2{font-family:var(--display);text-transform:uppercase;letter-spacing:0;font-size:clamp(29px,3.1vw,44px);line-height:1.2;font-weight:400}
.section-heading>div{max-width:730px}
.facilities{background:linear-gradient(120deg,#171c14,#1d2419)}
.feature-icon{display:flex;align-items:center;justify-content:center;width:45px;height:48px;border:1px solid #7c8a5e;color:var(--sand);font-family:var(--display);font-size:20px;letter-spacing:.06em;background:#303c26;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%)}
.facility-list h3{font-family:var(--display);font-size:27px;font-weight:400;letter-spacing:.015em;text-transform:uppercase}
.amenities{color:#d4d8ca}
.gallery-section{background:#e2e2d4;border-top:7px solid #64734d}
.gallery-section>.section-heading .eyebrow{color:#4e6135}
.gallery-filters button{border-radius:1px}
.gallery-image{border-radius:1px;border:1px solid #788561}
.photo-number{border-top:2px solid #6b7b50;padding-top:4px;min-width:22px;color:#4c5e34}
.photo-zoom{border-color:#b4c38a;right:12px;bottom:12px}
.plans{background:linear-gradient(#11180dc9,#11180dc9),url('assets/camo-field-seamless.svg') center/720px auto;border-block:1px solid #7f8c5b66}
.plan{border-radius:1px;border-color:#7d8a61;background:#222b1ef5;box-shadow:inset 0 0 0 5px #151c1233}
.plan:after{content:'';position:absolute;right:14px;bottom:14px;width:11px;height:11px;border-bottom:1px solid #b4bd8e77;border-right:1px solid #b4bd8e77;pointer-events:none}
.plan.featured{background:#303c26eb;box-shadow:inset 0 0 0 5px #c2d48b0c}
.plan .eyebrow:before{content:'››';font-size:16px;letter-spacing:-2px;margin-right:11px;color:var(--sand)}
.plan h3{font-family:var(--display);font-size:30px;font-weight:400;letter-spacing:0;text-transform:uppercase}
.plan-label{background:var(--sand);color:#242d1d;padding-inline:16px;letter-spacing:.1em}
.member-section{background:linear-gradient(90deg,#172011cc,#172011a6),url('assets/camo-field-seamless.svg') center/650px auto;border-block:1px solid #7f8c5b}
.member-section>div>p:not(.eyebrow):not(.small-note),.member-list{color:#e3e7db}
.member-list span{display:inline-block;min-width:25px;border-bottom:2px solid #a3b579;padding-bottom:2px;font-weight:700}
.phone{border-radius:18px;border-color:#8d9a70;box-shadow:10px 14px 0 #10170f55}
.phone-top{color:var(--sand)}
.location{background:#171c15}
.facade{width:min(100%,430px);justify-self:center;aspect-ratio:auto;overflow:visible;border-radius:1px;border:1px solid #7e8962;box-shadow:8px 8px 0 #2c3425;background:#20281c}
.facade-frame{aspect-ratio:1064/1478;overflow:hidden;background:#141b13}
.facade .facade-frame img{display:block;position:static;width:100%;max-width:100%;height:auto;object-fit:contain;object-position:center}
.facade:after{display:none}
.facade figcaption{position:static;margin:0;padding:20px 22px;border-top:1px solid #7e8962;border-left:3px solid var(--olive)}
.facade figcaption strong{font-size:18px}
.facade figcaption span{color:var(--sand)}
.facade-video{margin-top:44px;display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:32px;padding:28px;background:linear-gradient(#172011bf,#172011bf),url('assets/camo-field-seamless.svg') center/600px auto;border:1px solid #626f4e;border-top:3px solid #9eae77}
.facade-video-copy{min-width:0}
.facade-video-copy .eyebrow{color:var(--sand);font-size:10px;letter-spacing:.14em;margin-bottom:16px}
.facade-video-copy .eyebrow span{margin-right:8px}
.facade-video-copy h3{font-family:var(--display);font-size:clamp(24px,2.4vw,33px);font-weight:400;line-height:1.2;text-transform:uppercase;margin-bottom:17px}
.facade-video-copy>p:not(.eyebrow){color:#e0e4d7;font-size:15px;line-height:1.7}
.facade-video-copy .facade-video-note{font-size:12px!important;color:#c0cab1!important;margin-top:18px}
.facade-video-player{min-width:0}
.facade-video video{display:block;width:100%;height:auto;aspect-ratio:410/231;object-fit:contain;background:#0c100b;border:1px solid #71815b;color-scheme:dark}
.facade-video video:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
.facade-video-fallback{display:inline-block;padding:10px 0 0;color:#c8d99e;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.facade-video-fallback:hover{color:#edf3df}
@media(max-width:760px){.facade-video{grid-template-columns:1fr;gap:22px;padding:20px 16px;margin-top:32px}.facade-video-copy .facade-video-note{margin-top:10px}}
.contact-grid{background:#20281b;padding:26px 24px;border-color:#65714e;position:relative}
.contact-grid:before{content:'';position:absolute;top:-3px;left:24px;width:65px;height:5px;background:var(--olive)}
.contact-grid span{color:var(--sand)}
.faq{background:#dedfce;border-top:7px solid #65734d}
.faq>div>.eyebrow{color:#53673d}
.faq details{border-color:#a1ab8e}
.faq summary::marker{color:#556b3c}
.site-footer{background:linear-gradient(#10160fd6,#10160fd6),url('assets/camo-field-seamless.svg') center/600px auto;border-top:1px solid #6c78524d}
.footer-brand strong{color:var(--sand);letter-spacing:.08em}
.footer-bottom{border-color:#5b67444f}
.access-page h1,.legal-page h1{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:0;overflow-wrap:anywhere}
.access-page>.eyebrow,.legal-page>.eyebrow{color:var(--sand);border-left:3px solid var(--olive);padding-left:12px}
@media(max-width:1100px){.value-item{gap:12px;padding-right:10px}.value-item+.value-item{padding-left:20px}.value-item strong{font-size:21px}.hero h1{max-width:780px}}
@media(max-width:900px){.hero-photo{width:100%;opacity:.9}.hero-shade{background:linear-gradient(90deg,#10150ff2,#10150fb0 50%,#10150f55),linear-gradient(0deg,#10150ff5,transparent 75%)}.hero:after{opacity:.5;mask-image:linear-gradient(90deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 80%)}.value-item strong{font-size:18px}.value-item img{width:32px;height:40px}.value-item p{font-size:11px}}
@media(max-width:760px){.hero h1{font-size:clamp(28px,8.1vw,56px)}.hero .eyebrow{font-size:8px;letter-spacing:.1em;padding:8px 10px;gap:0}.hero .rank{margin-right:10px;width:14px;height:16px}.values-band{gap:0;padding-block:15px}.value-item{justify-content:center;flex-direction:column;text-align:center;padding:8px 5px;gap:8px}.value-item+.value-item{padding-left:5px}.value-item strong{font-size:clamp(11px,2.6vw,17px);letter-spacing:0}.value-item p{display:none}.value-item img{width:29px;height:36px}.section h2{font-size:clamp(26px,6.4vw,38px)}.feature-icon{width:36px;height:39px;font-size:17px}.facility-list h3{font-size:25px}.contact-grid{padding:24px 20px}.facade{box-shadow:5px 5px 0 #2c3425}.facade figcaption{padding:18px 15px}.facade figcaption strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

/* Accesos visibles, emblema original y acabado de la referencia del propietario. */
.site-header{gap:18px;background:#11160ff5;min-height:116px;padding-block:8px}
.site-header .brand img{width:100px;height:100px;flex-shrink:0;object-fit:contain}
.footer-brand img{width:112px;height:112px;flex-shrink:0}
.site-header nav{margin-left:auto;gap:18px}
.header-directions.button{flex-shrink:0;min-height:44px;gap:9px;padding:10px 15px;border-color:#a8b875;background:#b9c98e;color:#192013;font-size:13px;font-weight:750;white-space:nowrap}
.header-directions.button:hover{background:#cbd9a8;border-color:#cbd9a8}
.hero-copy{max-width:72%}
.hero-emblem{position:absolute;right:var(--space);top:50px;width:clamp(200px,23vw,310px);filter:drop-shadow(0 5px 16px #0009);pointer-events:none}
.hero-emblem img{display:block;width:100%;height:auto;object-fit:contain}
#ubicacion{scroll-margin-top:18px}
@media(min-width:901px) and (max-width:1250px){.site-header{padding-inline:24px;gap:12px;min-height:102px}.site-header nav{gap:13px}.site-header .brand{font-size:19px;gap:9px}.site-header .brand img{width:84px;height:84px}.site-header nav>a{font-size:12px}.site-header nav .button{padding-inline:11px;gap:8px}.header-directions.button{font-size:12px;padding-inline:11px}}
@media(max-width:900px){html{scroll-padding-top:116px}.site-header{min-height:102px}.site-header .brand img{width:86px;height:86px}.header-directions{margin-left:auto}.site-header nav{margin-left:0}.hero-copy{max-width:72%}.hero-emblem{width:170px;right:24px;top:80px}.hero h1{font-size:clamp(48px,6.1vw,88px)}.hero-photo{mask-image:none;-webkit-mask-image:none}}
@media(max-width:760px){.hero{padding-top:24px;min-height:0}.hero-emblem{position:relative;inset:auto;width:190px;margin:0 auto 20px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(28px,8.1vw,56px)}.hero:after{background-size:380px auto}.hero-emblem img{aspect-ratio:1}.hero-location{margin-bottom:30px}.footer-brand img{width:88px;height:88px}}
@media(max-width:520px){html{scroll-padding-top:108px}.site-header{padding:10px 14px;min-height:92px;gap:9px}.site-header .brand{font-size:16px;gap:6px}.site-header .brand img{width:72px;height:72px}.brand small{display:none}.header-directions.button{font-size:12px;gap:6px;padding:10px;min-height:42px}.header-directions svg{width:15px;height:15px}.menu-toggle{padding:8px;width:36px;min-height:42px;flex-shrink:0}.menu-label{display:none}.hero-emblem{width:180px}.site-header>.text-link{font-size:11px}}
@media(max-width:380px){.site-header{padding-inline:12px;gap:8px}.site-header .brand>span{display:none}}

/* Textura transparente: conserva el color propio de cada título. */
.hero h1,.section h2{mask-image:url('assets/title-wear.svg');-webkit-mask-image:url('assets/title-wear.svg');mask-size:180px 180px;-webkit-mask-size:180px 180px;mask-repeat:repeat;-webkit-mask-repeat:repeat}
@media(max-width:760px){.hero h1,.section h2{mask-size:140px 140px;-webkit-mask-size:140px 140px}}
@media print{.hero h1,.section h2{mask-image:none;-webkit-mask-image:none}}

/* Una misma familia de iconos SVG para contacto, servicios y navegación. */
.icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle}
.action-arrow{width:16px;height:16px}
.button>.icon:first-child{width:19px;height:19px}
.button{gap:12px}
.text-link{display:inline-flex;align-items:center;gap:9px}
.text-link .icon{width:18px;height:18px}
.hero-location>.icon{width:18px;height:18px;margin-right:10px;color:var(--sand)}
.hero-bottom strong .icon{width:20px;height:20px;margin-right:6px}
.feature-icon .icon{width:25px;height:25px}
.amenities>span{display:inline-flex;align-items:center;gap:9px}
.amenities .icon{color:var(--olive);width:19px;height:19px}
.member-list li{display:flex;align-items:center;gap:12px}
.member-list .icon{color:var(--olive)}
.icon-heading{display:flex;align-items:center;gap:12px}
.icon-heading .icon{color:var(--olive);width:23px;height:23px}
.facade-video-copy .eyebrow .icon{width:17px;height:17px;margin-right:8px}
.photo-zoom{display:grid;place-items:center}
.photo-zoom .icon{width:19px;height:19px}
.lightbox-close,#photo-prev,#photo-next{display:grid;place-items:center}
.lightbox-close .icon,#photo-prev .icon,#photo-next .icon{width:24px;height:24px}
.footer-links a{display:inline-flex;align-items:center;gap:7px}
.footer-links .icon{width:16px;height:16px;color:var(--olive)}
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:24px 20px}
.contact-grid a{display:flex;align-items:center;gap:13px;padding:12px;border:1px solid transparent;transition:background .2s,border-color .2s}
.contact-grid a:hover{background:#2d3824;border-color:#7f9160}
.contact-grid a>div{min-width:0;flex:1}
.contact-grid a>div>span{margin-bottom:7px;line-height:1.3}
.contact-grid .contact-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;margin:0;background:#303d25;border:1px solid #71845675;color:#c7d7a4}
.contact-icon .icon{width:23px;height:23px}
.contact-grid .action-arrow{color:#bacb8c;width:15px;height:15px}
.contact-grid strong{font-size:15px;line-height:1.5}
.social-strip{align-items:center;gap:20px;padding-top:24px}
.social-strip>div{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}
.social-strip .social-link{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:10px 15px;border:1px solid #6e8052;background:#232d1c;color:#f1f3e8;font-size:14px;font-weight:650;transition:background .2s,border-color .2s}
.social-strip .social-link:hover{background:#344429;border-color:#b9c98e;text-decoration:none}
.social-icon{display:grid;place-items:center;color:#c6d69f}
.social-icon .icon{width:25px;height:25px}
.social-link>span:nth-child(2){line-height:1.35}
.social-link small{display:block;color:#c2cbb4;font-size:11px;font-weight:400;margin-top:3px}
.social-link .action-arrow{color:#b9c98e;margin-left:8px}
.contact-grid a:focus-visible,.social-link:focus-visible{outline:3px solid var(--olive);outline-offset:4px}
@media(max-width:1100px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-inline:12px}.contact-grid>a:last-child{grid-column:1/-1}.contact-grid a{gap:9px;padding:10px 6px}.contact-grid .contact-icon{width:35px;height:35px}.contact-grid strong{font-size:14px}.social-strip>p{flex-basis:100%}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;padding:15px 18px;gap:3px}.contact-grid a{padding:15px 2px;gap:14px}.contact-grid a+a{border-top:1px solid #58664677}.contact-grid .contact-icon{width:42px;height:42px}.contact-grid strong{font-size:16px}.contact-grid .action-arrow{display:block}.social-strip>div{width:100%;gap:10px}.social-strip .social-link{flex:1;min-width:140px;padding:11px;gap:9px}.social-link .action-arrow{margin-left:auto}.social-icon .icon{width:23px;height:23px}.feature-icon .icon{width:21px;height:21px}}
@media(max-width:380px){.social-link small{font-size:10px}.social-strip .social-link{font-size:13px}.social-link .action-arrow{display:none}}

@media(max-width:1100px){.menu-toggle{display:block}.site-header nav#navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:22px var(--space);background:#151c12;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;margin-left:0}.site-header nav#navigation.open{display:flex}.site-header nav#navigation>a{padding:12px 0;font-size:15px}.site-header nav#navigation .button{margin-top:12px}.header-directions{margin-left:auto}}
