/* REVIEW R100 — wide-screen editorial polish. Scoped to REVIEW pages. */
html{overflow-x:clip}
body.j97-review{
  --max:1640px;
  --review-ink:#11151a;
  --review-ink-soft:#39424c;
  --review-paper:#ffffff;
  --review-field:#f3f5f7;
  --review-line:#cfd5dc;
  --review-line-dark:#7e8792;
  --review-red:#ad1832;
  --review-blue:#174b92;
  --review-shadow:0 24px 70px rgba(19,28,38,.10);
  background:var(--review-field);
  color:var(--review-ink);
}
body.j97-review .wrap{
  width:min(var(--max),calc(100% - clamp(36px,6vw,132px)));
}
body.j97-review .j97-journey{
  padding-inline:max(18px,calc((100vw - var(--max))/2))!important;
}
body.j97-review .topline .wrap,
body.j97-review .header .wrap{width:min(var(--max),calc(100% - clamp(36px,6vw,132px)))}
body.j97-review .j97-topline{max-width:none!important}
body.j97-review .j97-step{min-height:68px!important}
body.j97-review .header{
  position:sticky;
  top:0;
  z-index:90;
  background:rgba(255,255,255,.94);
  border-bottom-color:#d7dce2;
  box-shadow:0 10px 34px rgba(30,39,49,.045);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
  backdrop-filter:blur(16px) saturate(135%);
}
body.j97-review .header-inner{padding-block:18px}
body.j97-review .brand strong{font-size:clamp(1.9rem,2.2vw,2.55rem);letter-spacing:.075em}
body.j97-review .brand span{letter-spacing:.19em}
body.j97-review .nav{gap:clamp(16px,1.7vw,31px);font-size:.9rem}
body.j97-review .nav .nav-next{padding-inline:21px;border-color:#aab2bc;background:#fff}

/* The homepage reads like an opened case file, not a narrow marketing column. */
body.j97-review .hero{
  isolation:isolate;
  min-height:min(820px,calc(100svh - 220px));
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 83% 46%,rgba(23,75,146,.055),transparent 22%),
    radial-gradient(circle at 12% 90%,rgba(173,24,50,.04),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fff 76%,#f8f9fa 100%);
  border-bottom:1px solid #d8dde3;
}
body.j97-review .hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.68;
  background-image:
    linear-gradient(rgba(17,21,26,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(17,21,26,.035) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);
}
body.j97-review .hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  top:-22%;
  height:19%;
  pointer-events:none;
  opacity:.17;
  background:linear-gradient(180deg,transparent,rgba(23,75,146,.22),transparent);
  animation:reviewAmbientScan 13s linear infinite;
}
@keyframes reviewAmbientScan{to{transform:translateY(720%)}}
body.j97-review.review-motion-paused *,
body.j97-review.review-motion-paused *::before,
body.j97-review.review-motion-paused *::after{animation-play-state:paused!important}
body.j97-review .hero .wrap{padding-block:clamp(68px,7vw,122px)}
body.j97-review .hero-grid{
  grid-template-columns:minmax(0,1.5fr) minmax(360px,.78fr);
  gap:clamp(48px,7vw,138px);
  align-items:center;
}
body.j97-review .hero h1{
  max-width:970px;
  margin-bottom:30px;
  font-size:clamp(4.25rem,7.4vw,8rem);
  line-height:.98;
  letter-spacing:-.055em;
  text-wrap:balance;
}
body.j97-review .hero .eyebrow{margin-bottom:24px;color:#343b43;letter-spacing:.205em}
body.j97-review .hero .lead{max-width:800px;font-size:clamp(1.08rem,1.25vw,1.28rem);line-height:1.78}
body.j97-review .hero .actions{margin-top:30px}
body.j97-review .hero .folio{
  width:min(100%,540px);
  margin-left:auto;
  padding:clamp(27px,3vw,42px);
  border-radius:2px 2px 22px 22px;
  border-color:#bcc4cd;
  border-top-width:5px;
  box-shadow:var(--review-shadow),18px 18px 0 rgba(17,21,26,.025);
  position:relative;
  overflow:hidden;
}
body.j97-review .hero .folio::after{
  content:"REVIEW / 00";
  position:absolute;
  right:18px;
  bottom:13px;
  color:#89919a;
  font:700 .58rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.14em;
}
body.j97-review .folio-title{font-size:.76rem;letter-spacing:.17em}
body.j97-review .folio-row{grid-template-columns:42px 1fr;padding-block:20px}
body.j97-review .folio-row strong{font-size:clamp(1.38rem,1.6vw,1.72rem)}
body.j97-review .hero-sub{margin-top:clamp(42px,5vw,72px);padding-top:22px}

/* Full-width evidence field with readable cards. */
body.j97-review .section{padding-block:clamp(62px,7vw,108px)}
body.j97-review .section-heading{margin-bottom:36px}
body.j97-review .section-heading h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.02;max-width:940px}
body.j97-review .section-heading p{max-width:820px;font-size:1.05rem}
body.j97-review .method-strip{border-radius:16px;box-shadow:0 16px 42px rgba(26,34,43,.045)}
body.j97-review .method-strip>div{padding:clamp(20px,2.2vw,32px)}
body.j97-review .filter-form{padding:clamp(20px,2.2vw,32px);border-radius:16px}
body.j97-review .cards{gap:clamp(18px,1.8vw,30px)}
body.j97-review .record-card{
  position:relative;
  overflow:hidden;
  border-radius:15px;
  padding:clamp(24px,2.15vw,34px);
  box-shadow:0 16px 42px rgba(29,37,46,.05);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
body.j97-review .record-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:54px;
  height:4px;
  background:#20252b;
}
body.j97-review .record-card:hover{
  transform:translateY(-6px);
  border-color:#9ca5af;
  box-shadow:0 25px 58px rgba(29,37,46,.11);
}
body.j97-review .record-card h3{font-size:clamp(1.45rem,1.65vw,1.9rem)}
body.j97-review .accountable{background:#eef1f4;border-color:#d3d8df}
body.j97-review .accountable-grid{gap:clamp(48px,7vw,130px)}
body.j97-review .journey{background:#121a24}
body.j97-review .footer{background:#0a1017}
body.j97-review main>section:not(.hero){content-visibility:auto;contain-intrinsic-size:900px}
body.j97-review .co99-feature{content-visibility:auto;contain-intrinsic-size:760px}

/* Article and evidence pages keep a readable line length while using the viewport. */
body.j97-review .record-hero{background:
  linear-gradient(rgba(17,21,26,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(17,21,26,.035) 1px,transparent 1px),
  linear-gradient(120deg,#fff,#f1f3f5);background-size:48px 48px,48px 48px,auto}
body.j97-review .record-layout{grid-template-columns:minmax(0,2.8fr) minmax(270px,.82fr);gap:clamp(40px,6vw,105px)}
body.j97-review .prose{max-width:88ch}
body.j97-review .aside{position:sticky;top:118px}
body.j97-review .reading-wrap{max-width:980px}
body.j97-review .source-grid{gap-inline:64px}

/* Persistent controls remain quiet after the opening. */
.review-motion-dock{
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  bottom:max(14px,env(safe-area-inset-bottom));
  z-index:240;
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border:1px solid rgba(112,122,133,.44);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 44px rgba(20,28,37,.16);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  opacity:1;
  transition:opacity .25s ease,transform .25s ease;
}
body.rc-running .review-motion-dock{opacity:0;pointer-events:none;transform:translateY(10px)}
.review-motion-dock button{
  min-height:38px;
  padding:7px 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#20262d;
  font:750 .72rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.035em;
}
.review-motion-dock button:hover{background:#edf0f3}
.review-motion-dock button:focus-visible{outline:3px solid #172b46;outline-offset:2px}

@media(min-width:1880px){
  body.j97-review{--max:1880px}
  body.j97-review .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.j97-review .hero-grid{grid-template-columns:minmax(0,1.62fr) minmax(420px,.72fr)}
}
@media(max-width:1180px){
  body.j97-review{--max:1120px}
  body.j97-review .hero{min-height:auto}
  body.j97-review .hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(310px,.8fr);gap:40px}
  body.j97-review .hero h1{font-size:clamp(4rem,8vw,6.2rem)}
}
@media(max-width:860px){
  body.j97-review .header{position:relative;top:auto}
  body.j97-review .hero-grid{grid-template-columns:1fr;gap:42px}
  body.j97-review .hero .folio{width:100%;margin:0}
  body.j97-review .record-layout{grid-template-columns:1fr}
  body.j97-review .aside{position:static}
}
@media(max-width:760px){
  body.j97-review{--max:none}
  body.j97-review .wrap,
  body.j97-review .topline .wrap,
  body.j97-review .header .wrap{width:calc(100% - 32px)}
  body.j97-review .hero{min-height:auto}
  body.j97-review .hero::before{background-size:32px 32px}
  body.j97-review .hero .wrap{padding-block:54px 62px}
  body.j97-review .hero h1{font-size:clamp(3.35rem,17vw,5.15rem);line-height:.95}
  body.j97-review .hero .lead{font-size:1.02rem;line-height:1.72}
  body.j97-review .hero-sub{margin-top:38px}
  body.j97-review .section-heading h2{font-size:clamp(2.55rem,12vw,3.9rem)}
  body.j97-review .record-card:hover{transform:none}
  .review-motion-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100vw - 20px)}
  .review-motion-dock button{font-size:.67rem;padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
  body.j97-review .hero::after{animation:none;display:none}
  body.j97-review .record-card{transition:none}
  body.j97-review .record-card:hover{transform:none}
  .review-motion-dock{transition:none}
}
@media print{
  .review-motion-dock{display:none!important}
  body.j97-review main>section:not(.hero),body.j97-review .co99-feature{content-visibility:visible;contain-intrinsic-size:auto}
}
