/* Kırklar Talebe Yurdu — kirklaryurdu.com
   Renkler logodan: mürekkep #25303b, koyu yeşil #2e7d32, açık yeşil #4caf50; vurgu sarısı KEBİ ile aynı (#f2c230). */

@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/fonts/fraunces-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(/fonts/fraunces-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url(/fonts/fraunces-latin-wght-italic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 100 900; font-display: swap;
  src: url(/fonts/fraunces-latin-ext-wght-italic.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 200 800; font-display: swap;
  src: url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  color-scheme: light;
  --zemin: #f6f5ef;
  --zemin-2: #ecebe2;
  --kart: #fffefa;
  --murekkep: #25303b;
  --murekkep-2: #1a222b;
  --soluk: #56616c;
  --cizgi: #dcdbd0;
  --yesil: #2e7d32;
  --yesil-koyu: #1f5e24;
  --yesil-acik: #4caf50;
  --yesil-ton: #e4efe2;
  --sari: #f2c230;
  --sari-yazi: #3d2f00;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --kap: 1160px;
  --yan: clamp(16px, 4vw, 40px);
  --r: 14px;
  --golge: 0 1px 2px rgb(37 48 59 / .06), 0 8px 24px -12px rgb(37 48 59 / .18);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--zemin); color: var(--murekkep); font: 400 1.0625rem/1.65 var(--sans); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 560; letter-spacing: -.015em; line-height: 1.12; font-optical-sizing: auto; }
p { margin: 0; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--sari); outline-offset: 3px; border-radius: 6px; }
[hidden] { display: none !important; }
.gizli { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.atla { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--murekkep); color: #fff; padding: 10px 14px; border-radius: 8px; text-decoration: none; }
.atla:focus { top: 12px; }
.kap { max-width: var(--kap); margin: 0 auto; padding: 0 var(--yan); }
.ik { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* Doldurulacak yerler: yayından önce kaldırılmalı (README) */
.doldur { background: #fff3c4; color: #6b4e00; border: 1px dashed #d9a400; border-radius: 6px; padding: 0 .35em; font-size: .92em; white-space: normal; }
.doldur::before { content: "✎ "; }

/* Düğmeler */
.dugme { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 48px; padding: .7em 1.25em; border-radius: 999px; font: 650 1rem/1.2 var(--sans); text-decoration: none; border: 2px solid transparent; transition: background-color .15s, color .15s, border-color .15s, transform .15s; cursor: pointer; }
.dugme:hover { transform: translateY(-1px); }
.dugme-ana { background: var(--yesil); color: #fff; }
.dugme-ana:hover { background: var(--yesil-koyu); }
.dugme-cizgi { border-color: var(--murekkep); color: var(--murekkep); }
.dugme-cizgi:hover { background: var(--murekkep); color: #fff; }
.dugme-koyu { background: var(--murekkep); color: #fff; }
.dugme-koyu:hover { background: var(--murekkep-2); }
.dugme-sari { background: var(--sari); color: var(--sari-yazi); }
.dugme-sari:hover { background: #ffd34d; }
.dugme-kucuk { min-height: 40px; padding: .5em 1.05em; font-size: .95rem; }
.dugme[aria-disabled="true"] { opacity: .55; pointer-events: none; }

/* Üst bar */
.ust { position: sticky; top: 0; z-index: 50; background: rgb(246 245 239 / .9); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid transparent; transition: border-color .15s; }
.ust.kaydi { border-bottom-color: var(--cizgi); }
.ust-ic { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.logo img { width: 190px; }
.menu { display: flex; align-items: center; gap: 4px; }
.menu a:not(.dugme) { text-decoration: none; font-weight: 550; font-size: .97rem; padding: .5em .75em; border-radius: 8px; color: var(--soluk); }
.menu a:not(.dugme):hover { color: var(--murekkep); background: var(--zemin-2); }
.menu .dugme { margin-left: 8px; }
.menu-dugme { display: none; width: 48px; height: 48px; border: 0; background: transparent; border-radius: 10px; cursor: pointer; position: relative; }
.menu-cizgi, .menu-cizgi::before, .menu-cizgi::after { position: absolute; left: 13px; width: 22px; height: 2px; background: var(--murekkep); border-radius: 2px; transition: transform .2s, background-color .2s; content: ""; }
.menu-cizgi { top: 23px; }
.menu-cizgi::before { left: 0; top: -7px; }
.menu-cizgi::after { left: 0; top: 7px; }
.menu-dugme[aria-expanded="true"] .menu-cizgi { background: transparent; }
.menu-dugme[aria-expanded="true"] .menu-cizgi::before { transform: translateY(7px) rotate(45deg); }
.menu-dugme[aria-expanded="true"] .menu-cizgi::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
  .logo img { width: 160px; }
  .menu-dugme { display: block; }
  .menu { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px var(--yan) 20px; background: var(--zemin); border-bottom: 1px solid var(--cizgi); box-shadow: 0 16px 24px -16px rgb(37 48 59 / .25); display: none; }
  .menu.acik { display: flex; }
  .menu a:not(.dugme) { padding: .85em .5em; font-size: 1.05rem; color: var(--murekkep); border-bottom: 1px solid var(--cizgi); border-radius: 0; }
  .menu .dugme { margin: 14px 0 0; }
}

/* Giriş */
.giris { padding: clamp(40px, 7vw, 96px) 0 clamp(56px, 8vw, 110px); }
.giris-ic { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.ust-etiket { font-size: .9rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: var(--yesil); margin-bottom: 18px; }
.ust-etiket .nokta { color: var(--soluk); padding: 0 .2em; }
.giris h1 { font-size: clamp(2.35rem, 5.6vw, 4.4rem); font-weight: 520; }
.giris h1 em { font-style: italic; color: var(--yesil); font-weight: 480; }
.giris-alt { margin-top: 22px; font-size: clamp(1.05rem, 1.6vw, 1.2rem); color: var(--soluk); max-width: 36em; }
.giris-dugmeler { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.giris-ozet { list-style: none; padding: 0; margin: 36px 0 0; display: flex; flex-wrap: wrap; gap: 10px 28px; color: var(--soluk); font-size: .97rem; }
.giris-ozet li { display: flex; align-items: center; gap: .5em; }
.giris-ozet li::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--yesil-acik); transform: rotate(45deg); }
.giris-ozet strong { color: var(--murekkep); font-weight: 650; }

/* Logodaki K'dan türetilen şekil kompozisyonu */
.giris-sekil { position: relative; aspect-ratio: 1 / 1.08; width: 100%; max-width: 460px; justify-self: end; }
.sekil { position: absolute; border-radius: 22px; }
.s1 { inset: 0 62% 0 0; background: var(--murekkep); }
.s2 { left: 44%; right: 0; top: 0; height: 47%; background: var(--yesil-acik); clip-path: polygon(0 0, 100% 0, 0 100%); border-radius: 22px 22px 0 22px; }
.s3 { left: 54%; right: 0; top: 10%; height: 50%; background: var(--yesil); clip-path: polygon(100% 0, 100% 100%, 22% 52%); border-radius: 0 22px 22px 0; }
.s4 { left: 44%; right: 0; bottom: 0; height: 52%; background: var(--murekkep); clip-path: polygon(0 0, 100% 100%, 0 100%); border-radius: 0 0 22px 22px; }
.sekil-kart { position: absolute; left: -12%; bottom: 9%; width: 70%; background: var(--kart); border-radius: 16px; box-shadow: 0 20px 40px -18px rgb(26 34 43 / .45), 0 2px 6px rgb(26 34 43 / .08); padding: 16px 18px; display: grid; gap: 9px; font-size: .9rem; }
.sekil-kart-ust { font: 600 .75rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--soluk); }
.sekil-kart-satir { display: flex; align-items: center; gap: 10px; font-weight: 550; }
.sekil-kart-satir i { width: 18px; height: 18px; border-radius: 50%; flex: none; position: relative; }
.sekil-kart-satir i.ok { background: var(--yesil); }
.sekil-kart-satir i.ok::after { content: ""; position: absolute; left: 6px; top: 3px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.sekil-kart-satir i.bekle { border: 2px solid var(--sari); }

@media (max-width: 900px) {
  .giris-ic { grid-template-columns: 1fr; }
  .giris-sekil { max-width: 300px; justify-self: center; margin-top: 8px; }
  .sekil-kart { left: -4%; }
}

/* Bölümler */
.bolum { padding: clamp(64px, 9vw, 120px) 0; }
.bolum-zemin { background: var(--zemin-2); }
.bolum-bas { max-width: 720px; margin-bottom: clamp(32px, 5vw, 56px); }
.bolum-no { font: 650 .85rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--yesil); margin-bottom: 16px; }
.bolum h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
.bolum-giris { margin-top: 18px; color: var(--soluk); font-size: 1.1rem; }
.not { margin-top: 14px; font-size: .95rem; color: var(--soluk); }

.degerler { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.deger { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r); padding: 28px 26px 30px; }
.deger h3 { font-size: 1.6rem; margin: 18px 0 10px; }
.deger p { color: var(--soluk); }
.deger-isaret { display: block; width: 44px; height: 44px; border-radius: 10px; }
.d1 { background: var(--murekkep); }
.d2 { background: var(--yesil-acik); clip-path: polygon(0 0, 100% 0, 0 100%); border-radius: 10px 10px 0 10px; }
.d3 { background: var(--yesil); clip-path: polygon(100% 0, 100% 100%, 0 50%); }

.programlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--cizgi); }
.program { padding: 28px 28px 32px 0; border-bottom: 1px solid var(--cizgi); }
.program:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--cizgi); }
.program-no { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--yesil-ton); color: var(--yesil-koyu); font: italic 600 1.05rem/1 var(--serif); }
.program h3 { font-size: 1.35rem; margin: 16px 0 8px; }
.program p { color: var(--soluk); font-size: 1rem; }

.yurt { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.yurt .bolum-bas { position: sticky; top: 110px; margin-bottom: 0; }
.gun { list-style: none; margin: 0; padding: 0; position: relative; }
.gun::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--yesil-acik), var(--yesil), var(--murekkep)); border-radius: 2px; }
.gun li { position: relative; display: grid; grid-template-columns: 9.5rem 1fr; gap: 8px 20px; padding: 0 0 34px 38px; }
.gun li::before { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 16px; border-radius: 50%; background: var(--zemin); border: 3px solid var(--yesil); }
.gun li:last-child { padding-bottom: 0; }
.gun-vakit { font: 650 .85rem/1.9 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--yesil); }
.gun h3 { font-size: 1.3rem; margin-bottom: 6px; }
.gun p { color: var(--soluk); }

.bolum-koyu { background: var(--murekkep); color: #eef1f3; }
.bolum-koyu .bolum-no { color: var(--yesil-acik); }
.veli { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.veli-metin h2 { margin-bottom: 20px; }
.veli-metin > p { color: #c3cbd2; font-size: 1.1rem; }
.veli-metin strong { color: #fff; }
.veli-liste { list-style: none; padding: 0; margin: 26px 0 34px; display: grid; gap: 12px; }
.veli-liste li { display: flex; gap: 12px; align-items: baseline; }
.veli-liste li::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 2px; background: var(--yesil-acik); transform: translateY(-1px) rotate(45deg); }

.veli-ekran { display: grid; place-items: center; }
.telefon { width: min(300px, 100%); aspect-ratio: 9 / 18.5; background: #0f151b; border-radius: 40px; padding: 12px; box-shadow: 0 40px 80px -30px rgb(0 0 0 / .6), inset 0 0 0 2px #3a4652; transform: rotate(3deg); }
.telefon-ust { height: 26px; display: grid; place-items: center; }
.telefon-ust span { width: 84px; height: 20px; background: #000; border-radius: 12px; }
.telefon-ic { background: #f4f7f2; color: var(--murekkep); border-radius: 30px; height: calc(100% - 26px); padding: 22px 18px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.tf-baslik { font: 600 1.35rem/1.1 var(--serif); }
.tf-alt { font-size: .8rem; color: var(--soluk); margin-top: -6px; }
.tf-kart { background: #fff; border-radius: 14px; padding: 12px 14px 14px; display: grid; grid-template-columns: 1fr auto; gap: 8px; font-size: .85rem; box-shadow: 0 1px 2px rgb(0 0 0 / .05); }
.tf-kart b { font-weight: 700; color: var(--yesil); }
.tf-kart i { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--yesil-acik) var(--d), #e3e8e1 var(--d)); }
.tf-kart i.d96 { --d: 96%; } .tf-kart i.d71 { --d: 71%; } .tf-kart i.d62 { --d: 62%; }
.tf-not { margin-top: auto; background: #fdf6dc; border-left: 3px solid var(--sari); border-radius: 10px; padding: 12px; font: italic 450 .88rem/1.45 var(--serif); }

.sss { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.sss-liste { border-top: 1px solid var(--cizgi); }
.sss details { border-bottom: 1px solid var(--cizgi); }
.sss summary { list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative; font: 560 1.2rem/1.35 var(--serif); }
.sss summary::-webkit-details-marker { display: none; }
.sss summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 12px; height: 12px; border: solid var(--yesil); border-width: 0 2px 2px 0; transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.sss details[open] summary::after { transform: translateY(-20%) rotate(-135deg); }
.sss details p { padding: 0 0 24px; color: var(--soluk); max-width: 40em; }

.iletisim-kartlar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.iletisim-kart { display: grid; gap: 6px; align-content: start; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r); padding: 26px; text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.iletisim-kart:hover { border-color: var(--yesil); transform: translateY(-2px); box-shadow: var(--golge); }
.iletisim-kart[aria-disabled="true"] { pointer-events: none; }
.iletisim-tur { font: 650 .8rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--soluk); }
.iletisim-deger { font: 560 1.35rem/1.3 var(--serif); margin-top: 6px; overflow-wrap: anywhere; }
.iletisim-eylem { margin-top: 10px; font-weight: 650; color: var(--yesil); }

.alt { background: var(--murekkep-2); color: #aeb8c1; padding: 48px 0 40px; }
.alt-ic { display: grid; grid-template-columns: auto 1fr; gap: 24px 40px; align-items: center; }
.alt-logo { width: 170px; }
.alt-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 22px; }
.alt-menu a { text-decoration: none; font-weight: 550; color: #dfe5ea; }
.alt-menu a:hover { color: #fff; text-decoration: underline; }
.alt-not { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid #2f3a45; font-size: .9rem; }

@media (max-width: 900px) {
  .degerler, .iletisim-kartlar { grid-template-columns: 1fr; }
  .programlar { grid-template-columns: 1fr 1fr; }
  .program, .program:not(:nth-child(3n+1)) { padding: 24px 0; border-left: 0; }
  .program:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--cizgi); }
  .program:nth-child(2n+1) { padding-right: 24px; }
  .yurt, .veli, .sss { grid-template-columns: 1fr; }
  .yurt .bolum-bas { position: static; margin-bottom: 8px; }
  .veli-ekran { order: -1; }
  .telefon { width: min(250px, 80%); }
  .alt-ic { grid-template-columns: 1fr; }
  .alt-menu { justify-content: flex-start; }
}
@media (max-width: 600px) {
  body { font-size: 1rem; }
  .programlar { grid-template-columns: 1fr; }
  .program, .program:nth-child(2n), .program:nth-child(2n+1) { padding: 22px 0; border-left: 0; }
  .gun li { grid-template-columns: 1fr; padding-left: 34px; }
  .gun-vakit { line-height: 1.2; }
  .giris-dugmeler .dugme { flex: 1 1 100%; }
  .sekil-kart { left: 0; width: 78%; }
}

/* 404 */
.bulunamadi { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 18px; text-align: center; padding: 40px var(--yan); }
.bulunamadi .logo img { width: 200px; margin-bottom: 18px; }
.bulunamadi h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.bulunamadi p { color: var(--soluk); }
.bulunamadi .bulunamadi-dugmeler { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 8px; }

/* İmkânlar ve etüt */
.imkan-ik { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--yesil-ton); color: var(--yesil-koyu); }
.imkan-ik .ik { width: 24px; height: 24px; }
.etut { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: start; }
.etut .bolum-bas { margin-bottom: 0; }
.etut-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.etut-liste li { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--r); padding: 22px 24px; }
.etut-no { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--murekkep); color: #fff; font: 600 1.1rem/1 var(--serif); }
.etut-liste h3 { font-size: 1.25rem; margin-bottom: 4px; }
.etut-liste p { color: var(--soluk); }
#iletisim .dugme { margin-top: 4px; }
@media (max-width: 900px) { .etut { grid-template-columns: 1fr; } }
