/* ============ TOKENS ============ */
:root{
  --bg:#0A0A0B;
  --bg-soft:#111113;
  --card:#131315;
  --card-line:rgba(245,245,240,.09);
  --card-line-hover:rgba(245,245,240,.22);
  --ink:#FAFAF8;
  --ink-soft:#9C9C97;
  --ink-faint:#686863;
  --line:rgba(245,245,240,.12);
  --accent:#3B82F6;
  --accent-solid:#2563EB;
  --dark:#0A0A0B;
  --dark-soft:#111113;
  --on-dark:#FAFAF8;
  --on-dark-soft:#9C9C97;

  --font-display:"Unbounded", Arial, sans-serif;
  --font-body:"Onest", Arial, sans-serif;

  --container:1760px;
  --pad: clamp(24px, 4vw, 72px);
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-pill:999px;

  --ease: cubic-bezier(.16,.84,.44,1);
  --dur-fast: .3s;
  --dur: .6s;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3{ font-family:var(--font-body); font-weight:700; line-height:1.1; margin:0; letter-spacing:-0.02em; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }

.wrap{ max-width:var(--container); margin:0 auto; padding:0 var(--pad); }
.wrap-wide{ max-width:none; }
.section{ padding:clamp(72px, 11vw, 160px) 0; scroll-margin-top:84px; }

::selection{ background:var(--on-dark); color:var(--ink); }

:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }

.skip-link{
  position:fixed; top:0; left:16px; transform:translateY(-120%);
  background:var(--on-dark); color:var(--dark); padding:12px 18px; border-radius:0 0 10px 10px;
  font-size:14px; font-weight:600; z-index:2000; transition:transform var(--dur-fast) var(--ease);
}
.skip-link:focus{ transform:translateY(0); }

/* reduced motion: strip transforms, keep content visible */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ============ HEADER ============ */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:22px 0;
  transition:padding var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.site-header.scrolled{
  padding:14px 0;
  background:var(--dark);
}
.header-inner{ display:flex; align-items:center; gap:32px; }
.logo{ display:flex; align-items:baseline; gap:10px; margin-right:auto; }
.logo-word{ font-family:var(--font-display); font-weight:700; font-size:17px; letter-spacing:-0.01em; color:var(--on-dark); }
.logo-tagline{
  font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  color:var(--on-dark-soft); white-space:nowrap;
}
@media (max-width:560px){ .logo-tagline{ display:none; } }

.main-nav{
  display:flex; align-items:center; gap:36px;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
}
.main-nav a{
  font-size:14.5px; font-weight:500; color:var(--on-dark-soft);
  position:relative; padding:4px 0;
  transition:color var(--dur-fast) var(--ease);
}
.main-nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--on-dark);
  transition:right var(--dur-fast) var(--ease);
}
.main-nav a:hover{ color:var(--on-dark); }
.main-nav a:hover::after{ right:0; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 24px; border-radius:var(--radius-pill); font-size:14.5px; font-weight:600;
  border:1px solid transparent; white-space:nowrap; position:relative; overflow:hidden;
  touch-action:manipulation; transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.btn span{ position:relative; z-index:1; }
.btn-primary{ background:var(--accent-solid); color:var(--on-dark); }
.btn-primary:hover{ background:#1D4ED8; }
.btn-block{ width:100%; padding:14px 22px; }
.btn-header{ flex:none; }

.header-actions{ display:flex; align-items:center; gap:14px; }
.header-telegram{
  display:none !important;
  flex:none; width:38px; height:38px; border-radius:50%; border:1px solid rgba(245,245,240,.3);
  align-items:center; justify-content:center; color:var(--on-dark-soft);
  transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.header-telegram svg{ width:19px; height:19px; }
.header-telegram:hover{ background:rgba(245,245,240,.08); border-color:var(--on-dark); color:var(--on-dark); transform:translateY(-1px); }

.btn-outline{
  background:transparent; color:var(--on-dark); border-color:rgba(245,245,240,.32);
}
.btn-outline:hover{ border-color:var(--on-dark); background:rgba(245,245,240,.06); }

.btn-header{ background:transparent; color:var(--on-dark); border-color:rgba(245,245,240,.3); padding:11px 22px; }
.btn-header:hover{ border-color:var(--accent-solid); background:var(--accent-solid); color:var(--on-dark); }

.btn-arrow{ position:relative; z-index:1; width:16px; height:16px; flex:none; transition:transform var(--dur-fast) var(--ease); }
.btn:hover .btn-arrow{ transform:translate(2px,-2px); }

.burger{
  display:none; width:44px; height:44px; border:none; background:none; padding:0;
  flex-direction:column; align-items:center; justify-content:center; gap:6px;
}
.burger span{ width:20px; height:1.5px; background:var(--on-dark); transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease); }
.burger.open span:first-child{ transform:translateY(3.75px) rotate(45deg); }
.burger.open span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }

.mobile-nav{
  display:none; flex-direction:column; gap:2px; padding:8px var(--pad) 20px;
  max-height:0; overflow:hidden; opacity:0;
  background:var(--bg); box-shadow:0 12px 24px -12px rgba(0,0,0,.5);
  transition:max-height var(--dur) var(--ease), opacity var(--dur-fast) var(--ease);
}
.mobile-nav.open{ max-height:420px; opacity:1; }
.mobile-nav a{ padding:12px 0; font-size:16px; font-weight:500; border-bottom:1px solid var(--line); }
.mobile-nav .btn{ margin-top:14px; }
.mobile-nav-telegram{ display:flex !important; align-items:center; gap:10px; color:var(--on-dark); }
.mobile-nav-telegram svg{ width:19px; height:19px; flex:none; color:var(--on-dark-soft); }

@media (max-width:900px){
  .main-nav, .header-actions{ display:none; }
  .burger{ display:flex; }
  .mobile-nav{ display:flex; }
}

/* ============ HERO ============ */
.hero{
  position:relative; padding:clamp(96px,16vh,150px) 0 clamp(32px,8vh,128px); overflow:hidden;
  min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  background:var(--dark); color:var(--on-dark);
}
.hero-bg{
  position:absolute; inset:0; overflow:hidden; pointer-events:none;
}

.grain{
  position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.hero-inner{
  position:relative; z-index:1;
}
.hero-copy{ position:relative; z-index:2; text-align:center; }

.hero-tag{
  display:inline-block; font-family:var(--font-body); font-size:clamp(12.5px,1vw,14px); font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:clamp(16px,min(3vw,4vh),40px);
}
.hero-title{
  font-family:"Switzer", var(--font-body);
  font-size:clamp(40px, min(8.2vw, 14vh), 128px); font-weight:700; letter-spacing:-0.035em; line-height:1.03;
  max-width:22ch; margin:0 auto; color:var(--on-dark);
}
.hero-title .line-soft{ color:var(--ink-soft); font-weight:600; }
.hero-title .line{ display:block; overflow:hidden; }
.hero-title .reveal{ display:block; transform:translateY(110%); }

.hero-sub{
  max-width:52ch; margin:clamp(18px,min(3.4vw,4.5vh),48px) auto 0; color:var(--ink-soft);
  font-size:clamp(16px, min(1.6vw,2.6vh), 22px); line-height:1.6;
}
.hero-sub-mobile{ display:none; }
@media (max-width:700px){
  .hero-sub-desktop{ display:none; }
  .hero-sub-mobile{ display:block; }
}
.hero-ctas{ display:flex; gap:28px; align-items:center; justify-content:center; margin-top:clamp(24px,min(4vw,5vh),56px); flex-wrap:wrap; }
.hero-ctas .btn-primary{ padding:clamp(15px,1.3vw,20px) clamp(30px,2.6vw,42px); font-weight:600; font-size:clamp(15px,1.2vw,17px); }
.hero-link{
  display:inline-flex; align-items:center; gap:8px; color:var(--ink-soft); font-weight:500; font-size:clamp(14.5px,1.2vw,16.5px);
  touch-action:manipulation; transition:color var(--dur-fast) var(--ease);
}
.hero-link:hover{ color:var(--on-dark); }
.hero-link svg{ width:16px; height:16px; transition:transform var(--dur-fast) var(--ease); }
.hero-link:hover svg{ transform:translateX(3px); }

.reveal-fade{ opacity:0; transform:translateY(16px); }

/* tool strip — running marquee */
.tool-strip{
  position:relative; z-index:1; margin-top:110px; padding:30px 0;
  overflow:hidden;
}
.tool-strip-track{
  display:flex; align-items:center; width:max-content;
  animation:toolMarquee 32s linear infinite;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.tool-strip:hover .tool-strip-track{ animation-play-state:paused; }
.tool-strip-set{ display:flex; align-items:center; flex:none; gap:44px; padding:0 20px; }
.tool-strip-item{
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  width:158px; flex:none; opacity:.8; transition:opacity var(--dur-fast) var(--ease);
}
.tool-strip-item:hover{ opacity:1; }
.tool-strip-item svg{ width:29px; height:29px; flex:none; }
.tool-strip-item span{ font-family:var(--font-body); font-size:17px; font-weight:700; color:var(--on-dark-soft); white-space:nowrap; }
.tool-strip-item--logo .tool-strip-logo{ width:auto; max-width:158px; height:27px; flex:none; }
/* real brand marks, forced to a single grayscale tone to stay monochrome, with a hairline self-stroke to read as bold as the amoCRM/Bitrix wordmarks */
.tool-strip-item svg,
.tool-strip-item svg *{ fill:var(--on-dark-soft) !important; }
.tool-strip-item svg [stroke]{ stroke:var(--on-dark-soft) !important; }
.tool-strip-item:not(.tool-strip-item--logo) svg path{ stroke:var(--on-dark-soft) !important; stroke-width:0.9; paint-order:stroke fill; }
@keyframes toolMarquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* scroll-scrubbed case video */
.scroll-video{ position:relative; height:100vh; overflow:hidden; background:var(--bg); }
.scroll-video-el{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ============ SECTION HEAD (shared) ============ */
.eyebrow{
  display:inline-block; font-family:var(--font-body); font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:16px;
}
.section-head{ max-width:680px; }
.section-head h2{ font-size:clamp(30px, 4.6vw, 48px); }
.section-head p{ margin-top:16px; color:var(--ink-soft); font-size:clamp(15px,1.6vw,17px); }


/* ---- hero: white background, dark text, smaller type ---- */
.hero{ background:#fff; color:#141414; }
.hero .hero-bg, .hero .grain{ display:none; }
.hero-tag{ color:#7A7A7A; font-size:clamp(12px,.9vw,13px); }
.hero-title{ color:#141414; font-size:clamp(32px, min(5.2vw, 9vh), 72px); font-weight:600; letter-spacing:-0.03em; }
.hero-title .line-soft{ color:#8A8A8A; font-weight:600; }
.hero-sub{ color:#5C5C5C; font-size:clamp(15px, min(1.2vw,2.2vh), 18px); max-width:48ch; }
.hero-ctas .btn-primary{ background:#141414; color:#fff; padding:14px 28px; font-size:clamp(14px,1.05vw,15.5px); }
.hero-ctas .btn-primary:hover{ background:#000; }
.hero-link{ color:#5C5C5C; font-size:clamp(14px,1.05vw,15.5px); }
.hero-link:hover{ color:#141414; }
/* header over the white hero (before it turns dark on scroll) */
body:has(.hero) .site-header:not(.scrolled) .logo-word{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a{ color:#5C5C5C; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a:hover{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a::after{ background:#141414; }
body:has(.hero) .site-header:not(.scrolled) .btn-header{ color:#141414; border-color:rgba(20,20,20,.3); }
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover{ background:#141414; border-color:#141414; color:#fff; }
body:has(.hero) .site-header:not(.scrolled) .burger span{ background:#141414; }

/* ============ SOLUTIONS / CARDS (light gray panel) ============ */
.solutions{ background:#fff; padding:clamp(16px,2vw,36px); }
.solutions > .wrap.solutions-layout{ max-width:none; margin:0; padding:clamp(24px,4.5vw,64px); }
.solutions-layout{
  display:grid; grid-template-columns:minmax(240px, 320px) 1fr; gap:clamp(32px,4vw,56px); align-items:start;
  background:#F6F6F5; border-radius:var(--radius-lg); padding:clamp(24px,4.5vw,64px);
  --s-ink:#141414; --s-soft:#5C5C5C;
}
.solutions-intro{ position:sticky; top:120px; }
.solutions-intro .eyebrow{ margin-bottom:18px; color:#7A7A7A; }
.solutions-intro h2{ font-size:clamp(28px,3.4vw,40px); color:var(--s-ink); font-weight:500; }
.solutions-intro p{ margin-top:20px; color:var(--s-soft); font-size:15.5px; line-height:1.6; max-width:34ch; }
.solutions-intro .btn{ margin-top:32px; }
.solutions-art{ display:none; width:100%; max-width:420px; height:auto; margin-top:clamp(32px,5vw,72px); }
.solutions .btn-outline{ color:var(--s-ink); border-color:rgba(20,20,20,.28); }
.solutions .btn-outline:hover{ border-color:var(--s-ink); background:rgba(20,20,20,.05); }

.cards-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.feature-card{
  position:relative; isolation:isolate; overflow:hidden; min-height:clamp(220px,19vw,300px);
  background:#fff; border-radius:var(--radius-md);
  padding:28px; display:flex; flex-direction:column; gap:14px;
  transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
  text-decoration:none; color:inherit;
}
.feature-card h3{ margin-top:0; }
.feature-card p{ margin-top:auto; }
.feature-card:hover{ transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,0,0,.08); }

/* icon top-left, text at the bottom; arrow appears on hover */
.feature-card h3{ margin-top:auto; }
.feature-card p{ margin-top:0; }
.feature-icon{ display:flex; width:44px; height:44px; align-items:center; justify-content:center; color:var(--s-ink); }
.feature-icon svg{ width:26px; height:26px; }
.feature-card-arrow{
  display:flex; position:absolute; top:20px; right:20px; z-index:1; width:36px; height:36px; border-radius:50%;
  background:rgba(20,20,20,.06); color:var(--s-ink); align-items:center; justify-content:center;
  opacity:0; transform:scale(.85);
  transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.feature-card-arrow svg{ width:15px; height:15px; }
.feature-card:hover .feature-card-arrow{ opacity:1; transform:scale(1); background:var(--s-ink); color:#fff; }
.feature-card h3{ font-size:clamp(18px,1.6vw,22px); font-weight:500; max-width:22ch; color:var(--s-ink); }
.feature-card p{ font-size:14.5px; line-height:1.55; color:var(--s-soft); max-width:36ch; }

@media (max-width:900px){
  .solutions-layout{ grid-template-columns:1fr; gap:40px; }
  .solutions-intro{ position:static; max-width:none; }
  .solutions-intro p{ max-width:56ch; margin-top:32px; }
  .solutions-art{ max-width:320px; }
  .cards-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .cards-grid{ grid-template-columns:1fr; }
  .feature-card{ min-height:200px; }
  .feature-icon{ width:48px; height:48px; }
}

/* ============ VISUAL BREAK ============ */
.visual-break{
  position:relative; height:64vh; min-height:420px; max-height:640px;
  background:var(--dark); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.visual-break-blobs{ position:absolute; inset:-10%; filter:blur(90px); pointer-events:none; }
.blob{ position:absolute; border-radius:50%; }
.blob-1{
  width:46vw; height:46vw; max-width:560px; max-height:560px; top:-8%; left:6%; opacity:.5;
  background:radial-gradient(circle, rgba(245,245,240,.5), transparent 70%);
  animation:drift1 20s ease-in-out infinite;
}
.blob-2{
  width:34vw; height:34vw; max-width:420px; max-height:420px; bottom:-12%; right:8%; opacity:.35;
  background:radial-gradient(circle, rgba(245,245,240,.4), transparent 70%);
  animation:drift2 24s ease-in-out infinite;
}
.blob-3{
  width:24vw; height:24vw; max-width:300px; max-height:300px; bottom:10%; left:32%; opacity:.3;
  background:radial-gradient(circle, rgba(245,245,240,.45), transparent 70%);
  animation:drift3 17s ease-in-out infinite;
}
@keyframes drift1{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(4%,-6%) scale(1.08); } }
@keyframes drift2{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-5%,4%) scale(1.05); } }
@keyframes drift3{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(3%,5%) scale(1.12); } }
.visual-break-text{
  position:relative; z-index:1; text-align:center; color:var(--on-dark);
  font-size:clamp(28px, 5vw, 56px); max-width:14ch; padding:0 var(--pad);
}
@media (max-width:600px){ .visual-break{ height:52vh; min-height:340px; } }

/* ============ PROCESS ============ */
.process{ background:var(--dark); color:var(--on-dark); }
.process .section-head p, .process .eyebrow{ color:var(--ink-soft); }
.process .section-head h2{ color:var(--on-dark); font-size:clamp(26px, 4vw, 42px); }
.process .section-head h2 .line-soft{ color:var(--ink-soft); }
.process .section-head p{ margin-top:20px; max-width:60ch; font-size:clamp(15.5px,1.5vw,17px); }

.process-pin{ position:relative; overflow:hidden; margin-top:72px; }
.process-steps{
  display:flex; width:200%; margin-top:140px;
}
.process-step{ flex:0 0 16.6667%; width:16.6667%; display:flex; flex-direction:column; align-items:flex-start; position:relative; padding-right:24px; box-sizing:border-box; }
.process-step:last-child{ padding-right:0; }
.process-step-top{ display:flex; align-items:center; width:100%; }
.process-num{
  font-family:var(--font-body); font-weight:600; font-size:13px; color:var(--ink-faint);
  position:absolute; top:-30px; left:0;
}
.process-icon{
  flex:none; width:64px; height:64px; border-radius:50%; border:1px solid rgba(245,245,240,.18);
  display:flex; align-items:center; justify-content:center; color:var(--on-dark);
  background:var(--card); position:relative; z-index:1;
  transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.process-icon svg{ width:26px; height:26px; }
.process-line{ flex:1; height:1px; background:rgba(245,245,240,.16); margin:0 4px; position:relative; overflow:hidden; }
.process-line::after{ content:""; position:absolute; inset:0; background:var(--on-dark); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.process-steps.in-view .process-step .process-icon{ border-color:var(--on-dark); background:var(--dark-soft); transition:border-color .25s var(--ease), background .25s var(--ease); }
.process-steps.in-view .process-step .process-line::after{ transform:scaleX(1); }
.process-steps.in-view .process-step:nth-child(1) .process-icon{ transition-delay:0s; }
.process-steps.in-view .process-step:nth-child(1) .process-line::after{ transition-delay:.05s; }
.process-steps.in-view .process-step:nth-child(2) .process-icon{ transition-delay:.1s; }
.process-steps.in-view .process-step:nth-child(2) .process-line::after{ transition-delay:.15s; }
.process-steps.in-view .process-step:nth-child(3) .process-icon{ transition-delay:.2s; }
.process-steps.in-view .process-step:nth-child(4) .process-icon{ transition-delay:0s; }
.process-steps.in-view .process-step:nth-child(4) .process-line::after{ transition-delay:.05s; }
.process-steps.in-view .process-step:nth-child(5) .process-icon{ transition-delay:.1s; }
.process-steps.in-view .process-step:nth-child(5) .process-line::after{ transition-delay:.15s; }
.process-steps.in-view .process-step:nth-child(6) .process-icon{ transition-delay:.2s; }

.process-step h3{ margin-top:24px; font-size:18px; font-weight:700; color:var(--on-dark); }
.process-tag{
  display:inline-block; margin-left:8px; padding:3px 9px; border-radius:99px;
  font-size:11px; font-weight:600; letter-spacing:.02em; text-transform:lowercase;
  color:var(--accent); background:rgba(59,130,246,.12); vertical-align:middle;
}
.process-step p{ margin-top:10px; font-size:14.5px; line-height:1.55; color:var(--ink-soft); max-width:24ch; }

@media (max-width:900px){
  .process-pin{ overflow:visible; }
  .process-steps{ display:flex; flex-direction:column; width:100%; gap:16px; margin-top:32px; }
  .process-step{
    flex:none; width:100%; flex-direction:column; align-items:flex-start; padding-right:0;
    background:var(--card); border-radius:24px; padding:24px;
  }
  .process-num{ position:static; order:-1; font-size:13px; }
  .process-step-top{ width:auto; margin-top:14px; }
  .process-line{ display:none; }
  .process-icon{ width:52px; height:52px; }
  .process-icon svg{ width:24px; height:24px; }
  .process-step h3, .process-step p{ margin-top:0; max-width:none; }
  .process-step > div:last-child{ display:flex; flex-direction:column; gap:8px; margin-top:20px; }
}

/* ---- process: light gray panel with white cards (matches Solutions) ---- */
.process{ background:#fff; color:#141414; padding:0 clamp(16px,2vw,36px) clamp(16px,2vw,36px); }
.process-pin{
  margin-top:0; background:#F6F6F5; border-radius:var(--radius-lg); padding:clamp(24px,4.5vw,64px);
  --s-ink:#141414; --s-soft:#5C5C5C;
}
.process-pin > .wrap{ max-width:none; padding:0; }
.process .eyebrow{ color:#7A7A7A; }
.process .section-head h2{ color:var(--s-ink); font-weight:500; }
.process .section-head h2 .line-soft{ color:#8A8A8A; }
.process .section-head p{ color:var(--s-soft); }
.process-steps{ margin-top:clamp(40px,5vw,72px); }
.process .process-step{ min-height:clamp(260px,21vw,320px); padding:28px 44px 28px 28px; isolation:isolate; }
.process .process-step:last-child{ padding-right:28px; }
.process .process-step::before{
  content:""; position:absolute; inset:0 16px 0 0; background:#fff; border-radius:var(--radius-md); z-index:-1;
}
.process .process-step:last-child::before{ inset:0; }
.process .process-num{ top:30px; left:auto; right:44px; color:#8A8A8A; }
.process .process-step:last-child .process-num{ right:28px; }
.process .process-step-top{ width:auto; }
.process .process-steps .process-step .process-icon{
  width:44px; height:44px; border:0; border-radius:0; background:transparent; color:var(--s-ink);
}
.process .process-icon svg{ width:26px; height:26px; }
.process .process-line{ display:none; }
.process .process-step > div:last-child{ margin-top:auto; }
.process .process-step h3{ margin-top:0; font-size:clamp(18px,1.6vw,22px); font-weight:500; color:var(--s-ink); }
.process .process-step p{ margin-top:10px; color:var(--s-soft); max-width:30ch; }
@media (max-width:900px){
  .process .process-step{ min-height:0; padding:24px; background:#fff; border-radius:var(--radius-md); }
  .process .process-step:last-child{ padding-right:24px; }
  .process .process-step::before{ display:none; }
  .process .process-num{ position:static; color:#8A8A8A; }
  .process .process-step > div:last-child{ margin-top:20px; }
}

/* ============ CASES ============ */
.cases{ background:var(--dark); color:var(--on-dark); }
.cases .section-head p{ color:var(--ink-soft); }

.cases-grid{
  margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.cases-more{ margin-top:40px; display:flex; justify-content:flex-end; }

.case-card{
  position:relative; display:flex; flex-direction:column; min-height:420px;
  padding:32px; border-radius:32px; background:var(--card); cursor:pointer;
  transition:background var(--dur-fast) var(--ease);
  text-decoration:none; color:inherit;
}
.case-card:hover{ background:#18181B; }

.case-card-arrow{
  position:absolute; top:16px; right:16px; z-index:2; width:56px; height:56px; flex:none;
  display:flex; align-items:center; justify-content:center; border-radius:50%; border:none;
  background:var(--accent-solid); color:var(--on-dark); box-shadow:0 8px 20px -8px rgba(0,0,0,.6);
  opacity:0; transform:scale(.85);
  transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.case-card-arrow svg{ width:18px; height:18px; transition:transform var(--dur-fast) var(--ease); }
.case-card:hover .case-card-arrow{ opacity:1; transform:scale(1); }
.case-card-arrow:hover{ background:#1D4ED8; }
.case-card-arrow:hover svg{ transform:rotate(45deg); }

.case-card-visual{
  position:relative; overflow:hidden; aspect-ratio:16/9; margin:-32px -32px 24px;
  border-radius:32px 32px 0 0; background:#0D0D0F;
  display:flex; align-items:center; justify-content:center;
}
.case-card-visual:has(.case-card-shot){ background:#fff; padding:16px; }
.case-card-shot{
  display:block; width:100%; height:100%; object-fit:contain; object-position:center;
}
.case-card-shot-video{
  position:absolute; inset:0; opacity:0; transition:opacity .3s var(--ease), transform .5s var(--ease);
}
.case-card:hover .case-card-shot-video{ opacity:1; }
.case-card-chip{
  position:absolute; width:76px; height:76px; border-radius:18px; background:var(--on-dark);
  display:flex; align-items:center; justify-content:center; color:var(--dark);
  box-shadow:0 16px 32px -12px rgba(0,0,0,.5);
  transition:transform var(--dur-fast) var(--ease);
}
.case-card-chip svg{ width:30px; height:30px; }
.case-card-chip-a{ transform:rotate(-8deg) translate(-20px,6px); z-index:1; }
.case-card-chip-b{ transform:rotate(9deg) translate(20px,-8px); z-index:2; color:var(--accent-solid); }
.case-card:hover .case-card-chip-a{ transform:rotate(-11deg) translate(-24px,3px); }
.case-card:hover .case-card-chip-b{ transform:rotate(12deg) translate(24px,-11px); }

.case-card-title{
  display:flex; align-items:center; gap:10px; font-size:22px; font-weight:700; letter-spacing:-0.01em; color:var(--on-dark);
}
.case-card-sub{ margin-top:10px; font-size:14.5px; line-height:1.55; color:var(--ink-soft); }
.case-card-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.case-card-tag{
  padding:8px 14px; border-radius:var(--radius-pill); background:rgba(245,245,240,.06);
  font-size:12.5px; font-weight:600; color:var(--ink-soft); white-space:nowrap;
}

@media (max-width:900px){
  .cases-grid{ grid-template-columns:1fr; }
}

/* case detail page */
.case-detail{ background:var(--dark); color:var(--on-dark); padding-top:56px; }
.case-detail-wrap{ max-width:760px; }
.case-detail-back{
  display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:var(--ink-soft);
  transition:color var(--dur-fast) var(--ease);
}
.case-detail-back svg{ width:16px; height:16px; }
.case-detail-back:hover{ color:var(--on-dark); }
.case-detail-wrap > .case-tag{ display:block; margin-top:28px; }
.case-detail-title{ margin-top:16px; font-size:clamp(28px,4vw,42px); line-height:1.15; max-width:22ch; }
.case-detail-media{
  margin-top:40px; border-radius:32px; overflow:hidden; background:#0D0D0F;
}
.case-detail-video, .case-detail-img{ display:block; width:100%; height:auto; }
.case-detail-body{ margin-top:40px; display:flex; flex-direction:column; gap:28px; }
.case-detail-block p{ margin-top:8px; font-size:16px; line-height:1.65; color:var(--ink-soft); }
.case-detail-block p strong{ color:var(--on-dark); font-weight:700; }
.case-note{ margin-top:14px !important; padding-left:14px; border-left:2px solid var(--card-line); font-size:13.5px !important; color:var(--ink-faint) !important; }
.case-detail-label{
  font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);
}
.case-detail-cta{ margin-top:48px; }
.case-detail-nav{
  margin-top:24px; padding-top:24px; padding-bottom:clamp(56px,8vw,96px);
  display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--card-line);
}
.case-detail-nav-link{
  display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:var(--ink-soft);
  transition:color var(--dur-fast) var(--ease);
}
.case-detail-nav-link:hover{ color:var(--on-dark); }
.case-detail-nav-link svg{ width:16px; height:16px; }

/* case-detail: client meta row */
.case-detail-meta{
  margin-top:16px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px 24px;
  padding-top:20px; border-top:1px solid var(--card-line);
}
.case-detail-meta-item{ display:flex; flex-direction:column; gap:4px; }
.case-detail-meta-item span:first-child{ font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.case-detail-meta-item span:last-child{ font-size:14.5px; font-weight:600; color:var(--on-dark); }

/* case-detail: numbered problem list */
.case-problem-list{ margin-top:8px; border-top:1px solid var(--card-line); }
.case-problem-row{ display:flex; gap:20px; padding:22px 0; border-bottom:1px solid var(--card-line); }
.case-problem-num{ flex:none; font-weight:700; font-size:14px; color:var(--ink-faint); padding-top:2px; }
.case-problem-text h4{ font-size:16px; font-weight:700; color:var(--on-dark); }
.case-problem-text p{ margin-top:6px; font-size:15px; line-height:1.6; color:var(--ink-soft); }

/* case-detail: solution surfaces grid */
.case-surfaces{ margin-top:8px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.case-surface{ background:var(--card); border-radius:var(--radius-md); padding:22px; display:flex; flex-direction:column; gap:8px; }
.case-surface-role{
  display:inline-flex; width:fit-content; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent); background:rgba(59,130,246,.12); padding:4px 9px; border-radius:999px;
}
.case-surface h4{ font-size:15.5px; font-weight:700; color:var(--on-dark); }
.case-surface p{ font-size:14px; line-height:1.55; color:var(--ink-soft); }

/* case-detail: TO-BE pipeline */
.case-pipeline{ margin-top:8px; display:flex; overflow-x:auto; border:1px solid var(--card-line); border-radius:var(--radius-md); background:var(--card); }
.case-pipeline-stage{ flex:1 0 auto; min-width:120px; padding:16px 16px 18px; border-right:1px dashed var(--card-line); }
.case-pipeline-stage:last-child{ border-right:none; }
.case-pipeline-num{ display:block; font-size:11px; color:var(--ink-faint); margin-bottom:8px; }
.case-pipeline-label{ font-size:13.5px; font-weight:700; color:var(--on-dark); line-height:1.3; }

/* case-detail: results table */
.case-results{ margin-top:8px; border:1px solid var(--card-line); border-radius:var(--radius-md); overflow:hidden; background:var(--card); }
.case-results-row{ display:grid; grid-template-columns:1.3fr 1fr 1fr; border-bottom:1px solid var(--card-line); }
.case-results-row:last-child{ border-bottom:none; }
.case-results-head{ background:rgba(245,245,240,.04); }
.case-results-row > div{ padding:14px 18px; font-size:13.5px; line-height:1.5; }
.case-results-head > div{ font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.case-results-row .what{ font-weight:700; color:var(--on-dark); }
.case-results-row .before{ color:var(--ink-faint); }
.case-results-row .after{ color:var(--accent); font-weight:700; }

/* case-detail: pricing breakdown demo */
.case-price-card{ margin-top:8px; border:1px solid var(--card-line); border-radius:var(--radius-md); background:var(--card); overflow:hidden; }
.case-price-card-top{ display:flex; justify-content:space-between; align-items:baseline; padding:16px 20px; background:rgba(245,245,240,.04); border-bottom:1px solid var(--card-line); }
.case-price-card-top .veh{ font-weight:700; font-size:14px; color:var(--on-dark); }
.case-price-card-top .price{ font-weight:700; font-size:22px; color:var(--accent); }
.case-price-lines{ padding:4px 20px; }
.case-price-line{ display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px dashed var(--card-line); font-size:14px; color:var(--ink-soft); }
.case-price-line:last-child{ border-bottom:none; }
.case-price-line span:last-child{ color:var(--on-dark); font-weight:600; flex:none; }

/* case-detail: chat -> fields demo */
.case-chat-demo{ margin-top:8px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-chat{ background:var(--card); border-radius:var(--radius-md); padding:18px; display:flex; flex-direction:column; gap:8px; }
.case-chat-bubble{ max-width:85%; padding:9px 13px; border-radius:12px; font-size:13.5px; line-height:1.45; }
.case-chat-bubble.in{ align-self:flex-start; background:rgba(245,245,240,.06); color:var(--ink-soft); }
.case-chat-bubble.out{ align-self:flex-end; background:var(--accent-solid); color:var(--on-dark); }
.case-fields{ background:var(--card); border-radius:var(--radius-md); overflow:hidden; }
.case-field-row{ display:grid; grid-template-columns:120px 1fr; border-top:1px solid var(--card-line); }
.case-field-row:first-child{ border-top:none; }
.case-field-row .k{ font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-faint); padding:11px 13px; background:rgba(245,245,240,.03); }
.case-field-row .v{ padding:11px 13px; font-size:13.5px; font-weight:600; color:var(--on-dark); }

/* case-detail: route stop list */
.case-route{ margin-top:8px; border:1px solid var(--card-line); border-radius:var(--radius-md); background:var(--card); overflow:hidden; }
.case-route-stop{ display:grid; grid-template-columns:32px 1fr auto; gap:12px; align-items:center; padding:13px 18px; border-top:1px solid var(--card-line); }
.case-route-stop:first-child{ border-top:none; }
.case-route-dot{ width:24px; height:24px; border-radius:50%; background:rgba(245,245,240,.08); color:var(--on-dark); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.case-route-stop.depot .case-route-dot{ background:var(--accent-solid); }
.case-route-addr{ font-size:14px; font-weight:600; color:var(--on-dark); }
.case-route-sub{ font-size:12px; color:var(--ink-faint); }
.case-route-leg{ font-size:12px; color:var(--ink-soft); text-align:right; white-space:nowrap; }

/* case-detail: call / voicemail summary card */
.case-call-card{ margin-top:8px; border:1px solid var(--card-line); border-radius:var(--radius-md); background:var(--card); overflow:hidden; }
.case-call-top{ display:flex; justify-content:space-between; align-items:center; padding:14px 18px; background:rgba(245,245,240,.04); border-bottom:1px solid var(--card-line); }
.case-call-who{ font-weight:600; font-size:14px; color:var(--on-dark); }
.case-call-badge{ font-size:10.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; background:var(--accent-solid); color:var(--on-dark); padding:3px 8px; border-radius:999px; }
.case-call-body{ padding:16px 18px; }
.case-call-label{ font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:6px; }
.case-call-label + .case-call-label{ margin-top:14px; }
.case-call-summary{ font-size:14px; line-height:1.55; color:var(--ink-soft); margin-bottom:16px; }
.case-call-tags{ display:flex; gap:8px; flex-wrap:wrap; }
.case-call-tags span{ font-size:12px; background:rgba(245,245,240,.05); border:1px solid var(--card-line); border-radius:6px; padding:4px 9px; color:var(--on-dark); }

/* case-detail: headline stats grid */
.case-stats{
  margin-top:8px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--card-line); border:1px solid var(--card-line); border-radius:var(--radius-md); overflow:hidden;
}
.case-stat{ background:var(--card); padding:22px 18px 20px; }
.case-stat-num{
  font-size:clamp(24px,3.2vw,32px); font-weight:800; color:var(--accent); line-height:1;
  margin-bottom:10px; display:flex; align-items:baseline; gap:5px; flex-wrap:wrap;
}
.case-stat-num .u{ font-size:13px; font-weight:600; color:var(--ink-faint); }
.case-stat-label{ font-size:13px; line-height:1.45; color:var(--ink-soft); max-width:24ch; }

@media (max-width:600px){
  .case-detail-title{ font-size:28px; }
  .case-surfaces{ grid-template-columns:1fr; }
  .case-results-row{ grid-template-columns:1fr; gap:2px; padding:10px 0; }
  .case-results-row > div{ padding:4px 18px; }
  .case-results-head{ display:none; }
  .case-chat-demo{ grid-template-columns:1fr; }
  .case-stats{ grid-template-columns:repeat(2,1fr); }
}

.case-tag{ font-family:var(--font-body); font-size:11.5px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); }

/* ---- cases list page: filter pills + image/text rows ---- */
.cases-page{ background:#fff; color:#141414; padding:clamp(96px,10vw,128px) 0 clamp(64px,8vw,112px); }
body:has(.cases-page) .site-header{ background:var(--dark); }
.cases-page-title{ font-size:clamp(36px,5vw,64px); font-weight:500; letter-spacing:-0.02em; line-height:1.05; }
.cases-filters{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(24px,3vw,40px); }
.cases-filter{
  font:inherit; font-size:clamp(15px,1.2vw,18px); padding:14px 24px; border-radius:999px; border:1px solid rgba(20,20,20,.14);
  background:#fff; color:#141414; cursor:pointer; transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.cases-filter:hover{ border-color:#141414; }
.cases-filter.is-active{ background:#141414; border-color:#141414; color:#fff; }
.cases-filter:focus-visible{ outline:2px solid #141414; outline-offset:2px; }
.cases-list{ margin-top:clamp(32px,4vw,56px); display:flex; flex-direction:column; gap:clamp(40px,5vw,72px); }
.case-row{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(24px,3vw,48px); align-items:start; }
.case-row[hidden]{ display:none; }
.case-row-media{ display:block; border-radius:28px; overflow:hidden; background:#F6F6F5; aspect-ratio:16/10; }
.case-row-media img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .6s var(--ease); }
.case-row:hover .case-row-media img{ transform:scale(1.03); }
.case-row-title{ font-size:clamp(22px,2.4vw,34px); font-weight:600; letter-spacing:-0.01em; line-height:1.15; }
.case-row-title a{ color:inherit; }
.case-row-title a:hover{ text-decoration:underline; text-underline-offset:4px; }
.case-row-sub{ margin-top:20px; max-width:52ch; font-size:clamp(15px,1.3vw,18px); line-height:1.6; color:#5C5C5C; }
.case-row-btn{
  margin-top:clamp(24px,3vw,40px); width:80px; height:80px; border-radius:50%; border:1px solid rgba(20,20,20,.14); color:#141414;
  display:flex; align-items:center; justify-content:center; transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.case-row-btn svg{ width:30px; height:30px; }
.case-row-btn:hover, .case-row:hover .case-row-btn{ background:#141414; border-color:#141414; color:#fff; }
@media (max-width:900px){
  .case-row{ grid-template-columns:1fr; }
  .case-row-btn{ width:60px; height:60px; }
}

/* home: cases as image/text rows on white */
#cases{ background:#fff; color:#141414; }
#cases .section-head h2{ color:#141414; font-weight:500; }
#cases .section-head p{ color:#5C5C5C; }
#cases .cases-list{ margin-top:clamp(40px,5vw,64px); }
#cases .cases-more .btn-primary{ background:#141414; color:#fff; }
#cases .cases-more .btn-primary:hover{ background:#000; }

.case-row-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.case-row-tags .case-card-tag{ padding:8px 16px; border-radius:999px; background:#F6F6F5; color:#5C5C5C; font-size:13.5px; font-weight:500; white-space:nowrap; }
.case-row-tags + .case-row-btn{ margin-top:clamp(20px,2.5vw,32px); }

/* ============ SERVICES PAGE ============ */
.services-hero{ background:var(--dark); color:var(--on-dark); padding-top:56px; padding-bottom:clamp(56px,8vw,96px); }
.services-hero .section-head{ max-width:760px; }
.services-hero .section-head p{ max-width:70ch; }

.services-list{
  max-width:960px; margin:56px 0 0; background:var(--card); border-radius:32px; padding:0 clamp(20px,3vw,40px);
}
.services-list-row{
  display:flex; align-items:center; gap:28px; padding:32px 0; border-bottom:1px solid var(--card-line);
}
.services-list-row:last-child{ border-bottom:none; }
.services-list-num{
  flex:none; width:28px; font-size:13px; font-weight:600; color:var(--ink-faint);
}
.services-list-text{ flex:1; min-width:0; }
.services-list-text p{ font-size:16.5px; line-height:1.65; color:var(--ink-soft); }
.services-list-text strong{ color:var(--accent); font-weight:700; }
.services-list-icon{
  flex:none; width:88px; height:88px;
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
}
.services-list-icon svg{ width:34px; height:34px; }

.services-cta{
  max-width:960px; margin:64px 0 0; padding:40px; border-radius:32px; background:var(--card);
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.services-cta p{ font-size:17px; font-weight:600; color:var(--on-dark); max-width:40ch; }

@media (max-width:700px){
  .services-list{
    background:transparent; padding:0; margin-top:40px;
    display:flex; flex-direction:column; gap:14px;
  }
  .services-list-row{
    flex-wrap:wrap; gap:14px; padding:24px; border-bottom:none;
    background:var(--card); border-radius:24px;
  }
  .services-list-num{ order:0; }
  .services-list-icon{ order:1; margin-left:auto; width:48px; height:48px; }
  .services-list-icon svg{ width:26px; height:26px; }
  .services-list-text{ order:2; flex:0 0 100%; }
  .services-cta{ flex-direction:column; align-items:flex-start; }
}

/* ============ ABOUT ============ */
.about-grid{
  display:flex; align-items:center; justify-content:flex-start; gap:48px;
}
.about-copy{ flex:1; min-width:0; max-width:52ch; }
.about-video{ flex:none; }
.about-video video{
  width:clamp(160px,16vw,220px); aspect-ratio:9/16; border-radius:var(--radius-md);
  object-fit:cover; object-position:center; display:block;
}
.about h2{ font-size:clamp(24px,3.4vw,36px); margin-top:14px; max-width:16ch; }
.about-text{ margin-top:20px; }
.about-text p{ color:var(--ink-soft); font-size:16px; line-height:1.65; }
.about-text p + p{ margin-top:16px; }
@media (max-width:700px){
  .about-grid{ flex-direction:column; align-items:flex-start; }
  .about-video{ margin-right:0; margin-top:28px; }
  .about-video video{ width:140px; }
}

/* ============ CONTACT / "заказать проект" ============ */
.contact{ position:relative; background:var(--dark); color:var(--on-dark); overflow:hidden; padding-top:clamp(64px,9vw,120px); }
.contact-bg{ opacity:.7; }
.contact-inner{ position:relative; z-index:1; }

/* one deliberate spot of color on an otherwise monochrome site — a soft premium glow behind the closing CTA */
.contact-glow{ position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.contact-glow span{ position:absolute; border-radius:50%; filter:blur(160px); }
.contact-glow-b{
  width:62vw; height:62vw; max-width:860px; max-height:860px; top:-24%; right:-20%; opacity:.2;
  background:radial-gradient(circle, #3B82F6, transparent 70%);
  animation:contactDrift2 24s ease-in-out infinite;
}
@keyframes contactDrift2{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-4%,3%) scale(1.07); } }

.contact-panels{
  margin:clamp(48px,7vw,80px) 0 clamp(56px,8vw,96px);
  display:grid; grid-template-columns:1.6fr 1fr; gap:20px; align-items:stretch;
}
.contact-form-panel{
  background:var(--card); border-radius:32px;
  padding:clamp(28px,3.4vw,40px); display:flex; flex-direction:column; gap:20px;
}
.contact-form-panel h3{ font-size:clamp(20px,2.2vw,24px); font-weight:700; color:var(--on-dark); }
.contact-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch; }
.contact-form-fields{ display:flex; flex-direction:column; gap:18px; }
.contact-form-message{ display:flex; }
.contact-form-panel .contact-form-message textarea{ flex:1; height:100%; min-height:160px; resize:none; }
.contact-form-footer{
  display:flex; flex-direction:column; align-items:flex-start; gap:20px;
}
.contact-form-footer .btn{ width:100%; }

.contact-consent{ display:flex; align-items:flex-start; gap:12px; font-size:14px; color:var(--ink-soft); line-height:1.5; cursor:pointer; }
.contact-consent input{ position:absolute; opacity:0; width:1px; height:1px; }
.contact-consent-box{
  flex:none; width:20px; height:20px; margin-top:1px; border-radius:6px; border:1px solid var(--card-line);
  display:flex; align-items:center; justify-content:center; color:transparent;
  transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.contact-consent-box svg{ width:13px; height:13px; }
.contact-consent input:checked + .contact-consent-box{ background:var(--accent); border-color:var(--accent); color:var(--on-dark); }
.contact-consent input:focus-visible + .contact-consent-box{ box-shadow:0 0 0 3px rgba(59,130,246,.22); }

.contact-form-reassure{ font-size:13.5px; color:var(--ink-faint); text-align:center; }

.contact-channels-panel{
  background:var(--card); border-radius:32px; padding:clamp(28px,3.4vw,40px);
  display:flex; flex-direction:column; gap:8px;
}
.contact-channels-panel h3{ font-size:clamp(20px,2.2vw,24px); font-weight:700; color:var(--on-dark); margin-bottom:12px; }
.contact-channel-item{
  display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--card-line);
  font-size:15.5px; font-weight:600; color:var(--on-dark); transition:color var(--dur-fast) var(--ease);
}
.contact-channel-item:hover{ color:var(--accent); }
.contact-channel-icon{
  flex:none; width:38px; height:38px; border-radius:50%; background:rgba(245,245,240,.06);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
}
.contact-channel-icon svg{ width:17px; height:17px; }

@media (max-width:900px){
  .contact-panels{ grid-template-columns:1fr; }
  .contact-form-grid{ grid-template-columns:1fr; }
  .contact-form-fields{ display:contents; }
  .contact-form-message{ order:3; }
  .contact-form-footer{ order:4; }
}

.field{ display:flex; flex-direction:column; gap:8px; }
.field label{ font-size:13px; font-weight:600; color:var(--ink-soft); }
.field textarea{ min-height:120px; }
.field input, .field textarea{
  background:rgba(245,245,240,.06); border:none; border-radius:16px;
  padding:16px 20px; color:var(--ink); font-family:inherit; font-size:16px; resize:vertical;
  transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.field input::placeholder, .field textarea::placeholder{ color:var(--ink-faint); }
.field input:hover, .field textarea:hover{ background:rgba(245,245,240,.09); }
.field input:focus, .field textarea:focus{
  outline:none; background:rgba(59,130,246,.06);
  box-shadow:0 0 0 3px rgba(59,130,246,.22);
}
.form-note{ font-size:13.5px; font-weight:600; color:var(--accent); min-height:1.2em; }

/* ============ FOOTER ============ */
.site-footer{ background:var(--dark); color:var(--ink-faint); padding-top:32px; }
.footer-top-row{ display:flex; align-items:center; justify-content:space-between; padding-bottom:28px; }
.site-footer .logo-word{ color:var(--ink-soft); font-size:14px; font-weight:700; letter-spacing:-0.01em; }
.site-footer .logo-tagline{ display:none; }

.footer-legal{
  padding-top:28px; padding-bottom:28px; border-top:1px solid var(--card-line);
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:32px;
}
.footer-legal--nolegal{ grid-template-columns:1fr 1fr; }
.footer-legal-label{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); margin-bottom:14px; }
.footer-legal-col p{ font-size:13.5px; line-height:1.65; color:var(--ink-soft); }
.footer-legal-col strong{ color:var(--ink); font-weight:600; }
.footer-legal-col a{ display:block; font-size:15px; color:var(--ink-soft); padding:4px 0; }
.footer-social-row{ display:flex; gap:10px; margin-top:14px; }
.footer-social{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--card-line);
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
  transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.footer-social svg{ width:15px; height:15px; }
.footer-social:hover{ background:var(--on-dark); border-color:var(--on-dark); color:var(--dark); transform:translateY(-2px); }
.footer-legal-col a:hover{ color:var(--on-dark); }
.footer-legal-col .footer-nav{ display:flex; flex-direction:column; gap:2px; }

.footer-meta{ padding-top:18px; padding-bottom:28px; border-top:1px solid var(--card-line); }
.footer-meta p{ font-size:13px; }

.footer-top{
  flex:none; width:38px; height:38px; border-radius:50%; border:1px solid var(--card-line);
  display:flex; align-items:center; justify-content:center; color:var(--on-dark);
  transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.footer-top svg{ width:16px; height:16px; }
.footer-top:hover{ background:var(--on-dark); border-color:var(--on-dark); color:var(--dark); transform:translateY(-2px); }

@media (max-width:700px){
  .footer-legal{ grid-template-columns:1fr; gap:24px; }
}

/* ============ FLOATING CHAT WIDGET ============ */
.chat-widget{
  position:fixed; right:clamp(16px,2vw,32px); bottom:clamp(16px,2vw,32px); z-index:900;
  display:flex; align-items:center; gap:0; width:92px; height:92px; padding:16px; box-sizing:border-box; overflow:hidden;
  background:#fff; color:#fff; border-radius:28px; box-shadow:0 12px 40px rgba(0,0,0,.18);
  transition:width .45s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease);
}
.chat-widget-avatar{ flex:none; width:60px; height:60px; border-radius:50%; overflow:hidden; display:block; }
.chat-widget-avatar img{ display:block; width:100%; height:100%; object-fit:cover; }
.chat-widget-label{
  flex:none; margin-left:28px; font-size:clamp(17px,1.4vw,22px); font-weight:500; white-space:nowrap; opacity:0; transition:opacity .25s var(--ease);
}
.chat-widget-chevron{ flex:none; width:22px; height:22px; margin-left:auto; margin-right:12px; opacity:0; transition:opacity .25s var(--ease); }
.chat-widget:hover, .chat-widget:focus-visible{ width:min(400px,calc(100vw - 32px)); background:#11131A; box-shadow:0 12px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.14); }
.chat-widget:hover .chat-widget-label, .chat-widget:focus-visible .chat-widget-label,
.chat-widget:hover .chat-widget-chevron, .chat-widget:focus-visible .chat-widget-chevron{ opacity:1; transition-delay:.12s; }
.chat-widget:focus-visible{ outline:2px solid #141414; outline-offset:3px; }
.chat-widget.is-hidden{ opacity:0; pointer-events:none; transform:translateY(12px); }
@media (max-width:600px){
  .chat-widget{ width:72px; height:72px; padding:12px; border-radius:22px; }
  .chat-widget-avatar{ width:48px; height:48px; }
}

/* ============ CHAT PANEL (design prototype) ============ */
.chat-panel{
  position:fixed; right:clamp(12px,2vw,32px); bottom:clamp(12px,2vw,32px); z-index:950;
  width:min(420px,calc(100vw - 24px)); height:min(680px,calc(100vh - 32px)); height:min(680px,calc(100dvh - 32px));
  display:flex; flex-direction:column; background:#fff; color:#141414; border-radius:28px;
  border:1px solid rgba(20,20,20,.08); box-shadow:0 24px 80px rgba(0,0,0,.28); overflow:hidden;
  opacity:0; transform:translateY(16px) scale(.98); transform-origin:100% 100%;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.chat-panel[hidden]{ display:none; }
.chat-panel.is-open{ opacity:1; transform:none; }
.chat-head{ flex:none; display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid rgba(20,20,20,.08); }
.chat-head-avatar{ width:40px; height:40px; border-radius:50%; overflow:hidden; flex:none; }
.chat-head-avatar img{ display:block; width:100%; height:100%; object-fit:cover; }
.chat-head-name{ font-size:18px; font-weight:500; margin-right:auto; }
.chat-close{ width:36px; height:36px; border-radius:50%; border:0; background:transparent; color:#141414; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background var(--dur-fast) var(--ease); }
.chat-close:hover{ background:#F6F6F5; }
.chat-close svg{ width:22px; height:22px; }
.chat-body{ flex:1; overflow-y:auto; padding:20px; display:flex; flex-direction:column; gap:14px; overscroll-behavior:contain; }
.chat-msg{ max-width:92%; font-size:16px; line-height:1.55; }
.chat-msg p + p{ margin-top:10px; }
.chat-msg.user{ align-self:flex-end; background:#141414; color:#fff; padding:10px 16px; border-radius:20px 20px 6px 20px; }
.chat-msg.bot a{ color:#141414; font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(20,20,20,.35); }
.chat-msg.bot a:hover{ text-decoration-color:#141414; }
.chat-links{ margin:12px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:10px; color:#5C5C5C; }
.chat-form{ flex:none; display:flex; align-items:center; gap:10px; margin:0 16px 16px; padding:6px 6px 6px 20px; border-radius:999px; background:#fff; box-shadow:0 6px 24px rgba(0,0,0,.1), 0 0 0 1px rgba(20,20,20,.06); }
.chat-input{ flex:1; min-width:0; border:0; outline:0; background:transparent; font:inherit; font-size:16px; color:#141414; padding:10px 0; }
.chat-input::placeholder{ color:#8A8A8A; }
.chat-send{ flex:none; width:44px; height:44px; border-radius:50%; border:0; background:#141414; color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background var(--dur-fast) var(--ease); }
.chat-send:hover{ background:#000; }
.chat-send svg{ width:20px; height:20px; }
.chat-form:focus-within{ box-shadow:0 6px 24px rgba(0,0,0,.1), 0 0 0 2px #141414; }
@media (max-width:600px){ .chat-panel{ border-radius:22px; } }

/* ---- hero: key numbers + product panel peeking from the bottom ---- */
.hero{ justify-content:flex-start; padding-top:clamp(104px,15vh,150px); padding-bottom:0; }
.hero-stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,3vw,48px);
  max-width:820px; margin:clamp(32px,5vh,56px) auto 0; padding-top:clamp(20px,3vh,32px); border-top:1px solid rgba(20,20,20,.1);
}
.hero-stat dt{ font-size:clamp(24px,2.6vw,36px); font-weight:600; letter-spacing:-0.02em; line-height:1.1; color:#141414; }
.hero-stat dd{ margin:8px 0 0; font-size:clamp(13px,1vw,14.5px); line-height:1.4; color:#5C5C5C; }
.hero-shot{
  position:relative; z-index:1; width:100%; max-width:1440px; margin:clamp(40px,6vh,72px) auto 0; padding:0;
  background:transparent; border-radius:24px 24px 0 0; height:clamp(280px,36vw,560px); overflow:hidden;
  box-shadow:0 -12px 48px rgba(0,0,0,.08);
}
.hero-shot img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top center; border-radius:0; }
@media (max-width:700px){
  .hero-shot{ border-radius:18px 18px 0 0; height:240px; }
}
.hero .hero-inner{ width:100%; }
.hero-shot{ max-width:none; }
/* hero without the product image: centered in the viewport again */
.hero{ justify-content:center; padding-top:clamp(96px,16vh,150px); padding-bottom:clamp(32px,8vh,128px); }

/* ---- hero: soft color wash + floating process cards ---- */
.hero::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(55% 45% at 50% 0%, rgba(99,102,241,.12), transparent 70%),
    radial-gradient(35% 35% at 88% 78%, rgba(59,130,246,.10), transparent 70%),
    radial-gradient(30% 30% at 10% 70%, rgba(168,85,247,.08), transparent 70%);
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(20,20,20,.12) 1px, transparent 1.2px); background-size:26px 26px;
  -webkit-mask-image:radial-gradient(60% 55% at 50% 45%, #000, transparent 75%); mask-image:radial-gradient(60% 55% at 50% 45%, #000, transparent 75%);
  opacity:.5;
}
.hero-floats{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero-float{
  position:absolute; display:flex; align-items:center; gap:12px; padding:14px 18px 14px 14px; background:#fff; border-radius:18px;
  box-shadow:0 14px 40px rgba(20,20,40,.10), 0 0 0 1px rgba(20,20,20,.05); animation:heroFloat 7s ease-in-out infinite;
}
.hero-float-icon{ flex:none; width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:#F6F6F5; color:#141414; }
.hero-float-icon svg{ width:20px; height:20px; }
.hero-float-text{ display:flex; flex-direction:column; gap:2px; }
.hero-float-text strong{ font-size:14.5px; font-weight:600; color:#141414; white-space:nowrap; }
.hero-float-text small{ font-size:12.5px; color:#7A7A7A; white-space:nowrap; }
.hf-1{ left:7%; top:30%; --r:-3deg; }
.hf-2{ left:13%; top:60%; --r:2.5deg; animation-delay:-2.5s; }
.hf-3{ right:8%; top:27%; --r:3deg; animation-delay:-1.2s; }
.hf-4{ right:12%; top:58%; --r:-2.5deg; animation-delay:-4s; }
.hf-1 .hero-float-icon{ background:#EEF2FF; color:#4F46E5; }
.hf-2 .hero-float-icon{ background:#F5EBFF; color:#9333EA; }
.hf-3 .hero-float-icon{ background:#E8F3FF; color:#2563EB; }
.hf-4 .hero-float-icon{ background:#E7F8EE; color:#16A34A; }
@keyframes heroFloat{ 0%,100%{ transform:translateY(0) rotate(var(--r,0deg)); } 50%{ transform:translateY(-12px) rotate(var(--r,0deg)); } }
@media (max-width:1200px){ .hero-floats{ display:none; } }
@media (prefers-reduced-motion:reduce){ .hero-float{ animation:none; transform:rotate(var(--r,0deg)); } }

/* ======= HERO v3: dark, left-aligned headline at the bottom + video card on the right ======= */
.hero{
  background:#000; color:#FAFAF8; justify-content:flex-end; align-items:stretch;
  padding-top:clamp(96px,14vh,140px); padding-bottom:clamp(40px,9vh,96px);
}
.hero::before{
  background:
    radial-gradient(45% 55% at 82% 78%, rgba(99,70,255,.38), transparent 70%),
    radial-gradient(35% 40% at 92% 100%, rgba(168,85,247,.28), transparent 70%);
}
.hero::after{ display:none; }
.hero-floats{ display:none; }
.hero .hero-inner{ width:100%; }
.hero-copy{ text-align:left; max-width:min(860px,62vw); }
.hero-tag{ color:rgba(245,245,242,.55); }
.hero-title{
  margin:0; max-width:none; color:#FAFAF8; font-weight:500; letter-spacing:-0.035em; line-height:1.04;
  font-size:clamp(36px, min(6.4vw, 11vh), 92px);
}
.hero-title .line:first-child .reveal{
  background:linear-gradient(90deg,#F6D9DE 0%,#C9B6F2 55%,#8B7CF6 100%); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent; padding-bottom:.08em;
}
.hero-title .line-soft{ color:#F3F3F1; font-weight:500; }
.hero-sub{ color:rgba(245,245,242,.66); max-width:46ch; margin-left:0; margin-right:0; font-size:clamp(15px, min(1.25vw,2.3vh), 19px); }
.hero-ctas{ justify-content:flex-start; }
.hero-ctas .btn-primary{ background:#FAFAF8; color:#0A0A0B; }
.hero-ctas .btn-primary:hover{ background:#fff; }
.hero-link{ color:rgba(245,245,242,.7); }
.hero-link:hover{ color:#fff; }

.hero-media{
  position:absolute; z-index:2; right:clamp(24px,5vw,96px); bottom:clamp(40px,9vh,96px);
  width:clamp(220px,21vw,340px); aspect-ratio:9/14; border-radius:28px; overflow:hidden; background:#111;
  box-shadow:0 30px 80px rgba(60,40,160,.45);
}
.hero-media video{ display:block; width:100%; height:100%; object-fit:cover; }
.hero-media-chip{
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%); white-space:nowrap;
  padding:8px 16px; border-radius:12px; background:rgba(15,15,20,.62); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  color:#fff; font-size:clamp(13px,1vw,15px); font-weight:500;
}
@media (max-width:1000px){
  .hero-copy{ max-width:none; }
  .hero-media{ position:relative; right:auto; bottom:auto; margin:36px 0 0 var(--pad); width:min(260px,60vw); }
  .hero{ justify-content:flex-start; padding-bottom:48px; }
}

/* header over the dark hero */
body:has(.hero) .site-header:not(.scrolled) .logo-word{ color:#FAFAF8; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a{ color:rgba(245,245,242,.7); }
body:has(.hero) .site-header:not(.scrolled) .main-nav a:hover{ color:#fff; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a::after{ background:#fff; }
body:has(.hero) .site-header:not(.scrolled) .btn-header{ color:#FAFAF8; border-color:rgba(245,245,242,.35); }
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover{ background:#FAFAF8; border-color:#FAFAF8; color:#0A0A0B; }
body:has(.hero) .site-header:not(.scrolled) .burger span{ background:#FAFAF8; }
.hero-media{ bottom:clamp(120px,17vh,160px); right:clamp(24px,6vw,110px); }
@media (max-width:1000px){ .hero-media{ bottom:auto; right:auto; } }
/* headline: plain light text, no gradient fill */
.hero-title .line:first-child .reveal{ background:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:currentColor; color:#FAFAF8; padding-bottom:0; }
/* no purple glow behind the video */
.hero::before{ display:none; }
.hero-media{ box-shadow:none; }
.hero{ padding-bottom:clamp(88px,17vh,168px); }
/* wider white gap between the hero and the Solutions panel */
.solutions{ padding-top:clamp(48px,7vw,112px); }
/* hero: centered composition */
.hero{ justify-content:center; padding-top:clamp(96px,14vh,140px); padding-bottom:clamp(64px,12vh,120px); }
.hero-copy{ text-align:center; max-width:none; margin:0 auto; }
.hero-title{ margin-left:auto; margin-right:auto; }
.hero-sub{ margin-left:auto; margin-right:auto; }
.hero-ctas{ justify-content:center; }
/* rotating word in the hero headline */
.hero-title .line{ padding-bottom:.12em; margin-bottom:-.12em; }
.hero-rot{ display:inline-block; transition:transform .45s var(--ease), opacity .45s var(--ease); }
.hero-rot.is-out{ transform:translateY(-70%); opacity:0; }
.hero-rot.is-pre{ transform:translateY(70%); opacity:0; transition:none; }

/* ---- hero: particle network + automation chain ---- */
.hero-net{
  position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 50%, rgba(0,0,0,.55), #000 80%); mask-image:radial-gradient(ellipse 85% 75% at 50% 50%, rgba(0,0,0,.55), #000 80%);
}
.hero .hero-inner{ position:relative; z-index:1; }
.hero-flow{
  list-style:none; margin:clamp(28px,5vh,52px) auto 0; padding:0;
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0;
}
.flow-step{
  display:inline-flex; align-items:center; gap:10px; padding:10px 18px 10px 14px; border-radius:999px;
  border:1px solid rgba(245,245,242,.16); background:rgba(245,245,242,.04); color:rgba(245,245,242,.55);
  font-size:clamp(13px,1vw,15px); font-weight:500; white-space:nowrap;
  animation:flowStep 9.6s ease-in-out infinite; animation-delay:calc(var(--i) * 2.4s);
}
.flow-step svg{ width:18px; height:18px; flex:none; }
.flow-line{
  position:relative; width:clamp(24px,3.5vw,56px); height:1px; background:rgba(245,245,242,.16); overflow:hidden; flex:none;
}
.flow-line::after{
  content:""; position:absolute; top:0; left:-60%; width:60%; height:100%; background:linear-gradient(90deg,transparent,#fff,transparent);
  animation:flowLine 9.6s ease-in-out infinite; animation-delay:calc(var(--i) * 2.4s + 1.1s);
}
@keyframes flowStep{
  0%,4%{ color:rgba(245,245,242,.55); background:rgba(245,245,242,.04); border-color:rgba(245,245,242,.16); box-shadow:none; }
  10%,24%{ color:#0A0A0B; background:#FAFAF8; border-color:#FAFAF8; box-shadow:0 0 32px rgba(190,200,255,.35); }
  32%,100%{ color:rgba(245,245,242,.55); background:rgba(245,245,242,.04); border-color:rgba(245,245,242,.16); box-shadow:none; }
}
@keyframes flowLine{ 0%{ left:-60%; opacity:1; } 14%{ left:110%; opacity:1; } 15%,100%{ left:110%; opacity:0; } }
@media (max-width:700px){
  .flow-line{ display:none; }
  .hero-flow{ gap:8px; }
}
@media (prefers-reduced-motion:reduce){ .flow-step, .flow-line::after{ animation:none; } }


/* contact: no blue glow */
#contact .contact-glow, #contact .contact-bg{ display:none; }

/* ---- contact: more spacious ---- */
#contact{ padding-top:clamp(96px,12vw,200px); padding-bottom:clamp(40px,6vw,96px); }
#contact .section-head h2{ font-size:clamp(34px,5vw,76px); line-height:1.05; letter-spacing:-0.02em; max-width:14ch; font-weight:600; }
#contact .eyebrow{ margin-bottom:clamp(20px,2.4vw,32px); }
#contact .contact-panels{ margin:clamp(56px,8vw,112px) 0 clamp(72px,10vw,140px); gap:clamp(20px,2.4vw,36px); grid-template-columns:1.7fr 1fr; }
#contact .contact-form-panel{ padding:clamp(28px,4.4vw,64px); gap:clamp(24px,2.6vw,36px); border-radius:36px; }
#contact .contact-form-panel h3{ font-size:clamp(22px,2.4vw,30px); }
#contact .contact-form-grid{ gap:clamp(20px,2.2vw,28px); }
#contact .contact-form-fields{ gap:clamp(20px,2.2vw,28px); }
#contact .field input, #contact .field textarea{ padding:clamp(18px,1.6vw,24px) clamp(20px,2vw,28px); font-size:clamp(16px,1.2vw,18px); border-radius:20px; }
#contact .contact-form-panel .contact-form-message textarea{ min-height:clamp(200px,18vw,280px); }
#contact .contact-form-footer{ gap:clamp(20px,2.2vw,28px); }
#contact .contact-form-footer .btn{ padding:clamp(16px,1.4vw,20px) 28px; font-size:clamp(15px,1.15vw,17px); }
#contact .contact-consent{ font-size:clamp(13px,1vw,15px); }
#contact .contact-channels-panel{ padding:clamp(28px,4.4vw,64px); border-radius:36px; gap:clamp(8px,1vw,14px); }
#contact .contact-channels-panel h3{ font-size:clamp(22px,2.4vw,30px); margin-bottom:clamp(14px,1.8vw,24px); }
#contact .contact-channel-item{ padding:clamp(18px,1.8vw,26px) 0; font-size:clamp(15px,1.2vw,18px); gap:clamp(14px,1.4vw,20px); }
#contact .contact-channel-icon{ width:clamp(40px,3.2vw,50px); height:clamp(40px,3.2vw,50px); }
@media (max-width:900px){ #contact .contact-panels{ grid-template-columns:1fr; } }

/* home Cases: photos with sharp (square) corners */
#cases .case-row-media, #cases .case-row-media img{ border-radius:0; }

/* ======= HERO v4: gray rounded panel on white, like Solutions ======= */
.hero{
  background:#fff; color:#141414; padding:clamp(76px,9vh,92px) clamp(16px,2vw,36px) clamp(16px,2vw,36px);
  justify-content:stretch;
}
.hero > .wrap.hero-inner{
  flex:1; width:100%; max-width:none; margin:0; padding:clamp(24px,4.5vw,64px);
  background:#F6F6F5; border-radius:var(--radius-lg);
  display:flex; flex-direction:column; justify-content:center;
}
.hero-copy{ width:100%; }
.hero-tag{ color:#7A7A7A; }
.hero-title, .hero-title .line:first-child .reveal{ color:#141414; -webkit-text-fill-color:#141414; }
.hero-title .line-soft{ color:#141414; -webkit-text-fill-color:#141414; }
.hero-sub{ color:#5C5C5C; }
.hero-ctas .btn-primary{ background:#141414; color:#fff; }
.hero-ctas .btn-primary:hover{ background:#000; }
.hero-link{ color:#5C5C5C; }
.hero-link:hover{ color:#141414; }
/* header over the white page */
body:has(.hero) .site-header:not(.scrolled) .logo-word{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a{ color:#5C5C5C; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a:hover{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a::after{ background:#141414; }
body:has(.hero) .site-header:not(.scrolled) .btn-header{ color:#141414; border-color:rgba(20,20,20,.3); }
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover{ background:#141414; border-color:#141414; color:#fff; }
body:has(.hero) .site-header:not(.scrolled) .burger span{ background:#141414; }
/* footer social icons: uniform size, centered */
.footer-social-row{ gap:12px; }
.footer-social{ width:42px; height:42px; border-color:rgba(245,245,242,.2); color:rgba(245,245,242,.75); }
.footer-social svg{ width:18px; height:18px; display:block; }
.footer-social:hover{ color:#0A0A0B; }

/* hero panel: black block, white text (header stays dark on the white page edge) */
.hero > .wrap.hero-inner{ background:#000; }
.hero-tag{ color:rgba(245,245,242,.55); }
.hero-title, .hero-title .line:first-child .reveal, .hero-title .line-soft{ color:#FAFAF8; -webkit-text-fill-color:#FAFAF8; }
.hero-sub{ color:rgba(245,245,242,.66); }
.hero-ctas .btn-primary{ background:#FAFAF8; color:#0A0A0B; }
.hero-ctas .btn-primary:hover{ background:#fff; }
.hero-link{ color:rgba(245,245,242,.7); }
.hero-link:hover{ color:#fff; }
.footer-legal-col .footer-social{ display:flex; align-items:center; justify-content:center; padding:0; }

/* home Cases: slightly rounded white frames, full screenshot visible */
#cases .case-row-media{ border-radius:14px; background:#fff; display:block; padding:0; aspect-ratio:16/10; overflow:hidden; }
#cases .case-row-media img{ width:100%; height:100%; object-fit:contain; object-position:center; border-radius:0; box-shadow:none; }

/* ---- accent: electric blue for the main CTAs ---- */
:root{ --cta:#2F6BFF; --cta-hover:#1F55E0; }
.hero-ctas .btn-primary, #contact .contact-form-footer .btn-primary{ background:var(--cta); color:#fff; }
.hero-ctas .btn-primary:hover, #contact .contact-form-footer .btn-primary:hover{ background:var(--cta-hover); color:#fff; }

/* ======= HERO v5: fully black, full-bleed (no white frame) ======= */
.hero{ background:#000; padding:clamp(96px,14vh,140px) 0 clamp(64px,12vh,120px); justify-content:center; }
.hero > .wrap.hero-inner{ flex:none; max-width:var(--container); margin:0 auto; padding:0 var(--pad); background:transparent; border-radius:0; display:block; }
body:has(.hero) .site-header:not(.scrolled) .logo-word{ color:#FAFAF8; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a{ color:rgba(245,245,242,.7); }
body:has(.hero) .site-header:not(.scrolled) .main-nav a:hover{ color:#fff; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a::after{ background:#fff; }
body:has(.hero) .site-header:not(.scrolled) .btn-header{ color:#FAFAF8; border-color:rgba(245,245,242,.35); }
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover{ background:#FAFAF8; border-color:#FAFAF8; color:#0A0A0B; }
body:has(.hero) .site-header:not(.scrolled) .burger span{ background:#FAFAF8; }

/* ======= TYPOGRAPHY: one family (Inter) for everything, Unbounded only for the logo ======= */
:root{ --font-body:"Inter","Onest",Arial,sans-serif; --ink-soft:#A6A6A1; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; font-feature-settings:"calt","kern"; letter-spacing:-0.005em; }
h1,h2,h3,
.hero-title, .solutions-intro h2, .process .section-head h2, .case-detail-title, #cases .section-head h2,
.cases-page-title, #contact .section-head h2, .feature-card h3, .case-row-title, .process-step h3, .case-card-title{
  font-family:var(--font-body); font-weight:600; letter-spacing:-0.03em; line-height:1.08;
}
.hero-title{ font-weight:600; letter-spacing:-0.04em; line-height:1.04; }
.hero-title .line-soft{ font-weight:600; }
.eyebrow, .hero-tag, .case-tag{ font-weight:600; letter-spacing:.12em; }
.hero-sub, .solutions-intro p, .section-head p{ line-height:1.6; }
.feature-card p, .process-step p, .case-row-sub{ font-size:15.5px; line-height:1.6; }
.btn, .cases-filter{ font-weight:600; letter-spacing:-0.01em; }
.main-nav a{ font-weight:500; }

/* ======= HERO TYPE: bigger, lighter, hierarchy + accent word ======= */
.hero-title{
  font-weight:500; letter-spacing:-0.045em; line-height:1.0;
  font-size:clamp(40px, min(8.4vw, 14.5vh), 124px);
}
.hero-title .line{ padding-bottom:.14em; margin-bottom:-.14em; }
.hero-title .line-soft{ color:#8B8B87; -webkit-text-fill-color:#8B8B87; font-weight:500; }
.hero-title .line-soft .hero-rot{ color:#5B8CFF; -webkit-text-fill-color:#5B8CFF; }
.hero-rot{ transition:transform .55s var(--ease), opacity .55s var(--ease), filter .55s var(--ease); }
.hero-rot.is-out{ transform:translateY(-55%); opacity:0; filter:blur(10px); }
.hero-rot.is-pre{ transform:translateY(55%); opacity:0; filter:blur(10px); transition:none; }

.hero-tag{
  display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:999px;
  border:1px solid rgba(245,245,242,.16); background:rgba(245,245,242,.04); color:rgba(245,245,242,.75);
  font-size:clamp(11.5px,.9vw,13px); letter-spacing:.12em;
}
.hero-tag::before{
  content:""; width:7px; height:7px; border-radius:50%; background:#3DDC84; box-shadow:0 0 0 0 rgba(61,220,132,.6);
  animation:heroDot 2.2s ease-out infinite;
}
@keyframes heroDot{ 0%{ box-shadow:0 0 0 0 rgba(61,220,132,.55); } 70%,100%{ box-shadow:0 0 0 10px rgba(61,220,132,0); } }
.hero-sub{ font-size:clamp(16px, min(1.35vw,2.4vh), 20px); color:rgba(245,245,242,.62); max-width:44ch; }
@media (prefers-reduced-motion:reduce){ .hero-tag::before{ animation:none; } }
/* headline: second line white, only the rotating word is blue */
.hero-title .line-soft{ color:#FAFAF8; -webkit-text-fill-color:#FAFAF8; }
.hero-title .line-soft .hero-rot{ color:#5B8CFF; -webkit-text-fill-color:#5B8CFF; }
/* hero tag: plain text again (no pill, no dot) */
.hero-tag{ display:inline-block; padding:0; border:0; background:none; border-radius:0; gap:0; color:rgba(245,245,242,.55); letter-spacing:.14em; margin-bottom:clamp(20px,3vh,32px); }
.hero-tag::before{ content:none; animation:none; }

/* ======= FONT TRIAL: Manrope (set --font-body back to Inter to revert) ======= */
:root{ --font-body:"Manrope","Inter","Onest",Arial,sans-serif; }
.hero-title{ font-weight:600; letter-spacing:-0.035em; }
h1,h2,h3,.solutions-intro h2,.process .section-head h2,.case-detail-title,#cases .section-head h2,.cases-page-title,#contact .section-head h2,.feature-card h3,.case-row-title,.process-step h3,.case-card-title{ letter-spacing:-0.025em; }

/* ======= HERO v6: white, matches the light sections ======= */
.hero{ background:#fff; color:#141414; }
.hero-tag{ color:#7A7A7A; }
.hero-title, .hero-title .line:first-child .reveal, .hero-title .line-soft{ color:#141414; -webkit-text-fill-color:#141414; }
.hero-title .line-soft .hero-rot{ color:#2F6BFF; -webkit-text-fill-color:#2F6BFF; }
.hero-sub{ color:#5C5C5C; }
.hero-link{ color:#5C5C5C; }
.hero-link:hover{ color:#141414; }
.hero-net{ display:none; }
body:has(.hero) .site-header:not(.scrolled) .logo-word{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a{ color:#5C5C5C; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a:hover{ color:#141414; }
body:has(.hero) .site-header:not(.scrolled) .main-nav a::after{ background:#141414; }
body:has(.hero) .site-header:not(.scrolled) .btn-header{ color:#141414; border-color:rgba(20,20,20,.3); }
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover{ background:#141414; border-color:#141414; color:#fff; }
body:has(.hero) .site-header:not(.scrolled) .burger span{ background:#141414; }
.solutions{ padding-top:clamp(16px,2vw,36px); }

/* ======= HERO v7: headline + aside, live case previews (researched pattern) ======= */
.hero.hero-v7{ min-height:0; display:block; justify-content:flex-start; background:#fff; color:#141414; padding:clamp(104px,13vh,140px) 0 clamp(40px,6vw,88px); }
.hero-v7 > .wrap.hero-inner{ display:block; width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--pad); background:none; border-radius:0; flex:none; }
.hero-v7 .hero-tag{ display:inline-block; margin:0 0 clamp(20px,3vh,32px); color:#7A7A7A; letter-spacing:.14em; }
.hero-v7 .hero-top{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr); gap:clamp(24px,4vw,72px); align-items:end; }
.hero-v7 .hero-title{ text-align:left; margin:0; max-width:none; font-size:clamp(40px, 6.6vw, 108px); line-height:1.0; letter-spacing:-0.045em; font-weight:600; color:#141414; }
.hero-v7 .hero-title .line-soft{ color:#141414; }
.hero-v7 .hero-title .line-soft .hero-rot{ color:#2F6BFF; }
.hero-v7 .hero-aside{ padding-bottom:.6em; }
.hero-v7 .hero-sub{ text-align:left; margin:0; max-width:40ch; font-size:clamp(15.5px,1.25vw,18px); line-height:1.6; color:#5C5C5C; }
.hero-v7 .hero-ctas{ justify-content:flex-start; margin-top:clamp(20px,2.4vw,32px); }

.hero-cases{ margin-top:clamp(40px,6vw,88px); }
.hero-cases-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; font-size:15px; font-weight:600; color:#141414; }
.hero-cases-head b{ font-weight:600; color:#8A8A8A; margin-left:6px; }
.hero-cases-head a{ display:inline-flex; align-items:center; gap:6px; color:#5C5C5C; font-weight:500; transition:color var(--dur-fast) var(--ease); }
.hero-cases-head a:hover{ color:#141414; }
.hero-cases-head svg{ width:16px; height:16px; }
.hero-cases-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.hero-case{ display:flex; flex-direction:column; color:inherit; }
.hero-case-media{ display:block; aspect-ratio:16/10; border-radius:20px; overflow:hidden; background:#F6F6F5; }
.hero-case-media img{ display:block; width:100%; height:100%; object-fit:cover; object-position:left top; transition:transform .6s var(--ease); }
.hero-case:hover .hero-case-media img{ transform:scale(1.04); }
.hero-case-title{ margin-top:14px; font-size:clamp(16px,1.3vw,19px); font-weight:600; letter-spacing:-0.02em; }
.hero-case-tag{ margin-top:4px; font-size:14px; color:#7A7A7A; }
@media (max-width:900px){
  .hero-v7 .hero-top{ grid-template-columns:1fr; align-items:start; }
  .hero-cases-grid{ grid-template-columns:1fr; }
}

/* hero: integrations row */
.hero-int{ display:flex; align-items:center; gap:14px; margin-top:clamp(24px,3vw,40px); }
.hero-int-label{ font-size:13px; font-weight:500; color:#7A7A7A; white-space:nowrap; }
.hero-int-chips{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.hero-int-chip{
  width:40px; height:40px; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(20,20,40,.08), 0 0 0 1px rgba(20,20,20,.06);
  display:flex; align-items:center; justify-content:center; transition:transform var(--dur-fast) var(--ease);
}
.hero-int-chip:hover{ transform:translateY(-3px); }
.hero-int-chip svg{ width:20px; height:20px; display:block; }
.hero-v7 .hero-top{ align-items:start; }
.hero-v7 .hero-aside{ padding-bottom:0; padding-top:clamp(8px,1.4vw,20px); }
.hero-v7 .hero-title{ margin-top:-.04em; }

/* ---- hero v8: clean, one screen ---- */
.hero.hero-v7{ min-height:100vh; min-height:100svh; display:flex; flex-direction:column; justify-content:center; padding:clamp(96px,14vh,140px) 0 clamp(40px,7vh,80px); }
.hero-v7 .hero-top{ align-items:end; }
.hero-v7 .hero-title{ font-size:clamp(40px, min(7vw,13vh), 116px); }
.hero-v7 .hero-aside{ padding-top:0; padding-bottom:.5em; }
.hero-proof{
  list-style:none; margin:clamp(40px,8vh,96px) 0 0; padding:clamp(18px,2.4vh,28px) 0 0; border-top:1px solid rgba(20,20,20,.12);
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,3vw,48px);
}
.hero-proof li{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.hero-proof b{ font-size:clamp(22px,2.4vw,34px); font-weight:600; letter-spacing:-0.03em; color:#141414; line-height:1; }
.hero-proof span{ font-size:clamp(13px,1vw,15px); color:#7A7A7A; line-height:1.3; }
@media (max-width:900px){ .hero-proof{ grid-template-columns:1fr; gap:14px; } }
.hero-proof li{ flex-direction:column; align-items:flex-start; gap:6px; }
.hero-proof b{ font-size:clamp(17px,1.6vw,22px); letter-spacing:-0.02em; line-height:1.2; }
.hero-proof span{ font-size:clamp(13.5px,1vw,15px); max-width:30ch; }

/* rotating word: clean slide, no blur, room for descenders */
.hero-title .line{ padding-bottom:.26em; margin-bottom:-.26em; }
.hero-rot{ transition:transform .5s var(--ease), opacity .4s var(--ease); filter:none; }
.hero-rot.is-out{ transform:translateY(-35%); opacity:0; filter:none; }
.hero-rot.is-pre{ transform:translateY(35%); opacity:0; filter:none; transition:none; }

/* ======= HERO v9: capsules (Everest-style) + peeking cases ======= */
.hero.hero-v7{ padding-bottom:clamp(120px,16vh,170px); position:relative; overflow:hidden; }
.hero-v7 .hero-top{ align-items:end; }
.hero-v7 .hero-title{ font-size:clamp(38px, min(6.4vw,12vh), 104px); }
.hero-caps{ display:flex; flex-wrap:wrap; gap:clamp(8px,1vw,14px); margin-top:clamp(14px,2vh,24px); }
.hero-cap{
  display:inline-flex; align-items:center; padding:.18em .55em .22em; border-radius:999px; background:#F6F6F5; color:#141414;
  font-size:clamp(28px, min(4.6vw,8.6vh), 76px); font-weight:600; letter-spacing:-0.04em; line-height:1.1;
  transition:background .45s var(--ease), color .45s var(--ease), transform .45s var(--ease);
}
.hero-cap.is-active{ background:#2F6BFF; color:#fff; transform:translateY(-3px); }
.hero-peek{
  position:absolute; left:0; right:0; bottom:0; padding:0 var(--pad); max-width:var(--container); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; height:clamp(70px,10vh,100px); overflow:hidden; pointer-events:none;
}
.hero-peek a{ display:block; pointer-events:auto; border-radius:20px 20px 0 0; overflow:hidden; background:#F6F6F5; box-shadow:inset 0 0 0 1px rgba(20,20,20,.06); }
.hero-peek img{ display:block; width:100%; height:auto; transition:transform .6s var(--ease); }
.hero-peek a:hover img{ transform:translateY(-8px); }
@media (max-width:900px){ .hero-peek{ grid-template-columns:repeat(2,minmax(0,1fr)); } .hero-cap{ font-size:clamp(24px,8vw,40px); } }
.hero-v7 .hero-top{ align-items:end; }
.hero-v7 .hero-aside{ padding-bottom:clamp(8px,1.6vh,20px); }
.hero-caps{ flex-wrap:nowrap; }
.hero-cap{ font-size:clamp(22px, min(3.5vw,6.6vh), 58px); padding:.2em .6em .24em; white-space:nowrap; }
@media (max-width:900px){ .hero-caps{ flex-wrap:wrap; } .hero-cap{ font-size:clamp(22px,7vw,36px); } }
.hero.hero-v7{ padding-bottom:clamp(40px,7vh,80px); }
/* headline reads as one phrase: "Возвращаем бизнесу [клиентов] [деньги] [время]" */
.hero-v7 .hero-title{ font-size:clamp(36px, min(5.6vw,11vh), 96px); }
.hero-v7 .hero-title .line{ white-space:nowrap; }
.hero-cap{ font-size:clamp(34px, min(5.6vw,11vh), 96px); padding:.12em .5em .18em; }
.hero-caps{ margin-top:clamp(10px,1.6vh,20px); gap:clamp(8px,.9vw,14px); }
@media (max-width:900px){ .hero-v7 .hero-title .line{ white-space:normal; } .hero-cap{ font-size:clamp(26px,8vw,44px); } }
.hero-v7 .hero-top{ grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr); }
.hero-v7 .hero-title{ font-size:clamp(34px, min(4.9vw,9.6vh), 86px); }
.hero-cap{ font-size:clamp(28px, min(4.1vw,8vh), 72px); padding:.14em .5em .2em; }
.hero-caps{ margin-top:clamp(12px,2vh,22px); }

/* lighter gray panels: Solutions and Process */
.solutions-layout, .process-pin{ background:#FCFCFB; }
.solutions .feature-card, .process .process-step::before{ box-shadow:none; }

/* hero: description + buttons under the headline (single column) */
.hero-v7 .hero-top{ grid-template-columns:1fr; gap:0; align-items:start; }
.hero-v7 .hero-aside{ padding:0; margin-top:clamp(22px,4vh,44px); }
.hero-v7 .hero-sub{ max-width:52ch; font-size:clamp(16px,1.3vw,19px); }
.hero-v7 .hero-ctas{ margin-top:clamp(20px,3vh,32px); }
.solutions .feature-card, .process .process-step::before{ border:0; outline:0; }

/* ======= HERO v10: centered stack ======= */
.hero-v7 .hero-tag{ display:block; text-align:center; margin-bottom:clamp(18px,3vh,30px); }
.hero-v7 .hero-top{ text-align:center; justify-items:center; }
.hero-v7 .hero-left{ display:flex; flex-direction:column; align-items:center; }
.hero-v7 .hero-title{ text-align:center; font-size:clamp(34px, min(6.2vw,11vh), 104px); }
.hero-v7 .hero-title .line{ display:block; text-align:center; }
.hero-v7 .hero-caps{ justify-content:center; }
.hero-v7 .hero-cap{ font-size:clamp(30px, min(5vw,9.2vh), 84px); }
.hero-v7 .hero-aside{ display:flex; flex-direction:column; align-items:center; }
.hero-v7 .hero-sub{ text-align:center; margin:0 auto; max-width:50ch; }
.hero-v7 .hero-ctas{ justify-content:center; }
@media (max-width:900px){ .hero-v7 .hero-title .line{ white-space:normal; } .hero-v7 .hero-cap{ font-size:clamp(24px,7.5vw,40px); } .hero-v7 .hero-caps{ flex-wrap:wrap; } }

/* header button: blue on hover (all header states) */
.btn-header:hover,
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover,
.site-header.scrolled .btn-header:hover{ background:var(--cta,#2F6BFF); border-color:var(--cta,#2F6BFF); color:#fff; }

/* hero: slightly smaller type */
.hero-v7 .hero-title{ font-size:clamp(32px, min(5.4vw,9.8vh), 90px); }
.hero-v7 .hero-cap{ font-size:clamp(26px, min(4.3vw,8vh), 72px); }
.hero-v7 .hero-sub{ font-size:clamp(15px,1.15vw,17.5px); }

/* header CTA: black by default, blue on hover */
body:has(.hero) .site-header:not(.scrolled) .btn-header,
.btn-header{ background:#141414; border-color:#141414; color:#fff; }
.site-header.scrolled .btn-header{ background:#FAFAF8; border-color:#FAFAF8; color:#0A0A0B; }
.btn-header:hover,
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover,
.site-header.scrolled .btn-header:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }

/* header CTA: light (outline) by default, blue on hover */
body:has(.hero) .site-header:not(.scrolled) .btn-header,
.btn-header{ background:transparent; color:#141414; border-color:rgba(20,20,20,.3); }
.site-header.scrolled .btn-header{ background:transparent; color:#FAFAF8; border-color:rgba(245,245,242,.35); }
.btn-header:hover,
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover,
.site-header.scrolled .btn-header:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }

/* hero CTA: black, blue on hover */
.hero-ctas .btn-primary{ background:#141414; color:#fff; }
.hero-ctas .btn-primary:hover{ background:#2F6BFF; color:#fff; }

/* ---- section headings: bigger + one blue accent word ---- */
.hl{ color:#2F6BFF; -webkit-text-fill-color:#2F6BFF; }
.process .section-head h2 .hl, #contact .section-head h2 .hl, #cases .section-head h2 .hl{ color:#2F6BFF; }
#contact .section-head h2 .hl{ color:#5B8CFF; -webkit-text-fill-color:#5B8CFF; }
.solutions-layout{ grid-template-columns:minmax(260px,430px) 1fr; }
.solutions-intro h2{ font-size:clamp(30px,3.7vw,54px); line-height:1.05; }
.process .section-head h2{ font-size:clamp(32px,4.6vw,68px); line-height:1.04; max-width:20ch; }
#cases .section-head h2{ font-size:clamp(34px,4.8vw,72px); line-height:1.04; }
#contact .section-head h2{ font-size:clamp(36px,5.2vw,80px); }
@media (max-width:900px){ .solutions-layout{ grid-template-columns:1fr; } }
.process .section-head{ max-width:none; }
.process .section-head h2{ font-size:clamp(30px,3.7vw,56px); max-width:none; }
.process .section-head h2 br{ display:block; }

/* header stays white while scrolling (home) */
body:has(.hero) .site-header.scrolled{ background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 1px 0 rgba(20,20,20,.06); }
body:has(.hero) .site-header.scrolled .logo-word{ color:#141414; }
body:has(.hero) .site-header.scrolled .main-nav a{ color:#5C5C5C; }
body:has(.hero) .site-header.scrolled .main-nav a:hover{ color:#141414; }
body:has(.hero) .site-header.scrolled .main-nav a::after{ background:#141414; }
body:has(.hero) .site-header.scrolled .btn-header{ background:transparent; color:#141414; border-color:rgba(20,20,20,.3); }
body:has(.hero) .site-header.scrolled .btn-header:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
body:has(.hero) .site-header.scrolled .burger span{ background:#141414; }
body:has(.hero) .site-header.scrolled{ background:#fff; -webkit-backdrop-filter:none; backdrop-filter:none; }

/* section heading accent words: no blue, same color as the heading */
.hl,
.process .section-head h2 .hl,
#contact .section-head h2 .hl,
#cases .section-head h2 .hl{ color:inherit; -webkit-text-fill-color:currentColor; }

/* hero CTA: blue again */
.hero-ctas .btn-primary{ background:#2F6BFF; color:#fff; }
.hero-ctas .btn-primary:hover{ background:#1F55E0; color:#fff; }

/* ======= HEADER v2 (Everest-style): logo left, links right, round menu button ======= */
.header-inner{ gap:clamp(20px,3vw,48px); }
.main-nav{ position:static; transform:none; margin-left:auto; gap:clamp(20px,2.4vw,40px); }
.header-actions{ display:none; }
.burger{
  display:flex; flex:none; width:52px; height:52px; border-radius:50%; border:1px solid rgba(128,128,128,.35);
  background:transparent; transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
}
.burger:hover{ border-color:#2F6BFF; }
.burger.open{ background:rgba(128,128,128,.12); }
.site-header{ position:fixed; }
.mobile-nav{
  display:flex; position:absolute; top:calc(100% + 8px); right:var(--pad); width:min(340px,calc(100vw - 2*var(--pad)));
  padding:10px 22px 22px; border-radius:24px; background:#fff; color:#141414;
  box-shadow:0 24px 70px rgba(0,0,0,.22), 0 0 0 1px rgba(20,20,20,.06); transform:translateY(-8px); pointer-events:none;
  transition:max-height var(--dur) var(--ease), opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.mobile-nav.open{ transform:none; pointer-events:auto; }
.mobile-nav a{ color:#141414; border-bottom:1px solid rgba(20,20,20,.08); }
.mobile-nav .btn-primary{ background:#2F6BFF; color:#fff; border-bottom:0; }
.mobile-nav-telegram{ color:#141414; }
.mobile-nav-telegram svg{ color:#5C5C5C; }
@media (max-width:900px){
  .main-nav{ display:none; }
  .header-inner > .logo{ margin-right:auto; }
}

/* hero description: two lines on desktop */
@media (min-width:901px){
  .hero-v7 .hero-sub{ max-width:78ch; text-wrap:balance; }
}

/* hero buttons hidden for now (markup kept) */
.hero-v7 .hero-ctas{ display:none; }

/* header: blue "Обсудить проект" next to the menu button */
.header-actions{ display:flex; }
.btn-header,
body:has(.hero) .site-header:not(.scrolled) .btn-header,
body:has(.hero) .site-header.scrolled .btn-header,
.site-header.scrolled .btn-header{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
.btn-header:hover,
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover,
body:has(.hero) .site-header.scrolled .btn-header:hover,
.site-header.scrolled .btn-header:hover{ background:#1F55E0; border-color:#1F55E0; color:#fff; }
@media (max-width:900px){ .header-actions{ display:none; } }

/* ---- Solutions: stronger titles, key phrases, darker secondary text ---- */
.solutions .feature-card h3{ font-weight:600; }
.solutions .feature-card p{ color:#4A4A4A; }
.solutions .feature-card p strong{ color:#141414; font-weight:600; }
.solutions-intro p{ color:#4A4A4A; }

/* ======= DESIGN PASS ======= */
/* 1. Process: big numbers, titles on one baseline */
.process .process-num{ font-size:clamp(26px,2.2vw,34px); font-weight:500; letter-spacing:-0.03em; color:#C9C9C4; top:24px; right:36px; }
.process .process-step:last-child .process-num{ right:24px; }
.process .process-step > div:last-child{ margin-top:auto; min-height:9.2em; display:flex; flex-direction:column; justify-content:flex-start; }
.process .process-step h3{ font-weight:600; }
.process .process-step p{ color:#4A4A4A; }

/* 3. One radius for all big panels */
#contact .contact-form-panel, #contact .contact-channels-panel{ border-radius:var(--radius-lg); }

/* 5. Floating button adapts to dark sections */
.chat-widget{ transition:width .45s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease); }
.chat-widget.on-dark{ background:#1A1A1D; box-shadow:0 12px 40px rgba(0,0,0,.5), 0 0 0 1px rgba(245,245,242,.14); }
.chat-widget.on-dark:hover, .chat-widget.on-dark:focus-visible{ background:#2F6BFF; }

/* 6. Services page: room under the header */
.services-hero{ padding-top:clamp(104px,12vh,136px); }
.logo-tagline{ display:none; }

/* 7. Same hover lift everywhere */
.process .process-step{ transition:transform var(--dur-fast) var(--ease); }
.hero-case:hover, .case-row:hover{ transform:none; }

/* ======= CONTACT v2: blue rounded panel on white, white cards, black button ======= */
#contact{ background:#fff; color:#fff; padding:clamp(16px,2vw,36px); overflow:visible; }
#contact .contact-bg, #contact .contact-glow{ display:none; }
#contact > .contact-inner{
  max-width:none; margin:0; padding:clamp(28px,5vw,72px); background:#2F6BFF; border-radius:var(--radius-lg);
}
#contact .eyebrow{ color:rgba(255,255,255,.7); }
#contact .section-head h2{ color:#fff; }
#contact .contact-panels{ margin:clamp(36px,5vw,64px) 0 0; }
#contact .contact-form-panel, #contact .contact-channels-panel{ background:#fff; color:#141414; }
#contact .contact-form-panel h3, #contact .contact-channels-panel h3{ color:#141414; }
#contact .field input, #contact .field textarea{ background:#F6F6F5; color:#141414; }
#contact .field input::placeholder, #contact .field textarea::placeholder{ color:#8A8A8A; }
#contact .field input:hover, #contact .field textarea:hover{ background:#EBEBEA; }
#contact .field input:focus, #contact .field textarea:focus{ background:#fff; box-shadow:0 0 0 2px #141414; }
#contact .contact-consent{ color:#5C5C5C; }
#contact .contact-consent-box{ border-color:rgba(20,20,20,.3); }
#contact .contact-consent input:checked + .contact-consent-box{ background:#141414; border-color:#141414; color:#fff; }
#contact .contact-form-footer .btn-primary{ background:#141414; color:#fff; }
#contact .contact-form-footer .btn-primary:hover{ background:#000; }
#contact .form-note{ color:#141414; }
#contact .contact-channel-item{ color:#141414; border-top-color:rgba(20,20,20,.1); }
#contact .contact-channel-item:hover{ color:#2F6BFF; }
#contact .contact-channel-icon{ background:#F6F6F5; color:#141414; }
.site-footer{ margin-top:0; }

/* home Cases: white background, light-theme controls */
#cases{ background:#fff; color:#141414; }
#cases .section-head h2{ color:#141414; }
#cases .section-head p{ color:#5C5C5C; }
#cases .cases-filter{ background:#fff; color:#141414; border-color:rgba(20,20,20,.14); }
#cases .cases-filter:hover{ border-color:#141414; }
#cases .cases-filter.is-active{ background:#141414; border-color:#141414; color:#fff; }
#cases .case-row-title, #cases .case-row-title a{ color:#141414; }
#cases .case-row-sub{ color:#5C5C5C; }
#cases .case-row-tags .case-card-tag{ background:#F6F6F5; color:#5C5C5C; }
#cases .case-row-btn{ border-color:rgba(20,20,20,.14); color:#141414; }
#cases .case-row-btn:hover, #cases .case-row:hover .case-row-btn{ background:#141414; border-color:#141414; color:#fff; }
#cases .cases-more .btn-primary{ background:#141414; color:#fff; }
#cases .cases-more .btn-primary:hover{ background:#2F6BFF; }
#cases .case-row-media{ box-shadow:0 0 0 1px rgba(20,20,20,.08); }

/* contact: only blue + white */
#contact .field input, #contact .field textarea{ background:#fff; border:1px solid rgba(20,20,20,.16); box-shadow:none; }
#contact .field input:hover, #contact .field textarea:hover{ background:#fff; border-color:rgba(20,20,20,.4); }
#contact .field input:focus, #contact .field textarea:focus{ background:#fff; border-color:#2F6BFF; box-shadow:0 0 0 3px rgba(47,107,255,.18); }
#contact .contact-form-footer .btn-primary{ background:#2F6BFF; color:#fff; }
#contact .contact-form-footer .btn-primary:hover{ background:#1F55E0; }
#contact .contact-consent input:checked + .contact-consent-box{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
#contact .contact-channel-icon{ background:#fff; border:1px solid rgba(20,20,20,.16); color:#2F6BFF; }
#contact .contact-channel-item{ border-top-color:rgba(20,20,20,.1); }
#contact .eyebrow{ color:rgba(255,255,255,.8); }

/* ======= FOOTER: light, matches the page ======= */
.site-footer{ background:#fff; color:#5C5C5C; padding-top:clamp(40px,5vw,72px); }
.site-footer .logo-word{ color:#141414; font-size:17px; }
.footer-legal{ border-top-color:rgba(20,20,20,.1); }
.footer-legal-label{ color:#8A8A8A; }
.footer-legal-col p, .footer-legal-col a{ color:#4A4A4A; }
.footer-legal-col a:hover{ color:#2F6BFF; }
.footer-legal-col .footer-nav a{ color:#141414; font-weight:500; }
.footer-meta{ border-top-color:rgba(20,20,20,.1); }
.footer-meta p{ color:#8A8A8A; }
.footer-social, .footer-legal-col .footer-social{ border-color:rgba(20,20,20,.16); color:#141414; }
.footer-social:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; transform:translateY(-2px); }
.footer-top{ border-color:rgba(20,20,20,.16); color:#141414; }
.footer-top:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
/* contact icons: one outline set, larger */
#contact .contact-channel-icon{ width:46px; height:46px; color:#2F6BFF; }
#contact .contact-channel-icon svg{ width:22px; height:22px; fill:none; }

/* ======= HOME CASES v3: bento cards, zoomed shots on soft backdrop, no black ======= */
#cases .cases-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,3vw,44px) clamp(18px,2vw,28px); }
#cases .case-row, #cases .case-row:nth-child(even){ display:flex; flex-direction:column; gap:20px; grid-template-columns:none; }
#cases .case-row:first-child{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:clamp(24px,3.4vw,56px); }
#cases .case-row-media, #cases .case-row:nth-child(even) .case-row-media{
  order:0; position:relative; display:block; overflow:hidden; background:#F6F6F5; border-radius:var(--radius-lg); aspect-ratio:16/10; padding:clamp(16px,2.2vw,32px); box-shadow:none;
}
#cases .case-row:first-child .case-row-media{ aspect-ratio:16/9.4; }
#cases .case-shot{ display:block; width:100%; height:100%; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 18px 50px -18px rgba(20,20,40,.28), 0 0 0 1px rgba(20,20,20,.06); }
#cases .case-shot img{ display:block; width:100%; height:100%; object-fit:cover; object-position:left top; border-radius:0; box-shadow:none;
  transform:scale(var(--z,1)); transform-origin:var(--ox,0%) var(--oy,0%); transition:transform .8s var(--ease); }
#cases .case-row:hover .case-shot img{ transform:scale(calc(var(--z,1) * 1.06)); }
#cases .case-row-title{ font-size:clamp(22px,2.2vw,32px); font-weight:600; letter-spacing:-0.025em; }
#cases .case-row:first-child .case-row-title{ font-size:clamp(26px,3vw,44px); }
#cases .case-row-sub{ margin-top:12px; max-width:46ch; }
#cases .case-row-body{ display:flex; flex-direction:column; align-items:flex-start; }
/* controls: no black, blue accent */
#cases .cases-filter.is-active{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
#cases .cases-filter:hover{ border-color:#2F6BFF; color:#2F6BFF; }
#cases .cases-filter.is-active:hover{ color:#fff; }
#cases .case-row-btn{ width:56px; height:56px; margin-top:clamp(16px,2vw,24px); border-color:rgba(20,20,20,.16); color:#141414; }
#cases .case-row-btn svg{ width:22px; height:22px; }
#cases .case-row-btn:hover, #cases .case-row:hover .case-row-btn{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
#cases .cases-more .btn-primary{ background:#2F6BFF; color:#fff; }
#cases .cases-more .btn-primary:hover{ background:#1F55E0; }
#cases .case-row-tags .case-card-tag:last-child{ background:#F6F6F5; color:#5C5C5C; font-weight:500; }
@media (max-width:900px){
  #cases .cases-list{ grid-template-columns:1fr; }
  #cases .case-row:first-child{ display:flex; }
}
/* last card wide too, so the grid has no orphan */
#cases .case-row:nth-child(6){ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); align-items:center; gap:clamp(24px,3.4vw,56px); }
#cases .case-row:nth-child(6) .case-row-media{ order:2; aspect-ratio:16/9.4; }
#cases .case-row:nth-child(6) .case-row-title{ font-size:clamp(26px,3vw,44px); }
@media (max-width:900px){ #cases .case-row:nth-child(6){ display:flex; } #cases .case-row:nth-child(6) .case-row-media{ order:0; } }

/* bolder icons */
.feature-icon svg, .process-icon svg{ stroke-width:2.5; }
.feature-icon svg{ width:28px; height:28px; }
#contact .contact-channel-icon svg{ stroke-width:2.2; }
.case-row-btn svg, .hero-cases-head svg{ stroke-width:2.3; }
.footer-top svg, .btn-arrow{ stroke-width:2.4; }
.burger span{ height:2px; }

/* home Cases: no gray frame behind screenshots */
#cases .case-row-media, #cases .case-row:nth-child(even) .case-row-media{ background:transparent; padding:0; border-radius:var(--radius-md); overflow:visible; box-shadow:none; }
#cases .case-shot{ border-radius:var(--radius-md); background:#fff; box-shadow:0 20px 50px -22px rgba(20,20,40,.30); }

/* ======= HOME CASES v4: bright color cards (temporary, no screenshots) ======= */
#cases .cc-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,20px); }
.cc{ position:relative; display:flex; flex-direction:column; min-height:clamp(380px,32vw,520px); padding:clamp(22px,2.2vw,34px); border-radius:var(--radius-lg); background:var(--c); color:#fff; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.cc[hidden]{ display:none; }
.cc:hover{ transform:translateY(-6px); box-shadow:0 26px 60px -24px var(--c); }
.cc-link{ position:absolute; inset:0; z-index:2; border-radius:inherit; }
.cc-arrow{ position:absolute; top:clamp(18px,1.8vw,28px); right:clamp(18px,1.8vw,28px); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; transition:background .3s var(--ease), color .3s var(--ease); }
.cc-arrow svg{ width:20px; height:20px; }
.cc:hover .cc-arrow{ background:#fff; color:var(--c); }
.cc-stat{ font-size:clamp(40px,5.6vw,92px); font-weight:600; letter-spacing:-0.045em; line-height:1; margin-top:clamp(10px,1.4vw,22px); }
.cc-lab{ margin-top:clamp(10px,1vw,16px); font-size:clamp(14px,1.15vw,18px); line-height:1.35; opacity:.92; max-width:26ch; }
.cc-title{ margin-top:auto; padding-top:clamp(24px,3vw,48px); font-size:clamp(22px,2.2vw,34px); font-weight:500; letter-spacing:-0.02em; line-height:1.12; color:#fff; max-width:18ch; }
.cc-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(16px,1.6vw,24px); }
.cc-tags span{ padding:7px 14px; border-radius:999px; background:#fff; color:#141414; font-size:clamp(12.5px,.95vw,14.5px); font-weight:500; }
@media (max-width:1100px){ #cases .cc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ #cases .cc-grid{ grid-template-columns:1fr; } .cc{ min-height:340px; } }
.cc-stat{ font-size:clamp(40px,5vw,84px); overflow-wrap:anywhere; }

/* ---- color cards: scattered (bento) layout ---- */
#cases .cc-grid{ grid-template-columns:repeat(6,minmax(0,1fr)); grid-auto-flow:dense; }
.cc:nth-child(1){ grid-column:span 4; }
.cc:nth-child(2){ grid-column:span 2; }
.cc:nth-child(3){ grid-column:span 2; }
.cc:nth-child(4){ grid-column:span 4; }
.cc:nth-child(5){ grid-column:span 3; }
.cc:nth-child(6){ grid-column:span 3; }
.cc:nth-child(1) .cc-stat, .cc:nth-child(4) .cc-stat{ font-size:clamp(48px,7.4vw,124px); }
.cc:nth-child(1) .cc-title, .cc:nth-child(4) .cc-title{ font-size:clamp(26px,3vw,46px); max-width:22ch; }
.cc:nth-child(2) .cc-stat, .cc:nth-child(3) .cc-stat{ font-size:clamp(34px,4vw,64px); }
@media (max-width:1100px){
  #cases .cc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc:nth-child(n){ grid-column:auto; }
  .cc:nth-child(1), .cc:nth-child(4){ grid-column:1 / -1; }
}
@media (max-width:640px){ #cases .cc-grid{ grid-template-columns:1fr; } .cc:nth-child(n){ grid-column:auto; } }

/* ======= CASES v5: neutral gray cards, blue numbers, real screenshots, one blue accent ======= */
.cc{ background:#F6F6F5; color:#141414; }
.cc:hover{ box-shadow:0 26px 60px -30px rgba(20,20,40,.35); }
.cc-stat{ color:#2F6BFF; }
.cc-lab{ color:#4A4A4A; opacity:1; }
.cc-title{ color:#141414; }
.cc-arrow{ background:#fff; color:#141414; }
.cc:hover .cc-arrow{ background:#2F6BFF; color:#fff; }
.cc-tags span{ background:#fff; color:#141414; }
.cc-shot{ position:relative; flex:1; min-height:120px; margin-top:clamp(16px,1.8vw,26px); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 14px 40px -18px rgba(20,20,40,.30), 0 0 0 1px rgba(20,20,20,.06); }
.cc-shot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; transform:scale(var(--z,1)); transform-origin:var(--ox,0%) var(--oy,0%); transition:transform .8s var(--ease); }
.cc:hover .cc-shot img{ transform:scale(calc(var(--z,1) * 1.06)); }
.cc-title{ margin-top:clamp(16px,1.8vw,26px); padding-top:0; }
/* the one accent card */
.cc-accent{ background:#2F6BFF; color:#fff; }
.cc-accent .cc-stat, .cc-accent .cc-title, .cc-accent .cc-lab{ color:#fff; }
.cc-accent .cc-arrow{ background:rgba(255,255,255,.2); color:#fff; }
.cc-accent:hover .cc-arrow{ background:#fff; color:#2F6BFF; }
.cc-accent .cc-shot{ box-shadow:0 14px 40px -18px rgba(0,0,0,.45); }

/* contact title: always two lines */
#contact .contact-title{ max-width:none; white-space:nowrap; font-size:clamp(30px,5.2vw,80px); }
@media (max-width:420px){ #contact .contact-title{ font-size:clamp(26px,8.6vw,34px); } }

/* case cards: screenshots get real height */
.cc-shot{ min-height:clamp(150px,15vw,230px); }
.cc:nth-child(1) .cc-shot{ min-height:clamp(180px,17vw,280px); }

/* ======= all case cards: brand blue ======= */
.cc, .cc-accent{ background:#2F6BFF; color:#fff; }
.cc-stat, .cc-title, .cc-lab, .cc-accent .cc-stat, .cc-accent .cc-title, .cc-accent .cc-lab{ color:#fff; }
.cc-lab{ opacity:.9; }
.cc-arrow, .cc-accent .cc-arrow{ background:rgba(255,255,255,.2); color:#fff; }
.cc:hover .cc-arrow, .cc-accent:hover .cc-arrow{ background:#fff; color:#2F6BFF; }
.cc-tags span{ background:#fff; color:#141414; }
.cc-shot, .cc-accent .cc-shot{ box-shadow:0 18px 44px -18px rgba(8,20,80,.55); }
.cc:hover{ box-shadow:0 28px 60px -26px rgba(47,107,255,.7); }

/* case cards: no screenshots */
.cc-shot{ display:none; }
.cc-title{ margin-top:auto; padding-top:clamp(24px,3vw,48px); }

/* contact icons: bold, filled */
#contact .contact-channel-icon{ width:52px; height:52px; background:#2F6BFF; border:0; color:#fff; box-shadow:0 8px 20px -8px rgba(47,107,255,.6); }
#contact .contact-channel-icon svg{ width:24px; height:24px; fill:currentColor; stroke:none; }
#contact .contact-channel-item:hover .contact-channel-icon{ background:#1F55E0; }
#contact .contact-channel-icon{ box-shadow:none; }

/* hero -> cases: tighter transition */
.hero.hero-v7{ min-height:86vh; min-height:86svh; padding-bottom:clamp(24px,4vh,48px); }
#cases.section{ padding-top:clamp(40px,5vw,72px); padding-bottom:clamp(56px,7vw,104px); }
.solutions{ padding-top:clamp(16px,2vw,36px); }

/* hero: one primary button back */
.hero-v7 .hero-ctas{ display:flex; margin-top:clamp(22px,3.4vh,36px); }
.hero-v7 .hero-link{ display:none; }
.hero-ctas .btn-primary{ background:#2F6BFF; color:#fff; padding:clamp(14px,1.3vw,18px) clamp(26px,2.4vw,36px); font-size:clamp(15px,1.15vw,17px); }
.hero-ctas .btn-primary:hover{ background:#1F55E0; }

/* ---- Solutions: same sizes as before, new colors (blue accent card, blue icons) ---- */
.solutions .feature-icon{ background:#2F6BFF; color:#fff; border-radius:50%; width:44px; height:44px; }
.solutions .feature-icon svg{ width:22px; height:22px; stroke-width:2.3; }
.solutions .feature-card-arrow{ display:flex; opacity:1; transform:none; width:36px; height:36px; background:#F6F6F5; color:#141414; }
.solutions .feature-card-arrow svg{ width:15px; height:15px; }
.solutions .feature-card:hover .feature-card-arrow{ background:#2F6BFF; color:#fff; }
.solutions .feature-icon{ transition:transform .3s var(--ease); }
.solutions .feature-card:hover .feature-icon{ transform:scale(1.06); }
.solutions .feature-card:nth-child(1){ background:#2F6BFF; }
.solutions .feature-card:nth-child(1) h3, .solutions .feature-card:nth-child(1) p, .solutions .feature-card:nth-child(1) p strong{ color:#fff; }
.solutions .feature-card:nth-child(1) .feature-icon{ background:#fff; color:#2F6BFF; }
.solutions .feature-card:nth-child(1) .feature-card-arrow{ background:rgba(255,255,255,.2); color:#fff; }
.solutions .feature-card:nth-child(1):hover .feature-card-arrow{ background:#fff; color:#2F6BFF; }

/* menu card: contacts (phone, email, Telegram) */
.menu-links{ display:none; }
@media (max-width:900px){ .menu-links{ display:block; } }
.menu-contacts{ display:flex; flex-direction:column; }
.mobile-nav .menu-contact{ display:flex; align-items:center; gap:14px; padding:13px 0; font-size:16px; font-weight:500; color:#141414; border-bottom:1px solid rgba(20,20,20,.08); transition:color var(--dur-fast) var(--ease); }
.mobile-nav .menu-contact:hover{ color:#2F6BFF; }
.menu-contact-icon{ flex:none; width:36px; height:36px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; }
.menu-contact-icon svg{ width:17px; height:17px; fill:currentColor; stroke:none; }
.mobile-nav .menu-links a{ display:block; }
.mobile-nav .btn{ margin-top:16px; }

/* header CTA: light gray (hero has the blue one), blue on hover */
.btn-header,
body:has(.hero) .site-header:not(.scrolled) .btn-header,
body:has(.hero) .site-header.scrolled .btn-header,
.site-header.scrolled .btn-header{ background:#F6F6F5; border-color:#F6F6F5; color:#141414; }
.btn-header:hover,
body:has(.hero) .site-header:not(.scrolled) .btn-header:hover,
body:has(.hero) .site-header.scrolled .btn-header:hover,
.site-header.scrolled .btn-header:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }

/* hero tag: small light-gray capsule (matches headline capsules) */
.hero-v7 .hero-tag{
  display:inline-block; padding:9px 18px; border-radius:999px; background:#F6F6F5; color:#141414;
  font-size:clamp(11.5px,.9vw,13px); font-weight:600; letter-spacing:.08em; line-height:1;
  margin-bottom:clamp(20px,3vh,32px);
}
.hero-v7 .hero-inner{ text-align:center; }
.hero-v7 .hero-tag{ display:table; margin-left:auto; margin-right:auto; }

/* hero description: darker, a bit larger, key words bold */
.hero-v7 .hero-sub{ color:#3A3A3A; font-size:clamp(17px,1.5vw,21px); line-height:1.5; max-width:44ch; }
.hero-v7 .hero-sub strong{ color:#141414; font-weight:600; }
@media (min-width:901px){ .hero-v7 .hero-sub{ max-width:76ch; text-wrap:balance; } }

/* header CTA turns blue once the hero button is out of view */
.btn-header{ transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease); }
.site-header.cta-blue .btn-header,
body:has(.hero) .site-header.cta-blue .btn-header,
body:has(.hero) .site-header.scrolled.cta-blue .btn-header{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
.site-header.cta-blue .btn-header:hover,
body:has(.hero) .site-header.cta-blue .btn-header:hover{ background:#1F55E0; border-color:#1F55E0; color:#fff; }

/* mobile: background panels run edge to edge */
@media (max-width:700px){
  .solutions, .process, #contact{ padding-left:0; padding-right:0; }
  .solutions-layout, .process-pin, #contact > .contact-inner{ border-radius:0; }
  .solutions-layout{ padding-left:20px; padding-right:20px; }
  .process-pin{ padding-left:20px; padding-right:20px; }
  #contact > .contact-inner{ padding-left:20px; padding-right:20px; }
  .solutions, #contact{ padding-top:0; padding-bottom:0; }
  .process{ padding-bottom:0; }
}

/* mobile: inner blocks use nearly the full width */
@media (max-width:700px){
  .solutions-layout, .process-pin, #contact > .contact-inner{ padding-left:8px; padding-right:8px; }
  .solutions-intro, .process .section-head, #contact .section-head{ padding-left:12px; padding-right:12px; }
  .solutions .feature-card{ padding:20px; }
  .process .process-step{ padding:20px; }
  #contact .contact-form-panel, #contact .contact-channels-panel{ padding:22px 18px; border-radius:22px; }
  .cases .wrap, #cases > .wrap{ padding-left:12px; padding-right:12px; }
  .cc{ border-radius:22px; }
}

/* hero headline: always one line + one row of capsules on small screens */
@media (max-width:900px){
  .hero-v7 .hero-title{ font-size:clamp(24px,7.6vw,56px); white-space:nowrap; }
  .hero-v7 .hero-title .line{ white-space:nowrap; }
  .hero-v7 .hero-caps{ flex-wrap:nowrap; gap:clamp(6px,2vw,12px); justify-content:center; }
  .hero-v7 .hero-cap{ font-size:clamp(20px,5.8vw,44px); padding:.14em .5em .2em; white-space:nowrap; }
}

/* ======= roomier cards: Solutions + Process ======= */
.solutions .cards-grid{ gap:clamp(14px,1.4vw,20px); }
.solutions .feature-card{ padding:clamp(26px,2.2vw,34px); min-height:clamp(250px,20vw,320px); }
.solutions .feature-card h3{ margin-top:clamp(22px,2.2vw,32px); }
.solutions .feature-card p{ margin-top:12px; line-height:1.65; }
.process .process-step{ padding:clamp(28px,2.4vw,38px) clamp(36px,3vw,52px) clamp(28px,2.4vw,38px) clamp(28px,2.4vw,38px); min-height:clamp(300px,24vw,380px); }
.process .process-step h3{ margin-bottom:6px; }
.process .process-step p{ margin-top:12px; line-height:1.65; }
@media (max-width:700px){
  .solutions .cards-grid{ gap:14px; }
  .solutions .feature-card{ padding:30px 26px; min-height:0; }
  .solutions .feature-card h3{ margin-top:22px; }
  .solutions .feature-card p{ margin-top:12px; line-height:1.65; }
  .process .process-steps{ gap:14px; }
  .process .process-step{ padding:30px 26px; min-height:0; }
  .process .process-step > div:last-child{ margin-top:22px; min-height:0; gap:12px; }
  .process .process-step h3{ margin-top:0; }
  .process .process-step p{ margin-top:0; line-height:1.65; }
}
@media (min-width:901px){
  .solutions-layout{ grid-template-columns:minmax(300px,440px) minmax(0,1fr); gap:clamp(24px,3vw,48px); }
  .solutions-intro h2{ font-size:clamp(30px,3.7vw,54px); }
}

/* hero headline a bit bigger on small screens (still one line / one row) */
@media (max-width:900px){
  .hero-v7 .hero-title{ font-size:clamp(26px,8.4vw,64px); }
  .hero-v7 .hero-cap{ font-size:clamp(21px,6.1vw,48px); padding:.14em .46em .2em; }
  .hero-v7 .hero-caps{ gap:clamp(5px,1.6vw,12px); }
}

/* ---- hero: real numbers + niches ---- */
.hero.hero-v7{ min-height:0; padding-bottom:clamp(36px,6vh,72px); }
.hero-proof2{ margin-top:clamp(34px,6vh,72px); width:100%; }
.hero-facts{ list-style:none; margin:0 auto; padding:clamp(18px,2.6vh,28px) 0 0; max-width:900px; border-top:1px solid rgba(20,20,20,.1); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,3vw,48px); text-align:left; }
.hero-facts li{ display:flex; flex-direction:column; gap:6px; }
.hero-facts b{ font-size:clamp(26px,3vw,44px); font-weight:600; letter-spacing:-0.03em; line-height:1; color:#141414; }
.hero-facts span{ font-size:clamp(13px,1vw,15px); line-height:1.4; color:#5C5C5C; max-width:24ch; }
.hero-niches{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin-top:clamp(20px,3vh,30px); }
.hero-niches-label{ font-size:13px; font-weight:500; color:#8A8A8A; margin-right:6px; }
.hero-niche{ padding:8px 14px; border-radius:999px; background:#F6F6F5; color:#141414; font-size:clamp(12.5px,.95vw,14px); font-weight:500; }
@media (max-width:700px){
  .hero-facts{ grid-template-columns:1fr; text-align:center; gap:16px; }
  .hero-facts li{ align-items:center; }
}

/* ---- contact: "what happens next" panel ---- */
.contact-next-panel{ background:#fff; color:#141414; border-radius:var(--radius-lg); padding:clamp(24px,3.4vw,44px); display:flex; flex-direction:column; gap:clamp(18px,2vw,26px); }
.contact-next-panel h3{ font-size:clamp(22px,2.2vw,30px); font-weight:600; color:#141414; }
.next-steps{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(14px,1.6vw,20px); position:relative; }
.next-steps li{ display:flex; gap:16px; align-items:flex-start; position:relative; }
.next-steps li:not(:last-child)::after{ content:""; position:absolute; left:19px; top:44px; bottom:-18px; width:2px; background:rgba(47,107,255,.25); }
.next-num{ flex:none; width:40px; height:40px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:16px; }
.next-steps strong{ display:block; font-size:clamp(16px,1.25vw,19px); font-weight:600; color:#141414; line-height:1.3; }
.next-steps small{ display:block; margin-top:3px; font-size:clamp(13px,1vw,15px); color:#5C5C5C; line-height:1.45; }
.next-steps{ flex:1; justify-content:space-between; }

/* ======= FACTS: separate stats block ======= */
.facts{ background:#fff; padding:0 clamp(16px,2vw,36px) clamp(32px,4vw,64px); }
.facts-panel{
  max-width:none; margin:0 auto; background:#FCFCFB; border-radius:var(--radius-lg);
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:clamp(24px,3.2vw,48px) 0;
}
.fact{ padding:0 clamp(20px,2.6vw,44px); position:relative; display:flex; flex-direction:column; gap:10px; }
.fact + .fact::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:rgba(20,20,20,.1); }
.fact b{ font-size:clamp(34px,4.4vw,68px); font-weight:600; letter-spacing:-0.04em; line-height:1; color:#141414; white-space:nowrap; }
.fact p{ margin:0; font-size:clamp(15px,1.35vw,20px); font-weight:500; line-height:1.3; color:#141414; max-width:20ch; }
.fact small{ font-size:clamp(12.5px,1vw,15px); line-height:1.4; color:#8A8A8A; max-width:26ch; }
@media (max-width:900px){
  .facts-panel{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:30px; }
  .fact:nth-child(odd)::before{ display:none; }
  .fact:nth-child(n+3){ padding-top:26px; border-top:1px solid rgba(20,20,20,.1); }
  .fact:nth-child(n+3)::before{ top:32px; }
}
@media (max-width:700px){
  .facts{ padding-left:0; padding-right:0; }
  .facts-panel{ border-radius:0; padding:28px 0; }
  .fact{ padding-left:20px; padding-right:12px; }
}

/* ======= AUDIENCE: "Для кого мы работаем" ======= */
.audience{ background:#fff; padding:clamp(24px,4vw,72px) clamp(16px,2vw,36px) clamp(32px,5vw,88px); }
.audience-inner{ max-width:var(--container); margin:0 auto; padding:0 clamp(8px,2vw,36px); }
.aud-head{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(24px,4vw,72px); align-items:start; }
.aud-head .eyebrow{ color:#7A7A7A; }
.aud-head h2{ font-size:clamp(30px,4vw,60px); font-weight:600; letter-spacing:-0.035em; line-height:1.04; color:#141414; margin-top:14px; max-width:16ch; }
.aud-head p{ margin-top:clamp(16px,1.8vw,24px); font-size:clamp(16px,1.35vw,20px); line-height:1.5; color:#5C5C5C; max-width:40ch; }
.aud-traits{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.8vw,28px); }
.aud-traits li{ display:flex; flex-direction:column; gap:8px; }
.aud-traits b{ font-size:clamp(15px,1.2vw,18px); font-weight:600; color:#141414; line-height:1.25; margin-top:6px; }
.aud-traits small{ font-size:clamp(12.5px,.95vw,14.5px); color:#8A8A8A; line-height:1.4; }
.aud-icon{ width:48px; height:48px; border-radius:14px; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; flex:none; }
.aud-icon svg{ width:24px; height:24px; stroke-width:2.2; }
.aud-grid{ margin-top:clamp(28px,4vw,56px); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(10px,1.2vw,16px); }
.aud-card{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,1.8vw,28px); display:flex; flex-direction:column; min-height:clamp(300px,24vw,380px); transition:transform var(--dur-fast) var(--ease); }
.aud-card:hover{ transform:translateY(-4px); }
.aud-card .aud-icon{ background:#fff; }
.aud-card h3{ margin-top:clamp(20px,2vw,32px); font-size:clamp(18px,1.5vw,23px); font-weight:600; letter-spacing:-0.02em; line-height:1.15; color:#141414; }
.aud-card ul{ list-style:none; margin:clamp(12px,1.2vw,18px) 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.aud-card li{ font-size:clamp(14px,1.05vw,16px); line-height:1.35; color:#5C5C5C; }
.aud-tag{ margin-top:auto; align-self:flex-start; padding:7px 13px; border-radius:999px; background:#fff; color:#8A8A8A; font-size:clamp(12px,.9vw,13.5px); font-weight:500; }
.aud-tag.is-real{ background:#2F6BFF; color:#fff; }
.aud-main{ background:#2F6BFF; }
.aud-main .aud-icon{ background:#fff; color:#2F6BFF; }
.aud-main h3, .aud-main li{ color:#fff; }
.aud-main li{ opacity:.92; }
.aud-main .aud-tag.is-real{ background:#fff; color:#2F6BFF; }
@media (max-width:1100px){
  .aud-head{ grid-template-columns:1fr; }
  .aud-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aud-main{ grid-column:1 / -1; min-height:0; }
  .aud-card{ min-height:0; }
}
@media (max-width:700px){
  .audience{ padding-left:0; padding-right:0; }
  .audience-inner{ padding:0 12px; }
  .aud-traits{ grid-template-columns:1fr; gap:18px; }
  .aud-traits li{ flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:14px; row-gap:2px; }
  .aud-traits li .aud-icon{ grid-row:span 2; }
  .aud-traits b{ margin-top:0; flex:1 1 calc(100% - 70px); }
  .aud-traits small{ flex:1 1 100%; padding-left:62px; margin-top:-6px; }
  .aud-grid{ grid-template-columns:1fr; }
}
/* audience: heading in two lines, breathing room above the tag */
.aud-head{ grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
.aud-head h2{ max-width:none; font-size:clamp(28px,3.5vw,54px); }
.aud-card ul{ margin-bottom:clamp(18px,1.8vw,26px); }
.aud-tag{ margin-top:auto; }
.aud-card{ min-height:clamp(320px,25vw,400px); }
.aud-traits{ grid-template-columns:repeat(3,minmax(0,1fr)); }
/* audience: responsive overrides must come last */
@media (max-width:1100px){
  .aud-head{ grid-template-columns:1fr; }
  .aud-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aud-card{ min-height:0; }
  .aud-main{ grid-column:1 / -1; }
}
@media (max-width:700px){
  .aud-head{ grid-template-columns:1fr; gap:22px; }
  .aud-head h2{ font-size:clamp(28px,8vw,40px); }
  .aud-traits{ grid-template-columns:1fr; }
  .aud-grid{ grid-template-columns:1fr; }
  .aud-card{ min-height:0; }
  .aud-card h3{ margin-top:18px; }
  .aud-tag{ margin-top:18px; }
}

/* ======= ABOUT / FOUNDER (3 columns) ======= */
.about3{ background:#fff; padding:clamp(16px,2vw,36px); }
.about3-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,3vw,44px); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,1fr); gap:clamp(14px,1.6vw,24px); align-items:stretch; }
.ab-left{ display:flex; flex-direction:column; padding:clamp(4px,1vw,14px) clamp(0px,1vw,16px) 0 0; }
.ab-left .eyebrow{ color:#7A7A7A; }
.ab-left h2{ margin-top:14px; font-size:clamp(30px,3.8vw,58px); font-weight:600; letter-spacing:-0.04em; line-height:1.03; color:#141414; max-width:11ch; }
.ab-left > p{ margin-top:clamp(16px,1.8vw,26px); font-size:clamp(15.5px,1.3vw,19px); line-height:1.55; color:#4A4A4A; max-width:46ch; }
.ab-accent{ position:relative; margin-top:auto; padding-top:clamp(22px,2.4vw,34px); }
.ab-accent{ background:#2F6BFF; color:#fff; border-radius:24px; padding:clamp(20px,2vw,30px); min-height:clamp(150px,13vw,210px); display:flex; flex-direction:column; gap:clamp(18px,2vw,30px); margin-top:clamp(22px,2.4vw,34px); }
.ab-accent > p{ margin:0; font-size:clamp(17px,1.5vw,23px); line-height:1.35; font-weight:500; max-width:26ch; }
.ab-ico{ width:48px; height:48px; border-radius:50%; background:#fff; color:#141414; display:flex; align-items:center; justify-content:center; flex:none; }
.ab-ico svg{ width:22px; height:22px; }
.ab-accent .ab-ico{ background:transparent; color:#fff; width:auto; height:auto; justify-content:flex-start; }
.ab-arr{ width:40px; height:40px; border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; flex:none; transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.ab-arr svg{ width:16px; height:16px; }
.ab-accent .ab-arr{ position:absolute; top:clamp(16px,1.6vw,24px); right:clamp(16px,1.6vw,24px); background:rgba(255,255,255,.2); color:#fff; }
.ab-photo{ position:relative; display:block; border-radius:24px; overflow:hidden; background:#F1F1EF; min-height:clamp(380px,32vw,520px); }
.ab-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%; transition:transform .8s var(--ease); }
.ab-photo:hover img{ transform:scale(1.04); }
.ab-photo::after{ content:""; position:absolute; inset:auto 0 0 0; height:42%; background:linear-gradient(to top,rgba(0,0,0,.55),transparent); }
.ab-photo-cap{ position:absolute; z-index:1; left:clamp(16px,1.6vw,24px); bottom:clamp(16px,1.6vw,24px); display:flex; flex-direction:column; gap:3px; color:#fff; }
.ab-photo-cap b{ font-size:clamp(17px,1.5vw,23px); font-weight:600; letter-spacing:-0.01em; }
.ab-photo-cap small{ font-size:clamp(13px,1vw,15px); opacity:.85; }
.ab-arr-photo{ position:absolute; z-index:1; right:clamp(14px,1.4vw,20px); bottom:clamp(14px,1.4vw,20px); background:rgba(255,255,255,.22); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ab-photo:hover .ab-arr-photo{ background:#fff; color:#141414; }
.ab-steps{ display:flex; flex-direction:column; gap:clamp(10px,1.2vw,16px); }
.ab-step{ position:relative; flex:1; display:flex; gap:clamp(14px,1.4vw,20px); align-items:flex-start; background:#fff; border-radius:22px; padding:clamp(18px,1.8vw,26px); color:inherit; transition:transform var(--dur-fast) var(--ease); }
.ab-step:hover{ transform:translateY(-3px); }
.ab-step .ab-ico{ background:#F6F6F5; }
.ab-step h3{ font-size:clamp(16px,1.35vw,20px); font-weight:600; color:#141414; letter-spacing:-0.01em; line-height:1.25; padding-right:44px; }
.ab-step p{ margin-top:8px; font-size:clamp(13.5px,1vw,15px); line-height:1.5; color:#5C5C5C; }
.ab-step .ab-arr{ position:absolute; top:clamp(14px,1.4vw,20px); right:clamp(14px,1.4vw,20px); }
.ab-step:hover .ab-arr{ background:#2F6BFF; color:#fff; }
@media (max-width:1100px){
  .about3-panel{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .ab-left{ grid-column:1 / -1; }
  .ab-left h2{ max-width:none; }
  .ab-photo{ min-height:380px; }
}
@media (max-width:700px){
  .about3{ padding-left:0; padding-right:0; }
  .about3-panel{ border-radius:0; grid-template-columns:1fr; padding:22px 14px; }
  .ab-photo{ min-height:360px; }
}

/* about: polish */
.ab-left h2{ max-width:none; font-size:clamp(28px,3.35vw,52px); line-height:1.04; }
.ab-left > p{ max-width:44ch; }
.ab-accent{ min-height:0; padding:clamp(18px,1.8vw,26px); gap:clamp(14px,1.4vw,20px); }
.ab-accent > p{ max-width:30ch; }
.ab-photo{ min-height:0; }
.ab-photo img{ object-position:center 12%; }
.ab-step{ align-items:center; }
.ab-step h3{ padding-right:46px; }
.about3-panel{ align-items:stretch; }
@media (max-width:1100px){ .ab-photo{ min-height:380px; } }
@media (max-width:700px){ .ab-photo{ min-height:360px; } .ab-step{ align-items:flex-start; } }

/* ======= FACTS: compact strip ======= */
.facts{ padding-bottom:clamp(16px,2vw,32px); }
.facts-panel{ padding:clamp(14px,1.6vw,22px) 0; border-radius:22px; }
.fact{ padding:0 clamp(14px,2vw,32px); gap:4px; justify-content:center; }
.fact + .fact::before{ top:4px; bottom:4px; }
.fact b{ font-size:clamp(24px,2.5vw,38px); letter-spacing:-0.03em; }
.fact p{ font-size:clamp(13px,1vw,15px); font-weight:500; max-width:none; color:#3A3A3A; line-height:1.3; }
.fact small{ display:none; }
@media (max-width:900px){
  .facts-panel{ row-gap:0; padding:6px 0; }
  .fact{ padding:16px 18px; }
  .fact:nth-child(n+3){ padding-top:16px; border-top:1px solid rgba(20,20,20,.08); }
  .fact:nth-child(n+3)::before{ top:16px; }
  .fact b{ font-size:clamp(26px,7vw,34px); }
}
@media (max-width:700px){
  .facts-panel{ border-radius:0; padding:4px 0; }
}
/* audience: heading only (traits removed) */
.aud-head{ grid-template-columns:1fr; }
.aud-head h2{ max-width:20ch; }

/* ======= PROCESS v3 (agency style): sticky intro + numbered list ======= */
.pr-section{ background:#fff; padding:clamp(48px,7vw,120px) clamp(16px,2vw,36px); scroll-margin-top:84px; }
.pr-inner{ max-width:var(--container); margin:0 auto; padding:0 clamp(8px,2vw,36px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:clamp(28px,5vw,96px); align-items:start; }
.pr-side{ position:sticky; top:112px; }
.pr-side .eyebrow{ color:#7A7A7A; }
.pr-side h2{ margin-top:14px; font-size:clamp(28px,3.4vw,54px); font-weight:600; letter-spacing:-0.035em; line-height:1.06; color:#141414; }
.pr-side > p{ margin-top:clamp(16px,1.8vw,24px); font-size:clamp(15.5px,1.25vw,18px); line-height:1.6; color:#4A4A4A; max-width:42ch; }
.pr-cta{ margin-top:clamp(22px,2.4vw,34px); background:#2F6BFF; color:#fff; padding:clamp(14px,1.2vw,17px) clamp(24px,2.2vw,32px); }
.pr-cta:hover{ background:#1F55E0; }
.pr-progress{ margin-top:clamp(28px,3vw,44px); height:3px; width:min(260px,100%); background:rgba(20,20,20,.08); border-radius:3px; overflow:hidden; }
.pr-progress-bar{ display:block; height:100%; width:0; background:#2F6BFF; border-radius:3px; transition:width .5s var(--ease); }
.pr-list{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(20,20,20,.12); }
.pr-item{ display:grid; grid-template-columns:clamp(56px,6vw,96px) minmax(0,1fr) auto; gap:clamp(14px,2vw,32px); align-items:start; padding:clamp(24px,3vw,44px) 0; border-bottom:1px solid rgba(20,20,20,.12); transition:padding var(--dur-fast) var(--ease); }
.pr-num{ font-size:clamp(34px,4.6vw,72px); font-weight:500; letter-spacing:-0.04em; line-height:1; color:#D2D2CE; transition:color .4s var(--ease); font-variant-numeric:tabular-nums; }
.pr-body h3{ font-size:clamp(20px,2vw,32px); font-weight:600; letter-spacing:-0.025em; line-height:1.15; color:#141414; }
.pr-body p{ margin-top:clamp(8px,.9vw,14px); font-size:clamp(14.5px,1.1vw,17px); line-height:1.6; color:#5C5C5C; max-width:52ch; }
.pr-ico{ width:clamp(44px,3.6vw,56px); height:clamp(44px,3.6vw,56px); border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; transition:background .4s var(--ease), color .4s var(--ease); }
.pr-ico svg{ width:45%; height:45%; stroke-width:2.2; }
.pr-item.is-active .pr-num{ color:#2F6BFF; }
.pr-item.is-active .pr-ico{ background:#2F6BFF; color:#fff; }
.pr-item:hover .pr-num{ color:#2F6BFF; }
@media (max-width:900px){
  .pr-inner{ grid-template-columns:1fr; }
  .pr-side{ position:static; }
  .pr-progress{ display:none; }
}
@media (max-width:700px){
  .pr-section{ padding-left:0; padding-right:0; }
  .pr-inner{ padding:0 18px; }
  .pr-item{ grid-template-columns:44px minmax(0,1fr); }
  .pr-ico{ display:none; }
  .pr-num{ font-size:30px; }
}

/* ======= FOUNDER + APPROACH block (from scratch) ======= */
.ft{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.ft-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(24px,3.6vw,64px); }
.ft-head .eyebrow{ color:#7A7A7A; }
.ft-head h2{ margin-top:14px; font-size:clamp(34px,6.4vw,104px); font-weight:600; letter-spacing:-0.045em; line-height:1; color:#141414; }
.ft-main{ margin-top:clamp(28px,4vw,64px); display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(24px,4vw,72px); align-items:start; }
.ft-photo{ margin:0; position:relative; border-radius:28px; overflow:hidden; background:#F1F1EF; aspect-ratio:4/5; }
.ft-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 14%; }
.ft-photo figcaption{ position:absolute; left:clamp(10px,1vw,16px); right:clamp(10px,1vw,16px); bottom:clamp(10px,1vw,16px); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:clamp(10px,1vw,14px) clamp(14px,1.2vw,18px); border-radius:20px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.ft-photo figcaption b{ display:block; font-size:clamp(15px,1.2vw,18px); font-weight:600; color:#141414; line-height:1.2; }
.ft-photo figcaption small{ display:block; margin-top:2px; font-size:clamp(12.5px,.95vw,14px); color:#7A7A7A; }
.ft-photo figcaption a{ flex:none; width:44px; height:44px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; transition:background var(--dur-fast) var(--ease); }
.ft-photo figcaption a:hover{ background:#1F55E0; }
.ft-photo figcaption a svg{ width:20px; height:20px; }
.ft-lead{ font-size:clamp(17px,1.55vw,24px); line-height:1.5; color:#2A2A2A; font-weight:500; letter-spacing:-0.01em; max-width:34em; }
.ft-steps{ list-style:none; margin:clamp(22px,2.6vw,40px) 0 0; padding:0; border-top:1px solid rgba(20,20,20,.12); }
.ft-steps li{ display:grid; grid-template-columns:clamp(54px,5.4vw,88px) minmax(0,1fr); gap:clamp(12px,1.6vw,24px); align-items:start; padding:clamp(18px,2vw,30px) 0; border-bottom:1px solid rgba(20,20,20,.12); }
.ft-steps li > span{ font-size:clamp(28px,3.6vw,56px); font-weight:500; letter-spacing:-0.04em; line-height:1; color:#CFCFCB; transition:color .3s var(--ease); font-variant-numeric:tabular-nums; }
.ft-steps li:hover > span{ color:#2F6BFF; }
.ft-steps h3{ font-size:clamp(18px,1.7vw,27px); font-weight:600; letter-spacing:-0.025em; line-height:1.2; color:#141414; }
.ft-steps p{ margin-top:8px; font-size:clamp(14px,1.05vw,16.5px); line-height:1.55; color:#5C5C5C; max-width:52ch; }
.ft-strip{ margin-top:clamp(20px,2.4vw,36px); display:flex; align-items:center; gap:clamp(14px,1.8vw,26px); background:#2F6BFF; color:#fff; border-radius:26px; padding:clamp(18px,2vw,30px) clamp(18px,2.4vw,36px); transition:background var(--dur-fast) var(--ease); }
.ft-strip:hover{ background:#1F55E0; }
.ft-strip-ico{ flex:none; width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px); border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.ft-strip-ico svg{ width:48%; height:48%; }
.ft-strip p{ margin:0; flex:1; font-size:clamp(16px,1.7vw,26px); font-weight:500; letter-spacing:-0.015em; line-height:1.3; }
.ft-strip-btn{ flex:none; width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px); border-radius:50%; background:#fff; color:#2F6BFF; display:flex; align-items:center; justify-content:center; transition:transform var(--dur-fast) var(--ease); }
.ft-strip:hover .ft-strip-btn{ transform:translate(2px,-2px); }
.ft-strip-btn svg{ width:46%; height:46%; }
@media (max-width:900px){
  .ft-main{ grid-template-columns:1fr; }
  .ft-photo{ aspect-ratio:4/3; max-width:560px; }
}
@media (max-width:700px){
  .ft{ padding-left:0; padding-right:0; }
  .ft-panel{ border-radius:0; padding:26px 16px; }
  .ft-photo{ aspect-ratio:1/1; max-width:none; }
  .ft-steps li{ grid-template-columns:44px minmax(0,1fr); }
  .ft-strip{ border-radius:20px; }
}

/* ======= MANIFESTO block: photo inside the headline + timeline ======= */
.mf{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.mf-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(26px,4vw,72px); }
.mf-eyebrow{ color:#7A7A7A; }
.mf-title{ margin-top:clamp(14px,1.6vw,22px); font-size:clamp(34px,6.6vw,108px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; color:#141414; }
.mf-pill{ display:inline-block; vertical-align:middle; width:1.7em; height:.86em; margin:0 .08em; border-radius:999px; overflow:hidden; background:#EEEEEB; position:relative; top:-.04em; }
.mf-pill img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.mf-row{ margin-top:clamp(28px,4.4vw,72px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); gap:clamp(24px,5vw,96px); align-items:start; }
.mf-who p{ font-size:clamp(16px,1.35vw,20px); line-height:1.55; color:#3A3A3A; max-width:32em; }
.mf-sign{ margin-top:clamp(18px,2vw,28px); display:flex; align-items:center; gap:14px; }
.mf-sign img{ width:52px; height:52px; border-radius:50%; object-fit:cover; flex:none; }
.mf-sign span{ display:flex; flex-direction:column; gap:2px; }
.mf-sign b{ font-size:clamp(15px,1.15vw,17px); font-weight:600; color:#141414; }
.mf-sign small{ font-size:clamp(12.5px,.95vw,14px); color:#7A7A7A; }
.mf-sign a{ margin-left:auto; flex:none; width:44px; height:44px; border-radius:50%; background:#fff; color:#2F6BFF; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 1px rgba(20,20,20,.08); transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.mf-sign a:hover{ background:#2F6BFF; color:#fff; }
.mf-sign a svg{ width:20px; height:20px; }
.mf-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2.4vw,40px); position:relative; }
.mf-steps::before{ content:""; position:absolute; left:20px; right:0; top:19px; height:2px; background:linear-gradient(90deg,#2F6BFF,rgba(47,107,255,.25)); border-radius:2px; }
.mf-node{ position:relative; width:40px; height:40px; border-radius:50%; background:#2F6BFF; color:#fff; font-weight:600; font-size:16px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 8px #FCFCFB; }
.mf-steps h3{ margin-top:clamp(18px,2vw,28px); font-size:clamp(17px,1.5vw,23px); font-weight:600; letter-spacing:-0.02em; line-height:1.2; color:#141414; }
.mf-steps p{ margin-top:10px; font-size:clamp(14px,1.05vw,16px); line-height:1.55; color:#5C5C5C; }
.mf-bar{ margin-top:clamp(28px,4vw,64px); display:flex; align-items:center; gap:clamp(14px,1.8vw,26px); background:#2F6BFF; color:#fff; border-radius:999px; padding:clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(18px,2vw,30px); }
.mf-bar-ico{ flex:none; width:clamp(36px,3vw,46px); height:clamp(36px,3vw,46px); border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.mf-bar-ico svg{ width:50%; height:50%; }
.mf-bar p{ margin:0; flex:1; font-size:clamp(15px,1.5vw,23px); font-weight:500; letter-spacing:-0.012em; line-height:1.3; }
.mf-bar-btn{ flex:none; display:inline-flex; align-items:center; gap:10px; background:#fff; color:#141414; font-weight:600; font-size:clamp(14px,1.05vw,16px); padding:clamp(12px,1.1vw,16px) clamp(18px,1.8vw,28px); border-radius:999px; transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.mf-bar-btn:hover{ background:#141414; color:#fff; }
.mf-bar-btn svg{ width:16px; height:16px; }
@media (max-width:1000px){
  .mf-row{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .mf{ padding-left:0; padding-right:0; }
  .mf-panel{ border-radius:0; padding:26px 16px; }
  .mf-title{ font-size:clamp(30px,9.4vw,48px); }
  .mf-steps{ grid-template-columns:1fr; gap:26px; }
  .mf-steps::before{ left:19px; right:auto; top:20px; bottom:20px; width:2px; height:auto; background:linear-gradient(180deg,#2F6BFF,rgba(47,107,255,.25)); }
  .mf-steps li{ position:relative; padding-left:58px; }
  .mf-node{ position:absolute; left:0; top:0; box-shadow:0 0 0 6px #FCFCFB; }
  .mf-steps h3{ margin-top:6px; }
  .mf-bar{ flex-direction:column; align-items:flex-start; border-radius:26px; padding:18px; }
  .mf-bar-btn{ align-self:stretch; justify-content:center; }
}
.mf-title{ font-size:clamp(32px,5.4vw,92px); }
.mf-pill{ width:1.5em; height:.9em; }
.mf-pill img{ object-position:center 26%; }
@media (max-width:760px){ .mf-title{ font-size:clamp(28px,8.4vw,44px); } }

/* ======= PRINCIPLE block (no photo): typography + 3 cards ======= */
.pp{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.pp-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(26px,4vw,72px); }
.pp-head{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(20px,5vw,96px); align-items:end; }
.pp-head .eyebrow{ color:#7A7A7A; }
.pp-head h2{ margin-top:14px; font-size:clamp(34px,5.6vw,92px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; color:#141414; }
.pp-strike{ position:relative; color:#A8A8A4; white-space:nowrap; }
.pp-strike::after{ content:""; position:absolute; left:-1%; right:-1%; top:56%; height:.07em; background:#2F6BFF; border-radius:4px; transform:rotate(-3deg); }
.pp-head > p{ font-size:clamp(16px,1.4vw,21px); line-height:1.55; color:#3A3A3A; max-width:34em; padding-bottom:.4em; }
.pp-grid{ margin-top:clamp(28px,4vw,64px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.6vw,24px); }
.pp-card{ background:#fff; border-radius:26px; padding:clamp(22px,2.4vw,36px); display:flex; flex-direction:column; min-height:clamp(260px,22vw,340px); transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.pp-card:hover{ transform:translateY(-4px); box-shadow:0 22px 44px -26px rgba(20,20,40,.28); }
.pp-card-top{ display:flex; align-items:flex-start; justify-content:space-between; }
.pp-num{ font-size:clamp(46px,5.4vw,88px); font-weight:500; letter-spacing:-0.05em; line-height:.9; color:#D6D6D2; font-variant-numeric:tabular-nums; transition:color .3s var(--ease); }
.pp-card:hover .pp-num{ color:#2F6BFF; }
.pp-ico{ width:clamp(44px,3.6vw,56px); height:clamp(44px,3.6vw,56px); border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.pp-ico svg{ width:46%; height:46%; }
.pp-card h3{ margin-top:auto; padding-top:clamp(24px,3vw,44px); font-size:clamp(19px,1.8vw,28px); font-weight:600; letter-spacing:-0.025em; line-height:1.15; color:#141414; }
.pp-card p{ margin-top:10px; font-size:clamp(14px,1.08vw,16.5px); line-height:1.55; color:#4A4A4A; }
.pp-bar{ margin-top:clamp(14px,1.6vw,24px); display:flex; align-items:center; gap:clamp(14px,1.8vw,26px); background:#2F6BFF; color:#fff; border-radius:999px; padding:clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(18px,2vw,30px); transition:background var(--dur-fast) var(--ease); }
.pp-bar:hover{ background:#1F55E0; }
.pp-bar-ico{ flex:none; width:clamp(36px,3vw,46px); height:clamp(36px,3vw,46px); border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.pp-bar-ico svg{ width:50%; height:50%; }
.pp-bar p{ margin:0; flex:1; font-size:clamp(15px,1.5vw,23px); font-weight:500; letter-spacing:-0.012em; line-height:1.3; }
.pp-bar-go{ flex:none; width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px); border-radius:50%; background:#fff; color:#2F6BFF; display:flex; align-items:center; justify-content:center; transition:transform var(--dur-fast) var(--ease); }
.pp-bar:hover .pp-bar-go{ transform:translate(2px,-2px); }
.pp-bar-go svg{ width:44%; height:44%; }
@media (max-width:1000px){
  .pp-head{ grid-template-columns:1fr; align-items:start; }
  .pp-grid{ grid-template-columns:1fr; }
  .pp-card{ min-height:0; }
  .pp-card h3{ padding-top:clamp(18px,3vw,28px); }
}
@media (max-width:700px){
  .pp{ padding-left:0; padding-right:0; }
  .pp-panel{ border-radius:0; padding:26px 16px; }
  .pp-head h2{ font-size:clamp(30px,9.6vw,48px); }
  .pp-bar{ border-radius:26px; padding:16px 16px 16px 18px; }
}
/* principle: one-line headline, aligned card titles */
.pp-head{ grid-template-columns:1fr; gap:clamp(16px,2vw,28px); align-items:start; }
.pp-head h2{ font-size:clamp(32px,6.2vw,104px); white-space:nowrap; }
.pp-head > p{ max-width:40em; padding-bottom:0; }
.pp-card h3{ margin-top:0; padding-top:clamp(36px,4.6vw,76px); }
.pp-card{ min-height:0; }
@media (max-width:700px){ .pp-head h2{ white-space:normal; font-size:clamp(30px,9.6vw,48px); } .pp-card h3{ padding-top:clamp(24px,6vw,36px); } }

/* ======= TRUST block: founder photo ======= */
.trust{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.trust-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,3vw,48px); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(24px,4.4vw,80px); align-items:center; }
.trust-photo{ margin:0; position:relative; border-radius:26px; overflow:hidden; background:#EEEEEB; aspect-ratio:4/5; }
.trust-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 14%; }
.trust-photo figcaption{ position:absolute; left:clamp(10px,1vw,16px); bottom:clamp(10px,1vw,16px); display:flex; flex-direction:column; gap:2px; padding:clamp(10px,1vw,14px) clamp(14px,1.2vw,20px); border-radius:18px; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.trust-photo figcaption b{ font-size:clamp(15px,1.2vw,18px); font-weight:600; color:#141414; line-height:1.2; }
.trust-photo figcaption small{ font-size:clamp(12.5px,.95vw,14px); color:#7A7A7A; }
.trust-body .eyebrow{ color:#7A7A7A; }
.trust-body h2{ margin-top:14px; font-size:clamp(28px,3.7vw,60px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; color:#141414; max-width:18ch; }
.trust-lead{ margin-top:clamp(14px,1.6vw,22px); font-size:clamp(16px,1.35vw,20px); line-height:1.55; color:#3A3A3A; max-width:40em; }
.trust-points{ list-style:none; margin:clamp(18px,2.2vw,32px) 0 0; padding:0; display:flex; flex-direction:column; gap:clamp(10px,1.2vw,16px); }
.trust-points li{ display:flex; gap:14px; align-items:flex-start; background:#fff; border-radius:20px; padding:clamp(14px,1.4vw,20px) clamp(16px,1.6vw,24px); }
.trust-ck{ flex:none; width:32px; height:32px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; margin-top:2px; }
.trust-ck svg{ width:16px; height:16px; }
.trust-points b{ display:block; font-size:clamp(15.5px,1.25vw,19px); font-weight:600; color:#141414; line-height:1.25; }
.trust-points small{ display:block; margin-top:3px; font-size:clamp(13px,1vw,15px); color:#6A6A6A; line-height:1.4; }
.trust-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(14px,1.6vw,24px); margin-top:clamp(20px,2.4vw,34px); }
.trust-tg{ background:#2F6BFF; color:#fff; gap:10px; padding:clamp(14px,1.2vw,17px) clamp(22px,2vw,30px); }
.trust-tg:hover{ background:#1F55E0; }
.trust-tg svg{ width:18px; height:18px; }
.trust-link{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:#141414; transition:color var(--dur-fast) var(--ease); }
.trust-link:hover{ color:#2F6BFF; }
.trust-link svg{ width:16px; height:16px; }
@media (max-width:900px){
  .trust-panel{ grid-template-columns:1fr; }
  .trust-photo{ aspect-ratio:4/3; max-width:560px; }
}
@media (max-width:700px){
  .trust{ padding-left:0; padding-right:0; }
  .trust-panel{ border-radius:0; padding:20px 14px; }
  .trust-photo{ aspect-ratio:1/1; max-width:none; }
}

/* ======= ABOUT (final): photo with floating step chips + how we work ======= */
.ab{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.ab-panel{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,3vw,52px); }
.ab-top{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4.4vw,84px); align-items:center; }
.ab-photo{ margin:0; position:relative; border-radius:30px; overflow:hidden; background:#EEEEEB; aspect-ratio:4/5; }
.ab-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 12%; }
.ab-photo::after{ content:""; position:absolute; inset:auto 0 0 0; height:36%; background:linear-gradient(to top,rgba(0,0,0,.38),transparent); pointer-events:none; }
.ab-chip{ position:absolute; z-index:2; display:inline-flex; align-items:center; gap:10px; padding:10px 18px 10px 10px; border-radius:999px; background:rgba(255,255,255,.88); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); font-size:clamp(13px,1.05vw,16px); font-weight:600; color:#141414; box-shadow:0 10px 30px -12px rgba(0,0,0,.35); animation:abFloat 6s ease-in-out infinite; }
.ab-chip i{ font-style:normal; width:26px; height:26px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; }
.ab-chip-1{ top:9%; right:7%; }
.ab-chip-2{ top:41%; left:6%; animation-delay:-2s; }
.ab-chip-3{ top:64%; right:9%; animation-delay:-4s; }
@keyframes abFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
.ab-photo figcaption{ position:absolute; z-index:2; left:clamp(12px,1.2vw,18px); right:clamp(12px,1.2vw,18px); bottom:clamp(12px,1.2vw,18px); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:clamp(10px,1vw,14px) clamp(14px,1.2vw,18px); border-radius:20px; background:rgba(255,255,255,.94); }
.ab-photo figcaption b{ display:block; font-size:clamp(15px,1.2vw,18px); font-weight:600; color:#141414; line-height:1.2; }
.ab-photo figcaption small{ display:block; margin-top:2px; font-size:clamp(12.5px,.95vw,14px); color:#7A7A7A; }
.ab-photo figcaption a{ flex:none; width:44px; height:44px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; transition:background var(--dur-fast) var(--ease); }
.ab-photo figcaption a:hover{ background:#1F55E0; }
.ab-photo figcaption a svg{ width:20px; height:20px; }
.ab-body .eyebrow{ color:#7A7A7A; }
.ab-body h2{ margin-top:14px; font-size:clamp(28px,3.6vw,58px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; color:#141414; max-width:17ch; }
.ab-lead{ margin-top:clamp(14px,1.6vw,22px); font-size:clamp(16px,1.35vw,20px); line-height:1.55; color:#3A3A3A; max-width:36em; }
.ab-how{ margin-top:clamp(20px,2.4vw,36px); background:#fff; border-radius:26px; padding:clamp(18px,2vw,30px); }
.ab-how-label{ display:block; font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8A8A8A; }
.ab-how ol{ list-style:none; margin:clamp(12px,1.4vw,20px) 0 0; padding:0; position:relative; }
.ab-how ol::before{ content:""; position:absolute; left:15px; top:18px; bottom:18px; width:2px; background:linear-gradient(180deg,#2F6BFF,rgba(47,107,255,.2)); border-radius:2px; }
.ab-how li{ position:relative; display:flex; gap:clamp(14px,1.4vw,20px); align-items:flex-start; padding:clamp(8px,.9vw,12px) 0; }
.ab-n{ position:relative; z-index:1; flex:none; width:32px; height:32px; border-radius:50%; background:#2F6BFF; color:#fff; font-weight:600; font-size:14px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px #fff; }
.ab-how b{ display:block; font-size:clamp(16px,1.3vw,20px); font-weight:600; letter-spacing:-0.015em; color:#141414; line-height:1.25; }
.ab-how small{ display:block; margin-top:4px; font-size:clamp(13.5px,1.02vw,15.5px); line-height:1.5; color:#5C5C5C; }
.ab-bar{ margin-top:clamp(16px,2vw,30px); display:flex; align-items:center; gap:clamp(14px,1.8vw,26px); background:#2F6BFF; color:#fff; border-radius:999px; padding:clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(10px,1vw,14px) clamp(18px,2vw,30px); transition:background var(--dur-fast) var(--ease); }
.ab-bar:hover{ background:#1F55E0; }
.ab-bar-ico{ flex:none; width:clamp(36px,3vw,46px); height:clamp(36px,3vw,46px); border-radius:50%; background:rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; }
.ab-bar-ico svg{ width:50%; height:50%; }
.ab-bar p{ margin:0; flex:1; font-size:clamp(15px,1.5vw,23px); font-weight:500; letter-spacing:-0.012em; line-height:1.3; }
.ab-bar p b{ font-weight:600; }
.ab-bar-go{ flex:none; width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px); border-radius:50%; background:#fff; color:#2F6BFF; display:flex; align-items:center; justify-content:center; transition:transform var(--dur-fast) var(--ease); }
.ab-bar:hover .ab-bar-go{ transform:translate(2px,-2px); }
.ab-bar-go svg{ width:44%; height:44%; }
@media (prefers-reduced-motion:reduce){ .ab-chip{ animation:none; } }
@media (max-width:1000px){
  .ab-top{ grid-template-columns:1fr; }
  .ab-photo{ aspect-ratio:4/3; max-width:640px; }
  .ab-body h2{ max-width:none; }
}
@media (max-width:700px){
  .ab{ padding-left:0; padding-right:0; }
  .ab-panel{ border-radius:0; padding:20px 14px; }
  .ab-photo{ aspect-ratio:4/5; max-width:none; }
  .ab-chip{ padding:8px 14px 8px 8px; }
  .ab-bar{ border-radius:26px; padding:16px 16px 16px 18px; }
}
/* about: keep chips off the face, calmer headline */
.ab-chip-1{ top:4.5%; left:5%; right:auto; }
.ab-chip-2{ top:4.5%; left:auto; right:5%; animation-delay:-2s; }
.ab-chip-3{ top:66%; left:auto; right:6%; animation-delay:-4s; }
.ab-body h2{ font-size:clamp(26px,3.1vw,50px); max-width:20ch; }
@media (max-width:420px){ .ab-chip-1{ top:3.5%; } .ab-chip-2{ top:12%; right:5%; } }

/* ======= ABOUT (editorial): giant type + duotone photo pill + accordion ======= */
.ed{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.ed-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(26px,4.4vw,80px); overflow:hidden; }
.ed-eyebrow{ color:#7A7A7A; }
.ed-title{ margin-top:clamp(14px,1.6vw,24px); font-size:clamp(40px,8.6vw,150px); font-weight:600; letter-spacing:-0.055em; line-height:.98; color:#141414; }
.ed-line{ display:block; }
.ed-soft{ color:#A8A8A4; font-size:.5em; letter-spacing:-0.04em; font-weight:500; line-height:1.1; margin-top:.14em; }
.ed-photo{ display:inline-block; vertical-align:middle; width:1.9em; height:.82em; border-radius:999px; overflow:hidden; background:#2F6BFF; position:relative; top:-.05em; margin-right:.12em; transition:transform .6s var(--ease); }
.ed-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; filter:grayscale(1) contrast(1.15); mix-blend-mode:multiply; }
.ed-title:hover .ed-photo{ transform:rotate(-3deg) scale(1.04); }
.ed-intro{ margin-top:clamp(24px,3.4vw,56px); display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(20px,4vw,64px); flex-wrap:wrap; }
.ed-intro p{ font-size:clamp(16px,1.4vw,21px); line-height:1.55; color:#3A3A3A; max-width:36em; }
.ed-sign{ display:flex; align-items:center; gap:14px; }
.ed-sign span{ display:flex; flex-direction:column; gap:2px; text-align:right; }
.ed-sign b{ font-size:clamp(15px,1.15vw,18px); font-weight:600; color:#141414; }
.ed-sign small{ font-size:clamp(12.5px,.95vw,14px); color:#7A7A7A; }
.ed-sign a{ width:48px; height:48px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); }
.ed-sign a:hover{ background:#1F55E0; transform:scale(1.06); }
.ed-sign a svg{ width:22px; height:22px; }
.ed-acc{ margin-top:clamp(24px,3.2vw,52px); display:flex; gap:clamp(10px,1.2vw,18px); height:clamp(300px,26vw,400px); }
.ed-panel{ flex:1 1 0; min-width:0; position:relative; background:#fff; color:#141414; border-radius:28px; padding:clamp(20px,2vw,32px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; cursor:pointer; outline:none; transition:flex-grow .6s var(--ease), background .4s var(--ease), color .4s var(--ease); }
.ed-panel.is-active{ flex-grow:2.6; background:#2F6BFF; color:#fff; }
.ed-panel-top{ display:flex; align-items:flex-start; justify-content:space-between; }
.ed-n{ font-size:clamp(40px,4.6vw,76px); font-weight:500; letter-spacing:-0.05em; line-height:.9; color:#D6D6D2; transition:color .4s var(--ease); font-variant-numeric:tabular-nums; }
.ed-panel.is-active .ed-n{ color:rgba(255,255,255,.55); }
.ed-ico{ width:clamp(44px,3.6vw,56px); height:clamp(44px,3.6vw,56px); border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; flex:none; transition:background .4s var(--ease), color .4s var(--ease); }
.ed-panel.is-active .ed-ico{ background:#fff; color:#2F6BFF; }
.ed-ico svg{ width:44%; height:44%; }
.ed-panel-body h3{ font-size:clamp(19px,1.9vw,30px); font-weight:600; letter-spacing:-0.025em; line-height:1.15; }
.ed-panel-body p{ margin-top:10px; font-size:clamp(14px,1.08vw,16.5px); line-height:1.55; max-width:34em; opacity:0; max-height:0; overflow:hidden; transition:opacity .4s var(--ease) .1s, max-height .5s var(--ease); }
.ed-panel.is-active .ed-panel-body p{ opacity:.92; max-height:12em; }
.ed-quote{ margin-top:clamp(14px,1.8vw,26px); display:flex; align-items:center; justify-content:space-between; gap:20px; border-radius:999px; background:#141414; color:#fff; padding:clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px) clamp(20px,2.2vw,34px); transition:background var(--dur-fast) var(--ease); }
.ed-quote:hover{ background:#2F6BFF; }
.ed-quote p{ margin:0; font-size:clamp(15px,1.5vw,23px); line-height:1.3; font-weight:500; letter-spacing:-0.012em; }
.ed-quote p b{ font-weight:600; }
.ed-quote span{ flex:none; width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px); border-radius:50%; background:#fff; color:#141414; display:flex; align-items:center; justify-content:center; }
.ed-quote span svg{ width:44%; height:44%; }
@media (max-width:900px){
  .ed-acc{ flex-direction:column; height:auto; }
  .ed-panel{ flex:none; min-height:0; gap:clamp(20px,5vw,30px); }
  .ed-panel.is-active{ flex-grow:0; }
  .ed-panel-body p{ opacity:.92; max-height:none; }
  .ed-panel:not(.is-active){ background:#fff; color:#141414; }
  .ed-panel:not(.is-active) .ed-panel-body p{ opacity:.8; }
}
@media (max-width:700px){
  .ed{ padding-left:0; padding-right:0; }
  .ed-wrap{ border-radius:0; padding:26px 16px; }
  .ed-title{ font-size:clamp(38px,12.4vw,64px); }
  .ed-intro{ flex-direction:column; align-items:flex-start; }
  .ed-sign span{ text-align:left; }
  .ed-quote{ border-radius:26px; padding:16px 16px 16px 20px; }
}
.ed-photo{ width:1.5em; height:.88em; }
.ed-photo img{ object-position:center 36%; transform:scale(1.15); transform-origin:center 38%; }

/* ======= AUDIENCE v2: niche explorer ======= */
.nx{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.nx-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(24px,4vw,72px); }
.nx-head .eyebrow{ color:#7A7A7A; }
.nx-head h2{ margin-top:14px; font-size:clamp(30px,4.6vw,76px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; color:#141414; max-width:16ch; }
.nx-head p{ margin-top:clamp(14px,1.6vw,22px); font-size:clamp(16px,1.35vw,20px); line-height:1.5; color:#5C5C5C; max-width:38em; }
.nx-grid{ margin-top:clamp(26px,4vw,64px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(20px,4vw,72px); align-items:stretch; }
.nx-list{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(20,20,20,.12); align-self:start; }
.nx-item{ border-bottom:1px solid rgba(20,20,20,.12); }
.nx-row{ width:100%; display:grid; grid-template-columns:clamp(40px,4vw,64px) minmax(0,1fr) auto; align-items:center; gap:clamp(10px,1.4vw,20px); padding:clamp(16px,1.9vw,28px) 0; background:none; border:0; text-align:left; cursor:pointer; color:#B9B9B4; font:inherit; transition:color .3s var(--ease), padding .3s var(--ease); }
.nx-num{ font-size:clamp(13px,1vw,15px); font-weight:600; letter-spacing:.04em; }
.nx-name{ font-size:clamp(24px,3.3vw,54px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; }
.nx-go{ width:clamp(36px,3vw,46px); height:clamp(36px,3vw,46px); border-radius:50%; background:#fff; color:#141414; display:flex; align-items:center; justify-content:center; opacity:0; transform:translateX(-8px); transition:opacity .3s var(--ease), transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease); }
.nx-go svg{ width:44%; height:44%; }
.nx-item.is-active .nx-row, .nx-row:hover{ color:#141414; padding-left:clamp(6px,.8vw,12px); }
.nx-item.is-active .nx-num{ color:#2F6BFF; }
.nx-item.is-active .nx-go{ opacity:1; transform:none; background:#2F6BFF; color:#fff; }
.nx-row:focus-visible{ outline:2px solid #2F6BFF; outline-offset:4px; border-radius:8px; }
.nx-panes{ position:relative; min-height:clamp(420px,34vw,560px); }
.nx-pane{ position:absolute; inset:0; opacity:0; visibility:hidden; transform:translateY(14px) scale(.985); transition:opacity .45s var(--ease), transform .45s var(--ease), visibility 0s linear .45s; }
.nx-pane.is-active{ opacity:1; visibility:visible; transform:none; transition:opacity .45s var(--ease), transform .45s var(--ease); }
.nx-detail{ height:100%; background:#2F6BFF; color:#fff; border-radius:30px; padding:clamp(22px,2.6vw,42px); display:flex; flex-direction:column; }
.nx-d-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nx-d-ico{ width:clamp(52px,4.4vw,68px); height:clamp(52px,4.4vw,68px); border-radius:50%; background:#fff; color:#2F6BFF; display:flex; align-items:center; justify-content:center; }
.nx-d-ico svg{ width:46%; height:46%; }
.nx-badge{ padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.18); font-size:clamp(12px,.92vw,14px); font-weight:600; white-space:nowrap; }
.nx-badge.is-real{ background:#fff; color:#2F6BFF; }
.nx-detail h3{ margin-top:clamp(20px,2.4vw,36px); font-size:clamp(24px,2.6vw,42px); font-weight:600; letter-spacing:-0.035em; line-height:1.08; }
.nx-chips{ list-style:none; margin:clamp(14px,1.5vw,22px) 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.nx-chips li{ padding:8px 14px; border-radius:999px; background:rgba(255,255,255,.16); font-size:clamp(13px,1vw,15px); font-weight:500; }
.nx-tasks{ list-style:none; margin:clamp(18px,2.2vw,32px) 0 0; padding:clamp(14px,1.6vw,22px) 0 0; border-top:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; gap:clamp(10px,1.1vw,14px); }
.nx-tasks b{ display:block; font-size:clamp(15px,1.2vw,18px); font-weight:600; }
.nx-tasks small{ display:block; margin-top:2px; font-size:clamp(13px,.98vw,15px); opacity:.82; line-height:1.4; }
.nx-cta{ margin-top:auto; padding-top:clamp(18px,2vw,28px); align-self:flex-start; }
.nx-cta{ display:inline-flex; align-items:center; gap:10px; background:#fff; color:#141414; font-weight:600; font-size:clamp(14px,1.05vw,16px); padding:clamp(12px,1.1vw,16px) clamp(18px,1.8vw,26px); border-radius:999px; transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.nx-cta:hover{ background:#141414; color:#fff; }
.nx-cta svg{ width:16px; height:16px; }
.nx-detail-inline{ display:none; }
@media (max-width:900px){
  .nx-grid{ grid-template-columns:1fr; }
  .nx-panes{ display:none; }
  .nx-name{ font-size:clamp(22px,6.2vw,34px); }
  .nx-item .nx-detail-inline{ display:none; margin:0 0 clamp(14px,3vw,22px); }
  .nx-item.is-active .nx-detail-inline{ display:flex; }
  .nx-cta{ margin-top:clamp(16px,3vw,24px); }
  .nx-go{ opacity:1; transform:none; }
  .nx-item.is-active .nx-row{ color:#141414; }
}
@media (max-width:700px){
  .nx{ padding-left:0; padding-right:0; }
  .nx-wrap{ border-radius:0; padding:26px 16px; }
}
@media (prefers-reduced-motion:reduce){ .nx-pane{ transition:none; } }
.nx-head h2{ max-width:none; font-size:clamp(30px,4.2vw,68px); }
.nx-tasks{ margin-bottom:clamp(14px,1.6vw,22px); }
.nx-panes{ min-height:clamp(470px,36vw,600px); }

/* ======= ABOUT v3: real founder photo for trust ======= */
.ed-head .ed-title{ margin-top:clamp(12px,1.4vw,20px); font-size:clamp(32px,5.2vw,86px); font-weight:600; letter-spacing:-0.05em; line-height:1.02; color:#141414; max-width:18ch; }
.ed-head .ed-soft{ display:block; color:#A8A8A4; font-size:.52em; letter-spacing:-0.035em; font-weight:500; line-height:1.15; margin-top:.2em; }
.ed-grid{ margin-top:clamp(24px,3.4vw,56px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(20px,3.6vw,64px); align-items:start; }
.ed-left .ed-lead{ font-size:clamp(16px,1.4vw,21px); line-height:1.55; color:#3A3A3A; max-width:36em; }
.ed-left .ed-acc{ margin-top:clamp(18px,2.4vw,36px); height:clamp(300px,26vw,380px); }
.ed-person{ position:sticky; top:104px; }
.ed-person-photo{ margin:0; border-radius:30px; overflow:hidden; background:#EEEEEB; aspect-ratio:4/5; }
.ed-person-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 14%; display:block; }
.ed-person-card{ margin-top:clamp(10px,1vw,14px); background:#fff; border-radius:22px; padding:clamp(14px,1.4vw,20px) clamp(16px,1.6vw,24px); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.ed-person-card b{ display:block; font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.ed-person-card small{ display:block; margin-top:2px; font-size:clamp(13px,1vw,15px); color:#7A7A7A; }
.ed-person-tg{ display:inline-flex; align-items:center; gap:10px; background:#2F6BFF; color:#fff; font-weight:600; font-size:clamp(14px,1.05vw,16px); padding:clamp(11px,1vw,14px) clamp(16px,1.5vw,22px); border-radius:999px; transition:background var(--dur-fast) var(--ease); }
.ed-person-tg:hover{ background:#1F55E0; }
.ed-person-tg svg{ width:18px; height:18px; }
.ed-person-facts{ list-style:none; margin:clamp(10px,1vw,14px) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:clamp(10px,1vw,14px); }
.ed-person-facts li{ background:#fff; border-radius:20px; padding:clamp(12px,1.2vw,18px) clamp(14px,1.4vw,20px); display:flex; flex-direction:column; gap:4px; }
.ed-person-facts b{ font-size:clamp(20px,1.8vw,28px); font-weight:600; letter-spacing:-0.03em; color:#141414; line-height:1.1; }
.ed-person-facts span{ font-size:clamp(12.5px,.95vw,14px); color:#6A6A6A; line-height:1.35; }
@media (max-width:1000px){
  .ed-grid{ grid-template-columns:1fr; }
  .ed-person{ position:static; order:-1; max-width:560px; }
}
@media (max-width:900px){
  .ed-left .ed-acc{ height:auto; }
}
@media (max-width:700px){
  .ed-head .ed-title{ font-size:clamp(30px,9.4vw,46px); }
  .ed-person{ max-width:none; }
  .ed-person-photo{ aspect-ratio:1/1; border-radius:26px; }
  .ed-person-tg{ width:100%; justify-content:center; }
  .ed-person-card{ flex-direction:column; align-items:flex-start; }
}

/* about: steps stack vertically in the left column (no clipped text) */
.ed-left .ed-acc{ flex-direction:column; height:auto; gap:clamp(10px,1vw,14px); }
.ed-left .ed-panel{ flex:none; gap:clamp(18px,2vw,28px); padding:clamp(18px,1.8vw,26px) clamp(20px,2vw,30px); border-radius:24px; }
.ed-left .ed-panel.is-active{ flex-grow:0; }
.ed-left .ed-panel-top{ align-items:center; }
.ed-left .ed-n{ font-size:clamp(30px,3vw,46px); }
.ed-left .ed-panel-body p{ opacity:.9; max-height:none; }
.ed-left .ed-panel:not(.is-active) .ed-panel-body p{ opacity:.75; }
.ed-left .ed-panel{ transition:background .4s var(--ease), color .4s var(--ease), transform .3s var(--ease); }
.ed-left .ed-panel:hover{ transform:translateX(4px); }

/* niche explorer v2: photo card on light background */
.nx-detail{ background:#fff; color:#141414; padding:clamp(10px,1vw,14px); border-radius:30px; }
.nx-d-photo{ position:relative; height:clamp(150px,13vw,210px); border-radius:22px; overflow:hidden; background:linear-gradient(135deg,#F3F3F1,#E1E1DD); display:flex; align-items:flex-end; padding:clamp(12px,1.2vw,18px); flex:none; }
.nx-d-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left top; }
.nx-d-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.28),transparent 55%); opacity:0; }
.nx-d-photo.has-img::after{ opacity:1; }
.nx-d-photo .nx-d-ico{ position:relative; z-index:1; background:#fff; color:#2F6BFF; width:clamp(48px,4vw,62px); height:clamp(48px,4vw,62px); }
.nx-d-photo .nx-badge{ position:absolute; top:clamp(12px,1.2vw,18px); right:clamp(12px,1.2vw,18px); z-index:1; background:rgba(255,255,255,.92); color:#141414; }
.nx-d-photo .nx-badge.is-real{ background:#2F6BFF; color:#fff; }
.nx-detail h3{ margin-top:clamp(16px,1.8vw,26px); padding:0 clamp(10px,1.2vw,18px); color:#141414; }
.nx-chips, .nx-tasks, .nx-cta{ margin-left:clamp(10px,1.2vw,18px); margin-right:clamp(10px,1.2vw,18px); }
.nx-chips li{ background:#F6F6F5; color:#141414; }
.nx-tasks{ border-top:1px solid rgba(20,20,20,.1); }
.nx-tasks b{ color:#141414; }
.nx-tasks small{ color:#6A6A6A; opacity:1; }
.nx-cta{ background:#2F6BFF; color:#fff; margin-bottom:clamp(6px,.8vw,10px); }
.nx-cta:hover{ background:#141414; color:#fff; }
.nx-detail-inline .nx-d-photo{ height:clamp(130px,34vw,200px); }
/* niche card: grows with content, never overflows */
.nx-panes{ min-height:0; display:grid; }
.nx-pane{ position:relative; inset:auto; grid-area:1 / 1; }
.nx-detail{ height:auto; }
.nx-cta{ margin-top:clamp(18px,2vw,28px); padding-top:0; }
.nx-cta{ padding:clamp(13px,1.1vw,16px) clamp(20px,1.9vw,28px); margin-top:clamp(16px,1.8vw,26px); margin-bottom:clamp(6px,.8vw,10px); line-height:1.2; align-self:flex-start; }
.nx-d-photo{ height:clamp(190px,17vw,270px); }
.nx-d-photo img{ object-position:center; }
.nx-d-photo.has-img::after{ background:linear-gradient(to top,rgba(0,0,0,.35),transparent 55%); }

/* ======= niche explorer: compact ======= */
.nx{ padding-top:clamp(12px,1.4vw,24px); }
.nx-wrap{ padding:clamp(20px,2.8vw,44px); }
.nx-head h2{ margin-top:10px; font-size:clamp(24px,2.8vw,42px); letter-spacing:-0.035em; }
.nx-head p{ margin-top:10px; font-size:clamp(14.5px,1.1vw,17px); max-width:46em; }
.nx-grid{ margin-top:clamp(18px,2.4vw,34px); gap:clamp(16px,2.6vw,44px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
.nx-row{ padding:clamp(11px,1.1vw,16px) 0; grid-template-columns:clamp(30px,2.6vw,44px) minmax(0,1fr) auto; }
.nx-name{ font-size:clamp(18px,1.9vw,30px); letter-spacing:-0.03em; }
.nx-go{ width:clamp(30px,2.4vw,38px); height:clamp(30px,2.4vw,38px); }
.nx-panes{ min-height:0; }
.nx-detail{ padding:clamp(8px,.8vw,12px); border-radius:26px; }
.nx-d-photo{ height:clamp(130px,11vw,180px); border-radius:20px; }
.nx-d-photo .nx-d-ico{ width:clamp(40px,3.2vw,50px); height:clamp(40px,3.2vw,50px); }
.nx-detail h3{ margin-top:clamp(12px,1.2vw,18px); font-size:clamp(19px,1.7vw,26px); }
.nx-chips{ margin-top:clamp(10px,1vw,14px); gap:6px; }
.nx-chips li{ padding:6px 12px; font-size:clamp(12.5px,.92vw,14px); }
.nx-tasks{ display:none; }
.nx-cta{ margin-top:clamp(14px,1.4vw,20px); padding:clamp(11px,.95vw,14px) clamp(18px,1.6vw,24px); font-size:clamp(13.5px,1vw,15px); }
@media (max-width:900px){
  .nx-name{ font-size:clamp(18px,5vw,26px); }
  .nx-row{ padding:clamp(12px,3vw,16px) 0; }
  .nx-d-photo{ height:clamp(120px,32vw,170px); }
}

/* ======= niche list only: no right card, details open under the row ======= */
.nx-grid{ grid-template-columns:1fr; gap:0; }
.nx-panes{ display:none; }
.nx-list{ max-width:none; }
.nx-name{ font-size:clamp(26px,3.6vw,60px); letter-spacing:-0.04em; }
.nx-row{ padding:clamp(16px,1.8vw,26px) 0; grid-template-columns:clamp(40px,4vw,64px) minmax(0,1fr) auto; }
.nx-go{ width:clamp(38px,3vw,48px); height:clamp(38px,3vw,48px); }
.nx-item .nx-detail-inline{ display:none; }
.nx-item.is-active .nx-detail-inline{
  display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:clamp(10px,1.2vw,16px) clamp(12px,1.6vw,22px);
  background:transparent; padding:0 0 clamp(16px,1.8vw,26px) clamp(40px,4vw,64px); border-radius:0; height:auto;
}
.nx-item .nx-detail-inline .nx-d-photo{ height:auto; background:none; padding:0; border-radius:0; overflow:visible; display:flex; }
.nx-item .nx-detail-inline .nx-d-photo img,
.nx-item .nx-detail-inline .nx-d-photo .nx-d-ico,
.nx-item .nx-detail-inline .nx-d-photo::after{ display:none; }
.nx-item .nx-detail-inline .nx-d-photo .nx-badge{ position:static; background:#fff; color:#6A6A6A; }
.nx-item .nx-detail-inline .nx-d-photo .nx-badge.is-real{ background:#2F6BFF; color:#fff; }
.nx-item .nx-detail-inline h3, .nx-item .nx-detail-inline .nx-tasks{ display:none; }
.nx-item .nx-detail-inline .nx-chips{ margin:0; padding:0; flex:1 1 auto; }
.nx-item .nx-detail-inline .nx-chips li{ background:#fff; }
.nx-item .nx-detail-inline .nx-cta{ margin:0; padding:clamp(11px,1vw,14px) clamp(18px,1.7vw,24px); }
@media (max-width:900px){
  .nx-name{ font-size:clamp(20px,5.6vw,30px); }
  .nx-item.is-active .nx-detail-inline{ padding-left:0; }
}

/* hero: full first screen, cases start below the fold */
.hero.hero-v7{ min-height:100vh; min-height:100svh; padding-bottom:clamp(40px,8vh,96px); justify-content:center; }
#cases.section{ padding-top:clamp(48px,6vw,96px); }
.nx-item .nx-detail-inline .nx-cta{ margin-left:0; }

/* niche explorer: pinned while scrolling, text under the niche title */
.nx-desc{ flex:1 0 100%; margin:0; font-size:clamp(14.5px,1.15vw,18px); line-height:1.5; color:#4A4A4A; max-width:46em; }
.nx-pane .nx-desc{ display:none; }
.nx.nx-scroll{ height:calc(100vh + var(--nx-steps, 5) * 38vh); padding-bottom:0; }
.nx.nx-scroll .nx-wrap{ position:sticky; top:84px; }
.nx.nx-scroll .nx-name{ transition:color .35s var(--ease), font-size .35s var(--ease); }
/* niche explorer: fits one screen so it can pin */
.nx-name{ font-size:clamp(22px,2.7vw,42px); }
.nx-row{ padding:clamp(11px,1.15vw,17px) 0; }
.nx-head h2{ font-size:clamp(24px,2.5vw,38px); }
.nx-wrap{ padding:clamp(18px,2.2vw,34px) clamp(20px,2.8vw,44px); }
.nx-grid{ margin-top:clamp(14px,1.8vw,26px); }

/* ======= niche explorer: list left + square blue card right ======= */
@media (min-width:901px){
  .nx-grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(20px,3.4vw,60px); align-items:center; }
  .nx-panes{ display:grid; min-height:0; justify-self:end; width:min(100%, clamp(380px,34vw,540px)); }
  .nx-item .nx-detail-inline, .nx-item.is-active .nx-detail-inline{ display:none; }
  .nx-pane{ position:relative; inset:auto; grid-area:1 / 1; }
  .nx-pane .nx-detail{
    aspect-ratio:1 / 1; height:auto; background:#2F6BFF; color:#fff; border-radius:30px;
    padding:clamp(20px,2.2vw,34px); display:flex; flex-direction:column;
  }
  .nx-pane .nx-d-photo{ height:auto; background:none; padding:0; border-radius:0; overflow:visible; flex-direction:row; align-items:center; justify-content:space-between; }
  .nx-pane .nx-d-photo img, .nx-pane .nx-d-photo::after{ display:none; }
  .nx-pane .nx-d-photo .nx-d-ico{ position:static; width:clamp(48px,4vw,62px); height:clamp(48px,4vw,62px); background:#fff; color:#2F6BFF; }
  .nx-pane .nx-d-photo .nx-badge{ position:static; background:rgba(255,255,255,.18); color:#fff; }
  .nx-pane .nx-d-photo .nx-badge.is-real{ background:#fff; color:#2F6BFF; }
  .nx-pane .nx-detail h3{ margin:clamp(18px,2vw,30px) 0 0; padding:0; color:#fff; font-size:clamp(24px,2.5vw,40px); letter-spacing:-0.035em; line-height:1.08; }
  .nx-pane .nx-desc{ display:block; margin:clamp(10px,1vw,16px) 0 0; font-size:clamp(14.5px,1.12vw,17px); line-height:1.5; color:rgba(255,255,255,.9); max-width:34em; order:3; }
  .nx-pane .nx-chips{ margin:clamp(14px,1.4vw,20px) 0 0; padding:0; }
  .nx-pane .nx-chips li{ background:rgba(255,255,255,.16); color:#fff; }
  .nx-pane .nx-tasks{ display:none; }
  .nx-pane .nx-cta{ margin:auto 0 0; padding:clamp(12px,1.05vw,15px) clamp(18px,1.7vw,24px); background:#fff; color:#141414; align-self:flex-start; }
  .nx-pane .nx-cta:hover{ background:#141414; color:#fff; }
  .nx-pane .nx-detail > .nx-desc{ order:2; }
}
@media (min-width:901px){
  .nx-pane .nx-desc{ flex:0 0 auto; }
  .nx-pane .nx-detail > .nx-d-photo{ order:1; }
  .nx-pane .nx-detail > h3{ order:2; }
  .nx-pane .nx-detail > .nx-desc{ order:3; }
  .nx-pane .nx-detail > .nx-chips{ order:4; }
  .nx-pane .nx-detail > .nx-cta{ order:5; }
}

/* ======= niche list: big names + always-visible subtitles ======= */
.nx-name{ font-size:clamp(24px,3vw,48px); line-height:1.04; letter-spacing:-0.04em; }
.nx-sub{ display:block; margin-top:6px; font-size:clamp(13px,1.05vw,16px); font-weight:500; letter-spacing:0; line-height:1.35; color:#8A8A87; transition:color .3s var(--ease); }
.nx-item.is-active .nx-sub{ color:#4A4A4A; }
.nx-row{ padding:clamp(12px,1.2vw,18px) 0; align-items:center; }
.nx-item .nx-detail-inline .nx-desc{ display:none; }
@media (max-width:900px){
  .nx-name{ font-size:clamp(20px,5.6vw,30px); }
  .nx-sub{ font-size:clamp(12.5px,3.4vw,15px); }
}

/* ======= niche list only (left): no card, no pin ======= */
.nx.nx-scroll{ height:auto; }
.nx.nx-scroll .nx-wrap{ position:static; }
.nx-grid{ grid-template-columns:1fr; gap:0; }
.nx-panes{ display:none; }
.nx-item .nx-detail-inline, .nx-item.is-active .nx-detail-inline{ display:none; }
.nx-go{ display:none; }
.nx-row{ cursor:default; grid-template-columns:clamp(40px,4vw,64px) minmax(0,1fr); color:#141414; }
.nx-row:hover{ padding-left:0; }
.nx-item .nx-num, .nx-item.is-active .nx-num{ color:#2F6BFF; }
.nx-item .nx-sub, .nx-item.is-active .nx-sub{ color:#6A6A67; }
.nx-item.is-active .nx-row{ padding-left:0; }

/* niche list: blue arrow circles on the right */
.nx-row{ cursor:pointer; grid-template-columns:clamp(40px,4vw,64px) minmax(0,1fr) auto; }
.nx-go{ display:flex; opacity:1; transform:none; background:#2F6BFF; color:#fff; width:clamp(40px,3.2vw,52px); height:clamp(40px,3.2vw,52px); transition:background .25s var(--ease), transform .25s var(--ease); }
.nx-go svg{ width:42%; height:42%; transition:transform .25s var(--ease); }
.nx-row:hover .nx-go{ background:#1F55E0; transform:scale(1.06); }
.nx-row:hover .nx-go svg{ transform:translate(2px,-2px); }
.nx-item.is-active .nx-go{ background:#2F6BFF; color:#fff; }

/* niche list: specific businesses as ovals under the title */
.nx-sub.nx-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:clamp(8px,.9vw,12px); }
.nx-tag{ display:inline-flex; align-items:center; padding:clamp(6px,.6vw,8px) clamp(12px,1.1vw,16px); border-radius:999px; background:#fff; color:#3A3A3A; font-size:clamp(12.5px,.95vw,14.5px); font-weight:500; letter-spacing:0; line-height:1.2; box-shadow:0 0 0 1px rgba(20,20,20,.07); white-space:nowrap; }
.nx-row{ align-items:center; padding:clamp(14px,1.5vw,22px) 0; }
@media (max-width:700px){ .nx-tag{ white-space:normal; } }

/* ======= AUDIENCE — designer pass: split header, editorial rows, hover cards ======= */
.nx{ padding:clamp(16px,2vw,36px); }
.nx-wrap{ padding:clamp(26px,4vw,72px) clamp(20px,3.6vw,64px) clamp(18px,2.6vw,44px); border-radius:var(--radius-lg); }
.nx-head{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(18px,4vw,80px); align-items:end; }
.nx-head .eyebrow{ grid-column:1 / -1; margin-bottom:-4px; }
.nx-head h2{ margin:0; font-size:clamp(30px,4.2vw,68px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; max-width:14ch; }
.nx-head p{ margin:0; font-size:clamp(15px,1.2vw,18px); line-height:1.55; color:#5C5C5C; max-width:30em; padding-bottom:.5em; }
.nx-grid{ margin-top:clamp(28px,4.4vw,72px); }
.nx-list{ border-top:1px solid rgba(20,20,20,.14); }
.nx-item{ border-bottom:1px solid rgba(20,20,20,.14); border-radius:26px; margin:0 calc(-1 * clamp(10px,1.2vw,18px)); padding:0 clamp(10px,1.2vw,18px); transition:background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease); }
.nx-item:hover{ background:#fff; border-bottom-color:transparent; box-shadow:0 24px 50px -30px rgba(20,20,40,.28); transform:translateY(-2px); }
.nx-row{ grid-template-columns:clamp(44px,5vw,84px) minmax(0,1fr) auto; padding:clamp(18px,2.2vw,32px) 0; gap:clamp(10px,1.6vw,26px); }
.nx-num{ font-size:clamp(14px,1.1vw,17px); font-weight:600; letter-spacing:.06em; color:#2F6BFF; align-self:start; padding-top:.6em; }
.nx-name{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; column-gap:clamp(18px,3vw,56px); font-size:clamp(26px,3.3vw,54px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; color:#141414; }
.nx-sub.nx-tags{ margin:0; justify-content:flex-start; gap:8px; font-size:initial; }
.nx-tag{ background:#fff; box-shadow:0 0 0 1px rgba(20,20,20,.08); color:#2A2A2A; padding:clamp(7px,.7vw,10px) clamp(13px,1.2vw,18px); font-size:clamp(13px,.98vw,15px); transition:background .3s var(--ease), box-shadow .3s var(--ease); }
.nx-item:hover .nx-tag{ background:#F8F8F7; box-shadow:none; }
.nx-go{ width:clamp(46px,3.8vw,60px); height:clamp(46px,3.8vw,60px); }
.nx-item:hover .nx-go{ transform:scale(1.08) rotate(0deg); background:#1F55E0; }
@media (max-width:1000px){
  .nx-head{ grid-template-columns:1fr; align-items:start; }
  .nx-head h2{ max-width:none; }
  .nx-name{ grid-template-columns:1fr; row-gap:12px; }
}
@media (max-width:700px){
  .nx{ padding-left:0; padding-right:0; }
  .nx-wrap{ border-radius:0; padding:26px 16px 12px; }
  .nx-item{ margin:0 -10px; padding:0 10px; border-radius:20px; }
  .nx-row{ grid-template-columns:30px minmax(0,1fr) auto; padding:18px 0; }
  .nx-name{ font-size:clamp(22px,6.4vw,32px); }
  .nx-go{ width:44px; height:44px; }
}
/* audience designer pass: fixes */
.nx-head{ grid-template-columns:minmax(0,1.7fr) minmax(0,.7fr); }
.nx-head h2{ max-width:none; font-size:clamp(30px,3.7vw,60px); }
.nx-item{ border-radius:0; }
.nx-item:hover{ border-radius:26px; }
@media (max-width:1000px){ .nx-head{ grid-template-columns:1fr; } }
@media (max-width:700px){ .nx-item{ border-radius:0; } .nx-item:hover{ border-radius:20px; } }

/* ======= AUDIENCE — minimal ======= */
.nx{ padding:clamp(24px,4vw,72px) clamp(16px,2vw,36px); }
.nx-wrap{ background:transparent; padding:0 clamp(8px,2vw,36px); border-radius:0; }
.nx-head{ grid-template-columns:minmax(0,1fr); gap:10px; align-items:start; }
.nx-head .eyebrow{ margin:0; }
.nx-head h2{ font-size:clamp(26px,2.8vw,44px); font-weight:500; letter-spacing:-0.035em; line-height:1.08; }
.nx-head p{ font-size:clamp(14.5px,1.05vw,16.5px); color:#7A7A77; padding:0; max-width:40em; }
.nx-grid{ margin-top:clamp(20px,2.8vw,40px); }
.nx-list{ border-top:1px solid rgba(20,20,20,.1); }
.nx-item, .nx-item:hover{ margin:0; padding:0; background:transparent; box-shadow:none; transform:none; border-radius:0; border-bottom:1px solid rgba(20,20,20,.1); }
.nx-row{ grid-template-columns:minmax(0,1fr) auto; padding:clamp(14px,1.5vw,22px) 0; gap:clamp(10px,1.4vw,22px); }
.nx-num{ display:none; }
.nx-name{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); font-size:clamp(20px,2.1vw,32px); font-weight:500; letter-spacing:-0.03em; transition:color .25s var(--ease); }
.nx-item:hover .nx-name{ color:#2F6BFF; }
.nx-tag{ background:#F8F8F7; box-shadow:none; color:#4A4A4A; padding:5px 12px; font-size:clamp(12.5px,.92vw,14px); font-weight:400; }
.nx-item:hover .nx-tag{ background:#F8F8F7; }
.nx-go{ width:clamp(34px,2.6vw,40px); height:clamp(34px,2.6vw,40px); background:transparent; color:#141414; box-shadow:0 0 0 1px rgba(20,20,20,.18); transition:background .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease); }
.nx-item:hover .nx-go{ background:#2F6BFF; color:#fff; box-shadow:none; transform:none; }
@media (max-width:1000px){ .nx-name{ grid-template-columns:1fr; row-gap:10px; } }
@media (max-width:700px){
  .nx{ padding-left:0; padding-right:0; }
  .nx-wrap{ padding:0 16px; }
  .nx-row{ grid-template-columns:minmax(0,1fr) auto; }
  .nx-name{ font-size:clamp(19px,5.4vw,26px); }
}
/* minimal pass: consistency */
.nx-item.is-active .nx-go{ background:transparent; color:#141414; box-shadow:0 0 0 1px rgba(20,20,20,.18); }
.nx-item.is-active:hover .nx-go, .nx-item:hover .nx-go{ background:#2F6BFF; color:#fff; box-shadow:none; }
.nx-item.is-active .nx-name{ color:#141414; }
.nx-item:hover .nx-name{ color:#2F6BFF; }
.nx-name{ grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); }
.nx-sub.nx-tags{ gap:6px; }
@media (max-width:1000px){ .nx-name{ grid-template-columns:1fr; } }

/* ======= AUDIENCE — reference look: gray panel, big dimmed names, blue arrow on the highlighted row ======= */
.nx{ background:#fff; padding:clamp(16px,2vw,36px); }
.nx .nx-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(24px,3.6vw,60px) clamp(20px,3.6vw,64px) clamp(14px,1.8vw,28px); }
.nx .nx-head{ display:block; }
.nx .nx-head h2{ margin-top:12px; font-size:clamp(26px,3.4vw,54px); font-weight:600; letter-spacing:-0.04em; line-height:1.04; max-width:none; }
.nx .nx-head p{ margin-top:12px; font-size:clamp(14.5px,1.15vw,18px); color:#5C5C5C; padding:0; }
.nx .nx-grid{ margin-top:clamp(20px,3vw,48px); }
.nx .nx-list{ border-top:1px solid rgba(20,20,20,.12); }
.nx .nx-item{ border-bottom:1px solid rgba(20,20,20,.12); }
.nx .nx-row{ grid-template-columns:clamp(40px,4.4vw,72px) minmax(0,1fr) auto; padding:clamp(16px,1.9vw,28px) 0; gap:clamp(10px,1.6vw,26px); align-items:center; color:#B9B9B4; }
.nx .nx-num{ display:block; font-size:clamp(13px,1vw,15px); font-weight:600; letter-spacing:.04em; color:#B9B9B4; padding:0; align-self:center; }
.nx .nx-name{ display:block; font-size:clamp(26px,3.5vw,58px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; color:#B9B9B4; transition:color .3s var(--ease); }
.nx .nx-sub.nx-tags{ display:flex; margin-top:clamp(10px,1vw,16px); }
.nx .nx-tag{ background:rgba(255,255,255,.65); color:#A3A39F; box-shadow:none; transition:background .3s var(--ease), color .3s var(--ease); }
.nx .nx-go{ opacity:0; transform:translateX(-8px); width:clamp(44px,3.6vw,58px); height:clamp(44px,3.6vw,58px); background:#2F6BFF; color:#fff; box-shadow:none; transition:opacity .3s var(--ease), transform .3s var(--ease); }
.nx .nx-item.is-hl .nx-name, .nx .nx-item:hover .nx-name{ color:#141414; }
.nx .nx-item.is-hl .nx-num, .nx .nx-item:hover .nx-num{ color:#2F6BFF; }
.nx .nx-item.is-hl .nx-tag, .nx .nx-item:hover .nx-tag{ background:#fff; color:#2A2A2A; }
.nx .nx-item.is-hl .nx-go, .nx .nx-item:hover .nx-go{ opacity:1; transform:none; background:#2F6BFF; color:#fff; box-shadow:none; }
.nx .nx-item.is-hl .nx-go:hover{ background:#1F55E0; }
@media (max-width:700px){
  .nx{ padding-left:0; padding-right:0; }
  .nx .nx-wrap{ border-radius:0; padding:26px 16px 10px; }
  .nx .nx-row{ grid-template-columns:30px minmax(0,1fr) auto; }
  .nx .nx-name{ font-size:clamp(22px,6.6vw,34px); }
  .nx .nx-go{ opacity:1; transform:none; width:42px; height:42px; }
  .nx .nx-item .nx-name{ color:#141414; } .nx .nx-item .nx-num{ color:#2F6BFF; } .nx .nx-item .nx-tag{ background:#fff; color:#2A2A2A; }
}
/* reference look: only the highlighted row is bright */
@media (min-width:701px){
  .nx .nx-item:not(.is-hl):not(:hover) .nx-name{ color:#B9B9B4; }
  .nx .nx-item:not(.is-hl):not(:hover) .nx-num{ color:#B9B9B4; }
  .nx .nx-item:not(.is-hl):not(:hover) .nx-tag{ background:rgba(255,255,255,.65); color:#A3A39F; }
  .nx .nx-item:not(.is-hl):not(:hover) .nx-go{ opacity:0; transform:translateX(-8px); box-shadow:none; }
}

/* ======= SOLUTIONS v-A: three core cards + compact support row ======= */
.sv{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.sv-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(24px,3.6vw,64px); }
.sv-head{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(18px,4vw,72px); align-items:end; }
.sv-head .eyebrow{ color:#7A7A7A; }
.sv-head h2{ margin-top:12px; font-size:clamp(28px,4vw,64px); font-weight:600; letter-spacing:-0.045em; line-height:1.03; color:#141414; max-width:16ch; }
.sv-head-r p{ font-size:clamp(14.5px,1.15vw,17.5px); line-height:1.5; color:#5C5C5C; max-width:26em; }
.sv-head-r .btn{ margin-top:clamp(14px,1.6vw,22px); }
.sv-core{ margin-top:clamp(24px,3.4vw,56px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,22px); }
.sv-card{ position:relative; display:flex; flex-direction:column; background:#fff; color:#141414; border-radius:28px; padding:clamp(22px,2.2vw,34px); min-height:clamp(320px,26vw,430px); overflow:hidden; transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease); }
.sv-card:hover{ background:#2F6BFF; color:#fff; transform:translateY(-4px); }
.sv-ico{ width:clamp(56px,4.6vw,72px); height:clamp(56px,4.6vw,72px); border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; transition:background .35s var(--ease), color .35s var(--ease); }
.sv-ico svg{ width:46%; height:46%; stroke-width:2.2; }
.sv-card:hover .sv-ico{ background:#fff; color:#2F6BFF; }
.sv-n{ position:absolute; top:clamp(22px,2.2vw,34px); right:clamp(22px,2.2vw,34px); font-size:clamp(14px,1.1vw,17px); font-weight:600; letter-spacing:.04em; color:#C4C4C0; transition:color .35s var(--ease); }
.sv-card:hover .sv-n{ color:rgba(255,255,255,.7); }
.sv-card h3{ margin-top:auto; padding-top:clamp(28px,3.4vw,56px); font-size:clamp(24px,2.3vw,38px); font-weight:600; letter-spacing:-0.035em; line-height:1.08; }
.sv-lead{ margin:clamp(10px,1vw,16px) 0 0; font-size:clamp(16px,1.3vw,20px); font-weight:500; line-height:1.35; letter-spacing:-0.01em; }
.sv-sub{ margin:8px 0 0; font-size:clamp(13.5px,1vw,15.5px); line-height:1.5; color:#6A6A6A; transition:color .35s var(--ease); padding-right:clamp(48px,4vw,64px); }
.sv-card:hover .sv-sub{ color:rgba(255,255,255,.85); }
.sv-go{ position:absolute; right:clamp(18px,1.8vw,28px); bottom:clamp(18px,1.8vw,28px); width:clamp(42px,3.4vw,52px); height:clamp(42px,3.4vw,52px); border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; transition:background .35s var(--ease), color .35s var(--ease), transform .35s var(--ease); }
.sv-go svg{ width:42%; height:42%; }
.sv-card:hover .sv-go{ background:#fff; color:#2F6BFF; transform:rotate(0) scale(1.06); }
.sv-more-label{ margin-top:clamp(22px,2.6vw,40px); font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#8A8A8A; }
.sv-more{ margin-top:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,1.2vw,18px); }
.sv-mini{ display:flex; align-items:center; gap:clamp(12px,1.2vw,18px); background:#fff; border-radius:22px; padding:clamp(14px,1.4vw,20px) clamp(14px,1.4vw,20px); transition:background .3s var(--ease), box-shadow .3s var(--ease); }
.sv-mini:hover{ box-shadow:0 18px 36px -24px rgba(20,20,40,.3); }
.sv-mini-ico{ flex:none; width:clamp(40px,3.2vw,48px); height:clamp(40px,3.2vw,48px); border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; transition:background .3s var(--ease), color .3s var(--ease); }
.sv-mini-ico svg{ width:46%; height:46%; stroke-width:2.2; }
.sv-mini:hover .sv-mini-ico{ background:#2F6BFF; color:#fff; }
.sv-mini-t{ flex:1; min-width:0; }
.sv-mini-t b{ display:block; font-size:clamp(15px,1.15vw,18px); font-weight:600; letter-spacing:-0.015em; }
.sv-mini-t small{ display:block; margin-top:3px; font-size:clamp(12.5px,.92vw,14px); line-height:1.4; color:#6A6A6A; }
.sv-mini-go{ flex:none; width:32px; height:32px; border-radius:50%; background:#F6F6F5; color:#141414; display:flex; align-items:center; justify-content:center; }
.sv-mini-go svg{ width:44%; height:44%; }
@media (max-width:1000px){
  .sv-head{ grid-template-columns:1fr; align-items:start; }
  .sv-head h2{ max-width:none; }
  .sv-core{ grid-template-columns:1fr; }
  .sv-card{ min-height:0; }
  .sv-card h3{ padding-top:clamp(36px,8vw,64px); }
  .sv-more{ grid-template-columns:1fr; }
}
@media (max-width:700px){
  .sv{ padding-left:0; padding-right:0; }
  .sv-wrap{ border-radius:0; padding:26px 14px; }
  .sv-card{ border-radius:24px; }
}
/* solutions A: text colors and headline fit */
.sv .sv-mini{ color:#141414; }
.sv .sv-mini-t b{ color:#141414; }
.sv .sv-head .btn-outline{ color:#141414; border-color:rgba(20,20,20,.28); }
.sv .sv-head .btn-outline:hover{ background:#141414; color:#fff; border-color:#141414; }
.sv .sv-card h3, .sv .sv-lead{ color:inherit; }
.sv-head h2{ max-width:20ch; font-size:clamp(26px,3.4vw,54px); }

/* ======= audience: what we do + which cases exist (no concrete business ovals) ======= */
.nx .nx-sub.nx-info{ display:flex; flex-direction:column; gap:clamp(8px,.9vw,12px); margin-top:clamp(10px,1vw,16px); }
.nx .nx-what{ display:block; font-size:clamp(14px,1.1vw,17px); font-weight:500; line-height:1.45; letter-spacing:0; color:#A3A39F; max-width:46em; transition:color .3s var(--ease); }
.nx .nx-cases{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.nx .nx-cases i{ font-style:normal; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#B0B0AC; margin-right:4px; }
.nx .nx-tag-none{ background:transparent; box-shadow:0 0 0 1px rgba(20,20,20,.12); color:#9A9A96; }
.nx .nx-item.is-hl .nx-what, .nx .nx-item:hover .nx-what{ color:#4A4A4A; }
.nx .nx-item.is-hl .nx-cases i, .nx .nx-item:hover .nx-cases i{ color:#2F6BFF; }
.nx .nx-item.is-hl .nx-tag-none, .nx .nx-item:hover .nx-tag-none{ background:transparent; box-shadow:0 0 0 1px rgba(20,20,20,.18); color:#6A6A67; }
@media (max-width:700px){
  .nx .nx-what{ color:#4A4A4A; }
  .nx .nx-cases i{ color:#2F6BFF; }
  .nx .nx-tag-none{ color:#6A6A67; }
}

/* ======= Solutions: support items as squares (secondary weight: outline) ======= */
.sv-more{ gap:clamp(12px,1.4vw,22px); }
.sv-mini{ position:relative; flex-direction:column; align-items:flex-start; justify-content:space-between; aspect-ratio:1 / 1; background:transparent; box-shadow:inset 0 0 0 1px rgba(20,20,20,.13); border-radius:28px; padding:clamp(20px,2vw,30px); color:#141414; transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease); }
.sv-mini:hover{ background:#2F6BFF; color:#fff; box-shadow:none; transform:translateY(-4px); }
.sv-mini-ico{ width:clamp(48px,3.8vw,60px); height:clamp(48px,3.8vw,60px); background:#fff; }
.sv-mini:hover .sv-mini-ico{ background:#fff; color:#2F6BFF; }
.sv-mini-t{ flex:0 0 auto; width:100%; padding-right:clamp(44px,3.6vw,58px); }
.sv-mini-t b{ font-size:clamp(20px,1.9vw,30px); letter-spacing:-0.03em; line-height:1.1; color:inherit; }
.sv-mini-t small{ margin-top:8px; font-size:clamp(13.5px,1vw,15.5px); line-height:1.45; color:#6A6A6A; transition:color .35s var(--ease); }
.sv-mini:hover .sv-mini-t small{ color:rgba(255,255,255,.88); }
.sv .sv-mini:hover .sv-mini-t b{ color:#fff; }
.sv-mini-go{ position:absolute; right:clamp(18px,1.8vw,28px); bottom:clamp(18px,1.8vw,28px); width:clamp(40px,3.2vw,50px); height:clamp(40px,3.2vw,50px); background:#fff; transition:background .35s var(--ease), color .35s var(--ease); }
.sv-mini:hover .sv-mini-go{ background:#fff; color:#2F6BFF; }
@media (max-width:1000px){
  .sv-mini{ aspect-ratio:auto; min-height:clamp(200px,48vw,300px); }
}

/* ======= Solutions: compact, fits one screen ======= */
.sv-wrap{ padding:clamp(20px,2.6vw,44px); }
.sv-head h2{ font-size:clamp(24px,2.8vw,44px); }
.sv-core{ margin-top:clamp(18px,2.4vw,36px); }
.sv-card{ min-height:clamp(250px,19vw,300px); padding:clamp(18px,1.8vw,26px); border-radius:24px; }
.sv-ico{ width:clamp(48px,3.6vw,58px); height:clamp(48px,3.6vw,58px); }
.sv-card h3{ padding-top:clamp(18px,2vw,30px); font-size:clamp(21px,1.9vw,30px); }
.sv-lead{ font-size:clamp(14.5px,1.1vw,17px); }
.sv-sub{ font-size:clamp(12.5px,.9vw,14.5px); }
.sv-go{ width:clamp(38px,3vw,46px); height:clamp(38px,3vw,46px); right:clamp(14px,1.4vw,22px); bottom:clamp(14px,1.4vw,22px); }
.sv-more-label{ margin-top:clamp(16px,2vw,26px); }
.sv-more{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(10px,1.2vw,18px); }
.sv-mini{ grid-column:span 1; border-radius:24px; padding:clamp(14px,1.4vw,20px); }
.sv-mini-ico{ width:clamp(40px,3.1vw,48px); height:clamp(40px,3.1vw,48px); }
.sv-mini-t{ padding-right:0; }
.sv-mini-t b{ font-size:clamp(16px,1.35vw,21px); }
.sv-mini-t small{ font-size:clamp(12px,.88vw,13.5px); margin-top:6px; }
.sv-mini-go{ top:clamp(14px,1.4vw,20px); right:clamp(14px,1.4vw,20px); bottom:auto; width:clamp(32px,2.6vw,38px); height:clamp(32px,2.6vw,38px); }
.sv-all{ grid-column:span 2; display:flex; flex-direction:column; justify-content:space-between; background:#141414; color:#fff; border-radius:24px; padding:clamp(18px,1.8vw,28px); transition:background .3s var(--ease); }
.sv-all:hover{ background:#2F6BFF; }
.sv-all b{ font-size:clamp(20px,1.9vw,30px); font-weight:600; letter-spacing:-0.03em; line-height:1.1; }
.sv-all small{ display:block; margin-top:8px; font-size:clamp(13px,.98vw,15px); line-height:1.45; color:rgba(255,255,255,.75); }
.sv-all-go{ align-self:flex-start; margin-top:12px; display:inline-flex; align-items:center; gap:10px; background:#fff; color:#141414; font-weight:600; font-size:clamp(13.5px,1vw,15px); padding:clamp(10px,.9vw,13px) clamp(16px,1.5vw,22px); border-radius:999px; }
.sv-all-go svg{ width:15px; height:15px; }
@media (max-width:1000px){
  .sv-more{ grid-template-columns:1fr; }
  .sv-mini, .sv-all{ grid-column:auto; }
  .sv-card{ min-height:0; }
  .sv-mini{ aspect-ratio:auto; min-height:0; }
  .sv-mini-go{ top:auto; bottom:clamp(14px,1.4vw,20px); }
}

/* ======= Solutions: six equal cards, 3 x 2 ======= */
.sv-core{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,22px); }
.sv-card{ min-height:clamp(230px,17vw,270px); }
.sv-card .sv-lead{ margin-top:clamp(8px,.8vw,12px); padding-right:clamp(46px,4vw,60px); }
.sv-card h3{ padding-top:clamp(14px,1.6vw,24px); }
@media (max-width:1000px){ .sv-core{ grid-template-columns:repeat(2,minmax(0,1fr)); } .sv-card{ min-height:clamp(200px,32vw,260px); } }
@media (max-width:600px){ .sv-core{ grid-template-columns:1fr; } .sv-card{ min-height:0; } .sv-card h3{ padding-top:clamp(30px,8vw,48px); } }

/* Solutions: six square cards */
@media (min-width:1001px){
  .sv-card{ aspect-ratio:1.22 / 1; min-height:0; }
  .sv-card h3{ font-size:clamp(22px,2.1vw,34px); }
  .sv-lead{ font-size:clamp(15px,1.2vw,19px); }
  .sv-sub{ font-size:clamp(13px,.95vw,15px); }
}

/* ======= audience: refined niche tags (dot + hairline, blue on hover) ======= */
.nx .nx-sub.nx-tags{ gap:clamp(6px,.6vw,10px); }
.nx .nx-tag{ position:relative; gap:9px; padding:clamp(8px,.75vw,11px) clamp(14px,1.2vw,19px) clamp(8px,.75vw,11px) clamp(12px,1vw,16px); font-size:clamp(13px,.98vw,15px); font-weight:500; letter-spacing:-.005em; border-radius:999px; background:transparent; color:#8C8C88; box-shadow:inset 0 0 0 1px rgba(20,20,20,.14); transition:background .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease); }
.nx .nx-tag::before{ content:""; flex:none; width:6px; height:6px; border-radius:50%; background:#C4C4BF; transition:background .3s var(--ease), transform .3s var(--ease); }
.nx .nx-item.is-hl .nx-tag, .nx .nx-item:hover .nx-tag{ background:#fff; color:#1C1C1C; box-shadow:inset 0 0 0 1px rgba(20,20,20,.08), 0 1px 2px rgba(20,20,20,.04); }
.nx .nx-item.is-hl .nx-tag::before, .nx .nx-item:hover .nx-tag::before{ background:#2F6BFF; }
.nx .nx-item.is-hl .nx-tag:hover, .nx .nx-item:hover .nx-tag:hover{ background:#2F6BFF; color:#fff; box-shadow:none; transform:translateY(-1px); }
.nx .nx-item.is-hl .nx-tag:hover::before, .nx .nx-item:hover .nx-tag:hover::before{ background:#fff; transform:scale(1.15); }
@media (min-width:701px){
  .nx .nx-item:not(.is-hl):not(:hover) .nx-tag{ background:transparent; color:#8C8C88; box-shadow:inset 0 0 0 1px rgba(20,20,20,.14); }
}
@media (max-width:700px){
  .nx .nx-item .nx-tag{ background:#fff; color:#1C1C1C; box-shadow:inset 0 0 0 1px rgba(20,20,20,.08); }
  .nx .nx-item .nx-tag::before{ background:#2F6BFF; }
}

/* ======= audience: tags as plain text, simple ======= */
.nx .nx-sub.nx-tags{ gap:0 clamp(14px,1.3vw,22px); }
.nx .nx-tag, .nx .nx-item:hover .nx-tag, .nx .nx-item.is-hl .nx-tag, .nx .nx-item:not(.is-hl):not(:hover) .nx-tag, .nx .nx-item .nx-tag{ padding:0; border-radius:0; background:none; box-shadow:none; transform:none; font-size:clamp(14px,1.1vw,17px); font-weight:500; color:#A3A39F; gap:0; }
.nx .nx-tag::before, .nx .nx-item.is-hl .nx-tag::before, .nx .nx-item:hover .nx-tag::before{ content:none; }
.nx .nx-item.is-hl .nx-tag, .nx .nx-item:hover .nx-tag{ color:#4A4A4A; }
.nx .nx-item.is-hl .nx-tag:hover, .nx .nx-item:hover .nx-tag:hover{ background:none; color:#141414; transform:none; }
@media (max-width:700px){ .nx .nx-item .nx-tag{ color:#4A4A4A; font-size:15px; } }

/* audience: lead paragraph in two lines */
.nx-head p{ max-width:34em; text-wrap:balance; }
@media (max-width:700px){ .nx-head p{ font-size:14px; } }

/* ======= About: founder photo + short intro, before the contact form ======= */
.ab{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.ab-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(16px,2vw,32px); display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(20px,3.4vw,64px); align-items:stretch; }
.ab-photo{ margin:0; border-radius:calc(var(--radius-lg) - 8px); overflow:hidden; background:#EEEEEB; min-height:clamp(320px,34vw,520px); }
.ab-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.ab-body{ display:flex; flex-direction:column; justify-content:center; padding:clamp(4px,1.4vw,24px) clamp(4px,1.6vw,28px) clamp(4px,1.4vw,24px) 0; }
.ab-body .eyebrow{ color:#7A7A7A; }
.ab-body h2{ margin-top:14px; font-size:clamp(26px,3.2vw,52px); font-weight:600; letter-spacing:-0.04em; line-height:1.06; color:#141414; max-width:18ch; }
.ab-lead{ margin-top:clamp(14px,1.5vw,22px); font-size:clamp(15px,1.2vw,18px); line-height:1.55; color:#5C5C5C; max-width:34em; }
.ab-facts{ list-style:none; margin:clamp(20px,2.4vw,36px) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:clamp(10px,1vw,14px); max-width:34em; }
.ab-facts li{ background:#fff; border-radius:20px; padding:clamp(14px,1.3vw,20px); display:flex; flex-direction:column; gap:4px; }
.ab-facts b{ font-size:clamp(20px,1.8vw,28px); font-weight:600; letter-spacing:-0.03em; color:#141414; line-height:1.1; }
.ab-facts span{ font-size:clamp(12.5px,.95vw,14px); color:#6A6A6A; line-height:1.35; }
.ab-person{ margin-top:clamp(18px,2vw,30px); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.ab-person b{ display:block; font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.ab-person small{ display:block; margin-top:2px; font-size:clamp(13px,1vw,15px); color:#7A7A7A; }
.ab-tg{ display:inline-flex; align-items:center; gap:10px; background:#2F6BFF; color:#fff; font-weight:600; font-size:clamp(14px,1.05vw,16px); padding:clamp(11px,1vw,14px) clamp(16px,1.5vw,22px); border-radius:999px; transition:background .25s var(--ease); }
.ab-tg:hover{ background:#1F55E0; }
.ab-tg svg{ width:18px; height:18px; }
@media (max-width:900px){
  .ab-wrap{ grid-template-columns:1fr; }
  .ab-photo{ min-height:0; aspect-ratio:1 / 1; }
  .ab-body{ padding:6px 6px 10px; }
}
@media (max-width:700px){
  .ab{ padding-left:0; padding-right:0; }
  .ab-wrap{ border-radius:0; padding:14px; }
  .ab-person{ flex-direction:column; align-items:flex-start; }
  .ab-tg{ width:100%; justify-content:center; }
}

/* About: no photo for now — single column. Add the <figure class="ab-photo"> back and drop .ab-wrap override to restore the split layout */
.ab-wrap{ grid-template-columns:1fr; padding:clamp(24px,4vw,72px) clamp(20px,3.6vw,64px); }
.ab-body{ padding:0; }
@media (max-width:700px){ .ab-wrap{ padding:26px 16px; } }

/* ======= About v2 (no photo): headline + contact left, intro + steps right ======= */
.ab-wrap{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,96px); align-items:stretch; padding:clamp(24px,4vw,72px) clamp(20px,3.6vw,64px); }
.ab-left{ display:flex; flex-direction:column; align-items:flex-start; }
.ab-left h2{ margin-top:14px; font-size:clamp(28px,3.6vw,60px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; color:#141414; max-width:13ch; }
.ab-left .eyebrow{ color:#7A7A7A; }
.ab-left .ab-person{ margin-top:auto; padding-top:clamp(24px,3vw,48px); width:100%; border-top:0; }
.ab-right{ display:flex; flex-direction:column; justify-content:flex-end; }
.ab-right .ab-lead{ margin:0; max-width:32em; font-size:clamp(15px,1.25vw,19px); }
.ab-steps{ list-style:none; margin:clamp(20px,2.4vw,36px) 0 0; padding:0; border-top:1px solid rgba(20,20,20,.12); }
.ab-steps li{ display:grid; grid-template-columns:clamp(36px,3.4vw,56px) minmax(0,1fr); align-items:start; gap:8px; padding:clamp(14px,1.5vw,22px) 0; border-bottom:1px solid rgba(20,20,20,.12); }
.ab-n{ font-size:clamp(12.5px,.95vw,14px); font-weight:600; letter-spacing:.04em; color:#2F6BFF; padding-top:.35em; }
.ab-steps b{ display:block; font-size:clamp(18px,1.6vw,24px); font-weight:600; letter-spacing:-0.025em; color:#141414; }
.ab-steps small{ display:block; margin-top:4px; font-size:clamp(13.5px,1vw,15.5px); line-height:1.45; color:#6A6A6A; }
@media (max-width:900px){
  .ab-wrap{ grid-template-columns:1fr; gap:20px; }
  .ab-left .ab-person{ margin-top:0; padding-top:18px; }
  .ab-left{ display:contents; }
  .ab-left .eyebrow{ order:0; } .ab-left h2{ order:1; }
}

/* About v3: calmer layout — headline | intro+steps, contact row below */
.ab-wrap{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(20px,3vw,40px) clamp(28px,6vw,110px); align-items:start; }
.ab-num{ position:static; z-index:auto; width:auto; height:auto; border-radius:0; background:none; box-shadow:none; display:block; font-size:clamp(12.5px,.95vw,14px); font-weight:600; letter-spacing:.04em; color:#2F6BFF; padding-top:.45em; }
.ab-left{ display:block; }
.ab-left h2{ max-width:16ch; font-size:clamp(28px,3.4vw,56px); }
.ab-right{ display:block; padding-top:clamp(0px,1.6vw,26px); }
.ab-right .ab-lead{ margin:0; }
.ab-wrap > .ab-person{ grid-column:1 / -1; margin-top:clamp(4px,1vw,12px); padding-top:clamp(18px,2vw,28px); border-top:1px solid rgba(20,20,20,.12); }
@media (max-width:900px){
  .ab-wrap{ grid-template-columns:1fr; }
  .ab-left{ display:block; }
  .ab-right{ padding-top:0; }
  .ab-left h2{ max-width:none; }
}
@media (max-width:700px){ .ab-wrap > .ab-person{ border-top:0; padding-top:6px; } }

/* About v4: photo slot (left) + content (right) */
.ab-wrap{ grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(20px,3.6vw,64px); align-items:stretch; padding:clamp(16px,2vw,32px); }
.ab-photo{ margin:0; border-radius:calc(var(--radius-lg) - 8px); overflow:hidden; background:#F2F2F0; min-height:clamp(320px,34vw,560px); display:flex; align-items:center; justify-content:center; }
.ab-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.ab-photo.is-empty svg{ width:clamp(64px,7vw,110px); height:auto; color:#C9C9C4; }
.ab-main{ display:block; padding:clamp(4px,1.6vw,28px) clamp(4px,1.6vw,28px) clamp(4px,1.2vw,20px) 0; }
.ab-main .eyebrow{ color:#7A7A7A; }
.ab-main h2{ margin-top:14px; font-size:clamp(26px,3.2vw,52px); font-weight:600; letter-spacing:-0.045em; line-height:1.05; color:#141414; max-width:16ch; }
.ab-main .ab-lead{ margin-top:clamp(14px,1.5vw,22px); max-width:34em; }
.ab-main .ab-steps{ margin-top:clamp(18px,2.2vw,32px); }
.ab-main .ab-person{ margin-top:clamp(18px,2vw,30px); padding-top:0; border-top:0; }
@media (max-width:900px){
  .ab-wrap{ grid-template-columns:1fr; }
  .ab-photo{ min-height:0; aspect-ratio:4 / 3; }
  .ab-main{ padding:6px 6px 10px; }
}
@media (max-width:700px){ .ab-wrap{ padding:14px; } .ab-main{ padding:6px 4px 8px; } }

/* ======= About (abt): photo slot + intro, steps, contact ======= */
.abt{ background:#fff; padding:clamp(16px,2vw,36px); scroll-margin-top:84px; }
.abt-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(16px,2vw,32px); display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(20px,3.6vw,64px); align-items:stretch; }
.abt-photo{ margin:0; border-radius:calc(var(--radius-lg) - 8px); overflow:hidden; background:#F2F2F0; min-height:clamp(320px,34vw,560px); display:flex; align-items:center; justify-content:center; }
.abt-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; }
.abt-photo.is-empty svg{ width:clamp(64px,7vw,110px); height:auto; color:#C9C9C4; }
.abt-main{ padding:clamp(4px,1.6vw,28px) clamp(4px,1.6vw,28px) clamp(4px,1.2vw,20px) 0; display:flex; flex-direction:column; justify-content:center; }
.abt-main .eyebrow{ color:#7A7A7A; }
.abt-main h2{ margin-top:14px; font-size:clamp(26px,3.2vw,52px); font-weight:600; letter-spacing:-0.045em; line-height:1.05; color:#141414; max-width:16ch; }
.abt-lead{ margin-top:clamp(14px,1.5vw,22px); font-size:clamp(15px,1.2vw,18px); line-height:1.55; color:#5C5C5C; max-width:34em; }
.abt-steps{ list-style:none; margin:clamp(18px,2.2vw,32px) 0 0; padding:0; border-top:1px solid rgba(20,20,20,.12); }
.abt-steps li{ display:grid; grid-template-columns:clamp(36px,3.4vw,56px) minmax(0,1fr); gap:8px; padding:clamp(12px,1.3vw,20px) 0; border-bottom:1px solid rgba(20,20,20,.12); }
.abt-num{ font-size:clamp(12.5px,.95vw,14px); font-weight:600; letter-spacing:.04em; color:#A3A39F; padding-top:.45em; }
.abt-steps b{ display:block; font-size:clamp(18px,1.6vw,24px); font-weight:600; letter-spacing:-0.025em; color:#141414; }
.abt-steps small{ display:block; margin-top:4px; font-size:clamp(13.5px,1vw,15.5px); line-height:1.45; color:#6A6A6A; }
.abt-person{ margin-top:clamp(18px,2vw,30px); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.abt-person b{ display:block; font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.abt-person small{ display:block; margin-top:2px; font-size:clamp(13px,1vw,15px); color:#7A7A7A; }
.abt-tg{ display:inline-flex; align-items:center; gap:10px; background:#2F6BFF; color:#fff; font-weight:600; font-size:clamp(14px,1.05vw,16px); padding:clamp(11px,1vw,14px) clamp(16px,1.5vw,22px); border-radius:999px; transition:background .25s var(--ease); }
.abt-tg:hover{ background:#1F55E0; }
.abt-tg svg{ width:18px; height:18px; }
@media (max-width:900px){
  .abt-wrap{ grid-template-columns:1fr; }
  .abt-photo{ min-height:0; aspect-ratio:4 / 3; }
  .abt-main{ padding:6px 6px 10px; }
}
@media (max-width:700px){
  .abt{ padding-left:0; padding-right:0; }
  .abt-wrap{ border-radius:0; padding:14px; }
  .abt-main{ padding:6px 4px 8px; }
  .abt-person{ flex-direction:column; align-items:flex-start; }
  .abt-tg{ width:100%; justify-content:center; }
}

/* About: smaller photo slot */
.abt-wrap{ grid-template-columns:clamp(200px,22vw,330px) minmax(0,1fr); align-items:start; gap:clamp(24px,4vw,72px); }
.abt-photo{ min-height:0; aspect-ratio:4 / 5; align-self:start; }
@media (max-width:900px){
  .abt-wrap{ grid-template-columns:1fr; }
  .abt-photo{ aspect-ratio:1 / 1; width:min(220px,60%); }
}

/* ======= About v5: side card (photo + person) | headline, lead, step cards ======= */
.abt-wrap{ grid-template-columns:clamp(240px,26vw,400px) minmax(0,1fr); gap:clamp(20px,3.4vw,56px); align-items:stretch; padding:clamp(16px,2vw,32px); }
.abt-side{ display:flex; flex-direction:column; gap:clamp(10px,1vw,14px); }
.abt-photo{ aspect-ratio:1 / 1; width:auto; align-self:stretch; min-height:0; flex:none; background:#E9E9E6; }
.abt-side .abt-person{ margin:0; background:#fff; border-radius:22px; padding:clamp(14px,1.4vw,20px); flex-direction:column; align-items:flex-start; gap:clamp(12px,1.2vw,16px); flex:1; justify-content:space-between; }
.abt-side .abt-tg{ width:100%; justify-content:center; }
.abt-main{ padding:clamp(6px,1.2vw,22px) clamp(4px,1.2vw,20px) 0 0; justify-content:flex-start; }
.abt-main h2{ max-width:18ch; }
.abt-steps{ border-top:0; margin-top:auto; padding-top:clamp(18px,2.2vw,32px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,1vw,14px); }
.abt-steps li{ display:flex; flex-direction:column; gap:clamp(18px,2.4vw,40px); background:#fff; border-radius:22px; padding:clamp(16px,1.6vw,24px); border-bottom:0; }
.abt-steps li > div{ margin-top:auto; }
.abt-num{ padding-top:0; }
@media (max-width:1000px){ .abt-steps{ grid-template-columns:1fr; } .abt-steps li{ flex-direction:row; gap:12px; align-items:flex-start; } .abt-steps li > div{ margin-top:0; } }
@media (max-width:900px){
  .abt-wrap{ grid-template-columns:1fr; }
  .abt-photo{ aspect-ratio:4 / 3; width:auto; }
  .abt-side .abt-person{ flex:none; }
  .abt-main{ padding:4px 4px 6px; }
  .abt-steps{ margin-top:0; }
}

/* ======= About v6: round founder photo on a blue card ======= */
.abt-wrap{ grid-template-columns:clamp(260px,30vw,460px) minmax(0,1fr); }
.abt-side{ background:#2F6BFF; border-radius:calc(var(--radius-lg) - 8px); padding:clamp(20px,2.4vw,40px); align-items:center; justify-content:center; text-align:center; gap:clamp(16px,1.8vw,28px); position:relative; overflow:hidden; }
.abt-side::before{ content:""; position:absolute; width:140%; aspect-ratio:1; left:-20%; top:-62%; border-radius:50%; background:rgba(255,255,255,.07); pointer-events:none; }
.abt-side::after{ content:""; position:absolute; width:90%; aspect-ratio:1; right:-45%; bottom:-48%; border-radius:50%; background:rgba(255,255,255,.06); pointer-events:none; }
.abt-photo, .abt-photo.is-empty{ position:relative; z-index:1; width:min(100%,clamp(200px,20vw,320px)); aspect-ratio:1 / 1; align-self:center; border-radius:50%; background:#2F6BFF; box-shadow:0 0 0 clamp(4px,.45vw,7px) rgba(255,255,255,.95), 0 18px 40px rgba(10,30,90,.28); }
.abt-photo img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
.abt-side .abt-person{ position:relative; z-index:1; background:none; padding:0; flex:none; display:block; text-align:center; }
.abt-side .abt-person b{ color:#fff; font-size:clamp(19px,1.7vw,26px); letter-spacing:-0.025em; }
.abt-side .abt-person small{ color:rgba(255,255,255,.78); margin-top:4px; font-size:clamp(13.5px,1.05vw,16px); }
@media (max-width:900px){
  .abt-wrap{ grid-template-columns:1fr; }
  .abt-photo, .abt-photo.is-empty{ width:min(70%,260px); }
  .abt-side{ padding:28px 20px; }
}

/* About v6 polish: even step cards, subtle hover */
.abt-steps b{ font-size:clamp(17px,1.4vw,21px); letter-spacing:-0.02em; white-space:nowrap; }
.abt-steps li{ transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.abt-steps li:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(20,20,20,.07); }
.abt-steps li:hover .abt-num{ color:#2F6BFF; }
.abt-num{ transition:color .3s var(--ease); }
.abt-main h2{ max-width:17ch; }
@media (max-width:1000px){ .abt-steps b{ white-space:normal; } }
@media (max-width:1200px) and (min-width:1001px){ .abt-steps b{ white-space:normal; } }
@media (min-width:1001px){ .abt-steps li{ gap:clamp(18px,2.4vw,40px); } .abt-steps li > div{ margin-top:0; } }

/* audience: no arrow buttons on mobile */
@media (max-width:700px){
  .nx .nx-go{ display:none; }
  .nx .nx-row{ grid-template-columns:30px minmax(0,1fr); }
}

/* Solutions on mobile: cards stretch to nearly the full width (like "Наш подход") */
@media (max-width:700px){
  .sv-wrap{ padding:26px 8px 8px; }
  .sv-head{ padding-left:12px; padding-right:12px; }
  .sv-core{ gap:8px; }
  .sv-card{ border-radius:22px; padding:20px; }
}

/* audience: row numbers stay gray (no blue) */
.nx .nx-num, .nx .nx-item.is-hl .nx-num, .nx .nx-item:hover .nx-num, .nx .nx-item .nx-num,
.nx .nx-item:not(.is-hl):not(:hover) .nx-num{ color:#A3A39F; }

/* ======= Solutions: illustration on top of every card ======= */
.sv-card{ aspect-ratio:auto; min-height:0; padding:clamp(10px,.9vw,14px) clamp(10px,.9vw,14px) clamp(18px,1.6vw,24px); border-radius:26px; }
.sv-ico{ display:none; }
.sv-media{ position:relative; display:block; aspect-ratio:2 / 1; border-radius:18px; overflow:hidden; background:#F9F9F8; flex:none; }
.sv-media.is-dark{ background:#000; }
.sv-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease); }
.sv-media:not(.is-dark) img{ mix-blend-mode:multiply; }
.sv-card:hover .sv-media img{ transform:scale(1.04); }
.sv-n{ top:clamp(22px,1.9vw,28px); left:clamp(22px,1.9vw,28px); right:auto; z-index:1; background:#fff; color:#7A7A7A; padding:3px 9px; border-radius:999px; font-size:clamp(12px,.9vw,14px); }
.sv-card:hover .sv-n{ color:#2F6BFF; background:#fff; }
.sv-card h3{ margin-top:clamp(14px,1.4vw,22px); padding:0 clamp(8px,.8vw,12px); font-size:clamp(21px,1.8vw,28px); }
.sv-card .sv-lead{ margin-top:clamp(6px,.6vw,10px); padding-left:clamp(8px,.8vw,12px); padding-right:clamp(52px,4.4vw,66px); font-size:clamp(14.5px,1.1vw,17px); }
.sv-card .sv-sub{ padding-left:clamp(8px,.8vw,12px); }
@media (max-width:700px){
  .sv-card{ padding:8px 8px 18px; border-radius:22px; }
  .sv-media{ aspect-ratio:16 / 10; border-radius:16px; }
  .sv-n{ top:18px; left:18px; }
  .sv-card h3{ margin-top:14px; padding:0 10px; }
  .sv-card .sv-lead, .sv-card .sv-sub{ padding-left:10px; }
}

/* Solutions v2: frameless illustrations on white cards, calm hover */
.sv-media, .sv-media.is-dark{ background:none; border-radius:0; }
.sv-media:not(.is-dark) img, .sv-media img{ mix-blend-mode:normal; }
.sv-n{ background:none; padding:0; top:clamp(20px,1.7vw,26px); left:clamp(22px,1.9vw,28px); color:#B5B5B1; }
.sv-card:hover{ background:#fff; color:#141414; transform:translateY(-4px); box-shadow:0 18px 40px rgba(20,20,20,.08); }
.sv-card:hover .sv-n{ color:#2F6BFF; background:none; }
.sv-card:hover .sv-sub{ color:#6A6A6A; }
.sv-card:hover .sv-go{ background:#2F6BFF; color:#fff; }
.sv-card:hover .sv-media img{ transform:scale(1.03); }

/* Solutions: one featured card in brand blue */
.sv-card.is-featured, .sv-card.is-featured:hover{ background:#2F6BFF; color:#fff; }
.sv-card.is-featured .sv-media{ background:#fff; border-radius:18px; }
.sv-card.is-featured .sv-n, .sv-card.is-featured:hover .sv-n{ color:#2F6BFF; }
.sv-card.is-featured .sv-sub, .sv-card.is-featured:hover .sv-sub{ color:rgba(255,255,255,.85); }
.sv-card.is-featured .sv-go, .sv-card.is-featured:hover .sv-go{ background:#fff; color:#2F6BFF; }
.sv-card.is-featured:hover{ box-shadow:0 18px 40px rgba(47,107,255,.28); }

/* ======= Case 1: artwork card (chip + big title over the illustration) ======= */
.cc-art{ background:#2468FF; }
.cc-art-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; z-index:0; transition:transform .8s var(--ease); }
.cc-art:hover .cc-art-img{ transform:scale(1.03); }
.cc-art .cc-chip{ position:relative; z-index:1; align-self:flex-start; padding:9px 18px; border-radius:999px; border:1.5px solid rgba(255,255,255,.85); font-size:clamp(11.5px,.9vw,13.5px); font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#fff; }
.cc-art .cc-arrow{ top:auto; bottom:clamp(18px,1.8vw,28px); z-index:1; }
.cc-art .cc-art-text{ position:relative; z-index:1; margin-top:auto; max-width:min(60%,18em); }
.cc-art .cc-title{ margin:0; padding:0; font-size:clamp(30px,4.4vw,70px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; max-width:9ch; }
.cc-art .cc-art-sub{ margin:clamp(10px,1vw,16px) 0 0; font-size:clamp(14px,1.1vw,17px); line-height:1.4; color:rgba(255,255,255,.9); max-width:22em; }
@media (max-width:1100px){ .cc-art .cc-art-text{ max-width:62%; } .cc-art .cc-title{ font-size:clamp(30px,6vw,54px); } }
@media (max-width:640px){
  .cc.cc-art{ min-height:0; padding:0 0 22px; }
  .cc-art-img{ position:relative; inset:auto; display:block; width:100%; height:auto; aspect-ratio:2 / 1; object-position:center; }
  .cc-art .cc-chip{ position:absolute; top:16px; left:16px; padding:7px 14px; }
  .cc-art .cc-arrow{ top:16px; bottom:auto; right:16px; }
  .cc-art .cc-art-text{ max-width:none; margin-top:20px; padding:0 22px; }
  .cc-art .cc-title{ font-size:clamp(34px,10vw,46px); max-width:none; }
}

/* Case 1 art card v2: art top-right (smaller), no text overlap; stacked layout below 1100px */
@media (min-width:1101px){
  .cc-art{ background:#2468FF; }
  .cc-art-img{ left:auto; right:0; top:0; width:80%; height:auto; aspect-ratio:2 / 1; object-fit:cover; object-position:right top; }
  .cc-art .cc-title{ font-size:clamp(28px,3.6vw,58px); max-width:none; white-space:nowrap; }
  .cc-art .cc-art-text{ max-width:none; }
}
@media (max-width:1100px){
  .cc.cc-art{ min-height:0; padding:0 0 clamp(22px,3vw,30px); background:#2468FF; }
  .cc-art-img{ position:relative; inset:auto; display:block; width:100%; height:auto; aspect-ratio:2 / 1; object-fit:cover; object-position:center top; }
  .cc-art .cc-chip{ position:relative; top:auto; left:auto; margin:clamp(14px,2vw,22px) clamp(20px,3vw,34px) 0; }
  .cc-art .cc-art-text{ max-width:none; margin-top:clamp(14px,2vw,20px); padding:0 clamp(20px,3vw,34px); }
  .cc-art .cc-title{ font-size:clamp(32px,6.4vw,54px); max-width:none; }
  .cc-art .cc-arrow{ top:auto; bottom:clamp(18px,2.4vw,28px); right:clamp(18px,2.4vw,28px); }
}
@media (max-width:640px){
  .cc-art .cc-title{ font-size:clamp(30px,9vw,42px); }
  .cc-art .cc-art-text{ padding-right:74px; }
  .cc-art .cc-arrow{ top:auto; right:16px; bottom:20px; }
}

/* Case 1 art card v3: bigger art, sits lower; card grows with its width */
@media (min-width:1101px){
  .cc.cc-art{ aspect-ratio:1.6 / 1; min-height:0; }
  .cc-art-img{ width:92%; top:5%; object-position:right top; }
  .cc-art .cc-art-text{ padding-bottom:2px; }
}

/* Case 1 art card v4: even bigger art, bleeds off the right edge */
@media (min-width:1101px){
  .cc.cc-art{ aspect-ratio:1.5 / 1; }
  .cc-art-img{ width:106%; right:-3%; top:4%; }
}

/* Case 1 art card v5: card keeps its normal size; only the interface picture is bigger and lower */
@media (min-width:1101px){
  .cc.cc-art{ aspect-ratio:auto; min-height:clamp(380px,32vw,520px); }
  .cc-art-img{ width:104%; right:-8%; top:10%; height:auto; object-fit:cover; object-position:left top; }
  .cc-art .cc-art-text{ max-width:none; }
  .cc-art .cc-title{ font-size:clamp(24px,3vw,46px); max-width:6em; white-space:normal; }
  .cc-art .cc-art-sub{ max-width:13em; font-size:clamp(13px,1vw,15.5px); }
}
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(24px,3vw,46px); max-width:6em; white-space:normal; }
  .cc.cc-art:nth-child(1) .cc-art-sub{ max-width:13em; }
}
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-title{ text-wrap:balance; } }

/* ======= Case 4 (autoprice): square art on the right, text left ======= */
@media (min-width:1101px){
  .cc.cc-art-sq .cc-art-img{ left:auto; right:-2%; top:-5%; width:auto; height:132%; aspect-ratio:1 / 1; object-fit:cover; }
  .cc.cc-art-sq:nth-child(4) .cc-title{ font-size:clamp(24px,3vw,46px); max-width:7em; white-space:normal; text-wrap:balance; }
  .cc.cc-art-sq:nth-child(4) .cc-art-sub{ max-width:15em; font-size:clamp(13px,1vw,15.5px); }
}
@media (max-width:1100px){
  .cc.cc-art-sq .cc-art-img{ aspect-ratio:4 / 3; object-position:center 32%; }
}
@media (min-width:1101px){ .cc.cc-art-sq .cc-art-img{ top:-8%; height:120%; right:-1%; } }
@media (min-width:1101px){ .cc.cc-art-sq .cc-art-img{ right:7%; top:-6%; height:116%; } }
@media (min-width:1101px){ .cc.cc-art-sq .cc-art-img{ right:17%; } }

/* ======= Case 6 (call): 3:2 art on the right, text left ======= */
@media (min-width:1101px){
  .cc.cc-art-wide .cc-art-img{ left:auto; right:0; top:0; width:auto; height:100%; aspect-ratio:3 / 2; object-fit:cover; }
  .cc.cc-art-wide:nth-child(6) .cc-title{ font-size:clamp(22px,2.4vw,38px); max-width:6.5em; white-space:normal; text-wrap:balance; }
  .cc.cc-art-wide:nth-child(6) .cc-art-sub{ max-width:11em; font-size:clamp(13px,1vw,15px); }
}
@media (max-width:1100px){
  .cc.cc-art-wide .cc-art-img{ aspect-ratio:3 / 2; object-position:center top; }
}

/* Case 5 (autocrm): same 3:2 art pattern, art a bit smaller so the title never touches it */
@media (min-width:1101px){
  .cc.cc-art-wide:nth-child(5) .cc-art-img{ height:94%; top:4%; }
  .cc.cc-art-wide:nth-child(5) .cc-title{ font-size:clamp(20px,2.1vw,32px); max-width:8em; white-space:normal; text-wrap:balance; }
  .cc.cc-art-wide:nth-child(5) .cc-art-sub{ max-width:11em; font-size:clamp(13px,1vw,15px); }
}

/* art cards: card background matches each illustration's own blue (no seam) */
.cc.cc-art:nth-child(1){ background:#2267FE; }
.cc.cc-art:nth-child(4){ background:#256AFE; }
.cc.cc-art:nth-child(5){ background:#276DFD; }
.cc.cc-art:nth-child(6){ background:#2669FD; }

/* ======= Cases 2 and 3: text-only cards in the same style as the art cards ======= */
.cc.cc-art-plain{ background:#2669FD; }
.cc.cc-art-plain .cc-art-text{ max-width:none; padding-right:clamp(64px,5vw,76px); }
.cc.cc-art-plain .cc-title{ font-size:clamp(26px,2.8vw,42px); max-width:7em; white-space:normal; text-wrap:balance; letter-spacing:-0.04em; line-height:1.04; }
.cc.cc-art-plain .cc-art-sub{ max-width:16em; font-size:clamp(13.5px,1.1vw,16px); }
@media (max-width:1100px){
  .cc.cc-art-plain{ min-height:clamp(300px,42vw,380px); padding:clamp(20px,3vw,30px); }
  .cc.cc-art-plain .cc-chip{ position:relative; top:auto; left:auto; margin:0; }
  .cc.cc-art-plain .cc-art-text{ padding:0 76px 0 0; margin-top:auto; }
  .cc.cc-art-plain .cc-title{ font-size:clamp(28px,5.4vw,42px); max-width:9em; }
  .cc.cc-art-plain .cc-arrow{ top:auto; bottom:clamp(18px,2.4vw,28px); right:clamp(18px,2.4vw,28px); }
}
@media (max-width:640px){ .cc.cc-art-plain{ min-height:300px; padding:22px; } }

/* Solutions: photos from /resh — trimmed UI illustrations, 16:10 tiles on white cards */
.sv-media{ aspect-ratio:16 / 10; }
.sv-media img{ object-fit:contain; }

/* Solutions readability: image on a soft tile, no numbers, stronger title + lead, calmer hierarchy */
.sv-n{ display:none; }
.sv-media{ background:#F3F5F9; border-radius:20px; }
.sv-media img{ mix-blend-mode:multiply; }
.sv-card.is-featured .sv-media{ background:#fff; }
.sv-card.is-featured .sv-media img{ mix-blend-mode:normal; }
.sv-card{ padding:clamp(10px,.9vw,14px) clamp(10px,.9vw,14px) clamp(22px,2vw,30px); }
.sv-card h3{ margin-top:clamp(18px,1.8vw,26px); padding:0 clamp(12px,1.1vw,16px); font-size:clamp(24px,2.1vw,34px); font-weight:600; letter-spacing:-0.035em; }
.sv-card .sv-lead{ margin-top:clamp(8px,.8vw,12px); padding-left:clamp(12px,1.1vw,16px); font-size:clamp(16px,1.25vw,19px); line-height:1.35; font-weight:500; color:#141414; }
.sv-card .sv-sub{ margin-top:clamp(8px,.8vw,12px); padding-left:clamp(12px,1.1vw,16px); font-size:clamp(13.5px,1vw,15.5px); line-height:1.5; color:#8A8A87; }
.sv-card.is-featured .sv-lead{ color:#fff; }
.sv-card.is-featured .sv-sub{ color:rgba(255,255,255,.8); }
@media (max-width:700px){
  .sv-card h3{ padding:0 12px; font-size:clamp(25px,7.2vw,32px); }
  .sv-card .sv-lead, .sv-card .sv-sub{ padding-left:12px; }
}
.sv-media{ background:#EDF0F6; }
.sv-card .sv-sub{ display:none; }
.sv-card .sv-lead{ padding-right:clamp(56px,4.6vw,70px); }
@media (min-width:1001px){ .sv-card .sv-lead{ min-height:2.7em; } }
.sv-card .sv-media:not(.is-dark) img{ mix-blend-mode:multiply; }
.sv-card.is-featured .sv-media:not(.is-dark) img{ mix-blend-mode:normal; }

/* Logo: image mark + wordmark */
.logo{ align-items:center; }
.logo-img{ display:block; height:34px; width:auto; }
.site-footer .logo-img{ height:28px; }
@media (max-width:700px){ .logo-img{ height:30px; } }

/* Header: bolder nav, darker links, bigger logo and button */
.main-nav a, body:has(.hero) .site-header .main-nav a, body:has(.hero) .site-header.scrolled .main-nav a{ font-size:clamp(15px,1.1vw,17px); font-weight:600; letter-spacing:-0.01em; color:#141414; }
.main-nav a:hover, body:has(.hero) .site-header .main-nav a:hover, body:has(.hero) .site-header.scrolled .main-nav a:hover{ color:#2F6BFF; }
.main-nav a::after, body:has(.hero) .site-header.scrolled .main-nav a::after{ background:#2F6BFF; }
.btn-header{ font-size:clamp(15px,1.05vw,16px); font-weight:700; }
.logo-img{ height:38px; }
@media (max-width:700px){ .logo-img{ height:32px; } }
.site-header .main-nav a, body:has(.hero) .site-header:not(.scrolled) .main-nav a, body:has(.hero) .site-header.scrolled .main-nav a{ font-weight:600 !important; color:#141414 !important; font-size:clamp(15px,1.1vw,17px) !important; }
.site-header .main-nav a:hover, body:has(.hero) .site-header .main-nav a:hover{ color:#2F6BFF !important; }
.logo-img{ height:28px; }
.site-footer .logo-img{ height:24px; }
@media (max-width:700px){ .logo-img{ height:25px; } }

/* Solutions: the small description under each lead is back */
.sv-card .sv-sub{ display:block; margin-top:clamp(6px,.6vw,10px); padding-right:clamp(56px,4.6vw,70px); color:#7A7A77; }
.sv-card.is-featured .sv-sub{ color:rgba(255,255,255,.82); }

/* Solutions: image tiles white, same as the card */
.sv-card .sv-media, .sv-card .sv-media:not(.is-dark){ background:#fff; }
.sv-card .sv-media img, .sv-card .sv-media:not(.is-dark) img{ mix-blend-mode:normal; }

/* Solutions: no blue frame, the featured card is white like the others */
.sv-card.is-featured, .sv-card.is-featured:hover{ background:#fff; color:#141414; }
.sv-card.is-featured:hover{ box-shadow:0 18px 40px rgba(20,20,20,.08); }
.sv-card.is-featured h3, .sv-card.is-featured .sv-lead{ color:#141414; }
.sv-card.is-featured .sv-sub, .sv-card.is-featured:hover .sv-sub{ color:#7A7A77; }
.sv-card.is-featured .sv-go{ background:#F6F6F5; color:#141414; }
.sv-card.is-featured:hover .sv-go{ background:#2F6BFF; color:#fff; }

/* "Все решения" button: blue on hover */
.sv .sv-head .btn-outline:hover, .sv .sv-head-r .btn-outline:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }

/* ======= Solutions calm: no panel-in-panel, light-gray cards with a white image inset, quieter text ======= */
.sv{ padding-top:clamp(40px,5vw,88px); padding-bottom:clamp(8px,1vw,16px); }
.sv-wrap{ background:transparent; padding:0 clamp(8px,2vw,36px); border-radius:0; }
.sv-core{ gap:clamp(12px,1.2vw,18px); }
.sv-card, .sv-card.is-featured{ background:#F9F9F8; box-shadow:none; border-radius:28px; padding:clamp(10px,.9vw,14px) clamp(10px,.9vw,14px) clamp(20px,1.8vw,28px); }
.sv-card:hover, .sv-card.is-featured:hover{ background:#F4F4F2; box-shadow:none; transform:translateY(-3px); }
.sv-card .sv-media, .sv-card .sv-media:not(.is-dark), .sv-card.is-featured .sv-media{ background:#fff; border-radius:20px; }
.sv-card .sv-media img{ mix-blend-mode:normal; transform:scale(.94); }
.sv-card:hover .sv-media img{ transform:scale(.97); }
.sv-card h3{ font-size:clamp(22px,1.9vw,30px); margin-top:clamp(16px,1.5vw,22px); }
.sv-card .sv-lead{ font-size:clamp(15px,1.1vw,17px); font-weight:500; line-height:1.4; min-height:0; margin-top:clamp(6px,.6vw,10px); color:#141414; }
.sv-card .sv-sub{ display:none; }
.sv-card .sv-go{ background:#fff; }
.sv-card:hover .sv-go{ background:#2F6BFF; color:#fff; }
.sv-head{ margin-bottom:clamp(8px,1vw,16px); }
@media (max-width:700px){ .sv-wrap{ padding:0 8px; } .sv-head{ padding:0 12px; } }

/* Solutions: concrete description under each card is back */
.sv-card .sv-sub{ display:block; margin-top:clamp(6px,.6vw,10px); padding-right:clamp(52px,4.4vw,66px); font-size:clamp(13.5px,1vw,15.5px); line-height:1.45; color:#7A7A77; }
.sv-card .sv-lead{ padding-right:clamp(52px,4.4vw,66px); }

/* Solutions: gray panel around the block is back (original look), cards white inside */
.sv{ padding:clamp(16px,2vw,36px); }
.sv-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,2.6vw,44px); }
.sv-card, .sv-card.is-featured{ background:#fff; }
.sv-card:hover, .sv-card.is-featured:hover{ background:#fff; box-shadow:0 18px 40px rgba(20,20,20,.08); }
.sv-card .sv-go, .sv-card.is-featured .sv-go{ background:#F6F6F5; }
.sv-card:hover .sv-go{ background:#2F6BFF; color:#fff; }
.sv-card .sv-media, .sv-card.is-featured .sv-media{ background:#fff; }
@media (max-width:700px){ .sv{ padding-left:0; padding-right:0; } .sv-wrap{ border-radius:0; padding:26px 8px 8px; } }

/* gap between "Решения" and "Наш подход" */
.sv{ padding-bottom:0; }
.process{ padding-top:clamp(24px,3.2vw,48px); }
@media (max-width:700px){ .process{ padding-top:20px; } }

/* Case 1 art (55.png, transparent): fit whole picture, no crop */
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:86%; right:0; top:8%; left:auto; height:auto; object-fit:contain; object-position:right top; }
}

/* ======= Cases: art cards on mobile/tablet — crop empty space, balanced heights ======= */
@media (max-width:1100px){
  .cc.cc-art .cc-title{ font-size:clamp(24px,3.4vw,34px); overflow-wrap:break-word; hyphens:auto; }
  .cc.cc-art:nth-child(1) .cc-title, .cc.cc-art:nth-child(4) .cc-title{ font-size:clamp(28px,4.6vw,40px); }
  .cc.cc-art .cc-art-img{ aspect-ratio:auto; height:clamp(220px,34vw,300px); object-fit:cover; object-position:90% 30%; }
  .cc.cc-art:nth-child(4) .cc-art-img{ object-position:82% 14%; }
}
@media (max-width:640px){
  .cc.cc-art .cc-art-img{ height:clamp(210px,60vw,250px); transform:scale(1.14); transform-origin:92% 40%; }
  .cc.cc-art:nth-child(4) .cc-art-img{ transform:none; height:clamp(240px,66vw,280px); object-position:80% 12%; }
  .cc.cc-art .cc-title{ font-size:clamp(28px,8vw,36px); }
  .cc.cc-art-plain{ min-height:230px; }
  .cc.cc-art-plain .cc-title{ font-size:clamp(28px,8vw,36px); }
}
@media (max-width:1100px){
  .cc.cc-art:nth-child(1) .cc-art-img{ height:auto; aspect-ratio:2 / 1; object-fit:contain; object-position:center; transform:none; padding:clamp(10px,3vw,24px) clamp(8px,2vw,20px) 0; box-sizing:border-box; }
}
@media (min-width:641px) and (max-width:1100px){
  .cc.cc-art:nth-child(4) .cc-art-img{ height:360px; object-fit:contain; object-position:right center; transform:none; padding-right:6%; box-sizing:border-box; }
}

/* audience on mobile: tags collapsed, tap on a niche opens them */
@media (max-width:700px){
  .nx .nx-item .nx-sub.nx-tags{ display:none; }
  .nx .nx-item.is-open .nx-sub.nx-tags{ display:flex; }
  .nx .nx-row{ position:relative; padding-right:34px; }
  .nx .nx-row::after{ content:""; position:absolute; right:4px; top:50%; width:12px; height:12px; margin-top:-8px; border-right:2px solid #A3A39F; border-bottom:2px solid #A3A39F; transform:rotate(45deg); transition:transform .3s var(--ease); }
  .nx .nx-item.is-open .nx-row::after{ transform:rotate(-135deg); margin-top:-3px; }
  .nx .nx-row{ grid-template-columns:30px minmax(0,1fr); }
}

/* Cases on phones: pictures larger, empty left side cropped (art card clips overflow) */
@media (max-width:640px){
  .cc.cc-art .cc-art-img{ transform:none; box-sizing:border-box; padding:0; max-width:none; }
  .cc.cc-art:nth-child(1) .cc-art-img{ width:130%; margin-left:-30%; height:auto; aspect-ratio:2 / 1; object-fit:contain; padding:14px 0 0; }
  .cc.cc-art:nth-child(4) .cc-art-img{ width:140%; margin-left:-40%; height:340px; object-fit:cover; object-position:100% 18%; }
  .cc.cc-art:nth-child(5) .cc-art-img, .cc.cc-art:nth-child(6) .cc-art-img{ width:150%; margin-left:-50%; height:280px; object-fit:cover; object-position:100% 38%; }
}
@media (max-width:640px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:118%; margin-left:-18%; }
  .cc.cc-art:nth-child(4) .cc-art-img{ width:128%; margin-left:-28%; height:360px; object-position:100% 20%; }
}

/* Cases on phones: all six cards identical squares */
@media (max-width:640px){
  .cc, .cc.cc-art, .cc.cc-art-plain{ aspect-ratio:1 / 1; min-height:0; height:auto; }
  .cc.cc-art{ padding:0 0 18px; }
  .cc.cc-art .cc-art-img, .cc.cc-art:nth-child(n) .cc-art-img{ flex:1 1 0; min-height:0; height:auto; width:100%; margin-left:0; aspect-ratio:auto; object-fit:cover; object-position:100% 30%; padding:0; transform:none; }
  .cc.cc-art:nth-child(1) .cc-art-img{ object-fit:contain; object-position:center; padding:16px 12px 0; box-sizing:border-box; }
  .cc.cc-art:nth-child(4) .cc-art-img{ object-position:92% 16%; }
  .cc.cc-art:nth-child(5) .cc-art-img, .cc.cc-art:nth-child(6) .cc-art-img{ object-position:96% 40%; }
  .cc.cc-art .cc-chip{ position:absolute; top:14px; left:14px; margin:0; z-index:2; padding:6px 12px; font-size:11px; background:rgba(47,107,255,.85); }
  .cc.cc-art .cc-art-text{ margin-top:12px; padding:0 74px 0 18px; flex:none; }
  .cc.cc-art .cc-title{ font-size:clamp(24px,7vw,30px); }
  .cc.cc-art .cc-art-sub{ font-size:13.5px; margin-top:6px; }
  .cc.cc-art .cc-arrow{ bottom:16px; right:16px; }
  .cc.cc-art-plain{ padding:18px; }
  .cc.cc-art-plain .cc-title{ font-size:clamp(26px,7.4vw,32px); }
}
@media (max-width:640px){
  .cc.cc-art-plain .cc-art-text{ margin-top:auto; padding:0 60px 0 0; }
  .cc.cc-art-plain .cc-chip{ top:18px; left:18px; }
  .cc.cc-art:nth-child(5) .cc-art-img{ object-position:96% 6%; padding-top:34px; box-sizing:border-box; }
}

/* Case 1: bigger picture (desktop) */
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:100%; top:2%; right:-2%; }
  .cc.cc-art:nth-child(1) .cc-art-text{ max-width:36%; }
  .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(26px,2.8vw,44px); }
}
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:96%; right:-1%; top:3%; }
  .cc.cc-art-wide:nth-child(5) .cc-art-img{ height:116%; top:-6%; right:-9%; }
  .cc.cc-art-wide:nth-child(5) .cc-art-text{ position:relative; z-index:2; }
}
@media (min-width:641px) and (max-width:1100px){
  .cc.cc-art:nth-child(5) .cc-art-img{ transform:scale(1.18); transform-origin:90% 40%; }
}
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-art-img{ top:-6%; width:94%; } }

/* audience on phones: panel edge to edge, tighter inner padding */
@media (max-width:700px){
  .nx{ padding-left:0; padding-right:0; }
  .nx .nx-wrap{ padding:26px 14px 10px; border-radius:0; }
  .nx .nx-head{ padding:0 4px; }
  .nx .nx-row{ grid-template-columns:26px minmax(0,1fr); gap:8px; padding-right:28px; }
  .nx .nx-name{ font-size:clamp(24px,7vw,30px); }
}
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-art-img{ right:3%; } }

/* Case 1 on phones: tightly cropped art, as large as fits without touching the card edges */
.cc-art picture{ display:contents; }
@media (max-width:640px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:calc(100% - 28px); margin:34px 14px 0; flex:1 1 0; min-height:0; object-fit:contain; object-position:center bottom; padding:0; }
}

/* audience on phones: each niche is a big white card that opens */
@media (max-width:700px){
  .nx .nx-wrap{ padding:26px 8px 8px; }
  .nx .nx-head{ padding:0 12px; }
  .nx .nx-list{ border-top:0; display:flex; flex-direction:column; gap:8px; margin-top:18px; }
  .nx .nx-item, .nx .nx-item.is-hl, .nx .nx-item:hover{ border:0; background:#fff; border-radius:24px; padding:6px 20px; transition:background .3s var(--ease); }
  .nx .nx-item.is-open{ background:#fff; box-shadow:0 14px 34px -20px rgba(20,20,20,.25); }
  .nx .nx-row{ min-height:92px; padding:18px 30px 18px 0; align-items:center; grid-template-columns:30px minmax(0,1fr); }
  .nx .nx-item.is-open .nx-row{ align-items:start; padding-bottom:10px; }
  .nx .nx-name{ font-size:clamp(24px,7vw,30px); }
  .nx .nx-row::after{ right:2px; }
  .nx .nx-item .nx-sub.nx-tags{ gap:8px; margin-top:14px; padding-bottom:6px; }
  .nx .nx-item.is-open .nx-sub.nx-tags .nx-tag{ padding:8px 14px; border-radius:999px; background:#F6F6F5; color:#2A2A2A; font-size:14.5px; }
}


/* Case 2 (444.png): picture only on phones */
.cc-art-img-m{ display:none; }
@media (max-width:640px){
  .cc.cc-art-plain.has-img, .cc.cc-art-plain:nth-child(2){ padding:0 0 18px; }
  .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ display:block; flex:1 1 0; min-height:0; width:calc(100% - 28px); height:auto; margin:38px 14px 0; object-fit:contain; object-position:center; position:relative; inset:auto; transform:none; padding:0; }
  .cc.cc-art-plain:nth-child(2) .cc-art-text{ margin-top:12px; padding:0 74px 0 18px; }
  .cc.cc-art-plain:nth-child(2) .cc-chip{ top:14px; left:14px; }
}
@media (min-width:1101px){ .cc.cc-art-wide:nth-child(5) .cc-art-img{ right:4%; top:-2%; height:108%; } }
@media (min-width:1101px){ .cc.cc-art-wide:nth-child(5) .cc-art-img{ left:auto; right:0; top:-3%; width:104%; height:auto; aspect-ratio:3 / 2; object-position:left top; } }

/* Process: larger card titles only */
.process .process-step h3{ font-size:clamp(24px,2.1vw,32px); line-height:1.1; letter-spacing:-0.03em; }
@media (max-width:700px){ .process .process-step h3{ font-size:clamp(24px,7vw,28px); } }
@media (min-width:701px){ .process .process-step h3{ font-size:clamp(22px,1.8vw,26px); white-space:nowrap; } }

/* Case 2 on phones: bigger picture */
@media (max-width:640px){
  .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ margin:26px 8px 0; width:calc(100% - 16px); transform:scale(1.14); transform-origin:50% 55%; }
}

/* FAQ + industries (kept from v2) */
.fq{ background:#fff; padding:clamp(24px,4vw,72px) clamp(16px,2vw,36px); scroll-margin-top:84px; }
.fq-wrap{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(20px,5vw,96px); align-items:start; }
.fq-head h2{ margin:12px 0 0; font-size:clamp(26px,3vw,48px); font-weight:600; letter-spacing:-0.04em; line-height:1.06; color:#141414; max-width:14ch; }
.fq-head .eyebrow{ color:#7A7A7A; }
.fq-list{ border-top:1px solid rgba(20,20,20,.12); }
.fq-item{ border-bottom:1px solid rgba(20,20,20,.12); }
.fq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:clamp(16px,1.6vw,24px) 0; font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.fq-item summary::-webkit-details-marker{ display:none; }
.fq-item summary::after{ content:""; flex:none; width:12px; height:12px; border-right:2px solid #2F6BFF; border-bottom:2px solid #2F6BFF; transform:rotate(45deg); transition:transform .3s var(--ease); margin-right:6px; }
.fq-item[open] summary::after{ transform:rotate(-135deg); }
.fq-item p{ margin:0; padding:0 clamp(0px,3vw,48px) clamp(16px,1.8vw,26px) 0; font-size:clamp(14.5px,1.1vw,17px); line-height:1.6; color:#4A4A4A; max-width:46em; }
@media (max-width:900px){ .fq-wrap{ grid-template-columns:1fr; } .fq-head h2{ max-width:none; } }


/* industries */
.ind{ background:#fff; padding:clamp(24px,4vw,72px) clamp(16px,2vw,36px) clamp(16px,2vw,36px); scroll-margin-top:84px; }
.ind-wrap{ max-width:1240px; margin:0 auto; }
.ind-head h2{ max-width:20ch; }
.ind-grid{ margin-top:clamp(22px,3vw,44px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,20px); }
.ind-card{ position:relative; background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(20px,2.2vw,36px); display:flex; flex-direction:column; min-height:clamp(320px,26vw,420px); transition:background .3s var(--ease), transform .3s var(--ease); }
.ind-card:hover{ background:#F1F1EF; transform:translateY(-3px); }
.ind-n{ font-size:clamp(13px,1vw,15px); font-weight:600; letter-spacing:.06em; color:#A3A39F; }
.ind-card h3{ margin:clamp(18px,2vw,32px) 0 0; font-size:clamp(26px,2.5vw,40px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; color:#141414; }
.ind-card ul{ list-style:none; margin:clamp(14px,1.6vw,24px) 0 0; padding:0; display:flex; flex-direction:column; gap:clamp(8px,.8vw,12px); }
.ind-card li{ position:relative; padding-left:18px; font-size:clamp(15px,1.15vw,18px); font-weight:500; color:#3A3A3A; }
.ind-card li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:6px; border-radius:50%; background:#2F6BFF; }
.ind-btn{ margin-top:auto; padding-top:clamp(18px,2vw,28px); align-self:flex-start; display:inline-flex; align-items:center; gap:10px; font-size:clamp(14px,1.05vw,16px); font-weight:600; color:#fff; }
.ind-btn{ background:#2F6BFF; border-radius:999px; padding:clamp(12px,1vw,15px) clamp(18px,1.6vw,24px); margin-top:auto; }
.ind-card ul{ margin-bottom:clamp(18px,2vw,28px); }
.ind-btn svg{ width:16px; height:16px; }
.ind-btn:hover{ background:#1F55E0; }
.ind-note{ margin:clamp(16px,1.8vw,26px) 0 0; font-size:clamp(14px,1.1vw,17px); line-height:1.5; color:#5C5C5C; max-width:56em; }
@media (max-width:900px){ .ind-grid{ grid-template-columns:1fr; } .ind-card{ min-height:0; } }
@media (max-width:700px){ .ind{ padding-left:8px; padding-right:8px; } .ind-head, .ind-note{ padding:0 8px; } .ind-card{ border-radius:24px; } }


.fq-head h2{ max-width:12ch; }
.main-nav a{ white-space:nowrap; }
.ind-head h2{ margin:12px 0 0; font-size:clamp(30px,4.2vw,68px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; color:#141414; max-width:20ch; }
.ind-head .eyebrow{ color:#7A7A7A; }

/* cases: same outer edges as the other blocks */
#cases > .wrap, .cases > .wrap{ max-width:none; width:100%; padding-left:clamp(16px,2vw,36px); padding-right:clamp(16px,2vw,36px); }
#cases .cc-grid, #cases .cases-filters, #cases .cases-more{ max-width:none; }
@media (max-width:700px){ #cases > .wrap, .cases > .wrap{ padding-left:8px; padding-right:8px; } #cases .section-head, #cases .cases-filters{ padding-left:8px; padding-right:8px; } #cases .cases-more{ padding:0 8px; } }

/* header: a bit larger */
.logo-img{ height:34px; }
.site-header .main-nav a, body:has(.hero) .site-header:not(.scrolled) .main-nav a, body:has(.hero) .site-header.scrolled .main-nav a{ font-size:clamp(16px,1.2vw,18px) !important; }
.main-nav{ gap:clamp(22px,2.6vw,44px); }
.btn-header{ font-size:clamp(15.5px,1.1vw,17px); padding:clamp(13px,1vw,15px) clamp(22px,1.8vw,28px); }
@media (max-width:700px){ .logo-img{ height:28px; } }

/* "Как мы работаем" (timeline) */
/* process */
.pc{ background:#fff; padding:clamp(40px,5vw,96px) clamp(16px,2vw,36px) clamp(24px,3vw,48px); scroll-margin-top:84px; }
.pc-wrap{ max-width:1240px; margin:0 auto; }
.pc-head h2{ margin:12px 0 0; font-size:clamp(32px,4.8vw,80px); font-weight:600; letter-spacing:-0.05em; line-height:1.02; color:#141414; }
.pc-head .eyebrow{ color:#7A7A7A; }
.pc-grid{ list-style:none; margin:clamp(28px,3.4vw,56px) 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid rgba(20,20,20,.14); }
.pc-grid li{ padding:clamp(18px,2vw,32px) clamp(14px,1.8vw,28px) clamp(8px,1vw,16px); border-left:1px solid rgba(20,20,20,.12); }
.pc-grid li:first-child{ border-left:0; padding-left:0; }
.pc-n{ display:block; font-size:clamp(34px,3.6vw,60px); font-weight:600; letter-spacing:-0.04em; line-height:1; color:#2F6BFF; }
.pc-grid h3{ margin:clamp(18px,2.4vw,40px) 0 0; font-size:clamp(20px,1.8vw,28px); font-weight:600; letter-spacing:-0.03em; line-height:1.1; color:#141414; }
.pc-grid p{ margin:clamp(8px,.9vw,14px) 0 0; font-size:clamp(14px,1.05vw,16.5px); line-height:1.55; color:#4A4A4A; }
@media (max-width:900px){ .pc-grid{ grid-template-columns:1fr 1fr; } .pc-grid li:nth-child(odd){ border-left:0; padding-left:0; } .pc-grid li:nth-child(n+3){ border-top:1px solid rgba(20,20,20,.12); } }
@media (max-width:560px){ .pc{ padding-left:16px; padding-right:16px; } .pc-grid{ grid-template-columns:1fr; } .pc-grid li{ border-left:0; padding-left:0; border-top:1px solid rgba(20,20,20,.12); } .pc-grid li:first-child{ border-top:0; } .pc-n{ font-size:40px; } }


/* "Как мы работаем": six steps, 3 x 2 */
.pc-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.pc-grid li{ padding-bottom:clamp(20px,2.4vw,40px); border-left:1px solid rgba(20,20,20,.12); }
.pc-grid li:nth-child(3n+1){ border-left:0; padding-left:0; }
.pc-grid li:nth-child(n+4){ border-top:1px solid rgba(20,20,20,.12); }
.pc-grid h3{ white-space:nowrap; }
@media (max-width:1100px){ .pc-grid h3{ white-space:normal; } }
@media (max-width:900px){
  .pc-grid{ grid-template-columns:1fr 1fr; }
  .pc-grid li, .pc-grid li:nth-child(3n+1){ border-left:1px solid rgba(20,20,20,.12); padding-left:clamp(14px,1.8vw,28px); border-top:0; }
  .pc-grid li:nth-child(odd){ border-left:0; padding-left:0; }
  .pc-grid li:nth-child(n+3){ border-top:1px solid rgba(20,20,20,.12); }
}
@media (max-width:560px){
  .pc-grid{ grid-template-columns:1fr; }
  .pc-grid li, .pc-grid li:nth-child(odd){ border-left:0; padding-left:0; }
  .pc-grid li:nth-child(n+2){ border-top:1px solid rgba(20,20,20,.12); }
  .pc-grid li:first-child{ border-top:0; }
}

/* "Как мы работаем": full width like the other blocks, mobile border fix */
.pc{ padding-left:clamp(16px,2vw,36px); padding-right:clamp(16px,2vw,36px); }
.pc-wrap{ max-width:none; }
.pc-grid li{ padding-left:clamp(18px,2.4vw,40px); padding-right:clamp(14px,1.8vw,32px); }
.pc-grid li:nth-child(3n+1){ padding-left:0; }
@media (max-width:900px){ .pc-grid li:nth-child(3n+1){ border-left:1px solid rgba(20,20,20,.12); } .pc-grid li:nth-child(odd){ border-left:0; padding-left:0; } .pc-grid li:nth-child(even){ padding-left:clamp(14px,1.8vw,28px); } }
@media (max-width:700px){ .pc{ padding-left:8px; padding-right:8px; } .pc-head{ padding:0 8px; } .pc-grid li{ padding-left:8px !important; padding-right:8px; } }
@media (max-width:560px){ .pc-grid li:nth-child(n){ border-left:0 !important; padding-left:8px !important; } }

/* FAQ: same outer edges as other blocks */
.fq{ padding-left:clamp(16px,2vw,36px); padding-right:clamp(16px,2vw,36px); }
.fq-wrap{ max-width:none; }
@media (max-width:700px){ .fq{ padding-left:8px; padding-right:8px; } .fq-head{ padding:0 8px; } .fq-item summary{ padding-left:8px; } .fq-item p{ padding-left:8px; } }

/* "Как мы работаем" v2: gray panel + white cards, gray numbers (no blue) */
.pc{ padding:clamp(16px,2vw,36px); }
.pc-wrap{ background:#FCFCFB; border-radius:var(--radius-lg); padding:clamp(24px,3.6vw,60px) clamp(20px,3.2vw,56px) clamp(16px,2.2vw,36px); }
.pc-grid{ border-top:0; gap:clamp(10px,1.2vw,16px); margin-top:clamp(24px,3vw,44px); }
.pc-grid li, .pc-grid li:nth-child(n){ background:#fff; border:0 !important; border-radius:26px; padding:clamp(20px,2vw,32px) !important; min-height:clamp(220px,17vw,270px); display:flex; flex-direction:column; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.pc-grid li:hover{ transform:translateY(-3px); box-shadow:0 18px 40px -26px rgba(20,20,20,.25); }
.pc-n{ font-size:clamp(14px,1.05vw,16px) !important; font-weight:600; letter-spacing:.06em; color:#A3A39F !important; line-height:1; }
.pc-grid h3{ margin:auto 0 0 !important; font-size:clamp(22px,2vw,32px); letter-spacing:-0.035em; white-space:normal; }
.pc-grid p{ margin:clamp(8px,.8vw,12px) 0 0; }
.pc-head .eyebrow{ color:#7A7A7A; }
@media (max-width:900px){ .pc-grid li{ min-height:0; } .pc-grid h3{ margin-top:clamp(28px,6vw,44px) !important; } }
@media (max-width:700px){ .pc{ padding-left:0; padding-right:0; } .pc-wrap{ border-radius:0; padding:26px 8px 8px; } .pc-head{ padding:0 8px; } .pc-grid li, .pc-grid li:nth-child(n){ padding:20px !important; border-radius:22px; } }
.logo-img{ height:28px; }
.site-footer .logo-img{ height:24px; }
@media (max-width:700px){ .logo-img{ height:24px; } }
@media (max-width:900px){ .pc-grid li:nth-child(n){ min-height:0; } .pc-grid h3{ margin-top:clamp(18px,4vw,28px) !important; } }

/* "Как мы работаем" v3: large light numerals, tighter rhythm */
.pc-n{ font-size:clamp(52px,5.4vw,92px) !important; font-weight:600; letter-spacing:-0.05em; line-height:.9 !important; color:#E7E7E3 !important; }
.pc-grid li, .pc-grid li:nth-child(n){ min-height:clamp(250px,19vw,310px); }
.pc-grid h3{ font-size:clamp(21px,1.85vw,29px); }
.pc-grid p{ font-size:clamp(14px,1.05vw,16.5px); color:#5A5A57; max-width:30em; }
@media (max-width:900px){ .pc-n{ font-size:56px !important; } .pc-grid li:nth-child(n){ min-height:0; } }
@media (min-width:901px){ .pc-grid p{ min-height:4.65em; } }

/* lead magnet block */
.lm{ background:#fff; padding:clamp(8px,1vw,16px) clamp(16px,2vw,36px) clamp(16px,2vw,36px); }
.lm-card{ position:relative; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(16px,3vw,56px); background:#2669FD; color:#fff; border-radius:var(--radius-lg); padding:clamp(28px,4vw,72px) clamp(24px,4vw,72px) 0; overflow:hidden; align-items:stretch; min-height:clamp(320px,28vw,440px); }
.lm-body{ align-self:center; padding-bottom:clamp(28px,4vw,72px); }
.lm-body h2{ margin:0; font-size:clamp(28px,3.8vw,62px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; max-width:16ch; }
.lm-body p{ margin:clamp(14px,1.6vw,24px) 0 0; font-size:clamp(15px,1.3vw,20px); line-height:1.5; color:rgba(255,255,255,.92); max-width:36em; }
.lm-btn{ margin-top:clamp(20px,2.4vw,36px); display:inline-flex; align-items:center; gap:clamp(18px,2vw,32px); background:#EEF1FF; color:#1F44D8; border-radius:999px; padding:clamp(8px,.7vw,10px) clamp(8px,.7vw,10px) clamp(8px,.7vw,10px) clamp(24px,2.4vw,38px); font-size:clamp(15px,1.15vw,17px); font-weight:600; transition:background .3s var(--ease), transform .3s var(--ease); }
.lm-btn i{ width:clamp(38px,3vw,46px); height:clamp(38px,3vw,46px); border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; }
.lm-btn svg{ width:18px; height:18px; }
.lm-btn:hover{ background:#fff; transform:translateY(-2px); }
.lm-photo{ position:relative; margin:0; align-self:end; display:flex; justify-content:center; }
.lm-photo img{ display:block; max-width:100%; max-height:clamp(280px,26vw,420px); width:auto; height:auto; }
.lm-ph{ width:min(100%,360px); aspect-ratio:4 / 4.4; border-radius:28px 28px 0 0; background:rgba(255,255,255,.14); display:flex; align-items:flex-end; justify-content:center; color:rgba(255,255,255,.9); overflow:hidden; }
.lm-ph svg{ width:78%; height:auto; }
.lm-photo figcaption{ position:absolute; right:0; bottom:clamp(12px,1.4vw,20px); text-align:right; font-size:clamp(11.5px,.9vw,14px); font-weight:600; line-height:1.3; color:#fff; z-index:2; }
@media (max-width:900px){ .lm-card{ grid-template-columns:1fr; min-height:0; padding:clamp(24px,5vw,40px) clamp(20px,4vw,32px) 0; } .lm-body{ padding-bottom:12px; } .lm-photo{ justify-content:flex-end; } .lm-ph{ width:min(70%,260px); } }
@media (max-width:700px){ .lm{ padding-left:8px; padding-right:8px; } .lm-card{ border-radius:24px; } }
@media (max-width:900px){ .lm-photo figcaption{ right:auto; left:0; text-align:left; bottom:14px; } }

/* "Как мы работаем": white background, light-outline cards */
.pc-wrap{ background:transparent; border-radius:0; padding:clamp(24px,3.6vw,60px) clamp(8px,1.2vw,20px) clamp(8px,1vw,16px); }
.pc-grid li, .pc-grid li:nth-child(n){ background:#fff; box-shadow:inset 0 0 0 1px rgba(20,20,20,.12); }
.pc-grid li:hover{ box-shadow:inset 0 0 0 1px rgba(20,20,20,.2), 0 18px 40px -26px rgba(20,20,20,.22); }
.pc-n{ color:#E2E2DE !important; }
@media (max-width:700px){ .pc{ padding-left:8px; padding-right:8px; } .pc-wrap{ padding:26px 0 8px; } }

/* lead magnet: round founder photo */
.lm-photo{ align-self:end; justify-content:center; overflow:visible; }
.lm-photo img{ display:block; width:min(100%,clamp(260px,27vw,400px)); max-height:none; height:auto; aspect-ratio:1; border-radius:50%; margin-bottom:calc(clamp(-120px,-8vw,-60px)); box-shadow:0 0 0 clamp(5px,.6vw,9px) rgba(255,255,255,.95); }
.lm-photo figcaption{ right:auto; left:50%; transform:translateX(-50%); bottom:clamp(12px,1.4vw,20px); text-align:center; text-shadow:0 1px 8px rgba(0,0,0,.45); }
@media (max-width:900px){ .lm-photo img{ width:min(64%,260px); margin-bottom:-70px; } .lm-photo figcaption{ left:50%; text-align:center; } }
.lm-photo figcaption{ left:0; transform:none; text-align:left; bottom:clamp(14px,1.8vw,26px); }
@media (max-width:900px){
  .lm-photo{ flex-direction:column; align-items:center; }
  .lm-photo figcaption{ position:static; order:-1; transform:none; text-align:center; margin-bottom:14px; text-shadow:none; }
}
@media (min-width:901px){
  .lm-photo{ justify-content:flex-end; }
  .lm-photo img{ width:min(78%,clamp(240px,23vw,340px)); }
  .lm-photo figcaption{ left:0; }
}
@media (min-width:901px){ .lm-photo figcaption{ left:auto; right:calc(min(78%,clamp(240px,23vw,340px)) + clamp(14px,1.6vw,24px)); text-align:right; } }

/* lead magnet photo: no ring, raised */
.lm-photo img{ box-shadow:none !important; margin-bottom:calc(clamp(-60px,-4vw,-30px)) !important; }
@media (max-width:900px){ .lm-photo img{ margin-bottom:-36px !important; } }

/* audience: no numbers, title and tags aligned to the left edge */
.nx .nx-num{ display:none; }
.nx .nx-row{ grid-template-columns:minmax(0,1fr) auto; }
@media (max-width:700px){ .nx .nx-row{ grid-template-columns:minmax(0,1fr); } }

/* page side margins: a bit narrower than before, aligned with the header logo (desktop/tablet) */
@media (min-width:701px){
  :root{ --page-gutter:clamp(20px,4vw,72px); }
  .nx, .sv, .pc, .lm, .fq, #contact{ padding-left:var(--page-gutter) !important; padding-right:var(--page-gutter) !important; }
  #cases > .wrap, .cases > .wrap{ padding-left:var(--page-gutter); padding-right:var(--page-gutter); }
}

/* "Как мы работаем": no outline on cards */
.pc-grid li, .pc-grid li:nth-child(n){ box-shadow:none !important; }
.pc-grid li:hover{ box-shadow:0 18px 40px -26px rgba(20,20,20,.18) !important; }
.pc-grid li, .pc-grid li:nth-child(n){ padding-left:0 !important; padding-right:clamp(12px,2vw,36px) !important; background:transparent; }
.pc-grid{ gap:clamp(8px,1vw,16px) clamp(16px,2vw,40px); }
@media (max-width:700px){ .pc-grid li, .pc-grid li:nth-child(n){ padding:12px 8px !important; } }

/* lead magnet: site style (gray panel, black type, blue button, blue photo circle) */
.lm-card{ background:#FCFCFB; color:#141414; }
.lm-body h2{ color:#141414; }
.lm-body p{ color:#4A4A4A; }
.lm-btn{ background:#2F6BFF; color:#fff; }
.lm-btn i{ background:#fff; color:#2F6BFF; }
.lm-btn:hover{ background:#1F55E0; color:#fff; }
.lm-photo figcaption{ color:#141414; text-shadow:none; }
.lm-photo img{ box-shadow:none !important; }

/* lead magnet: two buttons */
.lm-body{ display:flex; flex-direction:column; align-items:flex-start; }
.lm-body .lm-btn{ margin-top:clamp(20px,2.4vw,36px); }
.lm-body .lm-btn + .lm-btn{ margin-top:12px; }
.lm-btn-ghost{ background:#fff !important; color:#141414 !important; box-shadow:inset 0 0 0 1px rgba(20,20,20,.14); }
.lm-btn-ghost i{ background:#2F6BFF !important; color:#fff !important; }
.lm-btn-ghost:hover{ background:#fff !important; box-shadow:inset 0 0 0 1px rgba(20,20,20,.3); }
.lm-btn.is-pending{ cursor:default; }
@media (min-width:1101px){ .lm-body{ flex-direction:row; flex-wrap:wrap; align-items:flex-start; column-gap:14px; } .lm-body h2, .lm-body p{ flex:0 0 100%; } .lm-body .lm-btn, .lm-body .lm-btn + .lm-btn{ margin-top:clamp(20px,2.4vw,36px); } }

/* "Как мы работаем": gray cards on white */
.pc-grid{ gap:clamp(10px,1.2vw,16px); }
.pc-grid li, .pc-grid li:nth-child(n){ background:#F9F9F8 !important; border-radius:26px; padding:clamp(20px,2vw,32px) !important; box-shadow:none !important; }
.pc-grid li:hover{ background:#F4F4F2 !important; box-shadow:none !important; }
.pc-n{ color:#DADAD6 !important; }
@media (max-width:700px){ .pc-grid li, .pc-grid li:nth-child(n){ padding:20px !important; border-radius:22px; } .pc-grid{ gap:8px; } }
.pc-grid li, .pc-grid li:nth-child(n){ background:#FBFBFA !important; }
.pc-grid li:hover{ background:#F9F9F8 !important; }
.pc-n{ color:#E4E4E0 !important; }

/* lighter grays: panels slightly more visible than the lightest tone */
.nx-wrap, .sv-wrap, .lm-card, .fd-wrap, .tl-wrap, .pf-wrap{ background:#FAFAF9; }
.pc-grid li, .pc-grid li:nth-child(n){ background:#FAFAF9 !important; }
@media (max-width:700px){ .nx .nx-wrap, .sv-wrap{ background:#FAFAF9; } }
.lm-btn-ghost i{ background:#fff !important; color:#2F6BFF !important; }
.lm-btn-ghost{ background:#fff !important; color:#141414 !important; box-shadow:inset 0 0 0 1px rgba(20,20,20,.14); }
.lm-btn:not(.lm-btn-ghost){ background:#2F6BFF; color:#fff; }
.lm-btn:not(.lm-btn-ghost) i{ background:#fff; color:#2F6BFF; }
.lm-btn svg{ width:18px; height:18px; }

/* "Как мы работаем": numbers in white round badges */
.pc-n{ display:inline-flex !important; align-items:center; justify-content:center; width:clamp(48px,4vw,60px); height:clamp(48px,4vw,60px); border-radius:50%; background:#fff; color:#141414 !important; font-size:clamp(15px,1.2vw,18px) !important; font-weight:600; letter-spacing:.02em !important; line-height:1 !important; box-shadow:0 1px 0 rgba(20,20,20,.04); }
.pc-grid h3{ margin-top:auto !important; }
.pc-grid li, .pc-grid li:nth-child(n){ min-height:clamp(220px,17vw,270px); }
@media (max-width:900px){ .pc-grid li:nth-child(n){ min-height:0; } .pc-n{ margin-bottom:clamp(20px,5vw,32px); } }

/* lead magnet: photo fills the block height (desktop) */
@media (min-width:901px){
  .lm-card{ grid-template-columns:minmax(0,1fr); }
  .lm-body{ max-width:min(58%,720px); }
  .lm-photo{ position:absolute; top:0; bottom:0; right:clamp(8px,3vw,64px); width:min(40%,560px); margin:0; display:block; }
  .lm-photo img{ position:absolute; right:0; bottom:calc(clamp(-60px,-4vw,-30px)); width:auto !important; height:calc(100% + clamp(30px,4vw,60px) - clamp(18px,2vw,32px)); max-width:none; aspect-ratio:1; margin:0 !important; }
  .lm-photo figcaption{ left:auto; right:auto; position:absolute; bottom:clamp(14px,1.8vw,26px); left:calc(-1 * clamp(130px,11vw,170px)); text-align:right; }
}
@media (min-width:901px){ .lm-photo{ align-self:stretch !important; height:auto; } .lm-body{ max-width:min(56%,700px); } }

/* "Как мы работаем": editorial numbers: small dark number + hairline */
.pc-n{ display:flex !important; align-items:center; gap:14px; width:100% !important; height:auto !important; border-radius:0 !important; background:none !important; box-shadow:none !important; color:#141414 !important; font-size:clamp(14px,1.1vw,16px) !important; font-weight:600; letter-spacing:.08em !important; line-height:1 !important; }
.pc-n::after{ content:""; flex:1; height:1px; background:rgba(20,20,20,.14); }
.pc-grid li, .pc-grid li:nth-child(n){ justify-content:space-between; }
@media (max-width:900px){ .pc-n{ margin-bottom:clamp(26px,6vw,40px); } }
@media (min-width:901px){ .lm-photo figcaption{ left:auto !important; right:calc(100% - 905px + 58px); } }
@media (min-width:901px){
  .lm-photo figcaption{ right:auto !important; left:auto !important; top:auto; bottom:clamp(14px,1.8vw,26px); right:calc(var(--lm-d, clamp(250px,30vw,435px)) + clamp(10px,1vw,16px)) !important; text-align:right; }
}
@media (min-width:901px){
  .lm-photo{ display:flex !important; justify-content:flex-end; align-items:flex-end; gap:clamp(10px,1vw,16px); }
  .lm-photo img{ position:relative !important; right:auto !important; bottom:auto !important; height:calc(100% + clamp(10px,1.6vw,24px)) !important; margin:0 0 calc(-1 * clamp(10px,1.6vw,24px)) !important; flex:none; }
  .lm-photo figcaption{ position:static !important; right:auto !important; left:auto !important; margin-bottom:clamp(14px,1.8vw,26px); text-align:right; flex:none; }
}
.pc-n::after{ display:none !important; }
.pc-n{ width:auto !important; }
.pc-n{ align-self:flex-start; }
@media (min-width:901px){
  .lm-photo img{ height:calc(100% - clamp(8px,1.2vw,18px)) !important; margin:0 0 calc(-1 * clamp(10px,1.6vw,24px)) !important; }
}
@media (min-width:901px){ .lm-photo figcaption{ margin-right:calc(-1 * clamp(18px,2vw,34px)); position:relative; z-index:2; } }

/* "Все кейсы": bigger button */
.cases-more .btn{ font-size:clamp(16px,1.25vw,19px); padding:clamp(18px,1.6vw,24px) clamp(34px,3.2vw,52px); gap:12px; }
.cases-more .btn .btn-arrow{ width:20px; height:20px; }
@media (max-width:700px){ .cases-more .btn{ width:100%; justify-content:center; padding:20px 24px; font-size:17px; } }

/* audience: all spheres fully visible (no dimming) */
.nx .nx-item .nx-name, .nx .nx-item:not(.is-hl):not(:hover) .nx-name{ color:#141414 !important; }
.nx .nx-item .nx-tag, .nx .nx-item:not(.is-hl):not(:hover) .nx-tag, .nx .nx-item.is-hl .nx-tag{ color:#4A4A4A !important; }
.nx .nx-item:not(.is-hl):not(:hover) .nx-go{ opacity:1; transform:none; }

/* "Все кейсы": same as the header button */
.cases-more .btn{ font-size:clamp(15.5px,1.1vw,17px); font-weight:700; padding:clamp(13px,1vw,15px) clamp(22px,1.8vw,28px); gap:10px; background:#2F6BFF; color:#fff; border:0; width:auto; }
.cases-more .btn:hover{ background:#1F55E0; color:#fff; }
.cases-more .btn .btn-arrow{ width:16px; height:16px; }
@media (max-width:700px){ .cases-more .btn{ width:auto; font-size:16px; padding:14px 24px; } }



/* ======= Hero: rounded gradient panel with white type ======= */
.hero.hero-v7{ position:relative; background:transparent; padding-top:clamp(92px,8vw,120px); padding-left:var(--page-gutter,clamp(16px,2vw,36px)); padding-right:var(--page-gutter,clamp(16px,2vw,36px)); padding-bottom:clamp(16px,2vw,36px); min-height:100vh; min-height:100svh; }
.hero.hero-v7::before{ content:""; position:absolute; z-index:0; left:var(--page-gutter,clamp(16px,2vw,36px)); right:var(--page-gutter,clamp(16px,2vw,36px)); top:clamp(84px,7vw,108px); bottom:clamp(16px,2vw,36px); border-radius:var(--radius-lg); background:linear-gradient(118deg,#7DBFD4 0%,#5D92E2 30%,#3E64F0 62%,#2B3CF4 100%); }
.hero.hero-v7 .hero-inner{ position:relative; z-index:1; }
.hero-v7 .hero-title, .hero-v7 .hero-title .line, .hero-v7 .hero-title .reveal{ color:#fff; }
.hero-v7 .hero-cap{ background:rgba(255,255,255,.18); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.hero-v7 .hero-cap.is-active{ background:#fff; color:#2F4FF0; }
.hero-v7 .hero-sub{ color:rgba(255,255,255,.92); }
.hero-v7 .hero-sub strong{ color:#fff; }
.hero-v7 .hero-tag{ background:rgba(255,255,255,.18); color:#fff; border:0; }
.hero-v7 .hero-ctas .btn-primary{ background:#fff; color:#2B3CF4; }
.hero-v7 .hero-ctas .btn-primary:hover{ background:#EEF1FF; color:#1F2FD0; }
.hero-v7 .hero-link{ color:rgba(255,255,255,.9); }
.hero-v7 .hero-link:hover{ color:#fff; }
@media (max-width:700px){
  .hero.hero-v7{ padding-left:8px; padding-right:8px; }
  .hero.hero-v7::before{ left:8px; right:8px; top:78px; border-radius:26px; }
}
.hero.hero-v7{ background:#fff !important; }
.hero.hero-v7::before{ display:block !important; left:clamp(16px,2vw,36px) !important; right:clamp(16px,2vw,36px) !important; top:clamp(84px,7vw,108px) !important; bottom:clamp(16px,2vw,36px) !important; width:auto; height:auto; opacity:1; }
@media (min-width:701px){ .hero.hero-v7::before{ left:var(--page-gutter) !important; right:var(--page-gutter) !important; } .hero.hero-v7{ padding-left:var(--page-gutter); padding-right:var(--page-gutter); } }
@media (max-width:700px){ .hero.hero-v7::before{ left:8px !important; right:8px !important; top:78px !important; } }
.hero.hero-v7 .hero-title, .hero.hero-v7 .hero-title .line, .hero.hero-v7 .hero-title .line > span, .hero.hero-v7 .hero-title .reveal, body:has(.hero) .hero.hero-v7 h1{ color:#fff !important; }

/* Hero: brand blue panel, white text */
.hero.hero-v7::before{ background:#2F6BFF !important; }
html body .hero.hero-v7 h1.hero-title, html body .hero.hero-v7 h1.hero-title .line, html body .hero.hero-v7 h1.hero-title .line > span, html body .hero.hero-v7 .hero-title .reveal{ color:#fff !important; -webkit-text-fill-color:#fff !important; }
.hero-v7 .hero-cap{ background:rgba(255,255,255,.2); }
.hero-v7 .hero-cap.is-active{ background:#fff; color:#2F6BFF; }
.hero-v7 .hero-ctas .btn-primary{ color:#2F6BFF; }
.hero-v7 .hero-tag{ background:rgba(255,255,255,.2); }

/* ======= Hero: rounded notches in the bottom corners (desktop) ======= */
.hero-notch{ display:none; }
@media (min-width:901px){
  .hero.hero-v7{ --hr:clamp(22px,2.2vw,32px); --hh:clamp(70px,6.2vw,96px); --hpb:clamp(16px,2vw,36px); padding-bottom:calc(var(--hpb) + var(--hh)) !important; }
  .hero.hero-v7::before{ bottom:calc(var(--hpb) + var(--hh)) !important; border-radius:var(--radius-lg); }
  .hero-v7 .hero-ctas{ display:none !important; }
  .hero-notch{ display:flex; align-items:flex-end; position:absolute; z-index:3; left:var(--page-gutter); right:var(--page-gutter); bottom:var(--hpb); height:var(--hh); }
  .hn-left{ flex:none; display:flex; align-items:center; gap:14px; height:100%; margin-right:var(--hr); }
  .hn-check{ flex:none; width:44px; height:44px; border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; }
  .hn-check svg{ width:22px; height:22px; }
  .hn-text{ font-size:clamp(14px,1.15vw,17px); font-weight:600; line-height:1.3; color:#141414; letter-spacing:-0.01em; }
  .hn-tab{ position:relative; flex:1; min-width:0; height:100%; background:#2F6BFF; border-radius:0 0 var(--radius-lg) var(--radius-lg); }
  .hn-tab::before, .hn-tab::after{ content:""; position:absolute; top:0; width:var(--hr); height:var(--hr); }
  .hn-tab::before{ left:calc(-1 * var(--hr)); background:radial-gradient(circle at 0 100%, transparent calc(var(--hr) - .6px), #2F6BFF var(--hr)); }
  .hn-tab::after{ right:calc(-1 * var(--hr)); background:radial-gradient(circle at 100% 100%, transparent calc(var(--hr) - .6px), #2F6BFF var(--hr)); }
  .hn-right{ flex:none; display:flex; align-items:center; height:100%; margin-left:var(--hr); }
  .hn-right .btn{ background:#2F6BFF; color:#fff; font-size:clamp(15.5px,1.2vw,18px); padding:clamp(16px,1.4vw,22px) clamp(28px,2.6vw,42px); }
  .hn-right .btn:hover{ background:#1F55E0; color:#fff; }
}
.chat-widget{ transition:opacity .3s var(--ease), transform .3s var(--ease); }
.chat-widget.hero-hide{ opacity:0; pointer-events:none; transform:translateY(10px); }

/* Hero on blue: stronger contrast */
.hero-v7 .hero-sub{ color:#fff !important; font-weight:500; font-size:clamp(17px,1.5vw,21px); }
.hero-v7 .hero-sub strong{ color:#fff; font-weight:700; }
.hero-v7 .hero-tag{ background:#1F4FD8 !important; color:#fff !important; font-weight:700; letter-spacing:.1em; }
.hero-v7 .hero-cap{ background:#1F4FD8 !important; color:#fff !important; }
.hero-v7 .hero-cap.is-active{ background:#fff !important; color:#1F55E0 !important; }
.hero-v7 .hero-ctas .btn-primary{ color:#1F55E0; font-weight:700; }
.hn-right .btn{ font-weight:700; }

/* Hero: headline and subtitle aligned left */
@media (min-width:701px){
  .hero.hero-v7 .hero-inner{ align-items:flex-start; text-align:left; padding-left:clamp(28px,4vw,72px); padding-right:clamp(28px,4vw,72px); max-width:none; margin:0; width:100%; }
  .hero.hero-v7 .hero-top, .hero.hero-v7 .hero-left, .hero.hero-v7 .hero-aside{ align-items:flex-start; text-align:left; margin-left:0; margin-right:0; }
  .hero.hero-v7 .hero-tag{ margin-left:0; margin-right:auto; align-self:flex-start; display:inline-block; }
  .hero.hero-v7 .hero-title{ text-align:left; }
  .hero.hero-v7 .hero-title .line{ text-align:left; }
  .hero.hero-v7 .hero-caps{ justify-content:flex-start; }
  .hero.hero-v7 .hero-sub{ text-align:left; margin-left:0; margin-right:auto; max-width:46ch; }
}
@media (min-width:701px){
  .hero.hero-v7 .hero-inner{ display:flex; flex-direction:column; align-items:flex-start !important; justify-content:center; }
  .hero.hero-v7 .hero-top{ display:flex !important; flex-direction:column; align-items:flex-start !important; justify-items:start !important; gap:0; width:100%; padding:0; }
  .hero.hero-v7 .hero-left, .hero.hero-v7 .hero-aside{ width:100%; display:flex !important; flex-direction:column; align-items:flex-start !important; padding:0 !important; margin:0 !important; }
  .hero.hero-v7 .hero-title{ margin:0 !important; width:100%; }
  .hero.hero-v7 .hero-title .line{ display:block; text-align:left !important; }
  .hero.hero-v7 .hero-caps{ display:flex !important; justify-content:flex-start !important; margin:clamp(6px,.8vw,12px) 0 0 !important; padding:0 !important; }
  .hero.hero-v7 .hero-sub{ margin:clamp(18px,2vw,30px) 0 0 !important; text-align:left !important; max-width:44ch; }
  .hero.hero-v7 .hero-tag{ margin:0 0 clamp(18px,2vw,30px) 0 !important; }
}

/* Hero: vertical ticker of projects (right side, desktop) */
.hero-ticker{ display:none; }
@media (min-width:1200px){
  .hero-ticker{ display:flex; flex-direction:column; position:absolute; z-index:2; right:calc(var(--page-gutter,58px) + clamp(28px,4vw,72px)); top:clamp(84px,7vw,108px); bottom:calc(var(--hpb) + var(--hh)); width:clamp(260px,24vw,360px); overflow:hidden; align-items:flex-end;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%); mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%); }
  .ht-track{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:flex-end; gap:clamp(14px,1.4vw,20px); padding-bottom:clamp(14px,1.4vw,20px); animation:htUp 34s linear infinite; will-change:transform; }
  .hero-ticker:hover .ht-track{ animation-play-state:paused; }
  .ht-track a{ display:inline-block; padding:clamp(14px,1.3vw,19px) clamp(24px,2.2vw,34px); border-radius:999px; background:rgba(255,255,255,.17); color:#fff; font-size:clamp(17px,1.5vw,22px); font-weight:600; letter-spacing:-0.015em; white-space:nowrap; transition:background .25s var(--ease), color .25s var(--ease); }
  .ht-track a:hover{ background:#fff; color:#1F55E0; }
  .ht-track li:nth-child(3n+1) a{ margin-right:0; }
  .ht-track li:nth-child(3n+2) a{ margin-right:clamp(14px,1.4vw,22px); }
  .ht-track li:nth-child(3n) a{ margin-right:clamp(30px,3vw,48px); }
}
@keyframes htUp{ from{ transform:translateY(0); } to{ transform:translateY(-100%); } }
@media (prefers-reduced-motion:reduce){ .ht-track{ animation:none !important; } }
@media (min-width:1200px){
  .ht-track li a, .ht-track li:nth-child(n) a{ margin-right:0 !important; }
  .ht-track{ align-items:flex-end; }
  .hero-ticker{ align-items:flex-end; }
}

/* Hero: plain static headline (no capsules, no ticker) */
.hero-v7 .hero-title .line{ display:block; }
.hero-v7 .hero-title .line + .line{ margin-top:.04em; }
@media (max-width:700px){
  .hero.hero-v7 .hero-inner{ padding-left:20px; padding-right:20px; }
  .hero-v7 .hero-title{ font-size:clamp(30px,9.2vw,40px) !important; text-align:left; white-space:normal !important; width:100%; }
  .hero-v7 .hero-title .line{ white-space:normal !important; text-align:left !important; }
  .hero.hero-v7 .hero-top, .hero.hero-v7 .hero-left, .hero.hero-v7 .hero-aside{ align-items:flex-start; text-align:left; }
  .hero.hero-v7 .hero-sub{ text-align:left; }
  .hero.hero-v7 .hero-tag{ align-self:flex-start; }
  .hero.hero-v7 .hero-ctas{ justify-content:flex-start; }
}
@media (min-width:1200px){
  .hero-v7 .hero-title{ font-size:clamp(46px,5.2vw,96px) !important; }
  .hero.hero-v7 .hero-title{ max-width:calc(100% - clamp(290px,26vw,390px)); }
}

/* Hero: hide the top tag; headline sized to clear the ticker */
.hero-v7 .hero-tag{ display:none !important; }
@media (min-width:1200px){
  .hero-v7 .hero-title{ font-size:clamp(40px,4.5vw,88px) !important; }
  .hero.hero-v7 .hero-title, .hero.hero-v7 .hero-title .line{ max-width:none !important; overflow:visible; }
}

/* Hero subtitle: two lines on desktop */
@media (min-width:1200px){
  .hero.hero-v7 .hero-sub-desktop{ max-width:none !important; width:max-content; max-width:calc(100% - clamp(300px,27vw,400px)) !important; text-wrap:balance; font-size:clamp(15.5px,1.25vw,20px); }
}

/* Hero: CTA under the subtitle; right notch removed (tab runs to the right edge) */
@media (min-width:901px){
  .hero-v7 .hero-ctas{ display:flex !important; justify-content:flex-start; margin-top:clamp(22px,2.4vw,36px); }
  .hero-v7 .hero-ctas .hero-link{ display:none !important; }
  .hero-v7 .hero-ctas .btn-primary{ background:#fff; color:#1F55E0; font-weight:700; font-size:clamp(15.5px,1.15vw,18px); padding:clamp(15px,1.3vw,20px) clamp(28px,2.4vw,40px); }
  .hero-v7 .hero-ctas .btn-primary:hover{ background:#EEF1FF; color:#1F44D8; }
  .hero.hero-v7::before{ border-bottom-right-radius:0 !important; }
  .hn-tab::after{ display:none !important; }
  .hn-tab{ border-radius:0 0 var(--radius-lg) var(--radius-lg); }
}

/* Hero: right white notch kept (empty); CTA stays under the subtitle */
@media (min-width:901px){
  .hero.hero-v7::before{ border-bottom-right-radius:var(--radius-lg) !important; }
  .hn-tab::after{ display:block !important; }
  .hn-tab{ border-radius:0 0 var(--radius-lg) var(--radius-lg); }
  .hn-right{ display:block; flex:none; width:clamp(190px,17vw,250px); height:100%; margin-left:var(--hr); }
}

/* Hero: CTA back in the right notch; none under the subtitle (desktop) */
@media (min-width:901px){
  .hero-v7 .hero-ctas{ display:none !important; }
  .hn-right{ display:flex !important; align-items:center; width:auto !important; margin-left:var(--hr); }
  .hn-right .btn{ background:#2F6BFF; color:#fff; font-weight:700; font-size:clamp(15.5px,1.2vw,18px); padding:clamp(16px,1.4vw,22px) clamp(28px,2.6vw,42px); }
  .hn-right .btn:hover{ background:#1F55E0; color:#fff; }
}
@media (min-width:1200px){ .hero.hero-v7 .hero-sub-desktop{ font-size:clamp(16.5px,1.45vw,22px) !important; max-width:min(calc(100% - clamp(300px,27vw,400px)),760px) !important; width:auto; } }
html, html.lenis, html.lenis body{ scroll-behavior:auto !important; }
@media (min-width:1200px){ .hero-v7 .hero-title{ font-size:clamp(56px,6.6vw,120px) !important; } }
@media (max-width:700px){ .hero-v7 .hero-title, .hero-v7 .hero-title .line, .hero-v7 .hero-title .line > span{ padding-left:0 !important; margin-left:0 !important; text-indent:0; } .hero-v7 .hero-title{ font-size:clamp(38px,11vw,46px) !important; } }

/* Solutions: original cards structure; section background full-bleed brand blue */
.sv{ background:#2F6BFF !important; padding-top:clamp(40px,5vw,90px); padding-bottom:clamp(40px,5vw,90px); padding-left:var(--page-gutter,clamp(16px,2vw,36px)); padding-right:var(--page-gutter,clamp(16px,2vw,36px)); }
.sv-wrap{ background:transparent !important; border-radius:0 !important; padding:0 !important; }
.sv-head .eyebrow{ color:rgba(255,255,255,.85) !important; }
.sv-head h2{ color:#fff !important; }
.sv-head-r p{ color:rgba(255,255,255,.92) !important; }
.sv .sv-head .btn-outline{ background:#fff; color:#1F55E0; border-color:#fff; }
.sv .sv-head .btn-outline:hover{ background:#EEF1FF; color:#1F44D8; border-color:#EEF1FF; }
.sv .sv-card, .sv .sv-card:hover{ background:#fff; }
@media (max-width:700px){ .sv{ padding-left:8px; padding-right:8px; padding-top:36px; padding-bottom:36px; } .sv-head{ padding:0 8px; } }

/* audience: sphere names smaller than the block heading (heading itself unchanged) */
.nx .nx-name{ font-size:clamp(24px,2.5vw,40px) !important; letter-spacing:-0.035em; font-weight:600; }
.nx .nx-sub.nx-tags{ margin-top:clamp(8px,.8vw,12px); }
.nx .nx-row{ padding-top:clamp(18px,1.9vw,30px); padding-bottom:clamp(18px,1.9vw,30px); }
@media (max-width:700px){ .nx .nx-name{ font-size:clamp(21px,6vw,26px) !important; } }

/* more space between "Работаем в трёх сферах" and the blue "Решения" block */
.nx{ padding-bottom:clamp(40px,5.5vw,100px) !important; }
@media (max-width:700px){ .nx{ padding-bottom:36px !important; } }

/* footer social icons: brand blue */
.site-footer .footer-social{ color:#2F6BFF; border-color:rgba(47,107,255,.35); }
.site-footer .footer-social svg{ fill:currentColor; color:#2F6BFF; }
.site-footer .footer-social:hover{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
.site-footer .footer-social:hover svg{ color:#fff; }

/* footer social icons: no circles */
.site-footer .footer-social, .site-footer .footer-legal-col .footer-social{ border:0 !important; background:none !important; width:auto; height:auto; padding:6px !important; border-radius:0; }
.site-footer .footer-social svg{ width:26px; height:26px; }
.site-footer .footer-social:hover{ background:none !important; color:#1F55E0; transform:translateY(-2px); }
.site-footer .footer-social:hover svg{ color:#1F55E0; }
.site-footer .footer-social-row{ gap:clamp(14px,1.6vw,22px); }

/* Solutions (blue): rounded notch cut from the bottom-right corner (desktop) */
@media (min-width:901px){
  .sv{ --nr:clamp(22px,2.2vw,32px); --nh:clamp(70px,6.2vw,96px); --nw:clamp(220px,22vw,340px); position:relative; padding-bottom:calc(clamp(40px,5vw,90px) + var(--nh)) !important; }
  .sv::after{ content:""; position:absolute; right:0; bottom:0; width:var(--nw); height:var(--nh); background:#fff; border-top-left-radius:var(--nr); pointer-events:none; z-index:2; }
  .sv::before{ content:""; position:absolute; right:var(--nw); bottom:0; width:var(--nr); height:var(--nr); background:radial-gradient(circle at 0 0, transparent calc(var(--nr) - .6px), #fff var(--nr)); pointer-events:none; z-index:2; }
}

/* Case 2 on phones: picture fits between the chip and the title */
@media (max-width:640px){
  .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ transform:none !important; margin:56px 18px 0 !important; width:calc(100% - 36px) !important; flex:1 1 0; min-height:0; height:auto; object-fit:contain; object-position:center; }
  .cc.cc-art-plain:nth-child(2) .cc-art-text{ margin-top:8px !important; padding:0 74px 0 18px !important; }
  .cc.cc-art-plain:nth-child(2) .cc-title{ font-size:clamp(24px,7vw,30px); }
  .cc.cc-art-plain:nth-child(2) .cc-art-sub{ font-size:13.5px; margin-top:4px; }
}

/* Solutions cards: rounded notch at bottom-right with the arrow button floating inside */
.sv .sv-card{ --cr:24px; --cw:78px; --ch:78px; --cbg:#2F6BFF; overflow:hidden; }
.sv .sv-card::after{
  content:""; position:absolute; right:0; bottom:0; width:calc(var(--cw) + var(--cr)); height:calc(var(--ch) + var(--cr)); pointer-events:none; z-index:2;
  background:
    radial-gradient(circle at 100% 100%, var(--cbg) calc(var(--cr) - .6px), transparent var(--cr)) var(--cr) var(--cr) / var(--cr) var(--cr) no-repeat,
    linear-gradient(var(--cbg),var(--cbg)) calc(var(--cr) * 2) var(--cr) / calc(var(--cw) - var(--cr)) var(--ch) no-repeat,
    linear-gradient(var(--cbg),var(--cbg)) var(--cr) calc(var(--cr) * 2) / var(--cr) calc(var(--ch) - var(--cr)) no-repeat,
    radial-gradient(circle at 0 0, transparent calc(var(--cr) - .6px), var(--cbg) var(--cr)) var(--cw) 0 / var(--cr) var(--cr) no-repeat,
    radial-gradient(circle at 0 0, transparent calc(var(--cr) - .6px), var(--cbg) var(--cr)) 0 var(--ch) / var(--cr) var(--cr) no-repeat;
}
.sv .sv-card .sv-go{ z-index:3; right:calc((var(--cw) - 52px) / 2) !important; bottom:calc((var(--ch) - 52px) / 2) !important; width:52px !important; height:52px !important; background:#fff !important; color:#2F6BFF !important; box-shadow:none; }
.sv .sv-card:hover .sv-go{ background:#fff !important; color:#1F55E0 !important; transform:scale(1.06); }
.sv .sv-card .sv-go svg{ width:22px; height:22px; }
.sv .sv-card .sv-sub, .sv .sv-card .sv-lead{ padding-right:calc(var(--cw) + 8px); }

/* lead magnet: photo III on the right (card clips it, rounded) */
.lm-photo{ display:none !important; }
.lm-card{ position:relative; overflow:hidden; }
.lm-pic{ margin:0; position:absolute; z-index:1; top:clamp(10px,1vw,16px); bottom:clamp(10px,1vw,16px); right:clamp(10px,1vw,16px); width:min(40%,520px); border-radius:calc(var(--radius-lg) - 8px); overflow:hidden; background:#E8EFFA; }
.lm-pic img{ width:100%; height:100%; object-fit:cover; object-position:35% 20%; display:block; }
.lm-pic figcaption{ position:absolute; left:clamp(12px,1.2vw,18px); bottom:clamp(12px,1.2vw,18px); padding:8px 14px; border-radius:14px; background:rgba(255,255,255,.94); color:#141414; font-size:clamp(12px,.9vw,14px); font-weight:600; line-height:1.3; box-shadow:0 8px 24px -10px rgba(20,20,20,.3); }
@media (min-width:901px){ .lm-card{ min-height:clamp(340px,28vw,430px); } .lm-body{ max-width:min(54%,680px) !important; position:relative; z-index:2; } }
@media (max-width:900px){
  .lm-pic{ position:relative; top:auto; bottom:auto; right:auto; width:100%; height:clamp(260px,62vw,380px); margin-top:20px; }
  .lm-card{ padding-bottom:clamp(10px,1vw,16px) !important; }
}

/* lead magnet: no photo */
.lm-card{ grid-template-columns:1fr !important; min-height:0 !important; padding-bottom:clamp(28px,4vw,72px) !important; }
.lm-body{ max-width:min(100%,820px) !important; padding-bottom:0 !important; }

/* Solutions cards: seamless notch (one SVG shape), bigger arrow button */
.sv .sv-card::after{
  content:""; position:absolute; right:-1px; bottom:-1px; width:107px; height:107px; pointer-events:none; z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 106 106'%3E%3Cpath d='M106,0 A24,24 0 0 1 82,24 H48 A24,24 0 0 0 24,48 V82 A24,24 0 0 1 0,106 H106 Z' fill='%232F6BFF'/%3E%3C/svg%3E") right bottom / 106px 106px no-repeat;
}
.sv .sv-card .sv-go{ z-index:3; right:11px !important; bottom:11px !important; width:60px !important; height:60px !important; background:#fff !important; color:#2F6BFF !important; box-shadow:none; }
.sv .sv-card .sv-go svg{ width:26px !important; height:26px !important; }
.sv .sv-card:hover .sv-go{ transform:scale(1.06); }
.sv .sv-card .sv-sub, .sv .sv-card .sv-lead{ padding-right:96px; }
.sv .sv-card{ border-bottom-right-radius:0 !important; }

/* ======= Inner pages (cases, case pages, services): unified light style ======= */
.page-inner{ --bg:#fff; --bg-soft:#F7F7F6; --dark:#fff; --dark-soft:#F7F7F6; --on-dark:#141414; --on-dark-soft:#5C5C5C; --ink:#141414; --ink-soft:#5C5C5C; --ink-faint:#8A8A87; --card:#F7F7F6; --card-line:rgba(20,20,20,.1); --card-line-hover:rgba(20,20,20,.22); --line:rgba(20,20,20,.12); --accent:#2F6BFF; --accent-solid:#2F6BFF; background:#fff; color:#141414; }
.page-inner .site-header{ background:#fff !important; box-shadow:0 1px 0 rgba(20,20,20,.06); }
.page-inner .site-footer{ background:#F7F7F6; color:#5C5C5C; margin-top:0; }
.page-inner .site-footer a{ color:#141414; }
.page-inner .footer-legal-label{ color:#8A8A87; }
.page-inner .footer-top{ border-color:rgba(20,20,20,.14); color:#141414; }

/* case page */
.page-inner .case-detail{ background:#fff; color:#141414; padding-top:clamp(96px,8.5vw,132px); padding-bottom:clamp(40px,5vw,80px); }
.page-inner .case-detail-wrap{ max-width:1100px; }
.page-inner .case-detail-back{ padding:10px 18px 10px 12px; border-radius:999px; background:#F6F6F5; color:#141414; transition:background .25s var(--ease); }
.page-inner .case-detail-back:hover{ background:#EDEDEB; color:#141414; }
.page-inner .case-detail-wrap > .case-tag{ display:inline-block; margin-top:clamp(24px,2.6vw,36px); padding:8px 16px; border-radius:999px; background:#EEF2FF; color:#2F6BFF; font-size:12px; font-weight:700; letter-spacing:.08em; }
.page-inner .case-detail-title{ margin-top:clamp(16px,1.6vw,24px); font-size:clamp(34px,5.4vw,84px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; max-width:16ch; color:#141414; }
.page-inner .case-detail-media{ margin-top:clamp(28px,3.4vw,52px); border-radius:clamp(22px,2.4vw,34px); background:#F6F6F5; box-shadow:0 40px 70px -50px rgba(20,20,20,.35), 0 0 0 1px rgba(20,20,20,.06); }
.page-inner .case-detail-body{ margin-top:clamp(20px,2.4vw,36px); gap:clamp(12px,1.4vw,20px); }
.page-inner .case-detail-block{ background:#F7F7F6; border-radius:clamp(22px,2.2vw,32px); padding:clamp(22px,3vw,48px); }
.page-inner .case-detail-label{ display:block; font-size:12px; font-weight:700; letter-spacing:.1em; color:#8A8A87; }
.page-inner .case-detail-block p{ margin-top:12px; font-size:clamp(15.5px,1.2vw,18px); line-height:1.65; color:#3A3A3A; max-width:62em; }
.page-inner .case-detail-block p strong{ color:#141414; }
.page-inner .case-note{ border-left-color:rgba(20,20,20,.18); color:#8A8A87 !important; }
.page-inner .case-detail-meta{ margin-top:clamp(18px,2vw,28px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.page-inner .case-detail-meta-item{ background:#fff; border-radius:18px; padding:16px 18px; }
.page-inner .case-detail-meta-item span:first-child{ color:#8A8A87; }
.page-inner .case-detail-meta-item span:last-child{ color:#141414; }
.page-inner .case-problem-list{ margin-top:clamp(16px,1.8vw,24px); border-top:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.page-inner .case-problem-row{ background:#fff; border:0; border-radius:22px; padding:clamp(18px,2vw,28px); flex-direction:column; gap:12px; }
.page-inner .case-problem-num{ color:#A3A39F; font-size:14px; }
.page-inner .case-problem-text h4{ font-size:clamp(17px,1.4vw,21px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.page-inner .case-problem-text p{ margin-top:8px; font-size:clamp(14.5px,1.05vw,16px); color:#5C5C5C; }
.page-inner .case-surfaces{ margin-top:clamp(16px,1.8vw,24px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.page-inner .case-surface{ background:#fff; border-radius:22px; padding:clamp(18px,2vw,26px); gap:10px; }
.page-inner .case-surface-role{ display:inline-block; align-self:flex-start; padding:5px 12px; border-radius:999px; background:#EEF2FF; color:#2F6BFF; font-size:11.5px; font-weight:700; letter-spacing:.06em; }
.page-inner .case-surface h4{ font-size:clamp(16px,1.3vw,19px); font-weight:600; letter-spacing:-0.02em; color:#141414; }
.page-inner .case-surface p{ margin:0; font-size:clamp(14px,1vw,15.5px); color:#5C5C5C; }
.page-inner .case-pipeline{ margin-top:clamp(16px,1.8vw,24px); background:#fff; border:0; border-radius:22px; }
.page-inner .case-pipeline-stage{ border-right-color:rgba(20,20,20,.12); }
.page-inner .case-pipeline-num{ color:#A3A39F; }
.page-inner .case-pipeline-label{ color:#141414; }
.page-inner .case-results{ margin-top:clamp(16px,1.8vw,24px); background:#fff; border:0; border-radius:22px; }
.page-inner .case-results-row{ border-bottom-color:rgba(20,20,20,.08); }
.page-inner .case-results-head{ background:#F1F1EF; }
.page-inner .case-results-head > div{ color:#8A8A87; }
.page-inner .case-results-row .what{ color:#141414; }
.page-inner .case-results-row .before{ color:#8A8A87; }
.page-inner .case-results-row .after{ color:#2F6BFF; }
.page-inner .case-stats{ margin-top:clamp(16px,1.8vw,24px); gap:10px; background:transparent; border:0; }
.page-inner .case-stat{ background:#fff; border-radius:22px; }
.page-inner .case-stat-num{ color:#141414; }
.page-inner .case-stat-num .u{ color:#2F6BFF; }
.page-inner .case-stat-label{ color:#5C5C5C; }
.page-inner .case-price-card, .page-inner .case-route, .page-inner .case-call-card, .page-inner .case-chat, .page-inner .case-fields{ background:#fff; border-color:rgba(20,20,20,.08); }
.page-inner .case-price-card-top, .page-inner .case-call-top{ background:#F1F1EF; }
.page-inner .case-price-card-top .price{ color:#2F6BFF; }
.page-inner .case-price-card-top .veh, .page-inner .case-price-line span:last-child, .page-inner .case-route-addr, .page-inner .case-call-who, .page-inner .case-field-row .v{ color:#141414; }
.page-inner .case-chat-bubble.in{ background:#F1F1EF; color:#4A4A4A; }
.page-inner .case-chat-bubble.out{ background:#2F6BFF; color:#fff; }
.page-inner .case-route-dot{ background:#EEF1F6; color:#141414; }
.page-inner .case-route-stop.depot .case-route-dot{ background:#2F6BFF; color:#fff; }
.page-inner .case-call-tags span{ background:#F1F1EF; border-color:transparent; color:#4A4A4A; }
.page-inner .case-call-summary{ color:#4A4A4A; }
/* closing "Бизнес-эффект" panel in brand blue */
.page-inner .case-detail-body > .case-detail-block:last-child{ background:#2F6BFF; }
.page-inner .case-detail-body > .case-detail-block:last-child .case-detail-label{ color:rgba(255,255,255,.8); }
.page-inner .case-detail-body > .case-detail-block:last-child p{ color:#fff; font-size:clamp(17px,1.5vw,22px); line-height:1.55; font-weight:500; }
.page-inner .case-detail-cta{ margin-top:clamp(20px,2.4vw,36px); background:#2F6BFF; color:#fff; padding:clamp(16px,1.4vw,22px) clamp(28px,2.6vw,42px); font-size:clamp(15.5px,1.2vw,18px); font-weight:700; }
.page-inner .case-detail-cta:hover{ background:#1F55E0; color:#fff; }
.page-inner .case-detail-nav{ margin-top:clamp(28px,3vw,44px); padding-top:0; border-top:0; display:flex; justify-content:space-between; gap:12px; }
.page-inner .case-detail-nav-link{ padding:12px 20px; border-radius:999px; background:#F6F6F5; color:#141414; font-weight:600; transition:background .25s var(--ease); }
.page-inner .case-detail-nav-link:hover{ background:#EDEDEB; color:#141414; }
@media (max-width:900px){
  .page-inner .case-detail-meta{ grid-template-columns:1fr 1fr; }
  .page-inner .case-problem-list{ grid-template-columns:1fr; }
  .page-inner .case-surfaces{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .page-inner .case-detail-block{ padding:20px 16px; border-radius:22px; }
  .page-inner .case-surfaces{ grid-template-columns:1fr; }
  .page-inner .case-detail-meta{ grid-template-columns:1fr 1fr; }
  .page-inner .case-detail-wrap{ padding-left:8px; padding-right:8px; }
}

/* projects list page */
.page-inner .cases-page{ background:#fff; }
.page-inner .cases-page-title{ font-size:clamp(40px,6vw,96px); font-weight:600; letter-spacing:-0.05em; line-height:1; }
.page-inner .cases-filter{ border-color:rgba(20,20,20,.12); background:#fff; }
.page-inner .cases-filter.is-active{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; }
.page-inner .cases-filter:hover{ border-color:#2F6BFF; }
.page-inner .cases-list{ gap:clamp(14px,1.6vw,22px); }
.page-inner .case-row{ background:#F7F7F6; border-radius:clamp(24px,2.6vw,36px); padding:clamp(14px,1.6vw,24px); align-items:center; transition:background .3s var(--ease); }
.page-inner .case-row:hover{ background:#F2F2F0; }
.page-inner .case-row-media{ border-radius:clamp(18px,2vw,26px); }
.page-inner .case-row-body{ padding:clamp(4px,1vw,16px) clamp(8px,1.6vw,28px); }
.page-inner .case-row-title{ font-size:clamp(26px,3.2vw,52px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; }
.page-inner .case-row-tags .case-card-tag{ background:#fff; }
.page-inner .case-row-btn{ background:#2F6BFF; border-color:#2F6BFF; color:#fff; width:64px; height:64px; }
.page-inner .case-row-btn:hover, .page-inner .case-row:hover .case-row-btn{ background:#1F55E0; border-color:#1F55E0; color:#fff; }
.page-inner .case-row-btn svg{ width:26px; height:26px; }
@media (max-width:900px){ .page-inner .case-row{ padding:12px; } .page-inner .case-row-body{ padding:8px 8px 12px; } }

/* solutions page */
.page-inner .services-hero{ background:#fff; color:#141414; padding-top:clamp(96px,8.5vw,132px); }
.page-inner .services-hero .section-head h2{ font-size:clamp(36px,5.4vw,84px); font-weight:600; letter-spacing:-0.045em; line-height:1.02; color:#141414; }
.page-inner .services-hero .eyebrow{ color:#8A8A87; }
.page-inner .services-list{ max-width:none; background:transparent; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.page-inner .services-list-row{ background:#F7F7F6; border:0; border-radius:26px; padding:clamp(20px,2.2vw,32px); gap:16px; align-items:flex-start; flex-wrap:wrap; }
.page-inner .services-list-num{ color:#A3A39F; }
.page-inner .services-list-text{ flex:1 1 100%; order:3; }
.page-inner .services-list-text p{ color:#4A4A4A; font-size:clamp(15px,1.15vw,17px); }
.page-inner .services-list-text strong{ color:#141414; font-size:clamp(19px,1.6vw,24px); font-weight:600; letter-spacing:-0.025em; display:block; margin-bottom:8px; }
.page-inner .services-list-icon{ width:48px; height:48px; border-radius:50%; background:#2F6BFF; color:#fff; margin-left:auto; order:1; }
.page-inner .services-list-icon svg{ width:22px; height:22px; }
.page-inner .services-cta{ max-width:none; background:#2F6BFF; }
.page-inner .services-cta p{ color:#fff; font-size:clamp(18px,1.8vw,26px); font-weight:600; }
.page-inner .services-cta .btn-primary{ background:#fff; color:#1F55E0; }
@media (max-width:900px){ .page-inner .services-list{ grid-template-columns:1fr; } }
.page-inner .case-pipeline{ display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); overflow:visible; }
.page-inner .case-pipeline-stage{ min-width:0; border-right:0; border-bottom:0; padding:16px 16px 18px; }
.page-inner .case-pipeline-stage + .case-pipeline-stage{ box-shadow:inset 1px 0 0 rgba(20,20,20,.08); }
@media (max-width:640px){ .page-inner .case-pipeline{ grid-template-columns:1fr 1fr 1fr; } .page-inner .case-pipeline-stage:nth-child(3n+1){ box-shadow:none; } }
.page-inner .case-problem-row, .page-inner .case-surface{ justify-content:flex-start !important; }
.page-inner .case-problem-row{ gap:10px; }
.page-inner .case-problem-text{ margin:0; }
.page-inner .case-surface h4{ margin-top:2px; }

/* ======= Product line page ======= */
.page-inner .pl{ background:#fff; padding:clamp(96px,8.5vw,132px) 0 clamp(40px,5vw,80px); }
.pl-wrap{ max-width:1240px; }
.pl-head .eyebrow{ color:#8A8A87; }
.pl-head h1{ margin:12px 0 0; font-size:clamp(38px,6vw,96px); font-weight:600; letter-spacing:-0.05em; line-height:1; color:#141414; }
.pl-head p{ margin:clamp(14px,1.6vw,24px) 0 0; font-size:clamp(16px,1.35vw,21px); line-height:1.5; color:#5C5C5C; max-width:38em; }
.pl-tabs{ margin-top:clamp(24px,3vw,44px); display:flex; flex-wrap:wrap; gap:10px; }
.pl-tabs a{ padding:11px 20px; border-radius:999px; background:#F6F6F5; color:#141414; font-size:clamp(14px,1.05vw,16px); font-weight:600; transition:background .25s var(--ease), color .25s var(--ease); }
.pl-tabs a:hover{ background:#2F6BFF; color:#fff; }
.pl-group{ margin-top:clamp(36px,5vw,84px); display:grid; grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr); gap:clamp(18px,3vw,56px); align-items:start; scroll-margin-top:96px; }
.pl-group-head{ position:sticky; top:104px; }
.pl-n{ display:block; font-size:clamp(13px,1vw,15px); font-weight:600; letter-spacing:.06em; color:#A3A39F; }
.pl-group-head h2{ margin:10px 0 0; font-size:clamp(28px,3.2vw,52px); font-weight:600; letter-spacing:-0.045em; line-height:1.04; color:#141414; }
.pl-group-head p{ margin:12px 0 0; font-size:clamp(14.5px,1.1vw,17px); line-height:1.5; color:#5C5C5C; max-width:20em; }
.pl-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(10px,1.1vw,16px); }
.pl-grid-3 .pl-card:last-child:nth-child(odd){ grid-column:1 / -1; }
.pl-card{ background:#F7F7F6; border-radius:clamp(22px,2.2vw,30px); padding:clamp(20px,2.2vw,32px); display:flex; flex-direction:column; gap:clamp(16px,1.8vw,26px); min-height:clamp(210px,17vw,260px); transition:background .3s var(--ease), transform .3s var(--ease); }
.pl-card:hover{ background:#F2F2F0; transform:translateY(-3px); }
.pl-ico{ width:clamp(48px,3.8vw,58px); height:clamp(48px,3.8vw,58px); border-radius:50%; background:#2F6BFF; color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.pl-ico svg{ width:46%; height:46%; }
.pl-card h3{ margin:auto 0 0; font-size:clamp(20px,1.8vw,27px); font-weight:600; letter-spacing:-0.03em; line-height:1.1; color:#141414; }
.pl-card p{ margin:0; font-size:clamp(14px,1.05vw,16px); line-height:1.5; color:#5C5C5C; }
.pl-cta{ margin-top:clamp(40px,5vw,88px); background:#2F6BFF; border-radius:clamp(24px,2.6vw,36px); padding:clamp(24px,3.4vw,52px); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.pl-cta p{ margin:0; max-width:30em; font-size:clamp(20px,2.4vw,36px); font-weight:600; letter-spacing:-0.03em; line-height:1.15; color:#fff; }
.pl-cta .btn-primary{ background:#fff; color:#1F55E0; font-weight:700; padding:clamp(15px,1.3vw,20px) clamp(26px,2.4vw,38px); }
.pl-cta .btn-primary:hover{ background:#EEF1FF; }
@media (max-width:900px){
  .pl-group{ grid-template-columns:1fr; gap:16px; margin-top:44px; }
  .pl-group-head{ position:static; }
  .pl-group-head p{ max-width:none; }
}
@media (max-width:640px){
  .pl-wrap{ padding-left:8px; padding-right:8px; }
  .pl-head, .pl-tabs, .pl-group-head{ padding-left:8px; padding-right:8px; }
  .pl-grid{ grid-template-columns:1fr; }
  .pl-card{ min-height:0; }
  .pl-card h3{ margin-top:10px; }
  .pl-cta{ flex-direction:column; align-items:flex-start; border-radius:24px; }
  .pl-cta .btn-primary{ width:100%; justify-content:center; }
}

/* ======= Case pages: readability pass ======= */
.page-inner .case-detail-label{ font-size:clamp(22px,2.2vw,32px); font-weight:600; letter-spacing:-0.035em; color:#141414; text-transform:lowercase; line-height:1.1; }
.page-inner .case-detail-label::first-letter{ text-transform:uppercase; }
.page-inner .case-detail-body > .case-detail-block:last-child .case-detail-label{ color:#fff; }
.page-inner .case-detail-block{ padding:clamp(24px,3.2vw,52px); }
.page-inner .case-detail-block > p{ margin-top:clamp(12px,1.3vw,20px); font-size:clamp(16.5px,1.3vw,19.5px); line-height:1.62; color:#262626; max-width:46em; }
.page-inner .case-detail-block > p + p{ margin-top:14px; }
.page-inner .case-detail-block p strong{ color:#000; }
.page-inner .case-problem-text h4, .page-inner .case-surface h4{ font-weight:700; }
.page-inner .case-problem-text p, .page-inner .case-surface p{ font-size:clamp(15px,1.12vw,17px); line-height:1.55; color:#333; }
.page-inner .case-problem-text p{ margin-top:10px; }
.page-inner .case-surface{ justify-content:flex-start; gap:12px; }
.page-inner .case-surface h4{ margin:4px 0 0; }
.page-inner .case-problem-row{ gap:10px; justify-content:flex-start; }
.page-inner .case-problem-num{ color:#2F6BFF; font-weight:700; }
.page-inner .case-stat-label{ font-size:clamp(14.5px,1.1vw,16.5px); line-height:1.4; color:#333; }
.page-inner .case-note{ color:#4A4A4A; font-size:clamp(14px,1.05vw,15.5px); border-left-color:#2F6BFF; max-width:46em; }
.page-inner .case-detail-meta-item span:first-child{ color:#6E6E6B; font-size:11.5px; }
.page-inner .case-detail-meta-item span:last-child{ font-size:clamp(14.5px,1.1vw,16px); }
.page-inner .case-results-row .before{ color:#6E6E6B; }
.page-inner .case-chat-bubble.in, .page-inner .case-call-summary, .page-inner .case-call-tags span{ color:#262626; }
@media (max-width:640px){
  .page-inner .case-detail-block > p{ font-size:16.5px; line-height:1.6; }
  .page-inner .case-detail-label{ font-size:24px; }
}
.page-inner .case-problem-row, .page-inner .case-surface{ gap:10px; }
.page-inner .case-problem-text{ margin:0; }
.page-inner .case-problem-text h4{ margin:0; }
.page-inner .case-problem-num{ margin:0; }
.page-inner .case-detail-block .case-note{ color:#4A4A4A !important; font-size:clamp(14px,1.05vw,15.5px) !important; margin-top:16px; }

/* ======= All projects page: card grid ======= */
.page-inner .cases-page{ padding-top:clamp(96px,8.5vw,132px); padding-bottom:clamp(40px,5vw,80px); }
.page-inner .cases-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,1.6vw,22px); }
.page-inner .case-row, .page-inner .case-row:nth-child(even), .page-inner .case-row:first-child, .page-inner .case-row:nth-child(6){
  display:flex; flex-direction:column; gap:0; grid-column:auto; background:#F6F6F5; border-radius:clamp(24px,2.6vw,36px); padding:clamp(12px,1.2vw,18px); position:relative; transition:background .3s var(--ease), transform .35s var(--ease);
}
.page-inner .case-row:hover{ background:#F1F1EF; transform:translateY(-4px); }
.page-inner .case-row-media, .page-inner .case-row:nth-child(even) .case-row-media, .page-inner .case-row:first-child .case-row-media, .page-inner .case-row:nth-child(6) .case-row-media{
  order:0; aspect-ratio:16/10; border-radius:clamp(18px,2vw,26px); overflow:hidden; background:#fff; padding:0; box-shadow:none; display:block;
}
.page-inner .case-row-media img{ width:100%; height:100%; object-fit:cover; object-position:top left; transition:transform .6s var(--ease); }
.page-inner .case-row:hover .case-row-media img{ transform:scale(1.04); }
.page-inner .case-row-body{ padding:clamp(18px,2vw,30px) clamp(10px,1.2vw,18px) clamp(10px,1.2vw,16px); display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.page-inner .case-row-title, .page-inner .case-row:first-child .case-row-title, .page-inner .case-row:nth-child(6) .case-row-title{ font-size:clamp(24px,2.4vw,36px); font-weight:600; letter-spacing:-0.04em; line-height:1.08; }
.page-inner .case-row-sub{ margin-top:12px; max-width:none; font-size:clamp(15px,1.1vw,17px); line-height:1.5; color:#4A4A4A; }
.page-inner .case-row-tags{ margin-top:auto; padding-top:18px; padding-right:72px; }
.page-inner .case-row-tags .case-card-tag, .page-inner .case-row-tags .case-card-tag:last-child{ background:#fff; color:#262626; font-weight:500; }
.page-inner .case-row-btn{ position:absolute; right:clamp(22px,2.4vw,34px); bottom:clamp(22px,2.4vw,32px); margin:0; width:56px; height:56px; }
@media (max-width:900px){ .page-inner .cases-list{ grid-template-columns:1fr; } }
.page-inner .case-row-media{ background:#2F6BFF; }
.page-inner .case-row-media img{ object-fit:contain; object-position:center; transform-origin:center; }
.page-inner .case-row:hover .case-row-media img{ transform:scale(1.05); }
.page-inner .case-row-media-shot{ padding:clamp(18px,2.6vw,36px) clamp(18px,2.6vw,36px) 0; }
.page-inner .case-row-media-shot img{ border-radius:14px 14px 0 0; object-fit:cover; object-position:left top; box-shadow:0 20px 50px -20px rgba(10,20,60,.5); }

/* Solutions: larger notch + arrow button */
.sv .sv-card::after{ width:129px; height:129px; background-size:128px 128px; }
.sv .sv-card .sv-go{ right:11px !important; bottom:11px !important; width:76px !important; height:76px !important; }
.sv .sv-card .sv-go svg{ width:32px !important; height:32px !important; }
.sv .sv-card .sv-sub, .sv .sv-card .sv-lead{ padding-right:118px; }
@media (max-width:640px){
  .sv .sv-card::after{ width:113px; height:113px; background-size:112px 112px; }
  .sv .sv-card .sv-go{ width:66px !important; height:66px !important; right:10px !important; bottom:10px !important; }
  .sv .sv-card .sv-go svg{ width:28px !important; height:28px !important; }
  .sv .sv-card .sv-sub, .sv .sv-card .sv-lead{ padding-right:100px; }
}
/* project list: blue tiles fill fully */
.page-inner .case-row .case-row-media, .page-inner .case-row:nth-child(even) .case-row-media, .page-inner .case-row:first-child .case-row-media, .page-inner .case-row:nth-child(6) .case-row-media{ background:#2F6BFF; }
.page-inner .case-row-media img{ object-fit:cover; object-position:center; }
.page-inner .case-row-media-shot img{ object-fit:cover; object-position:left top; }
.page-inner .case-row-media img{ object-fit:contain; object-position:center; }
.page-inner .case-row-media-shot img{ object-fit:cover; object-position:left top; }

/* inner pages: clear the fixed header + lighter grays on project pages */
.page-inner .cases-page, .page-inner .pl, .page-inner .case-detail{ padding-top:calc(98px + clamp(36px,4.6vw,72px)); }
@media (max-width:640px){ .page-inner .cases-page, .page-inner .pl, .page-inner .case-detail{ padding-top:calc(96px + 28px); } }
.page-inner .case-row, .page-inner .case-row:nth-child(even), .page-inner .case-row:first-child, .page-inner .case-row:nth-child(6){ background:#FAFAF9; box-shadow:inset 0 0 0 1px rgba(20,20,20,.05); }
.page-inner .case-row:hover{ background:#F6F6F5; }
.page-inner .case-detail-meta-item, .page-inner .case-problem-row, .page-inner .case-surface, .page-inner .case-pipeline, .page-inner .case-results{ background:#FAFAF9; box-shadow:inset 0 0 0 1px rgba(20,20,20,.06); }
.page-inner .case-detail-body > .case-detail-block:last-child{ background:#FAFAF9; box-shadow:inset 0 0 0 1px rgba(20,20,20,.06); }
.page-inner .pl-card{ background:#FAFAF9; box-shadow:inset 0 0 0 1px rgba(20,20,20,.05); }
.page-inner .pl-card:hover{ background:#F6F6F5; }
.page-inner .pl-tabs a, .page-inner .case-detail-back, .page-inner .case-detail-nav-link{ background:#F6F6F5; }
/* project pages: lighter gray, no outlines */
.page-inner .case-row, .page-inner .case-row:nth-child(even), .page-inner .case-row:first-child, .page-inner .case-row:nth-child(6),
.page-inner .case-detail-meta-item, .page-inner .case-problem-row, .page-inner .case-surface, .page-inner .case-pipeline, .page-inner .case-results,
.page-inner .case-detail-body > .case-detail-block:last-child, .page-inner .pl-card{ background:#FAFAF9; box-shadow:none; border:0; }
.page-inner .case-row:hover, .page-inner .pl-card:hover{ background:#F7F7F6; }

/* Hero: two horizontal marquee rows (mobile / tablet) */
.hero-ticker-m{ display:none; }
@media (max-width:1199px){
  .hero-ticker-m{ display:flex; flex-direction:column; gap:10px; position:absolute; z-index:2; left:0; right:0; bottom:clamp(22px,4vw,40px); overflow:hidden;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%); mask-image:linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%); }
  .htm-row{ display:flex; width:max-content; }
  .htm-track{ list-style:none; margin:0; padding:0 10px 0 0; display:flex; gap:10px; flex:none; }
  .htm-l{ animation:htmL 38s linear infinite; }
  .htm-r{ animation:htmR 44s linear infinite; }
  .htm-track a{ display:block; padding:13px 22px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-size:clamp(15px,3.8vw,18px); font-weight:600; letter-spacing:-0.01em; white-space:nowrap; }
}
@keyframes htmL{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes htmR{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
@media (prefers-reduced-motion:reduce){ .htm-l, .htm-r{ animation:none !important; } }

/* Hero mobile: compact height, content top-aligned above the marquee rows */
@media (max-width:700px){
  .hero.hero-v7{ min-height:0 !important; height:auto !important; justify-content:flex-start !important; padding-bottom:calc(16px + 112px + 40px) !important; }
  .hero.hero-v7 .hero-inner{ margin-top:clamp(48px,14vw,72px); }
  .hero-ticker-m{ bottom:calc(16px + 24px); }
}

/* Hero headline: bold display weight */
.hero.hero-v7 .hero-title, .hero.hero-v7 .hero-title .line, .hero.hero-v7 .hero-title .reveal{ font-weight:800 !important; letter-spacing:-0.045em !important; }
.hero.hero-v7 .hero-title, .hero.hero-v7 .hero-title .line, .hero.hero-v7 .hero-title .reveal{ font-family:'Montserrat','Manrope',sans-serif !important; font-weight:700 !important; letter-spacing:-0.03em !important; }
@media (max-width:700px){ .hero-v7 .hero-title{ font-size:clamp(28px,8.3vw,38px) !important; } }
@media (max-width:700px){ .hero.hero-v7 .hero-left, .hero.hero-v7 .hero-title{ width:100% !important; justify-self:start !important; align-self:flex-start !important; margin-left:0 !important; } }
.cc[hidden]{ display:none !important; }
.page-inner .case-row-media{ display:flex; align-items:center; justify-content:center; }
.page-inner .case-row-media img{ width:100%; height:100%; object-fit:contain; object-position:center; }
/* project list tiles: 4:3, art centered and as large as possible, matching blue */
.page-inner .case-row .case-row-media{ background:#2869FD; aspect-ratio:4/3; }
.page-inner .case-row-media img{ object-fit:contain; object-position:center; }
.page-inner .case-row-media[href="case-5.html"] img, .page-inner .case-row-media[href="case-6.html"] img{ object-fit:cover; }
.page-inner .case-row-media[href="case-1.html"] img{ transform:scale(1.08); }
.page-inner .case-row-media[href="case-1.html"] img{ transform:none; }
.page-inner .case-row-media-plain{ display:block; width:100%; aspect-ratio:4/3; background:#2869FD; border-radius:clamp(18px,2vw,26px); }

/* Hero (local blue): smaller block */
@media (min-width:701px){ .hero.hero-v7{ min-height:min(88svh,840px) !important; } }
/* Hero (local blue): "Обсудить проект" button hidden for now, white cutout kept (remove this rule to restore) */
.hero.hero-v7 .hero-ctas{ display:none !important; }
.hero.hero-v7 .hero-title{ font-size:clamp(50px,5.9vw,108px) !important; }
@media (max-width:700px){ .hero.hero-v7 .hero-title{ font-size:clamp(26px,7.6vw,34px) !important; } }

/* Hero notch: bigger pocket, CTA inside as one block with the card */
@media (min-width:901px){
  .hero.hero-v7{ --hh:clamp(92px,7.8vw,124px); --hr:clamp(26px,2.6vw,38px); }
  .hn-right{ display:flex !important; align-items:stretch; padding:0; margin-left:var(--hr); }
  .hn-right .btn{ align-self:center; height:calc(var(--hh) - clamp(18px,1.7vw,28px)); padding:0 clamp(34px,3.4vw,56px); font-size:clamp(16.5px,1.35vw,21px); border-radius:calc(var(--radius-lg) - 4px); background:#2F6BFF !important; color:#fff !important; gap:12px; }
  .hn-right .btn:hover{ background:#1F55E0 !important; }
  .hn-left{ margin-right:var(--hr); }
}
@media (min-width:901px){
  .hero.hero-v7{ --pg:clamp(12px,1.1vw,16px); }
  .hn-right{ margin-left:var(--pg) !important; }
  .hn-right .btn{ height:calc(var(--hh) - 2 * var(--pg)); border-radius:calc(var(--radius-lg) - var(--pg) + 4px); }
}

/* Hero (blue): gradient background; CTA pocket on the left, free-call note on the right */
.hero.hero-v7{ --hg:linear-gradient(118deg,#7DB4F5 0%,#5A8FF7 32%,#3F6FF8 62%,#2D55F0 100%); }
.hero.hero-v7::before{ background:var(--hg) !important; }
@media (min-width:901px){
  .hero.hero-v7::before, .hn-tab{ background:var(--hg) !important; background-attachment:fixed !important; }
  .hn-tab::before, .hn-tab::after{ background:var(--hg) !important; background-attachment:fixed !important; }
  .hn-tab::before{ -webkit-mask:radial-gradient(circle at 0 100%, transparent calc(var(--hr) - .6px), #000 var(--hr)); mask:radial-gradient(circle at 0 100%, transparent calc(var(--hr) - .6px), #000 var(--hr)); }
  .hn-tab::after{ -webkit-mask:radial-gradient(circle at 100% 100%, transparent calc(var(--hr) - .6px), #000 var(--hr)); mask:radial-gradient(circle at 100% 100%, transparent calc(var(--hr) - .6px), #000 var(--hr)); }
  .hn-right{ order:-1; margin-left:0 !important; margin-right:var(--pg); }
  .hn-left{ order:3; margin-right:0 !important; margin-left:var(--hr); }
  .hn-right .btn{ background:#2D55F0 !important; }
  .hn-right .btn:hover{ background:#1F44D8 !important; }
  .hn-check{ background:#3F6FF8; }
}
.hero-v7 .hero-tag, .hero-v7 .hero-cap{ background:rgba(255,255,255,.2) !important; }
@media (min-width:901px){ .hn-right .btn{ border-radius:999px !important; } }
/* gradient removed: solid brand blue again */
.hero.hero-v7{ --hg:linear-gradient(#2F6BFF,#2F6BFF); }
@media (min-width:901px){
  .hn-right .btn{ background:#2F6BFF !important; }
  .hn-right .btn:hover{ background:#1F55E0 !important; }
  .hn-check{ background:#2F6BFF; }
}

/* Hero (blue): CTA under the subtitle; single notch on the left with the free-call note; tab runs to the right edge */
.hero.hero-v7 .hero-ctas{ display:flex !important; justify-content:flex-start; margin-top:clamp(22px,2.2vw,32px); }
.hero.hero-v7 .hero-ctas .hero-link{ display:none !important; }
.hero.hero-v7 .hero-ctas .btn-primary{ background:#fff !important; color:#1F55E0 !important; font-weight:700; border-radius:999px; font-size:clamp(15.5px,1.2vw,18px); padding:clamp(15px,1.3vw,19px) clamp(28px,2.4vw,40px); }
.hero.hero-v7 .hero-ctas .btn-primary:hover{ background:#EEF1FF !important; color:#1F44D8 !important; }
@media (min-width:901px){
  .hero.hero-v7{ --hh:clamp(72px,6.2vw,96px); }
  .hero-notch .hn-right{ display:none !important; }
  .hn-left{ order:0 !important; margin-left:0 !important; margin-right:var(--hr) !important; }
  .hn-tab::after{ display:none !important; }
  .hero.hero-v7::before{ border-bottom-right-radius:0 !important; }
  .hn-tab{ border-radius:0 0 var(--radius-lg) var(--radius-lg) !important; }
}

/* Hero CTA: white pill with a blue arrow circle (matches the Solutions cards) */
.hero.hero-v7 .hero-ctas .btn-primary{
  display:inline-flex; align-items:center; gap:clamp(16px,1.6vw,26px);
  padding:clamp(7px,.6vw,9px) clamp(8px,.6vw,9px) clamp(7px,.6vw,9px) clamp(26px,2.3vw,38px) !important;
  font-size:clamp(16px,1.3vw,19.5px); box-shadow:0 18px 36px -14px rgba(8,28,120,.55);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease), background .25s var(--ease);
}
.hero.hero-v7 .hero-ctas .btn-primary .btn-arrow{
  flex:none; width:clamp(46px,3.9vw,56px); height:clamp(46px,3.9vw,56px); padding:clamp(13px,1.1vw,16px); box-sizing:border-box;
  border-radius:50%; background:#2F6BFF; color:#fff; stroke-width:2.4; margin:0; transition:transform .35s var(--ease), background .25s var(--ease);
}
.hero.hero-v7 .hero-ctas .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 22px 40px -14px rgba(8,28,120,.65); }
.hero.hero-v7 .hero-ctas .btn-primary:hover .btn-arrow{ background:#1F55E0; transform:rotate(45deg); }

/* Hero (blue) mobile/tablet: bottom-right pocket with the CTA, blue tab on the left (same idea as desktop) */
@media (max-width:900px){
  .hero.hero-v7{ --hpb:16px; --hh:78px; --hr:24px; --pg:10px; padding-bottom:calc(var(--hpb) + var(--hh) + 24px + 112px + 28px) !important; }
  .hero.hero-v7::before{ bottom:calc(var(--hpb) + var(--hh)) !important; border-bottom-right-radius:26px !important; }
  .hero.hero-v7 .hero-ctas{ display:none !important; }
  .hero-ticker-m{ bottom:calc(var(--hpb) + var(--hh) + 26px) !important; }
  .hero-notch{ display:flex !important; align-items:flex-end; position:absolute; z-index:3; left:8px; right:8px; bottom:var(--hpb); height:var(--hh); }
  .hn-left{ display:none !important; }
  .hn-tab{ position:relative; flex:none; width:clamp(64px,22vw,110px); height:100%; background:#2F6BFF !important; border-radius:0 0 0 26px; margin:0; }
  .hn-tab::before{ display:none !important; }
  .hn-tab::after{ content:""; display:block !important; position:absolute; top:0; right:calc(-1 * var(--hr)); width:var(--hr); height:var(--hr); background:radial-gradient(circle at 100% 100%, transparent calc(var(--hr) - .6px), #2F6BFF var(--hr)) !important; -webkit-mask:none; mask:none; }
  .hn-tab{ border-radius:0 0 0 26px !important; }
  .hn-right{ order:0 !important; display:flex !important; flex:1; min-width:0; align-items:center; height:100%; margin:0 0 0 var(--hr) !important; }
  .hn-right .btn{ width:100%; height:calc(var(--hh) - 2 * var(--pg)); padding:0 8px 0 24px !important; display:inline-flex; align-items:center; justify-content:space-between; gap:12px; border-radius:999px !important; background:#2F6BFF !important; color:#fff !important; font-size:clamp(15.5px,4.2vw,18px); font-weight:700; visibility:visible !important; }
  .hn-right .btn .btn-arrow{ flex:none; width:calc(var(--hh) - 2 * var(--pg) - 16px); height:calc(var(--hh) - 2 * var(--pg) - 16px); padding:14px; box-sizing:border-box; border-radius:50%; background:#fff; color:#2F6BFF; stroke-width:2.4; margin:0; }
}
@media (max-width:900px){ .hero.hero-v7::before{ border-bottom-left-radius:0 !important; } }

/* Contact form: no borders, very light gray fields */
#contact .field input, #contact .field textarea{ background:#F7F7F6 !important; border:0 !important; box-shadow:none !important; outline:0; }
#contact .field input:hover, #contact .field textarea:hover{ background:#F4F4F3 !important; border:0 !important; }
#contact .field input:focus, #contact .field textarea:focus{ background:#F4F5F8 !important; border:0 !important; box-shadow:0 0 0 2px rgba(47,107,255,.35) !important; }
/* Contact consent: no gray frame, very light gray box */
#contact .contact-consent-box{ background:#F7F7F6 !important; border:0 !important; width:24px; height:24px; border-radius:8px; }
#contact .contact-consent input:checked + .contact-consent-box{ background:#2F6BFF !important; color:#fff; }
#contact .contact-consent{ color:#3A3A3A; }
/* Hero CTA: no shadow */
.hero.hero-v7 .hero-ctas .btn-primary, .hero.hero-v7 .hero-ctas .btn-primary:hover{ box-shadow:none !important; }

/* Hero mobile polish: bigger headline, tighter vertical rhythm, rounded tab */
@media (max-width:900px){
  .hero.hero-v7{ padding-bottom:calc(var(--hpb) + var(--hh) + 20px + 112px + 8px) !important; }
  .hn-tab{ border-radius:0 0 22px 26px !important; }
  .hn-tab::after{ top:0; }
}
@media (max-width:700px){
  .hero.hero-v7 .hero-title{ font-size:clamp(34px,10.4vw,44px) !important; line-height:1.06; }
  .hero.hero-v7 .hero-sub-mobile{ margin-top:18px !important; font-size:clamp(16px,4.4vw,19px) !important; line-height:1.45; }
  .hero.hero-v7 .hero-inner{ margin-top:clamp(40px,11vw,56px); }
}
@media (max-width:700px){
  .hero.hero-v7 .hero-title{ font-size:clamp(28px,8.6vw,38px) !important; }
  .hero.hero-v7 .hero-sub-mobile{ padding-right:12px; }
}

/* Hero marquee (mobile/tablet): slower */
@media (max-width:1199px){ .htm-l{ animation-duration:90s !important; } .htm-r{ animation-duration:104s !important; } }

/* Hero blue block: lowered a bit from the header */
.hero.hero-v7::before{ top:clamp(100px,8.2vw,124px) !important; }
@media (max-width:700px){ .hero.hero-v7::before{ top:92px !important; } }

@media (max-width:700px){ .hero.hero-v7::before{ top:106px !important; } .hero.hero-v7 .hero-inner{ margin-top:clamp(52px,14vw,70px); } }

/* Mobile: separate "Как мы работаем" / lead magnet / FAQ so they stop blending */
@media (max-width:700px){
  #process{ padding-bottom:20px; }
  #process .pc-grid li{ background:#F4F4F2 !important; }
  #process .pc-grid li > span:first-child, #process .pc-num{ color:#2F6BFF !important; font-weight:700; }
  #razbor.lm{ padding-top:36px; padding-bottom:36px; }
  #razbor .lm-card{ background:#2F6BFF !important; color:#fff !important; border-radius:28px; padding:30px 22px 28px !important; }
  #razbor .lm-body h2{ color:#fff !important; font-size:clamp(27px,8vw,34px); max-width:none; }
  #razbor .lm-body p{ color:rgba(255,255,255,.92) !important; }
  #razbor .lm-btn{ background:#fff !important; color:#1F55E0 !important; font-weight:700; }
  #razbor .lm-btn i{ background:#2F6BFF !important; color:#fff !important; }
  #faq.fq{ padding-top:12px; padding-bottom:44px; }
  #faq .fq-wrap{ background:#F7F7F6; border-radius:28px; padding:28px 14px 10px; }
  #faq .fq-head{ padding:0 6px; }
  #faq .fq-item{ border-bottom-color:rgba(20,20,20,.1); }
  #faq .fq-item summary{ padding-left:6px; padding-right:6px; }
  #faq .fq-item p{ padding-left:6px; padding-right:6px; }
}

/* Hero mobile: CTA pill inset a bit from the right edge */
@media (max-width:900px){ .hn-right{ margin-right:12px !important; } }

/* Mobile menu: minimal full-width sheet with large links */
@media (max-width:900px){
  .mobile-nav{ left:0 !important; right:0 !important; width:100% !important; top:100% !important; border-radius:0 !important; box-shadow:none !important; padding:12px 22px 26px !important; flex-direction:column; background:#fff; max-height:0; overflow:hidden; border-top:1px solid rgba(20,20,20,.06); }
  .mobile-nav.open{ max-height:calc(100svh - 84px) !important; height:calc(100svh - 84px); overflow-y:auto; }
  .mobile-nav .menu-links{ display:block; padding-top:8px; }
  .mobile-nav .menu-links a{ display:block; padding:12px 0; font-size:clamp(30px,9.4vw,40px); font-weight:600; letter-spacing:-0.045em; line-height:1.1; border:0 !important; color:#141414; }
  .mobile-nav .menu-links a:active, .mobile-nav .menu-links a:hover{ color:#2F6BFF; }
  .mobile-nav .menu-contacts{ margin-top:28px; padding-top:22px; border-top:1px solid rgba(20,20,20,.08); }
  .mobile-nav .menu-contact{ border:0 !important; padding:9px 0; gap:12px; font-size:16px; font-weight:500; color:#5C5C5C; }
  .mobile-nav .menu-contact-icon{ width:24px; height:24px; background:transparent !important; color:#2F6BFF !important; }
  .mobile-nav .menu-contact-icon svg{ width:18px; height:18px; }
  .mobile-nav .btn-primary{ margin-top:auto; flex:none; height:60px; display:flex; align-items:center; justify-content:center; border-radius:999px; font-size:17px; font-weight:700; background:#2F6BFF; color:#fff !important; border:0 !important; }
  .mobile-nav .menu-contacts + .btn-primary{ margin-top:28px; }
}

@media (max-width:900px){ .mobile-nav .menu-contacts + .btn-primary{ margin-top:auto; } .mobile-nav .menu-contacts{ margin-bottom:28px; } }

/* "Как мы работаем": numbers back to neutral dark gray (no blue) */
#process .pc-grid li > span:first-child, #process .pc-num{ color:#8A8A87 !important; font-weight:600; }

/* Footer social icons: plain black */
.site-footer .footer-social, .site-footer .footer-social svg{ color:#141414 !important; }
.site-footer .footer-social:hover, .site-footer .footer-social:hover svg{ color:#5C5C5C !important; }

/* Mobile: equal spacing above the header content and between header and the blue Hero */
@media (max-width:900px){ .hero.hero-v7::before{ top:96px !important; } .hero.hero-v7 .hero-inner{ margin-top:clamp(44px,12vw,58px); } }

/* FAQ -> contact: more air between the blocks, contact block as an inset rounded card on mobile */
#faq.fq{ padding-bottom:clamp(64px,7vw,110px); }
@media (max-width:700px){
  #faq.fq{ padding-bottom:40px; }
  #faq .fq-wrap{ padding-bottom:14px; }
  #faq .fq-list{ border-top:0; }
  #faq .fq-item:last-child{ border-bottom:0; }
  section#contact.contact{ margin:0 8px 16px; border-radius:28px; overflow:hidden; background:#2F6BFF; padding-top:44px; }
}

@media (max-width:700px){
  section#contact.contact{ margin:0 8px 16px; background:#fff !important; border-radius:0; padding-top:0 !important; }
  #contact > .contact-inner{ border-radius:28px !important; padding-top:44px; padding-left:8px; padding-right:8px; }
  #contact .contact-bg, #contact .contact-glow{ display:none; }
}

@media (max-width:700px){ section#contact.contact{ margin:0 !important; padding:0 8px 16px !important; } }

/* project 2 art: matches the 21.png blue */
.page-inner .case-row-media[href="case-2.html"]{ background:#2168FE; }
.cc.cc-art-plain:nth-child(2){ background:#2168FE !important; }

/* project 3 art + calls card: image nudged left */
.page-inner .case-row-media[href="case-3.html"]{ background:#1E69FD; }
.cc.cc-art:nth-child(3){ background:#1E69FD !important; }
@media (min-width:1101px){ .cc.cc-art-wide:nth-child(6) .cc-art-img{ right:6% !important; } }
@media (max-width:1100px){ .cc.cc-art:nth-child(6) .cc-art-img{ object-position:88% 40% !important; } }

@media (min-width:1101px){ .cc.cc-art-wide:nth-child(6) .cc-art-img{ right:4% !important; left:auto !important; width:62% !important; height:auto !important; top:50% !important; transform:translateY(-52%) !important; object-fit:contain !important; aspect-ratio:3 / 2; } }
@media (min-width:1101px){ .cc.cc-art-wide:nth-child(6) .cc-art-img{ width:88% !important; right:12% !important; transform:translateY(-54%) !important; } }

/* home card 3 (dispatch): whole illustration visible, centered */
.cc.cc-art:nth-child(3) .cc-art-img{ position:absolute !important; left:3% !important; right:auto !important; top:58px !important; width:94% !important; height:calc(100% - 218px) !important; object-fit:contain !important; object-position:center !important; transform:none !important; margin:0 !important; }
@media (max-width:700px){ .cc.cc-art:nth-child(3) .cc-art-img{ top:54px !important; height:calc(100% - 190px) !important; } }

/* home card 2 (CRM instead of tables): illustration visible on desktop too */
@media (min-width:701px){ .cc.cc-art:nth-child(2) .cc-art-img-m{ display:block !important; position:absolute !important; left:4% !important; right:auto !important; top:58px !important; width:92% !important; height:calc(100% - 218px) !important; object-fit:contain !important; object-position:center !important; transform:none !important; margin:0 !important; flex:none !important; } }

/* ======= MATURE PASS (modern shapes kept): calmer headings, slightly smaller radii, quieter chips ======= */
:root{ --radius-lg:24px; }
.hero.hero-v7 .hero-title, .hero.hero-v7 .hero-title .line, .hero.hero-v7 .hero-title .reveal{ font-family:'Manrope',sans-serif !important; font-weight:700 !important; letter-spacing:-0.04em !important; }
.htm-track a, .ht-track a{ font-weight:500; background:rgba(255,255,255,.14); }

/* Solutions cards: blue circle (a touch deeper than the notch) with a white arrow */
.sv .sv-card .sv-go{ background:#1F55E0 !important; color:#fff !important; }
.sv .sv-card:hover .sv-go{ background:#1747BF !important; color:#fff !important; }
.sv .sv-card .sv-go svg{ stroke:#fff; color:#fff; }

/* Solutions cards: just a white arrow in the notch, no circle */
.sv .sv-card .sv-go, .sv .sv-card:hover .sv-go{ background:transparent !important; box-shadow:none !important; }
.sv .sv-card .sv-go svg{ width:36px !important; height:36px !important; stroke-width:2.2; transition:transform .3s var(--ease); }
.sv .sv-card:hover .sv-go svg{ transform:translate(3px,-3px); }
@media (max-width:640px){ .sv .sv-card .sv-go svg{ width:32px !important; height:32px !important; } }

/* Mobile: "Контакты" panel hidden in the contact block (the form is enough) */
@media (max-width:700px){ #contact .contact-channels-panel{ display:none !important; } }

/* logo5: wordmark only (no icon), so a smaller height keeps the same visual weight */
.logo-img{ height:20px; width:auto; }
.site-footer .logo-img{ height:18px; }
@media (max-width:700px){ .logo-img{ height:18px; } .site-footer .logo-img{ height:17px; } }
.logo-img{ height:24px; } .site-footer .logo-img{ height:20px; } @media (max-width:700px){ .logo-img{ height:21px; } .site-footer .logo-img{ height:19px; } }

/* logo7: wordmark with blue H */
.logo-img{ height:26px; } .site-footer .logo-img{ height:22px; } @media (max-width:700px){ .logo-img{ height:22px; } .site-footer .logo-img{ height:20px; } }

/* logo8: rounded blue badge with white wordmark */
.logo-img{ height:36px; width:auto; } .site-footer .logo-img{ height:30px; } @media (max-width:700px){ .logo-img{ height:32px; } .site-footer .logo-img{ height:28px; } }
.logo-img{ height:40px; } .site-footer .logo-img{ height:34px; } @media (max-width:700px){ .logo-img{ height:36px; } .site-footer .logo-img{ height:32px; } }

/* logo5: plain black wordmark */
.logo-img{ height:26px; width:auto; } .site-footer .logo-img{ height:22px; } @media (max-width:700px){ .logo-img{ height:22px; } .site-footer .logo-img{ height:20px; } }

/* logo8 (star icon + wordmark) */
.logo-img{ height:34px; width:auto; } .site-footer .logo-img{ height:28px; } @media (max-width:700px){ .logo-img{ height:30px; } .site-footer .logo-img{ height:26px; } }
.logo-img{ height:30px; } .site-footer .logo-img{ height:25px; } @media (max-width:700px){ .logo-img{ height:26px; } .site-footer .logo-img{ height:23px; } }

/* hero subtitle is longer again: allow the full width, 3 lines max on desktop */
@media (min-width:1200px){ .hero.hero-v7 .hero-sub-desktop{ max-width:min(calc(100% - clamp(300px,27vw,400px)),720px) !important; font-size:clamp(16px,1.35vw,21px) !important; } }

/* hero subtitle: two lines on desktop */
@media (min-width:1200px){ .hero.hero-v7 .hero-sub-desktop{ max-width:min(calc(100% - clamp(300px,27vw,400px)),940px) !important; width:max-content; font-size:clamp(15px,1.22vw,19px) !important; text-wrap:balance; } }
@media (min-width:901px) and (max-width:1199px){ .hero.hero-v7 .hero-sub-desktop{ max-width:none !important; font-size:clamp(14px,1.5vw,17px) !important; } }

/* header "Связаться": always brand blue */
.btn-header, body:has(.hero) .site-header:not(.scrolled) .btn-header, body:has(.hero) .site-header.scrolled .btn-header, .site-header.scrolled .btn-header{ background:#2F6BFF !important; border-color:#2F6BFF !important; color:#fff !important; }
.btn-header:hover, body:has(.hero) .site-header:not(.scrolled) .btn-header:hover, body:has(.hero) .site-header.scrolled .btn-header:hover, .site-header.scrolled .btn-header:hover{ background:#1F55E0 !important; border-color:#1F55E0 !important; color:#fff !important; }

/* card 2 (CRM instead of tables): illustration raised, equal air above (chip) and below (title) */
@media (max-width:700px){
  .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ margin:20px 12px 26px !important; width:calc(100% - 24px) !important; transform:none !important; object-position:center !important; }
  .cc.cc-art-plain:nth-child(2) .cc-chip{ top:14px !important; }
}
@media (min-width:701px){
  .cc.cc-art:nth-child(2) .cc-art-img-m{ top:70px !important; height:calc(100% - 262px) !important; left:3% !important; width:94% !important; }
}
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(2) .cc-art-img-m{ top:64px !important; height:calc(100% - 200px) !important; width:96% !important; left:2% !important; } }

/* card 4 (auto valuation): wide screenshot, fully visible, no crop */
@media (min-width:1101px){
  .cc.cc-art:nth-child(4) .cc-art-img{ position:absolute !important; left:auto !important; right:2.5% !important; top:50% !important; bottom:auto !important; width:64% !important; height:auto !important; aspect-ratio:1536 / 1024 !important; object-fit:contain !important; transform:translateY(-50%) !important; margin:0 !important; }
}
@media (min-width:701px) and (max-width:1100px){
  .cc.cc-art:nth-child(4) .cc-art-img{ position:absolute !important; left:3% !important; right:auto !important; top:64px !important; width:94% !important; height:calc(100% - 226px) !important; object-fit:contain !important; object-position:center !important; transform:none !important; margin:0 !important; aspect-ratio:auto !important; }
}
@media (max-width:700px){
  .cc.cc-art:nth-child(4) .cc-art-img{ position:relative !important; margin:56px 12px 22px !important; width:calc(100% - 24px) !important; height:auto !important; flex:1 1 0; min-height:0; object-fit:contain !important; object-position:center !important; transform:none !important; aspect-ratio:auto !important; inset:auto !important; }
}

/* card 1 (sales automation) new art: whole screenshot visible, right side */
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-art-img{ position:absolute !important; left:auto !important; right:2.5% !important; top:50% !important; bottom:auto !important; width:60% !important; height:auto !important; aspect-ratio:1536 / 1024 !important; object-fit:contain !important; transform:translateY(-50%) !important; margin:0 !important; }
}
@media (min-width:701px) and (max-width:1100px){
  .cc.cc-art:nth-child(1) .cc-art-img{ position:absolute !important; left:auto !important; right:3% !important; top:50% !important; width:56% !important; height:auto !important; aspect-ratio:1536 / 1024 !important; object-fit:contain !important; transform:translateY(-50%) !important; margin:0 !important; }
}
@media (max-width:700px){
  .cc.cc-art:nth-child(1) .cc-art-img{ position:relative !important; margin:56px 12px 22px !important; width:calc(100% - 24px) !important; height:auto !important; flex:1 1 0; min-height:0; object-fit:contain !important; transform:none !important; aspect-ratio:auto !important; inset:auto !important; }
}
/* card 4 on tablet: text left, screenshot right, taller card */
@media (min-width:701px) and (max-width:1100px){
  .cc.cc-art:nth-child(4){ min-height:300px; }
  .cc.cc-art:nth-child(4) .cc-art-img{ left:auto !important; right:3% !important; top:50% !important; width:52% !important; height:auto !important; aspect-ratio:1536 / 1024 !important; transform:translateY(-50%) !important; }
}

/* card 1 tablet: taller card so the screenshot is not clipped */
@media (min-width:701px) and (max-width:1100px){
  .cc.cc-art:nth-child(1){ min-height:300px; }
  .cc.cc-art:nth-child(1) .cc-art-img{ width:50% !important; }
}
/* card 2 (CRM instead of tables): picture a bit higher and wider */
@media (max-width:700px){
  .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ margin:6px 4px 20px !important; width:calc(100% - 8px) !important; }
}
@media (min-width:701px){
  .cc.cc-art:nth-child(2) .cc-art-img-m{ top:48px !important; height:calc(100% - 240px) !important; width:100% !important; left:0 !important; }
}
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(2) .cc-art-img-m{ top:42px !important; height:calc(100% - 190px) !important; width:100% !important; left:0 !important; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(1) .cc-art-img{ width:46% !important; } }

/* card 1: picture a bit wider */
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-art-img{ width:68% !important; right:1.5% !important; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(1) .cc-art-img{ width:52% !important; right:2% !important; } }
@media (max-width:700px){ .cc.cc-art:nth-child(1) .cc-art-img{ margin:48px 4px 20px !important; width:calc(100% - 8px) !important; } }
@media (min-width:1101px){ .cc.cc-art:nth-child(4) .cc-art-img{ width:58% !important; right:3% !important; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(4) .cc-art-img{ width:48% !important; } }

/* card 4: picture a bit larger */
@media (min-width:1101px){ .cc.cc-art:nth-child(4) .cc-art-img{ width:66% !important; right:1.5% !important; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(4) .cc-art-img{ width:54% !important; right:2% !important; } }
@media (max-width:700px){ .cc.cc-art:nth-child(4) .cc-art-img{ margin:44px 4px 18px !important; width:calc(100% - 8px) !important; } }

/* logo12: icon + lowercase wordmark */
.logo-img{ height:30px; width:auto; } .site-footer .logo-img{ height:25px; } @media (max-width:700px){ .logo-img{ height:26px; } .site-footer .logo-img{ height:23px; } }
.logo-img{ height:38px; } .site-footer .logo-img{ height:30px; } @media (max-width:700px){ .logo-img{ height:32px; } .site-footer .logo-img{ height:27px; } }
.logo-img{ height:46px; } .site-footer .logo-img{ height:36px; } @media (max-width:700px){ .logo-img{ height:38px; } .site-footer .logo-img{ height:32px; } }

/* longer marquee lists: keep the same reading speed */
@media (max-width:1199px){ .htm-l{ animation-duration:150s !important; } .htm-r{ animation-duration:170s !important; } }
@media (min-width:1200px){ .ht-track{ animation-duration:52s !important; } }
@media (max-width:1199px){ .htm-r{ animation-duration:185s !important; } }
@media (min-width:1200px){ .ht-track{ animation-duration:58s !important; } }
@media (max-width:1199px){ .htm-l{ animation-duration:170s !important; } .htm-r{ animation-duration:190s !important; } }
@media (min-width:1200px){ .ht-track{ animation-duration:64s !important; } }

/* card 1: shorter title must stay clear of the screenshot */
@media (min-width:1101px){
  .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(22px,2.3vw,36px) !important; max-width:none; }
  .cc.cc-art:nth-child(1) .cc-art-text{ max-width:31% !important; }
  .cc.cc-art:nth-child(1) .cc-art-img{ width:64% !important; }
}

/* card 1: identical title typography to the other cards (plain-card sizes); picture smaller so the text fits beside it */
@media (min-width:701px){
  .cc.cc-art:nth-child(1){ container-type:inline-size; }
}
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(26px,2.8vw,42px) !important; letter-spacing:-0.04em; line-height:1.04; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(26px,3.6vw,40px) !important; letter-spacing:-0.04em; line-height:1.04; } }
@container (min-width:340px){
  .cc.cc-art:nth-child(1) .cc-art-text{ max-width:44cqw !important; }
  .cc.cc-art:nth-child(1) .cc-art-img{ width:50cqw !important; right:2cqw !important; }
}

/* card 1: bigger picture, typography explicitly identical to cards 2-3 */
.cc.cc-art:nth-child(1) .cc-title{ font-family:inherit; font-weight:600 !important; }
@media (min-width:1101px){ .cc.cc-art:nth-child(1) .cc-art-sub{ font-size:clamp(13px,1.1vw,15.84px) !important; font-weight:400; } }
@container (min-width:340px){
  .cc.cc-art:nth-child(1) .cc-art-text{ max-width:40cqw !important; }
  .cc.cc-art:nth-child(1) .cc-art-img{ width:60cqw !important; right:1.5cqw !important; }
}

/* ===== "Как мы работаем": minimal cards that stack while scrolling ===== */
html body #process .pc-grid{ display:block !important; counter-reset:none; margin:0; padding:0; list-style:none; }
html body #process .pc-grid li{
  position:sticky; display:grid !important; grid-template-columns:clamp(84px,9vw,150px) minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(16px,3vw,56px);
  min-height:clamp(210px,26vh,280px); margin:0 0 clamp(14px,1.8vw,24px); padding:clamp(24px,3vw,44px) clamp(24px,3.4vw,56px);
  background:#FAFAF9 !important; border-radius:var(--radius-lg); box-shadow:0 0 0 1px rgba(20,20,20,.06), 0 18px 40px -26px rgba(20,20,20,.28);
}
html body #process .pc-grid li:nth-child(1){ top:calc(92px + 0 * 14px); }
html body #process .pc-grid li:nth-child(2){ top:calc(92px + 1 * 14px); }
html body #process .pc-grid li:nth-child(3){ top:calc(92px + 2 * 14px); }
html body #process .pc-grid li:nth-child(4){ top:calc(92px + 3 * 14px); }
html body #process .pc-grid li:nth-child(5){ top:calc(92px + 4 * 14px); }
html body #process .pc-grid li:nth-child(6){ top:calc(92px + 5 * 14px); margin-bottom:0; }
html body #process .pc-grid li .pc-n{ display:block !important; width:auto !important; height:auto !important; background:none !important; padding:0 !important; margin:0 !important; font-size:clamp(46px,6.4vw,96px) !important; font-weight:600 !important; letter-spacing:-0.05em !important; line-height:1 !important; color:#2F6BFF !important; }
html body #process .pc-grid li h3{ margin:0 !important; font-size:clamp(24px,2.7vw,42px); font-weight:600; letter-spacing:-0.04em; line-height:1.05; color:#141414; }
@media (max-width:900px){
  html body #process .pc-grid li{ grid-template-columns:1fr; align-items:start; gap:10px; min-height:0; padding:22px 20px 24px; }
  html body #process .pc-grid li .pc-n{ font-size:44px !important; }
  html body #process .pc-grid li h3{ font-size:clamp(22px,6.2vw,28px); }
  html body #process .pc-grid li:nth-child(n){ top:calc(80px + (var(--i,0)) * 10px); }
  html body #process .pc-grid li:nth-child(1){ --i:0; } html body #process .pc-grid li:nth-child(2){ --i:1; } html body #process .pc-grid li:nth-child(3){ --i:2; }
  html body #process .pc-grid li:nth-child(4){ --i:3; } html body #process .pc-grid li:nth-child(5){ --i:4; } html body #process .pc-grid li:nth-child(6){ --i:5; }
}
@media (prefers-reduced-motion:reduce){ html body #process .pc-grid li{ position:static; } }
html body #process .pc-grid li .pc-n{ align-self:center !important; }
html body #process .pc-grid li{ gap:clamp(16px,2.6vw,48px); }
html body #process .pc-grid li h3{ align-self:center; }
@media (max-width:900px){ html body #process .pc-grid li .pc-n{ align-self:start !important; } }

html body #process .pc-grid li p{ align-self:center; }

/* ===== "Как мы работаем": stacked cards (left) + pinned blue panel (right) ===== */
html body #process .pc-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(16px,2.4vw,36px); align-items:start; }
html body #process .pc-grid li{ grid-template-columns:clamp(70px,7vw,110px) minmax(0,1fr) !important; min-height:clamp(150px,21vh,210px); cursor:pointer; transition:box-shadow .3s, background .3s; }
html body #process .pc-grid li p{ display:none; }
html body #process .pc-grid li .pc-n{ font-size:clamp(40px,4.6vw,72px) !important; }
html body #process .pc-grid li h3{ font-size:clamp(22px,2.1vw,34px); }
html body #process .pc-grid li:not(.is-cur) .pc-n{ color:#B9C8F5 !important; }
html body #process .pc-grid li.is-cur{ background:#fff !important; box-shadow:0 0 0 1.5px #2F6BFF, 0 18px 40px -26px rgba(47,107,255,.5); }
html body #process .pc-panel{ position:sticky; top:92px; background:#2F6BFF; color:#fff; border-radius:var(--radius-lg); border-bottom-right-radius:0; overflow:hidden; padding:clamp(26px,3.4vw,56px); min-height:clamp(430px,60vh,560px); display:flex; flex-direction:column; }
html body #process .pc-panel::after{ content:""; position:absolute; right:-1px; bottom:-1px; width:129px; height:129px; pointer-events:none; z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 106 106'%3E%3Cpath d='M106,0 A24,24 0 0 1 82,24 H48 A24,24 0 0 0 24,48 V82 A24,24 0 0 1 0,106 H106 Z' fill='%23ffffff'/%3E%3C/svg%3E") right bottom / 128px 128px no-repeat; }
html body #process .pc-pnum{ font-size:clamp(80px,11vw,170px); font-weight:700; letter-spacing:-.06em; line-height:.9; color:rgba(255,255,255,.22); }
html body #process .pc-panel h3{ margin:auto 0 0; padding-top:24px; font-size:clamp(26px,3vw,46px); font-weight:600; letter-spacing:-.04em; line-height:1.05; color:#fff; }
html body #process .pc-panel p{ margin:14px 0 0; font-size:clamp(16px,1.3vw,20px); line-height:1.5; max-width:30em; color:rgba(255,255,255,.92); }
html body #process .pc-pbar{ display:flex; gap:6px; margin:clamp(20px,2.4vw,34px) 140px 0 0; }
html body #process .pc-pbar span{ flex:1; height:5px; border-radius:5px; background:rgba(255,255,255,.28); transition:background .3s; }
html body #process .pc-pbar span.on{ background:#fff; }
html body #process .pc-pnext{ all:unset; box-sizing:border-box; position:absolute; right:11px; bottom:11px; width:76px; height:76px; z-index:3; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#2F6BFF; transition:transform .3s var(--ease); }
html body #process .pc-pnext svg{ width:34px; height:34px; }
html body #process .pc-pnext:hover{ transform:translate(2px,-2px); }
html body #process .pc-panel.swap h3, html body #process .pc-panel.swap p, html body #process .pc-panel.swap .pc-pnum{ animation:pcIn .35s var(--ease); }
@keyframes pcIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (max-width:900px){
  html body #process .pc-split{ grid-template-columns:1fr; }
  html body #process .pc-panel{ display:none; }
  html body #process .pc-grid li{ grid-template-columns:1fr !important; cursor:default; min-height:0; }
  html body #process .pc-grid li p{ display:block; }
  html body #process .pc-grid li:not(.is-cur) .pc-n{ color:#2F6BFF !important; }
  html body #process .pc-grid li.is-cur{ box-shadow:0 0 0 1px rgba(20,20,20,.06), 0 18px 40px -26px rgba(20,20,20,.28); background:#FAFAF9 !important; }
}
@media (prefers-reduced-motion:reduce){ html body #process .pc-panel.swap h3, html body #process .pc-panel.swap p, html body #process .pc-panel.swap .pc-pnum{ animation:none; } }

html body #process .pc-grid{ padding-bottom:clamp(250px,42vh,430px) !important; }
@media (max-width:900px){ html body #process .pc-grid{ padding-bottom:0 !important; } }

html body #process .pc-grid{ padding-bottom:0 !important; }
html body #process .pc-grid li:nth-child(6){ margin-bottom:clamp(250px,42vh,430px) !important; }
@media (max-width:900px){ html body #process .pc-grid li:nth-child(6){ margin-bottom:0 !important; } }

/* ===== phones: the blue panel only (big number, title, text, bar, notch with arrow) ===== */
@media (max-width:900px){
  html body #process .pc-grid{ display:none !important; }
  html body #process .pc-split{ display:block; }
  html body #process .pc-panel{ display:flex !important; position:relative; top:auto; min-height:clamp(380px,56svh,470px); padding:28px 22px 24px; border-radius:var(--radius-lg); border-bottom-right-radius:0; touch-action:pan-y; }
  html body #process .pc-pnum{ font-size:clamp(86px,28vw,130px); }
  html body #process .pc-panel h3{ font-size:clamp(28px,8vw,36px); }
  html body #process .pc-panel p{ font-size:16px; max-width:none; }
  html body #process .pc-panel::after{ width:113px; height:113px; background-size:112px 112px; }
  html body #process .pc-pnext{ width:66px; height:66px; right:10px; bottom:10px; }
  html body #process .pc-pnext svg{ width:28px; height:28px; }
  html body #process .pc-pbar{ margin-right:110px; padding:12px 0; cursor:pointer; }
  html body #process .pc-pbar span{ height:5px; }
}

/* lead magnet: photo on the right, standing on the bottom edge of the card */
#razbor .lm-photo{ display:none !important; }
#razbor .lm-card{ overflow:hidden; }
#razbor .lm-pic{ margin:0; position:absolute; right:clamp(16px,3vw,64px); bottom:0; width:clamp(240px,29vw,430px); z-index:1; pointer-events:none; }
#razbor .lm-pic img{ display:block; width:100%; height:auto; }
@media (min-width:901px){ #razbor .lm-card{ min-height:clamp(380px,31vw,470px); } #razbor .lm-body{ max-width:min(56%,700px) !important; } }
@media (max-width:900px){
  #razbor .lm-pic{ position:relative; right:auto; bottom:auto; width:min(74%,320px); margin:22px auto -28px; }
  #razbor .lm-card{ padding-bottom:0 !important; }
}
#razbor .lm-pic{ background:transparent !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important; overflow:visible !important; }
#razbor .lm-pic img{ border-radius:0 !important; box-shadow:none !important; background:transparent !important; }

/* lead magnet photo: round portrait on the right */
@media (min-width:901px){ #razbor .lm-pic{ bottom:auto; top:50%; transform:translateY(-50%); right:clamp(28px,4.4vw,76px); width:clamp(250px,27vw,390px); } }
@media (max-width:900px){ #razbor .lm-pic{ width:min(62%,260px); margin:24px auto 26px; } #razbor .lm-pic img{ border-radius:50% !important; box-shadow:0 0 0 6px rgba(255,255,255,.9) !important; } #razbor .lm-card{ padding-bottom:28px !important; } }
@media (max-width:900px){ #razbor .lm-card{ padding-bottom:0 !important; } #razbor .lm-pic{ margin:24px auto 0; } #razbor .lm-pic img{ border-radius:50% 50% 0 0 !important; } }

/* more air between "Как мы работаем" and the lead magnet */
html body #razbor.lm{ padding-top:clamp(48px,6vw,100px) !important; }
@media (max-width:700px){ html body #razbor.lm{ padding-top:56px !important; } }

/* ===== phones: "Как мы работаем" = all six cards open, plain scrolling; no photo in the lead magnet ===== */
@media (max-width:900px){
  html body #process .pc-grid{ display:block !important; }
  html body #process .pc-panel{ display:none !important; }
  html body #process .pc-grid li, html body #process .pc-grid li:nth-child(n){ position:static !important; top:auto !important; display:grid !important; grid-template-columns:1fr !important; gap:10px !important; min-height:0 !important; margin:0 0 12px !important; padding:22px 20px 24px !important; cursor:default; background:#FAFAF9 !important; box-shadow:0 0 0 1px rgba(20,20,20,.06) !important; }
  html body #process .pc-grid li:nth-child(6){ margin-bottom:0 !important; }
  html body #process .pc-grid li p{ display:block !important; font-size:15px; line-height:1.55; color:#5C5C5C; max-width:none; }
  html body #process .pc-grid li .pc-n{ color:#2F6BFF !important; font-size:44px !important; align-self:start !important; }
  html body #process .pc-grid li h3{ font-size:clamp(22px,6.2vw,28px); }
  html body #process .pc-head{ margin-bottom:clamp(22px,6vw,34px) !important; }
  #razbor .lm-pic{ display:none !important; }
  #razbor .lm-card{ padding-bottom:28px !important; }
}
/* a bit more air between the heading and the cards on desktop too */
@media (min-width:901px){ html body #process .pc-head{ margin-bottom:clamp(28px,3.4vw,52px) !important; } }

/* phones: the blue "Готовы начать?" block runs edge to edge */
@media (max-width:700px){
  html body section#contact.contact{ padding:0 !important; margin:0 !important; }
  html body #contact > .contact-inner{ border-radius:0 !important; margin:0 !important; width:100% !important; max-width:none !important; }
}

/* phones: a bit more air between the "Все решения" button and the first card */
@media (max-width:700px){ html body #solutions .solutions-intro, html body #solutions .sv-head, html body #solutions .section-head{ margin-bottom:clamp(30px,8vw,44px) !important; } }

/* card 1: "Автоматизация" on line 1, "продаж" on line 2, never split a word */
.cc.cc-art:nth-child(1) .cc-title{ white-space:normal !important; overflow-wrap:normal !important; word-break:normal !important; hyphens:none !important; max-width:none !important; }
@media (max-width:700px){ .cc.cc-art:nth-child(1) .cc-title{ font-size:clamp(22px,6.6vw,30px) !important; } }
/* card 2: picture a little lower */
@media (max-width:700px){ .cc.cc-art-plain:nth-child(2) .cc-art-img-m{ margin-top:26px !important; margin-bottom:6px !important; } }
@media (min-width:701px){ .cc.cc-art:nth-child(2) .cc-art-img-m{ top:72px !important; height:calc(100% - 262px) !important; } }
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(2) .cc-art-img-m{ top:68px !important; height:calc(100% - 210px) !important; } }

/* card 1 desktop/tablet: picture wider and a bit to the left, still clear of the title */
@container (min-width:340px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:65cqw !important; right:1cqw !important; }
  .cc.cc-art:nth-child(1) .cc-art-text{ max-width:34cqw !important; }
}
@media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(1){ min-height:370px; } }
@container (min-width:340px){ @media (min-width:701px) and (max-width:1100px){ .cc.cc-art:nth-child(1) .cc-art-img{ width:55cqw !important; } } }

/* "Индивидуальный проект" card: phones only (the desktop grid stays 3x2) */
@media (min-width:901px){ #solutions .sv-card.sv-custom{ display:none !important; } }
#solutions .sv-card.sv-custom .sv-media{ display:flex; align-items:center; justify-content:center; background:#EEF2FF !important; }
#solutions .sv-card.sv-custom .sv-media svg{ width:100%; height:auto; max-height:100%; }
#solutions .sv-card.sv-custom .sv-media{ background:#fff !important; }

/* header: slightly slimmer */
html body .site-header{ padding:16px 0 !important; }
html body .site-header.scrolled{ padding:10px 0 !important; }
html body .hero.hero-v7::before{ top:clamp(88px,7.2vw,110px) !important; }
@media (max-width:700px){ html body .site-header{ padding:14px 0 !important; } html body .site-header.scrolled{ padding:9px 0 !important; } html body .hero.hero-v7::before{ top:96px !important; } }
html body .page-inner .cases-page, html body .page-inner .pl, html body .page-inner .case-detail{ padding-top:calc(86px + clamp(36px,4.6vw,72px)) !important; }

/* phones: card 1 picture larger; process cards without the gray outline */
@media (max-width:700px){
  .cc.cc-art:nth-child(1) .cc-art-img{ margin:38px -4px 14px !important; width:calc(100% + 8px) !important; transform:scale(1.14) !important; transform-origin:50% 55% !important; }
  html body #process .pc-grid li, html body #process .pc-grid li:nth-child(n){ box-shadow:none !important; border:0 !important; }
}

/* ===== blue gradient on solid blue elements (not on notched / baked-image blocks) ===== */
:root{ --blue-grad:linear-gradient(135deg,#5B93FF 0%,#2F6BFF 48%,#1B46E0 100%); --blue-grad-h:linear-gradient(135deg,#6EA0FF 0%,#3B78FF 48%,#2253EC 100%); }
html body .btn-header, html body #razbor .lm-btn, html body #contact .btn-primary, html body .cases-more .btn-primary, html body .mobile-nav .btn-primary,
html body .fq-ask-btn, html body .cases-filter.is-active, html body .pl-tabs a:hover, html body .pl-cta, html body .services-cta,
html body .case-detail-cta, html body .pl-ico, html body .menu-contact-icon, html body #contact .contact-channel-icon, html body .hn-check,
html body #process .pc-panel{ background:var(--blue-grad) !important; }
html body .btn-header:hover, html body #razbor .lm-btn:hover, html body #contact .btn-primary:hover, html body .cases-more .btn-primary:hover, html body .case-detail-cta:hover{ background:var(--blue-grad-h) !important; }
html body .hero.hero-v7 .hero-ctas .btn-primary .btn-arrow, html body #razbor .lm-btn i{ background:var(--blue-grad) !important; }
html body #contact > .contact-inner{ background:linear-gradient(135deg,#4C86FF 0%,#2F6BFF 40%,#1F4FE0 100%) !important; }
@media (max-width:900px){ html body #razbor .lm-card{ background:linear-gradient(135deg,#4C86FF 0%,#2F6BFF 40%,#1F4FE0 100%) !important; } html body #razbor .lm-btn{ background:#fff !important; } html body #razbor .lm-btn i{ background:var(--blue-grad) !important; } }

/* lead magnet button arrow: white circle + blue arrow (desktop); gradient circle + white arrow (phones) */
html body #razbor .lm-btn i{ background:#fff !important; color:#2F6BFF !important; }
html body #razbor .lm-btn i svg{ color:#2F6BFF !important; stroke:#2F6BFF !important; }
@media (max-width:900px){ html body #razbor .lm-btn i{ background:var(--blue-grad) !important; } html body #razbor .lm-btn i svg{ color:#fff !important; stroke:#fff !important; } }

/* final: gradient only on small accents; big blue blocks flat */
html body #process .pc-panel, html body #contact > .contact-inner, html body .pl-cta, html body .services-cta{ background:#2F6BFF !important; }
@media (max-width:900px){ html body #razbor .lm-card{ background:#2F6BFF !important; } }

html body:has(.hero) .site-header:not(.scrolled) .btn-header, html body:has(.hero) .site-header.scrolled .btn-header, html body .site-header.scrolled .btn-header, html body .site-header .btn-header.magnetic{ background:var(--blue-grad) !important; border-color:transparent !important; }
html body:has(.hero) .site-header .btn-header:hover, html body .site-header .btn-header.magnetic:hover{ background:var(--blue-grad-h) !important; }

/* founder caption: plain signature under the round photo (desktop) */
@media (min-width:901px){
  #razbor .lm-pic{ width:clamp(230px,23vw,330px); display:flex; flex-direction:column; align-items:center; }
  #razbor .lm-pic img{ width:100%; }
  #razbor .lm-pic figcaption{ position:static; transform:none; margin-top:14px; padding:0; background:none; box-shadow:none; border-radius:0; display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; }
  #razbor .lm-pic figcaption b{ font-size:clamp(16px,1.25vw,20px); font-weight:700; letter-spacing:-0.02em; color:#141414; line-height:1.15; }
  #razbor .lm-pic figcaption span{ font-size:clamp(13px,1vw,15px); font-weight:500; color:#6A6A67; line-height:1.3; white-space:nowrap; }
}
@media (max-width:900px){ #razbor .lm-pic figcaption{ display:none !important; } }

@media (min-width:901px){
  #razbor .lm-pic{ width:clamp(190px,18.5vw,300px); }
  #razbor .lm-card{ min-height:clamp(400px,30vw,460px); }
}

/* contact block at 901–1100px: stack form and contacts so nothing runs past the screen edge */
@media (min-width:901px) and (max-width:1100px){
  html body #contact .contact-panels{ grid-template-columns:1fr !important; }
  html body #contact .contact-form-panel, html body #contact .contact-channels-panel{ max-width:100%; }
}

/* big photo on the right; signature as a plain line on the left under the button (desktop) */
@media (min-width:901px){
  #razbor .lm-pic{ width:clamp(260px,29vw,420px); display:block; }
  #razbor .lm-card{ min-height:clamp(400px,31vw,480px); }
}
@media (max-width:900px){ #razbor .lm-sign{ display:none; } }

/* signature: left of the photo, right-aligned, two lines (desktop) */
@media (min-width:901px){
  #razbor .lm-sign{ position:absolute; z-index:3; margin:0; text-align:right; display:flex; flex-direction:column; gap:2px;
    right:calc(clamp(16px,3vw,64px) + clamp(260px,29vw,420px) + 22px); bottom:clamp(44px,5vw,72px); max-width:220px; }
  #razbor .lm-sign b{ font-size:clamp(14px,1.1vw,16.5px); font-weight:700; letter-spacing:-0.01em; color:#141414; line-height:1.25; }
  #razbor .lm-sign span{ font-size:clamp(13px,1vw,15px); font-weight:500; color:#6A6A67; line-height:1.3; }
}
@media (max-width:900px){ #razbor .lm-sign{ display:none; } }

/* lead magnet card: tall enough for the big round photo */
@media (min-width:901px){ html body #razbor .lm-card{ min-height:clamp(380px,31.5vw,480px) !important; } }

/* hero headline: "продажи" <-> "процессы" (slide + fade; width of the longer word, so nothing jumps) */
html body .hero-title .rot{ display:inline-grid; vertical-align:top; overflow:hidden; padding-bottom:.14em; margin-bottom:-.14em; }
html body .hero-title .rot-w{ grid-area:1 / 1; white-space:nowrap; opacity:0; transform:translateY(60%); animation:rotWord 5.6s cubic-bezier(.22,.8,.2,1) infinite; }
html body .hero-title .rot-w:nth-child(2){ animation-delay:2.8s; }
@keyframes rotWord{
  0%{ opacity:0; transform:translateY(60%); }
  8%, 44%{ opacity:1; transform:none; }
  52%, 100%{ opacity:0; transform:translateY(-60%); }
}
@media (prefers-reduced-motion:reduce){ html body .hero-title .rot-w{ animation:none; opacity:0; transform:none; } html body .hero-title .rot-w:first-child{ opacity:1; } }

/* card 1: square photo (hand + phone), standing on the right, never under the title */
@media (min-width:701px){
  .cc.cc-art:nth-child(1) .cc-art-img{ width:auto !important; height:94% !important; aspect-ratio:1 / 1 !important; top:3% !important; bottom:auto !important; right:1.5% !important; left:auto !important; transform:none !important; object-fit:contain !important; margin:0 !important; border-radius:0 !important; }
}
@container (min-width:340px){ .cc.cc-art:nth-child(1) .cc-art-img{ width:auto !important; right:1.5cqw !important; } .cc.cc-art:nth-child(1) .cc-art-text{ max-width:36cqw !important; } }
@media (max-width:700px){
  .cc.cc-art:nth-child(1) .cc-art-img{ transform:none !important; width:auto !important; max-width:100% !important; height:clamp(190px,56vw,250px) !important; aspect-ratio:1 / 1 !important; margin:42px auto 8px !important; flex:none !important; object-fit:contain !important; }
}

/* card 1: photo raised so the sticker clears the arrow button */
@media (min-width:701px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:80% !important; top:4% !important; right:3% !important; } }
@media (min-width:701px) and (max-width:1250px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:75% !important; top:5% !important; } }

/* card 1 (cropped photo, ratio 1100/1033): bigger and closer to the middle */
@media (min-width:701px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:96% !important; top:2% !important; right:2% !important; aspect-ratio:1100 / 1033 !important; } }
@media (min-width:701px) and (max-width:1250px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:88% !important; top:6% !important; right:2.5% !important; } }
@media (max-width:700px){ .cc.cc-art:nth-child(1) .cc-art-img{ aspect-ratio:1100 / 1033 !important; height:clamp(205px,60vw,262px) !important; } }
/* card 1: photo clear of the arrow button */
@media (min-width:1251px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:88% !important; top:5% !important; right:10.5% !important; } }
@media (min-width:701px) and (max-width:1250px){ .cc.cc-art:nth-child(1) .cc-art-img{ height:80% !important; top:6% !important; right:11% !important; } }

/* signature: wider on large screens so the second line stays one line */
@media (min-width:1280px){ #razbor .lm-sign{ max-width:340px; } }
#razbor .lm-sign span{ white-space:normal; }

#razbor .lm-sign span{ text-wrap:balance; }
@media (min-width:901px) and (max-width:1100px){ #razbor .lm-sign{ max-width:175px; } }
@media (min-width:1101px) and (max-width:1279px){ #razbor .lm-sign{ max-width:200px; } }

/* logo16 (wide wordmark): smaller */
.logo-img{ height:34px; } .site-footer .logo-img{ height:28px; }
@media (max-width:700px){ .logo-img{ height:29px; } .site-footer .logo-img{ height:25px; } }

/* logo16: smaller still */
.logo-img{ height:28px; } .site-footer .logo-img{ height:24px; }
@media (max-width:700px){ .logo-img{ height:24px; } .site-footer .logo-img{ height:21px; } }

/* logo16: a bit smaller again */
.logo-img{ height:24px; } .site-footer .logo-img{ height:20px; }
@media (max-width:700px){ .logo-img{ height:21px; } .site-footer .logo-img{ height:18px; } }

/* overscroll / rubber-band: the area above the header and below the footer is light, not black */
html{ background:#fff; }
html:has(body.page-inner){ background:linear-gradient(#fff 50%, #F7F7F6 50%); }
body{ background-color:#fff; }
html body.page-inner{ background-color:#fff; }

/* ===================== CASE PAGES: polished layout (same site language: blue gradient accents, numbered blocks) ===================== */
html body.page-inner .case-detail-wrap{ max-width:1160px; }
html body.page-inner .case-detail-title{ font-size:clamp(34px,5.4vw,84px); line-height:1.02; max-width:16ch; margin-top:clamp(18px,1.8vw,26px); }
html body.page-inner .case-detail-wrap > .case-tag{ background:#EAF0FF; color:#2F6BFF; font-weight:700; letter-spacing:.05em; }

/* cover: the photo/video sits in a brand-blue frame, so any future image ratio looks intentional */
html body.page-inner .case-detail-media{ margin-top:clamp(26px,3.4vw,52px); padding:clamp(12px,2.2vw,32px); border-radius:clamp(24px,3vw,36px); background:var(--blue-grad, linear-gradient(135deg,#5B93FF,#2F6BFF 50%,#1B46E0)) !important; box-shadow:none !important; overflow:hidden; }
html body.page-inner .case-detail-video, html body.page-inner .case-detail-img{ display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:cover; object-position:top center; border-radius:clamp(14px,1.6vw,22px); box-shadow:0 26px 60px -26px rgba(6,22,90,.6); background:#fff; }
@media (max-width:700px){ html body.page-inner .case-detail-video, html body.page-inner .case-detail-img{ aspect-ratio:4 / 3; } }

/* numbered blocks */
html body.page-inner .case-detail-body{ counter-reset:cd; margin-top:clamp(18px,2.2vw,32px); gap:clamp(12px,1.4vw,18px); }
html body.page-inner .case-detail-block{ counter-increment:cd; background:#FAFAF9; border-radius:clamp(24px,2.6vw,34px); padding:clamp(24px,3.6vw,56px); }
html body.page-inner .case-detail-label{ display:flex; align-items:center; gap:clamp(12px,1.4vw,18px); font-size:clamp(24px,2.7vw,40px); font-weight:600; letter-spacing:-0.04em; line-height:1.08; color:#141414; text-transform:none; margin:0; }
html body.page-inner .case-detail-label::first-letter{ text-transform:none; }
html body.page-inner .case-detail-label::before{ content:counter(cd, decimal-leading-zero); flex:none; display:grid; place-items:center; width:clamp(38px,3.2vw,48px); height:clamp(38px,3.2vw,48px); border-radius:14px; background:linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); color:#fff; font-size:clamp(13px,1vw,15px); font-weight:700; letter-spacing:.04em; }
html body.page-inner .case-detail-block > p{ margin-top:clamp(14px,1.6vw,22px); font-size:clamp(16px,1.25vw,19px); line-height:1.65; color:#2A2A2A; max-width:64ch; }
html body.page-inner .case-detail-block p strong{ color:#000; }

/* client meta */
html body.page-inner .case-detail-meta{ margin-top:clamp(18px,2vw,28px); gap:10px; }
html body.page-inner .case-detail-meta-item{ background:#fff; border-radius:18px; padding:16px 18px; box-shadow:0 0 0 1px rgba(20,20,20,.05); }
html body.page-inner .case-detail-meta-item span:first-child{ color:#8A8A87; font-size:11.5px; font-weight:700; letter-spacing:.08em; }
html body.page-inner .case-detail-meta-item span:last-child{ color:#141414; font-weight:600; font-size:clamp(14.5px,1.1vw,16px); }

/* problems: big blue numbers on white cards */
html body.page-inner .case-problem-list{ margin-top:clamp(18px,2vw,28px); gap:12px; }
html body.page-inner .case-problem-row{ background:#fff; border-radius:22px; padding:clamp(20px,2.2vw,30px); box-shadow:0 0 0 1px rgba(20,20,20,.05); gap:14px; }
html body.page-inner .case-problem-num{ font-size:clamp(30px,2.8vw,42px); font-weight:700; letter-spacing:-0.05em; color:#2F6BFF; line-height:1; }
html body.page-inner .case-problem-text h4{ font-size:clamp(18px,1.5vw,22px); font-weight:700; letter-spacing:-0.02em; color:#141414; margin:0; }
html body.page-inner .case-problem-text p{ margin-top:8px; font-size:clamp(15px,1.1vw,17px); line-height:1.55; color:#4A4A4A; }

/* solution cards */
html body.page-inner .case-surfaces{ margin-top:clamp(18px,2vw,28px); gap:12px; }
html body.page-inner .case-surface{ background:#fff; border-radius:22px; padding:clamp(20px,2vw,28px); box-shadow:0 0 0 1px rgba(20,20,20,.05); gap:10px; }
html body.page-inner .case-surface-role{ background:linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:.06em; padding:6px 12px; border-radius:999px; }
html body.page-inner .case-surface h4{ font-size:clamp(17px,1.4vw,20px); font-weight:700; letter-spacing:-0.02em; color:#141414; }
html body.page-inner .case-surface p{ font-size:clamp(14.5px,1.05vw,16px); line-height:1.55; color:#4A4A4A; }

/* pipeline */
html body.page-inner .case-pipeline{ margin-top:clamp(18px,2vw,28px); background:transparent !important; box-shadow:none; gap:10px; }
html body.page-inner .case-pipeline-stage{ background:#fff; border-radius:18px; border:0 !important; box-shadow:0 0 0 1px rgba(20,20,20,.05); }
html body.page-inner .case-pipeline-num{ color:#2F6BFF; font-weight:700; }
html body.page-inner .case-pipeline-label{ color:#141414; font-weight:600; }

/* results table */
html body.page-inner .case-results{ margin-top:clamp(18px,2vw,28px); background:#fff; border-radius:22px; box-shadow:0 0 0 1px rgba(20,20,20,.05); overflow:hidden; }
html body.page-inner .case-results-head{ background:#F1F1EF; }
html body.page-inner .case-results-row .after{ color:#2F6BFF; font-weight:700; }

/* big numbers */
html body.page-inner .case-stats{ margin-top:clamp(18px,2vw,28px); gap:12px; background:transparent; }
html body.page-inner .case-stat{ background:#fff; border-radius:22px; box-shadow:0 0 0 1px rgba(20,20,20,.05); }
html body.page-inner .case-stat-num{ font-size:clamp(34px,3.6vw,56px); font-weight:700; letter-spacing:-0.05em; color:#141414; }
html body.page-inner .case-stat-num .u{ color:#2F6BFF; }
html body.page-inner .case-stat-label{ color:#4A4A4A; }

/* finale: flat brand blue */
html body.page-inner .case-detail-body > .case-detail-block:last-child{ background:#2F6BFF !important; box-shadow:none; }
html body.page-inner .case-detail-body > .case-detail-block:last-child .case-detail-label{ color:#fff; }
html body.page-inner .case-detail-body > .case-detail-block:last-child .case-detail-label::before{ background:rgba(255,255,255,.22); }
html body.page-inner .case-detail-body > .case-detail-block:last-child p, html body.page-inner .case-detail-body > .case-detail-block:last-child p strong{ color:#fff; font-size:clamp(17px,1.5vw,22px); line-height:1.55; font-weight:500; max-width:60ch; }

/* CTA and prev/next */
html body.page-inner .case-detail-cta{ margin-top:clamp(20px,2.4vw,34px); background:linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0) !important; color:#fff; padding:clamp(17px,1.5vw,22px) clamp(30px,2.8vw,44px); font-size:clamp(16px,1.2vw,18px); font-weight:700; }
html body.page-inner .case-detail-nav{ margin-top:clamp(26px,3vw,44px); }
html body.page-inner .case-detail-nav-link{ background:#F1F1EF; color:#141414; padding:14px 24px; font-weight:600; font-size:clamp(14.5px,1.1vw,16px); }
html body.page-inner .case-detail-nav-link:hover{ background:#2F6BFF; color:#fff; }

/* ===== CASE PAGES, variant A: blue hero panel with white title (default) ===== */
html body.page-inner .case-hero{ background:linear-gradient(135deg,#4C86FF 0%,#2F6BFF 42%,#1F4FE0 100%); border-radius:clamp(28px,3.4vw,44px); padding:clamp(22px,3.4vw,56px); }
html body.page-inner .case-hero .case-detail-back{ background:rgba(255,255,255,.18); color:#fff; }
html body.page-inner .case-hero .case-detail-back:hover{ background:rgba(255,255,255,.3); color:#fff; }
html body.page-inner .case-hero .case-detail-wrap > .case-tag, html body.page-inner .case-hero > .case-tag{ background:rgba(255,255,255,.2); color:#fff; }
html body.page-inner .case-hero .case-detail-title{ color:#fff; max-width:18ch; }
html body.page-inner .case-hero .case-detail-media{ background:transparent !important; padding:0; border-radius:clamp(14px,1.6vw,22px); margin-top:clamp(24px,3vw,44px); }
html body.page-inner .case-hero .case-detail-video, html body.page-inner .case-hero .case-detail-img{ box-shadow:0 30px 70px -28px rgba(4,16,80,.65); }
html body.page-inner .case-detail-wrap{ padding-top:0; }
html body.page-inner .case-hero > .case-tag{ display:inline-block; vertical-align:middle; margin:0 0 0 10px; padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.2); color:#fff; font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; line-height:1; }
html body.page-inner .case-hero > .case-detail-back{ display:inline-flex; vertical-align:middle; }
html body.page-inner .case-hero .case-detail-title{ margin-top:clamp(22px,2.4vw,34px); }

/* ===== variant B: whole case page blue, white text, white inner cards (class case-blue-full on <body>, preview only) ===== */
html:has(body.case-blue-full){ background:#2F6BFF !important; }
body.page-inner.case-blue-full{ background:linear-gradient(180deg,#3F77FF 0%,#2F6BFF 30%,#2158F0 100%) !important; }
body.case-blue-full .case-hero{ background:transparent; padding:0; border-radius:0; }
body.case-blue-full .case-hero .case-detail-media{ margin-top:clamp(22px,2.6vw,38px); }
body.case-blue-full .case-detail-block{ background:rgba(255,255,255,.12) !important; box-shadow:none !important; }
body.case-blue-full .case-detail-label{ color:#fff !important; }
body.case-blue-full .case-detail-label::before{ background:#fff !important; color:#2F6BFF !important; }
body.case-blue-full .case-detail-block > p, body.case-blue-full .case-detail-block > p strong{ color:rgba(255,255,255,.94) !important; }
body.case-blue-full .case-detail-body > .case-detail-block:last-child{ background:#fff !important; }
body.case-blue-full .case-detail-body > .case-detail-block:last-child .case-detail-label{ color:#141414 !important; }
body.case-blue-full .case-detail-body > .case-detail-block:last-child .case-detail-label::before{ background:linear-gradient(135deg,#5B93FF,#2F6BFF,#1B46E0) !important; color:#fff !important; }
body.case-blue-full .case-detail-body > .case-detail-block:last-child p, body.case-blue-full .case-detail-body > .case-detail-block:last-child p strong{ color:#141414 !important; }
body.case-blue-full .case-detail-cta{ background:#fff !important; color:#1F55E0 !important; }
body.case-blue-full .case-detail-nav-link{ background:rgba(255,255,255,.18); color:#fff; }
body.case-blue-full .case-detail-nav-link:hover{ background:#fff; color:#1F55E0; }
body.case-blue-full .case-note{ color:rgba(255,255,255,.8) !important; }

html body.page-inner.case-blue-full .case-hero{ background:transparent !important; padding:0 !important; border-radius:0; }
html body.page-inner.case-blue-full .case-detail-block{ background:rgba(255,255,255,.13) !important; }
html body.page-inner.case-blue-full .case-detail-body > .case-detail-block:last-child{ background:#fff !important; }
html body.page-inner.case-blue-full .case-detail-label::before{ background:#fff !important; color:#2F6BFF !important; }
html body.page-inner.case-blue-full .case-detail-body > .case-detail-block:last-child .case-detail-label::before{ background:linear-gradient(135deg,#5B93FF,#2F6BFF,#1B46E0) !important; color:#fff !important; }
html body.page-inner.case-blue-full .case-detail-cta{ background:#fff !important; color:#1F55E0 !important; }
html body.page-inner.case-blue-full .case-detail-cta svg{ color:#1F55E0; }
html body.page-inner.case-blue-full .case-detail, html body.page-inner.case-blue-full main, html body.page-inner.case-blue-full .case-detail-wrap{ background:transparent !important; }
html body.page-inner.case-blue-full .case-detail-back, html body.page-inner.case-blue-full .case-hero > .case-tag{ background:rgba(255,255,255,.2) !important; color:#fff !important; }
html body.page-inner.case-blue-full .case-detail-title{ color:#fff !important; }
html body.page-inner.case-blue-full .case-detail-meta-item, html body.page-inner.case-blue-full .case-problem-row, html body.page-inner.case-blue-full .case-surface, html body.page-inner.case-blue-full .case-pipeline-stage, html body.page-inner.case-blue-full .case-results, html body.page-inner.case-blue-full .case-stat{ background:#fff !important; }
html body.page-inner.case-blue-full .case-detail-body > .case-detail-block:not(:last-child) > p{ color:rgba(255,255,255,.94) !important; }
html body.page-inner.case-blue-full .case-problem-text p, html body.page-inner.case-blue-full .case-surface p{ color:#4A4A4A !important; }
html body.page-inner.case-blue-full .case-problem-text h4, html body.page-inner.case-blue-full .case-surface h4{ color:#141414 !important; }


/* ===================== CASE PAGES v3: big blue hero (like the site Hero), icons instead of numerals, calmer text ===================== */
html body.page-inner .case-hero{ padding:clamp(24px,3.6vw,64px); border-radius:clamp(30px,3.6vw,48px); }
html body.page-inner .case-hero .case-detail-title{ font-size:clamp(38px,5.8vw,92px); line-height:1.02; letter-spacing:-0.05em; max-width:19ch; font-weight:600; }
/* client facts live in the hero as translucent chips */
html body.page-inner .case-hero-meta{ margin-top:clamp(20px,2.4vw,34px); display:flex; flex-wrap:wrap; gap:10px; }
html body.page-inner .case-hero-meta .case-detail-meta-item{ background:rgba(255,255,255,.16); box-shadow:none; border-radius:16px; padding:12px 16px; min-width:150px; }
html body.page-inner .case-hero-meta .case-detail-meta-item span:first-child{ color:rgba(255,255,255,.72); }
html body.page-inner .case-hero-meta .case-detail-meta-item span:last-child{ color:#fff; }
html body.page-inner .case-hero .case-detail-media{ margin-top:clamp(22px,2.6vw,38px); }
/* section badges: icons, no numerals */
html body.page-inner .case-detail-label::before{ content:""; background-color:transparent; background-repeat:no-repeat; background-position:center; background-size:54%,100%; font-size:0; }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(1) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(2) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(3) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20L12 3z'/%3E%3Cpath d='M12 10v5'/%3E%3Cpath d='M12 17.6v.4'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(5) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(6) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(7) .case-detail-label::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c.6 4.5 4 8 9 9-5 1-8.4 4.5-9 9-.6-4.5-4-8-9-9 5-1 8.4-4.5 9-9z'/%3E%3C/svg%3E"), linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); }
/* no numeral decorations */
html body.page-inner .case-problem-num, html body.page-inner .case-pipeline-num{ display:none; }
html body.page-inner .case-problem-row::before{ content:""; width:14px; height:14px; border-radius:5px; background:linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); display:block; }
/* "Что сделали" = the accent block in the middle of the page */
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4){ background:linear-gradient(135deg,#4C86FF 0%,#2F6BFF 45%,#1F4FE0 100%) !important; }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4) .case-detail-label{ color:#fff; }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4) .case-detail-label::before{ background-color:rgba(255,255,255,.22); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E"); }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4) > p{ color:rgba(255,255,255,.94); }
/* finale icon */
html body.page-inner .case-detail-body > .case-detail-block:last-child .case-detail-label::before{ background-color:rgba(255,255,255,.22); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c.6 4.5 4 8 9 9-5 1-8.4 4.5-9 9-.6-4.5-4-8-9-9 5-1 8.4-4.5 9-9z'/%3E%3C/svg%3E"); }
/* long paragraphs collapse under "Читать полностью" */
html body.page-inner .case-detail-block > p.is-clamp{ display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
html body.page-inner .case-more{ all:unset; cursor:pointer; margin-top:12px; font-size:clamp(14.5px,1.1vw,16px); font-weight:700; color:#2F6BFF; display:inline-block; }
html body.page-inner .case-more:hover{ text-decoration:underline; }
html body.page-inner .case-more:focus-visible{ outline:2px solid #2F6BFF; outline-offset:3px; border-radius:4px; }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(4) .case-more{ color:#fff; }

/* ===== case hero: notched like the site Hero (white cut-out bottom-left with the CTA, blue tab continues to the right) ===== */
html body.page-inner .case-hero{ --r:clamp(22px,2.4vw,32px); --pr:clamp(30px,3.6vw,48px); --nh:clamp(66px,5.6vw,80px); --nw:clamp(292px,26vw,352px); --pad:clamp(24px,3.6vw,64px);
  position:relative; isolation:isolate; background:transparent !important; border-radius:0 !important; padding:var(--pad) var(--pad) calc(var(--pad) + var(--nh)); }
html body.page-inner .case-hero::before{ content:""; position:absolute; z-index:-1; left:0; right:0; top:0; bottom:var(--nh); background:#2F6BFF; border-radius:var(--pr); }
html body.page-inner .case-hero::after{ content:""; position:absolute; z-index:-1; left:calc(var(--nw) - var(--r)); right:0; top:calc(100% - var(--nh)); bottom:0; border-bottom-right-radius:var(--pr);
  background:radial-gradient(circle at 0 100%, transparent calc(var(--r) - .6px), #2F6BFF var(--r)) 0 0 / var(--r) var(--r) no-repeat, linear-gradient(#2F6BFF,#2F6BFF) var(--r) 0 / calc(100% - var(--r)) 100% no-repeat; }
html body.page-inner .case-hero-cta{ position:absolute; z-index:2; left:0; bottom:calc((var(--nh) - 54px) / 2); display:inline-flex; align-items:center; gap:12px; height:54px; padding:0 clamp(20px,1.8vw,26px); border-radius:999px; background:linear-gradient(135deg,#5B93FF,#2F6BFF 48%,#1B46E0); color:#fff; font-size:clamp(14.5px,1.1vw,16px); font-weight:700; white-space:nowrap; transition:filter .25s; }
html body.page-inner .case-hero-cta:hover{ filter:brightness(1.08); }
html body.page-inner .case-hero-cta svg{ width:16px; height:16px; flex:none; }
@media (max-width:700px){
  html body.page-inner .case-hero{ --nh:64px; --nw:min(292px, calc(100% - 84px)); --pad:20px; }
  html body.page-inner .case-hero-cta{ height:46px; bottom:9px; padding:0 18px; font-size:14.5px; gap:10px; }
}
/* the CTA is now in the cut-out: the one under the text stays as a second chance at the end of the page */

/* case covers: the project art from the home cards (framed, centered, never cropped) */
html body.page-inner .case-hero .case-art-media{ background:var(--art-bg,#2268FE) !important; border-radius:clamp(18px,2vw,28px); padding:0; overflow:hidden; display:flex; align-items:center; justify-content:center; aspect-ratio:16 / 9; }
html body.page-inner .case-hero .case-art-media .case-detail-img{ width:100%; height:100%; aspect-ratio:auto; object-fit:contain; object-position:center; border-radius:0; box-shadow:none; background:transparent; }
@media (max-width:700px){ html body.page-inner .case-hero .case-art-media{ aspect-ratio:1 / 1; } }

/* ===== "Как стало" flow + results table: clearer, nothing gets lost ===== */
html body.page-inner .case-pipeline{ display:flex !important; flex-wrap:wrap; align-items:stretch; gap:10px 0 !important; margin-top:clamp(20px,2.2vw,30px); background:transparent !important; box-shadow:none !important; }
html body.page-inner .case-pipeline-stage{ position:relative; flex:0 0 auto; min-height:0 !important; height:auto !important; display:flex; align-items:center; padding:13px 20px 13px 18px !important; margin-right:34px; border-radius:16px !important; background:#fff !important; box-shadow:0 0 0 1px rgba(20,20,20,.06), 0 8px 18px -14px rgba(20,20,20,.25) !important; }
html body.page-inner .case-pipeline-stage::before{ content:""; width:9px; height:9px; border-radius:50%; background:linear-gradient(135deg,#5B93FF,#1B46E0); margin-right:12px; flex:none; }
html body.page-inner .case-pipeline-stage::after{ content:""; position:absolute; right:-28px; top:50%; width:22px; height:2px; margin-top:-1px; background:#9DB8FF; border-radius:2px; }
html body.page-inner .case-pipeline-stage:last-child{ margin-right:0; }
html body.page-inner .case-pipeline-stage:last-child::after{ display:none; }
html body.page-inner .case-pipeline-label{ font-size:clamp(15px,1.15vw,17px) !important; font-weight:600 !important; color:#141414 !important; line-height:1.25; white-space:nowrap; }
@media (max-width:700px){ html body.page-inner .case-pipeline-stage{ margin-right:26px; padding:11px 14px; } html body.page-inner .case-pipeline-stage::after{ right:-22px; width:18px; } html body.page-inner .case-pipeline-label{ white-space:normal; font-size:14.5px !important; } }

/* flow paragraph: show it fully, it is the story */
html body.page-inner .case-detail-body > .case-detail-block:nth-child(5) > p.is-clamp{ -webkit-line-clamp:unset; display:block; overflow:visible; }
html body.page-inner .case-detail-body > .case-detail-block:nth-child(5) .case-more{ display:none; }

/* results */
html body.page-inner .case-results{ border-radius:22px !important; overflow:hidden; box-shadow:0 0 0 1px rgba(20,20,20,.06) !important; background:#fff !important; margin-top:clamp(20px,2.2vw,30px); }
html body.page-inner .case-results-head{ background:#EEF3FF !important; }
html body.page-inner .case-results-head > div{ color:#2F6BFF !important; font-weight:700; letter-spacing:.07em; font-size:12.5px; }
html body.page-inner .case-results-row{ border-bottom:1px solid rgba(20,20,20,.07) !important; }
html body.page-inner .case-results-row:last-child{ border-bottom:0 !important; }
html body.page-inner .case-results-row .what{ font-size:clamp(15.5px,1.2vw,18px); font-weight:700; color:#141414 !important; }
html body.page-inner .case-results-row .before{ font-size:clamp(14.5px,1.1vw,17px); color:#8A8A87 !important; }
html body.page-inner .case-results-row .after{ font-size:clamp(15.5px,1.2vw,18px); font-weight:700; color:#1F55E0 !important; background:#F3F7FF; border-radius:12px; padding:8px 12px; margin:-2px 0; }

/* flow: tidy grid of equal chips (no dangling connectors); results: clean aligned cells */
html body.page-inner .case-pipeline{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(clamp(150px,15vw,200px),1fr)); gap:10px !important; }
html body.page-inner .case-pipeline-stage{ margin:0 !important; width:auto; }
html body.page-inner .case-pipeline-stage::after{ display:none !important; }
html body.page-inner .case-pipeline-label{ white-space:normal !important; }
html body.page-inner .case-results-row{ align-items:center !important; }
html body.page-inner .case-results-row .after{ background:transparent !important; padding:0 !important; margin:0 !important; border-radius:0 !important; color:#1F55E0 !important; }
html body.page-inner .case-results-row .after::before{ content:"→ "; font-weight:700; }
@media (max-width:700px){ html body.page-inner .case-pipeline{ grid-template-columns:1fr 1fr; } }

/* marquee with 11 solutions: speeds retuned */
@media (max-width:1199px){ .htm-l{ animation-duration:70s !important; } .htm-r{ animation-duration:78s !important; } }
@media (min-width:1200px){ .ht-track{ animation-duration:34s !important; } }

/* case hero notch: one seamless shape (no stair-step at the right, no hairline between body and tab) */
html body.page-inner .case-hero::before{ border-bottom-right-radius:0 !important; }
html body.page-inner .case-hero::after{ top:calc(100% - var(--nh) - 2px) !important; border-bottom-right-radius:var(--pr) !important; }
html body.page-inner .case-hero-cta{ left:0; }
