/* to.feel: оформление страницы в палитре и типографике uslugi.html.
   Фотографии: полный кадр, без фильтров и изменения цвета. */
.cm{background:#18120e;color:#fff;font-family:inherit}
.cm *{box-sizing:border-box}
.cm-wrap{width:100%;max-width:1280px;margin:0 auto;padding:72px 16px}
.cm-hero{background:linear-gradient(135deg,#18120e 60%,#2a1a14)}
.cm-hero .cm-wrap{padding-top:80px;padding-bottom:72px}
.cm-kicker{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#e8a4b8;margin:0 0 16px}
.cm h1{font-size:clamp(36px,6vw,64px);font-weight:800;line-height:1.1;max-width:1000px;margin:0 0 24px;color:#fbceb5}
.cm h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.25;color:#fbceb5;margin:0 0 36px}
.cm h3{font-size:1.15rem;font-weight:600;line-height:1.4;color:#fbceb5;margin:0 0 12px}
.cm p{line-height:1.7;margin:0 0 18px;color:rgba(255,255,255,.75)}
.cm p.cm-kicker{color:#e8a4b8}
.cm-lead{max-width:800px;font-size:18px;line-height:1.5}
.cm-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.cm-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;font-family:inherit;font-size:.86rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.5;border:1px solid transparent;border-radius:2px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#c4788a,#e091a8);box-shadow:0 4px 22px rgba(196,120,138,.5);transition:box-shadow .2s,transform .2s}
.cm-button:hover{color:#fff;background:linear-gradient(135deg,#b5667a,#d98198);box-shadow:0 6px 28px rgba(196,120,138,.65);transform:translateY(-2px)}
.cm-button.secondary{color:#fff;background:rgba(196,120,138,.18);border-color:rgba(196,120,138,.85);box-shadow:0 4px 18px rgba(196,120,138,.2)}
.cm-button.secondary:hover{background:rgba(196,120,138,.32);border-color:#e091a8}
.cm-button:focus-visible,.cm summary:focus-visible,.cm a:focus-visible{outline:2px solid #fbceb5;outline-offset:5px}
.cm-price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:28px;border:1px solid rgba(196,120,138,.35);border-radius:20px;background:rgba(196,120,138,.06)}
.cm-price strong{display:block;font-size:clamp(28px,4vw,40px);font-weight:700;color:#fbceb5;margin-bottom:18px}
.cm-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
.cm-step{border-top:1px solid rgba(196,120,138,.35);padding-top:24px}
.cm>section.cm-wrap+section.cm-wrap{border-top:1px solid rgba(255,255,255,.07)}
.cm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.cm-card{min-width:0;overflow:hidden;border:1px solid rgba(196,120,138,.22);border-radius:12px;background:rgba(255,255,255,.025)}
.cm-caption{padding:24px}
.cm-caption p:last-child{margin-bottom:0}
.cm-frame{margin:0;background:#211a16;display:flex;align-items:center;justify-content:center;aspect-ratio:1}
.cm-frame a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.cm-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.cm-card details{padding:0 24px 24px}
.cm-card summary{cursor:pointer;padding:8px 0;color:#fbceb5;font-size:.9rem}
.cm-more{display:grid;gap:16px;margin-top:16px}
.cm-more img{display:block;width:100%;height:auto;filter:none}
.cm-video{display:block;width:100%;max-height:560px;background:#18120e}
.cm p.cm-note{font-size:.85rem;color:rgba(255,255,255,.6);max-width:900px}
.cm-contact{padding:40px;background:linear-gradient(135deg,#2a1a14,#18120e);border:1px solid rgba(196,120,138,.35);border-radius:20px}
.cm-contact a:not(.cm-button){color:#fbceb5;text-decoration:underline;text-underline-offset:4px}
.cm-contact .cm-actions{margin-bottom:28px}
.cm-spacer{margin-top:72px}
.cm details.cm-faq{padding:24px 0;border-top:1px solid rgba(255,255,255,.12)}
.cm-faq summary{font-size:1.05rem;font-weight:500;color:#fbceb5;cursor:pointer;line-height:1.5}
.cm-faq p{margin:18px 0 0;max-width:850px}
@media(max-width:768px){.cm-wrap{padding:48px 16px}.cm-hero .cm-wrap{padding-top:48px;padding-bottom:48px}.cm-grid,.cm-price,.cm-steps{grid-template-columns:minmax(0,1fr)}.cm-price,.cm-contact{padding:24px}.cm-actions{gap:14px}.cm h1{font-size:clamp(32px,8vw,48px)}.cm h2{margin-bottom:28px}.cm-spacer{margin-top:48px}.cm-button{max-width:100%;padding:14px 20px}.cm-caption{padding:20px}.cm-card details{padding:0 20px 20px}}
@media(prefers-reduced-motion:reduce){.cm-button{transition:none}.cm-button:hover{transform:none}}
/* Galleries: no autoplay, no crop, original images open on click. */
.cm-gallery{background:#211a16}
.cm-gallery__viewport{aspect-ratio:1;position:relative;touch-action:pan-y pinch-zoom}
.cm-gallery__slide{width:100%;height:100%}
.cm-gallery__slide[hidden],.cm-card details[hidden],.cm-more[hidden]{display:none!important}
.cm-gallery__slide a{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.cm-gallery__slide img{width:100%;height:100%;object-fit:contain;display:block;filter:none}
.cm-gallery__controls{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 16px;border-top:1px solid rgba(196,120,138,.22)}
.cm-gallery__controls button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(196,120,138,.65);border-radius:2px;background:rgba(196,120,138,.14);color:#fbceb5;font-family:inherit;font-size:24px;cursor:pointer}
.cm-gallery__controls button:hover{background:rgba(196,120,138,.3)}
.cm-gallery__controls button:focus-visible,.cm-gallery__viewport:focus-visible{outline:2px solid #fbceb5;outline-offset:3px}
.cm-gallery__counter{min-width:56px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;color:#fbceb5}
