/* hz-soft.css (2026-11-01) - Horizon "soften + calm" layer. Loaded LAST under the redesign flag. Every rule is under html[data-rd]; flag-off is untouched.
   1 CALM   kill ambient infinite animations, backdrop/blur on chrome, content-visibility below the fold
   2 SOFT   large radii, tonal surfaces instead of bordered boxes, open stat rows, ruled lists, one hero object per page
   3 SHAPE  curved section/footers following the horizon (static CSS only, no filter, no blend)
   Rollback: remove the hz-soft.css <link> in includes/hz-chrome.php (hzHeadCss) or restore hz-chrome.php.bak-soft-20261101. */

html[data-rd]{--sf:rgba(255,255,255,.055);--sf2:rgba(255,255,255,.085);--sf-hover:rgba(255,255,255,.1);--sf-shadow:0 40px 90px -46px rgba(2,7,10,.7);--rs:var(--hz-r,12px);--rs-l:var(--hz-r,12px);--rs-m:var(--hz-r,12px);--hair:var(--hz-line);--band:rgba(255,255,255,.035)}
html[data-rd][data-ink=morning]{--sf:rgba(255,255,255,.52);--sf2:rgba(255,255,255,.7);--sf-hover:rgba(255,255,255,.78);--sf-shadow:0 36px 80px -48px rgba(23,31,68,.35);--band:rgba(255,255,255,.34)}

/* ---------- 1 CALM ---------- */
/* ambient loops from legacy tevos-index / tevos-assistant CSS: static (measured: sweep -1340ms, marquee -820ms, topbar blur -370ms per 3s at 4x) */
html[data-rd] .prompt-pill::before,html[data-rd] .prompt-pill::after{animation:none;display:none}
html[data-rd] .marq-track{animation:none;transform:none}
html[data-rd] .typing{animation:none}
html[data-rd] .typing::after{animation:none}
html[data-rd] :is(.live,.live-dot,.cs-pulse,.tc-pulse,.chip-stat .live,.marq-label .live,#ta-btn i,.aurora-blob){animation:none}
html[data-rd] .tc-pulse{box-shadow:none}
html[data-rd] .hz-scene :is(.hz-aur,.hz-stars,.hz-halo){animation:none}
/* backdrop-filter: exactly ONE, the small nav pill. Topbar and mobile sheet go tonal. */
html[data-rd] .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;background:linear-gradient(180deg,color-mix(in srgb,var(--hz-sky-a) 94%,transparent) 0,color-mix(in srgb,var(--hz-sky-a) 70%,transparent) 62%,transparent 100%)}
html[data-rd][data-ink=morning] .topbar{background:linear-gradient(180deg,color-mix(in srgb,var(--hz-sky-a) 88%,transparent) 0,color-mix(in srgb,var(--hz-sky-a) 55%,transparent) 62%,transparent 100%)}
html[data-rd] .nav{background:var(--sf2);border:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
html[data-rd] .hzm{-webkit-backdrop-filter:none;backdrop-filter:none;will-change:auto;background:var(--hz-pop)}
/* below-the-fold sections: skip render work until near the viewport, space reserved so there is no layout shift or pop-in */
html[data-rd] :is(#dim,.steps-section,#audience,.final){content-visibility:auto;contain-intrinsic-size:auto 760px}
html[data-rd] .final{contain-intrinsic-size:auto 560px}
html[data-rd] footer.lp-foot{content-visibility:auto;contain-intrinsic-size:auto 420px}
html[data-rd] :is(.bd-grid,.cd-grid,.hub-grid)>:nth-child(n+13){content-visibility:auto;contain-intrinsic-size:auto 180px}
html[data-rd] .jb-card:nth-child(n+9){content-visibility:auto;contain-intrinsic-size:auto 92px}
@media (prefers-reduced-motion:reduce){html[data-rd] *{scroll-behavior:auto}}

/* ---------- 2 SOFT ---------- */
/* chrome: tonal pills, no outlines */
html[data-rd] .hz-switch,html[data-rd] .btn-signin,html[data-rd] .btn-signin:hover,html[data-rd] .drawer-btn{border:0;background:var(--sf2)}
html[data-rd] :is(.auth-tabs,.role-selector){border:0;background:var(--sf2);border-radius:999px}

/* surfaces: one tonal fill, big radius, no outline, no default shadow */
html[data-rd] :is(.tvx-card,.tvx-card-emerald,.rd-hv,.jbp-card,.cd-card,.gx-card,.gx-note,.co-intel,.cid-card,.cp-card,.cp-stat,.cp-about,.kpi-tile,.co-cell,.hub-card,.shift-col,.stats-meta,.bd-cell,.bd-methodology,.bd-empty,.offer-form,.offer-res-card,.offer-contribute,.offer-stat,.about-card,.about-stat-bar,.hx-col,.hx-method,.art-card,.tpch-stat,.tpch-catalyst,.tpch-pane,.tpch-pull,.tpch-bet,.tpch-ask,.tmt-compare-card,.tmt-pipe-step,.lp-founder-card,.dim-card,.panel,.tc){background:var(--sf);border:0;border-radius:var(--rs);box-shadow:none}
html[data-rd] :is(.rd-hv,.jbp-card,.offer-form,.offer-res-card,.panel,.tc,.about-card,.tpch-pane,.hx-col){border-radius:var(--rs-l)}
/* the ONE hero object per page keeps elevation */
html[data-rd] :is(.score-card,.rd-hv,.offer-hero .offer-form,.tc){background:linear-gradient(160deg,var(--sf2),var(--sf));box-shadow:var(--sf-shadow)}
html[data-rd] .score-card{border:0;border-radius:var(--hz-r,12px);animation-duration:.9s}
html[data-rd] .score-card::before{display:none}
/* no card-in-card: anything surfaced inside a surface becomes open content */
html[data-rd] :is(.score-card,.rd-hv,.cd-card,.jbp-card,.cp-card,.co-intel,.panel,.dim-card,.offer-form,.offer-res-card,.gx-card,.tvx-card,.kpi-tile,.bd-cell,.hub-card) :is(.dim-chip,.sc-action,.cd-card-meta,.offer-stat,.sk-chip,.co-cell,.gx-note,.gx-tbl,.dim-icon-pill){background:transparent;border-color:transparent;box-shadow:none}
html[data-rd] .dim-icon-pill{background:var(--sf2);border:0}
/* hero stat grid (6 chips) -> open 3x2 rows with hairlines */
html[data-rd] .sc-dims{gap:0 28px}
html[data-rd] .dim-chip{border:0;border-top:1px solid var(--hair);border-radius:0;padding:14px 0 12px;background:transparent}
html[data-rd] .sc-action{border:0;border-top:1px solid var(--hair);border-radius:0;padding:18px 0 0;margin-top:8px}
html[data-rd] .sc-action .ic,html[data-rd] .sc-action .go{border-radius:50%}
html[data-rd] .dim-chip .dc-bar{border-radius:999px}
/* hero text sits directly on the sky: no lede box, no outline CTA frame */
html[data-rd][data-ink] .hz-trust,html[data-rd][data-ink] .hz-aside-link{background:none;border-radius:0;padding:0;width:auto;max-width:62ch;text-shadow:0 1px 14px rgba(2,7,10,.45)}
html[data-rd][data-ink=morning] .hz-trust,html[data-rd][data-ink=morning] .hz-aside-link{text-shadow:none}
html[data-rd] .hero-sub{text-shadow:0 1px 14px rgba(2,7,10,.4)}
html[data-rd][data-ink=morning] .hero-sub{text-shadow:none}
html[data-rd] .prompt-pill{background:var(--sf2);border:0;box-shadow:none;border-radius:999px}
html[data-rd] .prompt-pill:hover{border:0;box-shadow:none;background:var(--sf-hover)}
html[data-rd] .pp-attach{border:0;background:var(--sf2);border-radius:50%}
html[data-rd] .job-pill{background:var(--sf);border:0;border-radius:999px}
html[data-rd] .job-pill:hover{border:0;transform:none;background:var(--sf-hover)}
html[data-rd] :is(.tvx-eyebrow,.eyebrow-pill,.cp-eyebrow,.gx-eyebrow){border:0;background:var(--sf2);border-radius:999px}
/* steps -> open columns with a top rule */
html[data-rd] .step{background:transparent;border:0;border-top:1px solid var(--hair);border-radius:0;padding:22px 6px 0 0;transition:none}
html[data-rd] .step:hover{transform:none;border-color:var(--hair)}
html[data-rd] .steps-grid{gap:0 32px}
html[data-rd] .step-num{border:0;background:var(--sf2);border-radius:999px}
/* audience split: asymmetric pair */
html[data-rd] .split{gap:24px;align-items:start}
html[data-rd] .panel.cand,html[data-rd] .panel.recr{background:linear-gradient(160deg,var(--sf2),var(--sf))}
@media (min-width:921px){html[data-rd] .panel.recr{margin-top:56px}}
html[data-rd] .dim-grid{gap:20px}
html[data-rd] .dim-card:hover{transform:none;background:var(--sf2)}
html[data-rd] .dim-card::before{display:none}

/* stat strips: one open row with dividers instead of bordered boxes (gulf, stats, bands, jobs, home counters) */
html[data-rd] .rd-stats{gap:0;margin:8px 0 16px}
html[data-rd] .rd-tile,html[data-rd] .rd-stat.rd-tile{background:transparent;border:0;border-radius:0;box-shadow:none;border-left:1px solid var(--hair);padding:6px 28px;min-height:0}
html[data-rd] .rd-tile:first-child{border-left:0;padding-left:0}
@media (max-width:640px){html[data-rd] .rd-stats,html[data-rd] .rd-dv3{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-rd] .rd-tile{border-left:0;border-top:1px solid var(--hair);padding:14px 12px 10px 0}html[data-rd] .rd-tile:first-child{grid-column:1/-1}}
html[data-rd] :is(.stat-row,.kpi-row){gap:0}
html[data-rd] .stat-row .chip-stat,html[data-rd] .chip-stat{background:transparent;border:0;border-left:1px solid var(--hair);border-radius:0;padding:4px 20px}
html[data-rd] .stat-row .chip-stat:first-child{border-left:0;padding-left:0}

/* lists and tables: ruled rows with hover, no outer box */
html[data-rd] .jb-card{background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0;box-shadow:none;transition:background-color .15s}
html[data-rd] .jb-card:hover{background:var(--sf);border-radius:var(--rs-m);border-color:transparent}
html[data-rd] :is(.gx-tbl,table){border:0;background:transparent;border-radius:0}
html[data-rd] :is(.gx-tbl,table) :is(th,td){border-left:0;border-right:0;border-top:0;border-bottom:1px solid var(--hair)}
html[data-rd] :is(.gx-tbl,table) tbody tr:hover{background:var(--sf)}
html[data-rd] .cd-card-meta{border-top:1px solid var(--hair);padding-top:12px}

/* radii: pills for controls, chips fully rounded, large rounds elsewhere */
html[data-rd] :is(.btn-primary,.tvx-cta,.btn-cta,.pp-submit,.tvx-btn,.ref-btn,.oauth-btn,.jb-btn-primary,.jb-btn-ghost,.jb-btn-align,.jb-btn-apply,.jb-search-btn,.jb-page-btn,.jbp-btn,.offer-ghost-btn,.offer-pin,.offer-share-btn,.cd-pager a,.cd-pager span,.hz-nf-links a,.tc-go,.tc-retry){border-radius:999px}
html[data-rd] :is(.jb-search-input,.jb-filter-select,.jobs-main select,.modal-input,.uname-wrap,.bd-filters select,.bd-filters input,.offer-form select,.offer-form input){border-radius:999px}
html[data-rd] :is(.jb-tag,.jbp-chip,.cp-pill,.tag,.sk-chip,.bd-pill,.tvx-fresh,.jbp-skills li,.tc-pc,.tc-fc){border-radius:999px}
html[data-rd] .tc-in{border-radius:var(--rs-m)}
html[data-rd] .modal{border-radius:var(--rs-l)}

/* ---------- 3 SHAPE: curved transitions that follow the horizon (static) ---------- */
html[data-rd] :is(#dim,.steps-section,#audience,.final){position:relative;isolation:isolate}
html[data-rd] :is(#dim,#audience)::after{content:"";position:absolute;z-index:-1;inset:0 -4vw;background:linear-gradient(180deg,var(--band),transparent 78%);border-radius:50% 50% 0 0/clamp(48px,7vw,120px) clamp(48px,7vw,120px) 0 0;pointer-events:none}
html[data-rd] .final::after{content:"";position:absolute;z-index:-1;inset:0 -4vw;background:radial-gradient(ellipse 60% 70% at 50% 100%,var(--band),transparent 72%);pointer-events:none}
html[data-rd] #dim,html[data-rd] .steps-section,html[data-rd] #audience{padding-top:clamp(64px,9vw,128px)}
html[data-rd] footer.lp-foot{border-top:0;background:linear-gradient(180deg,var(--band),color-mix(in srgb,var(--hz-ground) 72%,transparent));border-radius:50% 50% 0 0/clamp(40px,6vw,96px) clamp(40px,6vw,96px) 0 0;margin-top:clamp(56px,8vw,112px)}

/* ---------- 4 CHIPS + CONTRAST (mf 2026-11-01) ---------- */
/* hero eyebrows on the inner pages share one chip (the .tvx-/.cp-/.gx-eyebrow pill above): tonal fill, 32px min height, mono caps, wraps cleanly on phones */
html[data-rd] :is(.tmt-eyebrow,.tap-eyebrow,.br-eyebrow,.tcr-eyebrow,.cty-eyebrow,.tcu-eyebrow,.ds-eyebrow,.dv-eyebrow,.hv-eyebrow,.ipj-eyebrow,.tmf-eyebrow,.tpch-hero-eyebrow,.sa-eyebrow,.sr-eyebrow,.srd-eyebrow,.sk-eyebrow,.soh-eyebrow,.soi-eyebrow,.tst-eyebrow,.dsg-eyebrow){display:inline-flex;align-items:center;gap:8px;width:fit-content;max-width:100%;min-height:32px;padding:6px 14px;border:0;border-radius:999px;background:var(--sf2);color:var(--hz-ink);font:500 12px/1.3 var(--hz-mono);letter-spacing:.06em;text-transform:uppercase;box-shadow:none}
html[data-rd] :is(.tmt-eyebrow,.tap-eyebrow,.br-eyebrow,.tcr-eyebrow,.cty-eyebrow,.tcu-eyebrow,.ds-eyebrow,.hv-eyebrow,.ipj-eyebrow,.tmf-eyebrow,.tpch-hero-eyebrow,.sa-eyebrow,.sr-eyebrow,.srd-eyebrow,.sk-eyebrow,.soh-eyebrow,.soi-eyebrow,.tst-eyebrow,.dsg-eyebrow)::before{display:none}
/* Gulf country chips sat directly on the sky (3.3-3.5:1): give them the tonal surface */
html[data-rd] .gx-chip{background:var(--sf2);border-color:transparent}
html[data-rd] .gx-chip.off{color:var(--hz-ink2)}
/* pink-text warn tag over the saturated morning sky (2.8:1) reads as ink */
html[data-rd][data-ink=morning] .tag.warn{color:var(--hz-ink)}

/* vc-20261102: no hover lifts / arrow nudges under the flag */
html[data-rd] :is(.step,.job-pill,.sc-action .go,.btn-signin,.tvx-btn.solid,.oauth-btn,.btn-primary,.tvx-cta,.tvx-btn.primary,.card):hover{transform:none}
html[data-rd] :is(.pp-submit:hover .arrow,.btn-cta:hover .arr,.np-links a:hover .ar){transform:none}
