:root {
    --bg: #FAFAFA;
    --bg-card: #FFFFFF;
    --text: #1C1C1E;
    --text-secondary: #545458;
    --text-tertiary: #636366;
    --accent: #0051D5;
    --accent-dark: #003EA8;
    --border: #E0E0E0;
    --border-light: #E8E8ED;
    --shadow-sm: 0 1px 3px rgba(0,0,0,0.04);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.06);
    --shadow-lg: 0 16px 48px rgba(0,0,0,0.1);
    --radius: 14px;
    --radius-lg: 20px;
    --radius-pill: 980px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    overflow-x: hidden;
    font-family: 'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.skip-link,.rz-skip-link { position:absolute; top:-40px; left:0; background:var(--accent); color:#fff!important; padding:8px 16px; z-index:100000; border-radius:0 0 8px 0; font-size:14px; text-decoration:none; transition:top .2s ease; }
.skip-link:focus,.rz-skip-link:focus { top:0; }

.page a:focus-visible,.page button:focus-visible,.rz-page a:focus-visible,.rz-page button:focus-visible,.container a:focus-visible,.container button:focus-visible,.t-rec a:focus-visible,.t-rec button:focus-visible { outline:2px solid var(--accent)!important; outline-offset:2px!important; border-radius:4px!important; }

.t-text,.t-descr,.t-text_xs,.t-text_sm,.t-text_md,.t-text_lg,.t-text_xl,.t-text_xxl,.t-name_xs,.t-name_sm,.t-name_md,.t-name_lg,.t-name_xl,.t-name_xxl,.t-descr_xs,.t-descr_sm,.t-descr_md,.t-descr_lg,.t-descr_xl,.t-descr_xxl,.t-inputplaceholder,.t-select__placeholder,.t-checkbox__label,.t-radio__label,div[style*="color: rgb(118, 118, 118)"],div[style*="color: rgb(110, 110, 115)"],div[style*="color: rgb(142, 142, 142)"],div[style*="color:#6e6e73"],div[style*="color:#767676"],div[style*="color:#8e8e8e"],span[style*="color:#6e6e73"],span[style*="color:#767676"],span[style*="color:#8e8e8e"] { color:#545458!important; }
.t-heading_xs,.t-heading_sm,.t-heading_md,.t-heading_lg,.t-heading_xl,.t-heading_xxl,.t-title_xs,.t-title_sm,.t-title_md,.t-title_lg,.t-title_xl,.t-title_xxlg,.t-title_xxxlg { color:#1C1C1E!important; }

.container { position:relative; z-index:1; max-width:600px; margin:0 auto; padding:20px 24px 120px; }
.page,.rz-page { font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; background:var(--bg); color:var(--text); line-height:1.5; max-width:680px; margin:0 auto; padding:40px 20px 100px; }
.page a,.rz-page a { color:var(--text); text-decoration:none; transition:color .2s ease; }
.page a:link,.page a:visited,.rz-page a:link,.rz-page a:visited { color:var(--text); }
.page a:hover,.rz-page a:hover { color:var(--accent); }

.breadcrumbs,.rz-breadcrumbs { background:var(--bg-card); border:1px solid var(--border-light); border-radius:12px; padding:12px 16px; margin-bottom:24px; }
.breadcrumbs ol,.rz-breadcrumbs ol { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.breadcrumbs li,.rz-breadcrumbs li { display:flex; align-items:center; gap:6px; }
.breadcrumbs a,.rz-breadcrumbs a { display:inline-flex; align-items:center; gap:6px; color:var(--accent)!important; text-decoration:none!important; font-weight:500; font-size:13px; transition:opacity .2s; }
.breadcrumbs a:hover,.rz-breadcrumbs a:hover { opacity:.7; }
.breadcrumbs .separator,.rz-breadcrumbs .separator { color:var(--text-tertiary); font-size:16px; }
.breadcrumbs .current,.rz-breadcrumbs .current { color:var(--text); font-weight:500; font-size:13px; }

.hero,.rz-hero { text-align:center; margin-bottom:32px; }
.hero-title,.rz-hero-title { font-size:clamp(28px,7vw,44px); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin-bottom:12px; color:var(--text); }
.hero-sub,.rz-hero-sub { font-size:16px; color:var(--text-secondary); max-width:460px; margin:0 auto; line-height:1.5; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; padding:6px 14px; background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-pill); font-size:13px; font-weight:500; color:var(--text-secondary); margin-bottom:28px; box-shadow:var(--shadow-sm); }
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:#30D158; position:relative; display:inline-block; }
.hero-badge-dot::after { content:''; position:absolute; inset:-4px; border-radius:50%; background:rgba(48,209,88,0.15); animation:pulse 2.2s ease-in-out infinite; will-change:transform,opacity; }
@keyframes pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.8); opacity:.3; } }
.hero-badges,.rz-hero-badges { display:flex; justify-content:center; gap:12px; margin-top:16px; flex-wrap:wrap; }
.badge,.rz-badge { background:#F3F4F6; padding:6px 12px; border-radius:var(--radius-pill); font-size:13px; font-weight:500; color:var(--text-secondary); }

.section-title,.rz-section-title { font-size:22px; font-weight:700; margin:32px 0 16px; color:var(--text); text-align:center; }
.section-desc,.rz-section-desc { font-size:15px; color:var(--text-secondary); text-align:center; margin-bottom:20px; line-height:1.5; }
.product-card,.rz-product-card { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:24px; margin-bottom:20px; box-shadow:var(--shadow-sm); }
.gallery-main,.rz-gallery-main { width:100%; aspect-ratio:4/3; border-radius:var(--radius); overflow:hidden; margin-bottom:12px; background:#F3F4F6; border:1px solid var(--border-light); }
.gallery-main img,.rz-gallery-main img { display:block!important; width:100%!important; height:100%!important; object-fit:cover!important; border-radius:var(--radius); }
.thumbs,.rz-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.thumb,.rz-thumb { aspect-ratio:1/1; border-radius:8px; overflow:hidden; border:2px solid var(--border-light); cursor:pointer; opacity:.7; transition:.2s; background:var(--bg-card); padding:0; }
.thumb:hover,.thumb.active,.rz-thumb:hover,.rz-thumb.active { opacity:1; border-color:var(--accent); }
.thumb img,.rz-thumb img { width:100%; height:100%; object-fit:cover; }
.price-tag,.rz-price-tag { text-align:center; font-size:22px; font-weight:800; color:var(--accent); margin:16px 0; padding:12px; background:#F0F7FF; border-radius:12px; border:1px solid #E0F0FF; }
.price-note,.rz-price-note { display:block; font-size:12px; font-weight:500; color:var(--text-secondary); margin-top:4px; }
.btn-order,.rz-btn-order { position:relative; z-index:3; display:block; width:100%; padding:14px 18px; background:var(--accent); color:#FFF!important; border-radius:12px; font-weight:600; font-size:16px; text-align:center; margin-top:12px; transition:.2s; border:none; cursor:pointer; min-height:48px; }
.btn-order:hover,.rz-btn-order:hover { background:var(--accent-dark); transform:translateY(-1px); }
.feature-box,.rz-feature-box { background:linear-gradient(135deg,#F0F7FF 0%,#E0F0FF 100%); border:2px solid var(--accent); border-radius:16px; padding:20px; margin:24px 0; }
.feature-title,.rz-feature-title { font-size:18px; font-weight:700; color:var(--accent); margin-bottom:12px; text-align:center; }
.feature-list,.rz-feature-list { list-style:none; margin:0; padding:0; }
.feature-list li,.rz-feature-list li { margin-bottom:8px; padding-left:24px; position:relative; font-size:14px; color:var(--text-secondary); line-height:1.5; }
.feature-list li::before,.rz-feature-list li::before { content:"✓"; position:absolute; left:0; color:#30D158; font-weight:bold; }
.service-link,.rz-service-link { padding:16px; background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius); display:flex; justify-content:space-between; align-items:center; transition:all .2s; margin-bottom:10px; font-size:15px; color:var(--text); text-decoration:none; min-height:48px; }
.service-link:hover,.rz-service-link:hover { background:#F8F9FA; border-color:var(--accent); transform:translateY(-1px); color:var(--text); }
.service-link-accent,.rz-service-link-accent { padding:16px; background:linear-gradient(135deg,#FFF5F5 0%,#FFE8E8 100%); border:2px solid #FF4444; border-radius:var(--radius); display:flex; justify-content:space-between; align-items:center; transition:all .2s; margin-bottom:10px; font-size:15px; color:var(--text); text-decoration:none; position:relative; min-height:48px; }
.service-link-accent:hover,.rz-service-link-accent:hover { background:linear-gradient(135deg,#FFE8E8 0%,#FFD4D4 100%); border-color:#CC0000; transform:translateY(-1px); }
.discount-badge,.rz-discount-badge { position:absolute; top:-8px; right:12px; background:#FF4444; color:#fff; padding:3px 10px; border-radius:12px; font-size:11px; font-weight:700; letter-spacing:.02em; box-shadow:0 2px 8px rgba(255,68,68,0.3); }
.services { display:flex; flex-direction:column; gap:10px; margin-bottom:48px; }
.service-card-wide { padding:28px 24px; background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); color:var(--text); transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow-sm); position:relative; overflow:hidden; display:block; }
.service-card-wide:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); border-color:var(--border); }
.service-card-wide::before { content:''; position:absolute; top:0; left:0; bottom:0; width:4px; background:var(--accent); border-radius:0 2px 2px 0; }
.service-card-wide-title { font-size:20px; font-weight:700; letter-spacing:-.02em; margin-bottom:8px; color:var(--text); }
.service-card-wide-desc { font-size:14px; color:var(--text-secondary); line-height:1.5; }
.service-card-wide-desc strong { color:var(--text); }
.service-card-wide-link { position:absolute; inset:0; z-index:1; display:block; }
.service-card-wide-arrow { position:absolute; top:20px; right:20px; width:32px; height:32px; border-radius:50%; background:#F5F5F7; display:flex; align-items:center; justify-content:center; color:var(--text-tertiary); transition:background .3s ease,color .3s ease; z-index:2; }
.service-card-wide:hover .service-card-wide-arrow { background:var(--accent); color:#fff; }
.service-portfolio { margin-top:20px; padding-top:20px; border-top:1px solid var(--border-light); }
.service-portfolio-title { font-size:13px; font-weight:600; color:var(--text-secondary); margin-bottom:12px; text-transform:uppercase; letter-spacing:.02em; }
.service-portfolio-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.service-portfolio-item { position:relative; border-radius:8px; overflow:hidden; aspect-ratio:1/1; background:linear-gradient(135deg,#f5f5f7 0%,#e8e8ed 100%); }
.service-portfolio-item img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.service-portfolio-item:hover img { transform:scale(1.05); }
.service-portfolio-caption { position:absolute; bottom:0; left:0; right:0; padding:8px 10px; background:linear-gradient(to top,rgba(0,0,0,0.95),rgba(0,0,0,0.6)); color:#fff; font-size:11px; font-weight:500; }
.service-card { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:20px; background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius); color:var(--text); transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1); box-shadow:var(--shadow-sm); }
.service-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); border-color:var(--border); }
.service-card-content { flex:1; padding-right:16px; }
.service-card-title { font-size:16px; font-weight:600; letter-spacing:-.015em; margin-bottom:4px; color:var(--text); }
.service-card-desc { font-size:13px; color:var(--text-secondary); line-height:1.4; }
.service-card-arrow { width:20px; height:20px; margin-left:8px; color:var(--text-tertiary); transition:color .3s ease,transform .3s ease; flex-shrink:0; }
.service-card:hover .service-card-arrow { color:var(--accent); transform:translateX(3px); }
.service-card-accent { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:20px; background:linear-gradient(135deg,#FFF5F5 0%,#FFE8E8 100%); border:2px solid #CC0000; border-radius:var(--radius); color:var(--text); transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),background .3s cubic-bezier(.4,0,.2,1); box-shadow:0 4px 16px rgba(204,0,0,0.15); position:relative; overflow:visible; }
.service-card-accent:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(204,0,0,0.25); border-color:#990000; background:linear-gradient(135deg,#FFE8E8 0%,#FFD4D4 100%); }
.service-card-accent .service-card-title { color:#CC0000; font-weight:700; }
.service-card-accent .service-card-desc { color:var(--text); font-weight:500; }
.service-card-accent .service-card-arrow { color:#CC0000; }
.service-card-accent:hover .service-card-arrow { color:#990000; transform:translateX(3px); }
.floating-stack { position:fixed; bottom:24px; right:20px; z-index:1500; display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.float-btn--reviews,.float-btn--contacts { display:flex; align-items:center; gap:8px; min-height:48px; padding:12px 18px; border-radius:var(--radius-pill); font-size:14px; font-weight:600; text-decoration:none; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; box-shadow:var(--shadow-md); border:none; cursor:pointer; }
.float-btn--reviews { background:rgba(255,255,255,0.95); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(0,0,0,0.08); color:var(--text); }
.float-btn--reviews:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); border-color:rgba(0,0,0,0.12); }
.float-btn--reviews .stars { display:flex; gap:2px; }
.float-btn--reviews .stars span { color:#FFD60A; font-size:14px; }
.float-btn--reviews .rating-meta { font-size:11px; color:var(--text-tertiary); font-weight:400; margin-left:6px; }
.float-btn--contacts { background:var(--accent); color:#fff; }
.float-btn--contacts:hover { background:var(--accent-dark); transform:translateY(-2px); box-shadow:0 12px 32px rgba(26,58,143,0.35); color:#fff; }
.float-btn--contacts:active { transform:scale(.98); }
.float-btn--contacts svg { width:18px; height:18px; flex-shrink:0; }
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:10000; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .3s ease; }
.modal-overlay.show { display:flex; opacity:1; }
.modal-overlay.show .modal-card { transform:scale(1) translateY(0); }
.modal-card { background:var(--bg-card); width:100%; max-width:480px; border-radius:var(--radius-lg); padding:32px 28px 28px; box-shadow:var(--shadow-lg); position:relative; transform:scale(.96) translateY(12px); transition:transform .3s cubic-bezier(.16,1,.3,1); max-height:90vh; overflow-y:auto; }
.modal-close { position:absolute; top:12px; right:12px; width:44px; height:44px; background:#F5F5F7; border:1px solid var(--border-light); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--text-secondary); transition:background .2s,color .2s; }
.modal-close:hover { background:#E5E5EA; color:var(--text); }
.modal-title { font-size:24px; font-weight:700; letter-spacing:-.02em; margin-bottom:24px; color:var(--text); }
.modal-links { display:flex; flex-direction:column; gap:10px; }
.modal-link { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:16px 18px; background:#F8F8F8; border:1px solid var(--border-light); border-radius:var(--radius); font-size:15px; font-weight:500; transition:background .2s ease,border-color .2s ease,transform .2s ease; color:var(--text); text-decoration:none; }
.modal-link:hover { background:#fff; border-color:var(--border); transform:translateX(4px); }
.modal-link-arrow { color:var(--text-tertiary); font-size:16px; transition:color .2s; }
.modal-link:hover .modal-link-arrow { color:var(--accent); }
.modal-hint { margin-top:20px; padding-top:16px; border-top:1px solid var(--border-light); font-size:12px; color:var(--text-tertiary); text-align:center; line-height:1.5; }
.policy-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:10000; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .3s ease; }
.policy-modal.show { display:flex; opacity:1; }
.policy-modal-card { background:var(--bg-card); width:100%; max-width:500px; border-radius:var(--radius-lg); padding:32px 28px 28px; box-shadow:var(--shadow-lg); position:relative; max-height:90vh; overflow-y:auto; }
.policy-modal-title { font-size:24px; font-weight:700; margin-bottom:16px; color:var(--text); }
.policy-modal-content { font-size:14px; line-height:1.6; color:var(--text-secondary); }
.policy-modal-content p { margin-bottom:12px; }
.policy-modal-content strong { color:var(--text); }
.policy-modal-content a { color:var(--accent); font-weight:500; text-decoration:underline; }
.how-we-work,.rz-how-we-work { margin:48px 0; padding:40px 0; }
.steps-grid,.rz-steps-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:32px; }
.step,.rz-step { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:28px 24px; text-align:center; transition:all .3s ease; box-shadow:var(--shadow-sm); }
.step:hover,.rz-step:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.step-number,.rz-step-number { width:48px; height:48px; background:var(--accent); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; margin:0 auto 16px; }
.step h3,.rz-step h3 { font-size:16px; font-weight:600; margin-bottom:8px; color:var(--text); }
.step p,.rz-step p { font-size:13px; color:var(--text-secondary); line-height:1.5; }
.advantages,.rz-advantages { margin:48px 0; padding:40px 0; }
.advantages-grid,.rz-advantages-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:32px; }
.advantage-card,.rz-advantage-card { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius); padding:24px 20px; transition:all .3s ease; box-shadow:var(--shadow-sm); }
.advantage-card:hover,.rz-advantage-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); border-color:var(--border); }
.advantage-icon,.rz-advantage-icon { font-size:28px; margin-bottom:12px; line-height:1; }
.advantage-card h3,.rz-advantage-card h3 { font-size:15px; font-weight:600; margin-bottom:6px; color:var(--text); }
.advantage-card p,.rz-advantage-card p { font-size:13px; color:var(--text-secondary); line-height:1.5; }
.guarantee,.rz-guarantee { background:linear-gradient(135deg,#F0F7FF 0%,#E0F0FF 100%); border:2px solid var(--accent); border-radius:var(--radius-lg); padding:32px 24px; margin:48px 0; text-align:center; }
.guarantee-icon,.rz-guarantee-icon { font-size:48px; margin-bottom:16px; }
.guarantee h3,.rz-guarantee h3 { font-size:24px; font-weight:700; margin-bottom:12px; color:var(--accent); }
.guarantee>p,.rz-guarantee>p { font-size:15px; color:var(--text-secondary); line-height:1.6; margin-bottom:16px; }
.guarantee-list,.rz-guarantee-list { list-style:none; margin:16px auto; padding:0; text-align:left; max-width:400px; }
.guarantee-list li,.rz-guarantee-list li { font-size:14px; color:var(--text); margin-bottom:8px; padding-left:24px; position:relative; }
.guarantee-list li::before,.rz-guarantee-list li::before { content:'✓'; position:absolute; left:0; color:#30D158; font-weight:bold; }
.schedule,.rz-schedule { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:24px; margin:48px 0; text-align:center; }
.schedule h3,.rz-schedule h3 { font-size:20px; font-weight:700; margin-bottom:16px; color:var(--text); }
.schedule-grid,.rz-schedule-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px; }
.schedule-item,.rz-schedule-item { padding:12px; background:#F8F8F8; border-radius:var(--radius); }
.schedule-day,.rz-schedule-day { font-size:13px; color:var(--text-tertiary); margin-bottom:4px; }
.schedule-time,.rz-schedule-time { font-size:16px; font-weight:600; color:var(--text); }
.faq,.rz-faq { margin-top:32px; }
.faq-title,.rz-faq-title { font-size:20px; font-weight:700; margin:0 0 16px; color:var(--text); text-align:center; }
.faq-list,.rz-faq-list { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:8px 24px; }
.faq-item,.rz-faq-item { border-bottom:1px solid var(--border-light); padding:12px 0; }
.faq-item:last-child,.rz-faq-item:last-child { border-bottom:none; }
.faq-item summary,.rz-faq-item summary { font-size:14px; font-weight:600; color:var(--text); cursor:pointer; list-style:none; padding:12px 0; min-height:48px; line-height:1.4; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.faq-item summary::-webkit-details-marker,.rz-faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after,.rz-faq-item summary::after { content:'+'; font-size:20px; color:var(--accent); font-weight:400; flex-shrink:0; }
.faq-item[open] summary::after,.rz-faq-item[open] summary::after { content:'−'; }
.faq-answer,.rz-faq-answer { font-size:13px; color:var(--text-secondary); line-height:1.5; padding:8px 0 12px; }
.faq-answer a,.rz-faq-answer a { color:var(--accent); font-weight:500; }
.legal-info,.rz-legal-info { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:24px; margin-top:32px; }
.legal-info h3,.rz-legal-info h3 { font-size:18px; font-weight:700; margin-bottom:16px; color:var(--text); text-align:center; }
.legal-info-grid,.rz-legal-info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.legal-item,.rz-legal-item { padding:12px; background:#F8F8F8; border-radius:var(--radius); }
.legal-label,.rz-legal-label { font-size:12px; color:var(--text-tertiary); margin-bottom:4px; }
.legal-value,.rz-legal-value { font-size:14px; font-weight:600; color:var(--text); }
.legal-value a,.rz-legal-value a { color:var(--accent); font-weight:500; }
.requisites,.rz-requisites { background:var(--bg-card); border:1px solid var(--border-light); border-radius:var(--radius); overflow:hidden; margin-top:20px; box-shadow:var(--shadow-sm); }
.requisites-header,.rz-requisites-header { display:flex; justify-content:space-between; align-items:center; width:100%; padding:16px 20px; font-size:14px; font-weight:500; color:var(--text-secondary); background:none; border:none; cursor:pointer; text-align:left; transition:background .2s; min-height:48px; }
.requisites-header:hover,.rz-requisites-header:hover { background:#F8F8F8; }
.requisites-toggle-icon,.rz-requisites-toggle-icon { width:32px; height:32px; border-radius:50%; background:#F5F5F7; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--text-tertiary); transition:all .3s ease; }
.requisites.is-open .requisites-toggle-icon,.rz-requisites.is-open .rz-requisites-toggle-icon { transform:rotate(180deg); background:var(--accent); color:#fff; }
.requisites-content,.rz-requisites-content { display:none; padding:0 20px 20px; font-size:13px; color:var(--text-secondary); line-height:1.6; }
.requisites-content.is-open,.rz-requisites-content.is-open { display:block; border-top:1px solid var(--border-light); padding-top:16px; }
.requisites-content p,.rz-requisites-content p { display:flex; justify-content:space-between; gap:8px; margin-bottom:4px; }
.requisites-content p span:first-child,.rz-requisites-content p span:first-child { color:var(--text-tertiary); font-weight:500; flex-shrink:0; }
.requisites-content p span:last-child,.rz-requisites-content p span:last-child { color:var(--text); text-align:right; }
.footer-bottom,.rz-footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; padding-top:16px; border-top:1px solid var(--border-light); }
.footer-copy,.rz-footer-copy { font-size:12px; color:var(--text-tertiary); }
.footer-links,.rz-footer-links { display:flex; gap:20px; }
.footer-links a,.rz-footer-links a { font-size:12px; color:var(--text-secondary); transition:color .2s; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.footer-links a:hover,.rz-footer-links a:hover { color:var(--accent); }
.float,.rz-float { position:fixed; bottom:20px; right:20px; z-index:1500; display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.f-btn,.rz-f-btn { display:flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--radius-pill); font-size:14px; font-weight:600; text-decoration:none; transition:.25s; box-shadow:var(--shadow-md); border:none; cursor:pointer; min-height:44px; }
.f-home,.rz-f-home { background:var(--bg-card); color:var(--text); border:1px solid var(--border-light); }
.f-contact,.rz-f-contact { background:var(--accent); color:#FFF; }
.f-btn:hover,.rz-f-btn:hover { transform:translateY(-2px); }
.f-reviews,.rz-f-reviews { background:#FFF; color:var(--text); border:1px solid var(--border-light); align-items:center; gap:6px; }
.f-reviews .stars,.rz-f-reviews .stars { color:#FFD60A; font-size:14px; }
.modal,.rz-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:10000; align-items:center; justify-content:center; padding:20px; }
.modal.active,.rz-modal.active { display:flex; }
.modal-card,.rz-modal-card { background:var(--bg-card); width:100%; max-width:400px; border-radius:var(--radius-lg); padding:24px; position:relative; max-height:90vh; overflow-y:auto; }
.modal-close,.rz-modal-close { position:absolute; top:12px; right:12px; width:44px; height:44px; background:#F5F5F7; border:none; border-radius:50%; cursor:pointer; font-size:16px; color:var(--text-secondary); display:flex; align-items:center; justify-content:center; transition:all .2s; }
.modal-close:hover,.rz-modal-close:hover { background:#E5E5EA; color:var(--text); }
.modal-title,.rz-modal-title { font-size:22px; font-weight:700; margin-bottom:16px; color:var(--text); }
.modal-link,.rz-modal-link { display:flex; justify-content:space-between; align-items:center; padding:12px; background:#F8F8F8; border-radius:10px; margin-bottom:8px; font-size:15px; transition:.2s; color:var(--text); text-decoration:none; min-height:48px; border:1px solid transparent; }
.modal-link:hover,.rz-modal-link:hover { background:var(--bg-card); border-color:var(--border-light); }
.policy-modal,.rz-policy-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6); z-index:10000; align-items:center; justify-content:center; padding:20px; }
.policy-modal.active,.rz-policy-modal.active { display:flex; }
.policy-modal-card,.rz-policy-modal-card { background:var(--bg-card); width:100%; max-width:500px; border-radius:var(--radius-lg); padding:24px; position:relative; max-height:90vh; overflow-y:auto; }
.policy-modal-title,.rz-policy-modal-title { font-size:22px; font-weight:700; margin-bottom:16px; color:var(--text); }
.policy-modal-content,.rz-policy-modal-content { font-size:14px; line-height:1.6; color:var(--text-secondary); }
.policy-modal-content a,.rz-policy-modal-content a { color:var(--accent); font-weight:500; text-decoration:underline; }

@media(max-width:600px) {
    .container { padding:20px 16px 100px; }
    .breadcrumbs { padding:20px 16px 0; }
    .hero { margin-bottom:36px; }
    h1 { font-size:34px; }
    .hero-sub { font-size:16px; }
    .steps-grid,.advantages-grid,.schedule-grid,.legal-info-grid,.rz-steps-grid,.rz-advantages-grid,.rz-schedule-grid,.rz-legal-info-grid { grid-template-columns:1fr; }
    .service-card-wide { padding:20px 16px; }
    .service-card-wide-title { font-size:18px; }
    .service-portfolio { margin-top:14px; padding-top:14px; }
    .service-portfolio-title { font-size:11px; margin-bottom:8px; }
    .service-portfolio-grid { grid-template-columns:repeat(2,1fr); gap:6px; }
    .service-portfolio-item { aspect-ratio:1/1; border-radius:6px; }
    .service-portfolio-caption { font-size:9px; padding:4px 6px; }
    .service-card { padding:16px; }
    .service-card-title { font-size:15px; }
    .modal-card { padding:28px 20px 24px; }
}

@media(max-width:480px) {
    .page,.rz-page { padding:30px 16px 80px; }
    .float,.rz-float,.floating-stack {
        right:12px;
        bottom:12px;
        flex-direction:column;
        width:auto;
    }
    .f-btn,.rz-f-btn,.float-btn--reviews,.float-btn--contacts {
        padding:8px 12px;
        font-size:13px;
    }
    .f-home,.rz-f-home { display:none; }
    .thumbs,.rz-thumbs { grid-template-columns:repeat(3,1fr); }
    .faq-list,.rz-faq-list { padding:8px 16px; }
}

.rz-pricing-row { justify-content:center!important; gap:16px!important; padding:14px 0!important; }
.rz-pricing-name { font-weight:600!important; color:var(--text)!important; }
.rz-pricing-value { font-size:20px!important; font-weight:800!important; color:var(--accent)!important; background:#F0F4FB!important; padding:6px 14px!important; border-radius:10px!important; border:1px solid var(--accent)!important; }
.btn-secondary { position:relative; z-index:3; background:var(--accent)!important; color:#FFF!important; border:2px solid var(--accent)!important; border-radius:12px; padding:14px 18px; width:100%; text-align:center; font-weight:600; font-size:16px; margin-top:12px; transition:.2s; min-height:48px; display:block; text-decoration:none; }
.btn-secondary:hover { background:var(--accent-dark)!important; border-color:var(--accent-dark)!important; color:#FFF!important; transform:translateY(-1px); }
.top-contacts { display:flex!important; flex-direction:column!important; align-items:center!important; text-align:center!important; margin-top:-12px!important; }
.top-contacts .footer-address { display:inline-flex!important; align-items:center!important; gap:8px!important; min-height:48px!important; padding:12px 20px!important; background:var(--bg-card)!important; border:1px solid var(--border-light)!important; border-radius:var(--radius-pill)!important; font-size:14px!important; font-weight:500!important; color:var(--text)!important; margin:4px auto 8px!important; box-shadow:var(--shadow-sm)!important; transition:all .2s ease!important; cursor:pointer!important; text-decoration:none!important; }
.top-contacts .footer-address:hover { border-color:var(--accent)!important; transform:translateY(-1px)!important; box-shadow:var(--shadow-md)!important; }
.top-contacts .top-contacts-schedule { display:inline-flex!important; align-items:center!important; gap:6px!important; background:transparent!important; border:none!important; box-shadow:none!important; padding:4px 0!important; min-height:auto!important; font-size:13px; color:var(--text-secondary); margin:0 auto 8px!important; }
.top-contacts .top-phone { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:52px!important; padding:12px 28px!important; background:var(--accent)!important; color:#FFF!important; font-weight:700!important; font-size:20px!important; text-decoration:none!important; border-radius:var(--radius-pill)!important; margin:8px auto 16px auto!important; box-shadow:0 4px 16px rgba(26,58,143,0.25)!important; transition:all .2s ease!important; cursor:pointer!important; letter-spacing:.02em!important; }
.top-contacts .top-phone:hover { background:var(--accent-dark)!important; transform:translateY(-2px)!important; box-shadow:0 6px 20px rgba(26,58,143,0.35)!important; color:#FFF!important; }
.top-contacts .top-phone:active { transform:scale(.97)!important; }
.hero,.rz-hero { margin-top:-8px; }
.services { gap:6px; }
.service-card-wide { padding:20px 20px; margin-bottom:6px; }
.service-card { padding:14px 16px; margin-bottom:6px; }

/* Добавленные утилитарные классы из HTML */
.rz-section-mb { margin-bottom: 20px; }
.rz-mt-32 { margin-top: 32px; }
.rz-mt-48 { margin-top: 48px; }
.rz-btn-fullwidth { margin-top: 20px; width: 100%; }