/* Platform: a focused pillar rail instead of a catalogue of paragraphs. */
.platform-surface { overflow:hidden; }
.platform-hero { padding:clamp(64px,9vw,112px) 0 72px; background:#fbfcfa; }
.platform-hero-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr); gap:clamp(36px,7vw,88px); align-items:center; }
.platform-hero h1 { max-width:11ch; font-size:clamp(2.8rem,5.8vw,5.2rem); letter-spacing:-.055em; line-height:.98; }
.platform-hero h1 em { color:#087455; font-style:normal; }
.platform-hero .lede { max-width:48ch; margin-top:24px; }
.platform-hero-card { border:1px solid #cbd8d1; border-radius:18px; background:#fff; box-shadow:0 18px 45px rgba(18,55,42,.1); overflow:hidden; }
.platform-card-top,.platform-card-foot,.signal-head,.signal-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; font:600 .64rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.platform-card-top { padding:16px 20px; border-bottom:1px solid #e3ebe5; color:#60736a; }
.platform-card-top b,.signal-head b { color:#087455; font-weight:700; }
.platform-card-top i,.signal-head i { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:#20aa6c; box-shadow:0 0 0 4px #e5f6ec; vertical-align:1px; }
.platform-path { display:grid; grid-template-columns:1fr 34px 1.18fr 34px 1fr; align-items:center; gap:10px; padding:36px 28px; background:linear-gradient(135deg,#f4f8f4,#fff 48%,#f1f8f5); }
.platform-path>div { min-height:112px; padding:17px; border:1px solid #c9d6cd; border-radius:11px; background:rgba(255,255,255,.9); }
.platform-path>div.is-focus { border-color:#0c7a5b; box-shadow:inset 0 3px #0c7a5b,0 8px 18px rgba(15,94,69,.09); transform:translateY(-6px); }
.platform-path span,.signal-row span,.signal-result span,.platform-detail-grid>div>span { display:block; color:#698077; font:600 .6rem var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.platform-path strong { display:block; margin-top:17px; color:#15352b; font-size:.93rem; }
.platform-path small { display:block; margin-top:4px; color:#73837c; font-size:.7rem; }
.platform-path>i { height:1px; position:relative; background:#91b8a4; }
.platform-path>i:after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-radius:50%; background:#0c7a5b; }
.platform-card-foot { padding:13px 20px; border-top:1px solid #e3ebe5; color:#74857c; letter-spacing:.02em; text-transform:none; }
.platform-card-foot code { color:#315e4d; }
.platform-index { padding:20px 0 0; background:#fbfcfa; }
.platform-index .onthis { margin:0; }
.platform-section-intro { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.platform-section-intro>div { min-width:0; }
.platform-section-intro .small { max-width:38ch; margin-bottom:4px; }
.platform-section-intro.compact { align-items:center; }
.platform-section-intro h2 { font-size:clamp(1.7rem,3vw,2.4rem); }
.platform-pillar-shell { display:grid; grid-template-columns:270px minmax(0,1fr); min-height:390px; border:1px solid #ccd9d2; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 10px 28px rgba(18,55,42,.05); }
.platform-rail { display:flex; flex-direction:column; gap:4px; padding:12px; border-right:1px solid #e0e9e3; background:#f5f9f6; }
.platform-rail-item { display:grid; grid-template-columns:27px 1fr 20px; gap:10px; align-items:center; width:100%; padding:14px 12px; text-align:left; border:1px solid transparent; border-radius:10px; background:transparent; color:#345047; cursor:pointer; transition:background .18s,border-color .18s,transform .18s; }
.platform-rail-item:hover { background:#e9f3ed; border-color:#c7ddd0; transform:translateX(2px); }
.platform-rail-item.is-active { background:#fff; border-color:#9dc8b1; box-shadow:0 4px 12px rgba(31,91,60,.08); color:#073f2d; }
.platform-rail-code { align-self:start; padding-top:2px; color:#789086; font:600 .65rem var(--font-mono); }
.platform-rail-copy strong { display:block; font:700 .75rem var(--font-mono); letter-spacing:.08em; }
.platform-rail-copy small { display:block; margin-top:4px; color:#71847b; font-size:.73rem; line-height:1.28; }
.platform-rail-arrow { color:#0b805d; font-size:1rem; opacity:0; transition:opacity .18s; }
.platform-rail-item.is-active .platform-rail-arrow,.platform-rail-item:hover .platform-rail-arrow { opacity:1; }
.platform-rail-note { margin-top:auto; padding:16px 12px 8px; border-top:1px solid #dae5de; }
.platform-rail-note span { color:#0b805d; font:700 .62rem var(--font-mono); letter-spacing:.1em; }
.platform-rail-note p { margin-top:7px; color:#75877e; font-size:.75rem; line-height:1.42; }
.platform-panel-stage { min-width:0; background:#fff; }
.platform-pillar-panel[hidden] { display:none; }
.platform-pillar-panel { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr); gap:clamp(24px,5vw,70px); align-items:center; height:100%; min-height:390px; padding:clamp(28px,5vw,58px); animation:platform-panel-in .28s ease both; }
@keyframes platform-panel-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.platform-panel-copy { min-width:0; }
.platform-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:22px; }
.platform-panel-heading .layer-code { margin:0; }
.platform-panel-status { color:#6d8277; font:600 .65rem var(--font-mono); letter-spacing:.05em; text-transform:uppercase; }
.platform-panel-copy h3 { max-width:17ch; font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.08; letter-spacing:-.035em; }
.platform-panel-copy>p { max-width:52ch; margin-top:16px; font-size:.97rem; line-height:1.62; }
.platform-verdicts { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:23px; }
.platform-label { margin-right:4px; color:#71857a; font:700 .61rem var(--font-mono); letter-spacing:.08em; }
.platform-verdicts .verdict { padding:5px 8px; border-color:#cbdcd2; color:#466458; background:#f8fbf9; font-size:.67rem; }
.platform-panel-link { display:inline-flex; gap:10px; align-items:center; margin-top:28px; color:#087455; font-size:.83rem; font-weight:700; }
.platform-panel-link span { transition:transform .18s; }
.platform-panel-link:hover span { transform:translateX(4px); }
.platform-signal-card { min-width:0; border:1px solid #bfd4c6; border-radius:13px; background:#f7fbf8; box-shadow:0 9px 22px rgba(26,91,60,.08); overflow:hidden; }
.signal-head { padding:14px 16px; border-bottom:1px solid #dbe8df; color:#698077; }
.signal-body { padding:18px 18px 20px; }
.signal-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid #e0ebe3; }
.signal-row strong { color:#1c3e31; font-size:.84rem; text-align:right; }
.signal-line { display:flex; gap:7px; align-items:center; padding:6px 0; }
.signal-line:before { content:""; height:1px; flex:1; background:#8bb9a0; }
.signal-line i { width:6px; height:6px; border-radius:50%; background:#0d835e; }
.signal-result { display:flex; justify-content:space-between; gap:12px; margin-top:16px; padding:14px; border:1px solid #9bd0b0; border-radius:9px; background:#e9f7ed; color:#087455; }
.signal-result span { color:#4d7861; }
.signal-result strong { font:700 .72rem var(--font-mono); letter-spacing:.04em; text-align:right; }
.signal-result.is-amber { border-color:#e1c47c; background:#fff7e4; color:#976000; }
.signal-result.is-amber span { color:#91703a; }
.signal-foot { align-items:flex-start; padding:12px 16px; border-top:1px solid #dbe8df; color:#74877c; font-size:.61rem; letter-spacing:0; text-transform:none; }
.signal-foot code { color:#44715d; }
.platform-loop { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid #cbd9d1; border-radius:13px; background:#cbd9d1; }
.platform-loop>div { min-height:150px; padding:22px 20px; background:#fff; }
.platform-loop span { color:#087455; font:700 .68rem var(--font-mono); }
.platform-loop strong { display:block; margin-top:23px; font-size:1rem; }
.platform-loop p { margin-top:8px; color:#667970; font-size:.8rem; line-height:1.5; }
.platform-principle { margin-top:15px; padding:14px 18px; border-left:3px solid #0b805d; background:#eaf5ed; color:#526b5d; font-size:.84rem; }
.platform-principle strong { color:#164a37; }
.platform-boundaries { background:#fff; }
.platform-boundary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.platform-boundary-grid article { min-width:0; padding:22px; border:1px solid #d4e0d8; border-radius:12px; background:#fbfdfb; transition:transform .18s,border-color .18s,box-shadow .18s; }
.platform-boundary-grid article:hover { transform:translateY(-3px); border-color:#91bea1; box-shadow:0 10px 22px rgba(21,77,49,.07); }
.platform-boundary-grid .layer-code { margin:0 0 20px; color:#087455; background:#eaf5ed; }
.platform-boundary-grid h3 { font-size:1rem; }
.platform-boundary-grid p { margin-top:9px; font-size:.83rem; line-height:1.55; }
.platform-boundary-grid a { display:inline-block; margin-top:20px; color:#087455; font-size:.76rem; font-weight:700; }
.platform-deployment { padding-top:28px; padding-bottom:28px; }
.platform-detail-disclosure { border:1px solid #cbd9d1; border-radius:12px; overflow:hidden; background:#fff; }
.platform-detail-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 20px; cursor:pointer; list-style:none; }
.platform-detail-disclosure summary::-webkit-details-marker { display:none; }
.platform-detail-disclosure summary .ent-eyebrow { display:block; margin:0 0 4px; font-size:.62rem; }
.platform-detail-disclosure summary strong { display:block; color:#17392b; font-size:.93rem; }
.platform-detail-disclosure summary>b { display:grid; place-items:center; width:25px; height:25px; border:1px solid #b9d2c1; border-radius:50%; color:#087455; font-size:1.05rem; font-weight:400; }
.platform-detail-disclosure[open] summary { border-bottom:1px solid #dce7df; background:#f8fbf8; }
.platform-detail-disclosure[open] summary>b { transform:rotate(45deg); }
.platform-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:#d9e5dd; }
.platform-detail-grid>div { padding:18px; background:#fff; }
.platform-detail-grid>div>span { color:#087455; }
.platform-detail-grid p { margin-top:10px; color:#64766b; font-size:.78rem; line-height:1.5; }
.platform-cta { padding:58px 0; background:#123b2d; }
.platform-cta .ent-eyebrow { color:#8dd4a9; }
.platform-cta h2 { color:#fff; font-size:clamp(1.9rem,3.5vw,3rem); }
.platform-cta p { max-width:56ch; margin-top:12px; color:#c9ddd1; }
.platform-cta .ent-btn-primary { background:#fff; color:#123b2d; }
.platform-cta .ent-btn-primary:hover { background:#e5f1e9; }
.platform-cta .ent-btn-ghost { border-color:#7fae96; background:transparent; color:#fff; }
.platform-cta .ent-btn-ghost:hover { border-color:#fff; color:#fff; }
@media (max-width:900px) {
 .platform-hero-grid { grid-template-columns:1fr; }
 .platform-hero-card { max-width:720px; }
 .platform-pillar-shell { grid-template-columns:1fr; }
 .platform-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-right:0; border-bottom:1px solid #e0e9e3; }
 .platform-rail-note { display:none; }
 .platform-rail-item { grid-template-columns:1fr 18px; gap:4px; padding:12px 10px; }
 .platform-rail-code { display:none; }
 .platform-rail-arrow { justify-self:end; }
 .platform-pillar-panel { min-height:420px; }
}
@media (max-width:680px) {
 .platform-hero { padding-top:52px; }
 .platform-hero h1 { font-size:clamp(2.6rem,13vw,4rem); }
 .platform-path { grid-template-columns:1fr; gap:9px; padding:20px; }
 .platform-path>div { min-height:0; }
 .platform-path>div.is-focus { transform:none; }
 .platform-path>i { width:60%; justify-self:center; transform:rotate(90deg); }
 .platform-card-foot { align-items:flex-start; flex-direction:column; }
 .platform-section-intro,.platform-section-intro.compact { display:block; }
 .platform-section-intro .small { margin-top:14px; }
 .platform-rail { grid-template-columns:repeat(2,1fr); }
 .platform-rail-item { min-height:64px; }
 .platform-pillar-panel { display:flex; flex-direction:column; align-items:stretch; min-height:0; padding:24px 20px 28px; }
 .platform-panel-heading { margin-bottom:17px; }
 .platform-panel-copy h3 { max-width:20ch; }
 .platform-signal-card { margin-top:4px; }
 .platform-loop,.platform-boundary-grid,.platform-detail-grid { grid-template-columns:1fr; }
 .platform-loop>div { min-height:0; padding:18px; }
 .platform-loop strong { margin-top:12px; }
 .platform-detail-grid { gap:0; }
 .platform-detail-grid>div { border-bottom:1px solid #d9e5dd; }
}
@media (prefers-reduced-motion:reduce) {
 .platform-pillar-panel,.platform-rail-item,.platform-boundary-grid article { animation:none; transition:none; }
}
