/* ============================================================
   Gizem Gerçel — Design Tokens & Base Styles
   ============================================================ */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
a { color: inherit; }
::selection { background: #7E8B68; color: #FFF; }

body {
  font-family: 'Hanken Grotesk', sans-serif;
}

/* Tema değişkenleri #gg-root üzerinde tanımlı; arkaplan/metin rengi de
   buraya uygulanmalı (body bunları miras alamaz, çünkü body #gg-root'un
   ebeveynidir ve CSS custom property'leri yalnızca aşağı doğru miras alınır). */
#gg-root {
  color: var(--ink);
  background: var(--page-bg);
  background-size: 300% 300%;
  animation: ggBG 26s ease infinite;
  overflow-x: hidden;
  min-height: 100vh;
}

/* ============ KEYFRAMES ============ */
@keyframes ggFloatA { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-14px); } }
@keyframes ggFloatB { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(12px); } }
@keyframes ggSpin { to { transform: rotate(360deg); } }
@keyframes ggBlob { 0%,100%{ border-radius: 42% 58% 56% 44% / 50% 44% 56% 50%; } 50%{ border-radius: 58% 42% 47% 53% / 42% 58% 44% 56%; } }
@keyframes ggMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ggPulse { 0%,100%{ transform: scale(1); opacity:0.9; } 50%{ transform: scale(1.12); opacity:1; } }
@keyframes ggBG { 0%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } 100%{ background-position:0% 50%; } }
@keyframes ggBorderFlow { 0%{ background-position:0% 50%; } 100%{ background-position:300% 50%; } }

/* ============ THEME TOKENS ============ */
#gg-root[data-gg-theme="light"]{
  --page-bg:#F4EEE2; --ink:#34302A; --heading:#2B2722; --body:#6C6354; --muted:#7A7164; --navlink:#5C5447; --input:#F4EEE2; --faint:#80908A;
  --accent:#C26A3C; --accent-soft-bg:rgba(194,106,60,0.14); --accent-text:#B85F31; --accent-ring:rgba(194,106,60,0.35);
  --btn:#C26A3C; --btn-ink:#FFFFFF; --btn-olive:#7E8B68;
  --olive:#7E8B68; --olive-deep:#5F6B4C; --olive-soft-bg:rgba(126,139,104,0.16);
  --surface:#FFFFFF; --surface-soft:#FFFFFF; --border:rgba(60,50,40,0.08); --border-strong:rgba(60,50,40,0.1); --chip-bg:#FFFFFF;
  --section:#EFE6D6; --strip-bg:#EAE0CE; --strip-text:#6E6453; --strip-border:rgba(60,50,40,0.08);
  --marquee-bg:#EAE0CE; --marquee-text:#5C5447;
  --header-bg:rgba(244,238,226,0.82); --header-border:rgba(60,50,40,0.09); --menu-bg:#FFFFFF; --menu-border:rgba(60,50,40,0.08);
  --footer-bg:#2B2722; --footer-text:#B7AD9C; --footer-head:#F0EAD9; --footer-chip:rgba(255,255,255,0.08); --footer-chip-text:#E0D6C5;
  --outline-border:rgba(60,50,40,0.22); --star:#E0A93B; --testi-text:#4A443B;
  --blob:linear-gradient(150deg,#C26A3C,#7E8B68); --cta-olive:linear-gradient(145deg,#7E8B68,#5A6549); --cta-accent:linear-gradient(145deg,#C26A3C,#A04E26);
  --join-grad:linear-gradient(90deg,#B85F31,#C26A3C,#7E8B68,#B85F31); --join-bg:#2B2722; --join-hover:#5F6B4C; --join-ink:#F7F2E9;
  --dot-idle:rgba(60,50,40,0.18); --arrow-border:rgba(60,50,40,0.2); --arrow-bg:rgba(255,255,255,0.6); --arrow-ink:#2B2722;
  --toggle-bg:rgba(60,50,40,0.08); --toggle-border:rgba(60,50,40,0.16); --toggle-thumb:#FFFFFF; --sun-c:#C26A3C; --moon-c:#B6A892;
  --who1:linear-gradient(160deg,rgba(194,106,60,0.14),#FFFFFF); --who2:linear-gradient(160deg,rgba(214,138,96,0.16),#FFFFFF); --who3:linear-gradient(160deg,rgba(126,139,104,0.18),#FFFFFF); --who4:linear-gradient(160deg,rgba(194,106,60,0.16),#FFFFFF);
  --who-warm:#C26A3C; --who-olive:#5F6B4C; --tile-orange:rgba(194,106,60,0.14); --tile-olive:rgba(126,139,104,0.18); --tile-peach:rgba(214,138,96,0.18);
  --proc1:rgba(194,106,60,0.35); --proc2:rgba(126,139,104,0.4); --proc3:rgba(214,138,96,0.42);
  --warm2:#C26A3C; --accent2:#5F6B4C; --peach:#D68A60;
  --ig-grad:linear-gradient(to top, rgba(43,39,34,0.7), rgba(43,39,34,0) 55%); --ig-cta-grad:linear-gradient(135deg, rgba(126,139,104,0.78), rgba(43,39,34,0.6)); --video-grad:linear-gradient(to top, rgba(43,39,34,0.9), rgba(43,39,34,0.1));
}
#gg-root[data-gg-theme="dark"]{
  --page-bg:linear-gradient(135deg,#211A13,#2E2419,#281F16,#2C2318,#211A13); --ink:#EFE7D8; --heading:#F4EFE2; --body:#C6B7A0; --muted:#B2A48C; --navlink:#D9CCB6; --input:rgba(0,0,0,0.22); --faint:#8E8270;
  --accent:#BE6232; --accent-soft-bg:rgba(190,98,50,0.16); --accent-text:#D98C5A; --accent-ring:rgba(190,98,50,0.35);
  --btn:#A84E29; --btn-ink:#211A13; --btn-olive:#6E7A5C;
  --olive:#9DAA80; --olive-deep:#9DAA80; --olive-soft-bg:rgba(110,122,92,0.18);
  --surface:rgba(255,255,255,0.05); --surface-soft:rgba(255,255,255,0.045); --border:rgba(255,255,255,0.09); --border-strong:rgba(255,255,255,0.1); --chip-bg:rgba(255,255,255,0.06);
  --section:rgba(0,0,0,0.22); --strip-bg:#1B140E; --strip-text:#AB9D88; --strip-border:rgba(255,255,255,0.05);
  --marquee-bg:#2A2017; --marquee-text:#D9CCB6;
  --header-bg:rgba(33,26,19,0.82); --header-border:rgba(255,255,255,0.08); --menu-bg:#2A2017; --menu-border:rgba(255,255,255,0.1);
  --footer-bg:#1B140E; --footer-text:#AB9D88; --footer-head:#F0EAD9; --footer-chip:rgba(255,255,255,0.07); --footer-chip-text:#D9CCB6;
  --outline-border:rgba(255,255,255,0.25); --star:#F2C14E; --testi-text:#E3D9C6;
  --blob:linear-gradient(150deg,#A84E29,#29201A); --cta-olive:linear-gradient(145deg,#5E6B4C,#2C3326); --cta-accent:linear-gradient(145deg,#A84E29,#29201A);
  --join-grad:linear-gradient(90deg,#A84E29,#BE6232,#6E7A5C,#A84E29); --join-bg:#2A2017; --join-hover:#0E3A30; --join-ink:#F4EFE2;
  --dot-idle:rgba(255,255,255,0.22); --arrow-border:rgba(255,255,255,0.22); --arrow-bg:rgba(255,255,255,0.05); --arrow-ink:#F0EAD9;
  --toggle-bg:rgba(255,255,255,0.08); --toggle-border:rgba(255,255,255,0.16); --toggle-thumb:#3A2D20; --sun-c:#6E6453; --moon-c:#E8C9A4;
  --who1:linear-gradient(160deg,rgba(168,78,41,0.22),rgba(255,255,255,0.04)); --who2:linear-gradient(160deg,rgba(190,98,50,0.2),rgba(255,255,255,0.04)); --who3:linear-gradient(160deg,rgba(110,122,92,0.22),rgba(255,255,255,0.04)); --who4:linear-gradient(160deg,rgba(210,108,76,0.22),rgba(255,255,255,0.04));
  --who-warm:#D98C5A; --who-olive:#9DAA80; --tile-orange:rgba(168,78,41,0.18); --tile-olive:rgba(110,122,92,0.2); --tile-peach:rgba(210,108,76,0.2);
  --proc1:rgba(190,98,50,0.4); --proc2:rgba(110,122,92,0.45); --proc3:rgba(210,108,76,0.5);
  --warm2:#E89B82; --accent2:#D8C3A0; --peach:#E89B82;
  --ig-grad:linear-gradient(to top, rgba(4,33,28,0.78), rgba(4,33,28,0) 55%); --ig-cta-grad:linear-gradient(135deg, rgba(110,122,92,0.55), rgba(4,33,28,0.7)); --video-grad:linear-gradient(to top, rgba(4,33,28,0.92), rgba(4,33,28,0.15));
}

/* ============ NAV LINK UNDERLINE ============ */
.gg-nav a { position:relative; transition:color .2s ease; text-decoration:none; }
.gg-nav a::after { content:''; position:absolute; left:12px; right:12px; bottom:3px; height:2px; border-radius:2px; background:var(--accent); transform:scaleX(0); transform-origin:center; transition:transform .28s cubic-bezier(.2,.7,.2,1); }
.gg-nav a:hover { color:var(--heading); }
.gg-nav a:hover::after { transform:scaleX(1); }
.gg-nav a.gg-active { color:var(--accent); }
.gg-nav a.gg-active::after { transform:scaleX(1); }
.gg-nav a.gg-no-underline::after { display:none; }
.gg-nav #gg-edu-menu a::after { display:none; }
.gg-bukose { background:var(--accent-soft-bg); transition:transform .25s ease, background .2s ease; }
.gg-bukose:hover { transform:rotate(-4deg); }
.gg-sukose { background:var(--olive-soft-bg); transition:transform .25s ease, background .2s ease; }
.gg-sukose:hover { transform:rotate(4deg); }
.gg-sss { background:var(--join-grad); background-size:300% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:ggBorderFlow 5s linear infinite; font-weight:700; }
.gg-sss::after { background:var(--olive-deep) !important; }
.gg-join { display:inline-block; border-radius:999px; padding:2px; background:var(--join-grad); background-size:300% 100%; animation:ggBorderFlow 4s linear infinite; box-shadow:0 8px 20px rgba(126,139,104,0.24); }
.gg-join > span { display:block; background:var(--join-bg); color:var(--join-ink); font-family:'Sora',sans-serif; font-weight:600; font-size:14px; padding:10px 19px; border-radius:999px; transition:background .2s ease; }
.gg-join:hover > span { background:var(--join-hover); }

/* theme toggle thumb */
#gg-root[data-gg-theme="light"] #gg-theme-thumb{ transform:translateX(0); }
#gg-root[data-gg-theme="dark"] #gg-theme-thumb{ transform:translateX(30px); }

/* ============ RESPONSIVE HEADER ============ */
.gg-burger{ display:none; }
@media (max-width:1080px){
  .gg-desktop-nav{ display:none !important; }
  .gg-desktop-actions{ display:none !important; }
  .gg-burger{ display:flex !important; }
}
@media (min-width:1081px){
  .gg-burger{ display:none !important; }
}
@media (max-width:560px){
  .gg-strip-social{ display:none !important; }
}

/* ============ LAYOUT HELPERS ============ */
.gg-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.gg-page-section { max-width: 1280px; margin: 0 auto; padding: 90px 24px; }
.gg-page-title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(34px,4.6vw,56px); line-height:1.05; letter-spacing:-1px; color:var(--heading); margin:0 0 16px; }
.gg-page-subtitle { font-size:17px; line-height:1.65; color:var(--muted); max-width:620px; margin:0; }

/* ============ FAQ ACCORDION ============ */
.gg-faq { background:var(--surface); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
.gg-faq-btn { width:100%; text-align:left; background:none; border:none; padding:20px 24px; color:var(--heading); font-family:'Sora',sans-serif; font-weight:600; font-size:16.5px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.gg-faq-icon { font-size:22px; color:var(--olive-deep); transition:transform .3s ease; line-height:1; flex:none; }
.gg-faq-panel { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.gg-faq-panel p { margin:0; padding:0 24px 20px; font-size:15px; line-height:1.65; color:var(--muted); }
.gg-faq-filter { font-family:'Sora',sans-serif; font-weight:600; font-size:14px; color:var(--ink); background:var(--chip-bg); border:1px solid var(--border-strong); padding:10px 20px; border-radius:999px; cursor:pointer; }
.gg-faq-filter.on { background:var(--olive-deep); color:#fff; border-color:var(--olive-deep); }

/* ============ CONTACT FORM ============ */
.gg-field label { display:block; font-family:'Sora',sans-serif; font-weight:600; font-size:13px; color:var(--navlink); margin-bottom:8px; }
.gg-field input, .gg-field select, .gg-field textarea {
  width:100%; background:var(--input); border:1px solid var(--border-strong); border-radius:12px; padding:13px 15px;
  color:var(--heading); font-family:'Hanken Grotesk',sans-serif; font-size:15px; outline:none; transition:border-color .15s ease;
}
.gg-field input:focus, .gg-field select:focus, .gg-field textarea:focus { border-color:var(--olive-deep); }
.gg-field textarea { resize:vertical; }
.gg-form-msg-success { margin:16px 0 0; padding:14px 16px; background:var(--accent-soft-bg); border:1px solid var(--accent-ring); border-radius:12px; color:var(--olive); font-size:14.5px; text-align:center; }
.gg-form-msg-error { margin:0 0 20px; padding:14px 16px; background:rgba(190,60,60,0.12); border:1px solid rgba(190,60,60,0.35); border-radius:12px; color:#A8412F; font-size:14.5px; }
#gg-root[data-gg-theme="dark"] .gg-form-msg-error { color:#E89B82; }

/* ============ HIZLI OKUMA OKUYUCUSU ============ */
.gg-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 344px; gap:50px; align-items:start; }
@media (max-width:980px){ .gg-detail-grid { grid-template-columns:1fr; gap:28px; } .gg-reader-wrap { position:static !important; order:-1; } }
.gg-reader-wrap { position:sticky; top:94px; }
.gg-w { border-radius:5px; transition:background .12s ease, color .12s ease; }
.gg-article.reading .gg-w { color:var(--muted); transition:color .3s ease; }
.gg-chip { cursor:pointer; font-family:'Sora',sans-serif; font-weight:600; font-size:13.5px; padding:10px 4px; border-radius:11px; text-align:center; background:var(--surface); border:1px solid var(--border); color:var(--navlink); transition:background .18s ease, color .18s ease, border-color .18s ease; user-select:none; }
.gg-chip:hover { background:var(--border); }
.gg-chip.on { background:var(--olive-deep); border-color:var(--olive-deep); color:var(--btn-ink); }
.gg-sw { width:30px; height:30px; border-radius:50%; cursor:pointer; border:none; padding:0; transition:transform .15s ease; }
.gg-sw:hover { transform:scale(1.12); }
.gg-wpm { width:100%; height:5px; border-radius:999px; -webkit-appearance:none; appearance:none; background:var(--border-strong); outline:none; cursor:pointer; }
.gg-wpm::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--olive-deep); cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,0.4); }
.gg-wpm::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--olive-deep); cursor:pointer; }
.gg-play { width:100%; border:none; cursor:pointer; font-family:'Sora',sans-serif; font-weight:700; font-size:16px; padding:15px; border-radius:14px; display:flex; align-items:center; justify-content:center; gap:4px; transition:transform .15s ease, filter .15s ease; }
.gg-play:hover { filter:brightness(1.06); transform:translateY(-1px); }
.gg-rst { width:46px; height:46px; flex:none; border-radius:12px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .18s ease; }
.gg-rst:hover { background:var(--border); }

/* ============ PAKET / YAZI KARTLARI ============ */
.gg-pkg { transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.gg-pkg:hover { transform:translateY(-6px); box-shadow:0 28px 56px rgba(0,0,0,0.14); }
.gg-buy { position:sticky; top:96px; }
@media (max-width:880px){ .gg-buy{ position:static; } }
@media (max-width:880px){ .gg-detail-grid-pkg{ grid-template-columns:1fr !important; } }

/* ============ HİZMETLERİM ============ */
.gg-track { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px; scrollbar-width:none; -ms-overflow-style:none; }
.gg-track::-webkit-scrollbar { display:none; }
.gg-card { scroll-snap-align:start; flex:0 0 300px; }
@media (max-width:520px){ .gg-card { flex:0 0 78%; } }
.gg-arrow { width:44px; height:44px; border-radius:50%; border:1.5px solid var(--border-strong); background:var(--surface); color:var(--heading); font-size:17px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .2s ease; flex:none; }
.gg-arrow:hover { background:var(--olive-soft-bg); transform:scale(1.06); }
.gg-svc-grid { display:grid; grid-template-columns:1.04fr 0.96fr; gap:54px; align-items:center; }
.gg-svc-grid.rev { direction:rtl; }
.gg-svc-grid.rev > * { direction:ltr; }
@media (max-width:900px){ .gg-svc-grid, .gg-svc-grid.rev { display:flex; flex-direction:column; gap:32px; } .gg-svc-photo { width:100%; } }
.gg-feat { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; margin:24px 0 28px; }
@media (max-width:480px){ .gg-feat { grid-template-columns:1fr; } }
.gg-feat-item { display:flex; align-items:center; gap:11px; font-size:14.5px; line-height:1.3; color:var(--body); }
.gg-tick { width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex:none; }
.gg-svc-cta { text-decoration:none; font-family:'Sora',sans-serif; font-weight:600; font-size:15px; padding:14px 26px; border-radius:999px; display:inline-flex; align-items:center; gap:8px; transition:transform .2s ease, box-shadow .2s ease; }
.gg-svc-cta:hover { transform:translateY(-2px); }
.gg-refs-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:54px 0 20px; flex-wrap:wrap; }

/* ============ ADMIN CRUD ============ */
.gg-table { width:100%; border-collapse:collapse; font-size:14px; }
.gg-table th { text-align:left; font-family:'Sora',sans-serif; font-weight:700; font-size:12px; letter-spacing:0.3px; text-transform:uppercase; color:var(--muted); padding:10px 14px; border-bottom:1px solid var(--border); white-space:nowrap; }
.gg-table td { padding:14px; border-bottom:1px solid var(--border); vertical-align:middle; color:var(--ink); }
.gg-table tr:last-child td { border-bottom:none; }
.gg-table tr:hover td { background:var(--section); }
.gg-table-wrap { overflow-x:auto; background:var(--surface); border:1px solid var(--border); border-radius:16px; }
.gg-table-wrap .gg-table { min-width:640px; }

.gg-btn { display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-family:'Sora',sans-serif; font-weight:600; font-size:13.5px; padding:10px 18px; border-radius:999px; border:none; cursor:pointer; }
.gg-btn-primary { background:var(--accent); color:#fff; }
.gg-btn-secondary { background:var(--surface); color:var(--heading); border:1px solid var(--border-strong); }
.gg-btn-danger { background:rgba(190,60,60,0.1); color:#A8412F; border:1px solid rgba(190,60,60,0.28); }
.gg-btn-sm { padding:6px 13px; font-size:12.5px; }

.gg-badge { display:inline-flex; align-items:center; font-family:'Sora',sans-serif; font-weight:600; font-size:11.5px; padding:4px 11px; border-radius:999px; white-space:nowrap; }
.gg-badge-on { background:var(--olive-soft-bg); color:var(--olive-deep); }
.gg-badge-off { background:rgba(120,120,120,0.14); color:var(--muted); }
.gg-badge-accent { background:var(--accent-soft-bg); color:var(--accent-text); }

.gg-filter-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.gg-filter-tabs a { text-decoration:none; font-family:'Sora',sans-serif; font-weight:600; font-size:13px; padding:8px 16px; border-radius:999px; background:var(--surface); color:var(--ink); border:1px solid var(--border-strong); }
.gg-filter-tabs a.active { background:var(--olive-deep); color:#fff; border-color:var(--olive-deep); }

.gg-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-bottom:20px; }

.gg-card-box { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:26px; }

.gg-toggle-row { display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--heading); }
.gg-toggle-row input { width:18px; height:18px; }

.gg-feature-row { display:flex; gap:8px; margin-bottom:8px; align-items:center; }
.gg-feature-row input { flex:1; }

.gg-thumb { width:64px; height:48px; border-radius:8px; overflow:hidden; flex:none; background:var(--section); }
.gg-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

/* ============================================================
   AŞAMA 8 — Animasyonlar / efektler
   ============================================================ */

/* --- Scroll ile içeri girme (yalnızca JS aktifse gizlenir; JS yoksa her şey görünür) --- */
#gg-root.gg-js [data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
#gg-root.gg-js [data-reveal].gg-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  #gg-root.gg-js [data-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* --- Sıralı (stagger) giriş: kartlar tek tek gelir --- */
#gg-root.gg-js [data-stagger] > * {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .55s cubic-bezier(.2,.7,.2,1), transform .55s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
#gg-root.gg-js [data-stagger].gg-in > * { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  #gg-root.gg-js [data-stagger] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* --- Çip (etiket) hover efekti: hafif yükselme + sağa-sola sallanma --- */
.gg-chip {
  display: inline-block;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
  cursor: default;
}
.gg-chip:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
  animation: ggChipWiggle .5s ease;
}
@keyframes ggChipWiggle {
  0%   { transform: translateY(-3px) rotate(0deg); }
  25%  { transform: translateY(-3px) rotate(-2.5deg); }
  50%  { transform: translateY(-3px) rotate(2deg); }
  75%  { transform: translateY(-3px) rotate(-1deg); }
  100% { transform: translateY(-3px) rotate(0deg); }
}

/* --- Daktilo efekti (Hakkımda "Merhaba") --- */
.gg-tw-cursor {
  display: inline-block;
  width: 3px;
  margin-left: 2px;
  background: var(--accent);
  animation: ggCaret 0.8s step-end infinite;
  vertical-align: text-bottom;
  align-self: stretch;
}
@keyframes ggCaret { 0%,100% { opacity: 1; } 50% { opacity: 0; } }

/* --- Hızlı kelime kelime yazılma (Hakkımda giriş metni) --- */
.gg-type-words .gg-w {
  display: inline-block;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}
.gg-type-words .gg-w.in { opacity: 1; transform: none; }

/* --- Instagram: kompakt, yatay kaydırmalı kart şeridi --- */
.gg-ig-wrap { position: relative; display: flex; align-items: center; gap: 8px; }
.gg-ig-scroll {
  flex: 1; display: flex; gap: 14px; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x proximity; scroll-behavior: smooth;
  padding: 4px 2px 14px; -webkit-overflow-scrolling: touch;
}
.gg-ig-scroll::-webkit-scrollbar { height: 6px; }
.gg-ig-scroll::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 999px; }
.gg-ig-scroll::-webkit-scrollbar-track { background: transparent; }
/* Gerçek Instagram embed'i: küçültülmüş (transform: scale) sabit kutu içinde */
.gg-ig-embed {
  flex: 0 0 auto;
  width: 216px;
  height: 400px;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.12);
  background: #fff;
  scroll-snap-align: start;
}
.gg-ig-embed .instagram-media {
  transform: scale(0.66);
  transform-origin: top left;
  min-width: 326px !important;
  width: 327px !important;
  max-width: 327px !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.gg-ig-arrow {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
  border: 1.5px solid var(--arrow-border); background: var(--arrow-bg); color: var(--arrow-ink);
  font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
@media (max-width: 640px) { .gg-ig-arrow { display: none; } }
