/* ===================== ORTAK · container hizası + reveal ===================== */
/* 15.09.2026 · karar: "mobilde yazılar tam sola/sağa dayanmış, paddingler yok olmuş". padding-inline:0 yalnız
   ekran 1332px+ iken doğruydu (kutunun kendi payı vardı); altında içerik kutu kenarına 0px'te duruyordu.
   Kap artık kendi iç boşluğunu taşır; masaüstünde içerik genişliği yine 1280 (1332 − 2×26). */
.hm-wrap{ max-width:calc(var(--container) + 2 * var(--wrap-pad)); margin:0 auto; padding-inline:var(--wrap-pad); }   /* --wrap-pad: layouts/app :root */   /* header nav container'ıyla EŞİT (logo/kontrol hizası) · tüm site aynı hizada */
.hm-script-head{ font-size:clamp(28px,3.6vw,52px); }
.hm-center{ text-align:center; }
.t50-social,.t50-slider,.t50-figs{ display:none; } /* eski bloklar (temizlendi) */

/* reveal (ref animate-trigger: translateY40+fade · cubic-bezier) */
.reveal,.reveal-st>*{ opacity:0; transform:translateY(26px);
  transition:transform .78s cubic-bezier(.22,1,.36,1), opacity .62s cubic-bezier(.22,1,.36,1); }
.reveal.in,.reveal-st.in>*{ opacity:1; transform:none; }
.reveal-st.in>*:nth-child(1){ transition-delay:.06s } .reveal-st.in>*:nth-child(2){ transition-delay:.14s }
.reveal-st.in>*:nth-child(3){ transition-delay:.22s } .reveal-st.in>*:nth-child(4){ transition-delay:.30s }
.reveal-st.in>*:nth-child(5){ transition-delay:.38s } .reveal-st.in>*:nth-child(6){ transition-delay:.46s }
.reveal-st.in>*:nth-child(7){ transition-delay:.54s }
@media (prefers-reduced-motion:reduce){ .reveal,.reveal-st>*{ opacity:1!important; transform:none!important; transition:none!important; } }

/* hero giriş animasyonu (ref animate-hero) */
.hero-anim{ opacity:0; transform:translateY(28px); }
.hero-anim-badge{ opacity:0; transform:scale(.82); }
.t50-hero.in .hero-anim{ opacity:1; transform:none; transition:transform .8s cubic-bezier(.16,1,.3,1) .1s, opacity .8s ease .1s; }
.t50-herowrap.in .hero-anim-badge{ opacity:1; transform:none; transition:transform .7s cubic-bezier(.34,1.56,.64,1) .45s, opacity .5s ease .45s; }

/* ===================== ORTAK Swiper nav (ilerleme çubuğu + daire oklar) ===================== */
.hm-swnav{ display:flex; align-items:center; gap:24px; margin-top:clamp(24px,3vw,34px); }
.hm-progress{ position:relative; flex:1; height:3px; }
.hm-progress .swiper-pagination{ position:static; width:100%; height:3px; border-radius:2px;
  background:var(--sl-line); overflow:hidden; }
.hm-progress .swiper-pagination-progressbar-fill{ background:var(--sky-400); border-radius:2px; }
.hm-arrows{ display:flex; gap:10px; flex-shrink:0; }
.hm-arrow{ width:52px; height:52px; border-radius:999px; border:0; cursor:pointer;
  background:var(--sl-line); color:var(--sl-ink); font-size:15px;
  display:inline-flex; align-items:center; justify-content:center; transition:background-color .18s ease,color .18s ease; }
.hm-arrow:hover{ background:var(--sky-500); color:#fff; }
.hm-arrow.swiper-button-disabled{ opacity:.4; cursor:default; }
.swiper-slide{ height:auto; }
/* ===================== ORTAK BÖLÜM BAŞLIĞI · .hm-bas (15.09.2026 · karar kuralı) =====================
   1) TÜM bölüm başlıkları SOLA dayalı · aynı boyut / font / satır yüksekliği · cümle düzeni (ilk harf büyük).
   2) Açıklama (subtitle) HER ZAMAN başlığın ALTINDA. Başlığın ÜSTÜNDE kicker / rozet / açıklama YOK.
   3) Destekleyici içerik (link satırları, işbirliği ibaresi…) gerekiyorsa SAĞ tarafta (.hm-bas-sag).
   Dar ekranda sağ blok başlık grubunun altına iner. */
.hm-script-head{ text-align:left; margin:0; line-height:1.1; text-transform:none; }
.hm-bas{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap;   /* sağ blok uzunsa başlık aşağı itilmesin: ÜSTTEN hizalı */
  gap:clamp(24px,4vw,64px); margin-bottom:clamp(30px,4vw,48px); }
.hm-bas-sol{ flex:1 1 420px; min-width:0; }   /* genişlik sınırı YOK: başlık tek satır kalsın (sınır yalnız açıklamada) */
.hm-bas-sag{ flex:0 1 480px; min-width:0; }
.hm-bas-alt{ margin:clamp(12px,1.2vw,16px) 0 0; max-width:36em; font-size:clamp(16px,1.3vw,18px); line-height:1.65;
  color:var(--sl-muted, var(--muted)); }
/* tablet + mobil: başlık grubu ve sağ blok ALT ALTA, tam genişlik (768'de yan yana yarım yarım diziliyordu) */
@media (max-width:1199.98px){ .hm-bas{ flex-direction:column; align-items:stretch; } .hm-bas-sol,.hm-bas-sag{ flex:none; max-width:100%; } }   /* 1024'te de sığmıyordu (420+480+boşluk > 940) */

/* ===================== ORTAK LİNK SATIRLARI · .hm-links > .hm-linkrow (15.09.2026) =====================
   Sağ blok destekleyici içerik dili: ikon + ad + ok, satır arası kenarlara doğru eriyen ince çizgi.
   Kullanan: "Sigortanı anlayarak yaptır" (hızlı işlemler) · "Sigorta rehberi" (kategoriler).
   Ölçüler teaser'ın kompakt hâlinden (12px / 15px) — önceden yalnız teaser'daydı, buraya taşındı. */
.hm-links{ min-width:0; }
@media (min-width:1200px){ .hm-links{ min-width:300px; } }
.hm-linkrow{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 2px;
  border-top:1px solid transparent; border-image:linear-gradient(90deg,transparent,var(--sl-line) 12%,var(--sl-line) 88%,transparent) 1;
  color:var(--sl-ink); font-size:15px; font-weight:500; }
.hm-links .hm-linkrow:last-child{ border-bottom:1px solid transparent; }
/* modal açan satır <button> · görünüm <a> ile BİREBİR aynı kalsın (üst çizgi border-image'ten gelir,
   o yüzden border:0 DEĞİL, yalnız yan/alt kenarlar sıfırlanır) */
button.hm-linkrow{ width:100%; background:transparent; border-left:0; border-right:0; border-bottom:0;
  font:inherit; font-size:15px; font-weight:500; color:var(--sl-ink); cursor:pointer; text-align:left; }
.hm-linkrow-l{ display:flex; align-items:center; gap:14px; min-width:0; }
.hm-linkrow-ico{ flex:0 0 auto; width:20px; text-align:center; font-size:15px; }
.hm-linkrow i{ color:var(--marka); transition:transform .18s ease; }
.hm-linkrow:hover > i{ transform:translateX(5px); }   /* sütunda flex-basis YÜKSEKLİĞE döner → none */
