.kr-landing {
 --kr-green: #123f2e;
 --kr-green-dark: #0b3023;
 --kr-ink: #1f2a22;
 --kr-muted: #676b66;
 --kr-line: rgba(135, 111, 71, 0.2);
 --kr-cream: #f7f4eb;
 background: #fff;
 color: var(--kr-ink);
 overflow-x: clip;
}

.kr-landing h1,
.kr-landing h2 {
 font-family: var(--font-accent);
 letter-spacing: 0;
}

.kr-landing svg { width: 1.2em; height: 1.2em; stroke-width: 1.7; }
.kr-landing .container { min-width: 0; }

.kr-hero {
 position: relative;
 min-height: clamp(600px, 62vw, 790px);
 overflow: hidden;
 background: url('../images/landing-krasnodar-hero-20260715.jpg?v=20260717-permission-fix-1') 72% 48% / cover no-repeat;
}

.kr-hero::before {
 content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(90deg, rgba(249, 248, 242, 0.99) 0%, rgba(249, 248, 242, 0.96) 33%, rgba(249, 248, 242, 0.68) 49%, rgba(249, 248, 242, 0.08) 73%);
}

.kr-hero__inner {
 position: relative;
 display: flex;
 min-height: inherit;
 align-items: center;
 padding-top: clamp(54px, 6vw, 84px);
 padding-bottom: clamp(50px, 6vw, 78px);
}

.kr-hero__content { width: min(620px, 54%); }
.kr-eyebrow { margin: 0 0 1.35rem; color: #58635b; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.17em; text-transform: uppercase; }
.kr-hero h1 { max-width: 610px; margin: 0; color: #173d2d; font-size: clamp(3.2rem, 5.2vw, 5.7rem); font-weight: 600; line-height: 0.96; }
.kr-hero__lead { max-width: 590px; margin: 1.8rem 0 0; color: #535a55; font-size: clamp(0.98rem, 1.15vw, 1.13rem); line-height: 1.75; }
.kr-hero__actions { display: flex; align-items: center; gap: 1.25rem; margin-top: 1.9rem; }

.kr-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 0.65rem; padding: 0.85rem 1.45rem; border: 1px solid transparent; border-radius: 8px; font-weight: 750; text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.kr-button:hover { transform: translateY(-2px); }
.kr-button--primary { background: linear-gradient(135deg, #1d5a43, #103e2e); color: #fff8e9; box-shadow: 0 12px 26px rgba(16, 62, 46, 0.18); }
.kr-button--link { color: #243b30; }
.kr-button--light { min-width: 220px; background: #fbf8ed; color: #173d2d; box-shadow: 0 12px 28px rgba(0,0,0,0.14); }

.kr-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; max-width: 640px; margin: 3.2rem 0 0; padding: 0; list-style: none; }
.kr-proof li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 0.7rem; align-items: center; }
.kr-proof li > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--kr-line); border-radius: 10px; background: rgba(255,255,255,0.68); color: var(--kr-green); }
.kr-proof p { margin: 0; color: #5d635e; font-size: 0.75rem; line-height: 1.45; }
.kr-proof strong { display: block; color: #344139; font-size: 0.78rem; }

.kr-region-card { position: absolute; right: max(2rem, 4vw); bottom: clamp(38px, 5vw, 64px); display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 0.9rem; width: min(390px, 36vw); padding: 1.15rem 1.3rem; border: 1px solid rgba(237, 224, 184, 0.34); border-radius: 12px; background: rgba(15, 62, 45, 0.9); color: #fff9e8; box-shadow: 0 20px 42px rgba(12, 41, 31, 0.24); backdrop-filter: blur(8px); }
.kr-region-card > svg { width: 28px; height: 28px; }
.kr-region-card strong { display: block; margin-bottom: 0.35rem; font-family: var(--font-accent); font-size: 1.12rem; }
.kr-region-card p { margin: 0; color: rgba(255,255,255,0.82); font-size: 0.78rem; line-height: 1.55; }

.kr-overview { padding: clamp(54px, 7vw, 94px) 0 34px; }
.kr-overview__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; }
.kr-feature-card { position: relative; display: flex; min-height: 650px; overflow: hidden; flex-direction: column; border: 1px solid rgba(156, 133, 91, 0.18); border-radius: 12px; background: linear-gradient(145deg, #fbfaf5, #f3f0e6); box-shadow: 0 16px 36px rgba(50, 57, 48, 0.06); }
.kr-feature-card header { display: flex; align-items: center; gap: 0.85rem; padding: 2rem 2rem 1rem; }
.kr-feature-card header span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--kr-green); }
.kr-feature-card h2 { margin: 0; color: #213e30; font-size: clamp(1.7rem, 2.3vw, 2.35rem); font-weight: 600; }
.kr-feature-card > p { max-width: 90%; margin: 0; padding: 0 2rem; color: var(--kr-muted); font-size: 0.94rem; line-height: 1.7; }
.kr-feature-card > img { position: static; width: 100%; height: 285px; margin-top: auto; flex: 0 0 285px; object-fit: cover; }
.kr-detail-list, .kr-check-list { margin: 0; padding: 0 2rem; list-style: none; }
.kr-detail-list li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0.9rem; align-items: center; min-height: 62px; border-bottom: 1px solid rgba(125, 111, 83, 0.13); color: #666a65; font-size: 0.86rem; line-height: 1.5; }
.kr-detail-list li svg { width: 23px; color: #516d5c; }
.kr-check-list { display: grid; gap: 1.1rem; margin-top: 1.65rem; }
.kr-check-list li { display: flex; align-items: center; gap: 0.75rem; color: #646a65; font-size: 0.88rem; }
.kr-check-list svg { flex: 0 0 auto; color: #66806f; }

.kr-process { padding: 28px 0 clamp(50px, 6vw, 78px); }
.kr-section-heading { display: grid; grid-template-columns: minmax(50px, 130px) auto minmax(50px, 130px); gap: 1rem; align-items: center; justify-content: center; margin-bottom: 2.2rem; }
.kr-section-heading span { height: 1px; background: linear-gradient(90deg, transparent, rgba(81, 103, 89, 0.35)); }
.kr-section-heading span:last-child { transform: rotate(180deg); }
.kr-section-heading h2 { margin: 0; color: #213e30; font-size: clamp(2rem, 3vw, 3rem); font-weight: 600; }
.kr-process__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.kr-process__steps li { position: relative; text-align: center; }
.kr-process__steps li:not(:last-child)::after { content: ''; position: absolute; top: 49px; left: 73%; width: 55%; border-top: 1px dashed rgba(71, 100, 83, 0.28); }
.kr-process__steps b { position: absolute; top: -8px; left: calc(50% - 34px); z-index: 2; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: #173d2d; color: white; font-size: 0.7rem; }
.kr-process__steps li > span { display: grid; width: 76px; height: 76px; margin: 0 auto 1rem; place-items: center; border: 1px solid rgba(154, 134, 93, 0.24); border-radius: 20px; background: #f6f3e9; color: #2e5943; box-shadow: 0 10px 24px rgba(51, 66, 54, 0.06); }
.kr-process__steps li > span svg { width: 32px; height: 32px; }
.kr-process__steps h3 { margin: 0 0 0.55rem; color: #253c30; font-size: 0.96rem; }
.kr-process__steps p { max-width: 180px; margin: 0 auto; color: #747873; font-size: 0.78rem; line-height: 1.5; }

.kr-cta { padding: 0 0 clamp(60px, 7vw, 90px); }
.kr-cta__inner { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 1.2rem; align-items: center; padding: 1.7rem 2.2rem; overflow: hidden; border-radius: 12px; background: radial-gradient(circle at 90% 20%, rgba(134, 166, 113, 0.2), transparent 32%), linear-gradient(135deg, #174933, #0b3023); color: #fff9e8; box-shadow: 0 22px 48px rgba(14, 51, 37, 0.18); }
.kr-cta__inner > svg { width: 42px; height: 42px; }
.kr-cta h2 { margin: 0 0 0.25rem; color: inherit; font-size: clamp(1.65rem, 2.4vw, 2.4rem); font-weight: 600; }
.kr-cta p { margin: 0; color: rgba(255,255,255,0.78); font-size: 0.88rem; }

@media (max-width: 980px) {
 .kr-hero { min-height: 720px; background-position: 62% center; }
 .kr-hero::before { background: linear-gradient(90deg, rgba(249,248,242,0.98) 0%, rgba(249,248,242,0.92) 48%, rgba(249,248,242,0.18) 82%); }
 .kr-hero__content { width: 66%; }
 .kr-region-card { width: 42vw; }
 .kr-proof { grid-template-columns: 1fr; max-width: 250px; margin-top: 2rem; }
 .kr-process__steps { grid-template-columns: repeat(3, 1fr); row-gap: 2rem; }
 .kr-process__steps li::after { display: none; }
}

@media (max-width: 720px) {
 .kr-landing .container { width: 100vw; max-width: 100vw; padding-right: 16px; padding-left: 16px; }
 .kr-hero { min-height: auto; background-position: 65% top; }
 .kr-hero::before { background: linear-gradient(180deg, rgba(249,248,242,0.88) 0%, rgba(249,248,242,0.97) 50%, rgba(249,248,242,1) 78%); }
 .kr-hero__inner { display: block; padding-top: 320px; }
 .kr-hero__content { width: 100%; max-width: 100%; min-width: 0; }
 .kr-hero h1 { max-width: 100%; font-size: clamp(2.35rem, 10.5vw, 3.8rem); line-height: 1.02; overflow-wrap: normal; }
 .kr-hero__lead, .kr-region-card p, .kr-detail-list span, .kr-feature-card > p { max-width: 100%; overflow-wrap: anywhere; }
 .kr-hero__actions { align-items: stretch; flex-direction: column; }
 .kr-proof { grid-template-columns: 1fr; max-width: none; }
 .kr-region-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 1.5rem; }
 .kr-overview__grid { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); }
 .kr-feature-card { width: 100%; min-width: 0; min-height: 620px; }
 .kr-process__steps { grid-template-columns: repeat(2, 1fr); }
 .kr-cta__inner { grid-template-columns: 42px minmax(0, 1fr); padding: 1.4rem; }
 .kr-cta .kr-button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 430px) {
 .kr-hero__inner { padding-top: 270px; }
 .kr-feature-card header, .kr-detail-list, .kr-check-list, .kr-feature-card > p { padding-right: 1.25rem; padding-left: 1.25rem; }
 .kr-process__steps { grid-template-columns: 1fr; }
 .kr-section-heading { grid-template-columns: 40px auto 40px; }
}
