/* Phase12 last substantial polish, isolated candidate only. Scoped to home and existing entry surfaces. */
:root{--tv12-ink:#153b35;--tv12-muted:#58736b;--tv12-line:#dae7e1;--tv12-accent:#116b5e;--tv12-pale:#f3f9f5}
body.tvx-home .tv9-discovery{background:linear-gradient(132deg,#ecf6f1 0%,#fcfefd 74%);border-color:#c9e2d6;box-shadow:0 12px 42px rgba(17,71,52,.055);margin-block:8px 22px}
body.tvx-home .tv9-eyebrow{color:#416f63;letter-spacing:.13em}
body.tvx-home .tv9-discovery__intro h2{color:var(--tv12-ink);line-height:1.35}
body.tvx-home .tv9-discovery__field{border-color:#82b7a6}
body.tvx-home .tv9-discovery__categories a{transition:background-color .14s,border-color .14s;box-shadow:none}
body.tvx-home .tv9-discovery__categories a:hover{transform:none;background:#e8f5ee}
body.tvx-home .tv12-editorial{margin:22px 0 25px;background:transparent;clear:both}
body.tvx-home .tv12-editorial__head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0 2px 17px}
body.tvx-home .tv12-editorial__head h2{margin:6px 0 5px;color:var(--tv12-ink);font-size:clamp(1.32rem,2.3vw,1.9rem);line-height:1.35;letter-spacing:-.035em}
body.tvx-home .tv12-editorial__head p{font-size:.84rem;line-height:1.7;margin:0;color:var(--tv12-muted);max-width:700px}
body.tvx-home .tv12-editorial__more{font-size:.83rem;white-space:nowrap;font-weight:750;color:var(--tv12-accent)!important;text-decoration:none!important;padding:8px 0;border-bottom:1px solid #9ac5b4}
body.tvx-home .tv12-editorial__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body.tvx-home .tv12-story{min-width:0;margin:0;padding:0;border:1px solid var(--tv12-line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 20px rgba(9,47,31,.03)}
body.tvx-home .tv12-story__link{display:grid;grid-template-columns:minmax(120px,34%) minmax(0,1fr);height:100%;min-height:176px;text-decoration:none!important;color:var(--tv12-ink)!important;gap:0}
body.tvx-home .tv12-story__image{display:block;min-width:0;height:100%;position:relative;overflow:hidden;background:linear-gradient(145deg,#dcece4,#b9d6c9)}
body.tvx-home .tv12-story__image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;aspect-ratio:auto}
body.tvx-home .tv12-story__fallback{position:absolute;inset:0;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;color:#346758;font-size:1.02rem;font-weight:850;letter-spacing:.1em;text-align:center}
body.tvx-home .tv12-story__fallback span{font-size:.52rem;font-weight:700;letter-spacing:.18em}
body.tvx-home .tv12-story__content{display:flex;flex-direction:column;align-items:start;gap:9px;padding:18px 17px;min-width:0}
body.tvx-home .tv12-story__meta{display:flex;flex-wrap:wrap;gap:6px;color:#457c6c;font-size:.68rem;font-weight:750;line-height:1.3}
body.tvx-home .tv12-story__meta>span{background:#eff8f2;border-radius:5px;padding:4px 6px}
body.tvx-home .tv12-story__content strong{font-size:clamp(.86rem,1.2vw,.97rem);font-weight:750;line-height:1.65;color:var(--tv12-ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.tvx-home .tv12-story__read{font-size:.73rem;font-weight:800;color:var(--tv12-accent);margin-top:auto;align-self:flex-start}
body.tvx-home .tv12-story__link:hover{background:#f8fcf9}
body.tvx-home .tv12-story__link:focus-visible,body.tvx-home .tv12-editorial__more:focus-visible{outline:3px solid #086b5e;outline-offset:3px}
body.tvx-home .tv9-labs{border-color:var(--tv12-line);background:#f9fcfa;box-shadow:none}
body.tvx-home .tv9-labs__nav a{background:white;min-height:0;padding:14px 13px}
body.tvx-home .tv9-labs__nav a strong{font-size:.85rem}
body.tvx-home .tv9-labs__nav a small{font-size:.7rem}
@media(max-width:900px){body.tvx-home .tv12-story__link{grid-template-columns:36% minmax(0,1fr);min-height:154px}body.tvx-home .tv12-story__content{padding:14px 13px;gap:7px}}
@media(max-width:680px){body.tvx-home .tv12-editorial{margin-block:20px 15px}body.tvx-home .tv12-editorial__head{align-items:start;gap:7px;flex-direction:column;margin-bottom:12px}body.tvx-home .tv12-editorial__head h2{font-size:1.33rem}body.tvx-home .tv12-editorial__head p{font-size:.78rem}body.tvx-home .tv12-editorial__more{font-size:.75rem;padding:3px 0}body.tvx-home .tv12-editorial__grid{grid-template-columns:1fr;gap:9px}body.tvx-home .tv12-story__link{grid-template-columns:118px minmax(0,1fr);min-height:130px}body.tvx-home .tv12-story__content{padding:11px 12px;gap:5px}body.tvx-home .tv12-story__content strong{font-size:.8rem;line-height:1.5;-webkit-line-clamp:3}body.tvx-home .tv12-story__meta{font-size:.61rem}body.tvx-home .tv12-story__read{font-size:.68rem}body.tvx-home .tv9-labs{margin-top:28px}body.tvx-home .tv9-labs__nav{gap:5px}body.tvx-home .tv9-labs__nav a{padding:12px}}
@media(max-width:360px){body.tvx-home .tv12-story__link{grid-template-columns:96px minmax(0,1fr)}body.tvx-home .tv12-story__content{padding:9px 10px}body.tvx-home .tv12-story__meta>span{padding:2px 3px}}
@media(prefers-reduced-motion:reduce){body.tvx-home .tv12-story__link{transition:none}}


/* Phase14.1 – Cocoon heading reset for ONLY the three reader-first home modules.
   Why: Cocoon applies an H2 background/padding/border which was not neutralized by
   Phase9-12 typography-only rules. Do not change article/category typography. */
body.tvx-home #tv9-discovery-title,
body.tvx-home #tv12-editorial-title,
body.tvx-home #tv9-labs-title {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #153b35 !important;
  -webkit-text-fill-color: #153b35 !important;
}
body.tvx-home #tv9-discovery-title::before,
body.tvx-home #tv9-discovery-title::after,
body.tvx-home #tv12-editorial-title::before,
body.tvx-home #tv12-editorial-title::after,
body.tvx-home #tv9-labs-title::before,
body.tvx-home #tv9-labs-title::after {
  content: none !important;
  display: none !important;
}
