/* ============================================================
   Form sayfaları (Fiyat teklifi, Demo, İletişim) + Yasal
   ============================================================ */
.qhero { padding: 80px 0 112px; background: linear-gradient(#fff, var(--bg)); }
.qhero__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 48px 72px; align-items: start; }
.qhero__text { display: flex; flex-direction: column; gap: 22px; padding-top: 8px; }
.qhero h1 { font-size: clamp(34px, 3vw + 14px, 52px); line-height: 1.1; letter-spacing: -0.03em; }
.qhero__text > * { animation: rise .7s var(--ease-standard) both; }
.qhero__text > :nth-child(2) { animation-delay: .06s; } .qhero__text > :nth-child(3) { animation-delay: .12s; } .qhero__text > :nth-child(4) { animation-delay: .18s; }
.qcard { animation: rise .8s var(--ease-standard) .12s both; }
.points-list { display: flex; flex-direction: column; gap: 4px; }
.pt { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; font-size: 16px; line-height: 24px; color: var(--ink); }
.pt .check__ic { margin-top: 3px; }
.standards--left { justify-content: flex-start; margin: 12px 0 0; flex-direction: column; align-items: flex-start; border-top: 1px solid var(--line); max-width: none; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }

/* Demo: "neler göreceksiniz" */
.seebox { display: flex; flex-direction: column; margin-top: 4px; }
.seebox__l { font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.see { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--line); }
.see__t { display: flex; flex-direction: column; gap: 2px; }
.see__t b { font-size: 17px; line-height: 24px; }
.see__t span { font-size: 15px; line-height: 23px; color: var(--ink-secondary); }
.see:hover .ibox { background: var(--brand); color: #fff; rotate: -6deg; }

/* ---------- Form kartı ---------- */
.qcard { position: relative; padding: 32px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 24px 56px -32px rgba(20, 22, 58, .35); scroll-margin-top: 96px; }
.qform { display: flex; flex-direction: column; gap: 18px; }
.qcard__t { font-size: 22px; line-height: 30px; letter-spacing: -0.01em; }
.frow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fl { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
.fl__l { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink); padding: 0; }
.fi { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; font: inherit; font-size: 15px; font-weight: 400; color: var(--ink); box-sizing: border-box; transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast); }
.fi::placeholder { color: var(--ink-muted); }
.fi:hover { border-color: var(--ink-muted); }
.fi:focus { outline: none; border-color: var(--brand); box-shadow: var(--focus-ring); }
.fi--ta { height: auto; min-height: 120px; padding: 12px 14px; resize: vertical; line-height: 22px; }
.fi-sel { position: relative; display: block; }
.fi-sel select.fi { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
.fi-sel .mv-icon { position: absolute; right: 14px; top: 50%; translate: 0 -50%; pointer-events: none; color: var(--ink-muted); transition: rotate var(--duration-base) var(--ease-standard); }
.fi-sel:focus-within .mv-icon { rotate: 180deg; color: var(--brand); }
.fl__e { min-height: 0; font-size: 13px; line-height: 18px; color: var(--danger); }
.fl__e:empty { display: none; }
.fl.has-error .fi { border-color: var(--danger); }
.fl.has-error .fi:focus { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--danger); }
.fl.has-error .fl__e { animation: shake .32s var(--ease-standard); }
@keyframes shake { 25% { translate: -4px 0; } 75% { translate: 4px 0; } }

/* Hap seçiciler (radio/checkbox) */
.segs { display: flex; flex-wrap: wrap; gap: 8px; }
.seg { position: relative; display: inline-flex; }
.seg input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.seg span { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--line-strong); font-size: 14px; font-weight: 600; color: var(--ink-secondary); background: #fff; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), scale var(--duration-fast) var(--ease-standard); }
.seg:hover span { border-color: var(--ink); color: var(--ink); }
.seg input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.seg input:active + span { scale: .96; }
.seg input:focus-visible + span { box-shadow: var(--focus-ring); }

/* Onay kutusu */
.ck { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 20px; color: var(--ink-secondary); cursor: pointer; position: relative; }
.ck input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; }
.ck__box { width: 18px; height: 18px; border: 1.5px solid var(--line-strong); border-radius: 5px; flex: none; margin-top: 1px; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: transparent; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast), color var(--duration-fast), scale var(--duration-fast); }
.ck:hover .ck__box { border-color: var(--brand); }
.ck input:checked + .ck__box { background: var(--brand); border-color: var(--brand); color: #fff; scale: 1.06; }
.ck input:focus-visible + .ck__box { box-shadow: var(--focus-ring); }
.fl.has-error .ck__box { border-color: var(--danger); }

.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.qform__submit { align-self: flex-start; position: relative; min-width: 160px; }
.qform__submit.is-busy { pointer-events: none; opacity: .85; }
.qform__submit.is-busy::after { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: spin .7s linear infinite; }
@keyframes spin { to { rotate: 360deg; } }
.qform__note { font-size: 13px; line-height: 20px; color: var(--ink-muted); }
.qform__alert { padding: 12px 14px; border-radius: 10px; background: var(--danger-soft); color: var(--danger); font-size: 14px; line-height: 20px; font-weight: 600; }

/* Başarı */
.qok { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 8px 0; }
.qok[hidden] { display: none; }
.qok h3 { font-size: 26px; line-height: 34px; letter-spacing: -0.02em; }
.qok p { font-size: 17px; line-height: 27px; color: var(--ink-secondary); }
.qok__ic { width: 64px; height: 64px; border-radius: 999px; background: var(--success-soft); color: var(--success); display: inline-flex; align-items: center; justify-content: center; animation: pop .6s var(--ease-standard) both; }
@keyframes pop { 0% { scale: .4; opacity: 0; } 60% { scale: 1.1; opacity: 1; } 100% { scale: 1; } }
.qcard.is-done .qform { display: none; }
.qcard:has(.qok:not([hidden])) .qform { display: none; }

/* Teklif sayfası alt bölümleri */
.mods { padding: 104px 0; }
.mods__head { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: flex-end; justify-content: space-between; }
.mods__t { display: flex; flex-direction: column; gap: 12px; max-width: 700px; }
.mods h2, .how h2, .faq h2 { font-size: clamp(28px, 1.6vw + 20px, 40px); line-height: 1.2; letter-spacing: -0.02em; }
.mcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.mcard { display: flex; flex-direction: column; gap: 12px; padding: 24px; border-radius: 18px; background: #fff; border: 1px solid var(--line); transition: border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), translate var(--duration-base) var(--ease-standard); }
.mcard:hover { border-color: var(--brand); box-shadow: 0 18px 40px -24px rgba(20, 22, 58, .35); translate: 0 -3px; }
.mcard:hover .ibox { background: var(--brand); color: #fff; rotate: -6deg; }
.mcard b { font-size: 18px; line-height: 26px; }
.mcard ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.mcard li { position: relative; padding-left: 20px; font-size: 15px; line-height: 23px; color: var(--ink-secondary); }
.mcard li::before { content: ""; position: absolute; left: 2px; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--brand-soft); border: 2px solid var(--brand); box-sizing: border-box; }
.qteam { padding: 104px 0; }
.team__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.note--dark { color: #AEB8D9; margin-top: 0; }
.how { padding: 104px 0; }
.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: none; }
.step { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; border-top: 2px solid var(--line); position: relative; transition: border-color var(--duration-base) var(--ease-standard); }
.step::before { content: ""; position: absolute; left: 0; top: -2px; height: 2px; width: 0; background: var(--brand); transition: width .6s var(--ease-standard); }
.step:hover::before, .step.is-in::before { width: 100%; }
.step__n { font-size: 14px; font-weight: 700; letter-spacing: .1em; color: var(--brand); }
.step b { font-size: 20px; line-height: 28px; }
.step span:last-child { font-size: 16px; line-height: 25px; color: var(--ink-secondary); }
.faq { padding: 0 0 104px; }
.faq__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 32px 72px; align-items: start; }
.faq__item { border-top: 1px solid var(--line); }
.faq__item:last-child { border-bottom: 1px solid var(--line); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 0; font-size: 18px; line-height: 26px; font-weight: 600; cursor: pointer; list-style: none; transition: color var(--duration-fast) var(--ease-standard); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary:hover { color: var(--brand); }
.faq__pm { position: relative; width: 20px; height: 20px; flex: none; }
.faq__pm::before, .faq__pm::after { content: ""; position: absolute; left: 3px; right: 3px; top: 9px; height: 2px; border-radius: 2px; background: currentColor; transition: rotate var(--duration-base) var(--ease-standard); }
.faq__pm::after { rotate: 90deg; }
.faq__item[open] .faq__pm::after { rotate: 0deg; }
.faq__item p { padding: 0 40px 24px 0; font-size: 16px; line-height: 26px; color: var(--ink-secondary); }
.faq__item[open] p { animation: faq-in .35s var(--ease-standard) both; }
@keyframes faq-in { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }

/* İletişim */
.phero--contact { padding-bottom: 40px; }
.contact { padding: 0 0 120px; }
.contact__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px 64px; align-items: start; }
.contact__side { display: flex; flex-direction: column; gap: 16px; }
a.channel { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: 18px; background: #fff; border: 1px solid var(--line); color: inherit; text-decoration: none; cursor: pointer; transition: border-color var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard), translate var(--duration-base) var(--ease-standard); }
a.channel:hover { border-color: var(--brand); color: inherit; box-shadow: 0 18px 40px -24px rgba(20, 22, 58, .35); translate: 0 -2px; }
a.channel:hover .ibox { background: var(--brand); color: #fff; rotate: -6deg; }
.channel__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.channel__t b { font-size: 18px; line-height: 26px; color: var(--ink); }
.channel__t span { font-size: 15px; line-height: 23px; color: var(--ink-secondary); }
.fl--full { grid-column: 1 / -1; }

/* Yasal */
.legal { padding: 64px 0 112px; }
.legal__in { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: start; }
.legal__side { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 20px; }
.lside { display: flex; flex-direction: column; gap: 2px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.lside a { display: block; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 500; color: var(--ink-secondary); text-decoration: none; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast), padding var(--duration-base) var(--ease-standard); }
.lside a.on { background: var(--surface-tint); color: var(--brand); font-weight: 600; }
.lside a:hover { background: var(--surface-sunken); color: var(--ink); padding-left: 18px; }
.legal__doc { max-width: 780px; display: flex; flex-direction: column; gap: 20px; }
.crumb { font-size: 14px; color: var(--ink-muted); }
.legal__doc h1 { font-size: clamp(32px, 2.4vw + 16px, 46px); line-height: 1.12; letter-spacing: -0.03em; }
.legal__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; color: var(--ink-muted); }
.legal__draft { padding: 12px 16px; border-radius: 10px; background: var(--warning-soft); color: var(--warning); font-size: 14px; font-weight: 600; }
.legal__short { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border-radius: 14px; background: var(--surface-tint); }
.legal__short b { font-size: 14px; }
.legal__short p { font-size: 16px; line-height: 25px; color: var(--ink-secondary); }
.legal__toc { display: flex; flex-direction: column; gap: 2px; padding: 4px 0 8px; }
.legal__toc b { font-size: 14px; margin-bottom: 6px; }
.legal__toc a { font-size: 15px; line-height: 28px; text-decoration: none; transition: translate var(--duration-fast) var(--ease-standard); width: fit-content; }
.legal__toc a:hover { text-decoration: underline; text-underline-offset: 3px; translate: 3px 0; }
.legal__sec { display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 96px; padding-top: 8px; }
.legal__sec h2 { font-size: 24px; line-height: 32px; letter-spacing: -0.01em; }
.legal__sec p { font-size: 16px; line-height: 27px; color: var(--ink-secondary); }
.legal__list { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 16px; line-height: 26px; color: var(--ink-secondary); }
.legal__list li::marker { color: var(--brand); }
@media (max-width: 1023px) {
  .qhero { padding: 56px 0 72px; }
  .qhero__in { grid-template-columns: minmax(0, 1fr); }
  .team__grid--3, .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq__in { grid-template-columns: minmax(0, 1fr); }
  .contact__in { grid-template-columns: minmax(0, 1fr); }
  .legal__in { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .legal__side { position: static; }
  .lside { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .lside a { border: 1px solid var(--line); padding: 8px 14px; }
  .lside a:hover { padding-left: 14px; }
  .mods, .qteam, .how { padding: 72px 0; }
  .faq { padding-bottom: 72px; }
}
@media (max-width: 767px) {
  .qcard { padding: 22px 18px; border-radius: 20px; }
  .frow { grid-template-columns: minmax(0, 1fr); }
  .team__grid--3, .steps { grid-template-columns: minmax(0, 1fr); }
  .qform__submit { align-self: stretch; }
  .contact { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .qhero__text > *, .qcard, .qok__ic, .faq__item[open] p { animation: none !important; }
}
