/* Verticals layout */
section{scroll-margin-top:108px}
@media (max-width:760px){section{scroll-margin-top:80px}}
.vbrand{font-weight:300;opacity:.75}

/* overview cards */
.vgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1060px){.vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.vgrid{grid-template-columns:1fr}}
.vcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:border-color .25s,transform .25s}
.vcard:hover{border-color:var(--sun);transform:translateY(-3px)}
.vcard-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#000}
.vcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.vcard:hover .vcard-media img{transform:scale(1.05)}
.vcard-body{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;flex:1}
.vcard-kicker{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.vcard-name{font:400 1.45rem/1.15 var(--display);letter-spacing:-.01em}
.vcard-text{color:var(--muted);font-size:.95rem}
.vcard ul{margin:2px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:.9rem}
.vcard li{display:flex;gap:8px;align-items:baseline}
.vcard li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--sun);translate:0 -2px}
.vcard-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--sun)}
.core-strip{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.core-label{font:600 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* vertical section header */
.vhead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:end;margin-bottom:clamp(32px,5vw,52px)}
@media (max-width:860px){.vhead{grid-template-columns:1fr;align-items:start}}
.vhead-main{display:grid;gap:12px;min-width:0}
.vhead h2{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:400}
.vtagline{font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--text)}
.vmeta{margin:0;display:grid;gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:10px;background:var(--ink);min-width:0}
.vertical:not(.band) .vmeta{background:var(--panel)}
.vmeta dt{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sun);margin-bottom:4px}
.vmeta dd{margin:0;color:var(--muted);font-size:.95rem}
.vertical .dt-group{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:500;margin:44px 0 18px}

/* four-up capability grid */
.cap-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1060px){.cap-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cap-grid.four{grid-template-columns:1fr}}
.cap-grid.four .cap h3{font-size:1.12rem}
.tagline{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sun)}

/* industries: which verticals each solution uses */
.ind .vchips{display:flex;flex-wrap:wrap;gap:6px}
.ind .vchips span{font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.14);color:#ffffff;border:1px solid rgba(255,255,255,.22)}

/* footer */
footer .wrap.foot{display:grid;grid-template-columns:auto 1fr auto;gap:20px 40px;align-items:center}
@media (max-width:860px){footer .wrap.foot{grid-template-columns:1fr}}
.foot-brand{display:flex;flex-direction:column;gap:6px}
.foot-brand img{height:60px;width:auto;background:#ffffff;border-radius:8px;padding:8px 12px;box-sizing:content-box}
.foot-brand span{font-size:.85rem;color:var(--muted)}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.foot-links a{text-decoration:none;color:var(--text);font-weight:500}
.foot-links a:hover{color:var(--sun)}
.foot-meta{display:grid;gap:4px;justify-items:end;text-align:right}
@media (max-width:860px){.foot-meta{justify-items:start;text-align:left}}