@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap');

:root {
  --navy:#071d28;
  --navy-2:#0d2b38;
  --cream:#f6f1e7;
  --paper:#fffdf8;
  --lime:#d9ff43;
  --orange:#ff7849;
  --blue:#60d5ff;
  --ink:#09212b;
  --muted:#5f6d71;
  --line:rgba(7,29,40,.14);
  --radius:1.25rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
button,a,select,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:var(--navy);color:white;position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:.7rem;font-family:Oswald,sans-serif;font-weight:600;letter-spacing:.04em;font-size:1.1rem}
.brand i{font-style:normal;color:var(--orange)}
.brand-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.6)}
.desktop-nav{display:flex;align-items:center;gap:2rem;font-weight:600;font-size:.92rem}
.desktop-nav a{opacity:.78}.desktop-nav a:hover{opacity:1}
.pill-button{border:0;border-radius:999px;background:var(--lime);color:var(--navy);padding:.9rem 1.25rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.pill-button.small{padding:.65rem 1rem}
.hero{min-height:min(810px,calc(100svh - 76px));position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:white}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,23,.94) 0%,rgba(3,16,23,.72) 33%,rgba(3,16,23,.10) 70%),linear-gradient(0deg,rgba(3,16,23,.52),transparent 45%)}
.hero-copy{position:relative;z-index:3;width:min(700px,57%);padding:5rem clamp(1.25rem,7vw,8rem)}
.eyebrow{display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700;margin:0 0 1.3rem}
.eyebrow>span{width:34px;height:3px;background:var(--lime);display:inline-block}
.eyebrow.dark{color:var(--ink)}.eyebrow.dark>span{background:var(--orange)}
h1,h2,h3{font-family:Oswald,sans-serif;line-height:.95;margin:0;text-transform:uppercase;letter-spacing:-.02em}
h1{font-size:clamp(4.3rem,8vw,8.8rem);font-weight:600}
h1 em,h2 em{font-style:normal;color:var(--lime)}
.hero-intro{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:500px;margin:1.6rem 0 2rem;color:rgba(255,255,255,.8)}
.hero-actions{display:flex;align-items:center;gap:1rem}
.round-button{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(7,29,40,.25);color:white;font-size:1.5rem}
.team-shot{position:absolute;z-index:2;right:clamp(1.25rem,4vw,4.5rem);top:50%;transform:translateY(-52%) rotate(1.5deg);width:min(39vw,560px);margin:0;padding:.7rem .7rem 0;background:var(--cream);color:var(--navy);box-shadow:0 30px 80px rgba(0,0,0,.32)}
.team-shot img{width:100%;display:block;aspect-ratio:1;object-fit:cover}.team-shot figcaption{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.team-shot figcaption span{color:var(--muted)}
.trip-stamp{position:absolute;right:clamp(1.25rem,4vw,4.5rem);bottom:1.2rem;z-index:4;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:.7rem;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(8px);background:rgba(7,29,40,.72);font-family:Oswald,sans-serif}
.trip-stamp strong{font-size:1.5rem}.trip-stamp small{grid-column:1/-1;text-align:center;letter-spacing:.35em;color:var(--lime)}
.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--lime);padding:1.3rem clamp(1.25rem,6vw,7rem);gap:1rem}
.quick-strip div{border-left:1px solid rgba(7,29,40,.25);padding-left:1.2rem}.quick-strip span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.quick-strip strong{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:1.15rem}
.section{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,7vw,8rem)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.3rem}
.section-heading h2,.stay-copy h2,.future h2{font-size:clamp(3rem,6vw,6.6rem)}
.section-heading>p{max-width:480px;color:var(--muted);font-size:1.05rem}
.date-tabs{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:2rem}
.date-tabs button{border:0;border-right:1px solid var(--line);background:transparent;padding:1rem;color:var(--muted)}
.date-tabs button:last-child{border-right:0}.date-tabs small,.date-tabs strong{display:block}.date-tabs strong{font-family:Oswald,sans-serif;font-size:1.8rem}.date-tabs button[aria-selected="true"]{background:var(--navy);color:white}.date-tabs button[aria-selected="true"] small{color:var(--lime)}
.day-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:1.25rem}
.agenda-card,.travel-card{background:var(--paper);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--line)}
.card-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--line);font-weight:700}
.live-dot{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.live-dot:before{content:"";width:7px;height:7px;background:var(--orange);display:inline-block;border-radius:50%;margin-right:.5rem}
.agenda-item{display:grid;grid-template-columns:70px 46px 1fr auto;align-items:center;gap:1rem;padding:1.2rem .3rem;border-bottom:1px solid var(--line)}.agenda-item:last-child{border:0}.agenda-item time{font-family:Oswald,sans-serif;font-size:1.35rem}.agenda-kind{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:1.05rem}.agenda-item h3{font-family:"DM Sans",sans-serif;font-size:1rem;text-transform:none;line-height:1.3;letter-spacing:0}.agenda-item p{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}.court-tag{font-size:.75rem;font-weight:700;background:var(--navy);color:white;border-radius:99px;padding:.35rem .6rem;white-space:nowrap}.empty-day{padding:2.5rem 1rem;text-align:center;color:var(--muted)}
.agenda-item.court-one{background:linear-gradient(90deg,rgba(255,120,73,.19),rgba(255,120,73,.07));border-left:5px solid var(--orange);padding-left:.75rem;padding-right:.75rem}.agenda-item.court-two{background:linear-gradient(90deg,rgba(96,213,255,.22),rgba(96,213,255,.07));border-left:5px solid var(--blue);padding-left:.75rem;padding-right:.75rem}.court-one .court-tag{background:var(--orange);color:var(--navy)}.court-two .court-tag{background:#1685ad;color:white}
.agenda-match{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.agenda-team,.match-team,.score-versus .team-a,.score-versus .team-b{border-radius:.45rem;padding:.18rem .42rem}.team-a{color:#c74518;background:rgba(255,120,73,.14)}.team-b{color:#086d92;background:rgba(96,213,255,.18)}.agenda-vs{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.travel-card{background:var(--orange);border-color:transparent;color:var(--navy);display:flex;flex-direction:column}.travel-icon{font-size:2rem;margin-left:auto}.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;margin:1.5rem 0 .7rem}.travel-card h3,.players-card h3{font-size:2.35rem}.muted{color:var(--muted)}.travel-card .muted{color:rgba(7,29,40,.7)}.flight-line{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.7rem;padding:1rem 0;border-top:1px solid rgba(7,29,40,.22)}.flight-line.return{padding-top:.8rem}.flight-line span{display:grid}.flight-line small{font-size:.7rem}.flight-line strong{font:600 1.45rem Oswald,sans-serif}.flight-line .right{text-align:right}.flight-route{font-size:.72rem;font-weight:800;align-self:center;border:1px solid rgba(7,29,40,.28);border-radius:99px;padding:.25rem .45rem}.transfer-note{display:flex;gap:.7rem;align-items:center;margin-top:auto;padding:1rem 0;border-top:1px solid rgba(7,29,40,.22)}.transfer-note>span{font-size:1.4rem}.transfer-note div{display:grid}.transfer-note small{font-size:.72rem}.text-button{margin-top:0;padding:1rem 0 0;border:0;border-top:1px solid rgba(7,29,40,.25);background:transparent;font-weight:700;text-align:left;display:flex;justify-content:space-between}
.stay-section{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center}
.stay-visual{aspect-ratio:4/3;background:var(--navy);position:relative;overflow:hidden;border-radius:var(--radius);display:grid;place-items:center}.sun{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;background:var(--orange);right:9%;top:8%}.hotel-word{font:700 clamp(4rem,9vw,10rem)/1 Oswald,sans-serif;color:var(--cream);transform:rotate(-90deg);position:absolute;left:-12%;letter-spacing:.04em;opacity:.96}.court-lines{position:absolute;inset:48% 7% 7%;border:5px solid var(--lime);background:linear-gradient(90deg,transparent 49.5%,var(--lime) 49.5%,var(--lime) 50.5%,transparent 50.5%),linear-gradient(0deg,transparent 49%,var(--lime) 49%,var(--lime) 51%,transparent 51%)}
.stay-copy>p:not(.eyebrow){font-size:1.05rem;color:var(--muted);max-width:620px}.check-list{list-style:none;padding:0;margin:2rem 0}.check-list li{padding:.8rem 0;border-bottom:1px solid var(--line);font-weight:600}.check-list span{color:var(--orange);margin-right:.7rem}.hotel-link{display:flex;justify-content:space-between;max-width:440px;border-bottom:1px solid var(--line);padding:.2rem 0 .9rem;margin-bottom:1.4rem;font-weight:700}.dark-button{background:var(--navy);color:white}
.food-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,8rem);align-items:center;background:var(--lime)}.food-intro h2{font-size:clamp(3.5rem,7vw,7.5rem)}.food-intro>p:not(.eyebrow){max-width:560px;margin:1.5rem 0 2rem}.menu-board{background:var(--paper);border:1px solid rgba(7,29,40,.18);box-shadow:12px 12px 0 var(--navy);transform:rotate(1deg)}.menu-head,.menu-row{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:1.15rem 1.3rem;border-bottom:1px solid var(--line)}.menu-head{background:var(--navy);color:white;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.menu-head small{text-align:right;color:rgba(255,255,255,.65)}.menu-row span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.menu-row strong{text-transform:uppercase}.menu-row.accent{background:var(--orange);border:0}.menu-row.accent span{color:var(--navy)}
.tournament{background:var(--navy);color:white}.section-heading.light>p{color:rgba(255,255,255,.66)}.tournament-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:1.25rem;min-width:0}.standings-panel{grid-column:1/-1;background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:1.4rem;min-width:0;overflow:hidden}.standings-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem}.standings-head .label{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.standings-head strong{font:600 1.65rem Oswald,sans-serif;text-transform:uppercase}.points-rule{font-size:.8rem;background:var(--cream);border-radius:99px;padding:.55rem .8rem}.points-rule b{color:var(--orange)}.standings-scroll{width:100%;max-width:100%;overflow-x:auto}.standings-table{width:100%;border-collapse:collapse}.standings-table th,.standings-table td{padding:.72rem .8rem;border-top:1px solid var(--line);text-align:right;white-space:nowrap}.standings-table th:nth-child(2),.standings-table td:nth-child(2){text-align:left}.standings-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.standings-table td:first-child{font:600 1.1rem Oswald,sans-serif;color:var(--orange)}.standings-table .leader td{background:rgba(217,255,67,.24)}.standings-note{margin:.8rem 0 0;color:var(--muted);font-size:.8rem}.match-board{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:1.4rem;min-width:0}.board-controls{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line)}.board-controls .label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.team-legend{display:flex;gap:.35rem;margin-top:.55rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.team-legend span{border-radius:99px;padding:.18rem .48rem}.filter-group{display:flex;background:var(--cream);padding:.25rem;border-radius:99px}.filter{border:0;background:transparent;border-radius:99px;padding:.5rem .75rem;font-size:.8rem;font-weight:700;color:var(--muted)}.filter.active{background:var(--navy);color:white}.match-list{max-height:540px;overflow:auto}.match-row{display:grid;grid-template-columns:86px 1fr 34px 1fr auto;gap:.8rem;align-items:center;padding:1rem .35rem;border-bottom:1px solid var(--line)}.match-row small{display:block;color:var(--muted)}.match-row strong{font-size:.92rem}.match-court{margin-top:.18rem;color:#397286!important;font-weight:700;font-size:.68rem}.match-team{width:fit-content}.versus{font:600 .72rem Oswald,sans-serif;color:var(--muted);text-align:center}.score-button{border:0;border-radius:99px;background:var(--navy);color:white;padding:.45rem .65rem;font-size:.72rem;font-weight:700}.score-button.has-score{background:var(--lime);color:var(--navy)}.players-card{background:var(--lime);color:var(--navy);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column}.kicker.lime{margin-top:0}.player-cloud{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.player-cloud span{border:1px solid rgba(7,29,40,.3);border-radius:99px;padding:.45rem .7rem;font-weight:700;font-size:.85rem}.rule-note{margin-top:auto;border-top:1px solid rgba(7,29,40,.25);padding-top:1rem}.rule-note p{font-size:.9rem;margin:.3rem 0 0}
.future{display:grid;grid-template-columns:1.1fr .7fr auto;align-items:end;gap:3rem;background:var(--orange)}.future>p{margin:0}.outline-button{border:1px solid var(--navy);background:transparent;padding:.9rem 1.2rem;border-radius:99px;font-weight:700;white-space:nowrap}.outline-button span{margin-left:1rem}
footer{background:#031118;color:white;padding:3rem clamp(1.25rem,7vw,8rem) 6rem;display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center}footer p,footer small{color:rgba(255,255,255,.6)}
.mobile-nav{display:none}
dialog{width:min(540px,calc(100% - 2rem));border:0;border-radius:1.5rem;padding:2rem;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(3,17,24,.78);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:1rem;top:1rem;border:0;background:var(--cream);width:38px;height:38px;border-radius:50%;font-size:1.5rem}.dialog-close+ .eyebrow{margin-top:.5rem}dialog h2{font-size:3rem}form{display:grid;gap:1rem;margin-top:1.5rem}form>label{display:grid;gap:.4rem;font-weight:700}select,input{width:100%;border:1px solid var(--line);background:white;border-radius:.7rem;padding:.85rem;color:var(--ink)}fieldset{border:0;padding:0;margin:0}legend{font-weight:700;margin-bottom:.5rem}.choice{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:.8rem;padding:.8rem;margin:.5rem 0}.choice input{width:auto}.choice span{display:grid}.choice small{font-weight:400;color:var(--muted)}.form-status{min-height:1.5em;margin:0;color:#2e6500;font-weight:700}
.score-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem}.score-versus label{display:grid;gap:.5rem;font-weight:700}.score-versus input{text-align:center;font:600 2rem Oswald,sans-serif}.score-versus b{padding-bottom:.8rem}.clear-score{border:0;background:transparent;text-decoration:underline;color:var(--muted)}

@media (max-width:900px){
  .desktop-nav{display:none}.hero{min-height:860px;align-items:flex-end}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(3,16,23,.98) 0%,rgba(3,16,23,.8) 55%,rgba(3,16,23,.22) 100%)}.team-shot{top:2rem;right:1.25rem;transform:rotate(1.5deg);width:min(55vw,390px)}.hero-copy{width:100%;padding:3rem 1.25rem 8rem}.trip-stamp{right:1.25rem;bottom:1.5rem;transform:scale(.8);transform-origin:right bottom}.quick-strip{grid-template-columns:1fr 1fr}.section-heading{display:block}.section-heading>p{margin:1rem 0 0}.day-layout,.stay-section,.food-section,.tournament-grid{grid-template-columns:1fr}.travel-card{min-height:380px}.stay-visual{order:2}.future{grid-template-columns:1fr;align-items:start}.future h2{font-size:3.6rem}footer{grid-template-columns:1fr;padding-bottom:7rem}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);z-index:40;bottom:0;left:0;right:0;background:rgba(3,17,24,.96);backdrop-filter:blur(12px);color:white;padding:.5rem max(.35rem,env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));border-top:1px solid rgba(255,255,255,.15)}.mobile-nav a,.mobile-nav button{border:0;background:transparent;color:inherit;display:grid;place-items:center;font-size:.69rem;gap:.2rem}.mobile-nav span{font-size:1.1rem;color:var(--lime)}
}
@media (max-width:620px){
  .topbar{height:64px}.brand-logo{width:32px;height:32px}.section{padding:4.5rem 1rem}.hero{min-height:900px}.team-shot{width:70vw;top:1.3rem}.team-shot figcaption span{display:none}.hero-copy{padding-bottom:8.2rem}h1{font-size:clamp(4rem,21vw,6rem)}.hero-intro{max-width:80%;font-size:1rem}.trip-stamp{bottom:1rem}.quick-strip{padding:1rem;gap:.8rem}.quick-strip strong{font-size:1rem}.date-tabs{overflow-x:auto;grid-template-columns:repeat(7,64px);scrollbar-width:none}.date-tabs::-webkit-scrollbar{display:none}.day-layout{gap:.8rem}.agenda-card{padding:1rem}.card-topline{align-items:flex-start;gap:.6rem}.live-dot{text-align:right}.agenda-item{grid-template-columns:56px 38px 1fr;gap:.6rem}.agenda-kind{width:36px;height:36px}.court-tag{grid-column:3;margin-top:-.4rem;width:max-content}.section-heading h2,.stay-copy h2{font-size:3.6rem}.stay-section,.food-section{padding-left:1rem;padding-right:1rem}.menu-head,.menu-row{grid-template-columns:1fr}.menu-head small{text-align:left}.menu-board{box-shadow:7px 7px 0 var(--navy)}.tournament{padding-left:1rem;padding-right:1rem}.standings-panel{padding:1rem}.standings-head{align-items:flex-start}.points-rule{font-size:.7rem}.standings-table th,.standings-table td{padding:.65rem .55rem}.board-controls{align-items:flex-start;flex-direction:column}.match-board{padding:1rem}.match-row{grid-template-columns:62px 1fr 24px 1fr;gap:.45rem}.match-row strong{font-size:.8rem}.score-button{grid-column:2/-1;justify-self:start;margin-top:.25rem}.filter-group{width:100%}.filter{flex:1}.players-card{min-height:420px}.future{padding:4rem 1rem}.footer-brand{font-size:1rem}dialog{padding:1.5rem}dialog h2{font-size:2.5rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
