*{margin:0;padding:0;box-sizing:border-box}
  :root{--red:#CC0000;--dark:#111111;--white:#FFFFFF;--gray:#F2F2F2;--font-display:'Bebas Neue',sans-serif;--font-body:'Barlow',sans-serif;--font-cond:'Barlow Condensed',sans-serif;}
  html{scroll-behavior:smooth}
  body{font-family:var(--font-body);background:var(--white);color:var(--dark);overflow-x:hidden}
  nav{position:sticky;top:0;z-index:100;background:var(--dark);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;border-bottom:3px solid var(--red)}
  .nav-logo{font-family:var(--font-display);color:var(--white);font-size:1.5rem;letter-spacing:2px;cursor:pointer}
  .nav-logo span{color:var(--red)}
  .nav-links{display:flex;list-style:none}
  .nav-links a{color:#ccc;text-decoration:none;font-family:var(--font-cond);font-weight:600;font-size:0.78rem;letter-spacing:1px;text-transform:uppercase;padding:0 0.6rem;line-height:56px;transition:color 0.2s;white-space:nowrap}
  .nav-links a:hover{color:var(--red)}
  .nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
  .nav-toggle span{display:block;width:22px;height:2px;background:var(--white)}
  .mobile-menu{display:none;position:absolute;top:56px;left:0;right:0;background:var(--dark);border-top:1px solid #333;padding:0.5rem 0;z-index:99}
  .mobile-menu a{display:block;color:#ccc;text-decoration:none;font-family:var(--font-cond);font-weight:600;font-size:0.9rem;letter-spacing:1px;text-transform:uppercase;padding:0.75rem 1.5rem}
  .mobile-menu a:hover{color:var(--red);background:#1a1a1a}
  .mobile-menu.open{display:block}
  .hero{background:var(--dark);color:var(--white);padding:5rem 1.5rem 4rem;text-align:center;position:relative;overflow:hidden;background-image:url('../images/cravenFFCside.jpg');background-size:cover;background-position:center}
  .hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.62) 60%,rgba(0,0,0,0.78) 100%);pointer-events:none}
  .hero-badge{display:inline-block;background:var(--red);color:var(--white);font-family:var(--font-cond);font-weight:700;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;padding:4px 14px;margin-bottom:1rem}
  .hero h1{font-family:var(--font-display);font-size:clamp(3rem,10vw,7rem);letter-spacing:4px;line-height:1;margin-bottom:0.5rem}
  .hero h1 span{color:var(--red)}
  .hero-sub{font-family:var(--font-cond);font-size:1.2rem;letter-spacing:3px;text-transform:uppercase;color:#bbb;margin-bottom:2rem}
  .hero-crest{margin-bottom:1rem;display:flex;justify-content:center;position:relative;z-index:1}
  .hero-badge,.hero h1,.hero-sub,.hero-btns{position:relative;z-index:1}
  .hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
  .btn-primary{background:var(--red);color:var(--white);border:none;font-family:var(--font-cond);font-weight:700;font-size:0.95rem;letter-spacing:2px;text-transform:uppercase;padding:0.75rem 2rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background 0.2s}
  .btn-primary:hover{background:#aa0000}
  .btn-outline{background:transparent;color:var(--white);border:2px solid var(--white);font-family:var(--font-cond);font-weight:700;font-size:0.95rem;letter-spacing:2px;text-transform:uppercase;padding:0.75rem 2rem;cursor:pointer;text-decoration:none;display:inline-block;transition:all 0.2s}
  .btn-outline:hover{background:var(--white);color:var(--dark)}
  section{padding:4rem 1.5rem}
  .section-inner{max-width:900px;margin:0 auto}
  .section-label{font-family:var(--font-cond);font-weight:700;font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:0.5rem}
  .section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);letter-spacing:2px;margin-bottom:1.5rem;line-height:1;color:var(--dark)}
  .section-divider{width:48px;height:3px;background:var(--red);margin-bottom:2rem}
  #about{background:var(--white)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  .about-text p{font-size:1rem;line-height:1.8;color:#333;margin-bottom:1rem}
  .about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
  .stat-box{background:var(--dark);color:var(--white);padding:1.5rem;text-align:center}
  .stat-num{font-family:var(--font-display);font-size:2.5rem;color:var(--red);display:block}
  .stat-label{font-family:var(--font-cond);font-size:0.85rem;letter-spacing:1px;text-transform:uppercase;color:#aaa}
  .venue-card{background:var(--dark);padding:1.25rem;border-left:4px solid var(--red)}
  .venue-logo-area{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem}
  .venue-icon{width:44px;height:44px;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;overflow:hidden}
  .venue-icon--img{background:var(--white);padding:3px}
  .venue-icon--img img{width:100%;height:100%;object-fit:contain;display:block}
  .venue-name{font-family:var(--font-display);font-size:1.3rem;letter-spacing:1px;color:var(--white)}
  .venue-name span{display:block;font-family:var(--font-cond);font-size:0.75rem;letter-spacing:2px;color:#888;font-weight:600;text-transform:uppercase;margin-top:1px}
  .venue-detail{font-family:var(--font-cond);font-size:0.85rem;color:#aaa;letter-spacing:0.5px;line-height:1.7}
  .venue-detail strong{color:var(--white)}
  .venue-maps-link{display:inline-block;margin-top:0.5rem;color:var(--red);font-weight:700;text-decoration:none;font-family:var(--font-cond);letter-spacing:0.5px;transition:opacity 0.2s}
  .venue-maps-link:hover{opacity:0.75}
  #founding{background:var(--dark);color:var(--white)}
  #founding .section-title{color:var(--white)}
  #founding .section-label{color:rgba(255,255,255,0.5)}
  .founding-text p{font-size:1rem;line-height:1.9;color:#bbb;margin-bottom:1.25rem;max-width:700px}
  .founding-highlight{border-left:4px solid var(--red);padding-left:1.5rem;margin:2rem 0}
  .founding-highlight p{color:#ddd}
  .founders-row{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:2rem}
  .founder-chip{background:#1a1a1a;border:1px solid #333;color:#ccc;font-family:var(--font-cond);font-size:0.85rem;letter-spacing:1px;padding:6px 14px;border-left:3px solid var(--red)}
  #watch-parties{background:var(--gray)}
  .watch-venue-note{background:var(--dark);padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;border-left:4px solid var(--red)}
  .watch-venue-note .icon{font-size:1.5rem}
  .watch-venue-note p{font-family:var(--font-cond);font-size:0.9rem;color:#ccc;letter-spacing:0.5px}
  .watch-venue-note strong{color:var(--white)}
  .watch-venue-note a{color:var(--red);text-decoration:none}
  .events-grid{display:grid;gap:0.75rem}
  .event-card{background:var(--white);border-left:4px solid var(--red);padding:1rem 1.25rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
  .event-date{text-align:center;background:var(--red);padding:0.4rem 0.65rem;min-width:52px}
  .event-date .day{font-family:var(--font-display);font-size:1.6rem;color:var(--white);display:block;line-height:1}
  .event-date .month{font-family:var(--font-cond);font-size:0.65rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.85)}
  .event-info h3{font-family:var(--font-cond);font-weight:700;font-size:1rem;letter-spacing:1px;color:var(--dark);text-transform:uppercase}
  .event-info .event-time{font-size:0.82rem;color:#666;margin-top:2px}
  .event-info .event-venue-tag{font-size:0.78rem;color:var(--red);font-weight:600;margin-top:3px;font-family:var(--font-cond);letter-spacing:0.5px;text-transform:uppercase}
  .event-badge{background:var(--dark);color:var(--white);font-family:var(--font-cond);font-size:0.65rem;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;white-space:nowrap;align-self:start}
  .event-badge.away{background:#555}
  .no-events{text-align:center;color:#888;padding:3rem;font-family:var(--font-cond);font-size:1rem;letter-spacing:1px}
  #gallery{background:var(--dark);padding:4rem 0 3rem}
  #gallery .section-inner{padding:0 1.5rem;max-width:900px;margin:0 auto 2rem}
  #gallery .section-label{color:var(--red)}
  #gallery .section-title{color:var(--white)}
  #gallery .section-divider{background:var(--red)}
  .carousel{position:relative;background:#000;overflow:hidden}
  .carousel-track{display:flex;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}
  .carousel-slide{min-width:100%;display:flex;align-items:center;justify-content:center;background:#000;position:relative;height:520px}
  .carousel-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
  .carousel-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,transparent 100%);font-family:var(--font-cond);font-weight:700;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--white)}
  .carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.5);color:var(--white);border:1px solid rgba(255,255,255,0.2);width:48px;height:48px;font-size:2rem;line-height:1;cursor:pointer;z-index:10;transition:background 0.2s;display:flex;align-items:center;justify-content:center}
  .carousel-btn:hover{background:var(--red);border-color:var(--red)}
  .carousel-btn--prev{left:1rem}
  .carousel-btn--next{right:1rem}
  .carousel-dots{display:flex;justify-content:center;gap:8px;padding:1rem 0 0.5rem}
  .carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.25);border:none;cursor:pointer;transition:background 0.2s,transform 0.2s;padding:0}
  .carousel-dot.active{background:var(--red);transform:scale(1.3)}
  @media(max-width:700px){.carousel-slide{height:280px}.carousel-btn{width:36px;height:36px;font-size:1.5rem}}
  #swag{background:var(--white)}
  .swag-single{max-width:420px}
  .swag-card{background:var(--gray);border-top:3px solid var(--red);overflow:hidden}
  .swag-img{width:100%;display:block;object-fit:cover;height:280px}
  .swag-card-body{padding:1.5rem}
  .swag-card h3{font-family:var(--font-display);font-size:1.75rem;letter-spacing:2px;color:var(--dark);margin-bottom:0.5rem}
  .swag-card p{font-size:0.9rem;color:#555;line-height:1.7}
  .swag-tag{display:inline-block;background:var(--dark);color:var(--white);font-family:var(--font-cond);font-size:0.75rem;letter-spacing:1px;padding:5px 14px;margin-top:1.25rem}
  #join{background:var(--red);color:var(--white)}
  #join .section-title{color:var(--white)}
  #join .section-label{color:rgba(255,255,255,0.7)}
  .join-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
  .join-description{font-size:1rem;line-height:1.8;opacity:0.9}
  .join-form{display:grid;gap:0.85rem}
  .join-form input{background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.35);color:var(--white);font-family:var(--font-body);font-size:0.9rem;padding:0.7rem 1rem;width:100%;border-radius:0}
  .join-form input::placeholder{color:rgba(255,255,255,0.5)}
  .join-form input:focus{outline:none;border-color:var(--white)}
  .join-select-wrap{position:relative}
  .join-select-wrap::after{content:'▾';position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:rgba(255,255,255,0.7);pointer-events:none;font-size:0.9rem}
  .join-form select{background:rgba(30,0,0,0.85);border:1px solid rgba(255,255,255,0.35);color:var(--white);font-family:var(--font-body);font-size:0.9rem;padding:0.7rem 2.5rem 0.7rem 1rem;width:100%;border-radius:0;appearance:none;-webkit-appearance:none;cursor:pointer}
  .join-form select:focus{outline:none;border-color:var(--white)}
  .join-form select option{background:#1a0000;color:var(--white)}
  .consent-label{display:flex;align-items:flex-start;gap:0.6rem;cursor:pointer}
  .consent-label input[type="checkbox"]{margin-top:3px;flex-shrink:0;accent-color:var(--white);width:15px;height:15px;cursor:pointer}
  .consent-label span{font-size:0.78rem;line-height:1.5;color:rgba(255,255,255,0.7)}
  .consent-label a{color:rgba(255,255,255,0.9);text-decoration:underline}
  .btn-white{background:var(--white);color:var(--red);border:none;font-family:var(--font-cond);font-weight:700;font-size:0.95rem;letter-spacing:2px;text-transform:uppercase;padding:0.75rem 2rem;cursor:pointer;width:100%;transition:opacity 0.2s}
  .btn-white:hover{opacity:0.9}
  .form-success{display:none;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.4);padding:1rem;color:var(--white);font-family:var(--font-cond);font-size:1rem;letter-spacing:1px;text-align:center}
  .official-supporter-block{margin-top:3rem;border-top:1px solid rgba(255,255,255,0.2);padding-top:2.5rem}
  .official-supporter-inner{display:flex;align-items:center;gap:1.5rem;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.15);padding:1.5rem}
  .official-crest{width:64px;height:64px;object-fit:contain;flex-shrink:0}
  .official-supporter-label{font-family:var(--font-cond);font-weight:700;font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-bottom:0.35rem}
  .official-supporter-text{font-size:0.9rem;line-height:1.6;color:rgba(255,255,255,0.85);margin-bottom:1rem}
  .btn-official{display:inline-block;background:var(--white);color:var(--red);font-family:var(--font-cond);font-weight:700;font-size:0.85rem;letter-spacing:2px;text-transform:uppercase;padding:0.6rem 1.5rem;text-decoration:none;transition:opacity 0.2s}
  .btn-official:hover{opacity:0.85}
  @media(max-width:700px){.official-supporter-inner{flex-direction:column;text-align:center}.official-crest{width:48px;height:48px}}
  #links{background:var(--dark);color:var(--white)}
  #links .section-title{color:var(--white)}
  .links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:3rem}
  .link-card{border:1px solid #333;padding:1.5rem;text-align:center;text-decoration:none;color:var(--white);transition:border-color 0.2s,background 0.2s;display:block}
  .link-card:hover{border-color:var(--red);background:#1a1a1a}
  .link-card .link-icon{font-size:2rem;margin-bottom:0.75rem;display:flex;justify-content:center;align-items:center}
  .link-card h3{font-family:var(--font-cond);font-weight:700;font-size:0.9rem;letter-spacing:1px;text-transform:uppercase;color:var(--white)}
  .link-card p{font-size:0.78rem;color:#888;margin-top:4px}
  .contact-block{border-top:1px solid #2a2a2a;padding-top:2.5rem}
  .contact-block h3{font-family:var(--font-display);font-size:1.75rem;letter-spacing:2px;color:var(--white);margin-bottom:0.25rem}
  .contact-block .contact-sub{font-family:var(--font-cond);font-size:0.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:1.25rem}
  .contact-block p{font-size:1rem;line-height:1.8;color:#bbb;max-width:560px}
  .contact-block a{color:var(--white);font-weight:600;text-decoration:underline;text-underline-offset:3px}
  .contact-block a:hover{color:var(--red)}
  footer{background:#000;color:#555;padding:2rem 1.5rem;text-align:center;font-family:var(--font-cond);font-size:0.85rem;letter-spacing:1px}
  footer span{color:var(--red)}
  .footer-note{margin-top:0.5rem;font-size:0.75rem;color:#444}
  @media(max-width:700px){
    .nav-links{display:none}.nav-toggle{display:flex}
    .about-grid{grid-template-columns:1fr}
    .join-layout{grid-template-columns:1fr}
    .event-card{grid-template-columns:auto 1fr}.event-badge{display:none}
    .admin-form .form-row{grid-template-columns:1fr}
  }
