/* ===== v2 components — translated from Keevaath Visual System ===== */

/* ---- HERO ---- */
.hero-v2 {
  display: grid; grid-template-columns: 1.08fr 0.92fr;
  min-height: 660px; border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line); background: var(--paper);
}
.hero-type {
  position: relative; z-index: 2; overflow: hidden;
  padding: var(--space-section) clamp(28px,5vw,64px);
  display: flex; flex-direction: column; justify-content: center;
  background-image: repeating-linear-gradient(180deg, rgba(15,26,36,.045) 0 1px, transparent 1px 68px);
}
.hero-drift {
  position: absolute; top: -90px; left: -70px; width: 520px; height: 520px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 34%, rgba(212,83,126,.16), transparent 60%),
              radial-gradient(circle at 66% 62%, rgba(186,117,23,.16), transparent 62%),
              radial-gradient(circle at 46% 84%, rgba(99,153,34,.14), transparent 64%);
  filter: blur(18px); animation: drift 13s ease-in-out infinite; pointer-events: none;
}
.hero-ghostK {
  position: absolute; right: -40px; bottom: -130px;
  font-family: var(--font-display); font-size: 420px; line-height: .7;
  color: rgba(15,26,36,.045); pointer-events: none; user-select: none;
}
.hero-inner { position: relative; }
.eyebrow-row { display: flex; align-items: center; gap: 14px; margin-bottom: 30px; }
.eyebrow-rule { width: 34px; height: 1px; background: var(--mangal); }
.eyebrow-mono {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 2.6px;
  text-transform: uppercase; color: var(--mangal);
}
.hero-h1 { margin:0; }
.hero-word {
  display:block;
  font-family: var(--font-display); font-size: clamp(52px,7vw,88px);
  line-height: .96; font-weight: 400; margin: 0 0 8px; letter-spacing: -3px;
}
.hero-word-grad {
  font-style: italic; margin-bottom: 26px;
  background: linear-gradient(100deg,#A63860,#8A5610 46%,#45690F);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-rule {
  height: 2px; width: 180px; background: var(--mangal);
  transform-origin: left; animation: ruleGrow 1.4s cubic-bezier(.16,1,.3,1) both;
  margin-bottom: 26px;
}
.hero-sub {
  font-size: clamp(18px,2.2vw,21px); line-height: 1.55; color: var(--slate);
  max-width: 440px; margin: 0 0 38px; text-wrap: pretty;
}
.hero-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-grad {
  background: linear-gradient(100deg,#A63860,#8A5610 46%,#45690F);
  color: var(--paper); border: 0;
}
.btn-grad:hover { color: #fff; filter: brightness(1.08); }

.hero-img {
  position: relative; overflow: hidden; background: var(--dark-2);
  min-height: 520px; margin-left: -11%;
  clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
}
.hero-kenburns { position: absolute; inset: 0; animation: kenburns 34s ease-in-out infinite; }
.hero-kenburns img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-ring {
  position: absolute; left: 50%; top: 46%; width: 520px; height: 520px;
  margin: -260px 0 0 -260px; border-radius: 50%;
  border: 1px solid rgba(250,248,244,.5);
  animation: ringOut 9s ease-out infinite; pointer-events: none;
}
.hero-ring-2 { border-color: rgba(250,248,244,.35); animation-delay: 3s; }
.hero-labels { position: absolute; inset: 0; pointer-events: none; }
.hero-label {
  position: absolute; top: 42%;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px;
  text-transform: uppercase; color: rgba(250,248,244,.7);
}
.hero-label-l { left: 12%; }
.hero-label-r { right: 12%; }

/* ---- CREDENTIALS TICKER ---- */
.cred-ticker {
  background: var(--panel); border-bottom: 1px solid var(--line);
  overflow: hidden; padding: 14px 0;
}
.cred-track {
  display: flex; gap: 40px; align-items: center; justify-content: center;
  flex-wrap: wrap; padding: 0 24px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--slate);
}
.cred-lead { color: var(--mangal); font-weight: 500; }

/* ---- TWO CORES ---- */
.cores-head { margin-bottom: 3rem; }
.cores-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line); }
.core {
  position: relative; overflow: hidden; padding: clamp(28px,4vw,48px);
  display: block; color: var(--ink); text-decoration: none;
  transition: background var(--t-base);
}
.core-talent { background: linear-gradient(160deg, rgba(212,83,126,.05), transparent 60%); }
.core-consulting { background: linear-gradient(160deg, rgba(99,153,34,.06), transparent 60%); border-left: 1px solid var(--line); }
.core:hover { background-color: rgba(255,255,255,.5); }
.core-numeral {
  position: absolute; right: 20px; top: 10px;
  font-family: var(--font-display); font-size: 190px; line-height: 1;
  font-weight: 400; pointer-events: none;
}
.core-talent .core-numeral { color: rgba(212,83,126,.12); }
.core-consulting .core-numeral { color: rgba(99,153,34,.13); }
.core-eyebrow {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px;
  text-transform: uppercase; color: var(--slate); display: block; margin-bottom: 10px;
}
.core h3 { position: relative; }
.core-tag { font-family: var(--font-display); font-style: italic; font-size: 1.15rem; margin-bottom: 1.5rem; }
.core-talent .core-tag { color: var(--deep-rose); }
.core-consulting .core-tag { color: var(--deep-green); }
.core-rail { position: relative; height: 40px; margin-bottom: 1.5rem; }
.rail-line { position: absolute; top: 6px; left: 0; right: 0; height: 2px; background: var(--line); }
.core-talent .rail-line { background: linear-gradient(90deg, var(--shukra), transparent); }
.core-consulting .rail-line { background: linear-gradient(90deg, var(--budha), transparent); }
.rail-node {
  position: absolute; top: 14px; transform: translateX(-50%);
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 1px;
  text-transform: uppercase; color: var(--slate); white-space: nowrap;
}
.rail-node::before {
  content: ""; position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  width: 7px; height: 7px; border-radius: 50%;
}
.core-talent .rail-node::before { background: var(--shukra); }
.core-consulting .rail-node::before { background: var(--budha); }
.core-list { list-style: none; counter-reset: c; margin-bottom: 1.5rem; }
.core-list li {
  counter-increment: c; padding: 12px 0; border-top: 1px solid var(--line);
  position: relative; padding-left: 34px; font-size: 0.98rem;
}
.core-list li::before {
  content: "0" counter(c); position: absolute; left: 0; top: 12px;
  font-family: var(--font-mono); font-size: 11px; color: var(--slate);
}
.core-open { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--surya); }

/* ---- METHOD TEASER ---- */
.method-teaser { background: var(--paper); }
.method-teaser h2 { margin-bottom: 1rem; }

/* ---- CLIENTS ---- */
.clients-strip {
  height: 96px; margin-top: 1.2rem; border: 1px dashed var(--line);
  border-radius: var(--radius); background: var(--panel);
  display: flex; align-items: center; justify-content: center;
}
.clients-note { font-family: var(--font-mono); font-size: 12px; color: var(--slate); }

/* ---- CTA DARK ---- */
.cta-dark { background: var(--dark); color: #fff; }
.cta-dark h2 { color: #fff; }
.cta-dark .lead { color: #C7CDD3; }

/* ---- Responsive ---- */
@media (max-width: 860px) {
  .hero-v2 { grid-template-columns: 1fr; }
  .hero-img { margin-left: 0; clip-path: none; min-height: 320px; order: -1; }
  .cores-grid { grid-template-columns: 1fr; }
  .core-consulting { border-left: 0; border-top: 1px solid var(--line); }
}

/* ===== ABOUT PAGE ===== */
.pagehead { padding-top: clamp(48px,7vw,88px); padding-bottom: clamp(32px,4vw,48px); }
.pagehead h1 { max-width: 16ch; margin: 0.5rem 0 1.2rem; }
.two-col { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: clamp(32px,5vw,64px); align-items: start; }

.cred-panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 2rem; }
.cred-list { list-style: none; margin: 0.5rem 0 1.5rem; }
.cred-list li { padding: 0.6rem 0; border-bottom: 1px solid var(--line); font-size: 0.98rem; }
.cred-list li:last-child { border-bottom: 0; }
.cred-k { font-weight: 600; color: var(--mangal); }
.cred-ids { display: flex; flex-direction: column; gap: 0.4rem; font-family: var(--font-mono); font-size: 0.82rem; color: var(--slate); }
.cred-ids b { color: var(--ink); font-weight: 500; }

/* ===== METHOD LEDGER (signature, dark aubergine, interactive) ===== */
.method { padding-bottom: 0; }
.method .container { margin-bottom: 2.5rem; }
.ledger { background: var(--dark); color: var(--paper); padding: clamp(40px,5vw,60px) clamp(28px,5vw,64px) clamp(48px,6vw,68px); }
.ledger-tabs { display: flex; gap: 34px; margin-bottom: 34px; flex-wrap: wrap; }
.ledger-tab {
  background: none; border: 0; cursor: pointer; padding: 0 0 8px;
  font-family: var(--font-mono); font-size: 14px; letter-spacing: 2px;
  color: rgba(250,248,244,.5); border-bottom: 2px solid transparent;
  transition: all var(--t-base);
}
.ledger-tab:hover { color: rgba(250,248,244,.8); }
.ledger-tab.active { color: var(--paper); border-bottom-color: var(--guru); }
.ledger-panel { position: relative; overflow: hidden; border-top: 2px solid var(--guru); padding-top: 34px; }
.ledger-panel[hidden] { display: none; }
.scanbar {
  position: absolute; left: 0; right: 0; height: 130px;
  background: linear-gradient(180deg, transparent, rgba(250,248,244,.05), transparent);
  animation: scanBar 6s linear infinite; pointer-events: none;
}
.ledger-head { position: relative; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 26px; flex-wrap: wrap; }
.ledger-word { font-family: var(--font-display); font-size: clamp(32px,5vw,46px); letter-spacing: 8px; color: var(--paper); }
.ledger-word-rose { color: #F0A0BC; }
.ledger-word-green { color: #A8CE72; }
.ledger-meta { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 2px; text-transform: uppercase; color: rgba(250,248,244,.5); }
.ledger-grid { position: relative; display: grid; grid-template-columns: repeat(2,1fr); gap: 0 56px; }
.lrow { display: flex; gap: 20px; align-items: center; padding: 15px 10px; border-bottom: 1px solid rgba(250,248,244,.14); }
.lg { font-family: var(--font-display); font-size: 30px; color: var(--guru-lt, #E3A54B); width: 28px; flex-shrink: 0; }
.lg-rose { color: #F0A0BC; }
.lg-green { color: #A8CE72; }
.lrow span:last-child { font-size: 15.5px; line-height: 1.5; color: rgba(250,248,244,.86); }

/* ===== LEADERSHIP ===== */
/* Compact founder photo */
.leader .two-col { grid-template-columns: 260px 1fr; gap: clamp(28px,4vw,52px); align-items: center; }
.leader .leader-photo { aspect-ratio: 4/5; max-width: 260px; border-radius: var(--radius-lg); }
@media (max-width: 860px){
  .leader .two-col { grid-template-columns: 1fr; }
  .leader .leader-photo { max-width: 220px; }
}

.leader-photo { aspect-ratio: 4/5; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.leader-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.leader-photo-ph { font-family: var(--font-mono); font-size: 12px; color: var(--slate); }
.leader-title { font-family: var(--font-mono); font-size: 0.9rem; letter-spacing: 1px; text-transform: uppercase; color: var(--surya); margin-bottom: 1.2rem; }

@media (max-width: 860px) {
  .two-col { grid-template-columns: 1fr; }
  .ledger-grid { grid-template-columns: 1fr; }
}

/* ===== SERVICES PAGE ===== */
.svc-core { border-top: 1px solid var(--line); }
.svc-core-consulting { background: linear-gradient(180deg, rgba(99,153,34,.03), transparent 30%); }
.svc-core-head { margin-bottom: 3rem; }
.svc-core-head h2 { margin: 0.4rem 0 1rem; }

/* Audience doors */
.doors-intro { margin-bottom: 2rem; }
.doors { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-bottom: 4rem; }
.door {
  display: block; text-decoration: none; color: var(--ink);
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  background: var(--white); transition: transform var(--t-base), box-shadow var(--t-base);
}
.door:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.door-img { height: 190px; overflow: hidden; border-radius: 190px 190px 0 0; }
.door-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--t-slow); }
.door:hover .door-img img { transform: scale(1.05); }
.door-body { padding: 26px 28px 30px; text-align: center; }
.door-icon {
  width: 44px; height: 44px; margin: -44px auto 16px; border-radius: 50%;
  background: var(--paper); border: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center;
  position: relative; color: var(--deep-rose); font-size: 18px;
}
.door-body h3 { font-size: 27px; margin-bottom: 6px; }
.door-body p { font-size: 15px; color: var(--slate); margin: 0; }

/* Audience blocks with forms */
.aud-block {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(32px,5vw,64px);
  padding: var(--space-section-sm) 0; border-top: 1px solid var(--line); align-items: start;
}
.aud-block-alt { }
.aud-text h3 { margin: 0.4rem 0 1rem; }
.svc-list { list-style: none; margin: 1.2rem 0; }
.svc-list li { padding: 0.7rem 0 0.7rem 1.6rem; border-top: 1px solid var(--line); position: relative; font-size: 0.98rem; color: var(--slate); }
.svc-list li::before { content: "\2014"; position: absolute; left: 0; color: var(--mangal); }
.svc-list li b { color: var(--ink); font-weight: 600; }

.aud-form {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 2rem; position: sticky; top: 100px;
}
.aud-form h4 { font-family: var(--font-display); font-size: 1.4rem; margin-bottom: 1.2rem; }
.aud-form label { display: block; font-size: 0.85rem; color: var(--slate); margin-bottom: 1rem; font-weight: 500; }
.aud-form input, .aud-form textarea {
  display: block; width: 100%; margin-top: 0.35rem; padding: 0.65rem 0.8rem;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white);
  font-family: var(--font-body); font-size: 0.95rem; color: var(--ink);
}
.aud-form input:focus, .aud-form textarea:focus { outline: 2px solid var(--guru); outline-offset: 1px; border-color: var(--guru); }
.form-note { font-size: 0.82rem; color: var(--slate); margin: 0.5rem 0 1.2rem; }

/* Consulting lines */
.lines { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--line); }
.line { padding: clamp(24px,3vw,40px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; }
.line:nth-child(2n) { border-right: 0; }
.line:nth-last-child(-n+2) { border-bottom: 0; }
.line-num { font-family: var(--font-mono); font-size: 12px; color: var(--deep-green); letter-spacing: 1px; }
.line h3 { margin: 0.5rem 0 0.8rem; }
.svc-cta { font-family: var(--font-mono); font-size: 0.82rem; letter-spacing: 1px; text-transform: uppercase; color: var(--deep-green); font-weight: 500; }

@media (max-width: 860px) {
  .doors { grid-template-columns: 1fr; }
  .aud-block { grid-template-columns: 1fr; }
  .aud-form { position: static; }
  .lines { grid-template-columns: 1fr; }
  .line { border-right: 0; }
}

/* ===== COOKIE CONSENT BANNER ===== */
.consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 300;
  background: var(--dark); color: var(--paper);
  border-top: 3px solid transparent;
  border-image: var(--grad-thread) 1;
  animation: consentUp 0.4s cubic-bezier(.16,1,.3,1) both;
}
@keyframes consentUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.consent-inner {
  max-width: var(--container); margin: 0 auto;
  padding: 1.1rem clamp(20px,5vw,48px);
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; justify-content: space-between;
}
.consent-text { margin: 0; font-size: 0.9rem; color: #D8D2CE; max-width: 720px; line-height: 1.5; }
.consent-text a { color: var(--guru-lt,#E3A54B); text-decoration: underline; }
.consent-btns { display: flex; gap: 0.7rem; flex-shrink: 0; }
.consent-btns .btn { padding: 0.6rem 1.3rem; font-size: 0.9rem; }
.consent-decline { color: var(--paper); border-color: rgba(250,248,244,.3); background: transparent; }
.consent-decline:hover { border-color: var(--paper); color: var(--paper); }
@media (max-width: 640px){ .consent-inner { flex-direction: column; align-items: stretch; } .consent-btns { justify-content: flex-end; } }

/* ===== INDUSTRIES ORBIT ===== */
.orbit-section { padding-bottom: 2rem; }
.orbit { position: relative; height: 460px; max-width: 720px; margin: 0 auto; }
.orbit-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px solid var(--line); transform: translate(-50%,-50%); }
.orbit-ring-1 { width: 300px; height: 300px; animation: spin 40s linear infinite; }
.orbit-ring-2 { width: 460px; height: 460px; border-style: dashed; border-color: var(--line); animation: spin 60s linear infinite reverse; }
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.orbit-hub {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: 96px; height: 96px; border-radius: 50%; background: var(--paper);
  border: 1px solid var(--line); display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 4px; z-index: 2;
}
.orbit-hub img { width: 34px; height: 34px; }
.orbit-hub span { font-family: var(--font-mono); font-size: 9px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--slate); }
.orbit-node {
  position: absolute; transform: translate(-50%,-50%);
  background: var(--white); border: 1px solid var(--line); border-radius: 100px;
  padding: 8px 16px; font-size: 13px; font-weight: 500; white-space: nowrap;
  box-shadow: var(--shadow-sm);
}
.orbit-node.n1 { left: 50%; top: 6%; border-color: var(--mangal); color: var(--mangal); font-weight: 600; }
.orbit-node.n2 { left: 88%; top: 32%; }
.orbit-node.n3 { left: 84%; top: 72%; }
.orbit-node.n4 { left: 50%; top: 94%; }
.orbit-node.n5 { left: 14%; top: 72%; }
.orbit-node.n6 { left: 12%; top: 32%; }
.orbit-caption { max-width: 560px; margin: 2rem auto 0; color: var(--slate); }

/* Sector detail */
.sector-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border: 1px solid var(--line); }
.sector { padding: clamp(24px,3vw,36px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sector:nth-child(3n) { border-right: 0; }
.sector:nth-last-child(-n+3) { border-bottom: 0; }
.sector-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--surya); }
.sector h3 { margin: 0.5rem 0 0.7rem; font-size: 1.3rem; }
.sector p { font-size: 0.95rem; color: var(--slate); margin: 0; }

@media (max-width: 860px) {
  .orbit { height: 380px; }
  .orbit-ring-2 { width: 340px; height: 340px; }
  .orbit-ring-1 { width: 220px; height: 220px; }
  .orbit-node { font-size: 11px; padding: 6px 11px; }
  .sector-grid { grid-template-columns: 1fr; }
  .sector { border-right: 0; }
}

/* ===== ACCESSIBILITY TOOLBAR ===== */
:root { --a11y-scale: 1; }
body { font-size: calc(17px * var(--a11y-scale)); }
.a11y-bar { position: fixed; left: 18px; bottom: 18px; z-index: 250; }
.a11y-toggle {
  width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--white); color: var(--ink); font-size: 22px; cursor: pointer;
  box-shadow: var(--shadow-md); display: flex; align-items: center; justify-content: center;
}
.a11y-toggle:hover { border-color: var(--mangal); }
.a11y-toggle:focus-visible { outline: 3px solid var(--guru); outline-offset: 2px; }
.a11y-panel {
  position: absolute; left: 0; bottom: 58px;
  background: var(--white); border: 1px solid var(--line); border-radius: 26px;
  box-shadow: var(--shadow-lg); padding: 6px; display: flex; flex-direction: row; gap: 5px; align-items: center;
}
.a11y-h { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--slate); padding: 0.3rem 0.5rem; }
.a11y-panel button { display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--ink); font-size: 0.9rem; font-weight:600; cursor: pointer; transition: border-color var(--t-base), background var(--t-base); }
.a11y-panel button:hover { border-color: var(--mangal); background: var(--panel); }
.a11y-panel button:focus-visible { outline: 2px solid var(--guru); outline-offset: 1px; }

/* High-contrast mode */
.a11y-contrast { --slate: #2A2F35; --line: #7A8089; --surya: #8A2E10; --deep-rose:#7E2748; --deep-green:#2F470A; }
.a11y-contrast body { background: #fff; }
.a11y-contrast .lead { color: #1A1F24; }

/* Global visible focus for keyboard users (WCAG 2.4.7) */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--guru); outline-offset: 2px; border-radius: 3px;
}

/* ===== PARTNERS PAGE ===== */
.ppaths { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ppath {
  display: block; text-decoration: none; color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: clamp(28px,4vw,44px); transition: transform var(--t-base), box-shadow var(--t-base);
  position: relative; overflow: hidden;
}
.ppath:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.ppath-rose { border-top: 3px solid var(--shukra); background: linear-gradient(160deg, rgba(212,83,126,.05), transparent 55%); }
.ppath-green { border-top: 3px solid var(--budha); background: linear-gradient(160deg, rgba(99,153,34,.06), transparent 55%); }
.ppath-eyebrow { font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--slate); }
.ppath h2 { margin: 0.6rem 0 0.8rem; }
.ppath p { color: var(--slate); }
.ppath-go { font-family: var(--font-mono); font-size: 0.82rem; letter-spacing: 1px; text-transform: uppercase; }
.ppath-rose .ppath-go { color: var(--deep-rose); }
.ppath-green .ppath-go { color: var(--deep-green); }

.partner-block { border-top: 1px solid var(--line); }
.partner-block-alt { background: linear-gradient(180deg, rgba(99,153,34,.03), transparent 30%); }
.aud-form select {
  display: block; width: 100%; margin-top: 0.35rem; padding: 0.65rem 0.8rem;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white);
  font-family: var(--font-body); font-size: 0.95rem; color: var(--ink);
}
.aud-form select:focus { outline: 2px solid var(--guru); outline-offset: 1px; }

.why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.why-item { padding: 1.8rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); }
.why-item h3 { font-size: 1.15rem; margin-bottom: 0.6rem; }
.why-item p { font-size: 0.95rem; color: var(--slate); margin: 0; }

@media (max-width: 860px) {
  .ppaths { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
}
.form-optional { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--surya); margin: 1.2rem 0 0.8rem; padding-top: 1rem; border-top: 1px dashed var(--line); }

/* ===== RESOURCES / MARKET SIGNAL ===== */
.signal-section { padding-top: 1rem; }
.signal { background: var(--dark); color: var(--paper); border-radius: var(--radius-lg); padding: clamp(32px,5vw,56px); display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(28px,4vw,56px); align-items: center; position: relative; overflow: hidden; }
.signal-badge { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }
.signal-blip { width: 9px; height: 9px; border-radius: 50%; background: #E36B3F; animation: blip 1.8s ease-in-out infinite; }
@keyframes blip { 0%,100%{opacity:.35;transform:scale(.8)} 50%{opacity:1;transform:scale(1.15)} }
.signal-name { font-family: var(--font-mono); font-size: 12px; letter-spacing: 3px; color: #E3A54B; }
.signal-freq { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1.5px; color: rgba(250,248,244,.55); }
.signal h2 { color: var(--paper); font-size: clamp(26px,3.5vw,38px); margin-bottom: 10px; }
.signal-sub { color: rgba(250,248,244,.66); margin-bottom: 24px; }
.signal-bars { display: flex; align-items: flex-end; gap: 5px; height: 34px; }
.signal-bars span { width: 7px; height: 34px; transform-origin: bottom; animation: sparkGrow 3.6s ease-in-out infinite; }
.signal-bars span:nth-child(1){background:rgba(250,248,244,.25)}
.signal-bars span:nth-child(2){background:rgba(250,248,244,.35);animation-delay:.2s}
.signal-bars span:nth-child(3){background:#E3A54B;animation-delay:.4s}
.signal-bars span:nth-child(4){background:#F0A0BC;animation-delay:.6s}
.signal-bars span:nth-child(5){background:#A8CE72;animation-delay:.8s}
.signal-bars span:nth-child(6){background:#E36B3F;animation-delay:1s}
.signal-form label { display: block; font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(250,248,244,.55); margin-bottom: 10px; }
.signal-input { display: flex; gap: 8px; }
.signal-input input { flex: 1; padding: 0.75rem 0.9rem; border: 1px solid rgba(250,248,244,.2); border-radius: var(--radius); background: rgba(250,248,244,.06); color: var(--paper); font-family: var(--font-body); font-size: 0.95rem; }
.signal-input input::placeholder { color: rgba(250,248,244,.4); }
.signal-input input:focus { outline: 2px solid var(--guru); border-color: var(--guru); }
.signal-note { font-size: 0.78rem; color: rgba(250,248,244,.45); margin-top: 12px; }

.res-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border: 1px solid var(--line); }
.res-card { padding: clamp(24px,3vw,36px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.res-card:nth-child(3n){border-right:0}
.res-card:nth-last-child(-n+3){border-bottom:0}
.res-status { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 9px; border-radius: 100px; border: 1px solid; }
.res-status.live { color: var(--deep-green); border-color: var(--budha); }
.res-status.soon { color: var(--surya); border-color: var(--guru); }
.res-card h3 { margin: 0.9rem 0 0.5rem; font-size: 1.3rem; }
.res-card p { font-size: 0.95rem; color: var(--slate); margin: 0; }
@media (max-width:860px){ .signal { grid-template-columns: 1fr; } .res-grid { grid-template-columns: 1fr; } .res-card { border-right: 0; } }

/* ===== ANNOUNCEMENTS ===== */
.ann-list { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--line); max-width: 820px; }
.ann { padding: 2.2rem 0; border-bottom: 1px solid var(--line); }
.ann-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 0.8rem; }
.ann-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 9px; border-radius: 100px; border: 1px solid var(--line); color: var(--slate); }
.ann-tag-kt { color: var(--deep-rose); border-color: var(--shukra); }
.ann-date { font-family: var(--font-mono); font-size: 11px; color: var(--slate); }
.ann h2 { font-size: 1.6rem; margin-bottom: 0.6rem; }
.ann p { color: var(--slate); max-width: 640px; }
.ann-link { font-family: var(--font-mono); font-size: 0.82rem; letter-spacing: 1px; text-transform: uppercase; color: var(--surya); font-weight: 500; }
.ann-more { margin-top: 2.5rem; color: var(--slate); }

/* ===== CONTACT ===== */
.contact-grid { display: grid; grid-template-columns: 1fr 0.7fr; gap: clamp(32px,5vw,64px); align-items: start; }
.contact-form { position: static; }
.contact-block { margin-bottom: 1.8rem; }
.contact-block p { margin: 0.3rem 0; }
.contact-block a { color: var(--surya); }
.contact-creds { font-family: var(--font-mono); font-size: 0.82rem; color: var(--slate); line-height: 1.9; }
@media (max-width:860px){ .contact-grid { grid-template-columns: 1fr; } }

/* ===== POLICY / LEGAL PAGES ===== */
.legal { max-width: 760px; }
.legal .pagehead { padding-bottom: 1.5rem; }
.legal-body { padding-top: 0; }
.legal-body h2 { font-size: 1.4rem; margin: 2.2rem 0 0.8rem; }
.legal-body h3 { font-size: 1.1rem; margin: 1.6rem 0 0.6rem; }
.legal-body p, .legal-body li { color: var(--ink); font-size: 1rem; line-height: 1.7; }
.legal-body ul { margin: 0 0 1.1rem 1.2rem; }
.legal-body li { margin-bottom: 0.5rem; }
.legal-updated { font-family: var(--font-mono); font-size: 0.8rem; color: var(--slate); margin-bottom: 1.5rem; }
.legal-review { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--guru); border-radius: var(--radius); padding: 1rem 1.2rem; font-size: 0.85rem; color: var(--slate); margin: 2rem 0; }
.legal-body a { color: var(--surya); }

/* ===== ROLLING LOGO STRIPS ===== */
.logo-strip-section { padding: var(--space-section-sm) 0; border-top: 1px solid var(--line); overflow: hidden; }
.logo-strip-label { text-align: center; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--slate); margin-bottom: 2rem; }
.logo-marquee { width: 100%; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.logo-track { display: inline-flex; gap: 20px; animation: logoScroll 40s linear infinite; will-change: transform; }
.logo-marquee:hover .logo-track { animation-play-state: paused; }
.logo-item { flex-shrink: 0; }
.logo-item img { height: 100px; width: auto; display: block; border: 1px solid var(--line); border-radius: 10px; }
@keyframes logoScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .logo-track { animation: none; flex-wrap: wrap; justify-content: center; } }

/* ===== PLATFORMS TEXT TREATMENT ===== */
.platforms-section { padding: var(--space-section) 0; border-top: 1px solid var(--line); }
.platforms-head { margin-bottom: 2.5rem; }
.platforms-head h2 { margin: 0.4rem 0 1rem; }
.platforms-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; border: 1px solid var(--line); }
.platform-cat { padding: clamp(24px,3vw,36px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.platform-cat:nth-child(2n) { border-right: 0; }
.platform-cat:nth-last-child(-n+2) { border-bottom: 0; }
.platform-cat h3 { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--deep-green); margin-bottom: 0.7rem; }
.platform-cat p { font-size: 1.05rem; color: var(--ink); margin: 0; line-height: 1.6; }
@media (max-width: 760px) { .platforms-grid { grid-template-columns: 1fr; } .platform-cat { border-right: 0; } }

/* ===== PROFESSIONAL POLISH: SERVICE IMAGERY ===== */
.pagehead-image { padding-bottom: 0; }
.pagehead-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(32px,5vw,64px); align-items: center; }
.pagehead-media { }
.pagehead-img { width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--line); display: block; }

.core-head-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(32px,5vw,56px); align-items: center; }
.core-head-grid-rev .core-head-text { order: 2; }
.core-head-grid-rev .core-head-media { order: 1; }
.core-img { width: 100%; height: auto; border-radius: var(--radius-lg); border: 1px solid var(--line); display: block; }
.core-head-text .lead { max-width: none; }

@media (max-width: 860px) {
  .pagehead-grid { grid-template-columns: 1fr; }
  .pagehead-media { display: none; }
  .core-head-grid { grid-template-columns: 1fr; }
  .core-head-grid-rev .core-head-text { order: 1; }
  .core-head-grid-rev .core-head-media { order: 2; }
}

/* Service-line visuals */
.line { position: relative; padding-top: 0 !important; overflow: hidden; }
.line-viz { margin: 0 calc(-1 * clamp(24px,3vw,40px)) 1.5rem; border-bottom: 1px solid var(--line); }
.line-viz img { width: 100%; height: auto; display: block; }
.line-num { display: inline-block; margin-top: 0; }

/* ===== 3D SERVICE LINES LAYOUT ===== */
.lines-3d{ display:flex; flex-direction:column; gap:clamp(40px,5vw,72px); }
.line-3d{ display:grid; grid-template-columns:1fr; gap:0; padding:0 !important; border:0 !important; background:none !important; }
.line-viz-3d{ width:100%; margin-bottom:28px; }
.line-body{ max-width:720px; }
.line-body .line-num{ display:inline-block; font-family:var(--font-mono); font-size:0.8rem; color:var(--deep-green); letter-spacing:0.1em; margin-bottom:0.4rem; }
.line-body h3{ margin:0 0 0.6rem; font-size:clamp(1.4rem,2.5vw,1.9rem); }
.line-body p{ color:var(--slate); margin-bottom:1rem; }
/* on wider screens, alternate the visual and text side by side for rhythm */
@media (min-width: 900px){
  .line-3d{ grid-template-columns:1.15fr 0.85fr; gap:clamp(32px,4vw,56px); align-items:center; }
  .line-viz-3d{ margin-bottom:0; }
  .line-3d:nth-child(even) .line-viz-3d{ order:2; }
  .line-3d:nth-child(even) .line-body{ order:1; }
}
/* mobile: keep visuals readable, never clip */
@media (max-width: 560px){
  .viz3d-stage{ height:180px; }
  .viz3d-eyebrow{ font-size:13px; }
  .viz3d-readout{ font-size:7px; letter-spacing:1.5px; }
}

/* ===== SITE SEARCH ASSISTANT ===== */
.kv-search-launch{ position:fixed; right:22px; bottom:22px; z-index:900; display:flex; align-items:center; gap:0;
  width:54px; height:54px; padding:0; border:0; border-radius:50%; cursor:pointer; overflow:hidden;
  background:var(--ink); color:var(--paper); font-family:var(--font-sans); font-size:0.9rem; font-weight:500;
  box-shadow:0 8px 24px rgba(15,26,36,0.28); transition:width 0.28s cubic-bezier(.4,0,.2,1), border-radius 0.28s, transform 0.2s, box-shadow 0.2s; white-space:nowrap; }
.kv-search-launch .kv-search-ico{ flex:0 0 54px; width:54px; height:54px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; }
.kv-search-launch .kv-search-lbl{ opacity:0; max-width:0; padding-right:0; transition:opacity 0.2s, max-width 0.28s, padding-right 0.28s; }
.kv-search-launch:hover, .kv-search-launch:focus-visible{ width:230px; border-radius:40px; }
.kv-search-launch:hover .kv-search-lbl, .kv-search-launch:focus-visible .kv-search-lbl{ opacity:1; max-width:170px; padding-right:20px; }
.kv-search-launch:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(15,26,36,0.35); }
.kv-search-launch.is-hidden{ opacity:0; pointer-events:none; transform:scale(0.9); }
.kv-search-ico{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%;
  background:var(--guru-saffron); color:var(--ink); font-weight:700; font-size:0.85rem; }

.kv-search-panel{ position:fixed; right:22px; bottom:22px; z-index:901; width:min(380px,calc(100vw - 44px));
  background:var(--paper); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  box-shadow:0 24px 60px rgba(15,26,36,0.3); opacity:0; transform:translateY(12px) scale(0.98); pointer-events:none;
  transition:opacity 0.24s, transform 0.24s; display:flex; flex-direction:column; max-height:min(560px,calc(100vh - 44px)); }
.kv-search-panel.is-open{ opacity:1; transform:none; pointer-events:auto; }
.kv-search-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px 12px;
  font-family:var(--font-serif); font-size:1.1rem; color:var(--ink); border-bottom:1px solid var(--line); }
.kv-search-close{ border:0; background:none; font-size:1.4rem; line-height:1; color:var(--slate); cursor:pointer; padding:0 4px; }
.kv-search-input{ margin:14px 18px 8px; padding:11px 14px; border:1px solid var(--line); border-radius:10px;
  font-family:var(--font-sans); font-size:0.92rem; color:var(--ink); background:#fff; outline:none; }
.kv-search-input:focus{ border-color:var(--guru-saffron); box-shadow:0 0 0 3px rgba(186,117,23,0.12); }
.kv-search-results{ overflow-y:auto; padding:4px 12px 8px; flex:1; }
.kv-search-hint{ padding:8px 6px; font-size:0.82rem; color:var(--slate); }
.kv-search-hint button{ display:inline-block; margin:4px 4px 0 0; padding:5px 11px; border:1px solid var(--line);
  border-radius:20px; background:var(--panel); color:var(--ink); font-size:0.78rem; cursor:pointer; font-family:var(--font-sans); }
.kv-search-hint button:hover{ border-color:var(--guru-saffron); }
.kv-search-hit{ display:block; padding:11px 12px; border-radius:10px; text-decoration:none; margin-bottom:2px; transition:background 0.15s; }
.kv-search-hit:hover{ background:var(--panel); }
.kv-search-hit-title{ display:block; font-family:var(--font-sans); font-weight:600; color:var(--ink); font-size:0.9rem; }
.kv-search-hit-text{ display:block; color:var(--slate); font-size:0.8rem; margin-top:2px; line-height:1.45; }
.kv-search-hit-page{ display:inline-block; margin-top:5px; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--guru-saffron); }
.kv-search-none{ padding:14px 8px; font-size:0.85rem; color:var(--slate); }
.kv-search-none a, .kv-search-foot a{ color:var(--guru-saffron); }
.kv-search-foot{ padding:12px 18px; border-top:1px solid var(--line); font-size:0.82rem; color:var(--slate); }
@media (max-width:560px){ .kv-search-launch span:not(.kv-search-ico){ display:none; } .kv-search-launch{ padding:14px; } }

/* ===== SPECIALIST CAPABILITY CALLOUT ===== */
.svc-specialist{ margin:1.2rem 0 1.4rem; padding:1rem 1.2rem; border-left:2px solid var(--deep-green);
  background:var(--panel); border-radius:0 8px 8px 0; }
.svc-specialist-tag{ display:inline-block; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--deep-green); margin-bottom:0.4rem; }
.svc-specialist p{ margin:0; font-size:0.92rem; color:var(--slate); line-height:1.6; }

/* ===== AUDIENCE & SPECIALIST VISUALS LAYOUT ===== */
.aud-viz{ margin-bottom:1.5rem; }
.aud-block{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:900px){
  .aud-block{ grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,48px); align-items:start; }
  .aud-viz{ grid-column:1 / -1; margin-bottom:0.5rem; }
}
.svc-specialist-viz{ margin-top:1rem; }

/* ===== INDUSTRY CARD VISUALS ===== */
.sector{ overflow:hidden; }
.ind-viz-wrap{ margin:calc(-1 * clamp(24px,3vw,36px)) calc(-1 * clamp(24px,3vw,36px)) 1.2rem; }
.ind-viz-wrap .ind-viz{ border-radius:0; }
@media (max-width:560px){ .ind-viz{ height:120px !important; } }

/* ===== TWO-CTA ROW (Migration) ===== */
.svc-cta-row{ display:flex; flex-wrap:wrap; gap:1.2rem 1.8rem; align-items:center; }
.svc-cta-row .svc-cta{ margin:0; }

/* ===== PLATFORM "launching" BADGE ===== */
.plat-badge{ display:inline-block; margin-left:0.5rem; font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--deep-green); background:rgba(99,153,34,0.1); border:1px solid rgba(99,153,34,0.3); border-radius:20px; padding:0.15rem 0.6rem; vertical-align:middle; }

/* Lift the search launcher above the cookie consent banner while it is showing */
body.consent-open .kv-search-launch,
body.consent-open .kv-search-panel{ bottom: 104px; }
@media (max-width:560px){ body.consent-open .kv-search-launch, body.consent-open .kv-search-panel{ bottom: 140px; } }
