/* ISHAM — общие стили сайта. Извлечено из design-system/isham-landing.html (ISHAM-008).
   Токены и компоненты — источник правды design-system/tokens.css. Не изобретать значения. */

:root{
  --isham-indigo:#363688;--isham-indigo-700:#2A2B6B;--isham-indigo-600:#303172;--isham-indigo-500:#4749A0;--isham-indigo-100:#E1E1F0;--isham-indigo-50:#F1F1F8;--isham-graphite:#2B2A29;
  --gray-25:#FBFBFA;--gray-50:#F6F6F4;--gray-100:#EDECE9;--gray-200:#DEDDD8;--gray-300:#C8C6C0;--gray-400:#A6A49D;--gray-500:#82807A;--gray-600:#615F5A;--gray-700:#464440;--gray-900:#1F1D1B;
  --ink:#1F1D1B;--ink-2:#615F5A;--ink-3:#82807A;--surface:#FFFFFF;--surface-2:#FBFBFA;--surface-3:#F6F6F4;--border:#DEDDD8;--border-strong:#C8C6C0;
  --iso-p:#2B62A8;--iso-m:#E0A200;--iso-k:#C0392B;
  --font-sans:"IBM Plex Sans",system-ui,"Segoe UI",Roboto,sans-serif;--font-cond:"IBM Plex Sans Condensed","IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px;
  --radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(31,29,27,.09),0 1px 2px rgba(31,29,27,.04);--shadow-md:0 4px 14px rgba(31,29,27,.09);--shadow-lg:0 14px 36px rgba(31,29,27,.13);--shadow-focus:0 0 0 3px rgba(54,54,136,.30);
  --dur:200ms;--ease:cubic-bezier(.2,.6,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.1;font-weight:600;letter-spacing:-.01em}
p{text-wrap:pretty}
a{color:var(--isham-indigo);text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--isham-indigo);outline-offset:3px;border-radius:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--sp-6)}
.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--isham-indigo);font-weight:600}
.mono{font-family:var(--font-mono)}
.btn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;font-size:1rem;font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur),color var(--dur),transform var(--dur);white-space:nowrap;font-family:var(--font-sans)}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--isham-indigo);color:#fff}
.btn-primary:hover{background:var(--isham-indigo-600);transform:translateY(-1px)}
.btn-primary:active{background:var(--isham-indigo-700);transform:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-strong)}
.btn-ghost:hover{border-color:var(--isham-indigo);color:var(--isham-indigo)}
.btn-sm{height:38px;padding:0 16px;font-size:.9375rem}

/* header */
header.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px;gap:var(--sp-5)}
.nav-in .logo{height:34px;width:auto;display:block;color:var(--isham-graphite)}
.nav-links{display:flex;gap:var(--sp-6);margin-left:auto}
.nav-links a{color:var(--ink-2);font-size:.9375rem;font-weight:500;transition:color var(--dur)}
.nav-links a:hover{color:var(--isham-indigo)}
.nav-right{display:flex;align-items:center;gap:var(--sp-4)}
.langtog{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-sm);overflow:hidden}
.langtog button{font-family:var(--font-mono);font-size:.75rem;font-weight:500;padding:6px 10px;border:none;background:#fff;color:var(--ink-2);cursor:pointer;transition:background var(--dur),color var(--dur)}
.langtog button.on{background:var(--isham-indigo);color:#fff}

/* hero */
.hero{position:relative;overflow:hidden;padding:var(--sp-10) 0 var(--sp-9);border-bottom:1px solid var(--border)}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(var(--gray-100) 1px,transparent 1px),linear-gradient(90deg,var(--gray-100) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse 60% 75% at 78% 35%,#000,transparent 72%);opacity:.75;z-index:0}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:var(--sp-8);align-items:center}
.hero h1{font-family:var(--font-cond);font-size:clamp(2.4rem,5vw,3.75rem);line-height:1.02;letter-spacing:-.015em;margin:var(--sp-4) 0 var(--sp-5)}
.hero h1 .hl{color:var(--isham-indigo)}
.hero .sub{font-size:1.1875rem;color:var(--ink-2);max-width:48ch;line-height:1.55}
.backronym{font-family:var(--font-mono);font-size:.875rem;letter-spacing:.02em;color:var(--isham-indigo);margin-top:var(--sp-5);line-height:1.6}
.backronym b{font-weight:700}
.hero-cta{display:flex;gap:var(--sp-3);margin-top:var(--sp-6);flex-wrap:wrap}
.hero-visual{display:flex;align-items:center;justify-content:center}
.hero-visual .heromark{width:min(320px,80%);height:auto;color:var(--isham-graphite);filter:drop-shadow(0 20px 40px rgba(54,54,136,.14))}
.trust{display:flex;gap:var(--sp-6);margin-top:var(--sp-8);flex-wrap:wrap;padding-top:var(--sp-6);border-top:1px solid var(--border)}
.trust div{font-size:.9375rem;color:var(--ink-2)}
.trust b{display:block;font-family:var(--font-cond);font-size:1.5rem;color:var(--ink);font-weight:700;letter-spacing:0}

/* section */
section{padding:var(--sp-9) 0}
.sec-head{max-width:680px;margin-bottom:var(--sp-7)}
.sec-head h2{font-family:var(--font-cond);font-size:clamp(1.9rem,3.5vw,2.5rem);margin:var(--sp-2) 0 var(--sp-3);letter-spacing:0}
.sec-head p{font-size:1.125rem;color:var(--ink-2)}
.tinted{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.pillar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);transition:box-shadow var(--dur),transform var(--dur)}
.pillar:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.pillar .ltr{font-family:var(--font-cond);font-size:2.5rem;font-weight:700;color:var(--isham-indigo-100);line-height:1;float:right}
.pillar .ic{width:40px;height:40px;color:var(--isham-indigo);margin-bottom:var(--sp-4)}
.pillar h3{font-size:1.3125rem;margin-bottom:var(--sp-2)}
.pillar .role{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--sp-3)}
.pillar p{font-size:.9375rem;color:var(--ink-2);line-height:1.55}
.pillar ul{list-style:none;margin-top:var(--sp-4);display:flex;flex-direction:column;gap:8px}
.pillar li{font-size:.875rem;color:var(--ink-2);padding-left:20px;position:relative;line-height:1.4}
.pillar li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--isham-indigo);border-radius:2px;transform:rotate(45deg)}

/* why */
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}
.why-card{padding:var(--sp-5);border-left:2px solid var(--isham-indigo);background:var(--surface)}
.why-card h4{font-size:1.0625rem;margin-bottom:6px}
.why-card p{font-size:.875rem;color:var(--ink-2);line-height:1.5}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-5);counter-reset:s}
.step{position:relative;padding-top:var(--sp-5)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--isham-indigo);display:block;margin-bottom:var(--sp-3)}
.step h4{font-size:1.1875rem;margin-bottom:8px}
.step p{font-size:.9375rem;color:var(--ink-2)}
.step::after{content:"";position:absolute;top:14px;left:52px;right:-24px;height:1px;background:var(--border)}
.step:last-child::after{display:none}

/* cta band */
.ctaband{background:var(--isham-graphite);color:#fff;border-radius:var(--radius-lg);padding:var(--sp-8);display:grid;grid-template-columns:1.4fr auto;gap:var(--sp-6);align-items:center}
.ctaband h2{font-family:var(--font-cond);font-size:2rem;color:#fff;letter-spacing:0}
.ctaband p{color:rgba(255,255,255,.72);margin-top:var(--sp-3);font-size:1.0625rem;max-width:46ch}
.ctaband .btn-primary{background:#fff;color:var(--isham-graphite)}
.ctaband .btn-primary:hover{background:var(--gray-100)}
.ctaband .acts{display:flex;flex-direction:column;gap:var(--sp-3)}
.ctaband a.mail{color:#fff;font-family:var(--font-mono);font-size:.9375rem;text-align:center;opacity:.8}

/* footer */
footer{background:var(--gray-900);color:var(--gray-300);padding:var(--sp-8) 0 var(--sp-6);margin-top:var(--sp-9)}
.foot-in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-6)}
.foot-in .flogo{height:40px;width:auto;color:#fff;--logo-face:#8f8fe0;margin-bottom:var(--sp-4)}
.foot-back{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;color:var(--isham-indigo-500);line-height:1.7}
.foot-col h5{font-size:.75rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);margin-bottom:var(--sp-3)}
.foot-col a,.foot-col div{display:block;color:var(--gray-300);font-size:.9375rem;margin-bottom:8px}
.foot-col a:hover{color:#fff}
.foot-bot{border-top:1px solid rgba(255,255,255,.1);margin-top:var(--sp-7);padding-top:var(--sp-5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);font-family:var(--font-mono);font-size:.75rem;color:var(--gray-500)}
.draft{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--iso-m);border:1px solid #E6D4A8;background:#F7EEDD;border-radius:var(--radius-pill);padding:3px 10px;display:inline-block;margin-bottom:var(--sp-4)}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.rv.in{opacity:1;transform:none}

@media (max-width:900px){
  .hero-in{grid-template-columns:1fr}.hero-visual{order:-1;margin-bottom:var(--sp-4)}.hero-visual img{width:220px}
  .pillars,.why,.steps,.foot-in{grid-template-columns:1fr}
  .why{grid-template-columns:1fr 1fr}
  .ctaband{grid-template-columns:1fr}
  .nav-links{display:none}
  .step::after{display:none}
}
@media (max-width:560px){.why{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}*{transition-duration:.01ms!important}}

/* ===== Демо-секция и витрина (ISHAM-008…012). Токены те же, значения кратны 4. ===== */

/* Плашка масштаба */
.scale-plate{display:flex;flex-wrap:wrap;gap:var(--sp-5) var(--sp-7);align-items:baseline;
  padding:var(--sp-5) var(--sp-6);background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.scale-metric{display:flex;flex-direction:column;gap:2px}
.scale-metric b{font-family:var(--font-mono);font-weight:600;font-size:2rem;line-height:1;color:var(--ink);letter-spacing:-.01em}
.scale-metric span{font-size:.875rem;color:var(--ink-2)}
.scale-fams{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-4)}
.scale-fam{display:inline-flex;align-items:baseline;gap:8px;font-size:.8125rem;color:var(--ink-2);
  background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 12px}
.scale-fam b{font-family:var(--font-mono);font-weight:600;color:var(--ink);font-size:.8125rem}
.scale-plate.skeleton{opacity:.55}
.brand-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5) var(--sp-6);margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--border)}
.brand-strip-logo{height:30px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.brand-strip-logo:hover{filter:none;opacity:1}
.scale-plate .sk{display:inline-block;height:2rem;width:5ch;background:var(--gray-200);border-radius:var(--radius-sm);animation:pulse 1.2s var(--ease) infinite}
@keyframes pulse{50%{opacity:.5}}

/* Поле поиска витрины */
.searchbar{display:flex;gap:var(--sp-3);flex-wrap:wrap;max-width:640px}
.searchbar.has-suggest{position:relative}
.suggest-box{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;background:var(--surface);
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);
  overflow:hidden;max-height:340px;overflow-y:auto}
.suggest-item{display:flex;flex-direction:column;gap:2px;padding:8px 14px;cursor:pointer;border-bottom:1px solid var(--border)}
.suggest-item:last-child{border-bottom:none}
.suggest-item:hover,.suggest-item.on{background:var(--isham-indigo-50)}
.suggest-sku{font-family:var(--font-mono);font-size:.9375rem;font-weight:500;color:var(--ink)}
.suggest-meta{font-size:.75rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.searchbar input{flex:1 1 320px;height:52px;padding:0 16px;font-family:var(--font-mono);font-size:1.0625rem;
  color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur)}
.searchbar input:focus{outline:none;border-color:var(--isham-indigo);box-shadow:var(--shadow-focus)}
.searchbar .btn{height:52px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-4);align-items:center}
.chips .chips-label{font-size:.8125rem;color:var(--ink-3);margin-right:4px}
.chip{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--font-mono);font-size:.8125rem;
  color:var(--isham-indigo);background:var(--isham-indigo-50);border:1px solid var(--isham-indigo-100);
  border-radius:var(--radius-pill);padding:5px 12px;cursor:pointer;transition:background var(--dur),border-color var(--dur)}
.chip:hover{background:var(--isham-indigo-100)}
.chip small{color:var(--ink-3);font-family:var(--font-sans)}
.quota-line{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-3);margin-top:var(--sp-3)}
.quota-line a{cursor:pointer;text-decoration:underline}

/* Карточка результата */
.result-wrap{margin-top:var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-5)}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:var(--sp-6);box-shadow:var(--shadow-sm)}
.brand-logo{display:block;object-fit:contain}
.brand-logo-lg{max-height:34px;max-width:160px;margin-bottom:var(--sp-3)}
.brand-logo-sm{max-height:18px;max-width:96px;margin-bottom:3px}
.tool-card .vendor{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--isham-indigo);font-weight:600}
.tool-card .sku{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--ink);margin:4px 0 2px;word-break:break-all}
.tool-card .fam{font-size:.9375rem;color:var(--ink-2)}
.badge{display:inline-block;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;
  border-radius:var(--radius-pill);padding:3px 10px;border:1px solid var(--border-strong);color:var(--ink-2);background:var(--surface-3);margin-top:8px}
.attr-table{width:100%;border-collapse:collapse;margin-top:var(--sp-5)}
.attr-table th,.attr-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);font-size:.875rem;vertical-align:top}
.attr-table th{color:var(--ink-3);font-weight:500;width:44%}
.attr-table td{font-family:var(--font-mono);color:var(--ink)}
.attr-table tr:last-child th,.attr-table tr:last-child td{border-bottom:none}
.sketch-box{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--border)}
.sketch-cap{font-size:.8125rem;color:var(--ink-3);margin-bottom:var(--sp-3)}
.sketch-art{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-4);overflow-x:auto}
.sketch-art svg{display:block;max-width:100%;height:auto;margin:0 auto}

/* Аналоги (ISHAM-010) */
.analogs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}
.analogs h3{font-family:var(--font-cond);font-size:1.375rem;margin-bottom:4px}
.analogs .lead{font-size:.9375rem;color:var(--ink-2);margin-bottom:var(--sp-5)}
.tier-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--ink-3);margin-bottom:var(--sp-4)}
.analog-row{display:flex;gap:var(--sp-4);align-items:flex-start;padding:var(--sp-4) 0;border-top:1px solid var(--border)}
.analog-row.clickable{cursor:pointer;margin:0 calc(-1*var(--sp-4));padding-left:var(--sp-4);padding-right:var(--sp-4);border-radius:var(--radius-sm);transition:background var(--dur) var(--ease)}
.analog-row.clickable:hover{background:var(--isham-indigo-50)}
.analog-row.clickable:focus-visible{outline:2px solid var(--isham-indigo);outline-offset:-2px}
.analog-row .analog-go{flex:0 0 auto;align-self:center;color:var(--isham-indigo);font-family:var(--font-mono);font-size:1.25rem;opacity:0;transition:opacity var(--dur) var(--ease)}
.analog-row.clickable:hover .analog-go,.analog-row.clickable:focus-visible .analog-go{opacity:1}
.analog-row .who{flex:1 1 auto;min-width:0}
.analog-row .vendor{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.analog-row .sku{font-family:var(--font-mono);font-size:1.0625rem;font-weight:600;color:var(--ink);word-break:break-all}
.analog-row .why{display:block;width:100%;font-size:.8125rem;color:var(--ink-2);margin-top:4px;line-height:1.5}
.analog-row .why b{margin-right:4px}
.analog-row .why-match b{color:var(--success,#2F7D4E)}
.analog-row .why-caveat b{color:var(--warning,#B47514)}
.analog-row .why-diff b{color:var(--isham-indigo)}
.analog-row .why-diff{font-family:var(--font-mono)}
.tier{flex:0 0 auto;font-family:var(--font-mono);font-weight:700;font-size:.8125rem;width:28px;height:28px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:#fff}
.tier-A{background:var(--success,#2F7D4E)}
.tier-B{background:var(--warning,#B47514)}
.tier-C{background:var(--gray-500)}
.brand-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--sp-4)}
.brand-filter label{display:inline-flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--ink-2);
  border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 12px;cursor:pointer}
.brand-filter input{accent-color:var(--isham-indigo)}

/* Honest-empty */
.honest{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--sp-6)}
.honest h3{font-family:var(--font-cond);font-size:1.25rem;margin-bottom:8px}
.honest p{font-size:.9375rem;color:var(--ink-2);max-width:56ch}
.honest .mono{color:var(--ink);font-family:var(--font-mono)}

/* Сообщения / состояния */
.msg{font-size:.9375rem;padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-md)}
.msg-error{color:var(--error,#BE3A2E);background:#FBEBE9;border:1px solid #F0C8C2}
.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--isham-indigo-100);border-top-color:var(--isham-indigo);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-3px}
.load-hint{font-size:.8125rem;color:var(--ink-3);margin-top:8px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Модал регистрации (ISHAM-011) */
.modal-back{position:fixed;inset:0;background:rgba(31,29,27,.5);backdrop-filter:blur(2px);display:flex;
  align-items:center;justify-content:center;padding:var(--sp-5);z-index:80}
.modal-back[hidden]{display:none}
.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:440px;width:100%;padding:var(--sp-7);position:relative}
.modal h3{font-family:var(--font-cond);font-size:1.5rem;margin-bottom:8px}
.modal p.sub{font-size:.9375rem;color:var(--ink-2);margin-bottom:var(--sp-5)}
.modal .field{margin-bottom:var(--sp-4)}
.modal label{display:block;font-size:.8125rem;color:var(--ink-2);margin-bottom:4px}
.modal input{width:100%;height:44px;padding:0 12px;font-size:1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}
.modal input:focus{outline:none;border-color:var(--isham-indigo);box-shadow:var(--shadow-focus)}
.modal input.code{font-family:var(--font-mono);letter-spacing:.3em;text-align:center;font-size:1.25rem}
.modal .err{color:var(--error,#BE3A2E);font-size:.8125rem;margin-top:4px}
.modal .note{font-size:.75rem;color:var(--ink-3);margin-top:var(--sp-4);line-height:1.5}
.modal .x{position:absolute;top:var(--sp-4);right:var(--sp-4);width:32px;height:32px;border:none;background:none;cursor:pointer;color:var(--ink-3);font-size:1.5rem;line-height:1}
.modal .btn{width:100%;justify-content:center}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Лид-форма */
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-5)}
.lead-form .full{grid-column:1/-1}
.lead-form input,.lead-form textarea{width:100%;padding:12px;font-size:1rem;font-family:var(--font-sans);
  border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}
.lead-form textarea{min-height:96px;resize:vertical}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--isham-indigo);box-shadow:var(--shadow-focus)}
.ctaband .lead-form input,.ctaband .lead-form textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.ctaband .lead-form input::placeholder,.ctaband .lead-form textarea::placeholder{color:rgba(255,255,255,.5)}

/* Компактная витрина: hero поменьше */
.demo-hero{padding:var(--sp-8) 0 var(--sp-6)}
.demo-hero h1{font-family:var(--font-cond);font-size:clamp(1.9rem,4vw,2.75rem);line-height:1.05;margin:var(--sp-3) 0}
.demo-hero .sub{font-size:1.0625rem;color:var(--ink-2);max-width:52ch}
.demo-scale-line{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-3);margin-top:var(--sp-4)}

@media (max-width:560px){.lead-form{grid-template-columns:1fr}.scale-metric b{font-size:1.6rem}}

/* Переключатель языка RU/EN (ISHAM-018) */
.langtog{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius-pill);overflow:hidden}
.langtog button{font:inherit;font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:5px 10px;border:none;background:none;color:var(--ink-3);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur)}
.langtog button.on{background:var(--isham-indigo);color:#fff}
.langtog button:not(.on):hover{background:var(--surface-3);color:var(--ink)}

/* Конструктор эскиза (ISHAM-019) */
.draw-wrap{display:grid;grid-template-columns:340px 1fr;gap:var(--sp-7);align-items:start}
.draw-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm)}
.draw-form .field{margin-bottom:var(--sp-4)}
.draw-form label{display:block;font-size:.8125rem;color:var(--ink-2);margin-bottom:5px}
.draw-form select,.draw-form input[type=number],.draw-form input[type=text]{width:100%;height:40px;padding:0 10px;font-size:.9375rem;font-family:var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}
.draw-form select:focus,.draw-form input:focus{outline:none;border-color:var(--isham-indigo);box-shadow:var(--shadow-focus)}
.param-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-4);margin:var(--sp-4) 0}
.param-fields .field{margin-bottom:0}
.param-fields .field-check{display:flex;align-items:center;gap:8px;grid-column:1/-1}
.param-fields .field-check label{margin:0}
.param-fields .field-check input{width:auto;height:auto;accent-color:var(--isham-indigo)}
.draw-form>label[for=geomSel]{font-size:.875rem;color:var(--ink);font-weight:500}
.draw-form>.field:first-child select{height:44px;font-family:var(--font-sans);font-weight:500}
.draw-form .btn{width:100%;justify-content:center;margin-top:var(--sp-2)}
.draw-msg{font-size:.875rem;color:var(--ink-2);margin-top:var(--sp-4);min-height:1.2em}
.draw-out{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6);min-height:360px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}
.draw-out .sketch-art{width:100%;border:none;padding:0;background:none}
.draw-out .sketch-art svg{display:block;max-width:100%;height:auto;margin:0 auto}
.draw-placeholder{color:var(--ink-3);font-size:.9375rem}
@media (max-width:820px){.draw-wrap{grid-template-columns:1fr}}
/* Конструктор: переключатель режимов «по коду / по параметрам» */
.draw-modes{display:inline-flex;gap:2px;padding:3px;background:var(--isham-indigo-50);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--sp-5)}
.draw-mode{appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--ink-2);padding:8px 16px;border-radius:calc(var(--radius-sm) + 1px)}
.draw-mode.on{background:var(--surface);color:var(--isham-indigo);box-shadow:var(--shadow-sm)}
.code-typeahead{position:relative}
.draw-hint{font-size:.8125rem;color:var(--ink-3);line-height:1.5;margin-top:var(--sp-3)}
.draw-picked{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink-3);text-align:center;margin-bottom:var(--sp-3);text-transform:uppercase;letter-spacing:.03em}
.draw-picked b{color:var(--ink);font-weight:600}
.draw-result{width:100%}
