/* =========================================================
   UISLC — United overrides on the shared concept engine
   ========================================================= */
:root{--red:#d3122f}

/* crest = left 608px of the 2172×724 wordmark, cropped with CSS */
.crest{position:relative;display:inline-block;aspect-ratio:608/724;overflow:hidden;line-height:0}
.crest img{position:absolute!important;left:0!important;top:0!important;height:100%!important;width:auto!important;max-width:none!important;transform:none!important;filter:none!important}

/* intro */
.intro-crest-u{width:min(240px,46vw);overflow:visible;display:grid;place-items:center}
.intro-crest-u .crest{width:100%;filter:drop-shadow(0 20px 40px rgba(211,18,47,.45))}
.intro-ring{position:absolute;inset:-18%;border-radius:50%;border:3px solid var(--red);opacity:0}
.intro-crest-u .intro-glint{display:none}
.intro-word{position:absolute;left:0;right:0;top:calc(50% + min(170px,32vw));text-align:center;font-family:var(--display);font-weight:900;font-size:clamp(1.4rem,3vw,2.4rem);letter-spacing:.5em;text-transform:uppercase;color:#fff;opacity:0}

/* header crest */
.hdr-crest{width:100px}
.hdr-crest .crest{position:absolute;left:50%;top:8px;width:92px;transform:translateX(-50%);filter:drop-shadow(0 14px 22px rgba(0,0,0,.55));transition:width .5s var(--ease),top .5s var(--ease),transform .5s var(--ease)}
.hdr-crest:hover .crest{transform:translateX(-50%) scale(1.05) rotate(-2deg)}
.hdr.is-scrolled .hdr-crest .crest{width:56px;top:5px}
.fm-crest .crest{width:58px}
.hk-crest .crest{width:44px}

/* hero */
.hero-title{font-size:clamp(3.4rem,8.2vw,9.4rem);line-height:.84}
.hero-content{max-width:1300px}

/* tapes: crest separators */
.tape .crest{height:clamp(44px,5vw,70px);width:auto}

/* provinces mega tiles (no photos: red code tiles) */
.prov-tiles{grid-template-columns:repeat(5,1fr)}
.prov-tiles a{aspect-ratio:1.1;background:linear-gradient(160deg,#26262b,#121214);display:flex;align-items:flex-end;padding:12px;transition:background .4s,transform .5s var(--ease)}
.prov-tiles a:hover{background:linear-gradient(160deg,var(--red),#6d0718);transform:translateY(-4px)}
.prov-tiles span{position:static;font-size:15px;line-height:1.05}
.prov-tiles small{font-family:var(--display);font-size:2.2rem;font-weight:900;letter-spacing:0;color:transparent;-webkit-text-stroke:1.5px #fff;margin-bottom:6px}

/* province cards */
.team-card .prov-code{position:absolute;right:14px;top:6px;z-index:1;font-family:var(--display);font-weight:900;font-size:clamp(5rem,8vw,8.4rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.85)}
.team-card h3{font-size:clamp(2.2rem,3.2vw,3.6rem)}
.team-cta .crest{position:absolute;left:50%;top:36%;width:52%;transform:translate(-50%,-50%) rotate(-8deg)!important;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.team-cta .crest img{transform:none!important}
.team-cta:hover .crest{transform:translate(-50%,-50%) rotate(0) scale(1.06)!important}

/* stack cards with video */
.sc-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* about seal crest */
.about-seal .crest{width:52px}

/* ---------- Play 2 Earn ---------- */
.p2e{position:relative;padding:clamp(100px,11vw,170px) 0;background:radial-gradient(ellipse at 75% 45%,rgba(211,18,47,.28),transparent 55%),linear-gradient(180deg,#0a0a0b,#101013);overflow:hidden}
.p2e::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 60px,rgba(255,255,255,.02) 60px 61px);pointer-events:none}
.p2e-bgword{position:absolute;left:0;top:clamp(30px,4vw,60px);width:100%;overflow:hidden;pointer-events:none}
.p2e-bgword span{display:inline-block;white-space:nowrap;font-family:var(--display);font-weight:900;font-size:clamp(6rem,14vw,16rem);line-height:.8;text-transform:uppercase;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.05);animation:marq 70s linear infinite}
.p2e-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1600px;margin:0 auto;padding:0 var(--gut)}
.p2e-copy .kicker{margin-bottom:26px}
.p2e-lede{color:#cfced4;max-width:520px;margin-top:24px;font-size:17px}
.p2e-chips{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.p2e-chips li{padding:9px 14px;border:1px solid var(--line);font-family:var(--display);font-weight:800;font-size:1.1rem;text-transform:uppercase;transition:background .4s,border-color .4s}
.p2e-chips li:hover{background:var(--red);border-color:var(--red)}
.p2e-fund{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:4px 18px;padding:22px 0;margin-bottom:30px;border-top:2px solid var(--red);border-bottom:1px solid var(--line);max-width:600px}
.p2e-fund-label{grid-column:1/-1;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.p2e-count{font-family:var(--display);font-weight:900;font-size:clamp(4rem,7.5vw,7.6rem);line-height:.8;color:#fff;text-shadow:0 0 40px rgba(211,18,47,.55);font-variant-numeric:tabular-nums}
.p2e-fund-sub{font-size:14px;color:#cfced4;max-width:260px;padding-bottom:6px}
.p2e-ctas{display:flex;flex-wrap:wrap;gap:12px}
.p2e-stage{position:relative;perspective:1600px;min-height:clamp(380px,42vw,640px)}
.p2e-glow{position:absolute;left:10%;right:10%;top:20%;bottom:10%;background:radial-gradient(ellipse,rgba(211,18,47,.45),transparent 65%);filter:blur(30px)}
.p2e-laptop{position:absolute;left:0;top:6%;width:88%;transform-style:preserve-3d;transform:rotateY(-14deg) rotateX(6deg);box-shadow:0 60px 120px rgba(0,0,0,.7);border-radius:18px;overflow:hidden;will-change:transform}
.p2e-laptop img{width:100%;display:block}
.p2e-phone{position:absolute;right:0;bottom:0;width:34%;border-radius:22px;overflow:hidden;box-shadow:0 40px 80px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.08);transform:rotate(4deg);will-change:transform}
.p2e-phone img{width:100%;display:block}
.p2e-badge{position:absolute;left:6%;bottom:6%;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:rgba(10,10,11,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line)}
.p2e-badge b{display:grid;place-items:center;width:56px;height:56px;background:var(--gold);color:var(--ink);font-family:var(--display);font-weight:900;font-size:2rem;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.p2e-badge span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;line-height:1.3}

/* statement crest */
.quote-crest .crest{width:min(640px,90vw)}
.q-text{max-width:1400px}

/* news */
.news-band{background:var(--ink)}
.news-row{display:flex;gap:16px;overflow-x:auto;padding:50px var(--gut) 10px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.news-row::-webkit-scrollbar{display:none}
.news-card{position:relative;flex:none;width:clamp(270px,26vw,380px);min-height:300px;padding:28px;display:flex;flex-direction:column;background:var(--char-2);scroll-snap-align:start;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%);transition:background .5s,transform .5s var(--ease)}
.news-card:hover{background:var(--red);transform:translateY(-6px)}
.news-card .news-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;transition:opacity .5s,transform 1s var(--ease)}
.news-card:hover .news-img{opacity:.18;transform:scale(1.06)}
.news-card>*:not(.news-img){position:relative}
.news-date{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.news-card:hover .news-date{color:#fff}
.news-card h3{font-family:var(--display);font-weight:900;font-size:clamp(1.9rem,2.4vw,2.5rem);line-height:.92;text-transform:uppercase;margin:16px 0}
.news-go{margin-top:auto;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.news-go::after{content:'';display:inline-block;width:34px;height:3px;background:#fff;margin-left:10px;vertical-align:middle;transition:width .5s var(--ease)}
.news-card:hover .news-go::after{width:60px}

/* partners */
.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1100px;margin:0 auto;padding:0 var(--gut)}
.partner{display:grid;place-items:center;aspect-ratio:2/1;background:#f4f1eb;padding:24px;transition:background .5s,transform .6s var(--ease)}
.partner img{max-height:90px;max-width:100%;width:auto;object-fit:contain}
.partner:hover{background:#fff;transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.1)}
.partner-open{background:var(--ink);color:#fff;text-align:center;align-content:center;gap:6px}
.partner-open span{font-family:var(--display);font-weight:900;font-size:2rem;text-transform:uppercase}
.partner-open small{font-size:13px;color:var(--mute)}
.partner-open:hover{background:var(--red)}
.partner-open:hover small{color:#fff}

/* footer */
.ftr-crest{width:96px;margin-bottom:22px}
.ftr-brand p{font-size:24px}
.ftr-word{background-image:url('assets/img/uislc-huddle.jpg')}

@media (max-width:1100px){
  .hdr-crest{width:64px}
  .hdr-crest .crest{left:0;transform:none;width:56px;top:6px}
  .hdr-crest:hover .crest{transform:scale(1.05)}
  .hdr.is-scrolled .hdr-crest .crest{width:46px}
  .p2e-grid{grid-template-columns:1fr}
  .p2e-stage{order:-1;margin-bottom:20px}
}
@media (max-width:600px){
  .hero-title{font-size:clamp(3rem,15vw,5rem)}
  .p2e-phone{width:40%}
  .p2e-badge{display:none}
  .partner-grid{grid-template-columns:1fr}
  .prov-tiles{grid-template-columns:repeat(2,1fr)}
}

/* Play 2 Earn Sports network bar — same component as the club sites (All Stars) */
.p2es-platform-bar{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;height:44px;padding:0 18px;background:#090b1c;border-bottom:1px solid rgba(197,255,0,.4);overflow:hidden;transition:height .5s var(--ease),border-color .5s}
.p2es-platform-brand{display:inline-flex;align-items:center;gap:10px;color:#f7f8ff;font:700 13px/1.2 Arial,sans-serif;letter-spacing:.02em}
.p2es-platform-brand img{width:38px;height:34px;object-fit:contain}
.p2es-platform-brand strong{color:#c5ff00;font-weight:800}
.p2es-platform-brand:hover span{text-decoration:underline;text-underline-offset:3px}
.hdr.is-scrolled .p2es-platform-bar{height:0;border-color:transparent}
@media (max-width:600px){.p2es-platform-bar{height:40px;padding:0 12px}.p2es-platform-brand{font-size:12px}.p2es-platform-brand img{width:34px;height:30px}}

.about::before{content:'UNITED'}
@media (max-width:900px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- facility fund ---------- */
.fund{padding:clamp(90px,10vw,150px) var(--gut);background:var(--ink)}
.fund-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1500px;margin:0 auto}
.fund-art{position:relative;aspect-ratio:16/10;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%)}
.fund-art img{width:100%;height:120%;object-fit:cover;margin-top:-10%}
.fund-art figcaption{position:absolute;left:16px;bottom:14px;padding:5px 10px;background:rgba(0,0,0,.6);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.fund-copy .kicker{margin-bottom:22px}
.fund-goal{display:flex;align-items:baseline;gap:12px;margin:34px 0 16px;flex-wrap:wrap}
.fund-goal span{width:100%;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.fund-goal strong{font-family:var(--display);font-weight:900;font-size:clamp(3.6rem,6vw,6.4rem);line-height:.8}
.fund-goal small{font-size:14px;font-weight:700;color:var(--mute)}
.fund-bar{position:relative;height:14px;background:rgba(255,255,255,.08);overflow:hidden}
.fund-bar i{position:absolute;inset:0 auto 0 0;width:max(var(--p),6px);background:linear-gradient(90deg,var(--red),var(--gold))}
.fund-meta{margin:12px 0 22px;font-size:14px;color:#cfced4}
.fund-meta b{color:#fff}
.fund-copy .about-body{color:#cfced4;margin-bottom:28px;max-width:520px}

/* ---------- member directory ---------- */
.directory{padding:clamp(90px,10vw,150px) 0;background:var(--ink)}
.dir-shell{max-width:1300px;margin:50px auto 0;padding:0 var(--gut)}
.dir-bar .field input{background:var(--char-2);color:#fff;border-bottom-color:#3a3a40}
.dir-bar .field label{color:var(--mute)}
.dir-bar .field input:focus{background:#222227}
.dir-prov{margin:18px 0 30px}
.dir-prov a{display:block}
.dir-empty{display:grid;justify-items:center;text-align:center;gap:14px;padding:clamp(40px,6vw,80px) 20px;background:var(--char-2);clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%)}
.dir-empty .crest{width:84px}
.dir-empty h3{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,4vw,4rem);text-transform:uppercase;line-height:.9}
.dir-empty p{max-width:620px;color:#cfced4}

/* ---------- club portal ---------- */
.portal{padding:clamp(90px,10vw,150px) var(--gut);background:var(--bone);color:var(--ink)}
.portal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,80px);align-items:center;max-width:1400px;margin:0 auto}
.portal-card{display:grid;gap:16px}
.portal-card .crest{width:64px}
.portal-card .fields{grid-template-columns:1fr;margin-bottom:6px}
.portal-art{overflow:hidden;box-shadow:0 50px 90px rgba(10,10,11,.3);clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%)}
.portal-art img{width:100%;display:block}

/* ---------- contact (4 cards) ---------- */
.contact-4{grid-template-columns:repeat(4,1fr)}
.ccard em{font-style:normal;color:var(--mute);font-size:15px}
.ccard:hover em{color:#fff}
.chips-sec{grid-template-columns:1fr}
.res-grid{grid-template-columns:repeat(3,1fr)}

@media (max-width:900px){
  .fund-grid,.portal-grid{grid-template-columns:1fr}
  .contact-4{grid-template-columns:1fr 1fr}
  .res-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){.contact-4,.res-grid{grid-template-columns:1fr}}

/* drop Kearny-only asset references from the shared engine */
.intro-crest{-webkit-mask:none!important;mask:none!important}
.hero-stage{background-color:#111}
.ftr-word{background-image:url('assets/img/uislc-huddle.jpg')!important}
@media (max-width:600px){.fact strong{white-space:normal;font-size:clamp(2.2rem,11vw,3.4rem)}}
.hero-title{font-size:clamp(3rem,min(8.2vw,11.5vh),9.4rem)}
.phero .hero-title{font-size:clamp(3rem,min(9.5vw,11.5vh),10rem)}
@media (max-width:600px){.hero-title,.phero .hero-title{font-size:clamp(2.8rem,min(14vw,8vh),5rem)}}

/* $88K sponsorship line: reads as one phrase */
.p2e-fund{display:block;padding:24px 0 22px}
.p2e-fund-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;margin:0}
.p2e-fund-line .p2e-fund-label{font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,2.4vw,2.4rem);letter-spacing:.02em;line-height:1;color:var(--gold);grid-column:auto}
.p2e-fund-line .p2e-count{font-size:clamp(4.4rem,8vw,8rem);line-height:.8}
.p2e-fund-in{font-family:var(--display);font-weight:900;font-size:clamp(1.4rem,2.1vw,2.1rem);line-height:.95;text-transform:uppercase;color:#fff}
.p2e-fund .p2e-fund-sub{max-width:520px;margin-top:14px;padding:0}

/* header buttons never wrap; make room on mid-width screens */
.btn{white-space:nowrap}
@media (max-width:1400px){.hdr-right .nav-link[href*="blog"]{display:none}.hdr-right{gap:6px}}
@media (max-width:1250px){.hdr-right .nav-link{display:none}}

/* =========================================================
   CANADA — flags & maple leaves throughout
   ========================================================= */
:root{--canada:#d52b1e}
.flag-i{display:inline-block;height:.95em;width:auto;aspect-ratio:2/1;vertical-align:-.1em;margin-right:.6em;box-shadow:0 0 0 1px rgba(255,255,255,.35);border-radius:1px}
.tag .flag-i{height:1em;margin-right:.45em;box-shadow:none}

/* section labels: maple leaf instead of the red bar */
.kicker b{width:16px;height:16px;background:url('assets/brand/maple-leaf.svg') center/contain no-repeat}
/* header ticker: white leaves between items */
.hdr-ticker .ticker-group b{width:13px;height:13px;background:url('assets/brand/maple-leaf-white.svg') center/contain no-repeat;transform:none}
/* hero kicker + intro */
.hk-flag img{height:34px;width:auto;display:block;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.intro-bars i:nth-child(odd){background:var(--canada)}
.intro-flag{display:block;height:34px;width:auto;margin:0 auto 14px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
/* tapes: leaves */
.tape .leaf{height:clamp(30px,3.6vw,50px);width:auto}
.tape-a .leaf{filter:brightness(0) invert(1)}
/* pyramid */
.tier-leaf{width:clamp(18px,1.6vw,24px);height:auto;margin-bottom:2px}
/* cursor: a small maple leaf until it grows into a label */
.has-cursor .cursor:not(.is-label):not(.is-link){background:url('assets/brand/maple-leaf.svg') center/contain no-repeat;border-radius:0;width:20px;height:20px;margin:-10px 0 0 -10px}

/* ---------- waving flag band ---------- */
.canada-band{position:relative;padding:clamp(100px,11vw,170px) 0 0;background:radial-gradient(ellipse at 30% 40%,rgba(213,43,30,.22),transparent 60%),var(--ink);overflow:hidden}
.canada-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,90px);align-items:center;max-width:1600px;margin:0 auto;padding:0 var(--gut)}
.wave-flag{display:flex;width:100%;aspect-ratio:2/1;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6));transform:perspective(1400px) rotateY(12deg) rotateZ(-2deg)}
.wave-flag i{flex:1;background:url('assets/brand/flag-canada.svg') no-repeat;background-size:4800% 100%;background-position:calc(var(--i) * 100% / 47) 0;animation:flagwave 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.055s)}
@keyframes flagwave{0%,100%{transform:translateY(-3.5%);filter:brightness(1.08)}50%{transform:translateY(3.5%);filter:brightness(.82)}}
.wave-flag::before{content:'';position:absolute}
.canada-copy .kicker{margin-bottom:22px}
.canada-copy>p{color:#cfced4;max-width:460px;margin:22px 0 30px;font-size:17px}
.prov-marquee{margin-top:clamp(70px,8vw,120px);background:var(--canada);padding:16px 0;overflow:hidden}
.pm-track{display:flex;align-items:center;gap:30px;width:max-content;animation:marq 40s linear infinite}
.pm-track span{font-family:var(--display);font-weight:900;font-size:clamp(1.8rem,3vw,3rem);text-transform:uppercase;white-space:nowrap}
.pm-track .leaf{height:clamp(22px,2.4vw,34px);width:auto;filter:brightness(0) invert(1)}

/* footer */
.ftr-proud{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-family:var(--display);font-weight:900;font-size:1.3rem!important;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.ftr-proud img{height:24px;width:auto;box-shadow:0 0 0 1px rgba(255,255,255,.3)}

@media (max-width:900px){.canada-inner{grid-template-columns:1fr}.wave-flag{transform:none}}
@media (prefers-reduced-motion:reduce){.wave-flag i{animation:none}}
