@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;1,700&family=Inter:wght@400;500;600;700&display=swap');

:root { --green:#063f31; --deep:#021c16; --bright:#0d6049; --silver:#c8ced1; --cream:#f3f5f4; --ink:#101514; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter,Arial,sans-serif; font-size:16px; }
a { color:inherit; }
.site-header { height:82px; padding:0 clamp(22px,5vw,76px); background:var(--deep); color:#fff; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:10; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img { width:64px; height:64px; object-fit:contain; }
.brand span { display:grid; font-family:'Barlow Condensed',sans-serif; line-height:.82; letter-spacing:.05em; }
.brand strong { font-size:1.55rem; }
.brand small { font-size:.78rem; color:var(--silver); letter-spacing:.24em; margin-top:8px; }
nav { display:flex; align-items:center; gap:clamp(18px,2.5vw,38px); }
nav a { text-decoration:none; font-size:.85rem; font-weight:600; letter-spacing:.04em; }
nav a:not(.nav-cta):hover { color:var(--silver); }
.nav-cta { padding:12px 17px; border:1px solid rgba(255,255,255,.35); }
.menu-button { display:none; color:#fff; background:none; border:1px solid #ffffff66; padding:8px 12px; font:600 .9rem Inter; }
.hero { min-height:720px; height:calc(100vh - 82px); max-height:900px; position:relative; color:#fff; overflow:hidden; display:flex; align-items:center; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; filter:saturate(.82) contrast(1.08); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,35,26,.97) 0%,rgba(3,41,31,.78) 42%,rgba(3,41,31,.15) 73%,rgba(3,41,31,.04) 100%),linear-gradient(0deg,rgba(3,41,31,.68),transparent 48%); }
.hero-copy { position:relative; width:min(780px,85vw); margin-left:clamp(24px,8vw,130px); z-index:2; }
.eyebrow,.section-tag { margin:0 0 22px; color:var(--silver); font-size:.78rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
h1,h2 { font-family:'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; margin:0; line-height:.85; letter-spacing:-.025em; }
h1 { font-size:clamp(4.3rem,10vw,9rem); }
h1 em { color:var(--silver); font-style:italic; }
.hero-lede { max-width:560px; margin:30px 0; font-size:clamp(1rem,1.5vw,1.28rem); line-height:1.55; color:#eef5f2; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; gap:18px; padding:16px 22px; text-decoration:none; font-weight:700; font-size:.9rem; }
.button-silver { color:var(--deep); background:linear-gradient(110deg,#e3e7e9,#b5bdc1); }
.button-ghost { border:1px solid #ffffff88; color:#fff; }
.button:hover { transform:translateY(-2px); }
.hero-mark { position:absolute; right:-.03em; bottom:-.24em; font:800 clamp(13rem,31vw,32rem)/1 'Barlow Condensed'; color:rgba(255,255,255,.07); }
.achievement-strip { background:linear-gradient(110deg,#e2e6e8 0%,#aeb7bc 50%,#d9dee0 100%); color:#07110e; display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(24px,7vw,110px); }
.achievement-strip div { min-height:128px; padding:28px clamp(16px,2vw,36px); border-right:1px solid #092f2430; display:flex; flex-direction:column; justify-content:center; }
.achievement-strip div:first-child { border-left:1px solid #092f2430; }
.achievement-strip strong { font:800 clamp(1.8rem,3vw,3rem)/1 'Barlow Condensed'; text-transform:uppercase; }
.achievement-strip span { margin-top:7px; font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.schedule { padding:clamp(85px,10vw,140px) clamp(24px,8vw,130px); background:#fff; }
.schedule-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:45px; }
.schedule h2 { font-size:clamp(4rem,7vw,7rem); color:var(--deep); }
.schedule-key { display:flex; gap:22px; padding-bottom:8px; color:#61706a; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.schedule-key span { display:flex; align-items:center; gap:8px; }
.schedule-key i { width:10px; height:10px; border-radius:50%; display:block; }
.home-dot { background:var(--green); }
.away-dot { background:var(--silver); border:1px solid #8f999e; }
.schedule-list { border-top:4px solid var(--deep); }
.game { position:relative; display:grid; grid-template-columns:minmax(125px,.7fr) 1.6fr minmax(110px,.55fr) minmax(85px,.45fr); align-items:center; gap:20px; min-height:66px; padding:13px 18px 13px 25px; border-bottom:1px solid #dbe0de; }
.game::before { content:""; position:absolute; left:0; top:18px; bottom:18px; width:4px; background:var(--green); }
.game.away::before { background:#aeb7bc; }
.game span { color:#50605a; }
.game span:first-child b { display:inline-block; width:35px; color:var(--deep); text-transform:uppercase; font-size:.7rem; letter-spacing:.05em; }
.game strong { font-size:1.02rem; }
.game strong small { color:#71807a; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
.game-head { min-height:42px; background:var(--deep); color:#fff; font-size:.69rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.game-head::before { display:none; }
.game-head span { color:#d6dfdc; }
.game.special { padding-bottom:42px; background:#f2f5f3; }
.game.special em { position:absolute; left:25px; right:18px; bottom:12px; color:#53645d; font-size:.72rem; font-style:normal; }
.schedule-note { margin:22px 0 0; color:#66756f; font-size:.82rem; }
.schedule-note a { color:var(--green); font-weight:700; }
.statement { padding:clamp(90px,12vw,180px) clamp(24px,8vw,130px); display:grid; grid-template-columns:1.1fr .9fr; gap:10vw; align-items:end; }
.section-tag { color:var(--bright); }
.statement h2,.connect h2 { font-size:clamp(4rem,8vw,8rem); }
.statement h2 span { color:var(--bright); }
.statement-copy { max-width:580px; padding-bottom:10px; }
.statement-copy p,.coach-copy>p,.history-intro>p { font-size:1.08rem; line-height:1.8; color:#42534c; }
.text-link { display:inline-flex; gap:22px; margin-top:20px; padding-bottom:8px; border-bottom:2px solid var(--silver); text-decoration:none; font-weight:700; }
.history { background:var(--deep); color:#fff; padding:clamp(80px,9vw,135px) clamp(22px,6vw,96px); display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(32px,5vw,72px); overflow:hidden; }
.section-tag.light { color:var(--silver); }
.history h2 { font-size:clamp(3.6rem,6vw,6.6rem); }
.history-intro>p { color:#c4d1cc; max-width:500px; }
.history-intro,.milestones,.record-book { min-width:0; }
.milestones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:end; }
.milestones article { padding:21px 12px; min-height:82px; border-left:1px solid #ffffff35; border-bottom:1px solid #ffffff1f; display:flex; align-items:baseline; gap:7px; white-space:nowrap; }
.milestones span { color:var(--silver); font-size:.62rem; font-weight:700; letter-spacing:.05em; }
.milestones strong { font:800 clamp(1.55rem,2.2vw,2.25rem)/1 'Barlow Condensed'; margin:0; }
.milestones p { margin:0; color:#c4d1cc; font-size:clamp(.62rem,.7vw,.72rem); }
.record-book { grid-column:1/-1; margin-top:clamp(30px,6vw,80px); padding-top:clamp(35px,5vw,65px); border-top:1px solid #ffffff35; }
.record-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.record-heading .section-tag { margin-bottom:12px; }
.record-heading h3 { margin:0; font:800 clamp(2.8rem,5vw,5rem)/.9 'Barlow Condensed'; text-transform:uppercase; }
.all-time-record { text-align:right; }
.all-time-record span { display:block; color:#aebdb7; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.all-time-record strong { display:block; margin-top:5px; color:var(--silver); font:800 clamp(2.7rem,5vw,4.8rem)/1 'Barlow Condensed'; }
.record-table { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(18px,4vw,55px); }
.record-column { min-width:0; }
.record-row { display:grid; grid-template-columns:minmax(0,1fr) 40px 40px; padding:12px 10px; border-top:1px solid #ffffff22; color:#d7dfdc; }
.record-row span:first-child { font-weight:600; }
.record-row span:first-child small { margin-left:8px; color:var(--silver); font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; }
.record-row b { text-align:right; }
.record-labels { color:#8fa29a; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.record-row.featured { background:#ffffff0c; color:#fff; border-left:3px solid var(--silver); padding-left:11px; }
.coach { padding:clamp(90px,12vw,180px) clamp(24px,8vw,130px); display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; overflow:hidden; position:relative; }
.coach-media { position:relative; aspect-ratio:3/5; overflow:hidden; background:var(--deep); }
.coach-media>img { width:100%; height:100%; object-fit:contain; object-position:center; }
.coach-copy { max-width:670px; align-self:center; position:relative; }
.coach h2 { font-size:clamp(4.2rem,8vw,8rem); color:var(--green); }
.coach-role { font-weight:700; color:var(--bright)!important; text-transform:uppercase; letter-spacing:.06em; font-size:.86rem!important; }
blockquote { margin:36px 0; padding-left:28px; border-left:5px solid var(--silver); font:700 clamp(1.7rem,3vw,2.75rem)/1.15 'Barlow Condensed'; color:var(--deep); text-transform:uppercase; }
.bio-details { margin-top:28px; border-top:1px solid #bdc6c2; border-bottom:1px solid #bdc6c2; }
.bio-details summary { padding:17px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; color:var(--green); font-weight:700; }
.bio-details summary::-webkit-details-marker { display:none; }
.bio-details summary span { font-size:1.25rem; }
.bio-details[open] summary span { transform:rotate(45deg); }
.bio-details div { padding:0 0 18px; }
.bio-details p { color:#42534c; line-height:1.75; }
.staff { padding:clamp(85px,10vw,145px) clamp(24px,8vw,130px); background:#061f18; color:#fff; }
.staff-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:55px; }
.staff-heading h2 { font-size:clamp(4rem,7vw,7rem); text-align:right; }
.staff-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.staff-card { grid-column:span 2; min-height:420px; padding:28px; border:1px solid #ffffff2b; background:#ffffff09; display:flex; flex-direction:column; }
.staff-card:nth-child(4),.staff-card:nth-child(5) { grid-column:span 3; min-height:240px; }
.staff-season { color:var(--silver); font-size:.7rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.staff-card h3 { margin:14px 0 4px; font:800 clamp(2rem,3.5vw,3.4rem)/.95 'Barlow Condensed'; text-transform:uppercase; }
.staff-role { margin:0 0 22px; color:#9cb3aa; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.staff-card>p:not(.staff-role) { margin:0 0 16px; color:#c6d2cd; line-height:1.65; font-size:.9rem; }
.staff-card blockquote { margin:auto 0 0; padding:18px 0 0; border:0; border-top:3px solid var(--silver); color:#fff; font-size:1.3rem; }
.staff-card-brief { background:#ffffff05; }
.staff-photo,.staff-card-brief .staff-photo,.portrait-mitch { height:auto; aspect-ratio:2/3; margin:-28px -28px 24px; overflow:hidden; background:#010d0a; display:flex; align-items:center; justify-content:center; }
.staff-photo img,.portrait-mitch img,.portrait-luis img,.portrait-spencer img,.portrait-mike img,.portrait-phil img { width:100%; height:100%; object-fit:contain; object-position:center; transform:none; }
.gallery { padding:clamp(85px,10vw,145px) clamp(24px,5vw,80px); background:var(--cream); }
.gallery-heading { padding:0 clamp(0px,3vw,50px); margin-bottom:45px; display:flex; justify-content:space-between; align-items:end; gap:50px; }
.gallery-heading h2 { font-size:clamp(4rem,7vw,7.2rem); color:var(--deep); }
.gallery-heading>p { max-width:430px; margin:0 0 8px; color:#53635d; font-size:1.05rem; line-height:1.7; }
.photo-grid { columns:3 300px; column-gap:10px; }
.photo-grid figure { margin:0 0 10px; break-inside:avoid; overflow:hidden; background:#d9dfdc; }
.photo-grid img { display:block; width:100%; height:auto; object-fit:contain; }
.connect { padding:clamp(80px,10vw,130px) clamp(24px,8vw,130px); color:#fff; background:var(--bright); display:grid; grid-template-columns:1fr 1fr; gap:9vw; }
.connect .section-tag { color:var(--silver); }
.connect-intro>p:not(.section-tag) { max-width:540px; margin:28px 0; color:#d6e6e0; font-size:1.05rem; line-height:1.7; }
.contact-details { margin-top:36px; padding-top:24px; border-top:1px solid #ffffff55; display:grid; gap:8px; }
.contact-details span { color:#c9ded6; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.contact-details a { width:max-content; color:#fff; font-weight:700; text-decoration:none; }
.contact-details a:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-form { align-self:start; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; padding:clamp(24px,4vw,44px); border:1px solid #ffffff42; background:#021d164f; }
.contact-form label { display:grid; gap:9px; min-width:0; }
.contact-form label>span { color:#e2ece8; font-size:.875rem; font-weight:700; }
.contact-form label small { color:#b9cec6; font-size:.75rem; font-weight:500; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #ffffff66; border-radius:0; padding:14px 15px; color:#fff; background:#001a1466; font:inherit; }
.contact-form textarea { resize:vertical; min-height:150px; }
.contact-form input:focus,.contact-form textarea:focus { outline:3px solid #c8ced166; outline-offset:2px; border-color:#fff; }
.form-full { grid-column:1/-1; }
.form-honey { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; }
.form-submit { display:flex; align-items:center; gap:20px; }
.form-submit button { border:0; padding:16px 22px; color:var(--deep); background:linear-gradient(110deg,#e3e7e9,#b5bdc1); font:700 .9rem Inter,sans-serif; cursor:pointer; }
.form-submit button:hover { filter:brightness(1.06); }
.form-submit button span { margin-left:16px; }
.form-submit p { margin:0; color:#c9ded6; font-size:.75rem; line-height:1.45; }
footer { padding:35px clamp(24px,8vw,130px); background:#021d16; color:#b7c6c0; display:grid; grid-template-columns:1fr auto auto; gap:35px; align-items:center; font-size:.75rem; }
.footer-brand { display:flex; align-items:center; gap:12px; color:#fff; letter-spacing:.05em; }
.footer-brand img { width:46px; height:46px; object-fit:contain; }
@media (max-width:900px) {
  .menu-button { display:block; }
  nav { display:none; position:absolute; top:82px; left:0; right:0; padding:24px; background:var(--deep); flex-direction:column; align-items:stretch; }
  nav.open { display:flex; }
  .hero { min-height:660px; }
  .hero-shade { background:linear-gradient(90deg,rgba(3,35,26,.92),rgba(3,41,31,.36)),linear-gradient(0deg,rgba(3,41,31,.72),transparent); }
  .achievement-strip { grid-template-columns:1fr 1fr; }
  .achievement-strip div:nth-child(odd) { border-left:1px solid #092f2430; }
  .statement,.history,.coach,.connect { grid-template-columns:1fr; }
  .staff-heading { align-items:flex-start; flex-direction:column; }
  .staff-heading h2 { text-align:left; }
  .staff-card { grid-column:span 3; }
  .staff-card:nth-child(5) { grid-column:span 6; }
  .gallery-heading { align-items:flex-start; flex-direction:column; }
  .photo-grid { columns:2; }
  .schedule-heading { align-items:flex-start; flex-direction:column; }
  .game { grid-template-columns:110px 1fr 100px 80px; gap:12px; padding-inline:20px 12px; }
  .coach-number { display:none; }
  .coach-media { height:auto; min-height:0; }
  .milestones { margin-top:25px; }
  .milestones { grid-template-columns:1fr 1fr; }
  .record-book { grid-column:auto; }
  footer { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:560px) {
  .site-header { height:72px; padding-inline:18px; }
  .brand img { width:54px; height:54px; }
  .brand strong { font-size:1.3rem; }
  nav { top:72px; }
  .hero { height:calc(100svh - 72px); min-height:620px; align-items:flex-end; }
  .hero-copy { margin:0 22px 70px; width:auto; }
  .eyebrow { line-height:1.5; }
  .hero-photo { object-position:52% center; }
  .achievement-strip { padding:0 12px; }
  .achievement-strip div { min-height:110px; padding:20px 12px; }
  .statement,.history,.coach,.connect { padding-inline:24px; }
  .staff { padding-inline:24px; }
  .staff-grid { grid-template-columns:1fr; }
  .staff-card,.staff-card:nth-child(4),.staff-card:nth-child(5) { grid-column:auto; min-height:auto; }
  .staff-photo,.portrait-mitch,.staff-card-brief .staff-photo { height:auto; }
  .staff-card blockquote { margin-top:18px; }
  .gallery { padding-inline:14px; }
  .gallery-heading { padding-inline:10px; }
  .photo-grid { columns:1; }
  .photo-grid figure { margin-bottom:8px; }
  .schedule { padding-inline:18px; }
  .schedule-key { padding-bottom:0; }
  .game-head { display:none; }
  .game { grid-template-columns:1fr auto; gap:5px 14px; padding:15px 12px 15px 20px; }
  .game span:first-child { grid-column:1; grid-row:1; }
  .game strong { grid-column:1; grid-row:2; }
  .game span:nth-of-type(2) { grid-column:2; grid-row:1; font-size:.78rem; }
  .game span:nth-of-type(3) { grid-column:2; grid-row:2; text-align:right; font-size:.78rem; font-weight:700; }
  .game.special { padding-bottom:58px; }
  .game.special em { left:20px; }
  .milestones { grid-template-columns:1fr; }
  .milestones article { min-height:72px; border-left:0; border-top:1px solid #ffffff35; }
  .contact-form { grid-template-columns:1fr; padding:22px 18px; }
  .contact-form label,.form-full { grid-column:1; }
  .form-submit { align-items:flex-start; flex-direction:column; }
  .record-heading { align-items:flex-start; flex-direction:column; }
  .all-time-record { text-align:left; }
  .record-table { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button:hover { transform:none; } }
