/* Portrait and original Rani-ji branding within the existing theme. */
.header__logo a img { width: 175px; height: auto; object-fit: contain; }
.footer__logo img { max-width: 190px; height: auto; }
body.page:has(.first #bgb[src*="dilara-portrait"]) .first { background: #eeeae3; min-height: 650px; }
body.page:has(.first #bgb[src*="dilara-portrait"]) .first__bg { z-index: 0; }
.first #bgb[src*="dilara-portrait"] { left: auto; width: 52%; object-position: center 24%; }
.first:has(#bgb[src*="dilara-portrait"]) .wrapper { position: relative; z-index: 1; }
.first:has(#bgb[src*="dilara-portrait"]) .first__title { font-size: clamp(34px, 4.2vw, 66px); }
@media (max-width: 699px) {
 .header__logo a img { width: 130px; }
 body.page:has(.first #bgb[src*="dilara-portrait"]) .first { padding-top: 315px; min-height: auto; }
 .first #bgb[src*="dilara-portrait"] { display: block !important; width: 100%; height: 310px; object-position: center 24%; border-radius: 20px 20px 0 0; }
 .first:has(#bgb[src*="dilara-portrait"]) .first__title { font-size: 34px; }
}

/* Keep both logos legible at desktop and mobile sizes. */
.header .header__logo { flex-shrink: 0; }
.header .header__logo a img { display: block; width: 200px; max-width: 100%; height: auto; }
.footer .footer__logo { width: 200px; max-width: 100%; }
.footer .footer__logo a { display: block; width: 200px; max-width: 100%; }
.footer .footer__logo a img { display: block; width: 200px; max-width: 100%; height: auto; }
.footer a[href^="mailto:"] { color: #fcda98; overflow-wrap: anywhere; }
@media (max-width: 699px) {
 .header .header__logo a img { width: 145px; }
 .footer .footer__logo, .footer .footer__logo a, .footer .footer__logo a img { width: 190px; }
}

/* Warm studio photography: preserve faces, use consistent rounded frames. */
.report__img { aspect-ratio: 4/5; object-fit: cover; object-position: 50% 38%; border-radius: 24px; }
.about-company__img img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 35%; border-radius: 24px; }
.consultation .person-img, .get-consultation .person-img { object-fit: cover; object-position: center 30%; border-radius: 24px; }
.reply__block-img { object-fit: cover; object-position: center 35%; }
.dilara-photo { margin: 0 0 28px; }
.dilara-service-photo, .dilara-article-photo { width: 100%; max-height: 520px; object-fit: cover; object-position: center 32%; border-radius: 24px; }
.services .item-img img, .articles__item .item-img, .portfolio__item .item-img { object-fit: cover; object-position: center 32%; }
.first:has(#bgb[src*="dilara-portrait"]) .first__bg .main-bg { object-position: 50% 30%; }
@media(max-width:699px) {
 .first:has(#bgb[src*="dilara-portrait"]) .first__bg .main-bg { object-position: 50% 27%; }
 .report__img, .about-company__img img { max-height: 460px; }
 .dilara-service-photo, .dilara-article-photo { max-height: 370px; }
}

.dilara-contact-photo { margin: 0 0 28px; max-width: 320px; }
.dilara-contact-photo img { width:100%; height:300px; object-fit:cover; object-position:center 28%; border-radius:24px; }
.dilara-contact-photo figcaption { margin-top:12px; font-size:16px; }

/* The original mobile template hid its first menu entry (now Services). */
@media(max-width:699px) { .header__nav .nav-wrap .nav > .nav-item:first-child { display:block; } }

.calc-banner__img img[src*="dilara-welcome"] { object-fit:cover; object-position:center 28%; border-radius:24px; }

/* Compact generated scenes: fixed 200×300 files and display frames. */
.services__item .item-img { width:200px; max-width:100%; height:300px; margin:14px auto; flex-shrink:0; }
.services__item .item-img img { display:block; width:100%; height:300px; object-fit:cover; object-position:center; border-radius:18px; }
.services__item { min-height:0; }
.services__item .item-content { height:auto; margin-top:auto; }
.get-consultation:has(.person-img[src*="cut-"]) { background:#fff !important; }
.get-consultation__person .person-img[src*="cut-"] { width:100%; height:100%; left:0; top:auto; bottom:0; object-fit:contain; object-position:center bottom; border-radius:0; background:transparent; }
.get-consultation__person:has(.person-img[src*="cut-"]) .person-info { top:auto; bottom:22px; left:auto; right:0; width:150px; padding:12px; background:#fff; border-radius:12px; z-index:1; }
.calc-banner__img img[src*="cut-"] { object-fit:contain; object-position:center bottom; border-radius:0; }
@media(max-width:699px) {
 .services__item { padding:24px; }
 .services__item .item-img { width:200px; height:300px; }
 .get-consultation__person .person-img[src*="cut-"] { position:absolute; width:100%; height:100%; left:0; top:auto; bottom:0; }
 .get-consultation__person:has(.person-img[src*="cut-"]) .person-info { right:0; bottom:16px; left:auto; }
}
.services__item .item-title { min-height:3.6em; display:flex; align-items:center; justify-content:center; }
.get-consultation.md-style-2 .get-consultation__person .person-img[src*="cut-"] { width:100%; height:100%; object-fit:contain; object-position:center bottom; transform:none; top:auto; left:0; right:auto; bottom:0; border-radius:0; }
.get-consultation.md-style-2 .get-consultation__person:has(.person-img[src*="cut-"]) .person-info { top:auto; left:auto; right:0; bottom:22px; width:150px; }

/* Readable contact panel with a close portrait instead of a full-length cutout. */
.dilara-contact-banner .calc-banner__container {background:#211a38; color:#fff; min-height:360px; padding:48px 44% 48px 48px;}
.dilara-contact-banner .calc-banner__title {color:#fff; font-size:clamp(28px,3vw,44px); line-height:1.2;}
.dilara-contact-banner .calc-banner__text {color:#eee8f4; font-size:18px; line-height:1.6;}
.dilara-contact-banner .calc-banner__link a {width:auto; max-width:280px; padding:18px 28px; color:#211a38;}
.dilara-contact-banner .calc-banner__img {width:38%;height:100%;right:3%;bottom:0;}
.dilara-contact-banner .calc-banner__img img {position:absolute;top:auto;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;}
.report--text-only .report__container {display:block;}
.report--text-only .report__info {width:100%;max-width:100%;}
.get-consultation--text-only .get-consultation__content {width:100%;padding:0;}
.get-consultation--text-only .get-consultation__container {display:block;}
.articles-typical__content .dilara-service-photo {aspect-ratio:3/2;height:auto;max-height:none;object-position:center;}
.articles-typical__content h2 {margin-top:36px;}
@media(max-width:699px) {
 .dilara-contact-banner .calc-banner__container {padding:28px 24px 0;min-height:0;}
 .dilara-contact-banner .calc-banner__img {position:relative;right:auto;width:100%;height:280px;margin-top:20px;}
 .dilara-contact-banner .calc-banner__title {font-size:28px;}
 .dilara-contact-banner .calc-banner__text {font-size:16px;}
 .report--text-only .report__info {width:100%;}
 .get-consultation--text-only .get-consultation__content {width:100%;}
}

.about-company__img img[src*="blog-choice"] {aspect-ratio:4/3;object-position:center;}

.report--text-only {padding-top:64px;padding-bottom:64px;margin:0;}
.report--text-only .report__subtitle {max-width:820px;}
.get-consultation--text-only .get-consultation__title {color:#211a38;}
body:has(.report--text-only) .about-company {padding-top:48px;padding-bottom:48px;}
@media(max-width:699px) {.report--text-only {padding:36px 0;} body:has(.report--text-only) .about-company {padding:32px 0;}}

.about-company__img img[src*="dilara-about-session-v4"] {aspect-ratio:4/3;object-position:center;max-height:none;}

.contacts__info-social.dilara-contact-links>div {display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.contacts__info-social.dilara-contact-links a {display:flex;align-items:center;gap:12px;width:auto;height:auto;min-height:44px;color:#211a38;font-size:16px;line-height:1.4;border-radius:12px;padding:8px 12px;background:#fff;}
.contacts__info-social.dilara-contact-links a img {position:static;width:32px;height:32px;flex-shrink:0;transform:none;margin:0;}
.contacts__info-social.dilara-contact-links a:hover {background:#fcda98;}
.contacts__form .form-title {color:#211a38;}
.header__contacts a.call-back {display:block;color:#211a38;font-size:14px;font-weight:500;line-height:1.4;margin-top:5px;}
.reply__block--text {height:auto;min-height:0;justify-content:flex-start;gap:20px;padding:32px;}
.reply__block--text .reply__block-title {width:100%;font-size:clamp(22px,1.6vw,30px);line-height:1.25;}
.reply__block--text .reply__block-text {width:100%;font-size:16px;line-height:1.6;}
.reply__block--text .clear-talk__link {margin-top:auto;padding-top:12px;}
@media(max-width:699px) {.reply__block--text {padding:24px;gap:16px;}}

/* Verified reviews imported from the two public Yandex profiles. */
.other-reviews__lead {max-width:760px;margin:-24px auto 18px;text-align:center;font-size:18px;line-height:1.55;color:#5f5a69;}
.other-reviews__sources {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 auto 34px;}
.other-reviews__source-link {display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border:1px solid #211a38;border-radius:999px;color:#211a38;font-size:15px;font-weight:700;line-height:1.35;text-align:center;transition:background-color .2s,color .2s,border-color .2s;}
.other-reviews__source-link:hover,.other-reviews__source-link:focus-visible {background:#211a38;color:#fff;border-color:#211a38;}
.other-reviews__item .review-info__img--placeholder {display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eee8f4,#fcda98);color:#211a38;font-size:clamp(34px,3.1vw,58px);font-weight:700;text-transform:uppercase;}
.other-reviews__item .review-info__meta {display:flex;flex-wrap:wrap;justify-content:center;gap:5px;font-size:13px;line-height:1.4;text-align:center;color:#716b7a;}
.other-reviews__item .review-info__meta a {color:#277e31;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.other-reviews__item .review-content__text {white-space:normal;}
@media(max-width:699px) {
 .other-reviews__lead {margin:-4px auto 16px;padding:0 10px;font-size:15px;}
 .other-reviews__sources {margin-bottom:26px;gap:9px;}
 .other-reviews__source-link {width:100%;min-height:44px;padding:10px 14px;font-size:14px;}
 .other-reviews__item .review-info__img--placeholder {font-size:11vw;}
 .other-reviews__item .review-info__name {text-align:left;}
 .other-reviews__item .review-info__meta {justify-content:flex-start;font-size:12px;text-align:left;margin-bottom:8px;}
}


/* Reviews heading layout. */
.reviews.md-style-2 {margin-bottom:38px;}
.reviews.md-style-2 .reviews__title {margin-bottom:14px;}
.reviews__lead {max-width:760px;margin:0 auto;text-align:center;font-size:18px;line-height:1.55;color:#5f5a69;}
@media(max-width:699px) {
 .reviews.md-style-2 {margin-bottom:34px;}
 .reviews.md-style-2 .reviews__title {margin-bottom:12px;}
 .reviews__lead {padding:0 10px;font-size:15px;}
}

/* Reserve the full phone width, including on portrait tablets. */
.header__contacts { flex: 0 0 auto; width: auto; }
.header__contacts > a[href^="tel:"] { white-space: nowrap; word-break: normal; overflow-wrap: normal; }
@media (max-width: 768px) {
 .header__contacts { padding-left: 0; }
 .header__contacts > a[href^="tel:"] { font-size: clamp(11px, 3.125vw, 16px); line-height: 1.3; }
}

/* Keep the desktop header readable on landscape tablets before the mobile menu breakpoint. */
@media (min-width: 769px) and (max-width: 1280px) {
 .header { height: auto; min-height: 76px; padding: 12px 0; margin-bottom: 24px; }
 .header__top .wrapper { gap: 16px; }
 .header .header__logo { flex: 0 0 145px; width: 145px; }
 .header .header__logo a img { width: 145px; }
 .header__nav { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; padding: 25vw 0 6.25vw; background: #fff; z-index: 2; display: flex; flex-direction: column; overflow-y: auto; opacity: 0; pointer-events: none; }
 .header__nav .wrapper { width: 86.25vw; }
 .header__nav .nav-wrap .nav { display: flex; flex-direction: column; justify-content: flex-start; gap: 0; }
 .header__nav .nav-wrap .nav > .nav-item { min-width: 0; padding: 10px 0; }
 .header__nav .nav-wrap .nav > .nav-item a { display: block; font-size: 18px; white-space: normal; }
 .header__social, .header__text, .header__address, .header__download { display: none; }
 .header__logo { flex: 0 0 145px; width: 145px; }
 .header__contacts { flex: 0 0 auto; width: auto; padding-left: 0; align-items: flex-end; }
 .header__contacts > a:not(.call-back) { display: block; white-space: nowrap; word-break: keep-all; overflow-wrap: normal; font-size: 16px; line-height: 1.25; }
 .header__contacts a.call-back { font-size: 14px; line-height: 1.3; }
 .header__btn-wrap { display: block; flex: 0 0 auto; padding: 12px; background: #fff; border-radius: 8px; box-shadow: 0 0 24px rgb(198 198 198 / 25%); }
 .header__btn-wrap p { display: none; }
 .header__btn { display: block; width: 28px; height: 24px; }
 .header__btn span, .header__btn span:last-child, .header__btn.open span:last-child { width: 28px; height: 3px; }
 .header__btn.open span:first-child { top: 50%; transform: translateY(-50%) rotate(-45deg); }
 .header__btn.open span:nth-child(2) { opacity: 0; }
 .header__btn.open span:last-child { bottom: 50%; transform: translateY(50%) rotate(45deg); }
}

