/* SvetSalonPro unified 2026 palette: forest, sage, champagne, ivory */
:root {
    --brand-ink: #2b2522;
    --brand-ink-soft: #44362f;
    --brand-sage: #b89478;
    --brand-sage-soft: #ead9cb;
    --brand-accent: #c9a46f;
    --brand-accent-deep: #9a654d;
    --brand-ivory: #fbf7ef;
    --brand-cream: #f3eadc;
    --brand-text: #302923;
    --brand-muted: #7a6e66;
    --brand-border: rgba(67, 52, 43, 0.14);
    --brand-shadow: 0 24px 70px rgba(48, 35, 28, 0.14);
}

html,
body {
    background:
        radial-gradient(circle at 12% 8%, rgba(217, 183, 126, 0.24), transparent 28rem),
        radial-gradient(circle at 88% 14%, rgba(196, 164, 122, 0.18), transparent 30rem),
        var(--brand-ivory) !important;
    color: var(--brand-text);
}

::selection {
    background: rgba(217, 183, 126, 0.45);
    color: var(--brand-ink);
}

a {
    text-underline-offset: 0.18em;
}

.glass-ios,
.menu-overlay,
[class*="bg-[#111]"],
[class*="bg-[#121212]"] {
    background-color: var(--brand-ink) !important;
}

.gold-text,
[class*="text-[#D4AF37]"],
[class*="text-pink-"],
[class*="text-purple-"],
[class*="text-blue-"],
[class*="text-rose-"],
.text-green-500,
.text-wb-purple,
.nav-item.active,
.nav-item:hover {
    color: var(--brand-accent) !important;
    -webkit-text-fill-color: currentColor !important;
    background: none !important;
}

.btn-gold,
.btn-modern,
.wb-purple,
.ios-button,
.btn-primary,
[class*="bg-pink-"],
[class*="bg-purple-"],
[class*="bg-blue-"],
[class*="bg-rose-"],
[class*="bg-red-"],
[class*="bg-[#D4AF37]"] {
    background: linear-gradient(135deg, var(--brand-sage), var(--brand-ink-soft)) !important;
    color: #fff !important;
}

.btn-gold:hover,
.btn-modern:hover,
.ios-button:hover,
.btn-primary:hover {
    box-shadow: 0 16px 34px rgba(15, 47, 42, 0.18) !important;
}

[class*="from-pink-"],
[class*="from-purple-"],
[class*="from-indigo-"],
[class*="from-blue-"],
[class*="from-red-"],
[class*="from-rose-"] {
    --tw-gradient-from: var(--brand-sage) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(111, 143, 114, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

[class*="to-purple-"],
[class*="to-indigo-"],
[class*="to-cyan-"],
[class*="to-rose-"],
[class*="to-pink-"] {
    --tw-gradient-to: var(--brand-accent) var(--tw-gradient-to-position) !important;
}

[class*="border-[#D4AF37]"],
[class*="border-pink-"],
[class*="border-purple-"],
[class*="border-blue-"],
[class*="border-rose-"] {
    border-color: rgba(217, 183, 126, 0.44) !important;
}

.bg-white,
.glass-panel,
.glass-card,
.master-card,
.card,
.contact-booking-card,
.favorite-card,
.setting-card,
.product-card {
    border-color: var(--brand-border) !important;
}

.glass-panel,
.glass-card,
.card {
    box-shadow: var(--brand-shadow) !important;
}

.ios-background {
    background:
        radial-gradient(circle at 18% 34%, rgba(111, 143, 114, 0.24), transparent 28%),
        radial-gradient(circle at 84% 18%, rgba(217, 183, 126, 0.24), transparent 28%) !important;
}

.ios-title {
    background: linear-gradient(135deg, var(--brand-ink), var(--brand-sage)) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.filter-btn.active,
.filter-btn:hover,
.shop-pill,
.product-card__price,
.heart-btn.active {
    color: var(--brand-accent-deep) !important;
}

.toggle-switch.active,
.product-card__actions button.primary,
.shop-page {
    --shop-accent: var(--brand-accent-deep);
    --shop-accent-secondary: var(--brand-sage);
    --shop-border: rgba(15, 47, 42, 0.13);
    --shop-border-strong: rgba(217, 183, 126, 0.42);
    --shop-shadow: var(--brand-shadow);
    --shop-gradient: linear-gradient(135deg, var(--brand-sage), var(--brand-ink-soft));
    --accent: var(--brand-accent-deep);
}

.animate-attention {
    animation: none !important;
    box-shadow: 0 14px 34px rgba(15, 47, 42, 0.18) !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--brand-accent) !important;
    box-shadow: 0 0 0 4px rgba(217, 183, 126, 0.16) !important;
}

.nav-bubble,
.contact-form-luxury,
.contact-booking-card,
.price-card,
.filter-pill,
.service-photo-card,
.master-preview-card,
.master-spotlight-card,
.master-profile-card {
    backdrop-filter: blur(18px) saturate(1.08);
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.section-dark,
.footer-luxury,
footer[style*="var(--luxury-text)"] {
    background:
        radial-gradient(circle at 12% 0%, rgba(217, 183, 126, 0.18), transparent 26rem),
        linear-gradient(135deg, var(--brand-ink), #17110f) !important;
}

.btn-luxury,
button.btn-luxury,
.contact-booking-card button {
    background: linear-gradient(135deg, var(--brand-sage), var(--brand-ink-soft)) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px rgba(15, 47, 42, 0.15);
}

.btn-luxury:hover,
button.btn-luxury:hover,
.contact-booking-card button:hover {
    background: linear-gradient(135deg, var(--brand-accent), var(--brand-accent-deep)) !important;
    color: var(--brand-ink) !important;
    transform: translateY(-2px);
}

.btn-luxury-outline {
    background: rgba(255, 255, 255, 0.48) !important;
    border-color: rgba(217, 183, 126, 0.55) !important;
    color: var(--brand-ink) !important;
}

.form-input,
.contact-booking-card input,
.contact-booking-card select {
    background: rgba(255, 255, 255, 0.72) !important;
}

.filter-pill:hover,
.filter-pill:focus-visible {
    background: rgba(217, 183, 126, 0.16) !important;
}

[class*="focus:ring-pink-"]:focus,
[class*="focus:ring-purple-"]:focus,
[class*="focus:ring-blue-"]:focus,
[class*="peer-focus:ring-pink-"]:focus {
    --tw-ring-color: rgba(217, 183, 126, 0.32) !important;
}

[class*="peer-checked:bg-pink-"],
[class*="peer-checked:bg-purple-"] {
    background-color: var(--brand-sage) !important;
}

/* Premium polish layer */
:root {
    --brand-paper: rgba(255, 252, 246, 0.82);
    --brand-paper-strong: rgba(255, 255, 255, 0.9);
    --brand-hairline: rgba(255, 255, 255, 0.58);
    --brand-radius: 26px;
    --brand-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        linear-gradient(115deg, rgba(251, 247, 239, 0.97), rgba(243, 234, 220, 0.76) 42%, rgba(238, 224, 210, 0.66)),
        repeating-linear-gradient(90deg, rgba(73, 51, 39, 0.018) 0 1px, transparent 1px 88px);
}

.nav-bubble {
    width: min(calc(100vw - 32px), 840px) !important;
    max-width: calc(100vw - 32px);
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    background: rgba(255, 252, 246, 0.88) !important;
    box-shadow: 0 20px 60px rgba(48, 35, 28, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

.nav-bubble::before {
    width: 54px !important;
    height: 54px !important;
    margin-right: 0.7rem !important;
    background-color: #fff !important;
    background-size: 92% auto !important;
    box-shadow: 0 10px 26px rgba(48, 35, 28, 0.12) !important;
}

.nav-link {
    position: relative;
    color: rgba(15, 47, 42, 0.72) !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -0.55rem;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: var(--brand-accent);
    opacity: 0;
    transform: translateX(-50%) scale(0.4);
    transition: opacity 0.28s var(--brand-ease), transform 0.28s var(--brand-ease);
}

.nav-link:hover::after,
.nav-link.active::after {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}

.nav-link:hover,
.nav-link.active {
    color: var(--brand-accent-deep) !important;
    background: rgba(234, 217, 203, 0.62) !important;
}

h1,
h2,
h3,
.serif-text,
.home-hero-title {
    letter-spacing: 0 !important;
    color: var(--brand-ink);
}

.home-hero {
    min-height: 96vh;
    padding-top: 7.5rem !important;
}

.home-hero,
header[style*="text-align: center"] {
    position: relative;
    overflow: hidden;
}

.home-hero::before,
header[style*="text-align: center"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(251, 247, 239, 0.94), rgba(251, 247, 239, 0.68) 48%, rgba(251, 247, 239, 0.94)),
        url("/images/ui/Вход.jpeg") center / cover;
    opacity: 0.44;
}

.home-hero-title {
    max-width: 9.8ch;
    font-size: clamp(3.35rem, 6.9vw, 7.15rem) !important;
    line-height: 0.9 !important;
}

.hero-conversion-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    width: min(620px, 100%);
    margin: -1.4rem 0 1.25rem;
}

.hero-conversion-panel a {
    min-height: 92px;
    padding: 1rem;
    border: 1px solid rgba(154, 101, 77, 0.14);
    border-radius: 20px;
    background: rgba(255, 252, 246, 0.72);
    color: var(--brand-ink);
    text-decoration: none;
    box-shadow: 0 16px 42px rgba(31, 25, 22, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform 0.32s var(--brand-ease), border-color 0.32s var(--brand-ease), box-shadow 0.32s var(--brand-ease);
}

.hero-conversion-panel a:hover,
.hero-conversion-panel a:focus-visible {
    border-color: rgba(201, 164, 111, 0.52);
    box-shadow: 0 22px 60px rgba(31, 25, 22, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    transform: translateY(-3px);
}

.hero-conversion-panel strong,
.hero-conversion-panel span {
    display: block;
}

.hero-conversion-panel strong {
    font-size: clamp(1rem, 1.6vw, 1.28rem);
    line-height: 1.1;
}

.hero-conversion-panel span {
    margin-top: 0.4rem;
    color: var(--brand-muted);
    font-size: 0.78rem;
    line-height: 1.35;
}

.hero-kicker,
.section-eyebrow,
.booking-kicker {
    color: var(--brand-accent-deep) !important;
    font-weight: 800 !important;
}

.hero-portrait,
.signature-card,
.master-preview-card,
.service-photo-card,
.booking-panel,
.booking-summary,
.contact-booking-card,
.contact-form-luxury,
.glass-card,
.price-card,
.master-spotlight-card,
.master-profile-card,
.bg-white {
    border: 1px solid var(--brand-hairline) !important;
    border-radius: var(--brand-radius) !important;
    background: var(--brand-paper) !important;
    box-shadow: 0 24px 70px rgba(15, 47, 42, 0.11), inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
}

.signature-card,
.service-photo-card,
.master-preview-card,
.price-card {
    overflow: hidden;
    transform: translateZ(0);
    transition: transform 0.48s var(--brand-ease), box-shadow 0.48s var(--brand-ease), border-color 0.48s var(--brand-ease);
}

.signature-card:hover,
.service-photo-card:hover,
.master-preview-card:hover,
.price-card:hover {
    border-color: rgba(217, 183, 126, 0.58) !important;
    box-shadow: 0 34px 90px rgba(15, 47, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
    transform: translateY(-8px);
}

.signature-card img,
.service-photo-card img,
.master-preview-card img,
.hero-portrait img,
.master-spotlight-card img,
.master-profile-card img {
    filter: saturate(0.96) contrast(1.03);
    transition: transform 0.75s var(--brand-ease), filter 0.75s var(--brand-ease);
}

.signature-card:hover img,
.service-photo-card:hover img,
.master-preview-card:hover img {
    filter: saturate(1.05) contrast(1.06);
    transform: scale(1.045);
}

.signature-card h3,
.signature-card p,
.signature-card span,
.service-photo-card h3,
.service-photo-card p,
.service-photo-card span {
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.42);
}

.signature-card::after,
.service-photo-card::after {
    background: linear-gradient(180deg, rgba(25, 20, 18, 0.04) 0%, rgba(25, 20, 18, 0.24) 42%, rgba(25, 20, 18, 0.84) 100%) !important;
}

.signature-card a,
.service-photo-card a {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.48) !important;
}

.is-clickable-service,
.is-clickable-chip {
    cursor: pointer;
}

.home-decision-section {
    padding: clamp(1rem, 3vw, 2rem) 0 clamp(4rem, 8vw, 7rem);
}

.decision-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 3rem);
    padding: clamp(1.3rem, 4vw, 2.4rem);
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 28px;
    background:
        radial-gradient(circle at 92% 10%, rgba(201, 164, 111, 0.22), transparent 18rem),
        linear-gradient(135deg, rgba(255, 252, 246, 0.96), rgba(243, 234, 220, 0.88));
    box-shadow: 0 28px 78px rgba(31, 25, 22, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

.decision-card h2 {
    max-width: 760px;
    margin: 0.55rem 0 0.75rem;
    font-size: clamp(2.05rem, 4.5vw, 4rem);
    line-height: 0.98;
}

.decision-card p {
    max-width: 680px;
    color: var(--brand-muted);
    line-height: 1.75;
}

.decision-actions {
    display: grid;
    gap: 0.8rem;
    min-width: min(280px, 100%);
}

.decision-telegram {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.15rem;
    border: 1px solid rgba(154, 101, 77, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.54);
    color: var(--brand-ink);
    text-decoration: none;
    font-weight: 800;
}

.booking-microcopy {
    margin: 0.9rem 0 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.82rem;
    line-height: 1.55;
    text-align: center;
}

.journey-card {
    background:
        radial-gradient(circle at 82% 8%, rgba(201, 164, 111, 0.18), transparent 18rem),
        linear-gradient(135deg, #34261f, #1c1512) !important;
}

.journey-card h2 {
    color: #fff8ea !important;
    text-shadow: 0 2px 22px rgba(0, 0, 0, 0.28);
}

.journey-card .section-eyebrow {
    color: #d6a47f !important;
}

.journey-steps div {
    border-color: rgba(255, 248, 234, 0.18) !important;
    background: rgba(255, 255, 255, 0.075) !important;
}

.journey-steps strong {
    background: #f2dcb0 !important;
    color: #14231f !important;
}

.journey-steps p {
    color: rgba(255, 255, 255, 0.82) !important;
}

.is-clickable-service:focus-visible,
.is-clickable-chip:focus-visible,
.social-circle:focus-visible {
    outline: 3px solid rgba(201, 164, 111, 0.55);
    outline-offset: 4px;
}

.btn-luxury,
.nav-btn-black,
button,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

.btn-luxury,
.nav-btn-black,
.filter-pill,
.booking-panel button,
.contact-booking-card button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    border-radius: 999px !important;
    letter-spacing: 0.08em !important;
    transition: transform 0.32s var(--brand-ease), box-shadow 0.32s var(--brand-ease), background 0.32s var(--brand-ease) !important;
}

.btn-luxury:active,
.nav-btn-black:active,
button:active {
    transform: translateY(1px) scale(0.99) !important;
}

.form-input,
.booking-fields input,
.booking-fields select,
.booking-fields textarea,
.contact-booking-card input,
.contact-booking-card select,
.contact-booking-card textarea {
    border: 1px solid rgba(15, 47, 42, 0.12) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.74) !important;
    color: var(--brand-ink) !important;
}

.booking-layout,
.contact-grid,
.trust-grid,
.home-hero-grid,
.masters-preview-grid,
.signature-grid,
.service-feature-grid {
    gap: clamp(1rem, 3vw, 2.2rem) !important;
}

.section-dark {
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 34px 90px rgba(48, 35, 28, 0.18);
}

#booking.section-dark {
    background:
        radial-gradient(circle at 16% 12%, rgba(201, 164, 111, 0.18), transparent 24rem),
        radial-gradient(circle at 92% 32%, rgba(120, 84, 64, 0.2), transparent 26rem),
        linear-gradient(135deg, #2f251f, #19130f) !important;
}

#booking .contact-info h2,
#booking .contact-info p:not([style*="uppercase"]) {
    color: #fff8ea !important;
}

#booking .contact-info h2 {
    text-shadow: 0 3px 30px rgba(0, 0, 0, 0.26);
}

#booking .contact-info p[style*="uppercase"],
#booking .contact-info span {
    color: rgba(255, 248, 234, 0.58) !important;
}

#booking .contact-info div[style*="border-radius: 50%"] {
    background: rgba(255, 248, 234, 0.09) !important;
    color: #f2dcb0;
}

#booking .contact-form-luxury {
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(244, 236, 225, 0.94)) !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    box-shadow: 0 30px 90px rgba(20, 14, 11, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

#booking .contact-form-luxury h3 {
    color: var(--brand-ink) !important;
}

#booking .form-label {
    color: rgba(48, 41, 35, 0.68) !important;
}

#booking .form-input,
#booking select.form-input {
    min-height: 56px;
    width: 100%;
    padding: 0 1rem !important;
    border: 1px solid rgba(67, 52, 43, 0.12) !important;
    border-radius: 18px !important;
    background-color: rgba(255, 255, 255, 0.78) !important;
    color: var(--brand-ink) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

#booking select.form-input {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 2.8rem !important;
    background-image:
        linear-gradient(45deg, transparent 50%, #7a6252 50%),
        linear-gradient(135deg, #7a6252 50%, transparent 50%);
    background-position:
        calc(100% - 21px) 50%,
        calc(100% - 15px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

#booking .form-input::placeholder {
    color: rgba(48, 41, 35, 0.38);
}

.footer-luxury,
footer {
    position: relative;
}

.footer-luxury::before,
footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 32%);
}

.reveal {
    opacity: 1;
    transform: none;
}

.mobile-booking-cta {
    display: none;
}

.ios-install-trigger {
    position: fixed;
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 2100;
    display: none;
    align-items: center;
    gap: 0.75rem;
    max-width: min(360px, calc(100vw - 32px));
    padding: 0.9rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.64);
    border-radius: 22px;
    background: rgba(255, 252, 246, 0.86);
    color: var(--brand-ink);
    box-shadow: 0 18px 52px rgba(15, 47, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(22px) saturate(1.12);
    -webkit-backdrop-filter: blur(22px) saturate(1.12);
}

.ios-install-trigger.is-visible {
    display: flex;
    animation: installFloatIn 0.7s var(--brand-ease) both;
}

.ios-install-trigger img {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    box-shadow: 0 8px 22px rgba(15, 47, 42, 0.16);
}

.ios-install-trigger strong {
    display: block;
    font-size: 0.92rem;
    line-height: 1.15;
}

.ios-install-trigger span {
    display: block;
    margin-top: 0.1rem;
    color: var(--brand-muted);
    font-size: 0.76rem;
}

@keyframes installFloatIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 1200px) {
    body {
        max-width: 100vw;
        overflow-x: hidden !important;
    }

    .container-luxury,
    .home-hero-grid,
    .home-hero .hero-text {
        max-width: 100% !important;
        overflow: hidden;
    }

    .nav-bubble {
        top: max(0.75rem, env(safe-area-inset-top));
        left: 12px !important;
        right: 12px !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        justify-content: center;
        align-items: center;
        gap: 0.12rem !important;
        padding: 0.42rem !important;
        overflow: visible;
        scrollbar-width: none;
    }

    .nav-bubble::-webkit-scrollbar {
        display: none;
    }

    .nav-link {
        white-space: nowrap;
        text-align: center;
        min-width: 0;
        font-size: 0.54rem !important;
        padding: 0.58rem 0.1rem !important;
        letter-spacing: 0 !important;
    }

    .nav-bubble .btn-luxury {
        display: none !important;
    }

    .mobile-booking-cta {
        position: fixed;
        left: auto !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom));
        z-index: 2150;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 118px;
        min-height: 44px;
        padding: 0.72rem 1rem;
        border-radius: 999px;
        background: linear-gradient(135deg, #c9a46f, #7f5948);
        color: #fff;
        box-shadow: 0 18px 48px rgba(15, 47, 42, 0.22);
        font-size: 0.64rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-decoration: none;
    }

    main,
    .contact-info,
    .contact-booking-card,
    .contact-map,
    .glass-card {
        min-width: 0;
    }

    main p,
    .contact-info p,
    .glass-card p {
        overflow-wrap: anywhere;
    }

    .home-hero {
        min-height: auto;
        padding-top: 6.2rem !important;
    }

    .home-hero-title {
        max-width: 100%;
        overflow-wrap: normal;
        font-size: clamp(2.18rem, 10.8vw, 3.16rem) !important;
        line-height: 1.02 !important;
    }

    .home-hero .hero-text p {
        max-width: 100% !important;
        font-size: 0.98rem !important;
    }

    .home-hero .hero-text > div[style*="display: flex"] {
        gap: 0.75rem !important;
    }

    .home-hero .hero-text .btn-luxury {
        width: 100%;
    }

    .hero-conversion-panel {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .hero-conversion-panel a {
        min-height: auto;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 0.8rem;
        padding: 0.85rem 0.95rem;
    }

    .hero-conversion-panel span {
        margin: 0;
    }

    .decision-card {
        grid-template-columns: 1fr;
        border-radius: 24px;
    }

    .decision-card h2 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    .decision-actions,
    .decision-actions .btn-luxury,
    .decision-telegram {
        width: 100%;
    }

    .section-dark {
        margin: 1rem !important;
        border-radius: 28px !important;
        padding: 3.5rem 1.25rem !important;
    }

    .signature-card,
    .service-photo-card,
    .master-preview-card,
    .booking-panel,
    .booking-summary,
    .contact-form-luxury {
        border-radius: 22px !important;
    }

    .ios-install-trigger {
        left: 12px;
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }
}

.service-modal {
    position: fixed;
    inset: 0;
    z-index: 6000;
    display: none;
}

.service-modal.is-open {
    display: block;
}

.modal-open {
    overflow: hidden;
}

.service-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(31, 25, 22, 0.52);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.service-modal__panel {
    position: absolute;
    left: 50%;
    top: 50%;
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(320px, 1fr);
    width: min(920px, calc(100vw - 32px));
    max-height: min(720px, calc(100vh - 32px));
    overflow: hidden;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 28px;
    background: rgba(255, 252, 246, 0.96);
    box-shadow: 0 34px 120px rgba(31, 25, 22, 0.3);
}

.service-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.82);
    color: var(--brand-ink);
    font-size: 1.6rem;
    cursor: pointer;
}

.service-modal__image {
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
}

.service-modal__content {
    padding: clamp(1.5rem, 4vw, 3rem);
}

.service-modal__kicker {
    color: var(--brand-accent-deep);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.service-modal h2 {
    margin: 0.7rem 0 1rem;
    font-size: clamp(2.5rem, 5vw, 4.4rem);
}

.service-modal p {
    color: var(--brand-muted);
    line-height: 1.75;
}

.service-modal__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 1.6rem 0;
}

.service-modal__meta span {
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(154, 101, 77, 0.16);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--brand-ink);
    font-weight: 800;
}

.service-modal__actions {
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.service-modal__ghost {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.15rem;
    border: 1px solid rgba(154, 101, 77, 0.18);
    border-radius: 999px;
    color: var(--brand-ink);
    text-decoration: none;
    font-weight: 800;
}

@media (max-width: 1200px) {
    .service-modal__panel {
        grid-template-columns: 1fr;
        overflow-y: auto;
    }

    .service-modal__image {
        min-height: 220px;
        max-height: 260px;
    }
}
