/* KONAI v14 — readability, cohesive modules and final home-page geometry pass */

:root{
  --k-muted:#bccad8;
  --k-dim:#9eb1c4;
}

/* --------------------------------------------------------------------------
   1. READABILITY — descriptions need enough contrast on the dark system
   -------------------------------------------------------------------------- */
.lustro-inspired main p:not(.section-index):not(.eyebrow):not(.capability-count):not(.result-line):not(.faq-category),
.lustro-inspired .section-note,
.lustro-inspired .principle-strip span,
.lustro-inspired .nav-dropdown-menu a small,
.lustro-inspired .bridge-pane p,
.lustro-inspired .trust-step-detail,
.lustro-inspired .gateway-head p,
.lustro-inspired .gateway-card p,
.lustro-inspired .gateway-card footer span,
.lustro-inspired .workflow-step p,
.lustro-inspired .contract-copy p,
.lustro-inspired .contract-seal small,
.lustro-inspired .law-note,
.lustro-inspired .founding-card p,
.lustro-inspired .founding-cta p,
.lustro-inspired .faq-teaser p,
.lustro-inspired .pilot p,
.lustro-inspired .pilot-benefit p,
.lustro-inspired .faq-a,
.lustro-inspired .faq-a[hidden],
.lustro-inspired .risk-card p,
.lustro-inspired .solution-column li,
.lustro-inspired .solution-head>p{
  color:#bccad8!important;
}
.lustro-inspired .home-hero-lede,
.lustro-inspired .audience-hero-sub,
.lustro-inspired .audience-hero-line,
.lustro-inspired .story-copy>p:not(.section-index){color:#c2cfdb!important}
.lustro-inspired .story-copy .story-emphasis{color:#edf5fb!important}

/* --------------------------------------------------------------------------
   2. HOME HERO — align image-overlay copy and all three rights cards
   -------------------------------------------------------------------------- */
.lustro-inspired .identity-photo-label{
  left:20px!important;
  right:20px!important;
  bottom:18px!important;
  display:grid!important;
  grid-template-columns:minmax(92px,.45fr) minmax(0,1fr)!important;
  align-items:end!important;
  column-gap:18px!important;
}
.lustro-inspired .identity-photo-label span{
  align-self:end!important;
  max-width:100px!important;
  line-height:1.18!important;
  text-align:left!important;
}
.lustro-inspired .identity-photo-label b{
  justify-self:end!important;
  width:min(100%,330px)!important;
  max-width:330px!important;
  margin:0!important;
  text-align:right!important;
  line-height:1.05!important;
  text-wrap:balance!important;
}
.lustro-inspired .identity-rights-stack{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:stretch!important;
}
.lustro-inspired .identity-rights-stack article{
  min-width:0!important;
  min-height:84px!important;
  padding:11px 10px!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  row-gap:4px!important;
  align-content:center!important;
  align-items:center!important;
  overflow:hidden!important;
}
.lustro-inspired .identity-rights-stack .layer-no{
  grid-column:1!important;
  grid-row:1 / 3!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
}
.lustro-inspired .identity-rights-stack article>div{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  align-self:end!important;
}
.lustro-inspired .identity-rights-stack small{
  display:block!important;
  margin:0 0 4px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  letter-spacing:.10em!important;
}
.lustro-inspired .identity-rights-stack b{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.18!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.lustro-inspired .identity-rights-stack em{
  grid-column:2!important;
  grid-row:2!important;
  min-width:0!important;
  margin:0!important;
  font-size:8.5px!important;
  line-height:1.2!important;
  white-space:normal!important;
  align-self:start!important;
}

/* --------------------------------------------------------------------------
   3. WHY NOW — rebuild the section as one coherent permission-gap system
   -------------------------------------------------------------------------- */
.lustro-inspired .why{
  padding-top:clamp(96px,8vw,132px)!important;
  padding-bottom:clamp(96px,8vw,132px)!important;
}
.lustro-inspired .why>.section-heading{
  margin-bottom:32px!important;
  align-items:end!important;
}
.lustro-inspired .why>.section-heading h2{
  font-size:clamp(42px,4.7vw,70px)!important;
  max-width:980px!important;
}
.lustro-inspired .problem-intro{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.lustro-inspired .problem-intro>.problem-visual,
.lustro-inspired .problem-intro>.problem-copy{
  min-height:410px!important;
  height:100%!important;
  border:1px solid rgba(159,199,235,.18)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,rgba(12,31,53,.88),rgba(5,15,28,.80))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 24px 70px rgba(0,0,0,.16)!important;
}
.lustro-inspired .problem-visual{
  padding:24px!important;
  display:grid!important;
  place-items:center!important;
}
.lustro-inspired .problem-visual svg{
  width:100%!important;
  height:100%!important;
  max-height:360px!important;
  object-fit:contain!important;
}
.lustro-inspired .problem-copy{
  padding:clamp(26px,3vw,38px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.lustro-inspired .problem-copy>.eyebrow{margin:0!important}
.lustro-inspired .problem-copy h3{
  margin:12px 0 24px!important;
  font-size:clamp(30px,3vw,46px)!important;
  line-height:1.03!important;
  max-width:720px!important;
  text-wrap:balance!important;
}
.lustro-inspired .perspective-duo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
  min-width:0!important;
}
.lustro-inspired .perspective-card{
  min-width:0!important;
  min-height:170px!important;
  padding:18px!important;
  justify-content:flex-start!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.035)!important;
}
.lustro-inspired .perspective-card h4{
  margin:10px 0 8px!important;
  font-size:17px!important;
  line-height:1.18!important;
  text-wrap:balance!important;
}
.lustro-inspired .perspective-card p{
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.52!important;
}
.lustro-inspired .perspective-link{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:1fr auto 1fr!important;
  place-items:center!important;
  gap:8px!important;
  padding:6px 0!important;
}
.lustro-inspired .perspective-link i{
  width:1px!important;
  height:100%!important;
  min-height:24px!important;
  background:linear-gradient(transparent,rgba(97,220,255,.46),transparent)!important;
}
.lustro-inspired .perspective-link b{
  padding:6px 8px!important;
  border:1px solid rgba(255,213,74,.18)!important;
  border-radius:999px!important;
  background:rgba(255,213,74,.055)!important;
  white-space:nowrap!important;
}
.lustro-inspired .why .problem-grid{
  margin-top:14px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.lustro-inspired .why .problem-grid article{
  min-height:150px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,rgba(10,27,47,.72),rgba(6,18,32,.62))!important;
}

/* --------------------------------------------------------------------------
   4. CHAPTER DOCK — true glass, low visual obstruction
   -------------------------------------------------------------------------- */
.v10-chapter-dock{
  right:16px!important;
  padding:6px!important;
  gap:5px!important;
  border:1px solid rgba(178,220,244,.16)!important;
  background:rgba(5,14,25,.11)!important;
  -webkit-backdrop-filter:blur(15px) saturate(1.22)!important;
  backdrop-filter:blur(15px) saturate(1.22)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.v10-chapter-dock button{
  background:rgba(5,14,25,.05)!important;
  color:rgba(205,231,247,.72)!important;
  border-color:transparent!important;
}
.v10-chapter-dock button:hover{
  background:rgba(97,220,255,.10)!important;
  color:#f1fcff!important;
  border-color:rgba(97,220,255,.18)!important;
}
.v10-chapter-dock button.is-active{
  background:rgba(128,229,255,.56)!important;
  color:#06101d!important;
  border-color:rgba(224,249,255,.48)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.13),0 0 22px rgba(97,220,255,.16)!important;
}

/* --------------------------------------------------------------------------
   5. INFRASTRUCTURE FOOTER — one component, one visual voice, no dot mismatch
   -------------------------------------------------------------------------- */
.lustro-inspired .solution-footer{
  margin:10px 8px 8px!important;
  min-height:0!important;
  padding:13px 15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  border:1px solid rgba(126,205,238,.16)!important;
  border-radius:18px!important;
  background:linear-gradient(100deg,rgba(97,220,255,.055),rgba(111,140,255,.035))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  color:#b9c8d6!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
.lustro-inspired .solution-footer span{
  display:inline!important;
  min-width:0!important;
  color:#b9c8d6!important;
  line-height:1.45!important;
}
.lustro-inspired .solution-footer span::before{display:none!important;content:none!important}
.lustro-inspired .solution-footer span:last-child::before{
  display:inline!important;
  content:"—"!important;
  width:auto!important;
  height:auto!important;
  flex:none!important;
  margin:0 5px 0 2px!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:rgba(188,212,230,.48)!important;
}
.lustro-inspired .solution-footer b{
  display:inline-flex!important;
  align-items:center!important;
  padding:4px 7px!important;
  margin-right:5px!important;
  border:1px solid rgba(97,220,255,.22)!important;
  border-radius:999px!important;
  background:rgba(97,220,255,.07)!important;
  color:#eaf9ff!important;
  font:700 8px/1 var(--k-mono)!important;
  letter-spacing:.10em!important;
}

/* --------------------------------------------------------------------------
   6. LIMITED ACCESS — one compact card instead of three separated fragments
   -------------------------------------------------------------------------- */
.lustro-inspired .audience-hero-note{
  margin-top:24px!important;
  padding:13px 15px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:13px!important;
  row-gap:2px!important;
  justify-content:start!important;
  align-items:center!important;
  border:1px solid rgba(255,213,74,.30)!important;
  border-radius:18px!important;
  background:linear-gradient(100deg,rgba(255,213,74,.09),rgba(97,220,255,.045))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 16px 50px rgba(0,0,0,.13)!important;
  color:#d6e1ea!important;
}
.lustro-inspired .audience-hero-note::before{
  grid-column:1!important;
  grid-row:1 / 3!important;
  align-self:center!important;
  margin:0!important;
  box-shadow:none!important;
}
.lustro-inspired .audience-hero-note>span{
  grid-column:2!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  color:#c6d3df!important;
  line-height:1.45!important;
}
.lustro-inspired .audience-hero-note>span:first-of-type{grid-row:1!important}
.lustro-inspired .audience-hero-note>span:last-of-type{grid-row:2!important;color:#aebfce!important}
.lustro-inspired .audience-hero-note b{color:#fff4c7!important}

@media (max-width:960px){
  .lustro-inspired .problem-intro{grid-template-columns:1fr!important;gap:12px!important}
  .lustro-inspired .problem-intro>.problem-visual,
  .lustro-inspired .problem-intro>.problem-copy{min-height:0!important}
  .lustro-inspired .problem-visual{min-height:330px!important}
  .lustro-inspired .problem-copy{padding:24px!important}
  .lustro-inspired .perspective-duo{grid-template-columns:1fr!important}
  .lustro-inspired .perspective-link{grid-template-columns:1fr auto 1fr!important;grid-template-rows:1fr!important;min-height:42px!important}
  .lustro-inspired .perspective-link i{width:100%!important;height:1px!important;min-height:0!important}
  .lustro-inspired .identity-rights-stack b{font-size:10.5px!important}
}

@media (max-width:640px){
  .lustro-inspired .identity-photo-label{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .lustro-inspired .identity-photo-label b{justify-self:start!important;text-align:left!important;max-width:86%!important}
  .lustro-inspired .identity-rights-stack{grid-template-columns:1fr!important}
  .lustro-inspired .identity-rights-stack article{min-height:64px!important}
  .lustro-inspired .why>.section-heading h2{font-size:clamp(31px,10vw,46px)!important}
  .lustro-inspired .problem-visual{min-height:260px!important;padding:14px!important}
  .lustro-inspired .perspective-card{min-height:0!important}
  .lustro-inspired .audience-hero-note{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;gap:6px!important}
  .lustro-inspired .audience-hero-note::before{grid-column:1!important;grid-row:1!important;justify-self:start!important}
  .lustro-inspired .audience-hero-note>span:first-of-type{grid-column:1!important;grid-row:2!important}
  .lustro-inspired .audience-hero-note>span:last-of-type{grid-column:1!important;grid-row:3!important}
  .lustro-inspired .solution-footer{display:block!important}
  .lustro-inspired .solution-footer span{display:inline!important}
}
