/* Where we work — platforms section (added 2026-09-24) */
.platforms{border-top:1px solid var(--line-soft)}
.plat-grid{display:grid;gap:14px}
.plat-card{padding:20px 18px 22px}
.plat-label{font-size:15px;font-weight:600;color:var(--ink);margin:0 0 16px;max-width:none}
.plat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.plat{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
.plat-icon{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(23,23,20,.04),0 6px 16px -10px rgba(23,23,20,.18)}
.plat-icon>svg{width:30px;height:30px;display:block}
.plat-name{font-size:13px;line-height:1.2;color:var(--ink-2);font-weight:500}
.plat-check{position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2.5px var(--card);display:grid;place-items:center}
.plat-check svg{width:14px;height:14px;display:block}
.plat-check path{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:0}
.plat-notes{margin-top:18px;display:grid;gap:4px}
.plat-notes p{font-size:14px;line-height:1.5;color:var(--ink-3);margin:0;max-width:none}
.plat-notes p::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);vertical-align:middle;margin:-2px 9px 0 0;opacity:.7}

/* animation: only when JS is present and motion is allowed */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal] .plat{opacity:0;transform:translateY(10px) scale(.96)}
  .js [data-reveal] .plat-check{transform:scale(0)}
  .js [data-reveal] .plat-check path{stroke-dashoffset:16}
  .js [data-reveal].in .plat{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--row,0ms) + var(--i)*110ms)}
  .js [data-reveal].in .plat-check{transform:scale(1);transition:transform .45s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--row,0ms) + var(--i)*110ms + 380ms)}
  .js [data-reveal].in .plat-check path{stroke-dashoffset:0;transition:stroke-dashoffset .4s ease-out;transition-delay:calc(var(--row,0ms) + var(--i)*110ms + 520ms)}
  .js [data-reveal].in .plat-icon::after{content:"";position:absolute;inset:-1px;border-radius:16px;box-shadow:0 0 0 0 rgba(31,82,72,.28);animation:plat-pulse 1.6s ease-out 1 both;animation-delay:calc(var(--row,0ms) + var(--i)*110ms + 700ms)}
  .js .plat-card:nth-child(2){--row:260ms}
}
@keyframes plat-pulse{0%{box-shadow:0 0 0 0 rgba(31,82,72,.28)}100%{box-shadow:0 0 0 12px rgba(31,82,72,0)}}
@media (hover:hover){.plat-icon{transition:transform .25s var(--ease)}.plat:hover .plat-icon{transform:translateY(-2px)}}

@media (min-width:700px){
  .plat-grid{grid-template-columns:3fr 4fr;gap:18px}
  .plat-card{padding:26px 26px 28px}
  .plat-row{gap:14px}
  .plat-grid .plat-card:first-child .plat-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plat-icon{width:64px;height:64px;border-radius:18px}
  .plat-icon>svg{width:32px;height:32px}
  .js [data-reveal].in .plat-icon::after{border-radius:18px}
  .plat-name{font-size:14px}
  .plat-notes{grid-template-columns:auto auto;justify-content:start;column-gap:28px}
}
@media (max-width:699px){
  .plat-grid .plat-card:first-child .plat-row{grid-template-columns:repeat(4,minmax(0,1fr))}
}
