/* =========================================================
   首页 2.0 · 方案 A 延展
   仅作用于 .home-page，避免改变现有产品页与内容页。
   ========================================================= */

.home-page{
  /* RiskPower 产品视觉识别体系：产品家族主色 */
  --rp-blue:#1769D2;
  --rp-cyan:#168FA3;
  --rp-purple:#7556C7;
  --rp-indigo:#4F5DB7;
  --rp-orange:#D98232;
  --rp-green:#359768;
  --home-violet:var(--rp-purple);
  --home-amber:var(--rp-orange);
  --home-line:rgba(0,92,151,.14);
  --home-panel:rgba(255,255,255,.78);
  padding-top:76px;
  background:
    radial-gradient(900px 560px at 88% 2%,rgba(158,212,255,.38),transparent 66%),
    radial-gradient(760px 520px at -8% 32%,rgba(45,152,138,.12),transparent 64%),
    linear-gradient(180deg,#F6FAFE 0%,#EDF4FA 55%,#F8FBFE 100%);
}

.home-page main{overflow:clip}
.home-page [id]{scroll-margin-top:96px}
.home-page button,.home-page a{-webkit-tap-highlight-color:transparent}
.home-page :focus-visible{
  outline:3px solid rgba(13,128,222,.68);
  outline-offset:4px;
  border-radius:8px;
}

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:1000;
  transform:translateY(-160%);
  padding:.7rem 1rem;
  border-radius:10px;
  background:#fff;
  color:var(--gl-blue);
  font-weight:600;
  box-shadow:var(--shadow-soft);
}
.skip-link:focus{transform:none}

/* Header and navigation */
.home-header{background:rgba(248,252,255,.74);border-bottom-color:rgba(0,92,151,.08)}
.home-header .header-wrap{width:min(100% - 2rem,1420px);height:76px}
.home-header .brand{min-height:44px}
.home-header .brand-logo{height:40px}
.home-primary-nav{margin-left:auto}
.home-nav-links{align-items:center;gap:clamp(.65rem,1.25vw,1.25rem);font-size:.86rem}
.home-nav-links>li{position:relative;flex-shrink:0}
.home-nav-links a{padding-block:.55rem}
.home-nav-links a::after{bottom:-4px}
.home-nav-links .nav-contact-btn{min-height:42px;display:inline-flex;align-items:center;padding:.65rem 1.05rem;border-radius:999px;background:linear-gradient(135deg,var(--gl-blue),var(--blue-4));color:#fff;box-shadow:0 12px 28px -15px rgba(0,92,151,.72)}
.home-nav-links .nav-contact-btn::after{display:none}.home-nav-links .nav-contact-btn:hover{color:#fff;transform:translateY(-1px)}
.home-nav-actions{gap:.75rem}
.nav-booking{padding:.7rem 1.1rem;min-height:42px;font-size:.87rem;white-space:nowrap}

.nav-other-row{display:flex;align-items:center;gap:.12rem}
.submenu-toggle{
  width:28px;
  height:32px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:8px;
  color:var(--muted-2);
  background:transparent;
  cursor:pointer;
  transition:color .2s,background .2s;
}
.submenu-toggle:hover{color:var(--gl-blue);background:rgba(63,165,248,.1)}
.submenu-toggle svg{transition:transform .25s var(--ease)}
.nav-other.is-open .submenu-toggle svg{transform:rotate(180deg)}

.nav-dropdown{
  position:absolute;
  top:calc(100% + .6rem);
  left:50%;
  width:230px;
  padding:.55rem;
  list-style:none;
  border:1px solid rgba(0,92,151,.12);
  border-radius:16px;
  background:rgba(255,255,255,.97);
  box-shadow:0 24px 54px -22px rgba(14,27,44,.35);
  backdrop-filter:blur(20px);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,-7px);
  transition:opacity .2s,visibility .2s,transform .2s var(--ease);
  z-index:120;
}
.nav-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-.75rem;
  height:.8rem;
}
.nav-other:hover>.nav-dropdown,
.nav-other:focus-within>.nav-dropdown,
.nav-other.is-open>.nav-dropdown{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.home-nav-links .nav-dropdown li{width:100%}
.home-nav-links .nav-dropdown a{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:baseline;
  gap:.7rem;
  padding:.75rem .8rem;
  border-radius:11px;
  white-space:nowrap;
}
.home-nav-links .nav-dropdown a::after{display:none}
.home-nav-links .nav-dropdown a:hover{background:rgba(63,165,248,.08)}
.nav-dropdown a span{font-family:var(--font-display);font-weight:600;color:var(--ink)}
.nav-dropdown a small{font-size:.72rem;color:var(--muted)}

.home-nav-toggle{
  width:44px;
  height:44px;
  padding:10px;
  border-radius:13px;
  border:1px solid rgba(0,92,151,.14);
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 24px -16px rgba(14,27,44,.35);
  grid-template-rows:repeat(3,2px);
  align-content:center;
  gap:5px;
}
.home-nav-toggle span{
  width:20px;
  height:2px;
  border-radius:2px;
  background:var(--ink);
  transition:transform .25s,opacity .2s;
}
.home-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.home-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.home-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero — fit within one viewport on common laptop heights */
.home-hero{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:calc(100svh - 76px);
  padding-block:clamp(1.1rem,2.2vh,2.4rem) clamp(1.4rem,3vh,3rem);
}
.home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(0,92,151,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,92,151,.035) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 90%);
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.87fr) minmax(480px,1.13fr);
  align-items:center;
  gap:clamp(1.4rem,3vw,3.2rem);
}
.home-hero-copy{min-width:0}
.home-hero .hero-tag{margin-bottom:.75rem}
.hero-brand-lockup{
  display:inline-grid;
  grid-template-columns:60px 220px;
  align-items:center;
  gap:.55rem;
  width:max-content;
  max-width:100%;
  margin-bottom:.75rem;
  padding:.5rem .8rem;
  border:1px solid rgba(255,255,255,.94);
  border-radius:14px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(12px);
}
.riskpower-mark-crop,.riskpower-wordmark-crop{display:block;max-width:100%;object-fit:contain;object-position:center}
.riskpower-mark-crop{width:60px;height:56px}
.riskpower-wordmark-crop{width:220px;height:56px}
.home-hero h1{
  max-width:none;
  margin-bottom:.75rem;
  font-size:clamp(2.55rem,4.5vw,4.15rem);
  line-height:1.06;
  letter-spacing:-.04em;
  background:linear-gradient(120deg,var(--ink) 0%,var(--gl-blue) 68%,var(--green) 110%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.home-hero h1 span{display:block}
.home-hero .lede{
  max-width:56ch;
  margin-bottom:.75rem;
  color:var(--muted-2);
  font-size:clamp(.98rem,1.25vw,1.12rem);
  line-height:1.65;
  text-wrap:pretty;
}
.expert-note{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  width:100%;
  max-width:none;
  margin-bottom:1rem;
  color:#31566E;
  font-size:.84rem;
  line-height:1.55;
  text-wrap:pretty;
}
.expert-note span{
  width:20px;
  height:20px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  margin-top:.14rem;
  border-radius:50%;
  background:rgba(45,152,138,.12);
  color:var(--green);
  font-size:.72rem;
  font-weight:700;
}
.hero-value-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;max-width:620px;margin:0 0 .75rem}
.hero-value-metrics>div{min-width:0;padding:.55rem .55rem .5rem;border:1px solid rgba(23,105,210,.1);border-radius:12px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(230,243,252,.74));box-shadow:0 13px 28px -24px rgba(23,105,210,.55)}
.hero-value-metrics strong{display:flex;align-items:center;color:var(--rp-blue);font-family:var(--font-display);line-height:1}
.hero-value-metrics strong b{font-size:1.35rem;font-weight:700;letter-spacing:-.04em}
.hero-value-metrics strong em{display:inline-block;margin:0 0 0 .2rem;color:#1E9B8B;font-size:1.15rem;font-style:normal;font-weight:800;line-height:.8;transform:translateY(-1px)}
.hero-value-metrics span{display:block;margin-top:.28rem;color:#52697B;font-size:.58rem;line-height:1.35}
.home-hero .hero-actions{margin-bottom:0}
.home-hero .hero-actions .btn{min-height:44px;padding:.7rem 1.25rem;font-size:.92rem}

/* Product ecosystem map — semantic HTML, no text baked into an image */
.ecosystem-map{
  position:relative;
  min-width:0;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.92);
  border-radius:30px;
  background:
    radial-gradient(80% 70% at 15% 0%,rgba(158,212,255,.28),transparent 70%),
    rgba(255,255,255,.74);
  box-shadow:0 34px 80px -38px rgba(0,92,151,.4),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(22px) saturate(150%);
}
.ecosystem-map::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(0,92,151,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,92,151,.035) 1px,transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 95%);
  mask-image:linear-gradient(to bottom,#000,transparent 95%);
}
.ecosystem-map>*{position:relative;z-index:1}
.ecosystem-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  padding:.2rem .25rem 1rem;
  border-bottom:1px solid rgba(0,92,151,.1);
}
.ecosystem-heading>span{
  font-family:var(--font-mono);
  color:var(--gl-blue);
  font-size:.62rem;
  letter-spacing:.14em;
}
.ecosystem-heading h2{font-size:1.05rem;letter-spacing:-.01em;text-align:right}
.ecosystem-journey-wrap{
  margin-top:.85rem;
  padding:.8rem;
  border:1px solid rgba(0,92,151,.14);
  border-radius:18px;
  background:linear-gradient(115deg,rgba(235,247,255,.92),rgba(244,251,249,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.ecosystem-journey-label{
  display:block;
  margin-bottom:.65rem;
  color:#31566E;
  font-family:var(--font-mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.08em;
}
.ecosystem-journey{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin:0;
  padding:0;
  list-style:none;
}
.ecosystem-journey li{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:.46rem;
  border:1px solid rgba(0,92,151,.1);
  border-radius:13px;
  background:rgba(255,255,255,.88);
}
.ecosystem-journey li:not(:last-child)::after{
  content:"";
  position:absolute;
  top:42px;
  right:-.76rem;
  z-index:2;
  width:.9rem;
  height:8px;
  background:var(--blue-3);
  clip-path:polygon(0 44%,68% 44%,68% 0,100% 50%,68% 100%,68% 56%,0 56%);
}
.journey-visual{
  position:relative;
  width:100%;
  height:74px;
  overflow:hidden;
  border:1px solid rgba(0,92,151,.1);
  border-radius:9px;
  background:#F7FAFD;
}
.pid-file-tag{
  position:absolute;
  top:6px;
  left:7px;
  z-index:2;
  color:var(--gl-blue);
  font-family:var(--font-mono);
  font-size:.42rem;
  font-weight:600;
  letter-spacing:.08em;
}
.pid-diagram{position:absolute;inset:7px 5px 3px;width:calc(100% - 10px);height:calc(100% - 10px)}
.pid-pipe{stroke:#91A4B4;stroke-width:1.2;stroke-linecap:round}
.pid-unit{stroke:#637D91;stroke-width:1.2;fill:#fff}
.pid-valve{stroke:#637D91;stroke-width:1.1;stroke-linejoin:round}
.upload-mark{
  position:absolute;
  right:7px;
  bottom:7px;
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:linear-gradient(135deg,var(--gl-blue),var(--blue-3));
  color:#fff;
  box-shadow:0 7px 16px -8px rgba(0,92,151,.7);
}
.upload-mark svg{width:14px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pid-analysis{background:linear-gradient(135deg,#F2FAF8,#F3F8FC)}
.detected-box{stroke:var(--green);stroke-width:1.3;stroke-dasharray:3 2;fill:rgba(45,152,138,.06)}
.detected-node{fill:var(--gl-blue);stroke:#fff;stroke-width:1.5}
.analysis-scan{
  position:absolute;
  top:7px;
  bottom:7px;
  left:19%;
  width:1px;
  background:var(--green);
  box-shadow:0 0 8px rgba(45,152,138,.75);
  animation:pid-scan 3.2s var(--ease) infinite;
}
.analysis-scan::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-12px;
  width:24px;
  background:linear-gradient(90deg,transparent,rgba(45,152,138,.12),transparent);
}
.vision-status{
  position:absolute;
  right:6px;
  top:6px;
  display:flex;
  align-items:center;
  gap:.25rem;
  padding:.22rem .35rem;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#257F75;
  font-size:.43rem;
  font-weight:600;
  box-shadow:0 5px 12px -9px rgba(14,27,44,.6);
}
.vision-status i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(45,152,138,.11)}
.report-result{display:grid;place-items:center;background:linear-gradient(145deg,#F3F2FC,#F8FAFD)}
.report-sheet{
  position:relative;
  width:64%;
  height:61px;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:9px 8px;
  border:1px solid rgba(110,102,198,.2);
  border-radius:6px;
  background:#fff;
  box-shadow:0 8px 18px -12px rgba(14,27,44,.55);
}
.report-sheet>i{display:block;width:88%;height:3px;border-radius:3px;background:#DDE4EB}
.report-sheet>i.report-heading{width:46%;height:4px;background:rgba(110,102,198,.55)}
.report-sheet>i.short{width:62%}
.report-sheet b{display:flex;align-items:end;gap:3px;height:14px;margin-top:auto}
.report-sheet em{width:8px;border-radius:2px 2px 0 0;background:rgba(110,102,198,.26)}
.report-sheet em:nth-child(1){height:7px}.report-sheet em:nth-child(2){height:12px}.report-sheet em:nth-child(3){height:9px}
.report-check{
  position:absolute;
  right:12%;
  bottom:7px;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.58rem;
  font-weight:700;
  box-shadow:0 6px 14px -7px rgba(45,152,138,.8);
}
.journey-copy{display:block;padding:.45rem .15rem .08rem}
.ecosystem-journey small{
  display:block;
  margin-bottom:.16rem;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.5rem;
  letter-spacing:.06em;
}
.ecosystem-journey strong{
  display:block;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:.67rem;
  font-weight:600;
  line-height:1.38;
}
@keyframes pid-scan{0%,12%{left:18%;opacity:0}20%{opacity:1}76%{opacity:1}88%,100%{left:82%;opacity:0}}
.ecosystem-journey-value{
  display:flex;
  align-items:center;
  gap:.4rem;
  margin:.62rem 0 0;
  color:#31566E;
  font-size:.65rem;
  line-height:1.5;
}
.ecosystem-journey-value span{
  width:17px;
  height:17px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(45,152,138,.13);
  color:var(--green);
  font-size:.58rem;
  font-weight:700;
}
.ecosystem-core{
  display:grid;
  grid-template-columns:1fr 72px 1fr;
  align-items:stretch;
  gap:.6rem;
  padding:1rem 0;
}
.ecosystem-group{
  min-width:0;
  padding:.75rem;
  border:1px solid rgba(0,92,151,.12);
  border-radius:18px;
  background:rgba(248,252,255,.76);
}
.ecosystem-group h3{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.65rem;
  font-size:.8rem;
}
.ecosystem-group h3 span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:linear-gradient(135deg,var(--gl-blue),var(--blue-3));
  color:#fff;
  font-family:var(--font-mono);
  font-size:.62rem;
  box-shadow:0 8px 16px -8px rgba(0,92,151,.55);
}
.ecosystem-group h3 .ecosystem-group-icon svg{
  width:15px;
  height:15px;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.group-review h3 span{background:linear-gradient(135deg,var(--home-violet),#9D97E4)}
.ecosystem-products{display:grid;gap:.55rem}
.ecosystem-product{
  padding:.7rem .72rem;
  border-radius:13px;
  border:1px solid rgba(0,92,151,.16);
  border-left:3px solid var(--gl-blue);
  background:#fff;
  box-shadow:0 10px 22px -18px rgba(14,27,44,.3);
}
.ecosystem-product.green{border-left-color:var(--green)}
.ecosystem-product.violet{border-left-color:var(--home-violet)}
.ecosystem-product.amber{border-left-color:var(--home-amber)}
.ecosystem-product b{
  display:block;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:.8rem;
  line-height:1.25;
}
.ecosystem-product small{display:block;margin-top:.2rem;color:var(--muted);font-size:.61rem}
.ecosystem-relation{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.35rem;
  color:var(--muted);
  font-family:var(--font-mono);
  font-size:.53rem;
  text-align:center;
}
.ecosystem-relation svg{width:62px;stroke:var(--blue-3);stroke-width:1.5}
.ecosystem-extensions{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.75rem;
  align-items:center;
  padding:.75rem;
  border:1px dashed rgba(0,92,151,.2);
  border-radius:15px;
  background:rgba(220,240,255,.26);
}
.extension-label{
  font-family:var(--font-mono);
  font-size:.6rem;
  color:var(--muted-2);
  letter-spacing:.08em;
}
.ecosystem-extensions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.ecosystem-extensions b{
  display:block;
  padding:.5rem .45rem;
  border:1px solid rgba(0,92,151,.1);
  border-radius:10px;
  background:rgba(255,255,255,.86);
  color:var(--gl-blue);
  font-family:var(--font-display);
  font-size:.7rem;
  text-align:center;
}
.ecosystem-foundation{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem .65rem;
  justify-content:center;
  margin-top:.7rem;
  padding:.62rem;
  border-radius:13px;
  background:#EDF3F8;
}
.ecosystem-foundation span{
  color:#566778;
  font-family:var(--font-mono);
  font-size:.55rem;
  white-space:nowrap;
}
.ecosystem-foundation span:not(:last-child)::after{content:"·";margin-left:.65rem;color:#A8B5C1}
.ecosystem-map figcaption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Hero 双视觉：P&ID 识图用户流程 + 产品地图 */
.home-hero-visuals{
  min-width:0;
  display:grid;
  gap:.7rem;
  max-height:none;
}
.hero-visual-card{
  position:relative;
  min-width:0;
  min-height:0;
  padding:.75rem;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.94);
  border-radius:20px;
  background:
    radial-gradient(75% 95% at 4% 0%,rgba(158,212,255,.25),transparent 70%),
    rgba(255,255,255,.78);
  box-shadow:0 28px 68px -36px rgba(0,92,151,.42),inset 0 1px 0 #fff;
  backdrop-filter:blur(20px) saturate(145%);
}
.hero-visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(0,92,151,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,92,151,.028) 1px,transparent 1px);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 94%);
  mask-image:linear-gradient(to bottom,#000,transparent 94%);
}
.hero-visual-card>*{position:relative;z-index:1}
.hero-visual-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.5rem;
}
.hero-visual-heading>span{
  color:var(--rp-blue);
  font-family:var(--font-mono);
  font-size:.58rem;
  font-weight:500;
  letter-spacing:.12em;
  white-space:nowrap;
}
.hero-visual-heading h2{font-size:.96rem;letter-spacing:-.01em;text-align:right}
.hero-visual-caption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.pid-workbench{
  height:auto;
  display:grid;
  grid-template-columns:124px minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(23,105,210,.16);
  border-radius:14px;
  background:#F4F8FC;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.pid-file-stack{
  display:flex;
  flex-direction:column;
  gap:.42rem;
  min-width:0;
  padding:.7rem .55rem;
  border-right:1px solid rgba(23,105,210,.11);
  background:linear-gradient(180deg,#F9FBFD,#EDF3F8);
}
.pid-file-stack::before{
  content:"资料接入";
  margin:.05rem .2rem .2rem;
  color:#7B8D9C;
  font-family:var(--font-mono);
  font-size:.52rem;
  letter-spacing:.08em;
  white-space:nowrap;
}
.pid-file-stack span{
  display:flex;
  align-items:center;
  gap:.36rem;
  min-width:0;
  padding:.42rem .4rem;
  border:1px solid transparent;
  border-radius:8px;
  color:#65798A;
  font-size:.58rem;
  line-height:1.25;
  white-space:nowrap;
}
.pid-file-stack span i{
  width:10px;
  height:12px;
  flex:0 0 auto;
  border:1px solid #91A6B7;
  border-radius:2px;
  background:#fff;
}
.pid-file-stack span.is-active{
  border-color:rgba(23,105,210,.14);
  background:#fff;
  color:var(--rp-blue);
  font-weight:600;
  box-shadow:0 8px 18px -14px rgba(14,27,44,.5);
}
.pid-file-stack span.is-active i{border-color:var(--rp-blue);background:rgba(23,105,210,.08)}
.pid-canvas{--scan-cycle:6s;position:relative;min-width:0;overflow:hidden;background:#fff;aspect-ratio:1.8}
.pid-flow-card{container-type:inline-size}
.pid-canvas>img{
  position:absolute;
  left:-92.99%;
  top:-135.54%;
  width:272.78%;
  height:auto;
  max-width:none;
  object-fit:initial;
  transform:none;
  filter:contrast(1.04) saturate(.78);
  opacity:.96;
}
.pid-canvas::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(244,249,253,.08),transparent 32%,rgba(23,105,210,.03));
}
.pid-scan-beam{
  position:absolute;
  z-index:3;
  top:0;
  bottom:0;
  left:0;
  width:2px;
  background:var(--rp-blue);
  box-shadow:0 0 10px rgba(23,105,210,.85);
  animation:pid-workbench-scan var(--scan-cycle) linear infinite;
}
.pid-scan-beam::before{
  content:"";
  position:absolute;
  inset:0 -30px;
  background:linear-gradient(90deg,transparent,rgba(23,105,210,.12),transparent);
}
@keyframes pid-workbench-scan{
  0%,4%{left:0;opacity:0}
  9%{opacity:1}
  88%,90%{left:100%;opacity:1}
  94%,100%{left:100%;opacity:0}
}
/* Detection overlays: dashed min-box + solid irregular SVG shape (Figma) */
.pid-detection{
  /* Beam travels 0–100% during 4–88% of the cycle. Reveal on contact;
     every overlay shares the beam's 90–94% fade and resets together. */
  --detect-at:calc(4% + var(--detect-x) * .84);
  --detect-color:var(--rp-blue);
  --detect-fill:color-mix(in srgb,var(--detect-color) 8%,transparent);
  position:absolute;
  left:var(--detect-x);
  z-index:4;
  border:1.5px dashed var(--detect-color);
  border-radius:2px;
  background:transparent;
  box-shadow:none;
  opacity:0;
  animation:pid-detect-reveal var(--scan-cycle) linear(
    0 0%,0 var(--detect-at),1 var(--detect-at),1 90%,0 94%,0 100%
  ) infinite;
}
.pid-detection>svg{
  position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none;
}
.pid-detection>svg path,
.pid-detection>svg circle{
  fill:var(--detect-fill);
  stroke:var(--detect-color);
  stroke-width:1.35;
  vector-effect:non-scaling-stroke;
}
@keyframes pid-detect-reveal{
  from{opacity:0}
  to{opacity:1}
}
.pid-detection i{
  position:absolute;
  left:-1px;
  top:-18px;
  padding:2px 5px;
  border-radius:2px 2px 2px 0;
  background:var(--detect-color);
  color:#fff;
  font-style:normal;
  font-family:var(--font-mono);
  font-size:.5rem;
  line-height:14px;
  white-space:nowrap;
  box-shadow:0 4px 10px -7px var(--detect-color);
}
/* Figma coordinates (frame 192×104.35 image, converted to home canvas) */
.detect-exchanger{--detect-x:51.35%;top:9.19%;width:31.15%;height:12.64%;--detect-color:#29C218;--detect-fill:rgba(49,218,30,.08);border-radius:0}
.detect-vessel{--detect-x:44.16%;top:36.37%;width:7.50%;height:40.95%;--detect-color:#0F62FE;--detect-fill:rgba(15,98,254,.08);border-radius:0}
.detect-instrument-1,.detect-instrument-2,.detect-instrument-3,.detect-instrument-4,.detect-instrument-5,.detect-instrument-6{width:5.7%;aspect-ratio:1/1;height:auto;--detect-color:#FB9648;--detect-fill:rgba(251,150,72,.08)}
.detect-instrument-1>svg,.detect-instrument-2>svg,.detect-instrument-3>svg,.detect-instrument-4>svg,.detect-instrument-5>svg,.detect-instrument-6>svg{margin:auto}
.detect-instrument-1{--detect-x:15.17%;top:41.65%}
.detect-instrument-1>svg{top:-6%;left:0;width:106%;height:106%}
.detect-instrument-2{--detect-x:20.59%;top:53.83%}
.detect-instrument-2>svg{top:-6%;left:0;width:106%;height:106%}
.detect-instrument-3{--detect-x:30.91%;top:48.85%}
.detect-instrument-3>svg{top:-6%;left:-6%;width:106%;height:106%}
.detect-instrument-4{--detect-x:58.13%;top:36.45%}
.detect-instrument-4>svg{top:-6%;left:-6%;width:106%;height:106%}
.detect-instrument-5{--detect-x:85.39%;top:27.79%}
.detect-instrument-5>svg{top:4%;left:0;width:106%;height:106%}
.detect-instrument-6{--detect-x:15.21%;top:71.12%}
.detect-instrument-6>svg{top:0;left:-8%;width:106%;height:100%}

.pid-live-card{
  position:absolute;
  z-index:5;
  left:.72rem;
  top:.68rem;
  bottom:auto;
  min-width:205px;
  padding:.7rem .78rem;
  border:1px solid rgba(255,255,255,.95);
  border-radius:11px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 30px -20px rgba(14,27,44,.6);
  backdrop-filter:blur(12px);
}
.pid-live-label{
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:.2rem;
  color:var(--rp-blue);
  font-family:var(--font-mono);
  font-size:.56rem;
  letter-spacing:.08em;
}
.pid-live-label i{width:6px;height:6px;border-radius:50%;background:var(--rp-blue);box-shadow:0 0 0 3px rgba(23,105,210,.12)}
.pid-live-card strong{display:block;color:var(--ink);font-size:.9rem;line-height:1.35}
.pid-live-card small{display:block;margin-top:.15rem;color:#5F7283;font-size:.61rem}
.pid-live-progress{display:block;height:3px;margin-top:.48rem;overflow:hidden;border-radius:999px;background:#E2EAF1}
.pid-live-progress i{display:block;width:68%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rp-blue),var(--rp-cyan))}
.pid-recognition-list{
  position:absolute;
  z-index:5;
  top:auto;
  bottom:.65rem;
  right:.65rem;
  display:grid;
  gap:.3rem;
  padding:.5rem .55rem;
  border:1px solid rgba(255,255,255,.92);
  border-radius:9px;
  background:rgba(248,252,255,.9);
  box-shadow:0 12px 24px -20px rgba(14,27,44,.55);
  backdrop-filter:blur(10px);
}
.pid-recognition-list span{display:flex;align-items:center;gap:.35rem;color:#40576A;font-size:.54rem;font-weight:600;white-space:nowrap}
.pid-recognition-list i{width:7px;height:7px;border-radius:2px;background:var(--rp-blue);box-shadow:0 0 0 2px rgba(23,105,210,.1)}
.pid-recognition-list .legend-exchanger i{background:#28A928;box-shadow:0 0 0 2px rgba(40,169,40,.1)}
.pid-recognition-list .legend-instrument i{background:#FF8A3D;box-shadow:0 0 0 2px rgba(255,138,61,.12)}
.pid-user-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.4rem;
  margin:.45rem 0 0;
  padding:0;
  list-style:none;
}
  .pid-user-flow li{
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:.35rem;
  align-items:center;
  padding:.4rem .45rem;
  border:1px solid rgba(23,105,210,.12);
  border-radius:9px;
  background:rgba(255,255,255,.82);
}
.pid-user-flow small,.pid-user-flow strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pid-user-flow li:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:2;
  top:50%;
  right:-.7rem;
  width:.8rem;
  height:8px;
  background:var(--rp-blue);
  clip-path:polygon(0 44%,68% 44%,68% 0,100% 50%,68% 100%,68% 56%,0 56%);
  transform:translateY(-50%);
}
.flow-index{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(23,105,210,.09);
  color:var(--rp-blue);
  font-family:var(--font-mono);
  font-size:.46rem;
  font-weight:600;
}
.pid-user-flow small{display:block;color:#64798B;font-size:.5rem;line-height:1.2}
.pid-user-flow strong{display:block;margin-top:.05rem;color:var(--ink);font-size:.6rem;line-height:1.3}
.pid-flow-value{
  display:flex;
  align-items:center;
  gap:.35rem;
  margin:.4rem .1rem 0;
  color:#31566E;
  font-size:.6rem;
  line-height:1.35;
}
.pid-flow-value span{color:var(--rp-green);font-weight:700}

.product-map-card{background:linear-gradient(145deg,rgba(255,255,255,.84),rgba(242,247,252,.8))}
.product-map-core{
  display:grid;
  grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);
  gap:.4rem;
  align-items:stretch;
}
.map-group{
  min-width:0;
  padding:.5rem;
  border:1px solid rgba(0,92,151,.11);
  border-radius:12px;
  background:rgba(248,251,254,.82);
}
.map-group h3{display:flex;align-items:center;gap:.4rem;min-height:24px;margin-bottom:.4rem;padding:.08rem .08rem;font-size:.74rem}
.map-group-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:7px;
  background:linear-gradient(135deg,var(--rp-blue),#4B96F1);
  color:#fff;
  box-shadow:0 8px 16px -10px rgba(23,105,210,.75);
}
.map-group-icon.review-icon{background:linear-gradient(135deg,#3E6FB0,#5AA0E8);box-shadow:0 8px 16px -10px rgba(40,90,170,.7)}
.map-group-icon svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.map-products{display:grid;gap:.32rem}
.map-product{
  --family-color:var(--rp-blue);
  display:block;
  min-width:0;
  padding:.4rem .45rem;
  border:1px solid color-mix(in srgb,var(--family-color) 20%,#fff);
  border-left:3px solid var(--family-color);
  border-radius:8px;
  background:linear-gradient(100deg,color-mix(in srgb,var(--family-color) 8%,#fff),#fff 62%);
  transition:transform .2s var(--ease),border-color .2s,box-shadow .2s;
}
.map-product:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--family-color) 36%,#fff);box-shadow:0 10px 20px -16px var(--family-color)}
.product-family-hazop{--family-color:var(--rp-blue)}
.product-family-safety{--family-color:var(--rp-orange)}
.map-product b{display:block;color:var(--ink);font-size:.68rem;line-height:1.25}
.map-product small{display:block;margin-top:.08rem;color:#66798A;font-size:.5rem;line-height:1.3}
.map-relation{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.15rem;
  color:#718191;
  font-family:var(--font-mono);
  font-size:.46rem;
  text-align:center;
}
.map-relation svg{width:36px;stroke:#7D9DB7;stroke-width:1.4}
.map-platform-node{width:48px;height:45px;display:grid;place-items:center;overflow:hidden;background:transparent;box-shadow:none}
.map-platform-node img{display:block;width:46px;height:43px;object-fit:contain}
.product-map-extensions{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.45rem;
  margin-top:.4rem;
  padding:.4rem .5rem;
  border:1px dashed rgba(0,92,151,.18);
  border-radius:10px;
  background:rgba(234,243,250,.55);
}
.product-map-extensions>span{color:#5E7284;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.06em;white-space:nowrap}
.product-map-extensions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
.product-map-extensions a{
  --extension-color:var(--rp-indigo);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  padding:.4rem .3rem;
  border:1px solid color-mix(in srgb,var(--extension-color) 18%,#fff);
  border-radius:7px;
  background:#fff;
  color:var(--extension-color);
  font-family:var(--font-display);
  font-size:.68rem;
  font-weight:600;
  text-align:center;
  transition:transform .2s var(--ease),background .2s;
}
.product-map-extensions a img{width:18px;height:18px;flex:0 0 auto;object-fit:contain}
.product-map-extensions a:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--extension-color) 7%,#fff)}
.product-map-extensions .extension-qra{--extension-color:var(--rp-purple)}
.product-map-extensions .extension-moc{--extension-color:var(--rp-green)}
.product-map-foundation{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.22rem .45rem;
  margin-top:.35rem;
  padding:.35rem .45rem;
  border-radius:8px;
  background:#EAF0F5;
}
.product-map-foundation span{color:#5E7080;font-family:var(--font-mono);font-size:.54rem;white-space:nowrap}
.product-map-foundation span:not(:last-child)::after{content:"·";margin-left:.58rem;color:#A4B0BB}

/* Core products */
.core-products-section{
  border-top:1px solid rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.9);
  background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(235,244,252,.68));
}
.core-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.core-product-card{
  --product-accent:var(--gl-blue);
  --product-accent-text:#1257AE;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.95);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.78);
  box-shadow:0 20px 50px -30px rgba(0,92,151,.34),inset 0 1px 0 #fff;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.core-product-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--product-accent) 28%,#fff);
  box-shadow:0 34px 64px -34px rgba(0,92,151,.42),inset 0 1px 0 #fff;
}
.core-product-card.accent-hazop{--product-accent:var(--rp-blue);--product-accent-text:#1257AE}
.core-product-card.accent-safety{--product-accent:var(--rp-orange);--product-accent-text:#A85F1C}
.core-product-card .product-card-body{order:1}
.core-product-card .product-visual{order:2;border-top:1px solid rgba(0,92,151,.1);border-bottom:0}
.product-visual{
  position:relative;
  width:100%;
  aspect-ratio:16/9.4;
  flex:0 0 auto;
  min-width:0;
  overflow:hidden;
  border-bottom:1px solid rgba(0,92,151,.1);
  background:
    radial-gradient(70% 90% at 90% 0%,color-mix(in srgb,var(--product-accent) 12%,transparent),transparent 72%),
    linear-gradient(145deg,#F6F9FC,#E7EFF6);
}
.mockup-visual{padding:clamp(.65rem,1.25vw,.95rem)}
.software-mockup{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(20,62,91,.16);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 34px -22px rgba(14,27,44,.62),0 2px 6px rgba(14,27,44,.05);
}
.software-mockup::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:2;
  height:2px;
  background:linear-gradient(90deg,var(--product-accent),color-mix(in srgb,var(--product-accent) 40%,#fff));
}
.mockup-toolbar{
  position:relative;
  min-height:27px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 .65rem;
  border-bottom:1px solid rgba(20,62,91,.09);
  background:rgba(248,251,253,.96);
}
.mockup-dots{display:flex;gap:4px;justify-self:start}
.mockup-dots i{width:5px;height:5px;border-radius:50%;background:#C5D0D9}
.mockup-dots i:first-child{background:color-mix(in srgb,var(--product-accent) 52%,#fff)}
.mockup-title{
  grid-column:2;
  color:#5C7181;
  font-family:var(--font-mono);
  font-size:.48rem;
  letter-spacing:.04em;
  white-space:nowrap;
}
.mockup-screen{
  flex:1;
  min-height:0;
  display:block;
  overflow:hidden;
  background:#F4F6F8;
}
.mockup-screen img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
}
.product-visual-placeholder{
  background:
    linear-gradient(rgba(0,92,151,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,92,151,.035) 1px,transparent 1px),
    linear-gradient(145deg,#F6F9FC,#EAF1F7);
  background-size:22px 22px,22px 22px,auto;
}
.software-mockup.is-placeholder{border-style:dashed;box-shadow:none}
.mockup-empty{
  flex:1;
  min-height:0;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:.45rem;
  color:#92A5B3;
  background:rgba(249,252,254,.78);
}
.mockup-empty svg{width:30px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.mockup-empty span{font-size:.62rem;letter-spacing:.04em}
.product-card-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:1.1rem 1.35rem 1.05rem}
.product-card-body h3{margin-bottom:.48rem;font-size:clamp(1.2rem,1.7vw,1.55rem)}
.product-title-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;min-height:52px;margin-bottom:.22rem}
.product-title-row h3{min-width:0;margin:0}
.product-title-row>img{width:auto;height:52px;max-width:104px;flex:0 0 auto;object-fit:contain;object-position:right center}
.product-title-row>img.review-agent-logo{height:56px;max-width:56px}
.product-title-row>img.review-agent-logo-orange{filter:hue-rotate(178deg) saturate(1.05) brightness(1.17)}
.product-semantic-icon{
  width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;
  background:linear-gradient(135deg,var(--product-accent),color-mix(in srgb,var(--product-accent) 58%,#fff));color:#fff
}
.product-semantic-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.product-card-body>p{color:var(--muted-2);font-size:.8rem;line-height:1.6}
.product-card-body .product-position{margin-bottom:.28rem;color:var(--ink);font-size:.88rem;font-weight:600}
.product-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.6rem}
.product-io>div{padding:.46rem .6rem;border-radius:10px;background:color-mix(in srgb,var(--product-accent) 5%,#fff);border:1px solid color-mix(in srgb,var(--product-accent) 12%,#fff)}
.product-io dt{margin-bottom:.16rem;color:var(--product-accent-text);font-family:var(--font-mono);font-size:.58rem}.product-io dd{color:var(--muted-2);font-size:.7rem;line-height:1.45}
.capability-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin:.6rem 0 .7rem;
  padding:0;
  list-style:none;
}
.capability-tags li{
  padding:.26rem .5rem;
  border:1px solid color-mix(in srgb,var(--product-accent) 22%,#fff);
  border-radius:999px;
  background:color-mix(in srgb,var(--product-accent) 7%,#fff);
  color:var(--product-accent-text);
  font-size:.68rem;
}
.product-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  align-self:flex-start;
  margin-top:auto;
  color:var(--product-accent-text);
  font-family:var(--font-display);
  font-size:.84rem;
  font-weight:600;
}
.product-link span{transition:transform .25s var(--ease)}
.product-link:hover span{transform:translateX(4px)}
.route-note{margin-top:.45rem;color:var(--muted);font-size:.68rem}

.review-visual{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:1.15rem;
  background:
    radial-gradient(220px 180px at 15% 0%,color-mix(in srgb,var(--product-accent) 18%,transparent),transparent 72%),
    linear-gradient(145deg,#F2F6FB,#E8EEF5);
}
.review-topline{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-family:var(--font-mono);font-size:.52rem}
.review-topline i{width:9px;height:9px;border-radius:3px;background:var(--product-accent)}
.review-topline span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-topline b{margin-left:auto;padding:.2rem .4rem;border-radius:999px;background:#fff;color:var(--product-accent);font-size:.5rem}
.review-document{
  position:relative;
  flex:1;
  min-height:180px;
  padding:1.2rem;
  border-radius:13px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 28px -22px rgba(14,27,44,.5);
}
.review-document span{
  display:block;
  width:90%;
  height:7px;
  margin-bottom:1rem;
  border-radius:4px;
  background:#DDE4ED;
}
.review-document span.short{width:58%}
.review-document mark{
  position:absolute;
  left:1.2rem;
  right:1.2rem;
  top:78px;
  height:31px;
  border:1px solid color-mix(in srgb,var(--product-accent) 32%,#fff);
  border-radius:7px;
  background:color-mix(in srgb,var(--product-accent) 10%,#fff);
}
.review-document mark::after{
  content:"!";
  position:absolute;
  right:-8px;
  top:-8px;
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--product-accent);
  color:#fff;
  font-family:var(--font-mono);
  font-size:.58rem;
}
.review-findings{display:flex;flex-wrap:wrap;gap:.35rem}
.review-findings span{
  padding:.32rem .45rem;
  border-radius:7px;
  background:rgba(255,255,255,.82);
  color:var(--muted-2);
  font-size:.58rem;
}
.safety-review-visual{background:linear-gradient(145deg,#FCF6EF,#F5ECE3)}
.review-matrix{display:grid;grid-template-columns:1fr;gap:.55rem;margin:auto 0}
.review-matrix span{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.65rem .75rem;
  border:1px solid color-mix(in srgb,var(--product-accent) 18%,#fff);
  border-radius:11px;
  background:rgba(255,255,255,.84);
  color:var(--body);
  font-size:.68rem;
}
.review-matrix span i{
  width:16px;
  height:16px;
  border:4px solid color-mix(in srgb,var(--product-accent) 16%,#fff);
  border-radius:50%;
  background:var(--product-accent);
}

/* Customer value — high-contrast manual vs AI split */
.customer-value-section{background:linear-gradient(135deg,rgba(220,240,255,.45),rgba(255,255,255,.42) 55%,rgba(45,152,138,.07))}
.value-comparison-split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:1rem;align-items:stretch}
.value-side{display:grid;grid-template-rows:auto repeat(5,minmax(92px,auto));overflow:hidden;border-radius:28px}
.value-side header{padding:1.6rem 1.55rem}.value-side header>span{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em}.value-side header h3{margin:.3rem 0 .45rem;font-size:clamp(1.55rem,2.6vw,2.15rem)}.value-side header p{font-size:.82rem;line-height:1.6}
.value-side-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 1.45rem;border-top:1px solid}
.value-side-row>strong{font-family:var(--font-display);font-size:.86rem}.value-side-row>p{font-size:.8rem;line-height:1.58}
.value-side-manual{border:1px solid rgba(73,91,106,.12);background:linear-gradient(155deg,#F4F6F8,#E9EDF1);color:#40505C;box-shadow:0 20px 48px -38px rgba(36,49,60,.42)}
.value-side-manual header{background:rgba(255,255,255,.34)}.value-side-manual header>span{color:#7D8992}.value-side-manual header p,.value-side-manual .value-side-row>p{color:#687782}.value-side-manual .value-side-row{border-color:rgba(73,91,106,.11)}
.value-side-ai{color:#fff;background:radial-gradient(440px 300px at 100% 0%,rgba(66,188,225,.38),transparent 68%),linear-gradient(145deg,#1769D2,#075B98 68%,#064873);box-shadow:0 28px 64px -34px rgba(23,105,210,.78)}
.value-side-ai header{background:rgba(255,255,255,.08)}.value-side-ai header h3{color:#fff}.value-side-ai header>span{color:#8FDEFF}.value-side-ai header p{color:rgba(255,255,255,.82)}.value-side-ai .value-side-row{border-color:rgba(255,255,255,.14)}
.value-side-ai .value-side-row>strong{color:#DFF6FF}.value-side-ai .value-side-row>p:not(.value-text-result){display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:.35rem .6rem;align-items:center}.value-side-ai .value-side-row b{color:#fff;font-family:var(--font-display);font-size:clamp(1.55rem,2.3vw,2.05rem);letter-spacing:-.04em;white-space:nowrap}.value-side-ai .value-side-row b em{display:inline-block;margin-left:.1em;color:#76E5D6;font-size:.84em;font-style:normal;font-weight:800;line-height:.7;transform:translateY(-.03em)}.value-side-ai .value-side-row p span{color:rgba(255,255,255,.76);font-size:.7rem;line-height:1.42}.value-side-ai .value-text-result{color:rgba(255,255,255,.8);font-size:.82rem}
.metric-disclaimer{margin-top:.85rem;color:var(--muted);font-size:.72rem;line-height:1.55}
.value-framework{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid rgba(0,92,151,.12);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.68);
  box-shadow:0 28px 70px -42px rgba(0,92,151,.36);
  backdrop-filter:blur(16px);
}
.value-framework article{position:relative;min-height:290px;padding:2rem 1.5rem}
.value-framework article:not(:last-child){border-right:1px solid rgba(0,92,151,.1)}
.value-symbol{
  display:inline-flex;
  margin-bottom:2.8rem;
  color:var(--gl-blue);
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
}
.value-symbol::after{content:"";width:40px;height:1px;margin:auto 0 auto .65rem;background:linear-gradient(90deg,var(--blue-3),transparent)}
.value-framework h3{margin-bottom:.7rem;font-size:1.08rem}
.value-framework p{color:var(--muted-2);font-size:.9rem;line-height:1.75}

/* Expert feedback — compact legacy cards, one consistent blue-grey treatment */
.expert-feedback-section{background:rgba(255,255,255,.55)}
.expert-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.expert-feedback-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:262px;padding:1.15rem 1.2rem 1rem;border:1px solid rgba(0,92,151,.12);border-radius:var(--r);background:rgba(255,255,255,.86);box-shadow:0 18px 40px -32px rgba(0,72,140,.42);transition:transform .3s var(--ease),box-shadow .3s}
.expert-feedback-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--gl-blue);border-radius:var(--r) var(--r) 0 0}
.expert-feedback-card::after{display:none}
.expert-feedback-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -32px rgba(0,72,140,.52)}
.expert-card-profile{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.85rem;align-items:center;height:108px;min-height:108px;padding-bottom:.85rem;border-bottom:1px solid rgba(0,92,151,.1)}
.expert-avatar{width:70px;height:70px;display:block;overflow:hidden;border-radius:50%;background:#E9F1F7;box-shadow:0 8px 18px -12px rgba(0,72,140,.55)}
.expert-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.expert-card-identity{min-width:0}
.expert-card-identity small{display:block;margin-bottom:.25rem;color:var(--gl-blue);font-family:var(--font-mono);font-size:.54rem;font-weight:600;letter-spacing:.06em}
.expert-card-identity h3{margin:0 0 .24rem;font-size:1.22rem;line-height:1.15}
.expert-card-identity strong{display:block;color:#24465E;font-size:.7rem;font-weight:650;line-height:1.4}
.expert-card-identity em{display:block;margin-top:.16rem;color:#718394;font-size:.59rem;font-style:normal;line-height:1.4;text-wrap:pretty}
.expert-feedback-card blockquote{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.36rem;margin:.9rem 0 0}
.expert-feedback-card blockquote>span{color:rgba(0,92,151,.24);font-family:Georgia,serif;font-size:2.8rem;line-height:.78}
.expert-feedback-card blockquote p{color:#28495F;font-size:.82rem;line-height:1.72;text-align:justify}

/* Cases (legacy page styles) */
.cases-section{
  background:
    radial-gradient(650px 380px at 95% 15%,rgba(158,212,255,.24),transparent 65%),
    rgba(255,255,255,.48);
}
.featured-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.featured-case{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.95);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.78);
  box-shadow:0 24px 58px -36px rgba(0,92,151,.36);
}
.case-visual{
  position:relative;
  height:205px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.2rem 1.35rem;
  overflow:hidden;
  background:
    linear-gradient(rgba(0,92,151,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,92,151,.04) 1px,transparent 1px),
    linear-gradient(145deg,#DDECFA,#ECF5FC);
  background-size:28px 28px,28px 28px,auto;
}
.case-visual-review{background:linear-gradient(rgba(110,102,198,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(110,102,198,.04) 1px,transparent 1px),linear-gradient(145deg,#EFEEFA,#F7F8FC);background-size:28px 28px,28px 28px,auto}
.case-visual>span{color:var(--gl-blue);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.13em}
.case-visual-review>span{color:var(--home-violet)}
.case-visual svg{position:absolute;inset:28px 0 auto;width:100%;height:150px;stroke:var(--gl-blue);stroke-width:2;opacity:.46}
.case-visual-review svg{stroke:var(--home-violet)}
.case-visual>b{position:relative;z-index:1;color:var(--ink);font-family:var(--font-display);font-size:1.12rem}
.case-content{padding:1.6rem 1.5rem 1.75rem}
.case-status{
  display:inline-flex;
  margin-bottom:.7rem;
  padding:.28rem .6rem;
  border:1px dashed rgba(183,124,19,.45);
  border-radius:999px;
  background:rgba(226,192,109,.12);
  color:#8C5F12;
  font-family:var(--font-mono);
  font-size:.62rem;
}
.case-content h3{margin-bottom:.6rem;font-size:1.25rem}
.case-intro{margin-bottom:1rem;color:var(--muted-2);font-size:.88rem;line-height:1.68}
.case-details{display:grid;margin-bottom:1.25rem}
.case-details div{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:.8rem;
  padding:.64rem 0;
  border-top:1px solid rgba(0,92,151,.08);
}
.case-details div:last-child{border-bottom:1px solid rgba(0,92,151,.08)}
.case-details dt{color:var(--muted);font-size:.73rem}
.case-details dd{color:var(--body);font-size:.78rem;line-height:1.55}
.featured-case .btn{min-height:42px;padding:.65rem 1.15rem;font-size:.86rem}

/* Other products */
.other-products-section{background:linear-gradient(180deg,rgba(235,244,252,.7),rgba(255,255,255,.48))}
.home-other-products-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:clamp(1.3rem,3vw,2.5rem);align-items:stretch}
.other-product-stack{display:grid;gap:1rem}
.other-product-card{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(210px,1.12fr);
  gap:1.1rem;
  min-height:154px;
  padding:1.05rem;
  border:1px solid rgba(0,92,151,.1);
  border-radius:var(--r);
  background:rgba(255,255,255,.76);
  box-shadow:0 16px 38px -30px rgba(0,92,151,.4);
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;
}
.other-product-card:hover{transform:translateY(-4px);border-color:rgba(0,92,151,.22);box-shadow:0 26px 48px -32px rgba(0,92,151,.45)}
.other-product-copy{display:flex;flex-direction:column;min-width:0;padding:.2rem 0 .1rem .2rem}
.other-product-title{display:flex;align-items:center;gap:.65rem;margin-bottom:.4rem}.other-product-title img{width:38px;height:40px;object-fit:contain;flex:0 0 auto}.other-product-card h3{font-size:1.12rem}.other-product-card p{margin-bottom:.55rem;color:var(--muted-2);font-size:.78rem;line-height:1.58}
.other-product-card figure{overflow:hidden;align-self:stretch;border:1px solid rgba(0,92,151,.08);border-radius:13px;background:#EFF4F7}.other-product-card figure img{display:block;width:100%;height:100%;object-fit:contain;background:#F2F5F7}
.product-status{display:block;margin:.75rem 0;color:#84611E;font-family:var(--font-mono);font-size:.64rem}
.other-product-card .product-link{margin-top:auto;color:var(--gl-blue);font-size:.78rem}
.ecosystem-poster-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:linear-gradient(160deg,#123F68,#255484);box-shadow:0 30px 68px -38px rgba(0,72,140,.72)}
.ecosystem-poster-crop{position:relative;flex:1;min-height:0;overflow:hidden;background:#255484}.ecosystem-poster-crop img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ecosystem-poster-panel figcaption{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;color:#fff;background:rgba(3,51,101,.4);backdrop-filter:blur(10px)}.ecosystem-poster-panel figcaption strong{font-family:var(--font-display);font-size:1rem}.ecosystem-poster-panel figcaption span{color:rgba(255,255,255,.72);font-size:.68rem}

/* Video */
.video-section{
  background:
    radial-gradient(520px 340px at 10% 0%,rgba(63,165,248,.14),transparent 65%),
    rgba(255,255,255,.62);
}
.video-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.video-layout .section-head{margin-bottom:0}
.video-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0}
.video-meta span{
  padding:.35rem .65rem;
  border-radius:999px;
  background:rgba(63,165,248,.09);
  color:var(--gl-blue);
  font-family:var(--font-mono);
  font-size:.67rem;
}
.video-cover{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.96);
  border-radius:var(--r-lg);
  background:#D8E8F5;
  box-shadow:0 32px 72px -34px rgba(0,92,151,.5);
  cursor:pointer;
}
.video-cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.video-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,52,.04),rgba(5,31,52,.7))}
.video-play{
  position:absolute;
  left:50%;
  top:50%;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--gl-blue);
  box-shadow:0 18px 42px -18px rgba(0,0,0,.6);
  transform:translate(-50%,-50%);
  transition:transform .3s var(--ease);
}
.video-cover:hover .video-play{transform:translate(-50%,-50%) scale(1.07)}
.video-cover-copy{position:absolute;left:1.25rem;right:1.25rem;bottom:1.2rem;color:#fff;text-align:left}
.video-cover-copy b{display:block;font-family:var(--font-display);font-size:1rem}
.video-cover-copy small{display:block;margin-top:.2rem;color:rgba(255,255,255,.74);font-size:.76rem}

/* FAQ and final CTA */
.faq-section{background:linear-gradient(180deg,rgba(235,244,252,.54),rgba(255,255,255,.5))}
.home-page .faq-list{max-width:920px}
.home-page .faq-item{background:rgba(255,255,255,.78)}
.home-page .faq-item summary{min-height:60px}
.home-page .faq-item summary::before{
  width:24px;
  height:21px;
  border-radius:0;
  background:linear-gradient(135deg,var(--gl-blue),var(--blue-3));
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M7.5 0h9c1.2 0 1.8.45 2.4 1.5l4.2 7.5c.6 1.05.6 1.95 0 3l-4.2 7.5c-.6 1.05-1.2 1.5-2.4 1.5h-9c-1.2 0-1.8-.45-2.4-1.5L.9 12c-.6-1.05-.6-1.95 0-3l4.2-7.5C5.7.45 6.3 0 7.5 0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 21'%3E%3Cpath d='M7.5 0h9c1.2 0 1.8.45 2.4 1.5l4.2 7.5c.6 1.05.6 1.95 0 3l-4.2 7.5c-.6 1.05-1.2 1.5-2.4 1.5h-9c-1.2 0-1.8-.45-2.4-1.5L.9 12c-.6-1.05-.6-1.95 0-3l4.2-7.5C5.7.45 6.3 0 7.5 0Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.home-page .faq-item summary:focus-visible{outline-offset:-4px}
.home-page .faq-item summary::before{-webkit-mask:var(--rounded-hex-mask) center/100% 100% no-repeat;mask:var(--rounded-hex-mask) center/100% 100% no-repeat}

/* Full-width homepage section introductions stay on one line. Sections with
   content beside the heading, such as the video section, keep natural wrap. */
@media(min-width:901px){
  .home-page .core-products-section .section-head,
  .home-page .customer-value-section .section-head,
  .home-page .expert-feedback-section .section-head,
  .home-page .other-products-section .section-head,
  .home-page .faq-section .section-head{max-width:none}
  .home-page .core-products-section .section-head>p,
  .home-page .customer-value-section .section-head>p,
  .home-page .expert-feedback-section .section-head>p,
  .home-page .other-products-section .section-head>p,
  .home-page .faq-section .section-head>p{max-width:none}
  .home-page .faq-section .section-head.center h2{max-width:100%}
}

@media(min-width:541px){
  .home-page :is(.core-products-section,.customer-value-section,.expert-feedback-section,.other-products-section,.faq-section) .section-head{
    max-width:none;
  }
  .home-page :is(.core-products-section,.customer-value-section,.expert-feedback-section,.other-products-section,.faq-section) .section-head h2,
  .home-final-cta h2{
    max-width:none;
    white-space:nowrap;
  }
  .home-page :is(.core-products-section,.customer-value-section,.expert-feedback-section,.other-products-section,.faq-section) .section-head>p{
    max-width:none;
    white-space:nowrap;
    text-wrap:nowrap;
    font-size:clamp(.98rem,1.25vw,1.12rem);
    letter-spacing:-.02em;
  }
  .home-final-cta>p{
    max-width:none;
    white-space:nowrap;
    text-wrap:nowrap;
    font-size:clamp(.98rem,1.25vw,1.12rem);
    letter-spacing:-.025em;
  }
}

.home-page main>.section:not(.home-hero) .section-head>p,
.home-final-cta>p{font-size:clamp(.98rem,1.25vw,1.12rem)}

.home-page main>.section:not(.home-hero) .section-head h2,
.home-final-cta h2{font-size:clamp(.95rem,3.2vw,2.9rem)}

.home-final-cta{
  background:
    radial-gradient(650px 300px at 18% 0%,rgba(63,165,248,.3),transparent 68%),
    radial-gradient(520px 320px at 90% 100%,rgba(45,152,138,.23),transparent 68%),
    linear-gradient(135deg,#0B426C,#075B92);
}
.home-final-cta .btn-primary{background:#fff;color:var(--gl-blue);box-shadow:0 14px 34px -14px rgba(0,0,0,.2)}
.home-final-cta .btn-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
.cta-kicker{
  display:inline-flex;
  margin-bottom:1rem;
  color:rgba(255,255,255,.72);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.16em;
}

/* Footer */
.home-footer{margin-top:0}
.home-footer-grid{grid-template-columns:1.4fr 1.15fr .8fr 1fr}
.home-footer .footer-col h2{
  margin-bottom:1.1rem;
  color:#fff;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Video dialog */
.video-dialog{
  position:fixed;
  inset:0;
  width:min(1080px,calc(100% - 2rem));
  max-width:none;
  height:max-content;
  max-height:calc(100dvh - 2rem);
  margin:auto;
  padding:0;
  overflow:auto;
  border:1px solid rgba(255,255,255,.95);
  border-radius:24px;
  background:#F7FAFD;
  box-shadow:0 40px 110px -32px rgba(3,21,36,.7);
  transform:none;
}
.video-dialog::backdrop{background:rgba(6,24,39,.58);backdrop-filter:blur(8px)}
.video-dialog-inner{position:relative;display:flex;flex-direction:column}
.video-dialog-close{
  position:absolute;
  top:.8rem;
  right:.8rem;
  z-index:3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(0,92,151,.12);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--ink);
  cursor:pointer;
  box-shadow:0 10px 24px -16px rgba(14,27,44,.45);
}
.video-dialog-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#07131D}
.video-dialog-media video{display:block;width:100%;height:100%;object-fit:contain;background:#07131D}
.video-dialog-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem 1.2rem;align-items:center;padding:1.15rem 1.4rem 1.3rem}
.video-dialog-copy .eyebrow{grid-row:1 / span 2;margin:0}
.video-dialog-copy h2{margin:0;font-size:1.2rem}
.video-dialog-copy p{margin:0;color:var(--muted-2);font-size:.78rem;line-height:1.55}

/* Responsive navigation before the long menu becomes crowded */
@media(max-width:1180px){
  .home-nav-toggle{display:grid}
  .home-primary-nav{
    position:fixed;
    inset:76px 0 auto;
    max-height:calc(100dvh - 76px);
    padding:1rem max(1.25rem,calc((100% - 980px)/2)) 1.5rem;
    overflow:auto;
    border-bottom:1px solid rgba(0,92,151,.1);
    background:rgba(250,253,255,.98);
    box-shadow:0 28px 54px -32px rgba(14,27,44,.38);
    backdrop-filter:blur(20px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-16px);
    transition:opacity .25s,visibility .25s,transform .3s var(--ease);
  }
  .home-primary-nav.open{opacity:1;visibility:visible;transform:none}
  .home-page .home-nav-links{
    position:static;
    inset:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:0;
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  .home-nav-links>li{width:100%;border-bottom:1px solid rgba(0,92,151,.08)}
  .home-nav-links>li>a,.nav-other-row>a{display:block;padding:.82rem .15rem;font-size:.96rem}
  .home-nav-links>li>a.nav-contact-btn{display:flex;justify-content:center;margin:.75rem 0 .15rem;padding:.78rem 1rem;color:#fff;font-size:.95rem}
  .home-nav-links a::after{display:none}
  .nav-other-row{justify-content:space-between}
  .submenu-toggle{width:44px;height:44px}
  .nav-dropdown{
    position:static;
    width:100%;
    display:none;
    padding:0 0 .75rem .75rem;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .nav-dropdown::before{display:none}
  .nav-other:not(.is-open)>.nav-dropdown{display:none}
  .nav-other.is-open>.nav-dropdown{display:grid;transform:none}
  .home-nav-links .nav-dropdown a{
    grid-template-columns:84px 1fr;
    min-height:48px;
    padding:.7rem .8rem;
    background:rgba(220,240,255,.32);
  }
  .nav-dropdown li+li{margin-top:.35rem}
  body.nav-open{overflow:hidden}
}

@media(max-width:1040px){
  .home-hero-grid{grid-template-columns:1fr;gap:3rem}
  .home-hero-copy{max-width:760px}
  .home-hero h1{max-width:13ch}
  /* The two hero visuals stack here, so their container must grow with them. */
  .home-hero-visuals{width:min(100%,760px);max-height:none;margin-inline:auto}
  .value-framework{grid-template-columns:repeat(2,1fr)}
  .value-framework article{min-height:240px}
  .value-framework article:nth-child(2){border-right:0}
  .value-framework article:nth-child(-n+2){border-bottom:1px solid rgba(0,92,151,.1)}
  .expert-feedback-grid{grid-template-columns:1fr}
  .expert-feedback-card{height:auto;min-height:0}
  .value-comparison-split{grid-template-columns:1fr 1.08fr}
  .value-side-row{grid-template-columns:94px minmax(0,1fr);padding-inline:1rem}
  .video-layout{grid-template-columns:1fr;gap:2rem}
  .video-layout .section-head{max-width:720px}
  .home-footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:840px){
  .core-product-grid,.featured-case-grid{grid-template-columns:1fr}
  .core-product-card{min-height:0}
  .home-other-products-layout{grid-template-columns:1fr}
  .ecosystem-poster-panel{min-height:620px}
  .other-product-card{min-height:0}
  .value-comparison-split{grid-template-columns:1fr}
}

@media(max-width:680px){
  .home-header .header-wrap{width:min(100% - 1.25rem,1420px)}
  .home-header .brand-logo{height:32px}
  .nav-booking{min-height:40px;padding:.62rem .85rem;font-size:.8rem}
  .home-page .home-nav-actions .nav-booking{display:inline-flex}
  .home-hero{padding-top:2.7rem}
  .home-hero h1{font-size:clamp(2.3rem,9.5vw,2.8rem)}
  .hero-brand-lockup{grid-template-columns:60px 220px;width:max-content;gap:.7rem;border-radius:16px}
  .riskpower-mark-crop{width:60px;height:57px}
  .riskpower-wordmark-crop{width:220px;height:57px}
  .hero-value-metrics{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .home-hero .hero-actions{display:grid}
  .home-hero .btn{width:100%}
  .hero-visual-card{padding:.95rem;border-radius:22px}
  .hero-visual-heading{align-items:flex-start;flex-direction:column;gap:.25rem}
  .hero-visual-heading h2{text-align:left}
  .pid-workbench{height:auto;grid-template-columns:1fr}
  .pid-file-stack{display:none}
  .pid-live-card{top:.55rem;bottom:auto;left:.55rem;right:auto;min-width:176px;padding:.58rem .62rem}
  .pid-user-flow{grid-template-columns:1fr;gap:.46rem}
  .pid-user-flow li{padding:.58rem .62rem}
  .pid-user-flow li:not(:last-child)::after{
    top:auto;
    right:auto;
    bottom:-.58rem;
    left:18px;
    width:8px;
    height:.7rem;
    clip-path:polygon(44% 0,56% 0,56% 68%,100% 68%,50% 100%,0 68%,44% 68%);
    transform:none;
  }
  .pid-user-flow small{font-size:.5rem}
  .pid-user-flow strong{font-size:.64rem}
  .pid-flow-value{font-size:.62rem}
  .product-map-core{grid-template-columns:1fr;gap:.46rem}
  .map-relation{flex-direction:row;padding:.05rem 0}
  .map-platform-node{width:56px;height:49px}
  .map-platform-node img{width:52px;height:49px}
  .map-relation svg{width:42px;transform:rotate(90deg)}
  .map-product b{font-size:.72rem}
  .map-product small{font-size:.54rem}
  .product-map-extensions{grid-template-columns:1fr;gap:.4rem}
  .product-map-extensions>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .product-map-extensions a{min-height:44px}
  .product-map-foundation{justify-content:flex-start}
  .product-map-foundation span:not(:last-child)::after{display:none}
  .product-visual{min-height:0}
  .product-card-body{padding:1.5rem}
  .value-framework{grid-template-columns:1fr}
  .value-framework article{min-height:0;padding:1.55rem}
  .value-framework article:not(:last-child){border-right:0;border-bottom:1px solid rgba(0,92,151,.1)}
  .expert-feedback-card{padding:1.2rem;border-radius:22px}
  .expert-card-profile{grid-template-columns:64px minmax(0,1fr);gap:.8rem;height:auto;min-height:108px}
  .expert-avatar{width:64px;height:70px}
  .expert-card-identity h3{font-size:1.15rem}
  .expert-feedback-card blockquote{grid-template-columns:22px minmax(0,1fr);margin:1.05rem 0 1.2rem}
  .expert-feedback-card blockquote>span{font-size:2.8rem}
  .expert-feedback-card blockquote p{font-size:.8rem;text-align:left}
  .value-symbol{margin-bottom:1.4rem}
  .value-side{grid-template-rows:auto}.value-side-row{grid-template-columns:1fr;gap:.35rem;padding:1rem 1.15rem}.value-side-ai .value-side-row>p:not(.value-text-result){grid-template-columns:auto minmax(0,1fr)}
  .case-details div{grid-template-columns:1fr;gap:.2rem}
  .case-visual{height:190px}
  .other-product-card{grid-template-columns:minmax(0,.9fr) minmax(150px,1.1fr);padding:.9rem}.other-product-title img{width:34px;height:36px}.ecosystem-poster-panel{min-height:540px}.ecosystem-poster-crop img{object-fit:cover;object-position:center top;transform:none}
  .video-play{width:62px;height:62px}
  .video-cover-copy{bottom:.8rem}
  .video-cover-copy small{display:none}
  .home-page .faq-item summary{align-items:flex-start;padding:1rem;font-size:.95rem}
  .home-page .faq-a{padding:0 1rem 1rem}
  .home-page .faq-item summary::before{display:block;width:22px;height:19px}
  .home-footer-grid{grid-template-columns:1fr}
  .video-dialog-media{min-height:0;aspect-ratio:16/9}
  .video-dialog-copy{grid-template-columns:1fr;padding:1.15rem 1.2rem}.video-dialog-copy .eyebrow{grid-row:auto}.video-dialog-copy p{font-size:.72rem}
}

@media(max-width:420px){
  .home-header .brand-logo{height:31px}
  .nav-booking{padding:.58rem .7rem;font-size:.76rem}
  .home-nav-actions{gap:.45rem}
  .home-hero .hero-tag{font-size:.65rem}
  .hero-brand-lockup{grid-template-columns:54px minmax(0,180px);padding:.62rem .72rem}.riskpower-mark-crop{width:54px;height:51px}.riskpower-wordmark-crop{width:180px;height:51px}
  .hero-value-metrics strong b{font-size:1.42rem}
  .pid-workbench{height:auto}
  .pid-live-card{min-width:160px}
  .pid-live-card small{font-size:.44rem}
  .product-map-foundation{gap:.38rem}
  .other-product-card{grid-template-columns:1fr}.other-product-card figure{aspect-ratio:16/9}.ecosystem-poster-panel{min-height:470px}.ecosystem-poster-panel figcaption{align-items:flex-start;flex-direction:column;gap:.25rem}
  .video-cover-copy b{font-size:.88rem}
}

/* Fit full hero in one screen on shorter laptop viewports */
@media(min-width:901px) and (max-height:860px){
  .home-hero{min-height:calc(100svh - 76px);padding-block:clamp(.7rem,1.4vh,1.4rem) clamp(.9rem,1.8vh,1.8rem)}
  .home-hero-grid{gap:clamp(1rem,2vw,2rem)}
  .home-hero h1{font-size:clamp(2rem,3.2vw,2.9rem);margin-bottom:.55rem}
  .home-hero .lede{margin-bottom:.55rem;font-size:.9rem;line-height:1.55}
  .home-page main>.section:not(.home-hero) .section-head>p,.home-final-cta>p{font-size:.9rem}
  .hero-brand-lockup{margin-bottom:.5rem;padding:.4rem .65rem}
  .riskpower-mark-crop{width:48px;height:46px}.riskpower-wordmark-crop{width:180px;height:46px}
  .hero-brand-lockup{grid-template-columns:48px 180px}
  .hero-value-metrics{margin-bottom:.5rem;gap:.35rem}
  .hero-value-metrics>div{padding:.4rem .4rem}
  .hero-value-metrics strong b{font-size:1.2rem}
  .expert-note{margin-bottom:.7rem;font-size:.78rem}
  .home-hero-visuals{gap:.5rem;max-height:none}
  .pid-workbench{height:auto}
  .hero-visual-card{padding:.55rem}
  .hero-visual-heading{margin-bottom:.35rem}
  .hero-visual-heading h2{font-size:.78rem}
  .pid-user-flow{margin-top:.3rem}
  .pid-flow-value{margin-top:.28rem;font-size:.55rem}
  .product-map-extensions{margin-top:.3rem;padding:.3rem .4rem}
  .product-map-foundation{margin-top:.25rem;padding:.28rem .4rem}
  .map-group{padding:.4rem}
  .map-product{padding:.32rem .38rem}
  .home-page main>.section:not(.home-hero) .section-head h2,.home-final-cta h2{font-size:clamp(1.75rem,min(3.2vw,4.8vh),2.55rem)}
}
@media(min-width:901px) and (max-height:740px){
  .home-hero{padding-block:.55rem .7rem}
  .home-hero h1{font-size:clamp(1.85rem,2.8vw,2.5rem)}
  .hero-value-metrics strong b{font-size:1.08rem}
  .hero-value-metrics span{font-size:.52rem}
  .pid-workbench{height:auto}
  .home-hero-visuals{max-height:none}
  .pid-flow-value,.product-map-foundation{display:none}
  .home-page main>.section:not(.home-hero) .section-head h2,.home-final-cta h2{font-size:clamp(1.7rem,min(2.9vw,4.5vh),2.3rem)}
}
@media(max-width:900px){
  .home-hero{min-height:0}
}

@media(prefers-reduced-motion:reduce){
  .home-page *{scroll-behavior:auto!important}
  .analysis-scan,.pid-scan-beam{animation:none;left:52%;opacity:.7}
  .pid-detection{animation:none;opacity:1;transform:none}
  .home-page .core-product-card:hover,
  .home-page .other-product-card:hover,
  .home-page .expert-feedback-card:hover{transform:none}
}
