/*
Theme Name: College Tournaments Hawaii
Theme URI: https://cth.ikaikakimura.com
Author: Ikaika Kimura
Description: A fast, responsive tournament theme for Hoops in Hawaii Classic.
Version: 1.1.0
Text Domain: cth
*/

:root {
  --ink: #071424;
  --navy: #0a203a;
  --ocean: #006b7c;
  --aqua: #20c7bd;
  --sun: #ffb81c;
  --coral: #f05d4f;
  --sand: #f5f0e6;
  --white: #fff;
  --muted: #667085;
  --line: #dfe6ec;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(7,20,36,.12);
  --content: 1220px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f8fafb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:var(--ocean);text-decoration:none}a:hover{color:#034f5c}img{max-width:100%;height:auto}.container{width:min(calc(100% - 32px),var(--content));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:12px}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,20,36,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.header-row{min-height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:900;letter-spacing:.02em;line-height:1.05}.brand:hover{color:#fff}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:conic-gradient(from 180deg,var(--sun),#ffd978,var(--aqua),var(--sun));font-size:20px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.45)}.brand span small{display:block;color:var(--aqua);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0}.site-nav a{display:block;color:#eaf3f6;font-weight:700;font-size:14px;padding:12px 10px;border-radius:9px}.site-nav a:hover,.site-nav .current-menu-item>a{background:rgba(255,255,255,.09);color:#fff}.nav-live{background:var(--coral)!important;color:#fff!important}.menu-toggle{display:none;margin-left:auto;border:0;background:#fff;color:var(--ink);border-radius:10px;padding:10px 12px;font-weight:800}.live-strip{background:#03101f;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.live-strip .container{display:flex;align-items:center;gap:14px;min-height:42px;overflow:auto}.live-label{display:inline-flex;align-items:center;gap:7px;color:#ffdad5;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.pulse{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(240,93,79,.2)}.live-strip a{color:#fff;font-size:13px;white-space:nowrap}.hero{position:relative;isolation:isolate;color:#fff;overflow:hidden;background:linear-gradient(120deg,#071424 5%,#093d58 55%,#087c81)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 80% 25%,rgba(32,199,189,.36),transparent 28%),linear-gradient(115deg,transparent 48%,rgba(255,184,28,.18) 48.2%,transparent 49%)}.hero:after{content:"";position:absolute;width:560px;height:560px;right:-120px;bottom:-340px;border:55px solid rgba(255,255,255,.07);border-radius:50%;z-index:-1}.hero-inner{min-height:640px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding-block:90px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--sun)}.hero h1{font-size:clamp(50px,7.5vw,100px);line-height:.91;letter-spacing:-.055em;margin:18px 0 24px;max-width:850px}.hero h1 em{font-style:normal;color:var(--aqua)}.hero p{font-size:clamp(17px,2vw,22px);max-width:650px;color:#dfeef2}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;border-radius:12px;background:var(--sun);color:var(--ink);font-weight:900;border:2px solid transparent}.button:hover{color:var(--ink);background:#ffc84f;transform:translateY(-1px)}.button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}.button.ghost:hover{background:#fff;color:var(--ink)}.hero-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:28px;backdrop-filter:blur(9px);box-shadow:0 30px 90px rgba(0,0,0,.25)}.hero-card h2{font-size:22px;margin:0 0 18px}.event-fact{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.13)}.event-fact strong{display:block}.event-fact span{color:#bdd0d7;font-size:14px}.event-icon{font-size:22px}.section{padding:90px 0}.section-sm{padding:54px 0}.section-dark{background:var(--ink);color:#fff}.section-sand{background:var(--sand)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head h2,.page-hero h1{font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.04em;margin:8px 0}.section-head p{max-width:570px;color:var(--muted);margin:0}.section-dark .section-head p{color:#b9c8d2}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 4px 16px rgba(7,20,36,.04)}.card:hover{box-shadow:var(--shadow)}.card h3{margin:5px 0 10px;font-size:21px}.meta{color:var(--muted);font-size:14px}.kicker{color:var(--ocean);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.score-card{padding:0;overflow:hidden}.score-card-head{display:flex;justify-content:space-between;padding:13px 18px;background:#eef4f6;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.score-card-head .live{color:var(--coral)}.score-team{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 18px}.score-team+.score-team{border-top:1px solid var(--line)}.team-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--navy),var(--ocean));color:#fff;font-weight:900;font-size:12px}.score{font-size:28px;font-weight:950;font-variant-numeric:tabular-nums}.quick-links{display:grid;grid-template-columns:repeat(6,1fr);margin-top:-40px;position:relative;z-index:3;background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.quick-links a{min-height:110px;padding:22px 12px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;border-right:1px solid var(--line);font-weight:850;color:var(--ink);text-align:center}.quick-links a:last-child{border:0}.quick-links a:hover{background:#f0fbfa;color:var(--ocean)}.quick-icon{font-size:25px}.page-hero{padding:80px 0 65px;color:#fff;background:linear-gradient(120deg,var(--ink),#0b5363)}.page-hero p{max-width:720px;color:#cde0e5;font-size:18px}.content-shell{padding:70px 0}.content-shell h2{font-size:32px;line-height:1.15}.content-shell h3{font-size:22px}.prose{max-width:850px}.prose p,.prose li{font-size:17px}.info-bar{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e4f7f5;color:#065d62;font-weight:800;font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{background:#edf3f6;font-size:12px;letter-spacing:.07em;text-transform:uppercase}tr:last-child td{border-bottom:0}.bracket{display:flex;gap:30px;overflow:auto;padding:10px 4px 30px}.bracket-round{min-width:250px;display:flex;flex-direction:column;gap:18px}.bracket-round h3{text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--muted)}.bracket-match{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 15px rgba(7,20,36,.05);overflow:hidden}.bracket-team{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px}.bracket-team+.bracket-team{border-top:1px solid var(--line)}.bracket-team.winner{font-weight:900;background:#eefaf8}.status-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;background:#edf3f6;font-size:11px;font-weight:900;text-transform:uppercase}.status-badge.live{background:#ffe5e2;color:#a62e22}.team-grid .card{display:flex;gap:15px;align-items:center}.team-grid .team-badge{flex:0 0 54px;width:54px;height:54px}.stat-number{font-size:46px;line-height:1;font-weight:950;color:var(--ocean)}.quote{position:relative;padding-top:55px}.quote:before{content:'“';position:absolute;top:5px;left:22px;font-size:72px;line-height:1;color:var(--aqua);font-family:Georgia,serif}.quote cite{display:block;margin-top:18px;font-style:normal;font-weight:900}.quote small{display:block;color:var(--muted)}.sponsor-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.sponsor-tile{min-height:120px;display:grid;place-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px;text-align:center;font-weight:900;color:var(--navy)}.site-footer{background:#03101f;color:#c1d0d8;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.8fr);gap:40px}.site-footer h3{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.09em}.site-footer ul{list-style:none;padding:0}.site-footer li{margin:8px 0}.site-footer a{color:#c1d0d8}.site-footer a:hover{color:#fff}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:22px;font-size:13px;display:flex;justify-content:space-between;gap:20px}.notice{border-left:4px solid var(--sun);background:#fff8e3;padding:15px 18px;border-radius:0 12px 12px 0}.empty-state{text-align:center;padding:55px 24px;background:#fff;border:1px dashed #b9c8d2;border-radius:16px;color:var(--muted)}
.score-card-link{display:block;padding:12px 18px;background:var(--navy);color:#fff;font-size:13px;font-weight:850}.score-card-link:hover{background:var(--ocean);color:#fff}.game-detail-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:34px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.game-detail-team{text-align:center}.game-detail-team .team-badge{margin:0 auto 10px;width:64px;height:64px;border-radius:18px}.game-detail-team h2{font-size:clamp(20px,3vw,34px);margin:8px}.game-detail-team .score{font-size:clamp(60px,9vw,104px)}.game-clock{text-align:center;font-weight:900;color:var(--coral)}.play-feed{list-style:none;padding:0;margin:0}.play-feed li{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.play-feed small{color:var(--muted)}.source-note{display:none!important}.history-document>p:first-child{font-size:32px;font-weight:900;color:var(--navy)}.history-document>p:empty,.history-document td p:empty{display:none}.history-document table{margin:16px 0 38px}.history-document td{white-space:normal;vertical-align:top;min-width:220px}.history-document td p{margin:3px 0}.participant-lists{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.participant-lists h2{display:flex;align-items:center;gap:10px}.media-placeholder{display:grid;place-items:center;min-height:180px;border-radius:12px;background:linear-gradient(135deg,var(--ocean),var(--navy));color:#fff;font-size:50px}.resource-grid .card{color:var(--ink)}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-link{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:14px;font-weight:850;transition:.2s ease}.social-link:hover{transform:translateY(-2px);border-color:var(--aqua);color:var(--ocean);box-shadow:0 8px 20px rgba(7,20,36,.09)}.social-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.social-link:first-child svg,.social-link:nth-child(2) svg{fill:currentColor;stroke:none}.social-link .social-fill{fill:currentColor;stroke:none}.site-footer .social-links{gap:8px;margin-top:20px}.site-footer .social-link{width:42px;height:42px;padding:0;justify-content:center;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#fff}.site-footer .social-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:980px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;inset:78px 0 auto;background:var(--ink);padding:12px 16px 22px}.site-nav.open{display:block}.site-nav ul{display:block}.hero-inner{grid-template-columns:1fr;min-height:auto}.hero-card{max-width:600px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.quick-links{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.participant-lists{grid-template-columns:1fr}}
@media(max-width:640px){.container{width:min(calc(100% - 22px),var(--content))}.brand span{font-size:14px}.hero-inner{padding-block:62px 85px}.hero h1{font-size:53px}.section{padding:65px 0}.section-head{display:block}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.quick-links{grid-template-columns:repeat(2,1fr);margin-top:-25px}.quick-links a{min-height:95px}.sponsor-row{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.score-team{grid-template-columns:38px 1fr auto}.page-hero{padding:55px 0 45px}.game-detail-score{grid-template-columns:1fr 1fr;padding:18px;gap:10px}.game-clock{grid-column:1/-1;grid-row:1}.game-detail-team h2{font-size:16px}.play-feed li{grid-template-columns:55px 1fr auto}}
.sponsor-tier{margin-top:54px}.sponsor-tier:first-child{margin-top:34px}.sponsor-tier-head{margin-bottom:20px}.sponsor-tier-head h2{margin:5px 0 0}.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sponsor-card{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:18px;color:var(--ink);text-align:center;box-shadow:0 5px 18px rgba(7,20,36,.05);transition:.2s ease}.sponsor-card[href]:hover{color:var(--ocean);border-color:var(--aqua);box-shadow:var(--shadow);transform:translateY(-3px)}.sponsor-card img{width:auto;max-width:100%;height:125px;object-fit:contain}.sponsor-name{font-weight:900}.sponsor-wordmark{font-size:24px}.sponsor-grid-featured{grid-template-columns:1fr}.sponsor-grid-featured .sponsor-card{min-height:auto}.sponsor-grid-featured .sponsor-card img{width:min(100%,800px);height:auto;max-height:none}.sponsor-links p{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0}.sponsor-links a,.sponsor-links span{padding:6px 10px;border-radius:999px;background:#edf7f6;color:var(--ocean);font-size:13px;font-weight:800}.sponsor-links span{color:var(--muted)}
@media(max-width:760px){.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-card{min-height:180px;padding:18px}.sponsor-card img{height:105px}}
@media(max-width:460px){.sponsor-grid{grid-template-columns:1fr}}
.button.button-secondary{background:#fff;border-color:var(--ocean);color:var(--ocean)}.button.button-secondary:hover{background:#e8f7f5;color:var(--navy)}
.team-table-section{margin:48px 0 64px}.team-table-section .section-head{margin-bottom:18px}.team-table-section .section-head h2{font-size:clamp(30px,4vw,44px)}.team-info-table td{white-space:normal;vertical-align:top}.team-info-table th:first-child,.team-info-table td:first-child{min-width:245px}.team-info-table th:nth-child(2),.team-info-table td:nth-child(2){min-width:190px}.team-info-table th:nth-child(n+4),.team-info-table td:nth-child(n+4){min-width:190px}
.schedule-event{margin:42px 0 76px}.schedule-event+.schedule-event{padding-top:58px;border-top:2px solid var(--line)}.schedule-event .section-head{margin-bottom:22px}.schedule-event .section-head h2{font-size:clamp(36px,5vw,54px)}.schedule-event>h3{margin:30px 0 10px}.schedule-contacts{margin-top:28px}.schedule-contacts .card{padding:20px}.score-event{min-height:104px;grid-template-columns:42px 1fr}
.media-year{margin:38px 0 58px}.media-year .section-head{margin-bottom:18px}.media-year .section-head h3{font-size:clamp(30px,4vw,44px);margin:4px 0}.media-history{margin-top:88px;padding-top:68px;border-top:2px solid var(--line)}.media-history>.section-head{align-items:start}.media-history>.section-head h2{font-size:clamp(36px,5vw,54px)}
.contact-layout{align-items:start}.contact-layout>section>h2:first-child{margin-top:0}.contact-card{margin-bottom:34px}.contact-links{display:flex;flex-wrap:wrap;gap:8px}.contact-links a{padding:6px 10px;border-radius:999px;background:#e8f7f5;font-size:13px;font-weight:850}.contact-form label{display:block;font-weight:850;margin-bottom:6px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px;border:1px solid #b9c8d2;border-radius:10px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(32,199,189,.25);border-color:var(--ocean)}.contact-form .form-help{color:var(--muted);font-size:13px;margin-bottom:0}.contact-honeypot{position:absolute!important;left:-9999px!important}.form-error{border-left-color:var(--coral);background:#fff0ee}
.video-year-nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 48px}.video-year-nav a{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:850}.video-year{margin:42px 0 68px;scroll-margin-top:100px}.video-year .section-head{margin-bottom:18px}.video-year .section-head h3{font-size:clamp(30px,4vw,44px);margin:4px 0}.video-card{padding:0;overflow:hidden}.video-frame{position:relative;aspect-ratio:16/9;background:var(--navy)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-card-body{padding:18px 20px 20px}.video-card-body h3{margin:0 0 8px}.video-card-body p{margin:0;color:var(--muted);font-size:14px}.media-extras{margin-top:88px;padding-top:68px;border-top:2px solid var(--line)}
.team-badge-image{width:40px;height:40px;object-fit:contain;flex:0 0 40px}.team-grid .team-badge-image{width:64px;height:64px;flex-basis:64px}.team-table-name{display:flex;align-items:center;gap:12px;min-width:245px}.team-table-name .team-badge-image{width:42px;height:42px;flex-basis:42px}.team-profile-heading{display:flex;align-items:center;gap:28px}.team-profile-logo{width:118px;height:118px;display:grid;place-items:center;flex:0 0 118px;padding:12px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.team-profile-logo .team-badge-image,.team-profile-logo .team-badge{width:94px;height:94px;object-fit:contain}.team-profile-logo .team-badge{font-size:24px}@media(max-width:640px){.team-profile-heading{align-items:flex-start;gap:16px}.team-profile-logo{width:78px;height:78px;flex-basis:78px;padding:8px}.team-profile-logo .team-badge-image,.team-profile-logo .team-badge{width:62px;height:62px}.team-profile-heading h1{font-size:38px}}

/* Site-wide design refinement */
:root {
  --content: 1440px;
  --radius: 20px;
  --shadow: 0 20px 55px rgba(7, 20, 36, .12);
  --shadow-soft: 0 8px 28px rgba(7, 20, 36, .07);
}

html { background: #f8fafb; }
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.container { width: min(calc(100% - 56px), var(--content)); }
.content-shell { padding: 82px 0 100px; }
.content-shell > .prose { max-width: none; }
.content-shell > .prose > p,
.content-shell > .prose > ul,
.content-shell > .prose > ol { max-width: 78ch; }
.prose p,
.prose li { line-height: 1.72; }
.prose h2 { margin: 56px 0 18px; letter-spacing: -.025em; }
.prose h3 { margin: 36px 0 14px; }
.prose > :first-child { margin-top: 0; }
.participant-lists > section { min-width:0; }
.participant-lists .table-wrap { width:100%; max-width:100%; margin-inline:0; }
/* Let long contact addresses wrap without stretching grid columns. */
.contact-layout > section,.contact-form,.contact-form .grid > p { min-width:0; }
.contact-card a { overflow-wrap:anywhere; }
.contact-card .contact-action { display:flex; align-items:center; gap:12px; width:100%; min-height:66px; margin:10px 0; padding:13px 16px; border:1px solid #c6e2e5; border-radius:13px; background:#eef8f8; color:#005d6e; text-decoration:none; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease; }
.contact-action > span:last-child { display:grid; gap:3px; min-width:0; }
.contact-action strong { font-size:16px; line-height:1.35; }
.contact-action small { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.contact-action-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:#fff; color:#006b7c; font-size:21px; }
.contact-card .contact-action-phone { background:var(--ocean); border-color:var(--ocean); color:#fff; }
.contact-card .contact-action + br { display:none; }
.contact-card .contact-action:hover { background:#dceff0; border-color:var(--ocean); box-shadow:0 5px 16px rgba(0,107,124,.12); }
.contact-card .contact-action-phone:hover { background:var(--navy); border-color:var(--navy); }
.contact-card .contact-action:focus-visible { outline:3px solid var(--sun); outline-offset:3px; }
.contact-links { flex-wrap:wrap; }
@media(max-width:760px){
  .contact-form input,.contact-form select,.contact-form textarea { font-size:16px; max-width:100%; }
  .contact-form .button { min-height:48px; }
}
.hero-next-event-logo img { display:block; width:100%; height:100px; object-fit:contain; }

/* About: full-width copy and three reliable, equally sized tournament cards. */
.prose .cth-about-overview > p { width:100%; max-width:none; }
.cth-about-programs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:32px; }
.cth-about-program { position:relative; display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:28px; }
.prose .cth-about-program h3 { margin:0 0 12px; font-size:23px; line-height:1.3; }
.cth-about-program h3 a { color:var(--ink); }
.cth-about-program h3 a::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.cth-about-program:focus-within { outline:3px solid var(--ocean); outline-offset:4px; }
.cth-about-program:hover { border-color:var(--ocean); }
.cth-about-program-label { color:var(--muted); font-size:14px; margin-bottom:26px; }
.cth-about-program-cta { margin-top:auto; color:var(--ocean); font-weight:800; font-size:14px; }
@media(max-width:760px) { .cth-about-programs { grid-template-columns:1fr; gap:16px; } .cth-about-program { padding:24px; } }

.page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 88px 0 76px;
  background: linear-gradient(120deg, #071424 5%, #0a4358 60%, #08757d);
}
.page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -90px;
  bottom: -280px;
  border: 46px solid rgba(255, 255, 255, .055);
  border-radius: 50%;
}
.page-hero h1 { max-width: 1050px; font-weight: 950; }
.page-hero p { max-width: 800px; margin: 20px 0 0; line-height: 1.65; }

.section-head h2,
.section-head h3 { text-wrap: balance; }
.card,
.sponsor-card,
.video-card,
.table-wrap,
.bracket-match {
  box-shadow: var(--shadow-soft);
}
.card,
.sponsor-card,
.video-card {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.card:hover,
.video-card:hover {
  transform: translateY(-3px);
  border-color: #bfdadd;
  box-shadow: var(--shadow);
}
.grid { gap: 26px; }
.grid > .card { height: 100%; }
.button { transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }

/* Scoreboard: equal logo, team, score, and result columns. */
[data-cth-live] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
[data-cth-live] .score-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  border-radius: 20px;
}
.score-card-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  min-height: 62px;
  padding: 14px 18px;
  background: linear-gradient(135deg, #edf4f6, #f8fbfc);
  border-bottom: 1px solid var(--line);
}
.score-card-time {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
}
.score-card-time.live { color: var(--coral); }
.score-card-venue {
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .035em;
  line-height: 1.35;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}
.game-filter-bar {
  margin: 0 0 28px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(7,20,36,.07);
}
.game-filter-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 20px;
}
.game-filter-heading h2 {
  margin: 3px 0 0;
  font-size: clamp(23px,3vw,32px);
  line-height: 1.1;
  letter-spacing: -.025em;
}
.game-filter-heading p {
  max-width: 470px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.game-filter-grid {
  display: grid;
  grid-template-columns: 1.35fr 1.15fr 1.05fr .9fr .8fr;
  gap: 12px;
}
.game-filter-grid label { min-width: 0; }
.game-filter-grid label > span {
  display: block;
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.game-filter-grid select {
  width: 100%;
  min-height: 48px;
  padding: 0 38px 0 13px;
  color: var(--ink);
  background-color: #f7fafb;
  border: 1px solid #cbd8de;
  border-radius: 11px;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  text-overflow: ellipsis;
}
.game-filter-grid select:focus {
  outline: 3px solid rgba(32,199,189,.2);
  border-color: var(--ocean);
}
.game-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 35px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.game-filter-summary strong { color: var(--navy); }
.game-filter-reset {
  padding: 5px 0;
  color: var(--ocean);
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}
.game-filter-reset:hover { color: #034f5c; }
.game-filter-empty {
  display: grid;
  gap: 3px;
  margin-top: 22px;
}
.game-filter-empty[hidden] { display: none; }
.score-card[hidden] { display: none!important; }
.game-detail-data { margin-top: 30px; }
.game-detail-status { display:grid; justify-items:center; gap:16px; min-width:0; max-width:280px; }
.game-detail-status .button-row { margin:0; justify-content:center; }
.game-detail-status .button { text-align:center; font-size:14px; min-height:48px; }
.cth-staff-bar { background:#061522; color:#dcecf0; border-bottom:1px solid #284554; font-size:12px; }
.cth-staff-bar-inner { display:flex; align-items:center; justify-content:space-between; gap:8px 20px; min-height:40px; flex-wrap:wrap; }
.cth-staff-bar nav { display:flex; flex-wrap:wrap; gap:4px 14px; }
.cth-staff-bar a { display:inline-flex; align-items:center; min-height:40px; color:#fff; text-decoration:underline; text-underline-offset:3px; }
.cth-staff-bar a:hover { color:var(--sun); }
.cth-staff-bar a:focus-visible { outline:2px solid var(--sun); outline-offset:2px; }
@media(max-width:640px) { .game-detail-status { grid-column:1/-1; grid-row:1; max-width:none; width:100%; } .cth-staff-bar-inner { padding-block:8px; gap:2px; } .cth-staff-bar nav { width:100%; justify-content:space-between; } .cth-staff-bar a { min-height:44px; } }
.play-feed .play-feed-empty { display: block; color: var(--muted); }
.prose-wide { max-width: none; }
.score-team {
  grid-template-columns: 54px minmax(0, 1fr) 44px;
  gap: 15px;
  min-height: 86px;
  padding: 15px 18px;
}
.score-team .team-badge-image,
.score-team .team-badge {
  width: 54px;
  height: 54px;
  flex-basis: 54px;
  object-fit: contain;
}
.score-team .team-badge { border-radius: 14px; }
.score-team strong { min-width: 0; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.score-team .score {
  width: 44px;
  font-size: 30px;
  line-height: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.score-card-link {
  display: flex;
  align-items: center;
  min-height: 58px;
  margin-top: auto;
  padding: 13px 18px;
  border-top: 1px solid rgba(255, 255, 255, .09);
}
.score-event {
  grid-template-columns: 54px minmax(0, 1fr);
  flex: 1;
}

/* Tables and structured information. */
.table-wrap { border-radius: 18px; }
table { font-variant-numeric: tabular-nums; }
th,
td { padding: 16px 18px; }
th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: #24374b;
  background: #eaf1f4;
  font-size: 11px;
  line-height: 1.35;
}
tbody tr { transition: background-color .15s ease; }
tbody tr:nth-child(even) { background: #fbfcfd; }
tbody tr:hover { background: #eef9f8; }
.team-info-table td { line-height: 1.55; }
.team-table-name { gap: 16px; }
.team-table-name .team-badge-image {
  width: 50px;
  height: 50px;
  flex-basis: 50px;
  padding: 3px;
}

/* Teams, sponsors, media, schedules, and forms. */
.team-grid { align-items: stretch; }
.team-grid .card { min-height: 118px; padding: 24px; }
.team-grid .team-badge-image,
.team-grid .team-badge { width: 68px; height: 68px; flex-basis: 68px; object-fit: contain; }
.team-grid .card > div:last-child { min-width: 0; }
.team-grid .card h3 { line-height: 1.25; overflow-wrap: anywhere; }
.team-card-copy { display: grid; gap: 6px; min-width: 0; }
.team-card-name { display: block; line-height: 1.3; overflow-wrap: anywhere; }
.team-card-meta { display: grid; gap: 2px; line-height: 1.4; }
.team-card-division,
.team-card-conference { display: block; }

/* Reusable school profiles and tournament appearances */
.volleyball-team-grid .card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:190px;text-align:center}
.volleyball-program{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ink);font-weight:900}
.volleyball-program .team-badge-image,.volleyball-program .team-badge{width:82px;height:82px;flex-basis:82px;object-fit:contain}
.volleyball-team-grid .card>span{color:var(--muted);font-size:14px}
.participant-school-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.participant-school-card{display:flex;flex-direction:column;gap:14px;min-height:210px}
.participant-school-link{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:14px;color:var(--ink);font-weight:900;line-height:1.3}
.participant-school-link .team-badge-image,.participant-school-link .team-badge{width:70px;height:70px;flex-basis:70px;object-fit:contain}
.participant-school-card .team-card-meta{padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.history-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.history-program{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);font-weight:800;background:var(--surface)}
.history-program .team-badge-image,.history-program .team-badge{width:44px;height:44px;flex-basis:44px;object-fit:contain}
.appearance-list{display:grid;gap:12px;margin:16px 0 30px}
.appearance-item{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.appearance-year{display:grid;place-items:center;min-height:54px;border-radius:12px;background:var(--navy);color:#fff;font-size:18px;font-weight:900}
.appearance-item div{display:grid;gap:3px}.appearance-item div span{color:var(--muted);font-size:14px}
.roster-seasons>h2:not(:first-child){margin-top:34px}
@media(max-width:1100px){.participant-school-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.participant-school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-program-grid{grid-template-columns:1fr}}
@media(max-width:520px){.participant-school-grid{grid-template-columns:1fr}.participant-school-card{min-height:0}}
.sponsor-card { border-radius: 20px; }
.sponsor-card img { filter: saturate(.94); transition: filter .2s ease, transform .2s ease; }
.sponsor-card:hover img { filter: saturate(1); transform: scale(1.025); }
.home-sponsor-showcase {
  position: relative;
  overflow: hidden;
  padding: 58px 0 66px;
  color: #fff;
  background: linear-gradient(115deg,#061526 0%,#083d55 55%,#08777c 100%);
}
.home-sponsor-showcase:after {
  content: "";
  position: absolute;
  width: 380px;
  height: 380px;
  right: -170px;
  bottom: -260px;
  border: 42px solid rgba(255,255,255,.055);
  border-radius: 50%;
  pointer-events: none;
}
.home-sponsor-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 28px;
}
.home-sponsor-heading h2 {
  max-width: 760px;
  margin: 5px 0 0;
  color: #fff;
  font-size: clamp(28px,4vw,44px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.home-sponsor-heading>a {
  flex: 0 0 auto;
  color: #fff;
  font-weight: 900;
}
.home-sponsor-heading>a:hover { color: var(--sun); }
.sponsor-marquee-viewport {
  overflow: hidden;
  padding: 5px 0 12px;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.sponsor-marquee-track {
  display: flex;
  width: max-content;
  animation: cth-sponsor-scroll 76s linear infinite;
  will-change: transform;
}
.sponsor-marquee:hover .sponsor-marquee-track,
.sponsor-marquee:focus-within .sponsor-marquee-track { animation-play-state: paused; }
.sponsor-marquee-set {
  display: flex;
  gap: 18px;
  padding-right: 18px;
}
.sponsor-marquee-item {
  display: grid;
  place-items: center;
  flex: 0 0 245px;
  width: 245px;
  height: 142px;
  padding: 20px;
  overflow: hidden;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.16);
  transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
a.sponsor-marquee-item:hover,
a.sponsor-marquee-item:focus-visible {
  color: var(--ink);
  border-color: var(--sun);
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
  transform: translateY(-3px);
}
.sponsor-marquee-logo {
  display: grid;
  place-items: center;
  width: 100%;
  height: 92px;
}
.sponsor-marquee-logo>img {
  width: 100%;
  height: 92px;
  object-fit: contain;
}
.sponsor-marquee-logo .sponsor-logo-viewport { height: 92px; }
.sponsor-marquee-logo .sponsor-wordmark { text-align: center; }
@keyframes cth-sponsor-scroll { to { transform: translateX(-50%); } }
@media(max-width:760px){
  .home-sponsor-showcase{padding:48px 0 54px}
  .home-sponsor-heading{display:block}
  .home-sponsor-heading>a{display:inline-block;margin-top:15px}
  .sponsor-marquee-item{flex-basis:210px;width:210px;height:126px;padding:16px}
  .sponsor-marquee-logo,.sponsor-marquee-logo>img{height:82px}
}
@media(prefers-reduced-motion:reduce){
  .sponsor-marquee-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .sponsor-marquee-track{animation:none}
  .sponsor-marquee-set[aria-hidden="true"]{display:none}
}
.sponsor-logo-viewport { width: 100%; height: 125px; display: grid; place-items: center; overflow: hidden; }
.sponsor-sprite { display: block; flex: 0 0 auto; background-repeat: no-repeat; background-size: 800px 567px; transform-origin: center; }
.sponsor-sprite-maui-brewing { width: 205px; height: 82px; background-position: -20px -18px; transform: scale(.95); }
.sponsor-sprite-kualoa-ranch { width: 260px; height: 84px; background-position: -230px -18px; transform: scale(.82); }
.sponsor-sprite-big-city-diner { width: 155px; height: 118px; background-position: -500px -4px; transform: scale(.9); }
.sponsor-sprite-talking-rain { width: 120px; height: 120px; background-position: -665px -2px; transform: scale(.9); }
.sponsor-sprite-monster-energy { width: 265px; height: 100px; background-position: -15px -110px; transform: scale(.8); }
.sponsor-sprite-side-street-inn { width: 140px; height: 85px; background-position: -285px -115px; transform: scale(1.08); }
.sponsor-sprite-surfside { width: 170px; height: 84px; background-position: -430px -124px; transform: scale(1.05); }
.sponsor-sprite-pono-security { width: 185px; height: 60px; background-position: -600px -140px; transform: scale(1.05); }
.sponsor-sprite-giovanni-pastrami { width: 215px; height: 85px; background-position: -15px -205px; transform: scale(.95); }
.sponsor-sprite-pizza-mamo { width: 165px; height: 90px; background-position: -235px -205px; }
.sponsor-sprite-odom-corporation { width: 240px; height: 52px; background-position: -390px -235px; transform: scale(.9); }
.sponsor-sprite-vita-coco { width: 155px; height: 105px; background-position: -630px -205px; transform: scale(.95); }
.video-card { border-radius: 20px; }
.video-card-body { min-height: 112px; }
.video-card-body h3 { line-height: 1.3; }
.schedule-event,
.team-table-section,
.video-year,
.media-year { scroll-margin-top: 110px; }
.game-livestream { display:grid; grid-template-columns:160px minmax(0,1fr) minmax(220px,280px); align-items:center; gap:28px; margin:30px 0 0; padding:28px; border-top:4px solid var(--sun); }
.game-livestream > img { width:160px; height:130px; object-fit:contain; }
.game-livestream-copy { min-width:0; }
.game-livestream-copy h2 { margin:8px 0 10px; font-size:clamp(23px,3vw,30px); line-height:1.2; }
.game-livestream-copy p { margin:0; color:var(--muted); }
.game-livestream-action { display:grid; gap:10px; min-width:0; }
.game-livestream-action .button { min-height:50px; text-align:center; }
.game-livestream-action small { color:var(--muted); font-size:12px; line-height:1.5; }
.game-livestream-action .button:focus-visible { outline:3px solid var(--ocean); outline-offset:4px; }
@media(max-width:1000px) { .game-livestream { grid-template-columns:120px minmax(0,1fr); gap:20px; } .game-livestream > img { width:120px; height:110px; } .game-livestream-action { grid-column:2; } }
@media(max-width:560px) { .game-livestream { grid-template-columns:minmax(0,1fr); padding:22px; gap:16px; } .game-livestream > img { width:100px; height:90px; } .game-livestream-action { grid-column:auto; } }
.contact-layout { gap: 38px; }
.contact-form input,
.contact-form select,
.contact-form textarea { transition: border-color .18s ease, box-shadow .18s ease; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { box-shadow: 0 0 0 4px rgba(32, 199, 189, .14); }
.site-footer { padding-top: 72px; }
.footer-grid { gap: 52px; }

@media (max-width: 1180px) {
  [data-cth-live] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .container { width: min(calc(100% - 44px), var(--content)); }
}

@media (max-width: 760px) {
  .content-shell { padding: 58px 0 76px; }
  .page-hero { padding: 62px 0 54px; }
  .page-hero p { font-size: 16px; }
  .prose h2 { margin-top: 42px; }
  .grid { gap: 18px; }
  [data-cth-live] { gap: 18px; }
  .score-team { min-height: 80px; }
  .table-wrap { margin-inline: -10px; border-radius: 14px; }
  th, td { padding: 14px; }
  .team-grid .card { min-height: 108px; }
  .footer-grid { gap: 30px; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 28px), var(--content)); }
  [data-cth-live] { grid-template-columns: 1fr; }
  .game-filter-bar { padding: 20px 16px; }
  .game-filter-heading { display: block; }
  .game-filter-heading p { margin-top: 8px; }
  .game-filter-grid { grid-template-columns: 1fr; }
  .game-filter-summary { align-items: flex-start; }
  .score-card-head { min-height: 58px; }
  .score-team { grid-template-columns: 52px minmax(0, 1fr) 40px; padding-inline: 16px; }
  .score-team .team-badge-image,
  .score-team .team-badge { width: 52px; height: 52px; flex-basis: 52px; }
  .score-team .score { width: 40px; font-size: 29px; }
  .content-shell > .prose > p,
  .content-shell > .prose > ul,
  .content-shell > .prose > ol { max-width: none; }
  .history-document table { table-layout: fixed; }
  .history-document td { min-width: 0; padding: 12px 10px; overflow-wrap: anywhere; }
}

/* 2026 multi-event architecture */
.brand-logo{width:58px;height:58px;object-fit:contain;flex:0 0 58px;background:#fff;border-radius:50%;padding:3px}.header-row{min-height:86px}.site-nav>ul>li{position:relative}.site-nav .menu-item-has-children>a:after{content:"⌄";margin-left:6px;color:var(--aqua)}.site-nav .sub-menu{position:absolute;display:none;top:100%;left:0;width:250px;padding:10px;background:#071424;border:1px solid rgba(255,255,255,.13);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.28)}.site-nav .sub-menu li{width:100%}.site-nav .sub-menu a{padding:11px 13px}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}.hero-cth-logo{width:min(230px,50vw);max-height:190px;object-fit:contain;object-position:left center;margin:20px 0 12px;filter:drop-shadow(0 14px 30px rgba(0,0,0,.2))}.cth-hero .hero-inner{grid-template-columns:1.15fr .85fr}.cth-hero h1{margin-top:5px}.event-selector{scroll-margin-top:100px}.event-card-grid{align-items:stretch}.event-card{position:relative;display:flex;flex-direction:column;min-height:475px;padding:28px;color:var(--ink);overflow:hidden}.event-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--aqua)}.event-card-tipoff:before{background:linear-gradient(90deg,#ff7a32,#e83188)}.event-card-hoops:before{background:#0b4873}.event-card-volleyball:before{background:linear-gradient(90deg,#ff7434,#178bcc)}.event-card:hover{color:var(--ocean)}.event-season{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.event-logo-wrap{height:205px;display:grid;place-items:center;margin:10px 0}.event-logo-wrap img{max-width:94%;max-height:190px;object-fit:contain}.event-card h3{font-size:24px;margin-top:auto}.event-card p{color:var(--muted);margin-top:0}.event-card>strong{margin-top:14px}.feature-split{display:grid;grid-template-columns:minmax(280px,500px) 1fr;align-items:center;gap:70px}.feature-poster{width:100%;border-radius:24px;box-shadow:0 24px 65px rgba(0,0,0,.3)}.feature-split h3{font-size:clamp(32px,5vw,62px);line-height:1.02;margin:14px 0}.feature-split p{font-size:19px;color:#c9d9e0;max-width:620px}.event-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 38px;padding:12px;background:#eef6f7;border:1px solid var(--line);border-radius:16px}.event-subnav a{padding:9px 13px;border-radius:10px;background:#fff;font-size:14px;font-weight:850}.event-brand-lockup{margin:0 auto 55px;text-align:center}.event-brand-lockup img{width:min(100%,520px);max-height:290px;object-fit:contain}.event-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,510px);align-items:start;gap:55px}.event-intro-grid h2{font-size:clamp(36px,5vw,58px);margin-top:8px}.event-poster{margin:0}.event-poster img,.event-wide-graphic img{display:block;width:100%;border-radius:22px;box-shadow:var(--shadow)}.event-wide-graphic{max-width:1050px;margin:30px auto}.event-facts{display:grid;gap:0;list-style:none;padding:0;border-block:1px solid var(--line)}.event-facts li{display:grid;grid-template-columns:125px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.event-facts li:last-child{border:0}.event-facts span{color:var(--muted)}.event-video{max-width:1000px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.livestream-card{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:30px;max-width:800px}.livestream-logo{margin:0}.livestream-logo img{width:190px;max-height:150px;object-fit:contain}.volleyball-team-grid .card{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:6px 18px}.volleyball-team-grid img{grid-row:1/3;width:82px;height:82px;object-fit:contain}.volleyball-team-grid span{color:var(--muted);font-size:14px}.history-timeline{display:grid;gap:24px}.history-timeline .card h2{margin-top:0}.sponsor-hero-graphic{max-width:780px;margin:0 auto 45px}.sponsor-hero-graphic img,.mahalo-graphic img{display:block;width:100%;border-radius:22px}.sponsor-intro{max-width:900px;margin:0 auto 55px;text-align:center}.sponsor-intro h2{font-size:clamp(32px,5vw,52px)}.mahalo-graphic{max-width:1000px;margin:0 auto 26px}.sponsor-thanks{text-align:center;max-width:800px!important;margin:0 auto 60px!important;font-size:21px!important;font-weight:800}.page-hero-volleyball{background:linear-gradient(120deg,#071424 5%,#074e70 62%,#ef6c38)}

@media(max-width:1100px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;inset:86px 0 auto;background:var(--ink);padding:12px 22px 24px;max-height:calc(100vh - 86px);overflow:auto}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav .sub-menu{position:static;display:none;width:auto;margin:3px 0 8px 16px;padding:4px 8px;border-radius:10px;box-shadow:none}.site-nav .submenu-open>.sub-menu{display:block}.site-nav li:hover>.sub-menu:not(.submenu-open>.sub-menu){display:none}.site-nav .submenu-open>.sub-menu{display:block!important}.event-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-card-grid .event-card:last-child{grid-column:1/-1}.event-intro-grid{grid-template-columns:1fr minmax(300px,430px)}}
@media(max-width:760px){.brand-logo{width:48px;height:48px;flex-basis:48px}.header-row{min-height:76px}.site-nav{inset-block-start:76px}.cth-hero .hero-inner{grid-template-columns:1fr}.event-card-grid{grid-template-columns:1fr}.event-card-grid .event-card:last-child{grid-column:auto}.event-card{min-height:390px}.event-logo-wrap{height:150px}.event-logo-wrap img{max-height:145px}.feature-split,.event-intro-grid{grid-template-columns:1fr;gap:35px}.feature-poster{max-width:520px}.event-brand-lockup{margin-bottom:35px}.livestream-card{grid-template-columns:1fr}.volleyball-team-grid .card{grid-template-columns:68px 1fr}.volleyball-team-grid img{width:68px;height:68px}.event-facts li{grid-template-columns:1fr;gap:3px}.sponsor-intro{text-align:left}}
@media(max-width:460px){.brand span{display:none}.header-row{min-height:70px}.site-nav{inset-block-start:70px}.hero-cth-logo{width:185px}.event-card{padding:22px}.event-subnav{overflow:auto;flex-wrap:nowrap}.event-subnav a{white-space:nowrap}.volleyball-team-grid .card{grid-template-columns:56px 1fr}.volleyball-team-grid img{width:56px;height:56px}}

/* Licensed stock imagery supplied by the client. */
.page-hero-photo{min-height:420px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(3,16,31,.96) 0%,rgba(3,16,31,.82) 48%,rgba(3,16,31,.24) 100%),var(--page-hero-image);background-size:cover;background-position:center}.page-hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 65%,rgba(3,16,31,.32))}.page-hero-photo .container{position:relative;z-index:1}.page-hero-photo h1{max-width:850px}.page-hero-volleyball.page-hero-photo{background-image:linear-gradient(90deg,rgba(3,16,31,.95) 0%,rgba(7,78,112,.82) 48%,rgba(239,108,56,.12) 100%),var(--page-hero-image)}
.sport-stories{padding:0 0 90px;background:#fff}.sport-stories-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sport-story{position:relative;min-height:390px;overflow:hidden;border-radius:24px;color:#fff;box-shadow:var(--shadow)}.sport-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.sport-story::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(3,16,31,.88) 100%)}.sport-story span{position:absolute;z-index:1;inset:auto 30px 28px;display:grid;gap:3px}.sport-story small{color:var(--sun);font-weight:900;letter-spacing:.11em;text-transform:uppercase}.sport-story strong{font-size:clamp(28px,4vw,48px);line-height:1.05}.sport-story em{font-style:normal;font-weight:850;color:#fff}.sport-story:hover{color:#fff}.sport-story:hover img{transform:scale(1.035)}.sport-story-volleyball img{object-position:45% center}.sport-story-basketball img{object-position:center center}
@media(max-width:760px){.sport-stories{padding-bottom:60px}.sport-stories-grid{grid-template-columns:1fr}.sport-story{min-height:300px}.page-hero-photo{min-height:350px;background-position:58% center}.page-hero-volleyball.page-hero-photo{background-position:40% center}}

/* Paradise Volleyball Classic - web-first event presentation */
.volleyball-event-overview{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:48px;align-items:center;padding:12px 0 35px}
.volleyball-event-copy h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.045em;margin:10px 0 18px;max-width:760px}
.event-lead{max-width:760px!important;font-size:20px!important;color:#405466}
.event-at-a-glance{padding:30px;border-top:7px solid #ef6c38;box-shadow:var(--shadow)}
.event-at-a-glance dl{margin:14px 0 0}.event-at-a-glance dl>div{display:grid;grid-template-columns:95px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.event-at-a-glance dl>div:last-child{border:0}.event-at-a-glance dt{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.event-at-a-glance dd{margin:0;font-weight:800;line-height:1.45}
.event-page-section{padding:75px 0;border-top:1px solid var(--line);scroll-margin-top:110px}.event-page-section>.section-head h2{font-size:clamp(36px,4vw,52px);margin-bottom:0}
.event-page-section .volleyball-team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.event-page-section .volleyball-team-grid .card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:215px;padding:25px;text-align:center}.event-page-section .volleyball-program{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink)}.event-page-section .volleyball-program .team-badge-image{grid-row:auto;width:88px;height:88px;flex-basis:88px}.event-page-section .volleyball-program span{color:var(--ink);font-size:16px;font-weight:900;line-height:1.35}
.volleyball-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.schedule-day{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(7,20,36,.06)}.schedule-day>header{position:relative;padding:26px 28px;color:#fff;background:linear-gradient(120deg,var(--navy),#075f74)}.schedule-day>header:after{content:"";position:absolute;width:150px;height:150px;right:-45px;top:-65px;border:22px solid rgba(255,255,255,.08);border-radius:50%}.schedule-day>header .kicker{color:var(--sun)}.schedule-day>header h3{margin:4px 0 2px;font-size:27px}.schedule-day>header>span:last-child{font-size:13px;color:#c9e1e6}.schedule-match-list{display:grid}.volleyball-match{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;padding:21px 24px;border-bottom:1px solid var(--line)}.volleyball-match:last-child{border:0}.volleyball-match time{padding-top:8px;color:var(--ocean);font-size:16px;font-weight:950;white-space:nowrap}.volleyball-matchup{display:grid;gap:7px}.volleyball-match-team{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;color:var(--ink);font-size:14px;font-weight:850;line-height:1.3}.volleyball-match-team:first-child:after{content:"vs";grid-column:2;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.volleyball-match-team .team-badge-image,.volleyball-match-team .team-badge{width:38px;height:38px;flex-basis:38px;object-fit:contain}.volleyball-match-team .team-badge{font-size:9px}
.event-visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event-visit-card{padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 6px 24px rgba(7,20,36,.05)}.event-visit-card h2{margin:6px 0 18px}.event-visit-card address{font-style:normal;font-size:19px;font-weight:850;line-height:1.55}.event-tickets-card{background:linear-gradient(145deg,#fff9e9,#fff)}.ticket-price-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.ticket-price-row>div{display:grid;gap:4px;padding:18px 12px;border:1px solid #efdca8;border-radius:14px;background:#fff}.ticket-price-row strong{font-size:27px;color:var(--navy)}.ticket-price-row span{font-size:12px;color:var(--muted);font-weight:800}.livestream-feature{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;align-items:center;background:linear-gradient(120deg,#071424,#0b5363);color:#fff}.livestream-feature img{width:190px;max-height:130px;padding:14px;object-fit:contain;border-radius:18px;background:#fff}.livestream-feature p{color:#c8dde2}
.event-sponsor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.event-sponsor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:155px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 4px 14px rgba(7,20,36,.04)}.event-sponsor:hover{color:var(--ocean);border-color:var(--aqua);transform:translateY(-2px)}.event-sponsor img{width:100%;height:78px;object-fit:contain}.event-sponsor>span{font-size:12px;font-weight:850;line-height:1.3}
.event-connect-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.event-connect-grid>div{padding:34px;border-radius:22px;background:#edf7f7}.event-connect-grid>div:first-child{background:linear-gradient(145deg,#071424,#0a5f70);color:#fff}.event-connect-grid>div:first-child p{color:#c8dde2}.event-connect-grid>div:first-child .social-link{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.official-downloads{padding-bottom:15px}.download-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}.download-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:22px;align-items:start;min-height:250px;padding:30px;overflow:hidden}.download-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--coral),var(--sun))}.download-card>p:empty{display:none}.download-card-body{grid-column:2;min-width:0;display:flex;flex-direction:column;align-items:flex-start;height:100%}.download-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(145deg,#ffebe8,#fff4e2);border:1px solid #ffd8d2;color:#a9362c;font-size:12px;font-weight:950;letter-spacing:.1em;box-shadow:0 8px 18px rgba(169,54,44,.08)}.download-type{margin-bottom:5px;color:var(--ocean);font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.download-card h3{margin:0 0 8px;font-size:25px;line-height:1.2}.download-card p{max-width:48ch;margin:0;color:var(--muted);line-height:1.65}.download-card .button-row{align-items:center;margin-top:auto;padding-top:24px}.download-card .button{min-height:44px;padding-inline:16px}.text-link{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 8px;font-weight:900}.text-link:hover{color:var(--navy)}
@media(max-width:1100px){.volleyball-event-overview{grid-template-columns:1fr}.event-page-section .volleyball-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.volleyball-schedule,.event-visit-grid,.event-connect-grid,.download-card-grid{grid-template-columns:1fr}.livestream-feature{grid-column:auto}.event-page-section .volleyball-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.event-page-section{padding:55px 0}.volleyball-event-copy h2{font-size:40px}.event-lead{font-size:18px!important}.event-at-a-glance{padding:22px}.event-at-a-glance dl>div{grid-template-columns:1fr;gap:3px}.event-page-section .volleyball-team-grid{grid-template-columns:1fr}.volleyball-match{grid-template-columns:1fr;gap:8px;padding:18px}.volleyball-match time{padding:0}.ticket-price-row{grid-template-columns:1fr}.livestream-feature{grid-template-columns:1fr}.event-sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.download-card{grid-template-columns:56px minmax(0,1fr);gap:16px;min-height:0;padding:23px}.download-icon{width:52px;height:52px;border-radius:13px}.download-card-body{grid-column:2}.download-card .button-row{gap:8px;padding-top:20px}.download-card .button{width:100%}.event-connect-grid>div,.event-visit-card{padding:25px}}

/* Hawaiʻi destination storytelling */
.cth-hero-hawaii{background-image:linear-gradient(90deg,rgba(3,16,31,.97) 0%,rgba(3,25,42,.72) 48%,rgba(3,25,42,.12) 100%),var(--hero-hawaii-image);background-size:cover;background-position:center}.cth-hero-hawaii:before{background:linear-gradient(180deg,rgba(3,16,31,.04),rgba(3,16,31,.26))}.cth-hero-hawaii .cth-hero-card{background:rgba(3,16,31,.62);border-color:rgba(255,255,255,.28);box-shadow:0 28px 80px rgba(0,0,0,.4)}.hero-cth-logo-round{width:108px;height:108px;max-height:none;margin:20px 0 12px;border:4px solid rgba(255,255,255,.75);border-radius:50%;background:#fff;filter:drop-shadow(0 12px 28px rgba(0,0,0,.28))}
.hawaii-story-section{background:#fff}.hawaii-story-grid{display:grid;grid-template-columns:1.35fr .825fr .825fr;gap:20px}.hawaii-story{position:relative;min-height:410px;overflow:hidden;border-radius:24px;background:var(--navy);color:#fff;box-shadow:var(--shadow)}.hawaii-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.hawaii-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,16,31,.04) 25%,rgba(3,16,31,.9) 100%)}.hawaii-story>div{position:absolute;z-index:1;inset:auto 26px 26px}.hawaii-story .eyebrow{color:var(--sun)}.hawaii-story h3{font-size:clamp(24px,3vw,38px);line-height:1.07;margin:8px 0}.hawaii-story p{max-width:55ch;margin:8px 0 0;color:#dbe8ed}.hawaii-story:hover img{transform:scale(1.035)}.hawaii-story:nth-child(2) img{object-position:62% center}.hawaii-story:nth-child(3) img{object-position:center 62%}
.feature-photo{position:relative;margin:0;overflow:hidden;border-radius:24px;box-shadow:0 24px 65px rgba(0,0,0,.3)}.feature-photo img{display:block;width:100%;min-height:420px;object-fit:cover}.feature-photo figcaption{position:absolute;right:15px;bottom:14px;padding:7px 11px;border-radius:99px;background:rgba(3,16,31,.78);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(8px)}
.hawaii-invitation{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:center;margin:70px 0;overflow:hidden;border-radius:26px;color:#fff;background-image:linear-gradient(90deg,rgba(3,16,31,.94) 0%,rgba(3,16,31,.74) 54%,rgba(3,16,31,.12) 100%),var(--hawaii-invitation-image);background-size:cover;background-position:center;box-shadow:var(--shadow)}.hawaii-invitation:after{content:"";position:absolute;z-index:-1;right:-100px;bottom:-210px;width:430px;height:430px;border:45px solid rgba(255,255,255,.1);border-radius:50%}.hawaii-invitation-copy{max-width:680px;padding:54px}.hawaii-invitation h2{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 16px}.hawaii-invitation p{max-width:58ch!important;color:#dce9ed;font-size:18px!important}.hawaii-invitation .eyebrow{color:var(--sun)}
.hawaii-travel-gallery{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:18px;margin:55px 0}.hawaii-travel-gallery figure{position:relative;min-height:360px;margin:0;overflow:hidden;border-radius:22px;box-shadow:var(--shadow)}.hawaii-travel-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hawaii-travel-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,16,31,.88))}.hawaii-travel-gallery figcaption{position:absolute;z-index:1;inset:auto 22px 22px;display:grid;color:#fff}.hawaii-travel-gallery figcaption span{color:var(--sun);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hawaii-travel-gallery figcaption strong{font-size:22px}.page-hero-island{min-height:460px;background-position:center}.page-hero-island h1{max-width:900px}
@media(max-width:1040px){.hawaii-story-grid,.hawaii-travel-gallery{grid-template-columns:1fr 1fr}.hawaii-story-wide,.hawaii-travel-gallery figure:first-child{grid-column:1/-1;min-height:440px}}
@media(max-width:760px){.cth-hero-hawaii{background-position:62% center}.hawaii-story-grid,.hawaii-travel-gallery{grid-template-columns:1fr}.hawaii-story-wide,.hawaii-travel-gallery figure:first-child{grid-column:auto}.hawaii-story,.hawaii-travel-gallery figure{min-height:330px}.hawaii-invitation{min-height:460px;margin:55px 0;background-position:62% center}.hawaii-invitation-copy{padding:32px}.hawaii-invitation h2{font-size:40px}.feature-photo img{min-height:330px}.page-hero-island{min-height:380px}}

/* Linked school profiles in schedule matchups */
.schedule-table td{vertical-align:middle}.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){min-width:330px}.schedule-matchup{display:grid;gap:2px}.schedule-team{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;min-height:52px;margin:0 -8px;padding:5px 8px;border-radius:12px;color:var(--ink);line-height:1.28}.schedule-team:hover{background:#edf7f7;color:var(--ocean)}.schedule-team:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}.schedule-team .team-badge-image,.schedule-team .team-badge{width:44px;height:44px;flex-basis:44px;object-fit:contain}.schedule-team .team-badge{font-size:9px}.schedule-team-tbd{color:var(--muted)}.schedule-team-tbd:hover{background:transparent;color:var(--muted)}.schedule-versus{margin:-2px 0 -2px 56px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.schedule-special-event{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;min-height:52px;line-height:1.28}.schedule-special-event .team-badge{width:44px;height:44px;flex-basis:44px}
@media(max-width:640px){.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){min-width:285px}.schedule-team{grid-template-columns:40px minmax(0,1fr)}.schedule-team .team-badge-image,.schedule-team .team-badge,.schedule-special-event .team-badge{width:40px;height:40px;flex-basis:40px}.schedule-versus{margin-left:52px}}

/* Sponsor hierarchy: prominence follows partnership tier. */
.sponsor-tier{margin:78px 0 0;text-align:center}.sponsor-tier:first-child{margin-top:38px}.sponsor-tier-head{display:grid;justify-items:center;margin-bottom:28px}.sponsor-tier-head h2{margin:7px 0 0;font-size:clamp(30px,4vw,45px);line-height:1.1;text-wrap:balance}.sponsor-tier .sponsor-grid{justify-content:center;grid-template-columns:repeat(3,minmax(0,400px));gap:20px}.sponsor-tier .sponsor-card{width:100%;min-width:0}.sponsor-tier-luna{padding:22px 0 35px}.sponsor-tier-luna .sponsor-grid{grid-template-columns:minmax(0,720px)}.sponsor-tier-luna .sponsor-card{min-height:325px;padding:42px;border-color:#c7dfe3;box-shadow:0 24px 64px rgba(7,20,36,.13)}.sponsor-tier-luna .sponsor-card img{height:195px;max-width:86%}.sponsor-tier-luna .sponsor-name{font-size:17px}.sponsor-tier-holoholo .sponsor-grid{grid-template-columns:minmax(0,590px)}.sponsor-tier-holoholo .sponsor-card{min-height:275px;padding:34px}.sponsor-tier-holoholo .sponsor-card img{height:160px;max-width:88%}.sponsor-tier-kula .sponsor-grid{grid-template-columns:repeat(2,minmax(0,470px))}.sponsor-tier-kula .sponsor-card{min-height:255px;padding:30px}.sponsor-tier-kula .sponsor-card img{height:150px;max-width:88%}.sponsor-tier-kulia .sponsor-card,.sponsor-tier-lokahi .sponsor-card{min-height:220px}.sponsor-tier-kokua .sponsor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sponsor-tier-kokua .sponsor-card{min-height:178px;padding:18px;gap:12px}.sponsor-tier-kokua .sponsor-card img{height:92px}.sponsor-tier-kokua .sponsor-name{font-size:13px;line-height:1.35}.sponsor-tier-kokua .sponsor-links{font-size:12px}
@media(max-width:1100px){.sponsor-tier .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sponsor-tier-luna .sponsor-grid{grid-template-columns:minmax(0,680px)}.sponsor-tier-holoholo .sponsor-grid{grid-template-columns:minmax(0,560px)}.sponsor-tier-kula .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-tier-kokua .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.sponsor-tier{margin-top:62px}.sponsor-tier .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-tier-luna .sponsor-grid,.sponsor-tier-holoholo .sponsor-grid{grid-template-columns:minmax(0,1fr)}.sponsor-tier-luna .sponsor-card{min-height:270px;padding:30px}.sponsor-tier-luna .sponsor-card img{height:165px}.sponsor-tier-holoholo .sponsor-card{min-height:235px}.sponsor-tier-kula .sponsor-card{min-height:220px}.sponsor-tier-kula .sponsor-card img{height:125px}.sponsor-tier-kokua .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sponsor-tier-head h2{font-size:30px}.sponsor-tier-kula .sponsor-grid,.sponsor-tier-kulia .sponsor-grid,.sponsor-tier-lokahi .sponsor-grid{grid-template-columns:1fr}.sponsor-tier-kokua .sponsor-card{min-height:155px;padding:14px}.sponsor-tier-kokua .sponsor-card img{height:76px}}

/* Tap-to-call actions on the schedule. */
.schedule-contacts .card{display:flex;flex-direction:column;align-items:flex-start;min-height:205px;padding:28px}.schedule-contacts .card h3{margin:12px 0 20px}.schedule-contacts .card p{margin:auto 0 0}.phone-button{min-height:48px;background:var(--ocean);color:#fff;box-shadow:0 8px 20px rgba(0,107,124,.18)}.phone-button:hover{background:var(--navy);color:#fff}.phone-button span{font-size:18px;line-height:1}
@media(max-width:480px){.phone-button{width:100%;padding-inline:14px}.schedule-contacts .card{min-height:190px;padding:22px}}

/* Full-width travel introduction copy. */
.content-shell>.prose>.travel-intro-copy{width:100%;max-width:none}

/* Sports Travel Hawaii contact panel. */
.travel-contact-card{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);min-height:300px;margin:28px 0 58px;padding:0;overflow:hidden}.travel-contact-card p:empty{display:none}.travel-contact-brand{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:38px;background:linear-gradient(145deg,var(--navy),#075b70);color:#fff;overflow:hidden}.travel-contact-brand:after{content:"";position:absolute;right:-70px;bottom:-95px;width:210px;height:210px;border:28px solid rgba(255,255,255,.08);border-radius:50%}.travel-contact-brand .kicker{color:var(--sun)}.travel-contact-brand img{width:210px;max-height:105px;margin:22px 0;padding:12px 15px;border-radius:14px;background:#fff;object-fit:contain}.travel-contact-brand h3{position:relative;z-index:1;max-width:390px;margin:0;font-size:25px;line-height:1.25}.travel-contact-body{display:flex;flex-direction:column;align-items:flex-start;padding:36px 40px}.travel-contact-body>p:last-child{margin:auto 0 0}.travel-contact-heading h3{margin:5px 0 5px;font-size:29px}.travel-contact-heading p{max-width:680px;margin:0;color:var(--muted)}.travel-contact-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.65fr);gap:12px;width:100%;margin:25px 0}.travel-contact-detail{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfc;color:var(--ink)}a.travel-contact-detail:hover{border-color:var(--aqua);background:#effaf9;color:var(--ocean)}.travel-detail-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#dff4f2;color:var(--ocean);font-size:18px}.travel-contact-detail span:last-child,.travel-contact-detail address{display:grid;min-width:0;font-style:normal;line-height:1.35}.travel-contact-detail small{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.travel-contact-detail strong{overflow-wrap:anywhere;font-size:14px}.travel-contact-address{grid-column:1/-1}.travel-website-button{margin-top:auto}
@media(max-width:900px){.travel-contact-card{grid-template-columns:1fr}.travel-contact-brand{min-height:260px}.travel-contact-body{padding:32px}}
@media(max-width:600px){.travel-contact-card{margin-top:22px}.travel-contact-brand{min-height:235px;padding:27px}.travel-contact-brand img{width:185px;margin:18px 0}.travel-contact-brand h3{font-size:22px}.travel-contact-body{padding:25px}.travel-contact-details{grid-template-columns:1fr}.travel-contact-address{grid-column:auto}.travel-website-button{width:100%;padding-inline:14px;text-align:center}}

/* Professional team identity links and team hubs. */
.score-team-link{color:var(--ink);transition:background-color .18s ease,color .18s ease}.score-team-link:hover{background:#eef9f8;color:var(--ocean)}.score-team-link:focus-visible{position:relative;z-index:2;outline:3px solid var(--aqua);outline-offset:-3px}.bracket-team-link{color:var(--ink)}.bracket-team-link>span{display:flex;align-items:center;gap:9px;min-width:0}.bracket-team-link .team-badge-image,.bracket-team-link .team-badge{width:30px;height:30px;flex-basis:30px;border-radius:8px;object-fit:contain}.bracket-team-link:hover{background:#eef9f8;color:var(--ocean)}.game-detail-team-link{display:block;color:var(--ink);border-radius:16px;padding:12px;transition:background-color .18s ease,color .18s ease}.game-detail-team-link:hover{background:#eef9f8;color:var(--ocean)}.player-profile-link{color:var(--ink)}.player-profile-link:hover{color:var(--ocean);text-decoration:underline;text-underline-offset:3px}
.team-hub-hero{padding:62px 0}.team-hub-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:50px}.team-hub-identity{display:flex;align-items:center;gap:28px;min-width:0}.team-hub-identity .team-profile-logo{width:142px;height:142px;flex-basis:142px;padding:16px;border:1px solid rgba(255,255,255,.25);box-shadow:0 18px 45px rgba(0,0,0,.25)}.team-hub-identity .team-profile-logo .team-badge-image,.team-hub-identity .team-profile-logo .team-badge{width:108px;height:108px}.team-hub-identity h1{margin:9px 0 14px;font-size:clamp(38px,5vw,66px);line-height:1;letter-spacing:-.045em}.team-hub-identity .info-bar{margin:0}.team-hub-identity .pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}.team-hub-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(115px,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(3,16,31,.24);backdrop-filter:blur(8px)}.team-hub-hero-stats>div{display:grid;gap:3px;place-items:center;min-height:118px;padding:18px;border-left:1px solid rgba(255,255,255,.16);text-align:center}.team-hub-hero-stats>div:first-child{border-left:0}.team-hub-hero-stats strong{font-size:30px;line-height:1;color:#fff}.team-hub-hero-stats span{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#bfd3da}.team-hub-nav{position:sticky;top:86px;z-index:80;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 6px 20px rgba(7,20,36,.06);backdrop-filter:blur(10px)}.team-hub-nav .container{display:flex;gap:5px;overflow:auto}.team-hub-nav a{padding:15px 16px;color:var(--ink);font-size:13px;font-weight:900;white-space:nowrap}.team-hub-nav a:hover{background:#eef8f7;color:var(--ocean)}.team-hub{padding-top:54px}.team-hub-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:24px;align-items:stretch}.team-overview-card,.team-next-card{padding:32px}.team-overview-card h2{margin:7px 0 15px;font-size:clamp(30px,4vw,43px)}.team-overview-copy{max-width:75ch;color:#314559}.team-overview-card .button{margin-top:18px}.team-next-card{display:flex;flex-direction:column;background:linear-gradient(145deg,#071424,#0b5363);color:#fff}.team-next-card .kicker{color:var(--sun)}.team-next-date{margin:10px 0 22px;font-size:24px}.team-next-opponent{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:15px}.team-next-opponent .team-badge-image,.team-next-opponent .team-badge{width:70px;height:70px;flex-basis:70px;object-fit:contain}.team-next-opponent .team-badge-image{padding:7px;border-radius:14px;background:#fff}.team-next-opponent span{display:grid;line-height:1.3}.team-next-opponent small{color:#bad1d8;font-weight:900;text-transform:uppercase}.team-next-opponent strong{font-size:18px}.team-next-card p{color:#c7d9df}.team-next-link{margin-top:auto;color:#fff;font-weight:900}.team-next-link:hover{color:var(--sun)}.team-next-card .empty-state{margin-top:18px;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#d7e6ea}.team-hub-section{padding:76px 0 12px;scroll-margin-top:145px}.team-hub-section+.team-hub-section{border-top:1px solid var(--line)}.team-hub-section .section-head{align-items:end;margin-bottom:22px}.team-hub-section .section-head h2{margin:5px 0 0;font-size:clamp(34px,4vw,50px)}.team-game-list{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.team-hub-game{display:grid;grid-template-columns:145px minmax(280px,1fr) minmax(180px,.7fr) 130px;align-items:center;gap:22px;min-height:106px;padding:17px 20px;border-bottom:1px solid var(--line)}.team-hub-game:last-child{border-bottom:0}.team-hub-game:hover{background:#fbfdfd}.team-game-date,.team-game-context{display:grid;gap:2px;line-height:1.35}.team-game-date strong{font-size:15px}.team-game-date span,.team-game-context span{color:var(--muted);font-size:13px}.team-game-opponent{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:14px;min-width:0;color:var(--ink)}.team-game-opponent:hover{color:var(--ocean)}.team-game-opponent .team-badge-image,.team-game-opponent .team-badge{width:54px;height:54px;flex-basis:54px;object-fit:contain}.team-game-opponent>span{display:grid;min-width:0;line-height:1.3}.team-game-opponent small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.team-game-opponent strong{overflow-wrap:anywhere;font-size:15px}.team-game-result{margin-top:4px;font-size:14px}.team-game-result.live{color:var(--coral)}.team-game-result.win{color:#08775c}.team-game-result.loss{color:#a83d32}.team-game-center{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 12px;border:1px solid var(--ocean);border-radius:11px;font-size:12px;font-weight:900;text-align:center}.team-game-center:hover{background:var(--ocean);color:#fff}.team-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.team-history-grid>.card{padding:30px}.team-history-grid>.card>h3{margin:0 0 20px;font-size:25px}.team-mark-notice{margin-top:28px}.team-stat-table th:first-child,.team-stat-table td:first-child{min-width:210px}
@media(max-width:1120px){.team-hub-hero-grid{grid-template-columns:1fr}.team-hub-hero-stats{width:min(100%,500px)}.team-hub-overview{grid-template-columns:1fr}.team-hub-game{grid-template-columns:125px minmax(240px,1fr) 170px}.team-game-center{grid-column:2/4;justify-self:start}.team-next-card{min-height:330px}}
@media(max-width:760px){.team-hub-hero{padding:48px 0}.team-hub-identity{align-items:flex-start;gap:18px}.team-hub-identity .team-profile-logo{width:92px;height:92px;flex-basis:92px;padding:10px}.team-hub-identity .team-profile-logo .team-badge-image,.team-hub-identity .team-profile-logo .team-badge{width:70px;height:70px}.team-hub-identity h1{font-size:38px}.team-hub-hero-stats{grid-template-columns:repeat(3,1fr)}.team-hub-hero-stats>div{min-height:95px;padding:12px}.team-hub-hero-stats strong{font-size:24px}.team-hub-nav{top:76px}.team-hub-nav .container{width:100%;padding-inline:12px}.team-hub-section{padding-top:58px;scroll-margin-top:130px}.team-hub-game{grid-template-columns:1fr 1fr;gap:15px;padding:20px}.team-game-opponent{grid-column:1/-1;grid-row:1}.team-game-date{grid-column:1}.team-game-context{grid-column:2;text-align:right}.team-game-center{grid-column:1/-1;justify-self:stretch}.team-history-grid{grid-template-columns:1fr}}
@media(max-width:480px){.team-hub-identity{display:grid}.team-hub-hero-stats{grid-template-columns:1fr}.team-hub-hero-stats>div{min-height:72px;border-left:0;border-top:1px solid rgba(255,255,255,.16)}.team-hub-hero-stats>div:first-child{border-top:0}.team-overview-card,.team-next-card{padding:24px}.team-hub-game{grid-template-columns:1fr}.team-game-date,.team-game-context,.team-game-center{grid-column:1;text-align:left}.team-game-opponent{grid-column:1}.team-game-context{padding-top:12px;border-top:1px solid var(--line)}}

/* Event lifecycle: next tournament, future calendar, and permanent archives. */
.hero-next-event-logo{display:block;width:min(430px,82%);max-height:128px;margin:18px 0 22px;padding:13px 18px;border-radius:18px;background:rgba(255,255,255,.95);object-fit:contain;box-shadow:0 16px 44px rgba(0,0,0,.2)}.hero-next-card .hero-card-link{display:inline-flex;margin-top:20px;color:#fff;font-weight:900}.hero-next-card .hero-card-link:hover{color:var(--sun)}
.hero-event-calendar{padding:28px 30px}.hero-event-calendar>h2{margin:6px 0 18px;font-size:25px}.hero-event-list{border-top:1px solid rgba(255,255,255,.16)}.hero-event-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:74px;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.14);color:#fff}.hero-event-row:hover{color:var(--sun)}.hero-event-row.is-next{margin-inline:-10px;padding-inline:10px;background:rgba(255,255,255,.055)}.hero-event-mark{display:grid;place-items:center;width:58px;height:52px;padding:5px;border-radius:10px;background:#fff}.hero-event-mark img{width:100%;height:100%;object-fit:contain}.hero-event-details{display:grid;gap:1px;min-width:0;line-height:1.25}.hero-event-details small{color:#a9c9d1;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.hero-event-details strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.hero-event-details em{color:#d4e1e4;font-size:11px;font-style:normal}.hero-event-arrow{font-weight:900}.hero-event-calendar .hero-card-link{display:inline-flex;margin-top:19px;color:#fff;font-size:13px;font-weight:900}.hero-event-calendar .hero-card-link:hover{color:var(--sun)}
.next-event-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);min-height:390px;overflow:hidden;border:1px solid #c8dfe4;border-radius:26px;background:linear-gradient(135deg,#07182a 0%,#075b70 100%);box-shadow:0 26px 70px rgba(7,20,36,.16);color:#fff}.next-event-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:54px}.next-event-copy .kicker{color:var(--sun)}.next-event-copy h2{max-width:760px;margin:9px 0 10px;font-size:clamp(39px,5vw,65px);line-height:1;letter-spacing:-.045em}.next-event-copy>p{max-width:720px;color:#d2e4e8}.next-event-copy .next-event-date{margin:5px 0 11px;color:#fff;font-size:23px;font-weight:900}.next-event-copy .button.button-secondary{background:#fff;border-color:#fff;color:#071424}.next-event-copy .button.button-secondary:hover{background:#dff4f2;border-color:#dff4f2;color:#071424}.next-event-copy .button.button-secondary:focus-visible{outline:3px solid var(--sun);outline-offset:4px}.next-event-logo{display:grid;place-items:center;min-height:100%;padding:45px;background:rgba(255,255,255,.96)}.next-event-logo img{width:100%;max-width:390px;max-height:230px;object-fit:contain;transition:transform .2s ease}.next-event-logo:hover img{transform:scale(1.025)}
.future-events-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:end;gap:35px;margin:64px 0 20px}.future-events-head h3{margin:6px 0 0;font-size:clamp(30px,4vw,44px)}.future-events-head p{margin:0;color:var(--muted)}.future-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.future-event-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:142px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}.future-event-card:hover{border-color:var(--aqua);color:var(--ocean);transform:translateY(-2px)}.future-event-logo{display:grid;place-items:center;width:112px;height:104px;padding:12px;border-radius:13px;background:#f2f7f8}.future-event-logo img{width:100%;height:100%;object-fit:contain}.future-event-copy{display:grid;gap:4px;min-width:0}.future-event-copy small{color:var(--ocean);font-weight:900}.future-event-copy strong{font-size:17px;line-height:1.25}.future-event-copy em{color:var(--muted);font-size:13px;font-style:normal}.past-events-prompt{margin:28px 0 0;text-align:center;color:var(--muted)}.past-events-prompt a{font-weight:900}
.archive-intro{max-width:920px;margin:0 auto 48px;text-align:center}.archive-intro h2{margin:9px 0 16px;font-size:clamp(38px,5vw,60px);line-height:1.03;letter-spacing:-.04em}.archive-intro p{max-width:780px!important;margin-inline:auto;color:var(--muted);font-size:18px!important}.archive-event-grid{display:grid;gap:24px}.archive-event-card{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:40px;align-items:center;padding:30px}.archive-event-logo{display:grid;place-items:center;min-height:250px;padding:32px;border-radius:18px;background:#f2f7f8}.archive-event-logo img{width:100%;max-height:180px;object-fit:contain}.archive-event-card h3{margin:12px 0 8px;font-size:clamp(30px,4vw,44px);line-height:1.08}.archive-event-stats{display:flex;gap:28px;margin:22px 0}.archive-event-stats span{display:grid;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.archive-event-stats strong{color:var(--ink);font-size:25px;line-height:1}.legacy-archive{margin-top:82px;padding-top:70px;border-top:1px solid var(--line)}.archive-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.archive-year-grid a{display:grid;gap:5px;min-height:145px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);box-shadow:var(--shadow-soft)}.archive-year-grid a:hover{border-color:var(--aqua);color:var(--ocean);transform:translateY(-2px)}.archive-year-grid strong{font-size:32px}.archive-year-grid span{color:var(--muted);font-size:13px}.archive-year-grid em{margin-top:auto;color:var(--ocean);font-size:12px;font-style:normal;font-weight:900}.archive-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:55px}.archive-resource-grid .card{color:var(--ink)}.archive-resource-grid .card:hover{border-color:var(--aqua);color:var(--ocean)}
@media(max-width:960px){.next-event-feature{grid-template-columns:1fr}.next-event-logo{min-height:260px}.future-event-grid{grid-template-columns:1fr}.archive-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.hero-next-event-logo{width:100%}.next-event-copy{padding:34px 26px}.next-event-copy h2{font-size:40px}.next-event-logo{min-height:220px;padding:30px}.future-events-head{grid-template-columns:1fr;gap:8px}.future-event-card{grid-template-columns:82px minmax(0,1fr) auto}.future-event-logo{width:82px;height:82px}.archive-event-card{grid-template-columns:1fr;padding:20px;gap:24px}.archive-event-logo{min-height:200px}.archive-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-resource-grid{grid-template-columns:1fr}}
@media(max-width:700px){.hero-event-calendar{padding:24px 20px}.hero-event-row{grid-template-columns:52px minmax(0,1fr) auto}.hero-event-mark{width:52px;height:48px}}

/* Structured Hoops in Hawaii tournament history. */
.history-archive{width:100%}.history-overview{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:50px;align-items:center;margin:-8px 0 38px;padding:48px;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,#07182a 0%,#075d70 100%);color:#fff;box-shadow:0 24px 65px rgba(7,20,36,.16)}.history-overview:after{content:"";position:absolute;right:-120px;bottom:-220px;width:410px;height:410px;border:42px solid rgba(255,255,255,.08);border-radius:50%}.history-overview>div,.history-overview dl{position:relative;z-index:1}.history-overview .kicker{color:var(--sun)}.history-overview h2{margin:8px 0 15px;font-size:clamp(39px,5vw,62px);line-height:1;letter-spacing:-.045em}.history-overview p{max-width:720px!important;margin:0;color:#d4e5e9;font-size:17px!important}.history-overview dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(3,16,31,.24);backdrop-filter:blur(8px)}.history-overview dl div{display:grid;gap:4px;place-items:center;min-height:126px;padding:18px;border-left:1px solid rgba(255,255,255,.16);text-align:center}.history-overview dl div:first-child{border-left:0}.history-overview dt{font-size:34px;font-weight:950;line-height:1}.history-overview dd{margin:0;color:#c2d7dd;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.history-year-nav{position:sticky;top:86px;z-index:70;display:flex;gap:7px;margin:0 0 54px;padding:10px;overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(7,20,36,.08);backdrop-filter:blur(12px)}.history-year-nav a{display:grid;place-items:center;min-width:68px;min-height:40px;padding:7px 12px;border-radius:10px;color:var(--ink);font-size:13px;font-weight:900}.history-year-nav a:hover,.history-year-nav a:focus{background:var(--ocean);color:#fff}.history-timeline{position:relative}.history-timeline:before{content:"";position:absolute;top:0;bottom:0;left:95px;width:2px;background:linear-gradient(var(--aqua),#d4e1e5 90%,transparent)}
.history-year{position:relative;padding:0 0 90px;scroll-margin-top:160px}.history-year:before{content:"";position:absolute;top:27px;left:88px;width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:var(--aqua);box-shadow:0 0 0 2px var(--ocean)}.history-year-header{display:grid;grid-template-columns:190px minmax(0,1fr);gap:42px;align-items:start;margin-bottom:28px}.history-year-number{font-size:clamp(45px,6vw,72px);font-weight:950;line-height:1;letter-spacing:-.055em;color:var(--navy)}.history-year-header h2{margin:5px 0 11px;font-size:clamp(29px,4vw,42px);line-height:1.08}.history-year-story{display:grid;gap:8px;max-width:980px}.history-year-story p{max-width:none!important;margin:0;color:#44576a;font-size:16px!important;line-height:1.65}.history-event-list{display:grid;gap:24px;margin-left:232px}.history-event-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft)}.history-event-title{padding:26px 28px 21px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f8fbfc,#edf7f7)}.history-event-title h3{margin:5px 0 0;font-size:clamp(25px,3vw,35px);line-height:1.15}.history-division{padding:25px 28px}.history-division+.history-division{border-top:1px solid var(--line)}.history-division-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.history-division-head h4{margin:0;font-size:17px}.history-division-head span{padding:6px 10px;border-radius:99px;background:#e7f6f5;color:var(--ocean);font-size:10px;font-weight:900;text-transform:uppercase}.history-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-school-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:11px 13px;border:1px solid #dce6e9;border-radius:14px;background:#fbfdfd;color:var(--ink)}.history-school-card.is-linked:hover{border-color:var(--aqua);background:#eff9f8;color:var(--ocean);transform:translateY(-1px);box-shadow:0 9px 20px rgba(7,20,36,.08)}.history-school-logo{display:grid;place-items:center;width:52px;height:52px;padding:5px;border-radius:11px;background:#fff}.history-school-logo .team-badge-image,.history-school-logo .team-badge{width:42px;height:42px;flex-basis:42px;object-fit:contain}.history-school-logo .team-badge{font-size:9px}.history-school-copy{display:grid;gap:3px;min-width:0;line-height:1.25}.history-school-copy strong{overflow-wrap:anywhere;font-size:13px}.history-school-copy small{color:var(--muted);font-size:10px}.history-school-arrow{font-weight:900}.history-cancelled{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:18px;margin-left:232px;padding:26px;border:1px solid #f0d8ae;border-radius:18px;background:#fff7e8}.history-cancelled>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--sun);color:var(--navy);font-size:22px;font-weight:950}.history-cancelled strong{font-size:21px}.history-cancelled p{margin:4px 0 0;color:var(--muted)}.history-archive-links{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:38px;border-radius:22px;background:#eef7f7}.history-archive-links h2{margin:5px 0 0;font-size:36px}.history-archive-links .button-row{justify-content:flex-end}
@media(max-width:1180px){.history-overview{grid-template-columns:1fr}.history-overview dl{max-width:560px}.history-school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Each year owns its timeline segment, keeping the year label unobstructed. */
@media(min-width:821px){
    .history-timeline:before{display:none}
    .history-year:before{top:94px;left:87px;z-index:1}
    .history-year:after{content:"";position:absolute;top:110px;bottom:0;left:95px;width:2px;background:linear-gradient(var(--aqua),#d4e1e5)}
    .history-year:last-child:after{background:linear-gradient(var(--aqua),transparent)}
}
@media(max-width:820px){.history-year-nav{top:76px;margin-bottom:42px}.history-timeline:before{left:25px}.history-year:before{left:18px}.history-year-header{grid-template-columns:1fr;gap:14px;padding-left:58px}.history-year-number{font-size:52px}.history-event-list,.history-cancelled{margin-left:58px}.history-school-grid{grid-template-columns:1fr}.history-archive-links{align-items:flex-start;flex-direction:column}.history-archive-links .button-row{justify-content:flex-start}}
@media(max-width:600px){.history-overview{padding:30px 24px}.history-overview h2{font-size:39px}.history-overview dl{grid-template-columns:1fr}.history-overview dl div{min-height:76px;border-top:1px solid rgba(255,255,255,.16);border-left:0}.history-overview dl div:first-child{border-top:0}.history-timeline:before{display:none}.history-year:before{display:none}.history-year-header{padding-left:0}.history-event-list,.history-cancelled{margin-left:0}.history-event-title,.history-division{padding:22px 18px}.history-school-card{grid-template-columns:48px minmax(0,1fr) auto}.history-school-logo{width:48px;height:48px}.history-archive-links{padding:26px 22px}.history-archive-links .button-row,.history-archive-links .button{width:100%}}
