/* SOLUNA / January tournament — scoped to the dedicated landing page. */
.tourney-page { --t-cream:#f1ead9; --t-navy:#1b2942; --t-blue:#9db6d2; --t-line:rgba(27,41,66,.16); }
.tourney-page .tourney-hero,
.tourney-page .tourney-closer { background:var(--t-navy); color:var(--t-cream); }
.tourney-hero { overflow:hidden; }
.tourney-hero-inner { display:grid; grid-template-columns:1.08fr .92fr; min-height:580px; }
.tourney-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(68px,9vw,126px) clamp(28px,6vw,90px) clamp(70px,8vw,110px) var(--pad); max-width:800px; margin-left:auto; }
.tourney-eyebrow { color:var(--t-blue); font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; }
.tourney-hero h1 { font-family:var(--font-display); font-weight:500; font-size:clamp(66px,8.6vw,136px); letter-spacing:-.025em; line-height:.94; margin:24px 0 30px; }
.tourney-hero h1 em { display:block; font-weight:400; color:var(--t-blue); }
.tourney-hero-lede { max-width:520px; font-size:clamp(16px,1.65vw,19px); font-weight:300; line-height:1.75; color:rgba(241,234,217,.84); }
.tourney-actions { display:flex; gap:13px; flex-wrap:wrap; margin-top:34px; }
.tourney-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; padding:14px 24px; font-size:11px; font-weight:500; letter-spacing:.17em; text-transform:uppercase; transition:background .2s,color .2s,border-color .2s; border:1px solid var(--t-cream); border-radius:2px; text-align:center; }
.tourney-btn-primary { background:var(--t-cream); color:var(--t-navy); }
.tourney-btn-primary:hover, .tourney-btn-primary:focus-visible { background:var(--t-blue); border-color:var(--t-blue); color:var(--t-navy); }
.tourney-btn-ghost { color:var(--t-cream); }
.tourney-btn-ghost:hover, .tourney-btn-ghost:focus-visible { background:rgba(241,234,217,.13); }
.tourney-fineprint { color:rgba(241,234,217,.68); font-size:12px; margin-top:17px; }
.tourney-hero-photo { position:relative; background:linear-gradient(180deg,rgba(27,41,66,.12),rgba(27,41,66,.45)),url('/assets/hero-court.jpg') center center / cover no-repeat; min-height:520px; }
.tourney-photo-caption { position:absolute; bottom:30px; right:30px; padding:16px 21px; border:1px solid rgba(241,234,217,.7); background:rgba(27,41,66,.74); color:var(--t-cream); text-align:center; }
.tourney-photo-caption strong { display:block; font-family:var(--font-display); font-size:28px; line-height:1; letter-spacing:.12em; font-weight:500; }
.tourney-photo-caption span { display:block; font-size:9px; letter-spacing:.22em; text-transform:uppercase; margin-top:9px; }
.tourney-ribbon { background:var(--t-blue); color:var(--t-navy); padding:14px var(--pad); text-align:center; font-size:11px; font-weight:500; letter-spacing:.24em; text-transform:uppercase; }
.tourney-section { padding:clamp(64px,9vw,125px) 0; }
.tourney-invite-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(32px,7vw,110px); align-items:center; }
.tourney-pass { color:var(--t-cream); background:var(--t-navy); padding:clamp(26px,4vw,52px); aspect-ratio:1.16; display:flex; flex-direction:column; justify-content:space-between; box-shadow:20px 20px 0 var(--paper-2); position:relative; }
.tourney-pass::before { content:""; position:absolute; inset:13px; border:1px solid rgba(241,234,217,.26); pointer-events:none; }
.tourney-pass-top,.tourney-pass-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; position:relative; z-index:1; }
.tourney-pass-top .mark { font-family:var(--font-display); font-size:clamp(25px,3vw,37px); letter-spacing:.16em; line-height:1; }
.tourney-pass-top .year { font-size:11px; letter-spacing:.2em; }
.tourney-pass-middle { position:relative; z-index:1; padding:28px 0; }
.tourney-pass-middle p { font-size:10px; text-transform:uppercase; letter-spacing:.25em; color:var(--t-blue); margin-bottom:18px; }
.tourney-pass-middle strong { display:block; font-family:var(--font-display); font-weight:500; font-size:clamp(40px,5.5vw,73px); line-height:1.05; }
.tourney-pass-middle em { display:block; font-family:var(--font-display); font-size:clamp(18px,2vw,27px); margin-top:10px; color:var(--t-blue); }
.tourney-pass-bottom { font-size:10px; text-transform:uppercase; letter-spacing:.18em; border-top:1px solid rgba(241,234,217,.27); padding-top:16px; }
.tourney-invite-copy .tourney-eyebrow { color:var(--accent); }
.tourney-invite-copy h2,.tourney-details-head h2,.tourney-closer h2 { font-family:var(--font-display); font-weight:500; font-size:clamp(39px,5vw,68px); line-height:1.08; margin:17px 0 25px; }
.tourney-invite-copy p { max-width:510px; line-height:1.75; color:var(--muted); margin-bottom:23px; font-size:16px; }
.tourney-invite-copy .tourney-btn-primary { background:var(--t-navy); color:var(--t-cream); border-color:var(--t-navy); margin-top:10px; }
.tourney-invite-copy .tourney-btn-primary:hover { background:var(--accent); color:var(--t-navy); border-color:var(--accent); }
.tourney-details { border-top:1px solid var(--hair); background:var(--paper-2); }
.tourney-details-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:40px; }
.tourney-details-head h2 { margin-bottom:0; }
.tourney-details-head p { max-width:325px; color:var(--muted); line-height:1.6; font-size:14px; }
.tourney-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.tourney-detail { padding:24px 22px 25px 0; }
.tourney-detail + .tourney-detail { padding-left:26px; border-left:1px solid var(--hair); }
.tourney-detail-label { font-size:10px; font-weight:500; letter-spacing:.23em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.tourney-detail-value { font-family:var(--font-display); font-weight:500; font-size:clamp(23px,2.4vw,34px); line-height:1.2; }
.tourney-detail-note { font-size:13px; color:var(--muted); margin-top:10px; }
.tourney-disclaimer { font-size:12px; line-height:1.65; color:var(--muted); margin-top:20px; }
.tourney-closer { text-align:center; padding:clamp(68px,9vw,112px) 0; }
.tourney-closer h2 { max-width:780px; margin:15px auto 18px; }
.tourney-closer p { color:rgba(241,234,217,.74); margin-bottom:28px; }
.tourney-closer .tourney-btn { margin:0 auto; }
.tourney-closer .tourney-shop { display:block; width:fit-content; margin:22px auto 0; text-transform:uppercase; font-size:11px; letter-spacing:.18em; color:var(--t-blue); border-bottom:1px solid currentColor; }
@media (max-width: 850px) {
 .tourney-hero-inner { grid-template-columns:1fr; }
 .tourney-hero-copy { max-width:none; margin:0; padding:76px var(--pad) 70px; }
 .tourney-hero-photo { min-height:320px; }
 .tourney-invite-grid { grid-template-columns:1fr; }
 .tourney-pass { max-width:600px; }
 .tourney-details-head { flex-direction:column; align-items:start; }
}
@media (max-width: 560px) {
 .tourney-hero h1 { font-size:clamp(61px,15vw,82px); }
 .tourney-actions { flex-direction:column; align-items:stretch; }
 .tourney-btn { width:100%; }
 .tourney-pass { box-shadow:11px 11px 0 var(--paper-2); }
 .tourney-detail-grid { grid-template-columns:1fr; }
 .tourney-detail, .tourney-detail + .tourney-detail { padding:22px 0; border-left:0; }
 .tourney-detail + .tourney-detail { border-top:1px solid var(--hair); }
 .tourney-photo-caption { right:18px; bottom:18px; }
}
@media (prefers-reduced-motion:reduce) { .tourney-btn { transition:none; } }
