/* Vessa — restructure (critique) styles: 3 promises, "Not a voice bot", due-diligence, More section */

/* hero — On-Premises label + lede + "why" trio */
.hero-badge{ display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-bottom:18px; }
.hero-100{ height:26px; width:auto; display:block; }
.hero-lede{ font-size:17px; line-height:1.55; color:var(--ink-2); max-width:35rem; margin-top:18px; white-space:pre-line; }
.hero-why{ margin-top:30px; display:flex; flex-direction:column; gap:18px; max-width:35rem; }
.hero-why-h{ font:700 12px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-4); }
.hero-why-item{ display:flex; gap:13px; align-items:flex-start; }
.hero-why-ic{ flex-shrink:0; width:34px; height:34px; display:grid; place-items:center; }
.hero-why-ic img{ object-fit:contain; display:block; }
.hero-why-ic .ic-lock{ max-width:20px; max-height:20px; }
.hero-why-ic .ic-ai{ max-width:30px; max-height:30px; }
.hero-why-ic .ic-pulse{ max-width:30px; max-height:30px; }
.hero-why-t{ font-size:15.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-bottom:3px; }
.hero-why-d{ font-size:14px; line-height:1.5; color:var(--ink-2); text-wrap:pretty; }

/* 3 promises */
.promise-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px; }
.promise-card{
  background:#fff; border:1px solid var(--glass-line); border-radius:20px;
  padding:30px 28px; box-shadow:var(--sh-1);
}
.promise-n{ font:700 13px/1 var(--mono); color:var(--accent-700); letter-spacing:.1em; margin-bottom:18px; }
.promise-t{ font-size:21px; font-weight:700; letter-spacing:-.01em; margin:0 0 10px; color:var(--ink); }
.promise-d{ font-size:15px; line-height:1.55; color:var(--ink-2); margin:0; text-wrap:pretty; }

/* ===== "Коротко о главном" — segmented tabs + reveal panel ===== */
.glance-head{ margin-bottom:24px; }
.glance{ display:block; }
.glance-tablist{
  position:relative; display:inline-flex; flex-wrap:wrap; gap:4px; padding:5px; margin-bottom:22px;
  max-width:100%;
  background:transparent; border:0; border-radius:100px;
}
.glance-tablist::-webkit-scrollbar{ display:none; }
.glance-thumb{
  position:absolute;
  background:#fff; border-radius:100px; box-shadow:0 4px 14px -2px rgba(20,27,41,.16), 0 1px 3px rgba(20,27,41,.10);
  transition:opacity .2s ease;
  z-index:0;
}
.glance-tab{
  position:relative; z-index:1; appearance:none; cursor:pointer; white-space:nowrap;
  border:0; background:none; padding:9px 14px; border-radius:100px;
  font-family:inherit; font-size:13px; font-weight:600; letter-spacing:-.01em;
  color:var(--ink-3); transition:color .22s;
}
.glance-tab:hover{ color:var(--ink-2); }
.glance-tab.active{ color:var(--ink); }

.glance-panel{
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--glass-line); border-radius:var(--radius-lg, 22px);
  box-shadow:var(--sh-1);
  animation:glancePanelIn .42s cubic-bezier(.22,.61,.36,1) both;
}
.glance-panel-in{ padding:34px 38px; }
.glance-concept{
  font:700 13px/1 var(--mono); letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink); margin-bottom:16px;
}
.glance-body{ display:flex; flex-direction:column; gap:14px; max-width:74ch; }
.glance-p{
  font-size:16.5px; line-height:1.6; color:var(--ink-2); margin:0; text-wrap:pretty;
  animation:glanceP .44s ease both; animation-delay:calc(.12s + var(--gi) * .07s);
}
.glance-p:first-child{ font-size:17.5px; color:var(--ink); font-weight:600; letter-spacing:-.01em; }
.glance-bullets{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; max-width:80ch; }
.glance-bullet{ position:relative; padding-left:24px; font-size:15.5px; line-height:1.55; color:var(--ink-2); text-wrap:pretty; animation:glanceP .44s ease both; animation-delay:calc(.12s + var(--gi) * .07s); }
.glance-bullet::before{ content:""; position:absolute; left:4px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--ink-3); }

.glance-checks{ list-style:none; margin:4px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; max-width:80ch; }
.glance-check{ position:relative; padding-left:30px; font-size:15.5px; line-height:1.4; color:var(--ink); font-weight:600; letter-spacing:-.01em; text-wrap:pretty; animation:glanceP .44s ease both; animation-delay:calc(.12s + var(--gi) * .06s); }
.glance-check::before{ content:"✓"; position:absolute; left:0; top:0; width:21px; height:21px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:800; color:#fff; background:oklch(62% 0.15 150); }
.glance-doclink{ margin:22px 0 0; font-size:15px; }
.glance-doclink a{ color:var(--accent-700); font-weight:600; }
.glance-doclink a:hover{ text-decoration:underline; }
@media (max-width:640px){ .glance-checks{ grid-template-columns:1fr; } }

/* business cases panel */
.cases-in{ padding:34px 38px; }
.cases-head{ max-width:72ch; margin-bottom:24px; }
.cases-lead{
  font-size:17.5px; line-height:1.5; font-weight:600; letter-spacing:-.01em;
  color:var(--ink); margin:0; text-wrap:pretty;
}
.cases-points{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px 34px; }
.cases-point{
  display:flex; gap:13px; align-items:flex-start;
  animation:glanceP .44s ease both; animation-delay:calc(.14s + var(--gi) * .06s);
}
.cases-dot{ flex-shrink:0; width:8px; height:8px; border-radius:50%; background:var(--ink); margin-top:8px; }
.cases-pt{ font-size:15.5px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-bottom:3px; }
.cases-pd{ font-size:14.5px; line-height:1.5; color:var(--ink-2); text-wrap:pretty; }

@keyframes glancePanelIn{ from{ opacity:0; transform:translateY(14px) scale(.992); } to{ opacity:1; transform:none; } }
@keyframes glanceP{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
  .glance-panel, .glance-p, .cases-point{ animation:none; }
  .glance-thumb{ transition:none; }
}

/* ===== Fortress — sovereign security (RF/KZ) ===== */
.fort-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:20px; }
.fort-card{ background:#fff; border:1px solid var(--glass-line); border-radius:18px; padding:24px 24px 22px; box-shadow:var(--sh-1); }
.fort-card-h{ font:700 12.5px/1.2 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink); margin-bottom:10px; }
.fort-card-d{ font-size:14.5px; line-height:1.5; color:var(--ink-2); margin:0 0 16px; text-wrap:pretty; }
.fort-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.fort-chip{ font-size:12.5px; font-weight:600; color:var(--ink-2); background:var(--surface-3); border:1px solid var(--border); border-radius:9px; padding:6px 10px; }
.fort-maker{ position:relative; overflow:hidden; display:grid; grid-template-columns:auto 1fr auto; gap:30px; align-items:end; background:#fff; border:1px solid var(--glass-line); border-radius:20px; padding:0 32px; box-shadow:var(--sh-1); }
.fort-maker-av{ align-self:end; height:125px; width:auto; display:block; }
.fort-maker-text{ align-self:center; padding:26px 0; }
.fort-maker-fig{ align-self:end; height:150px; width:auto; display:block; }
.fort-maker-h{ font-size:18px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-bottom:6px; }
.fort-maker-d{ font-size:15px; line-height:1.55; color:var(--ink-2); margin:0; max-width:74ch; text-wrap:pretty; }
@media (max-width:860px){
  .fort-grid{ grid-template-columns:1fr; }
  .fort-maker{ grid-template-columns:auto 1fr; gap:18px 20px; padding:0 22px; }
  .fort-maker-text{ grid-column:1 / -1; order:3; padding:0 0 22px; }
  .fort-maker-av{ height:96px; }
  .fort-maker-fig{ height:104px; }
}

/* ===== Calculator footer: native CTA + "Как мы считаем" → modal ===== */
.calc-foot{ display:flex; justify-content:center; align-items:center; gap:18px; margin-top:26px; flex-wrap:wrap; }
.calc-method-btn{ appearance:none; cursor:pointer; border:1px solid var(--glass-line); background:#fff; color:var(--ink); font-family:inherit; font-size:14.5px; font-weight:600; letter-spacing:-.01em; padding:11px 20px; border-radius:100px; transition:border-color .2s, color .2s; }
.calc-method-btn:hover{ color:var(--accent-700); border-color:oklch(80% 0.05 263); }

.calc-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:flex-start; justify-content:center; padding:5vh 20px; }
.calc-modal-scrim{ position:absolute; inset:0; background:oklch(20% 0.02 263 / .5); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); animation:calcScrim .2s ease both; }
.calc-modal-card{ position:relative; width:100%; max-width:920px; max-height:90vh; overflow:auto; background:#fff; border:1px solid var(--glass-line); border-radius:22px; box-shadow:0 40px 90px -40px oklch(30% 0.04 263 / .5); animation:calcModalIn .26s cubic-bezier(.22,.61,.36,1) both; }
.calc-modal-head{ position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 28px; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--glass-line); }
.calc-modal-title{ font-size:18px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
.calc-modal-x{ appearance:none; cursor:pointer; border:0; background:var(--surface-3); color:var(--ink-2); width:34px; height:34px; border-radius:50%; font-size:15px; line-height:1; display:grid; place-items:center; transition:background .2s; }
.calc-modal-x:hover{ background:oklch(88% 0.02 263); }
.calc-modal-body{ padding:26px 28px 32px; }
.calc-sec-h{ display:flex; align-items:center; gap:11px; font-size:17px; font-weight:800; letter-spacing:-.01em; color:var(--ink); margin-bottom:12px; }
.calc-sec-h2{ margin-top:34px; padding-top:26px; border-top:1px solid var(--glass-line); }
.calc-sec-n{ flex-shrink:0; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font:800 13px/1 var(--mono); background:var(--accent-soft); color:var(--accent-700); }
.calc-method-lede{ font-size:15px; line-height:1.6; color:var(--ink-2); margin:0 0 20px; max-width:74ch; text-wrap:pretty; }
.calc-method-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.calc-step{ border:1px solid var(--glass-line); border-radius:14px; padding:17px 17px 16px; background:rgba(255,255,255,.5); }
.calc-step-k{ display:inline-block; font:800 13px/1 var(--mono); letter-spacing:.02em; color:var(--accent-700); background:var(--accent-soft); border-radius:8px; padding:6px 10px; margin-bottom:12px; }
.calc-step-t{ font-size:15px; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin-bottom:5px; }
.calc-step-d{ font-size:13.5px; line-height:1.5; color:var(--ink-2); text-wrap:pretty; }
.calc-formula{ margin-top:22px; padding:16px 18px; border-radius:12px; background:var(--ink); color:rgba(255,255,255,.9); font:600 13.5px/1.55 var(--mono); text-wrap:pretty; }
.calc-method-note{ font-size:12.5px; line-height:1.5; color:var(--ink-3); margin:16px 0 0; text-wrap:pretty; }
@keyframes calcScrim{ from{ opacity:0; } to{ opacity:1; } }
@keyframes calcModalIn{ from{ opacity:0; transform:translateY(16px) scale(.99); } to{ opacity:1; transform:none; } }
@media (max-width:860px){
  .calc-method-grid{ grid-template-columns:1fr; }
  .calc-modal-body{ padding:22px 20px 26px; }
}
@media (prefers-reduced-motion: reduce){
  .calc-modal-scrim, .calc-modal-card{ animation:none; }
}

/* not a voice bot — comparison */
.nb-table{
  display:flex; flex-direction:column; max-width:920px;
  border:1px solid var(--glass-line); border-radius:18px; overflow:hidden;
  background:#fff; box-shadow:var(--sh-1);
}
.nb-table{ max-width:1040px; }
.nb-row{ display:grid; grid-template-columns:0.85fr 1.25fr 1.25fr; border-top:1px solid var(--glass-line); }
.nb-row:first-child{ border-top:none; }
.nb-k{ padding:16px 22px; font-size:14.5px; font-weight:700; color:var(--ink); display:flex; align-items:center; background:rgba(20,22,40,.04); }
.nb-c{ padding:16px 22px; font-size:14.5px; line-height:1.45; display:flex; gap:10px; align-items:flex-start; border-left:1px solid var(--glass-line); }
.nb-bot{ color:var(--ink-3); background:rgba(20,22,40,.02); }
.nb-vessa{ color:var(--ink); font-weight:500; }
.nb-x{ flex-shrink:0; color:var(--ink-4); font-weight:700; }
.nb-v{ flex-shrink:0; color:var(--accent-700); font-weight:700; }
.nb-head .nb-k{ font:700 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-4); background:rgba(20,22,40,.04); }
.nb-head .nb-c{ font:700 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; padding-top:18px; padding-bottom:18px; }
.nb-head .nb-bot{ color:var(--ink-4); }
.nb-head .nb-vessa{ color:var(--accent-700); }

/* collapsible More */
.more-section{ padding:36px 0 8px; }
.more-toggle-wrap{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; }
.more-toggle{ display:inline-flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--glass-line); border-radius:100px; padding:13px 26px; font:700 15px var(--font); color:var(--ink); cursor:pointer; box-shadow:var(--sh-1); transition:transform .15s, box-shadow .15s; }
.more-toggle:hover{ transform:translateY(-1px); box-shadow:0 10px 26px -10px rgba(20,22,55,.25); }
.more-chev{ width:16px; height:16px; color:var(--ink-3); transition:transform .2s; }
.more-chev.up{ transform:rotate(180deg); }
.more-hint{ font-size:13.5px; color:var(--ink-4); max-width:54ch; margin:0; line-height:1.5; text-wrap:pretty; }
.more-body{ margin-top:4px; }

/* pilot/package/calc form — phone + extension on one row */
.pilot-row{ display:flex; gap:10px; }
.pilot-row .pf-phone{ flex:5; }
.pilot-row .pf-ext{ flex:1; min-width:0; }
.calc-cta-wrap{ display:flex; justify-content:center; margin-top:26px; }
.lce-frame{ width:100%; min-height:300px; border:0; display:block; background:transparent; }

/* due diligence */
.dd-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px 28px; margin-top:6px; max-width:840px; }
.dd-item{ display:flex; align-items:flex-start; gap:11px; font-size:15px; line-height:1.4; color:var(--ink-2); padding:9px 0; }
.dd-ck{ flex-shrink:0; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-700); font-size:12px; font-weight:700; }
.dd-cta{ margin-top:28px; }

/* due-diligence document package */
.ddpkg{ margin-top:8px; }
.ddpkg-top{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
.ddpkg-total{ display:inline-flex; align-items:baseline; gap:9px; }
.ddpkg-total b{ font:800 38px/1 var(--mono); letter-spacing:-.02em; color:var(--accent-700); }
.ddpkg-total span{ font-size:14.5px; font-weight:600; color:var(--ink-2); }
.ddpkg-ver{ font:600 12px/1 var(--mono); letter-spacing:.04em; text-transform:uppercase; color:var(--ink-3); background:var(--surface-3); border:1px solid var(--border); border-radius:100px; padding:7px 13px; }
.ddpkg-groups{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ddpkg-group{ background:#fff; border:1px solid var(--glass-line); border-radius:16px; padding:18px 18px 16px; box-shadow:var(--sh-1); }
.ddpkg-g-h{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid var(--glass-line); }
.ddpkg-g-name{ font-size:14px; font-weight:700; letter-spacing:-.01em; color:var(--ink); }
.ddpkg-g-n{ flex-shrink:0; min-width:22px; height:22px; padding:0 7px; border-radius:100px; display:grid; place-items:center; font:700 12px/1 var(--mono); background:var(--accent-soft); color:var(--accent-700); }
.ddpkg-docs{ display:flex; flex-direction:column; gap:9px; }
.ddpkg-doc{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; line-height:1.4; color:var(--ink-2); }
.ddpkg-doc .dd-ck{ width:18px; height:18px; font-size:10px; margin-top:1px; }

@media (max-width:860px){
  .promise-grid{ grid-template-columns:1fr; }
  .dd-grid{ grid-template-columns:1fr; }
  .ddpkg-groups{ grid-template-columns:1fr; }
  .nb-row{ grid-template-columns:1fr; }
  .nb-c{ border-left:none; }
  .nb-head{ display:none; }
  .glance-panel-in{ padding:26px 22px 26px 26px; }
  .glance-p{ font-size:15.5px; }
  .glance-p:first-child{ font-size:16.5px; }
  .cases-in{ padding:26px 22px 26px 26px; }
  .cases-points{ grid-template-columns:1fr; }
}
