/* v1.90.19 — Platforms landing page below the approved hero only. */
.platform-intro,.platform-portfolio,.platform-foundation{
  padding:clamp(82px,7vw,112px) 0;
}
.platform-section-head{
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);
  gap:clamp(32px,6vw,90px);align-items:end;margin-bottom:42px;
}
.platform-section-head .h2{
  max-width:19ch;margin:0;
  font-size:clamp(2.45rem,3.5vw,3.7rem);
  line-height:1.065;letter-spacing:-.046em;font-weight:755;
  text-wrap:balance;
}
.platform-section-head>p{
  max-width:42ch;font-size:1rem;line-height:1.7;
}

/* Platform philosophy: one connected three-part principle system. */
.platform-intro{
  background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));
  border-bottom:1px solid var(--line);
}
.platform-principles{
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;border:1px solid var(--line-strong);border-radius:24px;
  background:var(--surface);
  box-shadow:0 25px 58px rgba(17,20,27,.07);
}
.platform-principles>div,.platform-principles>div+div{
  position:relative;min-height:205px;
  padding:31px clamp(25px,3vw,42px);
  border-top:0;border-bottom:0;
}
.platform-principles>div+div{border-left:1px solid var(--line)}
.platform-principles b{
  display:block;margin:0 0 43px;
  color:var(--brand);font-size:.72rem;font-weight:830;letter-spacing:.16em;
}
.platform-principles b:after{
  content:"";position:absolute;left:clamp(25px,3vw,42px);right:clamp(25px,3vw,42px);top:66px;height:1px;
  background:var(--line);
}
.platform-principles span{
  margin-bottom:10px;font-size:1.23rem;line-height:1.25;font-weight:740;letter-spacing:-.025em;
}
.platform-principles p{max-width:34ch;font-size:.88rem;line-height:1.65}

/* Four products read as an integrated portfolio register. */
.platform-portfolio{background:var(--bg);scroll-margin-top:calc(var(--header-h) + 12px)}
.platform-showcase{
  overflow:hidden;border:1px solid var(--line-strong);border-radius:25px;
  background:var(--surface);
  box-shadow:0 28px 62px rgba(17,20,27,.065);
}
.platform-product{
  position:relative;grid-template-columns:62px minmax(0,1fr) 42px;
  gap:clamp(25px,3vw,44px);min-height:171px;
  padding:30px clamp(27px,3.2vw,46px);
  border-bottom:1px solid var(--line);
  background:var(--surface);
  transition:background-color .22s ease,box-shadow .22s ease;
}
.platform-product:last-child{border-bottom:0}
.platform-product:before{
  content:"";position:absolute;left:0;top:25px;bottom:25px;width:3px;
  border-radius:0 3px 3px 0;background:var(--brand);
  transform:scaleY(0);transition:transform .22s ease;
}
.platform-product:is(:hover,:focus-visible){
  padding-left:clamp(27px,3.2vw,46px);
  background:color-mix(in srgb,var(--brand) 3.5%,var(--surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 12%,transparent);
}
.platform-product:is(:hover,:focus-visible):before{transform:scaleY(1)}
.platform-product:focus-visible{outline:3px solid var(--brand);outline-offset:-4px;z-index:1}
.platform-product-icon{
  width:60px;height:60px;border:1px solid color-mix(in srgb,var(--brand) 27%,var(--line));
  border-radius:15px;background:color-mix(in srgb,var(--brand) 5%,var(--surface));
  color:var(--brand);
}
.platform-product-icon svg{width:26px;height:26px;stroke-width:1.65}
.platform-product>div:nth-child(2){
  display:grid;grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr);
  column-gap:clamp(28px,4.5vw,68px);align-items:center;
}
.platform-index{
  grid-column:1;grid-row:1;
  margin:0 0 7px;color:var(--brand);
  font-size:.68rem;font-weight:820;letter-spacing:.14em;
}
.platform-product h3{
  grid-column:1;grid-row:2 / span 2;
  margin:0;font-size:clamp(1.9rem,2.65vw,2.8rem);
  line-height:1.08;letter-spacing:-.04em;font-weight:745;
}
.platform-product p{
  grid-column:2;grid-row:1 / span 2;
  max-width:53ch;margin:0;color:var(--muted);
  font-size:.94rem;line-height:1.6;
}
.platform-product small{
  grid-column:2;grid-row:3;
  margin-top:13px;color:var(--text);
  font-size:.67rem;font-weight:760;letter-spacing:.11em;
}
.platform-arrow{
  display:grid;place-items:center;width:38px;height:38px;
  border:1px solid var(--line-strong);border-radius:50%;
  color:var(--brand);font-size:1.08rem;
  transition:transform .22s ease,border-color .22s ease;
}
.platform-product:is(:hover,:focus-visible) .platform-arrow{
  border-color:var(--brand);transform:translate(2px,-2px);
}

/* Shared foundation gives the portfolio a strong architectural pause. */
.platform-foundation{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));
}
.platform-flow{
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;border:1px solid #3d4652;border-radius:24px;
  background:radial-gradient(circle at 93% 7%,rgba(227,27,43,.12),transparent 28%),linear-gradient(130deg,#242b35,#11171f);
  box-shadow:0 28px 64px rgba(17,20,27,.16);
}
.platform-flow>div,.platform-flow>div+div{
  position:relative;min-height:198px;padding:30px clamp(24px,2.6vw,37px);
  border-top:0;border-bottom:0;border-left:0;
}
.platform-flow>div+div{border-left:1px solid rgba(255,255,255,.15)}
.platform-flow>div:after{
  content:"→";position:absolute;right:25px;top:26px;
  color:#ff6170;font-size:1rem;
}
.platform-flow>div:last-child:after{content:"↗"}
.platform-flow span{color:#ff7180;font-size:.69rem;font-weight:830;letter-spacing:.14em}
.platform-flow b{
  margin:42px 0 8px;color:#f6f7f9;
  font-size:1.28rem;line-height:1.2;letter-spacing:-.024em;
}
.platform-flow small{
  max-width:27ch;color:#bcc5d0;font-size:.82rem;line-height:1.58;
}

/* MKP Labs: an editorial feature, not a generic card. */
#labs{padding:clamp(83px,7.5vw,120px) 0;background:var(--bg)}
#labs .labs-panel{
  position:relative;grid-template-columns:65px minmax(0,1fr) auto;
  gap:clamp(25px,3vw,45px);align-items:center;
  overflow:hidden;padding:clamp(38px,4.5vw,63px);
  border:1px solid var(--line-strong);border-radius:25px;
  background:radial-gradient(circle at 92% 6%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 31%),var(--surface);
  box-shadow:0 28px 66px rgba(17,20,27,.075);
}
#labs .labs-panel:before{
  content:"";position:absolute;left:clamp(38px,4.5vw,63px);top:0;width:82px;height:3px;background:var(--brand);
}
#labs .platform-product-icon{
  width:62px;height:62px;border-radius:16px;
}
#labs .labs-panel .eyebrow{margin-bottom:14px}
#labs .labs-panel .h2{
  max-width:20ch;margin:0 0 14px;
  font-size:clamp(2.35rem,3.25vw,3.45rem);
  line-height:1.08;letter-spacing:-.044em;text-wrap:balance;
}
#labs .labs-panel p{max-width:66ch;margin:0;font-size:.96rem;line-height:1.68}
#labs .labs-panel .btn{white-space:nowrap}
#labs .labs-panel .btn:focus-visible{outline:3px solid var(--brand);outline-offset:4px}

/* A deliberate close to the landing page. */
.platform-cta{padding:0 0 clamp(82px,7vw,115px);background:var(--bg)}
.platform-cta>.container{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(36px,6vw,90px);align-items:end;
  padding:clamp(38px,4.8vw,65px);
  border:1px solid #3e4753;border-radius:25px;
  background:radial-gradient(circle at 93% 12%,rgba(227,27,43,.16),transparent 33%),linear-gradient(140deg,#222a34,#10151c);
  box-shadow:0 30px 72px rgba(17,20,27,.2);
}
.platform-cta>.container:before{
  content:"";position:absolute;left:clamp(38px,4.8vw,65px);top:0;width:82px;height:3px;background:#ff5968;
}
.platform-cta .eyebrow{color:#ff6976}
.platform-cta .h2{
  max-width:18ch;margin:0 0 15px;color:#f7f8fa;
  font-size:clamp(2.35rem,3.4vw,3.65rem);
  line-height:1.065;letter-spacing:-.045em;text-wrap:balance;
}
.platform-cta p{max-width:62ch;margin:0;color:#c0c8d2;font-size:.96rem;line-height:1.7}
.platform-cta .btn{white-space:nowrap;box-shadow:0 14px 30px rgba(227,27,43,.18)}
.platform-cta .btn:focus-visible{outline:3px solid #ff7580;outline-offset:4px}

html[data-theme="dark"] .platform-intro,
html[data-theme="dark"] .platform-foundation{background:#101216}
html[data-theme="dark"] .platform-principles,
html[data-theme="dark"] .platform-showcase,
html[data-theme="dark"] #labs .labs-panel{
  border-color:#333942;background-color:#171a20;
  box-shadow:0 28px 70px rgba(0,0,0,.25);
}
html[data-theme="dark"] .platform-principles>div+div{border-color:#333942}
html[data-theme="dark"] .platform-principles b:after{background:#333942}
html[data-theme="dark"] .platform-product{border-color:#333942;background:#171a20}
html[data-theme="dark"] .platform-product:is(:hover,:focus-visible){background:#242027}
html[data-theme="dark"] .platform-product-icon{
  border-color:#6a3540;background:#281d24;color:#ff6573;
}
html[data-theme="dark"] .platform-arrow{border-color:#4b525c}
html[data-theme="dark"] .platform-flow{
  border-color:#46505d;background:radial-gradient(circle at 93% 7%,rgba(227,27,43,.14),transparent 28%),linear-gradient(130deg,#242c37,#141a22);
  box-shadow:0 30px 70px rgba(0,0,0,.29);
}
html[data-theme="dark"] #labs .labs-panel{
  background:radial-gradient(circle at 92% 6%,rgba(227,27,43,.1),transparent 31%),#171a20;
}
html[data-theme="dark"] .platform-cta>.container{
  border-color:#46505d;background:radial-gradient(circle at 93% 12%,rgba(227,27,43,.17),transparent 33%),linear-gradient(140deg,#252d38,#141a22);
  box-shadow:0 30px 72px rgba(0,0,0,.3);
}
@media(max-width:1100px){
  .platform-product>div:nth-child(2){grid-template-columns:minmax(160px,.75fr) minmax(0,1.25fr);column-gap:25px}
  .platform-product{gap:25px}
  #labs .labs-panel{grid-template-columns:60px minmax(0,1fr)}
  #labs .labs-panel .btn{grid-column:2;justify-self:start}
}
@media(max-width:900px){
  .platform-section-head{grid-template-columns:1fr;gap:18px}
  .platform-principles{grid-template-columns:1fr}
  .platform-principles>div,.platform-principles>div+div{
    min-height:0;padding:28px 32px;border-left:0;border-top:1px solid var(--line);
  }
  .platform-principles>div:first-child{border-top:0}
  .platform-principles b{margin-bottom:35px}
  .platform-principles b:after{left:32px;right:32px;top:58px}
  .platform-product{grid-template-columns:56px minmax(0,1fr) 38px;gap:22px;padding:28px 31px}
  .platform-product:is(:hover,:focus-visible){padding-left:31px}
  .platform-product>div:nth-child(2){display:block}
  .platform-product h3{margin:4px 0 12px}
  .platform-product p{max-width:57ch}
  .platform-product small{display:block;margin-top:13px}
  .platform-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-flow>div,.platform-flow>div+div{min-height:175px;border-bottom:1px solid rgba(255,255,255,.15)}
  .platform-flow>div:nth-child(odd){border-left:0}
  .platform-flow>div:nth-child(n+3){border-bottom:0}
  .platform-cta>.container{grid-template-columns:1fr;align-items:start}
  .platform-cta .btn{justify-self:start}
}
@media(max-width:640px){
  .platform-intro,.platform-portfolio,.platform-foundation{padding:66px 0}
  .platform-section-head{margin-bottom:30px}
  .platform-section-head .h2{font-size:clamp(2.1rem,8vw,2.85rem)}
  .platform-section-head>p{font-size:.92rem}
  .platform-principles,.platform-showcase,.platform-flow{border-radius:19px}
  .platform-principles>div,.platform-principles>div+div{padding:25px 23px}
  .platform-principles b:after{left:23px;right:23px;top:56px}
  .platform-principles span{font-size:1.13rem}
  .platform-product{grid-template-columns:45px minmax(0,1fr) 31px;gap:15px;min-height:0;padding:25px 20px}
  .platform-product:is(:hover,:focus-visible){padding-left:20px}
  .platform-product-icon{width:44px;height:44px;border-radius:12px}
  .platform-product-icon svg{width:22px;height:22px}
  .platform-product h3{font-size:clamp(1.65rem,7vw,2.1rem)}
  .platform-product p{font-size:.86rem;line-height:1.55}
  .platform-product small{font-size:.61rem;line-height:1.4}
  .platform-arrow{display:grid;width:31px;height:31px;font-size:.95rem}
  .platform-flow{grid-template-columns:1fr}
  .platform-flow>div,.platform-flow>div+div{
    min-height:139px;padding:23px 26px;border-left:0;border-bottom:1px solid rgba(255,255,255,.15);
  }
  .platform-flow>div:last-child{border-bottom:0}
  .platform-flow b{margin:20px 0 6px;font-size:1.14rem}
  .platform-flow small{font-size:.78rem}
  #labs{padding:70px 0}
  #labs .labs-panel{grid-template-columns:1fr;gap:25px;padding:34px 26px;border-radius:19px}
  #labs .labs-panel:before{left:26px}
  #labs .platform-product-icon{width:54px;height:54px}
  #labs .labs-panel .h2{font-size:clamp(2.1rem,8vw,2.8rem)}
  #labs .labs-panel p{font-size:.9rem}
  #labs .labs-panel .btn{grid-column:1;width:100%;justify-content:center}
  .platform-cta{padding-bottom:74px}
  .platform-cta>.container{padding:35px 25px;border-radius:19px;gap:29px}
  .platform-cta>.container:before{left:25px}
  .platform-cta .h2{font-size:clamp(2rem,8vw,2.75rem)}
  .platform-cta .btn{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  .platform-product,.platform-product:before,.platform-arrow{transition:none}
}
