/* ---- korunması gereken orijinal sınıflar (JS/markup bağımlı) ---- */
.hidden { display: none !important; }
.fade-in { animation: fadeIn 0.4s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.upload-area { border: 2px dashed #cbd5e1; transition: all 0.3s ease; }
.upload-area:hover { border-color: #2F4B3A; background-color: #E7EFEA; }
.nav-active { background-color: #E7EFEA; color: #2F4B3A; font-weight: 600; border-right: 3px solid #2F4B3A; }
.donor-nav-active { background-color: #ecfdf5; color: #059669; font-weight: 600; border-right: 3px solid #10b981; }
.admin-nav-active { background-color: #fef2f2; color: #dc2626; font-weight: 600; border-right: 3px solid #ef4444; }
::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
input[type=range] { -webkit-appearance: none; width: 100%; background: transparent; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; height: 16px; width: 16px; border-radius: 50%; background: #2F4B3A; cursor: pointer; margin-top: -6px; }
input[type=range]::-webkit-slider-runnable-track { width: 100%; height: 4px; cursor: pointer; background: #e2e8f0; border-radius: 2px; }
.radio-btn-group input[type="radio"] { display: none; }
.radio-btn-group label { display: block; border: 1px solid #e2e8f0; border-radius: 0.65rem; padding: 0.75rem; cursor: pointer; font-size: 0.875rem; font-weight: 500; color: #475569; transition: all 0.15s; background: #f8fafc; }
.radio-btn-group input[type="radio"]:checked + label { background-color: #E7EFEA; border-color: #2F4B3A; color: #1F2937; }
.typing-dot { animation: typingBounce 1.4s infinite ease-in-out both; }
.typing-dot:nth-child(1) { animation-delay: -0.32s; } .typing-dot:nth-child(2) { animation-delay: -0.16s; }
@keyframes typingBounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); } }
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background-color: #fff; border-radius: 0.9rem; box-shadow: 0 12px 28px -8px rgba(15,23,42,0.16); border: 1px solid #f1f5f9; padding: 0.5rem; z-index: 100; }
.nav-item:hover .dropdown-menu { display: block; animation: fadeIn 0.15s ease-in-out; }
.dropdown-item { display: flex; flex-direction: column; padding: 0.75rem 1rem; border-radius: 0.6rem; transition: background-color 0.15s; }
.dropdown-item:hover { background-color: #f8fafc; }
.dropdown-item-title { font-size: 0.875rem; font-weight: 600; color: #0f172a; display: flex; gap: 0.5rem; }
.dropdown-item-desc { font-size: 0.7rem; color: #64748b; margin-top: 0.25rem; }
.glass-card { background: rgba(255,255,255,0.7); backdrop-filter: blur(12px) saturate(1.1); border: 1px solid rgba(226,232,240,0.8); }
.hover-lift { transition: transform 0.25s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s cubic-bezier(0.4,0,0.2,1); }
.hover-lift:hover { transform: translateY(-3px); box-shadow: 0 20px 35px -18px rgba(15,23,42,0.18); }
.gradient-text { background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.credit-card-bg { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); }

/* ============ PEERFUND -- APPLE / LINEAR TASARIM SISTEMI ============ */
:root{
  --bg:#ffffff; --bg-2:#f8fafc; --card:#ffffff; --ink:#0f172a; --ink-2:#1e293b;
  --muted:#64748b; --line:#e2e8f0; --line-2:#cbd5e1;
  --clay:#ef4444; --clay-bg:#fef2f2; --clay-ink:#dc2626;
  --sage:#10b981; --sage-bg:#ecfdf5; --ochre:#f59e0b; --ochre-bg:#fffbeb;
  --peri:#2F4B3A; --peri-bg:#E7EFEA; --peri-ink:#1F2937;
  --glass-dark: rgba(15,23,42,.55);
}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif !important;
  background-color:#ffffff !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M 60 0 L 0 0 0 60' fill='none' stroke='rgba(0,0,0,0.03)' stroke-width='1'/%3E%3C/svg%3E"),
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(47,79,58,0.06) 0%, transparent 70%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  color:#0f172a; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{ font-family:'Inter',sans-serif; font-weight:700 !important; letter-spacing:-0.02em; }
p{ font-weight:400; }
:focus-visible{ outline:2px solid #2F4B3A; outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} .reveal{opacity:1!important;transform:none!important} }

/* ---- rounded corner scale (nötr, Linear tarzı orta yuvarlama) ---- */
.rounded-lg{border-radius:.6rem!important} .rounded-xl{ border-radius:.85rem !important; }
.rounded-2xl{ border-radius:1.1rem !important; } .rounded-3xl{ border-radius:1.4rem !important; }
.shadow-sm{ box-shadow:0 1px 2px rgba(15,23,42,.04),0 1px 3px rgba(15,23,42,.06) !important; }
.shadow-md{ box-shadow:0 4px 10px -4px rgba(15,23,42,.10) !important; }
.shadow-lg{ box-shadow:0 12px 24px -10px rgba(15,23,42,.14) !important; }
.shadow-xl{ box-shadow:0 20px 34px -14px rgba(15,23,42,.16) !important; }
.shadow-2xl{ box-shadow:0 28px 48px -18px rgba(15,23,42,.20) !important; }
nav.bg-white{ background:rgba(255,255,255,.82) !important; backdrop-filter:blur(14px) saturate(1.4); border-bottom:1px solid #eef0f3 !important; box-shadow:none !important; }
.font-mono{ font-family:'Geist Mono','JetBrains Mono',monospace; }
.font-extrabold,.font-black{ font-weight:700 !important; }

/* ============ HERO -- ortalanmış, showcase ile ============ */
.pf-hero{ position:relative; padding:32px 20px 56px; text-align:center; overflow:hidden; background:transparent; }
.pf-hero::before{ content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(600px 340px at 12% -10%, rgba(47,79,58,.05), transparent 60%),
    radial-gradient(500px 300px at 92% 10%, rgba(47,79,58,.04), transparent 60%); }
.pf-hero-wrap{ position:relative; max-width:820px; margin:0 auto; }
.pf-h1{ font-family:'Inter',sans-serif; font-size:clamp(36px,5.5vw,64px); font-weight:700; letter-spacing:-.03em; line-height:1.05; color:#171717; margin-bottom:20px; }
.pf-sub{ font-size:clamp(16px,1.8vw,19px); color:#52525b; font-weight:400; max-width:560px; margin:0 auto 32px; line-height:1.65; }
.pf-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:28px; }
.pf-btn-primary{ background:#2F4F3A; color:#fff; border:none; padding:14px 26px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer; display:inline-flex; gap:8px; align-items:center; transition:background .18s, transform .18s, box-shadow .18s; font-family:inherit; }
.pf-btn-primary:hover{ background:#26402f; transform:translateY(-2px) scale(1.02); box-shadow:0 14px 28px -10px rgba(47,79,58,.45); }
.pf-btn-ghost{ background:#fff; color:#171717; border:1.5px solid #e4e4e7; padding:13px 24px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer; transition:.18s; font-family:inherit; display:inline-flex; align-items:center; gap:7px; }
.pf-btn-ghost:hover{ background:#f8fafc; border-color:#d4d4d8; transform:translateY(-1px); }
.pf-btn-ghost .arrow{ transition:transform .18s; }
.pf-btn-ghost:hover .arrow{ transform:translateX(3px); }
.pf-labels{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:56px; }
.pf-labels span{ font-size:12.5px; font-weight:500; color:#52525b; background:#f0f0ee; border:1px solid #e8e8e6; padding:5px 12px; border-radius:999px; }

/* ---- Ürün önizleme: şeffaf havuz defteri ---- */
.pf-showcase{ max-width:960px; margin:0 auto; border-radius:16px; overflow:hidden; border:1px solid #e2e8f0;
  box-shadow:0 30px 60px -24px rgba(15,23,42,.20), 0 4px 10px -4px rgba(15,23,42,.08); background:#fff; text-align:left; }
.pf-frame{ display:flex; align-items:center; gap:7px; padding:11px 15px; background:#f8fafc; border-bottom:1px solid #eef0f3; }
.fd{ width:10px; height:10px; border-radius:50%; } .fd.r{background:#fca5a5} .fd.y{background:#fde68a} .fd.g{background:#86efac}
.pf-addr{ margin:0 auto; font-size:12px; color:#94a3b8; background:#fff; padding:4px 40px; border-radius:6px; border:1px solid #eef0f3; font-family:'Geist Mono','JetBrains Mono',monospace; }
.pf-scene{ position:relative; padding:34px; background:#fafbfc; display:grid; grid-template-columns:1.15fr .85fr; gap:22px; }
@media(max-width:720px){ .pf-scene{ grid-template-columns:1fr; } }
.pf-ledger{ background:#fff; border:1px solid #eef0f3; border-radius:12px; padding:20px; }
.pf-ledger-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.pf-ledger-top b{ font-size:13.5px; font-weight:600; color:#0f172a; }
.pf-ledger-chip{ font-size:11px; font-weight:600; color:#059669; background:#ecfdf5; padding:3px 10px; border-radius:999px; display:inline-flex; align-items:center; gap:5px; }
.pf-row{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-top:1px solid #f1f5f9; font-size:13px; }
.pf-row:first-of-type{ border-top:none; }
.pf-row .who{ color:#475569; font-weight:500; }
.pf-row .amt{ font-family:'Geist Mono','JetBrains Mono',monospace; font-weight:600; }
.pf-row .amt.in{ color:#059669; } .pf-row .amt.out{ color:#dc2626; } .pf-row .amt.mid{ color:#94a3b8; }
.pf-side{ display:flex; flex-direction:column; gap:14px; }
.pf-stat{ background:#fff; border:1px solid #eef0f3; border-radius:12px; padding:18px; }
.pf-stat .lbl{ font-size:11.5px; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px; }
.pf-stat .val{ font-size:26px; font-weight:700; color:#0f172a; letter-spacing:-0.02em; }
.pf-tierbar{ display:flex; gap:4px; margin-top:12px; height:6px; border-radius:4px; overflow:hidden; }
.pf-pulse{ width:7px; height:7px; border-radius:50%; background:#10b981; flex-shrink:0; box-shadow:0 0 0 0 rgba(16,185,129,.55); animation:pfp 1.8s infinite; }
@keyframes pfp{ 0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)} 70%{box-shadow:0 0 0 7px rgba(16,185,129,0)} 100%{box-shadow:0 0 0 0 rgba(16,185,129,0)} }

/* ---- scroll reveal ---- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{transition-delay:.06s}.reveal.d2{transition-delay:.12s}.reveal.d3{transition-delay:.18s}

/* ---- section eyebrow ---- */
.pf-kicker{ font-size:12.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#2F4B3A; }
/* ============ MOBİL NAVİGASYON (yalnızca <768px, masaüstü etkilenmez) ============ */
@media (max-width: 767px){
  #nav-links.mobile-open{
    display:flex !important; flex-direction:column; align-items:stretch; gap:2px;
    position:fixed; top:64px; left:0; right:0; z-index:60;
    background:#fff; border-top:1px solid #eef0f3;
    box-shadow:0 24px 40px -20px rgba(15,23,42,.25);
    padding:14px 16px 22px; max-height:calc(100vh - 64px); overflow-y:auto;
  }
  #nav-links:not(.mobile-open){ display:none !important; }
  #nav-links #nav-guest-menu, #nav-links #nav-student-menu, #nav-links #nav-donor-menu{
    flex-direction:column; align-items:stretch; gap:2px; width:100%;
  }
  #nav-links .nav-item{ position:static; padding:0; width:100%; }
  #nav-links .nav-item > button{ width:100%; justify-content:space-between; padding:13px 6px; }
  #nav-links .dropdown-menu{
    display:block !important; position:static; box-shadow:none; border:none;
    padding:0 0 6px 14px; width:100% !important; margin:0;
  }
  #nav-links .dropdown-item{ padding:9px 6px; }
  #nav-links > #nav-guest-menu > .h-6.w-px{ display:none; }
  #nav-links > #nav-guest-menu > button{ width:100%; text-align:left; padding:13px 6px; border-radius:10px; }
  #nav-links > #nav-guest-menu > button.bg-slate-900{ text-align:center; margin-top:6px; }
  #nav-links #nav-student-menu > button, #nav-links #nav-donor-menu > button{ width:100%; text-align:left; padding:13px 6px; }
}

/* ---- mobilde hero üst boşluğunu daha da sıkılaştır ---- */
@media (max-width: 640px){
  .pf-hero{ padding-top:24px; }
}

/* ============ MARKA RENGİ: SEAWEED YEŞİLİ (mor/indigo tamamen kaldırıldı) ============ */
.bg-indigo-600{ background-color:#2F4B3A !important; }
.hover\:bg-indigo-700:hover{ background-color:#1F2937 !important; }
.text-indigo-600{ color:#2F4B3A !important; }
.text-indigo-700{ color:#1F2937 !important; }
.bg-indigo-100{ background-color:#E7EFEA !important; }
.bg-indigo-50{ background-color:#E7EFEA !important; }
.hover\:text-indigo-600:hover{ color:#2F4B3A !important; }

/* ---- Hero iki kolon: sol metin, sağ istatistikler ---- */
.pf-hero-cols{ display:grid; grid-template-columns:1.4fr 1fr; gap:32px; align-items:center; max-width:1080px; margin:0 auto; }
@media(max-width:900px){ .pf-hero-cols{ grid-template-columns:1fr; } .pf-hero-left{ text-align:center; } .pf-hero-left .pf-cta{ justify-content:center; } .pf-hero-left .pf-labels{ justify-content:center; } }
.pf-hero-left .pf-h1{ font-size:42px; line-height:1.1; text-align:left; }
@media(min-width:1200px){ .pf-hero-left .pf-h1{ font-size:46px; } }
.pf-hero-left .pf-sub{ text-align:left; margin:0 0 28px; font-size:16px; }
@media(max-width:900px){ .pf-hero-left .pf-h1, .pf-hero-left .pf-sub{ text-align:center; } }

/* ---- Canlı istatistik kartları ---- */
.pf-hero-stats{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pf-stat-card{ background:#fff; border:1px solid #e8e8e6; border-radius:16px; padding:22px 20px; text-align:left; transition:box-shadow .2s, transform .2s; }
.pf-stat-card:hover{ box-shadow:0 8px 24px -8px rgba(47,79,58,.14); transform:translateY(-2px); }
.pf-stat-num{ font-size:clamp(26px,3vw,36px); font-weight:800; letter-spacing:-.03em; color:#0f172a; line-height:1; margin-bottom:6px; font-variant-numeric:tabular-nums; }
.pf-stat-label{ font-size:12.5px; font-weight:500; color:#6b7280; }

/* ---- Scroll'da hero ölmesin: sticky + paralaks node'lar ---- */
.pf-hero-sticky-wrap{ position:relative; }

.pf-hero-scroll-layer{
  pointer-events:none; position:fixed; inset:0; z-index:0;
  overflow:hidden; opacity:1; transition:opacity .4s;
}
.pf-hero-scroll-layer.faded{ opacity:0; }
.pf-node{ position:absolute; border-radius:50%; will-change:transform; }
.pf-node-filled{ background:#2F4F3A; }
.pf-node-outline{ background:transparent; border:1.5px solid #2F4F3A; }
.pf-node-glow{ background:radial-gradient(circle, rgba(47,79,58,.5) 0%, transparent 70%); }
@keyframes pfDrift0{ 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(60px,-40px) scale(1.2)} 66%{transform:translate(-30px,50px) scale(.85)} }
@keyframes pfDrift1{ 0%,100%{transform:translate(0,0) scale(1)} 40%{transform:translate(-70px,30px) scale(1.15)} 70%{transform:translate(40px,-60px) scale(.9)} }
@keyframes pfDrift2{ 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(80px,40px) scale(.8)} 80%{transform:translate(-50px,-30px) scale(1.3)} }
@keyframes pfDrift3{ 0%,100%{transform:translate(0,0) scale(1)} 25%{transform:translate(-40px,60px) scale(1.1)} 75%{transform:translate(60px,-50px) scale(.9)} }
@media(prefers-reduced-motion:reduce){ .pf-hero-scroll-layer{ display:none; } .pf-hero{ position:relative; top:auto; } }

/* ---- Scroll-parallax arka plan node katmanı ---- */
#pf-bg-nodes{ position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.pf-node{ position:absolute; border-radius:50%; transition:transform .6s ease-out, opacity .6s ease-out, background .8s ease; }
.pf-node-filled{ background:rgba(47,79,58,.18); }
.pf-node-outline{ background:transparent; border:1.5px solid rgba(47,79,58,.2); }
.pf-node-glow{ background:radial-gradient(circle, rgba(47,79,58,.22) 0%, transparent 70%); }
@keyframes pfDrift0{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(18px,-22px); } }
@keyframes pfDrift1{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-14px,20px); } }
@keyframes pfDrift2{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(22px,12px); } }
@keyframes pfDrift3{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-20px,-16px); } }
@media(prefers-reduced-motion:reduce){ #pf-bg-nodes{ display:none; } }
