/* CAOS / Visual proposal · monochrome club identity */
@font-face{font-family:Mango;src:url('/assets/mango-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Champion;src:url('/assets/champion.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root,.page-aldeanueva{--ink:#101010;--paper:#f6f6f3;--muted:#62625d;--line:#d5d5d0;--accent:#a4a4a4;--gutter:6vw}
body{font-family:Calibri,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.55}
::selection{background:#363636;color:#fff}
h1,h2,h3{font-weight:700;letter-spacing:.005em}
h2{font-size:clamp(64px,6.6vw,106px);line-height:.91}
.tone-muted{color:#a4a4a4}
.centers .tone-muted,.history .tone-muted{color:#82827e}
.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:600}
.eyebrow.light{color:#b6b6b6}
.section{padding-top:98px;padding-bottom:98px}
.section-heading{margin-bottom:38px}
.section-intro{font-size:16px;line-height:1.6}
.button{font-size:14px;font-weight:600;min-height:50px;border-radius:3px}
.button-dark:hover{background:#363636}
.text-link{font-size:14px}
.site-header,.page-alfaro .site-header,.page-aldeanueva .site-header{background:#080808;color:#fff;border-color:#303030;height:96px}
.site-header .brand{width:48px}
.site-header .brand img,.page-alfaro .brand img,.page-aldeanueva .brand img{filter:none}
.site-header nav>a{font-size:13px}
.site-header nav{gap:30px}
.nav-cta,.page-alfaro .nav-cta,.page-aldeanueva .nav-cta{border-color:#565656;padding:13px 18px}
.site-header nav>a:not(.nav-cta){color:#c4c4c4}
.site-header nav>a:hover,.site-header nav>a[aria-current]{color:#fff}

/* A film contact sheet, rather than the events site's tilted poster. */
.welcome{background:#080808;display:flex;height:auto;min-height:760px;padding:136px var(--gutter) 28px;overflow:hidden;color:#fff}
.welcome:before{display:none}
.welcome-topline{font-size:10px;color:#a9a9a9;letter-spacing:.14em;padding-bottom:28px;flex-shrink:0}
.welcome-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:8%;align-items:center;flex:1;padding:10px 0 42px}
.welcome-center{position:static;display:flex;align-items:flex-start;justify-content:center;width:auto;padding:0;text-align:left;pointer-events:auto}
.hero-logo{width:100%;max-width:540px;max-height:none;filter:none}
.welcome-manifest{font-size:20px;line-height:1.5;margin-top:32px;color:#c4c4c4}
.welcome-manifest span{color:inherit}
.welcome-center>.button.button-hero{font:600 16px/1.2 Calibri,'Segoe UI',Arial,sans-serif;letter-spacing:0;border-radius:0;margin-top:28px;min-height:52px;min-width:235px;padding:15px 20px;background:#fff;color:#111;border:1px solid #fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.welcome-center>.button.button-hero:hover{background:#deded9;border-color:#deded9}
.welcome-film{position:relative;border:1px solid #454545;padding:19px;background-color:#171717;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:32px 32px;box-shadow:13px 13px 0 #111}
.film-index{display:flex;justify-content:space-between;gap:20px;position:relative;font-size:9px;letter-spacing:.09em;color:#c7c7c7;padding:0 0 18px}
.film-window{position:relative;aspect-ratio:1.35;overflow:hidden;border:1px solid #555;background:#222}
.welcome-video{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0;filter:grayscale(1)}
.film-window:after{content:'';position:absolute;inset:13px;border:1px solid #ffffff25;pointer-events:none}
.film-cross{position:absolute;color:white;font:300 28px/1 Arial,sans-serif;z-index:1}
.cross-one{top:0;left:3px}.cross-two{bottom:0;right:3px}
.film-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:18px}
.film-caption>span{font:700 clamp(19px,1.75vw,28px)/1.05 Champion,Arial,sans-serif;letter-spacing:-.02em;max-width:75%}
.film-caption>img{width:39px;height:39px;object-fit:contain}
.welcome-bottom{padding-top:20px;border-top:1px solid #323232;font-size:10px;color:#b9b9b9}
.hero-motion{width:38px;height:38px;background:#171717;border-color:#5d5d5d}
.scroll-line{background:#a0a0a0}

.brand-strip{background:#d2d2cc;color:#111;padding:22px 0;border-block:1px solid #c3c3bd;overflow:hidden}
.brand-strip-track{display:flex;--strip-gap:clamp(30px,6vw,90px)}
.brand-strip ul{list-style:none;margin:0;padding:0 calc(var(--strip-gap)/2);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--strip-gap);flex:0 0 auto;width:max(100%,960px);animation:caos-strip-left 32s linear infinite;will-change:transform}
@keyframes caos-strip-left{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.brand-strip li{display:flex;align-items:center;justify-content:space-between;gap:18px;font:700 26px/1 var(--display);white-space:nowrap}
.brand-strip svg{width:21px;height:21px;opacity:.8}

/* Center selection keeps the original two-card structure. */
.centers{background:var(--paper)}
.center-grid{gap:28px}
.center-card{height:520px;border:1px solid #3c3c3c;background:#191919}
.center-card>img{height:67%;filter:grayscale(1);object-position:center;transition:filter .35s,transform .6s}
.center-card:hover>img{filter:grayscale(.2);transform:scale(1.02)}
.center-card:after{bottom:33%;background:linear-gradient(#0007,transparent 48%)}
.center-card-top{top:20px;left:24px;right:24px;font-size:10px;letter-spacing:.12em}
.center-card-bottom{left:24px;right:24px;bottom:25px;align-items:center}
.center-card-bottom p{font-size:10px;margin-bottom:12px;letter-spacing:.06em;color:#bebebe}
.center-card h3{font-size:clamp(64px,6vw,90px);font-weight:700;line-height:.86}
.center-card h3 span{display:inline-block;margin:0 0 0 14px;font-size:10px;letter-spacing:.1em;color:#bbb;vertical-align:baseline}
.round-arrow{width:47px;height:47px;border-color:#696969;border-radius:0}
.club-feeling{background:#101010;color:#fff;grid-template-columns:1.05fr 1fr;min-height:600px}
.club-feeling:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.feeling-copy{padding:85px 35px 95px var(--gutter)}
.feeling-copy h2{font-size:clamp(66px,7vw,112px)}
.feeling-copy>p:last-child{font-size:16px;color:#c2c2c2}
.feeling-photo{min-height:490px;margin:55px var(--gutter) 55px 0;border:1px solid #555}
.feeling-photo img{filter:grayscale(1)}
.feeling-mark{width:300px;height:300px;left:35%;bottom:-75px;opacity:.08;object-fit:contain}
.history{background:#ededE8;gap:7vw}
.history-copy>.lead{font-size:24px}
.history-copy>p{font-size:16px}
.history-dates{position:relative;gap:25px;border-color:#bfbfbb}
.history-dates>div{position:relative;padding-top:4px}
.history-dates>div:before{content:'+';position:absolute;top:-38px;left:-4px;background:#edede8;font:20px/1 Arial;color:#555}
.history-dates strong{font:700 66px/.95 var(--display);color:#222}
.history-dates span{font-size:10px;letter-spacing:.06em;color:#656560}
.join-section{background:#0b0b0b;padding-top:90px;padding-bottom:95px;isolation:isolate}
.join-section:before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:48px 48px}
.join-section:after{content:'';position:absolute;width:450px;height:450px;border:1px solid #ffffff13;border-radius:50%;left:calc(50% - 225px);top:40px;z-index:-1;box-shadow:0 0 0 42px #ffffff04,0 0 0 85px #ffffff03}
.join-section h2{font-size:clamp(80px,9.5vw,148px)}
.join-section>p:not(.eyebrow){font-size:16px;color:#bcbcbc}
.button-outline{border-color:#656565;color:#fff}
.join-links{margin-top:32px}

/* Both center pages use the same paper / black / silver palette. */
.center-hero{background:#080808;color:#fff;padding-top:145px;padding-bottom:30px}
.center-hero-heading>.eyebrow{color:#b7b7b7}
.center-hero-heading h1{font-weight:700;letter-spacing:.005em}
.center-hero-heading h1>span{color:#a4a4a4;font-size:11px}
.hero-center-bottom>p{font-size:16px;color:#bcbcbc}
.center-hero-image{margin-inline:var(--gutter);height:450px;border:1px solid #535353;padding:12px;background:#161616}
.center-hero-image>img{filter:grayscale(1)}
.image-caption{background:#080808d9;border:1px solid #ffffff35;font-size:10px;bottom:25px}
.section-nav{background:#d2d2cc;margin:0;padding:22px var(--gutter);gap:7vw;font-size:14px;color:#222;border-bottom:1px solid #bdbdb7}
.training-copy h2{font-weight:700;font-size:clamp(64px,6.9vw,110px)}
.body-intro{font-size:16px}
.class-row h3{font-weight:600;font-size:37px}
.class-summary-types,.page-aldeanueva .class-summary-types{font-size:12px;letter-spacing:.01em}
.class-number{font:600 21px/1 var(--display);margin-top:4px}
.class-detail{font-size:14px}
.training-media{height:665px;background:#252525;border:1px solid #bbb}
.training-media>img,.training-media>video{filter:grayscale(.9)}
.media-caption{font-size:10px}
.video-toggle{background:#111b;font-size:12px}
.gallery-grid{gap:16px}
.photo{background:#d2d2cc}
.photo>img{filter:grayscale(.9)}
.photo:hover>img{filter:grayscale(.15)}
.services-section,.page-aldeanueva .services-section{background:#deded9;border-color:#c7c7c1}
.services-heading p{font-size:16px}
.service-link{font-size:39px;border-color:#aaa;min-height:100px}
.service-link small{font-size:10px;line-height:1.45}
.services-note{font-size:12px}
.team-card h3{font-weight:700;font-size:34px}
.team-card p{font-size:13px}
.portrait{background-image:linear-gradient(#00000006 1px,transparent 1px),linear-gradient(90deg,#00000006 1px,transparent 1px);background-size:32px 32px;background-color:#e9e9e5;border:1px solid #d1d1cb}
.portrait img{filter:grayscale(1)}
.team-rail{scrollbar-color:#a5a5a0 transparent}
.team-controls button{border-radius:0;border-color:#aaa}
.team-note{font-size:13px}
.start-section{background:#eeeee9;border-top:1px solid #cfcfc9}
.start-copy>p:not(.eyebrow){font-size:16px}
.start-steps{font-size:12px}
.start-steps b{font:700 24px/1 var(--display);color:#767671;margin-bottom:9px}
.practical-detail{border-color:#b9b9b2}
.practical-detail summary h3{font-weight:600;font-size:40px}
.practical-content{font-size:15px;color:#55554f}
.practical-content table{font-size:14px}
.practical-content td strong{font-size:20px}
.small-copy{font-size:12px}
.contact-section,.page-aldeanueva .contact-section{background:#111;color:#fff}
.contact-address>p:not(.eyebrow){font-size:16px;color:#bcbcbc}
.large-link{font-weight:700}
.contact-links .text-link{color:#d1d1d1;font-size:15px}
.other-center{background:#d2d2cc;border-block:1px solid #bcbcb7}
.other-center:hover{background:#c2c2bc}
.other-center>span{font-size:10px}
.other-center>strong{font-weight:700}
.site-footer{background:#080808;color:#fff;padding-top:55px}
.footer-logo{width:145px}
.footer-top p{font:700 clamp(19px,2.2vw,34px)/1.1 Champion,Arial,sans-serif;color:#e2e2e2;max-width:430px}
.back-top,.footer-bottom{color:#a9a9a9;font-size:11px}
.footer-bottom .text-link,.motion-toggle{font-size:11px}
.lightbox,.lightbox::backdrop{background:#080808f7}
.page-404 .site-header{background:#080808;color:white}
.page-404 .brand img{filter:none}

@media(min-width:1800px){:root,.page-aldeanueva{--gutter:max(6vw,calc((100vw - 1500px)/2))}.welcome{min-height:850px}.center-card{height:570px}}
@media(max-width:1050px){.welcome{min-height:690px}.welcome-layout{gap:5%}.film-caption>span{font-size:20px}.site-header nav{gap:20px}.center-card{height:460px}.center-card h3 span{display:block;margin:10px 0 0}.center-card-bottom p{font-size:8px}.training-media{height:620px}.section-intro{max-width:285px}.service-link{font-size:32px}.footer-top p{max-width:340px}}
@media(max-width:760px){
  :root,.page-aldeanueva{--gutter:6vw}
  .site-header,.page-alfaro .site-header,.page-aldeanueva .site-header{height:80px}.site-header .brand{width:40px}
  .site-header nav{top:79px;background:#111;color:#fff;min-height:calc(100svh - 79px)}
  .site-header nav>a:not(.nav-cta){font-weight:700;color:#fff}
  .site-header nav .nav-cta{border-color:#737373}
  .menu-toggle{font-size:13px}
  .section{padding-top:62px;padding-bottom:62px}
  h2{font-size:64px}.eyebrow{font-size:10px;margin-bottom:20px}
  .section-intro{font-size:15px}
  .welcome{padding-top:108px;min-height:0;height:auto;padding-bottom:22px}
  .welcome-topline{font-size:8px;letter-spacing:.07em;padding-bottom:25px}
  .welcome-layout{grid-template-columns:1fr;gap:34px;padding:0 0 30px}
  .welcome-center{padding:5px 0 0;align-items:flex-start}
  .hero-logo{width:94%;max-width:440px;max-height:none}
  .welcome-manifest{font-size:17px;line-height:1.45;margin-top:23px}
  .welcome-center>.button.button-hero{margin-top:22px;font-size:15px;min-height:49px;min-width:225px;padding:14px 19px}
  .welcome-film{padding:13px;box-shadow:7px 7px 0 #161616}
  .film-window{aspect-ratio:9/14}
  .film-index{font-size:8px;padding-bottom:12px;gap:10px}
  .film-caption{padding-top:13px}.film-caption>span{font-size:18px}.film-caption>img{width:31px;height:31px}
  .welcome-bottom{font-size:8px;padding-top:17px}.hero-motion{width:34px;height:34px}
  .brand-strip{padding:21px 0}.brand-strip-track{--strip-gap:30px}.brand-strip ul{width:max(100%,760px);animation-duration:26s}.brand-strip li{font-size:24px;gap:12px}.brand-strip svg{width:18px;height:18px}
  .center-grid{gap:24px}.center-card{height:425px}.center-card>img{height:65%}.center-card:after{bottom:35%}
  .center-card-top{font-size:9px;left:20px;right:20px;top:18px}
  .center-card-bottom{left:20px;right:20px;bottom:23px}.center-card-bottom p{font-size:8px;line-height:1.5;margin-bottom:12px}
  .center-card h3{font-size:74px}.center-card h3 span{display:inline-block;margin:0 0 0 10px;font-size:8px}
  .round-arrow{width:38px;height:38px}.round-arrow svg{width:20px}
  .club-feeling{grid-template-columns:1fr;min-height:0}.feeling-copy{padding:62px var(--gutter) 35px}
  .feeling-copy h2{font-size:70px}.feeling-copy>p:last-child{font-size:15px;margin-top:25px}
  .feeling-photo{margin:0 var(--gutter) 50px;min-height:355px}.feeling-mark{width:220px;height:220px;left:auto;right:-30px;bottom:-60px}
  .history-copy>.lead{font-size:21px}.history-copy>p{font-size:15px}.history-dates strong{font-size:58px}.history-dates span{font-size:9px}
  .join-section{padding:66px var(--gutter)}.join-section h2{font-size:85px}.join-section>p:not(.eyebrow){font-size:15px}
  .join-links .button{min-width:280px;font-size:14px}
  .center-hero{padding-top:122px;padding-bottom:20px}.center-hero-heading h1{font-size:27vw}.page-aldeanueva .center-hero-heading h1{font-size:23.2vw}
  .center-hero-heading h1>span{font-size:9px}.hero-center-bottom>p{font-size:13px}.hero-center-bottom .text-link{font-size:12px;gap:9px}
  .center-hero-image{height:300px;padding:8px}.image-caption{font-size:8px;left:17px;bottom:17px;max-width:88%}
  .section-nav{gap:0;justify-content:space-between;font-size:11px;padding:20px var(--gutter)}
  .training-copy h2{font-size:65px}.body-intro{font-size:15px}.class-row h3{font-size:33px}.class-summary-types,.page-aldeanueva .class-summary-types{font-size:11px}
  .class-detail{font-size:14px}.class-number{font-size:20px}.training-copy>.text-link{font-size:13px}
  .training-media{height:460px}.page-aldeanueva .training-media{height:auto;aspect-ratio:9/14}.media-caption{font-size:9px}
  .spaces-section{padding-top:10px}.services-heading h2{font-size:65px}.services-heading p{font-size:15px}
  .service-link{font-size:36px;min-height:0}.service-link small{font-size:9px}.services-note{font-size:12px}
  .team-section{padding-right:0}.team-section h2{font-size:55px}.team-card h3{font-size:32px}.team-card p{font-size:12px}
  .start-copy h2{font-size:65px}.start-copy>p:not(.eyebrow){font-size:15px}.start-steps{font-size:11px}
  .practical-detail summary h3{font-size:36px}.practical-content table{font-size:13px}.practical-content td strong{font-size:18px}
  .contact-address h2{font-size:82px}.contact-address>p:not(.eyebrow){font-size:15px}.large-link{font-size:55px}.contact-links .text-link{font-size:14px}
  .footer-top{gap:25px}.footer-logo{width:115px}.footer-top p{font-size:21px;max-width:175px}
  .footer-bottom{font-size:10px;gap:20px}.footer-bottom>.motion-toggle{font-size:10px}.footer-bottom .text-link{font-size:10px}
}
@media(max-width:380px){.center-card h3{font-size:65px}.center-card h3 span{display:block;margin:7px 0 0}.center-card-bottom p{font-size:7px}.film-caption>span{font-size:16px}.section-nav{font-size:10px}.team-section h2{font-size:49px}.footer-top p{max-width:145px;font-size:18px}}

@media(prefers-reduced-motion:reduce){.brand-strip ul{animation:none;width:100%;will-change:auto}.brand-strip ul[aria-hidden="true"]{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.brand-strip ul{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:21px}}
