/* THESIVE v3.4.8 — Targeted containment + mobile QA repairs
   Fixes: Portfolio Reality core geometry, Track Record hero clipping,
   and Origin mobile governed-context composition. */

:root{
  --v348-gold:#d9a13a;
  --v348-green:#6fce8f;
  --v348-ease:cubic-bezier(.22,.61,.36,1);
}

/* ------------------------------------------------------------
   PORTFOLIO REALITY
   Restore transform origin around the true center. v3.4.6's scale-only
   transform dropped translate(-50%,-50%), shifting the core into pf-d.
   ------------------------------------------------------------ */
.v341-portfolio-field .portfolio-field-core{
  transform:translate(-50%,-50%) scale(.985)!important;
  transform-origin:center center;
}
.v341-portfolio-field[data-v341-state="4"] .portfolio-field-core{
  transform:translate(-50%,-50%) scale(1.018)!important;
}
.v341-portfolio-field .portfolio-field-node{
  max-width:178px;
}
.v341-portfolio-field .portfolio-field-node.pf-c{left:5%!important;bottom:9%!important}
.v341-portfolio-field .portfolio-field-node.pf-d{right:5%!important;bottom:9%!important}

/* Keep the core itself visually above route geometry but below cards. */
.v341-portfolio-field svg{z-index:1!important;pointer-events:none}
.v341-portfolio-field .portfolio-field-core{z-index:3!important}
.v341-portfolio-field .portfolio-field-node{z-index:5!important}

/* ------------------------------------------------------------
   TRACK RECORD HERO / THE EVIDENCE
   v3.4.7 adds an income breakdown to the hero. Give the evidence surface
   enough physical height so the chart, legend, objective and footnote are
   not clipped by the fixed desktop hero container.
   ------------------------------------------------------------ */
.record-hero-v13{
  min-height:930px!important;
  padding-top:84px!important;
  padding-bottom:84px!important;
}
.record-viz-pro{
  height:770px!important;
  min-height:770px!important;
  overflow:hidden!important;
}
.record-chart-v16,
.record-chart-100{
  min-height:250px;
}
.record-pro-foot{
  display:block!important;
  margin-bottom:0!important;
}

@media(max-width:1180px){
  .record-hero-v13{min-height:900px!important}
  .record-viz-pro{height:735px!important;min-height:735px!important}
}

@media(max-width:980px){
  .record-hero-v13{
    min-height:0!important;
    padding-top:72px!important;
    padding-bottom:64px!important;
  }
  .record-viz-pro{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:760px!important;
    height:auto!important;
    min-height:0!important;
    margin:34px auto 0!important;
    overflow:visible!important;
  }
  .record-chart-v16,.record-chart-100{min-height:230px}
}

@media(max-width:700px){
  .record-viz-pro{padding:12px!important;overflow:hidden!important}
  .record-pro-kpis{grid-template-columns:1fr 1fr!important}
  .record-income-breakdown-v347{grid-template-columns:1fr!important}
  .record-chart-v16,.record-chart-100,.record-chart-pro{height:220px!important;min-height:220px!important}
  .record-goal-row{grid-template-columns:1fr!important}
  .record-goal{grid-column:auto!important;text-align:left!important;justify-content:start!important}
  .record-pro-foot{font-size:8px!important;line-height:1.5!important}
}

/* ------------------------------------------------------------
   ORIGIN — MOBILE GOVERNED CONTEXT
   Desktop keeps the spatial field. Phones/tablets receive a true flow:
   sources -> governed context -> Human Authority. No absolute collisions.
   ------------------------------------------------------------ */
@media(max-width:620px){
  .v340-origin-hero{
    min-height:0!important;
    padding:58px 0 34px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    overflow:visible!important;
  }
  .v340-origin-hero>.wrap{
    order:1;
    width:min(100% - 28px,var(--max));
    margin:0 auto!important;
    padding:0!important;
  }
  .v340-origin-hero .display,
  .v340-origin-hero h1{
    font-size:clamp(48px,15vw,66px)!important;
    line-height:.98!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
  }
  .v340-origin-hero .lead{
    font-size:18px!important;
    line-height:1.65!important;
  }

  .v343-origin-hero-field{
    order:2;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(100% - 28px,620px)!important;
    height:auto!important;
    min-height:0!important;
    margin:34px auto 0!important;
    padding:22px!important;
    opacity:1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-areas:
      "title title title"
      "evidence memory change"
      "core core core"
      "authority authority authority";
    gap:14px 10px!important;
    align-items:start!important;
    overflow:hidden!important;
  }
  .v343-origin-hero-field:before{inset:0!important}
  .v343-origin-title{
    grid-area:title;
    position:static!important;
    transform:none!important;
    margin:0 0 3px!important;
    text-align:center!important;
    font-size:8px!important;
  }
  .v343-origin-signal{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    min-width:0!important;
    padding:10px 7px!important;
    border:1px solid rgba(255,255,255,.055);
    border-radius:11px;
    text-align:center;
    justify-items:center;
    opacity:.48;
    overflow:hidden;
  }
  .v343-origin-signal:before{
    position:static!important;
    display:block!important;
    margin:0 auto 7px!important;
  }
  .v343-origin-signal.evidence{grid-area:evidence}
  .v343-origin-signal.memory{grid-area:memory}
  .v343-origin-signal.change{grid-area:change}
  .v343-origin-signal b{font-size:7.6px!important;letter-spacing:.11em!important}
  .v343-origin-signal small{font-size:7.2px!important;line-height:1.35!important;margin-top:4px!important}
  .v343-origin-routes{display:none!important}
  .v343-origin-core{
    grid-area:core;
    position:relative!important;
    left:auto!important;top:auto!important;
    transform:none!important;
    width:142px!important;height:142px!important;
    margin:8px auto 2px!important;
  }
  .v343-origin-core img{width:38px!important}
  .v343-origin-core b{bottom:22px!important;font-size:7px!important;max-width:104px!important}
  .v343-origin-authority{
    grid-area:authority;
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-height:62px!important;
    padding:12px 14px 12px 40px!important;
    margin-top:3px!important;
    box-sizing:border-box!important;
  }
  .v343-origin-authority:before{left:16px!important}
  .v343-origin-authority b{font-size:18px!important}
  .v343-origin-authority small{font-size:7px!important}

  .v343-origin-hero-field[data-v343-state="0"] .evidence,
  .v343-origin-hero-field[data-v343-state="1"] .memory,
  .v343-origin-hero-field[data-v343-state="2"] .change{
    opacity:1!important;
    transform:translateY(-2px)!important;
    border-color:rgba(224,164,62,.22)!important;
    box-shadow:0 0 22px rgba(224,164,62,.035)!important;
  }
  .v343-origin-hero-field[data-v343-state="3"] .v343-origin-core{
    transform:scale(1.025)!important;
  }
  .v343-origin-hero-field[data-v343-state="4"] .v343-origin-core{
    transform:none!important;
  }
  .v343-origin-hero-field[data-v343-state="4"] .v343-origin-authority{
    transform:none!important;
    opacity:1!important;
  }
}

@media(max-width:430px){
  .v343-origin-hero-field{
    grid-template-columns:1fr!important;
    grid-template-areas:"title" "evidence" "memory" "change" "core" "authority"!important;
    gap:9px!important;
    padding:18px!important;
  }
  .v343-origin-signal{display:grid!important;grid-template-columns:auto 1fr!important;text-align:left!important;justify-items:start!important;column-gap:9px!important;align-items:center!important}
  .v343-origin-signal:before{grid-row:1/3;margin:0!important}
  .v343-origin-signal small{grid-column:2!important;margin:0!important}
  .v343-origin-core{width:136px!important;height:136px!important;margin-top:8px!important}
}

@media(prefers-reduced-motion:reduce){
  .v343-origin-hero-field .v343-origin-signal,
  .v343-origin-hero-field .v343-origin-core,
  .v343-origin-hero-field .v343-origin-authority{transition:none!important}
}

/* Final collision guard after rendered bounding-box QA. */
@media(min-width:901px){
  .v341-portfolio-field .portfolio-field-core{width:170px!important;height:170px!important}
  .v341-portfolio-field .portfolio-field-node.pf-c{left:4%!important}
  .v341-portfolio-field .portfolio-field-node.pf-d{right:4%!important}
}
@media(max-width:900px){
  .v341-portfolio-field .portfolio-field-node{max-width:none!important}
  .v341-portfolio-field .pf-a{order:1!important}
  .v341-portfolio-field .pf-b{order:2!important}
  .v341-portfolio-field .pf-c{order:3!important}
  .v341-portfolio-field .pf-d{order:4!important}
  .v341-portfolio-field .portfolio-field-core{order:5!important}
}
@media(max-width:620px){
  .v341-portfolio-field .portfolio-field-node{
    width:100%!important;
    max-width:none!important;
    right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;
  }
  .v341-portfolio-field .portfolio-field-core{
    position:relative!important;
    margin:14px auto 0!important;
  }
}
@media(max-width:620px){
  .v341-portfolio-field .portfolio-field-core{
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
  }
  .v341-portfolio-field[data-v341-state="4"] .portfolio-field-core{transform:scale(1.012)!important}
}
