/* Tibyan: final layer, loaded last on every page.
   1. One tactile interaction system (buttons, search, rows, inputs): 150 to 220ms, no bounce, transform only.
   2. Page signatures added in the final pass (Contact Review Brief, About reveal, Data & BI, Services, Workflow).
   Everything resolves and stops; prefers-reduced-motion removes the movement and keeps the states. */
:root{--lift-t:190ms;--lift-ease:cubic-bezier(.2,.7,.2,1);--lift-shadow:0 12px 24px -12px rgba(20,21,26,.34);--lift-shadow-soft:0 8px 18px -12px rgba(20,21,26,.22)}

/* ---------- 1. interaction system ---------- */
.primary-button,.header-action,.tb-hero .cta-primary,.experience-controls button,.exp-action,.sorter-case,.subscribe-form button,.intel-form button,.pub-form button{transition:transform var(--lift-t) var(--lift-ease),box-shadow var(--lift-t) var(--lift-ease),background-color var(--lift-t),border-color var(--lift-t),color var(--lift-t)}
.primary-button>span[aria-hidden],.header-action>span,.tb-hero .cta-primary>span[aria-hidden],.primary-link span,.text-link span,.close-secondary .cs-arrow,.related-all span,.tb-hero .cta-secondary .arrow{display:inline-block;transition:transform var(--lift-t) var(--lift-ease)}
@media (hover:hover){
  .primary-button:hover,.tb-hero .cta-primary:hover{transform:translateY(-2px);box-shadow:var(--lift-shadow)}
  .header-action:hover{transform:translateY(-1px);box-shadow:var(--lift-shadow-soft)}
  .primary-button:hover>span[aria-hidden],.header-action:hover>span,.tb-hero .cta-primary:hover>span[aria-hidden]{transform:translate(2px,-2px)}
  .primary-link:hover span,.text-link:hover span,.close-secondary:hover .cs-arrow,.related-all:hover span{transform:translateX(3px)}
  .experience-controls button:hover,.exp-action:hover,.sorter-case:hover{transform:translateY(-1px);border-color:var(--ink);box-shadow:var(--lift-shadow-soft)}
}
.primary-button:active,.tb-hero .cta-primary:active,.header-action:active,.experience-controls button:active,.exp-action:active,.sorter-case:active{transform:translateY(0) scale(.985);box-shadow:none;transition-duration:90ms}
.experience-controls button:focus-visible,.exp-action:focus-visible,.sorter-case:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

/* search: quiet at rest, lifts on hover, sharper and elevated on focus; no layout shift */
.search{transition:transform var(--lift-t) var(--lift-ease),box-shadow var(--lift-t) var(--lift-ease),border-color var(--lift-t)}
.search-icon{transition:border-color var(--lift-t),transform var(--lift-t) var(--lift-ease)}
@media (hover:hover){.search:hover{transform:translateY(-1px);box-shadow:0 10px 16px -16px rgba(20,21,26,.45)}}
.search:focus-within{transform:translateY(-2px);border-bottom-color:var(--ink);box-shadow:0 14px 20px -18px rgba(20,21,26,.55)}
.search:focus-within .search-icon{border-color:var(--signal);transform:scale(1.06)}
.search:focus-within .search-icon::after{background:var(--signal)}
.search input:focus-visible{outline:none}
.search:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:6px;border-radius:2px}

/* article rows and stories: a small lift, the image responds, the title strengthens, the arrow moves */
.latest-article,.feature-story,.feature-secondary .story,.related-list li{transition:transform var(--lift-t) var(--lift-ease)}
.latest-title,.story-title{transition:color var(--lift-t)}
.latest-thumb img,.cover-art,.story-media img{transition:transform 420ms var(--lift-ease)}
@media (hover:hover){
  .latest-article:hover,.feature-secondary .story:hover{transform:translateY(-2px)}
  .feature-story:hover{transform:translateY(-1px)}
  .latest-article:hover .latest-thumb img,.feature-secondary .story:hover .story-media img{transform:scale(1.025)}
  .feature-story:hover .cover-art{transform:scale(1.012)}
  .latest-article:hover .latest-title,.feature-story:hover .story-title,.feature-secondary .story:hover .story-title{color:#000}
  .latest-article:hover .latest-arrow,.feature-story:hover .story-arrow{transform:translateX(3px)}
}
.page-insights:not(.page-article) .latest-article{box-shadow:none;background:transparent}

/* inputs: border sharpens on hover; focus lifts one pixel with a soft shadow */
.field input[type=text],.field input[type=email],.field textarea,.subscribe-form input[type=email],.intel-form input[type=email]{transition:border-color var(--lift-t),box-shadow var(--lift-t) var(--lift-ease),transform var(--lift-t) var(--lift-ease)}
.field input[type=text]:focus,.field input[type=email]:focus,.field textarea:focus{transform:translateY(-1px);box-shadow:0 10px 20px -14px rgba(20,21,26,.35);border-color:var(--ink)}

@media (prefers-reduced-motion:reduce){
  .primary-button,.header-action,.tb-hero .cta-primary,.experience-controls button,.exp-action,.sorter-case,.search,.latest-article,.feature-story,.feature-secondary .story,.field input,.field textarea{transition:none!important;transform:none!important}
  .latest-thumb img,.cover-art,.story-media img,.search-icon,[class*=arrow],.primary-link span,.header-action>span,.primary-button>span{transition:none!important;transform:none!important}
  [dir=rtl] :is(.story-arrow,.latest-arrow,.cs-arrow,.primary-link span,.header-action>span,.primary-button>span[aria-hidden],.related-all span){transform:scaleX(-1)!important}
}
@media (hover:hover){
  [dir=rtl] .primary-button:hover>span[aria-hidden],[dir=rtl] .tb-hero .cta-primary:hover>span[aria-hidden],[dir=rtl] .header-action:hover>span{transform:translate(-2px,-2px) scaleX(-1)}
  [dir=rtl] :is(.primary-link,.text-link,.related-all):hover span,[dir=rtl] .close-secondary:hover .cs-arrow,[dir=rtl] .latest-article:hover .latest-arrow,[dir=rtl] .feature-story:hover .story-arrow{transform:translateX(-3px) scaleX(-1)}
}

/* ---------- 2a. Contact · THE REVIEW BRIEF ---------- */
/* Abstract fragments align as each part of the request becomes clear. It never shows what was typed. */

.review-brief svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible;direction:ltr}

/* context is optional: when the brief is ready without it, its place is kept open, not filled */

.review-brief .rs-note{margin-top:18px}
@media (min-width:768px) and (max-width:1023px){
  .contact-aside .request-summary.review-brief{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:32px;align-items:center}
  .review-brief .aside-label,.review-brief .rs-note{grid-column:1}
  
}
@media (max-width:767px){
  .contact-aside .request-summary.review-brief{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:18px;align-items:center;padding:20px}
  .review-brief .aside-label{grid-column:1/-1}
  
  
  
  .review-brief .rs-note{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.review-brief *{transition:none!important}}

/* ---------- 2b. Data & BI · from records to a reason to act ---------- */
.bi-scene .bi-field{position:relative;padding:8px 0 0}
.bi-scene .experience-svg{display:block;width:100%;height:auto;min-height:0;overflow:visible;direction:ltr}
.bi-rec{transform-box:fill-box;transform-origin:center;transition:transform 820ms var(--lift-ease),opacity 520ms var(--lift-ease)}
.bi-rec rect{stroke-width:1;transition:fill 520ms,stroke 520ms}.bi-rec path{fill:none;stroke-width:1.5;stroke-linecap:round}
.bi-src-0 rect{fill:#E3EBE6;stroke:#B2C4B8}.bi-src-0 path{stroke:#8CA394}
.bi-src-1 rect{fill:#E4EBEE;stroke:#B4C5CB}.bi-src-1 path{stroke:#8DA2A9}
.bi-src-2 rect{fill:#E6E6E6;stroke:#CDBFA6}.bi-src-2 path{stroke:#A79778}
.bi-noise{fill:none;stroke:#C9C3BA;stroke-width:2;stroke-linecap:round;transition:opacity 520ms}
.bi-bed{fill:#FBFAF7;stroke:#DBDBDB;opacity:0;transition:opacity 520ms}
.bi-link{fill:none;stroke:#9DB0A6;stroke-width:1.2;stroke-dasharray:2 3;opacity:0;transition:opacity 520ms 320ms}
.bi-scale{fill:none;stroke:#BDB7AE;stroke-width:1;opacity:0;transition:opacity 520ms}
.bi-threshold{fill:none;stroke:#C4A7AE;stroke-width:1;stroke-dasharray:4 5;opacity:0;transition:opacity 520ms}
.bi-measure{fill:#8FA69A;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity 480ms var(--lift-ease),transform 520ms var(--lift-ease),fill 400ms}
.bi-trace,.bi-act-line{fill:none;stroke:var(--signal);stroke-width:1.5;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 820ms var(--lift-ease)}
.bi-decision{opacity:.12;transform-box:fill-box;transform-origin:center;transform:translateX(10px);transition:opacity 520ms,transform 620ms var(--lift-ease)}
.bi-decision rect{fill:#FEFDFC;stroke:#CECECE;transition:fill 420ms,stroke 420ms}.bi-decision path{fill:none;stroke:var(--paper);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity 300ms 320ms}
.bi-scene:not([data-phase="0"]) .bi-noise{opacity:0}
.bi-scene[data-phase="1"] .bi-bed{opacity:1}.bi-scene[data-phase="1"] .bi-link{opacity:1}
.bi-scene:is([data-phase="2"],[data-phase="3"],[data-phase="4"],[data-phase="5"]) :is(.bi-scale,.bi-threshold){opacity:1}
.bi-scene:is([data-phase="2"],[data-phase="3"],[data-phase="4"],[data-phase="5"]) .bi-measure{opacity:1;transform:none;transition-delay:380ms}
.bi-scene:is([data-phase="3"],[data-phase="4"],[data-phase="5"]) .bi-measure{opacity:.3;transition-delay:0ms}
.bi-scene:is([data-phase="3"],[data-phase="4"],[data-phase="5"]) .bi-measure[data-col="6"]{opacity:1;fill:var(--signal);transform:scale(1.35)}
.bi-scene:is([data-phase="4"],[data-phase="5"]) .bi-trace{stroke-dashoffset:0}
.bi-scene[data-phase="5"] .bi-act-line{stroke-dashoffset:0}
.bi-scene[data-phase="5"] .bi-decision{opacity:1;transform:none;transition-delay:420ms}
.bi-scene[data-phase="5"] .bi-decision rect{fill:var(--signal);stroke:var(--signal);transition-delay:520ms}.bi-scene[data-phase="5"] .bi-decision path{opacity:1;transition-delay:760ms}
.bi-notes{min-height:3.2em;margin:4px auto 0;max-width:40rem;text-align:center}
.bi-notes p{margin:0;font-size:1rem;line-height:1.5;color:var(--body)}.bi-notes strong{display:block;margin-bottom:2px;font-size:1.125rem;font-weight:500;color:var(--ink)}
.bi-scene[data-phase="5"] .bi-notes strong{color:var(--signal)}
.bi-controls .bi-no{margin-right:8px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;opacity:.6}
[dir=rtl] .bi-controls .bi-no{margin-right:0;margin-left:8px}
@media (max-width:767px){.bi-scene .experience-svg{width:128%;margin-inline:-14%}.bi-notes{min-height:4.6em;padding:0 4px}.bi-controls button{flex:1 1 30%}}
@media (prefers-reduced-motion:reduce){.bi-scene *{transition:none!important}}

/* ---------- 2c. Services · two capabilities, one operating picture ---------- */
.cap-judgment{opacity:0;transform-box:fill-box;transform-origin:bottom center;transform:translateY(6px);transition:opacity 420ms var(--lift-ease),transform 520ms var(--lift-ease)}
.cap-judgment circle{fill:var(--signal)}.cap-judgment path{fill:none;stroke:var(--signal);stroke-width:1.5}
.capabilities-experience:is([data-mode=work],[data-mode=both]) .cap-judgment{opacity:1;transform:none;transition-delay:520ms}
.capabilities-experience[data-mode=rest] .cap-human-boundary rect{stroke:#BDB7B0}.capabilities-experience[data-mode=rest] .cap-human-boundary path{stroke:#A9A39B}
.cap-noise path{fill:none;stroke:#C9C3BA;stroke-width:2;stroke-linecap:round;transition:opacity 520ms}
.capabilities-experience:is([data-mode=info],[data-mode=both]) .cap-noise path{opacity:0}
.cap-rel path{fill:none;stroke:#8FA69A;stroke-width:1.2;stroke-dasharray:2 3;opacity:0;transition:opacity 520ms 480ms}
.capabilities-experience:is([data-mode=info],[data-mode=both]) .cap-rel path{opacity:1}
.cap-signal-route{fill:none;stroke:var(--signal);stroke-width:1.5;stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset 720ms var(--lift-ease) 560ms}
.capabilities-experience:is([data-mode=info],[data-mode=both]) .cap-signal-route{stroke-dashoffset:0}
.cap-record rect{transition:fill 520ms,stroke 520ms}
.capabilities-experience:is([data-mode=info],[data-mode=both]) .cap-record[data-record="10"] rect{fill:#F0E9EB;stroke:var(--signal)}
.capabilities-experience:is([data-mode=info],[data-mode=both]) .cap-record[data-record="10"] path{stroke:var(--signal)}
.cap-note{min-height:3em;max-width:44rem;margin:0 auto;padding:0 24px;text-align:center;font-size:1rem;line-height:1.5;color:var(--body)}
@media (max-width:767px){.cap-note{min-height:4.5em;font-size:.9375rem;padding:0 16px}}
@media (prefers-reduced-motion:reduce){.capabilities-experience *{transition:none!important}}
.capabilities-experience .cap-note{order:2;margin-top:4px}.capabilities-experience .cap-scene{order:2}.capabilities-experience .cap-note{order:3}.capabilities-experience .cap-outcome{order:4}

/* ---------- 2d. Workflow & AI · the human-review moment ---------- */
.wf-person{opacity:.28;transition:opacity 420ms var(--lift-ease)}
.wf-person circle,.wf-person path{fill:none;stroke:#A9A39B;stroke-width:1.6;stroke-linecap:round;transition:stroke 420ms}
.wf-person-link{stroke-dasharray:2 3}
.workflow-experience[data-stage=judgment] .wf-person,.workflow-experience[data-stage=continue] .wf-person{opacity:1}
.workflow-experience[data-stage=judgment] .wf-person :is(circle,path){stroke:var(--signal)}
.workflow-experience[data-stage=continue] .wf-person :is(circle,path){stroke:#7F9A8C}
.wf-ring{fill:none;stroke:var(--signal);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.workflow-experience[data-stage=judgment] .wf-ring{animation:wf-ring 1100ms var(--lift-ease) 1 both}
@keyframes wf-ring{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.22)}}
.workflow-experience .review-zone{transition:fill 420ms,stroke 420ms}
.workflow-experience[data-stage=automation] .review-zone{fill:#F0F0F0;stroke:#D1D1D1}
.workflow-experience[data-stage=automation] .review-diamond{stroke:#BDB7B0}
.workflow-experience .experience-stages li{transition:color 300ms,border-color 300ms}
.workflow-experience .experience-stages li[data-active]{color:var(--ink);border-top-color:var(--ink)}
.workflow-experience .experience-stages li[data-wf-stage=judgment][data-active]{color:var(--signal);border-top-color:var(--signal)}
.workflow-experience[data-stage=judgment] .workflow-state{color:var(--signal)}
.workflow-experience .exp-action:disabled{opacity:.45;cursor:default}
@media (prefers-reduced-motion:reduce){.wf-ring{animation:none!important}.workflow-experience *{transition:none!important}}
.workflow-experience .experience-stages li:not([data-active]){color:var(--muted);border-top-color:var(--edge)}
.workflow-experience .workflow-state{color:var(--body);transition:color 300ms}.workflow-experience[data-stage=continue] .workflow-state{color:var(--ink)}.workflow-experience[data-stage=judgment] .workflow-state{color:var(--signal)}

/* Workflow & AI · system proceeds / person decides: the chosen lane leads, the other recedes */
.sorter[data-lane] .sorter-lane:not(.is-active){opacity:.5}
.sorter-lane{transition:background-color 300ms,border-color 300ms,opacity 300ms,transform var(--lift-t) var(--lift-ease)}
.sorter-lane.is-active{transform:translateY(-2px);box-shadow:var(--lift-shadow-soft)}
.sorter-lane[data-lane=system].is-active{background:#F1F5F2;border-color:#8FA69A;box-shadow:inset 0 3px 0 #63877B,var(--lift-shadow-soft)}
.sorter-lane[data-lane=person].is-active{background:#F7F3F4;border-color:var(--signal);box-shadow:inset 0 3px 0 var(--signal),var(--lift-shadow-soft)}
.sorter-lane .sl-label{font-weight:500}
.sorter.is-pulse .sorter-lane.is-active .sl-body{animation:sl-in 420ms var(--lift-ease) 1 both}
@keyframes sl-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (min-width:768px){.sorter-lanes{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:0}.sorter .sorter-boundary{display:flex}.sorter-boundary span{opacity:.35;transition:opacity 300ms}.sorter[data-lane=person] .sorter-boundary span{opacity:1}}
@media (prefers-reduced-motion:reduce){.sorter .sl-body{animation:none!important}.sorter-lane{transform:none!important}}

/* ---------- 2e. About · what sits beneath a result ---------- */
.about-visual-hero .rv2{margin-top:64px}
.rv2-stage{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;padding:48px 48px 40px}
.rv2-kicker{display:block;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rv2-surface{position:relative;z-index:1;grid-column:1/-1;justify-self:center;display:grid;gap:6px;width:min(460px,100%);padding:26px 32px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 36px -28px rgba(20,21,26,.4);transition:transform 720ms var(--lift-ease),box-shadow 720ms var(--lift-ease)}
.rv2-title{font-size:clamp(1.625rem,1.2rem + 1vw,2.125rem);font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.rv2-meta{font-size:.9375rem;color:#5E7F72}
.rv2:not([data-depth="0"]) .rv2-surface{transform:translateY(-6px);box-shadow:0 26px 44px -30px rgba(20,21,26,.45)}
.rv2-surface::after,.rv2-records::before,.rv2-rec::before{content:'';position:absolute;background:#BDB7B0;transition:opacity 520ms var(--lift-ease),transform 620ms var(--lift-ease)}
.rv2-surface::after{top:100%;left:50%;width:1px;height:28px}
.rv2-records{position:relative;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:56px 0 0;padding:0;list-style:none}
.rv2-records::before{top:-28px;left:16.66%;right:16.66%;height:1px;transform-origin:center}
.rv2-rec{position:relative;display:grid;align-content:start;gap:6px;min-height:148px;padding:20px 22px;background:var(--paper);border:1px solid var(--line);border-radius:10px;transition:opacity 620ms var(--lift-ease),transform 720ms var(--lift-ease),border-color 420ms,background-color 420ms}
.rv2-rec::before{top:-28px;left:50%;width:1px;height:28px}
.rv2-sys{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.rv2-name{font-size:1.0625rem;font-weight:500;color:var(--ink)}
.rv2-ev,.rv2-ex{display:flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.4;transition:opacity 520ms var(--lift-ease),transform 620ms var(--lift-ease)}
.rv2-ev{color:#4F6F62}.rv2-ev i{width:7px;height:7px;flex:none;border-radius:50%;background:#7F9A8C}
.rv2-ex{color:var(--signal)}.rv2-ex i{width:8px;height:8px;flex:none;border-radius:2px;background:var(--signal)}
.rv2-rule,.rv2-judgment{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 20px;margin:0;padding:16px 22px;font-size:.9375rem;line-height:1.5;color:var(--ink);border-radius:10px;transition:opacity 620ms var(--lift-ease),transform 720ms var(--lift-ease)}
.rv2-rule{grid-column:1/-1;margin-top:24px;background:#FBFAF7;border:1px solid #D2D2D2}
.rv2-judgment{grid-column:2/span 2;margin-top:16px;background:#F7F3F4;border:1px solid #DED2D5;border-inline-start:3px solid var(--signal)}
.rv2-judgment .rv2-kicker{color:var(--signal)}
/* depth: faint structure first, then each layer resolves */
.rv2 :is(.rv2-rec,.rv2-rule,.rv2-judgment){opacity:.16;transform:translateY(-8px)}
.rv2 :is(.rv2-ev,.rv2-ex){opacity:0;transform:translateY(4px)}
.rv2 :is(.rv2-surface::after){opacity:.2}
.rv2[data-depth="0"] :is(.rv2-records::before,.rv2-rec::before){opacity:.2}
.rv2:not([data-depth="0"]) .rv2-rec{opacity:1;transform:none}
.rv2 .rv2-rec:nth-child(2){transition-delay:90ms}.rv2 .rv2-rec:nth-child(3){transition-delay:180ms}
.rv2:is([data-depth="2"],[data-depth="3"]) .rv2-ev{opacity:1;transform:none}
.rv2:is([data-depth="2"],[data-depth="3"]) .rv2-rule{opacity:1;transform:none;transition-delay:200ms}
.rv2[data-depth="3"] .rv2-rec-exception{border-color:var(--signal);background:#FFFBFB}
.rv2[data-depth="3"] .rv2-rec-exception .rv2-ev{opacity:.45}
.rv2[data-depth="3"] .rv2-ex{opacity:1;transform:none}
.rv2[data-depth="3"] .rv2-judgment{opacity:1;transform:none;transition-delay:260ms}
.rv2-controls{padding:0 48px 32px}
@media (max-width:1023px){.rv2-stage{padding:36px 28px 28px}.rv2-controls{padding:0 28px 28px}}
@media (max-width:767px){
  .about-visual-hero .rv2{margin-top:40px}
  .rv2-stage{grid-template-columns:1fr;padding:28px 18px 20px}
  .rv2-records{grid-template-columns:1fr;gap:10px;margin-top:40px}
  .rv2-records::before{left:50%;right:auto;width:1px;top:-20px;bottom:0;height:auto}
  .rv2-rec::before{display:none}.rv2-surface::after{height:20px}
  .rv2-rec{min-height:0;padding:16px 18px}
  .rv2-rule,.rv2-judgment{grid-column:1;grid-template-columns:1fr;padding:14px 18px}
  .rv2-controls{padding:0 16px 20px}.rv2-controls button{flex:1 1 45%}
}
@media (prefers-reduced-motion:reduce){.rv2 *,.rv2 *::before,.rv2 *::after{transition:none!important}}
.rv2-rec>*,.rv2-rule>*,.rv2-judgment>*{transition:opacity 480ms var(--lift-ease)}
.rv2[data-depth="0"] .rv2-rec>*,.rv2:is([data-depth="0"],[data-depth="1"]) .rv2-rule>*,.rv2:not([data-depth="3"]) .rv2-judgment>*{opacity:0}
.rv2 :is(.rv2-rec,.rv2-rule,.rv2-judgment){opacity:.35}
.rv2-rec{min-height:124px}

/* ---------- 3. Insights · calmer publication rhythm ---------- */
/* fewer rules: section labels sit on whitespace; the masthead keeps the one structural line */
.page-insights:not(.page-article) .featured>.rail-label,.page-insights:not(.page-article) #latest .rail-head{border-top:0;padding-top:0}
.page-insights:not(.page-article) .featured>.rail-label{margin-bottom:20px}
.page-insights:not(.page-article) #latest{margin-top:128px}
.page-insights:not(.page-article) #latest .rail-head{margin-bottom:8px}
.page-insights:not(.page-article) .feature-lead .story-foot,.page-insights:not(.page-article) .feature-secondary .story-foot{border-top:0;padding-top:0}
.page-insights:not(.page-article) .latest-item{border:0}
/* pattern B: text with a wider landscape image */
.page-insights:not(.page-article) .editorial-wide .latest-article{grid-template-columns:40px minmax(0,1fr) minmax(0,1.1fr);column-gap:24px;align-items:center;padding:48px 0}.page-insights:not(.page-article) .editorial-wide .latest-thumb{margin-inline-start:20px}
.page-insights:not(.page-article) .editorial-wide .latest-main{grid-column:2;grid-row:1}
.page-insights:not(.page-article) .editorial-wide .latest-thumb{grid-column:3;grid-row:1;aspect-ratio:16/10}
.page-insights:not(.page-article) .editorial-wide .latest-arrow{display:none}
.page-insights:not(.page-article) .editorial-wide .latest-title{font-size:clamp(1.5rem,1.1rem + 1vw,2rem)}
/* pattern C: compact and text-led */
.page-insights:not(.page-article) .editorial-compact .latest-article{grid-template-columns:40px minmax(0,1fr) 18px;padding:24px 0}
.page-insights:not(.page-article) .editorial-compact .latest-thumb{display:none}
.page-insights:not(.page-article) .editorial-compact .latest-title{font-size:clamp(1.1875rem,1rem + .5vw,1.4375rem)}
@media (max-width:1199px){.page-insights:not(.page-article) .editorial-wide .latest-article{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr);column-gap:28px}}
@media (max-width:767px){
  .page-insights:not(.page-article) #latest{margin-top:88px}
  .page-insights:not(.page-article) .editorial-wide .latest-article{grid-template-columns:1fr;gap:16px;padding:32px 0}
  .page-insights:not(.page-article) .editorial-wide .latest-main{grid-column:1;grid-row:2}
  .page-insights:not(.page-article) .editorial-wide .latest-thumb{grid-column:1;grid-row:1}
  .page-insights:not(.page-article) .editorial-compact .latest-article{grid-template-columns:minmax(0,1fr) 18px;padding:20px 0}
}
@media (max-width:767px){.page-insights:not(.page-article) .editorial-wide .latest-thumb{margin-inline-start:0}}
.prototype-popular .popular-entry{min-height:32px;align-items:center;padding-block:4px}
.contact-aside .request-summary.review-brief{min-height:0}

[dir=rtl] .cap-lane-label{direction:ltr;align-items:flex-start;text-align:left}[dir=rtl] .cap-lane-label span{direction:rtl;unicode-bidi:isolate}
[dir=rtl] .cap-outcome i{display:inline-block;transform:scaleX(-1)}

/* ---------- 4. Home · Proof of intelligence: one canvas, four questions ---------- */
.proof .proof-inner{display:block}
.proof-head{max-width:46rem;margin-bottom:48px}
.proof-head .proof-description{margin-top:20px;max-width:38rem;font-size:1.0625rem;line-height:1.6;color:var(--body)}
.proof-object{margin:0;background:#FBFAF7;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.po-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.po-controls button{position:relative;display:grid;gap:4px;align-content:start;min-height:84px;padding:20px 24px;border:0;border-inline-end:1px solid var(--line);background:transparent;font:inherit;text-align:start;color:var(--muted);cursor:pointer;transition:background-color 200ms,color 200ms}
.po-controls button:last-child{border-inline-end:0}
.po-controls button::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--lift-ease)}
[dir=rtl] .po-controls button::before{transform-origin:right}
.po-controls button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.po-controls button[aria-pressed=true]::before{transform:none}
@media (hover:hover){.po-controls button:hover{color:var(--ink);background:rgba(254,253,252,.6)}}
.po-controls button:focus-visible{outline:2px solid var(--signal);outline-offset:-4px}
.po-mode{font-size:1rem;font-weight:500;color:inherit}
.po-q{font-size:.875rem;line-height:1.4;color:var(--muted)}
.po-canvas{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);column-gap:clamp(48px,7vw,112px);align-items:center;padding:52px 48px 44px;min-height:440px}
.po-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.po-col{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px}
.po-label{margin:0 0 2px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.po-card{display:grid;gap:4px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;transition:border-color 320ms,opacity 420ms var(--lift-ease),box-shadow 320ms,background-color 320ms,transform 420ms var(--lift-ease)}
.po-sys{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--quiet)}
.po-name{font-size:.9375rem;font-weight:500;color:var(--ink)}
.po-val{font-size:.8125rem;line-height:1.45;color:var(--body)}.po-val.po-bad{color:var(--signal)}
.po-checks ul{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:.875rem;color:var(--ink)}
.po-checks li{display:flex;align-items:center;gap:10px}
.po-checks li::before{content:'';width:8px;height:8px;flex:none;border-radius:50%;background:#7F9A8C}
.po-checks li.po-no{color:var(--signal)}.po-checks li.po-no::before{border-radius:2px;background:var(--signal)}
.po-rule{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line);font-size:.75rem;line-height:1.45;color:var(--muted)}
.po-result .po-name{font-size:1.0625rem;line-height:1.35}
.proof-object:is([data-mode=trace],[data-mode=control],[data-mode=judgment],[data-mode=insight]) [data-po]{display:none}
.proof-object[data-mode=trace] [data-po~=trace],.proof-object[data-mode=control] [data-po~=control],.proof-object[data-mode=judgment] [data-po~=judgment],.proof-object[data-mode=insight] [data-po~=insight]{display:revert}
.po-checks li[data-po]{display:none}
.proof-object[data-mode=trace] .po-checks li[data-po~=trace],.proof-object:not([data-mode=trace]) .po-checks li[data-po~=control]{display:flex}
/* lines */
.po-link{fill:none;stroke:#CFC9C0;stroke-width:1.4;stroke-linecap:round;transition:stroke 320ms,opacity 420ms,stroke-width 320ms}
.po-stop{fill:none;stroke:var(--signal);stroke-width:3;stroke-linecap:round;opacity:0;transition:opacity 260ms 420ms}
@keyframes po-draw{from{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len)}to{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:0}}
.proof-object[data-mode=trace] :is(.po-result-checks,.po-checks-request,.po-checks-order,.po-checks-capacity){stroke:#6F7F77;stroke-width:1.6}
.proof-object[data-mode=trace].is-drawing :is(.po-result-checks,.po-checks-request,.po-checks-order,.po-checks-capacity){animation:po-draw 760ms var(--lift-ease) both}
.proof-object[data-mode=trace].is-drawing :is(.po-checks-request,.po-checks-order,.po-checks-capacity){animation-delay:380ms}
.proof-object[data-mode=control] .po-checks-capacity{stroke:var(--signal);stroke-width:1.8}
.proof-object[data-mode=control].is-drawing .po-checks-capacity{animation:po-draw 620ms var(--lift-ease) both}
.proof-object:is([data-mode=control],[data-mode=judgment]) .po-result-checks{stroke:var(--signal);stroke-dasharray:3 6;opacity:.7}
.proof-object:is([data-mode=control],[data-mode=judgment]) .po-stop{opacity:1}
.proof-object[data-mode=judgment] .po-result-person{stroke:var(--signal);stroke-width:1.8}
.proof-object[data-mode=judgment].is-drawing .po-result-person{animation:po-draw 700ms var(--lift-ease) both}
.proof-object[data-mode=insight] :is(.po-checks-capacity,.po-result-checks){stroke:var(--ink);stroke-width:1.6}
.proof-object[data-mode=insight] :is(.po-checks-request,.po-checks-order,.po-result-person){opacity:.2}
/* cards */
.proof-object[data-mode=trace] :is(.po-sources .po-card,.po-checks){border-color:#A9B6AE}
.proof-object[data-mode=trace] .po-result{border-color:var(--ink);box-shadow:0 14px 26px -20px rgba(20,21,26,.45)}
.proof-object:is([data-mode=control],[data-mode=insight]) [data-node=capacity]{border-color:var(--signal);background:#FDFBFB}
.proof-object[data-mode=control] .po-checks{border-color:var(--signal)}
.proof-object[data-mode=control] .po-result{border-style:dashed;border-color:var(--signal)}
.proof-object[data-mode=control] .po-person,.proof-object[data-mode=judgment] :is(.po-sources .po-card,.po-checks){opacity:.5}
.proof-object[data-mode=judgment] .po-person{border-color:var(--signal);box-shadow:0 0 0 4px rgba(157,35,59,.1),0 16px 28px -22px rgba(157,35,59,.5);transform:translateY(-2px)}
.proof-object[data-mode=judgment] .po-result{border-color:var(--signal)}
.proof-object[data-mode=insight] :is([data-node=request],[data-node=order]){opacity:.36}
.proof-object[data-mode=insight] .po-person{opacity:.55}
.proof-object[data-mode=insight] .po-result{border-color:var(--ink)}
/* the rest of the information: present, then receding when it does not matter */
.po-noise{position:absolute;inset:0;margin:0;padding:0;list-style:none;z-index:0;pointer-events:none}
.po-noise li{position:absolute;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:#B8B2A9;white-space:nowrap;transition:opacity 520ms var(--lift-ease),transform 620ms var(--lift-ease)}
.po-noise li:nth-child(1){inset-inline-start:30%;top:10%}.po-noise li:nth-child(2){inset-inline-start:33%;bottom:12%}.po-noise li:nth-child(3){inset-inline-start:62%;top:8%}
.po-noise li:nth-child(4){inset-inline-start:64%;bottom:9%}.po-noise li:nth-child(5){inset-inline-start:4%;bottom:5%}.po-noise li:nth-child(6){inset-inline-start:46%;top:3%}
.proof-object[data-mode=insight] .po-noise li{opacity:0;transform:translateY(-6px)}
.po-caption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:20px 48px 24px;border-top:1px solid var(--line);background:var(--paper)}
.po-caption-text{max-width:44rem;font-size:1rem;line-height:1.5;color:var(--ink)}
.po-note{flex:none;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.04em;color:var(--muted)}
@media (max-width:1023px){.po-canvas{padding:40px 28px 36px;column-gap:48px}.po-controls button{padding:16px 16px;min-height:76px}.po-caption{padding:18px 28px 22px}}
@media (max-width:767px){
  .proof-head{margin-bottom:32px}
  .po-controls{grid-template-columns:1fr 1fr}.po-controls button:nth-child(2n){border-inline-end:0}.po-controls button:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .po-q{font-size:.8125rem}
  .po-canvas{grid-template-columns:1fr;row-gap:36px;min-height:0;padding:28px 18px}
  .po-noise{display:none}
  .po-caption{flex-direction:column;gap:8px;padding:16px 18px 20px}
}
@media (prefers-reduced-motion:reduce){.proof-object *{transition:none!important;animation:none!important}}

/* ---------- 5. Insights · a publication, not a card wall ---------- */
.page-insights:not(.page-article) .pub-head .pub-masthead{padding-bottom:56px}
.pub-lead{margin-top:8px}
.pub-lead>.rail-label{margin:0 0 24px}
.pub-lead .featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:56px;align-items:start;margin-top:0}
.pub-lead .feature-lead{grid-column:1/span 8}
.pub-lead #featured-secondary{display:contents}
.pub-lead .pub-note{grid-column:10/-1;align-self:end;padding-bottom:8px}
.pub-lead .featured-grid:has(.feature-secondary) .feature-lead{grid-column:1/span 6}
.pub-lead .featured-grid:has(.feature-secondary) .pub-note{display:none}
.pub-lead .feature-secondary{grid-column:span 3;margin-top:0!important}
.pub-lead .feature-secondary:first-of-type .cover-editorial{aspect-ratio:4/5!important}
.pub-lead .feature-secondary:last-of-type .cover-editorial{aspect-ratio:1/1!important}
.pub-lead .feature-secondary:last-of-type{margin-top:72px!important}
.pub-lead .feature-secondary .feature-body{margin-top:20px}
.pub-lead .feature-secondary .story-title{font-size:clamp(1.25rem,1.3vw,1.5rem)!important;line-height:1.18!important}
.pub-lead .feature-secondary .story-teaser{font-size:.9375rem}
.pub-lead .feature-lead .story-title{font-size:clamp(2.125rem,3.2vw,3.25rem)}
.pub-lead .featured-grid:has(.feature-secondary) .feature-lead .story-title{font-size:clamp(1.875rem,2.6vw,2.75rem)}
.pub-note-kicker{margin:0 0 14px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pub-note-text{margin:0 0 12px;font-size:1rem;line-height:1.6;color:var(--body)}
.pub-note-foot{display:flex;align-items:center;gap:14px;margin:22px 0 0}
.pub-note-state{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--quiet)}
.page-insights:not(.page-article) .pub-body{margin-top:120px}
.page-insights:not(.page-article) #latest{margin-top:0}
/* the featured artwork follows the pointer a few pixels; nothing more */
.feature-lead .cover-editorial{overflow:hidden}
.feature-lead .cover-art{transform:translate(var(--px,0px),var(--py,0px)) scale(1.03);transition:transform 520ms var(--lift-ease)}
@media (hover:hover){.feature-lead:hover .cover-art{transform:translate(var(--px,0px),var(--py,0px)) scale(1.045)}}
/* rail: whitespace instead of rules; modules differ in weight, not in frames */
.page-insights .discovery .disc-group{margin-bottom:44px;padding:0;border:0;background:none}
.page-insights .discovery .disc-label{border:0;padding:0;margin-bottom:14px}
.page-insights .disc-tags-secondary{opacity:.9}
.page-insights .disc-tag{transition:transform var(--lift-t) var(--lift-ease),border-color var(--lift-t),color var(--lift-t)}
@media (hover:hover){.page-insights .disc-tag:hover{transform:translateY(-1px)}}
.prototype-popular .popular-label{margin:-6px 0 14px;font-size:.75rem;color:var(--muted)}
@media (max-width:1199px){.pub-lead .feature-lead{grid-column:1/span 7}.pub-lead .pub-note{grid-column:9/-1}}
@media (max-width:1023px){
  .pub-lead .featured-grid{row-gap:48px}
  .pub-lead .feature-lead,.pub-lead .featured-grid:has(.feature-secondary) .feature-lead{grid-column:1/-1}
  .pub-lead .pub-note{grid-column:1/span 8;align-self:start}
  .pub-lead .feature-secondary{grid-column:span 6}
  .page-insights:not(.page-article) .pub-body{margin-top:88px}
}
@media (max-width:767px){
  .pub-lead .pub-note,.pub-lead .feature-secondary{grid-column:1/-1}
  .pub-lead .feature-secondary:last-of-type{margin-top:0!important}
  .pub-lead .feature-secondary:first-of-type .cover-editorial{aspect-ratio:4/3!important}
  .page-insights:not(.page-article) .pub-body{margin-top:64px}
}
@media (prefers-reduced-motion:reduce){.feature-lead .cover-art{transform:none!important;transition:none!important}}
.pub-head .pub-masthead .prototype-notice{position:static;grid-column:1/-1;margin:28px 0 0;transform:none}

/* ---------- 6. Article · a calm editorial template ---------- */
.post-header.post-head-v2{display:block;max-width:none;padding-top:56px;padding-bottom:48px}
.post-head-v2>*{max-width:52rem;margin-inline:auto}
.post-head-v2 .post-kicker{display:flex;gap:0;justify-content:flex-start}
.post-head-v2 .post-kicker>*+*{margin-inline-start:12px;padding-inline-start:12px;border:0;position:relative}
.post-head-v2 .post-kicker>*+*::before{content:'·';position:absolute;inset-inline-start:-2px;color:var(--quiet)}
.post-head-v2 .post-topic{color:var(--ink);text-decoration:none}
@media (hover:hover){.post-head-v2 .post-topic:hover{color:var(--signal)}}
.post-head-v2 .post-title{margin-top:22px;max-width:52rem;font-size:clamp(2.25rem,1.3rem + 2.6vw,3.75rem);line-height:1.06;letter-spacing:-.025em}
.post-head-v2 .post-standfirst{margin-top:24px;max-width:44rem;font-size:clamp(1.125rem,1rem + .35vw,1.3125rem);line-height:1.55;color:#4A4744}
.post-byline{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:28px;font-size:.875rem;color:var(--muted)}
.post-author{color:var(--ink);font-weight:500}
.post-cover.wrap{max-width:min(76rem,var(--wrapw))}
.post-cover .cover-editorial{aspect-ratio:16/8;border-radius:12px}
.post-cover-caption{justify-content:flex-end;font-family:inherit;font-size:.8125rem;letter-spacing:0}
.post-layout{grid-template-columns:minmax(0,1fr) minmax(0,45rem) minmax(0,1fr);column-gap:clamp(32px,4vw,64px);padding-top:80px}
.post-outline{grid-column:1;justify-self:end;width:min(15rem,100%)}
.post-outline li{border-bottom:0;padding:7px 0}
.post-outline a{color:var(--body);text-decoration:none;transition:color var(--lift-t)}
@media (hover:hover){.post-outline a:hover{color:var(--ink)}}
.post-prose{grid-column:2;max-width:45rem;margin:0}
.post-prose.prose{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.75}
.post-prose h2{scroll-margin-top:calc(var(--bar-h) + 24px)}
.post-prose strong{font-weight:600;color:var(--ink)}
.draft-banner{padding:12px 16px;border-inline-start:3px solid var(--signal);background:#F9F5F6;font-size:.875rem!important;line-height:1.5;color:var(--signal)!important}
.post-filed{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:3em!important;font-size:.875rem}
.post-filed-label{font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.post-filed a{color:var(--body);text-decoration:none;display:inline-flex;align-items:center;min-height:28px}
@media (hover:hover){.post-filed a:hover{color:var(--ink)}}
.bridge .work-cta .text-link{font-size:.9375rem}
@media (max-width:1023px){.post-layout{grid-template-columns:minmax(0,1fr);padding-top:56px}.post-outline{display:none}.post-prose{grid-column:1;margin-inline:auto}}
@media (max-width:767px){.post-header.post-head-v2{padding-top:32px;padding-bottom:32px}.post-cover .cover-editorial{aspect-ratio:4/3}.post-layout{padding-top:40px}}
.post-head-v2>*{width:min(52rem,100%)}
.post-head-v2 .post-standfirst{max-width:none;padding-inline-end:clamp(0px,6vw,7rem)}
.post-head-v2 .post-kicker{align-items:baseline}
.post-head-v2 .post-kicker a{min-height:0}
.page-article .outline-label{border-top:0;padding-top:0}
.page-article .post-subscribe{border-top:1px solid var(--line)}
.page-article .post-related .rail-head{border-top:1px solid var(--line)}
.post-layout{grid-template-columns:minmax(0,1fr) minmax(0,52rem) minmax(0,1fr)}.post-prose{max-width:45rem}@media (max-width:1023px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-prose{max-width:45rem}}

/* ---------- 2a (v2). Contact · the Review Brief follows the act of preparing a review ---------- */
.review-brief .rb-stage{margin:16px -6px 4px}
.review-brief svg{display:block;width:100%;height:auto;max-height:300px;overflow:visible;direction:ltr}
/* the problem: a fragmented structure appears */
/* context: relationships form and the pieces draw closer */
/* ready: the object resolves, and one crimson signal */
.rb-state{margin:4px 0 6px;font-size:1.125rem;font-weight:500;letter-spacing:-.01em;color:var(--ink);transition:color 300ms}
.review-brief[data-stage=ready] .rb-state{color:var(--signal)}
.rb-caption{margin:0;min-height:2.9em;font-size:.9375rem;line-height:1.5;color:var(--body)}
.review-brief .rs-note{margin-top:18px}
@media (min-width:768px) and (max-width:1023px){
  .contact-aside .request-summary.review-brief{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:32px;align-items:center}
  .review-brief .aside-label,.review-brief .rb-state,.review-brief .rb-caption,.review-brief .rs-note{grid-column:1}
  .review-brief .rb-stage{grid-column:2;grid-row:1/span 4;margin:0}
}
@media (max-width:767px){
  .contact-aside .request-summary.review-brief{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:18px;align-items:center;padding:20px}
  .review-brief .aside-label{grid-column:1/-1}
  .review-brief .rb-stage{grid-column:1;grid-row:2/span 2;margin:10px 0 0}
  .review-brief .rb-state,.review-brief .rb-caption{grid-column:2}
  .review-brief .rb-state{margin-top:10px;font-size:1rem}.review-brief .rb-caption{min-height:0;font-size:.875rem}
  .review-brief .rs-note{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.review-brief *{transition:none!important;animation:none!important}}

/* ---------- 7. Wordmark: drawn masters (tools/wordmark.py), Latin and Arabic on one grid ---------- */
.wordmark{font-size:0;line-height:0;padding-block:0}
.wordmark .wm{display:block;width:auto;height:38px}
.site-header .wordmark{padding-block:4px}
.foot-mark .wm{height:32px}
[lang=ar] .wordmark .wm{height:41px}
[lang=ar] .foot-mark .wm{height:35px}
@media (max-width:767px){.site-header .wordmark .wm{height:32px}[lang=ar] .site-header .wordmark .wm{height:35px}}
.wordmark{transition:opacity var(--lift-t)}
@media (hover:hover){.site-header .wordmark:hover{opacity:.82}}

/* Article components rendered by the draft preview (and, at publication, by the article page): numbered figure,
   supporting note, comparison table. Light editorial system; crimson stays inside the figures. */
.post-figure{margin:2.6em 0;padding:0}
.post-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:var(--canvas)}
.post-figure figcaption{display:grid;gap:4px;margin-top:12px;font-family:'Instrument Sans',system-ui,sans-serif;font-size:.9375rem;letter-spacing:0;line-height:1.5;color:var(--body)}
.post-figure .fig-num{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.post-figure .fig-source{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.06em;color:var(--muted)}
.post-note{margin:2em 0;padding:16px 20px;border-inline-start:2px solid var(--edge);background:var(--surface)}
.post-note p{margin:0;font-size:.9375rem!important;line-height:1.6;color:var(--body)}
.post-compare{margin:2.4em 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.post-compare table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.post-compare th,.post-compare td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.post-compare thead th{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--edge)}
.post-compare tbody th{font-weight:500;color:var(--ink);width:24%}
.post-compare td{color:var(--body)}
.post-compare td:last-child{color:var(--ink)}

.post-note .note-label{margin:0 0 6px;font-family:'IBM Plex Mono',monospace;font-size:.6875rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.post-note.note-regulatory{border-inline-start-color:var(--info,#4E6E8E)}
.post-note.note-implication{border-inline-start-color:var(--signal)}
.post-note.note-finding{border-inline-start-color:var(--teal,#2F6F6A)}
.post-quote{margin:2.4em 0;padding:0}
.post-quote blockquote{margin:0}
.post-quote blockquote p{margin:0;font-size:1.375rem!important;line-height:1.4;font-weight:500;letter-spacing:-.012em;color:var(--ink)!important}
.post-quote figcaption{margin-top:10px;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.04em;color:var(--muted)}
.post-sources{margin-top:3.2em;padding-top:1.6em;border-top:1px solid var(--line)}
.post-sources .sources-title{font-family:'IBM Plex Mono',monospace;font-size:.75rem!important;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:0 0 1em}
.post-sources ol{margin:0;padding-inline-start:1.4em;display:grid;gap:12px}
.post-sources li{font-size:.9375rem;line-height:1.5;color:var(--body)}
.post-sources li>span,.post-sources li>a{display:inline}
.post-sources .src-org{color:var(--ink);font-weight:500}
.post-sources .src-org::after,.post-sources .src-title::after{content:" · ";color:var(--quiet)}
.post-sources .src-title{color:var(--body)}
.post-sources a.src-title{color:var(--ink);text-decoration:underline;text-decoration-color:var(--edge);text-underline-offset:3px}
.post-sources a.src-title:hover{text-decoration-color:var(--signal)}
.post-sources .src-date{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;color:var(--muted)}
/* Major evidence objects break wider than the reading column, into the empty side of the article grid. */
@media (min-width:1200px){.post-prose .post-figure,.post-prose .post-compare{margin-inline-end:-14rem}}
@media (min-width:1400px){.post-prose .post-figure,.post-prose .post-compare{margin-inline-end:-18rem}}
@media (min-width:1024px) and (max-width:1199px){.post-prose .post-figure,.post-prose .post-compare{margin-inline-end:-8rem}}
.post-prose{min-width:0}.post-figure picture{display:block}
@media (max-width:767px){.post-compare{margin-inline:calc(-1 * var(--gutter,20px));padding-inline:var(--gutter,20px)}}
@media (max-width:1023px){.post-prose{width:100%}}
@media (max-width:767px){
  .post-compare{margin-inline:0;padding-inline:0;overflow:visible}
  .post-compare table{min-width:0}
  .post-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .post-compare tr{display:block;padding:16px 0;border-bottom:1px solid var(--line)}
  .post-compare tbody th,.post-compare td{display:block;width:auto;padding:0;border:0}
  .post-compare tbody th{margin-bottom:8px;font-size:1rem}
  .post-compare td+td{margin-top:8px}
  .post-compare td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
}

/* ---------- Colour system (final pass). Warm foundation, colour with meaning:
   crimson = exception, decision, control · sage = stable, resolved · soft blue = information, evidence
   teal = connection, analysis · champagne = warm editorial emphasis · ink/graphite = authority ---------- */
:root{--champagne:#9C7C45;--champagne-tint:#E8E8E8;--sage:#56705C;--sage-tint:#E3EBE4;--info:#4E6E8E;--info-tint:#E2EAF2;--teal:#2F6F6A;--teal-tint:#DCEBE8;--graphite:#3A3B40}

/* Insights lead row: real secondary stories as tonal, typographic cards (no unapproved imagery) */
.feature-type .type-card{display:flex;flex-direction:column;gap:14px;min-height:100%;aspect-ratio:4/5;padding:28px 26px 26px;border-radius:4px;background:var(--tone,var(--surface));transition:transform var(--lift-t) var(--lift-ease),box-shadow var(--lift-t) var(--lift-ease)}
.pub-lead .feature-type:last-of-type .type-card{aspect-ratio:1/1}
.feature-type.tone-bi{--tone:var(--info-tint)}
.feature-type.tone-workflow{--tone:var(--champagne-tint)}
.feature-type .story-title{margin:6px 0 0;font-size:clamp(1.375rem,1.55vw,1.75rem)!important;line-height:1.14!important;letter-spacing:-.018em;font-weight:500}
.feature-type .story-link{color:var(--ink);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size var(--lift-t) var(--lift-ease)}
.feature-type .story-link::after{content:"";position:absolute;inset:0}
.feature-type{position:relative}
.feature-type .story-teaser{margin:0;font-size:.9375rem;line-height:1.55;color:var(--body)}
.feature-type .story-action{margin-top:auto;font-size:.875rem;color:var(--ink)}
.feature-type .story-arrow{display:inline-block;transition:transform var(--lift-t) var(--lift-ease)}
@media (hover:hover){
  .feature-type:hover .type-card{transform:translateY(-2px);box-shadow:var(--lift-shadow-soft)}
  .feature-type:hover .story-link{background-size:100% 1px}
  .feature-type:hover .story-arrow{transform:translateX(4px)}
}
.feature-type:has(.story-link:focus-visible) .type-card{outline:2px solid var(--ink);outline-offset:4px}
@media (max-width:1023px){.feature-type .type-card,.pub-lead .feature-type:last-of-type .type-card{aspect-ratio:auto;min-height:280px}}
@media (prefers-reduced-motion:reduce){.feature-type .type-card,.feature-type .story-arrow,.feature-type .story-link{transition:none}}

/* Latest rows without an image */
.page-insights:not(.page-article) .latest-text{grid-template-columns:136px minmax(0,1fr) 24px}
@media (max-width:1199px){.page-insights:not(.page-article) .latest-text{grid-template-columns:112px minmax(0,1fr)}}
@media (max-width:767px){.page-insights:not(.page-article) .latest-text{grid-template-columns:minmax(0,1fr)}}
.disc-about .disc-sub-text{font-size:.875rem;line-height:1.6;color:var(--body);margin:0}

/* Home Insights: a second, typographic story beside the feature */
.insights .story-row{position:relative;margin-top:48px;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) auto;column-gap:40px;align-items:baseline}
.insights .story-row .story-meta{grid-column:1/-1;margin:0 0 12px}
.insights .story-row .story-title-row{margin:0;font-size:clamp(1.375rem,1.9vw,1.875rem);line-height:1.15;letter-spacing:-.02em;font-weight:500}
.insights .story-row .story-link::after{content:"";position:absolute;inset:0}
.insights .story-row .story-teaser{margin:0;color:var(--body)}
.insights .story-row .story-action{font-size:.875rem;color:var(--ink);white-space:nowrap}
.insights .story-row .story-arrow{display:inline-block;transition:transform var(--lift-t) var(--lift-ease)}
@media (hover:hover){.insights .story-row:hover .story-arrow{transform:translateX(4px)}.insights .story-row:hover .story-link{color:var(--ink)}}
@media (max-width:1023px){.insights .story-row{grid-template-columns:1fr;row-gap:12px}}
.feature-type .story-meta{display:flex;flex-wrap:wrap;gap:6px 14px}.feature-type .story-meta>span+span{border:0!important;padding:0!important;margin:0!important}

/* Proof of intelligence: one moving indicator, no tab rules; buttons respond like controls, not tabs */
.po-controls{position:relative;border-bottom:1px solid var(--line)}
.po-controls button{border-inline-end:0!important;border-bottom:0!important;transition:color var(--lift-t),background-color var(--lift-t)}
.po-controls button::before{display:none}
.po-controls button .po-mode,.po-controls button .po-q{transition:transform var(--lift-t) var(--lift-ease),color var(--lift-t)}
.po-controls button[aria-pressed=true]{background:var(--paper)}
.po-controls button[aria-pressed=true] .po-mode{font-weight:600;color:var(--ink)}
.po-controls button[aria-pressed=true] .po-q{color:var(--body)}
@media (hover:hover){.po-controls button:hover .po-mode,.po-controls button:hover .po-q{transform:translateY(-1px)}}
.po-indicator{position:absolute;left:0;top:0;height:2px;width:var(--w,25%);background:var(--signal);transform:translate(var(--x,0),var(--y,0));transition:transform 320ms var(--lift-ease),width 320ms var(--lift-ease);pointer-events:none}
@media (prefers-reduced-motion:reduce){.po-indicator{transition:none}}

/* Footer: a quiet final brand moment */
.site-foot-v2 .foot-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(4,minmax(0,2fr));column-gap:var(--gutter,32px);row-gap:40px;padding-block:64px 40px}
.site-foot-v2 .foot-brand{display:grid;gap:18px;align-content:start;max-width:22rem}
.site-foot-v2 .foot-statement{margin:0;font-size:.9375rem;line-height:1.55;color:#B9B3AB}
.site-foot-v2 .foot-h{margin:0 0 14px;font-family:'IBM Plex Mono','IBM Plex Sans Arabic',monospace;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#8A8580}
.site-foot-v2 .foot-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.site-foot-v2 .foot-list a{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:.9375rem;color:#DFDFDF;text-decoration:none}
.site-foot-v2 .foot-list a::after{content:"";position:absolute;inset-inline:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--lift-t) var(--lift-ease);opacity:.6}
[dir=rtl] .site-foot-v2 .foot-list a::after{transform-origin:right}
.site-foot-v2 .foot-list a[aria-current]{color:#FEFDFC}
.site-foot-v2 .foot-list a[aria-current]::after{transform:none;background:var(--signal);opacity:1}
.site-foot-v2 .foot-out span{display:inline-block;transition:transform var(--lift-t) var(--lift-ease)}
@media (hover:hover){.site-foot-v2 .foot-list a:hover{color:#FEFDFC}.site-foot-v2 .foot-list a:hover::after{transform:none}.site-foot-v2 .foot-out:hover span{transform:translate(2px,-2px)}}
.site-foot-v2 .foot-lang{display:flex;gap:2px;margin-inline-start:-10px}
.site-foot-v2 .foot-lang a{color:#C9C4BD}
.site-foot-v2 .foot-lang a[aria-current]{color:#FEFDFC;text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:6px;text-decoration-thickness:1px}
.site-foot-v2 .foot-base{display:flex;justify-content:space-between;padding-block:18px 28px;border-top:1px solid rgba(254,253,252,.08)}
@media (max-width:1023px){.site-foot-v2 .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-foot-v2 .foot-brand{grid-column:1/-1}}
@media (max-width:560px){.site-foot-v2 .foot-grid{grid-template-columns:1fr 1fr;padding-block:48px 28px;row-gap:32px}}
@media (prefers-reduced-motion:reduce){.site-foot-v2 .foot-list a::after,.site-foot-v2 .foot-out span{transition:none}}

/* Contact · unstructured situation → review ready. Idle already has tension: scattered fragments and one
   incomplete relationship. --k is how unresolved the composition is (1 idle → 0 ready). Booleans only. */
.review-brief{--k:1}
.review-brief:is([data-rb-about="1"],[data-rb-focus=about]){--k:.85}
.review-brief:is([data-rb-problem="1"],[data-rb-focus=problem]){--k:.5}
.review-brief:is([data-rb-context="1"],[data-rb-focus=context]){--k:.22}
.review-brief[data-rb-ready="1"]{--k:0}
.rb-frag{fill:#E5E5E5;stroke:#BDB3A3;stroke-width:1;stroke-dasharray:3 3;opacity:.9;transform-box:fill-box;transform-origin:center;
  transform:translate(calc(var(--ix) * var(--k)),calc(var(--iy) * var(--k))) rotate(calc(var(--ir) * var(--k)));
  transition:transform 760ms var(--lift-ease),fill 420ms,stroke 420ms,opacity 420ms}
.rb-f0{--ix:-14px;--iy:-52px;--ir:-14deg}.rb-f1{--ix:40px;--iy:58px;--ir:12deg}.rb-f2{--ix:10px;--iy:-58px;--ir:-8deg}.rb-f3{--ix:96px;--iy:30px;--ir:9deg}
.rb-f4{--ix:-20px;--iy:-44px;--ir:-12deg}.rb-f5{--ix:60px;--iy:34px;--ir:7deg}.rb-f6{--ix:-70px;--iy:-30px;--ir:14deg}.rb-f7{--ix:-60px;--iy:-120px;--ir:-22deg}
.rb-frag:nth-child(2n){transition-delay:50ms}.rb-frag:nth-child(3n){transition-delay:100ms}
.review-brief:is([data-rb-problem="1"],[data-rb-focus=problem],[data-rb-context="1"],[data-rb-focus=context],[data-rb-ready="1"]) .rb-frag{fill:var(--champagne-tint);stroke:#C4AE86;stroke-dasharray:none;opacity:1}
.review-brief[data-rb-ready="1"] .rb-frag{fill:var(--sage-tint);stroke:var(--sage)}
.rb-anchor-ring{fill:none;stroke:#CFC7BA;stroke-width:1.2;stroke-dasharray:3 4;transition:stroke 320ms}
.rb-anchor-dot{fill:#D4D4D4;transform-box:fill-box;transform-origin:center;transform:scale(.55);transition:fill 320ms,transform 420ms var(--lift-ease)}
.review-brief:is([data-rb-about="1"],[data-rb-focus=about]) .rb-anchor-ring{stroke:var(--ink);stroke-dasharray:none}
.review-brief:is([data-rb-about="1"],[data-rb-focus=about]) .rb-anchor-dot{fill:var(--ink);transform:none}
.rb-rel{fill:none;stroke:var(--teal);stroke-width:1.3;stroke-dasharray:140;stroke-dashoffset:140;opacity:.9;transition:stroke-dashoffset 800ms var(--lift-ease),stroke 320ms}
.rb-r0{stroke:#BDB5A8;stroke-dasharray:4 4 4 4 4 4 4 4 140;stroke-dashoffset:0}
.review-brief:is([data-rb-context="1"],[data-rb-focus=context],[data-rb-ready="1"]) .rb-rel{stroke:var(--teal);stroke-dasharray:140;stroke-dashoffset:0}
.rb-r1{transition-delay:90ms}.rb-r2{transition-delay:180ms}
.review-brief[data-rb-ready="1"] .rb-rel{stroke:var(--sage)}
.rb-base{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:196;stroke-dashoffset:196;transition:stroke-dashoffset 820ms var(--lift-ease)}
.rb-signal{fill:var(--signal);opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity 300ms,transform 420ms var(--lift-ease)}
.review-brief[data-rb-ready="1"] .rb-base{stroke-dashoffset:0}
.review-brief[data-rb-ready="1"] .rb-signal{opacity:1;transform:none;transition-delay:620ms}
.review-brief .rb-stage{margin:18px -6px 6px}
.review-brief svg{display:block;width:100%;height:auto;max-height:300px;overflow:visible;direction:ltr}
@media (prefers-reduced-motion:reduce){.rb-frag,.rb-rel,.rb-base,.rb-signal,.rb-anchor-dot{transition:none}}

/* Top-of-page cleanup: the breadcrumb already names the page, so the repeated kicker and its heavy rule go.
   Scale, spacing and the H1 carry the opening instead. */
.page-kicker{border-top:0;padding-top:0}
:is(.crumbs,.breadcrumb)~.page-kicker,:is(.crumbs,.breadcrumb)+* .page-kicker{display:none}
.pg-hero .pg-hero-grid,.contact-intro .contact-title{margin-top:28px}
.pub-kicker{border-top-width:1px;border-top-color:var(--edge)}

/* Interim Arabic wordmark: typographic, not drawn. Same crimson square period as the Latin mark. */
.wm-type{display:inline-flex;align-items:baseline;gap:.07em;font-family:'IBM Plex Sans Arabic',sans-serif;font-weight:600;font-size:34px;line-height:1.15;letter-spacing:0;color:var(--ink);direction:rtl;white-space:nowrap}
.wm-period{display:inline-block;width:.19em;height:.19em;background:var(--signal);order:2}
.wm-type-light{color:#FEFDFC;font-size:30px}.wm-type-light .wm-period{background:#C23A55}
@media (max-width:767px){.site-header .wm-type{font-size:30px}}
.owner-input{margin:10px 0 0;padding:8px 12px;border-inline-start:2px solid var(--signal);background:#F9F5F6;font-size:.875rem;color:var(--signal)}
@media (hover:hover){.search:hover{transform:translateY(-1px)}}
.intel-privacy{margin:10px 0 0;font-size:.875rem;color:var(--muted)}.intel-privacy a{color:inherit}
.pub-kicker{border-top:0;padding-top:0}

/* ---------- preserved fixes (kept when the Crimson baseline was restored, 29 Sep 2026) ---------- */
/* Insights rail: never clip its last paragraph behind a hidden scrollbar */
.discovery{max-height:none!important;overflow:visible!important}
/* contrast: small source labels and the About result meta pass 4.5:1 */
.po-sys{color:var(--muted)}
.rv2-meta{color:#4F6F62}
/* Arabic (paused for V1, kept for later): the typographic wordmark is ink with only its dot in crimson;
   the divider between the two services sits between them in RTL */
.wordmark .wm-type{color:var(--ink)}.wordmark .wm-type-light{color:#FFFFFF}
@media (min-width:601px){[dir=rtl] .capability+.capability{border-left:0;border-right:1px solid var(--line)}}
/* keyboard: the homepage story row shows the same focus ring as the featured story */
.story-row:has(.story-link:focus-visible){outline:2px solid var(--signal);outline-offset:12px;border-radius:12px}
/* contrast: the status label on the tinted Insights cards passes 4.5:1 */
.type-card .story-meta>span:not(.story-topic){color:var(--body)}
