/* Local visual pass: meaningful comparisons, visible status, restrained motion. */
:root{
  --visual-positive:#0b7a64;
  --visual-caution:#a5573a;
  --visual-neutral:#60748a;
  --en:Jakarta,"Segoe UI",Arial,sans-serif;
  --depth-1:0 9px 24px #193b5910,0 1px 0 #fff inset;
  --depth-2:0 19px 40px #193b591b,0 1px 0 #fff inset;
  --depth-3:0 29px 58px #193b5928,0 1px 0 #fff inset;
}

/* The general five questions remain company-agnostic and gain depth without fake data. */
body[data-page=home] .five-section{background:#fbfcff}
body[data-page=home] .five-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:20px;
  box-shadow:0 18px 33px #233d6317,0 1px 0 #fff inset;
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s,border-color .34s;
}
body[data-page=home] .five-card::before{
  height:4px!important;
  opacity:.85!important;
  transform:scaleX(1);
  transform-origin:left;
  transition:transform .55s cubic-bezier(.2,.8,.2,1);
}
body[data-page=home] .five-card.visual-await:not(.visual-in)::before{transform:scaleX(.24)}
body[data-page=home] .five-card.visual-in::before,
body[data-page=home] .five-card:hover::before{transform:scaleX(1)}
html[dir=rtl] body[data-page=home] .five-card::before{transform-origin:right}
body[data-page=home] .five-card::after{
  content:"";
  position:absolute;
  width:140px;height:140px;
  inset-block-start:-86px;
  inset-inline-end:-68px;
  border-radius:50%;
  background:currentColor;
  opacity:.045;
  pointer-events:none;
}
@media(hover:hover){body[data-page=home] .five-card:hover{transform:translateY(-4px);box-shadow:var(--depth-3)}}
body[data-page=home] .five-glyph{
  display:grid;place-items:center;
  width:43px;height:43px;
  border-radius:13px;
  background:#ffffffbc;
  box-shadow:0 8px 18px #17396812,0 1px 0 #fff inset;
  font-size:26px;
}
body[data-page=home] .five-index{font:800 26px/1 var(--en);opacity:.38}
body[data-page=home] .five-promise{background:#fff;border-color:#dce5f5;box-shadow:0 15px 32px #27476812}
body[data-page=home] .coverage-teaser-inner{background:#fff;border-inline-start:4px solid var(--visual-positive);box-shadow:0 18px 42px #24476716}
body[data-page=home] .recent-question{background:#f2f6fb}
body[data-page=home] .chartick-block{box-shadow:0 26px 58px #143e4c1c}
body[data-page=home] .hero h1 .accent{background:none;-webkit-text-fill-color:currentColor;color:#315fce}
body[data-page=home] .hero::before,body[data-page=home] .hero::after,body[data-page=home] .product-stage::before,body[data-page=home] .stage-chip{animation:none!important}
body[data-page=home] .window-content h2 span,
body[data-page=aramco] .report-hero h1 span{color:#315fce}
body[data-page=home] .product-window.is-switching .bar{animation:visual-bar-grow .75s cubic-bezier(.2,.8,.2,1) both}
body[data-page=home] .product-window.is-switching .primary-value{animation:visual-number-enter .38s cubic-bezier(.2,.8,.2,1) both}
body[data-page=home] .stage-chip{animation:visual-chip-enter .75s .55s both}
body[data-page=home] .metric-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
body[data-page=home] .metric-tabs button{min-width:0;padding:8px 5px;white-space:normal;line-height:1.25;font-size:11px}
body:not(.en)[data-page=home] .metric-tabs button{font-size:13px;line-height:1.2;min-height:57px}
body[data-page=home] .metric-tabs button:is([data-metric=operating],[data-metric=cash],[data-metric=debt])[aria-selected=true]{background:#fff1ec;color:var(--visual-caution);border-color:#efcbbd}
body[data-page=home] .metric-tabs button[data-metric=eps][aria-selected=true]{background:#eff3f7;color:#526b84;border-color:#d6e0e9}
body[data-page=home] .primary-value.neutral{color:var(--visual-neutral)}
body[data-page=home] .primary-value.positive{color:var(--visual-positive)}
body[data-page=home] .primary-value.pressure{color:var(--visual-caution)}
body[data-page=home] .primary-value small{display:inline-block;margin-inline-start:5px;font:700 14px/1.25 var(--ar);letter-spacing:0}
body.en[data-page=home] .primary-value small{font-family:var(--en)}
body[data-page=home] .bar.current.flat{background:#91a6b9}
body[data-page=home] .bar.current{background:#10a989}
body[data-page=home] .bar.current.warning{background:var(--visual-caution)}

/* Aramco: the two printed periods, rather than arbitrary bar lengths, carry the comparison. */
body[data-page=aramco] .report-hero{background-size:cover}
body[data-page=aramco] .health-score{gap:10px;min-height:218px;box-shadow:0 25px 52px #173d6a1c,0 1px 0 #fff inset}
body[data-page=aramco] .health-score>strong{font-size:23px}
.direction-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:7px;margin-top:2px}
.direction-tally>span{display:flex;flex-direction:column;justify-content:center;min-height:65px;padding:5px 3px;border-radius:11px;background:#f6f9fc}
.direction-tally b{font:800 24px/1 var(--en)}
.direction-tally small{font-size:11px;line-height:1.2;margin-top:5px;color:#53657b}
.direction-tally .better b{color:var(--visual-positive)}
.direction-tally .worse b{color:var(--visual-caution)}
.direction-tally .flat b{color:var(--visual-neutral)}
.direction-spectrum{width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;height:9px}
.direction-spectrum i{border-radius:20px;transform:scaleX(0);animation:visual-bar-grow .55s forwards}
.direction-spectrum i:nth-child(2){animation-delay:.08s}.direction-spectrum i:nth-child(3){animation-delay:.16s}
.direction-spectrum i:nth-child(4){animation-delay:.24s}.direction-spectrum i:nth-child(5){animation-delay:.32s}
.direction-spectrum .better{background:var(--visual-positive)}.direction-spectrum .worse{background:var(--visual-caution)}.direction-spectrum .flat{background:#9aabba}
body[data-page=aramco] .report-five .five-card{
  --signal:var(--visual-caution);
  position:relative;
  overflow:hidden;
  min-height:0;
  padding:21px 18px 19px;
  border:1px solid #e3e9f0;
  border-radius:19px;
  background:#fff;
  box-shadow:0 17px 36px #1a426315;
  animation:visual-card-enter .65s both;
  transition:transform .25s,box-shadow .25s;
}
body[data-page=aramco] .report-five .five-card:nth-child(2){animation-delay:.07s}
body[data-page=aramco] .report-five .five-card:nth-child(3){animation-delay:.14s}
body[data-page=aramco] .report-five .five-card:nth-child(4){animation-delay:.21s}
body[data-page=aramco] .report-five .five-card:nth-child(5){animation-delay:.28s}
body[data-page=aramco] .report-five .five-card::before{
  content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--signal)
}
body[data-page=aramco] .report-five .five-card.sales{--signal:var(--visual-positive)}
body[data-page=aramco] .report-five .five-card.eps{--signal:var(--visual-neutral)}
body[data-page=aramco] .report-five .five-card:hover{transform:translateY(-5px);box-shadow:0 28px 48px #1a426322}
.five-change-caption{display:block;margin-top:7px;color:#61768c;font-size:11px;font-weight:700;line-height:1.3}
body[data-page=aramco] .report-five .five-result,
body[data-page=aramco] .report-five .five-card.margin .five-result,
body[data-page=aramco] .report-five .five-card.cash .five-result,
body[data-page=aramco] .report-five .five-card.debt .five-result{color:var(--signal);font:800 clamp(27px,2.6vw,35px)/1.08 var(--en)}
body[data-page=aramco] .report-five .five-result small{font:700 12px/1.2 var(--ar);margin-inline-start:4px;white-space:normal}
body.en[data-page=aramco] .report-five .five-result small{font-family:var(--en)}
body[data-page=aramco] .report-five .five-glyph{color:var(--signal)}
.five-period-pair{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:4px;margin-top:14px;padding:10px 8px;border:1px solid #e3eaf2;border-radius:12px;background:#f7f9fc}
.five-period-pair .period-value{min-width:0;display:flex;flex-direction:column;gap:5px}
.five-period-pair small{font-size:12px;line-height:1.3;color:#66788e;font-weight:700}
.five-period-pair bdi{font:800 18px/1.1 var(--en);color:#3b536e;white-space:nowrap}
.five-period-pair .latest bdi{color:var(--signal)}
.five-period-pair em{font-size:10px;line-height:1.1;color:#5d6d80;font-style:normal}
.five-period-pair .period-connector{font:800 17px/1 var(--en);color:var(--signal);text-align:center}
html[dir=rtl] .five-period-pair .period-connector{transform:rotate(180deg)}
body[data-page=aramco] .report-five .five-card p{margin-top:14px}
body[data-page=aramco] .report-five .five-card-foot{color:var(--signal)}

/* Completed reports stand apart from preliminary filing snapshots. */
body[data-page=coverage] .coverage-list{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;display:grid;gap:26px}
.coverage-group-title{display:flex;align-items:center;gap:10px;font:700 20px/1.4 var(--ar);margin:0 0 12px;color:#172b49}
body.en .coverage-group-title{font:800 18px/1.35 var(--en)}
.coverage-group-title span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:9px;background:#e9f4f0;color:var(--visual-positive);font:800 14px var(--en)}
.coverage-group.release .coverage-group-title span{background:#edf2f7;color:#647b92}
.coverage-group-rows{background:#fff;border:1px solid #dce6f0;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px #1c36550d}
.coverage-row.full{position:relative;background:#fff;min-height:112px;border-inline-start:4px solid var(--visual-positive)}
.coverage-row.full:hover{background:#f3fbf8}
.coverage-row.full h3{font-size:20px}
.coverage-row.full .coverage-open{padding:9px 12px;background:#e7f5ef;border-radius:9px;color:#087e65}
.coverage-row.release{min-height:78px;background:#fcfdff}
.coverage-row.release .coverage-ticker{background:transparent;border:1px dashed #a8bbd0;color:#607a91}
.coverage-row.release .coverage-open{color:#5977a0}
.coverage-complete-mark{display:inline-grid;place-items:center;min-width:39px;height:30px;background:#eaf7f1;color:#0e8068;border-radius:8px;font:800 13px var(--en)}

/* Secondary and incomplete pages still receive tactile depth without invented metrics. */
.five-checks>div{
  position:relative;overflow:hidden;border-radius:17px;
  box-shadow:0 14px 30px #1a406014;
  animation:visual-card-enter .55s both;
  transition:transform .28s,box-shadow .28s;
}
.five-checks>div:nth-child(2){animation-delay:.06s}
.five-checks>div:nth-child(3){animation-delay:.12s}
.five-checks>div:nth-child(4){animation-delay:.18s}
.five-checks>div:nth-child(5){animation-delay:.24s}
.five-checks>div:hover{transform:translateY(-5px);box-shadow:0 23px 39px #1a406024}
.five-checks>div::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#5b82d5}
.idea-card img{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.idea-card:hover img{transform:scale(1.035)}
.product-context{box-shadow:0 18px 38px #1a406016}
.manual-fact,.idea-card,.coverage-card,.source-item{
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s;
}
.manual-fact:hover,.idea-card:hover,.coverage-card:hover,.source-item:hover{
  transform:translateY(-4px);box-shadow:0 22px 42px #193e601c;border-color:#b6cfda;
}
.manual-fact-value{font-variant-numeric:tabular-nums}
.document-page h2{border-inline-start:3px solid #63a9a3;padding-inline-start:14px}

/* Reveal only content that starts below the fold; content remains readable without JS. */
body .visual-await{
  animation:none!important;
  transition:opacity .62s cubic-bezier(.2,.8,.2,1),transform .62s cubic-bezier(.2,.8,.2,1)!important;
  transition-delay:var(--visual-delay,0ms)!important;
}
body .visual-await:not(.visual-in){opacity:0!important;transform:translateY(18px)!important}

@keyframes visual-card-enter{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes visual-bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes visual-number-enter{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes visual-chip-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes visual-ambient{from{background-position:0 0}to{background-position:100% 50%}}

@media(max-width:700px){
  body[data-page=home] .metric-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
  body[data-page=home] .metric-tabs button{grid-column:span 2}
  body[data-page=home] .metric-tabs button:nth-child(n+4){grid-column:span 3}
  body[data-page=aramco] .health-score{min-height:0}
  body[data-page=aramco] .report-five .five-card{padding:18px 17px}
  .coverage-row.full{flex-wrap:wrap}
}
@media(max-width:440px){
  body[data-page=home] .five-card{box-shadow:0 12px 27px #233d6317}
  body[data-page=home] .metric-tabs button{min-width:0;padding:7px 5px}
  body:not(.en)[data-page=home] .metric-tabs button{font-size:13px;min-height:66px}
  body[data-page=aramco] .report-five .five-card{min-height:0}
  .five-period-pair{padding:10px;gap:8px}
  .five-period-pair small{font-size:12px}
  .five-period-pair bdi{font-size:20px}
  .coverage-row.full{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:10px}
  .coverage-row.full .coverage-row-main{grid-column:2 / 4}
  .coverage-row.full .coverage-complete-mark{grid-column:1}
  .coverage-row.full .coverage-open{grid-column:2 / 4;justify-self:start}
}
@media(prefers-reduced-motion:reduce){
  body[data-page=home] .five-card,body[data-page=home] .stage-chip,
  body[data-page=aramco] .report-hero,body[data-page=aramco] .report-five .five-card,
  .direction-spectrum i,.product-window.is-switching .bar,.product-window.is-switching .primary-value{
    animation:none!important;transform:none!important;
  }
  .direction-spectrum i{transform:scaleX(1)!important}
  .five-checks>div{animation:none!important;transform:none!important}
  body .visual-await,body .visual-await:not(.visual-in){opacity:1!important;transform:none!important;transition:none!important}
  .manual-fact,.idea-card,.idea-card img,.coverage-card,.source-item,.coverage-row,.five-card{transition:none!important}
}

/* Shared depth and financial meaning for both complete report layouts. */
.score-panel{--score-color:var(--visual-neutral);box-shadow:var(--depth-3)!important;position:relative;isolation:isolate}
.score-panel.pressure{--score-color:var(--visual-caution)}
.score-panel.improvement{--score-color:var(--visual-positive)}
.score-panel.mixed{--score-color:var(--visual-neutral)}
.score-panel::after{content:"";position:absolute;z-index:-1;inset:1px;border-radius:inherit;background:radial-gradient(circle at 80% 0%,#dbe8ff73,transparent 43%);pointer-events:none}
.score-orbit{display:grid;place-items:center;width:122px;height:122px;margin:8px auto 0;border-radius:50%;background:conic-gradient(var(--score-color) calc(var(--score)*1%),#e9eef4 0);box-shadow:0 13px 29px #183c5626,0 1px 0 #fff inset;animation:visual-score-enter .65s cubic-bezier(.2,.8,.2,1) both}
.score-orbit::before{content:"";grid-area:1/1;width:100px;height:100px;border-radius:50%;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 4px 12px #14354c18 inset}
.score-orbit strong{grid-area:1/1;z-index:1;font:800 45px/1 var(--en);letter-spacing:-.055em;color:var(--score-color)}
.score-orbit small{font:700 16px/1 var(--en);letter-spacing:0;color:#77899c}
.score-panel>strong{color:var(--score-color)!important}
.score-period{font-size:11px;line-height:1.45;color:#61758a;font-weight:700;text-align:center}
.score-strip{display:flex;gap:4px;width:100%;height:10px;direction:ltr;margin-top:12px}
.score-strip i{display:block;min-width:0;border-radius:20px;background:var(--visual-neutral);transform-origin:center;animation:visual-score-enter .55s both}
.score-strip i:nth-child(2){animation-delay:.06s}.score-strip i:nth-child(3){animation-delay:.12s}.score-strip i:nth-child(4){animation-delay:.18s}.score-strip i:nth-child(5){animation-delay:.24s}
.score-strip .positive{background:var(--visual-positive)}.score-strip .pressure{background:var(--visual-caution)}.score-strip .neutral{background:#9aabba}
.score-key{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;width:100%;margin-top:4px;line-height:1.2}
.score-key b{font-size:10px;font-weight:700;white-space:nowrap}
.score-key b{background:none}
.score-key b::before{content:"";display:inline-block;width:6px;height:6px;margin-inline-end:4px;border-radius:50%;background:currentColor;vertical-align:middle}
.score-key .positive{color:var(--visual-positive)}.score-key .pressure{color:var(--visual-caution)}.score-key .neutral{color:var(--visual-neutral)}
body[data-page=aramco] .health-score{min-height:295px;justify-content:flex-start;padding:17px 19px 18px}
body[data-page=aramco] .health-score>strong{font-size:20px;line-height:1.25}
body[data-page=aramco] .health-score>small{line-height:1.4;margin-top:8px}
body[data-page=aramco] .report-five .five-card{box-shadow:var(--depth-2)}
body[data-page=aramco] .report-five .five-card.sales .five-card-foot{color:var(--visual-positive)}
body[data-page=aramco] .report-five .five-card.margin .five-card-foot,
body[data-page=aramco] .report-five .five-card.cash .five-card-foot,
body[data-page=aramco] .report-five .five-card.debt .five-card-foot{color:var(--visual-caution)}
body[data-page=aramco] .report-five .five-card.eps .five-card-foot{color:var(--visual-neutral)}
body[data-page=aramco] .report-delta-card.profit .report-delta-change strong{color:var(--visual-neutral)}
body[data-page=aramco] .report-delta-card.revenue .report-delta-change strong{color:var(--visual-positive)}
body[data-page=aramco] .report-delta-card.cash .report-delta-change strong{color:var(--visual-caution)}
.score-weights{font-weight:700;color:#273e60}
.metric{box-shadow:var(--depth-2);border-color:#dbe6ee}
.metric.good{--metric-tone:var(--visual-positive)}.metric.watch{--metric-tone:var(--visual-caution)}
.metric.good::before,.metric.watch::before{background:var(--metric-tone)}
.metric.good .metric-change,.metric.watch .metric-change,.metric.good .metric-period-value.latest bdi,.metric.watch .metric-period-value.latest bdi{color:var(--metric-tone)}
.metric.selected{box-shadow:0 0 0 2px #3b70d422,var(--depth-3)}
.detail,.hero-text,.source-panel,.chartick{box-shadow:var(--depth-2)}
.health.score-panel{min-height:0;align-items:center;text-align:center;gap:7px}
.health.score-panel>strong{margin-top:1px;font-size:24px}
.health.score-panel .score-note{padding-top:0;margin-top:7px;text-align:center}
.health.score-panel .score-strip{margin-top:8px}
.score-method p+p{margin-top:9px}
.source-panel a{color:#2959b8;text-decoration:underline;text-underline-offset:3px}

/* Desktop rhythm: remove compounded section whitespace while keeping cards breathable. */
@media(min-width:1001px){
  body[data-page=home] .hero-grid{padding-block:48px 54px}
  body[data-page=home] .coverage-teaser{padding-block:20px 24px}
  body[data-page=home] .five-section{padding-block:54px 58px}
  body[data-page=home] #markets.section{padding-block:58px 60px}
  body[data-page=home] #method.section{padding-block:48px 52px}
  body[data-page=home] #method .recent-grid{padding-top:26px}
  body[data-page=home] #faq.section{padding-block:58px 62px}
  body[data-page=home] .closing{padding-bottom:60px}
  body[data-page=aramco] .report-hero{padding-block:36px 30px}
  body[data-page=aramco] .report-hero .crumbs{margin-bottom:16px}
  body[data-page=aramco] .report-hero .report-lead{margin-top:12px}
  body[data-page=aramco] .report-hero .report-meta{margin-top:16px}
  body[data-page=aramco] .report-section{padding-block:48px}
  body[data-page=aramco] .closing{padding-bottom:60px}
  body[data-page=aramco] .report-five .five-card{padding-block:19px 17px}
  body[data-page=aramco] .report-five .five-card p{margin-top:12px}
  body[data-page=home] .chartick-block{padding-block:36px}
  #app .checks{padding-block:17px 20px}
  #app .bottom{padding-bottom:34px}
}
.detail.good{--metric-tone:var(--visual-positive)}.detail.watch{--metric-tone:var(--visual-caution)}
.detail .bar-row.current .bar-label strong{color:var(--metric-tone)}
.detail.good .bar-row.current .track>div{background:var(--visual-positive)}
.detail.watch .bar-row.current .track>div{background:var(--visual-caution)}
@keyframes visual-score-enter{from{opacity:.5;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(hover:hover){.metric:hover,.manual-fact:hover,.idea-card:hover,.coverage-card:hover,.source-item:hover{transform:translateY(-4px);box-shadow:var(--depth-3)}}
@media(max-width:700px){body[data-page=aramco] .health-score{min-height:0}.health.score-panel{padding:21px 20px}.score-orbit{width:111px;height:111px}.score-orbit::before{width:91px;height:91px}.score-orbit strong{font-size:41px}.metric{box-shadow:var(--depth-1)}}
@media(prefers-reduced-motion:reduce){.score-orbit,.score-strip i,.metric{animation:none!important;transition:none!important;transform:none!important}body[data-page=home] .five-card::before{transform:none!important}}

/* r8: put the complete example and weighted reading in the first product view. */
.hero-example-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:43px;padding:9px 17px;margin:16px 0 3px;border:1px solid #b7c9ee;border-radius:12px;background:linear-gradient(145deg,#fff,#f2f6ff);box-shadow:0 8px 19px #18376512;color:#254da9;font-weight:750;font-size:14px;line-height:1.5;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.hero-example-link:hover{transform:translateY(-2px);box-shadow:0 11px 25px #18376520;border-color:#86a4e6}
.hero-example-link:focus-visible{outline:3px solid #2f67d5;outline-offset:3px}
.example-score{display:flex;align-items:center;gap:12px;max-width:100%;padding:10px 13px;margin:15px 0 14px;border:1px solid #d7e2f3;border-radius:12px;background:linear-gradient(110deg,#f5f9ff,#f5fbf9);color:#4c5c76;line-height:1.5}
.example-score strong{flex:none;color:#315bc2;font-size:23px;line-height:1.1;direction:ltr}
.example-score span{font-size:12px;font-weight:650}
@media(max-width:700px){.hero-example-link{width:100%;margin:13px 0 8px}.example-score{align-items:start;gap:9px}.example-score strong{font-size:21px}.example-score span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-example-link{transition:none!important;transform:none!important}}
