/*!
 * KS Company — ana stil dosyası
 * Renk ve tipografi ölçüleri mevcut kscompanyglobal.com tasarımından birebir alınmıştır.
 */

/* ===================================================================== 1. Değişkenler */
:root {
	--ks-navy: #002d5b;
	--ks-navy-2: #0b3d70;
	--ks-coral: #ec5b53;
	--ks-coral-2: #f45e57;
	--ks-text: #35373a;
	--ks-text-2: #4a4d53;
	--ks-muted: #adadad;
	--ks-bg: #fefafa;
	--ks-peach: #fdf6f2;
	--ks-white: #fff;
	--ks-header-bg: rgba(1, 45, 91, .55);
	--ks-header-h: 87px;
	--ks-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ks-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--ks-georgia: Georgia, "Times New Roman", serif;
	--ks-radius: 15px;
	--ks-shadow: 2px 2px 28px rgba(0, 0, 0, .08);
	--ks-container: 1140px;
	--ks-gutter: 20px;
	--ks-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ===================================================================== 2. Temel */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

body {
	margin: 0;
	background: var(--ks-bg);
	color: var(--ks-text);
	font-family: var(--ks-font);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.857;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--ks-navy); text-decoration: none; transition: color .2s, background-color .2s, opacity .2s; }
a:hover { color: var(--ks-coral); }
p { margin: 0 0 1em; }
h1, h2, h3, h4, h5, h6 { font-family: var(--ks-serif); font-weight: 600; color: var(--ks-navy); line-height: 1.3; margin: 0 0 .5em; }
ul, ol { margin: 0; padding: 0; }
figure { margin: 0; }
address { font-style: normal; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--ks-coral); outline-offset: 3px; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; z-index: 100000;
	left: 12px; top: 12px; padding: 12px 18px; background: #fff; color: var(--ks-navy);
	border-radius: 6px; box-shadow: var(--ks-shadow);
}

/* ===================================================================== 3. Yerleşim */
.ks-container { width: 100%; max-width: var(--ks-container); margin: 0 auto; padding: 0 var(--ks-gutter); }
.ks-container--narrow { max-width: 1160px; }
.ks-container--services { max-width: 1160px; }
.ks-container--contact { max-width: 940px; }
.ks-container--form { max-width: 760px; }
.ks-container--product { max-width: 1000px; }
.ks-section { padding: 70px 0; position: relative; }
.ks-center { text-align: center; }
.ks-justify { text-align: justify; }

/* Tipografi yardımcıları */
.ks-h2 { font-size: 38px; line-height: 1.3; text-align: center; margin-bottom: 26px; }
.ks-h3 { font-size: 32px; }
.ks-h5 { font-size: 22px; }
.ks-h6 { font-family: var(--ks-serif); font-size: 22px; font-weight: 600; color: var(--ks-navy); line-height: 1.25; margin-bottom: 14px; }
.ks-lead { font-size: 17px; line-height: 1.857; text-align: center; max-width: 920px; margin: 0 auto 40px; }
.ks-text-sm { font-size: 15px; line-height: 1.8; max-width: 860px; margin-left: auto; margin-right: auto; }
.ks-prose { font-size: 15px; line-height: 1.9; }
.ks-prose--sm { font-size: 14px; line-height: 1.95; }
.ks-prose > *:last-child { margin-bottom: 0; }
.ks-prose h2 { font-size: 26px; margin-top: 1.4em; }
.ks-prose h3 { font-size: 21px; margin-top: 1.3em; }
.ks-prose h4 { font-size: 18px; margin-top: 1.2em; }
.ks-prose ul, .ks-prose ol { padding-left: 1.4em; margin: 0 0 1em; }
.ks-prose li { margin-bottom: .35em; }
.ks-prose a { text-decoration: underline; text-underline-offset: 2px; }
.ks-prose img { border-radius: 6px; margin: 1.2em auto; }
.ks-prose blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--ks-coral); color: var(--ks-navy); font-family: var(--ks-serif); font-size: 1.1em; }
.ks-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; font-size: .95em; }
.ks-prose th, .ks-prose td { border: 1px solid #ebe3e3; padding: 8px 12px; text-align: left; }

/* Başlık altı çizgi (mevcut sitedeki mercan çizgi) */
.ks-title-line { position: relative; padding-bottom: 16px; margin-bottom: 26px; }
.ks-title-line::after {
	content: ""; position: absolute; left: 50%; bottom: 0; width: 100px; height: 2px;
	background: var(--ks-coral); transform: translateX(-50%);
}
.ks-title-line--left::after { left: 0; transform: none; width: 50px; }

/* Butonlar */
.ks-btn,
.ks-form button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 15px 30px; border: 0; border-radius: 30px;
	background: var(--ks-coral); color: #fff; font-family: var(--ks-font); font-size: 16px; font-weight: 600; line-height: 1;
	transition: background-color .25s, transform .25s, box-shadow .25s;
}
.ks-btn:hover,
.ks-form button[type="submit"]:hover { background: var(--ks-navy); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0, 45, 91, .18); }
.ks-btn--wide { min-width: 353px; margin-top: 18px; }
.ks-link-more { font-size: 17px; color: var(--ks-navy); }
.ks-link-more:hover { color: var(--ks-coral); }

.ks-card { background: #fff; border-radius: 8px; box-shadow: 0 0 40px rgba(0, 0, 0, .08); }

.ks-icon { width: 1em; height: 1em; flex: none; display: inline-block; vertical-align: middle; }

/* Dekoratif ağ çizgileri (anasayfa ve KS CLUB) */
.ks-deco { position: relative; background-color: #fff; background-image: var(--ks-deco); background-repeat: repeat-y; background-position: center top; background-size: 100% auto; }

/* ===================================================================== 4. Header */
.ks-header {
	position: absolute; top: 0; left: 0; right: 0; z-index: 50;
	height: var(--ks-header-h);
	background: var(--ks-header-bg);
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	color: #fff;
}
.admin-bar .ks-header { top: 32px; }
.ks-header__inner {
	height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px;
	padding: 0 40px;
}
.ks-header__logo { display: block; flex: none; }
.ks-header__logo img { width: 138px; height: auto; }

.ks-nav { display: flex; align-items: center; margin-left: auto; }
.ks-nav__list { list-style: none; display: flex; align-items: center; }
.ks-nav__item { position: relative; }
.ks-nav__link {
	display: flex; align-items: center; gap: 6px; padding: 0 17px; height: var(--ks-header-h);
	color: #fff; font-size: 17px; line-height: 30px; font-weight: 400;
}
.ks-nav__link:hover,
.ks-nav__item.is-current > .ks-nav__link { color: #fff; opacity: .82; }
.ks-nav__caret { width: 12px; height: 12px; opacity: .8; transition: transform .2s; }
.ks-nav__sub {
	list-style: none; position: absolute; top: calc(100% - 10px); left: 0; min-width: 220px;
	background: #fff; border-top: 3px solid var(--ks-navy); border-radius: 0 0 6px 6px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .12); padding: 8px 0;
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s;
}
.ks-nav__sub .ks-nav__link { height: auto; padding: 9px 22px; color: var(--ks-text); font-size: 15px; }
.ks-nav__sub .ks-nav__link:hover { color: var(--ks-navy); opacity: 1; background: #f6f8fb; }
.ks-nav__item.has-sub:hover > .ks-nav__sub,
.ks-nav__item.has-sub:focus-within > .ks-nav__sub,
.ks-nav__item.has-sub.is-open > .ks-nav__sub { opacity: 1; visibility: visible; transform: none; }
.ks-nav__item.has-sub:hover > .ks-nav__link .ks-nav__caret { transform: rotate(180deg); }
.ks-mobile-only { display: none; }

/* Dil seçici */
.ks-nav__extras { display: flex; align-items: center; }
.ks-lang { position: relative; margin-left: 4px; }
.ks-lang__toggle {
	display: flex; align-items: center; gap: 8px; height: 28px; padding: 0 12px 0 14px;
	border: 0; border-radius: 20px; background: #fff; color: var(--ks-navy);
}
.ks-lang__toggle img { width: 16px; height: 11px; border-radius: 1px; }
.ks-lang__toggle .ks-icon { width: 12px; height: 12px; }
.ks-lang__menu {
	list-style: none; position: absolute; right: 0; top: calc(100% + 10px); min-width: 140px;
	background: #fff; border-radius: 6px; box-shadow: 0 14px 40px rgba(0, 0, 0, .14); padding: 6px 0;
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s;
}
.ks-lang.is-open .ks-lang__menu,
.ks-lang:focus-within .ks-lang__menu { opacity: 1; visibility: visible; transform: none; }
.ks-lang__menu a { display: flex; align-items: center; gap: 10px; padding: 7px 16px; font-size: 14px; color: var(--ks-text); }
.ks-lang__menu a:hover, .ks-lang__menu a[aria-current] { color: var(--ks-navy); background: #f6f8fb; }
.ks-lang__menu img { width: 16px; height: 11px; }

/* Header aksiyonları */
.ks-header__actions { display: flex; align-items: center; gap: 14px; flex: none; }
.ks-cart-toggle { position: relative; display: flex; color: #fff; font-size: 22px; padding: 6px; margin-left: 8px; }
.ks-cart-toggle:hover { color: #fff; opacity: .82; }
.ks-cart-count {
	position: absolute; top: -4px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px;
	border-radius: 9px; background: #fff; color: var(--ks-navy); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
	box-shadow: 0 0 0 2px var(--ks-navy);
}
.ks-burger { display: none; width: 42px; height: 42px; border: 0; background: transparent; padding: 9px; flex-direction: column; justify-content: space-between; }
.ks-burger span { display: block; height: 2px; background: #fff; border-radius: 2px; transition: transform .25s, opacity .2s; }
.ks-nav-open .ks-burger span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
.ks-nav-open .ks-burger span:nth-child(2) { opacity: 0; }
.ks-nav-open .ks-burger span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }

/* ===================================================================== 5. Hero (anasayfa) */
.ks-hero {
	position: relative; height: 650px; min-height: 480px; overflow: hidden;
	display: flex; align-items: center; justify-content: center; text-align: center; color: #fff;
	background: #071a33;
}
.ks-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ks-hero__overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, .12); }
.ks-hero__content { position: relative; z-index: 1; padding: var(--ks-header-h) 20px 0; max-width: 980px; }
.ks-hero__title { color: #fff; font-size: 60px; line-height: 1.2; margin: 0; }
.ks-hero__text { font-size: 17px; line-height: 1.857; margin: 0; }
.ks-hero__down {
	position: absolute; left: 50%; bottom: 52px; z-index: 1; transform: translateX(-50%);
	color: #fff; font-size: 28px; line-height: 1; animation: ks-bob 1.6s ease-in-out infinite;
}
.ks-hero__down:hover { color: #fff; }
@keyframes ks-bob { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 7px); } }

/* ===================================================================== 6. Anasayfa bölümleri */
.ks-home-services { padding-top: 80px; padding-bottom: 60px; }
.ks-tiles { display: grid; grid-template-columns: repeat(4, 250px); gap: 30px; justify-content: center; margin-bottom: 40px; }
.ks-tile {
	position: relative; display: block; height: 275px; border-radius: 0; overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12); background: #d9d9d9; isolation: isolate;
}
.ks-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.55) brightness(1.08); transform: scale(1.02); transition: transform .6s var(--ks-ease), filter .5s; }
.ks-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 8, 8, .18) 0%, rgba(8, 8, 8, .38) 100%); transition: opacity .4s; z-index: 1; }
.ks-tile__title {
	position: absolute; left: 28px; right: 24px; bottom: 26px; z-index: 2;
	color: #fff; font-size: 15px; font-weight: 600; line-height: 1.75;
}
.ks-tile:hover .ks-tile__img { transform: scale(1.08); filter: none; }
.ks-tile:hover::after { opacity: .75; }

.ks-home-coach { padding-top: 70px; padding-bottom: 90px; }
.ks-home-coach .ks-text-sm { font-size: 15px; }

.ks-home-posts { padding-top: 30px; padding-bottom: 50px; }
.ks-post-grid--home { grid-template-columns: repeat(3, 269px); gap: 10px; justify-content: center; margin-bottom: 18px; }

.ks-home-media { padding-top: 30px; padding-bottom: 80px; }
.ks-divider { display: flex; align-items: center; gap: 0; color: var(--ks-navy); margin-bottom: 30px; }
.ks-divider::before, .ks-divider::after { content: ""; flex: 1; height: 1px; background: var(--ks-navy); opacity: .9; }
.ks-divider span { display: flex; padding: 0 14px; font-size: 35px; }

/* Medya karuseli */
.ks-carousel { position: relative; background: #fff; border-radius: var(--ks-radius); box-shadow: 0 0 40px rgba(0, 0, 0, .08); padding: 22px 54px 42px; }
.ks-carousel__viewport { overflow: hidden; }
.ks-carousel__track { list-style: none; display: flex; transition: transform .55s var(--ks-ease); will-change: transform; }
.ks-carousel__slide { flex: 0 0 33.3333%; padding: 0 14px; }
.ks-carousel__slide img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.ks-carousel__nav {
	position: absolute; top: calc(50% - 10px); transform: translateY(-50%); z-index: 2;
	display: flex; align-items: center; justify-content: center; width: 34px; height: 34px;
	border: 0; background: transparent; color: var(--ks-navy); font-size: 20px;
}
.ks-carousel__nav:hover { color: var(--ks-coral); }
.ks-carousel__nav--prev { left: 10px; }
.ks-carousel__nav--next { right: 10px; }
.ks-carousel__dots { position: absolute; left: 0; right: 0; bottom: 16px; display: flex; justify-content: center; gap: 8px; }
.ks-carousel__dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #c9cbcf; transition: background .2s, transform .2s; }
.ks-carousel__dots button[aria-current="true"] { background: var(--ks-navy); transform: scale(1.25); }

/* ===================================================================== 7. Blog kartları */
.ks-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.ks-post-card {
	display: flex; flex-direction: column; background: #fff; border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow); padding: 20px; transition: transform .3s var(--ks-ease), box-shadow .3s;
}
.ks-post-card:hover { transform: translateY(-4px); box-shadow: 2px 12px 34px rgba(0, 0, 0, .12); }
.ks-post-card__thumb { display: block; overflow: hidden; aspect-ratio: 229 / 238; background: #eef1f5; }
.ks-post-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ks-ease); }
.ks-post-card:hover .ks-post-card__thumb img { transform: scale(1.05); }
.ks-post-card__body { display: flex; flex-direction: column; flex: 1; padding-top: 16px; }
.ks-post-card__title { font-size: 18px; line-height: 1.3; margin: 0 0 10px; }
.ks-post-card__title a { color: var(--ks-navy); }
.ks-post-card__title a:hover { color: var(--ks-coral); }
.ks-post-card__date { font-size: 12px; line-height: 1.3; color: var(--ks-muted); margin-bottom: 14px; }
.ks-post-card__excerpt { font-size: 12px; line-height: 1.75; color: #6d6d6d; margin-bottom: 14px; }
.ks-post-card__more { margin-top: auto; font-size: 11px; font-weight: 700; color: var(--ks-navy); letter-spacing: .2px; }
.ks-post-card--excerpt { padding: 0; border-radius: 0; overflow: hidden; }
.ks-post-card--excerpt .ks-post-card__thumb { aspect-ratio: 290 / 190; }
.ks-post-card--excerpt .ks-post-card__body { padding: 28px 25px 22px; }
.ks-post-card--excerpt .ks-post-card__more { text-transform: uppercase; font-size: 10px; }

.ks-blog { background-image: var(--ks-blog-bg, none); background-repeat: no-repeat; background-position: center 120px; background-size: 100% auto; }
.ks-blog .ks-post-grid { max-width: 920px; margin: 0 auto; }

/* Sayfalama */
.ks-pagination { margin-top: 50px; }
.ks-pagination ul { list-style: none; display: flex; justify-content: center; gap: 8px; }
.ks-pagination a, .ks-pagination span {
	display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px;
	border-radius: 20px; background: #fff; box-shadow: var(--ks-shadow); color: var(--ks-navy); font-size: 14px;
}
.ks-pagination .current { background: var(--ks-navy); color: #fff; }
.ks-pagination a:hover { background: var(--ks-coral); color: #fff; }

/* ===================================================================== 8. İç sayfa bandı */
.ks-banner {
	position: relative; display: flex; align-items: center; justify-content: center; text-align: center;
	min-height: 372px; padding: var(--ks-header-h) 0 0;
	background-image: var(--ks-banner-bg); background-size: cover; background-position: center; background-color: #fde9df;
}
.ks-banner__title { font-size: 38px; margin: 0; }
.ks-banner--dark { background-color: #12263f; }
.ks-banner--dark::before { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, .55); }
.ks-banner--dark .ks-banner__title { position: relative; color: #fff; text-shadow: 0 1px 12px rgba(0, 45, 91, .35); }
.ks-banner--dark::before { background: linear-gradient(180deg, rgba(110, 125, 145, .35), rgba(160, 170, 182, .55)); }
.ks-banner--image { min-height: 372px; padding: 0; background-position: center 30%; }

/* ===================================================================== 9. Hakkımızda */
.ks-split { padding: 100px 0 60px; }
.ks-split__grid { display: grid; grid-template-columns: 356px minmax(0, 1fr); gap: 56px; align-items: start; max-width: 1180px; }
.ks-split--reverse .ks-split__grid { grid-template-columns: minmax(0, 1fr) 356px; }
.ks-split__text { padding-top: 0; max-width: 720px; }
.ks-split__text .ks-h3 { font-size: 32px; }
.ks-frame { position: relative; padding: 14px 40px 14px 0; }
.ks-frame::before { content: ""; position: absolute; inset: 0; background: var(--ks-coral); border-radius: 18px; z-index: 0; }
.ks-frame img { position: relative; z-index: 1; width: 100%; aspect-ratio: 236 / 300; object-fit: cover; border-radius: 14px; }
.ks-frame--right { padding: 14px 0 14px 40px; }
.ks-frame--right::before { left: auto; right: 0; width: calc(100% - 22px); }

.ks-partners { background: #fdf7f4; padding: 70px 0 80px; }
.ks-partners__list { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.ks-partners__item a,
.ks-partners__item > img { display: flex; align-items: center; justify-content: center; }
.ks-partners__item { background: #fff; border-radius: 10px; box-shadow: var(--ks-shadow); padding: 28px 40px; min-width: 260px; }
.ks-partners__item img { max-height: 70px; width: auto; margin: 0 auto; }

/* ===================================================================== 10. Kurucu */
.ks-founder {
	position: relative; padding: calc(var(--ks-header-h) + 28px) 0 120px;
	background-color: #fff; background-image: var(--ks-founder-bg); background-repeat: no-repeat; background-size: cover; background-position: center bottom;
}
.ks-founder__grid { display: grid; grid-template-columns: 440px minmax(0, 1fr); gap: 30px; align-items: start; max-width: 1140px; }
.ks-profile { position: sticky; top: 30px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 0 40px rgba(0, 0, 0, .12); }
.ks-profile__photo img { width: 100%; aspect-ratio: 440 / 295; object-fit: cover; object-position: center 22%; }
.ks-profile__body { background: #eef2f6; padding: 22px 24px 30px; text-align: center; }
.ks-profile__name { font-family: var(--ks-font); font-size: 13px; font-weight: 700; color: var(--ks-navy); letter-spacing: .2px; margin: 0 0 26px; }
.ks-profile__web { margin: 14px 0 0; font-size: 14px; }
.ks-profile__web a { color: var(--ks-navy); }
.ks-founder__bio { padding-top: 4px; }

/* Sosyal ikonlar */
.ks-social { list-style: none; display: flex; justify-content: center; gap: 15px; }
.ks-social a { display: flex; color: #fff; font-size: 18px; }
.ks-social a:hover { color: #fff; opacity: .75; }
.ks-social--round { gap: 8px; }
.ks-social--round a { width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ks-navy); font-size: 14px; }
.ks-social--round a:hover { background: var(--ks-coral); opacity: 1; }
.ks-social--plain { justify-content: flex-start; gap: 18px; }
.ks-social--plain a { color: #1da1f2; font-size: 22px; }
.ks-social--plain li:nth-child(2) a { color: #0a66c2; }
.ks-social--plain li:nth-child(3) a { color: var(--ks-navy); }
.ks-social--plain a:hover { opacity: .75; }

/* ===================================================================== 11. Hizmetlerimiz */
.ks-services { padding: 80px 0 120px; background-color: #f7f7f7; background-image: var(--ks-services-bg); background-repeat: no-repeat; background-position: right top; background-size: 50% auto; }
.ks-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 539px)); gap: 42px; justify-content: center; }
.ks-service { display: flex; flex-direction: column; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 0 30px rgba(0, 0, 0, .08); transition: transform .35s var(--ks-ease), box-shadow .35s; }
.ks-service:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .12); }
.ks-service__media { position: relative; display: block; height: 266px; overflow: hidden; color: inherit; }
.ks-service__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ks-ease); }
.ks-service:hover .ks-service__media img { transform: scale(1.05); }
.ks-service__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .78) 72%, #fff 100%); }
.ks-service__caption { position: absolute; left: 28px; right: 24px; bottom: 30px; z-index: 1; }
.ks-service__title { font-size: 26px; line-height: 1.2; color: #333; margin: 0; }
.ks-service__sub { display: block; font-size: 15px; font-weight: 500; color: #333; line-height: 1.5; }
.ks-service__text { padding: 30px 28px 34px; font-size: 13.5px; line-height: 1.85; color: #222; }
.ks-service__text p { margin: 0; }

/* ===================================================================== 12. İletişim */
.ks-contact { background: #fff; }
.ks-banner--contact {
	background-color: #fff;
	background-image: var(--ks-c1), var(--ks-c2);
	background-repeat: no-repeat; background-position: 40% 0, right top; background-size: auto 100%, auto 100%;
}
.ks-contact__body { padding: 10px 0 80px; background-image: var(--ks-c3); background-repeat: no-repeat; background-position: center 30px; background-size: 100% auto; }
.ks-contact__mail { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 20px 30px; margin-bottom: 40px; }
.ks-contact__icon { color: var(--ks-coral); font-size: 28px; display: flex; }
.ks-contact__mail-title { font-size: 17px; margin: 0; }
.ks-contact__grid { display: grid; grid-template-columns: 610px minmax(0, 1fr); gap: 40px; align-items: start; }
.ks-contact__form { padding: 42px 60px 40px; border-radius: 6px; }
.ks-contact__social { padding-top: 20px; font-size: 13px; max-width: 220px; }
.ks-contact__social .ks-h5 { font-size: 22px; padding-bottom: 6px; margin-bottom: 14px; }
.ks-contact__social .ks-title-line--left::after { width: 15px; }

/* Formlar (eklentideki iletişim / kariyer formları) */
.ks-form { display: grid; gap: 18px; }
.ks-form__row { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.ks-form__field { display: flex; flex-direction: column; gap: 6px; }
.ks-form label, .ks-form__label { font-size: 13px; font-weight: 600; color: var(--ks-text); }
.ks-form .req { color: var(--ks-coral); }
.ks-form__hint { font-size: 11px; color: #777; font-weight: 400; }
.ks-form input[type="text"],
.ks-form input[type="email"],
.ks-form input[type="tel"],
.ks-form input[type="file"],
.ks-form textarea,
.ks-form select {
	width: 100%; border: 1px solid transparent; border-radius: 6px; background: #f6f1f1;
	padding: 10px 14px; font: inherit; font-size: 14px; color: var(--ks-text); transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.ks-form textarea { min-height: 180px; resize: vertical; }
.ks-form input:focus, .ks-form textarea:focus, .ks-form select:focus { outline: none; background: #fff; border-color: var(--ks-navy); box-shadow: 0 0 0 3px rgba(0, 45, 91, .08); }
.ks-form button[type="submit"] { justify-self: start; padding: 11px 28px; font-size: 13px; font-weight: 500; }
.ks-form button[disabled] { opacity: .6; pointer-events: none; }
.ks-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ks-form__notice { padding: 12px 16px; border-radius: 6px; font-size: 14px; }
.ks-form__notice--ok { background: #e9f7ef; color: #1e6b3c; }
.ks-form__notice--err { background: #fdecea; color: #a12a22; }
.ks-form__consent { font-size: 12px; color: #666; }
.ks-form--career input[type="text"], .ks-form--career input[type="email"], .ks-form--career textarea { background: #f6f3f3; }
.ks-form--career label { font-weight: 400; font-size: 13px; }

/* ===================================================================== 13. Kariyer */
.ks-career { padding: 60px 0 90px; }
.ks-career .ks-h2 { margin-bottom: 14px; }
.ks-career .ks-text-sm { font-size: 13px; margin-bottom: 30px; }

/* ===================================================================== 14. Standart sayfa & tekil yazı */
.ks-page { padding: 70px 0 90px; }
.ks-page .ks-prose { max-width: 920px; margin: 0 auto; }

.ks-single-wrap { background: #fdf8f8; padding: calc(var(--ks-header-h) + 0px) 20px 80px; }
.ks-single { max-width: 1200px; margin: 0 auto; background: #fff; padding: 56px 113px 70px; }
.ks-single__thumb img { width: 100%; height: auto; }
.ks-single__head { margin: 28px 0 18px; }
.ks-single__title { font-size: 22px; line-height: 1.35; margin: 0 0 4px; }
.ks-single__meta { font-size: 12px; color: var(--ks-muted); margin: 0; }
.ks-single .ks-prose { color: var(--ks-text); }
.ks-single .ks-prose h2 { font-size: 20px; margin-top: 1.6em; }
.ks-single .ks-prose h3, .ks-single .ks-prose h4 { font-size: 16px; }
.ks-comments { margin: 30px auto 0; padding-top: 40px; padding-bottom: 50px; }
.comment-form { display: grid; gap: 14px; font-size: 14px; }
.comment-form label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 4px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; border: 1px solid transparent; border-radius: 6px; background: #f6f1f1; padding: 10px 14px; font: inherit; font-size: 14px; }
.comment-form .form-submit input { border: 0; border-radius: 30px; background: var(--ks-coral); color: #fff; padding: 12px 28px; font: 600 14px var(--ks-font); cursor: pointer; }
.comment-form .form-submit input:hover { background: var(--ks-navy); }
.comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form-cookies-consent label { font-weight: 400; }
.ks-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 50px; padding-top: 30px; border-top: 1px solid #f0e8e8; font-size: 14px; }
.ks-post-nav div:last-child { text-align: right; }
.ks-post-nav span { display: block; font-size: 11px; font-weight: 700; color: var(--ks-coral); text-transform: uppercase; letter-spacing: .5px; }
.ks-post-nav a { font-family: var(--ks-serif); color: var(--ks-navy); }

.ks-search { display: flex; gap: 8px; max-width: 460px; margin: 20px auto 0; }
.ks-search input { flex: 1; border: 1px solid #e3dada; border-radius: 30px; padding: 10px 18px; font: inherit; font-size: 14px; }
.ks-search .ks-btn { padding: 12px 24px; font-size: 14px; }

/* Yazı ekleri: SSS, eylem çağrısı, ilgili yazılar */
.ks-faq { margin-top: 46px; padding-top: 34px; border-top: 1px solid #f0e8e8; }
.ks-faq__title, .ks-related__title { font-size: 22px; margin-bottom: 18px; }
.ks-faq__item { border-bottom: 1px solid #f0e8e8; padding: 14px 0; }
.ks-faq__item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; font-size: 15px; font-weight: 600; color: var(--ks-navy); }
.ks-faq__item summary::-webkit-details-marker { display: none; }
.ks-faq__item summary::after { content: "+"; flex: none; font-size: 20px; line-height: 1; color: var(--ks-coral); transition: transform .2s; }
.ks-faq__item[open] summary::after { transform: rotate(45deg); }
.ks-faq__a { font-size: 14px; line-height: 1.85; padding-top: 10px; }
.ks-faq__a p:last-child { margin: 0; }
.ks-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 44px; padding: 28px 32px; border-radius: 14px; background: linear-gradient(120deg, var(--ks-navy), var(--ks-navy-2)); color: #fff; }
.ks-cta__title { font-family: var(--ks-serif); font-size: 21px; font-weight: 600; line-height: 1.3; margin: 0 0 6px; }
.ks-cta__desc { font-size: 14px; line-height: 1.7; margin: 0; opacity: .88; }
.ks-cta .ks-btn { flex: none; }
.ks-cta .ks-btn:hover { background: #fff; color: var(--ks-navy); }
.ks-related { margin-top: 56px; }
.ks-related .ks-post-grid { gap: 20px; }
.ks-single__meta a { color: var(--ks-coral); }
@media (max-width: 800px) { .ks-cta { flex-direction: column; align-items: flex-start; padding: 24px 22px; } }

/* İçindekiler, paylaşım, okuma ilerlemesi */
.ks-toc { margin: 22px 0 26px; border: 1px solid #ece4e2; border-radius: 12px; background: #fdfaf9; }
.ks-toc summary { cursor: pointer; list-style: none; padding: 14px 18px; font-family: var(--ks-serif); font-size: 16px; font-weight: 600; color: var(--ks-navy); display: flex; justify-content: space-between; align-items: center; }
.ks-toc summary::-webkit-details-marker { display: none; }
.ks-toc summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid var(--ks-coral); border-bottom: 2px solid var(--ks-coral); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
.ks-toc details[open] summary::after { transform: rotate(-135deg); }
.ks-toc ol { margin: 0; padding: 0 18px 16px 38px; counter-reset: none; }
.ks-toc li { font-size: 13.5px; line-height: 1.6; margin: 0 0 6px; }
.ks-toc a { color: var(--ks-text); text-decoration: none; }
.ks-toc a:hover { color: var(--ks-coral); }
.ks-entry h2[id] { scroll-margin-top: 24px; }
.ks-share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.ks-share__label { font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--ks-muted); margin-right: 4px; }
.ks-share__btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid #e6e0df; background: #fff; color: var(--ks-navy); font-size: 15px; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.ks-share__btn:hover, .ks-share__btn.is-done { background: var(--ks-navy); border-color: var(--ks-navy); color: #fff; }
.ks-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.admin-bar .ks-progress { top: 32px; }
.ks-progress span { display: block; height: 100%; width: 100%; background: var(--ks-coral); transform-origin: 0 50%; transform: scaleX(0); }
@media (max-width: 782px) { .admin-bar .ks-progress { top: 46px; } }

/* ===================================================================== 15. Footer */
.ks-footer { background: var(--ks-navy); color: #fff; }
.ks-footer a { color: #fff; }
.ks-footer a:hover { color: #fff; opacity: .75; }
.ks-footer__top { padding: 45px 0 30px; }
.ks-footer__inner { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 420px; }
.ks-footer__logo img { width: 210px; height: auto; margin-bottom: 26px; }
.ks-footer__map img { width: 330px; height: auto; margin: 0 auto 30px; }
.ks-footer__address { font-size: 15px; line-height: 1.85; margin-bottom: 26px; }
.ks-footer__email { font-size: 15px; margin-bottom: 26px; }
.ks-footer__menu { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; column-gap: 0; row-gap: 0; max-width: 340px; font-size: 14px; line-height: 2.1; }
.ks-footer__menu li { padding: 0 8px; }
.ks-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .25); padding: 20px 0 22px; text-align: center; }
.ks-footer__bottom .ks-social { margin-bottom: 8px; }
.ks-footer__bottom .ks-social a { font-size: 16px; }
.ks-footer__copy { margin: 0; font-size: 13px; }
.ks-footer__copy a { font-weight: 600; }

.ks-to-top {
	position: fixed; right: 26px; bottom: 26px; z-index: 40; width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center; border: 0; border-radius: 4px;
	background: var(--ks-navy); color: #fff; font-size: 16px; box-shadow: 0 0 0 2px #fff;
	opacity: 0; visibility: hidden; transform: translateY(10px); transition: .3s;
}
.ks-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.ks-to-top:hover { background: var(--ks-coral); }

/* ===================================================================== 16. KS CLUB */
.ks-club { --c-navy: #0b3d70; --c-coral: #f45e57; --c-text: #4a4d53; color: var(--c-text); font-family: var(--ks-font); }
.ks-club h1, .ks-club h2, .ks-club h3, .ks-club h4 { font-family: var(--ks-georgia); color: var(--c-navy); font-weight: 600; }
.ks-club__container { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.ks-club__btn {
	display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 28px;
	border: 1px solid var(--c-coral); border-radius: 26px; background: var(--c-coral); color: #fff;
	font-size: 15px; font-weight: 700; transition: background-color .25s, color .25s, transform .25s, box-shadow .25s;
}
.ks-club__btn:hover { background: #fff; color: var(--c-coral); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(244, 94, 87, .2); }
.ks-club__btn--block { display: flex; width: 100%; height: 48px; }

.ks-club-hero { padding: 140px 0 0; background: linear-gradient(90deg, #fff 0%, #fff 45%, #fdf1ec 100%); overflow: hidden; }
.ks-club-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 40px; align-items: end; }
.ks-club-hero__text { padding-bottom: 96px; max-width: 560px; }
.ks-club-hero h1 { font-size: 52px; line-height: 1.15; margin-bottom: 22px; }
.ks-club__lead { font-size: 19px; line-height: 1.55; color: var(--c-text); margin-bottom: 16px; }
.ks-club__lead--sm { font-size: 13.5px; line-height: 1.6; margin-bottom: 30px; }
.ks-club-hero__media { position: relative; justify-self: center; }
.ks-club-hero__img { width: 100%; max-width: 420px; height: auto; }
.ks-club-hero__badge {
	position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);
	display: flex; flex-direction: column; align-items: center; gap: 2px; white-space: nowrap;
	background: #fff; border-radius: 8px; padding: 12px 22px; box-shadow: 0 10px 30px rgba(11, 61, 112, .12);
}
.ks-club-hero__name { font-family: var(--ks-georgia); font-size: 18px; font-weight: 700; color: var(--c-navy); }
.ks-club-hero__role { font-size: 11.5px; font-weight: 700; color: var(--c-coral); letter-spacing: 1.2px; text-transform: uppercase; }

.ks-club-section { padding: 90px 0; }
.ks-club-head { text-align: center; max-width: 720px; margin: 0 auto 46px; }
.ks-club-head h2 { font-size: 42px; line-height: 1.2; margin-bottom: 14px; }
.ks-club-head__sub { font-size: 16px; line-height: 1.7; margin: 0; }
.ks-club-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: 2.4px; text-transform: uppercase; color: var(--c-coral); margin-bottom: 10px; text-align: center; }

.ks-deco--club { background-color: transparent; }
.ks-club-programs { padding-bottom: 50px; background: linear-gradient(180deg, transparent 0, transparent 72%, var(--ks-peach) 72%); }
.ks-club-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 525px)); gap: 26px; justify-content: center; }
.ks-club-card {
	display: flex; flex-direction: column; background: #fff; border: 1px solid #e7eaf0; border-radius: 18px;
	padding: 30px 30px 26px; box-shadow: 0 16px 40px rgba(11, 61, 112, .06);
}
.ks-club-card__no { font-size: 11px; font-weight: 700; color: var(--c-coral); margin-bottom: 10px; }
.ks-club-card__title { font-size: 26px; line-height: 1.2; margin-bottom: 10px; }
.ks-club-card__meta { font-size: 12px; color: #7a7f88; margin-bottom: 16px; }
.ks-club-card__intro { font-size: 13px; line-height: 1.7; margin-bottom: 20px; }
.ks-check-list { list-style: none; display: grid; gap: 10px; margin-bottom: 22px; }
.ks-check-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; }
.ks-check-list .ks-icon { color: var(--c-coral); font-size: 13px; margin-top: 2px; }
.ks-check-list + .ks-check-list { margin-top: 18px; }
.ks-club-card__foot { margin-top: auto; padding-top: 30px; }
.ks-club-card__price { font-family: var(--ks-georgia); font-size: 34px; font-weight: 600; color: var(--c-navy); margin-bottom: 18px; }
.ks-club-note {
	max-width: 1076px; margin: 30px auto 0; padding: 14px 20px; text-align: center; font-size: 12.5px;
	background: #fff; border: 1px solid #eee3df; border-radius: 12px; box-shadow: 0 6px 20px rgba(11, 61, 112, .04);
}
.ks-club-note a { color: var(--c-coral); font-weight: 700; margin-left: 4px; }

.ks-club-benefits { padding-top: 70px; background: var(--ks-peach); }
.ks-club-benefits__box { max-width: 1000px; margin: 0 auto; background: #fff; border-radius: 22px; padding: 56px 40px 50px; text-align: center; box-shadow: 0 20px 50px rgba(11, 61, 112, .06); }
.ks-club-tag { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 2.4px; color: var(--c-coral); margin-bottom: 10px; }
.ks-club-benefits__title { font-size: 34px; margin-bottom: 8px; }
.ks-club-benefits__sub { font-size: 14px; margin-bottom: 40px; }
.ks-club-benefits__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.ks-club-benefit { flex: 0 1 calc(33.333% - 11px); text-align: left; background: #f8f9fb; border: 1px solid #edf0f4; border-radius: 14px; padding: 18px 20px 20px; transition: transform .3s, box-shadow .3s; }
.ks-club-benefit:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(11, 61, 112, .08); }
.ks-club-benefit__num { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; height: 22px; padding: 0 6px; border-radius: 6px; background: #fff; border: 1px solid #f2dcd9; color: var(--c-coral); font-size: 10px; font-weight: 700; margin-bottom: 12px; }
.ks-club-benefit h4 { font-size: 14px; margin-bottom: 6px; }
.ks-club-benefit p { font-size: 12px; line-height: 1.6; margin: 0; }

.ks-club-process { background: var(--ks-peach); padding-top: 110px; padding-bottom: 80px; }
.ks-club-steps { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1040px; margin: 0 auto; }
.ks-club-step { border-top: 2px solid var(--c-navy); padding-top: 26px; }
.ks-club-step__num { font-family: var(--ks-georgia); font-size: 24px; font-weight: 600; color: var(--c-coral); margin-bottom: 10px; }
.ks-club-step h3 { font-size: 16px; margin-bottom: 8px; }
.ks-club-step p { font-size: 12.5px; line-height: 1.65; margin: 0; }

.ks-club-faq { background: var(--ks-peach); padding-top: 50px; padding-bottom: 90px; }
.ks-club-faq__wrap { max-width: 700px; }
.ks-club-faq__list { max-width: 560px; margin: 26px auto 0; }
.ks-club-faq details { border-bottom: 1px solid #ece2de; padding: 14px 0; }
.ks-club-faq summary { cursor: pointer; list-style: none; display: flex; gap: 10px; align-items: baseline; font-size: 14px; font-weight: 700; color: var(--c-navy); }
.ks-club-faq summary::-webkit-details-marker { display: none; }
.ks-club-faq summary::before { content: ""; flex: none; width: 0; height: 0; border-left: 6px solid var(--c-navy); border-top: 4px solid transparent; border-bottom: 4px solid transparent; transform: translateY(-1px); transition: transform .2s; }
.ks-club-faq details[open] summary::before { transform: rotate(90deg); }
.ks-club-faq details p { font-size: 13px; line-height: 1.7; margin: 12px 0 4px 16px; }

/* ===================================================================== 17. Kaydırma animasyonları */
.ks-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ks-ease), transform .8s var(--ks-ease); }
.ks-reveal.is-in { opacity: 1; transform: none; }

/* ===================================================================== 18. Duyarlı */
@media (max-width: 1200px) {
	.ks-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
	.ks-post-grid--home { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	:root { --ks-header-h: 74px; }
	.ks-header__inner { padding: 0 22px; }
	.ks-header__logo img { width: 112px; }
	.ks-burger { display: flex; }
	.ks-nav {
		position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; width: min(340px, 86vw);
		flex-direction: column; align-items: stretch; margin: 0; padding: 90px 0 30px;
		background: var(--ks-navy); overflow-y: auto; transform: translateX(100%); visibility: hidden;
		transition: transform .35s var(--ks-ease), visibility .35s;
	}
	.ks-nav-open .ks-nav { transform: none; visibility: visible; box-shadow: -20px 0 60px rgba(0, 0, 0, .25); }
	.ks-nav-open .ks-header__actions { position: relative; z-index: 70; }
	.ks-nav__list { flex-direction: column; align-items: stretch; }
	.ks-nav__link { height: auto; padding: 13px 28px; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.ks-nav__sub { position: static; min-width: 0; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-radius: 0; background: rgba(255, 255, 255, .05); padding: 0; display: none; }
	.ks-nav__item.is-open > .ks-nav__sub { display: block; }
	.ks-nav__item.is-open > .ks-nav__link .ks-nav__caret { transform: rotate(180deg); }
	.ks-nav__sub .ks-nav__link { color: #fff; padding-left: 44px; font-size: 15px; }
	.ks-nav__sub .ks-nav__link:hover { background: transparent; color: #fff; }
	.ks-mobile-only { display: block; }
	.ks-nav__extras { padding: 22px 28px 0; }
	.ks-lang__menu { right: auto; left: 0; }
	body.ks-nav-open::after { content: ""; position: fixed; inset: 0; z-index: 55; background: rgba(0, 0, 0, .45); }

	.ks-hero { height: 560px; }
	.ks-hero__title { font-size: 46px; }
	.ks-tiles { grid-template-columns: repeat(2, minmax(0, 260px)); }
	.ks-btn--wide { min-width: 0; padding-left: 60px; padding-right: 60px; }
	.ks-split__grid, .ks-split--reverse .ks-split__grid { grid-template-columns: 300px minmax(0, 1fr); gap: 36px; }
	.ks-split--reverse .ks-split__grid { grid-template-columns: minmax(0, 1fr) 300px; }
	.ks-founder__grid { grid-template-columns: 360px minmax(0, 1fr); }
	.ks-contact__grid { grid-template-columns: minmax(0, 1fr) 220px; }
	.ks-single { padding: 40px 50px 60px; }
	.ks-club-hero__grid { grid-template-columns: minmax(0, 1fr) 360px; }
	.ks-club-steps { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
}

@media (max-width: 800px) {
	.ks-section { padding: 50px 0; }
	.ks-h2, .ks-banner__title { font-size: 30px; }
	.ks-banner { min-height: 280px; }
	.ks-hero { height: 100vh; max-height: 640px; }
	.ks-hero__title { font-size: 38px; }
	.ks-hero__text { font-size: 15px; }
	.ks-lead { font-size: 15px; text-align: left; }
	.ks-post-grid, .ks-post-grid--home { grid-template-columns: minmax(0, 420px); justify-content: center; }
	.ks-carousel { padding: 18px 40px 40px; }
	.ks-carousel__slide { flex-basis: 100%; }
	.ks-split, .ks-split--reverse { padding: 50px 0 20px; }
	.ks-split__grid, .ks-split--reverse .ks-split__grid { grid-template-columns: 1fr; }
	.ks-split--reverse .ks-frame { order: -1; }
	.ks-frame { max-width: 340px; }
	.ks-founder { padding-top: calc(var(--ks-header-h) + 20px); }
	.ks-founder__grid { grid-template-columns: 1fr; }
	.ks-profile { position: static; max-width: 440px; margin: 0 auto; width: 100%; }
	.ks-service-grid { grid-template-columns: 1fr; gap: 26px; }
	.ks-service__title { font-size: 22px; }
	.ks-services { padding: 50px 0 70px; }
	.ks-contact__grid { grid-template-columns: 1fr; }
	.ks-contact__form { padding: 30px 22px; }
	.ks-form__row { grid-template-columns: 1fr; }
	.ks-single-wrap { padding-left: 0; padding-right: 0; }
	.ks-single { padding: 26px 20px 40px; }
	.ks-post-nav { grid-template-columns: 1fr; }
	.ks-post-nav div:last-child { text-align: left; }
	.ks-club-hero { padding-top: 110px; }
	.ks-club-hero__grid { grid-template-columns: 1fr; }
	.ks-club-hero__text { padding-bottom: 20px; }
	.ks-club-hero h1 { font-size: 38px; }
	.ks-club-hero__media { max-width: 340px; }
	.ks-club-head h2 { font-size: 32px; }
	.ks-club-cards { grid-template-columns: 1fr; }
	.ks-club-benefits__box { padding: 40px 20px; }
	.ks-club-benefits__title { font-size: 28px; }
	.ks-club-benefit { flex-basis: 100%; }
	.ks-club-section { padding: 60px 0; }
	.ks-to-top { right: 16px; bottom: 16px; }
}

@media (max-width: 800px) {
	.ks-prose table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.ks-prose th, .ks-prose td { min-width: 130px; }
	.ks-prose { overflow-wrap: anywhere; }
}

@media (max-width: 520px) {
	.ks-tiles { grid-template-columns: 1fr; }
	.ks-tile { height: 240px; }
	.ks-club-steps { grid-template-columns: 1fr; }
	.ks-footer__map img { width: 260px; }
}

@media (max-width: 782px) { .admin-bar .ks-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ks-header { top: 0; } }

@media print {
	.ks-header, .ks-footer, .ks-to-top, .ks-drawer, .ks-hero__video { display: none !important; }
	.ks-banner { min-height: 0; padding: 20px 0; background: none; }
}
