/* Public pages + mascot design layer */
/* Public overflow guards */
html,
body{
  overflow-x:clip;
}

@supports not (overflow-x: clip){
  html,
  body{
    overflow-x:hidden;
  }
}

.kg-public-page,
.kg-error-page,
.kg-maintenance-page{
  max-width:100%;
  overflow-x:clip;
}

.kg-public-page *,
.kg-public-page *::before,
.kg-public-page *::after,
.kg-error-page *,
.kg-error-page *::before,
.kg-error-page *::after,
.kg-maintenance-page *,
.kg-maintenance-page *::before,
.kg-maintenance-page *::after{
  box-sizing:border-box;
  min-width:0;
}

.kg-public-page img,
.kg-error-page img,
.kg-maintenance-page img{
  max-width:100%;
}


/* Full-page neutral background for public pages.
   The gradient is applied to the body, not to a cropped container, so it does not end sharply. */
@supports selector(body:has(.kg-public-page)){
  body:has(.kg-public-page),
  body:has(.kg-error-page){
    background:
      radial-gradient(circle at 12% 4rem, rgba(9,105,218,.10), transparent 24rem),
      radial-gradient(circle at 88% 8rem, rgba(111,125,187,.11), transparent 26rem),
      linear-gradient(180deg, #f7f9fc 0%, #ffffff 44%, #f6f8fb 100%) !important;
    background-attachment:fixed;
  }

  [data-bs-theme="dark"] body:has(.kg-public-page),
  [data-bs-theme="dark"] body:has(.kg-error-page){
    background:
      radial-gradient(circle at 12% 4rem, rgba(88,166,255,.10), transparent 24rem),
      radial-gradient(circle at 88% 8rem, rgba(141,163,255,.10), transparent 26rem),
      linear-gradient(180deg, #0d1117 0%, #111827 48%, #0d1117 100%) !important;
    background-attachment:fixed;
  }
}

.kg-maintenance-body{
  background:
    radial-gradient(circle at 12% 4rem, rgba(9,105,218,.10), transparent 24rem),
    radial-gradient(circle at 88% 8rem, rgba(111,125,187,.11), transparent 26rem),
    linear-gradient(180deg, #f7f9fc 0%, #ffffff 44%, #f6f8fb 100%) !important;
  background-attachment:fixed;
}

[data-bs-theme="dark"] .kg-maintenance-body{
  background:
    radial-gradient(circle at 12% 4rem, rgba(88,166,255,.10), transparent 24rem),
    radial-gradient(circle at 88% 8rem, rgba(141,163,255,.10), transparent 26rem),
    linear-gradient(180deg, #0d1117 0%, #111827 48%, #0d1117 100%) !important;
  background-attachment:fixed;
}

.kg-public-page,
.kg-error-page,
.kg-maintenance-page{
  --kgp-ink:#1f2328;
  --kgp-muted:#57606a;
  --kgp-paper:#f8fafc;
  --kgp-paper-2:#edf2f8;
  --kgp-panel:#ffffff;
  --kgp-border:rgba(69, 86, 112, .16);
  --kgp-border-strong:rgba(69, 86, 112, .28);
  --kgp-accent:#0969da;
  --kgp-accent-2:#365a8c;
  --kgp-accent-soft:rgba(9,105,218,.08);
  --kgp-gold:#6f7dbb;
  --kgp-sage:#4f8f88;
  --kgp-radius:1.4rem;
  --kgp-radius-sm:.95rem;
  --kgp-shadow:0 1.1rem 3.2rem rgba(31,35,40,.10);
  --kgp-shadow-soft:0 .55rem 1.45rem rgba(31,35,40,.065);
  color:var(--kgp-ink);
  position:relative;
  isolation:isolate;
}

[data-bs-theme="dark"] .kg-public-page,
[data-bs-theme="dark"] .kg-error-page,
[data-bs-theme="dark"] .kg-maintenance-page{
  --kgp-ink:#f0f3f6;
  --kgp-muted:#9aa4b2;
  --kgp-paper:#0f172a;
  --kgp-paper-2:#111827;
  --kgp-panel:#161b22;
  --kgp-border:rgba(99,122,198,.12);
  --kgp-border-strong:rgba(141,163,255,.24);
  --kgp-accent:#58a6ff;
  --kgp-accent-2:#6f7dbb;
  --kgp-accent-soft:rgba(88,166,255,.12);
  --kgp-shadow:0 1.1rem 3rem rgba(0,0,0,.38);
  --kgp-shadow-soft:0 .55rem 1.4rem rgba(0,0,0,.26);
}

.kg-public-page::before,
.kg-error-page::before,
.kg-maintenance-page::before{
  content:none;
}

.kg-public-hero,
.kg-error-page,
.kg-maintenance-page{
  padding:clamp(1.4rem, 3.4vw, 3.8rem) 0 clamp(1.2rem, 2.4vw, 2.4rem);
}

.kg-public-section{
  padding:clamp(1.45rem, 3.2vw, 2.7rem) 0;
}

.kg-public-section-tight{
  padding:clamp(1rem, 2.3vw, 1.9rem) 0;
}

.kg-hero-grid,
.kg-split-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.07fr) minmax(330px, .93fr);
  gap:clamp(1.4rem, 4vw, 4rem);
  align-items:center;
}

.kg-split-grid-reverse{
  grid-template-columns:minmax(330px, .88fr) minmax(0, 1.12fr);
}


.kg-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  padding:.36rem .68rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:999px;
  color:var(--kgp-accent-2);
  background:linear-gradient(180deg, rgba(248,250,252,.94), rgba(237,242,248,.72));
  font-size:.83rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
}

[data-bs-theme="dark"] .kg-eyebrow{
  background:linear-gradient(180deg, rgba(15,23,42,.90), rgba(22,27,34,.84));
}

.kg-title{
  max-width:880px;
  margin:0;
  letter-spacing:-.052em;
  line-height:1.02;
  font-size:clamp(2.25rem, 5.7vw, 5rem);
}

.kg-title .kg-title-mark{
  color:var(--kgp-accent-2);
  white-space:normal;
  overflow-wrap:anywhere;
}

.kg-lead{
  max-width:760px;
  color:var(--kgp-muted);
  font-size:clamp(1rem, 1.55vw, 1.18rem);
  line-height:1.62;
}

.kg-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:1.5rem;
  margin-bottom:1.1rem;
}

.kg-section-heading-main{
  max-width:830px;
}

.kg-section-title{
  letter-spacing:-.03em;
  line-height:1.08;
  font-size:clamp(1.55rem, 3vw, 2.45rem);
}

.kg-section-lead{
  max-width:760px;
  color:var(--kgp-muted);
  line-height:1.62;
}

.kg-section-line{
  min-width:8rem;
  height:1px;
  flex:1 1 auto;
  background:linear-gradient(90deg, var(--kgp-border-strong), rgba(69,86,112,0));
}

.kg-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.72rem;
}

.kg-main-cta-actions .btn{
  width:min(100%, 15rem);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.kg-public-page .btn-primary,
.kg-error-page .btn-primary,
.kg-maintenance-page .btn-primary{
  --bs-btn-bg:#0969da;
  --bs-btn-border-color:#0969da;
  --bs-btn-hover-bg:#0759ba;
  --bs-btn-hover-border-color:#0759ba;
  --bs-btn-active-bg:#064f9f;
  --bs-btn-active-border-color:#064f9f;
  box-shadow:0 .5rem 1.25rem rgba(9,105,218,.16);
}

.kg-hero-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.72rem;
  max-width:760px;
  margin-top:1.15rem;
}

.kg-stat-card{
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.78);
  padding:.85rem .92rem;
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
}

[data-bs-theme="dark"] .kg-stat-card{
  background:rgba(22,27,34,.78);
}

.kg-stat-card strong{
  display:block;
  font-size:1.2rem;
  line-height:1.1;
}

.kg-stat-card span{
  display:block;
  color:var(--kgp-muted);
  font-size:.82rem;
  margin-top:.18rem;
}

.kg-mascot-stage{
  position:relative;
  min-height:clamp(22rem, 42vw, 35rem);
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(248,250,252,.92), rgba(255,255,255,.68)),
    radial-gradient(circle at 75% 18%, rgba(99,122,198,.16), transparent 16rem),
    radial-gradient(circle at 18% 72%, rgba(9,105,218,.12), transparent 14rem);
  box-shadow:var(--kgp-shadow);
}

[data-bs-theme="dark"] .kg-mascot-stage{
  background:
    linear-gradient(120deg, rgba(15,23,42,.88), rgba(22,27,34,.74)),
    radial-gradient(circle at 75% 18%, rgba(99,122,198,.12), transparent 16rem),
    radial-gradient(circle at 18% 72%, rgba(88,166,255,.12), transparent 14rem);
}

.kg-mascot-stage::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.36;
  background-image:
    linear-gradient(var(--kgp-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--kgp-border) 1px, transparent 1px);
  background-size:2.1rem 2.1rem;
  mask-image:radial-gradient(circle at 64% 48%, #000 0, transparent 72%);
}

.kg-mascot-img{
  position:absolute;
  z-index:3;
  right:clamp(.15rem, 2vw, 1.15rem);
  bottom:-.35rem;
  max-width:min(78%, 28rem);
  max-height:94%;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 1.2rem 1.2rem rgba(31,35,40,.18));
}

.kg-mascot-img-left{
  right:auto;
  left:clamp(.35rem, 2vw, 1.6rem);
}

.kg-mascot-img-center{
  right:50%;
  transform:translateX(50%);
}

.kg-mascot-bubble{
  position:absolute;
  z-index:4;
  max-width:min(17rem, 64%);
  left:clamp(1rem, 3vw, 2rem);
  top:clamp(1rem, 2.6vw, 2rem);
  border:1px solid var(--kgp-border-strong);
  border-radius:1.1rem;
  background:rgba(255,255,255,.86);
  padding:.85rem .95rem;
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
}

[data-bs-theme="dark"] .kg-mascot-bubble{
  background:rgba(22,27,34,.86);
}

.kg-mascot-bubble strong{
  display:block;
  margin-bottom:.25rem;
}

.kg-mascot-bubble span{
  display:block;
  color:var(--kgp-muted);
  font-size:.88rem;
  line-height:1.4;
}



.kg-route-line{
  position:absolute;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(9,105,218,.18), rgba(54,90,140,.38));
  transform-origin:left center;
}

.kg-route-line-a{ left:11%; top:56%; width:38%; transform:rotate(-15deg); }
.kg-route-line-b{ left:40%; top:47%; width:32%; transform:rotate(22deg); }
.kg-route-line-c{ left:21%; top:72%; width:49%; transform:rotate(-4deg); }

.kg-route-node{
  position:absolute;
  width:.78rem;
  height:.78rem;
  border-radius:999px;
  background:var(--kgp-accent);
  box-shadow:0 0 0 .45rem rgba(9,105,218,.11);
}

.kg-route-node-a{ left:10%; top:54%; }
.kg-route-node-b{ left:47%; top:43%; background:var(--kgp-gold); box-shadow:0 0 0 .45rem rgba(99,122,198,.12); }
.kg-route-node-c{ left:70%; top:58%; background:var(--kgp-sage); box-shadow:0 0 0 .45rem rgba(79,143,136,.14); }
.kg-route-node-d{ left:20%; top:70%; background:var(--kgp-accent-2); box-shadow:0 0 0 .45rem rgba(54,90,140,.12); }

.kg-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.kg-card-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kg-public-card{
  position:relative;
  height:100%;
  border:1px solid var(--kgp-border);
  border-radius:var(--kgp-radius-sm);
  background:var(--kgp-panel);
  padding:1.05rem;
  box-shadow:0 1px 0 rgba(31,35,40,.03);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kg-public-card:hover{
  transform:translateY(-2px);
  border-color:var(--kgp-border-strong);
  box-shadow:var(--kgp-shadow-soft);
}

.kg-card-icon{
  width:2.35rem;
  height:2.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:.82rem;
  color:var(--kgp-accent-2);
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(237,242,248,.82));
  margin-bottom:.78rem;
}

[data-bs-theme="dark"] .kg-card-icon{
  background:rgba(15,23,42,.72);
}

.kg-public-card h3,
.kg-public-card h2{
  letter-spacing:-.015em;
}

.kg-public-card p,
.kg-public-card .small-muted{
  color:var(--kgp-muted);
}

.kg-knowledge-panel{
  position:relative;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 14% 20%, rgba(99,122,198,.12), transparent 18rem),
    linear-gradient(180deg, rgba(248,250,252,.92), var(--kgp-panel));
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
  padding:clamp(1rem, 2.6vw, 1.65rem);
}

[data-bs-theme="dark"] .kg-knowledge-panel{
  background:
    radial-gradient(circle at 14% 20%, rgba(141,163,255,.08), transparent 18rem),
    linear-gradient(180deg, rgba(15,23,42,.64), var(--kgp-panel));
}

.kg-knowledge-layout{
  display:grid;
  grid-template-columns:minmax(16rem, .72fr) minmax(0, 1.28fr);
  gap:clamp(1rem, 3vw, 2rem);
  align-items:center;
}

.kg-knowledge-visual{
  position:relative;
  min-height:21rem;
}

.kg-knowledge-visual img{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:.2rem;
  transform:translateX(-50%);
  max-width:min(92%, 24rem);
  max-height:20rem;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
}

.kg-knowledge-orbit{
  position:absolute;
  inset:12% 5% 16%;
  z-index:1;
  border:1px dashed var(--kgp-border-strong);
  border-radius:50%;
  opacity:.72;
}

.kg-flow-chain{
  display:grid;
  gap:.72rem;
}

.kg-flow-node{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:.78rem;
  align-items:start;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.72);
  padding:.82rem .9rem;
}

[data-bs-theme="dark"] .kg-flow-node{
  background:rgba(13,17,23,.25);
}

.kg-flow-node:not(:last-child)::after{
  content:"";
  position:absolute;
  left:1.44rem;
  top:calc(100% - .05rem);
  width:2px;
  height:.82rem;
  background:linear-gradient(var(--kgp-border-strong), transparent);
}

.kg-flow-num{
  width:1.7rem;
  height:1.7rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--kgp-accent-2);
  color:#fff;
  font-size:.78rem;
  font-weight:800;
}

.kg-badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.kg-soft-badge,
.kg-template-btn,
.kg-eyebrow,
.kg-public-card a,
.kg-contact-form-card .form-text{
  max-width:100%;
  overflow-wrap:anywhere;
}

.kg-channel-card a,
.kg-badge-row a{
  word-break:break-word;
}

.kg-soft-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  color:var(--kgp-muted);
  background:rgba(255,255,255,.64);
  padding:.38rem .58rem;
  font-size:.82rem;
  line-height:1;
}

[data-bs-theme="dark"] .kg-soft-badge{
  background:rgba(13,17,23,.25);
}

.kg-mascot-state-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.kg-state-card{
  overflow:hidden;
  padding:0;
}

.kg-state-card-visual{
  position:relative;
  min-height:10.6rem;
  background:
    radial-gradient(circle at 64% 26%, rgba(99,122,198,.12), transparent 9rem),
    linear-gradient(180deg, rgba(248,250,252,.92), rgba(237,242,248,.42));
  border-bottom:1px solid var(--kgp-border);
}

[data-bs-theme="dark"] .kg-state-card-visual{
  background:
    radial-gradient(circle at 64% 26%, rgba(141,163,255,.12), transparent 9rem),
    linear-gradient(180deg, rgba(15,23,42,.78), rgba(22,27,34,.30));
}

.kg-state-card-visual img{
  position:absolute;
  right:.45rem;
  bottom:-.3rem;
  max-height:10.2rem;
  max-width:80%;
  filter:drop-shadow(0 .65rem .65rem rgba(31,35,40,.16));
}

.kg-state-card-body{
  padding:1rem;
}

.kg-showcase-panel{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:linear-gradient(135deg, rgba(9,105,218,.08), rgba(99,122,198,.12)), var(--kgp-panel);
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
}

.kg-showcase-inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(18rem, .72fr);
  gap:1.3rem;
  align-items:center;
  padding:clamp(1rem, 3vw, 1.7rem);
}

.kg-showcase-img{
  position:relative;
  min-height:18rem;
}

.kg-showcase-img img{
  position:absolute;
  right:0;
  bottom:-.45rem;
  max-width:100%;
  max-height:19rem;
  filter:drop-shadow(0 1rem .9rem rgba(31,35,40,.16));
}

.kg-process-steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.kg-process-step{
  border:1px solid var(--kgp-border);
  border-radius:var(--kgp-radius-sm);
  background:var(--kgp-panel);
  padding:1rem;
}

.kg-process-step .kg-flow-num{
  margin-bottom:.72rem;
}

.kg-final-panel{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 87% 22%, rgba(99,122,198,.14), transparent 15rem),
    linear-gradient(135deg, var(--kgp-panel), rgba(237,242,248,.74));
  padding:clamp(1rem, 3vw, 1.55rem);
  box-shadow:var(--kgp-shadow-soft);
}

[data-bs-theme="dark"] .kg-final-panel{
  background:
    radial-gradient(circle at 87% 22%, rgba(141,163,255,.10), transparent 15rem),
    linear-gradient(135deg, var(--kgp-panel), rgba(15,23,42,.55));
}

/* About page accents */
.kg-principle-list{
  display:grid;
  gap:.75rem;
}

.kg-principle-item{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  padding:.85rem;
  background:rgba(255,255,255,.66);
}

[data-bs-theme="dark"] .kg-principle-item{
  background:rgba(13,17,23,.24);
}

.kg-principle-item i{
  color:var(--kgp-accent-2);
}

.kg-about-museum-stage .kg-mascot-img{
  max-width:min(72%, 24rem);
}

/* Contact page */
.kg-contact-cooperation-notice{
  border:1px solid var(--kgp-border-strong);
  border-radius:1.15rem;
  background:rgba(248,250,252,.78);
  padding:1rem;
  box-shadow:var(--kgp-shadow-soft);
}

[data-bs-theme="dark"] .kg-contact-cooperation-notice{
  background:rgba(22,27,34,.68);
}

.kg-contact-icon{
  width:2.35rem;
  height:2.35rem;
  flex:0 0 2.35rem;
  display:grid;
  place-items:center;
  border-radius:.9rem;
  color:var(--kgp-accent-2);
  background:rgba(99,122,198,.12);
}

.kg-contact-template-description{
  min-height:1.25rem;
}

.kg-contact-hub{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(330px, 1.08fr);
  gap:clamp(1.2rem, 3vw, 2rem);
  align-items:stretch;
}

.kg-contact-mascot-card,
.kg-contact-form-card{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:var(--kgp-panel);
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
}

.kg-contact-mascot-card{
  position:relative;
  min-height:33rem;
  background:
    radial-gradient(circle at 67% 20%, rgba(99,122,198,.14), transparent 16rem),
    linear-gradient(180deg, rgba(248,250,252,.90), rgba(255,255,255,.70));
}

[data-bs-theme="dark"] .kg-contact-mascot-card{
  background:
    radial-gradient(circle at 67% 20%, rgba(141,163,255,.12), transparent 16rem),
    linear-gradient(180deg, rgba(15,23,42,.74), rgba(22,27,34,.72));
}

.kg-contact-mascot-card img{
  position:absolute;
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%, -50%);
  max-width:min(86%, 25rem);
  max-height:29rem;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
}


.kg-contact-form-card{
  padding:clamp(1rem, 2.2vw, 1.3rem);
}

.kg-contact-form-card .form-control,
.kg-contact-form-card .form-select{
  border-color:var(--kgp-border);
  border-radius:.9rem;
}

.kg-contact-form-card .form-control:focus,
.kg-contact-form-card .form-select:focus{
  border-color:rgba(9,105,218,.45);
  box-shadow:0 0 0 .2rem rgba(9,105,218,.12);
}

.kg-template-row{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.kg-template-btn{
  border:1px solid var(--kgp-border);
  border-radius:999px;
  background:transparent;
  color:var(--kgp-muted);
  padding:.34rem .58rem;
  font-size:.82rem;
}

.kg-template-btn:hover{
  border-color:var(--kgp-border-strong);
  color:var(--kgp-accent-2);
  background:rgba(99,122,198,.08);
}

.kg-channel-card{
  display:flex;
  gap:.9rem;
}

.kg-channel-card .kg-card-icon{
  margin-bottom:0;
  flex:0 0 auto;
}


/* Errors */
.kg-error-page{
  min-height:calc(100vh - 12rem);
  display:flex;
  align-items:center;
}

.kg-error-shell{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, .82fr);
  gap:clamp(1.2rem, 4vw, 3rem);
  align-items:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:linear-gradient(135deg, rgba(248,250,252,.86), rgba(255,255,255,.76));
  box-shadow:var(--kgp-shadow);
  overflow:hidden;
  padding:clamp(1.1rem, 3vw, 2rem);
}

[data-bs-theme="dark"] .kg-error-shell{
  background:linear-gradient(135deg, rgba(15,23,42,.72), rgba(22,27,34,.78));
}

.kg-error-main{
  position:relative;
  z-index:2;
}

.kg-error-kicker,
.kg-maintenance-kicker{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  color:var(--kgp-accent-2);
  font-weight:800;
  font-size:.86rem;
  margin-bottom:1rem;
}

.kg-error-code,
.kg-maintenance-code{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:999px;
  padding:.28rem .54rem;
  background:rgba(255,255,255,.64);
}

[data-bs-theme="dark"] .kg-error-code,
[data-bs-theme="dark"] .kg-maintenance-code{
  background:rgba(13,17,23,.22);
}

.kg-error-dot,
.kg-maintenance-status-dot{
  width:.52rem;
  height:.52rem;
  border-radius:999px;
  background:var(--kgp-gold);
  box-shadow:0 0 0 .32rem rgba(99,122,198,.13);
}

.kg-error-title,
.kg-maintenance-title{
  max-width:720px;
  margin:0 0 .8rem;
  letter-spacing:-.045em;
  line-height:1.03;
  font-size:clamp(2rem, 4.5vw, 4.2rem);
}

.kg-error-message,
.kg-maintenance-message{
  max-width:690px;
  color:var(--kgp-muted);
  font-size:clamp(1rem, 1.35vw, 1.12rem);
  line-height:1.62;
  margin-bottom:1rem;
}

.kg-error-hint,
.kg-maintenance-note,
.kg-maintenance-retry{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  max-width:720px;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  padding:.85rem .95rem;
  color:var(--kgp-muted);
  background:rgba(255,255,255,.62);
}

[data-bs-theme="dark"] .kg-error-hint,
[data-bs-theme="dark"] .kg-maintenance-note,
[data-bs-theme="dark"] .kg-maintenance-retry{
  background:rgba(13,17,23,.22);
}

.kg-error-hint i,
.kg-maintenance-note i,
.kg-maintenance-retry i{
  color:var(--kgp-accent-2);
  flex:0 0 auto;
}

.kg-error-actions,
.kg-maintenance-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.1rem;
}

.kg-error-meta,
.kg-maintenance-meta{
  display:flex;
  margin-top:1rem;
}

.kg-error-meta-item,
.kg-maintenance-meta span{
  display:inline-flex;
  gap:.4rem;
  align-items:center;
  min-width:0;
  max-width:100%;
  color:var(--kgp-muted);
  border:1px solid var(--kgp-border);
  border-radius:999px;
  padding:.35rem .58rem;
  font-size:.82rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kg-error-visual{
  position:relative;
  min-height:30rem;
  border:1px solid var(--kgp-border);
  border-radius:calc(var(--kgp-radius) - .15rem);
  background:
    radial-gradient(circle at 73% 18%, rgba(99,122,198,.16), transparent 14rem),
    radial-gradient(circle at 17% 80%, rgba(9,105,218,.10), transparent 13rem),
    linear-gradient(180deg, rgba(248,250,252,.74), rgba(255,255,255,.48));
  overflow:hidden;
}

[data-bs-theme="dark"] .kg-error-visual{
  background:
    radial-gradient(circle at 73% 18%, rgba(141,163,255,.10), transparent 14rem),
    radial-gradient(circle at 17% 80%, rgba(88,166,255,.09), transparent 13rem),
    linear-gradient(180deg, rgba(15,23,42,.55), rgba(22,27,34,.48));
}

.kg-error-visual::before,
.kg-maintenance-visual::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.34;
  background-image:
    linear-gradient(var(--kgp-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--kgp-border) 1px, transparent 1px);
  background-size:2.1rem 2.1rem;
}

.kg-error-mascot{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:-.15rem;
  transform:translateX(-50%);
  max-width:88%;
  max-height:28rem;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.20));
}

.kg-error-route{
  position:absolute;
  inset:10% 8% 18%;
  z-index:1;
}

.kg-error-route .kg-route-line-a{ top:35%; }
.kg-error-route .kg-route-line-b{ top:62%; }
.kg-error-route .kg-route-line-c{ top:78%; }

.kg-error-caption{
  position:absolute;
  z-index:4;
  left:1rem;
  right:1rem;
  bottom:1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--kgp-muted);
  padding:.55rem .75rem;
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
  font-size:.86rem;
}

[data-bs-theme="dark"] .kg-error-caption{
  background:rgba(22,27,34,.82);
}

.kg-error-icon-mobile{
  display:none;
}

/* Maintenance standalone page */
.kg-maintenance-body{
  min-height:100vh;
  margin:0;
  background:#fff;
}

[data-bs-theme="dark"] .kg-maintenance-body{
  background:#0d1117;
}

.kg-maintenance-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem, 3vw, 2rem);
}

.kg-maintenance-shell{
  width:min(1120px, 100%);
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(300px, .78fr);
  gap:clamp(1.2rem, 4vw, 3rem);
  align-items:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:linear-gradient(135deg, rgba(248,250,252,.88), rgba(255,255,255,.80));
  box-shadow:var(--kgp-shadow);
  overflow:hidden;
  padding:clamp(1.1rem, 3vw, 2rem);
}

[data-bs-theme="dark"] .kg-maintenance-shell{
  background:linear-gradient(135deg, rgba(15,23,42,.76), rgba(22,27,34,.82));
}

.kg-maintenance-content{
  position:relative;
  z-index:2;
}

.kg-maintenance-visual{
  position:relative;
  min-height:27rem;
  border:1px solid var(--kgp-border);
  border-radius:calc(var(--kgp-radius) - .15rem);
  background:
    radial-gradient(circle at 54% 30%, rgba(99,122,198,.15), transparent 15rem),
    linear-gradient(180deg, rgba(248,250,252,.82), rgba(255,255,255,.54));
  overflow:hidden;
}

[data-bs-theme="dark"] .kg-maintenance-visual{
  background:
    radial-gradient(circle at 54% 30%, rgba(141,163,255,.12), transparent 15rem),
    linear-gradient(180deg, rgba(15,23,42,.55), rgba(22,27,34,.54));
}

.kg-maintenance-mascot{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:.35rem;
  transform:translateX(-50%);
  max-width:92%;
  max-height:24rem;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.20));
}

.kg-maintenance-label{
  position:absolute;
  z-index:4;
  left:1rem;
  right:1rem;
  top:1rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:1rem;
  background:rgba(255,255,255,.82);
  padding:.85rem .95rem;
  color:var(--kgp-muted);
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
}

[data-bs-theme="dark"] .kg-maintenance-label{
  background:rgba(22,27,34,.82);
}

.kg-maintenance-admin-banner{
  border-bottom:1px solid var(--kgp-border);
  background:rgba(248,250,252,.86);
}

.kg-maintenance-admin-banner .container-xxl{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding-top:.65rem;
  padding-bottom:.65rem;
}

.kg-maintenance-admin-banner-text{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-weight:600;
}

.kg-maintenance-admin-banner i{
  color:var(--kgp-accent-2);
}

@media (prefers-reduced-motion: no-preference){
  .kg-mascot-stage-hero .kg-mascot-img,
  .kg-knowledge-visual img,
  .kg-contact-mascot-card img,
  .kg-error-mascot,
  .kg-maintenance-mascot{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
  .kg-route-node{
    animation:kg-node-pulse 3.6s ease-in-out infinite;
  }
  .kg-route-node-b{ animation-delay:.5s; }
  .kg-route-node-c{ animation-delay:1s; }
  .kg-route-node-d{ animation-delay:1.5s; }
}

@keyframes kg-mascot-float{
  0%,100%{ translate:0 0; }
  50%{ translate:0 -.35rem; }
}

@keyframes kg-node-pulse{
  0%,100%{ transform:scale(1); opacity:.88; }
  50%{ transform:scale(1.16); opacity:1; }
}


@media (max-width: 1199.98px){
  .kg-card-grid,
  .kg-mascot-state-grid,
  .kg-process-steps{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .kg-hero-grid,
  .kg-split-grid,
  .kg-split-grid-reverse,
  .kg-knowledge-layout,
  .kg-showcase-inner,
  .kg-contact-hub,
  .kg-error-shell,
  .kg-maintenance-shell{
    grid-template-columns:1fr;
  }
  .kg-section-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .kg-section-line{
    width:100%;
    min-width:0;
    flex:none;
  }
  .kg-mascot-stage{
    min-height:28rem;
  }
  .kg-mascot-img{
    max-width:min(82%, 25rem);
  }
  .kg-knowledge-visual{
    min-height:18rem;
  }
  .kg-knowledge-visual img{
    max-height:17rem;
  }
  .kg-showcase-img{
    min-height:16rem;
  }
  .kg-showcase-img img{
    max-height:17rem;
  }
  .kg-contact-mascot-card{
    min-height:28rem;
  }
  .kg-contact-mascot-card img{
    max-height:24rem;
  }
  .kg-error-page{
    align-items:flex-start;
  }
  .kg-error-visual,
  .kg-maintenance-visual{
    min-height:24rem;
  }
}

@media (max-width: 767.98px){
  .kg-hero-stats,
  .kg-card-grid,
  .kg-card-grid-3,
  .kg-mascot-state-grid,
  .kg-process-steps{
    grid-template-columns:1fr;
  }
  .kg-public-card,
  .kg-process-step{
    padding:.95rem;
  }
  .kg-mascot-stage{
    min-height:24rem;
    border-radius:1.1rem;
  }
  .kg-mascot-img{
    max-width:min(88%, 21rem);
  }
  .kg-mascot-bubble{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    margin:.85rem;
    max-width:none;
  }
  .kg-knowledge-panel,
  .kg-final-panel,
  .kg-showcase-panel,
  .kg-contact-form-card,
  .kg-contact-mascot-card,
  .kg-error-shell,
  .kg-maintenance-shell{
    border-radius:1.1rem;
  }
  .kg-contact-mascot-card{
    min-height:25rem;
  }
  .kg-contact-mascot-card img{
    max-height:20rem;
  }
  .kg-error-visual,
  .kg-maintenance-visual{
    min-height:21rem;
  }
  .kg-error-mascot,
  .kg-maintenance-mascot{
    max-height:19rem;
  }
}

@media (max-width: 575.98px){
  .kg-public-hero,
  .kg-error-page,
  .kg-maintenance-page{
    padding-top:1rem;
  }
  .kg-title,
  .kg-error-title,
  .kg-maintenance-title{
    letter-spacing:-.04em;
  }
  .kg-actions .btn,
  .kg-error-actions .btn,
  .kg-maintenance-actions .btn,
  .kg-maintenance-actions form{
    width:100%;
  }
  .kg-mascot-stage{
    min-height:22rem;
  }
  .kg-knowledge-visual{
    min-height:16rem;
  }
  .kg-knowledge-visual img{
    max-height:15rem;
  }
  .kg-state-card-visual{
    min-height:9.6rem;
  }
  .kg-state-card-visual img{
    max-height:9.2rem;
  }
  .kg-error-shell,
  .kg-maintenance-shell{
    padding:.9rem;
  }
  .kg-error-meta-item,
  .kg-maintenance-meta span{
    border-radius:.8rem;
    white-space:normal;
  }
}


/* Responsive hardening for public pages */
.kg-public-page,
.kg-error-page,
.kg-maintenance-page{
  width:100%;
}

.kg-public-page p,
.kg-error-page p,
.kg-maintenance-page p,
.kg-public-page h1,
.kg-public-page h2,
.kg-public-page h3,
.kg-error-page h1,
.kg-maintenance-page h1{
  overflow-wrap:anywhere;
}

@media (max-width: 991.98px){
  .kg-public-hero{
    padding-top:1.25rem;
  }

  .kg-hero-grid,
  .kg-split-grid,
  .kg-split-grid-reverse,
  .kg-contact-hub{
    gap:1.25rem;
  }
}

@media (max-width: 767.98px){
  .kg-title{
    font-size:clamp(2rem, 12vw, 3.15rem);
  }

  .kg-lead,
  .kg-section-lead{
    font-size:1rem;
  }

  .kg-hero-stats{
    gap:.6rem;
  }

  .kg-channel-card{
    align-items:flex-start;
  }
}

@media (max-width: 575.98px){
  .kg-public-section{
    padding:1.15rem 0;
  }

  .kg-public-card,
  .kg-contact-form-card,
  .kg-process-step{
    padding:.9rem;
  }

  .kg-eyebrow{
    white-space:normal;
    line-height:1.25;
  }
}

/* Public redesign refinements */
.kg-public-page img,
.kg-error-page img,
.kg-maintenance-page img{
  display:block;
  height:auto;
}

.kg-scenario-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
}

.kg-scenario-card{
  overflow:hidden;
}

.kg-scenario-label{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  margin-bottom:.75rem;
  padding:.25rem .55rem;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  color:var(--kgp-accent-2);
  background:rgba(9,105,218,.06);
  font-size:.76rem;
  font-weight:800;
  line-height:1.1;
  text-transform:lowercase;
  overflow-wrap:anywhere;
}

[data-bs-theme="dark"] .kg-scenario-label{
  background:rgba(88,166,255,.10);
}

.kg-knowledge-panel-compact .kg-knowledge-layout{
  grid-template-columns:minmax(15rem, .68fr) minmax(0, 1.32fr);
}

.kg-error-caption{
  display:none;
}

.kg-error-kicker{
  margin-bottom:1.05rem;
}

.kg-error-title,
.kg-maintenance-title,
.kg-title,
.kg-section-title{
  overflow-wrap:break-word;
  hyphens:auto;
}

.kg-public-card,
.kg-flow-node,
.kg-process-step,
.kg-final-panel,
.kg-showcase-panel,
.kg-knowledge-panel,
.kg-mascot-stage,
.kg-error-shell,
.kg-maintenance-shell{
  max-width:100%;
}

@media (max-width: 1199.98px){
  .kg-scenario-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .kg-knowledge-panel-compact .kg-knowledge-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 767.98px){
  .kg-scenario-grid{
    grid-template-columns:1fr;
  }

  .kg-showcase-inner{
    gap:.75rem;
  }

  .kg-showcase-img{
    min-height:14rem;
  }

  .kg-showcase-img img{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    max-height:15.5rem;
    max-width:min(88%, 18rem);
  }
}

@media (max-width: 575.98px){
  .kg-title{
    font-size:clamp(1.85rem, 10.5vw, 2.85rem);
    line-height:1.04;
  }

  .kg-mascot-stage{
    min-height:20rem;
  }

  .kg-mascot-img{
    max-width:min(82%, 18rem);
  }

}

/* Mascot visibility hardening on compact error/maintenance layouts */
.kg-error-mascot,
.kg-maintenance-mascot{
  width:auto;
  height:auto;
  object-fit:contain;
}

@media (max-width: 767.98px){
  .kg-error-visual,
  .kg-maintenance-visual{
    width:100%;
    display:block;
  }

  .kg-error-mascot,
  .kg-maintenance-mascot{
    width:min(84%, 18rem);
    max-width:84%;
    height:auto;
  }
}

/* Informative public content blocks */
.kg-mini-list{
  display:grid;
  gap:.38rem;
  margin:0;
  padding:0;
  list-style:none;
  color:var(--kgp-muted);
  font-size:.86rem;
  line-height:1.45;
}

.kg-mini-list li{
  position:relative;
  padding-left:1rem;
}

.kg-mini-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:.34rem;
  height:.34rem;
  border-radius:999px;
  background:var(--kgp-accent-2);
  opacity:.7;
}

.kg-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.38rem;
  margin-top:auto;
}

.kg-card-tags span{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:.25rem .48rem;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:var(--kgp-muted);
  font-size:.75rem;
  line-height:1.1;
  overflow-wrap:anywhere;
}

[data-bs-theme="dark"] .kg-card-tags span{
  background:rgba(13,17,23,.22);
}

.kg-feature-card,
.kg-scenario-card,
.kg-ai-card{
  display:flex;
  flex-direction:column;
}

.kg-ai-panel{
  position:relative;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 83% 18%, rgba(9,105,218,.12), transparent 18rem),
    radial-gradient(circle at 12% 88%, rgba(99,122,198,.12), transparent 16rem),
    linear-gradient(135deg, rgba(248,250,252,.92), rgba(255,255,255,.76));
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
  padding:clamp(1rem, 2.8vw, 1.7rem);
}

[data-bs-theme="dark"] .kg-ai-panel{
  background:
    radial-gradient(circle at 83% 18%, rgba(88,166,255,.10), transparent 18rem),
    radial-gradient(circle at 12% 88%, rgba(141,163,255,.10), transparent 16rem),
    linear-gradient(135deg, rgba(15,23,42,.76), rgba(22,27,34,.76));
}

.kg-ai-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.16fr) minmax(15rem, .84fr);
  gap:clamp(1rem, 3vw, 2rem);
  align-items:center;
}

.kg-ai-content{
  position:relative;
  z-index:2;
}

.kg-ai-visual{
  position:relative;
  min-height:18rem;
}

.kg-ai-visual::before{
  content:"";
  position:absolute;
  inset:10% 6% 12%;
  border:1px dashed var(--kgp-border-strong);
  border-radius:50%;
  opacity:.7;
}

.kg-ai-visual img{
  position:absolute;
  left:50%;
  bottom:-.35rem;
  transform:translateX(-50%);
  max-width:min(88%, 22rem);
  max-height:20rem;
  filter:drop-shadow(0 1rem .9rem rgba(31,35,40,.16));
}

.kg-ai-cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin-top:1rem;
}

.kg-ai-panel,
.kg-ai-layout,
.kg-ai-cards,
.kg-card-tags,
.kg-mini-list{
  max-width:100%;
}

@media (prefers-reduced-motion: no-preference){
  .kg-ai-visual img{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-ai-layout{
    grid-template-columns:1fr;
  }

  .kg-ai-visual{
    min-height:16rem;
  }

  .kg-ai-visual img{
    max-height:17rem;
  }
}

@media (max-width: 767.98px){
  .kg-ai-cards{
    grid-template-columns:1fr;
  }

  .kg-ai-panel{
    border-radius:1.1rem;
  }

  .kg-ai-visual{
    min-height:14.5rem;
  }

  .kg-ai-visual img{
    max-width:min(84%, 18rem);
    max-height:15.5rem;
  }
}

@media (max-width: 575.98px){
  .kg-card-tags span,
  .kg-soft-badge{
    line-height:1.25;
  }
}

/* B2B public pages refinements */
.kg-card-grid-2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.kg-compare-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
}

.kg-compare-card{
  height:100%;
  border:1px solid var(--kgp-border-strong);
  border-radius:1.05rem;
  background:rgba(255,255,255,.74);
  padding:1rem;
  box-shadow:0 1px 0 rgba(31,35,40,.03);
}

.kg-compare-card-muted{
  background:rgba(237,242,248,.62);
  border-color:var(--kgp-border);
}

[data-bs-theme="dark"] .kg-compare-card{
  background:rgba(22,27,34,.66);
}

[data-bs-theme="dark"] .kg-compare-card-muted{
  background:rgba(13,17,23,.32);
}

.kg-contact-page .kg-template-row{
  gap:.48rem;
}

.kg-contact-page .kg-template-btn{
  min-height:2.25rem;
}

.kg-about-page .kg-mascot-img-center{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  max-width:min(86%, 30rem);
  max-height:88%;
  transform:translate(-50%, -50%);
}

.kg-contact-page .kg-mascot-stage .kg-mascot-img{
  max-width:min(84%, 27rem);
}

.kg-home-page .kg-mascot-stage-hero .kg-mascot-img{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  max-width:min(86%, 30rem);
  max-height:88%;
  transform:translate(-50%, -50%);
}

.kg-contact-page .kg-contact-hero-stage .kg-mascot-img{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  max-width:min(86%, 28rem);
  max-height:90%;
  transform:translate(-50%, -50%);
}

.kg-contact-page .kg-contact-mascot-card img[data-kg-contact-cat]{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%, -50%);
}

@media (max-width: 991.98px){
  .kg-card-grid-2,
  .kg-compare-grid{
    grid-template-columns:1fr;
  }

  .kg-about-page .kg-mascot-img-center{
    max-width:min(86%, 25rem);
  }
}

@media (max-width: 575.98px){
  .kg-compare-card{
    padding:.9rem;
    border-radius:.95rem;
  }
}

/* Relict Pro and project team page */
.kg-relict-banner{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  gap:1rem;
  align-items:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 88% 22%, rgba(99,122,198,.13), transparent 15rem),
    linear-gradient(135deg, rgba(248,250,252,.94), rgba(255,255,255,.76));
  box-shadow:var(--kgp-shadow-soft);
  padding:clamp(1rem, 2.6vw, 1.45rem);
}

[data-bs-theme="dark"] .kg-relict-banner{
  background:
    radial-gradient(circle at 88% 22%, rgba(141,163,255,.10), transparent 15rem),
    linear-gradient(135deg, rgba(15,23,42,.76), rgba(22,27,34,.76));
}

.kg-relict-banner-icon{
  width:3.1rem;
  height:3.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:1rem;
  color:var(--kgp-accent-2);
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(237,242,248,.82));
  box-shadow:var(--kgp-shadow-soft);
  font-size:1.18rem;
}

[data-bs-theme="dark"] .kg-relict-banner-icon{
  background:rgba(15,23,42,.72);
}

.kg-relict-banner-content{
  min-width:0;
}

.kg-relict-banner-content .kg-eyebrow{
  margin-bottom:.65rem !important;
}

.kg-relict-banner-action{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.kg-team-page .kg-team-hero-stage .kg-mascot-img{
  right:auto;
  left:50%;
  top:50%;
  bottom:auto;
  max-width:min(86%, 30rem);
  max-height:90%;
  transform:translate(-50%, -50%);
}

.kg-thanks-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(16rem, .85fr);
  gap:clamp(1rem, 3vw, 2rem);
  align-items:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 16% 20%, rgba(9,105,218,.10), transparent 16rem),
    radial-gradient(circle at 82% 74%, rgba(99,122,198,.12), transparent 15rem),
    linear-gradient(135deg, rgba(248,250,252,.92), rgba(255,255,255,.76));
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
  padding:clamp(1rem, 3vw, 1.7rem);
}

[data-bs-theme="dark"] .kg-thanks-panel{
  background:
    radial-gradient(circle at 16% 20%, rgba(88,166,255,.09), transparent 16rem),
    radial-gradient(circle at 82% 74%, rgba(141,163,255,.10), transparent 15rem),
    linear-gradient(135deg, rgba(15,23,42,.76), rgba(22,27,34,.76));
}

.kg-thanks-content{
  position:relative;
  z-index:2;
}

.kg-thanks-visual{
  position:relative;
  min-height:18rem;
}

.kg-thanks-visual::before{
  content:"";
  position:absolute;
  inset:10% 6% 12%;
  border:1px dashed var(--kgp-border-strong);
  border-radius:50%;
  opacity:.7;
}

.kg-thanks-visual img{
  position:absolute;
  left:50%;
  bottom:-.35rem;
  transform:translateX(-50%);
  max-width:min(88%, 22rem);
  max-height:19rem;
  filter:drop-shadow(0 1rem .9rem rgba(31,35,40,.16));
}

@media (prefers-reduced-motion: no-preference){
  .kg-thanks-visual img{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-relict-banner,
  .kg-thanks-panel{
    grid-template-columns:1fr;
  }

  .kg-relict-banner-action{
    justify-content:flex-start;
  }

  .kg-thanks-visual{
    min-height:16rem;
  }

  .kg-thanks-visual img{
    max-height:17rem;
  }
}

@media (max-width: 575.98px){
  .kg-relict-banner,
  .kg-thanks-panel{
    border-radius:1.1rem;
    padding:.95rem;
  }

  .kg-relict-banner-icon{
    width:2.65rem;
    height:2.65rem;
    border-radius:.9rem;
  }

  .kg-relict-banner-action .btn{
    width:100%;
  }

  .kg-thanks-visual{
    min-height:14rem;
  }

  .kg-thanks-visual img{
    max-width:min(84%, 18rem);
    max-height:15rem;
  }
}



.kg-footer-tagline{
  white-space:nowrap;
}

/* Team page people templates */
.kg-team-members-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.kg-team-member-card,
.kg-credit-card{
  position:relative;
  height:100%;
  border:1px solid var(--kgp-border);
  border-radius:var(--kgp-radius-sm);
  background:var(--kgp-panel);
  padding:1.05rem;
  box-shadow:0 1px 0 rgba(31,35,40,.03);
}

.kg-team-member-card{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

.kg-member-head{
  display:flex;
  align-items:flex-start;
  gap:.85rem;
}

.kg-member-avatar{
  flex:0 0 auto;
  width:3.1rem;
  height:3.1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--kgp-border-strong);
  border-radius:1rem;
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(237,242,248,.82));
  color:var(--kgp-accent-2);
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 1px 0 rgba(31,35,40,.04);
}

[data-bs-theme="dark"] .kg-member-avatar{
  background:rgba(15,23,42,.72);
}

.kg-member-kicker{
  color:var(--kgp-muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.2;
  margin-bottom:.22rem;
  text-transform:uppercase;
}

.kg-member-role{
  color:var(--kgp-accent-2);
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
}

.kg-member-fields{
  display:grid;
  gap:.5rem;
  margin-top:auto;
}

.kg-member-fields div{
  border:1px solid var(--kgp-border);
  border-radius:.9rem;
  background:rgba(248,250,252,.72);
  padding:.65rem .72rem;
}

[data-bs-theme="dark"] .kg-member-fields div{
  background:rgba(15,23,42,.42);
}

.kg-member-fields span{
  display:block;
  color:var(--kgp-muted);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.25;
  margin-bottom:.22rem;
  text-transform:uppercase;
}

.kg-member-fields strong{
  display:block;
  color:var(--kgp-text);
  font-size:.9rem;
  font-weight:650;
  line-height:1.35;
}

.kg-credit-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.kg-credit-card{
  overflow:hidden;
}

.kg-credit-list{
  display:grid;
  gap:.55rem;
  list-style:none;
  margin:0;
  padding:0;
}

.kg-credit-list li{
  border:1px solid var(--kgp-border);
  border-radius:.9rem;
  background:rgba(248,250,252,.72);
  padding:.65rem .72rem;
}

[data-bs-theme="dark"] .kg-credit-list li{
  background:rgba(15,23,42,.42);
}

.kg-credit-list strong,
.kg-credit-list span{
  display:block;
  line-height:1.35;
}

.kg-credit-list strong{
  color:var(--kgp-text);
  font-size:.92rem;
}

.kg-credit-list span{
  color:var(--kgp-muted);
  font-size:.84rem;
  margin-top:.12rem;
}

@media (max-width: 1199.98px){
  .kg-team-members-grid,
  .kg-credit-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px){
  .kg-team-members-grid,
  .kg-credit-grid{
    grid-template-columns:1fr;
  }

  .kg-member-head{
    gap:.75rem;
  }

  .kg-member-avatar{
    width:2.75rem;
    height:2.75rem;
    border-radius:.9rem;
  }
}

/* Team page lively production layout */
.kg-team-work-section{
  padding-top:1.15rem;
  padding-bottom:1.15rem;
}

.kg-team-work-panel .kg-showcase-inner{
  grid-template-columns:minmax(0, 1.16fr) minmax(14rem, .46fr);
  gap:1rem;
  padding:clamp(.9rem, 2.2vw, 1.25rem);
}

.kg-team-work-panel .kg-eyebrow{
  margin-bottom:.7rem !important;
}

.kg-team-work-panel .kg-section-title{
  margin-bottom:.65rem !important;
}

.kg-team-work-panel .kg-section-lead{
  max-width:58rem;
  margin-bottom:1rem !important;
}

.kg-team-page .kg-showcase-panel .kg-process-steps{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:.7rem;
}

.kg-team-work-panel .kg-process-step{
  padding:.78rem;
}

.kg-team-work-panel .kg-process-step .kg-flow-num{
  margin-bottom:.48rem;
}

.kg-team-work-panel .kg-process-step h3{
  margin-bottom:.35rem !important;
}

.kg-team-work-panel .kg-showcase-img{
  min-height:14rem;
}

.kg-team-page .kg-showcase-img img{
  left:auto;
  right:50%;
  bottom:-1.05rem;
  transform:translateX(50%);
  max-width:min(112%, 23.5rem);
  max-height:18rem;
}

.kg-gratitude-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (max-width: 1199.98px){
  .kg-team-page .kg-showcase-panel .kg-process-steps{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .kg-team-work-panel .kg-showcase-inner{
    grid-template-columns:1fr;
  }

  .kg-team-work-panel .kg-showcase-img{
    min-height:15rem;
  }

  .kg-team-page .kg-showcase-img img{
    left:auto;
    right:50%;
    transform:translateX(50%);
    max-width:min(88%, 22rem);
    max-height:17.5rem;
  }
}

@media (max-width: 767.98px){
  .kg-team-page .kg-showcase-panel .kg-process-steps,
  .kg-gratitude-grid{
    grid-template-columns:1fr;
  }
}

/* Extended public blocks: data model, cases, pricing, correspondence form */
.kg-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.kg-frame-model-grid,
.kg-media-doc-grid,
.kg-license-grid,
.kg-implementation-steps{
  display:grid;
  gap:.85rem;
}

.kg-frame-model-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.kg-frame-model-card,
.kg-license-card,
.kg-implementation-step,
.kg-case-hero-card{
  border:1px solid var(--kgp-border);
  border-radius:var(--kgp-radius-sm);
  background:rgba(255,255,255,.62);
  box-shadow:var(--kgp-shadow-soft);
}

[data-bs-theme="dark"] .kg-frame-model-card,
[data-bs-theme="dark"] .kg-license-card,
[data-bs-theme="dark"] .kg-implementation-step,
[data-bs-theme="dark"] .kg-case-hero-card{
  background:rgba(15,23,42,.46);
}

.kg-frame-model-card{
  padding:1rem;
}

.kg-frame-model-num{
  color:var(--kgp-accent-2);
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:.65rem;
}

.kg-passport-showcase-inner{
  grid-template-columns:minmax(0, 1fr) minmax(320px, .82fr);
}

.kg-object-passport{
  border:1px solid var(--kgp-border-strong);
  border-radius:1.2rem;
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.74));
  box-shadow:var(--kgp-shadow);
  padding:1.1rem;
}

[data-bs-theme="dark"] .kg-object-passport{
  background:linear-gradient(180deg, rgba(22,27,34,.92), rgba(15,23,42,.76));
}

.kg-object-passport-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.kg-object-type{
  display:inline-flex;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  padding:.18rem .55rem;
  color:var(--kgp-accent-2);
  background:var(--kgp-accent-soft);
  font-size:.76rem;
  font-weight:700;
  margin-bottom:.55rem;
}

.kg-object-passport-list{
  display:grid;
  gap:.58rem;
  margin:0 0 1rem;
}

.kg-object-passport-list div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  border-bottom:1px solid var(--kgp-border);
  padding-bottom:.5rem;
}

.kg-object-passport-list dt{
  color:var(--kgp-muted);
  font-size:.84rem;
  font-weight:700;
}

.kg-object-passport-list dd{
  margin:0;
  text-align:right;
  font-size:.9rem;
  font-weight:600;
}

.kg-object-passport-note{
  border-radius:.9rem;
  background:var(--kgp-accent-soft);
  color:var(--kgp-accent-2);
  padding:.75rem .85rem;
  font-size:.88rem;
  line-height:1.5;
}

.kg-media-doc-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kg-media-doc-item{
  display:flex;
  align-items:center;
  gap:.7rem;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.54);
  padding:.95rem 1rem;
  font-weight:700;
}

[data-bs-theme="dark"] .kg-media-doc-item{
  background:rgba(15,23,42,.40);
}

.kg-media-doc-item i{
  color:var(--kgp-accent-2);
  font-size:1.25rem;
}

.kg-case-hero-card{
  display:grid;
  gap:.8rem;
  padding:clamp(1rem, 2.4vw, 1.6rem);
}

.kg-case-hero-node{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  padding:.85rem 1rem;
  background:var(--kgp-panel);
  font-weight:800;
}

.kg-case-hero-node i{
  color:var(--kgp-accent-2);
  font-size:1.25rem;
}

.kg-implementation-steps{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.kg-implementation-step{
  padding:1rem;
}

.kg-implementation-step span{
  display:inline-flex;
  color:var(--kgp-accent-2);
  font-size:.82rem;
  font-weight:800;
  margin-bottom:.62rem;
}

.kg-implementation-step strong{
  display:block;
  margin-bottom:.35rem;
}

.kg-implementation-step p{
  color:var(--kgp-muted);
  font-size:.86rem;
  line-height:1.45;
  margin:0;
}


.kg-pricing-hero-card{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(20rem, 38vw, 30rem);
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:
    radial-gradient(circle at 76% 20%, rgba(245,158,11,.16), transparent 11rem),
    radial-gradient(circle at 12% 88%, rgba(9,105,218,.12), transparent 13rem),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.74));
  box-shadow:var(--kgp-shadow);
  overflow:hidden;
  padding:clamp(.6rem, 1.8vw, 1.15rem);
}

.kg-pricing-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  pointer-events:none;
  background-image:
    linear-gradient(var(--kgp-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--kgp-border) 1px, transparent 1px);
  background-size:2rem 2rem;
  mask-image:linear-gradient(135deg, transparent 0, #000 55%, transparent 100%);
}

[data-bs-theme="dark"] .kg-pricing-hero-card{
  background:
    radial-gradient(circle at 76% 20%, rgba(245,158,11,.12), transparent 11rem),
    radial-gradient(circle at 12% 88%, rgba(88,166,255,.12), transparent 13rem),
    linear-gradient(180deg, rgba(22,27,34,.92), rgba(15,23,42,.76));
}

.kg-pricing-hero-mascot-img{
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  max-width:108%;
  max-height:clamp(19rem, 36vw, 29rem);
  object-fit:contain;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
  transform:translateY(-.25rem);
}

@media (prefers-reduced-motion: no-preference){
  .kg-pricing-hero-mascot-img{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-pricing-hero-card{
    min-height:19rem;
  }

  .kg-pricing-hero-mascot-img{
    max-height:18rem;
    transform:none;
  }
}

@media (max-width: 575.98px){
  .kg-pricing-hero-card{
    min-height:16rem;
    padding:.8rem;
  }

  .kg-pricing-hero-mascot-img{
    max-height:15rem;
  }
}

.kg-license-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kg-license-card{
  padding:1rem;
}

.kg-license-card i{
  display:inline-flex;
  color:var(--kgp-accent-2);
  font-size:1.5rem;
  margin-bottom:.7rem;
}

@media (max-width: 1199.98px){
  .kg-frame-model-grid,
  .kg-implementation-steps{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .kg-passport-showcase-inner{
    grid-template-columns:1fr;
  }
  .kg-license-grid,
  .kg-media-doc-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px){
  .kg-frame-model-grid,
  .kg-implementation-steps,
  .kg-license-grid,
  .kg-media-doc-grid{
    grid-template-columns:1fr;
  }
  .kg-object-passport-list div{
    display:block;
  }
  .kg-object-passport-list dd{
    text-align:left;
    margin-top:.2rem;
  }
}


/* Contact result modal must not move the page or hide the global header. */
body.kg-contact-modal-active.modal-open,
body.kg-contact-modal-active{
  padding-right:0 !important;
}
body.kg-contact-modal-active.modal-open .sticky-top,
body.kg-contact-modal-active.modal-open .fixed-top,
body.kg-contact-modal-active.modal-open .fixed-bottom,
body.kg-contact-modal-active.modal-open .is-fixed,
body.kg-contact-modal-active .sticky-top,
body.kg-contact-modal-active .fixed-top,
body.kg-contact-modal-active .fixed-bottom,
body.kg-contact-modal-active .is-fixed{
  padding-right:0 !important;
  margin-right:0 !important;
}
body.kg-contact-modal-active .kg-app-header{
  z-index:1052 !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:none;
}
body.kg-contact-modal-active > .modal-backdrop{
  z-index:1050;
}
body.kg-contact-modal-active > .kg-contact-result-modal,
.kg-contact-result-modal{
  --kgp-ink:#1f2328;
  --kgp-muted:#57606a;
  --kgp-panel:#ffffff;
  --kgp-border:rgba(69, 86, 112, .16);
  --kgp-accent:#0969da;
  z-index:1060;
}
[data-bs-theme="dark"] body.kg-contact-modal-active > .kg-contact-result-modal,
[data-bs-theme="dark"] .kg-contact-result-modal{
  --kgp-ink:#f0f3f6;
  --kgp-muted:#9aa4b2;
  --kgp-panel:#161b22;
  --kgp-border:rgba(141,163,255,.24);
  --kgp-accent:#58a6ff;
}

.kg-contact-ticket-box{
  border: 1px solid rgba(76, 107, 88, .18);
  border-radius: 1rem;
  background: rgba(76, 107, 88, .06);
  padding: 1rem 1.1rem;
}

.kg-contact-ticket{
  font-family: var(--bs-font-monospace);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .kg-contact-ticket-box{
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
}

/* Cases page expanded sales story */
.kg-cases-page .kg-title{
  max-width:940px;
}

.kg-case-hero-story{
  position:relative;
  overflow:hidden;
}

.kg-case-hero-story::before{
  content:"";
  position:absolute;
  inset:-35% auto auto -18%;
  width:18rem;
  height:18rem;
  border-radius:999px;
  background:rgba(9,105,218,.08);
  pointer-events:none;
}

[data-bs-theme="dark"] .kg-case-hero-story::before{
  background:rgba(88,166,255,.10);
}

.kg-case-hero-kicker{
  position:relative;
  z-index:1;
  color:var(--kgp-accent-2);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.kg-case-hero-note{
  position:relative;
  z-index:1;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.56);
  color:var(--kgp-muted);
  padding:.9rem 1rem;
  font-size:.9rem;
  line-height:1.5;
}

[data-bs-theme="dark"] .kg-case-hero-note{
  background:rgba(13,17,23,.25);
}

.kg-case-value-grid,
.kg-case-narrative-grid,
.kg-case-offer-grid{
  display:grid;
  gap:1rem;
}

.kg-case-value-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

.kg-case-value-card{
  display:flex;
  flex-direction:column;
}

.kg-case-value-card p{
  flex:1 1 auto;
}

.kg-case-value-result{
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:var(--kgp-accent-soft);
  padding:.78rem .85rem;
  margin-top:auto;
}

.kg-case-value-result span{
  display:block;
  color:var(--kgp-accent-2);
  font-size:.76rem;
  font-weight:800;
  margin-bottom:.25rem;
}

.kg-case-value-result strong{
  display:block;
  font-size:.9rem;
  line-height:1.38;
}

.kg-case-story-card{
  display:flex;
  flex-direction:column;
}

.kg-case-story-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:.15rem;
}

.kg-case-story-type{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  color:var(--kgp-accent-2);
  background:var(--kgp-accent-soft);
  padding:.22rem .55rem;
  font-size:.76rem;
  font-weight:800;
  white-space:nowrap;
}

.kg-case-comparison-panel{
  margin-bottom:1rem;
}

.kg-case-comparison-inner{
  grid-template-columns:minmax(0, 1fr) minmax(18rem, .62fr);
}

.kg-case-outcome-stack{
  display:grid;
  gap:.75rem;
}

.kg-case-outcome-stack div{
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.64);
  padding:.95rem 1rem;
  box-shadow:var(--kgp-shadow-soft);
}

[data-bs-theme="dark"] .kg-case-outcome-stack div{
  background:rgba(13,17,23,.25);
}

.kg-case-outcome-stack span{
  display:block;
  color:var(--kgp-accent-2);
  font-size:.78rem;
  font-weight:800;
  margin-bottom:.25rem;
}

.kg-case-outcome-stack strong{
  display:block;
  font-size:1rem;
  line-height:1.38;
}

.kg-table-wrap{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius-sm);
  background:var(--kgp-panel);
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
}

.kg-table-wrap-panel{
  background:rgba(255,255,255,.56);
}

[data-bs-theme="dark"] .kg-table-wrap-panel{
  background:rgba(13,17,23,.22);
}

.kg-case-table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--kgp-ink);
  --bs-table-border-color:var(--kgp-border);
  font-size:.92rem;
}

.kg-case-table thead th{
  color:var(--kgp-accent-2);
  background:rgba(9,105,218,.06);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
  white-space:nowrap;
}

[data-bs-theme="dark"] .kg-case-table thead th{
  background:rgba(88,166,255,.10);
}

.kg-case-table td,
.kg-case-table th{
  padding:.92rem 1rem;
}

.kg-case-table tbody td:first-child{
  font-weight:800;
  color:var(--kgp-ink);
}

.kg-case-table tbody td:not(:first-child){
  color:var(--kgp-muted);
  line-height:1.48;
}

.kg-case-narrative-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kg-case-narrative-card{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,250,252,.72));
  box-shadow:var(--kgp-shadow-soft);
  padding:clamp(1rem, 2.2vw, 1.35rem);
}

[data-bs-theme="dark"] .kg-case-narrative-card{
  background:linear-gradient(180deg, rgba(22,27,34,.84), rgba(15,23,42,.62));
}

.kg-case-narrative-card p{
  color:var(--kgp-muted);
  line-height:1.62;
}

.kg-case-narrative-result{
  display:grid;
  gap:.35rem;
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:var(--kgp-accent-soft);
  padding:.9rem 1rem;
  margin-top:1rem;
}

.kg-case-narrative-result strong{
  color:var(--kgp-accent-2);
}

.kg-case-narrative-result span{
  color:var(--kgp-muted);
  font-size:.92rem;
  line-height:1.5;
}

.kg-case-implementation-steps .kg-implementation-step{
  min-height:100%;
}

.kg-case-offer-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.kg-case-offer-card{
  border-color:var(--kgp-border-strong);
}

.kg-cases-page .kg-card-grid-3 .kg-public-card p{
  line-height:1.55;
}

@media (max-width: 1199.98px){
  .kg-case-value-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .kg-case-narrative-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 991.98px){
  .kg-case-comparison-inner{
    grid-template-columns:1fr;
  }

  .kg-case-offer-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 575.98px){
  .kg-case-value-grid{
    grid-template-columns:1fr;
  }

  .kg-case-story-head{
    display:block;
  }

  .kg-case-story-type{
    margin-bottom:.6rem;
  }

  .kg-case-table{
    font-size:.86rem;
  }

  .kg-case-table td,
  .kg-case-table th{
    padding:.78rem .85rem;
  }
}

/* Cases page: refined hero brief and result mascot */
.kg-case-hero-brief{
  position:relative;
  overflow:hidden;
  align-content:start;
  background:
    radial-gradient(circle at 92% 12%, rgba(9,105,218,.12), transparent 9rem),
    radial-gradient(circle at 8% 88%, rgba(76,107,88,.10), transparent 10rem),
    rgba(255,255,255,.62);
}

[data-bs-theme="dark"] .kg-case-hero-brief{
  background:
    radial-gradient(circle at 92% 12%, rgba(88,166,255,.12), transparent 9rem),
    radial-gradient(circle at 8% 88%, rgba(163,190,140,.10), transparent 10rem),
    rgba(15,23,42,.46);
}

.kg-case-hero-brief::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.32;
  pointer-events:none;
  background-image:
    linear-gradient(var(--kgp-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--kgp-border) 1px, transparent 1px);
  background-size:2rem 2rem;
  mask-image:linear-gradient(135deg, transparent 0, #000 55%, transparent 100%);
}

.kg-case-hero-brief > *{
  position:relative;
  z-index:1;
}

.kg-case-brief-list{
  display:grid;
  gap:.72rem;
}

.kg-case-brief-list div{
  border:1px solid var(--kgp-border);
  border-radius:1rem;
  background:rgba(255,255,255,.68);
  padding:.9rem 1rem;
  box-shadow:var(--kgp-shadow-soft);
}

[data-bs-theme="dark"] .kg-case-brief-list div{
  background:rgba(13,17,23,.26);
}

.kg-case-brief-list span{
  display:block;
  color:var(--kgp-accent-2);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  margin-bottom:.28rem;
}

.kg-case-brief-list strong{
  display:block;
  font-size:.94rem;
  line-height:1.42;
}

.kg-case-brief-note{
  display:flex;
  align-items:flex-start;
  gap:.72rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:1rem;
  background:var(--kgp-accent-soft);
  color:var(--kgp-muted);
  padding:.9rem 1rem;
  font-size:.9rem;
  line-height:1.5;
}

.kg-case-brief-note i{
  color:var(--kgp-accent-2);
  font-size:1.15rem;
  margin-top:.08rem;
}

.kg-case-output-inner{
  grid-template-columns:minmax(0, 1fr) minmax(17rem, .7fr);
}

.kg-case-result-mascot{
  position:relative;
  min-height:18.5rem;
  border:1px solid var(--kgp-border);
  border-radius:1.25rem;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(9,105,218,.14), transparent 8rem),
    radial-gradient(circle at 18% 78%, rgba(76,107,88,.12), transparent 9rem),
    rgba(255,255,255,.42);
}

[data-bs-theme="dark"] .kg-case-result-mascot{
  background:
    radial-gradient(circle at 82% 18%, rgba(88,166,255,.13), transparent 8rem),
    radial-gradient(circle at 18% 78%, rgba(163,190,140,.10), transparent 9rem),
    rgba(13,17,23,.20);
}

.kg-case-result-mascot::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(var(--kgp-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--kgp-border) 1px, transparent 1px);
  background-size:1.8rem 1.8rem;
  mask-image:radial-gradient(circle at 54% 52%, #000 0, transparent 72%);
}

.kg-case-result-card{
  position:absolute;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:var(--kgp-accent-2);
  padding:.44rem .68rem;
  font-size:.78rem;
  font-weight:800;
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
}

[data-bs-theme="dark"] .kg-case-result-card{
  background:rgba(22,27,34,.84);
}

.kg-case-result-card-a{ left:9%; top:16%; }
.kg-case-result-card-b{ right:10%; top:25%; }
.kg-case-result-card-c{ left:14%; bottom:15%; }

.kg-case-cat{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:.7rem;
  width:13.4rem;
  height:15.6rem;
  transform:translateX(-50%);
  filter:drop-shadow(0 .9rem .85rem rgba(31,35,40,.16));
}

.kg-case-cat-body{
  position:absolute;
  left:2rem;
  right:2rem;
  bottom:1.05rem;
  height:8.5rem;
  border:1px solid rgba(69,86,112,.18);
  border-radius:46% 46% 34% 34%;
  background:linear-gradient(180deg, #f7c56f, #d58b43);
}

.kg-case-cat-head{
  position:absolute;
  left:2.15rem;
  top:1.35rem;
  width:9.1rem;
  height:8.15rem;
  border:1px solid rgba(69,86,112,.18);
  border-radius:48% 48% 44% 44%;
  background:linear-gradient(180deg, #ffd483, #e7a14f);
}

.kg-case-cat-ear{
  position:absolute;
  top:-1.28rem;
  width:2.65rem;
  height:2.65rem;
  border:1px solid rgba(69,86,112,.18);
  background:#efad5d;
  clip-path:polygon(50% 0, 0 100%, 100% 100%);
}

.kg-case-cat-ear-left{
  left:.68rem;
  transform:rotate(-18deg);
}

.kg-case-cat-ear-right{
  right:.68rem;
  transform:rotate(18deg);
}

.kg-case-cat-eye{
  position:absolute;
  top:3.18rem;
  width:.62rem;
  height:.9rem;
  border-radius:999px;
  background:#1f2328;
}

.kg-case-cat-eye-left{ left:2.8rem; }
.kg-case-cat-eye-right{ right:2.8rem; }

.kg-case-cat-nose{
  position:absolute;
  left:50%;
  top:4.2rem;
  width:.58rem;
  height:.45rem;
  border-radius:50% 50% 58% 58%;
  background:#b35454;
  transform:translateX(-50%);
}

.kg-case-cat-whisker{
  position:absolute;
  top:4.72rem;
  width:2.05rem;
  height:1px;
  border-radius:999px;
  background:rgba(31,35,40,.52);
}

.kg-case-cat-whisker-left-a{ left:.9rem; transform:rotate(8deg); }
.kg-case-cat-whisker-left-b{ left:.9rem; top:5.18rem; transform:rotate(-8deg); }
.kg-case-cat-whisker-right-a{ right:.9rem; transform:rotate(-8deg); }
.kg-case-cat-whisker-right-b{ right:.9rem; top:5.18rem; transform:rotate(8deg); }

.kg-case-cat-tail{
  position:absolute;
  right:.25rem;
  bottom:4.4rem;
  width:4.1rem;
  height:6.2rem;
  border:1rem solid #d58b43;
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(20deg);
}

.kg-case-cat-paw{
  position:absolute;
  z-index:5;
  bottom:3.95rem;
  width:2.05rem;
  height:1.45rem;
  border:1px solid rgba(69,86,112,.16);
  border-radius:999px;
  background:#f5bd68;
}

.kg-case-cat-paw-left{ left:3.55rem; transform:rotate(-8deg); }
.kg-case-cat-paw-right{ right:3.55rem; transform:rotate(8deg); }

.kg-case-cat-laptop{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:2.08rem;
  display:flex;
  align-items:center;
  justify-content:center;
  width:7.2rem;
  height:4.1rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:.7rem .7rem .45rem .45rem;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.78));
  color:var(--kgp-accent-2);
  transform:translateX(-50%);
  box-shadow:var(--kgp-shadow-soft);
}

.kg-case-cat-laptop::after{
  content:"";
  position:absolute;
  left:-.65rem;
  right:-.65rem;
  bottom:-.42rem;
  height:.55rem;
  border-radius:999px;
  background:rgba(69,86,112,.18);
}

.kg-case-cat-laptop i{
  font-size:1.45rem;
}

[data-bs-theme="dark"] .kg-case-cat-body{
  background:linear-gradient(180deg, #d69b58, #8f5e39);
}

[data-bs-theme="dark"] .kg-case-cat-head{
  background:linear-gradient(180deg, #e6b164, #a8703f);
}

[data-bs-theme="dark"] .kg-case-cat-ear{
  background:#b87945;
}

[data-bs-theme="dark"] .kg-case-cat-tail{
  border-top-color:#8f5e39;
  border-right-color:#8f5e39;
}

[data-bs-theme="dark"] .kg-case-cat-paw{
  background:#ca8849;
}

[data-bs-theme="dark"] .kg-case-cat-laptop{
  background:linear-gradient(180deg, rgba(22,27,34,.94), rgba(15,23,42,.80));
}

@media (prefers-reduced-motion: no-preference){
  .kg-case-cat{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-case-output-inner{
    grid-template-columns:1fr;
  }

  .kg-case-result-mascot{
    min-height:17rem;
  }
}

@media (max-width: 575.98px){
  .kg-case-result-mascot{
    min-height:15rem;
  }

  .kg-case-cat{
    width:11.5rem;
    height:13.8rem;
  }

  .kg-case-result-card-b{
    right:6%;
  }
}


/* Cases page: mascot illustrations in hero and result */
.kg-case-hero-brief-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(12.5rem, .82fr);
  gap:1rem;
  align-items:end;
}

.kg-case-hero-brief-copy{
  display:grid;
  gap:1rem;
}

.kg-case-hero-brief-visual{
  position:relative;
  min-height:20rem;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.kg-case-hero-mascot-img,
.kg-case-result-mascot-img{
  display:block;
  max-width:100%;
  height:auto;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
}

.kg-case-hero-mascot-img{
  max-height:18rem;
}

.kg-case-hero-float{
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--kgp-border-strong);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:var(--kgp-accent-2);
  padding:.44rem .68rem;
  font-size:.78rem;
  font-weight:800;
  box-shadow:var(--kgp-shadow-soft);
  backdrop-filter:blur(10px);
}

[data-bs-theme="dark"] .kg-case-hero-float{
  background:rgba(22,27,34,.84);
}

.kg-case-hero-float-a{ left:3%; top:16%; }
.kg-case-hero-float-b{ right:0; top:37%; }
.kg-case-hero-float-c{ left:10%; bottom:12%; }

.kg-case-result-mascot{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:1rem;
}

.kg-case-result-mascot-img{
  max-height:16.8rem;
  width:auto;
}

@media (prefers-reduced-motion: no-preference){
  .kg-case-hero-mascot-img,
  .kg-case-result-mascot-img{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-case-hero-brief-layout{
    grid-template-columns:1fr;
  }

  .kg-case-hero-brief-visual{
    min-height:16rem;
  }

  .kg-case-hero-mascot-img{
    max-height:14rem;
  }

  .kg-case-result-mascot-img{
    max-height:14.6rem;
  }
}

@media (max-width: 575.98px){
  .kg-case-hero-brief-visual{
    min-height:14rem;
  }

  .kg-case-hero-float{
    font-size:.72rem;
    padding:.4rem .58rem;
  }

  .kg-case-hero-float-b{
    right:3%;
  }

  .kg-case-result-mascot{
    padding:.75rem;
  }

  .kg-case-result-mascot-img{
    max-height:12.9rem;
  }
}


/* Cases page: mascot-only blocks */
.kg-case-hero-brief{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24rem;
  padding:1.2rem;
}

.kg-case-hero-mascot-img{
  display:block;
  max-width:100%;
  max-height:21rem;
  width:auto;
  height:auto;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
}

.kg-case-result-mascot{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:18rem;
  padding:1rem;
}

.kg-case-result-mascot-img{
  display:block;
  max-width:100%;
  max-height:16.8rem;
  width:auto;
  height:auto;
  filter:drop-shadow(0 1rem 1rem rgba(31,35,40,.16));
}

@media (prefers-reduced-motion: no-preference){
  .kg-case-hero-mascot-img,
  .kg-case-result-mascot-img{
    animation:kg-mascot-float 6s ease-in-out infinite;
  }
}

@media (max-width: 991.98px){
  .kg-case-hero-brief{
    min-height:18rem;
  }

  .kg-case-hero-mascot-img{
    max-height:15rem;
  }

  .kg-case-result-mascot-img{
    max-height:14.6rem;
  }
}

@media (max-width: 575.98px){
  .kg-case-hero-brief{
    min-height:15rem;
    padding:.9rem;
  }

  .kg-case-result-mascot{
    min-height:14rem;
    padding:.75rem;
  }

  .kg-case-hero-mascot-img{
    max-height:12.8rem;
  }

  .kg-case-result-mascot-img{
    max-height:12.2rem;
  }
}


/* Cases page: hero mascot tuning */
.kg-cases-page .kg-hero-grid{
  align-items:start;
}

.kg-cases-page .kg-title{
  max-width:54rem;
}

.kg-cases-page .kg-case-hero-brief{
  align-self:start;
  align-items:flex-start;
  min-height:26rem;
  padding:0 1.1rem 1.1rem;
  margin-top:-.35rem;
}

.kg-cases-page .kg-case-hero-mascot-img{
  max-height:24rem;
  width:auto;
  transform:translateY(-.55rem);
}

@media (max-width: 991.98px){
  .kg-cases-page .kg-case-hero-brief{
    min-height:20rem;
    padding:.3rem 1rem 1rem;
    margin-top:0;
  }

  .kg-cases-page .kg-case-hero-mascot-img{
    max-height:18rem;
    transform:none;
  }
}

@media (max-width: 575.98px){
  .kg-cases-page .kg-case-hero-brief{
    min-height:17rem;
    padding:.4rem .8rem .8rem;
  }

  .kg-cases-page .kg-case-hero-mascot-img{
    max-height:15.5rem;
  }
}

/* Targeted public-page refinements: centered mascots, media blocks, FAQ and pricing tables. */
.kg-home-page .kg-ai-layout-media-left{
  grid-template-columns:minmax(15rem, .84fr) minmax(0, 1.16fr);
}

.kg-home-page .kg-ai-layout-media-left .kg-ai-visual img{
  left:50%;
}

.kg-showcase-inner-media-left{
  grid-template-columns:minmax(15rem, .66fr) minmax(0, 1.12fr);
}

.kg-showcase-inner-media-left .kg-showcase-img img{
  left:0;
  right:auto;
}

.kg-faq-dialog{
  display:grid;
  gap:.82rem;
}

.kg-faq-item{
  border:1px solid var(--kgp-border-strong) !important;
  border-radius:1.15rem !important;
  background:var(--kgp-panel);
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
}

.kg-faq-item .accordion-button{
  gap:.7rem;
  min-height:3.6rem;
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.72));
  color:var(--kgp-ink);
  font-weight:700;
  line-height:1.35;
  box-shadow:none;
}

.kg-faq-item .accordion-button span:not(.kg-faq-speaker){
  display:block;
  padding-right:.5rem;
}

.kg-faq-item .accordion-button:not(.collapsed){
  background:linear-gradient(135deg, rgba(9,105,218,.08), rgba(99,122,198,.10)), var(--kgp-panel);
  color:var(--kgp-ink);
}

.kg-faq-speaker,
.kg-faq-answer-bubble > span,
.kg-plan-table-note{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
  border:1px solid var(--kgp-border);
  border-radius:999px;
  background:rgba(9,105,218,.08);
  color:var(--kgp-accent);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1;
  padding:.34rem .58rem;
  white-space:nowrap;
}

.kg-faq-item .accordion-body{
  padding:.95rem 1.15rem 1.1rem;
  background:var(--kgp-panel);
  border-top:1px solid var(--kgp-border);
}

.kg-faq-answer-text{
  max-width:62rem;
  margin:0;
  color:var(--kgp-muted);
  font-size:.96rem;
  line-height:1.62;
}

.kg-faq-answer-bubble{
  display:block;
  max-width:62rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.kg-faq-answer-bubble p{
  margin:0;
  color:var(--kgp-muted);
  font-size:.96rem;
  line-height:1.62;
}

.kg-plan-table-stack{
  display:grid;
  gap:1rem;
}

.kg-plan-table-panel{
  border:1px solid var(--kgp-border-strong);
  border-radius:var(--kgp-radius);
  background:var(--kgp-panel);
  box-shadow:var(--kgp-shadow-soft);
  overflow:hidden;
}

.kg-plan-table-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:clamp(1rem, 2.4vw, 1.35rem);
  border-bottom:1px solid var(--kgp-border);
  background:linear-gradient(135deg, rgba(9,105,218,.06), rgba(99,122,198,.08));
}

.kg-plan-table-note{
  background:rgba(245,158,11,.10);
  color:#9a5b00;
  border-color:rgba(245,158,11,.24);
}

.kg-plan-table{
  --bs-table-bg:transparent;
  --bs-table-color:var(--kgp-ink);
  color:var(--kgp-ink);
  min-width:760px;
}

.kg-plan-table thead th{
  border-bottom:1px solid var(--kgp-border-strong);
  color:var(--kgp-muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  white-space:nowrap;
}

.kg-plan-table tbody th{
  width:11rem;
  font-weight:800;
}

.kg-plan-table td,
.kg-plan-table th{
  padding:1rem 1.15rem;
  border-color:var(--kgp-border);
  vertical-align:top;
}

.kg-plan-table td{
  color:var(--kgp-muted);
  font-size:.92rem;
  line-height:1.45;
}

.kg-plan-table td strong{
  color:var(--kgp-ink);
  white-space:nowrap;
}

[data-bs-theme="dark"] .kg-faq-item .accordion-button{
  background:linear-gradient(180deg, rgba(22,27,34,.92), rgba(15,23,42,.74));
}

[data-bs-theme="dark"] .kg-faq-item .accordion-button:not(.collapsed){
  background:linear-gradient(135deg, rgba(88,166,255,.10), rgba(141,163,255,.09)), var(--kgp-panel);
}

[data-bs-theme="dark"] .kg-faq-answer-bubble{
  background:rgba(15,23,42,.52);
}

[data-bs-theme="dark"] .kg-plan-table-note{
  color:#f5c46b;
}

@media (max-width: 991.98px){
  .kg-home-page .kg-ai-layout-media-left,
  .kg-showcase-inner-media-left{
    grid-template-columns:1fr;
  }

  .kg-showcase-inner-media-left .kg-showcase-img{
    order:0;
  }
}

@media (max-width: 767.98px){
  .kg-home-page .kg-ai-layout-media-left .kg-ai-visual img{
    left:50%;
  }

  .kg-showcase-inner-media-left .kg-showcase-img img{
    left:50%;
    right:auto;
    transform:translateX(-50%);
  }

  .kg-faq-item .accordion-button{
    align-items:flex-start;
    gap:.5rem;
  }

  .kg-plan-table-head{
    flex-direction:column;
  }
}


/* Public hero normalization: every top page uses the same text/mascot geometry as index. */
.kg-public-page .kg-public-hero .kg-hero-grid{
  align-items:center;
}
.kg-public-page .kg-public-hero .kg-hero-copy{
  min-width:0;
}
.kg-public-page .kg-public-hero .kg-mascot-stage-hero{
  min-height:clamp(22rem, 42vw, 35rem);
}
.kg-public-page .kg-public-hero .kg-mascot-stage-hero .kg-mascot-img-center{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  max-width:min(86%, 30rem);
  max-height:88%;
  transform:translate(-50%, -50%);
}
.kg-cases-page .kg-public-hero .kg-hero-grid{
  align-items:center;
}
