/*
Theme Name: DianaShakirova Child
Template: blocksy
Version: 1.0.0
Text Domain: dianashakirova-child
*/

/* ==================================================
   GLOBAL HEADER POLISH
   ================================================== */

[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {
    color: #111 !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a:hover,
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li.current-menu-item > a,
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li.current-menu-ancestor > a {
    color: #95733f !important;
}

/* ==================================================
   HOME HERO — DESKTOP
   ================================================== */

.home-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #f7f5f1;
}

.home-hero::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: 60%;
    background: url('https://dianashakirova.com/wp-content/uploads/2026/09/50598.jpg') 58% center / cover no-repeat;
    z-index: 1;
}

.home-hero::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 34%;
    width: 25%;
    background: linear-gradient(
        90deg,
        #f7f5f1 0%,
        rgba(247,245,241,.96) 28%,
        rgba(247,245,241,.56) 65%,
        rgba(247,245,241,0) 100%
    );
    z-index: 2;
    pointer-events: none;
}

.home-hero__content {
    position: relative;
    z-index: 3;
    width: min(1360px, calc(100% - 120px));
    margin: 0 auto;
    padding: 74px 0;
}

.home-hero__content > * {
    max-width: 650px;
}

.home-hero__eyebrow {
    margin: 0 0 27px;
    color: #95733f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-hero h1 {
    max-width: 650px;
    margin: 0 0 28px;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 3.5vw, 64px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.home-hero__divider {
    width: 34px;
    height: 1px;
    margin: 0 0 25px;
    background: #a7834d;
}

.home-hero__text {
    max-width: 500px;
    margin: 0;
    color: #292622;
    font-size: 16px;
    line-height: 1.72;
}

.home-hero__meta {
    max-width: 590px;
    margin: 23px 0 0;
    color: #746b61;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.home-hero__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 31px;
}

.home-hero__button {
    margin: 0;
    padding: 0;
    background: transparent;
}

.home-hero__button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 47px;
    padding: 0 22px;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    text-decoration: none;
}

.home-hero__button--primary .wp-block-button__link {
    color: #fff;
    background: #111;
}

.home-hero__button--secondary .wp-block-button__link {
    color: #17130f;
    background: transparent;
    border: 1px solid rgba(17,17,17,.18);
}

/* ==================================================
   HOME PROOF STRIP
   ================================================== */

.home-proof {
    margin: 0;
    background: #fff;
    border-top: 1px solid rgba(23,19,15,.08);
    border-bottom: 1px solid rgba(23,19,15,.08);
}

.home-proof__grid {
    width: min(1280px, calc(100% - 120px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-proof__item {
    padding: 28px 28px 26px;
    border-left: 1px solid rgba(23,19,15,.08);
}

.home-proof__item:last-child {
    border-right: 1px solid rgba(23,19,15,.08);
}

.home-proof__value {
    margin: 0;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
}

.home-proof__label {
    margin: 9px 0 0;
    color: #746b61;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.home-proof__note {
    width: min(1280px, calc(100% - 120px));
    margin: 0 auto;
    padding: 8px 0 10px;
    color: #92887c;
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: .13em;
    text-align: right;
    text-transform: uppercase;
}

/* ==================================================
   HOME SERVICES — DESKTOP
   ================================================== */

.home-services {
    padding: 116px max(60px, calc((100vw - 1280px) / 2)) 108px;
    color: #f5f0e8;
    background:
        radial-gradient(circle at 88% 15%, rgba(185,150,93,.09), transparent 30%),
        #17130f;
}

.home-services__header {
    max-width: 850px;
    margin-bottom: 58px;
}

.home-services__eyebrow {
    margin: 0 0 27px;
    color: #b9965d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-services h2 {
    max-width: 760px;
    margin: 0;
    color: #f7f2ea;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(50px, 4vw, 66px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.04em;
}

.home-services__intro {
    max-width: 640px;
    margin: 25px 0 0;
    color: rgba(247,242,234,.72);
    font-size: 16px;
    line-height: 1.72;
}

.home-services__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(185,150,93,.32);
    border-bottom: 1px solid rgba(185,150,93,.22);
}

.home-services__item {
    min-height: 260px;
    padding: 45px 40px;
    transition: background-color .25s ease;
}

.home-services__item + .home-services__item {
    border-left: 1px solid rgba(185,150,93,.22);
}

.home-services__item h3 {
    margin: 0 0 18px;
    color: #f7f2ea;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.08;
}

.home-services__item p {
    max-width: 310px;
    margin: 0;
    color: rgba(247,242,234,.68);
    font-size: 14px;
    line-height: 1.75;
}

.home-services__item:hover {
    background: rgba(185,150,93,.045);
}

.home-services__link {
    display: table;
    margin: 30px 0 0 auto;
    padding-bottom: 7px;
    color: #f7f2ea;
    border-bottom: 1px solid #b9965d;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-decoration: none;
}

.home-services__link:hover {
    color: #d1ad70;
    border-color: #d1ad70;
}

/* ==================================================
   HOME ADVANTAGES — DESKTOP
   ================================================== */

.home-advantages {
    display: grid;
    grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
    gap: clamp(80px,8vw,140px);
    width: 100%;
    margin: 0;
    padding: 110px max(60px, calc((100vw - 1280px) / 2)) 116px;
    background: #f3eee5;
}

.home-advantages__header {
    max-width: 470px;
}

.home-advantages__eyebrow {
    margin: 0 0 27px;
    color: #95733f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-advantages h2 {
    margin: 0;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px,3.8vw,60px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.04em;
}

.home-advantages__list {
    border-top: 1px solid rgba(23,19,15,.20);
}

.home-advantages__item {
    padding: 31px 0 33px;
    border-bottom: 1px solid rgba(23,19,15,.20);
}

.home-advantages__item::before {
    content: "";
    display: block;
    width: 34px;
    height: 1px;
    margin-bottom: 18px;
    background: #b9965d;
}

.home-advantages__item-content h3 {
    margin: 0 0 10px;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.12;
}

.home-advantages__item-content p {
    max-width: 560px;
    margin: 0;
    color: #5f584f;
    font-size: 15px;
    line-height: 1.72;
}

/* ==================================================
   HOME VIDEO — DESKTOP
   ================================================== */

.home-video {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(420px,.85fr);
    align-items: stretch;
    background: #eee7dc;
}

.home-video__media {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #17130f;
}

.home-video__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.home-video__media .wp-block-image {
    margin: 0;
}

.home-video__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.04));
}

.home-video__play {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 92px;
    height: 92px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    background: rgba(17,17,17,.30);
}

.home-video__play-icon {
    display: block;
    width: 0;
    height: 0;
    margin: 0 0 0 6px;
    overflow: hidden;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #fff;
    font-size: 0;
    line-height: 0;
}

.home-video__status {
    position: absolute;
    z-index: 2;
    left: 36px;
    bottom: 31px;
    margin: 0;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .17em;
}

.home-video__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 78px clamp(46px,5vw,86px);
}

.home-video__eyebrow {
    margin: 0 0 27px;
    color: #95733f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-video h2 {
    margin: 0;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px,3vw,52px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.home-video__text {
    max-width: 420px;
    margin: 26px 0 0;
    color: #5c554e;
    font-size: 15px;
    line-height: 1.78;
}

.home-video__meta {
    margin: 28px 0 0;
    padding-top: 20px;
    border-top: 1px solid rgba(23,19,15,.15);
    color: #7d746a;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .13em;
    text-transform: uppercase;
}

/* ==================================================
   HOME REVIEWS — DESKTOP
   ================================================== */

.home-reviews {
    padding: 112px max(60px, calc((100vw - 1280px) / 2)) 116px;
    background: #f3eee5;
}

.home-reviews__header {
    display: grid;
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: 80px;
    align-items: end;
    margin-bottom: 66px;
}

.home-reviews__eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 -37px;
    color: #95733f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-reviews h2 {
    margin: 0;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px,4vw,62px);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.home-reviews__intro {
    max-width: 470px;
    margin: 0 0 6px;
    color: #625b53;
    font-size: 15px;
    line-height: 1.72;
}

.home-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid rgba(17,17,17,.18);
    border-bottom: 1px solid rgba(17,17,17,.18);
}

.home-reviews__card {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    padding: 36px 36px 34px 0;
}

.home-reviews__card + .home-reviews__card {
    padding-left: 36px;
    border-left: 1px solid rgba(17,17,17,.18);
}

.home-reviews__label {
    margin: 0 0 46px;
    color: #95733f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
}

.home-reviews blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.45;
}

.home-reviews__source {
    margin: auto 0 0;
    padding-top: 36px;
    color: #777;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .13em;
}

.home-reviews__link {
    display: table;
    margin: 30px 0 0 auto;
    padding-bottom: 7px;
    border-bottom: 1px solid #95733f;
    color: #17130f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-decoration: none;
}

/* ==================================================
   HOME CTA — DESKTOP
   ================================================== */

.home-cta {
    padding: 106px max(60px, calc((100vw - 1100px) / 2)) 110px;
    text-align: center;
    background: linear-gradient(135deg,#17130f 0%,#21190f 100%);
    color: #fff;
}

.home-cta__eyebrow {
    margin: 0 0 27px;
    color: #b9965d;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.home-cta h2 {
    max-width: 850px;
    margin: 0 auto;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(50px,4.6vw,72px);
    font-weight: 400;
    line-height: 1.03;
    letter-spacing: -.04em;
}

.home-cta__text {
    max-width: 590px;
    margin: 27px auto 0;
    color: rgba(255,255,255,.66);
    font-size: 16px;
    line-height: 1.72;
}

.home-cta .wp-block-buttons {
    justify-content: center;
    margin-top: 34px;
}

.home-cta__button {
    margin: 0;
    padding: 0;
    background: transparent;
}

.home-cta__button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 28px;
    border: 0;
    border-radius: 0;
    background: #f7f5f1;
    color: #17130f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    text-decoration: none;
}

.home-cta__button .wp-block-button__link:hover {
    background: #b9965d;
    color: #17130f;
}

/* ==================================================
   TABLET — LANDSCAPE / WIDE
   ================================================== */

@media (min-width: 981px) and (max-width: 1100px) {
    .home-hero__content {
        width: calc(100% - 64px);
    }

    .home-hero h1 {
        max-width: 520px;
        font-size: 50px;
    }

    .home-proof__grid,
    .home-proof__note {
        width: calc(100% - 64px);
    }

    .home-services {
        padding: 90px 32px;
    }

    .home-services__item {
        padding: 38px 24px 40px;
    }

    .home-services__item h3 {
        font-size: 29px;
    }

    .home-advantages {
        gap: 60px;
        padding: 90px 32px 100px;
    }

    .home-advantages h2 {
        font-size: 46px;
    }

    .home-video {
        grid-template-columns: 1.2fr .8fr;
    }

    .home-video__media {
        min-height: 520px;
    }

    .home-video__content {
        padding: 60px 40px;
    }

    .home-reviews {
        padding: 90px 32px 95px;
    }

    .home-reviews__header {
        gap: 50px;
    }

    .home-reviews h2 {
        font-size: 46px;
    }

    .home-reviews__card {
        padding-right: 24px;
    }

    .home-reviews__card + .home-reviews__card {
        padding-left: 24px;
    }

    .home-reviews blockquote {
        font-size: 20px;
    }
}

/* ==================================================
   TABLET — PORTRAIT APPROVED V3
   ================================================== */

@media (min-width: 768px) and (max-width: 980px) {
    .home-hero {
        min-height: 650px;
    }

    .home-hero::after {
        width: 76%;
        background-position: 60% center;
    }

    .home-hero::before {
        left: 22%;
        width: 50%;
        background: linear-gradient(
            90deg,
            #f7f5f1 0%,
            #f7f5f1 20%,
            rgba(247,245,241,.99) 38%,
            rgba(247,245,241,.90) 56%,
            rgba(247,245,241,.55) 78%,
            rgba(247,245,241,0) 100%
        );
    }

    .home-hero__content {
        width: calc(100% - 64px);
    }

    .home-hero h1 {
        max-width: 530px;
        font-size: 50px;
    }

    .home-proof__grid,
    .home-proof__note {
        width: calc(100% - 64px);
    }

    .home-services {
        padding: 90px 32px;
    }

    .home-services__item {
        padding: 38px 24px 40px;
    }

    .home-services__item h3 {
        font-size: 29px;
    }

    .home-advantages {
        display: block;
        padding: 88px 32px 95px;
    }

    .home-advantages__header {
        max-width: 650px;
        margin-bottom: 48px;
    }

    .home-advantages h2 {
        font-size: 48px;
    }

    .home-video {
        display: block;
    }

    .home-video__media {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .home-video__content {
        padding: 60px 48px 66px;
    }

    .home-reviews {
        padding: 88px 32px 94px;
    }

    .home-reviews__header {
        gap: 50px;
    }

    .home-reviews h2 {
        font-size: 46px;
    }

    .home-reviews__card {
        padding-right: 24px;
    }

    .home-reviews__card + .home-reviews__card {
        padding-left: 24px;
    }

    .home-reviews blockquote {
        font-size: 20px;
    }

    .home-cta {
        padding: 88px 48px 94px;
    }

    .home-cta h2 {
        font-size: 54px;
    }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 767px) {
    .home-hero {
        display: block;
        min-height: 0;
        background: #f7f5f1;
        overflow: hidden;
    }

    .home-hero::before {
        content: "";
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 2;
        background-image:
            linear-gradient(
                to bottom,
                rgba(247,245,241,0) 72%,
                rgba(247,245,241,.15) 84%,
                rgba(247,245,241,.75) 94%,
                #f7f5f1 100%
            ),
            url('https://dianashakirova.com/wp-content/uploads/2026/09/50598.jpg');
        background-size: 100% auto, 100% auto;
        background-position: center top, center top;
        background-repeat: no-repeat;
        z-index: 1;
    }

    .home-hero::after {
        display: none;
    }

    .home-hero__content {
        position: relative;
        z-index: 2;
        width: 100%;
        margin: -20px 0 0;
        padding: 0 24px 48px;
        background: #f7f5f1;
    }

    .home-hero__content > * {
        max-width: none;
    }

    .home-hero__eyebrow {
        padding-top: 28px;
        margin-bottom: 18px;
        font-size: 9px;
    }

    .home-hero h1 {
        max-width: 100%;
        margin-bottom: 22px;
        font-size: 34px;
        line-height: 1.04;
    }

    .home-hero__divider {
        margin-bottom: 22px;
    }

    .home-hero__text {
        max-width: 100%;
        font-size: 15px;
        line-height: 1.65;
    }

    .home-hero__meta {
        margin-top: 20px;
        font-size: 8px;
        line-height: 1.7;
    }

    .home-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 28px;
    }

    .home-hero__button,
    .home-hero__button .wp-block-button__link {
        width: 100%;
    }

    .home-hero__button .wp-block-button__link {
        min-height: 50px;
    }

    .home-proof__grid {
        width: 100%;
        grid-template-columns: 1fr 1fr;
    }

    .home-proof__item {
        padding: 22px 20px;
        border-bottom: 1px solid rgba(23,19,15,.08);
    }

    .home-proof__item:nth-child(odd) {
        border-left: 0;
    }

    .home-proof__item:nth-child(even) {
        border-right: 0;
    }

    .home-proof__value {
        font-size: 25px;
    }

    .home-proof__note {
        width: 100%;
        padding: 8px 20px 10px;
        text-align: left;
    }

    .home-services {
        padding: 72px 24px 69px;
    }

    .home-services__header {
        margin-bottom: 44px;
    }

    .home-services__eyebrow {
        margin-bottom: 20px;
        font-size: 10px;
        letter-spacing: .18em;
    }

    .home-services h2,
    .home-advantages h2,
    .home-video h2,
    .home-reviews h2 {
        font-size: 38px;
    }

    .home-services__intro {
        margin-top: 22px;
        font-size: 15px;
    }

    .home-services__grid {
        display: block;
    }

    .home-services__item {
        min-height: 0;
        padding: 31px 0 34px;
    }

    .home-services__item + .home-services__item {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.18);
    }

    .home-services__item h3 {
        font-size: 30px;
    }

    .home-services__item p {
        max-width: none;
    }

    .home-advantages {
        display: block;
        padding: 72px 24px 76px;
    }

    .home-advantages__header {
        max-width: none;
        margin-bottom: 44px;
    }

    .home-advantages__item {
        padding: 28px 0 30px;
    }

    .home-advantages__item-content h3 {
        font-size: 26px;
    }

    .home-video {
        display: block;
    }

    .home-video__media {
        width: 100%;
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .home-video__play {
        width: 76px;
        height: 76px;
    }

    .home-video__status {
        left: 22px;
        bottom: 20px;
    }

    .home-video__content {
        padding: 54px 24px 62px;
    }

    .home-video__text {
        max-width: none;
        margin-top: 22px;
    }

    .home-reviews {
        padding: 72px 24px 76px;
    }

    .home-reviews__header {
        display: block;
        margin-bottom: 44px;
    }

    .home-reviews__eyebrow {
        margin: 0 0 18px;
    }

    .home-reviews__intro {
        max-width: none;
        margin-top: 20px;
    }

    .home-reviews__grid {
        display: block;
    }

    .home-reviews__card {
        min-height: 0;
        padding: 31px 0 33px;
    }

    .home-reviews__card + .home-reviews__card {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid rgba(17,17,17,.18);
    }

    .home-reviews__label {
        margin-bottom: 25px;
    }

    .home-reviews blockquote {
        font-size: 22px;
    }

    .home-reviews__source {
        margin-top: 29px;
        padding-top: 0;
    }

    .home-reviews__link {
        margin-top: 26px;
    }

    .home-cta {
        padding: 72px 24px 76px;
    }

    .home-cta h2 {
        font-size: 40px;
    }

    .home-cta__text {
        max-width: none;
        margin-top: 24px;
        font-size: 15px;
    }

    .home-cta__button {
        width: 100%;
    }

    .home-cta__button .wp-block-button__link {
        width: 100%;
        min-height: 52px;
    }
}

/* =========================================================
   TRANSLATEPRESS FLOATING SWITCHER
   ========================================================= */

#trp-floater-ls {
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
    border: 1px solid rgba(23,19,15,.14) !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 26px rgba(0,0,0,.08) !important;
    background: rgba(255,255,255,.96) !important;
}

#trp-floater-ls a {
    color: #17130f !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    #trp-floater-ls {
        right: 12px !important;
        bottom: 12px !important;
    }
}

/* =========================================================
   PREMIUM FOOTER — DIANA SHAKIROVA
   ========================================================= */

[data-footer*="type-1"] .ct-footer {
    background:
        radial-gradient(circle at 88% 25%, rgba(143,105,52,.16), transparent 34%),
        radial-gradient(circle at 15% 60%, rgba(110,82,44,.10), transparent 38%),
        linear-gradient(135deg,#16120d 0%,#1b160f 48%,#211a10 100%);
    color: rgba(255,255,255,.76);
}

[data-footer*="type-1"] .ct-footer [data-row="middle"] {
    background: transparent;
}

[data-footer*="type-1"] .ct-footer [data-row="middle"] > div {
    max-width: 1240px;
    margin: 0 auto;
    padding-top: 72px;
    padding-bottom: 62px;
    display: grid;
    grid-template-columns: 1.25fr 1.8fr 1fr;
    align-items: center;
    gap: 64px;
}

.diana-footer-brand {
    max-width: 380px;
}

.diana-footer-name {
    margin: 0 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px,2.6vw,43px);
    line-height: 1.08;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #f7f3eb;
}

.diana-footer-accent {
    width: 122px;
    height: 1px;
    margin-bottom: 23px;
    background: linear-gradient(90deg,#c6a15f 0%,#c6a15f 70%,rgba(198,161,95,.22) 70%);
}

.diana-footer-tagline {
    margin: 0 0 26px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    line-height: 1.55;
    color: rgba(255,255,255,.79);
}

.diana-footer-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
}

.diana-footer-contact a {
    color: rgba(255,255,255,.88);
    font-size: 13px;
    letter-spacing: .025em;
    text-decoration: none;
}

.diana-footer-contact a:hover {
    color: #c6a15f;
}

[data-footer*="type-1"] [data-id="menu"] {
    align-self: center;
}

[data-footer*="type-1"] [data-id="menu"] > ul {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}

[data-footer*="type-1"] [data-id="menu"] > ul > li {
    display: flex;
    align-items: center;
}

[data-footer*="type-1"] [data-id="menu"] > ul > li:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 15px;
    margin: 0 18px;
    background: rgba(255,255,255,.30);
}

[data-footer*="type-1"] [data-id="menu"] > ul > li > a {
    padding: 8px 0;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: rgba(255,255,255,.92);
}

[data-footer*="type-1"] [data-id="menu"] > ul > li > a:hover,
[data-footer*="type-1"] [data-id="menu"] > ul > li.current-menu-item > a {
    color: #c6a15f;
}

.diana-footer-signature {
    text-align: right;
}

.diana-footer-signature-name {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.2;
    font-style: italic;
    color: #f5efe4;
}

.diana-footer-signature-label {
    margin-top: 12px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .55em;
    color: rgba(255,255,255,.62);
}

[data-footer*="type-1"] .ct-footer [data-row="bottom"] {
    background: transparent;
}

[data-footer*="type-1"] .ct-footer [data-row="bottom"] > div {
    max-width: 1240px;
    margin: 0 auto;
    padding-top: 22px;
    padding-bottom: 24px;
    border-top: 1px solid rgba(198,161,95,.58);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 30px;
}

[data-footer*="type-1"] [data-id="copyright"] {
    color: rgba(255,255,255,.58);
}

[data-footer*="type-1"] [data-id="copyright"] p {
    margin: 0;
    font-size: 11px;
    letter-spacing: .08em;
}

.diana-footer-location {
    text-align: right;
    font-size: 11px;
    letter-spacing: .11em;
    color: rgba(255,255,255,.68);
}

@media (max-width: 999.98px) {
    [data-footer*="type-1"] .ct-footer [data-row="middle"] > div {
        grid-template-columns: 1fr 1fr;
        gap: 42px;
        padding-top: 54px;
        padding-bottom: 48px;
    }

    .diana-footer-signature {
        grid-column: 1 / -1;
        text-align: left;
    }

    [data-footer*="type-1"] [data-id="menu"] > ul {
        justify-content: flex-start;
    }
}

@media (max-width: 689.98px) {
    [data-footer*="type-1"] .ct-footer [data-row="middle"] > div {
        display: grid;
        grid-template-columns: 1fr;
        gap: 34px;
        padding-top: 46px;
        padding-bottom: 40px;
    }

    .diana-footer-name {
        font-size: 29px;
        letter-spacing: .055em;
    }

    .diana-footer-tagline {
        font-size: 17px;
    }

    .diana-footer-contact {
        flex-direction: column;
        gap: 10px;
    }

    [data-footer*="type-1"] [data-id="menu"] > ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 7px;
    }

    [data-footer*="type-1"] [data-id="menu"] > ul > li:not(:last-child)::after {
        display: none;
    }

    [data-footer*="type-1"] [data-id="menu"] > ul > li > a {
        font-size: 11px;
        padding: 5px 0;
    }

    .diana-footer-signature {
        text-align: left;
    }

    .diana-footer-signature-name {
        font-size: 24px;
    }

    [data-footer*="type-1"] .ct-footer [data-row="bottom"] > div {
        grid-template-columns: 1fr;
        gap: 10px;
        padding-top: 18px;
        padding-bottom: 22px;
    }

    [data-footer*="type-1"] [data-id="copyright"],
    .diana-footer-location {
        text-align: left;
    }
}

/* ==================================================
   BLOG / INSIGHTS
   ================================================== */

.diana-blog,
.diana-article {
    --blog-ink:#17130f;
    --blog-muted:#625b53;
    --blog-gold:#a37f47;
    --blog-cream:#f4efe7;
    --blog-paper:#fbfaf7;
    --blog-line:rgba(23,19,15,.14);
    background:var(--blog-paper);
    color:var(--blog-ink);
}

.diana-blog-shell {
    width:min(1280px,calc(100% - 120px));
    margin:0 auto;
}

.diana-blog-kicker {
    margin:0 0 24px;
    color:var(--blog-gold);
    font-size:11px;
    font-weight:700;
    letter-spacing:.20em;
    text-transform:uppercase;
}

.diana-blog-kicker--light { color:#c7a56d; }

.diana-blog-hero {
    padding:112px 0 118px;
    background:
        radial-gradient(circle at 88% 10%,rgba(163,127,71,.08),transparent 28%),
        var(--blog-cream);
}

.diana-blog-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(380px,.7fr);
    gap:clamp(70px,9vw,150px);
    align-items:end;
}

.diana-blog-hero h1 {
    max-width:800px;
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(54px,5vw,80px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.05em;
}

.diana-blog-hero__copy {
    padding-top:30px;
    border-top:1px solid rgba(23,19,15,.2);
}

.diana-blog-hero__copy p {
    margin:0;
    color:#332e29;
    font-size:16px;
    line-height:1.8;
}

.diana-blog-hero__copy span {
    display:block;
    margin-top:24px;
    color:#7d746a;
    font-size:9px;
    font-weight:700;
    letter-spacing:.14em;
    line-height:1.6;
}

.diana-blog-index {
    padding:110px 0 122px;
    background:#fff;
}

.diana-blog-card {
    background:#fff;
}

.diana-blog-card--featured {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
    min-height:560px;
    margin-bottom:78px;
    border:1px solid var(--blog-line);
}

.diana-blog-card__media {
    position:relative;
    display:block;
    min-height:320px;
    overflow:hidden;
    background:#211a15;
}

.diana-blog-card--featured .diana-blog-card__media {
    min-height:100%;
}

.diana-blog-card__media img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.diana-blog-card__media--placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 76% 24%,rgba(199,165,109,.18),transparent 30%),
        linear-gradient(135deg,#17130f 0%,#2a211a 100%);
}

.diana-blog-card__monogram {
    color:#e7d9c1;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(88px,11vw,160px);
    line-height:1;
    letter-spacing:-.06em;
    opacity:.15;
}

.diana-blog-card__media-label {
    position:absolute;
    left:30px;
    bottom:28px;
    color:#c7a56d;
    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;
}

.diana-blog-card__demo {
    position:absolute;
    top:22px;
    left:22px;
    padding:8px 10px;
    background:rgba(251,250,247,.92);
    color:#6f604d;
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
}

.diana-blog-card__body {
    padding:34px 0 4px;
}

.diana-blog-card--featured .diana-blog-card__body {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:56px 58px;
}

.diana-blog-card__meta {
    display:flex;
    flex-wrap:wrap;
    gap:11px 18px;
    margin:0 0 24px;
    color:#8a8178;
    font-size:8px;
    font-weight:700;
    letter-spacing:.13em;
}

.diana-blog-card__meta span + span {
    position:relative;
}

.diana-blog-card__meta span + span::before {
    content:"";
    position:absolute;
    left:-10px;
    top:50%;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#b99a68;
}

.diana-blog-card h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(31px,2.5vw,43px);
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.035em;
}

.diana-blog-card--featured h2 {
    font-size:clamp(42px,3.5vw,58px);
}

.diana-blog-card h2 a {
    color:var(--blog-ink);
    text-decoration:none;
}

.diana-blog-card__body > p {
    margin:21px 0 0;
    color:var(--blog-muted);
    font-size:14px;
    line-height:1.75;
}

.diana-blog-card--featured .diana-blog-card__body > p {
    font-size:15px;
}

.diana-blog-card__link {
    display:table;
    margin-top:29px;
    padding-bottom:7px;
    border-bottom:1px solid var(--blog-gold);
    color:var(--blog-ink);
    font-size:9px;
    font-weight:700;
    letter-spacing:.13em;
    text-decoration:none;
}

.diana-blog-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:74px 48px;
}

.diana-blog-grid .diana-blog-card {
    border-top:1px solid var(--blog-line);
    padding-top:24px;
}

.diana-blog-grid .diana-blog-card__media {
    aspect-ratio:16/10;
    min-height:0;
}

.diana-blog-empty {
    max-width:760px;
    padding:80px 0;
}

.diana-blog-empty h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:52px;
    font-weight:400;
}

.diana-blog-empty p:last-child {
    color:var(--blog-muted);
}

.diana-blog-pagination {
    display:flex;
    gap:8px;
    margin-top:82px;
    padding-top:28px;
    border-top:1px solid var(--blog-line);
}

.diana-blog-pagination .page-numbers {
    min-width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border:1px solid var(--blog-line);
    color:var(--blog-ink);
    font-size:9px;
    font-weight:700;
    letter-spacing:.08em;
    text-decoration:none;
}

.diana-blog-pagination .current {
    color:#fff;
    background:var(--blog-ink);
    border-color:var(--blog-ink);
}

.diana-blog-cta {
    padding:110px 0 116px;
    color:#f8f3eb;
    background:
        radial-gradient(circle at 85% 18%,rgba(199,165,109,.08),transparent 32%),
        #17130f;
}

.diana-blog-cta__inner {
    max-width:860px;
    text-align:center;
}

.diana-blog-cta h2 {
    margin:0;
    color:#f8f3eb;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(50px,4.6vw,70px);
    font-weight:400;
    line-height:1.03;
    letter-spacing:-.04em;
}

.diana-blog-cta p:not(.diana-blog-kicker) {
    max-width:620px;
    margin:25px auto 0;
    color:rgba(248,243,235,.7);
    font-size:15px;
    line-height:1.8;
}

.diana-blog-cta a {
    display:inline-flex;
    min-height:49px;
    align-items:center;
    justify-content:center;
    margin-top:32px;
    padding:0 26px;
    color:#17130f;
    background:#f8f3eb;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
    text-decoration:none;
}

/* Single article */

.diana-article__header {
    padding:96px 0 78px;
    background:var(--blog-cream);
}

.diana-article__back {
    display:inline-block;
    margin-bottom:56px;
    color:#6f665c;
    font-size:9px;
    font-weight:700;
    letter-spacing:.13em;
    text-decoration:none;
}

.diana-article__meta {
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px;
    color:#81786f;
    font-size:8px;
    font-weight:700;
    letter-spacing:.14em;
}

.diana-article__demo {
    display:table;
    margin:22px 0 0;
    padding:8px 10px;
    background:#e9dfd1;
    color:#6d5a40;
    font-size:8px;
    font-weight:700;
    letter-spacing:.13em;
}

.diana-article h1 {
    max-width:980px;
    margin:30px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(50px,5.2vw,82px);
    font-weight:400;
    line-height:1;
    letter-spacing:-.05em;
}

.diana-article__dek {
    max-width:780px;
    margin:28px 0 0;
    color:#4f4942;
    font-size:18px;
    line-height:1.75;
}

.diana-article__image {
    height:min(62vw,720px);
    margin:70px 0 0;
    overflow:hidden;
    background:#211a15;
}

.diana-article__image img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.diana-article__layout {
    display:grid;
    grid-template-columns:minmax(220px,.34fr) minmax(0,.66fr);
    gap:clamp(70px,9vw,150px);
    padding-top:92px;
    padding-bottom:112px;
}

.diana-article__aside {
    align-self:start;
    position:sticky;
    top:120px;
    padding-top:24px;
    border-top:1px solid var(--blog-line);
}

.diana-article__aside span {
    color:var(--blog-gold);
    font-size:9px;
    font-weight:700;
    letter-spacing:.15em;
}

.diana-article__aside p {
    margin:16px 0 0;
    color:var(--blog-muted);
    font-size:13px;
    line-height:1.75;
}

.diana-article__aside a {
    display:table;
    margin-top:22px;
    padding-bottom:6px;
    border-bottom:1px solid var(--blog-gold);
    color:var(--blog-ink);
    font-size:8px;
    font-weight:700;
    letter-spacing:.12em;
    text-decoration:none;
}

.diana-article__content {
    max-width:760px;
}

.diana-article__content > p:first-child {
    margin-top:0;
    padding:16px 18px;
    border-left:2px solid var(--blog-gold);
    background:#f4efe7;
    color:#554b40;
    font-size:13px;
}

.diana-article__content p,
.diana-article__content li {
    color:#403a34;
    font-size:17px;
    line-height:1.85;
}

.diana-article__content p {
    margin:0 0 25px;
}

.diana-article__content h2 {
    margin:54px 0 20px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:38px;
    font-weight:400;
    line-height:1.12;
    letter-spacing:-.025em;
}

.diana-article__content ul,
.diana-article__content ol {
    margin:0 0 30px;
    padding-left:24px;
}

.diana-article__content li + li {
    margin-top:9px;
}

@media (max-width:1024px) {
    .diana-blog-shell {
        width:calc(100% - 80px);
    }

    .diana-blog-hero__grid,
    .diana-blog-card--featured {
        grid-template-columns:1fr 1fr;
        gap:54px;
    }

    .diana-blog-card--featured {
        gap:0;
    }

    .diana-blog-card--featured .diana-blog-card__body {
        padding:45px 38px;
    }

    .diana-article__layout {
        gap:64px;
    }
}

@media (max-width:767px) {
    .diana-blog-shell {
        width:calc(100% - 48px);
    }

    .diana-blog-hero {
        padding:76px 0 82px;
    }

    .diana-blog-hero__grid,
    .diana-blog-card--featured,
    .diana-blog-grid,
    .diana-article__layout {
        grid-template-columns:1fr;
    }

    .diana-blog-hero__grid {
        gap:42px;
    }

    .diana-blog-hero h1 {
        font-size:clamp(46px,13vw,60px);
    }

    .diana-blog-index {
        padding:76px 0 84px;
    }

    .diana-blog-card--featured {
        min-height:0;
        margin-bottom:64px;
    }

    .diana-blog-card--featured .diana-blog-card__media {
        min-height:0;
        aspect-ratio:4/3;
    }

    .diana-blog-card--featured .diana-blog-card__body {
        padding:34px 28px 38px;
    }

    .diana-blog-grid {
        gap:58px;
    }

    .diana-blog-grid .diana-blog-card__media {
        aspect-ratio:4/3;
    }

    .diana-blog-card h2,
    .diana-blog-card--featured h2 {
        font-size:36px;
    }

    .diana-blog-cta {
        padding:80px 0 86px;
    }

    .diana-blog-cta__inner {
        text-align:left;
    }

    .diana-blog-cta p:not(.diana-blog-kicker) {
        margin-left:0;
    }

    .diana-article__header {
        padding:72px 0 60px;
    }

    .diana-article__back {
        margin-bottom:42px;
    }

    .diana-article h1 {
        font-size:clamp(44px,12.5vw,58px);
    }

    .diana-article__dek {
        font-size:16px;
    }

    .diana-article__layout {
        gap:48px;
        padding-top:64px;
        padding-bottom:78px;
    }

    .diana-article__aside {
        position:static;
    }

    .diana-article__content p,
    .diana-article__content li {
        font-size:16px;
    }

    .diana-article__content h2 {
        font-size:32px;
    }
}

/* ==================================================
   RESPONSIVE TYPOGRAPHY SAFETY — RU/EN
   Prevent mid-word breaks and keep large editorial type fluid on phones/tablets.
   ================================================== */

.site-main h1,
.site-main h2,
.site-main h3,
.site-main .wp-block-heading {
    word-break: normal !important;
    overflow-wrap: normal !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    text-wrap: balance;
}

.site-main p,
.site-main li {
    -webkit-hyphens: none;
    hyphens: none;
}

.site-main .wp-block-button__link,
.site-main .services-button .wp-block-button__link,
.site-main .about-button .wp-block-button__link,
.site-main .diana-form-submit,
.site-main .listings-cta a,
.site-main .listing-detail__cta {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.35;
}

@media (min-width: 768px) and (max-width: 1024px) {
    html[lang^="ru"] .home-hero h1,
    html[lang^="ru"] .about-hero h1,
    html[lang^="ru"] .services-hero h1,
    html[lang^="ru"] .contact-hero h1,
    html[lang^="ru"] .diana-blog-hero h1,
    html[lang^="ru"] .listings-hero h1,
    html[lang^="ru"] .diana-article h1 {
        font-size: clamp(44px, 5.7vw, 56px) !important;
        line-height: 1.04 !important;
        letter-spacing: -.035em !important;
    }

    html[lang^="ru"] .home-services h2,
    html[lang^="ru"] .home-advantages h2,
    html[lang^="ru"] .home-cta h2,
    html[lang^="ru"] .about-story h2,
    html[lang^="ru"] .about-section-heading h2,
    html[lang^="ru"] .about-services h2,
    html[lang^="ru"] .about-language h2,
    html[lang^="ru"] .about-cta h2,
    html[lang^="ru"] .services-detail__heading h2,
    html[lang^="ru"] .services-section-heading h2,
    html[lang^="ru"] .services-language h2,
    html[lang^="ru"] .services-cta h2,
    html[lang^="ru"] .contact-direct-section h2,
    html[lang^="ru"] .contact-form-panel h2,
    html[lang^="ru"] .contact-expect h2,
    html[lang^="ru"] .contact-language h2,
    html[lang^="ru"] .diana-blog-cta h2,
    html[lang^="ru"] .listings-cta h2,
    html[lang^="ru"] .listing-detail h2 {
        font-size: clamp(38px, 4.9vw, 48px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.025em !important;
    }
}

@media (max-width: 767px) {
    html[lang^="ru"] .home-hero h1,
    html[lang^="ru"] .about-hero h1,
    html[lang^="ru"] .services-hero h1,
    html[lang^="ru"] .contact-hero h1,
    html[lang^="ru"] .diana-blog-hero h1,
    html[lang^="ru"] .listings-hero h1,
    html[lang^="ru"] .diana-article h1 {
        font-size: clamp(34px, 9.8vw, 44px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.03em !important;
    }

    html[lang^="ru"] .home-services h2,
    html[lang^="ru"] .home-advantages h2,
    html[lang^="ru"] .home-cta h2,
    html[lang^="ru"] .about-story h2,
    html[lang^="ru"] .about-section-heading h2,
    html[lang^="ru"] .about-services h2,
    html[lang^="ru"] .about-language h2,
    html[lang^="ru"] .about-cta h2,
    html[lang^="ru"] .services-detail__heading h2,
    html[lang^="ru"] .services-section-heading h2,
    html[lang^="ru"] .services-language h2,
    html[lang^="ru"] .services-cta h2,
    html[lang^="ru"] .contact-direct-section h2,
    html[lang^="ru"] .contact-form-panel h2,
    html[lang^="ru"] .contact-expect h2,
    html[lang^="ru"] .contact-language h2,
    html[lang^="ru"] .diana-blog-cta h2,
    html[lang^="ru"] .listings-cta h2,
    html[lang^="ru"] .listing-detail h2 {
        font-size: clamp(31px, 8.7vw, 39px) !important;
        line-height: 1.1 !important;
        letter-spacing: -.02em !important;
    }

    .services-checklist li,
    .diana-article__content li {
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}

/* ==================================================
   RESPONSIVE EDITORIAL SCALE — APPROVED PHONE / TABLET
   ================================================== */

@media (min-width: 768px) and (max-width: 1180px) {
    .home-hero h1,
    .about-hero h1,
    .services-hero h1,
    .contact-hero h1,
    .diana-blog-hero h1,
    .listings-hero h1,
    .diana-article h1 {
        font-size: clamp(34px, 3.45vw, 40px) !important;
        line-height: 1.09 !important;
        letter-spacing: -.022em !important;
    }

    .home-services h2,
    .home-advantages h2,
    .home-video h2,
    .home-reviews h2,
    .home-cta h2,
    .about-story h2,
    .about-section-heading h2,
    .about-services h2,
    .about-language h2,
    .about-cta h2,
    .services-overview h2,
    .services-detail__heading h2,
    .services-language h2,
    .services-cta h2,
    .contact-direct-section h2,
    .contact-form-panel h2,
    .contact-expect h2,
    .contact-language h2,
    .diana-blog-cta h2,
    .listings-cta h2,
    .listing-detail h2 {
        font-size: clamp(28px, 2.95vw, 34px) !important;
        line-height: 1.14 !important;
        letter-spacing: -.015em !important;
    }

    .diana-blog-card h2,
    .diana-blog-card--featured h2 {
        font-size: clamp(27px, 2.75vw, 31px) !important;
        line-height: 1.15 !important;
    }

    html[lang^="ru"] .home-hero h1 {
        max-width: 350px !important;
    }

    html[lang^="ru"] .about-hero h1 {
        max-width: 330px !important;
    }

    html[lang^="ru"] .diana-blog-hero h1 {
        max-width: 520px !important;
    }

    .about-hero__lead,
    .contact-hero__lead {
        margin-top: 30px !important;
    }

    .diana-blog-hero__copy,
    .services-hero__copy {
        padding-top: 32px !important;
    }
}

@media (max-width: 767px) {
    .home-hero h1,
    .about-hero h1,
    .services-hero h1,
    .contact-hero h1,
    .diana-blog-hero h1,
    .listings-hero h1,
    .diana-article h1 {
        font-size: clamp(30px, 8vw, 34px) !important;
        line-height: 1.1 !important;
        letter-spacing: -.018em !important;
    }

    .home-services h2,
    .home-advantages h2,
    .home-video h2,
    .home-reviews h2,
    .home-cta h2,
    .about-story h2,
    .about-section-heading h2,
    .about-services h2,
    .about-language h2,
    .about-cta h2,
    .services-overview h2,
    .services-detail__heading h2,
    .services-language h2,
    .services-cta h2,
    .contact-direct-section h2,
    .contact-form-panel h2,
    .contact-expect h2,
    .contact-language h2,
    .diana-blog-cta h2,
    .listings-cta h2,
    .listing-detail h2 {
        font-size: clamp(26px, 7vw, 30px) !important;
        line-height: 1.15 !important;
        letter-spacing: -.01em !important;
    }

    .diana-blog-card h2,
    .diana-blog-card--featured h2 {
        font-size: clamp(25px, 6.7vw, 29px) !important;
        line-height: 1.16 !important;
    }

    html[lang^="ru"] .home-hero h1 {
        max-width: 315px !important;
    }

    html[lang^="ru"] .about-hero h1 {
        max-width: 300px !important;
    }

    html[lang^="ru"] .diana-blog-hero h1 {
        max-width: 500px !important;
    }

    .about-hero__lead,
    .contact-hero__lead {
        margin-top: 30px !important;
    }

    .diana-blog-hero__copy,
    .services-hero__copy {
        padding-top: 30px !important;
    }

    .diana-article__content h2 {
        font-size: clamp(25px, 6.6vw, 29px) !important;
        line-height: 1.17 !important;
    }
}


/* Approved Blog hero correction — compact responsive hero with fixed 2-line RU title. */
.diana-blog-title-line {
    display: inline;
}

@media (min-width: 768px) and (max-width: 1180px) {
    .diana-blog-hero {
        padding: 62px 0 68px !important;
    }

    .diana-blog-hero__grid {
        gap: clamp(36px, 5vw, 64px) !important;
        align-items: center !important;
    }

    html[lang^="ru"] .diana-blog-hero h1 {
        max-width: 100% !important;
        font-size: clamp(34px, 3.45vw, 40px) !important;
        line-height: 1.1 !important;
        letter-spacing: -.018em !important;
    }

    html[lang^="ru"] .diana-blog-title-line {
        display: block;
        white-space: nowrap;
    }

    .diana-blog-hero__copy {
        padding-top: 24px !important;
    }
}

@media (max-width: 767px) {
    .diana-blog-hero {
        padding: 52px 0 58px !important;
    }

    .diana-blog-hero__grid {
        gap: 28px !important;
    }

    html[lang^="ru"] .diana-blog-hero h1 {
        max-width: 100% !important;
        font-size: clamp(26px, 7vw, 30px) !important;
        line-height: 1.13 !important;
        letter-spacing: -.015em !important;
    }

    html[lang^="ru"] .diana-blog-title-line {
        display: block;
        white-space: nowrap;
    }

    .diana-blog-hero__copy {
        padding-top: 24px !important;
    }
}

/* =========================================================
   VISUAL QA — APPROVED RESPONSIVE POLISH
   ========================================================= */

/* English Home: keep the tablet headline safely inside the text side. */
@media (min-width: 768px) and (max-width: 1180px) {
    html[lang^="en"] .home-hero h1 {
        max-width: 330px !important;
        font-size: clamp(32px, 3.15vw, 37px) !important;
        line-height: 1.08 !important;
        letter-spacing: -.022em !important;
    }
}

/* TranslatePress floater: compact footprint so it does not cover cards/text. */
#trp-floater-ls {
    width: auto !important;
    min-width: 0 !important;
    max-width: 172px !important;
    right: 10px !important;
    bottom: 10px !important;
}

#trp-floater-ls-current-language,
#trp-floater-ls-language-list {
    width: auto !important;
    min-width: 0 !important;
}

#trp-floater-ls-current-language a,
#trp-floater-ls-language-list a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 0 !important;
    padding: 8px 10px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

#trp-floater-ls img {
    width: 16px !important;
    height: auto !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    #trp-floater-ls {
        max-width: 150px !important;
        right: 8px !important;
        bottom: 8px !important;
    }

    #trp-floater-ls-current-language a,
    #trp-floater-ls-language-list a {
        padding: 7px 9px !important;
        font-size: 8px !important;
    }

    #trp-floater-ls img {
        width: 14px !important;
    }
}

/* =========================================================
   DIANA HEADER v1 — DESKTOP / TABLET / MOBILE
   ========================================================= */

/* The old TranslatePress floating control is replaced by
   language controls inside the desktop and mobile navigation. */
.trp-floating-switcher {
    display: none !important;
}

/* ---------- Desktop header ---------- */
#header [data-device="desktop"] [data-row="middle"] {
    background: rgba(251,250,247,.97);
    border-bottom: 1px solid rgba(23,19,15,.10);
    box-shadow: none;
}

#header [data-device="desktop"] [data-row="middle"] > .ct-container {
    width: min(1280px, calc(100% - 64px));
    min-height: 82px;
    padding-left: 0;
    padding-right: 0;
}

#header [data-device="desktop"] .site-title a {
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2vw, 31px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
    text-decoration: none;
}

#header [data-device="desktop"] .header-menu-1 > ul {
    align-items: stretch;
    gap: 0;
}

#header [data-device="desktop"] .header-menu-1 > ul > li > .ct-menu-link {
    min-height: 82px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    color: #3e3933;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#header [data-device="desktop"] .header-menu-1 > ul > li > .ct-menu-link:hover,
#header [data-device="desktop"] .header-menu-1 > ul > li.current-menu-item > .ct-menu-link,
#header [data-device="desktop"] .header-menu-1 > ul > li.current_page_item > .ct-menu-link {
    color: #17130f;
    box-shadow: inset 0 -2px 0 #b9965d;
}

#header [data-device="desktop"] .ct-header-cta {
    display: none !important;
}

.diana-header-language--desktop {
    display: flex !important;
    align-items: center;
    margin-left: 12px;
    padding-left: 17px;
    border-left: 1px solid rgba(23,19,15,.14);
}

.diana-header-language__compact {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #9b8d7c;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .12em;
}

.diana-header-language__compact a {
    position: relative;
    padding: 7px 0;
    color: #776e64;
    text-decoration: none;
}

.diana-header-language__compact a:hover,
.diana-header-language__compact a.is-active {
    color: #17130f;
}

.diana-header-language__compact a.is-active::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 1px;
    left: 0;
    height: 1px;
    background: #b9965d;
}

/* ---------- Mobile / tablet header ---------- */
#header [data-device="mobile"] [data-row="middle"] {
    background: rgba(251,250,247,.98);
    border-bottom: 1px solid rgba(23,19,15,.10);
}

#header [data-device="mobile"] [data-row="middle"] > .ct-container {
    min-height: 72px;
    padding-left: 20px;
    padding-right: 20px;
}

#header [data-device="mobile"] .site-title a {
    color: #17130f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 6vw, 28px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
    text-decoration: none;
}

#header [data-device="mobile"] .ct-header-trigger {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(23,19,15,.13);
    background: transparent;
    color: #17130f;
}

#header [data-device="mobile"] .ct-header-trigger .ct-icon {
    width: 20px;
    height: 16px;
}

/* Premium mobile drawer. */
#offcanvas .ct-panel-inner {
    width: min(88vw, 420px);
    max-width: 420px;
    margin-left: auto;
    background: #17130f !important;
    color: #f7f2ea;
    box-shadow: -18px 0 48px rgba(0,0,0,.18);
}

#offcanvas .ct-panel-actions {
    min-height: 76px;
    padding: 20px 24px 0;
}

#offcanvas .ct-toggle-close {
    width: 44px;
    height: 44px;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(247,242,234,.20);
    color: #f7f2ea;
    background: transparent;
}

#offcanvas .ct-toggle-close .ct-icon {
    fill: currentColor;
}

#offcanvas .ct-panel-content[data-device="mobile"] .ct-panel-content-inner {
    padding: 34px 28px 38px;
}

#offcanvas .mobile-menu > ul {
    display: block;
    margin: 0;
    padding: 0;
}

#offcanvas .mobile-menu > ul > li {
    margin: 0;
    border-bottom: 1px solid rgba(247,242,234,.11);
}

#offcanvas .mobile-menu > ul > li > .ct-menu-link {
    min-height: 0;
    padding: 17px 0;
    display: block;
    color: rgba(247,242,234,.86);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 7.4vw, 34px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.02em;
}

#offcanvas .mobile-menu > ul > li > .ct-menu-link:hover,
#offcanvas .mobile-menu > ul > li.current-menu-item > .ct-menu-link,
#offcanvas .mobile-menu > ul > li.current_page_item > .ct-menu-link {
    color: #c8a66d;
}

#offcanvas .diana-header-language--mobile {
    padding: 27px 0 0;
    margin-top: 8px;
    border-bottom: 0;
}

.diana-header-language__label {
    display: block;
    margin-bottom: 13px;
    color: #b9965d;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .18em;
}

.diana-header-language__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.diana-header-language__option {
    min-height: 46px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(247,242,234,.20);
    color: rgba(247,242,234,.78) !important;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .11em;
    text-decoration: none !important;
}

.diana-header-language__option:hover,
.diana-header-language__option.is-active {
    border-color: #b9965d;
    color: #17130f !important;
    background: #f7f2ea;
}

@media (min-width: 768px) and (max-width: 1180px) {
    #header [data-device="mobile"] [data-row="middle"] > .ct-container {
        min-height: 76px;
        padding-left: 32px;
        padding-right: 32px;
    }

    #offcanvas .mobile-menu > ul > li > .ct-menu-link {
        font-size: 32px;
    }
}

@media (max-width: 390px) {
    #header [data-device="mobile"] [data-row="middle"] > .ct-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #header [data-device="mobile"] .site-title a {
        font-size: 22px;
    }
}

/* =========================================================
   HOME — PREMIUM AWARDS
   ========================================================= */
.home-awards {
    background: #f8f4ed;
    border-top: 1px solid rgba(23,19,15,.08);
    border-bottom: 1px solid rgba(23,19,15,.08);
}

.home-awards__inner {
    width: min(1240px, calc(100% - 72px));
    margin: 0 auto;
    padding: 54px 0 50px;
    display: grid;
    grid-template-columns: minmax(230px,.72fr) minmax(0,1.8fr);
    grid-template-areas:
        "header gallery"
        "link gallery";
    column-gap: clamp(36px,5vw,76px);
    align-items: start;
}

.home-awards__header {
    grid-area: header;
    display: block;
    margin: 0;
    padding-top: 4px;
}

.home-awards__eyebrow {
    margin: 0 0 15px;
    color: #a7844e;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.home-awards__header h2 {
    max-width: 330px;
    margin: 0;
    color: #1d2f42;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px,2.45vw,39px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.025em;
}

.home-awards__header > p:last-child {
    max-width: 315px;
    margin: 16px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(23,19,15,.12);
    color: #71685f;
    font-size: 12px;
    line-height: 1.6;
}

.home-awards__gallery {
    grid-area: gallery;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 15px;
    min-width: 0;
}

.home-awards__card {
    min-width: 0;
    color: #17130f;
    text-decoration: none;
}

.home-awards__media,
.home-awards__card--featured .home-awards__media {
    position: relative;
    display: block;
    height: 176px;
    padding: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(23,19,15,.09);
    box-shadow: 0 10px 26px rgba(55,43,31,.055);
}

.home-awards__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .28s ease;
}

.home-awards__card:hover .home-awards__media img {
    transform: scale(1.025);
}

.home-awards__zoom,
.about-awards-gallery__zoom {
    position: absolute;
    right: 9px;
    bottom: 9px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%;
    background: rgba(23,19,15,.82);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    opacity: .78;
}

.home-awards__caption {
    display: block;
    padding: 11px 1px 0;
}

.home-awards__year {
    display: block;
    margin: 0 0 5px;
    color: #a7844e;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
}

.home-awards__caption strong {
    display: block;
    color: #1d2f42;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.18;
}

.home-awards__caption small {
    display: block;
    margin-top: 4px;
    color: #746c63;
    font-size: 9px;
    line-height: 1.45;
}

.home-awards__link {
    grid-area: link;
    justify-self: start;
    margin-top: 20px;
    padding-bottom: 4px;
    border-bottom: 1px solid #b9965d;
    color: #17130f;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .14em;
    text-decoration: none;
    text-transform: uppercase;
}

.home-awards__link:hover {
    color: #a7844e;
}

@media (max-width: 1024px) {
    .home-awards__inner {
        width: calc(100% - 56px);
        padding: 46px 0 44px;
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "gallery"
            "link";
        row-gap: 24px;
    }

    .home-awards__header {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 22px;
        align-items: end;
    }

    .home-awards__eyebrow {
        grid-column: 1 / -1;
        margin-bottom: -6px;
    }

    .home-awards__header h2,
    .home-awards__header > p:last-child {
        max-width: none;
    }

    .home-awards__header > p:last-child {
        margin: 0;
    }

    .home-awards__media,
    .home-awards__card--featured .home-awards__media {
        height: 170px;
    }

    .home-awards__link {
        margin-top: -3px;
    }
}

@media (max-width: 767px) {
    .home-awards__inner {
        width: calc(100% - 40px);
        padding: 38px 0 36px;
        row-gap: 20px;
    }

    .home-awards__header {
        display: block;
    }

    .home-awards__eyebrow {
        margin-bottom: 12px;
    }

    .home-awards__header h2 {
        max-width: 300px;
        font-size: clamp(27px,7.6vw,32px);
        line-height: 1.08;
    }

    .home-awards__header > p:last-child {
        max-width: 330px;
        margin-top: 12px;
        padding-top: 12px;
        font-size: 11px;
    }

    .home-awards__gallery {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        margin-right: -20px;
        padding-right: 20px;
        padding-bottom: 3px;
        scrollbar-width: none;
    }

    .home-awards__gallery::-webkit-scrollbar {
        display: none;
    }

    .home-awards__card {
        flex: 0 0 min(46vw,176px);
        scroll-snap-align: start;
    }

    .home-awards__media,
    .home-awards__card--featured .home-awards__media {
        height: 132px;
        padding: 8px;
        box-shadow: 0 7px 18px rgba(55,43,31,.05);
    }

    .home-awards__zoom {
        width: 24px;
        height: 24px;
        right: 7px;
        bottom: 7px;
        font-size: 9px;
    }

    .home-awards__caption {
        padding-top: 8px;
    }

    .home-awards__caption strong {
        font-size: 14px;
        line-height: 1.17;
    }

    .home-awards__caption small {
        font-size: 8px;
    }

    .home-awards__link {
        margin-top: 0;
    }
}

/* Premium certificate lightbox */
.diana-award-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(15,13,11,.94);
    backdrop-filter: blur(7px);
}

.diana-award-lightbox.is-open {
    display: flex;
}

.diana-award-lightbox__dialog {
    position: relative;
    width: min(980px,94vw);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.diana-award-lightbox__image {
    max-width: 100%;
    max-height: 82vh;
    width: auto;
    height: auto;
    object-fit: contain;
    background: #fff;
    box-shadow: 0 24px 90px rgba(0,0,0,.42);
}

.diana-award-lightbox__title {
    margin-top: 12px;
    color: rgba(247,242,234,.84);
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
    letter-spacing: .04em;
}

.diana-award-lightbox__close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    background: #17130f;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

body.diana-lightbox-open {
    overflow: hidden;
}

/* ==================================================
   HOME SPACING COMPACTION — 2026-10-02
   ================================================== */
.home-advantages {
    padding-top: 78px !important;
    padding-bottom: 82px !important;
    gap: clamp(56px, 6vw, 96px) !important;
}

.home-advantages__header {
    margin-bottom: 0 !important;
}

.home-advantages__item {
    padding-top: 23px !important;
    padding-bottom: 25px !important;
}

.home-advantages__item::before {
    margin-bottom: 14px !important;
}

.home-reviews {
    padding-top: 74px !important;
    padding-bottom: 82px !important;
}

.home-reviews__header {
    margin-bottom: 42px !important;
    gap: 56px !important;
}

.home-reviews__eyebrow {
    margin-bottom: -24px !important;
}

.home-reviews__card {
    min-height: 280px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}

.home-reviews__label {
    margin-bottom: 30px !important;
}

.home-reviews__source {
    padding-top: 24px !important;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .home-advantages {
        padding-top: 62px !important;
        padding-bottom: 68px !important;
    }

    .home-advantages__header {
        margin-bottom: 34px !important;
    }

    .home-reviews {
        padding-top: 62px !important;
        padding-bottom: 68px !important;
    }

    .home-reviews__header {
        margin-bottom: 34px !important;
        gap: 36px !important;
    }
}

@media (max-width: 767px) {
    .home-advantages {
        padding-top: 48px !important;
        padding-bottom: 52px !important;
    }

    .home-advantages__header {
        margin-bottom: 28px !important;
    }

    .home-advantages__item {
        padding-top: 20px !important;
        padding-bottom: 22px !important;
    }

    .home-advantages__item::before {
        margin-bottom: 12px !important;
    }

    .home-reviews {
        padding-top: 50px !important;
        padding-bottom: 54px !important;
    }

    .home-reviews__header {
        margin-bottom: 28px !important;
    }

    .home-reviews__eyebrow {
        margin-bottom: 14px !important;
    }

    .home-reviews__intro {
        margin-top: 14px !important;
    }

    .home-reviews__card {
        min-height: 0 !important;
        padding-top: 23px !important;
        padding-bottom: 25px !important;
    }

    .home-reviews__label {
        margin-bottom: 18px !important;
    }

    .home-reviews__source {
        margin-top: 22px !important;
    }

    .home-reviews__link {
        margin-top: 20px !important;
    }
}

