:root{
  --ink:#f5f7fa;
  --muted:#a9b0ba;
  --bg:#060708;
  --panel:#0b0d10;
  --line:rgba(255,255,255,.08);
  --brand:#0B2F66;
  --brand2:#0E4B92;
}


*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;scroll-behavior:smooth}
a{color:var(--ink);text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 24px}

/* nav */
nav.site{position:sticky;top:0;background:rgba(6,7,8,.72);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);z-index:50}
nav .inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}
.logo .logo-text{display:inline}
.logo img{display:block;height:26px;width:auto}
.menu{display:flex;gap:26px;font-weight:700}
.menu a{padding:8px 6px;border-radius:10px}
.menu a:hover{background:rgba(255,255,255,.06)}

/* HERO base */
.hero{position:relative;overflow:hidden;height:62vh}
.hero img{width:100%;height:62vh;object-fit:cover;display:block}
.hero img.hero-slide{position:absolute;inset:0;height:100%;opacity:0;transition:opacity 1s ease}
.hero img.hero-slide.active{opacity:1}

.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%);pointer-events:none}
.hero-overlay{position:absolute;left:32px;right:24px;bottom:30px;color:#fff;max-width:980px;transition:transform .25s ease,opacity .25s ease}
.hero-overlay h1{margin:0 0 8px;font-weight:900;letter-spacing:.01em;font-size:clamp(26px,4vw,46px);line-height:1.06;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero-overlay p{margin:0 0 10px;font-size:clamp(15px,1.8vw,18px);opacity:.97;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);color:#fff;padding:7px 12px;border-radius:999px;font-weight:900;font-size:13.5px;backdrop-filter:saturate(140%) blur(6px)}
.hero.shrink .hero-overlay{transform:translateY(-10px) scale(.985);opacity:.92}

/* sections & text */
h1{font-size:36px;line-height:1.12;margin:0 0 10px;font-weight:900}
h2{font-size:22px;line-height:1.2;margin:0 0 18px;font-weight:800}
.section{padding:56px 0;border-top:0}
.lead{font-size:18px;color:var(--muted);max-width:920px}

/* grid gallery 16:9 */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{position:relative;overflow:hidden;border-radius:16px;background:#f8f8f8}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .6s ease}
.card:hover img{transform:scale(1.04)}
.card .cap{position:absolute;left:12px;bottom:10px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));padding:30px 12px 8px 12px;border-radius:0 0 12px 12px;font-weight:700}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:100}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;width:92vw;color:#fff;font-size:32px;font-weight:900;user-select:none}
.lb .close{position:absolute;top:24px;right:24px;color:#fff;font-size:28px;background:rgba(255,255,255,.2);padding:8px 12px;border-radius:10px;cursor:pointer}

/* ctas */
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:30px;font-weight:800}
.btn.gold{background:linear-gradient(135deg,var(--_sand_unused),var(--_sand_unused-2));color:#fff}
.btn.ghost{border:2px solid var(--_sand_unused-2);color:var(--_sand_unused-2)}
.btn img{height:18px;width:18px}

/* lists */
.cols{columns:2;gap:40px;max-width:980px}
.cols p{break-inside:avoid;margin:0 0 12px}

/* footer */
footer{background:#111;color:#eee;padding:40px 0;margin-top:34px}
.footer-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:10px}
.social{display:flex;gap:10px}
.social a{display:inline-flex;border-radius:10px;overflow:hidden}
.smallnote{color:#a0a0a0;font-size:13px}

/* whatsapp floating */
.fab{position:fixed;right:20px;bottom:20px;height:62px;width:62px;border-radius:50%;box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:60;background:#25D366;display:flex;align-items:center;justify-content:center}
.fab img{height:32px;width:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}

/* fade-in */
.fade{opacity:0;transform:translateY(16px);transition:all .6s ease}
.fade.show{opacity:1;transform:none}

/* responsive */
@media(max-width:980px){
  .grid{grid-template-columns:1fr 1fr}
  .cols{columns:1}
  .hero{height:48vh}
  .hero img{height:48vh}
  .menu{gap:14px}
}
@media(max-width:640px){
  .grid{grid-template-columns:1fr}
  h1{font-size:28px}
  h2{font-size:18px}
  .hero{height:42vh}
  .hero img{height:42vh}
}

/* sticky spacing hotfix */
:root{ --hdr: 88px; }
header, .site-header { position: sticky !important; top: 0; z-index: 1000; }
html { scroll-padding-top: var(--hdr); }
main > section:first-of-type, .section:first-of-type { margin-top: var(--hdr); }


/* === Hard kill for images in Locations === */
#locations img, #locations .maps { display: none !important; visibility: hidden !important; }


/* === Mobile burger menu (premium minimal, no overlay) === */
.burger{display:none;position:relative;height:38px;width:44px;border:0;background:transparent;cursor:pointer}
.burger span{position:absolute;left:8px;right:8px;height:2px;background:#111;border-radius:2px;transition:transform .25s ease,opacity .2s ease,top .25s ease}
.burger span:nth-child(1){top:12px}
.burger span:nth-child(2){top:18px}
.burger span:nth-child(3){top:24px}
nav.site.open .burger span:nth-child(1){top:18px;transform:rotate(45deg)}
nav.site.open .burger span:nth-child(2){opacity:0}
nav.site.open .burger span:nth-child(3){top:18px;transform:rotate(-45deg)}

@media(max-width:980px){
  .burger{display:block}
  nav.site .menu{display:none}
  nav.site.open .menu{display:block;position:absolute;top:100%;right:0;left:0;background:#fff;border-bottom:1px solid #eee;box-shadow:0 8px 24px rgba(0,0,0,.06)}
  nav.site.open .menu a{display:block;padding:14px 20px;border-top:1px solid #f3f3f3}
  nav.site.open .menu a:hover{background:rgba(0,0,0,.03)}
}


/* Enhanced WhatsApp FAB visuals */
.fab{
  background: linear-gradient(135deg,#25D366,#19c25e);
  border: 2px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 30px rgba(0,0,0,.22), 0 0 0 6px rgba(37,211,102,.14);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.fab:hover{ transform: translateY(-2px) scale(1.04); box-shadow: 0 16px 36px rgba(0,0,0,.26), 0 0 0 8px rgba(37,211,102,.18) }
.fab:active{ transform: translateY(0) scale(.98) }
.fab img{ filter: drop-shadow(0 2px 4px rgba(0,0,0,.18)) brightness(1.05) }


/* === Stronger visuals: hero chips & WhatsApp FAB (override) === */

/* Make hero chips clearly brighter; third is gold to match .btn.gold */
.chips .chip:nth-child(1),
.chips .chip:nth-child(2){
  background: rgba(255,255,255,.48) !important;
  border-color: rgba(255,255,255,.85) !important;
  color: #fff !important;
  box-shadow: inset 0 6px 18px rgba(255,255,255,.18), 0 8px 22px rgba(0,0,0,.22) !important;
  backdrop-filter: saturate(160%) blur(8px);
}
.chips .chip:nth-child(3){
  background: linear-gradient(135deg,var(--_sand_unused),var(--_sand_unused-2)) !important;
  color:#fff !important;
  border: 0 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.35);
  box-shadow: 0 10px 28px rgba(0,0,0,.28) !important;
}

/* Premium WhatsApp FAB — enforced overrides without changing size/logic */
body .fab{
  background: linear-gradient(135deg,#28d76b,#16b257) !important;
  border: 2px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.28), 0 0 0 10px rgba(37,211,102,.18) !important;
  position: fixed; right:20px; bottom:20px; height:62px; width:62px; border-radius:50%;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
  isolation: isolate;
}
body .fab::before{
  content:''; position:absolute; inset:8px; border-radius:50%;
  background: radial-gradient(140% 140% at 30% 25%, rgba(255,255,255,.45) 0%, rgba(255,255,255,.08) 40%, rgba(255,255,255,0) 65%);
  pointer-events:none;
}
body .fab::after{
  content:''; position:absolute; inset:-12px; border-radius:50%;
  background: radial-gradient(closest-side, rgba(37,211,102,.22), rgba(37,211,102,0));
  filter: blur(2px); z-index:-1; pointer-events:none;
}
body .fab:hover{ transform: translateY(-2px) scale(1.05); box-shadow: 0 22px 44px rgba(0,0,0,.32), 0 0 0 12px rgba(37,211,102,.20) !important }
body .fab:active{ transform: translateY(0) scale(.98) }
body .fab img{ height:32px; width:32px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.22)) brightness(1.08) }


/* === Ultra-bright hero chips with breathing glow, and enhanced WhatsApp icon === */

/* Breathing glow animation */
@keyframes chipGlow {
  0% { box-shadow: var(--chip-shadow-a); opacity: .98; }
  50% { box-shadow: var(--chip-shadow-b); opacity: 1; }
  100% { box-shadow: var(--chip-shadow-a); opacity: .98; }
}

/* Define reusable shadow variables (fallback if :root not present) */
:root{
  --chip-shadow-a: 0 10px 28px rgba(0,0,0,.28), 0 0 0 10px rgba(255,255,255,.10);
  --chip-shadow-b: 0 16px 42px rgba(0,0,0,.34), 0 0 0 14px rgba(255,255,255,.14);
}

/* First two chips — bright glass with internal light and glow */
.chips .chip:nth-child(1),
.chips .chip:nth-child(2){
  background: rgba(255,255,255,.70) !important;
  border: 1px solid rgba(255,255,255,.95) !important;
  color:#0f0f0f !important;
  backdrop-filter: saturate(180%) blur(10px);
  text-shadow: 0 1px 2px rgba(255,255,255,.45), 0 2px 10px rgba(255,255,255,.25);
  box-shadow: var(--chip-shadow-a) !important;
  position: relative;
  overflow: visible;
  animation: chipGlow 1.4s ease-in-out infinite;
}
.chips .chip:nth-child(1)::before,
.chips .chip:nth-child(2)::before{
  content:''; position:absolute; inset:2px; border-radius:999px;
  background: radial-gradient(120% 120% at 30% 15%, rgba(255,255,255,.65) 0%, rgba(255,255,255,.18) 45%, rgba(255,255,255,0) 70%);
  pointer-events:none;
}

/* Third chip — premium gold with soft aura (matches .btn.gold palette) */
.chips .chip:nth-child(3){
  background: linear-gradient(135deg,var(--_sand_unused),var(--_sand_unused-2)) !important;
  color:#fff !important;
  border: 0 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.35);
  box-shadow: 0 12px 32px rgba(0,0,0,.34), 0 0 0 12px rgba(210,170,80,.20) !important;
  position: relative; overflow: visible;
  animation: chipGlow 1.2s ease-in-out infinite;
}
.chips .chip:nth-child(3)::before{
  content:''; position:absolute; inset:2px; border-radius:999px;
  background: radial-gradient(140% 140% at 28% 18%, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 46%, rgba(255,255,255,0) 68%);
  pointer-events:none;
}

/* Hover emphasis (desktop) */
@media (hover:hover){
  .chips .chip:hover{ filter: saturate(110%); transform: translateY(-1px); }
}

/* WhatsApp FAB — keep green, improve white handset glyph */
body .fab img{
  height:32px; width:32px;
  filter: drop-shadow(0 0 1px rgba(0,0,0,.35))
          drop-shadow(0 2px 2px rgba(0,0,0,.25))
          brightness(1.14) contrast(1.05);
}
/* Add subtle white glow around the handset to pop on green */
body .fab .wa-glow{ display:none } /* safety if element doesn't exist */
body .fab::marker{ content:'' } /* no-op fix for some browsers */


/* === MAX emphasis for hero chips + refined WhatsApp handset === */

/* Stronger breathing aura */
:root{
  --chip-shadow-a: 0 14px 34px rgba(0,0,0,.34), 0 0 0 12px rgba(255,255,255,.14);
  --chip-shadow-b: 0 22px 60px rgba(0,0,0,.42), 0 0 0 16px rgba(255,255,255,.20);
}
@keyframes chipGlow {
  0% { box-shadow: var(--chip-shadow-a); }
  50% { box-shadow: var(--chip-shadow-b); }
  100% { box-shadow: var(--chip-shadow-a); }
}

/* First two chips — near-white glass, very bright and readable */
.chips .chip:nth-child(1),
.chips .chip:nth-child(2){
  background: rgba(255,255,255,.92) !important;
  color:#111 !important;
  border: 1px solid rgba(255,255,255,.98) !important;
  box-shadow: var(--chip-shadow-a) !important;
  text-shadow: none !important;
  backdrop-filter: saturate(190%) blur(10px);
  position: relative; overflow: visible;
  animation: chipGlow 1.3s ease-in-out infinite;
  filter: saturate(115%);
}
.chips .chip:nth-child(1)::before,
.chips .chip:nth-child(2)::before{
  content:''; position:absolute; inset:1.5px; border-radius:999px;
  background: radial-gradient(120% 120% at 30% 15%, rgba(255,255,255,.85) 0%, rgba(255,255,255,.22) 45%, rgba(255,255,255,0) 68%);
  pointer-events:none;
}

/* Third chip — bolder gold with aura */
.chips .chip:nth-child(3){
  background: linear-gradient(135deg,var(--_sand_unused),var(--_sand_unused-2)) !important;
  color:#fff !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.45) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.38), 0 0 0 14px rgba(210,170,80,.26) !important;
  position: relative; overflow: visible;
  animation: chipGlow 1.1s ease-in-out infinite;
  filter: saturate(120%);
}
.chips .chip:nth-child(3)::before{
  content:''; position:absolute; inset:1.5px; border-radius:999px;
  background: radial-gradient(140% 140% at 28% 18%, rgba(255,255,255,.65) 0%, rgba(255,255,255,.12) 46%, rgba(255,255,255,0) 68%);
  pointer-events:none;
}

/* WhatsApp handset — crisper white with subtle halo */
body .fab img{
  image-rendering: -webkit-optimize-contrast;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.90))
    drop-shadow(0 1px 1px rgba(0,0,0,.28))
    brightness(1.22)
    contrast(1.12);
}


/* === v2.0 footer enhancements (minimal, non-breaking) === */
footer .social {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
footer .social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  background: linear-gradient(135deg, rgba(17,89,163,0.18), rgba(23,115,205,0.18));
  border: 1px solid rgba(60,140,220,0.35);
  border-radius: 14px;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
footer .social a img{height: 44px;width:auto}
footer .social a:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, rgba(17,89,163,0.28), rgba(23,115,205,0.28));
  border-color: rgba(60,140,220,0.6);
}

/* Project buttons */
footer .project-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:16px 0 4px 0;
}
footer .btn-footer{
  color:#fff;
  text-decoration:none;
  font-weight:600;
  padding:12px 18px;
  border-radius:16px;
  display:inline-block;
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
footer .btn-batumi{
  background: linear-gradient(135deg,#0b5aa6,#0e6cc7);
}
footer .btn-tbilisi{
  background: linear-gradient(135deg,#147bd1,#2b8de0);
}
footer .btn-footer:hover{ transform: translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,0.25); opacity:.98 }


/* Presentations grid (10 buttons, 2x5) */
#downloads .grid-press{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
#downloads .grid-press .btn{justify-content:center;font-size:14px;white-space:nowrap}
@media(max-width:1100px){ #downloads .grid-press{grid-template-columns:repeat(4,1fr)} }
@media(max-width:880px){ #downloads .grid-press{grid-template-columns:repeat(3,1fr)} }
@media(max-width:680px){ #downloads .grid-press{grid-template-columns:repeat(2,1fr)} }
@media(max-width:420px){ #downloads .grid-press{grid-template-columns:1fr} }


/* === Smaller text for Why Georgia, Why Brand, and Locations === */
#why-georgia .cols p,
#why-Brand .cols p,
#locations .cols p {
  font-size: 14.5px;
  line-height: 1.5;
}


/* === Smaller font for VIP section lead text === */
#contact .lead {
  font-size: 14.5px;
  line-height: 1.5;
}


/* === Enhanced hero chips: brighter, clearer, more spacing === */
.chips {
  gap: 18px;
}
.chip {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.98) !important;
  color: #111 !important;
  font-weight: 900;
  text-shadow: none !important;
  box-shadow: 0 6px 22px rgba(0,0,0,0.25);
  backdrop-filter: saturate(190%) blur(10px);
}
.chip:nth-child(3){
  background: linear-gradient(135deg,#D6BF91,#B79A62) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 28px rgba(0,0,0,0.3),0 0 0 6px rgba(210,170,80,0.25)!important;
}


/* Nav: slightly smaller so all items fit in one line */
.menu a{ font-size: 17px; } /* was inheriting larger size */


/* === Before/After slider (Batumi) === */
#before-after .lead.small,
#before-after-tbilisi .lead.small{font-size:14.5px;margin-top:-6px;margin-bottom:14px;opacity:.85}
.ba-wrap{position:relative;width:100%;max-width:1200px;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 14px 50px rgba(0,0,0,.25)}
.ba-img{display:block;width:100%;height:auto;user-select:none;pointer-events:none}
.ba-after-clip{position:absolute;inset:0;width:100%;overflow:hidden;transition:width .2s ease}
.ba-handle{position:absolute;top:0;bottom:0;left:100%;width:0;border-left:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 6px rgba(0,0,0,.15) inset, 0 0 0 1px rgba(0,0,0,.2);cursor:ew-resize;opacity:0;transition:opacity .25s ease}
.ba-handle:after{content:'';position:absolute;top:50%;left:-10px;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.25)}
#before-after:hover .ba-handle{opacity:1}
#before-after-tbilisi:hover .ba-handle{opacity:1}
@media(max-width:720px){
  .ba-wrap{border-radius:12px}
  .ba-handle{border-left-width:2px}
  .ba-handle:after{width:16px;height:16px;left:-8px}
}


/* === VIP contact form (single-step) === */
.vip-form.lite{margin:16px 0 10px;background:linear-gradient(180deg,#fafafa,#f6f6f6);border:1px solid #eee;border-radius:18px;padding:16px 16px 12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.vip-form .vip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}
.vip-form label{display:flex;flex-direction:column;font-weight:700;font-size:13px;gap:6px}
.vip-form input,.vip-form select,.vip-form textarea{appearance:none;border:1px solid #ddd;border-radius:12px;padding:12px;font-size:14px;outline:0;background:#fff;resize:vertical}
.vip-form .vip-span-2{grid-column:span 3}
.vip-actions{display:flex;justify-content:flex-end}
.vip-actions .btn{padding:12px 20px}

/* Toast */
.vip-thanks{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);z-index:120}
.vip-thanks .card{background:#fff;border-radius:16px;padding:22px 20px;min-width:280px;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.3)}
.vip-thanks h4{margin:0 0 8px;font-size:20px}
.vip-thanks p{margin:0 0 14px;color:#555}
.vip-thanks.show{display:flex}

@media(max-width:980px){
  .vip-form .vip-grid{grid-template-columns:repeat(2,1fr)}
  .vip-form .vip-span-2{grid-column:span 2}
}
@media(max-width:560px){
  .vip-form .vip-grid{grid-template-columns:1fr}
  .vip-form .vip-span-2{grid-column:span 1}
}


/* VIP form - refined focus states and button typography */
.vip-form input:focus, .vip-form select:focus, .vip-form textarea:focus, .vip-actions .btn:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(183,154,98,.35) !important;
  border-color: #B79A62 !important;
}
.vip-actions .btn.gold{
  font-size: 13px; /* slightly smaller label */
  border: none;
}


/* === VIP textarea refinements === */
.vip-form textarea {
  resize: none !important;
  box-shadow: none !important;
  background-clip: padding-box;
}


/* === Legal footer links & modals === */
.legal-links{margin-top:10px;font-size:12px;color:#bbb}
.legal-links a{color:#bbb;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);font-weight:600}
.legal-links a:hover{color:#fff;font-weight:600}
.legal-links .sep{opacity:.5;margin:0 8px}

.legal-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:200}
.legal-modal.open{display:flex}
.legal-card{background:#fff;max-width:820px;max-height:80vh;overflow:auto;border-radius:16px;padding:22px 22px 16px 22px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.legal-card h3{margin:0 0 8px;font-size:22px}
.legal-card h4{margin: 18px 0 8px;font-size:15px}
.legal-card p{margin: 10px 0;color:#333;line-height:1.55}
.legal-box{background:#faf7ef;border:1px solid #e6dcc6;border-radius:12px;padding: 12px 14px;margin:10px 0}
.legal-close{position:sticky;top:6px;float:right;background:#0000;border:0;color:#999;font-size:28px;cursor:pointer}
.legal-close:hover{color:#333}
.legal-card ul{margin:6px 0 6px 18px}

/* Footer tidy & centering */
.footer-left, .footer-left * { box-sizing: border-box; }
.footer-left .legal-links { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin:18px 0 10px; }
.footer-left .legal-links a { font-size:18px; font-weight:600; }
.footer-left .cta-area, .footer-left .footer-cta, .footer-left .cta-buttons { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin:10px 0 14px; }
.footer-left .smallnote { text-align:center; margin-top:6px; opacity:.85; }


/* === Footer project buttons: 2x smaller as requested === */
footer .btn-footer{
  font-size: 14px !important;
  padding: 8px 12px !important;
  border-radius: 12px !important;
}


/* === Footer alignment adjustment v2.1 === */
footer .container, footer .footer-top, .footer-left, .legal-links, .project-buttons, .smallnote {
  margin-left: 0 !important;
  text-align: left !important;
}


/* === Footer visual refinement v2.2 === */
footer {
  padding-top: 50px !important;
}
.legal-links,
.project-buttons,
.smallnote {
  margin-left: clamp(20px, 6vw, 92px) !important; /* responsive alignment under logo */
}
.legal-links { margin-top: 18px !important; margin-bottom: 14px !important; }
.project-buttons { margin-bottom: 18px !important; gap: 18px !important; }
.smallnote { line-height: 1.6 !important; }


/* === Footer v2.6 — all footer content aligned perfectly under logo === */
footer {
  padding-top: 56px !important;
  padding-bottom: 48px !important;
}
.footer-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 22px !important;
}
footer .social { gap: 18px !important; }

/* Всё выровнено по лого */
.legal-links,
.project-buttons,
.smallnote {
  margin-left: clamp(20px, 6vw, 95px) !important; /* responsive alignment under logo */
  text-align: left !important;
}
.legal-links { margin-top: 16px !important; margin-bottom: 12px !important; }
.project-buttons { margin-bottom: 18px !important; gap: 18px !important; }
.smallnote { line-height: 1.6 !important; opacity: .88 !important; }

/* Адаптив под мобильные */
@media (max-width: 880px) {
  .legal-links,
  .project-buttons,
  .smallnote {
    margin-left: 24px !important;
    margin-right: 24px !important;
    text-align: center !important;
  }
  .footer-top {
    flex-direction: column !important;
    gap: 18px !important;
  }
  footer .social { justify-content: center !important; }
}


/* Performance: skip rendering until needed */
.section{content-visibility:auto;contain-intrinsic-size:1000px 800px}
/* RTL readiness */
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] nav.site .menu a{text-align:right}
@media(max-width:640px){ .chip{box-shadow:0 4px 12px rgba(0,0,0,.18)!important}}

/* === Mobile spacing cleanup v20260225 (remove dead black gaps) === */
@media (max-width: 640px){
  /* Do not push first section down - it creates a huge empty block under the sticky nav */
  main > section:first-of-type,
  .section:first-of-type{ margin-top: 0 !important; }

  /* Reduce vertical air between blocks on mobile */
  .section{ padding: 34px 0 !important; }
  .section.fade{ padding: 34px 0 !important; }

  /* Hero: keep it visually full, but avoid massive empty top area */
  .hero{ height: 56.25vw !important; max-height: 62vh !important; min-height: 320px; }
  .hero img{ height: 100% !important; object-fit: cover !important; object-position: center center !important; }
}

/* === Desktop narrow-window fix (avoid broken hero when browser is squeezed) === */
@media (min-width: 641px) and (max-width: 980px){
  /* Give the hero a bit more breathing room and keep overlay readable */
  .hero{ height: 56vh !important; }
  .hero img{ height: 56vh !important; }
  .hero-overlay{ left:18px !important; right:18px !important; bottom:18px !important; }

  /* Prevent the 26% headline stack from clipping inside the hero */
  .hero-num{ font-size: clamp(64px, 12vw, 132px) !important; }
  .hero-line{ font-size: clamp(16px, 2.7vw, 22px) !important; }
  .hero-num-sub{ font-size: clamp(13px, 2.2vw, 16px) !important; }

  /* Chips: keep same layout, just slightly tighter so they don't look like huge blocks */
  .chips{ gap:10px !important; }
  .chips .chip{ padding:10px 12px !important; font-size:13px !important; }
}

/* === Footer logo: transparent (not a button) and +~50% area === */
.site-footer .footer-logo{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.site-footer .footer-logo img{
  display: block;
  height: 32px; /* ~+50% area vs 26px baseline */
  width: auto;
}


/* === Mobile-first hero refinements v20251106 === */
@media(max-width:640px){
  .hero{height:56vh;}
  .hero img{height:56vh;}
  .hero-overlay{left:16px; right:16px; bottom:14px;}
  .hero-overlay h1{font-size:clamp(22px,6vw,32px); line-height:1.08;}
  .hero-overlay p{font-size:15px; opacity:.96;}
  .chips{flex-direction:column; align-items:flex-start; gap:10px;}
  .chip{font-size:14px; padding:9px 12px; max-width:92%;}
}

/* === Footer mobile compact social icons === */
@media(max-width:640px){
  footer .social{gap:10px;}
  footer .social a{padding:10px 12px;}
  footer .social a img{height: 34px; width:auto;}
}


/* === Iteration fix: reduce chip outline so it never overlaps соседний чип === */
.chips .chip{
  box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
}
.chips .chip:nth-child(3){
  border: 0 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.22), 0 0 0 2px rgba(210,170,80,0.20) !important;
}



/* === Footer prices button + phone line (requested) === */
.footer-actions{
  margin-left: 95px !important;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top: 10px;
  margin-bottom: 10px;
}
.footer-prices-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 9px 13px;
  border-radius: 16px;
  font-weight: 800;
  font-size: 14px;
  color:#fff;
  background: linear-gradient(135deg,var(--_sand_unused),var(--_sand_unused-2));
  box-shadow: 0 8px 22px rgba(0,0,0,.26);
  border: 1px solid rgba(255,255,255,.10);
  text-decoration:none;
}
.footer-prices-btn:hover{ opacity:.98; transform: translateY(-1px); }
.footer-phone{
  color:#d7d7d7;
  font-size: 14px;
  font-weight: 600;
  opacity: .95;
}

/* Social icons: allow inline SVG to match existing size */
footer .social a svg{
  height: 44px;
  width: 44px;
  color:#fff;
}
@media(max-width:640px){
  footer .social a svg{height: 34px;width: 34px;}
}

/* Mobile alignment */
@media (max-width: 880px) {
  .footer-actions{
    margin-left: 24px !important;
    margin-right: 24px !important;
    justify-content: center;
    text-align: center;
  }
  .project-buttons{
    margin-left: 24px !important;
    margin-right: 24px !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
  }
  .footer-phone{ width:100%; }
}


/* === Modal readability tweaks (requested) === */
.legal-card h3{font-size:24px}
.legal-card{font-size:15px}
.legal-card h4 + p{margin-top:8px}

/* === Footer: center project buttons on mobile/narrow screens (keep desktop as-is) === */
@media (max-width: 1100px){
  footer .project-buttons{
    width: 100% !important;
    justify-content: center !important;
    margin-left: 0 !important;
  }
}


.btn-linkedin{display:block;width:100%;max-width:520px;margin:18px 0 24px;background:#0A66C2;color:#fff;border-radius:14px;padding:14px 18px;font-weight:700;text-align:center}
.btn-linkedin:hover{filter:brightness(1.05)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}


/* === VNISH Global overrides === */
.hero::after{background:linear-gradient(180deg,rgba(0,0,0,.10) 15%, rgba(0,0,0,.75) 100%)}
.hero-overlay{max-width:980px}
.hero-overlay p{white-space:normal}

.chip{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);color:#fff}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:14px;font-weight:800;letter-spacing:.01em;border:1px solid transparent}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}
.btn.btn-linkedin{background:linear-gradient(135deg,#0A66C2,#0b78d4);border:0;color:#fff}
.btn.btn-linkedin:hover{filter:brightness(1.04)}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}

.copy{max-width:980px}
.copy p{margin:0 0 12px;color:#e9edf2}
.copy p:last-child{margin-bottom:0}

footer{background:#120a06;border-top:1px solid var(--line)}
footer .social.small a{padding:0;background:transparent;border:0}
footer .footer-roi{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
footer .roi-title{font-weight:800;color:#cfd6df;margin-bottom:6px}

/* Hide Brand leftovers if present */
.fab{display:none !important}
.project-buttons,.footer-phone,.footer-prices-btn{display:none !important}

/* VIP form: dark skin, keep structure */
.vip-form.lite{background:var(--panel);border:1px solid var(--line);box-shadow:none}
.vip-form label{color:#cfd6df}
.vip-form input,.vip-form select,.vip-form textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);color:#fff}
.vip-form input::placeholder,.vip-form textarea::placeholder{color:rgba(255,255,255,.40)}
.vip-thanks .card{background:var(--panel);color:#fff;border:1px solid var(--line)}
.vip-thanks p{color:var(--muted)}


/* === VNISH v3 tweaks === */
html,body{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif !important}
body, body *{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif !important}
/* Mobile menu stays dark (no white dropdown) */
.burger span{background:rgba(255,255,255,.92) !important}
@media(max-width:980px){
  nav.site.open .menu{background:var(--panel) !important; border-bottom:1px solid var(--line) !important; box-shadow:0 10px 28px rgba(0,0,0,.35) !important}
  nav.site.open .menu a{color:var(--ink) !important; border-top:1px solid rgba(255,255,255,.06) !important}
  nav.site.open .menu a:hover{background:rgba(255,255,255,.06) !important}
}

/* Gallery cards look premium on dark background */
.card{background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.10) !important}
.card .cap{color:#fff !important; font-weight:800 !important}
.grid a.card{display:block}

/* Footer: deep brown */
footer{background:#120a06 !important}


/* === VNISH v4: Hero number emphasis === */
.hero-overlay h1{display:flex;flex-direction:column;gap:6px}
.hero-num{
  display:block;
  font-weight:900;
  letter-spacing:-0.02em;
  font-size:clamp(72px,10vw,148px);
  line-height:0.95;
  text-shadow:0 10px 40px rgba(0,0,0,.55);
}
.hero-line{
  display:block;
  font-weight:800;
  font-size:clamp(18px,2.2vw,26px);
  letter-spacing:0.01em;
  opacity:.98;
  text-shadow:0 6px 26px rgba(0,0,0,.55);
}

.hero-num-sub{
  display:block;
  font-weight:800;
  font-size:clamp(14px,1.6vw,18px);
  letter-spacing:0.02em;
  opacity:.98;
  text-shadow:0 6px 26px rgba(0,0,0,.55);
}


/* === VNISH v5: Typography harmony (Brand-like) === */
html,body{font-size:16px !important; line-height:1.55 !important;}
h1{font-size:clamp(30px,3.6vw,44px) !important; line-height:1.08 !important;}
h2{font-size:20px !important; line-height:1.22 !important; letter-spacing:.01em;}
.lead{font-size:16px !important; line-height:1.6 !important;}
.copy p{font-size:16px !important; line-height:1.65 !important; color:#e7ebf1 !important;}
.menu{font-weight:700 !important;}
.menu a{font-size:15px !important;}

/* === VNISH v5: Hero number 3D cast === */
.hero-overlay h1{gap:10px !important;}
.hero-num{
  position:relative;
  display:inline-block;
  font-weight:900;
  letter-spacing:-0.03em;
  font-size:clamp(86px,11vw,170px);
  line-height:0.90;
  color:transparent;
  background:linear-gradient(180deg,#ffffff 0%, #cfd6df 45%, #8f9aa8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-stroke: 1px rgba(255,255,255,.22);
  text-shadow:
    0 2px 0 rgba(255,255,255,.08),
    0 18px 60px rgba(0,0,0,.62),
    0 0 26px rgba(255,255,255,.10);
  filter: drop-shadow(0 14px 34px rgba(0,0,0,.55));
}
.hero-num::before{
  content:attr(data-text);
  position:absolute;
  inset:0;
  transform:translate(6px,7px);
  color:transparent;
  background:linear-gradient(180deg,rgba(15,18,22,.95) 0%, rgba(8,10,12,.92) 55%, rgba(0,0,0,.88) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-stroke: 1px rgba(0,0,0,.45);
  opacity:.92;
  z-index:-1;
  text-shadow:
    0 10px 28px rgba(0,0,0,.65);
}
.hero-num::after{
  content:'';
  position:absolute;
  left:-10px; right:-10px; top:-18px; bottom:-8px;
  background:radial-gradient(closest-side, rgba(255,255,255,.14), rgba(255,255,255,0) 70%);
  filter: blur(10px);
  z-index:-2;
  pointer-events:none;
}
.hero-line{
  font-weight:800 !important;
  font-size:clamp(18px,2.1vw,26px) !important;
  letter-spacing:.01em !important;
}

/* Footer: ensure deep brown stays */
footer{background:#120a06 !important;}


/* === VNISH v6: Space-grade neon accents === */
:root{
  --neon: #7A2FF7;
  --neon2:#C056FF;
}

/* Navigation: spaceship glow */
.menu a{
  position:relative;
  border:1px solid transparent;
  background:rgba(255,255,255,0.00);
  transition: box-shadow .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.menu a:hover{
  background: linear-gradient(135deg, rgba(122,47,247,.18), rgba(192,86,255,.10));
  border-color: rgba(192,86,255,.28);
  box-shadow: 0 10px 28px rgba(0,0,0,.35), 0 0 0 2px rgba(122,47,247,.12), 0 0 26px rgba(192,86,255,.18);
  transform: translateY(-1px);
}
.menu a:focus-visible{
  outline:none;
  border-color: rgba(192,86,255,.50);
  box-shadow: 0 0 0 3px rgba(122,47,247,.25), 0 0 34px rgba(192,86,255,.22);
}

/* Neon buttons */
.btn-neon{
  box-shadow: 0 12px 34px rgba(0,0,0,.38), 0 0 0 2px rgba(122,47,247,.14), 0 0 34px rgba(192,86,255,.18);
}
.btn-neon:hover{
  box-shadow: 0 16px 44px rgba(0,0,0,.44), 0 0 0 2px rgba(122,47,247,.18), 0 0 46px rgba(192,86,255,.24);
  transform: translateY(-1px);
}

/* Hero number: cast metal + blue ship glow */
@keyframes heroPulse{
  0%{ filter: drop-shadow(0 18px 40px rgba(0,0,0,.58)) drop-shadow(0 0 18px rgba(192,86,255,.10)); }
  50%{ filter: drop-shadow(0 22px 54px rgba(0,0,0,.66)) drop-shadow(0 0 28px rgba(192,86,255,.16)); }
  100%{ filter: drop-shadow(0 18px 40px rgba(0,0,0,.58)) drop-shadow(0 0 18px rgba(192,86,255,.10)); }
}
.hero-num{
  background: linear-gradient(180deg,#ffffff 0%, #dde6f2 38%, #9aa7ba 100%) !important;
  -webkit-text-stroke: 1px rgba(255,255,255,.20) !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.10),
    0 20px 70px rgba(0,0,0,.66),
    0 0 22px rgba(192,86,255,.18),
    0 0 46px rgba(122,47,247,.12) !important;
  animation: heroPulse 1.9s ease-in-out infinite;
}
.hero-num::after{
  content:'';
  position:absolute;
  left:-18px; right:-18px; top:-26px; bottom:-14px;
  background:
    radial-gradient(closest-side, rgba(192,86,255,.24), rgba(192,86,255,0) 72%),
    radial-gradient(closest-side, rgba(122,47,247,.18), rgba(122,47,247,0) 78%);
  filter: blur(12px);
  z-index:-2;
  pointer-events:none;
}


/* === VNISH v12: remove hero haze/veil === */
.hero::before, .hero::after { background: transparent !important; opacity: 0 !important; }
.hero .overlay, .hero .veil, .hero .hero-veil, .hero .hero-dim, .hero .dim, .hero .shade {
  background: transparent !important;
  opacity: 0 !important;
}
.hero { background: transparent !important; }
.hero-slide { filter: none !important; }

/* === VNISH v13 FIX: hero text must be visible (no accidental opacity=0) === */
.hero .hero-overlay{opacity:1 !important; background:transparent !important;}
.hero .hero-overlay *{opacity:1 !important;}
.hero .hero-overlay .chips{display:flex !important;}
.hero .hero-overlay .chip{display:inline-flex !important;}
.hero .hero-overlay .hero-num{display:inline-block !important;}

/* === VNISH v13: spatial 2-photo block === */
.space-cards{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:18px; perspective: 1000px;}
.space-card{border-radius:18px; overflow:hidden; border:1px solid rgba(0,200,255,.18);
  background: radial-gradient(circle at 20% 10%, rgba(0,200,255,.10), rgba(0,0,0,.0));
  box-shadow: 0 0 34px rgba(0,200,255,.12), inset 0 0 18px rgba(0,200,255,.08);
  transform: rotateX(2deg) rotateY(-2deg); transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.space-card img{display:block; width:100%; height:340px; object-fit:cover; transform: scale(1.02); filter: saturate(1.05) contrast(1.05);}
.space-card:hover{transform: translateY(-5px) rotateX(0deg) rotateY(0deg); border-color: rgba(0,200,255,.34); box-shadow: 0 0 50px rgba(0,200,255,.18), inset 0 0 18px rgba(0,200,255,.10);}
@media (max-width: 880px){ .space-cards{grid-template-columns:1fr;} .space-card img{height:260px;} }

/* === VNISH v13: downloads buttons uniform + new design (not Brand) === */
.downloads-grid{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; margin-top:16px;}
.downloads-grid .btn-neon{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:46px; width:100%;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  background: rgba(0,0,0,.38);
  border: 1px solid rgba(0,200,255,.30);
  color: #e9fbff;
  box-shadow: inset 0 0 16px rgba(0,200,255,.10), 0 0 26px rgba(0,200,255,.10);
  position: relative;
}
.downloads-grid .btn-neon::before{
  content:"";
  position:absolute; inset:0;
  border-radius:14px;
  background:
    radial-gradient(circle at 20% 15%, rgba(0,200,255,.18), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  opacity:1;
  pointer-events:none;
}
.downloads-grid .btn-neon:hover{
  border-color: rgba(0,200,255,.45);
  box-shadow: inset 0 0 18px rgba(0,200,255,.14), 0 0 44px rgba(0,200,255,.16);
}
@media (max-width: 980px){ .downloads-grid{grid-template-columns: repeat(2, minmax(0,1fr));} }


/* === VNISH refinement vNext (2026-01-10) === */
/* Goal: colder, quieter, more "infrastructure". Remove visual over-performance without changing layout. */

:root{
  --cyan: #39e9ff;
  --cyan-soft: rgba(57,233,255,.18);
  --cyan-line: rgba(57,233,255,.24);
}

/* Navigation: keep "spaceship panel" but stop jumping and over-glowing */
nav.site{
  background: rgba(6,7,8,.82) !important;
}
.menu a{
  border-radius: 12px !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.menu a:hover{
  transform: none !important;
  background: linear-gradient(135deg, rgba(57,233,255,.12), rgba(122,47,247,.06)) !important;
  border-color: var(--cyan-line) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.38), 0 0 0 1px rgba(57,233,255,.10) !important;
}

/* Hero readability: no "smoke", only a bottom-falloff */
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity: 1 !important;
  background: linear-gradient(180deg, rgba(0,0,0,0) 44%, rgba(0,0,0,.74) 100%) !important;
}

/* Hero number: stop pulsing, reduce neon a bit */
.hero-num{
  animation: none !important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.08),
    0 18px 58px rgba(0,0,0,.66),
    0 0 16px rgba(57,233,255,.12) !important;
}
.hero-num::after{
  left:-14px !important; right:-14px !important; top:-22px !important; bottom:-12px !important;
  background:
    radial-gradient(closest-side, rgba(57,233,255,.18), rgba(57,233,255,0) 72%),
    radial-gradient(closest-side, rgba(122,47,247,.10), rgba(122,47,247,0) 78%) !important;
  filter: blur(12px) !important;
}


/* Hero hierarchy: keep air between number and line */
.hero-overlay h1{ gap: 14px !important; }

/* === VNISH UI: bring back the "26%+" hero punch + premium chips === */

/* Chips: premium glass tags with spaceship-cyan edge */
@keyframes vnishChipGlow {
  0%   { box-shadow: 0 10px 26px rgba(0,0,0,.38), 0 0 0 1px rgba(57,233,255,.10) inset, 0 0 20px rgba(57,233,255,.10); }
  50%  { box-shadow: 0 14px 34px rgba(0,0,0,.44), 0 0 0 1px rgba(14,75,146,.55) inset, 0 0 28px rgba(57,233,255,.16); }
  100% { box-shadow: 0 10px 26px rgba(0,0,0,.38), 0 0 0 1px rgba(57,233,255,.10) inset, 0 0 20px rgba(57,233,255,.10); }
}
.chips .chip{
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(57,233,255,.26) !important;
  color: rgba(245,250,255,.96) !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 900 !important;
  backdrop-filter: saturate(170%) blur(10px) !important;
  animation: vnishChipGlow 3.2s ease-in-out infinite;
  position: relative;
}
.chips .chip::before{
  content:'';
  position:absolute;
  inset:2px;
  border-radius:999px;
  background: radial-gradient(120% 140% at 18% 18%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.06) 38%, rgba(255,255,255,0) 70%);
  pointer-events:none;
  opacity:.95;
}
@media (hover:hover){
  .chips .chip:hover{
    animation: none;
    box-shadow: 0 16px 42px rgba(0,0,0,.48), 0 0 0 1px rgba(14,75,146,.65) inset, 0 0 36px rgba(57,233,255,.22) !important;
    background: rgba(255,255,255,.12) !important;
  }
}

/* === VNISH NAV: make menu look like a ship control bar (different from Brand) === */
.menu a{
  position: relative;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(57,233,255,.10) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)) !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.menu a::before{
  content:'';
  position:absolute;
  left:10px;
  right:10px;
  top:6px;
  height:1px;
  background: linear-gradient(90deg, rgba(57,233,255,0), rgba(57,233,255,.35), rgba(57,233,255,0));
  opacity: .0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.menu a::after{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:6px;
  height:1px;
  background: linear-gradient(90deg, rgba(57,233,255,0), rgba(57,233,255,.55), rgba(57,233,255,0));
  opacity: .14;
  pointer-events:none;
}
.menu a:hover{
  transform: none !important;
  border-color: rgba(57,233,255,.30) !important;
  background: linear-gradient(135deg, rgba(122,47,247,.16), rgba(57,233,255,.08)) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.42), 0 0 0 1px rgba(57,233,255,.12) inset, 0 0 30px rgba(57,233,255,.16) !important;
}
.menu a:hover::before{ opacity:.85; }
.menu a:focus-visible{
  outline: none !important;
  border-color: rgba(57,233,255,.42) !important;
  box-shadow: 0 0 0 3px rgba(57,233,255,.18), 0 0 34px rgba(57,233,255,.22) !important;
}

/* Mobile menu items keep the same panel style */
@media(max-width:980px){
  nav.site.open .menu a{
    border-color: rgba(57,233,255,.10) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)) !important;
  }
  nav.site.open .menu a:hover{
    background: linear-gradient(135deg, rgba(122,47,247,.16), rgba(57,233,255,.08)) !important;
  }
}

/* === VNISH PATCH: remove hero CTAs and upgrade 26%+ to nebula-blue (no white halo) === */
.hero .hero-num{
  animation:none !important;
  color:transparent !important;
  background: linear-gradient(180deg,#b9fbff 0%, #54d8ff 22%, #39a3ff 46%, #2a6bff 72%, #0b2a7a 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-stroke: 0 !important;
  text-shadow:
    0 20px 70px rgba(0,0,0,.70),
    0 0 18px rgba(192,86,255,.35),
    0 0 46px rgba(0,229,255,.18) !important;
  filter: drop-shadow(0 18px 44px rgba(0,0,0,.60)) !important;
}
.hero .hero-num::before{
  /* deep shadow cast behind digits, no light/white tint */
  background: linear-gradient(180deg, rgba(5,10,18,.98) 0%, rgba(0,0,0,.92) 60%, rgba(0,0,0,.88) 100%) !important;
  -webkit-text-stroke: 0 !important;
  opacity:.92 !important;
}
.hero .hero-num::after{
  /* blue nebula glow, explicitly not white */
  background:
    radial-gradient(closest-side, rgba(0,229,255,.26), rgba(0,229,255,0) 70%),
    radial-gradient(closest-side, rgba(192,86,255,.22), rgba(192,86,255,0) 74%),
    radial-gradient(closest-side, rgba(42,107,255,.14), rgba(42,107,255,0) 78%) !important;
  filter: blur(14px) !important;
}

/* === Patch: remove dark backing under hero number === */
.hero-num::before{ display:none !important; }
.hero-num::after{
  left:-14px; right:-14px; top:-20px; bottom:-10px;
  background: radial-gradient(closest-side, rgba(192,86,255,.22), rgba(192,86,255,0) 72%) !important;
  filter: blur(12px) !important;
}


/* === Partners grid tweaks === */
.partners-grid .partner{ cursor:pointer; }
.partners-grid .partner:not(a){ cursor:default; }
.partners-grid .partner img{ aspect-ratio: 16/9; }
.partners-grid .partner .cap{
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.72));
  font-weight: 800;
}


/* === Footer layout: big LinkedIn + dotted divider + ROI ASIC socials (requested) === */
.footer-linkedin-main{ max-width: 560px; }

.footer-divider{ width: 100%; border-top: 2px dotted rgba(255,255,255,.38); margin: 18px 0 16px; }

.roi-socials{ display:flex; flex-wrap:wrap; gap:12px; margin-top:10px; }

footer .roi-socials a{ padding:8px 12px; border-radius:12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.92); font-weight: 700; }
footer .roi-socials a:hover{ background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.18); }

@media(max-width:640px){
  .footer-linkedin-main{max-width:100%;}
  .roi-socials{gap:10px;}
}


/* === PATCH: hero stat inline + larger subtext === */
.hero-overlay h1{display:flex;flex-direction:column;gap:10px}
.hero-stat{
  display:flex;
  align-items:baseline;
  gap:16px;
  flex-wrap:wrap;
}
.hero-num-sub-inline{
  display:inline-block;
  font-weight:900;
  letter-spacing:-0.02em;
  font-size:clamp(26px,3.8vw,65px);
  line-height:0.98;
  color:transparent;
  background:linear-gradient(180deg,#ffffff 0%, #dde6f2 38%, #9aa7ba 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-stroke: 1px rgba(255,255,255,.16);
  text-shadow:
    0 2px 0 rgba(255,255,255,.08),
    0 18px 60px rgba(0,0,0,.62),
    0 0 22px rgba(10,102,194,.10);
}

/* === PATCH: chips - new non-Brand visual (neon modules) === */
.chips{gap:12px}
.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(10,14,26,.78) 0%, rgba(6,7,12,.62) 100%) !important;
  border:1px solid rgba(10,102,194,.28) !important;
  color:#fff !important;
  font-weight:900;
  font-size:12.5px;
  letter-spacing:.09em;
  text-transform:uppercase;
  box-shadow: 0 14px 34px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:saturate(120%) blur(6px);
}
.chip::before{
  content:'';
  width:9px;
  height:9px;
  border-radius:3px;
  background:linear-gradient(135deg, rgba(10,102,194,1), rgba(122,47,247,.90));
  box-shadow: 0 0 18px rgba(10,102,194,.22), 0 0 26px rgba(122,47,247,.18);
}

/* === PATCH: footer brand marks + left note === */
.footer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.brand-mark{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  letter-spacing:.06em;
}
.brand-icon{
  height:44px;
  width:44px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:900;
  background:linear-gradient(135deg, rgba(10,102,194,.95), rgba(11,47,102,.95));
  box-shadow: 0 14px 34px rgba(0,0,0,.45), 0 0 0 2px rgba(255,255,255,.06) inset;
}
.vnish-mark .brand-icon{
  background:linear-gradient(135deg, rgba(10,102,194,.95), rgba(122,47,247,.72));
}
.roi-mark .brand-icon{
  background:linear-gradient(135deg, rgba(11,47,102,.95), rgba(14,75,146,.92));
}
.brand-text{font-size:16px}
.footer-cta{flex:1; display:flex; justify-content:flex-end}
.footer-cta .footer-linkedin-main{margin:0; width:100%; max-width:520px}
.smallnote-left{text-align:left !important; margin-top:18px}

/* Mobile: stack footer rows neatly */
@media(max-width:880px){
  .footer-cta{justify-content:flex-start}
  .brand-icon{height:40px;width:40px;border-radius:12px}
}


/* === VNISH PATCH: chips (brighter, taller, no shadow) === */
.chips{gap:14px !important}
.chip{
  border-radius:18px !important;
  padding:18px 16px !important;
  min-height:84px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  border:0 !important;
  color:#fff !important;
  background:rgba(255,255,255,.10) !important;
}
.chips .chip:nth-child(1){background:linear-gradient(135deg,#7A2FF7,#C056FF) !important}
.chips .chip:nth-child(2){background:linear-gradient(135deg,#0A66C2,#0b78d4) !important}
.chips .chip:nth-child(3){background:linear-gradient(135deg,#18C1FF,#00E5A8) !important}

/* === VNISH PATCH: LinkedIn buttons keep color, add premium gradient shine === */
.btn.btn-linkedin{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0A66C2,#0b78d4) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.38) !important;
}
.btn.btn-linkedin::before{
  content:'';
  position:absolute;
  inset:0;
  background: radial-gradient(120% 140% at 22% 18%, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 56%);
  pointer-events:none;
}

/* === VNISH PATCH: subheads inside combined sections === */
.ms-extra h3, .advantages-extra h3, .impl-downloads h3{
  margin:26px 0 12px;
  font-size:18px;
  font-weight:900;
  letter-spacing:.01em;
}


/* === VNISH PATCH v5: burger icon, hero chips, linkedin gradient, layout sanity === */

/* Burger icon: 2x2 dots (not 3 lines) */
.burger{
  position:relative;
  height:40px;
  width:46px;
}
.burger span{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:2px;
  background: rgba(255,255,255,.92) !important;
  left:auto; right:auto;
  top:auto;
  transition: transform .22s ease, opacity .18s ease;
}
.burger span:nth-child(1){ left:14px; top:12px; }
.burger span:nth-child(2){ left:26px; top:12px; }
.burger span:nth-child(3){ left:14px; top:24px; }
.burger span:nth-child(4){ left:26px; top:24px; }

/* When open - morph into X */
nav.site.open .burger span:nth-child(1){ transform: translate(6px,6px) rotate(45deg) scaleX(3.4); border-radius:999px; }
nav.site.open .burger span:nth-child(2){ opacity:0; }
nav.site.open .burger span:nth-child(3){ opacity:0; }
nav.site.open .burger span:nth-child(4){ transform: translate(-6px,-6px) rotate(-45deg) scaleX(3.4); border-radius:999px; }

/* Ensure burger line-style rules never override dots */
.burger span{ right:auto !important; height:6px !important; }

/* LinkedIn buttons: same color, add deep gradient "sheen" like primary */
.btn.btn-linkedin{
  background: linear-gradient(135deg,#0A66C2,#0b78d4) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.38), 0 0 0 2px rgba(10,102,194,.18), 0 0 34px rgba(10,102,194,.16) !important;
}
.btn.btn-linkedin.btn-neon{
  box-shadow: 0 12px 34px rgba(0,0,0,.38), 0 0 0 2px rgba(10,102,194,.18), 0 0 34px rgba(10,102,194,.16) !important;
}

/* Hero chips: no shadow, 3 blue shades, bigger/tighter type (accent on first) */
.chips{ gap:14px !important; }
.chips .chip{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;

  min-height:92px !important;
  min-width:182px !important;
  padding:14px 16px !important;
  border-radius:18px !important;

  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:none !important;
  text-shadow:none !important;
  backdrop-filter:none !important;
  filter:none !important;

  color:#ffffff !important;
  font-weight:900 !important;
  font-size: 14px !important;
  line-height:1.02 !important;
  letter-spacing:.03em !important;
}
.chips .chip span{
  display:block;
  margin:0;
  padding:0;
}

/* Remove tiny dot artifacts on chips (no pseudo highlights) */
.chips .chip::before,
.chips .chip::after{display:none !important;}

/* Accent hierarchy: chip-1 strongest, then 2, then 3 */
.chips .chip-1{
  background: linear-gradient(180deg, rgba(132,114,72,.92) 0%, rgba(94,78,43,.92) 55%, rgba(54,43,22,.92) 100%), radial-gradient(110% 90% at 18% 10%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 55%), radial-gradient(140% 120% at 85% 15%, rgba(183,154,98,.16) 0%, rgba(183,154,98,0) 60%) !important;
  border-color: rgba(210,170,80,.22) !important;
}
.chips .chip-2{
  background: radial-gradient(140% 160% at 18% 6%, rgba(14,75,146,.34) 0%, rgba(11,47,102,.18) 36%, rgba(255,255,255,.04) 74%), linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.02) 100%) !important;
}
.chips .chip-3{
  background: linear-gradient(135deg, rgba(11,47,102,.92), rgba(7,18,36,.92)) !important;
}

/* Make chip text crisp like primary button */
.chips .chip,
.chips .chip *{
  -webkit-font-smoothing: antialiased;
  text-shadow:none !important;
}

/* Prevent nested containers from creating left offsets in Market share blocks */
.ms-extra .ms-block{ padding:0 !important; }
.ms-extra .ms-block .copy,
.ms-extra .ms-block .lead{ margin-left:0 !important; padding-left:0 !important; }

/* Market share layout: keep ms-extra below buttons with clean spacing */
.ms-extra{ margin-top:26px !important; }
.ms-extra .ms-block + .ms-block{ margin-top:26px !important; }

/* Ensure hero slides always stack correctly */
.hero img.hero-slide{ z-index:0; }
.hero .hero-overlay{ z-index:2; }


/* === VNISH patch: bigger header logo mark (4x area) === */
.logo .logo-mark svg{
  width:60px !important;
  height:60px !important;
}

/* === VNISH patch: remove nested-container left offsets inside Advantages blocks === */
.advantages-extra .adv-inner{
  padding:0 !important;
  margin:0 !important;
}
.advantages-extra .adv-block + .adv-block{
  margin-top:22px;
}

/* === VNISH patch: Implementation presentations grid - prevent "sticking" === */
.impl-downloads{ margin-top:22px; }
.impl-downloads .grid-press{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-top:14px;
}
.impl-downloads .grid-press .btn{
  justify-content:center;
  white-space:nowrap;
}
@media(max-width:1100px){ .impl-downloads .grid-press{ grid-template-columns:repeat(4,1fr);} }
@media(max-width:880px){ .impl-downloads .grid-press{ grid-template-columns:repeat(3,1fr);} }
@media(max-width:680px){ .impl-downloads .grid-press{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:420px){ .impl-downloads .grid-press{ grid-template-columns:1fr;} }



/* ============================
   VNISH PATCH: CHIPS ONLY
   - Center aligned
   - 3 blue shades (Ultramarine / Cobalt / Blue)
   - Bigger text (+50%) + tighter leading
   - New frame border (not Brand-like)
   ============================ */
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  justify-content:center;
  align-items:stretch;
  text-align:center;
}

.chip{
  position:relative;
  min-width: 210px;
  min-height: 132px;
  padding: 18px 18px;
  border-radius: 22px;            /* less "pill", more tech card */
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: none !important;
  background: rgba(0,0,0,.2);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap: 6px;
  letter-spacing: .02em;
}

.chip::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 22px;
  pointer-events:none;
  /* tech frame: inner line + corner accent */
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.08),
    inset 0 0 0 2px rgba(0,0,0,.18);
  background:
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,0) 35%) top left / 60px 60px no-repeat;
  opacity:.9;
}

.chip span{
  color:#fff !important;
  font-weight: 900;
  font-size: 19.5px;             /* +~50% vs ~13 */
  line-height: 1.05;             /* tighter */
  margin: 0;
  padding: 0;
  text-shadow: none !important;
}

/* 3 BLUE SHADES ONLY */
.chip-1{
  background: linear-gradient(180deg, #1b2cff 0%, #0b1a7a 100%) !important; /* Ultramarine accent */
}
.chip-2{
  background: linear-gradient(180deg, #0b5bd6 0%, #06306c 100%) !important; /* Cobalt */
}
.chip-3{
  background: linear-gradient(180deg, #157dff 0%, #083a7a 100%) !important; /* Blue */
}

/* Header VNISH GLOBAL +30% (only text) */
.logo-text{
  font-size: 1.3em !important;
}

/* === VNISH PATCH: hero chips colors (3 blues only), keep typography/layout unchanged === */
.hero .chips .chip{ color:#fff !important; }
.hero .chips .chip:nth-child(1){
  background: linear-gradient(180deg, rgba(132,114,72,.92) 0%, rgba(94,78,43,.92) 55%, rgba(54,43,22,.92) 100%), radial-gradient(110% 90% at 18% 10%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 55%), radial-gradient(140% 120% at 85% 15%, rgba(183,154,98,.16) 0%, rgba(183,154,98,0) 60%) !important;
  border: 1px solid rgba(210,170,80,.22) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
}
.hero .chips .chip:nth-child(2){
  background: radial-gradient(140% 160% at 18% 6%, rgba(14,75,146,.34) 0%, rgba(11,47,102,.18) 36%, rgba(255,255,255,.04) 74%), linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.02) 100%) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
}
.hero .chips .chip:nth-child(3){
  background: linear-gradient(135deg, rgba(11,47,102,.92), rgba(7,18,36,.92)) !important;
  border: 1px solid rgba(120,160,255,.18) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
}

/* === VNISH PATCH 2026-01-13: HERO + CHIPS (requested) === */

/* HERO: +20% height on desktop only */
@media(min-width:981px){
  .hero{height:74vh !important;}
  .hero img{height:74vh !important;}
}

/* HERO subtitle next to 26%+: smaller by ~30% and includes ASIC in HTML */
.hero-num-sub-inline{
  font-size:clamp(10px,1.1vw,13px) !important;
}

/* Chips: keep layout on the left (as originally), not centered */
.hero .chips{
  justify-content:flex-start !important;
  align-items:flex-start !important;
}

/* Chips: remove Brand-like grey outlines.
   Keep a custom (non-grey) tech outline only on the first chip. */
.hero .chip{ border-color:transparent !important; }
.hero .chip-2{ border:0 !important; }
.hero .chip-3{ border:0 !important; }

.hero .chip-1{
  border:1px solid rgba(10,102,194,.55) !important;
  box-shadow: inset 0 0 0 1px rgba(14,75,146,.45) !important;
}


/* === VNISH PATCH: hero text order + spacing (no other layout changes) === */
.hero-sub{margin:0 0 12px;}
.hero-foot{margin:14px 0 0;}

/* === VNISH PATCH: HERO spacing + decentralized line emphasis + remove chip outlines (1&2) === */
.hero .hero-sub{
  font-size: clamp(18px, 2.4vw, 26px) !important;
  font-weight: 800 !important;
  margin-top: 6px !important;
  margin-bottom: 18px !important; /* air before chips */
}
.hero .chips{ margin-top: 6px !important; }
.hero .hero-foot{
  margin-top: 18px !important; /* air after chips */
}
/* Remove Brand-like grey outline on first two chips */
.hero .chips .chip-1,
.hero .chips .chip-2{
  border: 0 !important;
  outline: 0 !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
}
.hero .chips .chip-1::before,
.hero .chips .chip-2::before{
  border: 0 !important;
  outline: 0 !important;
}


/* === HERO CHIPS EDGE GLOW REFLECTION === */
.chips .chip{
  position:relative;
  overflow:hidden;
}

.chips .chip::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(
    135deg,
    rgba(255,255,255,.35) 0%,
    rgba(255,255,255,.18) 18%,
    rgba(255,255,255,.06) 32%,
    rgba(255,255,255,0) 55%
  );
  pointer-events:none;
  mix-blend-mode:screen;
}


/* Logo hookup: show PNG fallback; hide duplicate text if logo image already includes it */
.logo-pic, .brand-logo-pic{display:block}
.logo-pic img{height:26px;width:auto;display:block}
.brand-logo-pic img{height:26px;width:auto;display:block}
.logo .logo-pic + .logo-text{display:none}


/* === VNISH: About mini-carousel (4 slides) === */
.mini-carousel{
  max-width:980px;
  margin-top:22px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  box-shadow:0 14px 46px rgba(0,0,0,.32);
}
#about-carousel{
  max-width:790px;
  margin-left:auto;
  margin-right:auto;
}

.mini-carousel-inner{
  position:relative;
  width:100%;
  aspect-ratio: 14 / 10;
  min-height:260px;
  background: radial-gradient(120% 120% at 50% 20%, rgba(255,255,255,.06) 0%, rgba(0,0,0,.0) 55%), rgba(0,0,0,.35);

}
.mini-carousel-inner img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:0;
  transition: opacity 900ms ease;
}
.mini-carousel-inner img.active{opacity:1}

/* About carousel image: 20% smaller, centered (per request) */
#about-carousel .mini-carousel-inner img{
  object-fit: contain;
  transform: scale(.8);
  transform-origin: center;
}

.mini-caption{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-top:1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(6,7,8,0.05), rgba(6,7,8,0.55));
}
.mini-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12.5px;
  letter-spacing:.01em;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:var(--ink);
}
.mini-dot{
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,.35);
}
.mini-note{
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:650;
}
@media(max-width:640px){
  .mini-carousel-inner{aspect-ratio: 16 / 10;}
  .mini-note{font-size:12.5px}
}

/* === VNISH HEADER (imported) - DO NOT EDIT === */
nav.site{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(6,8,14,.88);
  border-bottom:1px solid rgba(255,255,255,.06);
  backdrop-filter: blur(14px) saturate(160%);
}
nav.site .inner{
  height:132px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

/* Logo */
nav.site .logo{display:flex; align-items:center; gap:16px; min-width:280px}
nav.site .logo-img{height:120px; width:auto; filter: drop-shadow(0 10px 24px rgba(0,0,0,.35))}
@media (max-width:980px){ nav.site .logo{min-width:auto} nav.site .logo-img{height:82px} }

nav.site .logo-fallback{display:none; font-weight:900; letter-spacing:.10em; line-height:1}
nav.site .logo-fallback.sub{font-weight:800; opacity:.86; font-size:.82em; letter-spacing:.32em; margin-top:3px}
body.no-logo nav.site .logo-fallback{display:block}
body.no-logo nav.site .logo-img{display:none}

/* Menu */
nav.site .menu{display:flex; align-items:center; gap:22px; font-weight:650}
nav.site .menu a{
  font-size:16px;
  letter-spacing:.02em;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid transparent;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
nav.site .menu a:hover{
  background:rgba(122,47,247,.08);
  border-color:rgba(122,47,247,.18);
  box-shadow: 0 0 0 2px rgba(122,47,247,.08);
  transform: translateY(-1px);
}

/* CTA */
nav.site .menu a.btn-cta{
  margin-left:10px;
  padding:14px 22px;
  font-weight:800;
  letter-spacing:.02em;
  background: linear-gradient(135deg, #1A57FF 0%, #3A8BFF 55%, #4FE3FF 140%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 52px rgba(30,107,255,.28), 0 0 0 8px rgba(30,107,255,.10);
  white-space:nowrap;
}
nav.site .menu a.btn-cta:hover{
  filter:brightness(1.05);
  box-shadow: 0 22px 68px rgba(30,107,255,.33), 0 0 0 10px rgba(30,107,255,.12);
}

/* Burger */
nav.site .burger{display:none; position:relative; height:42px; width:50px; border:0; background:transparent; cursor:pointer}
nav.site .burger span{position:absolute; left:10px; right:10px; height:2px; background:rgba(245,247,250,.92); border-radius:2px; transition:transform .25s ease, opacity .2s ease, top .25s ease}
nav.site .burger span:nth-child(1){top:14px}
nav.site .burger span:nth-child(2){top:20px}
nav.site .burger span:nth-child(3){top:26px}
nav.site.open .burger span:nth-child(1){top:20px; transform:rotate(45deg)}
nav.site.open .burger span:nth-child(2){opacity:0}
nav.site.open .burger span:nth-child(3){top:20px; transform:rotate(-45deg)}

@media (max-width:980px){
  nav.site .burger{display:block}
  nav.site .menu{display:none}
  nav.site.open .menu{
    display:block;
    position:absolute;
    left:0; right:0;
    top:100%;
    background:rgba(7,10,18,.98);
    border-bottom:1px solid rgba(255,255,255,.06);
    box-shadow: 0 24px 70px rgba(0,0,0,.55);
  }
  nav.site.open .menu a{
    display:block;
    border-radius:0;
    padding:16px var(--pad, 24px);
    border-top:1px solid rgba(255,255,255,.06);
    font-size:16px;
  }
  nav.site.open .menu a.btn-cta{
    margin:0;
    border-radius:0;
    box-shadow:none;
  }
}

/* === VNISH: micro-fixes requested (keep everything else unchanged) === */

/* Give hero text a bit more left "air" on desktop */
.hero-overlay{ left:48px !important; }
@media (max-width:980px){
  .hero-overlay{ left:24px !important; }
}

/* Keep nav labels on one line (fix About Us wrapping) */
nav.site .menu a{ white-space: nowrap; }

/* CTA: make it pop like the blue reference button */
nav.site .menu a.btn-cta{
  background: linear-gradient(135deg,#0A66C2 0%, #0b78d4 100%) !important;
  box-shadow: 0 18px 52px rgba(10,102,194,.28), 0 0 0 8px rgba(10,102,194,.10) !important;
}
nav.site .menu a.btn-cta:hover{
  filter: brightness(1.05);
  box-shadow: 0 22px 68px rgba(10,102,194,.33), 0 0 0 10px rgba(10,102,194,.12) !important;
}

* Burger: premium size, thick bars, confined to button (no page-wide stripes) */
nav.site .burger{
  position: relative !important;
  width: 56px !important;
  height: 46px !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  border-radius: 14px !important;
  z-index: 1001 !important;
}
nav.site .burger span{
  position: absolute !important;
  left: 14px !important;
  right: 14px !important;
  width: auto !important;
  height: 4px !important;
  background: rgba(255,255,255,.92) !important;
  border-radius: 3px !important;
  transition: transform .25s ease, opacity .2s ease, top .25s ease !important;
}
nav.site .burger span:nth-child(1){ top: 14px !important; }
nav.site .burger span:nth-child(2){ top: 21px !important; }
nav.site .burger span:nth-child(3){ top: 28px !important; }
nav.site .burger span:nth-child(4){ display:none !important; }

/* Open state - centered cross */
nav.site.open .burger span:nth-child(1){ top: 21px !important; transform: rotate(45deg) !important; }
nav.site.open .burger span:nth-child(2){ opacity: 0 !important; }
nav.site.open .burger span:nth-child(3){ top: 21px !important; transform: rotate(-45deg) !important; }

/* CTA: never clip text, keep one line */
nav.site .menu a.btn-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:unset !important;
  padding:14px 22px !important;
  line-height:1.2 !important;
  font-size:16px !important;
}

/* Slight CTA shrink before mobile breakpoint, without clipping */
@media (max-width:1180px){
  nav.site .menu a.btn-cta{ padding:12px 18px !important; font-size:15px !important; }
}
@media (max-width:1060px){
  nav.site .menu a.btn-cta{ padding:11px 16px !important; font-size:14px !important; }
}

/* === END VNISH FIX v5 === */

* When viewport gets tighter (before 980), switch to burger so menu never rides over the logo */
@media (max-width:1180px){
  nav.site .burger{ display:block !important; }
  nav.site .menu{ display:none !important; }
  nav.site.open .menu{
    display:block !important;
    position:absolute !important;
    left:0 !important; right:0 !important;
    top:100% !important;
    background:rgba(7,10,18,.98) !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.55) !important;
  }
  nav.site.open .menu a{
    display:block !important;
    padding:16px 24px !important;
    border-top:1px solid rgba(255,255,255,.06) !important;
  }
  nav.site.open .menu a.btn-cta{
    margin:0 !important;
    box-shadow:none !important;
  }
}

/* Ensure header row can't overlap internally */
nav.site .inner{ min-width:0 !important; }
nav.site .logo{ flex:0 0 auto !important; }
nav.site .menu{ min-width:0 !important; }

/* === END VNISH HEADER FIX v7 === */

/* === VNISH HEADER FIX v8 (ONLY: burger breakpoint + no overlap) === */

/* Keep logo away from the viewport edge at all times */
nav.site .container{
  padding-left:24px !important;
  padding-right:24px !important;
}
@media (max-width:640px){
  nav.site .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

/* Desktop: menu stays visible until real mobile breakpoint (980px).
   Prevent overlap by compressing spacing progressively, NOT by early burger */
nav.site .inner{ width:100%; min-width:0; flex-wrap:nowrap; gap:22px; }
nav.site .menu{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
nav.site .menu a{ white-space:nowrap; }

/* Compression zone (keeps everything on one line, avoids riding over the logo) */
@media (max-width:1240px){
  nav.site .menu{ gap:14px; }
  nav.site .menu a{ padding:10px 12px; font-size:15px; }
  nav.site .menu a.btn-cta{ padding:12px 16px; font-size:15px; }
}
@media (max-width:1120px){
  nav.site .menu{ gap:10px; }
  nav.site .menu a{ padding:9px 10px; font-size:14px; }
  nav.site .menu a.btn-cta{ padding:11px 14px; font-size:14px; }
}
@media (max-width:1040px){
  nav.site .menu{ gap:8px; }
  nav.site .menu a{ padding:8px 9px; font-size:13.5px; }
  nav.site .menu a.btn-cta{ padding:10px 12px; font-size:13.5px; }
}

/* Burger ONLY on mobile breakpoint */
@media (min-width:981px){
  nav.site .burger{ display:none !important; }
  nav.site .menu{ display:flex !important; }
}
@media (max-width:980px){
  nav.site .burger{ display:block !important; }
  nav.site .menu{ display:none !important; }

  nav.site.open .menu{
    display:block !important;
    position:absolute !important;
    left:0 !important; right:0 !important;
    top:100% !important;
    background:rgba(7,10,18,.98) !important;
    border-bottom:1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.55) !important;
  }
  nav.site.open .menu a{
    display:block !important;
    padding:16px 24px !important;
    border-top:1px solid rgba(255,255,255,.06) !important;
  }
  nav.site.open .menu a.btn-cta{
    margin:0 !important;
    box-shadow:none !important;
  }
}

/* === END VNISH HEADER FIX v8 === */



/* === Market share block: vnish-like layout + world map insert (VNISH) === */
#market-share .ms-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:start;
  margin-top:26px;
}
#market-share .ms-left{min-width:0}
#market-share .ms-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:var(--muted);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
#market-share .ms-head{
  margin:14px 0 10px;
  font-size:clamp(22px,2.4vw,30px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.01em;
}
#market-share .ms-head-2{
  color:rgba(255,255,255,.72);
  font-weight:900;
}
#market-share .ms-sub{
  margin:0 0 16px;
  color:rgba(255,255,255,.70);
  line-height:1.6;
  font-size:15.5px;
}
#market-share .ms-quote{
  margin-top:16px;
  border-radius:22px;
  padding:22px 22px 18px;
  background:
    radial-gradient(140% 160% at 18% 6%, rgba(14,75,146,.34) 0%, rgba(11,47,102,.18) 36%, rgba(255,255,255,.04) 74%),
    linear-gradient(180deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter: saturate(150%) blur(12px);
  box-shadow: 0 18px 54px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
}
#market-share .ms-quote-k{
  text-transform:uppercase;
  letter-spacing:.10em;
  color:rgba(255,255,255,.65);
  font-weight:900;
  font-size:12px;
  margin-bottom:10px;
}
#market-share .ms-quote-v{
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  margin-bottom:10px;
}
#market-share .ms-quote-s{
  color:rgba(255,255,255,.55);
  font-weight:800;
}

#market-share .ms-map{
  
  display:block;margin:18px auto 0;
  width:80%;
  max-width:820px;
  border-radius:22px;
  overflow:hidden;
  border:0;
  background:transparent;
  box-shadow:none;
}
.ms-map img{
  display:block;
  width:100%;
  height:auto;
  opacity:.98;
  filter:saturate(1.05) contrast(1.02);
}
#market-share .ms-map img{
  width:100%;
  height:auto;
  display:block;
}

/* Right column cards */
#market-share .ms-right{display:grid;gap:14px}
#market-share .ms-card{
  border-radius:22px;
  padding:22px 22px 18px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 54px rgba(0,0,0,.34);
}

/* Requested: the first two cards use dashboard-like grey (not pure black) */
#market-share .ms-card:not(.ms-card-accent){
  background: linear-gradient(180deg, rgba(46,52,61,.92), rgba(29,34,41,.92));
}

#market-share .ms-card-title{
  font-weight:900;
  font-size:16px;
  margin:0 0 14px;
}
#market-share .ms-rows{display:grid;gap:0}
#market-share .ms-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
#market-share .ms-row:first-child{border-top:0}
#market-share .ms-row .k{
  color:rgba(255,255,255,.55);
  font-weight:900;
  font-size:15px;
}
#market-share .ms-row .v{
  color:#fff;
  font-weight:900;
  font-size:16px;
  text-align:right;
}

/* Accent card stays blue/purple */
#market-share .ms-card-accent{
  background: linear-gradient(135deg, rgba(11,47,102,.92), rgba(7,18,36,.92));
  border-color: rgba(120,160,255,.18);
}

/* Mobile */
@media(max-width:980px){
  #market-share .ms-grid{grid-template-columns:1fr;gap:18px}
  #market-share .ms-right{order:2}
  #market-share .ms-map{order:3}
}

#market-share.section{padding-top:40px}


/* Market-share: restored dashboard strip */
.ms-shot{
  margin:66px 0 0;
  position:relative;

  /* Keep layout identical, but allow the glow to exist outside the image */
  overflow:visible;

  /* Smooth premium rounding (match other UI elements) */
  --msr: 26px;
  border-radius: var(--msr);
  isolation:isolate;

  /* Motion only, no size impact */
  transition:
    transform .5s cubic-bezier(.19,1,.22,1),
    filter .5s ease;
}

/* Outer glow underlay - FULL perimeter */
.ms-shot::before{
  content:'';
  position:absolute;
  inset:-18px;
  border-radius: calc(var(--msr) + 18px);
  pointer-events:none;
  z-index:-2;

  background:
    radial-gradient(120% 120% at 50% 50%, rgba(14,75,146,.28) 0%, rgba(14,75,146,0) 70%),
    radial-gradient(110% 140% at 50% 0%, rgba(11,47,102,.18) 0%, rgba(11,47,102,0) 62%);
  filter: blur(8px);
  opacity:.92;
}

/* Subtle glass plate just beneath the dashboard (not affecting visibility) */
.ms-shot::after{
  content:'';
  position:absolute;
  inset:-12px;
  border-radius: calc(var(--msr) + 12px);
  pointer-events:none;
  z-index:-1;

  /* Glass plate + continuous blue/gold perimeter */
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(140% 120% at 20% 18%, rgba(183,154,98,.08) 0%, rgba(183,154,98,0) 62%),
    radial-gradient(140% 120% at 86% 22%, rgba(14,75,146,.10) 0%, rgba(14,75,146,0) 64%);
  box-shadow:
    0 0 0 3px rgba(14,75,146,.70),
    0 0 0 7px rgba(183,154,98,.22),
    inset 0 0 0 1px rgba(255,255,255,.06),
    0 18px 70px rgba(0,0,0,.50);
  opacity:.92;
}

/* The image keeps the rounded corners */
.ms-shot img{
  display:block;
  width:100%;
  height:auto;
  border-radius: var(--msr);
  box-shadow: 0 0 0 1px rgba(14,75,146,.28), inset 0 0 0 1px rgba(183,154,98,.10);
}

/* Hover - a touch more lift + stronger aura */
.ms-shot:hover{
  transform: translateY(-4px);
  filter: saturate(1.04) brightness(1.02);
}
.ms-shot:hover::before{ opacity:1; filter: blur(9px); }
.ms-shot:hover::after{
  opacity: .97;
  box-shadow:
    0 0 0 3px rgba(14,75,146,.78),
    0 0 0 7px rgba(183,154,98,.26),
    inset 0 0 0 1px rgba(255,255,255,.08),
    0 28px 92px rgba(0,0,0,.62);
}



/* === HOTFIX 2026-02-17: Hero chips font smaller (1 step) === */
.hero .chips .chip{ font-size:11px !important; }
@media(max-width:640px){
  .hero .chips .chip{ font-size:10px !important; }
}

/* === HOTFIX: when hero chips stack, force equal widths (avoid first chip shrinking) === */
@media(max-width:780px){
  .hero .chips{ flex-direction:column !important; align-items:stretch !important; }
  .hero .chips .chip{ width:100% !important; max-width:100% !important; }
}


/* === HOTFIX 2026-02-17: Prevent hero number clipping on narrow/short viewports === */
@media(max-width:980px){
  .hero{height:52vh; min-height:520px;}
  .hero img{height:52vh; min-height:520px;}
}
/* When chips stack on very narrow screens, the overlay becomes tall and the top line can be clipped.
   Give the hero a bit more vertical room on small widths only. */
@media(max-width:640px){
  .hero{height:78vh; min-height:820px;}
  .hero img{height:78vh; min-height:820px;}
  .hero-overlay{bottom:22px;}
}
@media(max-width:420px){
  .hero{min-height:900px;}
  .hero img{min-height:900px;}
}
@media(max-width:520px){
  .hero-num{ font-size:clamp(68px,18vw,130px) !important; }
}


/* === Bottom Line refined background === */
.bottom-line {
  background: linear-gradient(
    180deg,
    rgba(14, 20, 28, 0.96) 0%,
    rgba(10, 14, 20, 0.98) 100%
  );
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}


/* === Center world map section === */
.map-wrap, .map-section {
  display: flex;
  justify-content: center;
}

.map-wrap img, .map-section img {
  max-width: 100%;
}

/* === PATCH 2026-02-17: Hero left air + dashboard full visibility + premium hover (ONLY) === */

/* 1) Hero: add a bit more left air on desktop without changing content */
@media (min-width: 981px){
  .hero-overlay{ left: 52px !important; }
}

/* 2) Dashboard: always show full image (no cropping) */
#market-share .ms-shot{
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
}

/* ensure no fixed heights on the dashboard image */
#market-share .ms-shot img{
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: initial !important;
  display: block !important;
}

/* 3) Premium hover: subtle lift + clarity, without hiding any part */
@media (hover:hover){
  #market-share .ms-shot{
    transition: transform .55s cubic-bezier(.19,1,.22,1),
                box-shadow .55s cubic-bezier(.19,1,.22,1),
                filter .55s cubic-bezier(.19,1,.22,1);
    will-change: transform, box-shadow, filter;
  }
  #market-share .ms-shot:hover{
    transform: translateY(-6px);
    filter: brightness(1.03) contrast(1.02);
    box-shadow:
      0 34px 86px rgba(0,0,0,.62),
      0 0 0 1px rgba(255,255,255,.10),
      0 0 44px rgba(20,120,255,.14);
  }
}

/* === PATCH 2026-02-17: ms-cards micro-interaction + hero 26% anti-clip === */

/* Micro-interaction for the three market-share cards (hover + tap) */
#market-share .ms-card{
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
  will-change: transform, box-shadow, filter;
}
@media (hover:hover){
  #market-share .ms-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 26px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.10);
    filter: brightness(1.03) contrast(1.02);
  }
}
/* Tap response on touch devices */
#market-share .ms-card:active{
  transform: translateY(-2px) scale(.995);
  box-shadow: 0 22px 60px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.10);
  filter: brightness(1.02) contrast(1.02);
}

/* Slightly different grey shade for "serious operators" card */
#market-share .ms-card.ms-card-alt{
  background: linear-gradient(180deg,
    rgba(132,114,72,.92) 0%,
    rgba(94,78,43,.92) 55%,
    rgba(54,43,22,.92) 100%
  ),
  radial-gradient(110% 90% at 18% 10%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 55%),
  radial-gradient(140% 120% at 85% 15%, rgba(183,154,98,.16) 0%, rgba(183,154,98,0) 60%) !important;
  border-color: rgba(210,170,80,.22) !important;
}

/* Prevent 26%+ from being clipped at extreme narrow desktop widths (do not shift hero) */
@media (max-width: 980px){
  .hero-num::before{ transform: translate(4px,6px) !important; }
  .hero-num::after{ left:-10px !important; right:-10px !important; top:-18px !important; bottom:-10px !important; }
}
@media (max-width: 760px){
  .hero-num::before{ transform: translate(3px,5px) !important; }
  .hero-num::after{ left:-8px !important; right:-8px !important; top:-14px !important; bottom:-8px !important; }
}





/* === PATCH 2026-02-24: About snapshot CTA integrated + advantages unified image fill (ONLY) === */

/* About snapshot composition: image + CTA as one card */
#about .mini-carousel{overflow:hidden}
#about .mini-carousel-inner{
  display:flex;
  flex-direction:column;
  gap:0;
  border-radius:18px;
  overflow:hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 70px rgba(0,0,0,.48);
  /* override base carousel sizing so the composition hugs the image */
  aspect-ratio: auto;
  min-height: 0;
}
#about .mini-carousel-inner img.mini-slide{
  width:100%;
  height:auto;
  display:block;
  /* override base carousel absolute/opacity rules - use natural image height */
  position: relative;
  inset: auto;
  opacity: 1;
  max-height: none;
  object-fit: unset;
  background: transparent;
}
@media(max-width:980px){
  #about .mini-carousel-inner img.mini-slide{ max-height: none; }
}
@media(max-width:640px){
  #about .mini-carousel-inner img.mini-slide{ max-height: none; }
}

/* CTA bar - premium metallic gold, integrated (no separate card) */
#about .snapshot-cta{
  font-size:clamp(22px, 2.2vw, 34px);
  line-height:1.15;
  padding: 18px 18px;
  font-weight: 900;
  letter-spacing: .01em;
  text-align:center;
  color: #fff;
  background:
    radial-gradient(120% 120% at 18% 12%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 52%),
    radial-gradient(140% 140% at 82% 18%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg, rgba(132,114,72,.92) 0%, rgba(94,78,43,.92) 52%, rgba(54,43,22,.94) 100%);
  border-top: 1px solid rgba(255,255,255,.10);
  text-shadow: 0 10px 26px rgba(0,0,0,.55);
}
@media(max-width:640px){
  #about .snapshot-cta{ padding: 14px 14px; font-size:clamp(22px, 2.2vw, 34px); }
}

/* Advantages - make all 6 look consistent: no stretching, no black edges.
   Use blurred backdrop from the same image, and keep the main image "contain". */
#advantages .grid a.card{
  position:relative;
  background: rgba(0,0,0,.55);
}
#advantages .grid a.card::before{
  content:'';
  position:absolute;
  inset:0;
  background-image: var(--adv-bg);
  background-size: cover;
  background-position: center;
  filter: blur(18px) brightness(.78) saturate(1.05);
  transform: scale(1.14);
  z-index:0;
}
#advantages .grid a.card img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  aspect-ratio:16/9;
  object-fit: contain;
  transform:none !important; /* kill previous per-card scaling */
}
#advantages .grid a.card:hover img{ transform:none !important; }

/* Remove all top labels in these 6 cards only */
#advantages .grid a.card .cap{ display:none !important; }


/* === VNISH: tighter rhythm below "What changes after deployment" === */
#changes.section,
#about.section,
#who.section,
#advantages.section,
#implementation.section,
#community.section,
#contact.section{
  padding: 48px 0 !important;
}
#changes h2, #about h2, #who h2, #advantages h2, #implementation h2, #community h2, #contact h2{
  margin-bottom: 12px !important;
}
#changes .lead, #about .lead, #who .lead, #advantages .lead, #implementation .lead, #community .lead, #contact .lead{
  margin-top: 8px !important;
}
@media(max-width:640px){
  #changes.section,
  #about.section,
  #who.section,
  #advantages.section,
  #implementation.section,
  #community.section,
  #contact.section{
    padding: 38px 0 !important;
  }
}


/* === VNISH: middle-section spacing + snapshot scale (scoped) === */
#about.section, #changes.section, #who.section, #advantages.section{
  padding:64px 0;
}
#about h2, #changes h2, #who h2, #advantages h2{
  margin-bottom:14px;
}
#about .copy p, #changes .copy p, #who .copy p{
  margin-bottom:10px;
}

/* Air before 6 cards so they don't stick to the paragraph above */
#advantages .adv-grid{
  margin-top:26px;
}

/* Snapshot block: reduce occupied area ~25% while keeping centered */
#about .mini-carousel{
  width:100%;
  max-width:clamp(320px, 75%, 860px);
  margin:22px auto 0;
}
#about .mini-carousel-inner{
  width:100%;
}
#about .mini-slide{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

/* Keep CTA readable and aligned */
#about .snapshot-cta{
  text-align:center;
}



/* === vnish-style contact form (VNISH integration, scoped) === */
.vnish-form{
  margin-top:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 60px rgba(0,0,0,.38);

  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.vnish-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  align-items:end;
}
.vnish-field{display:flex;flex-direction:column;gap:8px}
.vnish-label{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  color: rgba(245,247,250,.86);
}
.vnish-input, .vnish-textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--ink);
  padding: 12px 12px;
  font-size: 14.5px;
  outline: none;
}
.vnish-input::placeholder, .vnish-textarea::placeholder{color: rgba(245,247,250,.40)}
.vnish-textarea{resize:none;min-height:110px}
.vnish-span-2{grid-column: span 2}
.vnish-input:focus, .vnish-textarea:focus{
  border-color: rgba(183,154,98,.70);
  box-shadow: 0 0 0 3px rgba(183,154,98,.18);
}
.vnish-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 12px 16px;
  align-items:center;
  margin-top: 14px;
}
.vnish-submit{padding: 12px 18px}

/* Contact form submit: new color + distinct design */
.vnish-submit{
  background: #0E4B92 !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 44px rgba(0,0,0,.42), 0 0 0 2px rgba(0,210,255,.10), 0 0 28px rgba(122,47,247,.16) !important;
  letter-spacing: .01em;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.vnish-submit:hover{
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.vnish-submit:active{transform: translateY(0)}
.vnish-submit:focus-visible{
  outline:none;
  box-shadow: 0 0 0 3px rgba(0,210,255,.20), 0 0 34px rgba(122,47,247,.20);
}

.vnish-note{
  margin:0;
  color: rgba(169,176,186,.92);
  font-size: 13.5px;
  line-height: 1.45;
}
@media(max-width:980px){
  .vnish-grid{grid-template-columns:1fr}
  .vnish-span-2{grid-column:span 1}
}

/* === Patch: About snapshot composition scale (-20% overall) === */
#about-carousel .mini-carousel-inner{
  width:80%;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:720px){
  #about-carousel .mini-carousel-inner{ width:100%; }
}


/* === Patch: Market-share ops image +20% area (approx) === */
#market-share .ms-map{
  width:88%;
  max-width:980px;
}
#market-share .ms-map img{
  width:110%;
  margin-left:-5%;
}
@media(max-width:720px){
  #market-share .ms-map{ width:100%; }
  #market-share .ms-map img{ width:100%; margin-left:0; }
}

/* === VNISH patch: About snapshot must be edge-to-edge (no inner pad/background) === */
#about .mini-carousel{
  width:100%;
  max-width:clamp(320px, 75%, 860px);
  margin:22px auto 0;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:transparent;
  padding:0;
}
#about .mini-carousel-inner{
  position:relative;
  width:100%;
  background:transparent;
  padding:0;
}
#about .mini-slide{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  object-fit:cover;
}
#about .snapshot-cta{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  margin:0;
  padding:18px 20px;
  text-align:center;
  font-weight:900;
  letter-spacing:.01em;
  font-size:clamp(20px,2.4vw,40px);
  line-height:1.12;
  color:#fff;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(6,7,8,.55) 25%, rgba(6,7,8,.88) 100%);
}

/* === Footer: VNISH logo + 3 equal pills === */
.site-footer{
  background:#120a06;
  border-top:1px solid rgba(255,255,255,.08);
  padding:44px 0 28px;
  margin-top:34px;
}
.site-footer .footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.site-footer .footer-logo img{
  
  width:auto;
  display:block;
}

.site-footer .footer-cta{flex:1 1 100%;display:flex;justify-content:center;}
.site-footer .footer-cta a{width:min(860px,100%);} 
.site-footer .footer-pills{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  width:min(860px,100%);
  justify-content:center;
}

.site-footer .footer-pill{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  background:linear-gradient(135deg, rgba(11,47,102,.22), rgba(14,75,146,.18));
  border:1px solid rgba(60,140,220,.35);
  color:var(--ink);
  text-decoration:none;
  transition:transform .18s ease, filter .18s ease, border-color .18s ease;
}
.site-footer .footer-pill:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
  border-color:rgba(60,140,220,.55);
}

.site-footer .footer-docs{
  width:100%;
  max-width: 980px;
  margin: 14px auto 0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.site-footer .footer-doc{
  border:1px solid rgba(60,140,220,.22);
  background: rgba(255,255,255,.02);
  border-radius:18px;
  overflow:hidden;
}
.site-footer .footer-doc > summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 16px;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .01em;
  color: rgba(245,247,250,.92);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.site-footer .footer-doc > summary::-webkit-details-marker{display:none}
.site-footer .footer-doc > summary::after{
  content:'▾';
  font-size: 16px;
  opacity:.75;
  transform: translateY(-1px);
}
.site-footer .footer-doc[open] > summary::after{
  transform: rotate(180deg);
}
.site-footer .footer-doc-body{
  padding: 0 16px 14px 16px;
  color: rgba(169,176,186,.92);
  font-size: 13px;
  line-height: 1.55;
}
.site-footer .footer-doc-body p{margin:10px 0}
.site-footer .footer-doc-body p strong{color:rgba(245,247,250,.88)}
.site-footer .footer-doc-sep{
  height:1px;
  background: rgba(255,255,255,.08);
  margin: 12px 0;
}

.site-footer .footer-bottom{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}
.site-footer .smallnote{
  color:rgba(169,176,186,.85);
  font-size:13px;
}

/* === Floating contact button (Telegram / WhatsApp) === */
.float-contact{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.float-contact-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(60,140,220,.45);
  background:linear-gradient(135deg, rgba(11,47,102,.92), rgba(14,75,146,.92));
  box-shadow:0 18px 44px rgba(0,0,0,.44);
  color:#fff;
  cursor:pointer;
  user-select:none;
}
.float-contact-btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.float-contact-btn:active{ transform:translateY(0); }
.float-contact-btn:focus-visible{
  outline:none;
  box-shadow:0 18px 44px rgba(0,0,0,.44), 0 0 0 3px rgba(60,140,220,.25);
}
.float-contact-icon{
  height:20px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
  opacity:.92;
}
.float-contact-label{
  font-weight:900;
  font-size:14px;
  letter-spacing:.01em;
}
.float-contact-menu{
  display:none;
  min-width:240px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.32);
}
.float-contact.open .float-contact-menu{ display:block; }
.float-contact-item{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:16px 18px;
  font-weight:800;
  color:#0b0d10;
  text-decoration:none;
}
.float-contact-item + .float-contact-item{
  border-top:1px solid rgba(0,0,0,.08);
}
.float-contact-item:hover{
  background:rgba(11,47,102,.08);
}
@media(max-width:640px){
  .float-contact{ right:14px; bottom:14px; }
  .float-contact-btn{ padding:12px 12px; border-radius:16px; }
  .float-contact-label{ display:none; }
  .float-contact-menu{ min-width:210px; }
}

@media(max-width:720px){
  .site-footer .footer-pills{grid-template-columns:1fr}
  .site-footer .footer-logo img{height:48px}
  .site-footer .footer-doc > summary{font-size:14px}
}


/* === PATCH 2026-02-25: VNISH submit button - match coordination layer blue and slightly shorter === */
.vnish-submit{
  background: linear-gradient(135deg, rgba(11,47,102,.92), rgba(7,18,36,.92)) !important;
  border-color: rgba(120,160,255,.18) !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}



/* Footer guard: prevent content from touching edges on narrow/partially resized windows */
footer .container{ padding-left: clamp(16px, 3vw, 28px) !important; padding-right: clamp(16px, 3vw, 28px) !important; }
.footer-row{ flex-wrap:wrap; gap:18px; }
.footer-brand{ min-width:0; }
.brand-logo{ max-width: min(260px, 60vw); height:auto; }




/* === Footer docs: subtle text links (not buttons) === */
.site-footer .footer-docs{
  max-width:1180px;
  margin:10px auto 0;
  flex-direction:row;
  align-items:flex-start;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:18px;
}
.site-footer .footer-doc{
  border:0;
  background:transparent;
  border-radius:0;
  overflow:visible;
}
.site-footer .footer-doc > summary{
  padding:0;
  font-size:14px;
  font-weight:700;
  color:rgba(245,247,250,.86);
  letter-spacing:.01em;
}
.site-footer .footer-doc > summary::after{ content:'' !important; }
.site-footer .footer-doc-body{
  margin-top:10px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  border-radius:14px;
}
@media(max-width:720px){
  .site-footer .footer-docs{gap:14px}
  .site-footer .footer-doc > summary{font-size:13px}
}

/* === Footer logo: keep inside container on narrow windows === */
.site-footer .footer-logo{
  max-width:min(320px, 70vw);
}
.site-footer .footer-logo img{
  max-width:100%;
  height:auto;
}

/* === Footer logo size fix (patch) === */
.site-footer .footer-logo{
  max-width: unset !important;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  min-width: 0;
}
.site-footer .footer-logo img{
  height: 26px !important; /* match top nav logo */
  width: auto !important;
  max-width: 100% !important;
}
@media (max-width: 880px){
  .site-footer .footer-logo{ justify-content: center; }
}
/* === End footer logo size fix (patch) === */



/* === Footer docs: minimal text links centered (override) === */
.site-footer .footer-docs{
  max-width: 980px;
  margin: 18px auto 0;
  display:flex;
  flex-direction:row;
  justify-content:center;
  gap:28px;
  flex-wrap:wrap;
  padding: 0 10px;
}
.site-footer .footer-doc{
  border:0;
  background:transparent;
  border-radius:0;
}
.site-footer .footer-doc summary{
  list-style:none;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  color: rgba(255,255,255,.92);
  padding: 0;
  margin: 0;
}
.site-footer .footer-doc summary::-webkit-details-marker{display:none;}
.site-footer .footer-doc-body{
  margin-top:10px;
  max-width: 820px;
  background: rgba(0,0,0,.42);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 14px 14px 12px;
}
.site-footer .footer-doc-body p{color: rgba(225,232,240,.86); font-size: 13.5px; line-height:1.55; margin: 0 0 10px;}
.site-footer .footer-doc-body p:last-child{margin-bottom:0;}
.site-footer .footer-bottom{margin-top:18px;}

/* Footer logo: stable placement with safer padding on wrap */
.site-footer .footer-logo{flex:0 0 auto;display:flex;align-items:center;}
@media(max-width:900px){
  .site-footer .footer-main{justify-content:center;}
  .site-footer .footer-logo{width:100%;justify-content:center;}
  .site-footer .footer-cta{justify-content:center;}
}



/* === VNISH PATCH v3.1: solid Send request button (no gradient) === */
.btn.primary.vnish-submit,
.vnish-submit{
  background: #0b4a8f !important; /* same family as 'VNISH Global coordination layer' blue */
  background-image: none !important;
}
.btn.primary.vnish-submit:hover,
.vnish-submit:hover{
  background: #0c539d !important;
}

/* === VNISH PATCH v3.1: footer layout cleanup (stable on resize + mobile) === */
.site-footer{
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}
.site-footer .footer-main{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
}
.site-footer .footer-logo{
  padding: 10px 14px !important; /* bigger footprint without enlarging the logo above nav size */
  border-radius: 16px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.site-footer .footer-logo img{
  height: 26px !important;  /* must not exceed top nav logo */
  width: auto !important;
  max-width: 100% !important;
  display:block;
}
.site-footer .footer-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap: 14px !important;
  min-width: min(840px, 100%);
}
.site-footer .footer-pill{
  flex: 1 1 220px !important;
  max-width: 320px !important;
  text-align:center !important;
}
.site-footer .footer-cta{
  width: 100% !important;
  display:flex !important;
  justify-content:center !important;
  margin-top: 8px !important;
}
.site-footer .footer-linkedin-main{
  width: min(920px, 100%) !important;
}

/* docs - centered, subtle, never touching bottom */
.site-footer .footer-docs{
  margin: 18px auto 0 !important;
  padding: 0 12px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap: 28px !important;
  flex-wrap:wrap !important;
}
.site-footer .footer-doc{
  max-width: 340px !important;
}
.site-footer .footer-bottom{
  margin-top: 16px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}
.site-footer .footer-bottom .smallnote{
  text-align:center !important;
  margin: 0 auto !important;
  padding: 0 10px !important;
  max-width: 980px !important;
}

/* narrow windows */
@media (max-width: 720px){
  .site-footer .footer-pills{min-width:0}
  .site-footer .footer-pill{flex: 1 1 260px !important;}
  .site-footer .footer-doc{max-width: 100% !important;}
}
