h1, h2, h3 { margin-top: 0; color: var(--ecs-blue-dark); line-height: 1.16; letter-spacing: -.025em; }
h1 { font-size: clamp(36px, 5vw, 62px); }
h2 { font-size: clamp(30px, 4vw, 44px); }
h3 { font-size: 20px; }
.eyebrow { margin: 0 0 10px; color: var(--ecs-orange-ink); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lead { font-size: 19px; color: var(--ecs-muted); }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 11px 24px; border: 2px solid transparent; border-radius: 999px; font-weight: 750; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform var(--ecs-transition), box-shadow var(--ecs-transition), background var(--ecs-transition); }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ecs-white); background: var(--ecs-blue-deep); }
.button-orange { color: var(--ecs-white); background: var(--ecs-orange-ui); box-shadow: 0 10px 25px rgba(239,121,15,.24); }
.button-ghost { border-color: rgba(255,255,255,.7); color: var(--ecs-white); background: transparent; }
.text-link { color: var(--ecs-blue-deep); font-size: 14px; font-weight: 750; text-decoration: none; }
.section-heading { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: 34px; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2 { margin: 0; }
.section-heading > a { font-size: 14px; font-weight: 750; }
.section-heading.centered, .section-heading.compact { display: block; text-align: center; }
.section-heading.compact { margin-bottom: 22px; }
.section-heading.light h2, .section-heading.light .eyebrow { color: var(--ecs-white); }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.content-card { min-width: 0; border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius); background: var(--ecs-white); box-shadow: var(--ecs-shadow-soft); overflow: hidden; }
.card-media { display: block; aspect-ratio: 16 / 9; background: var(--ecs-soft); overflow: hidden; }
.card-picture, .card-picture img { width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 24px; }
.card-body h3 { margin-bottom: 12px; }
.card-body h3 a { color: inherit; text-decoration: none; }
.card-body p { color: var(--ecs-muted); font-size: 14px; }
.card-label { margin: 0 0 7px; color: var(--ecs-orange-ink) !important; font-size: 11px !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.empty-state { padding: 18px 20px; border: 1px dashed #a8bdce; border-radius: var(--ecs-radius); color: var(--ecs-muted); background: var(--ecs-softest); }
.light-empty { color: var(--ecs-white); background: rgba(255,255,255,.08); }

.breadcrumb { margin-bottom: 30px; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.breadcrumb li { color: var(--ecs-muted); font-size: 13px; }
.breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 7px; color: #aebdca; }
.breadcrumb a { color: var(--ecs-blue-deep); }
.prose { min-width: 0; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose h2 { margin-top: 1.8em; font-size: clamp(26px, 3vw, 36px); }
.prose h3 { margin-top: 1.6em; }
.prose p, .prose li { color: #384858; }
.prose img { width: auto; height: auto; }
.prose table { width: 100%; border-collapse: collapse; overflow-wrap: anywhere; }
.prose th, .prose td { padding: 10px; border: 1px solid var(--ecs-line); text-align: left; }

.split-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: start; gap: clamp(35px, 6vw, 80px); }
.form-panel { min-width: 0; padding: clamp(22px, 3vw, 38px); border-radius: var(--ecs-radius-lg); background: var(--ecs-softest); box-shadow: var(--ecs-shadow); }
.form-panel h2 { font-size: 28px; }
.ecs-form { position: relative; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.form-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.form-field-wide { grid-column: 1 / -1; }
.form-field label, .form-field legend { display: block; margin-bottom: 6px; color: var(--ecs-blue-dark); font-size: 13px; font-weight: 700; }
.form-field input:not([type="checkbox"]):not([type="radio"]), .form-field select, .form-field textarea { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid #b8cbd9; border-radius: var(--ecs-radius-sm); color: var(--ecs-ink); background: var(--ecs-white); }
.form-field textarea { min-height: 120px; resize: vertical; }
.choice-row { display: flex; flex-wrap: wrap; gap: 10px; }
.choice { display: inline-flex !important; align-items: center; gap: 7px; min-height: 40px; margin: 0 !important; padding: 7px 11px; border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius-sm); background: var(--ecs-white); }
.choice-field { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; }
.choice-field label { margin: 0; }
.form-consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; margin-top: 18px; color: var(--ecs-muted); font-size: 12px; }
.form-consent input, .choice-field input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--ecs-blue-deep); }
.form-submit { width: 100%; margin-top: 22px; border: 0; }
.form-status:not(:empty), .error-summary { margin-bottom: 18px; padding: 12px 14px; border-radius: var(--ecs-radius-sm); background: #e2f4ec; color: var(--ecs-success); font-size: 13px; }
.form-status.is-error, .error-summary { background: #fbe9e9; color: var(--ecs-danger); }
.error-summary ul { margin-bottom: 0; }
.field-error { display: block; margin-top: 4px; color: var(--ecs-danger); font-size: 12px; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.footer-form .form-grid { grid-template-columns: 1fr; }
.footer-form .form-consent, .footer-form .form-field label, .footer-form .form-field legend { color: var(--ecs-white); }
.footer-form .form-consent a { color: var(--ecs-white); }

.accordion { display: grid; gap: 13px; }
.accordion-item { border: 1px solid var(--ecs-line); border-radius: var(--ecs-radius); background: var(--ecs-white); overflow: hidden; }
.accordion-item h2 { margin: 0; }
.accordion-item h2 button { display: flex; justify-content: space-between; width: 100%; padding: 19px 21px; border: 0; color: var(--ecs-blue-dark); background: transparent; font-weight: 750; text-align: left; cursor: pointer; }
.accordion-panel { padding: 0 21px 21px; }
.has-js .accordion-panel[hidden] { display: none; }

/* Faz 5B.2 — yalnız gerekli çerez bildirimi: canlıya yakın geniş alt bant. Katman: skip-link 10000 > header 1200 > çerez 1100 > yüzen destek 900. */
.cookie-notice { position: fixed; z-index: 1100; right: 0; bottom: 0; left: 0; padding: 16px 0; border-top: 1px solid var(--ecs-line); color: var(--ecs-ink); background: var(--ecs-white); box-shadow: 0 -12px 40px rgba(4, 29, 52, .18); }
.cookie-notice-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; }
.cookie-notice p { margin: 0; color: var(--ecs-muted); font-size: 13px; }
.cookie-notice a { color: var(--ecs-blue-deep); font-weight: 700; }
.cookie-notice .button { min-height: 44px; padding: 9px 22px; font-size: 13px; }
/* Yüzen destek: açık çerez bandı kadar (--ecs-cookie-offset) yukarı kayar, bantla çakışmaz; 44 px üstü hedef; beyaz metinle AA yeşil. */
/* Faz 13 (F32) — canlı `.sticky-logowp` ölçümü: 139×43 px, sağ kenara yapışık (`right: 0`,
   `border-radius: 30px 0 0 30px`), `bottom: 80px`, `z-index: 990` ve turkuaz ışıma
   `box-shadow: 0 0 40px #31e9bd`. Canlı bunu hazır bir PNG ile basar; biz metni ve marka işaretini
   kendimiz çizdiğimiz için ölçü, konum, köşe ve ışımayı eşliyoruz — düğme ölçeklenebilir kalıyor.
   Açık çerez bandı varsa düğme onun üstüne çıkar (--ecs-cookie-offset). */
.floating-contact { position: fixed; z-index: 990; right: 0; bottom: calc(80px + var(--ecs-cookie-offset, 0px)); display: inline-flex; align-items: center; gap: 9px; min-height: 43px; padding: 10px 18px 10px 16px; border-radius: 30px 0 0 30px; color: var(--ecs-white); background: #11804f; box-shadow: 0 0 40px #31e9bd; font-size: 14px; font-weight: 750; text-decoration: none; transition: background var(--ecs-transition), box-shadow var(--ecs-transition); }
.floating-contact:hover, .floating-contact:focus-visible { background: #0d6a41; box-shadow: 0 0 54px #31e9bd; }
.floating-contact-icon { flex: 0 0 auto; width: 22px; height: 22px; }
/* Faz 13 (F34, D-118) — "yukarı çık" düğmesi. Canlıda karşılığı YOKTUR; ölçüm değil kendi belirtimimizdir.
   Konum WhatsApp düğmesiyle çakışmayacak biçimde seçildi (WhatsApp bottom: 80px, bu 18px) ve ikisi de
   çerez bandı açıkken --ecs-cookie-offset kadar yukarı kayar. Görünürlük app.js tarafından `is-visible`
   ile açılır; JS yoksa düğme hidden kalır. 44x44 px hedef alanı WCAG 2.5.8 (AAA) eşiğini karşılar.
   Odak halkası global :focus-visible kuralından gelir. */
.scroll-top { position: fixed; z-index: 900; right: 18px; bottom: calc(18px + var(--ecs-cookie-offset, 0px)); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; color: var(--ecs-white); background: var(--ecs-blue-deep); box-shadow: 0 6px 18px rgba(8, 91, 174, .38); opacity: 0; transform: translateY(12px); visibility: hidden; cursor: pointer; transition: opacity var(--ecs-transition), transform var(--ecs-transition), visibility 0s linear 180ms, background var(--ecs-transition); }
.scroll-top.is-visible { opacity: 1; transform: none; visibility: visible; transition-delay: 0s; }
.scroll-top:hover { background: var(--ecs-blue-dark); }
@media (prefers-reduced-motion: reduce) { .scroll-top { transition: none; transform: none; } }

/* Faz 6.8 (D-100): canlıda her formun altında duran yasal bildirim. */
.form-legal-note { margin: 12px 0 0; color: var(--ecs-muted); font-size: 13px; line-height: 20px; }
.form-legal-note a { color: var(--ecs-blue-deep); text-decoration: underline; }
