:root {
  --fs-bg: #f4f8fb;
  --fs-card: #ffffff;
  --fs-border: #d9e5ec;
  --fs-text: #20314c;
  --fs-muted: #566579;
  --fs-blue: #0f4f83;
  --fs-purple: #12707a;
  --fs-green: #19915f;
  --fs-lavender: #eef8f8;
  --fs-shadow: 0 10px 28px rgba(40, 53, 92, 0.08);
}

body.koah-support-page { background: #f2f7fa; color: var(--fs-text); }
.fs-page { padding: 20px 0 36px; }
.fs-shell { margin: 0 auto; width: min(100% - 28px, 1320px); }
.fs-card { background: var(--fs-card); border: 1px solid var(--fs-border); border-radius: 20px; box-shadow: var(--fs-shadow); }
.fs-card-pad { padding: 18px 22px 20px; }
.fs-grid { display: grid; gap: 14px; margin-top: 14px; }
.fs-grid-3 { grid-template-columns: 1fr 1.28fr .86fr; }
.fs-grid-bottom { display: grid; gap: 14px; grid-template-columns: 1.07fr 1fr .9fr; margin-top: 14px; }
.middle-stretch > .fs-card, .fs-grid-final > .fs-card, .fs-grid-final > aside { min-height: 100%; }

.fs-hero { display: grid; gap: 0; grid-template-columns: 1.13fr .78fr .62fr; overflow: hidden; }
.fs-hero-copy { padding: 28px 26px; }
.fs-hero-copy h1 { color: var(--fs-blue); font-size: clamp(32px, 4vw, 62px); font-weight: 800; letter-spacing: -0.03em; line-height: .95; margin: 0 0 10px; }
.fs-hero-copy h1 span { color: #16818c; }
.fs-subtitle { color: #223655; font-size: clamp(17px, 1.6vw, 23px); font-weight: 800; line-height: 1.15; margin-bottom: 16px; }
.fs-hero-copy p { color: #2e3c52; font-size: 15px; line-height: 1.5; margin: 0 0 6px; max-width: 95%; }
.fs-service-pills { display: grid; gap: 10px; grid-template-columns: repeat(5, 1fr); margin-top: 16px; }
.fs-service-pill { align-items: center; background: linear-gradient(180deg, #fff, #f7fbfb); border: 1px solid #d8e4ea; border-radius: 14px; display: flex; flex-direction: column; font-size: 13px; font-weight: 700; gap: 8px; justify-content: center; min-height: 92px; padding: 10px 8px; text-align: center; }
.fs-service-pill i { color: #0f6b79; font-size: 31px; }

.fs-hero-visual { min-height: 330px; position: relative; }
.fs-hero-bg { background: linear-gradient(0deg, rgba(255,255,255,.04), rgba(255,255,255,.04)), url('../assets/koah-tedavi-destegi/hero-clinic-bg.png') center/cover no-repeat; height: 100%; }
.fs-hero-bg::after { background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.42) 100%); content: ''; inset: 0; position: absolute; }
.fs-doctor { bottom: 0; height: calc(100% - 12px); max-height: 360px; object-fit: contain; object-position: bottom center; position: absolute; right: 16px; }
.fs-doctor-tag { background: rgba(255,255,255,.9); border: 1px solid rgba(218,224,235,.96); border-radius: 12px; bottom: 24px; box-shadow: 0 8px 18px rgba(35, 44, 78, 0.12); padding: 12px 14px; position: absolute; right: 8px; }
.fs-doctor-tag strong { color: var(--fs-blue); display: block; font-size: 15px; line-height: 1.15; }
.fs-doctor-tag span { color: #607089; display: block; font-size: 11px; margin-top: 3px; }

.fs-hero-contact { background: linear-gradient(180deg, #0e5d91, #0b3f72 88%); color: #fff; padding: 24px 24px 22px; }
.fs-hero-contact h2 { color: #fff; font-size: 20px; line-height: 1.15; margin-bottom: 12px; }
.fs-hero-contact p { color: #e1eef9; font-size: 14px; line-height: 1.45; margin-bottom: 16px; }
.fs-btn { align-items: center; border-radius: 12px; display: flex; font-size: 16px; font-weight: 800; gap: 12px; justify-content: center; line-height: 1.15; padding: 15px 16px; text-decoration: none; }
.fs-btn i { font-size: 24px; }
.fs-btn-white { background: #fff; color: #17355f; }
.fs-btn-green { background: #18b65f; color: #fff; margin-top: 12px; }
.fs-hero-contact small, .fs-cta-card small { color: #d8eaf7; display: flex; font-size: 13px; gap: 8px; justify-content: center; margin-top: 14px; }

.fs-number-title { align-items: flex-start; color: var(--fs-blue); display: flex; font-size: 20px; font-weight: 800; gap: 8px; line-height: 1.05; margin-bottom: 14px; text-transform: uppercase; }
.fs-number-title span { color: var(--fs-blue); }
.fs-what-grid { align-items: center; display: grid; gap: 16px; grid-template-columns: 160px 1fr; }
.fs-what-grid img { width: 100%; object-fit: contain; }
.fs-what-grid p { color: #26354d; font-size: 15px; line-height: 1.55; margin-bottom: 7px; }

.fs-steps-row { display: grid; gap: 10px; grid-template-columns: repeat(5, 1fr); padding-top: 8px; }
.fs-step { position: relative; text-align: center; }
.fs-step:not(:last-child)::after { color: #7e8fa8; content: '→'; font-size: 24px; position: absolute; right: -7px; top: 24px; }
.fs-step span { align-items: center; border: 2px solid #d5dde7; border-radius: 50%; color: var(--fs-purple); display: inline-flex; height: 64px; justify-content: center; width: 64px; background:#fff; }
.fs-step i { font-size: 29px; }
.fs-step b { color: var(--fs-blue); display: block; font-size: 14px; margin-top: 8px; }
.fs-step strong { color: #244260; display: block; font-size: 14px; font-weight: 700; line-height: 1.35; margin-top: 4px; }

.fs-bullet-list { list-style: disc; margin: 4px 0 0 20px; padding: 0; }
.fs-bullet-list li { color: #23344e; font-size: 15px; line-height: 1.62; margin-bottom: 4px; }
.fs-bullet-list.compact li { font-size: 14px; }
.fs-check-list { list-style: none; margin: 0; padding: 0; }
.fs-check-list li { color: #20344d; font-size: 14px; line-height: 1.5; margin-bottom: 10px; padding-left: 24px; position: relative; }
.fs-check-list li::before { color: #1f916e; content: '\ea5e'; font-family: 'remixicon'; font-size: 18px; left: 0; position: absolute; top: -2px; }

.fs-top-summary { background: #f6fbfd; border: 1px solid #dceaf0; border-radius: 12px; color: #33556f; font-size: 14px; line-height: 1.5; margin-top: 12px; padding: 12px 14px; text-align: center; }
.fs-small-copy, .fs-approach-copy { color: #34445a; font-size: 14px; line-height: 1.55; margin-bottom: 12px; }

.fs-number-list { counter-reset: item; list-style: none; margin: 0; padding: 0; }
.fs-number-list li { color: #273954; counter-increment: item; font-size: 15px; line-height: 1.5; margin-bottom: 12px; padding-left: 38px; position: relative; }
.fs-number-list li::before { align-items: center; background: #178f64; border-radius: 50%; color: #fff; content: counter(item); display: inline-flex; font-size: 13px; font-weight: 800; height: 24px; justify-content: center; left: 0; position: absolute; top: 0; width: 24px; }
.fs-inline-badge { align-items: center; background: #eef8f6; border: 1px solid #d6ece5; border-radius: 12px; color: #294f54; display: flex; gap: 11px; margin-top: 10px; padding: 12px 14px; }
.fs-inline-badge i { color: #0f6b79; font-size: 28px; }
.fs-inline-badge span { font-size: 14px; }

.fs-timeline { display: grid; gap: 10px; grid-template-columns: repeat(5, 1fr); padding-top: 10px; }
.fs-timeline-step { position: relative; text-align: center; }
.fs-timeline-step:not(:last-child)::after { background: #bfd2d8; content: ''; height: 2px; position: absolute; right: -12px; top: 32px; width: 24px; }
.fs-timeline-step span { align-items: center; background: #fff; border: 2px solid #d6dde8; border-radius: 50%; color: var(--fs-blue); display: inline-flex; height: 64px; justify-content: center; width: 64px; }
.fs-timeline-step i { font-size: 30px; }
.fs-timeline-step strong { color: #24405f; display: block; font-size: 13px; line-height: 1.3; margin-top: 8px; }
.fs-timeline-note { background: #fafbfd; border: 1px solid #dfe6ee; border-radius: 12px; color: #30465e; font-size: 14px; line-height: 1.55; margin-top: 16px; padding: 14px 16px; text-align: center; }

.fs-reports-grid { align-items: end; display: grid; gap: 8px; grid-template-columns: 1fr 128px; }
.fs-reports-grid img { width: 100%; object-fit: contain; }
.fs-report-foot { background: #faf7fc; border: 1px solid #ece2f4; border-radius: 12px; color: #5f5071; font-size: 14px; margin-top: 12px; padding: 12px 15px; }

.fs-faq-list { display: grid; gap: 10px; }
.fs-faq-item { border: 1px solid #dde5ed; border-radius: 12px; overflow: hidden; }
.fs-faq-item button { align-items: center; background: #fbfcfe; border: 0; color: #273853; cursor: pointer; display: flex; font-size: 15px; font-weight: 700; justify-content: space-between; padding: 14px 16px; text-align: left; width: 100%; }
.fs-faq-item button i { color: #7b89a0; font-size: 20px; transition: transform .2s ease; }
.fs-faq-answer { display: none; padding: 0 16px 15px; }
.fs-faq-answer p { color: #405066; font-size: 14px; line-height: 1.55; margin: 0; }
.fs-faq-item.open .fs-faq-answer { display: block; }
.fs-faq-item.open button i { transform: rotate(180deg); }

.fs-cta-card { background: linear-gradient(160deg, #0d4f82, #0c3e72 55%, #0a2f59); color: #fff; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 24px; }
.fs-cta-card h2 { color: #fff; font-size: 20px; line-height: 1.15; margin-bottom: 12px; }
.fs-cta-card p { color: #e4eef8; font-size: 15px; line-height: 1.55; }
.fs-cta-actions { display: grid; gap: 10px; margin-top: 14px; }

.fs-disclaimer-row { align-items: center; display: grid; gap: 18px; grid-template-columns: 1.65fr .6fr; margin-top: 14px; padding: 18px 22px; }
.fs-disclaimer { align-items: center; color: #6e5b39; display: flex; gap: 14px; }
.fs-disclaimer i { color: #efb025; font-size: 40px; }
.fs-disclaimer span { font-size: 14px; line-height: 1.55; }
.fs-signature { align-items: center; border-left: 1px solid #e0e8ef; color: #12707a; display: flex; gap: 12px; justify-content: center; padding-left: 18px; }
.fs-signature i { font-size: 42px; }
.fs-signature strong { color: #243753; display: block; font-size: 20px; }
.fs-signature span { color: #6a7086; display: block; font-size: 14px; }

.fs-emphasis { justify-content: center; text-align: center; }
.fs-emphasis span { color: #148a67; }
.epi-approach-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 14px 0; }
.epi-approach-card { border: 1px solid #dce4ec; border-radius: 14px; padding: 16px 14px; background: #fff; min-height: 186px; }
.epi-approach-card i { font-size: 30px; color: #0f6b79; }
.epi-approach-card h3 { font-size: 18px; color: #243753; line-height: 1.2; margin: 8px 0; }
.epi-approach-card p { font-size: 14px; line-height: 1.5; color: #304257; margin: 0; }

.koah-table-wrap { overflow-x: auto; }
.koah-stage-table { border-collapse: collapse; width: 100%; font-size: 14px; }
.koah-stage-table th, .koah-stage-table td { border: 1px solid #d7e3ea; padding: 12px 10px; text-align: left; vertical-align: top; }
.koah-stage-table thead th { background: #eef7fb; color: #24405f; font-weight: 800; }
.koah-stage-table tbody td:first-child { color: #0f4f83; font-weight: 700; }
.koah-small-summary { font-size: 13px; }

.koah-symptom-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 16px; }
.koah-symptom { align-items: center; display: grid; gap: 10px; grid-template-columns: 34px 1fr; color: #243550; }
.koah-symptom i { color: #0f6b79; font-size: 28px; }
.koah-symptom span { font-size: 14px; font-weight: 600; line-height: 1.35; }
.koah-symptom small { color: #51657b; font-size: 12px; font-weight: 500; }

.koah-accent-box { background: #f3faf8; border: 1px solid #d6ebe4; border-radius: 14px; padding: 14px 16px; margin-top: 14px; }
.koah-accent-box h3 { color: #12707a; font-size: 18px; margin-bottom: 10px; }
.koah-warning-box { align-items: flex-start; background: #fff8f6; border: 1px solid #f0dbd6; border-radius: 12px; color: #71504b; display: flex; gap: 10px; margin-top: 14px; padding: 12px 14px; }
.koah-warning-box i { color: #d16647; font-size: 22px; }
.koah-warning-box span { font-size: 14px; line-height: 1.5; }

.koah-check-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.koah-check-grid li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; color: #23344f; }
.koah-check-grid i { color: #0f6b79; font-size: 20px; }
.koah-check-grid span { font-size: 14px; line-height: 1.45; }

.koah-inline-info { justify-content: center; background: #fbfcfe; }
.koah-life-grid { grid-template-columns: 1fr 144px; }
.koah-life-grid img { align-self: center; }
.koah-cta-card .fs-signature { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); color: #fff; justify-content: flex-start; margin-top: 18px; padding-left: 0; padding-top: 16px; }
.koah-cta-card .fs-signature strong { color: #fff; font-size: 18px; }
.koah-cta-card .fs-signature span { color: #d8eaf7; }

@media (max-width: 1200px) {
  .fs-hero { grid-template-columns: 1.05fr .75fr; }
  .fs-hero-contact { grid-column: 1 / -1; }
  .fs-grid-3, .fs-grid-bottom { grid-template-columns: 1fr; }
  .fs-service-pills, .epi-approach-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .fs-shell { width: min(100% - 16px, 740px); }
  .fs-hero { grid-template-columns: 1fr; }
  .fs-hero-visual { min-height: 360px; }
  .fs-service-pills, .epi-approach-grid, .fs-timeline, .fs-steps-row, .fs-grid-bottom, .fs-disclaimer-row, .koah-symptom-grid { grid-template-columns: 1fr; }
  .fs-step:not(:last-child)::after, .fs-timeline-step:not(:last-child)::after { display: none; }
  .fs-what-grid, .fs-reports-grid, .koah-life-grid { grid-template-columns: 1fr; }
  .fs-what-grid img { max-width: 220px; }
  .fs-card-pad, .fs-hero-copy { padding: 18px 16px; }
  .fs-number-title { font-size: 18px; }
  .fs-disclaimer, .fs-signature { text-align: center; }
  .fs-signature { border-left: 0; border-top: 1px solid #e0e8ef; padding-left: 0; padding-top: 12px; }
  .fs-cta-card { padding: 22px 18px; }
  .koah-cta-card .fs-signature { justify-content: center; }
}

/* Compact top row similar to reference */
.fs-grid.fs-grid-3:first-of-type { align-items: start; }
.fs-grid.fs-grid-3:first-of-type > .fs-card { align-self: start; padding: 14px 18px 16px; }
.fs-grid.fs-grid-3:first-of-type .fs-number-title { margin-bottom: 10px; font-size: 18px; }
.fs-grid.fs-grid-3:first-of-type .fs-what-grid { grid-template-columns: 126px 1fr; gap: 14px; align-items: center; }
.fs-grid.fs-grid-3:first-of-type .fs-what-grid img { height: 138px; object-fit: contain; }
.fs-grid.fs-grid-3:first-of-type .fs-what-grid p, .fs-grid.fs-grid-3:first-of-type .fs-top-summary { margin: 0; color: #26354d; font-size: 13px; line-height: 1.5; }
.fs-grid.fs-grid-3:first-of-type .fs-steps-row { padding-top: 0; gap: 7px; }
.fs-grid.fs-grid-3:first-of-type .fs-step span { width: 54px; height: 54px; }
.fs-grid.fs-grid-3:first-of-type .fs-step i { font-size: 24px; }
.fs-grid.fs-grid-3:first-of-type .fs-step b { margin-top: 5px; }
.fs-grid.fs-grid-3:first-of-type .fs-step strong { font-size: 12px; line-height: 1.25; }
