 :root{
  --bronze:#9A2E12;
  --dark:#351207;
  --cream:#fff8ee;
  --warm:#f4e6d5;
  --gold:#d4a044;
  --ink:#170906;
  --card:#fff4e6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:linear-gradient(180deg,#fff8ee,#f1dfc7);
  color:var(--ink);
}
button,a{font:inherit}
.site-frame{
  min-height:100vh;
  border:4px solid var(--dark);
  background:#fff8ee;
  overflow:hidden;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(180deg,#fff9ef,#eedac4);
  border-bottom:2px solid rgba(154,46,18,.35);
  box-shadow:0 3px 18px rgba(53,18,7,.12);
}
.nav-wrap{
  max-width:1500px;
  margin:0 auto;
  padding:8px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-logo{
  width:74px;
  height:74px;
  object-fit:contain;
  display:block;
  background:transparent;
}
.logo-link{display:flex;align-items:center;text-decoration:none}
.main-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.nav-item{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:10px 14px;
  border:2px solid rgba(154,46,18,.35);
  border-radius:10px;
  color:#120807;
  background:rgba(255,255,255,.55);
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
}
.nav-button{appearance:none}
.nav-item:hover,.nav-item.active{
  background:var(--bronze);
  color:white;
  border-color:var(--bronze);
}
.nav-dropdown{position:relative}
.dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:210px;
  background:#fff8ef;
  border:2px solid rgba(154,46,18,.35);
  border-radius:14px;
  box-shadow:0 16px 45px rgba(53,18,7,.2);
  padding:8px;
  display:none;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu{display:block}
.dropdown-menu a,.dropdown-menu button{
  display:block;
  width:100%;
  text-align:left;
  padding:10px 12px;
  border:0;
  background:transparent;
  color:var(--dark);
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  border-radius:8px;
}
.dropdown-menu a:hover,.dropdown-menu button:hover{
  background:rgba(154,46,18,.12);
}
.mobile-menu-btn{
  display:none;
  background:var(--bronze);
  color:white;
  border:0;
  width:44px;
  height:44px;
  border-radius:10px;
  font-size:24px;
  font-weight:900;
}

.hero-section{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#fff3df 0%,#efd2ad 45%,#351207 100%);
}
.hero-bg{
  position:absolute;
  top:0;
  right:0;
  width:58%;
  height:100%;
  background-image:url("hero-bg.jpg");
  background-size:cover;
  background-position:center right;
  z-index:0;
}
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,#fff7ea 0%,#fff0dc 34%,rgba(255,240,220,.72) 49%,rgba(255,240,220,.12) 66%,rgba(30,10,4,.15) 100%);
}
.hero-content{
  position:relative;
  z-index:2;
  width:min(1280px,100%);
  margin:0 auto;
  padding:72px 40px 70px;
}
.eyebrow{
  color:#4A1709;
  text-transform:uppercase;
  letter-spacing:.35em;
  font-weight:900;
  font-size:15px;
  margin:0 0 18px;
}
.hero-content h1{
  margin:0;
  color:#9A2E12;
  text-shadow:none;
  font-size:clamp(4.6rem,7.5vw,8rem);
  line-height:.86;
  letter-spacing:.14em;
  font-weight:1000;
}
.motto-line{
  margin:26px 0;
  display:flex;
  align-items:center;
  gap:16px;
  color:#9A2E12;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",Georgia,serif;
  font-size:clamp(2rem,3vw,2.8rem);
  font-weight:700;
  font-style:italic;
}
.motto-line span{
  width:85px;
  height:2px;
  background:#9A2E12;
}
.hero-copy{
  width:min(560px,100%);
  color:#160905;
  font-size:18px;
  line-height:1.7;
  margin:0 0 28px;
}
.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.btn{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:14px 22px;
  border-radius:8px;
  font-size:14px;
  font-weight:1000;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  border:2px solid var(--bronze);
}
.btn.primary{
  background:linear-gradient(180deg,#b74422,#8f2a12);
  color:white;
  box-shadow:0 12px 22px rgba(154,46,18,.22);
}
.btn.secondary{
  background:rgba(255,248,238,.88);
  color:#9A2E12;
  border-color:#9A2E12;
  box-shadow:0 12px 22px rgba(154,46,18,.1);
}
.btn:hover{filter:brightness(.97);transform:translateY(-1px)}

.feature-section{
  padding:32px 32px 52px;
  background:linear-gradient(180deg,#fff6ec,#f0dcc6);
}
.feature-grid{
  width:min(1280px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.feature-card{
  min-height:185px;
  padding:24px 16px;
  border:3px solid var(--bronze);
  border-radius:10px;
  background:linear-gradient(180deg,#fff5e6,#f2ddc1);
  text-align:center;
  box-shadow:0 16px 40px rgba(53,18,7,.12);
}
.feature-icon{
  font-size:34px;
  color:var(--bronze);
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.feature-card h3{
  margin:8px 0 10px;
  font-size:15px;
  line-height:1.22;
  font-weight:1000;
  text-transform:uppercase;
}
.feature-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
}

.section-heading{
  text-align:center;
  margin-bottom:34px;
}
.section-heading h2{
  margin:0;
  color:var(--bronze);
  text-transform:uppercase;
  font-size:28px;
  letter-spacing:.06em;
}
.section-heading span{
  display:block;
  width:58px;
  height:3px;
  margin:14px auto 0;
  background:var(--bronze);
}
.section-heading p{
  width:min(760px,100%);
  margin:24px auto 0;
  line-height:1.7;
}

.about-section{
  padding:70px 32px;
  background:linear-gradient(135deg,#f6e4cf,#fff8ec);
}
.about-grid{
  width:min(1440px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.info-card{
  padding:26px;
  background:linear-gradient(180deg,#fff7ea,#efd8b8);
  border:2px solid rgba(154,46,18,.36);
  border-radius:16px;
  box-shadow:0 20px 45px rgba(53,18,7,.12);
}
.info-card h3{
  margin:0 0 16px;
  color:var(--bronze);
  text-transform:uppercase;
  font-size:24px;
  letter-spacing:.04em;
}
.info-card h3::after{
  content:"";
  display:block;
  width:48px;
  height:3px;
  margin-top:10px;
  background:var(--bronze);
}
.info-card p{
  font-size:15px;
  line-height:1.62;
  margin:0 0 14px;
}
.founder-card{text-align:left}
.founder-photo{
  display:block;
  width:150px;
  height:180px;
  object-fit:cover;
  margin:0 auto 16px;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.founder-card h4{
  margin:0 0 12px;
  text-align:center;
  color:var(--bronze);
  font-size:24px;
}
.founder-card a{
  color:var(--bronze);
  font-weight:900;
  text-decoration:underline;
}

.gm-section{
  position:relative;
  padding:80px 32px;
  background:
    linear-gradient(rgba(255,239,214,.88),rgba(255,239,214,.88)),
    none center/cover;
  overflow:hidden;
}
.gm-grid{
  width:min(1280px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.gm-card{
  background:linear-gradient(180deg,#fff1d8,#f1d4aa);
  border:2px solid rgba(154,46,18,.5);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 38px rgba(53,18,7,.18);
}
.image-button{
  border:0;
  padding:0;
  width:100%;
  height:330px;
  background:#f4e5cd;
  cursor:pointer;
  display:block;
  overflow:hidden;
}
.image-button img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gm-card:nth-child(2) .image-button img{
  object-fit:cover;
  object-position:center center;
  transform:scale(1.08);
}
.gm-text{
  padding:22px 22px 26px;
  min-height:150px;
}
.gm-text h3{
  margin:0 0 12px;
  color:var(--bronze);
  font-size:22px;
}
.gm-text p{
  margin:0;
  line-height:1.6;
}

.weekly-section{
  padding:70px 32px;
  background:radial-gradient(circle at top,#fff6e8,#ead4b7);
}
.weekly-grid{
  width:min(1100px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.weekly-card{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:22px;
  padding:26px;
  border-radius:16px;
  border:2px solid rgba(154,46,18,.35);
  box-shadow:0 18px 40px rgba(53,18,7,.12);
}
.weekly-card.thursday{background:linear-gradient(180deg,#fff3de,#f3d8b6)}
.weekly-card.sunday{background:linear-gradient(180deg,#f3f7e6,#dfe8d1)}
.weekly-icon{
  width:78px;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#fff;
  background:var(--bronze);
  font-size:38px;
}
.weekly-card h3{
  margin:0 0 8px;
  text-transform:uppercase;
  font-size:18px;
}
.weekly-card p{margin:0 0 12px;line-height:1.55}
.time-pill{
  display:inline-block;
  margin-top:12px;
  padding:8px 12px;
  border:1px solid rgba(154,46,18,.35);
  border-radius:8px;
  background:rgba(255,255,255,.45);
  font-weight:800;
  font-size:13px;
}

.tournament-banner{
  position:relative;
  background:var(--dark);
  overflow:hidden;
}
.tournament-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#1e0904 0%,#351207 50%,#74220f 100%);
}
.tournament-content{
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  margin:0 auto;
  padding:42px 32px;
  display:grid;
  grid-template-columns:78px 1fr auto;
  align-items:center;
  gap:26px;
  color:white;
}
.banner-icon{
  width:66px;
  height:66px;
  border-radius:10px;
  background:var(--bronze);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
}
.tournament-content h2{
  margin:0 0 8px;
  text-transform:uppercase;
  font-size:28px;
}
.tournament-content p{margin:0;line-height:1.6}

.site-footer{
  position:relative;
  overflow:hidden;
  color:white;
  background:#2b0c04;
}
.footer-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,#200904 0%,#431507 52%,#7e2b12 100%);
}
.footer-content{
  position:relative;
  z-index:1;
  width:min(1320px,100%);
  margin:0 auto;
  padding:58px 32px 42px;
  display:grid;
  grid-template-columns:1.2fr .8fr 1.2fr 1fr;
  gap:30px;
}
.footer-col{
  border-right:1px solid rgba(255,255,255,.25);
  padding-right:26px;
}
.footer-col:last-child{border-right:0}
.footer-col h3{
  margin:0 0 18px;
  color:#ffd36e;
  text-transform:uppercase;
}
.footer-col p,.footer-col a,.footer-col button{
  color:white;
  display:block;
  margin:0 0 10px;
  line-height:1.6;
  text-decoration:none;
  background:none;
  border:0;
  padding:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.footer-col a:hover,.footer-col button:hover{text-decoration:underline}
.footer-motto{
  color:#ffd36e;
  font-family:Georgia,serif;
  font-size:32px;
  font-weight:900;
  font-style:italic;
  margin-top:22px;
}
.volunteer-btn{
  margin-top:20px !important;
  background:#ffd36e !important;
  color:var(--bronze) !important;
  padding:8px 12px !important;
  border-radius:8px !important;
  font-weight:900 !important;
  display:inline-block !important;
}
.footer-bottom{
  position:relative;
  z-index:1;
  width:min(1320px,100%);
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.24);
  padding:20px 32px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:13px;
}

.modal,.lightbox{
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.68);
}
.modal.open,.lightbox.open{display:flex}
.modal-panel{
  width:min(980px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff8ed;
  border-radius:18px;
  border:2px solid rgba(154,46,18,.45);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}
.modal-header{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  background:#fff1dd;
  border-bottom:1px solid rgba(154,46,18,.25);
}
.modal-header h2{
  margin:0;
  color:var(--bronze);
  text-transform:uppercase;
}
.modal-close,.lightbox-close{
  width:42px;
  height:42px;
  border-radius:50%;
  border:0;
  background:var(--bronze);
  color:white;
  font-size:28px;
  cursor:pointer;
}
.modal-body{padding:24px}
.modal-body h3{color:var(--bronze)}
.tournament-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.tournament-day{
  background:#fff;
  border:1px solid rgba(154,46,18,.3);
  border-radius:12px;
  padding:18px;
}
.tournament-event{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border-top:1px solid #ead6c1;
  padding-top:12px;
  margin-top:12px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.form-grid label{display:block;font-weight:800}
.form-grid input,.form-grid textarea{
  width:100%;
  margin-top:6px;
  padding:12px;
  border:1px solid #d8b99b;
  border-radius:8px;
}
.form-grid .full{grid-column:1/-1}
.lightbox img{
  max-width:94vw;
  max-height:84vh;
  object-fit:contain;
  border-radius:12px;
  background:white;
}
.lightbox p{
  position:absolute;
  bottom:20px;
  color:white;
  font-weight:900;
}
.lightbox-close{
  position:absolute;
  top:18px;
  right:18px;
}

@media (max-width:1200px){
  .feature-grid{grid-template-columns:repeat(3,1fr)}
  .about-grid{grid-template-columns:repeat(2,1fr)}
  .gm-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .mobile-menu-btn{display:block}
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:14px;
    background:#fff1df;
    border-bottom:2px solid rgba(154,46,18,.35);
  }
  .main-nav.open{display:flex}
  .nav-item{justify-content:center;width:100%}
  .dropdown-menu{
    position:static;
    box-shadow:none;
    margin-top:8px;
    width:100%;
  }
  .nav-dropdown.open .dropdown-menu{display:block}
  .hero-section{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#fff3df 0%,#efd2ad 45%,#351207 100%);
}
  .hero-content{
  position:relative;
  z-index:2;
  width:min(1280px,100%);
  margin:0 auto;
  padding:72px 40px 70px;
}
  .hero-content h1{
  margin:0;
  color:#9A2E12;
  text-shadow:none;
  font-size:clamp(4.6rem,7.5vw,8rem);
  line-height:.86;
  letter-spacing:.14em;
  font-weight:1000;
}
  .hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,#fff7ea 0%,#fff0dc 34%,rgba(255,240,220,.72) 49%,rgba(255,240,220,.12) 66%,rgba(30,10,4,.15) 100%);
}
  .hero-actions{flex-direction:column}
  .btn{width:100%}
  .weekly-grid,.footer-content,.tournament-list{grid-template-columns:1fr}
  .tournament-content{grid-template-columns:1fr;text-align:center}
  .banner-icon{margin:0 auto}
  .footer-col{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:0 0 24px}
  .footer-bottom{flex-direction:column;text-align:center}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .site-frame{border-width:2px}
  .nav-wrap{padding:8px 14px}
  .site-logo{width:62px;height:62px}
  .feature-grid,.about-grid,.gm-grid{grid-template-columns:1fr}
  .feature-section,.about-section,.gm-section,.weekly-section{padding-left:18px;padding-right:18px}
  .weekly-card{grid-template-columns:1fr;text-align:center}
  .weekly-icon{margin:0 auto}
  .image-button{height:300px}
  .hero-content h1{
  margin:0;
  color:#9A2E12;
  text-shadow:none;
  font-size:clamp(4.6rem,7.5vw,8rem);
  line-height:.86;
  letter-spacing:.14em;
  font-weight:1000;
}
  .motto-line{
  margin:26px 0;
  display:flex;
  align-items:center;
  gap:16px;
  color:#9A2E12;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",Georgia,serif;
  font-size:clamp(2rem,3vw,2.8rem);
  font-weight:700;
  font-style:italic;
}
  .motto-line span{
  width:85px;
  height:2px;
  background:#9A2E12;
}
}

.nav-dropdown .dropdown-menu{z-index:999; pointer-events:auto;}
.nav-dropdown.open > .dropdown-menu{display:block;}
@media (min-width:901px){
  .nav-dropdown:hover > .dropdown-menu{display:block;}
}

@media (max-width:900px){
  .hero-section{min-height:auto;display:block;}
  .hero-bg{position:relative;width:100%;height:300px;order:2;}
  .hero-overlay{background:linear-gradient(180deg,#fff7ea 0%,rgba(255,247,234,.92) 58%,rgba(255,247,234,.55) 100%);}
  .hero-content{padding:48px 22px 34px;}
}
@media (max-width:640px){
  .hero-bg{height:240px;}
}

/* Approved image-based hero */
.hero-section.image-hero{
  position:relative !important;
  display:block !important;
  min-height:0 !important;
  background:#fff7ea !important;
  overflow:hidden !important;
  padding:0 !important;
}
.hero-section.image-hero::before,
.hero-section.image-hero::after{
  content:none !important;
}
.hero-banner-img{
  display:block;
  width:100%;
  height:auto;
}
.hero-section.image-hero .hero-hotspot{
  position:absolute;
  display:block;
  background:transparent;
  border:0;
  cursor:pointer;
  z-index:5;
  padding:0;
  margin:0;
}
/* Button hotspot positions based on approved hero image */
.hero-hotspot-tournaments{
  left:5.3%;
  bottom:8.8%;
  width:20.5%;
  height:8.4%;
}
.hero-hotspot-community{
  left:24.6%;
  bottom:8.8%;
  width:20.8%;
  height:8.4%;
}
.hero-hotspot:focus{
  outline:3px solid rgba(154,46,18,.65);
  outline-offset:3px;
  border-radius:8px;
}
@media (max-width:700px){
  .hero-section.image-hero{
    overflow-x:auto !important;
  }
  .hero-banner-img{
    min-width:900px;
  }
  .hero-section.image-hero .hero-hotspot{
    display:none;
  }
}


/* Exact image footer replacement */
.site-footer.image-footer{
  position:relative !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  background:#160805 !important;
  overflow:hidden !important;
}
.site-footer.image-footer .footer-banner-img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}
.site-footer.image-footer .footer-bg,
.site-footer.image-footer .footer-content,
.site-footer.image-footer .footer-bottom{
  display:none !important;
}
.footer-hotspot{
  position:absolute;
  display:block;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  cursor:pointer;
  z-index:5;
}
.footer-hotspot:focus{
  outline:2px solid rgba(255,211,110,.75);
  outline-offset:2px;
  border-radius:6px;
}
/* Approximate clickable zones based on the generated footer image */
.footer-tournaments{left:83%;top:8%;width:13%;height:7%;}
.footer-home{left:24.8%;top:42%;width:4.8%;height:3.5%;}
.footer-about{left:24.8%;top:47%;width:4.8%;height:3.5%;}
.footer-gm{left:24.8%;top:52%;width:6.5%;height:3.5%;}
.footer-champions{left:24.8%;top:61%;width:7%;height:3.5%;}
.footer-wrapped{left:24.8%;top:66%;width:7%;height:3.5%;}
.footer-gallery{left:24.8%;top:71%;width:6%;height:3.5%;}
.footer-email{left:72%;top:42%;width:15%;height:4%;}
.footer-facebook{left:72%;top:49%;width:8%;height:4%;}
.footer-whatsapp{left:72%;top:55%;width:8%;height:4%;}

@media (max-width:700px){
  .site-footer.image-footer{
    overflow-x:auto !important;
  }
  .site-footer.image-footer .footer-banner-img{
    min-width:1050px;
  }
  .footer-hotspot{
    display:none;
  }
}

/* Safety: remove duplicate standalone tournament banner */
.tournament-banner:not(.inside-footer){display:none !important;}
