/* =============================================================================
   Taloventra tv/solutions.css — package E (solutions hub, company-size pages,
   industries, programmes, how-it-works). Area prefix: tv-sol-*.
   Tokens only (no hex), logical properties only, no !important, mobile-first.
   Depends on tv/core.css for every tv-* component.
   ============================================================================= */

/* ---------- Legacy-layer guard (TV_LEGACY_PUBLIC): site.css styles bare <header> as the sticky site bar; keep section heads static.
   :where() keeps specificity at zero so core.css .tv-section-head--split still wins its grid at ≥900px. ---------- */
:where(.tv-page .tv-section-head){display:block;position:static;inset-block-start:auto;z-index:auto;block-size:auto;padding:0;border-block-end:0;gap:0;background:transparent}

/* ---------- Solutions hub: product row ---------- */
.tv-sol-products{display:grid;gap:var(--tv-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.tv-sol-products .tv-card--product{min-block-size:100%}
.tv-sol-products .tv-card__title{margin-block-start:var(--tv-sp-3xs)}
.tv-sol-products .tv-card__footer .tv-btn--ghost{min-block-size:44px}

/* ---------- Solutions hub: framework cards with programme chips ---------- */
.tv-sol-frameworks{display:grid;gap:var(--tv-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.tv-sol-framework{gap:var(--tv-sp-s)}
.tv-sol-framework__head{display:flex;align-items:center;gap:var(--tv-sp-s)}
.tv-sol-framework__title{margin:0;font-size:var(--tv-step-2)}
.tv-sol-framework__title a{color:var(--tv-heading);text-decoration:none}
.tv-sol-framework__title a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.tv-sol-framework__body{margin:0;font-size:var(--tv-step--1)}
.tv-sol-framework__chips{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:var(--tv-sp-2xs);margin:0;padding:0;list-style:none}
.tv-sol-framework__chips .tv-chip{min-block-size:40px;font-size:var(--tv-step--2)}
.tv-sol-framework .tv-card__arrow{z-index:1}

/* ---------- Split copy + aside pattern (Why it fits / Where to start) ---------- */
.tv-sol-split{display:grid;gap:var(--tv-sp-xl);align-items:start}
@media (width>=900px){.tv-sol-split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px)}}
.tv-sol-split .tv-section-head{margin-block-end:var(--tv-sp-m)}
.tv-sol-aside{gap:var(--tv-sp-s);padding:var(--tv-sp-l)}
.tv-sol-aside .tv-card__title{font-size:var(--tv-step-2);padding-inline-end:0}
.tv-sol-aside .tv-card__body{font-size:var(--tv-step-0)}
.tv-sol-aside .tv-btn--ghost{align-self:start}

/* ---------- Improvement loop ---------- */
.tv-sol-loop{margin-block-start:var(--tv-sp-l);display:inline-flex;align-items:center;gap:var(--tv-sp-2xs);padding:.55rem 1rem;border-radius:var(--tv-r-pill);background:var(--tv-bg-3);color:var(--tv-text-2);font:500 var(--tv-step--1)/1.3 var(--tv-font-ui)}
.tv-sol-loop .tv-icon{color:var(--tv-accent-text)}
.tv-sol-report{display:grid;gap:var(--tv-sp-l);align-items:start;margin-block-start:var(--tv-sp-2xl)}
@media (width>=900px){.tv-sol-report{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.tv-sol-report__copy h3{margin:0 0 var(--tv-sp-s)}
.tv-sol-report__copy p{margin:0 0 var(--tv-sp-m);max-inline-size:var(--tv-measure)}
.tv-sol-report .tv-notice{margin-block-end:var(--tv-sp-s)}
.tv-sol-report .tv-table table{min-inline-size:0}
.tv-sol-report .tv-table th,.tv-sol-report .tv-table td{min-inline-size:0}
.tv-sol-report .tv-table tbody th{inline-size:38%;background:var(--tv-surface-2);position:static}
.tv-sol-report .tv-caption{display:block;margin-block-start:var(--tv-sp-xs)}

/* ---------- Programme measures ---------- */
.tv-sol-measures{display:grid;gap:var(--tv-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.tv-sol-measure{gap:var(--tv-sp-2xs)}
.tv-sol-measure__title{margin:0;font-size:var(--tv-step-1)}
.tv-sol-measure__body{margin:0;font-size:var(--tv-step--1)}
.tv-sol-note{margin:var(--tv-sp-l) 0 0;font-size:var(--tv-step--1);color:var(--tv-text-3);max-inline-size:var(--tv-measure)}
.tv-sol-note a{color:var(--tv-link);text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent);text-underline-offset:.15em}
.tv-sol-note a:hover{text-decoration-color:currentColor;color:var(--tv-link-hover)}
.tv-sol-note .tv-icon--arrow{inline-size:16px;block-size:16px;vertical-align:-2px}

/* ---------- How it works: phases and steps ---------- */
.tv-sol-phase .tv-section-head{display:grid;gap:var(--tv-sp-xs)}
.tv-sol-phase__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tv-sp-xs)}
.tv-sol-phase__num{font:500 var(--tv-step-5)/1 var(--tv-font-display);font-variant-numeric:tabular-nums;letter-spacing:var(--tv-track-display);color:var(--tv-accent-text);font-variation-settings:"SOFT" 40,"WONK" 0}
[dir=rtl] .tv-sol-phase__num{font-family:var(--tv-font-ui);letter-spacing:0}
.tv-sol-steps{display:grid;gap:var(--tv-gap);margin:0;padding:0;list-style:none}
@media (width>=900px){.tv-sol-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tv-sol-step{position:relative;display:grid;gap:var(--tv-sp-xs);align-content:start;padding:var(--tv-sp-m);background:var(--tv-surface);border:1px solid var(--tv-border);border-radius:var(--tv-r-m);box-shadow:var(--tv-sh-1);scroll-margin-block-start:calc(var(--tv-header-h) + 72px)}
.tv-sol-step__top{display:flex;align-items:center;justify-content:space-between;gap:var(--tv-sp-s)}
.tv-sol-step__num{font:600 var(--tv-step-1)/1 var(--tv-font-ui);font-variant-numeric:tabular-nums;color:var(--tv-accent-text)}
.tv-sol-step__title{margin:0;font-size:var(--tv-step-1)}
.tv-sol-step__text{margin:0;font-size:var(--tv-step--1)}
.tv-sol-step .tv-btn--ghost{justify-self:start;margin-block-start:auto}
.tv-sol-steps--settlement .tv-sol-step{counter-reset:none}
@media (width>=900px){.tv-sol-steps--settlement{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- How it works: foundation bento ---------- */
.tv-sol-foundation .tv-bento__tile{gap:var(--tv-sp-s);justify-content:space-between}
.tv-sol-foundation .tv-bento__tile .tv-card__title{font-size:var(--tv-step-2);padding-inline-end:2.25rem}
.tv-sol-foundation .tv-bento__tile .tv-card__body{font-size:var(--tv-step-0)}
.tv-sol-foundation .tv-bento__tile.tv-dark{background:var(--tv-navy)}
.tv-sol-foundation .tv-bento__tile[data-hero] .tv-card__title{font-size:var(--tv-step-3)}

/* ---------- How it works: hero chips inside the hero meta ---------- */
.tv-hero .tv-sol-map{margin:0;padding:0}
.tv-hero .tv-sol-map ul{padding:0;inline-size:auto;flex-wrap:wrap}
.tv-hero--center .tv-sol-map ul{justify-content:center}
.tv-dark .tv-sol-map .tv-chip{background:transparent;color:var(--tv-text);border-color:var(--tv-border-strong)}
@media (hover:hover) and (pointer:fine){.tv-dark .tv-sol-map .tv-chip:hover{border-color:var(--tv-apricot);color:var(--tv-apricot)}}

/* ---------- Policy / method notices ---------- */
.tv-sol-policy{margin-block-start:var(--tv-sp-l)}

/* ---------- Related / footer grids inside bands ---------- */
.tv-sol-related .tv-section-head{margin-block-end:var(--tv-sp-l)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){.tv-sol-step,.tv-sol-framework{transition:none}}
