/* Agustina: energetic sport editorial direction with a softer orchid palette. */
:root {
  --ink: #2b174c;
  --plum: #2b174c;
  --violet: #6c35d4;
  --lavender: #ead9f7;
  --cream: #fff8fc;
  --line: #ead8ed;
  --body: #5e4d68;
  --bronze: #d77391;
  --orchid: #6c35d4;
  --rose: #ef6ca2;
  --apricot: #ffe7a3;
  --aubergine: #2b174c;
}

body { background: var(--cream); color: var(--ink); }
::selection { background: var(--apricot); color: var(--aubergine); }
a:focus-visible, button:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline-color: #ef6ca2; }
.wrap { width: min(1280px, calc(100% - 96px)); }
.section { padding-top: 108px; padding-bottom: 108px; }
h1, h2, h3 { letter-spacing: -.055em; }
h2 { line-height: 1.05; }
.eyebrow { color: var(--orchid); font-weight: 600; letter-spacing: .14em; }
.eyebrow.light { color: var(--apricot); }
.lead { color: var(--aubergine); }
.text-link { border-bottom: 2px solid var(--rose); transition: color .22s, gap .22s; }
.text-link:hover { color: var(--orchid); gap: 27px; }
.button { border-radius: 2px; font-family: Montserrat, Arial, sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: .035em; transition: transform .22s, background .22s, color .22s; }
.button:hover { transform: translateY(-3px); }
.button.cream { background: var(--apricot); color: var(--aubergine); }
.button.cream:hover { background: #fff0c4; }
.button.purple { background: var(--orchid); color: white; }
.button.purple:hover { background: #5520b5; }
.button.outline { border: 2px solid var(--orchid); color: var(--orchid); }
.button.outline:hover { background: var(--orchid); color: white; }

.site-header { height: 78px; position: sticky; top: 0; z-index: 30; background: #fff8fcee; border-bottom: 1px solid #ead9eb; backdrop-filter: blur(14px); }
.site-header.is-scrolled { box-shadow: 0 10px 30px #33194e18; }
.wordmark { font-family: Montserrat, Arial, sans-serif; font-size: 16px; }
.wordmark small { color: #6f5a81; font-family: Source, Arial, sans-serif; font-weight: 600; }
.monogram { font-size: 23px; border-right-color: #e0cbe6; }
.monogram span { color: var(--rose); }
.site-header nav { gap: 29px; font-weight: 600; font-size: 13px; }
.site-header nav > a:not(.nav-cta) { padding: 29px 0 27px; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.site-header nav > a:not(.nav-cta):hover, .site-header nav > a.is-active { color: var(--orchid); border-color: var(--rose); }
.nav-cta { background: var(--rose); color: var(--aubergine) !important; border-radius: 2px; padding: 12px 17px; font-family: Montserrat, Arial, sans-serif; font-size: 11px; text-transform: uppercase; letter-spacing: .035em; transition: background .2s; }
.nav-cta:hover { background: #fa91b8; }

.hero { min-height: min(760px, calc(100svh - 78px)); background: radial-gradient(circle at 83% 17%, #e770c4 0, transparent 39%), linear-gradient(118deg, #381665 0%, #6a38cd 59%, #9c2b9c 100%); isolation: isolate; }
.hero::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(145deg, #ffffff0c 0 2px, transparent 2px 64px); z-index: -1; }
.hero::after { content: 'AGUSTINA'; position: absolute; left: -1%; bottom: -5%; font: 700 clamp(120px, 20vw, 330px)/1 Montserrat, sans-serif; letter-spacing: -.09em; color: #ffffff13; pointer-events: none; z-index: 0; }
.hero-inner { min-height: min(760px, calc(100svh - 78px)); grid-template-columns: minmax(0, 52%) minmax(0, 48%); }
.hero-copy { padding: 68px 0 112px; }
.hero .eyebrow { display: inline-flex; align-items: center; border: 1px solid #ffffff70; border-radius: 100px; padding: 9px 13px; background: #38166544; margin-bottom: 17px; color: white; font-size: 11px; letter-spacing: .11em; }
.hero h1 { font-size: clamp(70px, 8vw, 126px); line-height: .9; margin: 18px 0 26px; letter-spacing: -.09em; text-transform: uppercase; }
.hero h1 span { color: var(--apricot); }
.hero-subtitle { font-family: Montserrat, Arial, sans-serif; font-weight: 700; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.25; max-width: 530px; letter-spacing: -.045em; }
.hero-intro { color: #f3e9ff; max-width: 485px; font-size: 16px; line-height: 1.55; }
.hero-actions { gap: 28px; }
.hero-link { border-bottom: 2px solid var(--apricot); padding-bottom: 7px; font-weight: 600; }
.hero-link:hover { color: var(--apricot); }
.hero-program { color: #e6d3f6; font-size: 10px; letter-spacing: .11em; }
.hero-program span { color: var(--apricot); }
.hero-visual { position: relative; }
.hero-visual::before, .hero-visual::after { content: ''; position: absolute; border: 1px solid #ffffff5a; border-radius: 50%; pointer-events: none; }
.hero-visual::before { width: min(720px, 118%); aspect-ratio: 1; bottom: -21%; left: -2%; }
.hero-visual::after { width: min(480px, 85%); aspect-ratio: 1; bottom: -4%; left: 16%; border-width: 20px; border-color: #ffffff10; }
.hero-athlete { height: 103%; left: 0; bottom: -24px; z-index: 2; filter: drop-shadow(14px 18px 12px #2b174c5c); }
.hero-result { right: -6px; bottom: 92px; border: 0; border-top: 5px solid var(--apricot); background: #fff8fc; color: var(--aubergine); padding: 18px 21px 19px; box-shadow: 12px 12px 0 #ef6ca2; transform: rotate(2deg); }
.hero-result strong { font-size: 23px; letter-spacing: -.06em; margin: 9px 0; }
.hero-result > span:last-child, .result-year { color: #675473; }
.vertical-word { right: -8px; top: 34px; color: #ffffffb8; font-size: 10px; }
.hero-bottom { position: absolute; inset: auto 0 23px; z-index: 6; display: flex; justify-content: space-between; align-items: center; font-size: 10px; font-weight: 600; letter-spacing: .13em; color: #f0e2f6; }
.scroll-cue { position: static; color: #fff0f7; font-size: 11px; }
.scroll-cue:hover { color: var(--apricot); }

.momentum-strip { background: var(--apricot); color: var(--aubergine); border-bottom: 3px solid var(--aubergine); }
.momentum-inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.momentum-inner p { display: flex; align-items: center; gap: 18px; min-height: 105px; margin: 0; padding: 16px 26px; border-left: 1px solid #2b174c40; }
.momentum-inner p:first-child { border-left: 0; padding-left: 0; }
.momentum-inner p:last-child { padding-right: 0; }
.momentum-inner strong { font: 700 clamp(30px, 3vw, 48px)/1 Montserrat, Arial, sans-serif; letter-spacing: -.08em; }
.momentum-inner p:last-child strong { font-size: clamp(20px, 2vw, 31px); letter-spacing: -.045em; }
.momentum-inner span { font-size: 12px; font-weight: 600; line-height: 1.3; text-transform: uppercase; letter-spacing: .05em; }

.gallery-section { background: #f3e4f7; padding-top: 76px; padding-bottom: 84px; overflow: hidden; }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 31px; }
.gallery-heading .eyebrow { margin-bottom: 13px; }
.gallery-heading h2 { font-size: clamp(33px, 3.7vw, 54px); }
.gallery-controls { display: flex; align-items: center; gap: 9px; flex: none; }
.gallery-count { font: 700 12px Montserrat, Arial, sans-serif; letter-spacing: .05em; color: var(--orchid); min-width: 66px; }
.gallery-arrow { width: 46px; height: 46px; display: grid; place-items: center; border: 2px solid var(--orchid); border-radius: 50%; color: var(--orchid); background: transparent; font-size: 23px; line-height: 1; transition: background .2s, color .2s; }
.gallery-arrow:hover { background: var(--orchid); color: white; }
.gallery-arrow:disabled { opacity: .4; cursor: default; }
.gallery-arrow:disabled:hover { background: transparent; color: var(--orchid); }
.gallery-track { display: flex; gap: 17px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-track::after { content: ''; flex: 0 0 65%; }
.gallery-slide { flex: 0 0 min(34%, 420px); margin: 0; scroll-snap-align: start; min-width: 0; background: var(--aubergine); position: relative; overflow: hidden; aspect-ratio: 1.03; }
.gallery-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .55s; }
.gallery-slide:nth-child(4) img { object-position: center 22%; }
.gallery-slide:hover img { transform: scale(1.045); }
.gallery-slide::after { content: ''; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent, #241238e8); pointer-events: none; }
.gallery-slide figcaption { position: absolute; z-index: 2; bottom: 22px; left: 23px; right: 20px; color: white; }
.gallery-slide figcaption span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .12em; color: var(--apricot); margin-bottom: 8px; }
.gallery-slide figcaption strong { display: block; font: 700 clamp(19px, 2vw, 25px)/1.2 Montserrat, Arial, sans-serif; }
.gallery-progress { height: 3px; background: #d6b8e9; margin-top: 28px; }
.gallery-progress span { display: block; height: 100%; width: 20%; background: var(--rose); transition: transform .35s; transform-origin: left; }

.intro-portrait { border-radius: 160px 3px 3px 3px; background: linear-gradient(145deg, #f7a8c7 0%, #e3c7f2 58%, #c7a9f5 100%); }
.intro-portrait::before { content: ''; position: absolute; width: 72%; aspect-ratio: 1; border: 24px solid #ffffff36; border-radius: 50%; left: -17%; bottom: -18%; }
.portrait-year { color: #ffffffab; transform: rotate(-90deg); transform-origin: left top; left: 24px; top: 140px; }
.photo-caption { background: var(--aubergine); }
.identity-line { color: var(--orchid); }
.achievements { background: #faeaf4; }
.section-heading > p { color: var(--body); }
.medals-grid { gap: 21px; }
.medal-card { transition: transform .25s; }
.medal-card:hover { transform: translateY(-6px); }
.medal-photo { border-radius: 2px; background: #e2c9f1; }
.medal-photo::after { background: linear-gradient(transparent 54%, #30174fbd); }
.medal-number { font-size: 83px; letter-spacing: -.1em; }
.medal-label { background: var(--apricot); border: 0; color: var(--aubergine); padding: 8px 11px; font-weight: 600; }
.medal-card.gold .medal-label { background: var(--rose); color: var(--aubergine); }
.medal-details > span { color: var(--orchid); }
.medal-details h3 { font-size: clamp(23px, 2.2vw, 31px); }
.additional-result { border-color: #e1cde9; }
.small-medal { border-color: #bd3269; color: #bd3269; background: white; }
.timeline-date strong { color: var(--orchid); }
.timeline .latest { border-color: var(--rose); }
.timeline .latest .timeline-date strong { color: #bd3269; }
.prep-section { background: #f0e4fa; }
.prep-tabs { border-color: #d8bce7; }
.prep-tabs button { color: #685174; }
.prep-tabs button[aria-selected=true] { color: var(--aubergine); border-color: var(--rose); background: #ffffff99; }
.prep-panel { border-radius: 2px; background: white; }
.panel-number { color: #dec8ef; }
.panel-footer { color: var(--orchid); }
.competition-list article:first-child { border-color: var(--orchid); }
.competition-number { color: #bd3269; }
.competition-arrow { color: var(--rose); }
.pending { background: #f2e5f9; color: var(--orchid); }
.formation { border-radius: 3px 100px 3px 3px; background: radial-gradient(circle at 100% 0, #b967d1, transparent 53%), var(--orchid); }
.formation > p:not(.eyebrow) { color: #f0e3f8; }
.formation .formation-note { color: #e6d1f7 !important; }
.light-link { color: white; border-color: var(--apricot); }
.allies { background: var(--apricot); }
.allies-layout > div > p:not(.eyebrow), .allies-list small { color: #4e365e; }
.allies-list > a { border-color: #2b174c55; }
.allies-list > a:last-of-type { border-color: #2b174c55; }
.allies-list > a > span:last-child { color: var(--orchid); }
.allies-list a:hover strong { color: var(--orchid); }
.social-count strong { color: var(--orchid); }
.social-count span, .social-stories a > span:first-child { color: var(--orchid); }
.social-stories a { border-color: #dec7e8; }
.social-stories a:hover h3 { color: var(--orchid); }
.support-section { background: radial-gradient(circle at 4% 100%, #7c45c2 0, transparent 43%), var(--aubergine); }
.support-intro { color: #f0e2f6; }
.support-ways > div { border-color: #ffffff38; }
.support-ways > div > span { color: var(--apricot); }
.support-ways p, .support-detail { color: #e7d5f1; }
.support-ways strong { color: white; }
.contact-card { border-radius: 3px; background: white; box-shadow: 12px 12px 0 var(--rose); }
.contact-card select { background: #faeaf4; border-color: #dcc2ec; color: var(--aubergine); }
.email-address button { color: var(--orchid); border-color: #e3cfed; }
.copy-status { color: var(--orchid); }
.site-footer { border-top: 1px solid #ead8ed; }

@media (prefers-reduced-motion: no-preference) {
  .js-ready .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
  .js-ready .reveal-left { transform: translateX(-28px); }
  .js-ready .reveal-right { transform: translateX(28px); }
  .js-ready .reveal-scale { transform: scale(.97); }
  .js-ready .reveal.is-visible { opacity: 1; transform: none; }
  .js-ready .delay-1 { transition-delay: .07s; }
  .js-ready .delay-2 { transition-delay: .14s; }
  .js-ready .delay-3 { transition-delay: .21s; }
  .js-ready .delay-4 { transition-delay: .28s; }
  .prep-panel:not([hidden]) { animation: panel-enter .38s ease both; }
  @keyframes panel-enter { from { opacity: .55; transform: translateY(10px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 1100px) {
  .wrap { width: calc(100% - 64px); }
  .hero h1 { font-size: clamp(68px, 7.5vw, 96px); }
  .hero-athlete { left: -3%; }
  .hero-result { right: -8px; }
  .momentum-inner p { padding-inline: 16px; gap: 12px; }
}
@media (max-width: 800px) {
  .wrap { width: calc(100% - 42px); }
  .site-header { height: 72px; }
  .site-header nav { top: 72px; background: #fff8fc; }
  .site-header nav > a:not(.nav-cta) { padding: 12px; border-bottom: 1px solid #eeddec; }
  .menu-toggle { border-color: #dfc9e8; }
  .hero, .hero-inner { min-height: 0; }
  .hero-inner { display: flex; flex-direction: column; }
  .hero-copy { padding: 47px 0 0; width: 100%; }
  .hero h1 { font-size: clamp(65px, 12.6vw, 100px); margin: 18px 0 22px; }
  .hero-subtitle { font-size: clamp(23px, 4.1vw, 29px); }
  .hero-intro { max-width: 560px; }
  .hero-visual { width: 100%; height: 500px; margin-top: 17px; }
  .hero-athlete { height: 100%; left: 12%; bottom: -7px; }
  .hero-result { right: 2%; bottom: 80px; }
  .vertical-word { right: 2%; }
  .hero-bottom { bottom: 15px; }
  .hero-bottom > span { display: none; }
  .momentum-inner p { min-height: 95px; }
  .momentum-inner strong { font-size: 32px; }
  .momentum-inner p:last-child strong { font-size: 20px; }
  .momentum-inner span { font-size: 10px; }
  .gallery-section { padding-top: 64px; padding-bottom: 70px; }
  .gallery-slide { flex-basis: min(65%, 420px); }
  .gallery-heading h2 { font-size: 35px; }
  .intro-portrait { border-radius: 100px 3px 3px 3px; }
  .formation { border-radius: 3px 70px 3px 3px; }
}
@media (max-width: 520px) {
  .site-header { padding: 0 20px; }
  .hero-copy { padding-top: 35px; }
  .hero .eyebrow { font-size: 9px; padding: 8px 10px; }
  .hero h1 { font-size: clamp(53px, 13vw, 72px); }
  .hero-subtitle { font-size: 21px; }
  .hero-intro { display: block; font-size: 14px; line-height: 1.45; margin-bottom: 0; }
  .hero-program { display: none; }
  .hero-actions { gap: 16px; }
  .hero-visual { height: min(390px, 46svh); margin-top: 14px; }
  .hero-athlete { left: -2%; height: 102%; }
  .hero-result { right: -2px; bottom: 58px; padding: 9px 11px; box-shadow: 5px 5px 0 var(--rose); }
  .hero-result strong { font-size: 16px; }
  .hero-result > span:last-child { font-size: 9px; }
  .vertical-word { top: 16px; right: 0; font-size: 9px; }
  .momentum-inner { grid-template-columns: 1fr 1fr; }
  .momentum-inner p { min-height: 77px; padding: 9px 8px; }
  .momentum-inner p:first-child { padding-left: 0; }
  .momentum-inner p:last-child { grid-column: 1 / -1; border-top: 1px solid #2b174c40; border-left: 0; min-height: 62px; }
  .momentum-inner strong { font-size: 29px; }
  .momentum-inner p:last-child strong { font-size: 23px; }
  .momentum-inner span { font-size: 9px; }
  .gallery-heading { align-items: start; flex-direction: column; }
  .gallery-controls { align-self: flex-end; }
  .gallery-slide { flex-basis: 83%; aspect-ratio: .87; }
  .gallery-track::after { flex-basis: 17%; }
  .gallery-slide figcaption strong { font-size: 19px; }
  .gallery-section { padding-top: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-track { scroll-behavior: auto; }
  .gallery-slide img, .gallery-progress span, .button, .text-link { transition: none; }
}
@media print {
  .gallery-controls, .gallery-progress { display: none; }
  .gallery-track { overflow: visible; flex-wrap: wrap; }
  .gallery-slide { flex-basis: 30%; }
}


