:root{
  --bg-soft:#f0ecd9;
  --bg-cream:#fbfaea;
  --bg:var(--bg-soft);

  --dark:#3f3d33;
  --darker:#2f2d25;

  --bar:#3c3a33;
  --bar-2:#4a4945;

  --accent:#c7a45b;
  --accent-2:#a4853f;

  --muted:#7c7a6e;

  --khaki:#b6a86a;
  --khaki-dark:#9a8d56;

  --radius-lg:24px;
  --radius-md:16px;
  --pill:999px;

  --shadow:0 10px 22px rgba(0,0,0,.18);
  --shadow-soft:0 12px 25px rgba(0,0,0,.08);
  --shadow-card:0 10px 20px rgba(0,0,0,.09);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family:"Roboto", Arial, sans-serif;
  background:var(--bg);
  color:var(--dark);
  line-height:1.6;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:2px solid rgba(199,164,91,.75);
  outline-offset:2px;
}

.skip-link{
  position:absolute;
  left:1rem;
  top:-64px;
  z-index:200;
  padding:.7rem 1rem;
  border-radius:10px;
  background:#1f1e18;
  color:#fff;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:800;
  transition:top .14s ease;
}
.skip-link:focus-visible{ top:1rem; }

.container{
  width:min(1160px, calc(100% - 3rem));
  margin:0 auto;
}

/* TYPO */
h1,h2,h3,h4,
.brand-title,
.main-nav a,
.nav-cta,
.big-header h2,
.section-header h2,
.explore-head h2{
  font-family:"League Spartan", Arial, sans-serif;
  letter-spacing:.02em;
}

/* NOTICE */
.site-notice{
  width:100%;
  background:#a31d1d;
  color:#fff;
  text-align:center;
  padding:9px 12px;
  font-size:14px;
  letter-spacing:.2px;
}
.site-notice i{ margin-right:8px; opacity:.95; }

/* TOPBAR */
.topbar{
  background:var(--bar-2);
  color:rgba(255,255,255,.88);
  font-size:.9rem;
}
.topbar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.6rem 0;
  gap:1rem;
}
.topbar-left{
  opacity:.95;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:700;
  letter-spacing:.03em;
}
.topbar-right{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
}
.topbar-right .sep{ opacity:.55; }
.topbar-right a{
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.topbar-right i{ opacity:.95; }

/* HEADER (STICKY) */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:var(--bar);
  color:#fff;
  box-shadow:var(--shadow);
  transition:background .18s ease, box-shadow .18s ease, backdrop-filter .18s ease;
}
.site-header.is-scrolled{
  background:rgba(60,58,51,.92);
  backdrop-filter:blur(6px);
  box-shadow:0 14px 26px rgba(0,0,0,.24);
}
.site-header .container{
  width:min(1320px, calc(100% - 2.2rem));
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  padding:.95rem 0;
}

/* BRAND */
.brand{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:220px;
}
.brand-logo{
  width:48px;
  height:48px;
  object-fit:contain;
  display:block;
  background:transparent;
  border:none;
  outline:none;
  box-shadow:none;
  overflow:visible;
  transform:translateY(1px);
}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-title{
  font-weight:800;
  letter-spacing:.02em;
  font-size:1.05rem;
  text-transform:none;
}
.brand-sub{
  font-size:.86rem;
  opacity:.88;
  font-weight:600;
}

/* NAV */
.main-nav{
  display:flex;
  align-items:center;
  gap:.48rem;
  font-size:.97rem;
  padding:.25rem .35rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.main-nav a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  opacity:.92;
  font-weight:800;
  position:relative;
  padding:.53rem .62rem;
  border-radius:999px;
  white-space:nowrap;
  line-height:1;
  flex-shrink:0;
  transition:opacity .16s ease, transform .16s ease, background .16s ease, color .16s ease;
}
.main-nav a i{
  opacity:.9;
  font-size:.9rem;
  flex-shrink:0;
  transition:transform .16s ease, opacity .16s ease;
}

.main-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:2px;
  background:var(--accent);
  transform:translateX(-50%);
  transition:width .16s ease-out;
}
.main-nav a:hover{
  opacity:1;
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.main-nav a:hover i{
  opacity:1;
  transform:scale(1.04);
}
.main-nav a:hover::after{ width:100%; }

.nav-cta{
  position:relative;
  overflow:hidden;
  padding:.62rem 1.15rem;
  border-radius:var(--pill);
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(120deg,#d6b368,#b28c3a);
  color:#1f1e18;
  font-weight:900;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  animation:navCtaPulse 2.8s ease-in-out infinite;
}
.nav-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 24%, rgba(255,255,255,.48) 48%, transparent 72%);
  transform:translateX(-140%);
  transition:transform .45s ease;
}
.nav-cta::after{ display:none; }
.nav-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(0,0,0,.26);
  filter:brightness(1.04);
  animation:none;
}
.nav-cta:hover::before{
  transform:translateX(140%);
}

/* Burger */
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:.28rem;
  background:none;
  border:none;
  padding:.45rem;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.nav-toggle span{
  display:block;
  width:24px;
  height:2px;
  background:#fff;
  border-radius:999px;
}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  min-height:580px;
}
.hero-slide{ position:relative; min-height:580px; }
.hero-bg{
  position:absolute;
  inset:0;
  background-image:var(--hero-bg);
  background-size:cover;
  background-position:center;
  transform:scale(1.03);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(199,164,91,.16), transparent 60%),
    linear-gradient(to bottom, rgba(0,0,0,.26), rgba(0,0,0,.62));
}

.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:0;
  background:none;
}

.hero-inner{
  position:relative;
  padding:8.2rem 0 9.2rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:1.1rem; /* tlačítko těsněji pod logem */
}

.hero-logo{
  width:280px;
  height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.55));
}

/* Buttons */
.btn{
  border-radius:var(--pill);
  padding:1rem 1.8rem;
  border:none;
  cursor:pointer;
  font-weight:900;
  font-size:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
  font-family:"League Spartan", Arial, sans-serif;
}
.btn-wide{ width:100%; }

.hero-btn{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#f5f2ea;
  color:#1f1e18;
  box-shadow:0 18px 38px rgba(0,0,0,.35);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.hero-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 20%, rgba(255,255,255,.55) 48%, transparent 76%);
  transform:translateX(-135%);
  transition:transform .55s ease;
  z-index:-1;
}
.hero-btn i{
  transition:transform .18s ease;
}
.hero-btn:hover{
  transform:translateY(-3px) scale(1.01);
  background:linear-gradient(120deg, var(--khaki), var(--khaki-dark));
  box-shadow:0 24px 50px rgba(0,0,0,.48);
}
.hero-btn:hover::before{
  transform:translateX(130%);
}
.hero-btn:hover i{
  transform:translateX(4px);
}
.hero-claim{
  margin:.35rem 0 0;
  padding:1rem 1.8rem;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(19, 17, 12, .66), rgba(13, 11, 8, .44));
  border:1px solid rgba(213, 186, 105, .26);
  color:#f4e6b0;
  font-family:"League Spartan", Arial, sans-serif;
  font-size:clamp(1.12rem, 2vw, 1.38rem);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.05;
  text-shadow:0 2px 10px rgba(0,0,0,.32);
  box-shadow:
    0 16px 32px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.05);
  position:relative;
  text-wrap:balance;
}
.hero-claim::before,
.hero-claim::after{
  content:"";
  display:inline-block;
  width:42px;
  height:1px;
  background:linear-gradient(90deg, rgba(213,186,105,0), rgba(213,186,105,.9), rgba(213,186,105,0));
  vertical-align:middle;
  margin:-0.18rem .8rem 0;
}

@keyframes navCtaPulse{
  0%,100%{
    box-shadow:0 10px 18px rgba(0,0,0,.22);
  }
  50%{
    box-shadow:0 14px 24px rgba(0,0,0,.3);
  }
}

/* hero arrows */
.hero-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:none;
  padding:0;
  cursor:pointer;
  z-index:5;
}
.hero-arrow-prev{ left:6%; }
.hero-arrow-next{ right:6%; }
.hero-arrow-circle{
  width:62px;
  height:62px;
  border-radius:50%;
  background:rgba(214,179,104,.42);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  backdrop-filter:blur(4px);
}
.hero-arrow-circle i{ font-size:1.2rem; }
.hero-slide:not(.active){ display:none; }

/* INTRO */
.intro{ background:#fff; padding:4.4rem 0; }
.intro-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, 1.2fr);
  gap:3rem;
  align-items:center;
}
.intro-frame{
  border-radius:20px;
  background:#fff;
  padding:18px;
  box-shadow:0 18px 44px rgba(0,0,0,.10);
}
.intro-frame img{
  width:100%;
  height:460px;
  object-fit:cover;
  border-radius:16px;
}

.intro-kicker{
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
  font-family:"League Spartan", Arial, sans-serif;
}
.kicker-line{
  height:2px;
  width:52px;
  background:var(--accent);
  border-radius:999px;
}

.intro-content h2{
  font-size:2.55rem;
  line-height:1.08;
  margin:.75rem 0 .85rem;
  color:#423f34;
}
.intro-text{ color:var(--muted); max-width:58ch; margin:0 0 1.2rem; }

.intro-checks{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.55rem 1.2rem;
  margin:1.1rem 0 1.6rem;
}
.intro-facts{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin:0 0 1.65rem;
}
.intro-fact-card{
  border:1px solid rgba(90,83,62,.12);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 28px rgba(0,0,0,.05);
  padding:1rem 1rem .95rem;
}
.intro-fact-card h3{
  margin:0 0 .42rem;
  color:#5d563f;
  font-size:1.1rem;
}
.intro-fact-card p{
  margin:0;
  color:#807c6f;
  font-size:.95rem;
}
.check{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:#5e5c52;
  font-size:1rem;
}
.check i{ color:var(--khaki-dark); }

.intro-actions{
  display:flex;
  align-items:center;
  gap:1.2rem;
  flex-wrap:wrap;
}

.intro-btn{
  background:linear-gradient(120deg, var(--khaki), var(--khaki-dark));
  color:#1f1e18;
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}
.intro-btn:hover{
  transform:translateY(-1px);
  background:linear-gradient(120deg, #c5b676, #a3945b);
}

.intro-call{
  display:flex;
  align-items:center;
  gap:.8rem;
  padding:.55rem .7rem;
}
.call-icon{
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(182,168,106,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6a5f3a;
}
.call-label{
  font-size:.72rem;
  letter-spacing:.12em;
  font-weight:900;
  color:#7b7663;
  font-family:"League Spartan", Arial, sans-serif;
}
.call-number{
  font-weight:900;
  font-size:1.15rem;
  color:#4b473a;
  font-family:"League Spartan", Arial, sans-serif;
}

/* EXPLORE (Prohlédněte si) */
.explore{
  background:var(--bg-cream);
  padding:5rem 0;
}
.explore-head{
  text-align:center;
  margin:0 auto 2.4rem;
}
.explore-brand{
  max-width:760px;
  margin:0 auto;
  padding:1.25rem 1rem 0.2rem;
}
.explore-brand-kicker{
  display:inline-block;
  margin-bottom:.55rem;
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.78rem;
}
.explore-brand-title{
  font-family:"League Spartan", Arial, sans-serif;
  font-size:clamp(3rem, 6vw, 5.2rem);
  line-height:.95;
  letter-spacing:.01em;
  color:#4f4938;
  text-shadow:0 10px 24px rgba(79,73,56,.12);
}
.explore-brand-title span{
  color:#9e8740;
}
.explore-brand p{
  max-width:34rem;
  margin:1rem auto 0;
  color:#7f7a6e;
  font-size:1.04rem;
}
.explore-kicker{
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.78rem;
}
.explore-dots, .big-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:.6rem 0 .9rem;
}
.explore-dots span, .big-dots span{
  width:6px; height:6px;
  border-radius:999px;
  background:rgba(164,133,63,.55);
}
.explore-head h2{
  font-size:3.1rem;
  margin:.1rem 0 0;
  color:#6a624c;
}

.explore-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.6rem;
  align-items:stretch;
}
.explore-card{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(60,58,51,.16);
  border-radius:14px;
  padding:1.6rem 1.5rem 1.45rem;
  box-shadow:0 18px 34px rgba(0,0,0,.06);
  transition:transform .14s ease, box-shadow .14s ease;
  position:relative;
}
.explore-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 42px rgba(0,0,0,.08);
}
.explore-icon{
  width:72px;
  height:72px;
  margin:0 auto 1.05rem;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:22px;
  background:rgba(255,248,234,.72);
  box-shadow:0 14px 30px rgba(167,140,65,.10);
}
.explore-icon img{
  width:72px;
  height:72px;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.10));
}
.explore-card h3{
  margin:.1rem 0 .5rem;
  font-size:1.55rem;
  color:#5b5440;
}
.explore-card p{
  margin:0 0 1rem;
  color:#8a877d;
  font-size:.98rem;
}
.explore-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:900;
  color:var(--accent-2);
  font-family:"League Spartan", Arial, sans-serif;
}
.explore-link:hover{ text-decoration:underline; }

/* BIG HEADERS */
.big-header{ text-align:center; margin:0 auto 2.6rem; }
.big-kicker{
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
}
.big-header h2{
  font-size:2.8rem;
  margin:.2rem 0 0;
  color:#6a624c;
}

/* CLUBS */
.clubs{ background:#f7f2dd; padding:4.9rem 0; }
.clubs-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
  max-width:920px;
  margin:0 auto;
}
.club-card{
  background:rgba(255,255,255,.5);
  border:1.8px solid rgba(63,61,51,.22);
  border-radius:12px;
  height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.club-card img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:62px;
  object-fit:contain;
  filter:none;
  opacity:1;
  transform:scale(1);
  transition:transform .2s ease;
}
.club-card:hover{
  transform:translateY(-3px);
  border-color:rgba(164,133,63,.42);
  background:rgba(255,255,255,.68);
  box-shadow:0 14px 24px rgba(0,0,0,.09);
}
.club-card:hover img{
  transform:scale(1.03);
}
.club-card-placeholder{
  min-height:136px;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:1.1rem;
}
.club-card-placeholder span{
  color:#6b644d;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:800;
  font-size:1.02rem;
  line-height:1.28;
  max-width:12rem;
}
.clubs-cta{ margin-top:2.2rem; display:flex; justify-content:center; }
.clubs-btn{
  background:linear-gradient(120deg, var(--khaki), var(--khaki-dark));
  color:#1f1e18;
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}
.clubs-btn:hover{
  transform:translateY(-1px);
  background:linear-gradient(120deg, #c5b676, #a3945b);
}

.supporters{
  background:#fbf8ee;
  padding:4.6rem 0;
  border-top:1px solid rgba(164,133,63,.14);
  border-bottom:1px solid rgba(164,133,63,.14);
}
.supporters-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}
.supporter-card{
  min-height:124px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.8rem;
  text-align:center;
  padding:1rem;
  border-radius:16px;
  border:1px solid rgba(63,61,51,.14);
  background:rgba(255,255,255,.6);
  box-shadow:0 10px 22px rgba(0,0,0,.05);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.supporter-card:hover{
  transform:translateY(-2px);
  border-color:rgba(164,133,63,.34);
  box-shadow:0 16px 28px rgba(0,0,0,.08);
}
.supporter-mark{
  width:52px;
  height:52px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(120deg, rgba(199,164,91,.22), rgba(164,133,63,.18));
  border:1px solid rgba(164,133,63,.35);
  color:#6b6039;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:900;
  letter-spacing:.04em;
}
.supporter-card strong{
  color:#5d563f;
  font-family:"League Spartan", Arial, sans-serif;
  font-size:1rem;
  line-height:1.15;
}

/* SERVICES + PRODUCTS */
.services,
.products-showcase{
  background:#f3f2ee;
  padding:4.2rem 0;
}
.services .big-header,
.products-showcase .big-header{
  max-width:900px;
  margin-bottom:2.2rem;
}
.services .big-header h2,
.products-showcase .big-header h2{
  font-size:3.25rem;
  line-height:1.02;
  color:#625a40;
}
.products-showcase .big-header p{
  margin:.65rem 0 0;
  color:#7f7b6d;
  font-size:1rem;
}
.section-copy{
  max-width:52rem;
  margin:.7rem auto 0;
  color:#7f7b6d;
  font-size:1.02rem;
}
.big-wave{
  width:82px;
  height:10px;
  margin:.5rem auto .95rem;
  border-bottom:3px solid rgba(164,133,63,.88);
  border-radius:0 0 26px 26px;
  opacity:.9;
}

.matrix-list{
  max-width:1060px;
  margin:0 auto;
}
.matrix-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.35rem;
  padding:.95rem 0;
}
.matrix-row + .matrix-row{
  border-top:2px solid rgba(164,133,63,.6);
}
.matrix-row-single{
  grid-template-columns:minmax(0, 1fr);
}
.matrix-row-single .matrix-item{
  max-width:560px;
  margin:0 auto;
}
.matrix-item{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:1rem;
  align-items:start;
  padding:.25rem 0;
}
.matrix-item-emphasis{
  border:1px solid rgba(164,133,63,.18);
  border-radius:20px;
  background:rgba(255,255,255,.48);
  box-shadow:0 16px 28px rgba(0,0,0,.05);
  padding:1rem 1.1rem;
}
.matrix-icon{
  width:68px;
  height:68px;
  border-radius:50%;
  background:linear-gradient(180deg, #b0a457 0%, #8f8340 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  box-shadow:0 14px 28px rgba(0,0,0,.12);
  flex:0 0 auto;
}
.matrix-icon::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1.8px dashed rgba(164,133,63,.78);
}
.icon-sprite{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
  pointer-events:none;
}
.matrix-icon-svg{
  width:1.7rem;
  height:1.7rem;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.matrix-icon-svg--wide{
  width:1.84rem;
  height:1.84rem;
}
.matrix-icon i,
.matrix-icon-image{
  display:none;
}
.matrix-icon-image--visible{
  display:block;
  width:1.7rem;
  height:1.7rem;
  object-fit:contain;
}
.matrix-icon .matrix-fa{
  display:block;
  font-size:1.5rem;
  line-height:1;
}
.matrix-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  align-items:center;
  margin-bottom:.42rem;
}
.matrix-mini-badge,
.woodsure-placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  border-radius:999px;
  padding:.3rem .72rem;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:.72rem;
}
.matrix-mini-badge{
  background:rgba(199,164,91,.16);
  color:#806d32;
  border:1px solid rgba(164,133,63,.26);
}
.woodsure-placeholder{
  background:rgba(63,61,51,.08);
  color:#5f573d;
  border:1px dashed rgba(95,87,61,.28);
}
.product-info-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1rem;
  max-width:1060px;
  margin:0 auto 1.4rem;
}
.product-info-card{
  border:1px solid rgba(90,83,62,.12);
  border-radius:18px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 24px rgba(0,0,0,.05);
  padding:1rem 1.05rem;
}
.product-info-card strong{
  display:block;
  color:#5e5640;
  font-family:"League Spartan", Arial, sans-serif;
  font-size:1.02rem;
}
.product-info-card span{
  display:block;
  margin-top:.35rem;
  color:#807c6f;
}
.icon-mask{
  display:inline-block;
  width:1.22rem;
  height:1.22rem;
  flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.matrix-icon .icon-mask{
  width:1.3rem;
  height:1.3rem;
}
.matrix-icon .icon-leather-goods,
.matrix-icon .icon-boot{
  width:1.42rem;
  height:1.42rem;
}
.icon-raptor{
  -webkit-mask-image:url("./assets/icons/raptor.svg");
  mask-image:url("./assets/icons/raptor.svg");
}
.icon-evergreen{
  -webkit-mask-image:url("./assets/icons/tree.svg");
  mask-image:url("./assets/icons/tree.svg");
}
.icon-stand{
  -webkit-mask-image:url("./assets/icons/hunting-stand.svg");
  mask-image:url("./assets/icons/hunting-stand.svg");
}
.icon-antlers{
  -webkit-mask-image:url("./assets/icons/antlers.svg");
  mask-image:url("./assets/icons/antlers.svg");
}
.icon-leather-goods{
  -webkit-mask-image:url("./assets/icons/leather-goods.svg");
  mask-image:url("./assets/icons/leather-goods.svg");
}
.icon-hide{
  -webkit-mask-image:url("./assets/icons/hide.svg");
  mask-image:url("./assets/icons/hide.svg");
}
.icon-stag{
  -webkit-mask-image:url("./assets/icons/stag.svg");
  mask-image:url("./assets/icons/stag.svg");
}
.icon-boar{
  -webkit-mask-image:url("./assets/icons/boar.svg");
  mask-image:url("./assets/icons/boar.svg");
}
.icon-forest-tools{
  -webkit-mask-image:url("./assets/icons/forest-tools.svg");
  mask-image:url("./assets/icons/forest-tools.svg");
}
.icon-boot{
  -webkit-mask-image:url("./assets/icons/boot.svg");
  mask-image:url("./assets/icons/boot.svg");
}
.icon-embroidery{
  -webkit-mask-image:url("./assets/icons/embroidery.svg");
  mask-image:url("./assets/icons/embroidery.svg");
}
.icon-trail-camera{
  -webkit-mask-image:url("./assets/icons/trail-camera.svg");
  mask-image:url("./assets/icons/trail-camera.svg");
}
.icon-call{
  -webkit-mask-image:url("./assets/icons/call.svg");
  mask-image:url("./assets/icons/call.svg");
}
.icon-trophy-plaque{
  -webkit-mask-image:url("./assets/icons/trophy-plaque.svg");
  mask-image:url("./assets/icons/trophy-plaque.svg");
}
.icon-document{
  -webkit-mask-image:url("./assets/icons/document.svg");
  mask-image:url("./assets/icons/document.svg");
}
.matrix-text h3{
  margin:.15rem 0 .42rem;
  color:#655e46;
  font-size:1.54rem;
  line-height:1.12;
}
.matrix-text p{
  margin:0;
  color:#8a877d;
  font-size:.96rem;
  line-height:1.55;
}

/* GENERIC SECTIONS */
.section{ padding:4.4rem 0; }
.section-alt{ background:var(--bg-soft); }
.section-header{
  text-align:center;
  max-width:36rem;
  margin:0 auto 2.5rem;
}
.section-header h2{
  font-size:2.2rem;
  margin-bottom:.35rem;
}
.section-header p{ color:var(--muted); font-size:1.02rem; }

.js .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .55s ease, transform .55s ease;
}
.js .reveal.in-view{
  opacity:1;
  transform:translateY(0);
}

.grid{ display:grid; gap:1.8rem; }
.cards-4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.cards-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }

.card{
  background:#fff;
  border-radius:var(--radius-md);
  padding:1.7rem 1.55rem;
  box-shadow:var(--shadow-card);
  transition:transform .14s ease, box-shadow .14s ease;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 26px rgba(0,0,0,.10);
}
.card h3{ margin:0 0 .4rem; font-size:1.16rem; }
.card p{ margin:0; font-size:1rem; color:var(--muted); }

.card-icon{
  width:40px; height:40px;
  border-radius:50%;
  background:#f7f2dd;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:.8rem;
  color:var(--accent-2);
}

/* REFERENCES */
.references-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 1.2fr);
  gap:2.8rem;
  align-items:center;
}
.references-image{
  height:280px;
  border-radius:var(--radius-lg);
  background-image:url("https://images.pexels.com/photos/4106485/pexels-photo-4106485.jpeg?auto=compress&cs=tinysrgb&w=1600");
  background-size:cover;
  background-position:center;
  box-shadow:0 18px 36px rgba(0,0,0,.18);
}
.references-content h2{
  font-size:2.25rem;
  margin-top:0;
}
.testimonial-slider{ margin-top:1.3rem; }
.testimonial{ display:none; }
.testimonial.active{ display:block; }
.testimonial p{ margin:0; }
.testimonial p:first-child{ font-style:italic; color:var(--dark); }
.testimonial-author{ margin-top:.85rem; font-weight:800; color:var(--muted); }

.testimonial-dots{ margin-top:1rem; display:flex; gap:.5rem; }
.dot{
  width:9px; height:9px;
  border-radius:50%;
  border:1px solid var(--accent);
  background:transparent;
  cursor:pointer;
  padding:0;
}
.dot.active{ background:var(--accent); }

/* CONTACT */
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);
  gap:2.8rem;
  align-items:flex-start;
}
.contact-main h2{
  margin:0 0 .2rem;
  font-size:4rem;
  line-height:1.02;
  color:#655e45;
}
.contact-lead{
  margin:0;
  color:#969388;
  font-size:1.1rem;
  font-weight:700;
}
.contact-form{
  margin-top:1.35rem;
  display:grid;
  gap:1rem;
  max-width:760px;
}
.contact-form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}
.field-wrap{
  position:relative;
}
.field-ico{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  color:#aaa69b;
  font-size:1rem;
  pointer-events:none;
}
.field-wrap input,
.field-wrap select,
.field-wrap textarea{
  width:100%;
  border:1px solid #ddd9cb;
  background:#f8f8f6;
  color:#5a564b;
  border-radius:999px;
  padding:1rem 1rem 1rem 2.85rem;
  font:inherit;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}
.field-wrap select{
  appearance:none;
  cursor:pointer;
}
.field-wrap-textarea .field-ico{
  top:1.2rem;
  transform:none;
}
.field-wrap-textarea textarea{
  border-radius:26px;
  min-height:142px;
  resize:vertical;
}
.field-wrap input::placeholder,
.field-wrap select,
.field-wrap textarea::placeholder{
  color:#9a9689;
}
.field-wrap input:focus,
.field-wrap select:focus,
.field-wrap textarea:focus{
  outline:2px solid rgba(199,164,91,.6);
  border-color:transparent;
}
.contact-disclaimer{
  margin:.25rem 0 0;
  color:#9a9689;
  font-size:1rem;
  font-weight:700;
}
.contact-submit{
  width:max-content;
  padding:1rem 2rem;
  border-radius:999px;
  background:#a89d52;
  color:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}
.contact-submit:hover{
  background:#9e934b;
}
.contact-form-status{
  margin:.1rem 0 0;
  min-height:1.25rem;
  color:#5d573f;
  font-size:.92rem;
  font-weight:800;
  font-family:"League Spartan", Arial, sans-serif;
}
.sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}
.contact-highlight{
  background:#d9cfaa;
  border-radius:var(--radius-lg);
  padding:1.75rem 1.6rem;
  color:var(--darker);
  box-shadow:0 18px 34px rgba(0,0,0,.08);
}
.contact-highlight h3{ margin-top:0; }
.contact-highlight ul{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  font-size:1rem;
}
.contact-highlight p{
  color:#5e5743;
}
.contact-highlight li + li{ margin-top:.35rem; }
.contact-highlight a{ font-weight:900; }
.contact-highlight-list strong{
  color:#4c4534;
}
.contact-side-actions{
  margin-top:1.2rem;
}
.contact-side-actions .btn{
  width:100%;
  justify-content:center;
}
.contact-meta-grid{
  margin-top:1.4rem;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1rem;
}
.contact-meta-card{
  border:1px solid rgba(90,83,62,.12);
  border-radius:18px;
  background:rgba(255,255,255,.54);
  box-shadow:0 12px 24px rgba(0,0,0,.05);
  padding:1rem 1.05rem;
}
.contact-meta-card h3{
  margin:0 0 .36rem;
  color:#5d563f;
  font-size:1.05rem;
}
.contact-meta-card p{
  margin:0;
  color:#7a7668;
  line-height:1.65;
}

/* NEWS */
.news-board{
  margin:0 auto 1.35rem;
  max-width:1080px;
}
.news-board-note{
  border:1px solid rgba(164,133,63,.16);
  border-radius:20px;
  background:linear-gradient(120deg, rgba(255,255,255,.68), rgba(243,237,217,.72));
  box-shadow:0 14px 28px rgba(0,0,0,.05);
  padding:1.2rem 1.25rem;
}
.news-board-kicker{
  display:inline-block;
  color:var(--accent-2);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.76rem;
  font-family:"League Spartan", Arial, sans-serif;
}
.news-board-note h3{
  margin:.45rem 0 .4rem;
  color:#5d563f;
  font-size:1.42rem;
}
.news-board-note p{
  margin:0;
  color:#7f7b6d;
}
.news-grid .card{
  border:1px solid rgba(90,83,62,.12);
}
.news-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  border-radius:999px;
  padding:.2rem .68rem;
  background:rgba(199,164,91,.16);
  color:#7c6630;
  font-family:"League Spartan", Arial, sans-serif;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.news-date{
  display:block;
  margin-top:.7rem;
  font-size:.84rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:800;
}
.news h3{ margin-top:.65rem; font-size:1.14rem; }
.news-link{
  display:inline-flex;
  margin-top:.75rem;
  font-size:1rem;
  font-weight:900;
  color:var(--accent-2);
  font-family:"League Spartan", Arial, sans-serif;
}
.event-card{
  border:1px solid rgba(90,83,62,.12);
}

.article-detail{
  padding-top:1.2rem;
}
.article-card{
  max-width:920px;
  margin:0 auto;
  background:#fff;
  border-radius:var(--radius-lg);
  padding:2rem 1.9rem;
  box-shadow:0 16px 34px rgba(0,0,0,.1);
}
.article-meta{
  color:#9a9277;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
  margin-bottom:.45rem;
  font-family:"League Spartan", Arial, sans-serif;
}
.article-card h2{
  margin:.15rem 0 1rem;
  font-size:2.2rem;
  color:#5f573d;
}
.article-card p{
  margin:.65rem 0 0;
  color:#68645a;
  font-size:1.03rem;
}
.article-back{
  margin-top:1.4rem;
  background:linear-gradient(120deg, var(--khaki), var(--khaki-dark));
  color:#1f1e18;
}

/* SUPPORT PAGE */
.support-hero{
  padding-top:3.2rem;
}
.support-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}
.support-stat{
  background:#fff;
  border:1px solid rgba(63,61,51,.16);
  border-radius:14px;
  padding:1rem .95rem;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  text-align:center;
}
.stat-number{
  display:block;
  font-size:2.05rem;
  line-height:1;
  color:#5f573c;
  font-weight:900;
  font-family:"League Spartan", Arial, sans-serif;
}
.stat-label{
  display:block;
  margin-top:.45rem;
  font-size:.9rem;
  color:#807c6f;
}
.support-clubs-grid{
  max-width:980px;
}
.support-grid .card{
  border:1px solid rgba(63,61,51,.12);
}
.support-bars{
  max-width:860px;
  margin:0 auto;
  display:grid;
  gap:.9rem;
}
.support-bar-item{
  background:#fff;
  border:1px solid rgba(63,61,51,.12);
  border-radius:12px;
  padding:.85rem .9rem;
}
.support-bar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  color:#5c573f;
  font-weight:800;
  font-family:"League Spartan", Arial, sans-serif;
}
.support-bar{
  margin-top:.5rem;
  height:10px;
  border-radius:999px;
  background:#ece7d3;
  overflow:hidden;
}
.support-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--khaki-dark), var(--khaki));
}
.support-cta{
  padding-top:1rem;
}
.support-cta-card{
  max-width:900px;
  margin:0 auto;
  padding:1.7rem 1.4rem;
  border-radius:20px;
  background:linear-gradient(140deg, #f8f3df, #eee5c7);
  border:1px solid rgba(154,141,86,.25);
  text-align:center;
  box-shadow:0 16px 28px rgba(0,0,0,.08);
}
.support-cta-card h2{
  margin:.2rem 0 .5rem;
  color:#5d553c;
  font-size:2rem;
}
.support-cta-card p{
  margin:0;
  color:#787364;
}
.support-cta-actions{
  margin-top:1.15rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  flex-wrap:wrap;
}

/* FOOTER */
.bh-footer{
  background:var(--bar-2);
  color:rgba(255,255,255,.88);
  margin-top:3.2rem;
}

/* Footer info strip (sem přesunutá adresa/email/tel) */
.footer-topbar{
  border-bottom:1px solid rgba(255,255,255,.10);
  padding:1.25rem 0;
}
.footer-info{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}
.finfo{
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:0;
}
.ficon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(199,164,91,.18);
  border:1px solid rgba(199,164,91,.28);
}
.ficon i{ color:#fff; font-size:1.05rem; }
.flabel{
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.78;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:700;
}
.fstrong{
  font-weight:900;
  font-size:1rem;
  line-height:1.2;
  font-family:"League Spartan", Arial, sans-serif;
}
.fstrong a{ text-decoration:none; }

.bh-footer-grid{
  display:grid;
  grid-template-columns: 1.35fr 1fr 1fr 1.15fr;
  gap:2.4rem;
  padding:2.6rem 0 2.6rem;
  align-items:start;
}
.bh-footer-brand-col{
  min-width:0;
}
.bh-footer-col h4{
  margin:0 0 .85rem;
  font-size:1.1rem;
  color:#fff;
  position:relative;
  padding-bottom:.55rem;
  font-family:"League Spartan", Arial, sans-serif;
  font-weight:800;
}
.bh-footer-col h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:36px;
  height:2px;
  background:rgba(199,164,91,.9);
  border-radius:999px;
}
.bh-footer-col ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:.55rem;
  font-size:.98rem;
}
.bh-footer-col ul a{
  opacity:.92;
  transition:opacity .15s ease, transform .15s ease;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.bh-footer-col ul a:hover{ opacity:1; transform:translateX(2px); }

.bh-footer-brand{
  width:124px;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  background:transparent;
  box-shadow:none;
  margin-bottom:1rem;
}
.bh-footer-brand img{
  width:124px;
  height:auto;
  object-fit:contain;
  display:block;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.38)) brightness(1.06);
}

.bh-footer-text{
  margin:0 0 1.1rem;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
  max-width:44ch;
}

.bh-footer-sub{
  margin:.1rem 0 1rem;
  color:rgba(255,255,255,.75);
  font-size:1rem;
}

.bh-newsletter{
  display:flex;
  align-items:center;
  gap:.6rem;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  padding:.35rem;
}
.bh-newsletter input{
  flex:1;
  border:none;
  outline:none;
  background:transparent;
  color:#fff;
  padding:.65rem .75rem;
  font:inherit;
}
.bh-newsletter input::placeholder{ color:rgba(255,255,255,.65); }
.bh-newsletter button{
  border:none;
  cursor:pointer;
  border-radius:999px;
  padding:.68rem 1.15rem;
  font-weight:900;
  background:linear-gradient(120deg, #c7a45b, #a4853f);
  color:#1f1e18;
  transition:transform .12s ease, filter .12s ease;
  font-family:"League Spartan", Arial, sans-serif;
}
.bh-newsletter button:hover{ transform:translateY(-1px); filter:brightness(1.05); }

.bh-consent{
  margin:.65rem 0 1.2rem;
  font-size:.82rem;
  color:rgba(255,255,255,.65);
}

.bh-social-title{
  font-weight:900;
  letter-spacing:.03em;
  margin-bottom:.6rem;
  color:#fff;
  font-family:"League Spartan", Arial, sans-serif;
}
.bh-social-icons{ display:flex; gap:.6rem; }
.bh-social-icons a{
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(199,164,91,.18);
  border:1px solid rgba(199,164,91,.28);
  color:#fff;
  transition:transform .12s ease, background .12s ease;
}
.bh-social-icons a:hover{ transform:translateY(-1px); background:rgba(199,164,91,.28); }

.bh-footer-bottom{
  background:#a69a5a;
  color:#1f1e18;
}
.bh-footer-bottom-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  font-size:1rem;
  font-weight:900;
  font-family:"League Spartan", Arial, sans-serif;
}
.bh-copy a{
  color:#1f1e18;
  text-decoration:underline;
  text-underline-offset:2px;
}
.bh-copy a:hover{
  opacity:.85;
}
.bh-links{
  display:flex;
  flex-wrap:wrap;
  gap:1.1rem;
  font-weight:900;
}
.bh-links a{ opacity:.92; }
.bh-links a:hover{ opacity:1; text-decoration:underline; }

.bh-toTop{
  width:46px;
  height:46px;
  border-radius:999px;
  border:none;
  cursor:pointer;
  background:rgba(0,0,0,.12);
  color:#1f1e18;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:transform .18s ease, background .12s ease, opacity .18s ease;
}
.bh-toTop.visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.bh-toTop:hover{ transform:translateY(-1px); background:rgba(0,0,0,.18); }

/* COOKIE BANNER */
.cookie-banner{
  position:fixed;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:130;
  opacity:0;
  pointer-events:none;
  transform:translateY(18px);
  transition:opacity .2s ease, transform .2s ease;
}
.cookie-banner.visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.cookie-card{
  width:min(1100px, 100%);
  margin:0 auto;
  background:rgba(44,43,37,.96);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:1rem 1.1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  box-shadow:0 16px 34px rgba(0,0,0,.32);
}
.cookie-text h3{
  margin:0 0 .25rem;
  color:#fff;
  font-size:1.05rem;
}
.cookie-text p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.95rem;
}
.cookie-text a{
  color:#e5c574;
  font-weight:800;
}
.cookie-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
}
.cookie-btn{
  border:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:.72rem 1.12rem;
  font-weight:900;
  font-family:"League Spartan", Arial, sans-serif;
  font-size:.95rem;
  transition:transform .14s ease, filter .14s ease, background .14s ease;
}
.cookie-btn:hover{
  transform:translateY(-1px);
}
.cookie-btn-light{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.cookie-btn-light:hover{
  background:rgba(255,255,255,.2);
}
.cookie-btn-main{
  background:linear-gradient(120deg,#d6b368,#b28c3a);
  color:#1f1e18;
}
.cookie-btn-main:hover{
  filter:brightness(1.05);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,
  *::before,
  *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}

/* RESPONSIVE */
@media (max-width: 1100px){
  .site-header .container{
    width:min(1240px, calc(100% - 2rem));
  }
  .main-nav{
    gap:.3rem;
    font-size:.92rem;
    padding:.2rem .24rem;
  }
  .main-nav a{
    padding:.48rem .52rem;
  }
  .services .big-header h2,
  .products-showcase .big-header h2,
  .contact-main h2{ font-size:2.9rem; }
  .matrix-text h3{ font-size:1.42rem; }
  .support-stats{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .bh-footer-grid{ grid-template-columns: 1.4fr 1fr 1fr; }
  .bh-footer-col:last-child{ grid-column: 1 / -1; }
}

@media (max-width: 980px){
  .topbar-inner{ flex-direction:column; align-items:flex-start; }
  .cards-4{ grid-template-columns:repeat(2, minmax(0, 1fr)); }

  .intro-grid{ grid-template-columns:1fr; }
  .intro-frame img{ height:420px; }
  .intro-facts{ grid-template-columns:1fr; }

  .clubs-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .supporters-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .matrix-row{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .matrix-row-single{ grid-template-columns:1fr; }
  .matrix-row-single .matrix-item{ margin:0; max-width:none; }
  .explore-grid{ grid-template-columns:1fr; }
  .product-info-strip{ grid-template-columns:1fr; }

  .contact-grid{ grid-template-columns:1fr; }
  .contact-highlight{ margin-top:.8rem; }
  .contact-meta-grid{ grid-template-columns:1fr; }

  .footer-info{ grid-template-columns:1fr; }
  .bh-footer-grid{ grid-template-columns: 1fr 1fr; }

  .cookie-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .cookie-actions{
    width:100%;
  }
  .cookie-btn{
    flex:1;
    justify-content:center;
  }
}

@media (max-width: 900px){
  .site-header .container{
    width:min(100%, calc(100% - 1.15rem));
  }
  .header-inner{
    gap:.5rem;
    padding:.78rem 0;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:.68rem;
  }
  .brand-logo{
    width:42px;
    height:42px;
  }
  .brand-text{
    min-width:0;
  }
  .brand-title{
    font-size:1rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .main-nav{
    position:absolute;
    left:.2rem; right:.2rem;
    top:calc(100% + .45rem);
    background:rgba(47,45,37,.98);
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    flex-direction:column;
    align-items:flex-start;
    padding:1rem 1rem 1.05rem;
    gap:.72rem;
    transform-origin:top;
    transform:scaleY(0);
    opacity:0;
    pointer-events:none;
    transition:transform .14s ease-out, opacity .14s ease-out;
    box-shadow:0 16px 30px rgba(0,0,0,.22);
  }
  .main-nav.open{
    transform:scaleY(1);
    opacity:1;
    pointer-events:auto;
  }
  .main-nav a{
    width:100%;
    justify-content:flex-start;
  }
  .main-nav a::after{
    left:1.35rem;
    transform:none;
  }
  .nav-cta{
    width:100%;
    justify-content:center;
    margin-top:.15rem;
  }
  .nav-toggle{ display:flex; }

  .cards-3{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 576px){
  .container{ width:min(640px, calc(100% - 2rem)); }
  .topbar{
    display:none;
  }
  .site-header{
    top:0;
  }
  .header-inner{
    padding:.7rem 0;
  }
  .brand{
    gap:.58rem;
  }
  .brand-logo{
    width:38px;
    height:38px;
  }
  .brand-title{
    font-size:.94rem;
    letter-spacing:.01em;
  }
  .main-nav{
    left:0;
    right:0;
    top:calc(100% + .35rem);
    padding:.9rem .9rem 1rem;
  }
  .main-nav a{
    padding:.75rem .8rem;
  }
  .cards-4, .cards-3{ grid-template-columns:1fr; }
  .services .big-header h2,
  .products-showcase .big-header h2,
  .contact-main h2{ font-size:2.45rem; }
  .support-stats{ grid-template-columns:1fr; }
  .support-cta-card h2{ font-size:1.7rem; }
  .matrix-row{ grid-template-columns:1fr; }
  .matrix-item{ grid-template-columns:80px 1fr; }
  .matrix-text h3{ font-size:1.24rem; }
  .supporters-grid{ grid-template-columns:1fr 1fr; }
  .contact-form-row{ grid-template-columns:1fr; }
  .contact-submit{ width:100%; justify-content:center; }
  .hero-arrow{ display:none; }
  .clubs-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .bh-footer-grid{ grid-template-columns:1fr; }
  .bh-footer-bottom-inner{ flex-direction:column; align-items:flex-start; }

  .cookie-banner{
    left:.5rem;
    right:.5rem;
    bottom:.5rem;
  }
  .cookie-card{
    padding:.85rem .9rem;
    border-radius:14px;
  }
  .cookie-text p{
    font-size:.9rem;
  }
}
