:root {
  --bg: #F4F7F0;
  --surface: #FFFFFF;
  --surface-2: #EBF0E5;
  --ink: #1A2E12;
  --ink-soft: #4A5E42;
  --accent: #2E8B3C;
  --accent-2: #F59E1B;
  --line: rgba(26,46,18,0.12);
  --line-strong: rgba(26,46,18,0.25);
  --radius: 12px;
  --radius-sm: 8px;
  --header-h: 72px;
  --container-pad: clamp(16px,4vw,32px);
  interpolate-size: allow-keywords;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

html,body{overflow-x:hidden;max-width:100vw;margin:0}

body{
  font-family:'Karla',system-ui,-apple-system,sans-serif;
  font-weight:400;
  font-size:clamp(15px,1vw + 0.5rem,17px);
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Urbanist',system-ui,sans-serif;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-0.012em;
  color:var(--ink);
}

h1{font-size:clamp(2.4rem, 5vw + 1rem, 4.2rem)}
h2{font-size:clamp(1.8rem,3vw + 0.5rem,2.8rem)}
h3{font-size:clamp(1.25rem,2vw + 0.3rem,1.7rem)}
h4{font-size:clamp(1.05rem,1.2vw + 0.4rem,1.25rem)}

p{margin-bottom:1em;max-width:72ch}
a{color:var(--accent);text-decoration:none;transition:color 240ms cubic-bezier(.4,0,.2,1)}
a:hover{color:var(--ink)}

img{max-width:100%;height:auto;display:block}
svg{flex-shrink:0}

.skip-link{
  position:absolute;top:-100%;left:16px;
  background:var(--accent);color:#fff;
  padding:10px 20px;border-radius:0 0 var(--radius-sm) var(--radius-sm);
  font-weight:700;z-index:10000;
  transition:top 200ms;
}
.skip-link:focus{top:0}

.container{
  width:100%;max-width:1400px;
  margin:0 auto;
  padding-left:var(--container-pad);
  padding-right:var(--container-pad);
}

.eyebrow{
  font-family:'Urbanist',sans-serif;
  font-weight:700;
  font-size:clamp(0.72rem,0.8vw,0.85rem);
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:12px;
  display:inline-block;
}

/* ───── BUTTONS ───── */

.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Urbanist',sans-serif;font-weight:700;
  font-size:0.95rem;letter-spacing:0.02em;
  padding:14px 32px;border-radius:var(--radius-sm);
  border:2px solid transparent;
  cursor:pointer;transition:all 240ms cubic-bezier(.2,.7,.2,1);
  text-decoration:none;line-height:1.2;
  position:relative;overflow:hidden;
}

.btn-primary{
  background:var(--ink);color:var(--surface);border-color:var(--ink);
}
.btn-primary:hover,.btn-primary:focus-visible{
  background:var(--accent);color:var(--surface);border-color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 8px 24px -8px rgba(46,139,60,0.35);
}

.btn-secondary{
  background:var(--accent-2);color:var(--ink);border-color:var(--accent-2);
}
.btn-secondary:hover,.btn-secondary:focus-visible{
  background:#e08c0f;color:var(--ink);border-color:#e08c0f;
  transform:translateY(-2px);
}

.btn-ghost{
  background:transparent;color:var(--ink);border-color:var(--line-strong);
}
.btn-ghost:hover,.btn-ghost:focus-visible{
  background:var(--surface);color:var(--ink);border-color:var(--accent);
  transform:translateY(-2px);
}

/* ───── HEADER ───── */

.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:1080;
  background:rgba(244, 247, 240, 0.92);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background 240ms ease,box-shadow 240ms ease,padding 240ms ease;
  padding:0;
}
.site-header.scrolled{
  background:rgba(244,247,240,0.98);
  box-shadow:0 8px 24px -16px rgba(0,0,0,0.18);
}

.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:var(--header-h);
  max-width:1400px;margin:0 auto;
  padding:0 var(--container-pad);
}

.logo{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:1.25rem;color:var(--ink);text-decoration:none;
  display:flex;align-items:center;gap:10px;
  z-index:1100;
}
.logo svg{width:36px;height:36px;flex-shrink:0}
.logo:hover{color:var(--accent)}

.nav-desktop{display:none}
@media(min-width:1024px){
  .nav-desktop{
    display:flex;align-items:center;gap:6px;
  }
  .nav-desktop a{
    font-family:'Karla',sans-serif;font-weight:600;
    font-size:0.88rem;color:var(--ink-soft);
    padding:8px 14px;border-radius:var(--radius-sm);
    text-decoration:none;position:relative;
    transition:color 240ms,background 240ms;
  }
  .nav-desktop a:hover{color:var(--accent);background:rgba(46,139,60,0.06)}
  .nav-desktop a.is-active{color:var(--accent)}
  .nav-desktop a.is-active::after{
    content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
    width:20px;height:3px;background:var(--accent);border-radius:2px;
  }
  .nav-desktop .nav-cta{
    background:var(--ink);color:var(--surface);
    padding:10px 22px;border-radius:var(--radius-sm);
    font-weight:700;margin-left:8px;
  }
  .nav-desktop .nav-cta::after{display:none}
  .nav-desktop .nav-cta:hover{
    background:var(--accent);color:var(--surface);
  }
}

/* ───── HAMBURGER / NAV TOGGLE ───── */

.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:5px;
  width:48px;height:48px;
  background:rgba(46,139,60,0.06);border:2px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;
  z-index:1100;position:relative;
  padding:0;
  transition:background 200ms,border-color 200ms;
}
.nav-toggle:hover,.nav-toggle:focus-visible{
  background:rgba(46,139,60,0.12);border-color:var(--accent);
}
.nav-toggle span{
  display:block;width:22px;height:2.5px;
  background:var(--ink);border-radius:2px;
  transition:transform 320ms cubic-bezier(.2,.7,.2,1),opacity 200ms;
  transform-origin:center;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(min-width:1024px){.nav-toggle{display:none}}

/* ───── MOBILE DRAWER ───── */

.drawer-backdrop{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.55);
  z-index:1040;
  opacity:0;pointer-events:none;
  transition:opacity 240ms;
}
.drawer-backdrop.is-open{opacity:1;pointer-events:auto}

.drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(360px,92vw);
  background:var(--surface);
  z-index:1050;
  transform:translateX(100%);
  transition:transform 320ms cubic-bezier(.2,.7,.2,1);
  padding:calc(var(--header-h) + 24px) 28px 32px;
  overflow-y:auto;
  display:flex;flex-direction:column;gap:8px;
}
.drawer.is-open{transform:translateX(0)}

.drawer a{
  display:block;
  font-family:'Urbanist',sans-serif;font-weight:700;
  font-size:1.1rem;color:var(--ink);
  padding:14px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  transition:color 200ms,transform 200ms;
}
.drawer a:hover{color:var(--accent);transform:translateX(4px)}
.drawer a.is-active{color:var(--accent)}
.drawer .drawer-cta{
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:16px;
  background:var(--accent);color:var(--surface);
  padding:14px 28px;border-radius:var(--radius-sm);
  font-weight:700;text-align:center;border-bottom:none;
}
.drawer .drawer-cta:hover{background:var(--ink);color:var(--surface);transform:none}

/* ───── MAIN OFFSET ───── */

main{padding-top:var(--header-h)}

/* ───── HERO ───── */

.hero{
  position:relative;
  padding:clamp(3rem,8vw,6rem) 0 clamp(2.5rem,6vw,4.5rem);
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 20% 80%,rgba(46,139,60,0.06) 0%,transparent 60%),
             radial-gradient(circle at 85% 20%,rgba(245,158,27,0.05) 0%,transparent 50%);
  pointer-events:none;
}
.hero .dot-deco{
  position:absolute;top:0;right:0;width:300px;height:300px;
  background-image:radial-gradient(circle,rgba(46,139,60,0.12) 1.5px,transparent 1.5px);
  background-size:20px 20px;
  pointer-events:none;opacity:0.5;
}

.hero-content{position:relative;z-index:1;max-width:720px}
.hero h1{margin-bottom:20px}
.hero h1 .accent-word{color:var(--accent)}
.hero-sub{
  font-size:clamp(1.05rem,1.2vw + 0.4rem,1.25rem);
  color:var(--ink-soft);line-height:1.6;
  margin-bottom:28px;max-width:560px;
}

.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:32px}

.hero-stats{
  display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,40px);
  margin-top:40px;
}
.stat-item{text-align:left}
.stat-num{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:clamp(2rem,3vw + 0.5rem,3rem);
  color:var(--accent);line-height:1;
  display:block;
  transition:text-shadow 400ms cubic-bezier(0.16,1,0.3,1);
}
.stat-label{
  font-size:0.82rem;color:var(--ink-soft);
  margin-top:4px;font-weight:500;
}

.pill-row{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-bottom:28px;
}
.pill{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--surface);border:1px solid var(--line);
  padding:8px 16px;border-radius:999px;
  font-size:0.82rem;font-weight:600;color:var(--ink-soft);
  transition:border-color 240ms,color 240ms;
}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill svg{width:14px;height:14px;color:var(--accent)}

.trust-strip{
  display:flex;flex-wrap:wrap;gap:16px;
  margin-top:24px;
}
.trust-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.78rem;color:var(--ink-soft);font-weight:500;
}
.trust-badge svg{width:16px;height:16px;color:var(--accent)}

/* ───── FILTER BAR ───── */

.filter-bar{
  position:sticky;top:var(--header-h);
  z-index:1020;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  padding:14px 0;
  transition:box-shadow 240ms;
}
.filter-bar.has-shadow{box-shadow:0 4px 16px -8px rgba(0,0,0,0.1)}

.filter-inner{
  display:flex;flex-wrap:wrap;gap:12px;
  align-items:center;
}
.filter-select{
  font-family:'Karla',sans-serif;font-weight:600;
  font-size:0.85rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);
  padding:10px 36px 10px 14px;
  border-radius:var(--radius-sm);
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231A2E12' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  cursor:pointer;
  transition:border-color 200ms;
  min-width:140px;
}
.filter-select:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
.filter-reset{
  font-family:'Karla',sans-serif;font-weight:600;
  font-size:0.82rem;color:var(--accent);
  background:none;border:none;cursor:pointer;
  padding:8px 12px;
  transition:color 200ms;
}
.filter-reset:hover{color:var(--ink)}

/* ───── CATALOG GRID ───── */

.section{
  padding:clamp(3rem,6vw,5rem) 0;
}
.section-header{
  text-align:center;margin-bottom:clamp(2rem,4vw,3.5rem);
}
.section-header p{
  color:var(--ink-soft);max-width:560px;margin:12px auto 0;
}

.catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,28px);
}
@media(max-width:1024px){.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.catalog-grid{grid-template-columns:1fr}}

.camp-card{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms cubic-bezier(.2,.7,.2,1);
}
.camp-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px -12px rgba(46,139,60,0.22),0 0 0 1px rgba(46,139,60,0.08);
}

.card-image{
  position:relative;height:200px;overflow:hidden;
  background:var(--surface-2);
}
.card-image img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 360ms cubic-bezier(.2,.7,.2,1);
}
.camp-card:hover .card-image img{transform:scale(1.04)}

.card-badge{
  position:absolute;top:14px;right:14px;
  background:linear-gradient(135deg,var(--accent),#1f6e2b);
  color:#fff;padding:6px 14px;border-radius:6px;
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:0.78rem;letter-spacing:0.02em;
}
.card-badge--age{
  background:linear-gradient(135deg,var(--accent-2),#d4880d);
  left:14px;right:auto;
}

.card-body{padding:20px}
.card-body h3{font-size:1.15rem;margin-bottom:10px}
.card-meta{
  display:flex;flex-direction:column;gap:6px;
  margin-bottom:14px;
}
.card-meta-item{
  display:flex;align-items:center;gap:8px;
  font-size:0.82rem;color:var(--ink-soft);
}
.card-meta-item svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}

.card-price{
  display:flex;align-items:baseline;gap:6px;
  padding-top:14px;border-top:1px solid var(--line);
}
.card-price .amount{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:1.3rem;color:var(--accent);
}
.card-price .period{font-size:0.78rem;color:var(--ink-soft)}
.card-price .disclaimer{
  font-size:0.68rem;color:var(--ink-soft);opacity:0.7;
  margin-left:auto;
}

/* Ball bounce theme animation */
.ball-icon{
  position:absolute;bottom:16px;right:16px;
  width:28px;height:28px;
  opacity:0;
  transition:opacity 280ms cubic-bezier(0.16,1,0.3,1);
}
.camp-card:hover .ball-icon{opacity:1;animation:ball-bounce 900ms cubic-bezier(0.16,1,0.3,1)}

@keyframes ball-bounce{
  0%{transform:translateY(0) rotate(0deg)}
  15%{transform:translateY(-20px) rotate(-30deg)}
  30%{transform:translateY(0) rotate(0deg)}
  45%{transform:translateY(-12px) rotate(20deg)}
  60%{transform:translateY(0) rotate(0deg)}
  75%{transform:translateY(-5px) rotate(-8deg)}
  90%,100%{transform:translateY(0) rotate(0deg)}
}

/* ───── FEATURES ───── */

.features-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,28px);
}
@media(max-width:768px){.features-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.features-grid{grid-template-columns:1fr}}

.feature-box{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(20px,3vw,32px);
  text-align:center;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms;
  position:relative;overflow:hidden;
}
.feature-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  opacity:0;transition:opacity 280ms;
}
.feature-box:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 36px -8px rgba(46,139,60,0.18);
}
.feature-box:hover::before{opacity:1}
.feature-box:hover .feature-icon{
  background:rgba(46,139,60,0.12);
  transform:scale(1.06);
}

.feature-icon{
  width:56px;height:56px;
  background:var(--surface-2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;
  transition:background 280ms cubic-bezier(0.16,1,0.3,1),transform 280ms cubic-bezier(0.16,1,0.3,1);
}
.feature-icon svg{width:28px;height:28px;color:var(--accent)}

.feature-box h4{margin-bottom:8px}
.feature-box p{font-size:0.88rem;color:var(--ink-soft);margin:0}

/* ───── PRICING PACKAGES ───── */

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,28px);
  align-items:start;
}
@media(max-width:768px){.pricing-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}}

.pricing-card{
  background:var(--surface);
  border:2px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(24px,3vw,36px);
  position:relative;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms,border-color 280ms;
}
.pricing-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px -12px rgba(46,139,60,0.15);
  border-color:var(--accent);
}
.pricing-card.featured{border-color:var(--accent)}
.pricing-card.featured::before{
  content:'Popüler';
  position:absolute;top:-14px;left:24px;
  background:var(--accent);color:#fff;
  font-family:'Urbanist',sans-serif;font-weight:700;
  font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;
  padding:4px 14px;border-radius:999px;
  animation:badge-glow 3s ease-in-out infinite;
}
@keyframes badge-glow{
  0%,100%{box-shadow:0 0 0 0 rgba(46,139,60,0.3)}
  50%{box-shadow:0 0 12px 4px rgba(46,139,60,0.15)}
}

.pricing-card h3{margin-bottom:6px}
.pricing-card .price{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:clamp(1.8rem,3vw,2.4rem);
  color:var(--accent);margin:12px 0 4px;
}
.pricing-card .price-note{font-size:0.78rem;color:var(--ink-soft);margin-bottom:20px}

.pricing-card ul{list-style:none;padding:0;margin:0 0 20px}
.pricing-card li{
  padding:8px 0;font-size:0.88rem;
  display:flex;align-items:flex-start;gap:10px;
}
.pricing-card li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}
.pricing-card li.included svg{color:var(--accent)}
.pricing-card li.excluded{color:var(--ink-soft);opacity:0.6}
.pricing-card li.excluded svg{color:#c44}

.price-disclaimer{
  font-size:0.72rem;color:var(--ink-soft);
  padding-top:14px;border-top:1px solid var(--line);
  text-align:center;
}

/* ───── PROCESS / TIMELINE ───── */

.timeline{
  position:relative;
  max-width:680px;margin:0 auto;
  padding-left:48px;
}
.timeline::before{
  content:'';position:absolute;left:18px;top:0;bottom:0;
  width:2px;background:var(--line-strong);
}

.timeline-step{
  position:relative;
  padding-bottom:clamp(28px,4vw,40px);
}
.timeline-step:last-child{padding-bottom:0}

.timeline-dot{
  position:absolute;left:-48px;top:4px;
  width:36px;height:36px;
  background:var(--surface);border:2px solid var(--accent);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:0.82rem;color:var(--accent);
  z-index:1;
  transition:background 280ms,color 280ms;
}
.timeline-step:hover .timeline-dot{background:var(--accent);color:var(--surface)}

.timeline-step h4{margin-bottom:4px}
.timeline-time{font-size:0.78rem;color:var(--accent);font-weight:600;margin-bottom:6px}
.timeline-step p{font-size:0.9rem;color:var(--ink-soft);margin:0}

/* ───── EARLY REGISTRATION BANNER ───── */

.early-banner{
  background:var(--ink);color:var(--surface);
  border-radius:var(--radius);
  padding:clamp(2rem,4vw,3.5rem);
  position:relative;overflow:hidden;
}
.early-banner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 80% 50%,rgba(46,139,60,0.25) 0%,transparent 60%);
  pointer-events:none;
}
.early-banner .content{position:relative;z-index:1}
.early-banner h2{color:var(--surface);margin-bottom:8px}
.early-banner p{color:rgba(255,255,255,0.8);margin-bottom:24px}
.early-banner .highlight{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:clamp(1.4rem,2.5vw,2rem);
  color:var(--accent-2);margin-bottom:16px;display:block;
}
.early-stats{
  display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,40px);
  margin-top:28px;
}
.early-stats .stat-num{color:var(--accent-2)}
.early-stats .stat-label{color:rgba(255,255,255,0.7)}

/* ───── TESTIMONIALS ───── */

.testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,28px);
}
@media(max-width:768px){.testimonial-grid{grid-template-columns:1fr}}

.testimonial-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(20px,3vw,28px);
  position:relative;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms;
}
.testimonial-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px -8px rgba(46,139,60,0.12);
}
.testimonial-card::before{
  content:'\201C';
  font-family:Georgia,serif;font-size:3.5rem;
  color:var(--accent);opacity:0.2;
  position:absolute;top:12px;left:20px;line-height:1;
}
.testimonial-text{
  font-size:0.92rem;line-height:1.7;color:var(--ink-soft);
  margin-bottom:16px;padding-top:20px;font-style:italic;
}
.testimonial-author{
  font-weight:700;font-size:0.85rem;color:var(--ink);
}
.testimonial-meta{
  font-size:0.78rem;color:var(--ink-soft);margin-top:2px;
}

/* ───── FAQ ACCORDION ───── */

.faq-list{max-width:760px;margin:0 auto}

.faq-item{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  margin-bottom:12px;
  background:var(--surface);
  overflow:hidden;
  transition:border-color 280ms;
}
.faq-item:hover,.faq-item[open]{border-color:var(--accent)}

.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:clamp(16px,2vw,22px) clamp(18px,3vw,28px);
  cursor:pointer;
  font-family:'Urbanist',sans-serif;font-weight:700;
  font-size:clamp(0.95rem,1vw + 0.2rem,1.1rem);
  color:var(--ink);
  list-style:none;
  transition:color 280ms cubic-bezier(0.16,1,0.3,1);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{display:none;content:''}

.faq-item summary::after{
  content:'';
  width:12px;height:12px;flex-shrink:0;
  border-right:2.5px solid var(--ink);
  border-bottom:2.5px solid var(--ink);
  transform:rotate(45deg);
  transition:transform 320ms cubic-bezier(.4,0,.2,1);
  margin-left:16px;
}
.faq-item[open] summary::after{transform:rotate(-135deg)}
.faq-item[open] summary{color:var(--accent)}

.faq-item .answer{
  height:0;
  padding:0 clamp(18px,3vw,28px);
  overflow:hidden;
  transition:height 360ms cubic-bezier(.4,0,.2,1),
             padding-block-end 360ms cubic-bezier(.4,0,.2,1);
}
.faq-item[open] .answer{
  height:auto;
  padding-block-end:26px;
}

.faq-item .answer p{
  font-size:0.92rem;line-height:1.7;color:var(--ink-soft);
  margin:0;
}

@media(prefers-reduced-motion:reduce){
  .faq-item .answer{transition:none}
}

/* ───── NEWS / UPDATES BLOCK ───── */

.news-strip{
  background:var(--surface-2);
  border-radius:var(--radius);
  padding:clamp(16px,2vw,24px);
}
.news-strip h3{font-size:1rem;margin-bottom:14px}
.news-entry{
  display:flex;gap:12px;align-items:flex-start;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  font-size:0.85rem;
}
.news-entry:last-child{border-bottom:none}
.news-date{
  font-weight:700;color:var(--accent);white-space:nowrap;
  min-width:90px;
}

/* ───── FOOTER ───── */

.site-footer{
  background:var(--ink);color:rgba(255,255,255,0.8);
  padding:clamp(3rem,6vw,5rem) 0 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:clamp(24px,4vw,48px);
  padding-bottom:clamp(2rem,4vw,3rem);
}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

.footer-brand .logo{color:var(--surface);margin-bottom:14px}
.footer-brand p{font-size:0.85rem;max-width:300px;line-height:1.6}
.footer-brand .vkn{font-size:0.72rem;opacity:0.5;margin-top:10px}

.site-footer h4{
  font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--surface);margin-bottom:16px;
}
.site-footer ul{list-style:none;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer li a{
  color:rgba(255,255,255,0.7);font-size:0.88rem;text-decoration:none;
  transition:color 200ms;
}
.site-footer li a:hover{color:var(--accent-2)}

.footer-contact-item{
  display:flex;align-items:flex-start;gap:10px;
  margin-bottom:12px;font-size:0.85rem;
}
.footer-contact-item svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px}
.footer-contact-item a{color:rgba(255,255,255,0.8);text-decoration:none}
.footer-contact-item a:hover{color:var(--accent-2)}

.footer-bar{
  border-top:1px solid rgba(255,255,255,0.1);
  padding:20px 0;
  display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:center;gap:12px;
  font-size:0.78rem;
}
.footer-bar a{color:rgba(255,255,255,0.5);text-decoration:none}
.footer-bar a:hover{color:var(--accent-2)}
.footer-links{display:flex;flex-wrap:wrap;gap:16px}
.footer-est{opacity:0.5;font-size:0.72rem}

/* ───── CONTACT PAGE ───── */

.contact-hero{
  padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1.5rem,3vw,2.5rem);
  position:relative;
}

.channel-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(14px,2vw,20px);
}

.channel-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(20px,2.5vw,28px);
  transition:transform 280ms cubic-bezier(0.16,1,0.3,1),box-shadow 280ms cubic-bezier(0.16,1,0.3,1);
  display:flex;flex-direction:column;gap:10px;
}
.channel-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px -8px rgba(46,139,60,0.15);
}

.channel-icon{
  width:48px;height:48px;
  background:rgba(46,139,60,0.1);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background 280ms;
}
.channel-card:hover .channel-icon{background:rgba(46,139,60,0.18)}
.channel-icon svg{width:22px;height:22px;color:var(--accent)}

.channel-card h4{font-size:0.95rem;margin:0}
.channel-card .channel-value{
  font-weight:600;font-size:0.92rem;
  word-break:break-all;overflow-wrap:anywhere;
}
.channel-card .channel-value a{color:var(--ink);text-decoration:none}
.channel-card .channel-value a:hover{color:var(--accent)}
.channel-card .channel-sub{font-size:0.78rem;color:var(--ink-soft)}

.hours-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:8px;margin-top:8px;
}
.day-card{
  background:var(--bg);border-radius:var(--radius-sm);
  padding:10px 14px;text-align:center;
  font-variant-numeric:tabular-nums;
  transition:background 200ms;
}
.day-card.today{background:rgba(46,139,60,0.08);border:1px solid var(--accent)}
.day-card .day-name{font-weight:700;font-size:0.78rem;color:var(--ink);display:block}
.day-card .day-hours{font-size:0.82rem;color:var(--ink-soft)}

/* ───── FORMS ───── */

.form-section{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(24px,4vw,40px);
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}

.field{
  display:flex;flex-direction:column;gap:6px;
}
.field.full-width{grid-column:1/-1}

.field label{
  font-weight:600;font-size:0.85rem;color:var(--ink);
}

.field input:not([type="checkbox"]):not([type="radio"]),
.field select,
.field textarea{
  font-family:'Karla',sans-serif;
  font-size:0.92rem;color:var(--ink);
  background:var(--bg);
  border:2px solid var(--line);
  padding:12px 16px;
  border-radius:var(--radius-sm);
  transition:border-color 200ms,box-shadow 200ms;
  width:100%;
}
.field input:not([type="checkbox"]):not([type="radio"]):focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(46,139,60,0.1);
  outline:none;
}
.field textarea{min-height:120px;resize:vertical}

.field input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:auto;
  width:18px;height:18px;
  min-width:18px;min-height:18px;
  padding:0;border:0;margin:2px 0 0;
  accent-color:var(--accent);
}

.kvkk{
  display:flex;align-items:flex-start;gap:10px;
  font-size:0.82rem;color:var(--ink-soft);
  line-height:1.5;
  cursor:pointer;
}

.form-submit{
  margin-top:8px;
}
.form-submit .btn{width:100%}
@media(min-width:640px){.form-submit .btn{width:auto}}

/* ───── ABOUT PAGE ───── */

.team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(16px,2.5vw,28px);
}

.team-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(20px,2.5vw,28px);
  text-align:center;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms;
}
.team-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px -8px rgba(46,139,60,0.12);
}
.team-photo{
  width:96px;height:96px;
  background:var(--surface-2);
  border-radius:50%;
  transition:box-shadow 320ms cubic-bezier(0.16,1,0.3,1);
  margin:0 auto 16px;
  display:flex;align-items:center;justify-content:center;
  border:3px solid var(--accent);
  overflow:hidden;
}
.team-photo svg{width:40px;height:40px;color:var(--accent);opacity:0.5}
.team-card h4{margin-bottom:2px}
.team-role{font-size:0.82rem;color:var(--accent);font-weight:600;margin-bottom:10px}
.team-bio{font-size:0.85rem;color:var(--ink-soft);line-height:1.6;text-align:left}

/* ───── LEGAL PAGES ───── */

.legal-content{max-width:820px;margin:0 auto;padding:clamp(2rem,4vw,3rem) 0}
.legal-content h1{margin-bottom:8px}
.legal-content .update-date{font-size:0.82rem;color:var(--ink-soft);margin-bottom:32px}
.legal-content h2{margin-top:40px;margin-bottom:16px;font-size:1.35rem}
.legal-content h3{margin-top:28px;margin-bottom:12px;font-size:1.1rem}
.legal-content p{margin-bottom:16px;line-height:1.75}
.legal-content ul,
.legal-content ol{padding-left:24px;margin-bottom:16px}
.legal-content li{margin-bottom:8px;line-height:1.65}

/* ───── TABLES ───── */

.table-scroll{
  display:block;width:100%;max-width:100%;min-width:0;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  margin:18px 0;
  border:1px solid var(--line);
  border-radius:6px;
}
.table-scroll>table{margin:0!important;min-width:480px;width:100%}
:where(*:has(>.table-scroll),*:has(>*>.table-scroll),*:has(>*>*>.table-scroll)){min-width:0}

table{border-collapse:collapse;width:100%}
th,td{padding:12px 16px;text-align:left;font-size:0.88rem;border-bottom:1px solid var(--line)}
th{font-weight:700;font-size:0.82rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-soft);background:var(--bg)}
td{color:var(--ink)}

/* ───── COOKIE BANNER ───── */

.cookie-banner{
  position:fixed;
  bottom:16px;left:16px;right:16px;
  max-width:520px;margin:0 auto;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(18px,2.5vw,24px);
  box-shadow:0 16px 48px -12px rgba(0,0,0,0.2);
  transform:translateY(140%);opacity:0;
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),opacity 240ms;
  z-index:9999;
}
.cookie-banner.is-visible{transform:translateY(0);opacity:1}

@media(min-width:640px){
  .cookie-banner{left:24px;right:auto;max-width:420px}
}

.cookie-banner h4{font-size:0.95rem;margin-bottom:8px}
.cookie-banner p{font-size:0.82rem;color:var(--ink-soft);margin-bottom:16px;line-height:1.6}
.cookie-banner .cookie-actions{
  display:flex;flex-wrap:wrap;gap:8px;
}
.cookie-banner .cookie-actions button{
  flex:1;min-width:100px;
  font-family:'Karla',sans-serif;font-weight:700;
  font-size:0.82rem;
  padding:11px 16px;
  min-height:44px;
  border-radius:var(--radius-sm);
  border:2px solid var(--line);
  cursor:pointer;
  transition:all 200ms;
  background:var(--bg);color:var(--ink);
}
.cookie-banner .cookie-actions button[data-consent="accept"]{
  background:var(--accent);color:#fff;border-color:var(--accent);
}
.cookie-banner .cookie-actions button[data-consent="accept"]:hover{
  background:#247030;color:#fff;border-color:#247030;
}
.cookie-banner .cookie-actions button[data-consent="reject"]{
  border-color:var(--ink);
  background:var(--surface);
  font-weight:700;
}
.cookie-banner .cookie-actions button[data-consent="reject"]:hover{
  background:var(--ink);color:var(--surface);border-color:var(--ink);
}
.cookie-banner .cookie-actions button[data-consent="settings"]:hover{
  background:var(--surface-2);color:var(--ink);border-color:var(--ink-soft);
}

/* ───── THANK YOU PAGE ───── */

.thankyou-section{
  text-align:center;
  padding:clamp(4rem,10vw,8rem) 0;
  min-height:60vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.thankyou-section svg{
  width:80px;height:80px;color:var(--accent);margin-bottom:24px;
}
.thankyou-section h1{margin-bottom:12px}
.thankyou-section p{color:var(--ink-soft);margin-bottom:28px}

/* ───── 404 PAGE ───── */

.page-404{
  text-align:center;
  padding:clamp(4rem,10vw,8rem) 0;
  min-height:60vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.page-404 .big-404{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:clamp(6rem,15vw,12rem);
  line-height:1;color:var(--accent);opacity:0.15;
}
.page-404 h1{margin-bottom:12px;margin-top:-20px}
.page-404 p{color:var(--ink-soft);margin-bottom:28px}

/* ───── SITEMAP PAGE ───── */

.sitemap-list{
  columns:2;column-gap:40px;
  list-style:none;padding:0;
}
@media(max-width:480px){.sitemap-list{columns:1}}
.sitemap-list li{
  break-inside:avoid;
  padding:10px 0;
  border-bottom:1px solid var(--line);
}
.sitemap-list a{font-weight:600;font-size:0.95rem}

/* ───── REVEAL ANIMATIONS ───── */

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 700ms cubic-bezier(0.16,1,0.3,1),
             transform 700ms cubic-bezier(0.16,1,0.3,1);
}
.reveal.is-in{opacity:1;transform:none}

.reveal[style*="--i"]{
  transition-delay:calc(var(--i,0) * 90ms);
}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
html.no-js .reveal{opacity:1;transform:none}

/* ───── NICHE ANIMATIONS ───── */

/* Grass blade wave decoration */
.grass-deco{
  position:relative;
  overflow:hidden;
}
.grass-deco::after{
  content:'';
  position:absolute;bottom:0;left:0;right:0;height:6px;
  background:repeating-linear-gradient(
    90deg,
    var(--accent) 0px,var(--accent) 3px,
    transparent 3px,transparent 8px
  );
  opacity:0.25;
  animation:grass-wave 10s ease-in-out infinite;
}

@keyframes grass-wave{
  0%,100%{transform:scaleY(1) translateX(0)}
  25%{transform:scaleY(1.3) translateX(-2px)}
  50%{transform:scaleY(0.8) translateX(1px)}
  75%{transform:scaleY(1.2) translateX(-1px)}
}

/* Goal post frame on headings */
.goal-heading{
  position:relative;
  display:inline-block;
  padding:8px 20px 8px 0;
}
.goal-heading::before{
  content:'';position:absolute;top:0;left:-16px;
  width:4px;height:100%;
  background:var(--accent);border-radius:2px;
}
.goal-heading::after{
  content:'';position:absolute;top:0;left:-16px;
  width:24px;height:4px;
  background:var(--accent);border-radius:2px;
}

/* Field stripe pattern */
.field-stripe-bg{
  background:repeating-linear-gradient(
    0deg,
    transparent 0px,transparent 48px,
    rgba(46,139,60,0.03) 48px,rgba(46,139,60,0.03) 96px
  );
}

/* Whistle pendulum on CTAs */
.btn-primary:active::before{
  content:'';
  position:absolute;top:-4px;right:-4px;
  width:16px;height:16px;
  background:var(--accent-2);
  border-radius:50%;
  animation:whistle-ping 400ms ease-out;
}

@keyframes whistle-ping{
  0%{transform:scale(0);opacity:1}
  100%{transform:scale(2.5);opacity:0}
}

/* Net pattern overlay */
.net-overlay{
  position:relative;
}
.net-overlay::before{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(0deg,rgba(46,139,60,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(46,139,60,0.04) 1px,transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
  opacity:0;
  transition:opacity 600ms;
}
.net-overlay:hover::before{opacity:1}

/* Stadium light glow on hero stats */
.stat-item:hover .stat-num{
  text-shadow:0 0 20px rgba(46,139,60,0.25);
}

/* Testimonial card quote glow on hover */
.testimonial-card:hover::before{
  opacity:0.4;
  transition:opacity 400ms;
}

/* Timeline dot kick-pulse on hover */
.timeline-step:hover .timeline-dot{
  box-shadow:0 0 0 6px rgba(46,139,60,0.12);
}

/* Smooth field-line shimmer on early-banner */
.early-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,0.04) 45%,transparent 50%);
  background-size:200% 100%;
  animation:field-shimmer 6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes field-shimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}

/* Team card — photo ring glow on hover */
.team-card:hover .team-photo{
  box-shadow:0 0 0 6px rgba(46,139,60,0.1);
}

@media(prefers-reduced-motion:reduce){
  .grass-deco::after{animation:none}
  .btn-primary:active::before{animation:none;display:none}
  @keyframes ball-bounce{0%,100%{transform:none}}
  @keyframes badge-glow{0%,100%{box-shadow:none}}
  @keyframes field-shimmer{0%,100%{background-position:0 0}}
  .stat-item:hover .stat-num{text-shadow:none}
  .timeline-step:hover .timeline-dot{box-shadow:none}
  .early-banner::after{animation:none}
}

/* ───── COUNTER-UP ───── */

.counter-up{
  font-variant-numeric:tabular-nums;
}

/* ───── CANCELLATION TIERS ───── */

.cancel-tiers{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:16px;margin:20px 0;
}
@media(max-width:640px){.cancel-tiers{grid-template-columns:1fr}}

.cancel-tier{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:20px;text-align:center;
}
.cancel-tier .tier-period{
  font-family:'Urbanist',sans-serif;font-weight:800;
  font-size:1.1rem;color:var(--accent);margin-bottom:4px;
}
.cancel-tier .tier-result{
  font-size:0.88rem;color:var(--ink-soft);
}
.cancel-tier.warning{border-color:var(--accent-2)}
.cancel-tier.danger{border-color:#c44}

/* ───── SMOOTH SCROLL OFFSET ───── */

section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}

/* ───── A11Y ───── */

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ───── RESPONSIVE ───── */

@media(max-width:1280px){
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}
}

@media(max-width:1024px){
  :root{--header-h:64px}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .hero-stats{gap:20px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cancel-tiers{grid-template-columns:1fr}
}

@media(max-width:640px){
  .catalog-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr}
  .hero h1{font-size:clamp(2rem, 6vw, 2.6rem)}
  .filter-inner{flex-direction:column;align-items:stretch}
  .filter-select{width:100%}
  .early-stats{flex-direction:column;gap:16px}
  .form-grid{grid-template-columns:1fr}
  .form-submit .btn{width:100%}
  .card-image{height:180px}
  .feature-box{padding:20px}
  .feature-icon{width:44px;height:44px}
  .feature-icon svg{width:22px;height:22px}
  .channel-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .pill-row{gap:8px}
  .pill{padding:6px 12px;font-size:0.78rem}
  .camp-card .card-body{padding:16px}
  .timeline{padding-left:40px}
  .timeline::before{left:14px}
  .timeline-dot{left:-40px;width:30px;height:30px;font-size:0.72rem}
  .hours-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
}

@media(max-width:360px){
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;text-align:center;justify-content:center}
}

/* ───── PRINT ───── */

@media print{
  .site-header,.drawer,.drawer-backdrop,.cookie-banner,.filter-bar,.nav-toggle{display:none!important}
  main{padding-top:0!important}
  body{background:#fff;color:#000;font-size:11pt}
  .reveal{opacity:1!important;transform:none!important}
  a{color:#000;text-decoration:underline}
  .btn{border:1px solid #000}
}

.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9998;transition:width 80ms linear;pointer-events:none}

/* ───── COOKIE BANNER MOBILE SAFE AREA ───── */

@media(max-width:640px){
  .cookie-banner{
    bottom:0;left:0;right:0;
    border-radius:var(--radius) var(--radius) 0 0;
    padding-bottom:max(18px,env(safe-area-inset-bottom));
    max-width:100%;
  }
}

/* ───── ENHANCED REVEAL STAGGER ───── */

.reveal{
  transition-timing-function:cubic-bezier(0.22,1,0.36,1);
}

.camp-card.reveal,
.pricing-card.reveal,
.feature-box.reveal,
.testimonial-card.reveal,
.team-card.reveal,
.channel-card.reveal{
  transform:translateY(32px) scale(0.97);
}
.camp-card.reveal.is-in,
.pricing-card.reveal.is-in,
.feature-box.reveal.is-in,
.testimonial-card.reveal.is-in,
.team-card.reveal.is-in,
.channel-card.reveal.is-in{
  transform:none;
}

/* ───── FOOTBALL TURF HOVER GLOW ───── */

.camp-card::after{
  content:'';position:absolute;inset:0;
  border-radius:var(--radius);
  background:radial-gradient(circle at 50% 100%,rgba(46,139,60,0.08) 0%,transparent 70%);
  opacity:0;
  transition:opacity 360ms cubic-bezier(0.22,1,0.36,1);
  pointer-events:none;
}
.camp-card:hover::after{opacity:1}

.feature-box::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  transform:scaleX(0);
  transition:transform 400ms cubic-bezier(0.22,1,0.36,1);
}
.feature-box:hover::after{transform:scaleX(1)}

/* ───── PRICING CARD ENHANCED HOVER ───── */

.pricing-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  border-radius:var(--radius) var(--radius) 0 0;
  transform:scaleX(0);
  transition:transform 400ms cubic-bezier(0.22,1,0.36,1);
}
.pricing-card:hover::after{transform:scaleX(1)}
.pricing-card.featured::after{transform:scaleX(1);background:var(--accent)}

/* ───── TESTIMONIAL HOVER BORDER GLOW ───── */

.testimonial-card{
  border-color:transparent;
  border-left:3px solid var(--line);
  transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms,border-color 320ms;
}
.testimonial-card:hover{
  border-left-color:var(--accent);
}

/* ───── FAQ ITEM OPEN ANIMATION ───── */

.faq-item summary{
  transition:color 280ms cubic-bezier(0.16,1,0.3,1),background 280ms;
}
.faq-item:hover summary{
  background:rgba(46,139,60,0.03);
}

/* ───── TIMELINE ENHANCED ───── */

.timeline::before{
  background:linear-gradient(180deg,var(--accent),var(--line-strong) 30%,var(--line-strong) 70%,var(--accent));
}

.timeline-step{
  transition:transform 280ms cubic-bezier(0.22,1,0.36,1);
}
.timeline-step:hover{
  transform:translateX(4px);
}

/* ───── BUTTON RIPPLE ───── */

.btn::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.2) 0%,transparent 60%);
  opacity:0;transition:opacity 200ms;
  border-radius:inherit;
}
.btn:hover::after{opacity:1}

/* ───── LINK UNDERLINE SLIDE ───── */

.nav-desktop a:not(.nav-cta)::before{
  content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform 280ms cubic-bezier(0.22,1,0.36,1);
  border-radius:1px;
}
.nav-desktop a:not(.nav-cta):hover::before{transform:scaleX(1)}

/* ───── CHANNEL CARD ICON FLOAT ───── */

.channel-card:hover .channel-icon{
  transform:translateY(-3px);
  box-shadow:0 6px 16px -4px rgba(46,139,60,0.2);
}
.channel-icon{
  transition:background 280ms,transform 320ms cubic-bezier(0.22,1,0.36,1),box-shadow 320ms;
}

/* ───── EARLY BANNER PULSE ───── */

.early-banner .highlight{
  animation:pulse-glow 3s ease-in-out infinite;
}
@keyframes pulse-glow{
  0%,100%{text-shadow:0 0 0 transparent}
  50%{text-shadow:0 0 24px rgba(245,158,27,0.3)}
}

/* ───── CANCEL TIER HOVER ───── */

.cancel-tier{
  transition:transform 280ms cubic-bezier(0.22,1,0.36,1),box-shadow 280ms;
}
.cancel-tier:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 24px -8px rgba(0,0,0,0.1);
}

/* ───── FOOTER LINK HOVER SHIFT ───── */

.site-footer li a{
  display:inline-block;
  transition:color 200ms,transform 200ms;
}
.site-footer li a:hover{
  transform:translateX(3px);
}

/* ───── SCROLL PROGRESS GRADIENT ───── */

.scroll-progress{
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
}

/* ───── REDUCED MOTION OVERRIDES ───── */

@media(prefers-reduced-motion:reduce){
  .camp-card.reveal,.pricing-card.reveal,.feature-box.reveal,.testimonial-card.reveal,.team-card.reveal,.channel-card.reveal{
    transform:none!important;
  }
  .camp-card::after,.feature-box::after,.pricing-card::after,.btn::after{transition:none!important}
  .nav-desktop a:not(.nav-cta)::before{transition:none!important}
  .channel-icon{transition:none!important}
  .early-banner .highlight{animation:none!important}
  .cancel-tier{transition:none!important}
  .timeline-step{transition:none!important}
  .timeline-step:hover{transform:none}
  @keyframes pulse-glow{0%,50%,100%{text-shadow:none}}
}

/* iletisim-form-responsive-guard v2 */
main form, .form-section form, .contact-form, .iletisim-form, form#contact-form, form[id*="iletisim"], form[class*="iletisim"], form[class*="contact"] {
  display: block;
  max-width: 720px;
  margin: 24px auto;
  padding: clamp(20px, 4vw, 36px);
  background: var(--surface, rgba(255,255,255,0.04));
  border: 1px solid var(--line, rgba(127,127,127,0.18));
  border-radius: 16px;
  box-shadow: 0 8px 32px -12px rgba(0,0,0,0.25);
  box-sizing: border-box;
}
main form .form-grid,
main form > .grid,
.contact-form .form-grid,
form[class*="contact"] .form-grid,
form[class*="iletisim"] .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  width: 100%;
}
@media (max-width: 640px) {
  main form .form-grid,
  main form > .grid,
  .contact-form .form-grid,
  form[class*="contact"] .form-grid,
  form[class*="iletisim"] .form-grid {
    grid-template-columns: 1fr;
  }
}
main form .form-grid > .field-full,
main form .form-grid > .col-full,
main form .form-grid > [class*="full"] {
  grid-column: 1 / -1;
}
main form .field, main form label,
.contact-form .field, .contact-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}
main form input[type="text"],
main form input[type="email"],
main form input[type="tel"],
main form input[type="number"],
main form input[type="date"],
main form input[type="url"],
main form input[type="search"],
main form input:not([type]),
main form select,
main form textarea,
.contact-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.contact-form select,
.contact-form textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  min-height: 44px;
  font-size: 16px;
  line-height: 1.4;
  font-family: inherit;
  border: 1px solid var(--line, rgba(127,127,127,0.22));
  border-radius: 10px;
  background: var(--input-bg, rgba(0,0,0,0.04));
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
}
main form textarea, .contact-form textarea {
  min-height: 120px;
  resize: vertical;
}
main form input:focus, main form select:focus, main form textarea:focus,
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
  outline: 2px solid var(--accent, #5a8dee);
  outline-offset: 1px;
  border-color: transparent;
}
main form .checkbox, main form label.checkbox,
.contact-form .checkbox {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
}
main form input[type="checkbox"], main form input[type="radio"],
.contact-form input[type="checkbox"], .contact-form input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent, #5a8dee);
}
main form button[type="submit"],
main form input[type="submit"],
main form .btn-submit,
.contact-form button[type="submit"],
.contact-form .btn-submit {
  width: 100%;
  min-height: 48px;
  padding: 14px 28px;
  background: var(--accent, #5a8dee);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 8px;
  transition: filter 200ms ease, transform 120ms ease;
}
@media (min-width: 640px) {
  main form button[type="submit"],
  main form input[type="submit"],
  .contact-form button[type="submit"] {
    width: auto;
    min-width: 220px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
main form button[type="submit"]:hover,
.contact-form button[type="submit"]:hover {
  filter: brightness(1.05);
}
main form button[type="submit"]:active,
.contact-form button[type="submit"]:active {
  transform: translateY(1px);
}


/* honeypot-hide */
.form-honeypot, input[name="web_site"], input[name="honeypot"], input[name="hp_url"], input[name="trap"], input[aria-hidden="true"][tabindex="-1"] {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* form-reveal-opacity-fix */
main form.reveal, .form-section form.reveal, .contact-form.reveal, form[id*='iletisim'].reveal, form[class*='contact'].reveal { opacity: 1 !important; transform: none !important; translate: none !important; }
main form, .form-section form, .contact-form, form[id*='iletisim'], form[class*='contact'] { opacity: 1 !important; }

/* consent-checkbox-inline-fix */
main form label.checkbox, main form .form-checkbox, main form .consent, main form .kvkk, .contact-form label.checkbox, .contact-form .checkbox-group { display: flex !important; flex-direction: row !important; align-items: flex-start !important; gap: 10px !important; font-size: 14px !important; line-height: 1.5 !important; flex-wrap: nowrap !important; }
main form label.checkbox span, main form label.checkbox a, main form .form-checkbox span, main form .form-checkbox a, .contact-form label.checkbox span, .contact-form label.checkbox a { display: inline !important; flex: 1 1 auto; }
main form label.checkbox input[type='checkbox'], main form .form-checkbox input[type='checkbox'] { flex-shrink: 0 !important; width: 18px !important; height: 18px !important; margin-top: 3px !important; }


/* contacts-grid-v2 */
/* Contact cards in responsive grid */
.contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid,
.contact-list, main .contact-wrap, section[id*="iletisim"] > .container > div:has(> .contact-card) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 16px;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 720px) {
  .contact-grid, .contacts-grid, .iletisim-grid, .contact-cards, .contact-cards-grid {
    grid-template-columns: 1fr !important;
  }
}
.contact-card { min-height: 0; box-sizing: border-box; }

/* Checkbox row alignment — override .field-checkbox column layout */
form .field.field-checkbox,
form .field-checkbox,
form .checkbox-field,
form .form-field--checkbox,
form .form-row--checkbox,
form .kvkk-field,
form .consent-field,
.contact-form .field.field-checkbox {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100%;
}
form .field.field-checkbox > input[type="checkbox"],
form .field-checkbox > input[type="checkbox"],
form .checkbox-field > input[type="checkbox"],
form .kvkk-field > input[type="checkbox"],
form .consent-field > input[type="checkbox"] {
  flex-shrink: 0 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 3px 0 0 0 !important;
  accent-color: var(--accent, currentColor);
}
form .field.field-checkbox > label,
form .field-checkbox > label,
form .checkbox-field > label,
form .kvkk-field > label,
form .consent-field > label {
  flex: 1 1 auto !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  display: inline !important;
  cursor: pointer;
}
form .field.field-checkbox > label a,
form .field-checkbox > label a {
  text-decoration: underline;
}

/* field-full inside form grid spans both columns */
form .form-grid > .field-full,
form .form-grid > .field.field-full,
form .form-grid > .col-full,
form .form-grid > .full,
form .form-grid > [class*="--full"] {
  grid-column: 1 / -1;
}

