/*
Theme Name: Advokat Standard
Theme URI: https://example.com/
Author: Александр Татьянченко
Description: Собственная тема WordPress для сайта Московской городской коллегии адвокатов «Адвокатский стандарт».
 Version: 1.0.11
Text Domain: advokat-standard
*/

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: #13233b;
    background: #f8f6f1;
    font-family: Arial, sans-serif;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

.hero {
    min-height: 700px;
    display: flex;
    align-items: center;
    padding: 120px 24px;
}

.hero__container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.hero__eyebrow {
    margin: 0 0 20px;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.hero__title {
    max-width: 850px;
    margin: 0;
    font-size: clamp(52px, 8vw, 110px);
    line-height: 0.95;
    font-weight: 500;
}

.hero__description {
    max-width: 620px;
    margin: 32px 0 0;
    font-size: 22px;
    line-height: 1.5;
}

.hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    padding: 16px 28px;
    border-radius: 999px;
    color: #fff;
    background: #13233b;
}
/* =========================
   HERO
========================= */
.home-hero{
    padding:80px 0;
    background:#faf7f2;
}

.home-hero__container{
    width:min(1320px,92%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
}

.section-eyebrow{
    display:inline-block;
    color:#b88a2b;
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
}

.home-hero__title {
    margin: 24px 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 68px;
    line-height: 1.05;
    font-weight: 400;
}

.gold-rule{
    display:block;
    width:70px;
    height:2px;
    background:#c49a45;
    margin:35px 0;
}

.home-hero__lead{
    font-size:22px;
    line-height:1.7;
    max-width:620px;
    color:#444;
}

.home-hero__note{
    margin-top:20px;
    font-size:17px;
    line-height:1.7;
    color:#777;
    max-width:620px;
}

.home-hero__buttons{
    display:flex;
    gap:18px;
    margin-top:40px;
    flex-wrap:wrap;
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    padding:16px 30px;
    transition:.25s;
}

.button--primary{
    background:#12233b;
    color:#fff;
}

.button--primary:hover{
    background:#1f3556;
}

.button--outline{
    border:2px solid #12233b;
    color:#12233b;
}

.button--outline:hover{
    background:#12233b;
    color:#fff;
}

.home-hero__advantages{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
    padding-top:35px;
    border-top:1px solid #e8e2d7;
}

.home-hero__advantage{
    display:flex;
    gap:14px;
    align-items:flex-start;
    font-weight:600;
    color:#12233b;
}

.home-hero__icon{
    color:#c49a45;
    font-size:22px;
}

.home-hero__visual{
    position:relative;
}

.home-hero__gold-square{
    position:absolute;
    width:180px;
    height:180px;
    background:#c49a45;
    right:-35px;
    top:-35px;
    z-index:0;
}

.home-hero__visual img{
    position:relative;
    z-index:2;
    width:100%;
    display:block;
}   
/* =========================
   HEADER
========================= */

.site-header {
    position: relative;
    z-index: 50;
    background: #faf7f2;
    border-bottom: 1px solid #e7e0d5;
}

.site-header__container {
    width: min(1320px, 92%);
    min-height: 92px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 32px;
}

.site-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}

.site-logo__mark {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.site-logo__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-logo__title {
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.site-logo__subtitle {
    margin-top: 7px;
    color: #7a8492;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-navigation {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: auto;
}

.site-navigation a {
    position: relative;
    color: #12233b;
    font-size: 14px;
    font-weight: 500;
}

.site-navigation a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -8px;
    height: 1px;
    background: #c49a45;
    transition: right 0.25s ease;
}

.site-navigation a:hover::after {
    right: 0;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

.site-header__phone {
    color: #12233b;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.site-header__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    color: #ffffff;
    background: #12233b;
    font-size: 13px;
    white-space: nowrap;
    transition: background 0.25s ease;
}

.site-header__button:hover {
    background: #1e3555;
}

.site-header__mobile-actions,
.mobile-menu {
    display: none;
}

/* =========================
   HEADER ADAPTIVE
========================= */

@media (max-width: 1180px) {
    .site-navigation,
    .site-header__actions {
        display: none;
    }

    .site-header__container {
        min-height: 82px;
    }

    .site-header__mobile-actions {
        display: flex;
        align-items: center;
        gap: 20px;
        margin-left: auto;
    }

    .site-header__mobile-phone {
        color: #12233b;
        font-size: 23px;
        line-height: 1;
    }

    .site-menu-button {
        width: 32px;
        height: 32px;
        padding: 5px 2px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        border: 0;
        background: transparent;
        cursor: pointer;
    }

    .site-menu-button span {
        display: block;
        width: 25px;
        height: 2px;
        background: #12233b;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .site-menu-button.is-open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .site-menu-button.is-open span:nth-child(2) {
        opacity: 0;
    }

    .site-menu-button.is-open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    .mobile-menu {
        display: block;
        border-top: 1px solid #e7e0d5;
        background: #faf7f2;
    }

    .mobile-menu[hidden] {
        display: none;
    }

    .mobile-menu__navigation {
        width: min(1320px, 92%);
        margin: 0 auto;
        padding: 24px 0 30px;
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .mobile-menu__navigation > a {
        padding: 14px 0;
        border-bottom: 1px solid #e7e0d5;
        color: #12233b;
        font-size: 16px;
    }

    .mobile-menu__phone {
        margin-top: 18px;
        border-bottom: 0 !important;
        font-weight: 600;
    }
}

@media (max-width: 640px) {
    .site-header__container {
        width: 94%;
        min-height: 74px;
    }

    .site-logo {
        gap: 10px;
    }

    .site-logo__mark {
        width: 44px;
        height: 44px;
    }

    .site-logo__title {
        font-size: 15px;
    }

    .site-logo__subtitle {
        margin-top: 5px;
        max-width: 230px;
        font-size: 7px;
        white-space: normal;
    }

    .site-header__mobile-actions {
        gap: 14px;
    }
}

@media (max-width: 430px) {
    .site-logo__mark {
        width: 38px;
        height: 38px;
    }

    .site-logo__title {
        font-size: 13px;
    }

    .site-logo__subtitle {
        max-width: 180px;
        font-size: 6px;
        letter-spacing: 0.08em;
    }

    .site-header__mobile-phone {
        display: none;
    }
}
/* =========================
   SERVICES
========================= */

.services-section {
    padding: 90px 0;
    background: #f1ede5;
}

.services-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.section-heading {
    max-width: 760px;
}

.section-heading__title {
    margin: 18px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.12;
    font-weight: 400;
}

.section-heading__text {
    max-width: 720px;
    margin: 20px 0 0;
    color: #66707d;
    font-size: 18px;
    line-height: 1.7;
}

.services-grid {
    margin-top: 52px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 24px;
}

.service-card {
    min-height: 320px;
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    padding: 32px;
    border: 1px solid #ded7cb;
    background: #ffffff;
    transition:
        border-color 0.25s ease,
        transform 0.25s ease;
}

.service-card--large {
    grid-column: span 4;
}

.service-card:hover {
    border-color: #c49a45;
    transform: translateY(-3px);
}

.service-card__number {
    color: #c49a45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
}

.service-card__title {
    margin: 18px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 400;
}

.service-card__text {
    margin: 16px 0 0;
    color: #6c7480;
    font-size: 15px;
    line-height: 1.7;
}

.service-card__link {
    margin-top: auto;
    padding-top: 30px;
    color: #12233b;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.25s ease;
}

.service-card:hover .service-card__link {
    color: #c49a45;
}

.services-section__footer {
    margin-top: 42px;
    text-align: center;
}

/* =========================
   SERVICES ADAPTIVE
========================= */

@media (max-width: 900px) {
    .services-section {
        padding: 72px 0;
    }

    .section-heading__title {
        font-size: 40px;
    }

    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-card,
    .service-card--large {
        grid-column: span 1;
    }
}

@media (max-width: 640px) {
    .services-section {
        padding: 58px 0;
    }

    .section-heading__title {
        font-size: 34px;
    }

    .section-heading__text {
        font-size: 16px;
    }

    .services-grid {
        margin-top: 36px;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .service-card {
        min-height: 0;
        padding: 26px;
    }

    .service-card__title {
        font-size: 26px;
    }
}
/* =========================
   SITUATIONS
========================= */

.situations-section{
    padding:100px 0;
    background:#faf7f2;
}

.situations-section__container{
    width:min(1320px,92%);
    margin:0 auto;
}

.situations-list{
    list-style:none;
    margin:60px 0 0;
    padding:0;
    border-top:1px solid #e3ddd1;
}

.situation-item{
    display:grid;
    grid-template-columns:120px 380px 1fr;
    gap:40px;
    padding:36px 0;
    border-bottom:1px solid #e3ddd1;
    align-items:start;
}

.situation-item__number{
    font-size:22px;
    color:#c49a45;
    font-family:Georgia,"Times New Roman",serif;
}

.situation-item__title{
    margin:0;
    color:#12233b;
    font-size:30px;
    line-height:1.25;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.situation-item__text{
    margin:0;
    color:#68717d;
    line-height:1.8;
    font-size:16px;
}

.situation-item:hover .situation-item__title{
    color:#c49a45;
}

@media(max-width:900px){

    .situation-item{
        grid-template-columns:70px 1fr;
        gap:20px;
    }

    .situation-item__text{
        grid-column:2;
    }

}

@media(max-width:640px){

    .situations-section{
        padding:70px 0;
    }

    .situations-list{
        margin-top:40px;
    }

    .situation-item{
        grid-template-columns:1fr;
        gap:14px;
        padding:26px 0;
    }

    .situation-item__text{
        grid-column:auto;
    }

    .situation-item__title{
        font-size:24px;
    }

}
/* =========================
   APPROACH
========================= */

.approach-section{
    padding:110px 0;
    background:#12233b;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.approach-section::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(196,154,69,.08);
    top:-220px;
    right:-160px;
}

.approach-section__container{
    width:min(1320px,92%);
    margin:0 auto;
    position:relative;
    z-index:2;
}

.section-eyebrow--light{
    color:#d4b16a;
}

.approach-section__title{
    max-width:900px;
    margin:24px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:56px;
    line-height:1.15;
    font-weight:400;
    color:#fff;
}

.approach-section__text{
    max-width:720px;
    margin-top:28px;
    font-size:20px;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}

.button--gold{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:46px;
    min-height:56px;
    padding:0 34px;
    background:#c49a45;
    color:#fff;
    transition:.25s;
}

.button--gold:hover{
    background:#b58933;
}

@media(max-width:900px){

    .approach-section{
        padding:80px 0;
    }

    .approach-section__title{
        font-size:42px;
    }

    .approach-section__text{
        font-size:18px;
    }

}

@media(max-width:640px){

    .approach-section{
        padding:60px 0;
    }

    .approach-section__title{
        font-size:32px;
    }

    .approach-section__text{
        font-size:16px;
        line-height:1.7;
    }

    .button--gold{
        width:100%;
    }

}
/* =========================
   CHILDREN
========================= */

.children-section {
    padding: 100px 0;
    background: #f1ede5;
}

.children-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center;
}

.children-section__title {
    max-width: 650px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 50px;
    line-height: 1.15;
    font-weight: 400;
}

.children-section__list {
    list-style: none;
    margin: 36px 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 34px;
}

.children-section__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: #354152;
    font-size: 15px;
    line-height: 1.55;
}

.children-section__check {
    flex-shrink: 0;
    margin-top: 1px;
    color: #c49a45;
    font-size: 17px;
    font-weight: 700;
}

.children-section .button {
    margin-top: 38px;
}

.children-section__visual {
    position: relative;
    width: 100%;
    max-width: 520px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}

.children-section__visual::before {
    content: "";
    position: absolute;
    inset: -14px;
    border: 1px solid rgba(196, 154, 69, 0.45);
    z-index: 0;
}

.children-section__gold-square {
    position: absolute;
    top: -28px;
    left: -28px;
    width: 120px;
    height: 120px;
    background: #c49a45;
    z-index: 1;
}

.children-section__visual img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================
   CHILDREN ADAPTIVE
========================= */

@media (max-width: 960px) {
    .children-section {
        padding: 80px 0;
    }

    .children-section__container {
        grid-template-columns: 1fr;
        gap: 65px;
    }

    .children-section__content {
        order: 1;
    }

    .children-section__visual {
        order: 2;
    }

    .children-section__title {
        font-size: 42px;
    }
}

@media (max-width: 640px) {
    .children-section {
        padding: 60px 0;
    }

    .children-section__title {
        font-size: 34px;
    }

    .children-section__list {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .children-section .button {
        width: 100%;
    }

    .children-section__gold-square {
        top: -18px;
        left: -18px;
        width: 84px;
        height: 84px;
    }
}
/* =========================
   PROPERTY
========================= */

.property-section {
    padding: 100px 0;
    background: #faf7f2;
}

.property-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.property-grid {
    margin-top: 54px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 24px;
}

.property-card {
    min-height: 110px;
    padding: 22px 0 26px;
    border-top: 2px solid #c49a45;
    color: #12233b;
    font-size: 16px;
    line-height: 1.55;
}

.property-section__notice {
    max-width: 900px;
    margin-top: 52px;
    padding: 34px 40px;
    background: #12233b;
    color: rgba(255, 255, 255, 0.86);
    font-size: 18px;
    line-height: 1.7;
}

/* =========================
   PROPERTY ADAPTIVE
========================= */

@media (max-width: 960px) {
    .property-section {
        padding: 80px 0;
    }

    .property-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .property-section {
        padding: 60px 0;
    }

    .property-grid {
        margin-top: 38px;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .property-card {
        min-height: auto;
        padding: 18px 0 20px;
    }

    .property-section__notice {
        margin-top: 36px;
        padding: 26px;
        font-size: 16px;
    }
}
/* =========================
   INTERNATIONAL
========================= */

.international-section {
    padding: 100px 0;
    background: #f1ede5;
}

.international-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: start;
}

.international-section__title {
    max-width: 640px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 400;
}

.international-section__description {
    max-width: 650px;
    margin: 28px 0 0;
    color: #4f5966;
    font-size: 17px;
    line-height: 1.75;
}

.international-section__subtitle {
    margin: 0 0 24px;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    font-weight: 400;
}

.international-section__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.international-section__list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #354152;
    font-size: 16px;
    line-height: 1.65;
}

.international-section__line {
    width: 18px;
    height: 1px;
    margin-top: 12px;
    flex-shrink: 0;
    background: #c49a45;
}

.international-section .button {
    margin-top: 36px;
}

/* =========================
   INTERNATIONAL ADAPTIVE
========================= */

@media (max-width: 960px) {
    .international-section {
        padding: 80px 0;
    }

    .international-section__container {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .international-section__title {
        font-size: 42px;
    }
}

@media (max-width: 640px) {
    .international-section {
        padding: 60px 0;
    }

    .international-section__title {
        font-size: 34px;
    }

    .international-section__description,
    .international-section__list li {
        font-size: 15px;
    }

    .international-section .button {
        width: 100%;
    }
}
/* =========================
   ADVANTAGES
========================= */

.advantages-section {
    padding: 100px 0;
    background: #faf7f2;
}

.advantages-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.advantages-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 36px;
}

.advantage-item {
    display: flex;
    gap: 24px;
    padding-top: 24px;
    border-top: 1px solid #ded7cb;
}

.advantage-item__number {
    width: 56px;
    flex-shrink: 0;
    color: #c49a45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    line-height: 1;
}

.advantage-item__text {
    margin: 0;
    color: #26374d;
    font-size: 17px;
    line-height: 1.7;
}

/* =========================
   ADVANTAGES ADAPTIVE
========================= */

@media (max-width: 960px) {
    .advantages-section {
        padding: 80px 0;
    }

    .advantages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .advantages-section {
        padding: 60px 0;
    }

    .advantages-grid {
        margin-top: 40px;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .advantage-item {
        gap: 18px;
    }

    .advantage-item__number {
        width: 46px;
        font-size: 28px;
    }

    .advantage-item__text {
        font-size: 16px;
    }
}
/* =========================
   ABOUT
========================= */

.about-section {
    padding: 100px 0;
    background: #f1ede5;
}

.about-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    gap: 90px;
    align-items: center;
}

.about-section__title {
    max-width: 780px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 400;
}

.about-section__text,
.about-section__note {
    max-width: 740px;
    color: #4f5966;
    font-size: 17px;
    line-height: 1.75;
}

.about-section__text {
    margin: 28px 0 0;
}

.about-section__note {
    margin: 18px 0 0;
    color: #747d88;
}

.about-section .button {
    margin-top: 36px;
}

.about-section__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 26px;
    padding: 42px;
    background: #12233b;
}

.about-fact {
    min-height: 120px;
}

.about-fact__label {
    display: block;
    color: #d9bb7b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.about-fact__value {
    display: block;
    margin-top: 14px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 400;
}

/* =========================
   ABOUT ADAPTIVE
========================= */

@media (max-width: 960px) {
    .about-section {
        padding: 80px 0;
    }

    .about-section__container {
        grid-template-columns: 1fr;
        gap: 56px;
    }

    .about-section__title {
        font-size: 42px;
    }
}

@media (max-width: 640px) {
    .about-section {
        padding: 60px 0;
    }

    .about-section__title {
        font-size: 34px;
    }

    .about-section__text,
    .about-section__note {
        font-size: 15px;
    }

    .about-section__facts {
        grid-template-columns: 1fr;
        padding: 30px;
        gap: 22px;
    }

    .about-fact {
        min-height: auto;
        padding-bottom: 22px;
        border-bottom: 1px solid rgba(255,255,255,0.12);
    }

    .about-fact:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .about-section .button {
        width: 100%;
    }
}
/* =========================
   LAWYERS
========================= */

.lawyers-section {
    padding: 100px 0;
    background: #faf7f2;
}

.lawyers-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.lawyers-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.lawyer-card {
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid #ded7cb;
    background: #ffffff;
}

.lawyer-card__photo {
    aspect-ratio: 4 / 5;
    margin-bottom: 26px;
    overflow: hidden;
    background: #ece7de;
}

.lawyer-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.lawyer-card:hover .lawyer-card__photo img {
    transform: scale(1.03);
}

.lawyer-card__status {
    color: #c49a45;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.lawyer-card__name {
    margin: 12px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    line-height: 1.2;
    font-weight: 400;
}

.lawyer-card__meta {
    margin-top: 8px;
    color: #7a828d;
    font-size: 13px;
    line-height: 1.55;
}

.lawyer-card__text {
    margin: 20px 0 0;
    color: #505a67;
    font-size: 15px;
    line-height: 1.7;
}

.lawyer-card__link {
    margin-top: auto;
    padding-top: 28px;
    color: #12233b;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.25s ease;
}

.lawyer-card__link:hover {
    color: #c49a45;
}

/* =========================
   LAWYERS ADAPTIVE
========================= */

@media (max-width: 960px) {
    .lawyers-section {
        padding: 80px 0;
    }

    .lawyers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .lawyers-section {
        padding: 60px 0;
    }

    .lawyers-grid {
        margin-top: 40px;
        grid-template-columns: 1fr;
    }

    .lawyer-card {
        padding: 24px;
    }

    .lawyer-card__name {
        font-size: 26px;
    }
}
/* =========================
   PROCESS
========================= */

.process-section {
    padding: 100px 0;
    background: #12233b;
    color: #ffffff;
}

.process-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.process-section__title {
    margin: 20px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 400;
}

.process-grid {
    position: relative;
    margin-top: 64px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 34px;
}

.process-grid::before {
    content: "";
    position: absolute;
    top: 29px;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.14);
}

.process-step {
    position: relative;
    z-index: 1;
}

.process-step__number {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c49a45;
    border-radius: 50%;
    background: #12233b;
    color: #c49a45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.process-step__title {
    margin: 24px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 400;
}

.process-step__text {
    margin: 14px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.7;
}

/* =========================
   PROCESS ADAPTIVE
========================= */

@media (max-width: 1100px) {
    .process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 44px 30px;
    }

    .process-grid::before {
        display: none;
    }
}

@media (max-width: 760px) {
    .process-section {
        padding: 80px 0;
    }

    .process-section__title {
        font-size: 40px;
    }

    .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .process-section {
        padding: 60px 0;
    }

    .process-section__title {
        font-size: 34px;
    }

    .process-grid {
        margin-top: 42px;
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .process-step {
        display: grid;
        grid-template-columns: 58px 1fr;
        gap: 0 18px;
    }

    .process-step__title {
        margin-top: 4px;
    }

    .process-step__text {
        grid-column: 2;
    }
}
/* =========================
   PRACTICE
========================= */

.practice-section {
    padding: 100px 0;
    background: #faf7f2;
}

.practice-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.practice-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.practice-card {
    display: flex;
    flex-direction: column;
    padding: 32px;
    border: 1px solid #ded7cb;
    background: #ffffff;
}

.practice-card__category {
    color: #c49a45;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.practice-card__title {
    margin: 14px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1.3;
    font-weight: 400;
}

.practice-card__details {
    margin: 26px 0 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.practice-card__details div {
    margin: 0;
}

.practice-card__details dt {
    color: #8a919a;
    font-size: 12px;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.practice-card__details dd {
    margin: 7px 0 0;
    color: #4f5966;
    font-size: 15px;
    line-height: 1.7;
}

.practice-card__details .practice-card__result {
    color: #12233b;
    font-weight: 600;
}

.practice-section__footer {
    margin-top: 42px;
    text-align: center;
}

/* =========================
   PRACTICE ADAPTIVE
========================= */

@media (max-width: 960px) {
    .practice-section {
        padding: 80px 0;
    }

    .practice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .practice-section {
        padding: 60px 0;
    }

    .practice-grid {
        margin-top: 40px;
        grid-template-columns: 1fr;
    }

    .practice-card {
        padding: 26px;
    }

    .practice-card__title {
        font-size: 24px;
    }
}
/* =========================
   REVIEWS
========================= */

.reviews-section {
    padding: 100px 0;
    background: #f1ede5;
}

.reviews-section__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.reviews-grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
}

.review-card {
    padding: 42px;
    border: 1px solid #ded7cb;
    background: #ffffff;
}

.review-card__quote {
    color: #c49a45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    line-height: 1;
}

.review-card__text {
    margin: 18px 0 0;
    color: #4f5966;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.65;
    font-style: italic;
}

.review-card__footer {
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid #e4ded3;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.review-card__name {
    color: #12233b;
    font-size: 15px;
}

.review-card__case {
    color: #89919b;
    font-size: 13px;
}

/* =========================
   REVIEWS ADAPTIVE
========================= */

@media (max-width: 760px) {
    .reviews-section {
        padding: 80px 0;
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .reviews-section {
        padding: 60px 0;
    }

    .reviews-grid {
        margin-top: 40px;
    }

    .review-card {
        padding: 28px;
    }

    .review-card__text {
        font-size: 18px;
    }
}
/* =========================
   FAQ
========================= */

.faq-section {
    padding: 100px 0;
    background: #faf7f2;
}

.faq-section__container {
    width: min(960px, 92%);
    margin: 0 auto;
}

.faq-list {
    margin-top: 50px;
    border-top: 1px solid #ded7cb;
}

.faq-item {
    border-bottom: 1px solid #ded7cb;
}

.faq-item__question {
    width: 100%;
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 0;
    background: transparent;
    color: #12233b;
    text-align: left;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.4;
    cursor: pointer;
}

.faq-item__icon {
    flex-shrink: 0;
    color: #c49a45;
    font-family: Arial, sans-serif;
    font-size: 30px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.faq-item.is-open .faq-item__icon {
    transform: rotate(45deg);
}

.faq-item__answer {
    padding: 0 52px 24px 0;
}

.faq-item__answer p {
    margin: 0;
    color: #5c6570;
    font-size: 16px;
    line-height: 1.75;
}

/* =========================
   FAQ ADAPTIVE
========================= */

@media (max-width: 640px) {
    .faq-section {
        padding: 60px 0;
    }

    .faq-list {
        margin-top: 38px;
    }

    .faq-item__question {
        padding: 20px 0;
        font-size: 19px;
    }

    .faq-item__answer {
        padding-right: 34px;
    }

    .faq-item__answer p {
        font-size: 15px;
    }
}
/* =========================
   CONSULTATION
========================= */

.consultation-section {
    padding: 92px 0 78px;
    background: #10233f;
    color: #ffffff;
}

.consultation-section__container {
    width: min(1460px, 90%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 90px;
    align-items: start;
}

.consultation-section__content {
    padding-top: 4px;
}

.consultation-section__title {
    max-width: 620px;
    margin: 18px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 56px;
    line-height: 1.06;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.consultation-section__text {
    max-width: 620px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 18px;
    line-height: 1.75;
}

.consultation-section__contacts {
    margin-top: 34px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    line-height: 1.6;
}

.consultation-section__contacts a {
    color: #d2a136;
}

.consultation-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 18px;
}

.consultation-form__field {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.consultation-form__field--wide,
.consultation-form__contact-method,
.consultation-form__consent,
.consultation-form__submit {
    grid-column: 1 / -1;
}

.consultation-form__field label,
.consultation-form__contact-method legend {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}

.consultation-form__field label span {
    color: #d2a136;
}

.consultation-form__field input,
.consultation-form__field textarea {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.045);
    color: #ffffff;
    outline: none;
    transition:
        border-color 0.2s ease,
        background 0.2s ease;
}

.consultation-form__field input {
    min-height: 48px;
    padding: 0 14px;
}

.consultation-form__field textarea {
    min-height: 148px;
    padding: 14px;
    resize: vertical;
}

.consultation-form__field input:focus,
.consultation-form__field textarea:focus {
    border-color: #d2a136;
    background: rgba(255, 255, 255, 0.065);
}

.consultation-form__contact-method {
    margin: 0;
    padding: 0;
    border: 0;
}

.consultation-form__radios {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.consultation-form__radios label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    cursor: pointer;
}

.consultation-form__radios input {
    appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    position: relative;
}

.consultation-form__radios input:checked {
    border-color: #d2a136;
}

.consultation-form__radios input:checked::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #d2a136;
}

.consultation-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 13px;
    line-height: 1.55;
}

.consultation-form__consent input {
    width: 17px;
    height: 17px;
    margin: 2px 0 0;
    flex-shrink: 0;
    accent-color: #d2a136;
}

.consultation-form__consent a {
    color: #d2a136;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.consultation-form__submit {
    min-height: 54px;
    padding: 0 30px;
    border: 0;
    background: #d2a136;
    color: #10233f;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.consultation-form__submit:hover {
    background: #e0b64f;
}

/* =========================
   CONSULTATION ADAPTIVE
========================= */

@media (max-width: 960px) {
    .consultation-section {
        padding: 76px 0;
    }

    .consultation-section__container {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .consultation-section__title {
        font-size: 46px;
    }
}

@media (max-width: 640px) {
    .consultation-section {
        padding: 58px 0;
    }

    .consultation-section__container {
        width: min(100% - 32px, 1460px);
    }

    .consultation-section__title {
        font-size: 36px;
    }

    .consultation-section__text {
        font-size: 16px;
    }

    .consultation-form {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .consultation-form__field--wide,
    .consultation-form__contact-method,
    .consultation-form__consent,
    .consultation-form__submit {
        grid-column: auto;
    }

    .consultation-form__radios {
        flex-direction: column;
        gap: 12px;
    }

    .consultation-form__submit {
        width: 100%;
    }
}
/* =========================
   FOOTER
========================= */

.site-footer {
    padding: 78px 0 28px;
    background: #0d1b2e;
    color: #ffffff;
}

.site-footer__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.site-footer__top {
    display: grid;
    grid-template-columns: 1.35fr 0.75fr 1fr 1fr;
    gap: 58px;
}

.site-footer__logo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.site-footer__logo img {
    width: 54px;
    height: 54px;
    object-fit: contain;
}

.site-footer__logo span {
    display: flex;
    flex-direction: column;
}

.site-footer__logo strong {
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 400;
}

.site-footer__logo small {
    margin-top: 7px;
    color: rgba(255, 255, 255, 0.48);
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-footer__description {
    max-width: 330px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    line-height: 1.75;
}

.site-footer__title {
    margin: 0 0 22px;
    color: #d9bb7b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 600;
}

.site-footer__nav,
.site-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.site-footer__nav a,
.site-footer__contacts a,
.site-footer__contacts address,
.site-footer__contacts span {
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.55;
    font-style: normal;
    transition: color 0.2s ease;
}

.site-footer__nav a:hover,
.site-footer__contacts a:hover {
    color: #d9bb7b;
}

.site-footer__bottom {
    margin-top: 62px;
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.42);
    font-size: 12px;
}

.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
}

.site-footer__legal a {
    color: rgba(255, 255, 255, 0.42);
}

.site-footer__legal a:hover {
    color: #d9bb7b;
}

/* =========================
   FOOTER ADAPTIVE
========================= */

@media (max-width: 1000px) {
    .site-footer__top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .site-footer {
        padding-top: 58px;
    }

    .site-footer__top {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .site-footer__bottom {
        margin-top: 44px;
        flex-direction: column;
        gap: 16px;
    }

    .site-footer__legal {
        flex-direction: column;
        gap: 10px;
    }
}
/* =========================
   INNER PAGE
========================= */

.inner-page {
    background: #faf7f2;
}

.inner-hero {
    padding: 90px 0 100px;
    background: #f1ede5;
}

.inner-hero__container,
.inner-services__container,
.inner-note__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

.breadcrumbs {
    margin-bottom: 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #7b838d;
    font-size: 13px;
}

.breadcrumbs a {
    color: #7b838d;
}

.breadcrumbs a:hover {
    color: #c49a45;
}

.inner-hero__title {
    max-width: 850px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    line-height: 1.08;
    font-weight: 400;
}

.inner-hero__text {
    max-width: 720px;
    margin: 28px 0 0;
    color: #4f5966;
    font-size: 19px;
    line-height: 1.75;
}

.inner-hero .button {
    margin-top: 36px;
}

/* =========================
   INNER SERVICES
========================= */

.inner-services {
    padding: 100px 0;
    background: #faf7f2;
}

.section-heading__text {
    max-width: 720px;
    margin: 22px 0 0;
    color: #626b76;
    font-size: 17px;
    line-height: 1.75;
}

.inner-services__grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.inner-service-card {
    min-height: 310px;
    padding: 34px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ded7cb;
    background: #ffffff;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease;
}

.inner-service-card:hover {
    transform: translateY(-3px);
    border-color: #c49a45;
}

.inner-service-card__number {
    color: #c49a45;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}

.inner-service-card__title {
    margin: 22px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 400;
}

.inner-service-card__text {
    margin: 18px 0 0;
    color: #5d6671;
    font-size: 15px;
    line-height: 1.75;
}

.inner-service-card__link {
    margin-top: auto;
    padding-top: 30px;
    color: #12233b;
    font-size: 14px;
    font-weight: 600;
}

.inner-service-card__link:hover {
    color: #c49a45;
}

/* =========================
   INNER NOTE
========================= */

.inner-note {
    padding: 78px 0;
    background: #12233b;
}

.inner-note__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
}

.inner-note__title {
    max-width: 720px;
    margin: 18px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 400;
}

.inner-note__text {
    max-width: 680px;
    margin: 20px 0 0;
    color: rgba(255,255,255,0.7);
    font-size: 16px;
    line-height: 1.75;
}

.inner-note .button {
    flex-shrink: 0;
}

/* =========================
   TEMPLATE CONSULTATION FORM
========================= */

.consultation-section .consultation-form > input,
.consultation-section .consultation-form > textarea {
    width: 100%;
    padding: 15px 16px;
    border: 1px solid #d8d2c8;
    border-radius: 0;
    background: #faf8f4;
    color: #12233b;
    font: inherit;
    outline: none;
}

.consultation-section .consultation-form > input {
    min-height: 52px;
}

.consultation-section .consultation-form > textarea {
    min-height: 150px;
    resize: vertical;
}

.consultation-section .consultation-form > input:focus,
.consultation-section .consultation-form > textarea:focus {
    border-color: #c49a45;
}

.consultation-section .consultation-form > .button {
    border: 0;
    cursor: pointer;
}

/* =========================
   INNER PAGE ADAPTIVE
========================= */

@media (max-width: 960px) {
    .inner-hero {
        padding: 75px 0 80px;
    }

    .inner-hero__title {
        font-size: 48px;
    }

    .inner-services {
        padding: 80px 0;
    }

    .inner-note__container {
        align-items: flex-start;
        flex-direction: column;
        gap: 34px;
    }
}

@media (max-width: 700px) {
    .inner-services__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .inner-hero {
        padding: 55px 0 65px;
    }

    .inner-hero__title {
        font-size: 37px;
    }

    .inner-hero__text {
        font-size: 16px;
    }

    .inner-services {
        padding: 60px 0;
    }

    .inner-service-card {
        min-height: auto;
        padding: 26px;
    }

    .inner-service-card__title {
        font-size: 26px;
    }

    .inner-note {
        padding: 60px 0;
    }

    .inner-note__title {
        font-size: 32px;
    }

    .inner-note .button {
        width: 100%;
    }
}
/* =========================
   FAMILY DISPUTES PAGE
========================= */

.family-page {
    background: #fbf8f3;
}

.family-page__container {
    width: min(1460px, 90%);
    margin: 0 auto;
}

/* HERO */

.family-hero {
    padding: 42px 0 70px;
    background: #fbf8f3;
}

.family-hero .breadcrumbs {
    margin-bottom: 40px;
}

.family-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(420px, 0.9fr);
    gap: 72px;
    align-items: stretch;
}

.family-hero__content {
    padding-top: 6px;
}

.family-hero__title {
    max-width: 790px;
    margin: 18px 0 0;
    color: #10233f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 64px;
    line-height: 1.02;
    font-weight: 400;
    letter-spacing: -0.025em;
}

.family-hero__text {
    max-width: 790px;
    margin: 30px 0 0;
    color: #39485b;
    font-size: 18px;
    line-height: 1.75;
}

.family-hero__buttons {
    margin-top: 34px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.family-directions {
    padding: 44px 44px 40px;
    border-left: 2px solid #d2a136;
    background: #f3f0ea;
}

.family-directions__list {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.family-directions__list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    color: #35445a;
    font-size: 16px;
    line-height: 1.55;
}

.family-directions__list li > span {
    flex-shrink: 0;
    color: #d2a136;
    font-size: 18px;
    line-height: 1.2;
}

/* TITLES */

.family-section-title {
    margin: 0;
    color: #10233f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: -0.02em;
}

/* SITUATIONS */

.family-situations {
    padding: 56px 0 36px;
    background: #fbf8f3;
}

.family-situations__grid {
    margin-top: 38px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 34px;
}

.family-situation {
    min-height: 78px;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 14px;
    align-items: center;
    border-top: 1px solid #ded8cf;
}

.family-situation:nth-last-child(-n + 2) {
    border-bottom: 1px solid #ded8cf;
}

.family-situation__number {
    color: #d2a136;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1;
}

.family-situation p {
    margin: 0;
    color: #334259;
    font-size: 16px;
    line-height: 1.55;
}

/* PROCESS */

.family-process {
    padding: 62px 0 86px;
    background: #fbf8f3;
}

.family-process__grid {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.family-process-card {
    min-height: 190px;
    padding: 30px 28px;
    border: 1px solid #ded8cf;
    background: #ffffff;
}

.family-process-card__number {
    color: #d2a136;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    line-height: 1;
}

.family-process-card h3 {
    margin: 24px 0 0;
    color: #10233f;
    font-size: 19px;
    line-height: 1.4;
    font-weight: 500;
}

.family-process-card p {
    margin: 12px 0 0;
    color: #738094;
    font-size: 15px;
    line-height: 1.65;
}

/* FORM SECTION OVERRIDE FOR THIS PAGE */

.family-page .consultation-section {
    padding: 90px 0;
    background: #10233f;
}

.family-page .consultation-section__container {
    width: min(1460px, 90%);
    grid-template-columns: 0.95fr 1.05fr;
    gap: 90px;
}

.family-page .consultation-section__title {
    max-width: 620px;
    font-size: 48px;
}

.family-page .consultation-section__text {
    max-width: 560px;
}

.family-page .consultation-form {
    align-self: start;
}

/* ADAPTIVE */

@media (max-width: 1100px) {
    .family-hero__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .family-directions {
        max-width: none;
    }

    .family-hero__title {
        font-size: 54px;
    }
}

@media (max-width: 860px) {
    .family-situations__grid {
        grid-template-columns: 1fr;
    }

    .family-situation:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .family-situation:last-child {
        border-bottom: 1px solid #ded8cf;
    }

    .family-process__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .family-page__container {
        width: min(100% - 32px, 1460px);
    }

    .family-hero {
        padding: 28px 0 48px;
    }

    .family-hero .breadcrumbs {
        margin-bottom: 28px;
    }

    .family-hero__title {
        font-size: 40px;
    }

    .family-hero__text {
        font-size: 16px;
    }

    .family-hero__buttons {
        flex-direction: column;
    }

    .family-hero__buttons .button {
        width: 100%;
    }

    .family-directions {
        padding: 30px 24px;
    }

    .family-section-title {
        font-size: 34px;
    }

    .family-situations {
        padding-top: 44px;
    }

    .family-situation {
        grid-template-columns: 42px 1fr;
        min-height: 86px;
    }

    .family-situation__number {
        font-size: 23px;
    }

    .family-situation p {
        font-size: 15px;
    }

    .family-process {
        padding-bottom: 60px;
    }

    .family-process-card {
        min-height: auto;
        padding: 26px 22px;
    }

    .family-page .consultation-section {
        padding: 64px 0;
    }

    .family-page .consultation-section__title {
        font-size: 36px;
    }
}
/* HERO FEATURES — как в Lovable */

.hero-features {
    margin-top: 52px;
    padding-top: 32px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    border-top: 1px solid #ded8cf;
}

.hero-feature {
    display: flex;
    align-items: center;
    gap: 15px;
}

.hero-feature__icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    color: #d0a034;
}

.hero-feature span {
    color: #10233f;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 400;
}

@media (max-width: 760px) {
    .hero-features {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}
@media (max-width: 900px) {
    .home-hero__title {
        font-size: 54px;
    }
}

@media (max-width: 640px) {
    .home-hero__title {
        font-size: 40px;
        line-height: 1.08;
    }
}
/* =========================
   WORDPRESS NAV MENU
========================= */

.site-navigation__list {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 22px;
    list-style: none;
}

.site-navigation__list > li {
    position: relative;
}

.site-navigation__list a {
    position: relative;
    display: block;
    color: #12233b;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.site-navigation__list > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -8px;
    height: 1px;
    background: #c49a45;
    transition: right 0.25s ease;
}

.site-navigation__list > li:hover > a::after,
.site-navigation__list > li.current-menu-item > a::after,
.site-navigation__list > li.current-menu-ancestor > a::after {
    right: 0;
}

/* Выпадающее меню */

.site-navigation__list .sub-menu {
    position: absolute;
    top: calc(100% + 20px);
    left: -24px;
    z-index: 100;
    width: 310px;
    margin: 0;
    padding: 14px 0;
    list-style: none;
    border: 1px solid #e3ddd1;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(18, 35, 59, 0.12);

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    pointer-events: none;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;
}

.site-navigation__list .sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -21px;
    height: 21px;
}

.site-navigation__list li:hover > .sub-menu,
.site-navigation__list li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.site-navigation__list .sub-menu li {
    position: relative;
}

.site-navigation__list .sub-menu a {
    padding: 12px 24px;
    color: #354152;
    font-size: 14px;
    line-height: 1.45;
    white-space: normal;
    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.site-navigation__list .sub-menu a:hover,
.site-navigation__list .sub-menu .current-menu-item > a {
    color: #12233b;
    background: #f4f0e8;
}

.site-navigation__list .menu-item-has-children > a {
    padding-right: 16px;
}

.site-navigation__list .menu-item-has-children > a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
}
/* =========================
   MOBILE WORDPRESS MENU
========================= */

.mobile-menu__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile-menu__list > li {
    border-bottom: 1px solid #e7e0d5;
}

.mobile-menu__list a {
    display: block;
    padding: 14px 0;
    color: #12233b;
    font-size: 16px;
    line-height: 1.4;
}

.mobile-menu__list .sub-menu {
    margin: 0;
    padding: 0 0 12px 18px;
    list-style: none;
}

.mobile-menu__list .sub-menu li {
    border: 0;
}

.mobile-menu__list .sub-menu a {
    padding: 9px 0;
    color: #66707d;
    font-size: 14px;
}

.mobile-menu__list .current-menu-item > a,
.mobile-menu__list .current-menu-ancestor > a {
    color: #c49a45;
}
/* =========================
   CONTACTS PAGE
========================= */

.contacts-page {
    background: #faf7f2;
}

.contacts-page__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

/* HERO */

.contacts-hero {
    padding: 46px 0 92px;
    background: #f1ede5;
}

.contacts-hero .breadcrumbs {
    margin-bottom: 42px;
}

.contacts-hero__grid {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    gap: 90px;
    align-items: start;
}

.contacts-hero__title {
    max-width: 700px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    line-height: 1.08;
    font-weight: 400;
}

.contacts-hero__text {
    max-width: 650px;
    margin: 28px 0 0;
    color: #4f5966;
    font-size: 18px;
    line-height: 1.75;
}

.contacts-hero__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 26px;
    padding: 42px;
    border-left: 2px solid #c49a45;
    background: #ffffff;
}

.contacts-detail {
    min-height: 105px;
}

.contacts-detail__label {
    display: block;
    color: #b88a2b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.contacts-detail__value {
    display: block;
    margin-top: 13px;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    line-height: 1.4;
    font-style: normal;
    font-weight: 400;
}

a.contacts-detail__value:hover {
    color: #c49a45;
}

/* OFFICE */

.contacts-office {
    padding: 100px 0;
    background: #faf7f2;
}

.contacts-office__grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 90px;
    align-items: center;
}

.contacts-office__title {
    max-width: 650px;
    margin: 20px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.15;
    font-weight: 400;
}

.contacts-office__text {
    max-width: 680px;
    margin: 26px 0 0;
    color: #58626e;
    font-size: 17px;
    line-height: 1.75;
}

.contacts-office__list {
    list-style: none;
    margin: 34px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.contacts-office__list li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    color: #354152;
    font-size: 16px;
    line-height: 1.6;
}

.contacts-office__list li > span {
    flex-shrink: 0;
    color: #c49a45;
    font-weight: 700;
}

.contacts-map {
    min-height: 440px;
}

.contacts-map__placeholder {
    min-height: 440px;
    height: 100%;
    padding: 44px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid #ded7cb;
    background:
        linear-gradient(rgba(18, 35, 59, 0.8), rgba(18, 35, 59, 0.8)),
        repeating-linear-gradient(
            45deg,
            #d8d1c6 0,
            #d8d1c6 1px,
            transparent 1px,
            transparent 30px
        ),
        #ece7de;
}

.contacts-map__label {
    color: #d9bb7b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.contacts-map__placeholder p {
    max-width: 500px;
    margin: 16px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.35;
}

/* ADAPTIVE */

@media (max-width: 960px) {
    .contacts-hero {
        padding-bottom: 78px;
    }

    .contacts-hero__grid,
    .contacts-office__grid {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .contacts-hero__title {
        font-size: 48px;
    }

    .contacts-office {
        padding: 80px 0;
    }

    .contacts-office__title {
        font-size: 42px;
    }
}

@media (max-width: 640px) {
    .contacts-page__container {
        width: min(100% - 32px, 1320px);
    }

    .contacts-hero {
        padding: 30px 0 60px;
    }

    .contacts-hero .breadcrumbs {
        margin-bottom: 30px;
    }

    .contacts-hero__title {
        font-size: 38px;
    }

    .contacts-hero__text {
        font-size: 16px;
    }

    .contacts-hero__details {
        grid-template-columns: 1fr;
        padding: 28px 24px;
        gap: 22px;
    }

    .contacts-detail {
        min-height: auto;
        padding-bottom: 20px;
        border-bottom: 1px solid #e6e0d5;
    }

    .contacts-detail:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .contacts-detail__value {
        font-size: 20px;
    }

    .contacts-office {
        padding: 60px 0;
    }

    .contacts-office__title {
        font-size: 34px;
    }

    .contacts-office__text,
    .contacts-office__list li {
        font-size: 15px;
    }

    .contacts-map,
    .contacts-map__placeholder {
        min-height: 340px;
    }

    .contacts-map__placeholder {
        padding: 28px;
    }

    .contacts-map__placeholder p {
        font-size: 23px;
    }
}
/* ======================================================
   ABOUT PAGE
====================================================== */

.about-page {
    background: #faf7f2;
}

.about-page__container{
    width:min(1320px,92%);
    margin:0 auto;
}

/* HERO */

.about-page-hero{
    padding:46px 0 90px;
    background:#f1ede5;
}

.about-page-hero .breadcrumbs{
    margin-bottom:42px;
}

.about-page-hero__grid{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:90px;
    align-items:start;
}

.about-page-hero__title{
    margin:18px 0 0;
    color:#12233b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:58px;
    line-height:1.08;
    font-weight:400;
    max-width:760px;
}

.about-page-hero__lead{
    margin-top:28px;
    color:#4e5865;
    font-size:18px;
    line-height:1.8;
    max-width:700px;
}

.about-page-hero__note{
    margin-top:22px;
    padding-left:22px;
    border-left:3px solid #c49a45;
    color:#59636e;
    line-height:1.8;
}

.about-page-hero__facts{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.about-page-fact{
    padding:28px 30px;
    background:#fff;
    border-left:3px solid #c49a45;
}

.about-page-fact__label{
    display:block;
    color:#b88a2b;
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.about-page-fact__value{
    display:block;
    margin-top:12px;
    color:#12233b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    line-height:1.35;
    font-weight:400;
}

/* MISSION */

.about-mission{
    padding:100px 0;
    background:#fff;
}

.about-mission__grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:90px;
}

.about-mission__title{
    margin-top:18px;
    color:#12233b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:48px;
    line-height:1.15;
    font-weight:400;
}

.about-mission__content p{
    margin:0 0 24px;
    color:#59636f;
    font-size:17px;
    line-height:1.9;
}

/* PRINCIPLES */

.about-principles{
    padding:100px 0;
    background:#faf7f2;
}

.about-principles__grid{
    margin-top:54px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:34px;
}

.about-principle-card{
    padding:40px;
    background:#fff;
    border:1px solid #ebe3d6;
}

.about-principle-card__number{
    color:#c49a45;
    font-family:Georgia,serif;
    font-size:42px;
}

.about-principle-card__title{
    margin:20px 0 16px;
    color:#12233b;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:400;
}

.about-principle-card__text{
    color:#5b6672;
    line-height:1.8;
}

/* FORMAT */

.about-format{
    padding:100px 0;
    background:#12233b;
}

.about-format__grid{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:90px;
    align-items:start;
}

.about-format__title{
    margin:20px 0 0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:50px;
    font-weight:400;
    line-height:1.15;
}

.about-format__text{
    margin-top:28px;
    color:rgba(255,255,255,.78);
    line-height:1.9;
}

.about-format__list{
    list-style:none;
    margin:0;
    padding:40px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.about-format__list li{
    display:flex;
    gap:14px;
    margin-bottom:20px;
    color:#fff;
    line-height:1.7;
}

.about-format__list li:last-child{
    margin-bottom:0;
}

.about-format__list span:first-child{
    color:#d5b36a;
    font-weight:bold;
}

.section-eyebrow--light{
    color:#d5b36a;
}

/* MOBILE */

@media(max-width:980px){

.about-page-hero__grid,
.about-mission__grid,
.about-format__grid{
grid-template-columns:1fr;
gap:50px;
}

.about-principles__grid{
grid-template-columns:1fr;
}

.about-page-hero__title{
font-size:46px;
}

.about-mission__title{
font-size:40px;
}

.about-format__title{
font-size:42px;
}

}

@media(max-width:640px){

.about-page-hero{
padding:30px 0 60px;
}

.about-page-hero__title{
font-size:36px;
}

.about-mission,
.about-principles,
.about-format{
padding:70px 0;
}

.about-principle-card{
padding:28px;
}

.about-page-fact{
padding:22px;
}

.about-format__list{
padding:28px;
}

}
/* Кнопки после принципов — как в Lovable */

.about-principles__actions {
    margin-top: 46px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 14px;
}

.about-principles__actions .button {
    min-height: 52px;
}

@media (max-width: 640px) {
    .about-principles__actions {
        margin-top: 34px;
        flex-direction: column;
        align-items: stretch;
    }

    .about-principles__actions .button {
        width: 100%;
    }
}
/* ======================================================
   LAWYERS PAGE
====================================================== */

.lawyers-page {
    background: #faf7f2;
}

.lawyers-page__container {
    width: min(1320px, 92%);
    margin: 0 auto;
}

/* HERO */

.lawyers-page-hero {
    padding: 46px 0 90px;
    background: #f1ede5;
}

.lawyers-page-hero .breadcrumbs {
    margin-bottom: 42px;
}

.lawyers-page-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 80px;
    align-items: start;
}

.lawyers-page-hero__title {
    max-width: 780px;
    margin: 18px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 58px;
    line-height: 1.08;
    font-weight: 400;
}

.lawyers-page-hero__text {
    max-width: 700px;
    margin: 28px 0 0;
    color: #4f5966;
    font-size: 18px;
    line-height: 1.78;
}

.lawyers-page-hero__buttons {
    margin-top: 36px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.lawyers-page-hero__aside {
    padding: 40px;
    border-left: 2px solid #c49a45;
    background: #ffffff;
}

.lawyers-page-hero__list {
    list-style: none;
    margin: 28px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.lawyers-page-hero__list li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    color: #354152;
    font-size: 16px;
    line-height: 1.6;
}

.lawyers-page-hero__list li > span:first-child {
    flex-shrink: 0;
    color: #c49a45;
}

/* DIRECTORY */

.lawyers-directory {
    padding: 100px 0;
    background: #faf7f2;
}

.lawyers-directory__grid {
    margin-top: 56px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}

.lawyers-directory-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid #ded7cb;
    background: #ffffff;
}

.lawyers-directory-card__visual {
    aspect-ratio: 4 / 5;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(rgba(18, 35, 59, 0.82), rgba(18, 35, 59, 0.82)),
        repeating-linear-gradient(
            45deg,
            rgba(255, 255, 255, 0.05) 0,
            rgba(255, 255, 255, 0.05) 1px,
            transparent 1px,
            transparent 26px
        ),
        #12233b;
}

.lawyers-directory-card__initials {
    width: 92px;
    height: 92px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(213, 179, 106, 0.65);
    border-radius: 50%;
    color: #d5b36a;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.lawyers-directory-card__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 30px;
}

.lawyers-directory-card__status {
    color: #c49a45;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.lawyers-directory-card__name {
    margin: 13px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 400;
}

.lawyers-directory-card__registration {
    margin: 9px 0 0;
    color: #89919b;
    font-size: 13px;
    line-height: 1.5;
}

.lawyers-directory-card__description {
    margin: 22px 0 0;
    color: #505a67;
    font-size: 15px;
    line-height: 1.75;
}

.lawyers-directory-card__specialization {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid #e5ded3;
}

.lawyers-directory-card__label {
    color: #b88a2b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.lawyers-directory-card__specialization ul {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.lawyers-directory-card__specialization li {
    position: relative;
    padding-left: 17px;
    color: #354152;
    font-size: 14px;
    line-height: 1.55;
}

.lawyers-directory-card__specialization li::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 7px;
    height: 1px;
    background: #c49a45;
}

.lawyers-directory-card__link {
    margin-top: auto;
    padding-top: 28px;
    color: #12233b;
    font-size: 14px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.lawyers-directory-card__link:hover {
    color: #c49a45;
}

/* SELECTION */

.lawyers-selection {
    padding: 92px 0;
    background: #12233b;
}

.lawyers-selection__grid {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    gap: 90px;
    align-items: start;
}

.lawyers-selection__title {
    max-width: 720px;
    margin: 20px 0 0;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1.16;
    font-weight: 400;
}

.lawyers-selection__content p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 17px;
    line-height: 1.8;
}

.lawyers-selection__content .button {
    margin-top: 34px;
}

/* ADAPTIVE */

@media (max-width: 1050px) {
    .lawyers-page-hero__grid,
    .lawyers-selection__grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .lawyers-directory__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lawyers-page-hero__title {
        font-size: 48px;
    }
}

@media (max-width: 640px) {
    .lawyers-page__container {
        width: min(100% - 32px, 1320px);
    }

    .lawyers-page-hero {
        padding: 30px 0 60px;
    }

    .lawyers-page-hero .breadcrumbs {
        margin-bottom: 30px;
    }

    .lawyers-page-hero__title {
        font-size: 38px;
    }

    .lawyers-page-hero__text {
        font-size: 16px;
    }

    .lawyers-page-hero__buttons {
        flex-direction: column;
    }

    .lawyers-page-hero__buttons .button {
        width: 100%;
    }

    .lawyers-page-hero__aside {
        padding: 28px 24px;
    }

    .lawyers-directory {
        padding: 60px 0;
    }

    .lawyers-directory__grid {
        margin-top: 40px;
        grid-template-columns: 1fr;
    }

    .lawyers-directory-card__visual {
        min-height: 250px;
    }

    .lawyers-directory-card__content {
        padding: 25px;
    }

    .lawyers-directory-card__name {
        font-size: 27px;
    }

    .lawyers-selection {
        padding: 64px 0;
    }

    .lawyers-selection__title {
        font-size: 36px;
    }

    .lawyers-selection__content p {
        font-size: 15px;
    }

    .lawyers-selection__content .button {
        width: 100%;
    }
}

/* ======================================================
   PRACTICE PAGE
====================================================== */

.practice-page{
    background:#faf7f2;
}

.practice-page__container{
    width:min(1320px,92%);
    margin:0 auto;
}

/* HERO */

.practice-page-hero{
    padding:46px 0 90px;
    background:#f1ede5;
}

.practice-page-hero .breadcrumbs{
    margin-bottom:42px;
}

.practice-page-hero__grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:80px;
    align-items:start;
}

.practice-page-hero__title{
    margin:18px 0 0;
    color:#12233b;
    font-family:Georgia,"Times New Roman",serif;
    font-size:58px;
    font-weight:400;
    line-height:1.08;
    max-width:760px;
}

.practice-page-hero__text{
    margin-top:28px;
    max-width:700px;
    color:#4f5966;
    font-size:18px;
    line-height:1.8;
}

.practice-page-hero .button{
    margin-top:34px;
}

.practice-page-hero__aside{
    padding:40px;
    background:#fff;
    border-left:2px solid #c49a45;
}

.practice-page-hero__list{
    list-style:none;
    margin:28px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.practice-page-hero__list li{
    display:flex;
    gap:12px;
    color:#354152;
    line-height:1.6;
}

.practice-page-hero__list li span:first-child{
    color:#c49a45;
}

/* CASES */

.practice-directory{
    padding:100px 0;
}

.practice-directory__grid{
    margin-top:56px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
}

.practice-directory-card{
    background:#fff;
    border:1px solid #e4ddd2;
    padding:36px;
}

.practice-directory-card__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.practice-directory-card__number{
    color:#c49a45;
    font-family:Georgia,serif;
    font-size:40px;
}

.practice-directory-card__category{
    color:#c49a45;
    font-size:11px;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.practice-directory-card__title{
    margin:22px 0 28px;
    color:#12233b;
    font-family:Georgia,serif;
    font-size:32px;
    line-height:1.2;
    font-weight:400;
}

.practice-directory-card__details{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.practice-directory-card__details dt{
    margin-bottom:8px;
    color:#b88a2b;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.practice-directory-card__details dd{
    margin:0;
    color:#56616d;
    line-height:1.8;
}

.practice-directory-card__result{
    color:#12233b;
    font-weight:600;
}

/* DISCLAIMER */

.practice-disclaimer{
    padding:95px 0;
    background:#12233b;
}

.practice-disclaimer__grid{
    display:grid;
    grid-template-columns:1fr .9fr;
    gap:90px;
}

.practice-disclaimer__title{
    margin:20px 0 0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:48px;
    line-height:1.15;
    font-weight:400;
}

.practice-disclaimer__content p{
    margin:0;
    color:rgba(255,255,255,.76);
    line-height:1.9;
}

.practice-disclaimer__content .button{
    margin-top:34px;
}

/* MOBILE */

@media(max-width:980px){

.practice-page-hero__grid,
.practice-disclaimer__grid{
grid-template-columns:1fr;
gap:50px;
}

.practice-directory__grid{
grid-template-columns:1fr;
}

.practice-page-hero__title{
font-size:46px;
}

.practice-disclaimer__title{
font-size:40px;
}

}

@media(max-width:640px){

.practice-page__container{
width:min(100% - 32px,1320px);
}

.practice-page-hero{
padding:30px 0 60px;
}

.practice-page-hero .breadcrumbs{
margin-bottom:30px;
}

.practice-page-hero__title{
font-size:38px;
}

.practice-page-hero__text{
font-size:16px;
}

.practice-directory{
padding:60px 0;
}

.practice-directory__grid{
margin-top:40px;
}

.practice-directory-card{
padding:26px;
}

.practice-directory-card__title{
font-size:28px;
}

.practice-disclaimer{
padding:60px 0;
}

.practice-disclaimer__title{
font-size:34px;
}

.practice-disclaimer__content .button{
width:100%;
}

}
/* ======================================================
   PRIVACY POLICY PAGE
====================================================== */

.privacy-page {
    background: #faf7f2;
}

.privacy-page__container {
    width: min(1120px, 92%);
    margin: 0 auto;
}

/* HERO */

.privacy-hero {
    padding: 46px 0 78px;
    background: #f1ede5;
}

.privacy-hero .breadcrumbs {
    margin-bottom: 38px;
}

.privacy-hero__title {
    max-width: 900px;
    margin: 18px 0 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 56px;
    line-height: 1.08;
    font-weight: 400;
}

.privacy-hero__text {
    max-width: 760px;
    margin: 28px 0 0;
    color: #4f5966;
    font-size: 18px;
    line-height: 1.8;
}

.privacy-hero__date {
    margin: 24px 0 0;
    color: #818995;
    font-size: 13px;
    line-height: 1.5;
}

/* DOCUMENT */

.privacy-content {
    padding: 90px 0 110px;
    background: #faf7f2;
}

.privacy-content__container {
    width: min(1320px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 70px;
    align-items: start;
}

/* NAVIGATION */

.privacy-navigation {
    position: sticky;
    top: 120px;
    padding: 28px;
    border-left: 2px solid #c49a45;
    background: #ffffff;
}

.privacy-navigation__title {
    display: block;
    margin-bottom: 20px;
    color: #b88a2b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.privacy-navigation nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.privacy-navigation a {
    color: #59636f;
    font-size: 13px;
    line-height: 1.55;
    transition: color 0.2s ease;
}

.privacy-navigation a:hover {
    color: #c49a45;
}

/* TEXT */

.privacy-document {
    min-width: 0;
    padding: 54px 58px;
    border: 1px solid #e2dbd0;
    background: #ffffff;
}

.privacy-document section {
    scroll-margin-top: 120px;
}

.privacy-document section + section {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid #e6dfd4;
}

.privacy-document h2 {
    margin: 0;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 400;
}

.privacy-document p,
.privacy-document li {
    color: #56616d;
    font-size: 16px;
    line-height: 1.85;
}

.privacy-document p {
    margin: 22px 0 0;
}

.privacy-document ul,
.privacy-document ol {
    margin: 22px 0 0;
    padding-left: 24px;
}

.privacy-document li + li {
    margin-top: 10px;
}

.privacy-document a {
    color: #b88a2b;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.privacy-document a:hover {
    color: #8f691f;
}

/* OPERATOR DETAILS */

.privacy-details {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #e4ddd2;
    border-left: 1px solid #e4ddd2;
}

.privacy-details > div {
    min-height: 130px;
    padding: 24px;
    border-right: 1px solid #e4ddd2;
    border-bottom: 1px solid #e4ddd2;
}

.privacy-details span {
    display: block;
    color: #b88a2b;
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.privacy-details strong {
    display: block;
    margin-top: 12px;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
}

/* ADAPTIVE */

@media (max-width: 980px) {
    .privacy-content__container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .privacy-navigation {
        position: static;
    }

    .privacy-navigation nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 24px;
    }

    .privacy-hero__title {
        font-size: 46px;
    }
}

@media (max-width: 640px) {
    .privacy-page__container,
    .privacy-content__container {
        width: min(100% - 32px, 1320px);
    }

    .privacy-hero {
        padding: 30px 0 58px;
    }

    .privacy-hero .breadcrumbs {
        margin-bottom: 28px;
    }

    .privacy-hero__title {
        font-size: 36px;
    }

    .privacy-hero__text {
        font-size: 16px;
    }

    .privacy-content {
        padding: 58px 0 70px;
    }

    .privacy-navigation {
        padding: 24px;
    }

    .privacy-navigation nav {
        grid-template-columns: 1fr;
    }

    .privacy-document {
        padding: 30px 24px;
    }

    .privacy-document section + section {
        margin-top: 42px;
        padding-top: 36px;
    }

    .privacy-document h2 {
        font-size: 27px;
    }

    .privacy-document p,
    .privacy-document li {
        font-size: 15px;
    }

    .privacy-details {
        grid-template-columns: 1fr;
    }

    .privacy-details > div {
        min-height: auto;
    }
}
/* Интерактивная карта на странице контактов */

.contacts-map {
    min-height: 440px;
    overflow: hidden;
    border: 1px solid #ded7cb;
    background: #ece7de;
}

.contacts-map__iframe {
    display: block;
    width: 100%;
    height: 440px;
    border: 0;
}

@media (max-width: 640px) {
    .contacts-map,
    .contacts-map__iframe {
        min-height: 340px;
        height: 340px;
    }
}
.contacts-map {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    border: 1px solid #ded7cb;
    background: #ece7de;
}

.contacts-map__iframe {
    display: block;
    width: 100%;
    height: 440px;
    border: 0;
}

.contacts-map__card {
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 3;
    width: min(320px, calc(100% - 48px));
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 30px rgba(18, 35, 59, 0.18);
}

.contacts-map__card strong {
    display: block;
    color: #12233b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
}

.contacts-map__card span {
    display: block;
    margin-top: 7px;
    color: #5c6672;
    font-size: 14px;
    line-height: 1.5;
}

.contacts-map__card-link {
    color: #b88a2b !important;
    font-weight: 600;
}

@media (max-width: 640px) {
    .contacts-map,
    .contacts-map__iframe {
        min-height: 340px;
        height: 340px;
    }

    .contacts-map__card {
        left: 14px;
        right: 14px;
        bottom: 14px;
        width: auto;
        padding: 15px 16px;
    }
}
/* Сообщение после отправки формы */

.consultation-form-message {
    grid-column: 1 / -1;
    margin-bottom: 24px;
    padding: 16px 18px;
    border: 1px solid;
    font-size: 15px;
    line-height: 1.6;
}

.consultation-form-message--success {
    border-color: rgba(213, 179, 106, 0.65);
    background: rgba(213, 179, 106, 0.12);
    color: #ffffff;
}

.consultation-form-message--error {
    border-color: rgba(255, 120, 120, 0.55);
    background: rgba(255, 120, 120, 0.1);
    color: #ffffff;
}

/* Lawyer photo placeholders */
.lawyer-card__photo.lawyer-card__photo--placeholder,
.landing-lawyer-card__photo {
    aspect-ratio: 4 / 5;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 26px;
    background: #12233b;
    border-bottom: 1px solid rgba(213, 179, 106, .45);
    color: #d5b36a;
    text-align: center;
}
.lawyer-card__photo--placeholder .lawyer-card__initials,
.landing-lawyer-card__initials {
    width: auto;
    height: auto;
    border-radius: 0;
    display: block;
    background: transparent;
    color: #d5b36a;
    font-size: 58px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: .08em;
}
.lawyer-card__photo--placeholder small,
.landing-lawyer-card__photo small {
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
}
.lawyers-directory-card__photo-note {
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
}
.landing-lawyers-section {
    padding: 72px 0;
    background: #f8f6f1;
}
.landing-lawyers-section > .landing-lawyers-section__container {
    width: min(1460px, 90%);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}
.landing-lawyers-section .section-heading {
    margin-left: 0;
}
.landing-lawyers-section .lawyers-grid {
    width: 100%;
}
@media (max-width: 767px) {
    .landing-lawyers-section {
        padding: 48px 0;
    }
    .landing-lawyers-section > .landing-lawyers-section__container {
        width: min(100% - 32px, 1460px);
    }
    .lawyer-card__photo.lawyer-card__photo--placeholder,
    .landing-lawyer-card__photo {
        min-height: 0;
        height: auto;
    }
}


/* Direct landing conversion blocks */
.direct-cost { padding: 88px 0; background: #12233b; }
.direct-cost__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 80px; align-items: start; }
.direct-cost .family-section-title { max-width: 760px; margin-top: 18px; color: #fff; }
.direct-cost__lead { max-width: 720px; margin: 24px 0 0; color: rgba(255,255,255,.76); font-size: 17px; line-height: 1.8; }
.direct-cost .button { margin-top: 32px; background: #d5b36a; color: #12233b; }
.direct-cost .button:hover { background: #e3c98e; }
.direct-cost__factors { list-style: none; margin: 0; padding: 34px 36px; border: 1px solid rgba(213,179,106,.38); background: rgba(255,255,255,.05); }
.direct-cost__factors li { display: flex; gap: 13px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.09); color: #fff; font-size: 16px; line-height: 1.55; }
.direct-cost__factors li:last-child { border-bottom: 0; }
.direct-cost__factors li span { flex: 0 0 auto; color: #d5b36a; }
.direct-faq { padding: 92px 0; background: #faf7f2; }
.direct-faq .family-section-title { margin-top: 18px; }
.direct-faq__list { margin-top: 44px; border-top: 1px solid #ded7cb; }
.direct-faq__item { border-bottom: 1px solid #ded7cb; background: #fff; }
.direct-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 28px; color: #12233b; font-family: Georgia, "Times New Roman", serif; font-size: 21px; line-height: 1.35; cursor: pointer; list-style: none; }
.direct-faq__item summary::-webkit-details-marker { display: none; }
.direct-faq__icon { flex: 0 0 auto; color: #b88a2b; font-family: Arial, sans-serif; font-size: 28px; font-weight: 300; transition: transform .2s ease; }
.direct-faq__item[open] .direct-faq__icon { transform: rotate(45deg); }
.direct-faq__answer { padding: 0 28px 26px; }
.direct-faq__answer p { max-width: 900px; margin: 0; color: #59636f; font-size: 16px; line-height: 1.8; }
.direct-faq__cta { display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-top: 34px; padding: 28px 30px; border-left: 2px solid #c49a45; background: #f1ede5; }
.direct-faq__cta p { max-width: 760px; margin: 0; color: #4f5966; line-height: 1.7; }
.direct-faq__cta .button { flex: 0 0 auto; }
@media (max-width: 900px) {
    .direct-cost__grid { grid-template-columns: 1fr; gap: 42px; }
    .direct-faq__cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
    .direct-cost, .direct-faq { padding: 60px 0; }
    .direct-cost__factors { padding: 22px; }
    .direct-faq__item summary { padding: 21px 20px; font-size: 18px; }
    .direct-faq__answer { padding: 0 20px 22px; }
    .direct-faq__cta { padding: 24px 22px; }
    .direct-faq__cta .button, .direct-cost .button { width: 100%; }
}


/* MGKA SEO/GEO package 3: related services */
.mgka-related-services{padding:76px 0;background:#f1ede5}
.mgka-related-services__container{width:min(1320px,92%);margin:0 auto}
.mgka-related-services__title{max-width:760px;margin:16px 0 0;color:#12233b;font-family:Georgia,"Times New Roman",serif;font-size:42px;line-height:1.18;font-weight:400}
.mgka-related-services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:34px}
.mgka-related-services__card{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:96px;padding:24px 26px;border:1px solid #ded7cb;background:#fff;color:#12233b;font-size:17px;line-height:1.45;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.mgka-related-services__card:hover{border-color:#c49a45;transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,35,59,.08)}
.mgka-related-services__card span:last-child{flex:0 0 auto;color:#b88a2b;font-size:24px}
.lawyers-directory-card[id]{scroll-margin-top:120px}
.lawyers-directory-card__specialization a{color:inherit;text-decoration:none}
.lawyers-directory-card__specialization a:hover{color:#b88a2b}
.practice-directory-card__service-link{display:inline-flex;margin-top:18px;color:#b88a2b;font-size:14px;font-weight:600}
@media(max-width:980px){.mgka-related-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.mgka-related-services{padding:56px 0}.mgka-related-services__container{width:min(100% - 32px,1320px)}.mgka-related-services__title{font-size:34px}.mgka-related-services__grid{grid-template-columns:1fr;margin-top:28px}.mgka-related-services__card{min-height:82px;padding:20px 22px}}
.lawyer-card__photo--image,
.lawyers-directory-card__visual--photo {
    overflow: hidden;
    background: #e9eef0;
}
.lawyer-card__photo--image img,
.lawyers-directory-card__visual--photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.lawyer-card__photo--image {
    aspect-ratio: 4 / 5;
    height: auto;
    margin-bottom: 26px;
}
.lawyers-directory-card__visual--photo {
    aspect-ratio: 4 / 5;
    min-height: 0;
}
.consultation-section__price {
    max-width: 560px;
    margin: 18px 0 0;
    color: #d5b36a;
    font-size: 16px;
    line-height: 1.65;
    font-weight: 600;
}
.recruitment-page .practice-disclaimer__content a:not(.button) { color: #fff; }
@media (max-width: 767px) {
    .lawyer-card__photo--image { height: auto; }
    .lawyers-directory-card__visual--photo { min-height: 0; }
}
/* Yandex Direct conversion contacts — 2026-09-02 */
.consultation-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.consultation-messengers .button {
    min-width: 190px;
    text-align: center;
}

.consultation-section .consultation-messengers .button--outline {
    color: #fff;
    border-color: #d8a93d;
}

.consultation-section .consultation-messengers .button--outline:hover,
.consultation-section .consultation-messengers .button--outline:focus-visible {
    color: #102742;
    background: #d8a93d;
}

.mgka-mobile-contact-bar {
    display: none;
}

@media (max-width: 767px) {
    body:has(.mgka-mobile-contact-bar) {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }

    .consultation-messengers {
        display: grid;
        grid-template-columns: 1fr;
    }

    .consultation-messengers .button {
        width: 100%;
        min-width: 0;
    }

    .mgka-mobile-contact-bar {
        position: fixed;
        z-index: 9998;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-bottom: env(safe-area-inset-bottom);
        background: #102742;
        border-top: 1px solid rgba(216, 169, 61, .55);
        box-shadow: 0 -8px 24px rgba(5, 20, 38, .22);
    }

    .mgka-mobile-contact-bar a {
        display: flex;
        min-height: 58px;
        align-items: center;
        justify-content: center;
        padding: 8px 4px;
        color: #fff;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        border-right: 1px solid rgba(255, 255, 255, .12);
    }

    .mgka-mobile-contact-bar a:last-child {
        color: #102742;
        background: #d8a93d;
        border-right: 0;
    }
}
