/* GEO page — isolated styles. Works on top of the existing Artkod theme. */

body.geo-page {
    background: #111113;
}

body.geo-page header {
    background: #111113;
}

body.geo-page .main-header {
    position: relative;
    z-index: 20;
}

body.geo-page .section-container {
    max-width: 1680px;
    margin-left: auto;
    margin-right: auto;
}

body.geo-page .section-wrap {
    margin-bottom: 130px;
}

/* First screen */
.geo-first-screen {
    min-height: 660px;
    padding-top: 86px;
    padding-bottom: 86px;
    position: relative;
    overflow: hidden;
    background: #111113;
}
.geo-first-screen:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 17% 42%, rgba(25,32,52,.28) 0, transparent 28%),
        linear-gradient(180deg, rgba(17,17,19,0) 0%, rgba(21,20,25,.50) 100%);
    pointer-events: none;
}
.geo-first-screen .section-container { position: relative; z-index: 2; }
.geo-first-screen h1 {
    max-width: 620px;
    margin: 0;
    font-size: clamp(35px, 3vw, 52px);
    line-height: 1.08;
    letter-spacing: -1.6px;
}
.geo-first-screen .h1-descr {
    max-width: 520px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(255,255,255,.64);
    margin-top: 28px;
    font-weight: 400;
}
.geo-first-btns {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 44px;
}
.geo-first-btns .main-btn,
.geo-first-btns .second-btn {
    margin-right: 0;
}
.geo-first-btns .second-btn{
    border: unset!important;
}
.geo-first-btns .btn-wrap { font-weight: 600; }

.geo-chat-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 430px;
    position: relative;
}
.geo-chat-stage {
    position: relative;
    width: min(720px, 100%);
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Figma-like two-layer glow: large square + lower beam block */
.geo-chat-stage:before {
    content: "";
    position: absolute;
    width: 421px;
    height: 421px;
    left: -92px;
    top: -12px;
    background:
        radial-gradient(circle at 52% 52%, rgba(245,110,15,.50) 0%, rgba(245,110,15,.30) 22%, rgba(25,32,52,.10) 42%, rgba(0,0,0,0) 70%),
        linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 38%, rgba(245,110,15,.48) 58%, rgba(255,255,255,.08) 77%, rgba(0,0,0,0) 100%);
    filter: blur(18px);
    opacity: .95;
    pointer-events: none;
}
.geo-chat-stage:after {
    content: "";
    position: absolute;
    width: 337px;
    height: 230px;
    left: -30px;
    top: 210px;
    background:
        linear-gradient(145deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 22%, rgba(245,110,15,.18) 40%, rgba(245,110,15,.68) 72%, rgba(255,255,255,.16) 100%),
        radial-gradient(circle at 70% 74%, rgba(245,110,15,.62) 0%, rgba(245,110,15,.28) 32%, rgba(25,32,52,.12) 66%, rgba(0,0,0,0) 100%);
    filter: blur(14px);
    opacity: .96;
    pointer-events: none;
}
.geo-chat-mockup {
    position: relative;
    width: min(690px, 100%);
    transform: perspective(1300px) rotateY(-4deg) rotateX(1deg);
    filter: drop-shadow(0 24px 46px rgba(0,0,0,.52));
    z-index: 2;
}
.geo-chat-mockup:before {
    content: "";
    position: absolute;
    right: -20px;
    bottom: -62px;
    width: 390px;
    height: 250px;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 24px 24px;
    opacity: .12;
    transform: perspective(900px) rotateX(67deg);
    transform-origin: bottom center;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.24) 14%, #000 48%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.24) 14%, #000 48%, transparent 100%);
    pointer-events: none;
    z-index: -2;
}
.geo-chat-mockup:after {
    content: "";
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: -18px;
    height: 42px;
    border-radius: 50%;
    background: rgba(0,0,0,.52);
    filter: blur(20px);
    z-index: -1;
}
.geo-browser-bar {
    height: 18px;
    background: #0a0b0d;
    border-radius: 10px 10px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px 0 8px;
    position: relative;
    z-index: 2;
}
.geo-browser-left,
.geo-browser-right {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 96px;
}
.geo-browser-right { justify-content: flex-end; }
.geo-browser-dot {
    display: inline-block;
    border-radius: 50%;
}
.geo-browser-dot-o { width: 4px; height: 4px; background: #ff8f3e; }
.geo-browser-dot-y { width: 4px; height: 4px; background: #ffd15d; }
.geo-browser-dot-b { width: 4px; height: 4px; background: #f4f4f4; }
.geo-browser-mini {
    width: 10px;
    height: 10px;
    opacity: .92;
    position: relative;
}
.geo-browser-mini:before,
.geo-browser-mini:after {
    content: "";
    position: absolute;
    background: rgba(255,255,255,.82);
}
.geo-browser-mini:before {
    width: 8px;
    height: 1.4px;
    left: 1px;
    top: 4px;
    border-radius: 20px;
}
.geo-browser-mini-angle:before {
    width: 5px;
    transform: rotate(-42deg);
    transform-origin: left center;
    left: 2px;
    top: 3px;
}
.geo-browser-mini-angle:after {
    width: 5px;
    height: 1.4px;
    transform: rotate(42deg);
    transform-origin: right center;
    right: 2px;
    top: 5px;
}
.geo-browser-mini-code:before {
    width: 3px;
    transform: rotate(45deg);
    left: 1px;
    top: 4px;
}
.geo-browser-mini-code:after {
    width: 3px;
    transform: rotate(-45deg);
    right: 1px;
    top: 4px;
    height: 1.4px;
}
.geo-browser-mini-plus:before {
    width: 8px;
    left: 1px;
    top: 4px;
}
.geo-browser-mini-plus:after {
    width: 1.4px;
    height: 8px;
    left: 4px;
    top: 1px;
    border-radius: 20px;
}
.geo-browser-mini-upload:before {
    width: 7px;
    left: 1.5px;
    top: 6px;
}
.geo-browser-mini-upload:after {
    width: 5px;
    height: 5px;
    border-top: 1.4px solid rgba(255,255,255,.82);
    border-right: 1.4px solid rgba(255,255,255,.82);
    background: transparent;
    transform: rotate(-45deg);
    right: 1px;
    top: 1.5px;
}
.geo-browser-address {
    height: 7px;
    width: 160px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(249,249,249,.32) 0%, rgba(249,249,249,.16) 100%);
}
.geo-chat-mockup-inner {
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    background: #efefef;
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.gcm-body {
    padding: 34px 36px 40px;
    min-height: 300px;
    background: #f4f4f4;
}
.gcm-row {
    display: flex;
    align-items: flex-start;
}
.gcm-row-user {
    gap: 14px;
    margin-bottom: 26px;
}
.gcm-row-ai {
    align-items: flex-start;
    gap: 14px;
}
.gcm-avatar-wrap {
    width: 28px;
    flex: 0 0 28px;
    padding-top: 4px;
}
.gcm-avatar {
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(0,0,0,.18);
}
.gcm-bubble-wrap { flex: 1 1 auto; }
.gcm-bubble-wrap-user { max-width: 78%; }
.gcm-bubble-wrap-ai { max-width: calc(100% - 44px); }
.gcm-msg {
    padding: 16px 20px;
    border-radius: 16px;
    font-size: 15px;
    line-height: 1.42;
    font-weight: 500;
}
.gcm-msg-user {
    background: #e9e9e9;
    color: #2b2b2b;
    border-radius: 16px;
}
.gcm-msg-ai {
    background: #111214;
    color: #fff;
    border-radius: 16px;
}
.gcm-meta {
    font-size: 12px;
    color: #8a8a8a;
    margin-top: 7px;
    line-height: 1;
}
.gcm-meta-r { text-align: left; padding-left: 4px; }
.gcm-meta-l { text-align: left; padding-left: 4px; }
.gcm-side-icon-wrap {
    width: 30px;
    flex: 0 0 30px;
    padding-top: 2px;
}
.gcm-side-icon {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,.16);
}

/* Advantages */
.advantages-wrap h2 { margin-bottom: 54px; }
.advantages-row { align-items: flex-start; }
.advantages-col-metrics {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
}
.advantage-value {
    color: var(--second-color);
    font-size: clamp(42px, 4vw, 74px);
    line-height: .95;
    font-weight: 900;
    letter-spacing: -2.4px;
    margin-bottom: 8px;
}
.advantage-text {
    max-width: 330px;
    color: rgba(255,255,255,.58);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
}
.advantages-col-items {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 4px;
}
.advantage-item {
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.advantage-item h4 {
    margin: 0 0 14px;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
}
.advantage-item p {
    max-width: 850px;
    color: rgba(255,255,255,.58);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 400;
}

/* Pricing */
.geo-pricing-wrap {
    width: 100vw;
    padding-left: calc(4vw + 4px);
    padding-right: calc(4vw + 4px);
    margin-bottom: 140px;
    position: relative;
}
.geo-pricing-title { margin-bottom: 0; }
.pricing-cards-row { align-items: stretch; }
.geo-pricing-card {
    min-height: 470px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;
    padding: 34px 30px 30px;
    box-shadow: 0 24px 55px rgba(0,0,0,.18);
    transition: .25s ease;
}
.geo-pricing-card:hover {
    transform: translateY(-6px);
    border-color: rgba(245,110,15,.42);
}
.geo-pricing-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 36px;
}
.geo-pricing-name {
    color: #fff;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.15;
}
.geo-pricing-badge {
    color: rgba(255,255,255,.35);
    font-size: 15px;
    font-weight: 700;
}
.geo-tariff-rows { display: grid; gap: 14px; margin-bottom: 26px; }
.geo-tariff-row {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.1;
    font-weight: 500;
}
.geo-tariff-label { color: rgba(255,255,255,.58); white-space: nowrap; }
.geo-tariff-dots {
    flex: 1;
    height: 1px;
    margin-bottom: 3px;
    border-bottom: 1px dotted rgba(255,255,255,.18);
}
.geo-tariff-val { color: #fff; white-space: nowrap; font-weight: 700; }
.geo-networks-label {
    color: rgba(255,255,255,.62);
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 14px;
}
.geo-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 10px;
    margin-bottom: 34px;
}
.geo-ai-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
}
.geo-ai-badge-icon {
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-size: 8px;
    font-weight: 800;
}
.badge-alisa { background: #5d8cff; }
.badge-gpt { background: #2fd27f; }
.badge-ds { background: #1f77ff; }
.badge-px { background: #7d5cff; }
.badge-google { background: #ffb000; }
.geo-pricing-price {
    color: #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -.5px;
    margin-bottom: 20px;
}
.geo-pricing-btn,
.geo-pricing-card .main-btn {
    width: 100%;
    height: 54px;
    border-radius: 12px;
    margin-right: 0;
}

/* Projects section tuning for this long page */
.geo-page .projects-wrap { position: relative; }
.geo-page .projects-wrap h2 { margin-bottom: 18px; }
.geo-page .projects-wrap-all { margin-top: 60px; }

/* FAQ */
.geo-faq-wrap { position: relative; }
.geo-faq-left h2 { margin-bottom: 18px; }
.geo-faq-left-sub {
    max-width: 410px;
    color: rgba(255,255,255,.58);
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 34px;
}
.geo-faq-tg-btn {
    display: flex;
    align-items: center;
    gap: 0;
}
.geo-faq-tg-text {
    min-height: 54px;
    padding: 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px 0 0 12px;
    background: var(--second-color);
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
}
.geo-faq-tg-icon {
    width: 54px;
    height: 54px;
    border-radius: 0 12px 12px 0;
    background: #f98226;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.geo-faq-tg-icon svg { width: 18px; height: 18px; }
.geo-faq-right {
    display: grid;
    gap: 10px;
}
.geo-faq-item {
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: #111113;
}
.geo-faq-item.active {
    border-color: rgba(245,110,15,.55);
    box-shadow: 0 22px 70px rgba(245,110,15,.05);
}
.geo-faq-q {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 24px;
    cursor: pointer;
}
.geo-faq-q-text {
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}
.geo-faq-toggle {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    position: relative;
    cursor: pointer;
}
.geo-faq-toggle:before,
.geo-faq-toggle:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #151419;
    transform: translate(-50%, -50%);
}
.geo-faq-toggle:after { transform: translate(-50%, -50%) rotate(90deg); }
.geo-faq-item.active .geo-faq-toggle { background: var(--second-color); }
.geo-faq-item.active .geo-faq-toggle:after { opacity: 0; }
.geo-faq-answer {
    display: none;
    padding: 0 24px 24px;
    color: rgba(255,255,255,.62);
    font-size: 16px;
    line-height: 1.55;
}
.geo-faq-item.active .geo-faq-answer { display: block; }

/* Why GEO */
.why-geo-wrap h2 { margin-bottom: 44px; }
.why-geo-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.why-geo-card {
    min-height: 260px;
    padding: 30px;
    border-radius: 16px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.06);
}
.why-geo-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--second-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
}
.why-geo-icon svg { width: 20px; height: 20px; fill: #fff; }
.why-geo-card-title {
    color: #fff;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 800;
    margin-bottom: 20px;
}
.why-geo-stat {
    color: var(--second-color);
    font-size: 39px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 16px;
}
.why-geo-desc {
    color: rgba(255,255,255,.56);
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}
.why-geo-desc strong { color: rgba(255,255,255,.82); font-weight: 800; }

/* How AI */
.how-ai-wrap {
    width: 100vw;
    padding-left: calc(4vw + 4px);
    padding-right: calc(4vw + 4px);
    /*margin-bottom: 130px;*/
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 73% 52%, rgba(245,110,15,.40) 0, rgba(245,110,15,.18) 17%, transparent 38%),
        #151419;
}
.how-ai-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 52px;
}
.how-ai-top h2 { max-width: 760px; margin-bottom: 0; }
.how-ai-top p {
    max-width: 430px;
    color: rgba(255,255,255,.58);
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
}
.how-ai-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 43%);
    gap: 54px;
    align-items: center;
}
.how-ai-slider-wrap { min-width: 0; }
.how-ai-step-card {
    min-height: 310px;
    padding: 34px;
    border-radius: 16px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.06);
}
.step-icon-box {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
}
.step-icon-box svg { width: 19px; height: 19px; }
.step-num {
    color: var(--second-color);
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 12px;
}
.step-title {
    color: #fff;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    margin-bottom: 16px;
}
.step-desc {
    color: rgba(255,255,255,.58);
    font-size: 16px;
    line-height: 1.55;
}
.how-ai-controls {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 32px;
}
.how-ai-arr,
.geo-reviews-arr {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 10px;
    background: var(--second-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.how-ai-arr svg,
.geo-reviews-arr svg { width: 18px; height: 18px; }
.how-ai-dots { display: flex; align-items: center; gap: 10px; }
.how-ai-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
}
.how-ai-dot.active { background: var(--second-color); }
.how-ai-laptop-wrap {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.how-ai-laptop-img {
    width: min(660px, 100%);
    transform: perspective(1200px) rotateY(-14deg) rotateX(6deg) rotateZ(4deg);
    filter: drop-shadow(0 44px 60px rgba(0,0,0,.45));
}

/* CTA */
.geo-cta-wrap {
    width: 100vw;
    padding-left: calc(4vw + 4px);
    padding-right: calc(4vw + 4px);
    margin-bottom: 130px;
    position: relative;
    overflow: hidden;
}
.geo-cta-wrap:before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    width: 54%;
    height: 72%;
    background: radial-gradient(circle at 20% 50%, rgba(245,110,15,.18), transparent 58%);
    pointer-events: none;
}
.geo-cta-text h2 {
    max-width: 720px;
    margin-bottom: 28px;
}
.geo-cta-text p {
    max-width: 620px;
    color: rgba(255,255,255,.60);
    font-size: 20px;
    line-height: 1.55;
    margin-bottom: 38px;
}
.geo-cta-btns .main-btn { margin-right: 0; }
.geo-cta-laptop img {
    width: min(760px, 100%);
    filter: drop-shadow(0 38px 80px rgba(0,0,0,.45));
}

/* Reviews */
.geo-reviews-wrap { margin-bottom: 120px !important; }
.geo-reviews-inner {
    position: relative;
    padding: 0 70px;
}
.geo-review-card {
    min-height: 260px;
    padding: 30px;
    border-radius: 16px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.06);
}
.geo-review-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
}
.geo-review-avatar {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    font-size: 24px;
}
.geo-review-name {
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 4px;
}
.geo-review-stars {
    color: var(--second-color);
    font-size: 14px;
    letter-spacing: 1px;
}
.geo-review-text {
    color: rgba(255,255,255,.60);
    font-size: 16px;
    line-height: 1.55;
}
.geo-reviews-arr {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
}
.geo-reviews-arr-l { left: 0; }
.geo-reviews-arr-r { right: 0; }
.geo-reviews-more {
    display: flex;
    justify-content: center;
    margin-top: 34px;
}
.geo-reviews-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 20px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.03);
}
.geo-reviews-more-btn svg { width: 20px; height: 20px; }

/* Existing contacts/footer alignment */
.geo-page .contacts-wrap { margin-bottom: 120px; margin-top: 200px; }
.geo-page .contacts-map iframe { border-radius: 20px; filter: grayscale(1) brightness(.88); }
.geo-page .footer-content { margin-bottom: 0; }

/* Utilities */
.geo-page .owl-theme .owl-nav.disabled + .owl-dots { margin-top: 0; }
.geo-page .owl-carousel .owl-stage { display: flex; }
.geo-page .owl-carousel .owl-item { display: flex; }
.geo-page .owl-carousel .item { width: 100%; }

@media (max-width: 1399px) {
    .geo-first-screen h1 { font-size: 42px; letter-spacing: -1.2px; }
    .geo-first-screen .h1-descr { font-size: 14px; max-width: 470px; }
    .geo-chat-mockup { width: min(590px, 100%); }
    .geo-chat-stage:before { left: -70px; top: 0; }
    .geo-chat-stage:after { left: -8px; top: 214px; }
    .gcm-msg { font-size: 14px; }
    .gcm-body { min-height: 282px; }
    .why-geo-card { padding: 24px; }
    .geo-pricing-card { padding: 28px 22px 24px; }
}

@media (max-width: 1199px) {
    body.geo-page .section-wrap,
    .geo-pricing-wrap,
    .how-ai-wrap,
    .geo-cta-wrap { margin-bottom: 100px; }
    .geo-first-screen {
        min-height: auto;
        padding-top: 70px;
        padding-bottom: 90px;
    }
    .geo-first-screen h1 { font-size: 38px; letter-spacing: -1px; }
    .geo-chat-wrap { margin-top: 60px; }
    .geo-chat-mockup { transform: none; }
    .geo-chat-stage:before { left: 0; }
    .geo-chat-stage:after { left: 48px; }
    .why-geo-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .how-ai-inner { grid-template-columns: 1fr; }
    .how-ai-laptop-wrap { min-height: 260px; }
    .how-ai-laptop-img { width: min(560px, 100%); transform: none; }
    .geo-cta-laptop { margin-top: 44px; }
}

@media (max-width: 991px) {
    .advantages-col-items { margin-top: 44px; }
    .geo-pricing-title { margin-bottom: 34px; }
    .geo-faq-right { margin-top: 40px; }
    .how-ai-top { display: block; }
    .how-ai-top h2 { margin-bottom: 20px; }
    .geo-reviews-inner { padding: 0 54px; }
}

@media (max-width: 767px) {
    body.geo-page .section-wrap,
    .geo-pricing-wrap,
    .how-ai-wrap,
    .geo-cta-wrap { margin-bottom: 78px; }
    .geo-first-screen {
        padding-top: 48px;
        padding-bottom: 70px;
    }
.geo-first-screen h1 { font-size: 34px; line-height: 1.1; letter-spacing: -1px; }
    .geo-first-screen .h1-descr { font-size: 16px; margin-top: 20px; }
    .geo-first-btns { flex-direction: column; align-items: stretch; gap: 12px; }
    .geo-first-btns .a-btn { width: 100%; }
    .geo-chat-wrap { min-height: auto; margin-top: 44px; }
    .gcm-body { padding: 22px 18px 28px; min-height: 250px; }
    .gcm-msg { max-width: 100%; font-size: 13px; padding: 14px 16px; }
    .gcm-badge { left: -10px; top: 66px; width: 26px; height: 26px; font-size: 12px; }
    .advantage-value { font-size: 48px; }
    .advantage-text,
    .advantage-item p { font-size: 16px; }
    .advantage-item h4 { font-size: 20px; }
    .why-geo-cards { grid-template-columns: 1fr; gap: 14px; }
    .why-geo-card { min-height: auto; }
    .geo-pricing-card { min-height: auto; }
    .geo-faq-q { padding: 0 16px; min-height: 58px; }
    .geo-faq-q-text { font-size: 16px; }
    .geo-faq-answer { padding: 0 16px 18px; font-size: 15px; }
    .geo-faq-tg-text { flex: 1; }
    .how-ai-step-card,
    .geo-review-card { padding: 22px; min-height: auto; }
    .how-ai-controls { justify-content: center; }
    .geo-cta-text p { font-size: 16px; }
    .geo-reviews-inner { padding: 0; }
    .geo-reviews-arr { position: static; transform: none; margin-top: 20px; }
    .geo-reviews-inner { display: grid; grid-template-columns: 44px 1fr 44px; gap: 10px; align-items: center; }
    .geo-reviews-inner .owl-reviews { grid-column: 1 / -1; grid-row: 1; }
    .geo-reviews-arr-l { grid-column: 1; grid-row: 2; }
    .geo-reviews-arr-r { grid-column: 3; grid-row: 2; justify-self: end; }
}

.color-white {
    color: white;
}


/* =========================================================
   GEO first screen geometry correction
   Fixes: title overlap, chat proportions, and Figma two-block glow.
   ========================================================= */

@media (min-width: 1200px) {
    body.geo-page .geo-first-screen {
        min-height: 760px !important;
        padding-top: 0px !important;
        padding-bottom: 118px !important;
        overflow: hidden !important;
    }

    body.geo-page .geo-first-screen .section-container {
        /*max-width: 1680px !important;*/
        position: relative !important;
        z-index: 2 !important;
    }

    body.geo-page .geo-first-screen .row {
        align-items: center !important;
    }

    body.geo-page .geo-first-screen .col-xl-5 {
        flex: 0 0 43% !important;
        max-width: 43% !important;
        position: relative !important;
        z-index: 5 !important;
    }

    body.geo-page .geo-first-screen .col-xl-7 {
        flex: 0 0 57% !important;
        max-width: 57% !important;
        position: relative !important;
        z-index: 3 !important;
    }
body.geo-page .geo-first-screen h1 {
        width: auto !important;
        max-width: 680px !important;
        margin: 0 !important;
        font-size: 48px !important;
        line-height: 1.07 !important;
        letter-spacing: -1.25px !important;
        position: relative !important;
        z-index: 8 !important;
    }

    body.geo-page .geo-first-screen h1 .h1-span-or,
    body.geo-page .geo-first-screen h1 .h1-line-main {
        display: block !important;
    }

    body.geo-page .geo-first-screen h1 .h1-line-main {
        white-space: nowrap !important;
    }

    body.geo-page .geo-first-screen .h1-descr {
        max-width: 560px !important;
        font-size: 16px !important;
        line-height: 1.62 !important;
        margin-top: 28px !important;
        position: relative !important;
        z-index: 8 !important;
    }

    body.geo-page .geo-first-btns {
        margin-top: 44px !important;
        position: relative !important;
        z-index: 8 !important;
    }

    body.geo-page .geo-chat-wrap {
        min-height: 510px !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 2 !important;
    }

    body.geo-page .geo-chat-stage {
        width: 720px !important;
        max-width: 100% !important;
        min-height: 510px !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        position: relative !important;
    }

    body.geo-page .geo-chat-stage:before {
        content: "" !important;
        position: absolute !important;
        width: 421px !important;
        height: 421px !important;
        left: -280px !important;
        top: 22px !important;
        background:
            radial-gradient(circle at 52% 52%, rgba(245,110,15,.55) 0%, rgba(245,110,15,.34) 22%, rgba(25,32,52,.15) 46%, rgba(0,0,0,0) 72%),
            linear-gradient(135deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 37%, rgba(245,110,15,.46) 58%, rgba(255,255,255,.08) 79%, rgba(0,0,0,0) 100%) !important;
        filter: blur(18px) !important;
        opacity: .95 !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }

    body.geo-page .geo-chat-stage:after {
        content: "" !important;
        position: absolute !important;
        width: 337px !important;
        height: 230px !important;
        left: -220px !important;
        top: 258px !important;
        background:
            linear-gradient(145deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 20%, rgba(245,110,15,.20) 41%, rgba(245,110,15,.72) 72%, rgba(255,255,255,.13) 100%),
            radial-gradient(circle at 72% 74%, rgba(245,110,15,.64) 0%, rgba(245,110,15,.30) 32%, rgba(25,32,52,.13) 66%, rgba(0,0,0,0) 100%) !important;
        filter: blur(14px) !important;
        opacity: .96 !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }

    body.geo-page .geo-chat-mockup {
        width: 620px !important;
        max-width: 620px !important;
        transform: perspective(1300px) rotateY(-4deg) rotateX(1deg) !important;
        position: relative !important;
        z-index: 2 !important;
    }

    body.geo-page .geo-browser-bar {
        height: 18px !important;
        border-radius: 10px 10px 0 0 !important;
    }

    body.geo-page .geo-chat-mockup-inner {
        border-radius: 0 0 10px 10px !important;
        overflow: visible !important;
        background: #f4f4f4 !important;
    }

    body.geo-page .gcm-body {
        min-height: 335px !important;
        padding: 42px 38px 46px !important;
        background: #f4f4f4 !important;
        box-sizing: border-box !important;
    }

    body.geo-page .gcm-row-user {
        margin-bottom: 30px !important;
    }

    body.geo-page .gcm-row-ai {
        align-items: flex-start !important;
    }

    body.geo-page .gcm-avatar-wrap {
        width: 28px !important;
        flex: 0 0 28px !important;
    }

    body.geo-page .gcm-bubble-wrap-user {
        max-width: 78% !important;
    }

    body.geo-page .gcm-bubble-wrap-ai {
        max-width: calc(100% - 44px) !important;
    }

    body.geo-page .gcm-msg {
        font-size: 15px !important;
        line-height: 1.45 !important;
        padding: 17px 22px !important;
        box-sizing: border-box !important;
    }

    body.geo-page .gcm-msg-user {
        max-width: 100% !important;
    }

    body.geo-page .gcm-msg-ai {
        max-width: 100% !important;
    }

    body.geo-page .gcm-side-icon-wrap {
        flex: 0 0 30px !important;
        width: 30px !important;
    }
}

@media (min-width: 1400px) {
    body.geo-page .geo-first-screen h1 {
        max-width: 720px !important;
        font-size: 50px !important;
    }

    body.geo-page .geo-chat-mockup {
        width: 640px !important;
        max-width: 640px !important;
    }

    body.geo-page .gcm-body {
        min-height: 350px !important;
        padding: 46px 42px 50px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.geo-page .geo-first-screen {
        min-height: 680px !important;
        padding-top: 0px !important;
        padding-bottom: 92px !important;
    }
body.geo-page .geo-first-screen h1 {
        max-width: 520px !important;
        font-size: 34px !important;
        line-height: 1.08 !important;
        letter-spacing: -.8px !important;
    }

    body.geo-page .geo-first-screen .h1-descr {
        max-width: 430px !important;
        font-size: 14px !important;
        line-height: 1.56 !important;
        margin-top: 24px !important;
    }

    body.geo-page .geo-chat-wrap,
    body.geo-page .geo-chat-stage {
        min-height: 430px !important;
    }

    body.geo-page .geo-chat-stage {
        width: 570px !important;
    }

    body.geo-page .geo-chat-stage:before {
        left: -176px !important;
        top: -8px !important;
    }

    body.geo-page .geo-chat-stage:after {
        left: -128px !important;
        top: 226px !important;
    }

    body.geo-page .geo-chat-mockup {
        width: 390px !important;
        max-width: 390px !important;
    }

    body.geo-page .gcm-body {
        min-height: 252px !important;
        padding: 30px 24px 34px !important;
    }

    body.geo-page .gcm-row-user {
        margin-bottom: 18px !important;
    }

    body.geo-page .gcm-msg {
        font-size: 12px !important;
        line-height: 1.42 !important;
        padding: 13px 16px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .geo-first-screen h1 {
        width: auto !important;
        max-width: 100% !important;
    }

    body.geo-page .geo-first-screen h1 .h1-line-main {
        white-space: normal !important;
    }

    body.geo-page .geo-chat-mockup {
        transform: none !important;
    }
}


/* =========================================================
   GEO stronger glow correction
   Stronger upper glow, visible grid on glow, soft lower beam.
   ========================================================= */

body.geo-page .geo-first-screen h1 {
    font-size: 40px !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
    max-width: 620px !important;
}

body.geo-page .geo-first-screen h1 .h1-line-main {
    white-space: nowrap !important;
}

body.geo-page .geo-chat-wrap,
body.geo-page .geo-chat-stage {
    overflow: visible !important;
}

body.geo-page .geo-chat-stage {
    position: relative !important;
    isolation: isolate !important;
    min-height: 500px !important;
}

body.geo-page .geo-chat-stage:before {
    content: "" !important;
    position: absolute !important;
    width: 900px !important;
    height: 620px !important;
    left: -285px !important;
    top: -95px !important;
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: 1 !important;
    filter: none !important;
    background: url('/images/geo/geo-first-glow-grid-strong.png') center center / 100% 100% no-repeat !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

body.geo-page .geo-chat-stage:after {
    display: none !important;
}

body.geo-page .geo-chat-mockup {
    position: relative !important;
    z-index: 3 !important;
    width: min(620px, 100%) !important;
    max-width: 620px !important;
}

body.geo-page .geo-chat-mockup:before {
    display: none !important;
}

body.geo-page .geo-chat-mockup:after {
    opacity: .24 !important;
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.geo-page .geo-first-screen h1 {
        font-size: 40px !important;
        max-width: 620px !important;
    }

    body.geo-page .geo-chat-stage:before {
        width: 900px !important;
        height: 620px !important;
        left: -300px !important;
        top: -100px !important;
    }

    body.geo-page .geo-chat-mockup {
        width: min(620px, 100%) !important;
        max-width: 620px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .geo-first-screen h1 {
        max-width: 100% !important;
        font-size: 38px !important;
    }

    body.geo-page .geo-first-screen h1 .h1-line-main {
        white-space: normal !important;
    }

    body.geo-page .geo-chat-stage:before {
        width: 780px !important;
        height: 540px !important;
        left: -180px !important;
        top: -50px !important;
    }
}




/* =========================================================
   GEO advantages left glow correction
   Slightly stronger left glow, subtle grid, equal vertical rhythm.
   ========================================================= */

body.geo-page .advantages-wrap {
    position: relative !important;
    overflow: hidden !important;
}

body.geo-page .advantages-wrap:before {
    content: "" !important;
    position: absolute !important;
    left: -42px !important;
    top: -100px !important;
    width: 560px !important;
    height: 900px !important;
    background: url('/images/geo/advantages-left-glow-grid-stronger.png') left top / 100% 100% no-repeat !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 1 !important;
}

body.geo-page .advantages-wrap .section-container,
body.geo-page .advantages-wrap .row,
body.geo-page .advantages-wrap h2,
body.geo-page .advantages-wrap .advantages-col-metrics,
body.geo-page .advantages-wrap .advantages-col-items {
    position: relative !important;
    z-index: 1 !important;
}

body.geo-page .advantages-wrap h2 {
    margin-bottom: 46px !important;
}

body.geo-page .advantages-row {
    align-items: stretch !important;
}

body.geo-page .advantages-col-metrics,
body.geo-page .advantages-col-items {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-self: stretch !important;
}

body.geo-page .advantage-metric {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 150px !important;
    padding: 10px 0 18px !important;
}

body.geo-page .advantage-item {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 150px !important;
    padding: 10px 0 24px !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

body.geo-page .advantage-value {
    color: #F56E0F !important;
    font-size: clamp(54px, 4.1vw, 66px) !important;
    line-height: .95 !important;
    letter-spacing: -1.6px !important;
    margin-bottom: 10px !important;
}

body.geo-page .advantage-text {
    max-width: 330px !important;
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.28 !important;
}

body.geo-page .advantage-item h4 {
    margin: 0 0 12px !important;
}

body.geo-page .advantage-item p {
    max-width: 850px !important;
}

@media (max-width: 1199px) {
    body.geo-page .advantages-wrap:before {
        left: -56px !important;
        top: 34px !important;
        width: 430px !important;
        height: 760px !important;
    }

    body.geo-page .advantages-col-metrics,
    body.geo-page .advantages-col-items {
        grid-template-rows: none !important;
        gap: 12px !important;
    }

    body.geo-page .advantage-metric,
    body.geo-page .advantage-item {
        min-height: auto !important;
        padding: 8px 0 16px !important;
    }

    body.geo-page .advantage-text {
        font-size: 18px !important;
    }
}


/* =========================================================
   GEO why-geo cards vertical rhythm correction
   Top cluster and bottom cluster separated by free middle space.
   ========================================================= */

body.geo-page .why-geo-cards {
    align-items: stretch !important;
}

body.geo-page .why-geo-card {
    min-height: 322px !important;
    padding: 28px 28px 26px !important;
    display: flex !important;
    flex-direction: column !important;
}

body.geo-page .why-geo-icon {
    margin-bottom: 24px !important;
    flex: 0 0 auto !important;
}

body.geo-page .why-geo-card-title {
    margin-bottom: 0 !important;
    flex: 0 0 auto !important;
}

/* Cards without stat: title stays in the top cluster, description goes to the bottom cluster */
body.geo-page .why-geo-card-title + .why-geo-desc {
    margin-top: auto !important;
}

/* Card with stat: bottom cluster starts from the stat, description sits directly under it */
body.geo-page .why-geo-stat {
    margin-top: auto !important;
    margin-bottom: 12px !important;
    flex: 0 0 auto !important;
}

body.geo-page .why-geo-stat + .why-geo-desc {
    margin-top: 0 !important;
}

body.geo-page .why-geo-desc {
    margin-bottom: 0 !important;
    flex: 0 0 auto !important;
}

@media (max-width: 1399px) {
    body.geo-page .why-geo-card {
        min-height: 304px !important;
        padding: 26px 26px 24px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .why-geo-card {
        min-height: 280px !important;
    }
}

@media (max-width: 767px) {
    body.geo-page .why-geo-card {
        min-height: auto !important;
        padding: 24px !important;
    }

    body.geo-page .why-geo-card-title + .why-geo-desc,
    body.geo-page .why-geo-stat {
        margin-top: 18px !important;
    }
}










/* =========================================================
   GEO how-ai container scene correction
   Right scene is inside .section-container, not glued to viewport.
   Clean asset has no slider arrow baked into it.
   ========================================================= */

body.geo-page .how-ai-wrap {
    position: relative !important;
    overflow: hidden !important;
    background: #151419 !important;
}

body.geo-page .how-ai-wrap:before {
    display: none !important;
}

body.geo-page .how-ai-wrap .section-container {
    position: relative !important;
    z-index: 1 !important;
    padding-top: 50px;
}

/* Scene belongs to the container composition, not to the screen edge */
body.geo-page .how-ai-wrap .section-container:before {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 42px !important;
    width: min(520px, 42vw) !important;
    height: 500px !important;
    background: url('/images/geo/how-ai-container-scene-clean.png') right center / contain no-repeat !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

body.geo-page .how-ai-top,
body.geo-page .how-ai-inner {
    position: relative !important;
    z-index: 2 !important;
}

/* Title + subtitle stay stacked on the left */
body.geo-page .how-ai-top {
    display: block !important;
    margin-bottom: 42px !important;
}

body.geo-page .how-ai-top h2 {
    max-width: 780px !important;
    margin: 0 0 12px !important;
}

body.geo-page .how-ai-top p {
    max-width: 470px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.66) !important;
}

body.geo-page .how-ai-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(470px, 44%) !important;
    gap: 34px !important;
    align-items: stretch !important;
}

/* Reserve real space for arrows, no overlay on cards */
body.geo-page .how-ai-slider-wrap {
    position: relative !important;
    min-width: 0 !important;
    padding: 0 86px 64px 58px !important;
}

body.geo-page .owl-how-ai {
    position: relative !important;
    z-index: 2 !important;
}

body.geo-page .owl-how-ai .owl-stage {
    display: flex !important;
    align-items: stretch !important;
}

body.geo-page .owl-how-ai .owl-item,
body.geo-page .owl-how-ai .item {
    display: flex !important;
    height: auto !important;
}

body.geo-page .owl-how-ai .item,
body.geo-page .owl-how-ai .how-ai-step-card {
    width: 100% !important;
}

body.geo-page .how-ai-step-card {
    height: 100% !important;
    min-height: 318px !important;
    padding: 30px 30px 28px !important;
}

body.geo-page .how-ai-controls {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    z-index: 4 !important;
    pointer-events: none !important;
}

body.geo-page .how-ai-arr {
    pointer-events: auto !important;
}

body.geo-page .how-ai-arr-l {
    position: absolute !important;
    left: 0 !important;
    top: 122px !important;
}

body.geo-page .how-ai-arr-r {
    position: absolute !important;
    right: 0 !important;
    top: 122px !important;
}

body.geo-page .how-ai-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 60px !important;
    transform: translateX(-50%) !important;
    gap: 10px !important;
}

/* Right column only reserves space; visual is container background */
body.geo-page .how-ai-laptop-wrap {
    position: relative !important;
    min-height: 458px !important;
    overflow: visible !important;
    display: block !important;
}

body.geo-page .how-ai-laptop-wrap:before {
    display: none !important;
}

body.geo-page .how-ai-laptop-img {
    opacity: 0 !important;
    visibility: hidden !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

@media (min-width: 1400px) {
    body.geo-page .how-ai-wrap .section-container:before {
        right: -60px !important;
        top: -60px !important;
        width: 1240px !important;
        height: 908px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.geo-page .how-ai-wrap .section-container:before {
        right: -60px !important;
        top: -60px !important;
        width: 1240px !important;
        height: 908px !important;
    }

    body.geo-page .how-ai-inner {
        grid-template-columns: minmax(0, 1fr) minmax(440px, 43%) !important;
        gap: 28px !important;
    }

    body.geo-page .how-ai-slider-wrap {
        padding: 0 80px 62px 50px !important;
    }

    body.geo-page .how-ai-arr-l,
    body.geo-page .how-ai-arr-r {
        top: 120px !important;
    }

    body.geo-page .how-ai-laptop-wrap {
        min-height: 430px !important;
    }
}

@media (max-width: 1199px) {
   
    
    body.geo-page .how-ai-slider-wrap {
        padding: unset!important;
    }

    body.geo-page .how-ai-top {
        display: block !important;
        margin-bottom: 24px !important;
    }

    body.geo-page .how-ai-inner {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    body.geo-page .how-ai-slider-wrap {
        padding: 0 0 62px !important;
    }

    body.geo-page .how-ai-controls {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
        margin-top: 22px !important;
        pointer-events: auto !important;
    }

    body.geo-page .how-ai-arr-l,
    body.geo-page .how-ai-arr-r,
    body.geo-page .how-ai-dots {
        position: static !important;
        transform: none !important;
    }

    body.geo-page .how-ai-laptop-wrap {
        display: none !important;
    }
}


/* =========================================================
   GEO how-ai equal slider spacing and requested scene sizing
   ========================================================= */

/* Равные технические поля под стрелки слева и справа */
/*body.geo-page .how-ai-slider-wrap {
    padding: 0 86px 64px 86px !important;
}*/

/* На 1200–1399 тоже равные поля */
@media (min-width: 1200px) and (max-width: 1399px) {
    body.geo-page .how-ai-slider-wrap {
        padding: 0 80px 62px 80px !important;
    }
}

/* Картинка сцены внутри контейнера, без top-смещения */
body.geo-page .how-ai-wrap .section-container:before {
    content: "" !important;
    position: absolute !important;
            right: -60px !important;
        top: -60px !important;
        width: 1040px !important;
        height: 708px !important;
    background: url('/images/geo/how-ai-container-scene-clean.png') right center / contain no-repeat !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

@media (min-width: 1400px) {
    body.geo-page .how-ai-wrap .section-container:before {
        right: -60px !important;
        top: -60px !important;
        width: 1240px !important;
        height: 908px !important;
    }
}




/* =========================================================
   GEO CTA top-center glow and full-height visual fix
   Glow centered at top, right visual enlarged and fully shown.
   ========================================================= */

body.geo-page .geo-cta-wrap {
    width: 100vw !important;
    padding-left: calc(4vw + 4px) !important;
    padding-right: calc(4vw + 4px) !important;
    margin-bottom: 130px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Glow must sit above the section, centered toward the composition middle */
body.geo-page .geo-cta-wrap:before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: -58px !important;
    transform: translateX(-2%) !important;
    width: min(1080px, 74vw) !important;
    height: 430px !important;
    background:
        radial-gradient(ellipse at center, rgba(245,110,15,.32) 0%, rgba(245,110,15,.22) 20%, rgba(245,110,15,.11) 42%, rgba(245,110,15,.04) 58%, rgba(245,110,15,0) 74%),
        radial-gradient(ellipse at center, rgba(25,32,52,.18) 0%, rgba(25,32,52,0) 72%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

body.geo-page .geo-cta-wrap .section-container,
body.geo-page .geo-cta-wrap .row,
body.geo-page .geo-cta-wrap .geo-cta-text,
body.geo-page .geo-cta-wrap .geo-cta-laptop {
    position: relative !important;
    z-index: 1 !important;
}

body.geo-page .geo-cta-wrap .row {
    align-items: center !important;
}

body.geo-page .geo-cta-text {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

body.geo-page .geo-cta-text h2 {
    max-width: 640px !important;
    margin-bottom: 28px !important;
}

body.geo-page .geo-cta-text p {
    max-width: 650px !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 20px !important;
    line-height: 1.55 !important;
    margin-bottom: 38px !important;
}

body.geo-page .geo-cta-btns .main-btn {
    margin-right: 0 !important;
}

body.geo-page .geo-cta-plan-btn .btn-wrap {
    gap: 10px !important;
}

/* keep the requested button icon */
body.geo-page .geo-cta-download-icon {
    position: relative !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin-left: 2px !important;
    flex: 0 0 18px !important;
    border-bottom: 2px solid currentColor !important;
    bottom: -2px !important;
}
body.geo-page .geo-cta-download-icon:before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 1px !important;
    width: 2px !important;
    height: 8px !important;
    transform: translateX(-50%) !important;
    background: currentColor !important;
    border-radius: 1px !important;
}
body.geo-page .geo-cta-download-icon:after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 6px !important;
    width: 7px !important;
    height: 7px !important;
    transform: translateX(-50%) rotate(45deg) !important;
    border-right: 2px solid currentColor !important;
    border-bottom: 2px solid currentColor !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 0 -6px currentColor !important;
}

/* Right visual must be full, larger, and visually close to the height of the left content */
body.geo-page .geo-cta-laptop {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 500px !important;
    overflow: visible !important;
}

body.geo-page .geo-cta-laptop img {
    display: block !important;
    width: min(860px, 126%) !important;
    max-width: none !important;
    height: auto !important;
    max-height: 520px !important;
    object-fit: contain !important;
    margin-right: -8px !important;
    filter: drop-shadow(0 36px 86px rgba(0,0,0,.48)) !important;
}

@media (min-width: 1400px) {
    body.geo-page .geo-cta-wrap:before {
        left: 54% !important;
        top: -62px !important;
        width: 1120px !important;
        height: 448px !important;
    }

    body.geo-page .geo-cta-laptop {
        min-height: 520px !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: 126% !important;
        max-height: 540px !important;
        margin-right: -14px !important;
    }
}

@media (max-width: 1399px) {
    body.geo-page .geo-cta-wrap:before {
        left: 53% !important;
        top: -34px !important;
        width: min(980px, 72vw) !important;
        height: 390px !important;
    }

    body.geo-page .geo-cta-laptop {
        min-height: 450px !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(760px, 118%) !important;
        max-height: 470px !important;
        margin-right: -8px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .geo-cta-wrap:before {
        left: 56% !important;
        top: -4px !important;
        transform: translateX(-50%) !important;
        width: 94vw !important;
        height: 300px !important;
    }

    body.geo-page .geo-cta-text {
        padding-top: 0 !important;
        margin-bottom: 30px !important;
    }

    body.geo-page .geo-cta-laptop {
        justify-content: center !important;
        min-height: auto !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(760px, 100%) !important;
        max-width: 100% !important;
        max-height: none !important;
        margin-right: 0 !important;
    }
}


/* =========================================================
   GEO CTA image replacement and taller visual alignment
   Use the new plan image and enlarge it in height on desktop.
   ========================================================= */

/* The right visual should sit larger by height and align lower in the composition */
body.geo-page .geo-cta-wrap .row {
    align-items: flex-end !important;
}

body.geo-page .geo-cta-text {
    padding-top: 0 !important;
    padding-bottom: 6px !important;
}

body.geo-page .geo-cta-laptop {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    min-height: 580px !important;
    overflow: visible !important;
}

body.geo-page .geo-cta-laptop img {
    display: block !important;
    width: min(940px, 132%) !important;
    max-width: none !important;
    height: auto !important;
    max-height: 610px !important;
    object-fit: contain !important;
    margin-right: -6px !important;
    filter: drop-shadow(0 36px 86px rgba(0,0,0,.48)) !important;
}

@media (min-width: 1400px) {
    body.geo-page .geo-cta-laptop {
        min-height: 610px !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(980px, 136%) !important;
        max-height: 640px !important;
        margin-right: -10px !important;
    }
}

@media (max-width: 1399px) {
    body.geo-page .geo-cta-laptop {
        min-height: 520px !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(820px, 122%) !important;
        max-height: 540px !important;
        margin-right: -4px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .geo-cta-wrap .row {
        align-items: initial !important;
    }

    body.geo-page .geo-cta-text {
        padding-bottom: 0 !important;
    }

    body.geo-page .geo-cta-laptop {
        min-height: auto !important;
        justify-content: center !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(760px, 100%) !important;
        max-width: 100% !important;
        max-height: none !important;
        margin-right: 0 !important;
    }
}










/* =========================================================
   GEO first-screen clean full-gradient image behind text
   One prepared image. No extra CSS glow. Gradient may sit behind text.
   ========================================================= */

body.geo-page .geo-first-screen .col-xl-5 {
    position: relative !important;
    z-index: 4 !important;
}

body.geo-page .geo-chat-wrap {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
    pointer-events: none !important;
}

body.geo-page .geo-chat-stage.geo-chat-stage-image {
    position: relative !important;
    width: min(920px, 100%) !important;
    min-height: 520px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    isolation: isolate !important;
}

body.geo-page .geo-chat-stage.geo-chat-stage-image:before,
body.geo-page .geo-chat-stage.geo-chat-stage-image:after {
    content: none !important;
    display: none !important;
}

body.geo-page .geo-chat-composite {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: min(1120px, 152%) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    transform: translateX(-300px) !important;
    transform-origin: center center !important;
    filter: none !important;
}

@media (min-width: 1400px) {
    body.geo-page .geo-chat-stage.geo-chat-stage-image {
        width: min(980px, 100%) !important;
        min-height: 540px !important;
    }

    body.geo-page .geo-chat-composite {
        width: min(1180px, 156%) !important;
        transform: translateX(-130px) !important;
    }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.geo-page .geo-chat-stage.geo-chat-stage-image {
        width: min(880px, 100%) !important;
        min-height: 500px !important;
    }

    body.geo-page .geo-chat-composite {
        width: min(1060px, 148%) !important;
        transform: translateX(-280px) !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .geo-chat-stage.geo-chat-stage-image {
        width: 100% !important;
        min-height: auto !important;
        margin-top: 42px !important;
    }

    body.geo-page .geo-chat-composite {
        width: min(820px, 112%) !important;
        max-width: none !important;
        transform: none !important;
    }
}


/* =========================================================
   SEO PAGE USING GEO SHARED STYLE
   seo.html now uses geo.css as the single shared visual style.
   Only content-specific differences are scoped by body.seo-page here.
   ========================================================= */

body.geo-page.seo-page {
    background: #111113 !important;
    color: #F1F1F1 !important;
}

body.seo-page .seo-first-screen {
    /* use GEO first-screen geometry directly */
}

body.seo-page .seo-first-screen h1 {
    max-width: 620px !important;
    font-size: 40px !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body.seo-page .seo-first-screen h1 .h1-line-main {
    display: block !important;
    white-space: nowrap !important;
}

body.seo-page .seo-first-screen .h1-descr {
    max-width: 520px !important;
    margin-top: 28px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,.64) !important;
}

body.seo-page .seo-hero-img-wrap {
    min-height: 430px !important;
    overflow: visible !important;
}

body.seo-page .seo-hero-img-wrap:before {
    content: "" !important;
    position: absolute !important;
    width: 421px !important;
    height: 421px !important;
    left: 72px !important;
    top: -12px !important;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        radial-gradient(circle at 52% 52%, rgba(245,110,15,.34) 0%, rgba(245,110,15,.18) 28%, rgba(25,32,52,.10) 56%, rgba(0,0,0,0) 78%) !important;
    background-size: 28px 28px, 28px 28px, 100% 100% !important;
    filter: blur(12px) !important;
    opacity: .88 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

body.seo-page .seo-hero-img-wrap:after {
    content: "" !important;
    position: absolute !important;
    width: 337px !important;
    height: 230px !important;
    left: 132px !important;
    top: 214px !important;
    background:
        linear-gradient(145deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 22%, rgba(245,110,15,.14) 40%, rgba(245,110,15,.50) 72%, rgba(255,255,255,.10) 100%),
        radial-gradient(circle at 70% 74%, rgba(245,110,15,.48) 0%, rgba(245,110,15,.20) 32%, rgba(25,32,52,.12) 66%, rgba(0,0,0,0) 100%) !important;
    filter: blur(14px) !important;
    opacity: .84 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

body.seo-page .seo-hero-image {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: min(690px, 100%) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    transform: perspective(1300px) rotateY(-4deg) rotateX(1deg) !important;
    filter: drop-shadow(0 24px 46px rgba(0,0,0,.52)) !important;
}

/* Advantages: inherit GEO proportions */
body.seo-page .advantages-wrap:before {
    content: "" !important;
    position: absolute !important;
    left: -42px !important;
    top: -100px !important;
    width: 560px !important;
    height: 900px !important;
    background: url('/images/geo/advantages-left-glow-grid-stronger.png') left top / 100% 100% no-repeat !important;
    pointer-events: none !important;
    z-index: 0 !important;
    opacity: 1 !important;
}

body.seo-page .advantages-wrap .section-container,
body.seo-page .advantages-wrap .row,
body.seo-page .advantages-wrap h2,
body.seo-page .advantages-wrap .advantages-col-metrics,
body.seo-page .advantages-wrap .advantages-col-items {
    position: relative !important;
    z-index: 1 !important;
}

body.seo-page .advantages-col-metrics,
body.seo-page .advantages-col-items {
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    align-self: stretch !important;
}

body.seo-page .advantage-metric,
body.seo-page .advantage-item {
    min-height: 150px !important;
}

body.seo-page .advantage-text {
    color: #FFFFFF !important;
    font-size: 20px !important;
    line-height: 1.28 !important;
    font-weight: 500 !important;
}

body.seo-page .advantage-item h4 {
    font-size: 24px !important;
    line-height: 1.25 !important;
}

body.seo-page .advantage-item p {
    font-size: 18px !important;
    line-height: 1.55 !important;
}

/* SEO accordion uses GEO FAQ visual system */
body.seo-page .seo-structure {
    margin-bottom: 140px !important;
}

body.seo-page .seo-structure-title {
    max-width: 420px !important;
    margin: 0 !important;
    font-size: clamp(30px, 2.8vw, 46px) !important;
    line-height: 1.12 !important;
}

body.seo-page .seo-accordion {
    display: grid !important;
    gap: 10px !important;
}

body.seo-page .seo-item {
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 12px !important;
    background: #111113 !important;
}

body.seo-page .seo-item-header {
    width: 100% !important;
    min-height: 64px !important;
    display: grid !important;
    grid-template-columns: 52px 1fr 30px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 24px !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
}

body.seo-page .seo-item-number {
    color: rgba(255,255,255,.64) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.seo-page .seo-item-title {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body.seo-page .seo-item-icon {
    width: 28px !important;
    height: 28px !important;
    justify-self: end !important;
    border-radius: 50% !important;
    background: #fff !important;
    position: relative !important;
}

body.seo-page .seo-item-icon:before,
body.seo-page .seo-item-icon:after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 12px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #151419 !important;
    transform: translate(-50%, -50%) !important;
}

body.seo-page .seo-item-header.collapsed .seo-item-icon:after {
    transform: translate(-50%, -50%) rotate(90deg) !important;
}

body.seo-page .seo-item-body {
    padding: 0 24px 24px 76px !important;
    max-width: 760px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.seo-page .seo-item-divider {
    display: none !important;
}

/* Pricing uses GEO pricing visual system */
body.seo-page .pricing {
    width: 100vw !important;
    padding-left: calc(4vw + 4px) !important;
    padding-right: calc(4vw + 4px) !important;
    margin-bottom: 140px !important;
    position: relative !important;
}

body.seo-page .pricing-card {
    min-height: 470px !important;
    background: #1b1a1f !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 18px !important;
    padding: 34px 30px 30px !important;
    box-shadow: 0 24px 55px rgba(0,0,0,.18) !important;
}

body.seo-page .pricing-card-name {
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

body.seo-page .pricing-card-sub,
body.seo-page .pricing-card-desc {
    color: rgba(255,255,255,.58) !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

body.seo-page .pricing-price {
    font-size: 20px !important;
    font-weight: 800 !important;
    margin-bottom: 14px !important;
}

/* CTA keeps SEO form content but sits in the shared GEO CTA section rhythm */
body.seo-page .form {
    min-height: 560px !important;
    margin-bottom: 130px !important;
}

body.seo-page .form-img-img {
    width: min(800px, 116%) !important;
    max-width: none !important;
    filter: drop-shadow(0 36px 90px rgba(0,0,0,.45)) !important;
}

@media (max-width: 1199px) {
    body.seo-page .seo-first-screen h1 .h1-line-main {
        white-space: normal !important;
    }

    body.seo-page .seo-hero-img-wrap:before,
    body.seo-page .seo-hero-img-wrap:after {
        opacity: .65 !important;
    }

    body.seo-page .seo-hero-image {
        width: min(720px, 100%) !important;
        transform: none !important;
    }

    body.seo-page .advantages-col-metrics,
    body.seo-page .advantages-col-items {
        grid-template-rows: none !important;
    }
}


/* =========================================================
   SEO hero image: use only the provided image glow,
   remove extra CSS glows, enlarge image, and blend edges.
   ========================================================= */
body.seo-page .seo-hero-img-wrap {
    min-height: 520px !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.seo-page .seo-hero-img-wrap:before,
body.seo-page .seo-hero-img-wrap:after {
    display: none !important;
    content: none !important;
    background: none !important;
}

body.seo-page .seo-hero-image {
    position: relative !important;
    z-index: 2 !important;
    width: min(830px, 128%) !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    transform: none !important;
    margin-left: -34px !important;
    filter: drop-shadow(0 18px 34px rgba(0,0,0,.36)) !important;
}

@media (max-width: 1199px) {
    body.seo-page .seo-hero-img-wrap {
        min-height: auto !important;
        margin-top: 30px !important;
    }

    body.seo-page .seo-hero-image {
        width: min(760px, 120%) !important;
        margin-left: 0 !important;
    }
}


/* =========================================================
   SEO BLOCK AS GEO FAQ EXACT STYLE
   The "Что входит в SEO..." block uses the same GEO FAQ classes.
   No separate SEO accordion styling is applied here.
   ========================================================= */

body.seo-page .seo-faq-wrap {
    /* intentionally uses .geo-faq-wrap, .geo-faq-left, .geo-faq-right,
       .geo-faq-item, .geo-faq-q, .geo-faq-toggle, .geo-faq-answer */
}


/* =========================================================
   SEO CTA AS GEO CTA STYLE
   SEO CTA uses the same markup/classes/styles as GEO CTA.
   ========================================================= */

body.seo-page .seo-cta-wrap {
    /* intentionally inherits .geo-cta-wrap */
}

body.seo-page .seo-cta-wrap .geo-cta-text h2 {
    max-width: 720px !important;
}

body.seo-page .seo-cta-wrap .geo-cta-text p {
    max-width: 620px !important;
}

body.seo-page .seo-cta-wrap .geo-cta-laptop img {
    width: min(760px, 100%) !important;
}


/* =========================================================
   SEO CTA BOTTOM SPACING FIX
   After replacing the old .form section with GEO CTA markup,
   keep the same bottom rhythm before the next block.
   ========================================================= */

body.seo-page .seo-cta-wrap {
    margin-bottom: 130px !important;
    padding-bottom: 0 !important;
}

@media (max-width: 1199px) {
    body.seo-page .seo-cta-wrap {
        margin-bottom: 96px !important;
    }
}


/* =========================================================
   SEO REVIEWS SLIDER AFTER CTA
   Uses GEO reviews styles, placed after SEO CTA and before contacts.
   ========================================================= */

body.seo-page .seo-reviews-wrap {
    margin-bottom: 120px !important;
}

body.seo-page .seo-reviews-wrap .owl-carousel .owl-stage {
    display: flex !important;
}

body.seo-page .seo-reviews-wrap .owl-carousel .owl-item {
    display: flex !important;
}

body.seo-page .seo-reviews-wrap .item,
body.seo-page .seo-reviews-wrap .geo-review-card {
    width: 100% !important;
}


/* =========================================================
   CASE PAGE GEO STYLE
   Case pages use the shared geo.css visual system.
   ========================================================= */

body.case-page {
    background: #111113 !important;
    color: #F1F1F1 !important;
}

body.case-page .case-first-screen {
    min-height: 660px !important;
    padding-top: 86px !important;
    padding-bottom: 86px !important;
    overflow: hidden !important;
}

body.case-page .case-tags {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-bottom: 28px !important;
}

body.case-page .case-tag {
    min-height: 34px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(245,110,15,.34) !important;
    background: rgba(245,110,15,.08) !important;
    color: #F56E0F !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}

body.case-page .case-key-result {
    margin-top: 34px !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    max-width: 560px !important;
}

body.case-page .case-key-result-value {
    color: #F56E0F !important;
    font-size: clamp(54px, 5vw, 82px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    letter-spacing: -3px !important;
}

body.case-page .case-key-result-label {
    max-width: 300px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}

body.case-page .case-first-visual {
    min-height: 480px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

body.case-page .case-first-visual:before {
    content: "" !important;
    position: absolute !important;
    width: 580px !important;
    height: 580px !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        radial-gradient(circle at 52% 52%, rgba(245,110,15,.34) 0%, rgba(245,110,15,.18) 28%, rgba(25,32,52,.10) 56%, rgba(0,0,0,0) 78%) !important;
    background-size: 32px 32px, 32px 32px, 100% 100% !important;
    filter: blur(10px) !important;
    opacity: .72 !important;
    pointer-events: none !important;
}

body.case-page .case-hero-card {
    position: relative !important;
    z-index: 2 !important;
    width: min(520px, 100%) !important;
    min-height: 380px !important;
    padding: 32px !important;
    border-radius: 26px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background:
        radial-gradient(circle at 78% 12%, rgba(245,110,15,.28), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025)) !important;
    box-shadow: 0 36px 80px rgba(0,0,0,.45) !important;
    backdrop-filter: blur(14px) !important;
}

body.case-page .case-hero-card-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    margin-bottom: 58px !important;
}

body.case-page .case-hero-card-top strong {
    color: #F56E0F !important;
    font-size: 13px !important;
    letter-spacing: .08em !important;
}

body.case-page .case-hero-main-number {
    color: #F1F1F1 !important;
    font-size: clamp(78px, 7vw, 120px) !important;
    line-height: .86 !important;
    font-weight: 900 !important;
    letter-spacing: -5px !important;
}

body.case-page .case-hero-main-label {
    max-width: 340px !important;
    margin-top: 18px !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
}

body.case-page .case-hero-bars {
    height: 86px !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 12px !important;
    margin-top: 38px !important;
}

body.case-page .case-hero-bars span {
    width: 100% !important;
    border-radius: 999px 999px 0 0 !important;
    background: linear-gradient(180deg, #F56E0F, rgba(245,110,15,.22)) !important;
}

body.case-page .case-overview-wrap,
body.case-page .case-results-wrap,
body.case-page .case-work-wrap,
body.case-page .case-features-wrap {
    margin-bottom: 140px !important;
}

body.case-page .case-overview-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

body.case-page .case-overview-item,
body.case-page .case-result-card,
body.case-page .case-quote {
    border: 1px solid rgba(255,255,255,.09) !important;
    background: rgba(255,255,255,.035) !important;
    border-radius: 18px !important;
    padding: 28px !important;
}

body.case-page .case-overview-label {
    margin: 0 0 14px !important;
    color: #F56E0F !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

body.case-page .case-overview-value {
    margin: 0 !important;
    color: #F1F1F1 !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
}

body.case-page .case-results-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    margin-top: 46px !important;
}

body.case-page .case-result-card {
    min-height: 230px !important;
}

body.case-page .case-result-value {
    margin: 0 0 22px !important;
    color: #F56E0F !important;
    font-size: clamp(58px, 5vw, 86px) !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    letter-spacing: -3px !important;
}

body.case-page .case-result-label {
    margin: 0 !important;
    color: #F1F1F1 !important;
    font-size: 20px !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
}

body.case-page .case-result-delta {
    margin: 18px 0 0 !important;
    color: rgba(255,255,255,.52) !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.case-page .case-quote {
    margin-top: 34px !important;
    border-color: rgba(245,110,15,.22) !important;
    background: rgba(245,110,15,.055) !important;
}

body.case-page .case-quote p {
    margin: 0 !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 18px !important;
    line-height: 1.62 !important;
}

body.case-page .case-cta-wrap {
    margin-bottom: 230px !important;
}

body.case-page .case-cta-wrap .second-btn .btn-wrap {
    color: #F1F1F1 !important;
}

body.case-page .case-cta-wrap .second-btn {
    border: 1px solid rgba(255,255,255,.14) !important;
    background: rgba(255,255,255,.04) !important;
    margin-top: 35px;
}

@media (max-width: 1199px) {
    body.case-page .case-first-screen {
        min-height: auto !important;
        padding-top: 62px !important;
        padding-bottom: 90px !important;
    }

    body.case-page .case-first-visual {
        min-height: auto !important;
        margin-top: 48px !important;
    }

    body.case-page .case-overview-grid,
    body.case-page .case-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.case-page .case-overview-wrap,
    body.case-page .case-results-wrap,
    body.case-page .case-work-wrap,
    body.case-page .case-features-wrap {
        margin-bottom: 110px !important;
    }
}

@media (max-width: 767px) {
    body.case-page .case-key-result {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body.case-page .case-overview-grid,
    body.case-page .case-results-grid {
        grid-template-columns: 1fr !important;
    }

    body.case-page .case-hero-card {
        min-height: 320px !important;
        padding: 24px !important;
    }
}

/* =========================================================
   GEO desktop layout system — 1440px Figma scaled to wide screens
   Keeps every content section on one grid and replaces conflicting
   legacy desktop overrides with one predictable final layer.
   ========================================================= */

body.geo-page {
    --geo-content-max: 1680px;
    --geo-section-gap: clamp(112px, 7.3vw, 150px);
}

body.geo-page .section-container {
    width: 100% !important;
    max-width: var(--geo-content-max) !important;
    margin-inline: auto !important;
    padding-inline: 15px !important;
}

body.geo-page .website-navigation {
    width: 100% !important;
    max-width: var(--geo-content-max) !important;
    margin: 70px auto 0 !important;
    padding-inline: 15px !important;
}

body.geo-page .section-wrap,
body.geo-page .geo-pricing-wrap,
body.geo-page .how-ai-wrap {
    margin-bottom: var(--geo-section-gap) !important;
}

@media (min-width: 1200px) {
    body.geo-page h2 {
        font-size: clamp(42px, 2.45vw, 52px) !important;
        line-height: 1.16 !important;
        letter-spacing: -1.1px !important;
    }

    body.geo-page .geo-first-screen {
        min-height: clamp(720px, 42vw, 820px) !important;
        padding-top: 0px !important;
        padding-bottom: clamp(92px, 5.8vw, 120px) !important;
    }

    body.geo-page .geo-first-screen .col-xl-5 {
        flex: 0 0 48% !important;
        max-width: 48% !important;
    }

    body.geo-page .geo-first-screen .col-xl-7 {
        flex: 0 0 52% !important;
        max-width: 52% !important;
    }

    body.geo-page .geo-first-screen h1 {
        width: 100% !important;
        max-width: 820px !important;
        font-size: clamp(52px, 3.25vw, 68px) !important;
        line-height: 1.03 !important;
        letter-spacing: -1.8px !important;
    }

    body.geo-page .geo-first-screen .h1-descr {
        max-width: 610px !important;
        font-size: clamp(16px, .95vw, 18px) !important;
        line-height: 1.55 !important;
        margin-top: 30px !important;
    }

    body.geo-page .geo-first-btns {
        margin-top: 40px !important;
    }

    body.geo-page .geo-chat-wrap,
    body.geo-page .geo-chat-stage.geo-chat-stage-image {
        min-height: 520px !important;
    }

    body.geo-page .geo-chat-stage.geo-chat-stage-image {
        width: 100% !important;
    }

    body.geo-page .geo-chat-composite {
        width: min(1050px, 128%) !important;
        max-width: none !important;
        transform: translateX(-4%) !important;
    }

    body.geo-page .geo-pricing-wrap > .section-container > .row {
        align-items: start !important;
    }

    body.geo-page .geo-pricing-card {
        min-height: 500px !important;
        padding: 32px 28px 28px !important;
        border-radius: 14px !important;
        background: #1a191e !important;
    }

    body.geo-page .geo-pricing-name {
        font-size: 24px !important;
    }

    body.geo-page .geo-tariff-row,
    body.geo-page .geo-networks-label {
        font-size: 15px !important;
    }

    body.geo-page .geo-pricing-price {
        font-size: 24px !important;
    }

    body.geo-page .geo-cta-wrap {
        margin-bottom: var(--geo-section-gap) !important;
        padding-top: 62px !important;
        padding-bottom: 62px !important;
        background: #121214 !important;
        border-top: 1px solid rgba(255,255,255,.045) !important;
        border-bottom: 1px solid rgba(255,255,255,.045) !important;
        overflow: hidden !important;
    }

    body.geo-page .geo-cta-wrap .row {
        min-height: 500px !important;
        align-items: center !important;
    }

    body.geo-page .geo-cta-text {
        padding-block: 28px !important;
    }

    body.geo-page .geo-cta-text h2 {
        max-width: 700px !important;
        margin-bottom: 24px !important;
    }

    body.geo-page .geo-cta-text p {
        max-width: 590px !important;
        font-size: 18px !important;
        line-height: 1.55 !important;
        margin-bottom: 34px !important;
    }

    body.geo-page .geo-cta-laptop {
        min-height: 480px !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    body.geo-page .geo-cta-laptop img {
        width: min(820px, 118%) !important;
        max-height: 520px !important;
        margin-right: 0 !important;
    }

    body.geo-page .geo-reviews-wrap {
        margin-bottom: var(--geo-section-gap) !important;
    }
}

@media (min-width: 1200px) and (max-width: 1499px) {
    body.geo-page .geo-first-screen h1 {
        font-size: clamp(48px, 3.65vw, 54px) !important;
        letter-spacing: -1.3px !important;
    }

    body.geo-page .geo-chat-composite {
        width: 132% !important;
        transform: translateX(-7%) !important;
    }

    body.geo-page .geo-pricing-card {
        min-height: 460px !important;
        padding: 26px 22px 24px !important;
    }
}

@media (max-width: 1199px) {
    body.geo-page .website-navigation {
        margin-top: 40px !important;
    }
}

/* =========================================================
   GEO grid correction — section edges match the header edges.
   The page itself already owns the 4vw + 4px horizontal gutter;
   inner Bootstrap containers must not add another inset.
   ========================================================= */

body.geo-page .section-container,
body.geo-page section > .container-fluid {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.geo-page .website-navigation {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (min-width: 1200px) {
    body.geo-page h2 {
        font-size: 46px !important;
        line-height: 1.2 !important;
        letter-spacing: -.7px !important;
    }

    body.geo-page .geo-first-screen .col-xl-5 {
        flex: 0 0 43% !important;
        max-width: 43% !important;
    }

    body.geo-page .geo-first-screen .col-xl-7 {
        flex: 0 0 57% !important;
        max-width: 57% !important;
    }

    body.geo-page .geo-first-screen h1 {
        max-width: 760px !important;
        font-size: clamp(50px, 3vw, 60px) !important;
        line-height: 1.06 !important;
        letter-spacing: -1.4px !important;
    }

    body.geo-page .geo-pricing-card {
        min-height: 470px !important;
        border-radius: 18px !important;
        padding: 34px 30px 30px !important;
    }
}

@media (min-width: 1200px) and (max-width: 1499px) {
    body.geo-page .geo-first-screen h1 {
        font-size: 50px !important;
    }

    body.geo-page .geo-pricing-card {
        padding: 28px 22px 24px !important;
    }
}

/* Responsive GEO hero heading */
body.geo-page .geo-first-screen h1 {
    width: 100% !important;
    max-width: 100% !important;
    text-wrap: balance;
    overflow-wrap: normal;
}

body.geo-page .geo-first-screen h1 .h1-span-or,
body.geo-page .geo-first-screen h1 .h1-line-main {
    display: block !important;
}

body.geo-page .geo-first-screen h1 .h1-line-main {
    white-space: normal !important;
}

@media (min-width: 1500px) {
    body.geo-page .geo-first-screen h1 {
        font-size: clamp(52px, 3.125vw, 60px) !important;
    }

    body.geo-page .geo-first-screen h1 .h1-line-main {
        white-space: nowrap !important;
    }
}

@media (min-width: 1200px) and (max-width: 1499px) {
    body.geo-page .geo-first-screen h1 {
        font-size: clamp(42px, 3.25vw, 48px) !important;
        line-height: 1.07 !important;
        letter-spacing: -1.1px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    body.geo-page .geo-first-screen h1 {
        font-size: clamp(38px, 5vw, 50px) !important;
        line-height: 1.08 !important;
        letter-spacing: -1px !important;
    }
}

@media (max-width: 767px) {
    body.geo-page .geo-first-screen h1 {
        font-size: clamp(31px, 8.8vw, 40px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.8px !important;
    }
}

@media (max-width: 374px) {
    body.geo-page .geo-first-screen h1 {
        font-size: 29px !important;
        letter-spacing: -.55px !important;
    }
}

.width_100 {
    width: 100%;
}

@media (max-width: 1199px) {
    body.geo-page .how-ai-wrap .section-container:before {
                right: -60px !important;
        top: -60px !important;
        width: 1240px !important;
        height: 908px !important;
        display: none;
    }
    
    body.geo-page .how-ai-wrap .section-container {
        padding-top: 0px!important;
    }
    
    h1 {
        font-size: 36px!important;
    }
    
    h2 {
        font-size: 34px!important;
    }
    
    .geo-page .contacts-wrap {
    margin-bottom: 120px;
    margin-top: 100px;
}

.geo-reviews-inner {
    margin-top: 100px;
}
}

/* =========================================================
   DESIGN CODE FIX (2026-08-16): H1 line-height must match homepage
   The homepage h1 (css/style.css) always uses line-height: 130%
   (1.3), at every breakpoint. This selector accumulated many
   conflicting per-breakpoint line-height patches above (ranging
   1.03–1.16) from iterative visual tweaks — none of them match the
   homepage. This block is the single authoritative override and
   must stay the LAST rule touching h1 line-height in this file so
   it wins the cascade at every breakpoint. Font-size and
   letter-spacing are intentionally left as-is — the tighter,
   negative-tracking treatment is a deliberate second H1 style used
   sitewide on GEO/SEO/industry landing pages; only the vertical
   spacing (line-height) is unified with the homepage. See
   DESIGN.md → "Typography → H1" for the full rule and rationale.
   ========================================================= */
.geo-first-screen h1,
.seo-first-screen h1 {
    line-height: 1.3 !important;
}

/* Реюзабельное фото-полотно для hero/секций отраслевых страниц —
   единый визуальный язык с рамкой карточек кейсов (.projects-wrap-item img),
   но без чёрной рамки-девайса: для крупных фото, не скриншотов интерфейса. */
.industry-photo {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 24px 55px rgba(0,0,0,.18);
}
.industry-photo-banner {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 24px 55px rgba(0,0,0,.18);
}
@media (max-width: 767px) {
    .industry-photo { min-height: 220px; }
    .industry-photo-banner { height: 220px; }
}

/* ==========================================================================
   geo-seo.html (SEO + GEO + AEO combined page) — new components
   ========================================================================== */

/* Точка входа: статистика нейросетей */
body.geo-page .stats-band-wrap {
    margin-top: 70px;
}
.stats-band-wrap h2 { margin-bottom: 12px; }
.stats-band-wrap .h2-descr { max-width: 620px; margin-bottom: 44px; }
.stats-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.stats-tile {
    min-height: 150px;
    padding: 28px 30px;
    border-radius: 16px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.stats-tile--accent {
    background: var(--second-color);
    border-color: transparent;
}
.stats-tile-value {
    color: #fff;
    font-size: 34px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 14px;
}
.stats-tile-text {
    color: rgba(255,255,255,.62);
    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;
}
.stats-tile--accent .stats-tile-text { color: rgba(255,255,255,.92); }
@media (max-width: 991px) {
    .stats-band { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 575px) {
    .stats-band { grid-template-columns: 1fr; }
    .stats-tile { min-height: auto; }
}

/* Тарифы: описание тарифа */
.geo-pricing-desc {
    color: rgba(255,255,255,.56);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 400;
    margin-bottom: 22px;
}
.pricing-note {
    color: rgba(255,255,255,.55);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
}

/* /geo/, /seo/, /seo-geo/: хлебные крошки — убрать лишний отступ до хиро
   и выровнять влево (как на /o-nas/ через .about-breadcrumbs-wrap).
   .breadcrumbs-wrap используется только на этих трёх страницах. */
body.geo-page .breadcrumbs-wrap {
    margin-bottom: 0;
}
.breadcrumbs-wrap .website-navigation {
    text-align: left;
}
body.geo-page .breadcrumbs-wrap .website-navigation {
    margin-top: 40px !important;
}
/* .geo-first-screen сам по себе высокий (min-height:660px, флекс-центрирование —
   так и задумано на страницах без хлебных крошек), из-за чего под крошками
   получался огромный пустой отступ до заголовка. Сужаем только когда хиро
   идёт сразу после .breadcrumbs-wrap — на других страницах с этим же героем
   (легаси case-*.html, design-variants) не трогаем. */
body.geo-page .breadcrumbs-wrap + .geo-first-screen {
    min-height: 340px !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}
/* Реальным драйвером высоты оказалась не min-height обёртки, а сама картинка:
   оба героя (.seo-hero-image, .geo-chat-composite) заданы шире колонки
   (128%/152%) с height:auto — рендерится по пропорциям файла (510-580px),
   а min-height обёртки на такую картинку не действует (контент больше
   минимума — обёртка просто растягивается под него). Сужаем сами картинки:
   - /seo/: .seo-hero-image (файл 475×292, было до 830px/128% → ~510px высоты);
   - /geo/, /seo-geo/: .geo-chat-composite (файл 1740×904, было до 1120px/152%,
     сдвиг translateX(-300px) под «вылезающий» эффект — на меньшей ширине
     этот сдвиг съедал бы картинку, поэтому transform тоже сбрасываем).
   Только на этих трёх страницах (смежный селектор после .breadcrumbs-wrap) —
   базовые классы на легаси case-*.html/design-variants не трогаем. */
body.geo-page .breadcrumbs-wrap + .geo-first-screen .geo-chat-wrap,
body.geo-page .breadcrumbs-wrap + .geo-first-screen .seo-hero-img-wrap,
body.geo-page .breadcrumbs-wrap + .geo-first-screen .geo-chat-stage.geo-chat-stage-image {
    min-height: 340px !important;
}
body.geo-page .breadcrumbs-wrap + .geo-first-screen .seo-hero-image {
    width: min(520px, 100%) !important;
    margin-left: 0 !important;
}
body.geo-page .breadcrumbs-wrap + .geo-first-screen .geo-chat-composite {
    width: min(620px, 100%) !important;
    transform: none !important;
}

/* geo-seo.html: сверка тарифов с презентацией ARTKOD_AIO (слайд 10) —
   правки скопом на body.geo-seo-page, чтобы не задеть .geo-pricing-card
   на других страницах (design-variants/service, industries и т.д.) */
body.geo-seo-page .pricing-header-row { margin-bottom: 40px; }
body.geo-seo-page .geo-pricing-card {
    border-radius: 24px;
    padding: 36px 34px 34px;
}
body.geo-seo-page .geo-pricing-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
}
body.geo-seo-page .geo-pricing-card--accent {
    background: var(--second-color) !important;
    border-color: transparent !important;
}
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-name,
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-price,
body.geo-seo-page .geo-pricing-card--accent .geo-tariff-val,
body.geo-seo-page .geo-pricing-card--accent .geo-networks-label,
body.geo-seo-page .geo-pricing-card--accent .geo-ai-badge,
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-desc {
    color: #fff;
}
body.geo-seo-page .geo-pricing-card--accent .geo-tariff-label { color: rgba(255,255,255,.78); }
body.geo-seo-page .geo-pricing-card--accent .geo-tariff-dots { border-bottom-color: rgba(255,255,255,.4); }
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-badge {
    background: rgba(255,255,255,.22);
    color: #fff;
}
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-btn.main-btn {
    background: #fff;
}
body.geo-seo-page .geo-pricing-card--accent .geo-pricing-btn.main-btn .btn-wrap {
    color: var(--second-color);
}

/* Наши проекты: акцент на кейсе Чеботарева */
.featured-case {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 40px;
    padding: 44px;
    border-radius: 22px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.07);
}
.featured-case-label {
    color: rgba(255,255,255,.5);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.featured-case-title {
    color: #fff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 18px;
}
.featured-case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 24px;
}
.featured-case-tags span,
.featured-case-tags a {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    border-radius: 20px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.75);
    font-size: 13px;
    font-weight: 500;
}
.featured-case-tags a { color: var(--second-color) !important; text-decoration: underline; }
.featured-case-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
    display: grid;
    gap: 10px;
}
.featured-case-list li {
    position: relative;
    padding-left: 20px;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.5;
}
.featured-case-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--second-color);
}
.featured-case-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.featured-case-stat {
    padding: 22px;
    border-radius: 16px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.featured-case-stat--accent {
    background: var(--second-color);
    border-color: transparent;
}
.featured-case-stat-value {
    color: #fff;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 8px;
}
.featured-case-stat-text {
    color: rgba(255,255,255,.6);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 500;
}
.featured-case-stat--accent .featured-case-stat-text { color: rgba(255,255,255,.92); }
@media (max-width: 991px) {
    .featured-case { grid-template-columns: 1fr; padding: 32px; }
}
@media (max-width: 575px) {
    .featured-case { padding: 24px; }
    .featured-case-stats { grid-template-columns: 1fr 1fr; }
}

/* Почему сейчас: акцентная карточка */
.why-geo-card--accent {
    background: linear-gradient(165deg, rgba(245,110,15,.18), #1b1a1f 60%);
    border-color: rgba(245,110,15,.5);
}

/* Команда */
.team-block {
    display: grid;
    grid-template-columns: .9fr 1.4fr;
    gap: 40px;
    align-items: start;
}
.team-lead {
    padding: 34px;
    border-radius: 20px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.07);
}
.team-lead-photo {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
}
.team-lead-name {
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
}
.team-lead-role {
    color: var(--second-color);
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 22px;
}
.team-lead-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}
.team-lead-list li {
    position: relative;
    padding-left: 18px;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    line-height: 1.4;
}
.team-lead-list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--second-color);
}
.team-cards {
    display: grid;
    gap: 16px;
}
.team-card {
    padding: 26px 30px;
    border-radius: 16px;
    background: #1b1a1f;
    border: 1px solid rgba(255,255,255,.06);
}
.team-card-title {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}
.team-card p {
    color: rgba(255,255,255,.56);
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}
@media (max-width: 991px) {
    .team-block { grid-template-columns: 1fr; }
}