/* Junior Coyotes site shell: header, menu, footer and the page column.
   Page blocks keep their own scoped styles. Everything here is scoped to
   .jc-hdr / .jc-ftr / .jc-page so nothing leaks into a block.
   Measured on the live Squarespace site 2026-10-10: blocks sit in a centred
   1020px column at desktop width, 6vw side margins on phones, root font
   size 17px desktop / 16px phone, body text black on white, a{color:inherit}. */

html{font-size:17px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media screen and (max-width:991px){html{font-size:16px}}
body{margin:0;background:#fff;color:#000;font-family:sans-serif;overflow-wrap:break-word}
a{color:inherit;text-decoration:none}

.jc-skip{position:absolute;left:-9999px;top:0;z-index:100;background:#e01b14;color:#fff;padding:10px 16px;font:700 15px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.jc-skip:focus{left:12px;top:12px}
.jc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- header ---- */
/* the resets keep plain body/header/footer rules in page CSS (e.g. /mediaday) off the shell */
.jc-hdr{background:#0a0a0a;color:#fff;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;position:relative;z-index:50;margin:0;padding:0;border:0;box-shadow:none;font-size:1rem;font-weight:400;font-style:normal;line-height:normal;letter-spacing:normal;text-align:left;text-transform:none;word-break:normal;overflow-wrap:normal}
.jc-hdr *{box-sizing:border-box;word-break:normal;overflow-wrap:normal} /* page CSS like the calendar app's a,div,span{word-break:break-word} must not reach the shell */
.jc-hdr__in{max-width:1240px;margin:0 auto;padding:0 4vw;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.jc-hdr__brand{display:flex;align-items:center;gap:10px;color:#fff;flex:none}
/* the transparent logo (3 MARKETING/Winter 2027 launch/_source/jc-logo.png, cropped to the artwork), no white box (Andrew, 2026-10-13) */
.jc-hdr__brand img{width:50px;height:50px;object-fit:contain;display:block}
.jc-hdr__name{font-family:Anton,Impact,"Arial Narrow Bold",sans-serif;font-weight:400;font-size:21px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.jc-hdr__nav{display:flex;align-items:center;gap:2px;flex-wrap:wrap;justify-content:flex-end}
.jc-hdr__nav a{display:block;padding:9px 11px;font-size:14px;font-weight:700;letter-spacing:.02em;color:#e5e7eb;border-radius:6px;white-space:nowrap}
.jc-hdr__nav a:hover,.jc-hdr__nav a:focus-visible{color:#fff;background:rgba(255,255,255,.08)}
.jc-hdr__nav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -3px 0 #e01b14;border-radius:0}
.jc-hdr__mob{display:none}
.jc-hdr__mob>summary{white-space:nowrap;list-style:none;cursor:pointer;color:#fff;font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px}
.jc-hdr__mob>summary::-webkit-details-marker{display:none}
.jc-hdr__mob[open]>summary{background:#e01b14;border-color:#e01b14}
.jc-hdr__mob nav{position:absolute;left:0;right:0;top:100%;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.12);padding:8px 4vw 18px}
.jc-hdr__mob nav a{display:block;padding:13px 2px;font-size:17px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.jc-hdr__mob nav a[aria-current="page"]{color:#ff5a52}
@media (max-width:1080px){.jc-hdr__nav{display:none}.jc-hdr__mob{display:block}}
/* phones: name and logo scale down with the width so logo + name + MENU fit on one line down to 320px (no page zoom-out) */
@media (max-width:420px){.jc-hdr__in{gap:12px}.jc-hdr__brand{gap:8px}.jc-hdr__name{font-size:clamp(13px,4.35vw,17px)}.jc-hdr__brand img{width:clamp(34px,10.8vw,42px);height:clamp(34px,10.8vw,42px)}}
@media (max-width:374px){.jc-hdr__mob>summary{font-size:14px;padding:9px 12px}}

/* ---- page column (matches the Squarespace code-block column) ---- */
.jc-page{width:min(1020px,calc(100% - 12vw));margin:0 auto}
@media (min-width:768px){.jc-page{width:min(1020px,calc(100% - 8vw))}}
/* per-page section padding from pages.json "pad" (phones) / "padDesk" (768px+), measured on live: Squarespace's
   section padding is 6.6vmax. flow-root keeps block margins and floats inside, like a Fluid Engine grid cell. */
.jc-page{display:flow-root;padding:var(--pt,0) 0 var(--pb,0)}
@media (min-width:768px){.jc-page{padding:var(--pt-d,var(--pt,0)) 0 var(--pb-d,var(--pb,0))}}
/* pages.json "bleed": the block runs edge to edge like a full-bleed Fluid Engine block (/250league, /3v3league);
   "cols": [first, last+1] content-grid lines when the live block spans fewer than the 24 desktop columns */
.jc-page--bleed{width:auto;margin:0}
@media (min-width:768px){.jc-page--cols>.sqs-code-container{width:calc((100% - 253px) / 24 * var(--n) + 11px * (var(--n) - 1));margin-left:calc(((100% - 253px) / 24 + 11px) * var(--c0))}}

/* ranges latin=U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;latinext=U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF */
/* @font-fit:start  generated by tools/font-fit.js 2026-10-11, do not hand-edit
   JC Garamond = self-hosted EB Garamond (SIL OFL, /_s/fonts/OFL.txt) sized to the live theme font, adobe-garamond-pro, a
   Squarespace Typekit kit that stops when Squarespace does. Each face is split into capitals, digits, spaces and the rest,
   each with its own size-adjust measured on the text the live site draws in that font, so lines wrap where they wrap
   today. Overrides copy Adobe's ascent/descent. Only 400 and 700 exist, like the live kit, so 600/950 render bold as before. */
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:100.02%;ascent-override:91.98%;descent-override:34.99%;line-gap-override:0%;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-n-latinext.woff2) format("woff2");size-adjust:100.02%;ascent-override:91.98%;descent-override:34.99%;line-gap-override:0%;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:100.22%;ascent-override:91.80%;descent-override:34.92%;line-gap-override:0%;unicode-range:U+0041-005A}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:104.17%;ascent-override:88.32%;descent-override:33.60%;line-gap-override:0%;unicode-range:U+0030-0039}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:125.00%;ascent-override:73.60%;descent-override:28.00%;line-gap-override:0%;unicode-range:U+0020, U+00A0}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:97.59%;ascent-override:92.22%;descent-override:30.74%;line-gap-override:0%;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-n-latinext.woff2) format("woff2");size-adjust:97.59%;ascent-override:92.22%;descent-override:30.74%;line-gap-override:0%;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:97.19%;ascent-override:92.60%;descent-override:30.87%;line-gap-override:0%;unicode-range:U+0041-005A}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:98.26%;ascent-override:91.59%;descent-override:30.53%;line-gap-override:0%;unicode-range:U+0030-0039}
@font-face{font-family:"JC Garamond";font-style:normal;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-n-latin.woff2) format("woff2");size-adjust:101.31%;ascent-override:88.84%;descent-override:29.61%;line-gap-override:0%;unicode-range:U+0020, U+00A0}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:96.48%;ascent-override:95.36%;descent-override:35.24%;line-gap-override:0%;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-i-latinext.woff2) format("woff2");size-adjust:96.48%;ascent-override:95.36%;descent-override:35.24%;line-gap-override:0%;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:96.48%;ascent-override:95.36%;descent-override:35.24%;line-gap-override:0%;unicode-range:U+0041-005A}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:96.48%;ascent-override:95.36%;descent-override:35.24%;line-gap-override:0%;unicode-range:U+0030-0039}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:125.00%;ascent-override:73.60%;descent-override:27.20%;line-gap-override:0%;unicode-range:U+0020, U+00A0}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:96.85%;ascent-override:91.90%;descent-override:30.98%;line-gap-override:0%;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-i-latinext.woff2) format("woff2");size-adjust:96.85%;ascent-override:91.90%;descent-override:30.98%;line-gap-override:0%;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:97.25%;ascent-override:91.52%;descent-override:30.85%;line-gap-override:0%;unicode-range:U+0041-005A}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:96.85%;ascent-override:91.90%;descent-override:30.98%;line-gap-override:0%;unicode-range:U+0030-0039}
@font-face{font-family:"JC Garamond";font-style:italic;font-weight:700;font-display:swap;src:url(/_s/fonts/ebg-i-latin.woff2) format("woff2");size-adjust:101.31%;ascent-override:87.85%;descent-override:29.61%;line-gap-override:0%;unicode-range:U+0020, U+00A0}
/* @font-fit:end */

/* ---- Squarespace theme base, reproduced (values read from the live site.css 2026-10-10) ----
   Code blocks inherit these wherever they don't set their own, exactly as on Squarespace:
   body text in the theme's Garamond at 1.6 line height; h1-h4 in Garamond, uppercase, about
   1.3 line height, theme sizes and colours; p and heading margins. Selectors use :where()
   so they carry the same zero/low specificity as the theme's bare element rules and any rule
   a page block sets still wins. */
.jc-page .sqs-code-container{font-family:"JC Garamond",Garamond,Georgia,serif;font-style:normal;font-weight:400;line-height:1.6em;letter-spacing:0em;text-transform:none;color:#000;-webkit-font-smoothing:antialiased}
:where(.jc-page) p{margin:1rem 0;line-height:1.6em}
:where(.jc-page) h1,:where(.jc-page) h2,:where(.jc-page) h3,:where(.jc-page) h4{margin:2rem 0;font-family:"JC Garamond",Garamond,Georgia,serif;font-style:normal;font-weight:400;letter-spacing:0em;text-transform:uppercase;line-height:1.3em}
:where(.jc-page) h1,:where(.jc-page) .jc-h1-look{color:#000;line-height:calc(1.3em * (1 + (1 - 2.05882353)/25))}
:where(.jc-page) h2{color:#000;line-height:calc(1.3em * (1 + (1 - 1.52941176)/25))}
:where(.jc-page) h3{color:hsla(0,86.3%,42.94%,1);line-height:calc(1.3em * (1 + (1 - .94117647)/25))}
:where(.jc-page) h4{color:hsla(0,100%,43%,1);line-height:calc(1.3em * (1 + (1 - 1.2)/25))}
@media screen and (min-width:768px),screen and (orientation:landscape){
  :where(.jc-page) h1,:where(.jc-page) .jc-h1-look{font-size:min(calc((2.05882353 - 1) * 1.2vw + 1rem), max(calc((2.05882353 - 1) * 0.012 * 1020px + 1rem), calc(2.05882353 * 1rem)))}
  :where(.jc-page) h2{font-size:min(calc((1.52941176 - 1) * 1.2vw + 1rem), max(calc((1.52941176 - 1) * 0.012 * 1020px + 1rem), calc(1.52941176 * 1rem)))}
  :where(.jc-page) h3{font-size:min(calc((.94117647 - 1) * 1.2vw + 1rem), max(calc((.94117647 - 1) * 0.012 * 1020px + 1rem), calc(.94117647 * 1rem)))}
  :where(.jc-page) h4{font-size:min(calc((1.2 - 1) * 1.2vw + 1rem), max(calc((1.2 - 1) * 0.012 * 1020px + 1rem), calc(1.2 * 1rem)))}
}
/* Squarespace paragraph sizes (text blocks): large 1.4x and small 0.9x body, same responsive formulas as headings */
:where(.jc-page) :is(.sqsrte-large,.sqsrte-small){margin:1rem 0;line-height:1.6em}
@media screen and (min-width:768px),screen and (orientation:landscape){
  :where(.jc-page) .sqsrte-large{font-size:min(calc((1.4 - 1) * 1.2vw + 1rem), max(calc((1.4 - 1) * 0.012 * 1020px + 1rem), calc(1.4 * 1rem)))}
  :where(.jc-page) .sqsrte-small{font-size:min(calc((.9 - 1) * 1.2vw + 1rem), max(calc((.9 - 1) * 0.012 * 1020px + 1rem), calc(.9 * 1rem)))}
}
@media screen and (max-width:767px) and (orientation:portrait){
  :where(.jc-page) .sqsrte-large{font-size:calc((1.4 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
  :where(.jc-page) .sqsrte-small{font-size:calc((.9 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
}
@media screen and (max-width:767px) and (orientation:portrait){
  :where(.jc-page) h1,:where(.jc-page) .jc-h1-look{font-size:calc((2.05882353 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
  :where(.jc-page) h2{font-size:calc((1.52941176 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
  :where(.jc-page) h3{font-size:calc((.94117647 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
  :where(.jc-page) h4{font-size:calc((1.2 - 1) * calc(.012 * min(100vh, 900px)) + 1rem)}
}

/* ---- Squarespace base rules that reach into code blocks, copied verbatim (selectors, values, specificity)
   from the live theme. Found by tools/theme-leaks.js, which asks Chrome which theme rules match each element
   inside the code blocks on the live pages (2026-10-10). Without them, buttons and dropdowns fall back to
   Arial 13px, tables gain cell spacing, <small> and <code> change size, and .btn links grow taller. */
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
b,strong{font-weight:700}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
a{background:0 0;cursor:pointer}
svg:not(:root){overflow:hidden}
img{border:0}
li > :first-child::before{white-space:pre}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
table{border-collapse:collapse;border-spacing:0}
textarea{overflow:auto;vertical-align:top}
[hidden],template{display:none}
small{font-size:80%}
code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}
.btn{position:relative;display:inline-block;line-height:normal}
figure{margin:0}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
button[disabled],html input[disabled]{cursor:default}
audio,canvas,video{display:inline-block}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
:focus{outline-offset:4px}
:focus,a:focus{outline-width:2px;outline-style:solid}
:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}
:focus,a:focus{outline-color:hsla(0,0%,0%,.9)}
/* theme colour variables resolved for the white section theme every migrated code block sat in
   (--paragraphLinkColor, --navigationLinkColor); /kelownabasketball and /waiver sat on black-bold */
:where(.jc-page) p a{color:hsla(0,0%,0%,1)}
/* these keep the theme's specificity on our markup: .sqs-block-code img = 0,1,1 and
   .primary-button-style-outline .btn:not(..):not(..) = 0,4,0 (body carried that class on Squarespace) */
.sqs-code-container img{max-width:100%}
.jc-page .btn:not(.sqs-button-element--secondary):not(.sqs-button-element--tertiary){border-width:2px;border-style:solid;transition:.1s background-color linear,.1s color linear}
/* .page-section .content = 0,2,0 and .page-section.content-width--wide .content = 0,3,0 (/wbb1, /greenlight use .content) */
.jc-page .content{width:100%}
.jc-page.jc-page .content{width:100%}
@media screen and (max-width:767px){.jc-page .content{width:100% !important}}
/* pages.json "wrap": on live the block sits in the Fluid Engine grid inside that .content, so the grid's gutters (6vw on
   phones, at least 4vw from 768px) absorb the page CSS's side padding and the content stays at most 1020px wide */
.jc-page--bleed>.content>.sqs-code-container{width:calc(100% - 12vw);margin-left:auto;margin-right:auto}
@media (min-width:768px){.jc-page--bleed>.content>.sqs-code-container{width:min(1020px,calc(100% - 8vw))}}

/* ---- photo rows above some blocks (src/parts/<slug>-top.html, generated from live by tools/fe-top.js) ----
   Squarespace Fluid Engine geometry, measured 2026-10-13: desktop = our 24 content columns with an 11px
   column gap, rows 2.15% of the content width, a per-page row gap; phones = full-width rows of 24px.
   Each figure carries its own placement (--d desktop grid-area, --m phone rows) and focal point.
   padding (not margin) below, so a block's first top margin adds to it the way it does on Squarespace. */
.jc-top{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));column-gap:11px;row-gap:var(--rg,11px);grid-auto-rows:calc(.0215 * min(1020px, 92vw));padding:0 0 var(--after,10px)}
.jc-top figure{margin:0;grid-area:var(--d);overflow:hidden}
.jc-top img{width:100%;height:100%;object-fit:cover;object-position:var(--focal,50% 50%);display:block}
@media (max-width:767px){.jc-top{grid-template-columns:1fr;grid-auto-rows:24px;row-gap:var(--rgm,11px);margin:0 calc(50% - 50vw);padding-bottom:var(--afterm,10px)}.jc-top figure{grid-area:auto;grid-row:var(--m);grid-column:1}}

/* ---- footer ---- */
.jc-ftr{background:#0a0a0a;color:#d1d5db;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;border:0;box-shadow:none;font-size:1rem;font-weight:400;font-style:normal;line-height:normal;letter-spacing:normal;text-align:left;text-transform:none;word-break:normal;overflow-wrap:normal}
.jc-ftr *{box-sizing:border-box;word-break:normal;overflow-wrap:normal} /* page CSS like the calendar app's a,div,span{word-break:break-word} must not reach the shell */
.jc-ftr__in{max-width:1240px;margin:0 auto;padding:44px 4vw 28px}
.jc-ftr__top{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.jc-ftr__top img{width:44px;height:44px;object-fit:contain}
.jc-ftr__name{font-family:Anton,Impact,"Arial Narrow Bold",sans-serif;font-size:22px;letter-spacing:.06em;text-transform:uppercase;color:#fff;line-height:1}
.jc-ftr__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
@media (min-width:860px){.jc-ftr__cols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.jc-ftr__h{margin:0 0 10px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#e01b14}
.jc-ftr__col ul{list-style:none;margin:0;padding:0}
.jc-ftr__col li{margin:0 0 7px}
.jc-ftr__col a{font-size:14.5px;line-height:1.4;color:#e5e7eb}
.jc-ftr__col a:hover,.jc-ftr__col a:focus-visible{color:#fff;text-decoration:underline}
.jc-ftr__bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:14px}
.jc-ftr__bottom a{color:#fff;font-weight:700}
.jc-ftr__bottom a:hover{text-decoration:underline}
.jc-ftr__copy{margin-left:auto;color:#9ca3af;font-size:13px}
@media (max-width:640px){.jc-ftr__copy{margin-left:0;width:100%}}

/* ---- pages converted from Squarespace native blocks (tools/fe-page.js: faq, kelownabasketball, testimonials,
   privacy, the alumni pages, sponsors). The page runs edge to edge ("bleed"); each section carries its live
   padding, min-height and Fluid Engine row count, each block its live grid-area (--d desktop, --m phone).
   Grid measured 2026-10-13: desktop = 24 columns of (1020px - 253px) / 24 between gutters of at least
   4vw - 11px, 11px column gap, rows 2.15% of the content width; phones = 8 columns between 6vw - 11px
   gutters, 24px rows. Rows grow with their content, as Fluid Engine's do. */
.jc-sec{position:relative;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;padding:var(--sptm,0) 0 var(--spbm,0);min-height:var(--smhm,0)}
.jc-sec__bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.jc-sec__bg img{width:100%;height:100%;object-fit:cover;display:block}
.jc-sec__bg i{position:absolute;inset:0}
.jc-sec--under .jc-sec__bg{top:calc(-1 * var(--hovm,0px))}
@media (min-width:768px){.jc-sec--under .jc-sec__bg{top:calc(-1 * var(--hov,0px))}}
.jc-fe{position:relative;z-index:1;display:grid;grid-template-columns:calc(6vw - var(--fcgm,11px)) repeat(8,minmax(0,1fr)) calc(6vw - var(--fcgm,11px));column-gap:var(--fcgm,11px);row-gap:var(--rgm,11px);grid-template-rows:repeat(var(--rowsm),minmax(24px,auto))}
.jc-b{grid-area:var(--m);min-width:0;display:flex;flex-direction:column}
@media (min-width:768px){
  .jc-sec{padding:var(--spt,0) 0 var(--spb,0);min-height:var(--smh,0)}
  .jc-fe{grid-template-columns:minmax(calc(4vw - var(--fcg,11px)),1fr) repeat(24,minmax(0,calc((1020px - 23 * var(--fcg,11px)) / 24))) minmax(calc(4vw - var(--fcg,11px)),1fr);column-gap:var(--fcg,11px);row-gap:var(--rg,11px);grid-template-rows:repeat(var(--rows),minmax(calc(.0215 * min(1020px, 92vw)),auto))}
  .jc-b{grid-area:var(--d)}
}
/* theme colour sets that differ by section theme (read from live): "black" sections keep h3/h4 black */
.jc-sec[data-theme="black"] :where(h3,h4){color:hsla(0,0%,0%,1)}
/* text and markdown blocks: Squarespace drops the outer margins and uses its own list bullets */
.jc-b-txt>:first-child,.jc-b-md>:first-child,.jc-b-acc__desc>:first-child{margin-top:0}
.jc-b-txt>:last-child,.jc-b-md>:last-child,.jc-b-acc__desc>:last-child{margin-bottom:0}
.jc-b-txt :not(h1):not(h2):not(h3){overflow-wrap:break-word}
/* Squarespace keeps an empty text line one line tall (verbatim theme rule) */
.jc-page :is(h1,h2,h3,h4,h5,h6,p)[data-rte-preserve-empty]:empty::before{content:'';display:inline-block}
.jc-b ul[data-rte-list] li{list-style-type:none}
.jc-b ul[data-rte-list] li>*{margin-top:.5em;margin-bottom:.5em}
.jc-b ul[data-rte-list] li>:first-child::before{display:inline-block;margin-left:-40px;min-width:40px;text-align:right;box-sizing:border-box;padding-right:10px;content:"\2022"}
/* image blocks fill their grid area; fit and focal point come inline from live */
.jc-b-img{margin:0;position:relative;flex:1 1 auto;overflow:hidden}
.jc-b-img a{display:block;position:absolute;inset:0}
.jc-b-img img{position:absolute;inset:0;width:100%;height:100%;display:block}
/* buttons: style values come inline from live; this only aligns them */
.jc-b-btn{display:flex;align-items:flex-start}
.jc-btn{white-space:var(--ws-m,normal);display:inline-block;-webkit-font-smoothing:antialiased;text-align:center;font-family:var(--ff);font-weight:var(--fw);text-transform:var(--tt);border:var(--bw) var(--bs) var(--bc);border-radius:var(--br);color:var(--c);background-color:var(--bg);font-size:var(--fs-m);letter-spacing:var(--ls-m);line-height:var(--lh-m);padding:var(--pad-m)}
@media (min-width:768px){.jc-btn{white-space:var(--ws-d,normal);font-size:var(--fs-d);letter-spacing:var(--ls-d);line-height:var(--lh-d);padding:var(--pad-d)}}
/* accordions: same dividers, padding, plus icon and answer width as live */
.jc-b-acc--top::before,.jc-b-acc details::after{content:"";display:block;height:var(--acc-div-h);background:var(--acc-div-c);opacity:var(--acc-div-o)}
.jc-b-acc summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:var(--acc-pt) 0 var(--acc-pb)}
.jc-b-acc summary::-webkit-details-marker{display:none}
.jc-b-acc summary span{flex:1 1 0%;padding-right:var(--acc-icon);font-family:var(--ff);font-weight:var(--fw);text-transform:var(--tt);color:var(--c);font-size:var(--fs-m);letter-spacing:var(--ls-m);line-height:var(--lh-m)}
@media (min-width:768px){.jc-b-acc summary span{font-size:var(--fs-d);letter-spacing:var(--ls-d);line-height:var(--lh-d)}}
.jc-b-acc summary{color:var(--c)}
.jc-b-acc summary i{flex:0 0 auto;position:relative;width:var(--acc-icon);height:var(--acc-icon)}
.jc-b-acc summary i::before,.jc-b-acc summary i::after{content:"";position:absolute;left:0;top:calc(50% - var(--acc-icon-t) / 2);width:100%;height:var(--acc-icon-t);background:currentColor;transition:transform .2s}
.jc-b-acc summary i::after{transform:rotate(90deg)}
.jc-b-acc details[open] summary i::after{transform:rotate(0)}
.jc-b-acc__desc{width:var(--acc-desc-w,100%);padding:0 0 var(--acc-desc-pb,30px)}
.jc-b-hr{margin:0;border:0}
/* grid gallery sections (alumni pages; the S4 gallery pages reuse it): measured live 2026-10-13: 4vw padding,
   content width 1020px max, gap 0.9vw, square photos, caption box 15px above and below with 14px text */
.jc-gal{display:grid;grid-template-columns:repeat(var(--colsm),minmax(0,1fr));gap:var(--gapm,var(--gap));padding:var(--gptm,4vw) var(--gsm,4vw) var(--gpbm,4vw);align-items:start}
@media (min-width:768px){.jc-gal{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);padding:var(--gpt,4vw) var(--gs,max(4vw,calc((100% - 1020px) / 2))) var(--gpb,4vw)}}
.jc-gal figure{margin:0}
.jc-gal img{display:block;width:100%;aspect-ratio:var(--arm,var(--ar));object-fit:cover}
@media (min-width:768px){.jc-gal img{aspect-ratio:var(--ar)}}
.jc-gal figcaption{padding:var(--cappad,15px 0)}
.jc-gal figcaption p{margin:0;font-size:var(--capfsm,var(--capfs,14px));line-height:var(--caplh,1.6em)}
@media (min-width:768px){.jc-gal figcaption p{font-size:var(--capfs,14px)}}
.jc-gal a{display:block}
.jc-lb{cursor:pointer}
/* masonry gallery: CSS columns until /_s/media.js places each photo in the shortest column, as Squarespace does */
.jc-gal--masonry{display:block}
.jc-gal__m{columns:var(--colsm);column-gap:var(--gapm,var(--gap))}
.jc-gal__m figure{break-inside:avoid;margin:0 0 var(--gapm,var(--gap))}
@media (min-width:768px){.jc-gal__m{columns:var(--cols);column-gap:var(--gap)}.jc-gal__m figure{margin-bottom:var(--gap)}}
.jc-gal__m img{aspect-ratio:auto;height:auto}
.jc-gal__m.is-laid{columns:auto;position:relative}
.jc-gal__m.is-laid figure{position:absolute;margin:0}
/* photo lightbox (from hosting-public/camp-recap.html) */
.jc-lbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(8,8,9,.96);align-items:center;justify-content:center}
.jc-lbox.open{display:flex}
.jc-lbox img{max-width:94vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.jc-lbox button{position:fixed;margin:0;padding:0;background:rgba(255,255,255,.12);color:#fff;border:0;cursor:pointer;width:54px;height:54px;border-radius:999px;font:400 26px/1 system-ui,-apple-system,sans-serif}
.jc-lbox button:hover{background:rgba(255,255,255,.24)}
.jc-lbox__x{top:18px;right:18px}.jc-lbox__p{left:14px;top:50%;transform:translateY(-50%)}.jc-lbox__n{right:14px;top:50%;transform:translateY(-50%)}
.jc-lbox__c{position:fixed;bottom:20px;left:0;right:0;text-align:center;color:rgba(255,255,255,.72);font:600 12px/1 system-ui,-apple-system,sans-serif;letter-spacing:.2em}
/* video block: the embed in a 16:9 (or measured) box; a custom thumbnail plays on click (button.jc-vid, /_s/media.js) */
.jc-b-vid{position:relative;height:0;padding-bottom:var(--vr,56.25%);overflow:hidden}
.jc-b-vid>iframe,.jc-b-vid>.jc-vid{position:absolute;inset:0;width:100%;height:100%;border:0;margin:0;padding:0}
.jc-vid{display:block;background:#000;cursor:pointer}
.jc-vid img{display:block;width:100%;height:100%;object-fit:cover}
.jc-vid i{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M8 6 38 22 8 38Z' fill='%23fff'/%3E%3C/svg%3E") 50% 50%/44px no-repeat;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.3))}
/* gallery block, grid design: N per row, Squarespace's padding as the gap, the measured crop */
.jc-bgal{display:grid;grid-template-columns:repeat(var(--colsm),minmax(0,1fr));gap:var(--gapm,var(--gap));align-items:start}
@media (min-width:768px){.jc-bgal{grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap)}}
.jc-bgal figure,.jc-show figure{margin:0}
.jc-bgal img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);object-fit:var(--fit,cover)}
.jc-bgal figcaption,.jc-show figcaption{padding:10px 0 0}
.jc-bgal__t{margin:0;font-weight:700}.jc-bgal__d p{margin:.3em 0 0}
/* gallery block, "slider" (a strip of photos at the block's height) and "slideshow" (one photo at a time) designs; the block's
   grid area sets the height, so the strip adds none of its own (contain:size) */
/* a slider/slideshow is at least as tall as on live at that width (--sh/--shm, measured by fe-page.js) */
.jc-show{position:relative;flex:1 1 auto;min-height:var(--shm,120px);contain:size;overflow:hidden}
@media (min-width:768px){.jc-show{min-height:var(--sh,120px)}}
.jc-show__track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.jc-show__track::-webkit-scrollbar{display:none}
.jc-show__track>figure{flex:0 0 auto;height:100%;scroll-snap-align:start;position:relative}
.jc-show--strip img{display:block;height:100%;width:auto;max-width:none}
.jc-show--one .jc-show__track>figure{flex-basis:100%}
.jc-show--one img{display:block;width:100%;height:100%;object-fit:var(--fit,contain)}
.jc-show figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:rgba(0,0,0,.45);color:#fff}
.jc-show__p,.jc-show__n{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;margin:0;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:400 26px/1 system-ui,-apple-system,sans-serif;cursor:pointer;opacity:.85}
.jc-show__p:hover,.jc-show__n:hover{opacity:1}
.jc-show__p{left:10px}.jc-show__n{right:10px}
.jc-b-ig a{font-weight:700}
/* classic (pre-Fluid Engine) layout: 12-column rows inside the 1020px content width, stacked on phones; each block keeps
   the padding Squarespace gives it at each width (17px gutters, none above a column's first block on desktop) */
.jc-cl{width:min(1020px,calc(100% - 12vw));margin:0 auto}
@media (min-width:768px){.jc-cl{width:min(1020px,calc(100% - 8vw))}}
.jc-row{display:flex;flex-wrap:wrap;margin:0 calc(-1 * var(--cg,17px))}
.jc-row .jc-row{margin:0} /* only the top row reaches into the gutters, as on live */
.jc-col{flex:0 0 100%;max-width:100%;min-width:0}
@media (min-width:768px){.jc-col{flex-basis:calc(var(--span) / 12 * 100%);max-width:calc(var(--span) / 12 * 100%)}}
.jc-cb{padding:var(--bpm);box-sizing:border-box}
@media (min-width:768px){.jc-cb{padding:var(--bp)}}
/* .jc-h1-look: a second heading that was an <h1> on live keeps the h1 look as an <h2> (one H1 per indexed page) */
/* sign-in card for pages behind the app login (/_s/gate.js) */
.jc-gate{padding:6vh 0}
.jc-gate__card{max-width:460px;margin:0 auto;padding:32px 26px;border:1px solid #e5e5e5;border-radius:14px;background:#fff;color:#111;text-align:center;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.jc-gate__h{margin:0 0 12px;font-family:Anton,Impact,"Arial Narrow Bold",sans-serif;font-weight:400;font-size:32px;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;color:#0a0a0a}
.jc-gate__card p{margin:0 0 16px;font-size:16px;line-height:1.5}
.jc-gate__form{margin:0 0 6px;text-align:left}
.jc-gate__form label{display:block;margin:0 0 6px;font-size:14px;font-weight:700}
.jc-gate__row{display:flex;gap:8px}
.jc-gate__row input{flex:1;min-width:0;margin:0;padding:12px 14px;border:1px solid #c8c8c8;border-radius:10px;font:16px/1.2 system-ui,-apple-system,sans-serif;color:#111;background:#fff}
.jc-gate__row button{margin:0;padding:12px 18px;border:0;border-radius:10px;background:#e01b14;color:#fff;font:800 15px/1.2 system-ui,-apple-system,sans-serif;cursor:pointer}
.jc-gate__row button:hover{background:#c4140e}
.jc-gate__card .jc-gate__msg{min-height:1.5em;margin:10px 0 8px;font-size:14px;color:#374151}
.jc-gate__card .jc-gate__msg.is-bad{color:#c4140e}
.jc-gate__card .jc-gate__help{margin:0;font-size:13px;color:#6b7280}
/* short pages (sign-in cards, empty galleries): footer at the bottom of the window, as Squarespace's site wrapper does */
.jc-site{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip} /* like Squarespace's .fluid-engine{overflow-x:clip}: a button or card 1-2px past the edge must not zoom a phone out */
.jc-site>main{flex:1 0 auto}
/* forms posting to a function (/_s/form.js), styled like the Squarespace form they replace: Garamond labels, grey
   inputs with a black hairline, outlined uppercase button */
.jc-form{display:grid;gap:20px;font-family:"JC Garamond",Garamond,Georgia,serif;font-size:1rem;line-height:1.6;color:#000}
.jc-form fieldset{min-width:0;margin:0;padding:0;border:0}
.jc-form legend{margin:0;padding:0;font-size:1rem}
.jc-form__pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jc-form label{display:block;font-size:1rem}
.jc-form__pair label{font-size:.82rem}
.jc-form small{display:inline;margin-left:.3em;font-size:.8em;opacity:.65}
.jc-form input,.jc-form textarea{display:block;width:100%;box-sizing:border-box;margin:4px 0 0;padding:10px;border:1px solid #000;border-radius:0;background:#fafafa;font:inherit;color:#000}
.jc-form textarea{height:100px;resize:vertical}
.jc-form button{margin:0;padding:17px 22px;border:1px solid #1a1a1a;border-radius:0;background:transparent;color:#1a1a1a;font:600 12.68px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.jc-form button:disabled{opacity:.5;cursor:default}
@media (max-width:767px){.jc-form button{font-size:13.3px;padding:16px 21px}}
.jc-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.jc-form__msg{margin:0;min-height:1.6em}
.jc-form__msg.is-bad{color:#c4140e}
.jc-form__done{margin:0}

/* ---- site search (2026-10-31): header magnifier + overlay; /_s/search.js ---- */
.jc-hdr__search{flex:none;width:40px;height:40px;margin-left:4px;border:0;border-radius:8px;background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.jc-hdr__search:hover,.jc-hdr__search:focus-visible{background:rgba(255,255,255,.1);outline:none}
.jc-hdr__search svg{width:22px;height:22px;display:block}
@media (max-width:1080px){.jc-hdr__search{order:1;margin-left:auto}.jc-hdr__mob{order:2}}
.jc-srch{position:fixed;inset:0;z-index:99999;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.jc-srch *{box-sizing:border-box;word-break:normal;overflow-wrap:anywhere}
.jc-srch__bd{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.jc-srch__panel{position:relative;max-width:680px;margin:7vh auto 0;background:#fff;color:#111;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);max-height:84vh;display:flex;flex-direction:column}
.jc-srch__form{display:flex;align-items:center;border-bottom:1px solid #e8e8e8;margin:0}
.jc-srch__in{flex:1;font:inherit;font-size:19px;padding:18px 20px;border:0;outline:none;background:#fff;color:#111;min-width:0;-webkit-appearance:none;appearance:none;border-radius:0}
.jc-srch__x{flex:none;width:48px;height:48px;border:0;background:transparent;font-size:30px;line-height:1;color:#666;cursor:pointer;margin-right:6px;border-radius:10px}
.jc-srch__x:hover{background:#f2f2f2;color:#111}
.jc-srch__res{overflow:auto;padding:8px;-webkit-overflow-scrolling:touch}
.jc-srch__item{display:block;padding:12px 14px;border-radius:12px;color:#111;text-decoration:none}
.jc-srch__item:hover,.jc-srch__item:focus-visible{background:#fbeaea;outline:none}
.jc-srch__item .t{display:block;font-weight:800;font-size:16px;line-height:1.3}
.jc-srch__item .s{display:block;font-size:14px;color:#555;margin-top:3px;line-height:1.45}
.jc-srch__item .u{display:block;font-size:12px;color:#9a9a9a;margin-top:4px}
.jc-srch__item mark{background:#ffe9a8;color:inherit;padding:0 1px;border-radius:3px}
.jc-srch__item--quick .t{font-size:15px}
.jc-srch__item--quick .t::before{content:"\2192  ";color:#e01b14}
.jc-srch__hint,.jc-srch__none{margin:10px 14px;font-size:14px;color:#666}
.jc-srch__none{font-weight:800;color:#111;font-size:16px}
.jc-srch__hint a{color:#e01b14;font-weight:700}
html.jc-srch-open{overflow:hidden}
@media (max-width:640px){.jc-srch__panel{margin:0;max-height:100vh;height:100vh;border-radius:0}.jc-srch__in{font-size:17px;padding:16px}}

/* 2026-11-02 (Andrew, phone screenshot): logo + wordmark + search + MENU added up to more than the screen, so the MENU pill
   was clipped on the right. The brand may now shrink (it was flex:none), the wordmark scales with the screen, gaps and
   side padding tighten, and search + MENU never shrink. "MENU" stays as text (Andrew: "I dont mind it saying menu"). */
@media (max-width:600px){
  .jc-hdr__in{padding:0 12px;gap:8px}
  .jc-hdr__brand{flex:1 1 auto;min-width:0;gap:8px}
  .jc-hdr__name{font-size:clamp(11px,3.4vw,17px);white-space:nowrap;overflow:hidden;text-overflow:clip}
  .jc-hdr__brand img{width:clamp(32px,9.5vw,42px);height:clamp(32px,9.5vw,42px)}
  .jc-hdr__search{flex:none;margin-left:0;width:36px;height:36px}
  .jc-hdr__mob{flex:none}
  .jc-hdr__mob>summary{padding:9px 12px;font-size:14px}
}
@media (max-width:340px){ .jc-hdr__name{display:none} }
