/* Analysis platforms index: three grounded tools connected by a quiet workflow. */
.content-platforms{
  --platform-bubble-lime:rgba(160,180,28,.13);
  --platform-bubble-olive:rgba(69,88,22,.09);
}

.platforms-index-page{position:relative;overflow:hidden;background:var(--bg)}

.platforms-suite{
  position:relative;
  width:100%;
  max-width:1520px;
  margin-inline:auto;
  padding:0 var(--pad) clamp(6rem,10vw,10rem);
}
.platform-case{
  position:relative;
  isolation:isolate;
  display:grid;
  padding:clamp(5.5rem,8.5vw,8.5rem) 0;
  grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);
  align-items:start;
  gap:clamp(3.5rem,7vw,8rem);
  border-bottom:1px solid var(--line);
}
.platform-case::before{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  will-change:translate;
}
.platform-case>*{position:relative;z-index:1}
.platform-case-planning{padding-top:clamp(4.5rem,7vw,7rem)}
.platform-case-hia::before{
  top:clamp(-7.5rem,-7vw,-5rem);
  right:calc(0px - var(--pad) - 8vw);
  width:clamp(370px,39vw,680px);
  height:clamp(270px,31vw,520px);
  border-radius:47% 53% 36% 64% / 59% 39% 61% 41%;
  background:var(--platform-bubble-lime);
  transform:rotate(7deg);
  animation:platform-boundary-drift 22s ease-in-out infinite alternate;
  --platform-drift-x:12px;
  --platform-drift-y:-8px;
}
.platform-case-diagnosis::before{
  top:clamp(-8rem,-8vw,-5.5rem);
  left:calc(0px - var(--pad) - 9vw);
  width:clamp(390px,43vw,720px);
  height:clamp(280px,32vw,550px);
  border-radius:58% 42% 61% 39% / 43% 57% 42% 58%;
  background:var(--platform-bubble-olive);
  transform:rotate(-8deg);
  animation:platform-boundary-drift 34s ease-in-out -11s infinite alternate-reverse;
  --platform-drift-x:-10px;
  --platform-drift-y:-6px;
}
@keyframes platform-boundary-drift{
  from{translate:0 0}
  to{translate:var(--platform-drift-x) var(--platform-drift-y)}
}

.platform-case-copy{max-width:590px;padding-top:.25rem}
.platform-case-copy>span{
  display:block;
  margin-bottom:1.1rem;
  color:var(--green-deep);
  font:700 .68rem/1.4 var(--mono);
  letter-spacing:.1em;
}
.platform-case-copy h2{
  max-width:680px;
  margin:0;
  color:var(--head);
  font-size:clamp(2.45rem,4vw,4.7rem);
  font-weight:620;
  line-height:1.08;
  letter-spacing:-.052em;
}
.platform-case-copy>p{
  max-width:600px;
  margin:clamp(1.4rem,2.4vw,2rem) 0 0;
  color:var(--lead);
  font-size:clamp(.98rem,1.08vw,1.08rem);
  line-height:1.9;
  text-wrap:pretty;
}
.platform-case-copy ul{
  margin:clamp(2rem,3vw,3rem) 0 0;
  padding:0;
  border-bottom:1px solid var(--line);
  list-style:none;
  counter-reset:platform-point;
}
.platform-case-copy li{
  display:grid;
  min-height:52px;
  padding:.8rem 0;
  grid-template-columns:2rem minmax(0,1fr);
  align-items:center;
  gap:.75rem;
  border-top:1px solid var(--line);
  color:var(--head);
  font-size:.82rem;
  font-weight:700;
  counter-increment:platform-point;
}
.platform-case-copy li::before{
  content:"0" counter(platform-point);
  color:var(--grey);
  font:700 .6rem var(--mono);
  letter-spacing:.06em;
}
.platform-open{
  display:flex;
  width:min(100%,440px);
  min-height:58px;
  margin-top:clamp(2rem,3vw,3rem);
  padding:.85rem 0;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  border-top:1px solid var(--head);
  border-bottom:1px solid var(--line);
  color:var(--head);
  font-size:.86rem;
  font-weight:800;
  transition:color .22s ease,border-color .22s ease;
}
.platform-open i{color:var(--accent-label);font:400 1rem var(--mono);font-style:normal}

.platform-case-figure{
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--bg-alt);
}
.platform-case-figure img{display:block;width:100%;height:auto}
.planning-platform-figure img{aspect-ratio:671/568;object-fit:contain}
.diagnosis-platform-figure img{aspect-ratio:1265/712;object-fit:cover;object-position:center}
.platform-case-figure figcaption{
  display:grid;
  min-height:88px;
  padding:1rem 1.2rem;
  grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);
  align-items:start;
  gap:1.25rem;
  border-top:1px solid var(--line);
}
.platform-case-figure figcaption span{color:var(--accent-label);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.platform-case-figure figcaption b{color:var(--head);font-size:.83rem;line-height:1.65}

.platform-case-hia{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}
.platform-case-hia .platform-case-copy{grid-column:2;grid-row:1}
.hia-process{
  grid-column:1;
  grid-row:1;
  padding:clamp(1.2rem,2.5vw,2.2rem);
  border:1px solid var(--line);
  background:color-mix(in srgb,var(--bg-alt) 82%,transparent);
}
.hia-process-head{
  display:flex;
  min-height:72px;
  padding-bottom:1.2rem;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem;
  border-bottom:2px solid var(--head);
}
.hia-process-head span{color:var(--grey);font:700 .62rem/1.5 var(--mono);letter-spacing:.1em}
.hia-process-head b{max-width:11em;color:var(--head);font-size:1.05rem;text-align:right}
.hia-process ol{margin:0;padding:0;list-style:none}
.hia-process li{
  display:grid;
  min-height:112px;
  padding:1.25rem 0;
  grid-template-columns:2.5rem minmax(0,1fr) auto;
  align-items:start;
  gap:1rem;
  border-bottom:1px solid var(--line);
}
.hia-process li>span{padding-top:.2rem;color:var(--grey);font:700 .64rem/1.4 var(--mono)}
.hia-process strong{display:block;color:var(--head);font-size:.92rem;line-height:1.45}
.hia-process p{margin:.38rem 0 0;color:var(--lead);font-size:.78rem;line-height:1.65}
.hia-process em{margin-top:.1rem;padding:.2rem .45rem;border:1px solid var(--line);color:var(--accent-label);font-size:.65rem;font-weight:800;font-style:normal;letter-spacing:.06em}

html[lang="en"] .platform-case-copy h2{font-family:var(--display)}

@media(hover:hover) and (pointer:fine){
  .platform-open:hover{border-color:var(--metro-lime);color:var(--accent-label)}
}

@media(max-width:980px){
  .platform-case,.platform-case-hia{grid-template-columns:1fr;gap:3rem}
  .platform-case-copy{max-width:760px}
  .platform-case-copy h2{font-size:clamp(2.65rem,8vw,4.7rem)}
  .platform-case-hia .platform-case-copy{grid-column:auto;grid-row:auto;order:1}
  .hia-process{grid-column:auto;grid-row:auto;order:2}
  .platform-case-hia::before{top:-4rem;right:calc(0px - var(--pad) - 15vw);width:72vw;height:32%}
  .platform-case-diagnosis::before{top:-4.5rem;left:calc(0px - var(--pad) - 16vw);width:74vw;height:30%}
}

@media(max-width:680px){
  .platform-case-figure figcaption{grid-template-columns:1fr;gap:.45rem}
  .hia-process li{grid-template-columns:2rem minmax(0,1fr)}
  .hia-process li em{grid-column:2;width:max-content}
  .platforms-index-shell{padding-inline:max(var(--pad),env(safe-area-inset-left))}
  .platform-case{padding-block:4rem;gap:2.25rem}
  .platform-case-copy h2{font-size:clamp(2.35rem,11vw,3.6rem);overflow-wrap:anywhere}
  .platform-case-copy p{line-height:1.8}
  .platform-case-actions{display:grid;grid-template-columns:1fr}
  .platform-case-actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .platform-case::before{animation:none;translate:none}
}

@media print{
  .platform-case::before{display:none}
  .platform-open{display:none}
}
