/* Athletic edition: bold type, real community photography and seasonal warmth. */
:root { --border: rgba(255,255,255,.12); }
.navbar { background: #08090beF; border-bottom: 1px solid #ffffff14; }
.hero { background: #08090b; min-height: 860px; height: 100svh; isolation: isolate; }
.hero-parallax { opacity: .22; }
.hero-scanlines { opacity: .25; }
.hero-sport-photo { position: absolute; inset: 0 0 0 44%; z-index: 1; overflow: hidden; clip-path: polygon(17% 0,100% 0,100% 100%,0 100%); }
.hero-sport-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 53% center; filter: saturate(.65) brightness(.7); }
.hero-sport-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#08090b99,transparent 45%),linear-gradient(0deg,#08090b,transparent 50%); }
.hero-sport-photo > span { position: absolute; right: 36px; bottom: 150px; z-index: 1; font-family: var(--font-mono); font-size: 11px; letter-spacing: 3px; writing-mode: vertical-rl; color: #ffffff90; }
.hero-overlay { background: linear-gradient(90deg,#08090b 0%,#08090bf0 30%,#08090b55 62%,transparent 100%); }
.hero-content { padding-top: 120px; padding-bottom: 80px; }
.hero-badge { color: #d4d4e0; font-size: 10px; letter-spacing: 2px; border-left: 3px solid var(--accent); padding: 4px 12px; margin-bottom: 24px; }
.hero-badge .badge-dot { display: none; }
.hero-title { font-style: italic; font-size: clamp(4.5rem,8.5vw,8.5rem); max-width: 850px; letter-spacing: -2px; }
.hero-title .title-line { width: fit-content; }
.hero-title .accent-line { color: var(--accent); text-shadow: 4px 4px 0 #0008; }
.hero-title .thin-line { font-size: .48em; font-style: normal; margin-top: 12px; letter-spacing: 1px; }
.hero-disciplines { max-width: 600px; color: #d1d1d8; }
.btn-primary, .btn-outline { transform: skew(-7deg); border-radius: 0; }
.btn-primary > span, .btn-primary > i, .btn-outline > span, .btn-outline > i { transform: skew(7deg); }
.btn-primary { box-shadow: 5px 5px 0 #ff3b0028; }
.hero-stats { background: #0b0c0ee8; border-top: 2px solid var(--accent); border-radius: 0; }
.christmas-lights { height: 30px; border-top-color: #d5b77b66; }
.christmas-lights span { width: 7px; height: 12px; box-shadow: 0 0 12px 3px #f2d6a170,0 0 30px 8px #f2d6a122; }
.christmas-ornaments { right: 5%; z-index: 2; }
.christmas-ornament span { background: radial-gradient(circle at 30% 25%,#d5b77b66,#201b12dd 70%); border-color: #e8c17c; }
.ornament-orange span { background: radial-gradient(circle at 30% 25%,#ff945b99,#532414dd 70%); border-color: #ff945b; }
.christmas-note { margin-top: 26px; padding: 8px 14px; background: #161612e8; border: 1px solid #d5b77b55; max-width: 535px; }
.christmas-greeting summary { color: #f0d39f; }
.christmas-switch { color: #c2b8a7; }
.season-strip { position: relative; z-index: 1; display: flex; align-items: center; gap: 28px; padding: 32px max(32px,calc((100vw - 1336px)/2)); background: #141711; border-top: 1px solid #d5b77b66; border-bottom: 1px solid #d5b77b33; overflow: hidden; }
.season-strip::after { content: '✦'; position: absolute; right: 22%; top: -50px; font-size: 180px; color: #d5b77b08; pointer-events: none; }
.season-tree { color: #d9bd87; flex: 0 0 48px; }
.season-tree svg { width: 48px; height: 64px; }
.season-copy { flex: 1; }
.season-kicker { font-family: var(--font-mono); color: #d9bd87; font-size: 10px; letter-spacing: 2px; }
.season-copy h2 { font-family: var(--font-display); color: white; font-size: clamp(24px,3vw,42px); line-height: 1.15; margin: 6px 0; font-weight: 900; }
.season-copy h2 em { color: #e4c894; }
.season-copy p { font-size: 15px; color: #b8bcb1; }
.season-count { display: flex; flex-direction: column; align-items: center; padding: 0 30px; border-left: 1px solid #d5b77b33; }
.season-count > span { font: italic 700 40px var(--font-display); color: #e4c894; line-height: 1.2; }
.season-count small { font: 9px var(--font-mono); letter-spacing: 1px; color: #b8bcb1; }
.season-link { color: #f5ead7; text-decoration: none; font-family: var(--font-display); font-weight: 700; letter-spacing: 1px; font-size: 15px; border-bottom: 1px solid #d5b77b; padding: 12px 0; }
.season-link span { margin-left: 12px; }
.season-link:hover { color: var(--accent2); }
.section { padding: 6rem 0; }
.section-header { border-left: 4px solid var(--accent); padding-left: 20px; }
.section-title { font-style: italic; }
.disc-card, .coach-card, .bento-card { border-radius: 0; }
.disc-card { border-top: 3px solid var(--accent); }
.section.disciplinas, .section.coaches { background-image: repeating-linear-gradient(120deg,transparent,transparent 100px,#ffffff02 101px,#ffffff02 102px); }
@media(max-width:1100px) { .hero-title { font-size: clamp(4rem,10vw,7rem); } .season-count { padding: 0 15px; } .season-link { display: none; } }
@media(max-width:600px) {
 .hero { min-height: 850px; height: auto; }
 .hero-content { padding: 155px 24px 105px; }
 .hero-sport-photo { inset: 0; clip-path: none; opacity: .55; }
 .hero-sport-photo img { object-position: 54% center; }
 .hero-overlay { background: linear-gradient(90deg,#08090be8,#08090b80),linear-gradient(0deg,#08090b,transparent 65%); }
 .hero-sport-photo > span { display: none; }
 .hero-title { font-size: clamp(3.8rem,15vw,5.5rem); letter-spacing: -1px; }
 .hero-badge { max-width: 290px; font-size: 9px; letter-spacing: 1.4px; }
 .hero-disciplines { font-size: 10px; line-height: 2; }
 .hero-cta-group { gap: 14px; }
 .hero-cta-group .btn-primary, .hero-cta-group .btn-outline { width: 100%; justify-content: center; }
 .christmas-note { padding: 8px 12px; gap: 0; }
 .christmas-greeting summary { font-size: 9px; }
 .christmas-ornaments { display: block; right: 15px; transform: scale(.43); opacity: .85; }
 .hero:has(.christmas-greeting[open]) { min-height: 1000px; padding-bottom: 0; }
 .season-strip { padding: 26px 24px; gap: 16px; flex-wrap: wrap; }
 .season-tree { flex-basis: 35px; } .season-tree svg { width: 35px; }
 .season-copy { flex-basis: calc(100% - 60px); }
 .season-copy h2 { font-size: 27px; }
 .season-copy p { font-size: 14px; }
 .season-count { flex-direction: row; gap: 15px; border-left: 0; border-top: 1px solid #d5b77b33; padding: 14px 0 0; width: 100%; justify-content: center; }
 .season-count > span { font-size: 30px; }
 .section { padding: 4.5rem 0; }
}
