/* Assault Consulting — Open Source section (#opensource).
   Kept separate from site.css; merge in if preferred. */

.oss{display:grid;grid-template-columns:210px 1fr;gap:44px;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:40px;align-items:start}
.oss-badge{display:flex;justify-content:center}
.oss-badge .seal{width:190px;height:auto}
.seal-t1{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;fill:#54626F}
.seal-t2{font-family:var(--disp);font-size:25px;font-weight:600;letter-spacing:.18em;fill:#A67C00}
.oss-claim{font-family:var(--disp);font-size:clamp(20px,2.4vw,26px);font-weight:600;line-height:1.3;margin-bottom:14px;text-wrap:balance}
.oss-claim b{color:#A67C00}
.oss-text p{color:var(--muted);font-size:15.5px;max-width:75ch}
.oss-text p a{color:var(--ink);font-weight:600;text-decoration-color:var(--red)}
.oss-links{list-style:none;display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:22px;padding:0}
.oss-links a{font-weight:600;font-size:15px;color:var(--ink);text-decoration-color:var(--red)}
.oss-links a::after{content:" ↗";font-family:var(--mono);font-size:12px;color:var(--muted)}

@media(max-width:760px){
  .oss{grid-template-columns:1fr;padding:28px 24px;gap:26px}
  .oss-badge .seal{width:160px}
}

@media print{
  .oss{background:var(--white);break-inside:avoid}
  .oss-links a::after{content:" (" attr(href) ")";font-size:11px}
}
