:root{
  --peach:#FFD9BE; --peach-deep:#F5A87A;
  --lilac:#E4D4F4; --lilac-deep:#B79BDB;
  --sky:#CFE6F2;   --sky-deep:#7FB4CE;
  --pistachio:#D6E6C4; --pist-deep:#9BBE7A;
  --butter:#FFEFBE; --butter-deep:#F0C86A;
  --cream:#FBF7F2; --cream-2:#F4EEE4; --paper:#FFFFFF;
  --ink:#1C2340; --ink-soft:#3B4566; --ink-mute:#7A85A3;
  --line:#E7E1D6; --red:#C2452F;
  --r-s:10px; --r-m:18px; --r-l:28px; --r-xl:44px;
  --f-display:'Fraunces', Georgia, serif;
  --f-sans:'Plus Jakarta Sans', system-ui, sans-serif;
  --f-mono:'JetBrains Mono', ui-monospace, monospace;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--f-sans); background:var(--cream); color:var(--ink);
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
a{ color:inherit; text-decoration:none; }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{
  position:absolute; left:-9999px; top:12px;
  background:var(--ink); color:var(--cream);
  padding:10px 16px; border-radius:10px;
  z-index:999; font-size:13px; font-weight:600;
}
.skip-link:focus{ left:12px; }

:focus-visible{ outline:2.5px solid var(--ink); outline-offset:3px; border-radius:6px; }
.cta:focus-visible, .faq-q:focus-visible, .nav-toggle:focus-visible{
  outline:2.5px solid var(--ink); outline-offset:3px;
}

.ph{
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px),
    linear-gradient(180deg, var(--cream-2), #EFE6D5);
  color:var(--ink-mute);
  font-family:var(--f-mono); font-size:11px;
  letter-spacing:0.04em; text-transform:uppercase;
  display:flex; align-items:flex-end; padding:14px;
  border-radius:var(--r-m); position:relative; overflow:hidden;
}
.ph[data-tone="peach"]{ background:repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px), linear-gradient(180deg, #FFE4CE, #F6BD92); }
.ph[data-tone="lilac"]{ background:repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px), linear-gradient(180deg, #EADCFA, #C9AEE8); }
.ph[data-tone="sky"]{ background:repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px), linear-gradient(180deg, #D9ECF6, #94BFD6); }
.ph[data-tone="pist"]{ background:repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px), linear-gradient(180deg, #E0ECCF, #A7C485); }
.ph[data-tone="butter"]{ background:repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 1px, transparent 1px 14px), linear-gradient(180deg, #FFF0C4, #F3CE78); }

.wrap{ max-width:1280px; margin:0 auto; padding:0 32px; }

/* NAV */
.nav{
  position:sticky; top:0; z-index:40;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  background:rgba(251,247,242,0.82);
  border-bottom:1px solid rgba(28,35,64,0.06);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 32px; max-width:1280px; margin:0 auto; gap:16px;
}
.brand{ display:flex; align-items:center; gap:14px; }
.brand-logo{
  height:55px; width:auto; display:block;
  flex-shrink:0;
}
.brand-sub{
  font-family:var(--f-mono); font-size:16px;
  color:var(--ink-mute); letter-spacing:0.14em;
  text-transform:uppercase;
  padding-left:14px; border-left:1px solid var(--line);
  line-height:1.1;
}

.nav-links{ display:flex; gap:28px; align-items:center; }
.nav-links-head{ display:none; }
.nav-links-body{ display:contents; }
.nav-close{ display:none; }
.nav-links a{ font-size:16px; color:var(--ink-soft); font-weight:500; padding:6px 0; position:relative; }
.nav-links a:hover{ color:var(--ink); }
.nav-links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:2px;
  background:var(--peach-deep); transition:right .25s ease;
}
.nav-links a:hover::after{ right:0; }

.nav-toggle{
  display:none;
  width:44px; height:44px; border-radius:12px;
  flex-direction:column; justify-content:center; align-items:center; gap:5px;
  background:var(--cream-2);
  transition:background .2s ease;
}
.nav-toggle span{
  display:block; width:22px; height:2.5px; background:var(--ink); border-radius:2px;
  transition:transform .25s ease, opacity .2s ease, background .2s ease;
}
.nav-toggle[aria-expanded="true"]{ background:var(--ink); }
.nav-toggle[aria-expanded="true"] span{ background:var(--cream); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.cta{
  background:var(--ink); color:var(--cream);
  padding:12px 22px; border-radius:999px;
  font-weight:600; font-size:14px;
  display:inline-flex; align-items:center; gap:8px;
  transition:transform .15s ease, background .2s ease;
}
.cta:hover{ transform:translateY(-1px); background:#2B3560; }
.cta.ghost{ background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.cta.ghost:hover{ background:var(--ink); color:var(--cream); }
.cta.peach{ background:var(--peach-deep); color:#3A1E0A; }
.cta.peach:hover{ background:#E89A6A; }

/* CTA loading state — spinner + buton kilidi */
.cta.is-loading{
  position:relative;
  pointer-events:none;
  cursor:wait;
  color:transparent !important;
  text-shadow:none;
}
.cta.is-loading > *{ visibility:hidden; }
.cta.is-loading::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:18px; height:18px;
  margin:-9px 0 0 -9px;
  border:2.5px solid currentColor;
  border-top-color:transparent;
  border-radius:50%;
  animation:cta-spin .65s linear infinite;
  color:#3A1E0A;
}
.cta.peach.is-loading::after{ color:#3A1E0A; }
.cta.ghost.is-loading::after{ color:var(--ink); }
@keyframes cta-spin{ to{ transform:rotate(360deg); } }

/* Form alanları submit sırasında dim olsun */
.reg-right.is-submitting input,
.reg-right.is-submitting select,
.reg-right.is-submitting textarea,
.reg-right.is-submitting button{
  opacity:0.6;
  pointer-events:none;
}

.phone-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; 
  font-size:20px;  font-weight:700 !important;
}

/* HERO */
.hero{
  min-height:calc(100vh - 88px);
  display:flex; align-items:center;
  padding:32px 0 48px; position:relative; overflow:hidden;
  background:
    linear-gradient(90deg, rgba(251,247,242,0.94) 0%, rgba(251,247,242,0.72) 55%, rgba(251,247,242,0.35) 100%),
    url('../img/hero_yaz_okulu.png') center / cover no-repeat;
}
.hero-badge{
  display:block;
  width:300px; max-width:100%; height:auto;
  margin:0 0 22px;
  pointer-events:none;
  filter:drop-shadow(0 6px 14px rgba(14,42,110,0.15));
}
@media (max-width:1024px){
  .hero-badge{ width:220px; margin-bottom:18px; }
}
@media (max-width:768px){
  .hero-badge{ width:180px; margin-bottom:14px; }
}
@media (max-width:480px){
  .hero-badge{ width:160px; margin-bottom:12px; }
}
.hero > .wrap{ width:100%; }
.hero-grid{
  display:grid; grid-template-columns:1.1fr 0.9fr;
  gap:48px; align-items:center;
}
.hero-left{ min-width:0; }
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-mono); font-size:14px;
  color:var(--ink-mute); letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:24px;
}
.eyebrow .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--pist-deep);
  box-shadow:0 0 0 4px rgba(155,190,122,0.25);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 4px rgba(155,190,122,0.25); }
  50%{ box-shadow:0 0 0 8px rgba(155,190,122,0.0); }
}
h1.hero-title{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(38px, 4.8vw, 64px); line-height:1.04;
  letter-spacing:-0.025em; margin:0 0 22px; text-wrap:balance;
}
h1.hero-title em{ font-style:normal; font-weight:300; color:var(--peach-deep); }
.hero-lede{ font-size:17px; line-height:1.6; color:var(--ink-soft); max-width:540px; margin:0 0 28px; }
.hero-ctas{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }

.hero-right{ position:relative; min-height:520px; }
.tile{
  position:absolute; border-radius:var(--r-l); overflow:hidden;
  box-shadow:0 24px 48px -20px rgba(28,35,64,0.22);
}
img.tile{ object-fit:cover; }
.tile.t1{ top:0; right:8%; width:58%; height:62%; transform:rotate(-3deg); }
.tile.t2{ bottom:14%; left:0; width:52%; height:46%; transform:rotate(4deg); }
.tile.t3{ bottom:0; right:4%; width:38%; height:32%; transform:rotate(-5deg); }

/* SECTION */
section.block{ padding:110px 0; position:relative; }
section.block.flush{ padding-top:0; }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:56px; }
.sec-label{
  font-family:var(--f-mono); font-size:12px; color:var(--ink-mute);
  letter-spacing:0.14em; text-transform:uppercase; margin-bottom:18px;
}
h2.sec-title{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(34px, 4.2vw, 60px); line-height:1.02;
  letter-spacing:-0.02em; margin:0; max-width:14ch; text-wrap:balance;
}
h2.sec-title em{ font-style:normal; color:var(--lilac-deep); font-weight:300; }
.sec-desc{ max-width:380px; font-size:16px; color:var(--ink-soft); line-height:1.6; }

/* ACTIVITIES — bento grid */
.act-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-auto-rows:220px;
  gap:18px;
}
.act{
  position:relative; border-radius:var(--r-l);
  padding:22px 24px;
  display:flex; align-items:flex-end;
  overflow:hidden; border:1px solid transparent;
  background-size:cover; background-position:center;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
  isolation:isolate;
}
.act:hover{ transform:translateY(-4px); box-shadow:0 24px 40px -24px rgba(28,35,64,0.35); }
.act.has-img::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(28,35,64,0) 35%, rgba(28,35,64,0.78) 100%);
  transition:background .25s ease;
}
.act.has-img:hover::before{
  background:linear-gradient(180deg, rgba(28,35,64,0) 25%, rgba(28,35,64,0.85) 100%);
}
.act .nm{
  position:relative; z-index:1;
  font-family:var(--f-display); font-weight:500;
  font-size:24px; line-height:1.15; letter-spacing:-0.01em;
  margin:0; color:var(--ink);
}
.act.has-img .nm{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,0.35);
}
.act.a1{ background-color:var(--peach); }
.act.a2{ background-color:var(--lilac); }
.act.a3{ background-color:var(--sky); }
.act.a4{ background-color:var(--butter); }
.act.a5{ background-color:var(--pistachio); }

/* Feature + uniform pattern — 1. kart büyük (8x2), ardından 4'lü uniform, son 2 geniş */
.act:nth-child(1){ grid-column:span 8; grid-row:span 2; }
.act:nth-child(2),
.act:nth-child(3),
.act:nth-child(4),
.act:nth-child(5),
.act:nth-child(6),
.act:nth-child(7),
.act:nth-child(8),
.act:nth-child(9),
.act:nth-child(10),
.act:nth-child(11),
.act:nth-child(12){ grid-column:span 4; }
.act:nth-child(13),
.act:nth-child(14){ grid-column:span 6; }

/* SAFETY */
.safe{
  background:var(--paper); color:var(--ink);
  border:1px solid var(--line);
  border-radius:var(--r-xl); padding:60px;
  position:relative; overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(28,35,64,0.15);
}
.safe::before{
  content:""; position:absolute; right:-80px; top:-80px;
  width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, var(--lilac) 0%, transparent 70%);
  opacity:0.55;
  pointer-events:none;
}
.safe-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:32px; margin-bottom:48px; position:relative; flex-wrap:wrap;
}
.safe .sec-label{ color:var(--ink-mute); margin-bottom:14px; }
.safe h2{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(30px,3.6vw,48px); line-height:1.05;
  letter-spacing:-0.02em; margin:0; max-width:14ch; text-wrap:balance;
  color:var(--ink);
}
.safe-note{ max-width:340px; color:var(--ink-soft); font-size:14px; margin:0; }
.safe-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative; }
.safe-item{
  padding:26px 24px; background:var(--cream);
  border:1px solid var(--line); border-radius:var(--r-m);
}
.safe-item .ico{
  width:44px; height:44px; border-radius:14px;
  background:var(--peach-deep); color:var(--ink);
  display:grid; place-items:center; margin-bottom:16px;
}
.safe-item .ico.pist{ background:var(--pist-deep); }
.safe-item .ico.lilac{ background:var(--lilac-deep); }
.safe-item p{ font-size:14.5px; color:var(--ink-soft); margin:0; line-height:1.55; }

/* FAQ */
.faq-grid{ display:grid; grid-template-columns:1fr 2fr; gap:64px; }
.faq-intro .sec-title{ margin-top:18px; }
.faq-intro p{ margin-top:20px; }
.faq-phone{ margin-top:18px; }
.faq-list{ border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); padding:24px 0; }
.faq-q{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; width:100%;
  font-family:var(--f-display); font-weight:500;
  font-size:22px; letter-spacing:-0.01em;
  text-align:left; color:var(--ink);
}
.faq-q .plus{
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid var(--ink); display:grid; place-items:center;
  font-size:18px; flex-shrink:0; transition:all .25s ease;
}
.faq-item.open .plus{ background:var(--ink); color:var(--cream); transform:rotate(45deg); }
.faq-a{
  max-height:0; overflow:hidden;
  transition:max-height .35s ease, padding .2s ease;
  color:var(--ink-soft); font-size:15px; line-height:1.6;
}
.faq-item.open .faq-a{ max-height:400px; padding-top:16px; }

/* REGISTER */
.reg{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--r-xl); padding:60px;
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px;
  position:relative; overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(28,35,64,0.15);
}
.reg::before{
  content:""; position:absolute; left:-80px; bottom:-80px;
  width:280px; height:280px; border-radius:50%;
  background:var(--peach); opacity:0.3;
  pointer-events:none;
}
.reg-left{ position:relative; z-index:1; }
.reg-left h3{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(30px,3.2vw,44px); line-height:1.02;
  letter-spacing:-0.02em; margin:0 0 16px; max-width:14ch;
}
.reg-left h3 em{ font-style:normal; color:var(--peach-deep); }
.reg-left p{ color:var(--ink-soft); font-size:15px; line-height:1.55; max-width:36ch; }
.reg-steps{ margin-top:32px; display:flex; flex-direction:column; gap:16px; }
.reg-step{ display:flex; gap:16px; align-items:flex-start; opacity:0.5; transition:opacity .2s ease; }
.reg-step.on{ opacity:1; }
.reg-step .n{
  width:32px; height:32px; border-radius:50%;
  background:var(--ink); color:var(--cream);
  display:grid; place-items:center;
  font-family:var(--f-mono); font-size:12px; font-weight:600; flex-shrink:0;
}
.reg-step.on .n{ background:var(--peach-deep); color:var(--ink); }
.reg-step .l{ font-weight:600; font-size:14px; }
.reg-step .d{ font-size:12px; color:var(--ink-mute); margin-top:2px; }

.reg-right{
  background:transparent; padding:0;
  position:relative; z-index:1;
}
.reg-progress{ height:4px; background:var(--cream-2); border-radius:999px; overflow:hidden; margin-bottom:28px; }
.reg-progress-fill{ height:100%; background:var(--peach-deep); transition:width .3s ease; }
.reg-step-label{ margin-bottom:18px; }

.form-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.form-field label{
  font-size:12px; font-weight:600; color:var(--ink);
  letter-spacing:0.02em; text-transform:uppercase;
}
.form-field input, .form-field select, .form-field textarea{
  padding:14px 16px; border:1.5px solid var(--line); border-radius:12px;
  background:var(--cream); font-family:inherit; font-size:14px;
  color:var(--ink); transition:border-color .2s ease, background .2s ease;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none; border-color:var(--ink); background:var(--paper);
}
.form-field input[aria-invalid="true"]{ border-color:var(--red); }
.form-error{
  display:none; font-size:12px; color:var(--red); margin-top:4px;
  font-weight:500;
}
.form-error.on{ display:block; }
.form-hint{ font-size:12px; color:var(--ink-mute); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-nav{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:8px; flex-wrap:wrap; }
.pill-opts{ display:flex; gap:8px; flex-wrap:wrap; }
.pill-opt{
  padding:10px 16px; border-radius:999px; border:1.5px solid var(--line);
  background:var(--cream); font-size:13px; font-weight:500;
  cursor:pointer; transition:all .15s ease;
}
.pill-opt:hover{ border-color:var(--ink); }
.pill-opt.on{ background:var(--ink); color:var(--cream); border-color:var(--ink); }

.form-optional{
  font-size:10px; font-weight:500; color:var(--ink-mute);
  text-transform:none; letter-spacing:0;
  margin-left:6px; opacity:0.8;
}

/* Honeypot — bot tuzağı */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px; height:1px;
  opacity:0; pointer-events:none;
}

/* KVKK tek checkbox */
.kvkk-checkbox{
  margin-top:22px; padding-top:22px;
  border-top:1px solid var(--line);
  display:flex; align-items:flex-start; gap:12px;
}
.kvkk-checkbox input[type="checkbox"]{
  flex-shrink:0; width:18px; height:18px;
  accent-color:var(--peach-deep);
  margin-top:2px;
  cursor:pointer;
}
.kvkk-label{
  font-size:13.5px; line-height:1.55; color:var(--ink-soft);
  cursor:pointer;
}
.kvkk-link{
  color:var(--ink); font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--peach-deep);
  text-underline-offset:2px;
}
.kvkk-link:hover{ color:var(--peach-deep); }
.required-star{ color:var(--red); font-weight:700; margin-left:2px; }
.kvkk-checkbox + .form-error{ margin:6px 0 0 30px; }

/* Form genel hata barı */
.form-error-bar{
  display:none;
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:12px;
  background:#fdecec; color:var(--red);
  font-size:13px; line-height:1.45;
  border:1px solid rgba(194,69,47,0.25);
}
.form-error-bar.on{ display:block; }

/* Profesyonel success içeriği */
.success-lede{ font-size:15px; color:var(--ink); margin:0 0 14px; line-height:1.55; }
.success-line{ font-size:14px; color:var(--ink-soft); margin:0 0 10px; line-height:1.55; }
.success-contact{
  font-size:13px; color:var(--ink-mute);
  margin:18px 0 22px; padding-top:16px;
  border-top:1px dashed var(--line);
}
.success-note{
  margin:14px auto 14px; max-width:420px;
  padding:12px 16px; border-radius:12px;
  background:#FFF4E8; border:1px solid var(--peach-deep);
  color:var(--ink-soft); font-size:13px; line-height:1.55;
  text-align:left;
}
.success-note strong{ color:var(--ink); }
.success-contact a{ color:var(--ink); font-weight:600; }
.success-contact a:hover{ color:var(--peach-deep); }
.success .cta{ margin-top:6px; }

.success{ text-align:center; padding:40px 20px; }
.success .check{
  width:72px; height:72px; margin:0 auto 20px; border-radius:50%;
  background:var(--pistachio); display:grid; place-items:center;
  animation:pop .4s cubic-bezier(.2,1.6,.3,1);
}
@keyframes pop{ from{ transform:scale(0); } to{ transform:scale(1); } }
.success h4{ font-family:var(--f-display); font-size:28px; font-weight:500; margin:0 0 8px; letter-spacing:-0.01em; }
.success p{ color:var(--ink-soft); font-size:14px; }

/* CONSENT MODAL */
.consent-modal{
  position:fixed; inset:0;
  background:rgba(28,35,64,0.7);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  z-index:120;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
}
.consent-modal.open{ opacity:1; pointer-events:auto; }
.consent-modal-inner{
  max-width:780px; width:100%;
  max-height:90vh;
  background:var(--paper); border-radius:20px;
  display:flex; flex-direction:column;
  overflow:hidden;
  box-shadow:0 40px 80px -20px rgba(28,35,64,0.45);
  transform:translateY(20px) scale(0.98);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}
.consent-modal.open .consent-modal-inner{ transform:translateY(0) scale(1); }

.consent-modal-head{
  flex-shrink:0;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:20px 28px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg, #5b51d6 0%, #7d6ee0 100%);
  color:#fff;
}
.consent-modal-head h2{
  font-family:var(--f-sans); font-weight:700;
  font-size:18px; letter-spacing:-0.01em;
  margin:0; color:#fff;
}
.consent-close{
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.18); color:#fff;
  border:none; flex-shrink:0;
  transition:background .2s ease;
}
.consent-close:hover{ background:rgba(255,255,255,0.32); }
.consent-close svg{ width:20px; height:20px; }

.consent-modal-body{
  flex:1; min-height:0;
  padding:28px 32px;
  overflow-y:auto;
  color:var(--ink-soft); font-size:14.5px; line-height:1.65;
  scrollbar-width:thin;
  scrollbar-color:var(--ink-mute) transparent;
}
.consent-modal-body::-webkit-scrollbar{ width:8px; }
.consent-modal-body::-webkit-scrollbar-track{ background:transparent; }
.consent-modal-body::-webkit-scrollbar-thumb{ background:var(--ink-mute); border-radius:4px; }
.consent-modal-body::-webkit-scrollbar-thumb:hover{ background:var(--ink-soft); }

.consent-modal-body .cm-section-title{
  font-family:var(--f-sans); font-weight:700;
  font-size:18px; color:var(--ink);
  text-align:center; margin:0 0 18px;
}
.consent-modal-body .cm-table{
  width:100%; border-collapse:collapse; margin:0 0 18px;
  background:var(--cream); border-radius:8px; overflow:hidden;
}
.consent-modal-body .cm-table td{
  padding:14px 16px; vertical-align:top;
  font-size:13.5px; line-height:1.55;
  border:1px solid var(--line);
}
.consent-modal-body h3{
  font-family:var(--f-display); font-weight:500;
  font-size:17px; color:var(--ink);
  margin:22px 0 8px; letter-spacing:-0.01em;
}
.consent-modal-body h4,
.consent-modal-body .cm-h4{
  font-family:var(--f-sans); font-weight:700;
  font-size:14px; color:var(--ink);
  margin:22px 0 10px; padding-left:14px;
  border-left:3px solid #5b51d6;
}
.consent-modal-body h3:first-child,
.consent-modal-body .cm-section-title:first-child{ margin-top:0; }
.consent-modal-body p{ margin:0 0 12px; }
.consent-modal-body ul,
.consent-modal-body ol{ margin:0 0 14px; padding-left:22px; }
.consent-modal-body li{ margin-bottom:6px; }
.consent-modal-body a{
  color:#5b51d6; font-weight:600;
  text-decoration:underline; text-decoration-color:rgba(91,81,214,0.4);
  word-break:break-word;
}
.consent-modal-body a:hover{ text-decoration-color:#5b51d6; }
.consent-modal-body hr{
  border:none; border-top:1px solid var(--line);
  margin:22px 0;
}

.consent-modal-foot{
  flex-shrink:0;
  display:flex; align-items:center; justify-content:flex-end;
  gap:10px; padding:16px 28px;
  border-top:1px solid var(--line);
  background:var(--cream);
}
.consent-modal-foot .cta{
  padding:11px 20px; font-size:14px;
}
.consent-modal-foot .cta.ghost{
  background:#9ca3af; color:#fff; border:none;
}
.consent-modal-foot .cta.ghost:hover{
  background:#6b7280; color:#fff;
}
.consent-modal-foot .cta.peach{
  background:#5b51d6; color:#fff;
}
.consent-modal-foot .cta.peach:hover{
  background:#4a41bf;
}
.consent-modal-foot .cta svg{ flex-shrink:0; }

/* FOOTER */
footer{
  background:var(--ink); color:var(--cream); padding:80px 0 32px;
}
.foot-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px;
  padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08);
}
.foot-brand h2{
  font-family:var(--f-display); font-weight:400; font-size:32px;
  line-height:1.1; margin:0 0 16px; letter-spacing:-0.01em;
}
.foot-logo{
  height:48px; width:auto; display:block;
  filter:brightness(0) invert(1);
  opacity:0.95;
  margin-bottom:10px;
}
.foot-brand-sub{
  display:inline-block;
  font-family:var(--f-mono); font-size:11px;
  color:rgba(251,247,242,0.55);
  letter-spacing:0.14em; text-transform:uppercase;
  margin-bottom:16px;
}
.foot-brand p{ color:rgba(251,247,242,0.6); font-size:14px; max-width:32ch; line-height:1.5; margin:0; }
.foot-socials{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:22px;
}
.foot-social{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  color:rgba(251,247,242,0.75);
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.foot-social:hover{
  background:var(--peach-deep);
  border-color:var(--peach-deep);
  color:var(--ink);
  transform:translateY(-2px);
}
.foot-social svg{ width:16px; height:16px; display:block; }
.foot-social:focus-visible{
  outline:2px solid var(--peach-deep);
  outline-offset:3px;
}
.foot-col h3{
  font-family:var(--f-mono); font-size:11px; color:rgba(251,247,242,0.5);
  text-transform:uppercase; letter-spacing:0.14em; margin:0 0 16px; font-weight:400;
}
.foot-col ul{ list-style:none; padding:0; margin:0; }
.foot-col li{ margin-bottom:10px; }
.foot-col a{ font-size:14px; color:rgba(251,247,242,0.85); }
.foot-col a:hover{ color:var(--peach-deep); }
.foot-phone{
  font-size:22px; font-weight:600;
  color:var(--cream) !important;
  line-height:1.2;
}
.foot-phone:hover{ color:var(--peach-deep) !important; }
.foot-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:28px; font-size:12px; color:rgba(251,247,242,0.5);
  font-family:var(--f-mono); flex-wrap:wrap; gap:12px;
}
.foot-bottom a{ color:rgba(251,247,242,0.7); }

/* FLOATING ACTION BUTTONS */
.fab-stack{
  position:fixed; right:24px; bottom:24px;
  display:flex; flex-direction:column; gap:12px;
  z-index:90; align-items:center;
}
.fab{
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  box-shadow:0 14px 28px -12px rgba(28,35,64,0.45);
  transition:transform .2s ease, opacity .25s ease, background .2s ease;
  cursor:pointer; border:none; padding:0;
  color:#fff;
}
.fab:hover{ transform:translateY(-2px); }
.fab svg{ width:26px; height:26px; display:block; }
.fab.whatsapp{ background:#25D366; }
.fab.whatsapp:hover{ background:#1FB958; }
.fab.to-top{
  background:var(--ink); color:var(--cream);
  opacity:0; transform:translateY(12px); pointer-events:none;
  order:-1; /* above whatsapp */
}
.fab.to-top.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
@media (max-width: 480px){
  .fab-stack{ right:16px; bottom:16px; gap:10px; }
  .fab{ width:48px; height:48px; }
  .fab svg{ width:22px; height:22px; }
}

/* TWEAKS */
.tweaks{
  position:fixed; right:24px; bottom:24px; width:280px;
  background:var(--paper); border:1px solid var(--line);
  border-radius:20px; box-shadow:0 30px 60px -20px rgba(28,35,64,0.25);
  padding:20px; z-index:200; display:none;
}
.tweaks.on{ display:block; }
.tweaks h6{
  font-family:var(--f-mono); font-size:11px; text-transform:uppercase;
  letter-spacing:0.14em; color:var(--ink-mute); margin:0 0 14px;
}
.tw-group{ margin-bottom:16px; }
.tw-group > .lbl{ font-size:12px; font-weight:600; margin-bottom:8px; display:flex; justify-content:space-between; }
.tw-swatches{ display:flex; gap:6px; }
.tw-sw{
  width:28px; height:28px; border-radius:8px; border:2px solid var(--line);
  cursor:pointer; transition:transform .15s ease;
}
.tw-sw:hover{ transform:scale(1.1); }
.tw-sw.on{ border-color:var(--ink); }
.tw-dark-label{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--ink-soft); }

/* RESPONSIVE */
@media (max-width: 1024px){
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .reg{ grid-template-columns:1fr; gap:40px; padding:48px; }
  .faq-grid{ grid-template-columns:1fr; gap:40px; }
  .safe-grid{ grid-template-columns:repeat(2,1fr); }
  .hero-grid{ grid-template-columns:1fr; gap:40px; }
  .hero{ min-height:0; padding:32px 0 56px; }
  .hero-right{ min-height:420px; max-width:560px; }
  .act-grid{ grid-template-columns:repeat(6, 1fr); grid-auto-rows:180px; }
  .act:nth-child(1){ grid-column:span 4; grid-row:span 2; }
  .act:nth-child(2),
  .act:nth-child(3){ grid-column:span 2; grid-row:span 1; }
  .act:nth-child(4),
  .act:nth-child(5),
  .act:nth-child(6),
  .act:nth-child(7),
  .act:nth-child(8),
  .act:nth-child(9),
  .act:nth-child(10),
  .act:nth-child(11),
  .act:nth-child(12){ grid-column:span 2; grid-row:span 1; }
  .act:nth-child(13),
  .act:nth-child(14){ grid-column:span 3; grid-row:span 1; }
}
@media (max-width: 768px){
  .wrap{ padding:0 24px; }
  .nav{
    z-index:60;
    background:var(--cream);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .nav-inner{ padding:14px 20px; position:relative; z-index:1; background:var(--cream); }
  .brand-logo{ height:32px; }
  .brand-sub{ display:none; }
  .nav-toggle{ display:flex; }
  .nav-links{
    position:fixed; inset:0;
    flex-direction:column; justify-content:flex-start; align-items:stretch; gap:0;
    background:var(--cream);
    padding:0;
    transform:translateY(-100%); opacity:0; pointer-events:none;
    transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .2s ease;
    overflow-y:auto; z-index:2;
    max-height:none;
    border-bottom:none;
  }
  .nav-links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }

  .nav-links-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 20px;
    background:var(--cream);
    border-bottom:1px solid var(--line);
    position:sticky; top:0;
  }
  .nav-links-head .brand-logo{ height:32px; }
  .nav-close{
    display:grid; place-items:center;
    width:44px; height:44px; border-radius:12px;
    background:var(--ink); color:var(--cream);
    border:none;
  }
  .nav-close svg{ width:22px; height:22px; }
  .nav-links-body{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    padding:24px 28px 40px;
  }

  .nav-links a{
    padding:18px 4px; border-bottom:1px solid var(--line);
    font-family:var(--f-display); font-weight:500;
    font-size:26px; letter-spacing:-0.01em; color:var(--ink);
  }
  .nav-links-body a:last-of-type{ border-bottom:none; }
  .nav-links a::after{ display:none; }
  .nav-links .phone-pill{
    margin-top:28px; align-self:flex-start;
    font-family:var(--f-mono); font-size:14px; padding:12px 20px;
  }
  body.nav-open{ overflow:hidden; }
  .hero{
    padding:20px 0 40px;
    background:
      linear-gradient(180deg, rgba(251,247,242,0.96) 0%, rgba(251,247,242,0.82) 50%, rgba(251,247,242,0.5) 100%),
      url('../img/post_yaz_okulu.jpg') center / cover no-repeat;
  }
  .hero-right{ min-height:340px; }
  section.block{ padding:72px 0; }
  section.block.flush{ padding-top:0; }
  .sec-head{ flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:40px; }
  .act-grid{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:auto; gap:14px; }
  .act{ padding:18px 18px; aspect-ratio:5 / 4; }
  .act:nth-child(n){ grid-column:span 1; grid-row:span 1; }
  .act .nm{ font-size:18px; }
  .reg{ padding:32px; }
  .safe{ padding:36px; }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:32px; }
  .tweaks{ width:calc(100% - 32px); right:16px; left:16px; bottom:16px; }
  .consent-modal{ padding:0; }
  .consent-modal-inner{ max-height:100vh; height:100%; max-width:100%; border-radius:0; }
  .consent-modal-head{ padding:14px 18px; }
  .consent-modal-head h2{ font-size:15px; }
  .consent-modal-body{ padding:20px 18px; font-size:13.5px; }
  .consent-modal-body .cm-section-title{ font-size:15px; }
  .consent-modal-foot{ padding:12px 18px; flex-wrap:wrap; }
  .consent-modal-foot .cta{ flex:1; justify-content:center; padding:12px 16px; font-size:13.5px; }
}
@media (max-width: 480px){
  .wrap{ padding:0 20px; }
  .nav-inner{ padding:12px 16px; }
  .hero{ padding:16px 0 32px; }
  h1.hero-title{ font-size:clamp(30px, 8vw, 42px); }
  .hero-right{ min-height:280px; }
  .form-row{ grid-template-columns:1fr; }
  .safe{ padding:28px; }
  .safe-grid{ grid-template-columns:1fr; }
  .reg{ padding:24px; }
  .reg-right{ padding:24px; }
  .foot-grid{ grid-template-columns:1fr; gap:28px; padding-bottom:32px; }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important; animation-iteration-count:1 !important;
    transition-duration:0.01ms !important; scroll-behavior:auto !important;
  }
  .marquee-track{ animation:none; }
  .brand-mark::after{ animation:none; }
  .eyebrow .dot{ animation:none; }
}
