*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:       #ED2726;
  --red2:      #FF4140;
  --red3:      #C01F1E;
  --dark:      #141418;
  --dark2:     #1E1E24;
  --dark3:     #28282F;
  --white:     #FFFFFF;
  --off:       #F5F4F2;
  --gray:      #E8E6E4;
  --mid:       #9A9A9A;
  --text:      #1A1A1A;
}
html{scroll-behavior:smooth}
body{font-family:"Barlow",sans-serif;background:var(--off);color:var(--text);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(20,20,24,0.97);backdrop-filter:blur(12px);border-bottom:2px solid var(--red);padding:0 2rem;height:54px;display:flex;align-items:center;justify-content:space-between}
.nav-brand{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1rem;color:#fff;letter-spacing:.08em;text-transform:uppercase}
.nav-brand span{color:var(--red)}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--red)}

/* ── SEASON BANNER ── */
.season-banner{margin-top:54px;background:var(--red3);padding:5px 16px;text-align:center}
.season-banner p{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.season-banner span{color:#FFD0D0;font-weight:900}

/* ── HERO ── */
.hero{min-height:100vh;background:var(--dark);position:relative;display:flex;align-items:center;overflow:hidden;margin-top: 0;}
.hero-bg-img{position:absolute;top:0;left:0;width:49%;height:100%;object-fit:cover;object-position:center top;opacity:1;-webkit-mask-image:linear-gradient(to right, #000 95%, transparent 100%);mask-image:linear-gradient(to right, #000 95%, transparent 100%)}
.hero-inner{max-width:1140px;margin:0 auto;padding:3rem 2rem;display:flex;justify-content:flex-end;width:100%;position:relative;z-index:2}
.hero-content{width:52%;padding-left:1rem}

.hero-eyebrow{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:.85rem;display:flex;align-items:center;gap:.65rem}
.hero-eyebrow::before{content:"";width:28px;height:2px;background:var(--red);display:block}

.hero-name{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:clamp(3rem,6vw,5rem);line-height:.92;color:#fff;text-transform:uppercase;margin-bottom:.5rem}
.hero-name .last{color:var(--red);display:block}

.hero-sub{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.1em;color:rgba(255,255,255,.5);text-transform:uppercase;margin-bottom:1.5rem}

.hero-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.75rem}
.tag{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.28rem .75rem;background:rgba(255,255,255,.07);color:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.13)}
.tag.red{background:var(--red);color:#fff;border-color:var(--red)}

.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:2rem}
.btn{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:inline-block;cursor:pointer;border:none}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red2);transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.btn-outline:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}

/* Hero stats */
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09)}
.hstat{background:rgba(255,255,255,.03);padding:1rem .6rem;text-align:center;transition:background .2s}
.hstat:hover{background:rgba(237,39,38,.12)}
.hstat-val{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:2rem;color:var(--red);line-height:1;display:block}
.hstat-lbl{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.3rem;display:block}
.hstat.wide{grid-column:1/-1;background:rgba(237,39,38,.08);border-top:1px solid rgba(237,39,38,.2)}
.hstat.wide .hstat-val{font-size:1.1rem;color:#fff}
.school-badges{margin-top:.75rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sbadge{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);padding:.55rem .8rem}
.sbadge-lbl{font-family:"Barlow Condensed",sans-serif;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.2rem}
.sbadge-val{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.95rem;color:#fff;display:block}
.sbadge-sub{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red);display:block;margin-top:.18rem}

/* ── SECTIONS ── */
section{padding:4rem 2rem}
.si{max-width:1140px;margin:0 auto}
.slabel{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red3);margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem}
.slabel::before{content:"";width:20px;height:2px;background:var(--red3);display:block}
.slabel.lt{color:var(--red2)}
.slabel.lt::before{background:var(--red2)}
.stitle{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:clamp(1.9rem,3.8vw,2.8rem);text-transform:uppercase;color:var(--dark);line-height:1;margin-bottom:2rem}
.stitle span{color:var(--red3)}
.stitle.wh{color:#fff}
.stitle.wh span{color:var(--red2)}

/* ── ABOUT ── */
#about{background:var(--off);margin-top: 0;}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
.about-text p{font-size:1rem;line-height:1.78;color:#333;margin-bottom:1rem}
.about-text p strong{color:var(--dark2);font-weight:600}
.attrs{border:1px solid var(--gray)}
.attr{padding:.85rem 1rem;border-bottom:1px solid var(--gray);
  display:flex;align-items:flex-start;gap:.8rem;background:#fff;transition:background .15s}
.attr:last-child{border-bottom:none}
.attr:hover{background:#FFF5F5}
.attr-icon{width:28px;height:28px;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:.82rem;flex-shrink:0;font-weight:900;
  font-family:"Barlow Condensed",sans-serif}
.attr-content strong{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dark);display:block;margin-bottom:.1rem}
.attr-content span{font-size:.8rem;color:#555;line-height:1.4}

/* ── STATS ── */
#stats{background:var(--dark);margin-top: 0;}
.stats-ctx{font-size:.85rem;color:rgba(255,255,255,.4);font-style:italic;margin-bottom:1.75rem;padding-left:.8rem;border-left:2px solid var(--red);line-height:1.5}
.stabs{display:flex;gap:0;border:1px solid rgba(255,255,255,.1);margin-bottom:1.25rem}
.stab{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.72rem; letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1rem;background:transparent;color:rgba(255,255,255,.4);border:none;border-right:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}
.stab:last-child{border-right:none}
.stab.active,.stab:hover{background:rgba(237,39,38,.15);color:var(--red)}
.spanel{display:none}.spanel.active{display:block}
.sgroup{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.8rem}
.sgroup{margin-top:1.5rem}.sgroup:first-of-type{margin-top:0}
.sgrid{display:grid;gap:1px;background:rgba(255,255,255,.05);margin-bottom:1px}
.sg6{grid-template-columns:repeat(6,1fr)}.sg4{grid-template-columns:repeat(4,1fr)}
.sg3{grid-template-columns:repeat(3,1fr)}
.scard{background:rgba(255,255,255,.03);padding:1.1rem .6rem;text-align:center;transition:background .2s}
.scard:hover{background:rgba(237,39,38,.1)}
.sval{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:1.9rem;color:var(--red);line-height:1;display:block}
.scard.hl .sval{color:var(--red2);font-size:2.2rem}
.slbl{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:.3rem;display:block}
.season-cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);margin-top:1.5rem}
.sc-card{background:rgba(255,255,255,.03);padding:1.1rem;text-align:center}
.sc-s{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.4rem}
.sc-avg{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:2.2rem;color:#fff;line-height:1;display:block}
.sc-d{font-size:.72rem;color:rgba(255,255,255,.35);margin-top:.25rem}
.sc-peak{color:#4CAF50;font-weight:700;font-size:.75rem;font-family:"Barlow Condensed",sans-serif}

/* ── PHOTOS ── */
#photos{background:var(--dark2);margin-top: 0;}
.photo-layout{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:22rem;gap:12px;grid-auto-flow:dense}
.photo-card{position:relative;overflow:hidden;cursor:pointer}
.photo-card img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s;display:block}
.photo-card:hover img{transform:scale(1.03)}
.photo-card.tall{grid-row:span 2}
.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(20,20,24,.95) 0%,transparent 60%);padding:1.25rem 1rem .85rem}
.photo-title{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;display:block}
.photo-sub{font-family:"Barlow Condensed",sans-serif;font-size:.75rem;color:var(--red);letter-spacing:.05em;margin-top:.2rem;display:block}
.photo-badge{position:absolute;top:12px;left:12px;background:var(--red);color:#fff;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem}
.photo-badge.gold{background:#C8960C}
.photo-badge.blue{background:#1D4ED8}
.photo-badge.navy{background:#1E293B}
.photo-badge.green{background:#15803D}
.photo-badge.teal{background:#0D9488}
.photo-badge.purple{background:#7C3AED}
.photo-badge.orange{background:#EA580C}

/* ── VIDEO ── */
#highlights{background:var(--white);margin-top: 0;}
.video-wrap{position:relative;width:100%;padding-bottom:56.25%;border:3px solid var(--dark);box-shadow:8px 8px 0 var(--red)}
.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.video-placeholder{position:absolute;inset:0;display:block;overflow:hidden;cursor:pointer}
.video-placeholder img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.video-placeholder:hover img{transform:scale(1.04)}
.video-placeholder::before{content:"";position:absolute;inset:0;background:rgba(20,20,24,.18);transition:background .2s;z-index:1}
.video-placeholder:hover::before{background:rgba(20,20,24,.04)}
.yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:92px;height:64px;background:rgba(237,39,38,.92);border-radius:16px;transition:background .2s,transform .2s;z-index:2}
.video-placeholder:hover .yt-play{background:var(--red);transform:translate(-50%,-50%) scale(1.06)}
.yt-play::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-42%,-50%);border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent #fff}
.video-note{margin-top:1.1rem;text-align:center;font-size:.83rem;color:var(--mid);font-style:italic}
.video-note a{color:var(--red3);font-weight:600;text-decoration:none}
.video-note a:hover{text-decoration:underline}

/* ── ACADEMICS ── */
#academics{background:var(--dark);margin-top: 0;}
.acad-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.acad-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:1.6rem;border-top:3px solid var(--red);transition:background .2s}
.acad-card:hover{background:rgba(255,255,255,.07)}
.acad-card h3{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:.92rem;text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:.75rem}
.acad-card p{font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.7)}
.acad-card p strong{color:var(--red2)}
.gpa-big{font-family:"Barlow Condensed",sans-serif;font-weight:900;font-size:3.6rem;color:#fff;line-height:1;display:block;margin-bottom:.15rem}
.gpa-lbl{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}

/* ── TEAMS ── */
#teams{background:var(--off);margin-top: 0;}
.teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.team-card{background:#fff;border:1px solid var(--gray);padding:2rem;border-left:4px solid var(--red);transition:box-shadow .2s,transform .2s}
.team-card:hover{box-shadow:4px 4px 0 var(--red);transform:translate(-2px,-2px)}
.team-card h3{font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.3rem;text-transform:uppercase;color:var(--dark);margin-bottom:.2rem}
.team-sub{font-size:.8rem;color:var(--mid);margin-bottom:1rem}
.team-row{display:flex;gap:.4rem;font-size:.85rem;margin-bottom:.35rem}
.team-row strong{color:var(--dark);font-weight:600;min-width:86px;flex-shrink:0}
.team-row a{color:var(--red3);text-decoration:none;font-weight:500}
.team-row a:hover{text-decoration:underline}

/* ── CONTACT ── */
#contact{background:var(--dark);margin-top: 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,.07);margin-bottom:1.5rem}
.ccard{background:rgba(255,255,255,.04);padding:1.6rem 1.25rem;transition:background .2s}
.ccard:hover{background:rgba(255,255,255,.07)}
.ccard h4{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:.6rem}
.ccard p{font-size:.86rem;color:rgba(255,255,255,.75);line-height:1.6}
.ccard a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.8rem;display:block;margin-top:.2rem;transition:color .2s}
.ccard a:hover{color:var(--red)}
.soc-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.soc-btn{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1rem;border:1.5px solid rgba(255,255,255,.18);color:rgba(255,255,255,.6);text-decoration:none;transition:all .2s;display:inline-block}
.soc-btn:hover{border-color:var(--red);color:var(--red)}

/* ── FOOTER ── */
.pc-footer-area {margin-top: 0;}
footer{background:var(--dark);border-top:2px solid var(--red);
  padding:1.2rem 2rem;text-align:center}
footer p{font-family:"Barlow Condensed",sans-serif;font-size:.72rem;letter-spacing:.1em;color:rgba(255,255,255,.28);text-transform:uppercase}
footer span{color:var(--red)}

/* ── FADE IN ── */
.fi{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.fi.vis{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  .hero-inner{justify-content:flex-start}
  .hero-content{width:100%}
  .hero-bg-img{opacity:.7;width:100%;-webkit-mask-image:none;mask-image:none}
  .about-grid,.acad-grid,.teams-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .sg6{grid-template-columns:repeat(3,1fr)}
  .season-cmp{grid-template-columns:1fr}
  .photo-layout{grid-template-columns:1fr;grid-auto-rows:auto}
  .photo-card.tall{grid-row:auto}
  .photo-card img{height:auto}
  .nav-links{display:none}
}

/* ── EVENTS ── */
#events{background:var(--off);scroll-margin-top:60px}
#events .si{max-width:1140px}
.ev-banner{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dark);margin-bottom:.3rem}
.ev-ref{font-size:.82rem;font-style:italic;color:var(--mid);margin-bottom:2.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--gray)}

/* Each documented section sits in its own card */
.ev-block{background:#fff;border:1px solid var(--gray);border-top:3px solid var(--red);
  padding:1.6rem 1.7rem;margin-bottom:1.5rem;box-shadow:0 6px 18px rgba(20,20,24,.04)}
.ev-h{display:flex;align-items:center;gap:.6rem;font-family:"Barlow Condensed",sans-serif;
  font-weight:800;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dark);margin-bottom:1.1rem}
.ev-h::before{content:"";width:22px;height:3px;background:var(--red);display:block;flex:0 0 auto}
.ev-note{font-size:.84rem;color:#555;line-height:1.55;margin-bottom:1rem;font-style:italic}

/* Accordion (desktop: plain heading + always-open body) */
.ev-acc-head{display:flex;align-items:center;width:100%;background:none;border:none;padding:0;margin:0;cursor:default;color:inherit;font:inherit}
.ev-acc--sub .ev-acc-head{gap:.5rem;margin:1.6rem 0 .65rem;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red3)}
.ev-acc--sub .ev-acc-head .ev-acc-title{flex:0 0 auto}
.ev-acc--sub .ev-acc-head::after{content:"";flex:1;height:1px;background:var(--gray);margin-left:.5rem}
.ev-acc--section .ev-acc-head{gap:.6rem;margin-bottom:1.1rem;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dark)}
.ev-acc--section .ev-acc-head::before{content:"";width:22px;height:3px;background:var(--red);display:block;flex:0 0 auto}
.ev-acc-ico{display:none}
.ev-acc-body{display:block}

/* Definition (Label | Value) table */
.ev-dl{width:100%;border-collapse:collapse;border:1px solid var(--gray)}
.ev-dl th,.ev-dl td{text-align:left;vertical-align:top;padding:.7rem 1rem;border-bottom:1px solid var(--gray);font-size:.88rem;line-height:1.5}
.ev-dl tr:last-child th,.ev-dl tr:last-child td{border-bottom:none}
.ev-dl th{width:32%;font-family:"Barlow Condensed",sans-serif;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dark);background:#FAF8F6;font-size:.8rem}
.ev-dl td{color:#333}
.ev-dl a{color:var(--red3);text-decoration:none}
.ev-dl a:hover{text-decoration:underline}

/* Data tables (schedule / coaches / venues) */
.ev-tablewrap{margin-bottom:.7rem;border:1px solid var(--gray)}
.ev-table{width:100%;border-collapse:collapse}
.ev-table thead th{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--dark);text-align:left;padding:.65rem .9rem}
.ev-table tbody td{padding:.62rem .9rem;border-bottom:1px solid var(--gray);font-size:.86rem;color:#333;line-height:1.45;vertical-align:top}
.ev-table tbody tr:last-child td{border-bottom:none}
.ev-table tbody tr:nth-child(even){background:#FAF8F6}
.ev-table tbody tr:hover{background:#FFF5F5}
.ev-table a{color:var(--red3);text-decoration:none}
.ev-table a:hover{text-decoration:underline}

/* Themed checkboxes for the Outreach column */
.ev-checks{display:flex;flex-direction:column;gap:.32rem}
.ev-checkitem{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:#444;white-space:nowrap}
.ev-check{width:15px;height:15px;border:1.5px solid var(--mid);border-radius:3px;background:#fff;position:relative;flex:0 0 auto}
.ev-check.on{background:var(--red);border-color:var(--red)}
.ev-check.on::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Itinerary */
.ev-itin{border:1px solid var(--gray)}
.ev-itin-row{display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--gray)}
.ev-itin-row:last-child{border-bottom:none}
.ev-itin-row:nth-child(even){background:#FAF8F6}
.ev-itin-day{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--red3)}
.ev-itin-text{font-size:.86rem;color:#444;line-height:1.5}
.ev-hl{margin-top:1rem;background:#FFF5F5;border-left:3px solid var(--red);padding:.85rem 1.1rem;font-size:.86rem;color:var(--dark);line-height:1.55}

/* Outreach email cards */
.ev-email{background:#FAF8F6;border:1px solid var(--gray);border-left:3px solid var(--red);padding:1.1rem 1.25rem;margin-bottom:.9rem}
.ev-email:last-child{margin-bottom:0}
.ev-email-title{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red3);margin-bottom:.5rem}
.ev-email-body{font-size:.88rem;color:#333;line-height:1.6;font-style:italic}

.ev-footref{margin-top:.5rem;font-size:.76rem;color:var(--mid);text-align:center;letter-spacing:.03em}

/* Mobile (<=767): data tables become accordions; rows stack as cards */
@media(max-width:767px){
  .ev-block{padding:1.3rem 1.1rem}
  .ev-dl th{width:42%}
  .ev-dl th,.ev-dl td{word-break:break-word}
  .ev-itin-row{grid-template-columns:1fr;gap:.25rem}

  .ev-acc{margin:0 0 .6rem}
  .ev-acc-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;
    width:100%;text-align:left;background:#fff;border:1px solid var(--gray);border-left:3px solid var(--red);
    padding:.85rem 1rem;margin:0;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:.92rem;
    letter-spacing:.04em;text-transform:uppercase;color:var(--dark)}
  .ev-acc--section .ev-acc-head{font-size:1rem}
  .ev-acc-head::before,.ev-acc-head::after{content:none !important;display:none !important}
  .ev-acc-title{flex:1}
  .ev-acc-ico{display:block;flex:0 0 auto;width:9px;height:9px;margin-top:-3px;
    border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg);transition:transform .2s}
  .ev-acc.open .ev-acc-head{background:var(--dark);color:#fff;border-color:var(--dark);border-left-color:var(--red);margin-bottom: 0;}
  .ev-acc.open .ev-acc-ico{transform:rotate(-135deg);margin-top:3px;border-color:#fff}
  .ev-acc-body{display:none}
  .ev-acc.open .ev-acc-body{display:block; margin-top: 0; /*margin-top:.5rem*/}

  .ev-tablewrap{border:none;margin-bottom:0}
  .ev-table{display:block}
  .ev-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ev-table tbody,.ev-table tbody tr,.ev-table tbody td{display:block;width:100%}
  .ev-table tbody tr{border:1px solid var(--gray);border-left:3px solid var(--red);background:#fff;margin-bottom:.7rem}
  .ev-table tbody tr:last-child{margin-bottom:0}
  .ev-table tbody tr:nth-child(even){background:#fff}
  .ev-table tbody td{display:flex;justify-content:space-between;gap:1.2rem;text-align:right;
    padding:.55rem .9rem;border-bottom:1px solid var(--gray)}
  .ev-table tbody tr td:last-child{border-bottom:none}
  .ev-table tbody td::before{content:attr(data-label);font-family:"Barlow Condensed",sans-serif;font-weight:700;
    font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red3);text-align:left;flex:0 0 auto;padding-top:.15rem}
  .ev-checks{align-items:flex-end}

  /* Long links break to fit the screen */
  #events a{word-break:break-all}
  .ev-ref,.ev-footref{overflow-wrap:anywhere}
  .ev-acc--sub .ev-acc-head .ev-acc-title {
    flex: inherit;
    word-break: break-all;
    text-align: left;
  }
}


/* ── MOBILE NAV (hamburger + off-canvas drawer) ── */
.nav-toggle{display:none}
.nav-backdrop{display:none}
section[id]{scroll-margin-top:54px}

@media(max-width:900px){
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:42px;height:42px;padding:9px;margin:-9px;background:transparent;border:none;cursor:pointer;z-index:130}
  .nav-toggle span{display:block;width:100%;height:2px;background:#fff;border-radius:2px;
    transition:transform .25s ease,opacity .2s ease}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* The links list becomes a right-side drawer (overrides the earlier display:none). */
  .nav-links{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:fixed;top:0;right:0;height:100vh;height:100dvh;width:min(80vw,300px);
    margin:0;padding:4.6rem 0 2rem;
    background:var(--dark);border-left:2px solid var(--red);
    transform:translateX(100%);transition:transform .3s ease;
    overflow-y:auto;z-index:120}
  .nav-links.open{transform:translateX(0);box-shadow:-10px 0 36px rgba(0,0,0,.55)}
  .nav-links li{width:100%}
  .nav-links a{display:block;width:100%;padding:1rem 1.6rem;font-size:1.05rem;
    border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-links a:hover{background:rgba(237,39,38,.12);color:var(--red)}

  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.55);
    opacity:0;visibility:hidden;transition:opacity .3s ease;z-index:90}
  .nav-backdrop.show{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden}
}

/* ── PHOTOS CAROUSEL + GALLERY ── */
.pc-carousel{position:relative;width:100%;overflow:hidden;border-radius:3px;margin-top: 50px;}
.pc-carousel-track{display:flex;transition:transform .45s ease}
.pc-slide{min-width:100%;height:600px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.pc-slide img{width:100%;height:100%;object-fit:contain;object-position:top;display:block}
.pc-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55);color:#fff;
  border:none;padding:.6rem .9rem;font-size:1.6rem;cursor:pointer;z-index:5;border-radius:3px;
  line-height:1;transition:background .2s}
.pc-arrow:hover{background:var(--red)}
.pc-prev{left:10px}
.pc-next{right:10px}
.pc-dots{text-align:center;margin-top:.9rem}
.pc-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.25);
  margin:0 5px;cursor:pointer;transition:background .2s}
.pc-dot.active{background:var(--red)}
.pc-gallery{display:none;margin-top:2rem}
.pc-gallery.open{display:block}

@media(max-width:767px){
  .pc-slide{height:300px}
  .pc-arrow{padding:.4rem .6rem;font-size:1.2rem}
}
