:root{--orange:#f26a21;--orange2:#ff7a25;--black:#0b0b0c;--ink:#151515;--cream:#f5f0e8;--white:#fff;--line:#d7d1c7;--muted:#777;--serif:'Barlow Condensed',Impact,sans-serif;--sans:'Inter',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}.topline{height:28px;background:var(--orange);color:#111;display:flex;align-items:center;gap:28px;padding:0 4vw;font:700 10px var(--sans);letter-spacing:.16em}.topline-spacer{flex:1}.site-header{height:76px;background:#090909;color:#fff;display:flex;align-items:center;padding:0 4vw;position:sticky;top:0;z-index:20;border-bottom:1px solid #272727}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mark{width:43px;height:43px;background:var(--orange);color:#111;display:grid;place-items:center;font:900 18px var(--serif);letter-spacing:-.03em;border:2px solid #fff}.brand-logo{width:43px;height:43px;border-radius:6px;object-fit:cover;display:block}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:800 16px var(--serif);letter-spacing:.05em}.brand-copy em{font:600 9px var(--sans);font-style:normal;letter-spacing:.2em;color:#bbb;margin-top:4px}.nav{margin-left:auto;display:flex;align-items:center;gap:25px}.nav a{color:#ddd;text-decoration:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav a:hover{color:var(--orange)}.nav-cta{background:var(--orange);color:#111!important;padding:12px 15px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:25px}.hero{min-height:650px;position:relative;background:#151515;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;background-image:url('assets/images/hero.jpg');background-size:cover;background-position:center 42%;}.hero-photo:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 28px,rgba(255,255,255,.025) 28px 29px)}.photo-placeholder{display:grid;place-items:center;overflow:hidden}.photo-label{position:relative;z-index:1;border:1px dashed #777;padding:18px 25px;text-align:center;color:#aaa;font:800 12px var(--sans);letter-spacing:.12em}.photo-label small{font:500 9px var(--sans);letter-spacing:.06em}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.64) 43%,rgba(0,0,0,.18) 100%)}.hero-content{position:relative;z-index:2;padding:95px 8vw 100px;max-width:850px}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.18em}.eyebrow{color:var(--orange);margin:0 0 20px}.hero h1{font:900 clamp(74px,11vw,155px)/.78 var(--serif);letter-spacing:-.035em;margin:0;text-transform:uppercase}.hero h1 span{color:transparent;-webkit-text-stroke:2px #fff}.hero-lede{font-size:17px;max-width:490px;color:#ddd;margin:34px 0 28px}.hero-actions{display:flex;gap:12px}.button{display:inline-flex;align-items:center;gap:15px;text-decoration:none;font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:15px 19px}.button-orange{background:var(--orange);color:#111}.button-ghost{border:1px solid #777;color:#fff}.button-black{background:#111;color:#fff}.hero-score{position:absolute;right:5vw;bottom:34px;z-index:3;border-left:3px solid var(--orange);padding-left:15px}.score-label{display:block;font-size:9px;letter-spacing:.2em;color:#aaa}.hero-score strong{font-size:11px;letter-spacing:.08em}.ticker{display:grid;grid-template-columns:repeat(4,1fr);background:#111;color:#fff;border-top:1px solid #333;border-bottom:1px solid #333}.ticker div{padding:14px;text-align:center;font:800 10px var(--sans);letter-spacing:.15em;border-right:1px solid #333}.section{padding:95px 8vw}.section-kicker{color:#777;margin-bottom:35px}.section-kicker.light{color:var(--orange)}h2{font:900 clamp(50px,7vw,92px)/.83 var(--serif);letter-spacing:-.035em;margin:0;text-transform:uppercase}h2 span{color:var(--orange)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.intro-copy{padding-top:10px}.lead{font-size:21px;line-height:1.45;font-weight:600}.intro-copy p:not(.lead){color:#666;max-width:540px}.text-link{display:inline-flex;gap:10px;color:#111;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;margin-top:18px;border-bottom:2px solid var(--orange);padding-bottom:7px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:75px}.stats-row>div{padding:22px 22px 0 0;border-right:1px solid var(--line)}.stats-row>div+div{padding-left:22px}.stats-row strong{font:800 42px var(--serif);color:var(--orange);display:block}.stats-row span{font:800 11px var(--sans);letter-spacing:.12em}.stats-row p{color:#777;font-size:12px;max-width:190px}.section-dark{background:#0d0d0d;color:#fff}.feature{padding:95px 8vw}.feature-head{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:45px}.feature-head p,.split-copy p,.contact-inner p{color:#aaa;font-size:15px;max-width:430px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#333}.card{background:#151515;padding:38px;min-height:330px;position:relative;border-top:4px solid transparent}.card-accent{background:var(--orange);color:#111;border-top-color:#fff}.card-accent p,.card-accent a{color:#222}.card-no{position:absolute;top:25px;right:28px;font:800 13px var(--serif);opacity:.6}.card-icon{font-size:28px;margin-bottom:35px}.card h3{font:800 28px var(--serif);margin:0 0 12px}.card p{color:#aaa;font-size:13px;max-width:310px}.card a{color:#fff;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;position:absolute;bottom:30px}.pathway-title{display:grid;grid-template-columns:1fr .5fr;gap:7vw}.pathway-title p{color:#777}.pathway-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:75px;position:relative}.pathway-line:before{content:'';position:absolute;top:25px;left:5%;right:5%;height:2px;background:#c8c1b7}.step{position:relative;text-align:center}.step b{width:50px;height:50px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#111;color:var(--orange);font:800 14px var(--serif);position:relative;z-index:2;border:4px solid var(--cream)}.step span{display:block;margin-top:18px;font:900 19px var(--serif)}.step small{display:block;color:#777;font-size:10px;margin-top:7px}.split-feature{display:grid;grid-template-columns:1fr 1fr;background:#111;color:#fff}.split-photo{min-height:560px;background-image:url('assets/images/action.jpg');background-size:cover;background-position:center;}.split-copy{padding:90px 8vw;display:flex;flex-direction:column;justify-content:center}.split-copy h2{margin:0 0 25px}.quote{margin-top:30px;padding:20px 0 0;border-top:1px solid #444;color:#ddd;font:600 21px/1.35 var(--serif);max-width:500px}.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.community-list{border-top:1px solid var(--line)}.community-list div{display:grid;grid-template-columns:150px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font-size:12px}.community-list b{font:800 13px var(--serif)}.community-list span{color:#777}.news{padding-bottom:110px}.news-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.news-card{border-top:1px solid #aaa;padding-top:12px}.mini-photo{height:210px;margin-bottom:18px;background-size:cover;background-position:center}.news-photo-1{background-image:url('assets/images/news-training.jpg');background-position:center 40%}.news-photo-2{background-image:url('assets/images/news-youth.jpg');background-position:center 35%}.news-photo-3{background-image:url('assets/images/news-player.jpg');background-position:center 50%}.news-photo-onwabile{background-image:url('assets/images/onwabile-sa.jpg');background-position:center 45%}.news-photo-entle{background-image:url('assets/images/entle-u10.jpg');background-position:center 48%}.news-photo-coaches{background-image:url('assets/images/coaches.jpg');background-position:center 35%}.news-card>p{font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--orange)}.news-card h3{font:800 29px/1 var(--serif);margin:7px 0 20px}.news-card a{font-size:10px;color:#111;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.contact{padding:90px 8vw}.contact-inner{display:grid;grid-template-columns:1fr .55fr;gap:10vw;align-items:end}.contact-inner h2{margin-bottom:15px}.contact-inner .button{margin-top:20px}
.socials{display:flex;gap:18px;margin-top:22px}.socials a{color:#ccc;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #444;padding-bottom:4px}.socials a:hover{color:var(--orange);border-color:var(--orange)}
.footer{background:#050505;color:#aaa;padding:28px 4vw;display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;font-size:10px}.footer-brand{display:flex;align-items:center;gap:10px;color:#fff}.footer-brand .brand-mark{width:32px;height:32px;font-size:13px}.footer-brand .brand-logo{width:32px;height:32px;border-radius:5px}.footer-brand strong{font:800 12px var(--serif);letter-spacing:.08em}
.footer-socials{display:flex;gap:16px;margin-left:auto}.footer-socials a{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.footer a{color:#fff;text-decoration:none;font-weight:700}
.footer a:hover,.footer-socials a:hover{color:var(--orange)}
@media(max-width:850px){.topline{gap:10px;padding:0 15px}.topline span:nth-child(2),.topline span:nth-child(3){display:none}.site-header{padding:0 18px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#090909;padding:20px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{padding:12px}.hero{min-height:650px}.hero-content{padding:80px 6vw}.hero-score{left:6vw;right:auto}.ticker{grid-template-columns:1fr 1fr}.ticker div{border-bottom:1px solid #333}.section,.feature{padding:70px 6vw}.intro-grid,.feature-head,.pathway-title,.community-grid,.contact-inner,.split-feature{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}.stats-row>div{min-height:145px}.cards,.news-grid{grid-template-columns:1fr}.pathway-line{grid-template-columns:1fr;gap:25px}.pathway-line:before{top:0;bottom:0;left:calc(50% - 1px);right:auto;width:2px;height:auto}.step{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center}.step b{grid-column:2;grid-row:1/3}.step span{text-align:right;grid-column:1;grid-row:1}.step small{text-align:right;grid-column:1;grid-row:2}.step:after{content:''}.split-photo{min-height:360px}.news-head{display:block}.footer{flex-wrap:wrap}.footer-socials{margin-left:0}.hero h1{font-size:78px}}

/* ============================================================
   ADDED — inner-page components (fixtures, gallery, get involved,
   contact) in the same visual system as the rest of the site.
   ============================================================ */

.page-hero{background:#0d0d0d;color:#fff;padding:70px 8vw 55px;border-bottom:1px solid #272727}
.page-hero .section-kicker{color:var(--orange);margin-bottom:18px}
.page-hero h1{font:900 clamp(56px,8vw,110px)/.82 var(--serif);letter-spacing:-.03em;text-transform:uppercase;margin:0 0 18px}
.page-hero p{color:#bbb;font-size:16px;max-width:520px;margin:0}

.crumb-nav{background:#111;border-bottom:1px solid #272727;padding:12px 8vw;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#888}
.crumb-nav a{color:#888;text-decoration:none}
.crumb-nav a:hover{color:var(--orange)}

.next-game-strip{background:var(--orange);color:#111;padding:16px 8vw;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;font:800 12px var(--sans);letter-spacing:.06em;text-transform:uppercase}

.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 8vw 30px}
.filter-btn{font:800 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:11px 20px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.filter-btn.active,.filter-btn:hover{background:var(--ink);color:#fff}

.sched-block{padding:0 8vw 90px}
.sched-block h2{font:900 32px var(--serif);text-transform:uppercase;margin:0 0 18px;letter-spacing:-.02em}
.sched-wrap{overflow-x:auto;border:1px solid var(--line);margin-bottom:14px}
table.sched{width:100%;border-collapse:collapse;background:#fff;min-width:560px}
table.sched th,table.sched td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--line);font-size:12.5px}
table.sched thead th{background:var(--ink);color:#fff;font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}
table.sched tbody tr:hover td{background:var(--cream)}
.badge{display:inline-block;font:800 9.5px var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:4px 9px}
.badge-home{background:#e4f2e6;color:#1f7a34}
.badge-away{background:#fce7df;color:#c1500f}
.badge-bye{background:#ececec;color:#888}
.badge-mixed{background:#eaf1fb;color:#25578f}
.badge-playoff{background:#111;color:var(--orange)}
.sched-note{font-size:12px;color:#888;max-width:640px}

.involve-section{padding:90px 8vw;background:#0d0d0d;color:#fff}
.involve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#333;margin-top:40px}
.involve-card{background:#151515;padding:32px 28px;border-top:4px solid var(--orange)}
.involve-card h3{font:800 24px var(--serif);margin:0 0 10px;text-transform:uppercase}
.involve-card p{color:#aaa;font-size:13px;margin:0 0 20px}
.involve-card a.button{padding:12px 16px}

.gallery-section{padding:90px 8vw}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery-tile{aspect-ratio:4/3;background:#151515;overflow:hidden;position:relative}
.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-tile .cap{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.72);color:#fff;font:800 10px var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:8px 10px}

.contact-section{padding:90px 8vw;background:#f5f0e8}
.contact-grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;margin-top:40px}
.contact-info .item{margin-bottom:24px}
.contact-info h4{font:800 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin:0 0 6px}
.contact-info p{margin:0;font-size:14px}
form.contact-form{display:flex;flex-direction:column;gap:13px;background:#fff;padding:30px;border:1px solid var(--line)}
form.contact-form label{font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase}
form.contact-form input,form.contact-form select,form.contact-form textarea{padding:12px 13px;border:1px solid var(--line);background:var(--cream);font-family:var(--sans);font-size:14px}
form.contact-form textarea{min-height:110px;resize:vertical}
form.contact-form button{align-self:flex-start;border:none;cursor:pointer}

@media(max-width:850px){
  .page-hero{padding:55px 6vw 40px}
  .filter-row,.sched-block,.involve-section,.gallery-section,.contact-section{padding-left:6vw;padding-right:6vw}
  .involve-grid,.gallery-grid{grid-template-columns:1fr 1fr}
  .contact-grid2{grid-template-columns:1fr}
}

/* FIXTURES BY TEAM — Giants orange table controls */
.filter-row{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:2px;
  background:#111;
  border:2px solid #111;
  width:100%;
}
.filter-row .filter-btn{
  margin:0;
  border:0;
  border-radius:0;
  background:var(--orange);
  color:#111;
  padding:14px 10px;
  font-weight:900;
}
.filter-row .filter-btn:hover,
.filter-row .filter-btn.active{
  background:#111;
  color:var(--orange);
}
.team-panel{margin:0 0 38px;}
.team-panel h3{
  background:var(--orange);
  color:#111;
  padding:12px 15px;
  margin:0 !important;
  border:1px solid #111;
  border-bottom:0;
}
.team-panel .sched-wrap{margin-top:0;}
table.sched{border:1px solid #111;}
table.sched th,table.sched td{border:1px solid var(--line);}
table.sched thead th{background:var(--orange);color:#111;}
@media(max-width:700px){
  .filter-row{grid-template-columns:repeat(2,1fr);}
  .filter-row .filter-btn:first-child{grid-column:1/-1;}
}

/* DESKTOP / LAPTOP FIXTURE LAYOUT */
@media (min-width: 851px){
  .sched-block{
    padding-left:4vw;
    padding-right:4vw;
    max-width:1500px;
    margin-left:auto;
    margin-right:auto;
  }
  .sched-wrap{
    overflow-x:visible;
    width:100%;
  }
  table.sched{
    min-width:0;
    width:100%;
    table-layout:fixed;
  }
  table.sched th,
  table.sched td{
    padding:13px 10px;
    font-size:12px;
    line-height:1.35;
    overflow-wrap:break-word;
  }
  /* Main six-column gameday calendar */
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(1),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(1){width:16%;}
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(2),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(2){width:19%;}
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(3),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(3){width:13%;}
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(4),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(4){width:13%;}
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(5),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(5){width:13%;}
  .sched-block > .sched-wrap:first-of-type table.sched th:nth-child(6),
  .sched-block > .sched-wrap:first-of-type table.sched td:nth-child(6){width:26%;}
  .badge{white-space:normal;line-height:1.2;}
}

/* Keep phone/tablet tables scrollable and readable */
@media (max-width:850px){
  .sched-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table.sched{min-width:680px;table-layout:auto;}
}


/* Contact links: compact call/WhatsApp symbols and Google Maps location */
.contact-line{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.contact-link{display:inline-flex;align-items:center;gap:5px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}
.phone-symbol,.whatsapp-symbol{width:15px;height:15px;flex-shrink:0}
.phone-symbol{fill:var(--orange)}
.whatsapp-symbol{fill:#25D366}
.contact-link:hover{text-decoration:underline}
.location-link{color:var(--ink);text-decoration:none;font-weight:600}
.directions-link{display:inline-block;margin-top:4px;color:var(--orange);font-weight:800;text-decoration:none;font-size:12px}
.location-link:hover,.directions-link:hover{text-decoration:underline}

/* Real news feed */
.news-feed-head{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:42px}.news-feed-head .section-kicker{display:block;margin-bottom:12px}.news-feed-head p{color:#666;max-width:440px}.news-feature{display:grid;grid-template-columns:1.25fr .75fr;background:#111;color:#fff;margin-bottom:42px}.news-feature>img{width:100%;height:440px;object-fit:cover;object-position:center 42%;display:block}.news-feature-copy{padding:46px;display:flex;flex-direction:column;justify-content:center}.news-feature-copy h3{font:900 46px/.95 var(--serif);margin:8px 0 20px;text-transform:uppercase}.news-feature-copy>p:not(.news-meta){color:#bbb;font-size:14px}.news-meta{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.14em}.news-card-image{width:100%;height:230px;object-fit:cover;display:block;margin-bottom:18px}.news-image-link{display:block}.news-summary{font:400 13px var(--sans)!important;color:#666!important;letter-spacing:0!important;text-transform:none!important}.news-read{display:inline-block!important;margin-top:8px;color:#111!important;border-bottom:2px solid var(--orange);padding-bottom:5px}.news-feature .news-read{color:#fff!important;align-self:flex-start}.news-grid-feed{row-gap:46px}
.article-shell{max-width:980px;margin:0 auto;padding:70px 8vw 100px}.article-meta{color:var(--orange2);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.article-shell h1{font:900 clamp(48px,7vw,86px)/.9 var(--serif);text-transform:uppercase;margin:12px 0 28px}.article-hero{width:100%;max-height:610px;object-fit:cover;display:block;margin:25px 0 38px}.article-body{max-width:720px;font-size:17px;line-height:1.75}.article-body p{margin:0 0 22px}.article-back{display:inline-block;margin-top:30px;color:#111;text-decoration:none;font-size:11px;font-weight:800;border-bottom:2px solid var(--orange);padding-bottom:5px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:850px){.news-feed-head,.news-feature{grid-template-columns:1fr}.news-feature>img{height:300px}.news-feature-copy{padding:28px}.news-feature-copy h3{font-size:38px}.news-card-image{height:240px}}
