.accommodation-landing {
    --ac-blue: #0060aa;
    --ac-blue-dark: #004377;
    --ac-blue-deep: #002f55;
    --ac-cyan: #1b9bc4;
    --ac-gold: #f3ad20;
    --ac-ink: #121619;
    --ac-muted: #687078;
    --ac-soft: #f4f6f8;
    --ac-line: #dce3e9;
    margin-top: -2.7em;
    margin-bottom: -2.5em;
    color: var(--ac-ink);
    overflow: hidden;
}

.accommodation-landing *, .accommodation-landing *::before, .accommodation-landing *::after { box-sizing: border-box; }
.accommodation-landing h1, .accommodation-landing h2, .accommodation-landing h3, .accommodation-landing p { margin-top: 0; }
.accommodation-landing h2 { margin-bottom: .45em; font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.04em; }

.accommodation-hero {
    position: relative;
    padding: 7.4em 0 6.5em;
    background: radial-gradient(circle at 82% 20%, rgba(27, 155, 196, .14), transparent 34%), #fff;
}

.accommodation-hero::after {
    position: absolute; right: -130px; bottom: -230px; width: 530px; height: 530px;
    border: 1px solid rgba(0, 96, 170, .12); border-radius: 50%; content: "";
}

.accommodation-hero__grid {
    position: relative; z-index: 1; display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); align-items: center; gap: 5.5em;
}

.accommodation-eyebrow, .accommodation-kicker {
    display: inline-flex; align-items: center; gap: .65em; color: var(--ac-blue);
    font-size: .86rem; font-weight: 700; letter-spacing: .065em; text-transform: uppercase;
}

.accommodation-eyebrow {
    margin-bottom: 2em; padding: .65em 1em; border: 1px solid var(--ac-line);
    border-radius: 99px; background: rgba(255, 255, 255, .84);
}

.accommodation-eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: var(--ac-gold); content: ""; }
.accommodation-kicker { margin-bottom: 1.25em; }
.accommodation-kicker--light { color: #9fd8ff; }

.accommodation-hero h1 {
    max-width: 830px; margin-bottom: .55em; font-size: clamp(2.8rem, 5vw, 5rem);
    line-height: .99; letter-spacing: -.047em;
}

.accommodation-hero__lead { max-width: 700px; color: var(--ac-muted) !important; font-size: 1.23rem; line-height: 1.58; }
.accommodation-hero__actions { display: flex; align-items: center; gap: 1.35em; margin-top: 2.25em; }
.accommodation-hero__actions span { max-width: 190px; color: var(--ac-muted); font-size: .92rem; line-height: 1.35; }
.accommodation-cta { min-height: 56px; height: auto; padding: .85em 1.45em; }

.accommodation-focus {
    position: relative; min-height: 455px; padding: 2.4em; border: 1px solid rgba(0, 96, 170, .12);
    border-radius: 28px; background: rgba(255, 255, 255, .9); box-shadow: 0 26px 80px rgba(0, 67, 119, .12);
}

.accommodation-focus__screen {
    position: absolute; top: 42px; left: 50%; width: 210px; height: 130px;
    padding: 28px; border: 7px solid var(--ac-blue-dark); border-radius: 12px;
    background: linear-gradient(145deg, #e7f6fc, #b4def0); transform: translateX(-50%);
}

.accommodation-focus__screen::after { position: absolute; bottom: -31px; left: 50%; width: 72px; height: 25px; border-bottom: 7px solid var(--ac-blue-dark); border-left: 7px solid var(--ac-blue-dark); border-right: 7px solid var(--ac-blue-dark); content: ""; transform: translateX(-50%); }
.accommodation-focus__screen span { display: block; width: 72%; height: 6px; margin-bottom: 10px; border-radius: 99px; background: rgba(0, 96, 170, .22); }
.accommodation-focus__screen span:nth-child(2) { width: 90%; }

.accommodation-focus__lens {
    position: absolute; z-index: 2; top: 126px; left: 50%; width: 245px; height: 245px;
    border: 3px solid #5155d9; border-radius: 50%;
    background: linear-gradient(180deg, rgba(218, 241, 251, .88) 0 64%, rgba(91, 185, 220, .78) 64% 100%);
    overflow: hidden; box-shadow: 0 0 0 26px rgba(91, 122, 217, .08), 0 18px 0 2px rgba(243, 173, 32, .08), 0 18px 50px rgba(0, 67, 119, .14); transform: translateX(-50%);
}

.accommodation-focus__lens::before { position: absolute; top: 17px; left: 28px; width: 56px; height: 142px; border-radius: 50%; background: linear-gradient(110deg, rgba(255,255,255,.45), transparent 68%); content: ""; }
.accommodation-focus__lens > div { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; flex-direction: column; height: 64%; text-align: center; }
.accommodation-focus__lens > div:last-child { height: 36%; border-top: 1px solid rgba(0, 96, 170, .25); }
.accommodation-focus__lens strong { color: var(--ac-blue-dark); }
.accommodation-focus__lens span { max-width: 155px; margin-top: .3em; color: #436172; font-size: .78rem; }
.accommodation-focus__phone { position: absolute; right: 35px; bottom: 30px; width: 72px; height: 125px; border: 6px solid var(--ac-blue-dark); border-radius: 14px; background: linear-gradient(#e7f6fc, #b4def0); transform: rotate(8deg); }

.accommodation-section { padding: 6.5em 0; }
.accommodation-section--soft { background: var(--ac-soft); }
.accommodation-section__heading { max-width: 680px; margin-bottom: 3em; }
.accommodation-section__heading--wide { max-width: 900px; }

.accommodation-signs-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-items: stretch; gap: 2em; }
.accommodation-sign-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--ac-line); border-radius: 22px; background: var(--ac-line); overflow: hidden; }
.accommodation-sign-grid article { display: flex; align-items: flex-start; gap: 1.2em; min-height: 138px; padding: 2em; background: #fff; }
.accommodation-sign-grid span { display: grid; flex: 0 0 auto; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #e5f3fc; color: var(--ac-blue); font-weight: 800; }
.accommodation-sign-grid p { margin: .2em 0 0; font-size: 1.08rem; line-height: 1.5; }
.accommodation-signs-layout__image { min-height: 100%; margin: 0; border-radius: 22px; background: #dce8ee; overflow: hidden; }
.accommodation-signs-layout__image img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; }

.accommodation-muscle { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 2em; margin-top: 2.5em; padding: 2.2em 2.5em; border-left: 5px solid var(--ac-gold); background: #fff; }
.accommodation-muscle__icon { position: relative; width: 92px; height: 64px; border: 4px solid var(--ac-blue); border-radius: 50% 50% 46% 46%; }
.accommodation-muscle__icon::before { position: absolute; top: 50%; left: 50%; width: 32px; height: 32px; border: 8px solid var(--ac-cyan); border-radius: 50%; content: ""; transform: translate(-50%, -50%); }
.accommodation-muscle strong { display: block; margin-bottom: .45em; font-size: 1.25rem; }
.accommodation-muscle p { margin: 0; color: var(--ac-muted) !important; line-height: 1.6; }

.accommodation-how, .accommodation-blue, .accommodation-guarantees-layout, .accommodation-faq-layout { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: 6em; }
.accommodation-text-large { color: var(--ac-muted) !important; font-size: 1.15rem; line-height: 1.65; }
.accommodation-steps { margin: 0; padding: 0; list-style: none; }
.accommodation-steps li { display: grid; grid-template-columns: 72px 1fr; gap: 1.2em; padding: 1.7em 0; border-bottom: 1px solid var(--ac-line); }
.accommodation-steps li:first-child { padding-top: 0; }
.accommodation-steps li:last-child { border-bottom: 0; }
.accommodation-steps > li > span { color: var(--ac-blue); font-size: 1.5rem; font-weight: 700; }
.accommodation-steps strong { font-size: 1.22rem; }
.accommodation-steps p { margin: .45em 0 0; color: var(--ac-muted) !important; line-height: 1.5; }

.accommodation-support { padding: 6.5em 0; background: linear-gradient(135deg, var(--ac-blue-deep), var(--ac-blue)); color: #fff; }
.accommodation-support__grid { display: grid; grid-template-columns: .62fr 1.38fr; align-items: center; gap: 6em; }
.accommodation-support__value { display: flex; flex-direction: column; gap: .4em; padding-right: 3em; border-right: 1px solid rgba(255,255,255,.26); }
.accommodation-support__value strong { color: #fff; font-size: clamp(3.2rem, 6vw, 6rem); line-height: .95; letter-spacing: -.06em; }
.accommodation-support h2 { color: #fff; }
.accommodation-support p { max-width: 760px; color: rgba(255,255,255,.82) !important; font-size: 1.12rem; line-height: 1.6; }
.accommodation-support ul { display: grid; gap: .8em; margin: 1.7em 0 0; padding-left: 1.2em; color: rgba(255,255,255,.9); }

.accommodation-blue { align-items: center; }
.accommodation-blue__visual { position: relative; display: grid; min-height: 390px; place-items: center; border-radius: 28px; background: linear-gradient(145deg, #042f5a, #0078ba 55%, #31b7d5); overflow: hidden; }
.accommodation-blue__visual::before, .accommodation-blue__visual::after { position: absolute; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; content: ""; }
.accommodation-blue__visual::after { width: 250px; height: 250px; }
.accommodation-blue__visual span { position: relative; z-index: 1; color: #fff; font-size: 2.2rem; font-weight: 700; }
.accommodation-blue__visual div { position: absolute; bottom: 0; width: 100%; height: 34%; background: linear-gradient(transparent, rgba(0, 22, 60, .62)); }
.accommodation-check-list { display: grid; gap: 0; margin: 1.8em 0 0; padding: 0; list-style: none; }
.accommodation-check-list li { position: relative; padding: 1em 0 1em 2.8em; border-bottom: 1px solid var(--ac-line); line-height: 1.5; }
.accommodation-check-list li::before { position: absolute; top: .9em; left: 0; display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--ac-blue); color: #fff; content: "✓"; font-size: .78rem; }

.accommodation-choice-layout { display: grid; grid-template-columns: minmax(380px, .84fr) minmax(0, 1.16fr); align-items: stretch; gap: 2em; }
.accommodation-choice-layout__content { display: flex; min-width: 0; flex-direction: column; }
.accommodation-choice-layout__image { min-height: 100%; margin: 0; border-radius: 22px; background: #dce8ee; overflow: hidden; }
.accommodation-choice-layout__image img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; }
.accommodation-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25em; }
.accommodation-choice-grid article { min-height: 215px; padding: 2.1em; border: 1px solid var(--ac-line); border-radius: 22px; background: #fff; }
.accommodation-choice-grid article > span { color: var(--ac-blue); font-size: .83rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.accommodation-choice-grid h3 { margin: 1.6em 0 .65em; font-size: 1.45rem; }
.accommodation-choice-grid p { color: var(--ac-muted) !important; line-height: 1.55; }
.accommodation-choice-card--accent { border-color: var(--ac-blue) !important; background: var(--ac-blue) !important; color: #fff; }
.accommodation-choice-card--accent > span, .accommodation-choice-card--accent p { color: rgba(255,255,255,.82) !important; }
.accommodation-choice-note { margin: 2em 0 0; color: var(--ac-muted) !important; }

.accommodation-price { padding: 6em 0; background: #fff; }
.accommodation-price__card { display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 4em; padding: 4em; border: 1px solid var(--ac-line); border-radius: 28px; background: linear-gradient(135deg,#fff,#eef7fc); box-shadow: 0 24px 80px rgba(0,67,119,.09); }
.accommodation-price__card p { color: var(--ac-muted) !important; font-size: 1.12rem; line-height: 1.55; }
.accommodation-price__action { display: flex; align-items: flex-start; flex-direction: column; gap: 1.5em; }
.accommodation-price__value { color: var(--ac-blue-dark); font-size: clamp(3rem,5vw,5rem); font-weight: 700; line-height: 1; letter-spacing: -.05em; white-space: nowrap; }
.accommodation-price__value small { font-size: .28em; font-weight: 500; letter-spacing: 0; }

.accommodation-guarantees { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.accommodation-guarantees li { padding: 1.4em 0; border-bottom: 1px solid var(--ac-line); line-height: 1.55; }
.accommodation-guarantees li:first-child { padding-top: 0; }
.accommodation-faq-layout .accommodation-section__heading { margin-bottom: 0; }
.accommodation-faq details { border-bottom: 1px solid var(--ac-line); }
.accommodation-faq summary { position: relative; padding: 1.4em 3em 1.4em 0; cursor: pointer; font-size: 1.16rem; font-weight: 700; list-style: none; }
.accommodation-faq summary::-webkit-details-marker { display: none; }
.accommodation-faq summary::after { position: absolute; top: 50%; right: .25em; color: var(--ac-blue); content: "+"; font-size: 1.6rem; transform: translateY(-50%); }
.accommodation-faq details[open] summary::after { content: "−"; }
.accommodation-faq details p { max-width: 720px; margin: -.35em 0 1.6em; color: var(--ac-muted) !important; line-height: 1.6; }

.accommodation-numbers { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ac-line); border-bottom: 1px solid var(--ac-line); }
.accommodation-numbers article { min-height: 220px; padding: 2.3em 2em; border-right: 1px solid var(--ac-line); }
.accommodation-numbers article:last-child { border-right: 0; }
.accommodation-numbers strong { display: block; margin-bottom: .65em; color: var(--ac-blue); font-size: clamp(2rem,3.2vw,3.6rem); line-height: 1; letter-spacing: -.045em; }
.accommodation-numbers p { color: var(--ac-muted) !important; line-height: 1.5; }

.accommodation-salons { padding: 6.5em 0 4em; background: var(--ac-blue-dark); color: #fff; }
.accommodation-salons__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 3em; margin-bottom: 3.5em; }
.accommodation-salons h2 { color: #fff; }
.accommodation-salons__header p { max-width: 680px; color: rgba(255,255,255,.74) !important; font-size: 1.1rem; }
.accommodation-salon-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.28); }
.accommodation-salon-grid article { display: flex; align-items: center; justify-content: space-between; gap: 1.5em; padding: 1.45em 1.4em 1.45em 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.accommodation-salon-grid article:nth-child(odd) { padding-right: 2.5em; border-right: 1px solid rgba(255,255,255,.28); }
.accommodation-salon-grid article:nth-child(even) { padding-left: 2.5em; }
.accommodation-salon-grid a { color: #fff; font-size: 1.18rem; font-weight: 700; }
.accommodation-disclaimer { margin: 3em 0 0; color: rgba(255,255,255,.5) !important; font-size: .78rem; line-height: 1.6; }

@media (max-width: 1100px) {
    .accommodation-hero__grid { grid-template-columns: minmax(0,1fr) 360px; gap: 3.5em; }
    .accommodation-how, .accommodation-blue, .accommodation-guarantees-layout, .accommodation-faq-layout { gap: 3.5em; }
    .accommodation-numbers { grid-template-columns: repeat(2,1fr); }
    .accommodation-numbers article:nth-child(2) { border-right: 0; }
    .accommodation-numbers article:nth-child(-n+2) { border-bottom: 1px solid var(--ac-line); }
}

@media (max-width: 768px) {
    .accommodation-hero, .accommodation-section, .accommodation-support, .accommodation-price, .accommodation-salons { padding: 4.5em 0; }
    .accommodation-hero__grid, .accommodation-signs-layout, .accommodation-choice-layout, .accommodation-how, .accommodation-blue, .accommodation-support__grid, .accommodation-guarantees-layout, .accommodation-faq-layout { grid-template-columns: 1fr; gap: 3.5em; }
    .accommodation-hero h1 { font-size: clamp(2.1rem,9vw,2.7rem); line-height: 1.03; }
    .accommodation-hero__actions, .accommodation-salons__header { align-items: flex-start; flex-direction: column; }
    .accommodation-focus { width: min(100%,460px); margin: 0 auto; }
    .accommodation-signs-layout__image { min-height: 0; aspect-ratio: 16 / 10; }
    .accommodation-choice-layout__image { min-height: 0; aspect-ratio: 16 / 10; }
    .accommodation-support__value { padding: 0 0 2.5em; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.26); }
    .accommodation-price__card { grid-template-columns: 1fr; gap: 2.5em; padding: 2.7em; }
}

@media (max-width: 560px) {
    .accommodation-hero__lead { font-size: 1.07rem; }
    .accommodation-hero__actions .main-btn, .accommodation-price__action .main-btn, .accommodation-salons__header .white-btn { width: 100%; white-space: normal; }
    .accommodation-sign-grid, .accommodation-choice-grid, .accommodation-numbers, .accommodation-salon-grid { grid-template-columns: 1fr; }
    .accommodation-sign-grid article { min-height: 0; padding: 1.5em; }
    .accommodation-muscle { grid-template-columns: 1fr; padding: 1.7em; }
    .accommodation-focus { min-height: 430px; padding: 1.5em; }
    .accommodation-focus__screen { width: 190px; }
    .accommodation-focus__lens { top: 126px; width: 220px; height: 220px; box-shadow: 0 0 0 20px rgba(91, 122, 217, .08), 0 15px 0 2px rgba(243, 173, 32, .08), 0 16px 40px rgba(0, 67, 119, .14); }
    .accommodation-focus__phone { right: 18px; bottom: 25px; }
    .accommodation-steps li { grid-template-columns: 52px 1fr; }
    .accommodation-blue__visual { min-height: 300px; }
    .accommodation-price__card { padding: 2em 1.5em; }
    .accommodation-price__value { white-space: normal; }
    .accommodation-numbers article, .accommodation-numbers article:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ac-line); }
    .accommodation-numbers article:last-child { border-bottom: 0; }
    .accommodation-salon-grid article, .accommodation-salon-grid article:nth-child(odd), .accommodation-salon-grid article:nth-child(even) { padding: 1.35em 0; border-right: 0; }
}
