/* Hustlify mobile.css — полная мобильная версия (≤860px). Десктоп не затрагивается. */
@media (max-width:860px){
html{ scroll-padding-top:84px; }
html, body{ overflow-x:clip; }
body{ padding-bottom:100px !important; }
body.no-scroll{ overflow:hidden; }
/* ===== v2: по макету ===== */
.rd-hero .rd-card{
  border-radius:calc(200 * var(--m)) !important;
  overflow:hidden !important;
  -webkit-clip-path:inset(0 round calc(200 * var(--m)));
  clip-path:inset(0 round calc(200 * var(--m)));
}
.rd-hero .rd-card .rd-3d{
  border-bottom-left-radius:calc(200 * var(--m));
  border-bottom-right-radius:calc(200 * var(--m));
}

/* калькулятор */
.rd-calc{ background:radial-gradient(ellipse 80% 40% at 80% 60%, rgba(47,107,255,.3), transparent 70%), #fff !important; }
.rd-calc .rd-h2{ font-size:28px; line-height:1.02; }
.rd-budget-num{ font-size:42px; }
.rd-metrics .rd-ph{ font-size:22px; }
.rd-cta-black{ height:58px; box-shadow:0 4px 30px rgba(0,0,0,.25); }

/* заголовки секций 28px как в макете */
.rd-about .rd-h2, .rd-news .rd-h2, .rd2-h2{ font-size:28px !important; line-height:1.04 !important; }

/* кейсы (вёрстка rd-case из позднего скрипта index.html) */
.rd-case{ position:relative; overflow:hidden; color:#fff; border-radius:28px; cursor:pointer; isolation:isolate; --k:.1317px; }
.rd-case-main{ height:360px; padding:26px 22px 22px; border-radius:32px; display:flex; flex-direction:column; background:linear-gradient(-47deg,#fff 0%,#2f6bff 45%); }
.rd-case-main .rd-case-clip{ display:none !important; }
.rd-case-side{ margin-top:14px; padding:22px 84px 22px 22px; background:#000; border:1px solid #fff; min-height:150px; }
.rd-case-clip{ position:absolute; inset:0; overflow:hidden; z-index:0; border-radius:inherit; }
.rd-deco{ position:absolute; left:calc(var(--dl) * var(--k)); top:calc(var(--dt) * var(--k)); width:calc(var(--ds) * var(--k)); height:calc(var(--ds) * var(--k)); transform:rotate(var(--dr)); overflow:hidden; pointer-events:none; z-index:0; opacity:.55; }
.rd-deco.round{ border-radius:28px; }
.rd-deco img{ width:100%; height:100%; object-fit:cover; display:block; }
.rd-case-main > *:not(.rd-case-clip), .rd-case-side > *:not(.rd-deco){ position:relative; z-index:2; }
.rd-case-ico{ width:44px; height:44px; object-fit:cover; }
.rd-case-t{ margin:0; font:600 26px/1 'Unbounded',sans-serif; letter-spacing:-.05em; }
.rd-case-side .rd-case-t{ font-size:20px; }
.rd-case-d{ margin:12px 0 0; font:600 14px/1.35 'Montserrat',sans-serif; color:rgba(255,255,255,.85); max-width:80%; }
.rd-case-side .rd-case-d{ font-size:13px; color:rgba(255,255,255,.6); max-width:none; }
.rd-case-p{ display:flex; align-items:baseline; gap:14px; margin:16px 0; }
.rd-case-p .now{ font:600 24px 'Unbounded',sans-serif; letter-spacing:-.05em; }
.rd-case-side .rd-case-p{ margin:12px 0 0; } .rd-case-side .rd-case-p .now{ font-size:18px; }
.rd-case-p .old{ font:600 14px 'Montserrat',sans-serif; text-decoration:line-through; opacity:.8; }
.rd-case-add{ margin-top:auto; height:54px; border-radius:200px; border:2px solid #fff; background:rgba(255,255,255,.15); color:#fff; font:600 14px 'Unbounded',sans-serif; display:flex; align-items:center; justify-content:center; gap:10px; }
.rd-case-add i{ font-style:normal; font-weight:300; }
.rd-case-plus{ position:absolute !important; right:18px; bottom:18px; width:52px; height:52px; border-radius:50%; border:2px solid #fff; background:rgba(255,255,255,.1); color:#fff; font-size:30px; line-height:1; z-index:3; }
.rd-case-add.added, .rd-case-plus.added{ background:#fff; color:#000; }

/* плавающая нижняя панель: 3 пункта */
.mb-bar-item{ font-size:12px; }
.mb-bar-agent{ background:#fff; border-radius:200px; padding:6px 16px; }
.mb-bar-agent span{ color:#000; }
.mb-bar-agent .mb-agent-icon{ display:none; }  

/* ================= КАЛЬКУЛЯТОР ================= */
.rd-calc{ padding:44px 16px 36px !important; height:auto !important; }
.rd-calc .rd-h2{ font-size:clamp(22px,6.6vw,30px); letter-spacing:-.045em; line-height:1.02; margin:0 0 22px; }
.rd-panel.big{ padding:22px 20px; border-radius:28px; margin-top:14px; }
.rd-panel .rd-ph{ font-size:16px; white-space:normal; letter-spacing:-.03em; }
.rd-metrics .rd-ph{ font-size:clamp(17px,5.4vw,24px); white-space:nowrap; }
.rd-budget-num{ font-size:clamp(34px,11vw,48px); text-align:left; mix-blend-mode:normal; margin:10px 0 4px; }
.rd-pl.lbl{ font-size:13px; }
.rd-track{ margin:26px 0 12px; }
.rd-ticks{ font-size:12px; }
.rd-pills{ grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.rd-calc .rd-pill{ padding:14px 8px; font-size:12.5px; border-radius:16px; }
.rd-metrics{ gap:10px; margin-top:12px; }
.rd-metrics .rd-panel{ min-height:112px; padding:18px 14px; border-radius:22px; display:flex; flex-direction:column; justify-content:flex-end; }
.rd-metrics .rd-pl{ font-size:11.5px; margin-top:8px; }
.rd-cta-black{ height:58px; font-size:14px; margin-top:12px; }
.rd-disc{ font-size:11.5px; margin:14px 4px 0; }

/* ================= ПРОЕКТЫ / НОВОСТИ ================= */
.rd-about{ padding:44px 0 12px; }
.rd-about .rd-h2, .rd-news .rd-h2{ font-size:clamp(22px,6.6vw,30px); letter-spacing:-.045em; line-height:1.04; padding:0 16px; margin-bottom:18px; }
.rd-about .projects-wrap, .rd-news .news-wrap{ padding:0; }
.rd-about .projects-track{ gap:12px; padding:4px 16px 14px; scroll-padding-left:16px; }
.rd-about .projects-track .flip-card{ flex:0 0 min(76vw,300px); width:min(76vw,300px); min-width:0; height:auto; aspect-ratio:4/5; }
.rd-about .flip-face{ border-radius:28px; }
.rd-about .flip-back h3{ left:18px; top:22px; font-size:19px; }
.rd-about .flip-back .desc{ left:18px; right:18px; top:56px; font-size:12.5px; line-height:1.3; }
.rd-about .flip-back .proj-actions{ left:16px; bottom:16px; }
.rd-news{ padding:40px 0 36px; }
.rd-news .news-track{ gap:12px; padding:4px 16px 14px; scroll-padding-left:16px; }
.rd-news .news-card{ min-width:min(82vw,330px); padding:22px 20px; border-radius:28px; }
.rd-news .news-tag{ font-size:12px; padding:5px 5px 5px 14px; margin-bottom:18px; }
.rd-news .news-card h3{ font-size:20px; }
.rd-news .news-card .stamp{ font-size:12px; margin-bottom:14px; }
.rd-news .news-card .headline{ font-size:15px; }
.rd-news .news-card .body-txt{ font-size:13.5px; line-height:1.5; }

/* ================= ЧАСТЬ 2: общие заголовки ================= */
.rd2{ --ml:16px; --mr:16px; padding:56px 0 64px !important; }
.rd2-head{ margin-bottom:22px !important; }
.rd2-h2{ font-size:clamp(25px,7.2vw,34px) !important; line-height:1.04 !important; letter-spacing:-.045em !important; }
.rd2-sub{ font-size:15px !important; line-height:1.35 !important; letter-spacing:-.02em !important; margin-top:10px !important; }
.rd2-btn-blue{ width:100% !important; height:54px !important; font-size:14px !important; margin-top:18px !important; letter-spacing:-.02em !important; }

/* ---------- КЕЙСЫ ---------- */
.rd2-cases{ row-gap:14px; }
.rd2-case-big{ height:auto !important; min-height:0; padding:26px 22px 22px; display:flex; flex-direction:column; border-radius:32px !important; }
html body .rd2-case-big > *:not(.rd2-rot){ position:relative !important; left:auto !important; top:auto !important; bottom:auto !important; }
.rd2-case-big .rd2-rot{ display:none !important; }
.cb-title{ gap:10px !important; }
.cb-ico{ width:44px !important; height:44px !important; }
.cb-title h3{ font-size:26px !important; letter-spacing:-.04em !important; }
.cb-desc{ width:auto !important; max-width:92%; font-size:14px !important; letter-spacing:-.01em !important; line-height:1.35 !important; margin:14px 0 0 !important; }
.cb-price{ margin:18px 0 !important; gap:14px !important; }
.cb-price b{ font-size:24px !important; letter-spacing:-.04em !important; } .cb-price s{ font-size:14px !important; }
.cb-btn{ width:100% !important; height:54px !important; font-size:14px !important; margin-top:auto; letter-spacing:-.02em !important; }
.rd2-case-side{ row-gap:14px !important; }
.rd2-case-sm{ height:auto !important; min-height:0; border-radius:28px !important; padding:22px 84px 22px 22px; }
.rd2-case-sm .rd2-rot{ display:none; }
.cs-body{ position:relative !important; left:auto !important; top:auto !important; right:auto !important; transform:none !important; width:auto !important; max-width:none !important; }
.cs-body h3{ font-size:20px !important; letter-spacing:-.04em !important; max-width:none !important; }
.cs-body p{ font-size:13px !important; margin-top:8px !important; letter-spacing:0 !important; -webkit-line-clamp:2; }
.cs-price{ margin-top:12px !important; } .cs-price b{ font-size:18px !important; } .cs-price s{ font-size:13px !important; }
.cs-plus{ width:52px !important; height:52px !important; right:18px !important; bottom:18px !important; font-size:30px !important; }

/* ---------- КАТАЛОГ ---------- */
.rd2-catalog{ margin-top:56px !important; }
.rd2 .filter-row{ margin:0 -16px 18px !important; padding:0 16px !important; gap:8px !important; }
.rd2 .filter-chip{ height:42px !important; padding:0 18px !important; font-size:13px !important; letter-spacing:-.02em !important; border-width:2px !important; }
.rd2 .pgrid{ grid-template-columns:1fr 1fr !important; gap:12px !important; }
.rd2 .rd2-pc, .rd2-pc-img{ border-radius:24px !important; }
.rd2-pc-body{ padding:14px 14px 16px !important; }
.rd2-pc-title{ font-size:13.5px !important; letter-spacing:-.03em !important; line-height:1.15 !important; }
.rd2-pc-desc{ font-size:11.5px !important; letter-spacing:0 !important; margin-top:8px !important; min-height:0 !important; -webkit-line-clamp:3 !important; }
.rd2-pc-price{ padding-top:10px !important; gap:8px !important; }
.rd2-pc-price .now{ font-size:16px !important; letter-spacing:-.03em !important; } .rd2-pc-price .old{ font-size:11.5px !important; }
.rd2 .rd2-pc-btn{ height:42px !important; margin-top:12px !important; font-size:12px !important; gap:8px !important; letter-spacing:-.02em !important; }
.rd2 .rd2-more{ width:100% !important; height:54px !important; font-size:14px !important; border-width:2px !important; }
.rd2-more-wrap{ margin-top:22px !important; }
.cfg-card{ padding:20px 18px; border-radius:28px; }
.cfg-amount-num{ font-size:28px; }

/* ---------- ПОЧЕМУ МЫ ---------- */
.rd2-whys{ margin-top:56px !important; }
.rd2-why{ padding:12px !important; row-gap:12px !important; border-radius:32px !important; }
.rd2-why-row{ row-gap:12px !important; }
.rd2-cell{ height:auto !important; min-height:270px; border-radius:24px !important; padding:22px 18px !important; }
.rd2-cell .t{ font-size:22px !important; letter-spacing:-.04em !important; white-space:normal !important; }
.rd2-cell .d{ font-size:13.5px !important; letter-spacing:-.01em !important; max-width:62% !important; width:auto !important; margin-top:10px !important; }
.rd2-whys .rd2-cell .rd2-img, .rd2-whys .rd2-cell .rd2-rot{ width:190px !important; height:190px !important; top:auto !important; bottom:-10px !important; left:auto !important; right:-10px !important; }
.rd2-whys .rd2-why-row.r1 .rd2-cell.a .rd2-img{ width:210px !important; height:210px !important; bottom:-30px !important; }

/* ---------- ПРОЦЕСС ---------- */
.rd2-proc{ margin-top:56px !important; }
.rd2-steps{ row-gap:12px !important; }
.rd2-step{ height:auto !important; min-height:210px; padding:22px 20px !important; border-radius:26px !important; }
.rd2-step .n{ font-size:14px !important; letter-spacing:-.02em !important; }
.rd2-step h3{ font-size:21px !important; letter-spacing:-.04em !important; line-height:1.05 !important; max-width:64% !important; margin-top:10px !important; }
.rd2-step p{ font-size:13.5px !important; line-height:1.35 !important; letter-spacing:0 !important; max-width:60% !important; margin-top:10px !important; }
.rd2-step .rd2-rot{ width:150px !important; height:150px !important; left:auto !important; right:-14px !important; top:auto !important; bottom:-14px !important; }

/* ---------- ОТЗЫВЫ ---------- */
.rd2-reviews{ margin-top:56px !important; }
.rd2 .vision-hero .stage{ height:320px; }

/* ---------- FAQ ---------- */
.rd2-faqsec{ margin-top:56px !important; }
.rd2-faq{ row-gap:24px !important; }
.rd2-faq-img{ height:170px !important; border-radius:26px !important; }
.rd2 .faq-q{ font-size:16px !important; line-height:1.3 !important; letter-spacing:-.02em !important; padding:20px 44px 20px 0 !important; }
.rd2 .faq-icon{ width:20px !important; height:20px !important; top:22px !important; right:2px !important; margin:0 !important; }
.rd2 .faq-icon::before{ left:9px !important; top:0 !important; width:2px !important; height:20px !important; }
.rd2 .faq-icon::after{ left:0 !important; top:9px !important; width:20px !important; height:2px !important; }
.rd2 .faq-a{ font-size:14px !important; line-height:1.5 !important; letter-spacing:0 !important; margin-top:-6px !important; padding:0 0 20px !important; }

/* ---------- КОНТАКТЫ / ПОДВАЛ ---------- */
.rd2-contacts{ margin-top:56px !important; }
.rd2-contact{ padding:30px 20px 24px !important; border-radius:30px !important; gap:12px !important; }
.rd2-contact h2{ font-size:28px !important; letter-spacing:-.045em !important; line-height:1.05 !important; }
.rd2-contact p{ font-size:15px !important; letter-spacing:-.01em !important; max-width:100% !important; line-height:1.35 !important; }
.rd2-cbtn, .rd2-cbtn.tg, .rd2-cbtn.mini, .rd2-cbtn.ai{ height:56px !important; font-size:15px !important; letter-spacing:-.02em !important; }
.rd2-contact .rd2-rot{ display:none !important; }
footer{ padding:32px 0 24px; }

/* ================= НИЖНЯЯ ПАНЕЛЬ, МЕНЮ, ПОПАПЫ ================= */
.mobile-bottom-bar{
  left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom, 0px)); padding:8px 14px;
  border-radius:9999px; border:1px solid rgba(255,255,255,.14); background:rgba(10,10,12,.9);
  box-shadow:0 14px 40px rgba(0,0,0,.4);
}
#mbBarCart, #mbBarMenu{ display:none !important; }
.mb-bar-item{ font-size:11px; padding:6px 14px; flex:1; }
.mobile-nav-drawer{ width:min(86vw,340px); border-radius:0 32px 32px 0; background:#0a0a0c; font-family:'Montserrat',sans-serif; }
.mobile-nav-head{ padding:18px 20px; }
.toast{ bottom:104px; max-width:calc(100vw - 32px); text-align:center; }
.drawer{ width:100%; max-width:100vw; height:100dvh; }
.drawer-head{ padding:18px 20px; } .drawer-body{ padding:14px 20px; } .drawer-foot{ padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px)); }
.search-modal{ border-radius:28px !important; max-height:calc(100dvh - 24px) !important; }
.search-input-row{ padding:16px 18px; }
.detail-media{ margin:12px 16px 0; }
.detail-body{ padding:18px 18px 22px; }
}
@media (max-width:380px){
  .rd2 .pgrid{ gap:8px !important; }
}

.mobile-nav-tools{ display:flex; gap:10px; padding:14px 16px 0; }
.mn-tool{
  flex:1; display:flex; align-items:center; justify-content:center; gap:10px;
  height:48px; border-radius:14px; color:#fff; font:600 14px 'Montserrat',sans-serif;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  transition:background .2s;
}
.mn-tool:active{ background:rgba(255,255,255,.14); }
.mn-tool svg{ width:20px; height:20px; flex-shrink:0; }
.mn-ico{ position:relative; display:inline-flex; }
.mn-ico .badge{ top:-6px; right:-8px; background:#2f6bff; color:#fff; }
