@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800&family=DM+Sans:wght@400;500;600;700&display=swap");
:root { --ink:#002b61; --paper:#fff; --white:#fff; --coral:#e21b23; --aqua:#1261a6; --violet:#073d79; --sun:#f6a000; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }

.site-header { align-items:center; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(0,43,97,.16); display:flex; height:88px; justify-content:space-between; left:0; padding:0 clamp(24px,5vw,80px); position:absolute; right:0; top:0; z-index:20; }
.brand { align-items:center; display:inline-flex; gap:12px; }
.brand-logo { display:block; height:68px; object-fit:contain; width:auto; }
.brand strong,.brand small { display:block; }
.brand strong { font-family:"Barlow Condensed",sans-serif; font-size:22px; font-weight:900; letter-spacing:.02em; line-height:1; text-transform:uppercase; }
.brand small { font-size:10px; font-weight:700; letter-spacing:.11em; margin-top:4px; text-transform:uppercase; }
nav { align-items:center; display:flex; font-size:14px; font-weight:700; gap:34px; }
nav a:not(.nav-cta):hover { color:var(--coral); }
.nav-cta { background:var(--ink); color:white; padding:13px 20px; transition:transform 160ms ease,background 160ms ease; }
.nav-cta:hover { background:var(--coral); transform:translateY(-2px); }

.hero { display:grid; grid-template-columns:1fr 1fr; min-height:780px; padding-top:88px; }
.hero-copy { align-self:stretch; background:linear-gradient(168deg,transparent 0 84%,rgba(0,43,97,.06) 84.2% 86%,transparent 86.2%); display:flex; flex-direction:column; justify-content:center; padding:72px clamp(32px,6vw,100px); }
.eyebrow { align-items:center; display:flex; font-size:12px; font-weight:800; gap:10px; letter-spacing:.12em; margin:0 0 28px; text-transform:uppercase; }
.eyebrow span { background:var(--coral); display:inline-block; height:4px; width:34px; }
.hero h1,.section h2 { font-family:"Barlow Condensed",Impact,sans-serif; font-weight:900; letter-spacing:-.045em; line-height:.79; margin:0; text-transform:uppercase; }
.hero h1 { font-size:clamp(86px,9.4vw,150px); }
.hero h1 em { color:var(--coral); font-style:italic; }
.hero-lead { font-size:clamp(17px,1.4vw,21px); line-height:1.6; margin:36px 0 32px; max-width:520px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:26px; }
.button { align-items:center; display:inline-flex; font-size:14px; font-weight:800; gap:28px; justify-content:space-between; padding:18px 22px; transition:transform 160ms ease,box-shadow 160ms ease; }
.button:hover { box-shadow:6px 6px 0 var(--ink); transform:translate(-3px,-3px); }
.button-primary { background:var(--coral); color:white; }
.text-link { border-bottom:2px solid var(--ink); font-size:14px; font-weight:800; padding:8px 0; }

.hero-art { background:linear-gradient(145deg,#f7f8fa 0 56%,#e4e9ef 100%); min-height:692px; overflow:hidden; position:relative; }
.hero-art::before { background:var(--ink); clip-path:polygon(0 15%,92% 0,100% 18%,94% 75%,4% 100%,8% 80%); content:""; height:370px; left:-36px; position:absolute; top:34%; transform:rotate(-10deg); width:120%; }
.hero-art::after { background:var(--coral); clip-path:polygon(2% 28%,100% 0,94% 65%,14% 100%,18% 72%,0 85%); bottom:4%; content:""; height:130px; left:-5%; position:absolute; transform:rotate(-4deg); width:112%; }
.big-type { color:rgba(0,43,97,.13); font-family:"Barlow Condensed",Impact,sans-serif; font-size:clamp(200px,27vw,440px); font-weight:900; left:50%; letter-spacing:-.12em; line-height:.7; position:absolute; top:50%; transform:translate(-55%,-50%) rotate(-7deg); white-space:nowrap; }
.orbit { border:8px solid var(--coral); border-radius:50%; position:absolute; }
.orbit-one { height:430px; right:-120px; top:-120px; width:430px; }
.orbit-two { border-color:var(--sun); bottom:-180px; height:500px; left:-220px; width:500px; }
.gymnast { height:430px; left:49%; position:absolute; top:49%; transform:translate(-50%,-50%) rotate(-12deg); width:330px; z-index:4; }
.gymnast span { background:#101820; display:block; position:absolute; }
.gymnast .head { border:8px solid var(--white); border-radius:50%; height:58px; left:136px; top:10px; width:58px; }
.gymnast .body { border-radius:70% 70% 34% 34%; height:176px; left:132px; top:61px; transform:rotate(2deg); width:72px; }
.gymnast .arm,.gymnast .leg { border-radius:999px; height:22px; transform-origin:left center; }
.gymnast .arm-left { left:148px; top:89px; transform:rotate(204deg); width:155px; }
.gymnast .arm-right { left:184px; top:91px; transform:rotate(-22deg); width:155px; }
.gymnast .leg-left { left:153px; top:216px; transform:rotate(115deg); width:188px; }
.gymnast .leg-right { left:175px; top:218px; transform:rotate(65deg); width:188px; }
.hero-logo { bottom:42px; display:block; filter:drop-shadow(7px 7px 0 var(--coral)); height:auto; position:absolute; right:42px; transform:rotate(5deg); width:155px; z-index:6; }
.hero-sticker { background:var(--ink); border:2px solid var(--white); box-shadow:7px 7px 0 var(--coral); color:white; font-family:"Barlow Condensed",sans-serif; font-size:24px; font-weight:900; left:44px; padding:12px 18px; position:absolute; text-transform:uppercase; top:52px; transform:rotate(-5deg); z-index:6; }

.recruitment { align-items:center; background:var(--ink); color:white; display:grid; gap:clamp(34px,5vw,80px); grid-template-columns:auto 1fr auto; min-height:360px; overflow:hidden; position:relative; }
.recruitment::before { background:var(--coral); clip-path:polygon(0 25%,100% 0,96% 70%,8% 100%); content:""; height:92px; left:-3%; position:absolute; top:-24px; transform:rotate(-2deg); width:106%; }
.recruitment::after { background:white; bottom:-45px; clip-path:polygon(0 30%,100% 0,96% 60%,4% 100%); content:""; height:75px; left:-2%; position:absolute; transform:rotate(1deg); width:104%; }
.recruitment-star { align-items:center; background:white; border-radius:50%; color:var(--coral); display:flex; font-size:38px; height:86px; justify-content:center; transform:rotate(-9deg); width:86px; z-index:1; }
.recruitment-copy,.recruitment-info { position:relative; z-index:1; }
.recruitment-copy>p { font-family:"Barlow Condensed",sans-serif; font-size:clamp(22px,2vw,31px); font-weight:800; letter-spacing:.02em; margin:0 0 15px; text-transform:uppercase; }
.recruitment-copy>p strong { color:#ff343b; }
.recruitment h2 { font-size:clamp(55px,6.4vw,100px); line-height:.82; }
.recruitment h2 span { color:var(--coral); font-size:1.28em; }
.recruitment-info { display:grid; gap:18px; justify-items:start; }
.age-badge { background:white; box-shadow:8px 8px 0 var(--coral); color:var(--ink); padding:18px 26px; transform:rotate(2deg); }
.age-badge small,.age-badge strong { display:block; text-transform:uppercase; }
.age-badge small { font-size:11px; font-weight:800; letter-spacing:.1em; }
.age-badge strong { font-family:"Barlow Condensed",sans-serif; font-size:44px; line-height:1; margin-top:4px; }
.recruitment-event { border-bottom:1px solid rgba(255,255,255,.35); border-top:1px solid rgba(255,255,255,.35); display:grid; width:min(100%,420px); }
.recruitment-event>div { align-items:center; display:grid; gap:14px; grid-template-columns:34px 1fr; padding:12px 2px; }
.recruitment-event>div+div { border-top:1px solid rgba(255,255,255,.18); }
.recruitment-event>div>span { color:#ff3940; font-size:25px; text-align:center; }
.recruitment-event p { margin:0; }
.recruitment-event small,.recruitment-event strong,.recruitment-event em { display:block; }
.recruitment-event small { color:rgba(255,255,255,.65); font-size:9px; font-weight:800; letter-spacing:.15em; margin-bottom:2px; text-transform:uppercase; }
.recruitment-event strong { font-family:"Barlow Condensed",sans-serif; font-size:24px; line-height:1.05; text-transform:uppercase; }
.recruitment-event em { font-size:11px; font-style:normal; font-weight:700; margin-top:4px; }
.recruitment-button { background:var(--coral); color:white; width:100%; }
.recruitment-button:hover { box-shadow:6px 6px 0 white; }

.section { padding:110px clamp(24px,6vw,96px); }
.section-kicker { color:var(--coral); font-size:11px; font-weight:800; letter-spacing:.18em; margin-bottom:54px; text-transform:uppercase; }
.intro-grid { display:grid; gap:clamp(48px,8vw,140px); grid-template-columns:1.1fr .9fr; }
.intro h2 { font-size:clamp(64px,8vw,124px); }
.intro h2 span { color:var(--coral); }
.intro-copy { padding-top:8px; }
.intro-copy>p { font-size:clamp(18px,1.7vw,24px); line-height:1.6; margin:0 0 56px; }
.values { border-top:1px solid rgba(19,33,59,.24); display:grid; grid-template-columns:repeat(3,1fr); }
.values div { padding:20px 8px 0 0; }
.values strong,.values span { display:block; }
.values strong { color:var(--coral); font-family:"Barlow Condensed",sans-serif; font-size:30px; }
.values span { font-size:12px; font-weight:800; letter-spacing:.08em; margin-top:6px; text-transform:uppercase; }

.schedule { background:var(--ink); color:white; }
.schedule-heading { align-items:end; display:grid; gap:60px; grid-template-columns:1.2fr .8fr; margin-bottom:62px; }
.section-kicker.light { color:#ff3a40; margin-bottom:34px; }
.schedule h2 { font-size:clamp(84px,11vw,176px); }
.schedule-heading>p { font-size:17px; line-height:1.7; margin:0 0 12px; max-width:500px; }
.schedule-heading strong { color:var(--sun); }
.training-list { display:grid; gap:10px; }
.training-card { align-items:center; color:var(--ink); display:grid; gap:24px; grid-template-columns:54px 1fr auto 42px; min-height:132px; overflow:hidden; padding:24px 30px; position:relative; transition:transform 180ms ease; }
.training-card:hover { transform:translateX(8px); }
.training-card.coral { background:var(--coral); color:white; }
.training-card.aqua { background:white; border-left:9px solid var(--aqua); }
.training-card.violet { background:var(--aqua); color:white; }
.training-card.sun { background:white; border-left:9px solid var(--coral); }
.training-number { align-self:start; font-size:11px; font-weight:800; letter-spacing:.1em; opacity:.76; }
.training-card p { font-size:13px; font-weight:800; letter-spacing:.13em; margin:0 0 6px; text-transform:uppercase; }
.training-card h3 { font-family:"Barlow Condensed",sans-serif; font-size:clamp(44px,5vw,70px); font-weight:900; letter-spacing:-.03em; line-height:.92; margin:0; }
.group-pill { border:2px solid currentColor; border-radius:999px; font-size:13px; font-weight:800; padding:11px 18px; text-align:center; }
.card-arrow { font-size:28px; text-align:right; }
.location-strip { align-items:center; border:1px solid rgba(255,255,255,.23); display:grid; gap:20px; grid-template-columns:auto 1fr auto; margin-top:28px; padding:24px 28px; }
.location-icon { color:var(--coral); font-size:36px; }
.location-strip small,.location-strip strong { display:block; }
.location-strip small { font-size:10px; font-weight:700; letter-spacing:.15em; margin-bottom:5px; text-transform:uppercase; }
.location-strip strong { font-size:18px; }
.location-strip>span:last-child { color:rgba(255,255,255,.68); font-size:14px; }

.join { align-items:center; background:var(--coral); color:white; display:grid; gap:70px; grid-template-columns:auto 1.2fr .8fr; min-height:500px; overflow:hidden; position:relative; }
.join::before { background:var(--ink); clip-path:polygon(0 23%,100% 0,96% 78%,5% 100%); content:""; height:62px; left:-4%; position:absolute; top:0; transform:rotate(-2deg); width:110%; }
.join::after { border:8px solid rgba(255,255,255,.3); border-radius:50%; content:""; height:430px; position:absolute; right:-210px; top:-210px; width:430px; }
.join-burst { align-items:center; background:var(--ink); border:4px solid white; border-radius:50%; display:flex; font-size:46px; height:110px; justify-content:center; transform:rotate(-12deg); width:110px; }
.eyebrow.dark { margin-bottom:30px; }
.eyebrow.dark span { background:white; }
.join h2 { font-size:clamp(65px,8vw,122px); }
.join h2 em { color:white; font-style:italic; }
.join-copy { position:relative; z-index:2; }
.join-copy p { font-size:17px; line-height:1.7; margin:0 0 30px; }
.contacts { display:grid; gap:10px; margin:-6px 0 26px; }
.contacts a { align-items:center; background:white; color:var(--ink); display:flex; font-size:14px; font-weight:800; gap:10px; padding:12px 15px; width:max-content; }
.contacts a:hover { transform:translateX(4px); }
.contacts span { color:var(--coral); }
.button-dark { background:var(--ink); color:white; }
.button-dark:hover { box-shadow:6px 6px 0 var(--white); }

footer { align-items:center; background:#0c172c; color:white; display:flex; justify-content:space-between; min-height:150px; padding:34px clamp(24px,6vw,96px); }
footer p { color:rgba(255,255,255,.55); font-size:13px; }
footer>a:last-child { border-bottom:1px solid rgba(255,255,255,.55); font-size:13px; font-weight:700; padding-bottom:4px; }
.footer-brand .brand-logo { filter:drop-shadow(0 0 2px white) drop-shadow(0 0 2px white); }

@media (max-width:950px) {
  .hero { grid-template-columns:1fr; }
  .hero-art { min-height:620px; }
  .intro-grid,.schedule-heading { grid-template-columns:1fr; }
  .intro-grid { gap:46px; }
  .recruitment { grid-template-columns:auto 1fr; }
  .recruitment-info { grid-column:2; }
  .join { grid-template-columns:auto 1fr; }
  .join-copy { grid-column:2; }
}
@media (max-width:680px) {
  .site-header { height:76px; padding:0 18px; }
  nav a:not(.nav-cta) { display:none; }
  nav { gap:0; }
  .nav-cta { padding:11px 15px; }
  .brand-logo { height:58px; }
  .brand strong { font-size:19px; }
  .brand small { font-size:8px; }
  .hero { padding-top:76px; }
  .hero-copy { padding:64px 22px 70px; }
  .hero h1 { font-size:clamp(78px,26vw,112px); }
  .hero-art { min-height:520px; }
  .gymnast { transform:translate(-50%,-50%) rotate(-12deg) scale(.82); }
  .hero-sticker { left:24px; top:28px; }
  .hero-logo { bottom:28px; right:24px; width:125px; }
  .section { padding:82px 22px; }
  .recruitment { gap:25px; grid-template-columns:1fr; }
  .recruitment-star { height:66px; width:66px; }
  .recruitment-info { grid-column:1; }
  .section-kicker { margin-bottom:38px; }
  .values { gap:10px; }
  .training-card { align-items:start; gap:14px; grid-template-columns:34px 1fr auto; padding:22px 18px; }
  .training-card .group-pill { grid-column:2/4; justify-self:start; }
  .card-arrow { grid-column:3; grid-row:1; }
  .location-strip { grid-template-columns:auto 1fr; }
  .location-strip>span:last-child { grid-column:2; }
  .join { gap:32px; grid-template-columns:1fr; }
  .join-burst { height:76px; width:76px; }
  .join-copy { grid-column:1; }
  footer { align-items:flex-start; flex-direction:column; gap:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}
