@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/big-shoulders-display-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/big-shoulders-display-latin-900-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/archivo-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/archivo-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/archivo-latin-800-normal.woff2") format("woff2")}
/* Mt. Hood VBC: "Tournament Poster" theme. Mobile-first. Colors in :root. */
:root{
  --green:#0E3B2A; --green-dark:#082519; --ink:#0B1712; --volt:#F1ECDF;
  --paper:#EEF1EC; --white:#FFFFFF; --muted:#3C4A43; --line:#C9D3CD;
  --display:"Big Shoulders Display","Arial Narrow",sans-serif;
  --body:"Archivo","Helvetica Neue",Helvetica,sans-serif;
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(80px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45;overflow-x:hidden;
  padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%;display:block}
a{color:var(--green)}
:focus-visible{outline:3px solid var(--volt);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px;top:0;background:var(--volt);color:var(--ink);padding:10px 14px;font-weight:800;z-index:100}
.skip:focus{left:10px;top:10px}
.d{font-family:var(--display);font-weight:900;text-transform:uppercase}

/* ---------- Header + menu ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--green);padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}
.brand{display:flex;align-items:center;gap:8px;color:var(--white);text-decoration:none}
.brand-name{font-family:var(--display);font-weight:900;font-size:26px;line-height:.9;letter-spacing:.5px}
.brand-sub{display:block;font-size:13px;letter-spacing:3px;color:var(--volt)}
.bar-actions{display:flex;align-items:center;gap:10px}
.btn-reg{display:flex;align-items:center;height:44px;padding:0 14px;background:var(--volt);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);
  font-family:var(--display);font-weight:900;font-size:20px;text-transform:uppercase;text-decoration:none}
.btn-reg:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.burger{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;background:var(--ink);border:2px solid var(--white);box-shadow:3px 3px 0 #000;cursor:pointer}
.burger-bars{display:flex;flex-direction:column;gap:5px}
.burger-bars span{display:block;width:22px;height:3px;background:var(--white)}
.burger-bars span:nth-child(2){background:var(--volt)}
.burger-x{display:none}
.burger[aria-expanded="true"] .burger-bars{display:none}
.burger[aria-expanded="true"] .burger-x{display:block}
.menu{position:absolute;left:0;right:0;top:100%;background:var(--ink);border-top:4px solid var(--volt);border-bottom:4px solid var(--volt);
  padding:10px 18px 24px;box-shadow:0 12px 0 rgba(0,0,0,.35);max-height:calc(100vh - 80px);overflow-y:auto}
.menu[hidden]{display:none}
.menu-link{display:flex;align-items:baseline;gap:14px;min-height:64px;padding:6px 0;border-bottom:2px solid #23382E;color:var(--white);text-decoration:none}
.menu-link .n{font-family:var(--display);font-weight:800;font-size:18px;color:var(--volt)}
.menu-link .t{font-family:var(--display);font-weight:900;font-size:46px;line-height:1;text-transform:uppercase;font-style:italic}
.menu-link[aria-current="page"] .t{color:var(--volt)}
.menu-cta{margin-top:20px}
.menu-ig{margin-top:14px;display:flex;align-items:center;gap:10px;min-height:48px;color:var(--volt);font-weight:700;text-decoration:none}
.nav-desk{display:none}

/* ---------- Buttons ---------- */
.btn-big{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 18px;background:var(--volt);color:var(--ink);
  border:3px solid var(--ink);box-shadow:6px 6px 0 #000;font-family:var(--display);font-weight:900;font-size:27px;text-transform:uppercase;text-decoration:none}
.btn-big:active,.btn:active{transform:translate(3px,3px);box-shadow:3px 3px 0 #000}
.btn-line{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 16px;border:3px solid var(--white);color:var(--white);
  font-family:var(--display);font-weight:900;font-size:21px;text-transform:uppercase;text-decoration:none}
.btn{display:flex;align-items:center;justify-content:center;min-height:50px;padding:0 16px;background:var(--ink);color:var(--white);
  font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;box-shadow:4px 4px 0 var(--volt)}
.btn:hover{color:var(--volt)}
.btn-disabled{background:#D5DDD8;color:var(--muted);box-shadow:none;font-size:18px;text-align:center}

/* ---------- Home hero ---------- */
.hero{position:relative;background:var(--green);color:var(--white);overflow:hidden;padding-top:22px}
.halftone{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(241,236,223,.28) 1.6px,transparent 1.8px);background-size:11px 11px;
  -webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 55%);mask-image:linear-gradient(200deg,#000 0%,transparent 55%)}
.ghost{position:absolute;top:40px;left:-14px;font-family:var(--display);font-weight:900;font-size:168px;line-height:.78;color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,.14);white-space:nowrap;transform:rotate(-8deg);pointer-events:none;user-select:none}
.hero-grid{position:relative;display:flex;flex-direction:column}
.hero-art{position:relative;height:330px}
.polaroid{position:absolute;top:18px;right:4px;width:236px;height:290px;background:var(--white);padding:10px 10px 34px;transform:rotate(4deg);
  box-shadow:8px 8px 0 #000;border:3px solid var(--ink)}
.photo{width:100%;height:100%;background-color:#DDE5E0;background-size:cover;background-position:center}
.photo.hero-photo{background-position:center 26%;background-image:url("../images/hero.jpg"),repeating-linear-gradient(135deg,#CFD9D2 0 12px,#E4EAE6 12px 24px)}
.photo.team-photo{background-position:center 32%;background-image:url("../images/team.jpg"),repeating-linear-gradient(135deg,#D7DFD9 0 12px,#E6EBE7 12px 24px)}
.polaroid-cap{position:absolute;bottom:6px;left:12px;font-family:var(--display);font-weight:900;font-size:18px;color:var(--ink);text-transform:uppercase}
.sticker{position:absolute;top:-8px;left:62px;transform:rotate(-10deg)}
.spin{animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero h1{position:relative;margin:26px 0 0;font-family:var(--display);font-weight:900;font-size:62px;line-height:.86;text-transform:uppercase;font-style:italic;transform:skewX(-7deg)}
.hero h1 .pop{color:var(--volt);text-shadow:4px 4px 0 #000}
.hero-sub{margin:16px 0 0;font-size:18px;color:#D9E7DE;max-width:32ch}
.hero-actions{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.mountains{display:block;width:100%;height:90px;margin-top:34px}

/* ---------- Inner page hero ---------- */
.page-hero{position:relative;background:var(--green);color:var(--white);overflow:hidden;padding:34px 0 0}
.page-hero .ghost{top:10px;font-size:130px}
.page-hero .kicker{position:relative;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:3px;color:var(--volt);text-transform:uppercase}
.page-hero h1{position:relative;margin:6px 0 0;font-family:var(--display);font-weight:900;font-size:68px;line-height:.85;text-transform:uppercase;font-style:italic;transform:skewX(-7deg)}
.page-hero h1 .pop{color:var(--volt);text-shadow:4px 4px 0 #000}
.page-hero p{position:relative;margin:14px 0 0;font-size:18px;color:#D9E7DE;max-width:36ch}

/* ---------- Tape ---------- */
.tape{position:relative;margin:-14px -30px 0;transform:rotate(-3deg);background:var(--volt);color:var(--ink);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);
  font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:1px;white-space:nowrap;overflow:hidden;padding:6px 0;z-index:2}
.tape.dark{transform:rotate(2deg);background:var(--ink);color:var(--volt);margin-top:0}
.tape-track{display:inline-flex;animation:mq 22s linear infinite}
.tape-track span{padding:0 14px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.spin,.tape-track{animation:none}}

/* ---------- Sections ---------- */
.section{padding:44px 0 10px}
.section .wrap{display:flex;flex-direction:column;gap:18px}
h2.big{margin:0;font-family:var(--display);font-weight:900;font-size:54px;line-height:.85;text-transform:uppercase}
h2.big .pop{color:var(--volt);-webkit-text-stroke:2px var(--ink)}
.lede{margin:0;color:var(--muted);font-size:17px}
.label{margin:10px 0 0;font-family:var(--display);font-weight:900;font-size:24px;text-transform:uppercase}
.photo-band{height:230px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);margin-top:22px}

/* Poster cards (announcements and info) */
.cards{display:flex;flex-direction:column;gap:40px;padding-top:16px}
.pcard{position:relative;background:var(--white);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);padding:20px 18px 18px;display:flex;flex-direction:column;gap:8px}
.pcard .num{position:absolute;top:-26px;right:10px;font-family:var(--display);font-weight:900;font-size:64px;line-height:1;color:var(--volt);-webkit-text-stroke:2px var(--ink)}
.pcard .tag{align-self:flex-start;background:var(--volt);color:var(--ink);font-family:var(--display);font-weight:900;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 10px;transform:rotate(-2deg)}
.pcard .tag.warn{background:#FFC24B}
.pcard h3{margin:0;font-family:var(--display);font-weight:900;font-size:30px;line-height:.95;text-transform:uppercase}
.pcard p{margin:0;color:var(--muted)}
.rows{margin:0;display:flex;flex-direction:column}
.rows div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:2px dashed var(--line)}
.rows dd{margin:0;font-weight:800;text-align:right}
.pcard .btn{margin-top:6px}
.cards.tight{gap:22px;padding-top:0}

/* Zones grid */
.zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:3px solid var(--ink)}
.zone{padding:16px;min-height:110px;display:flex;flex-direction:column;justify-content:flex-end}
.zone .zt{font-family:var(--display);font-weight:900;font-size:26px;line-height:1;text-transform:uppercase}
.zone .zs{font-size:14px;margin-top:4px}
.z1{background:var(--white);border-right:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.z2{background:var(--volt);border-bottom:3px solid var(--ink)}
.z3{background:var(--green);color:var(--white);border-right:3px solid var(--ink)}
.z3 .zs{color:#CFE0D5}
.z4{background:var(--white)}

/* Link rows */
.list{display:flex;flex-direction:column;gap:12px}
.linkrow{display:flex;align-items:center;gap:14px;min-height:66px;padding:12px 16px;background:var(--white);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-decoration:none;color:var(--ink)}
a.linkrow:hover{box-shadow:4px 4px 0 var(--volt)}
.linkrow.is-soon{opacity:.6;box-shadow:none;border-style:dashed}
.linkrow-icon{flex:none;width:24px;height:24px;background:var(--ink);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.linkrow-icon.doc{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M6 3h7l5 5v13H6z'/%3E%3Cpath d='M13 3v5h5'/%3E%3C/svg%3E")}
.linkrow-icon.ext{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M20 4l-9 9'/%3E%3Cpath d='M18 14v6H4V6h6'/%3E%3C/svg%3E")}
.linkrow-text{display:flex;flex-direction:column;flex:1;min-width:0}
.linkrow-title{font-family:var(--display);font-weight:900;font-size:22px;line-height:1.05;text-transform:uppercase}
.linkrow-note{font-size:14px;color:var(--muted)}

/* Steps, checks, coaches */
.step{display:flex;gap:14px;align-items:flex-start}
.step-n{flex:none;width:46px;height:46px;background:var(--volt);border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:26px;transform:rotate(-4deg)}
.step h3{margin:0;font-family:var(--display);font-weight:900;font-size:26px;line-height:1;text-transform:uppercase}
.step p{margin:4px 0 0;color:var(--muted)}
.checks{list-style:none;margin:0;padding:0;border:3px solid var(--ink);background:var(--white)}
.checks li{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border-bottom:2px dashed var(--line);font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase}
.checks li:last-child{border-bottom:0}
.checks li::before{content:"";flex:none;width:14px;height:14px;background:var(--volt);border:2px solid var(--ink);transform:rotate(45deg)}
.coach-head{display:flex;gap:14px;align-items:center}
.avatar{flex:none;width:64px;height:64px;background:var(--volt);border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:26px;transform:rotate(-4deg)}
.coach-role{font-size:14px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:1px}

/* Instagram band */
.ig-band{margin:50px 0 0}
.ig-box{padding:30px 0 10px}
.ig-box .wrap{display:flex;flex-direction:column;gap:14px}

/* Footer */
.site-footer{background:var(--ink);color:#DDE7E1;padding:38px 0 44px;margin-top:0}
.site-footer .wrap{display:flex;flex-direction:column;gap:14px}
.foot-name{font-family:var(--display);font-weight:900;font-size:40px;line-height:.9;color:var(--white);text-transform:uppercase}
.foot-name span{color:var(--volt)}
.site-footer a{color:var(--volt);font-weight:700;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:8px}
.foot-small{font-size:14px;color:#93A59B}

/* ---------- Larger screens ---------- */
@media (min-width:900px){
  .burger,.menu{display:none !important}
  .nav-desk{display:flex;gap:4px}
  .nav-desk a{display:flex;align-items:center;height:44px;padding:0 12px;color:var(--white);text-decoration:none;font-family:var(--display);font-weight:900;font-size:22px;text-transform:uppercase;font-style:italic}
  .nav-desk a:hover,.nav-desk a[aria-current="page"]{color:var(--volt)}
  .hero-grid{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:center}
  .hero-art{order:2;height:440px}
  .polaroid{width:320px;height:390px}
  .hero h1{font-size:96px;margin-top:0}
  .hero-actions{flex-direction:row}
  .page-hero h1{font-size:110px}
  .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:start}
  .cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zones{grid-template-columns:repeat(4,minmax(0,1fr))}
  .z1,.z2,.z3{border-bottom:0;border-right:3px solid var(--ink)}
  .list.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .photo-band{height:440px}
  h2.big{font-size:72px}
  .ig-box .wrap{flex-direction:row;align-items:center;justify-content:space-between}
}
/* Clip the rotated tape so the page never scrolls sideways */
.tape-clip{position:relative;z-index:2;overflow:hidden;margin-top:-30px;padding:18px 0}
.tape-clip .tape{margin:0 -30px}
.tape-clip.dark-clip{margin-top:30px;margin-bottom:-18px}

/* Announcement extras */
.rows.facts{border:3px solid var(--ink);background:var(--ink);color:var(--white);padding:2px 12px}
.rows.facts div{border-top:1px solid #2A3B33}
.rows.facts div:first-child{border-top:0}
.rows.facts dt{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--volt)}
.rows.sched dt{font-weight:800;white-space:nowrap}
.rows.sched dd{font-weight:600;text-align:right}
.pcard .fine{font-size:13px;color:var(--muted)}
.pcard .tag{border:2px solid var(--ink)}
.z2{background:var(--volt)}

/* Featured announcement */
.featured{position:relative;background:var(--ink);color:var(--white);padding:0 0 46px;margin-top:22px;overflow:hidden;border-top:6px solid var(--volt);border-bottom:6px solid var(--volt)}
.featured[hidden]{display:none}
.feat-tape{background:var(--volt);color:var(--ink);font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;overflow:hidden;padding:8px 0;border-bottom:3px solid #000}
.feat-tape .tape-track span{padding:0 14px}
.feat-grid{display:flex;flex-direction:column;gap:28px;padding-top:30px}
.feat-kicker{display:inline-block;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:3px;text-transform:uppercase;color:var(--volt)}
.feat-h{margin:10px 0 0;font-family:var(--display);font-weight:900;font-size:58px;line-height:.86;text-transform:uppercase;font-style:italic;transform:skewX(-7deg)}
.feat-h .pop{color:var(--volt);text-shadow:4px 4px 0 #000}
.feat-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;border:3px solid var(--white)}
.feat-stat{padding:12px 10px;display:flex;flex-direction:column;gap:4px;border-right:3px solid var(--white)}
.feat-stat:last-child{border-right:0}
.fs-n{font-family:var(--display);font-weight:900;font-size:44px;line-height:1;color:var(--volt)}
.fs-l{font-size:13px;line-height:1.3;color:#C9D6CF}
.feat-body{margin:22px 0 0;font-size:17px;color:#DDE7E1;max-width:60ch}
.feat-side{display:flex;flex-direction:column;gap:16px}
.feat-mono{align-self:flex-start;width:120px;height:120px;background:var(--volt);color:var(--ink);border:4px solid #000;box-shadow:6px 6px 0 #000;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:62px;transform:rotate(-5deg)}
.feat-callout{background:var(--white);color:var(--ink);border:4px solid #000;box-shadow:8px 8px 0 var(--volt);padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.fc-label{font-family:var(--display);font-weight:900;font-size:28px;text-transform:uppercase}
.fc-line{font-weight:800;font-size:17px}
.feat-btns{display:flex;flex-direction:column;gap:12px}
@media (min-width:900px){
  .feat-grid{display:grid;grid-template-columns:1fr 380px;gap:50px;align-items:start;padding-top:44px}
  .feat-h{font-size:92px}
  .feat-side{padding-top:20px}
  .feat-mono{width:150px;height:150px;font-size:78px}
}
@media (max-width:899px){.feat-mono{display:none}}

.feat-polaroid{margin:0;align-self:center;width:min(300px,82vw);background:var(--white);padding:12px 12px 46px;border:4px solid #000;box-shadow:10px 10px 0 var(--volt);transform:rotate(3deg);position:relative}
.feat-polaroid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 8%;border:2px solid var(--ink)}
.feat-polaroid figcaption{position:absolute;left:14px;bottom:10px;font-family:var(--display);font-weight:900;font-size:20px;text-transform:uppercase;color:var(--ink)}
@media (max-width:899px){
  .feat-copy,.feat-side{display:contents}
  .feat-grid{gap:0}
  .feat-kicker{order:1}.feat-h{order:2}.feat-polaroid{order:3;margin:30px auto 10px}.feat-stats{order:4}.feat-body{order:5}
  .feat-callout{order:6;margin-top:26px}.feat-btns{order:7;margin-top:16px}
}
@media (min-width:900px){.feat-polaroid{width:100%;max-width:340px}}

/* Schedule tables: age group first, details to the right */
.sched-wrap{overflow-x:auto;margin:4px 0}
.sched-table{width:100%;border-collapse:collapse;font-size:15px}
.sched-table thead th{font-family:var(--display);font-weight:900;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;text-align:left;color:var(--muted);padding:6px 8px 6px 0;border-bottom:3px solid var(--ink)}
.sched-table tbody th,.sched-table td{text-align:left;padding:10px 8px 10px 0;border-bottom:2px dashed var(--line);vertical-align:top}
.sched-table tbody th{font-weight:800}
.sched-table td{font-weight:600;white-space:nowrap}
.sched-table tbody tr:last-child th,.sched-table tbody tr:last-child td{border-bottom:0}
.sched-table th:last-child,.sched-table td:last-child{padding-right:0}
