/* ============ OZLocks WEB DESIGN SYSTEM (light theme, ozlocks.ru/aura) ============ */
:root{
  --oz-primary:#228BE6;        /* Mantine blue — primary CTA / лендинги */
  --oz-primary-dark:#0061B2;   /* вторичный синий */
  --oz-cta:#F25830;            /* оранжево-красный сильный акцент */
  --oz-text:#212529;           /* основной текст */
  --oz-text-muted:#868E96;     /* приглушённый */
  --oz-surface:#F8F9FA;        /* светло-серая подложка */
  --oz-white:#FFFFFF;
  --oz-red:#FA5252; --oz-green:#12B886; --oz-yellow:#FAB005; --oz-indigo:#4C6EF5;

  /* пастельные подложки 10% (Mantine) */
  --soft-blue:rgba(34,139,230,.10);
  --soft-green:rgba(18,184,134,.10);
  --soft-yellow:rgba(250,176,5,.10);
  --soft-indigo:rgba(76,110,245,.10);
  --soft-teal:rgba(21,170,191,.10);
  --soft-red:rgba(250,82,82,.10);
  --soft-gray:rgba(134,142,150,.10);

  --font-display:'Wix Madefor Display', system-ui, sans-serif;
  --font-text:'Wix Madefor Text', system-ui, sans-serif;

  --max-width:1200px;
  --radius-card:24px;
  --radius-btn:8px;
  --section-pad:clamp(64px, 8vw, 112px);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-text);
  background:var(--oz-white);
  color:var(--oz-text);
  font-size:16px;
  line-height:1.6;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}

.container{max-width:var(--max-width); margin:0 auto; padding:0 24px;}

/* ============ TYPOGRAPHY ============ */
h1,h2,h3,h4{font-family:var(--font-display); text-transform:none; letter-spacing:normal; color:var(--oz-text);}
h1.hero-title{
  font-weight:600;
  font-size:clamp(30px,7vw,52px);
  line-height:1.1; overflow-wrap:break-word;
}
h2.section-title{font-weight:600; font-size:clamp(30px,4.4vw,40px); line-height:1.15; margin-bottom:16px;}
h3{
  font-weight:600;
  font-size:clamp(24px,3vw,32px);
  line-height:1.2;
}

.eyebrow{
  display:inline-block;
  font-family:var(--font-text); font-weight:600;
  font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--oz-primary); margin-bottom:16px;
}
.section-lead{
  font-size:clamp(16px,1.4vw,18px); line-height:1.6;
  color:var(--oz-text-muted); max-width:720px; margin-bottom:48px;
}

/* ============ BUTTONS ============ */
.oz-btn{
  display:inline-flex; align-items:center; gap:10px;
  border-radius:var(--radius-btn); padding:10px 16px;
  font-family:var(--font-text); font-weight:600; font-size:16px;
  border:0; cursor:pointer; text-decoration:none; line-height:1.2;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.oz-btn--primary{background:var(--oz-primary); color:#fff;}
.oz-btn--primary:hover{background:#1c7ed6; transform:translateY(-1px);}
.oz-btn--secondary{background:#fff; color:var(--oz-text-muted); box-shadow:inset 0 0 0 1px #DEE2E6;}
.oz-btn--secondary:hover{color:var(--oz-text); box-shadow:inset 0 0 0 1px #CED4DA;}
.oz-btn--lg{font-size:18px; padding:14px 24px;}
.oz-link{
  display:inline-flex; align-items:center; gap:8px;
  background:none; border:0; color:var(--oz-primary);
  font-family:var(--font-text); font-weight:600; font-size:16px;
  text-decoration:none; cursor:pointer;
}
.oz-link:hover{text-decoration:underline;}
.btn-arrow{transition:transform .2s ease;}
.oz-btn:hover .btn-arrow, .oz-link:hover .btn-arrow{transform:translateX(4px);}

/* ============ NAVBAR ============ */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid #E9ECEF;
}
.nav-inner{
  max-width:var(--max-width); margin:0 auto; padding:14px 24px;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
}
.brand-link{display:flex; align-items:center; gap:14px; text-decoration:none;}
.brand-logo{height:24px; width:auto;}
.brand-separator{width:1px; height:22px; background:#DEE2E6;}
.brand-product{font-family:var(--font-display); font-weight:600; font-size:18px; color:var(--oz-text);}
.brand-product em{font-style:normal; color:var(--oz-primary);}
.nav-right{display:flex; align-items:center; gap:20px;}
.nav-phone{font-weight:600; font-size:15px; color:var(--oz-text); text-decoration:none;}
.nav-phone:hover{color:var(--oz-primary);}

/* ============ SECTION RHYTHM ============ */
section{padding:var(--section-pad) 0;}
.bg-surface{background:var(--oz-surface);}

/* ============ HERO ============ */
.hero{padding:clamp(56px,9vh,96px) 0 var(--section-pad);}
.hero-container{display:grid; grid-template-columns:1fr; gap:48px; align-items:center;}
.hero-container > *{min-width:0;}
@media(min-width:1024px){.hero-container{grid-template-columns:1.05fr .95fr; gap:64px;}}
.hero-lead{font-size:clamp(17px,1.5vw,19px); line-height:1.55; color:var(--oz-text-muted); max-width:560px; margin:24px 0 32px;}
.hero-cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px;}
.hero-trust{display:flex; flex-wrap:wrap; gap:12px;}
.hero-trust span{
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:500; color:var(--oz-text-muted);
  background:var(--oz-surface); padding:7px 14px; border-radius:999px;
}
.hero-trust span::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--oz-primary);}

/* Hero visual: split PMS vs AURA (light) */
.hero-visual{
  background:var(--oz-surface); border-radius:var(--radius-card);
  padding:20px;
}
.hv-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px;}
.hv-title{font-family:var(--font-display); font-weight:600; font-size:15px; color:var(--oz-text);}
.hv-live{display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--oz-red); text-transform:uppercase; letter-spacing:.04em;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media(max-width:430px){.split{grid-template-columns:1fr;} .split-side{min-height:0;}}
.split-side{background:#fff; border-radius:16px; padding:16px; min-height:300px;}
.split-label{font-family:var(--font-text); font-weight:600; font-size:11px; letter-spacing:.08em; color:var(--oz-text-muted); text-transform:uppercase; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #E9ECEF; display:flex; align-items:center; gap:8px;}
.pms-row{display:flex; justify-content:space-between; font-size:13px; padding:7px 0; color:var(--oz-text);}
.pms-row.highlight{background:var(--soft-green); color:#0CA678; padding:8px; margin:4px -8px; border-radius:8px; font-weight:600;}
.dashboard-room{background:var(--soft-red); border:1px solid rgba(250,82,82,.35); border-radius:12px; padding:14px;}
.dashboard-room-num{font-family:var(--font-display); font-size:30px; font-weight:600; color:var(--oz-red); line-height:1; margin-bottom:4px;}
.dashboard-room-status{font-weight:600; font-size:11px; color:var(--oz-red); letter-spacing:.04em; text-transform:uppercase; margin-bottom:12px;}
.dashboard-metric{display:flex; justify-content:space-between; font-size:12px; color:var(--oz-text-muted); padding:4px 0;}
.dashboard-metric strong{color:var(--oz-text); font-weight:600;}
.live-pulse{display:inline-block; width:7px; height:7px; background:var(--oz-red); border-radius:50%; animation:pulse 1.4s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.4; transform:scale(1.3);}}

/* ============ CARDS (flat, 24px) ============ */
.oz-card{background:var(--oz-surface); border-radius:var(--radius-card); padding:32px; box-shadow:none;}
.oz-card--accent{background:var(--oz-primary); color:#fff;}
.oz-card--accent .oz-card-text{color:rgba(255,255,255,.9);}

/* ANCHOR CASE (the legal precedent — accent blue card) */
.anchor-case{
  background:var(--oz-primary); color:#fff;
  border-radius:var(--radius-card); padding:clamp(32px,5vw,56px);
  margin-bottom:32px; position:relative; overflow:hidden;
}
.anchor-badge{
  display:inline-block; font-weight:600; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:#fff;
  background:rgba(255,255,255,.18); padding:6px 12px; border-radius:999px; margin-bottom:24px;
}
.anchor-amount-label{font-size:13px; color:rgba(255,255,255,.8); margin-bottom:12px;}
.anchor-amount{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(48px,9vw,104px); line-height:.95; color:#fff;
  margin-bottom:24px; font-variant-numeric:tabular-nums;
}
.anchor-body{font-size:clamp(15px,1.2vw,17px); line-height:1.65; color:rgba(255,255,255,.92); max-width:840px; margin-bottom:18px;}
.anchor-body strong{color:#fff; font-weight:600;}
.anchor-link{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:14px; color:#fff; text-decoration:none;
  background:rgba(255,255,255,.15); padding:10px 16px; border-radius:var(--radius-btn); margin-top:8px;
  transition:background .2s ease;
}
.anchor-link:hover{background:rgba(255,255,255,.28);}

/* ACFE callout */
.acfe-callout{
  background:var(--oz-surface); border-radius:var(--radius-card);
  padding:32px; margin-bottom:48px;
  display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:center;
}
@media(max-width:640px){.acfe-callout{grid-template-columns:1fr; gap:16px;}}
.acfe-big{font-family:var(--font-display); font-weight:700; font-size:clamp(56px,7vw,88px); color:var(--oz-primary); line-height:.9;}
.acfe-text{font-size:15px; line-height:1.6; color:var(--oz-text-muted);}
.acfe-text strong{color:var(--oz-text); font-weight:600;}
.acfe-source{font-size:12px; color:var(--oz-text-muted); margin-top:10px;}

/* SCENARIOS grid */
.scenarios-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px;}
.scenario-card{background:var(--oz-surface); border-radius:var(--radius-card); padding:28px; transition:transform .25s ease;}
.scenario-card:hover{transform:translateY(-3px);}
.scenario-num{font-weight:600; font-size:12px; color:var(--oz-primary); letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px;}
.scenario-title{font-family:var(--font-display); font-weight:600; font-size:22px; margin-bottom:12px; color:var(--oz-text);}
.scenario-text{font-size:15px; line-height:1.55; color:var(--oz-text-muted);}

/* ============ SOLUTION STEPS ============ */
.steps-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; margin-top:8px;}
.step-card{background:var(--oz-surface); border-radius:var(--radius-card); padding:32px 28px; transition:transform .25s ease;}
.step-card:hover{transform:translateY(-3px);}
.step-card--accent{background:var(--oz-primary); color:#fff;}
.step-card--accent .step-text{color:rgba(255,255,255,.9);}
.step-card--accent .step-number{color:rgba(255,255,255,.4);}
.step-number{font-family:var(--font-display); font-weight:700; font-size:64px; color:#DEE2E6; line-height:.9; margin-bottom:16px; font-variant-numeric:tabular-nums;}
.step-title{font-family:var(--font-display); font-weight:600; font-size:24px; margin-bottom:12px; color:inherit;}
.step-text{font-size:15px; line-height:1.6; color:var(--oz-text-muted);}
.steps-footnote{
  margin-top:32px; padding:24px 28px; background:var(--soft-blue);
  border-radius:16px; font-size:14px; color:var(--oz-text); line-height:1.65;
}

/* ============ DASHBOARD MOCKUP (light) ============ */
.dashboard-mockup{
  background:var(--oz-surface); border-radius:var(--radius-card);
  padding:24px; display:grid; grid-template-columns:1.5fr 1fr; gap:24px; margin-top:8px;
}
@media(max-width:900px){.dashboard-mockup{grid-template-columns:1fr;}}
.mockup-header{
  grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  padding-bottom:16px; border-bottom:1px solid #E9ECEF; font-size:13px; color:var(--oz-text-muted); font-weight:500;
}
.mockup-tabs{display:flex; gap:20px;}
.mockup-tab{color:var(--oz-text-muted); font-weight:600; font-size:13px;}
.mockup-tab.active{color:var(--oz-primary);}
.mockup-tab.active::before{content:'● ';}
.mockup-live{color:var(--oz-red); display:flex; align-items:center; gap:8px; font-weight:600; font-size:13px;}
.room-grid{display:grid; grid-template-columns:repeat(8,1fr); gap:6px;}
@media(max-width:540px){.room-grid{grid-template-columns:repeat(6,1fr);}}
.room-cell{aspect-ratio:1; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:11px; transition:transform .2s ease;}
.room-cell:hover{transform:scale(1.08); z-index:2;}
.room-free{background:var(--soft-green); color:#0CA678;}
.room-occupied{background:var(--soft-blue); color:var(--oz-primary);}
.room-alert{background:var(--oz-red); color:#fff; animation:pulseRoom 2s ease-in-out infinite;}
@keyframes pulseRoom{0%,100%{box-shadow:0 0 0 0 rgba(250,82,82,.5);} 50%{box-shadow:0 0 0 8px rgba(250,82,82,0);}}
.room-tech{background:#fff; color:var(--oz-text-muted); box-shadow:inset 0 0 0 1px #E9ECEF;}
.room-legend{display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; font-size:12px; color:var(--oz-text-muted); font-weight:500;}
.room-legend span{display:inline-flex; align-items:center; gap:6px;}
.legend-dot{width:12px; height:12px; border-radius:4px;}
.events-panel{background:#fff; border-radius:16px; padding:20px; height:100%;}
.events-title{font-weight:600; font-size:12px; letter-spacing:.06em; color:var(--oz-text-muted); text-transform:uppercase; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid #E9ECEF;}
.event-item{padding:14px 0; border-bottom:1px solid #F1F3F5; font-size:12px; line-height:1.5;}
.event-item:last-child{border-bottom:none;}
.event-time{color:var(--oz-text-muted); display:block; margin-bottom:4px; font-weight:600;}
.event-text{color:var(--oz-text-muted);}
.event-item.alert .event-text{color:var(--oz-text);}
.event-item.alert .event-text strong{color:var(--oz-red); font-weight:700;}
.event-item.ok .event-text strong{color:#0CA678; font-weight:600;}

/* ============ ROI ============ */
.roi-model{background:var(--oz-primary); color:#fff; border-radius:var(--radius-card); padding:clamp(28px,4vw,48px); margin-bottom:32px;}
.roi-model-eyebrow{font-weight:600; font-size:12px; color:rgba(255,255,255,.85); letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;}
.roi-model-title{font-family:var(--font-display); font-weight:600; font-size:clamp(24px,3.2vw,34px); margin-bottom:28px; color:#fff; line-height:1.15;}
.roi-flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-bottom:24px;}
.roi-step{background:rgba(255,255,255,.12); border-radius:14px; padding:18px;}
.roi-step-label{font-weight:600; font-size:11px; color:rgba(255,255,255,.8); letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px;}
.roi-step-value{font-family:var(--font-display); font-weight:700; font-size:28px; color:#fff; font-variant-numeric:tabular-nums; line-height:1;}
.roi-conclusion{background:rgba(0,0,0,.18); border-radius:16px; padding:24px; display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media(max-width:600px){.roi-conclusion{grid-template-columns:1fr;}}
.roi-result-label{font-weight:600; font-size:11px; color:rgba(255,255,255,.8); letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px;}
.roi-result-value{font-family:var(--font-display); font-weight:700; font-size:clamp(32px,4.2vw,46px); line-height:1; font-variant-numeric:tabular-nums; color:#fff;}
.roi-footnote{margin-top:20px; font-size:14px; color:var(--oz-text-muted); line-height:1.6;}
.roi-footnote strong{color:var(--oz-primary); font-weight:600;}

/* Calculator */
.calculator{background:var(--oz-surface); border-radius:var(--radius-card); padding:clamp(28px,4vw,40px); margin-bottom:32px;}
.calc-title{font-family:var(--font-display); font-weight:600; font-size:clamp(24px,3vw,32px); margin-bottom:8px;}
.calc-sub{font-size:15px; color:var(--oz-text-muted); margin-bottom:32px;}
.calc-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
@media(max-width:768px){.calc-grid{grid-template-columns:1fr; gap:28px;}}
.calc-inputs,.calc-outputs{display:flex; flex-direction:column; gap:18px;}
.calc-field label{display:block; font-weight:600; font-size:12px; color:var(--oz-text-muted); letter-spacing:.04em; margin-bottom:8px; text-transform:uppercase;}
.calc-field input{
  width:100%; background:#fff; box-shadow:inset 0 0 0 1px #DEE2E6; color:var(--oz-text);
  font-family:var(--font-display); font-weight:600; font-size:22px; padding:13px 16px; border-radius:var(--radius-btn);
  border:0; font-variant-numeric:tabular-nums; transition:box-shadow .18s ease;
}
.calc-field input:focus{outline:none; box-shadow:inset 0 0 0 2px var(--oz-primary);}
.calc-output{padding:14px 0; border-bottom:1px solid #E9ECEF;}
.calc-output:last-child{border-bottom:none;}
.calc-output-label{font-weight:600; font-size:12px; color:var(--oz-text-muted); letter-spacing:.04em; margin-bottom:6px; text-transform:uppercase;}
.calc-output-value{font-family:var(--font-display); font-weight:700; font-size:28px; color:var(--oz-text); font-variant-numeric:tabular-nums; line-height:1;}
.calc-output-value.highlight{color:#0CA678; font-size:36px;}
.calc-output-value.warning{color:var(--oz-red);}

/* Pricing */
.pricing-block{background:var(--oz-surface); border-radius:var(--radius-card); padding:clamp(28px,4vw,40px);}
.pricing-eyebrow{font-weight:600; font-size:12px; color:var(--oz-primary); letter-spacing:.08em; text-transform:uppercase; margin-bottom:24px;}
.pricing-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:24px;}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.pricing-grid{grid-template-columns:1fr;}}
.pricing-card{background:#fff; border-radius:20px; padding:28px; box-shadow:inset 0 0 0 1px #E9ECEF; overflow:hidden; display:flex; flex-direction:column;}
.pricing-card.recommended{box-shadow:inset 0 0 0 2px var(--oz-primary);}
.pricing-card.premium{box-shadow:inset 0 0 0 2px var(--oz-primary-dark);}
.pricing-card-image{
  margin:-28px -28px 24px -28px; height:200px;
  background:linear-gradient(135deg,#003366,#00000E);
  display:grid; place-items:center; overflow:hidden;
}
.pricing-card-image img{max-width:78%; max-height:80%; object-fit:contain;}
.pricing-card-image--icon{background:linear-gradient(135deg,#0061B2,#003366);}
.pricing-card-image--icon svg{width:88px; height:88px;}
.pricing-badge.sensor{background:var(--oz-indigo); color:#fff;}
.pricing-card.sensor{box-shadow:inset 0 0 0 2px var(--oz-indigo);}
.pricing-badge-row{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
.pricing-badge{font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; padding:5px 10px; border-radius:999px; background:var(--soft-blue); color:var(--oz-primary);}
.pricing-badge.rec{background:var(--oz-primary); color:#fff;}
.pricing-badge.prem{background:var(--oz-primary-dark); color:#fff;}
.pricing-card-label{font-weight:600; font-size:12px; color:var(--oz-text-muted); letter-spacing:.04em; text-transform:uppercase; margin-bottom:8px;}
.pricing-card-title{font-family:var(--font-display); font-weight:600; font-size:20px; margin-bottom:16px; color:var(--oz-text);}
.pricing-card-price{font-family:var(--font-display); font-weight:700; font-size:clamp(40px,5vw,52px); color:var(--oz-text); line-height:1; font-variant-numeric:tabular-nums;}
.pricing-card-unit{font-size:13px; color:var(--oz-text-muted); margin:6px 0 18px;}
.pricing-card-bonus{font-size:13px; font-weight:600; color:#0CA678; background:var(--soft-green); padding:8px 12px; border-radius:8px; margin-bottom:8px;}
.pricing-card-includes{font-size:13px; line-height:1.55; color:var(--oz-text-muted); margin-top:auto; padding-top:14px;}
.pricing-note{font-size:13px; color:var(--oz-text-muted); line-height:1.6;}

/* ============ PROOF / TESTIMONIALS ============ */
.proof-header{display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; margin-bottom:48px;}
@media(max-width:700px){.proof-header{grid-template-columns:1fr; gap:16px;}}
.proof-big{font-family:var(--font-display); font-weight:700; font-size:clamp(64px,9vw,120px); color:var(--oz-primary); line-height:.85;}
.proof-text{font-size:16px; line-height:1.65; color:var(--oz-text-muted);}
.testimonials{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;}
.testimonial{background:var(--oz-surface); border-radius:var(--radius-card); padding:32px;}
.testimonial:nth-child(2){background:var(--oz-primary); color:#fff;}
.testimonial:nth-child(2) .testimonial-author{color:rgba(255,255,255,.8);}
.testimonial-text{font-size:16px; line-height:1.6; margin-bottom:20px;}
.testimonial-author{font-size:13px; font-weight:600; color:var(--oz-text-muted);}

/* ============ NOT-DOES (legitimacy) ============ */
.notdoes-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; margin-bottom:32px;}
.notdoes{background:var(--oz-surface); border-radius:var(--radius-card); padding:28px;}
.notdoes-cross{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--soft-red); color:var(--oz-red); font-family:var(--font-display); font-weight:700; font-size:18px; margin-bottom:16px;}
.notdoes-title{font-family:var(--font-display); font-weight:600; font-size:20px; margin-bottom:10px; color:var(--oz-text);}
.notdoes-text{font-size:14px; line-height:1.55; color:var(--oz-text-muted);}
.legal-note{background:var(--soft-blue); border-radius:16px; padding:28px; font-size:15px; line-height:1.65; color:var(--oz-text);}
.legal-note strong{font-weight:600;}

/* ============ FAQ ============ */
.faq-list{display:flex; flex-direction:column; gap:12px; max-width:880px;}
.faq-item{background:var(--oz-surface); border-radius:16px; overflow:hidden;}
.faq-trigger{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  font-family:var(--font-display); font-weight:600; font-size:17px; color:var(--oz-text);
  padding:22px 24px; display:flex; justify-content:space-between; align-items:center; gap:16px; line-height:1.3;
}
.faq-toggle{font-family:var(--font-text); font-weight:400; font-size:26px; color:var(--oz-primary); flex-shrink:0; transition:transform .25s ease; line-height:1;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-content{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-item.open .faq-content{max-height:600px;}
.faq-content-inner{padding:0 24px 24px; font-size:15px; line-height:1.65; color:var(--oz-text-muted);}
.faq-content-inner strong{color:var(--oz-text); font-weight:600;}

/* ============ CTA ============ */
.cta-section{background:var(--oz-surface);}
.cta-grid{display:grid; grid-template-columns:1fr; gap:48px;}
@media(min-width:900px){.cta-grid{grid-template-columns:1fr 1fr; gap:56px;}}
.cta-title{font-family:var(--font-display); font-weight:600; font-size:clamp(28px,3.6vw,40px); line-height:1.15; margin-bottom:16px;}
.cta-lead{font-size:16px; line-height:1.6; color:var(--oz-text-muted); margin-bottom:32px;}
.cta-contact-block{background:#fff; border-radius:20px; padding:28px;}
.cta-contact-label{font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--oz-text-muted); margin-bottom:12px;}
.cta-contact-name{font-family:var(--font-display); font-weight:600; font-size:22px; color:var(--oz-text);}
.cta-contact-role{font-size:14px; color:var(--oz-text-muted); margin-bottom:18px;}
.cta-contact-channels{display:flex; flex-direction:column; gap:10px;}
.cta-contact-channels a{display:flex; gap:12px; font-size:15px; color:var(--oz-text); text-decoration:none; font-weight:500;}
.cta-contact-channels a span{display:inline-block; min-width:74px; font-size:12px; color:var(--oz-text-muted); font-weight:600; text-transform:uppercase; letter-spacing:.03em;}
.cta-contact-channels a:hover{color:var(--oz-primary);}

/* Form */
.form{background:#fff; border-radius:var(--radius-card); padding:clamp(28px,4vw,40px); display:flex; flex-direction:column; gap:18px;}
.form-field{display:flex; flex-direction:column;}
.form-field label{font-weight:600; font-size:13px; color:var(--oz-text); margin-bottom:8px;}
.form-field .req{color:var(--oz-red);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}
.form-field input,.form-field select,.form-field textarea{
  width:100%; background:var(--oz-surface); box-shadow:inset 0 0 0 1px #DEE2E6; border:0; color:var(--oz-text);
  font-family:var(--font-text); font-size:15px; padding:12px 14px; border-radius:var(--radius-btn); transition:box-shadow .18s ease;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none; box-shadow:inset 0 0 0 2px var(--oz-primary);}
.form-field textarea{resize:vertical; min-height:84px;}
.form-consent{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--oz-text-muted); line-height:1.5;}
.form-consent input{margin-top:3px; accent-color:var(--oz-primary);}
.form-consent a{color:var(--oz-primary);}
.form-submit{background:var(--oz-primary); color:#fff; border:0; border-radius:var(--radius-btn); padding:15px; font-family:var(--font-text); font-weight:600; font-size:16px; cursor:pointer; transition:background .18s ease;}
.form-submit:hover{background:#1c7ed6;}
.form-submit:disabled{background:#0CA678; cursor:default;}
.form-success{display:none; background:var(--soft-green); color:#0CA678; border-radius:var(--radius-btn); padding:14px; font-size:14px; font-weight:600; text-align:center;}
/* === CRM FORM REDESIGN — CSS ONLY === */
/* Базовые переменные (подставьте свои значения) */
:root {
  --oz-primary: #0d6efd;
  --oz-red: #dc3545;
  --oz-text: #212529;
  --oz-text-muted: #6c757d;
  --oz-surface: #f8f9fa;
  --oz-border: #dee2e6;
  --soft-green: #d4edda;
  --radius-btn: 8px;
  --radius-card: 12px;
  --font-text: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
}

/* Контейнер формы */
.b24-form-wrapper {
  background: #fff;
  border-radius: var(--radius-card);
  padding: clamp(28px, 4vw, 40px);
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 100%;
  box-sizing: border-box;
}

/* Убираем лишние отступы */
.b24-form-header-padding,
.b24-form-padding-side {
  padding: 0 !important;
}

.b24-form-content {
  padding: 0 !important;
  width: 100%;
}

/* Обертка полей */
.b24-form-field {
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
  width: 100%;
}

/* Скрываем оригинальные лейблы (они всплывают поверх) */
.b24-form-control-label {
  display: none !important;
}

/* Стили для всех полей ввода */
.b24-form-control,
.b24-form-control input,
.b24-form-control select,
.b24-form-control textarea {
  width: 100% !important;
  background: var(--oz-surface) !important;
  box-shadow: inset 0 0 0 1px var(--oz-border) !important;
  border: 0 !important;
  color: var(--oz-text) !important;
  font-family: var(--font-text) !important;
  font-size: 15px !important;
  padding: 12px 14px !important;
  border-radius: var(--radius-btn) !important;
  transition: box-shadow 0.18s ease;
  min-height: auto !important;
  box-sizing: border-box !important;
}

/* Фокус */
.b24-form-control:focus,
.b24-form-control input:focus,
.b24-form-control select:focus,
.b24-form-control textarea:focus {
  outline: none !important;
  box-shadow: inset 0 0 0 2px var(--oz-primary) !important;
}

/* Текстареа */
.b24-form-control textarea {
  resize: vertical !important;
  min-height: 84px !important;
}

/* Кастомные лейблы — генерируем через псевдоэлементы */
.b24-form-field::before {
  content: attr(data-label);
  display: block;
  font-weight: 600;
  font-size: 13px;
  color: var(--oz-text);
  margin-bottom: 8px;
}

/* Заполняем data-label для каждого поля */
.b24-form-field-name::before {
  content: "Имя";
}
.b24-form-field-last-name::before {
  content: "Фамилия";
}
/* Но если нужно оставить как отдельные поля — раскомментировать:
.b24-form-field-last-name::before {
  content: "Фамилия";
  display: block !important;
}
.b24-form-field-last-name {
  display: block !important;
}
*/

.b24-form-field-string:not(.b24-form-field-name):not(.b24-form-field-last-name)::before {
  content: "Должность";
}
.b24-form-field-double::before {
  content: "Количество номеров";
}
.b24-form-field-phone::before {
  content: "Телефон";
}
.b24-form-field-email::before {
  content: "E-mail";
}
.b24-form-field-text::before {
  content: "Сообщение";
}

/* Обертка для контейнера управления */
.b24-form-control-container {
  position: relative;
  width: 100%;
}

/* Убираем иконки (если есть) */
.b24-form-control-icon-after::after {
  display: none !important;
}

/* Сетка для двух колонок */
.b24-form-field-name,
.b24-form-field-last-name,
.b24-form-field-string,
.b24-form-field-double,
.b24-form-field-phone,
.b24-form-field-email {
  display: inline-block !important;
  width: calc(50% - 8px) !important;
  vertical-align: top;
  margin: 4px;
}

.b24-form-field-double {
  /*margin-right: 16px !important;*/
}
.b24-form {
  font-family: var(--font-text);
}
/* Мобильная адаптация */
@media (max-width: 520px) {
  .b24-form-field-name,
  .b24-form-field-last-name,
  .b24-form-field-string,
  .b24-form-field-double,
  .b24-form-field-phone,
  .b24-form-field-email {
    display: flex !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* Стилизация селектов (выпадающие списки) */
.b24-form-control select {
  appearance: auto !important;
  -webkit-appearance: auto !important;
}

/* Чекбокс согласия */
.b24-form-field-agreement {
  margin-top: 6px;
}

.b24-form-field-agreement .b24-form-control-container {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  color: var(--oz-text-muted);
  line-height: 1.5;
}

.b24-form-field-agreement input[type="checkbox"] {
  width: auto !important;
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: var(--oz-primary);
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.b24-form-field-agreement .b24-form-control-desc {
  display: inline;
}

.b24-form-field-agreement .b24-form-control-required {
  color: var(--oz-red);
  margin-left: 2px;
}

/* Ссылка в согласии */
.b24-form-field-agreement-link {
  color: var(--oz-primary) !important;
  text-decoration: underline;
  cursor: pointer;
}

/* Убираем стандартный вывод ошибки */
.b24-form-control-alert-message {
  display: none !important;
}

/* Кнопка отправки */
.b24-form-btn {
  background: var(--oz-primary) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--radius-btn) !important;
  padding: 15px !important;
  font-family: var(--font-text) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  cursor: pointer;
  transition: background 0.18s ease;
  width: 100% !important;
  text-align: center;
  display: block;
}

.b24-form-btn:hover {
  background: #1c7ed6 !important;
}

.b24-form-btn:disabled {
  background: #0CA678 !important;
  cursor: default;
}

/* Контейнер кнопки */
.b24-form-btn-container {
  padding: 0 !important;
  margin-top: 4px;
}

.b24-form-btn-block {
  width: 100% !important;
}

/* Скрываем лишние элементы */
.b24-form-sign,
.b24-form-state-container .b24-form-loader,
.b24-form-state-container .b24-form-success,
.b24-form-state-container .b24-form-error,
.b24-form-state-container .b24-form-warning {
 /* display: none !important;*/
}

/* Сообщение об успехе (показываем через JS или можно стилизовать) */
.b24-form-state.b24-form-success {
 /* display: none !important;*/
}

/* Если нужно показать успех — раскомментировать и скрыть форму */

.b24-form-state.b24-form-success {
  /*display: block !important;*/
  background: var(--soft-green) !important;
  color: #0CA678 !important;
  border-radius: var(--radius-btn) !important;
  padding: 14px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-align: center;
}
/*
.b24-form-wrapper form {
  display: none !important;
}
*/

/* Скрываем дебаг-сообщение */
span[style*="color: red"] {
  display: none !important;
}

/* Убираем звездочку обязательности (она есть в data-label) */
.b24-form-control-required {
  display: none !important;
}

/* Добавляем звездочку в лейблы, где нужно */
.b24-form-field-name::before {
  content: "Имя *";
}
.b24-form-field-last-name::before {
  content: "Фамилия *";
}
.b24-form-field-phone::before {
  content: "Телефон *";
}
.b24-form-field-email::before {
  content: "E-mail *";
}
.b24-form-field-string:not(.b24-form-field-name):not(.b24-form-field-lastname)::before {
  content: "Должность *";
}

/* Для поля "Количество" звездочка не нужна */
.b24-form-field-double::before {
  content: "Количество номеров";
}

/* Стили для placeholder */
.b24-form-control::placeholder {
  color: #adb5bd;
  opacity: 1;
}

/* Убираем стандартные рамки у чекбокса */
.b24-form-field-agreement input[type="checkbox"] {
  border: 1px solid var(--oz-border) !important;
  border-radius: 4px !important;
  width: 16px !important;
  height: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* ============ FOOTER ============ */
.footer{background:#fff; border-top:1px solid #E9ECEF; padding:56px 0 32px;}
.footer-inner{display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px;}
@media(max-width:700px){.footer-inner{grid-template-columns:1fr; gap:28px;}}
.footer-logo{height:26px; width:auto; margin-bottom:16px;}
.footer-text{font-size:14px; line-height:1.6; color:var(--oz-text-muted); max-width:420px;}
.footer-col h4{font-family:var(--font-display); font-weight:600; font-size:15px; margin-bottom:14px; color:var(--oz-text);}
.footer-col a{display:block; font-size:14px; color:var(--oz-text-muted); text-decoration:none; padding:5px 0;}
.footer-col a:hover{color:var(--oz-primary);}
.footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:40px; padding-top:24px; border-top:1px solid #E9ECEF; font-size:13px; color:var(--oz-text-muted);}
.footer-bottom a{color:var(--oz-text-muted); text-decoration:none;}
.footer-bottom a:hover{color:var(--oz-primary);}

/* ============ REVEAL ANIMATION (progressive enhancement) ============ */
.js-anim .reveal{opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease;}
.js-anim .reveal.visible{opacity:1; transform:translateY(0);}

@media(prefers-reduced-motion:reduce){.js-anim .reveal{opacity:1; transform:none; transition:none;}}

/* mobile nav — hide CTA on small screens (per design system), keep phone in footer */
@media(max-width:600px){
  .nav-phone{display:none;}
  .nav .oz-btn{display:none;}
  .brand-product{font-size:17px;}
}