.portfolio{--bg:#101820;--accent:#e73c3e;--accent-alt:#0957c3;--ink:#fff;--tile:#b2c0cb}html:has(dialog.company-modal[open]){overflow:hidden;overscroll-behavior:contain}.portfolio{background:var(--bg);color:var(--ink);padding:clamp(24px,4vw,56px)}.portfolio-grid{display:grid;gap:clamp(12px,2vw,20px);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.portfolio-grid{grid-template-columns:repeat(4,1fr)}}.company-card,.company-card:active,.company-card:focus{aspect-ratio:1/1;background:rgba(178,192,203,.15);border:1px solid var(--tile);border-radius:10px;cursor:pointer;display:grid;isolation:isolate;overflow:hidden;place-items:center;position:relative;transition:all .25s ease-in-out}.exit-badge-card{background-color:var(--accent);border-radius:8px;color:#fff;padding:.5rem;right:.5rem}.exit-badge-card,.sector-badge{content:"";position:absolute;top:.5rem}.sector-badge{background-color:rgba(231,60,62,.12);border:1px solid #e73c3e;border-radius:200px;color:#e73c3e;left:.5rem;padding:.25rem .5rem}.company-card:hover{background-color:rgba(178,192,203,.25);transform:translateY(-4px)}.company-card img{filter:none;height:auto;max-height:80%;max-width:80%;object-fit:contain;width:auto}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}dialog.company-modal{background:#0c141b;border:0;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.55);color:var(--ink);max-height:90vh;padding:0;width:min(920px,92vw)}dialog.company-modal::backdrop{background:rgba(0,0,0,.55)}.modal-header{align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);display:grid;gap:16px;grid-template-columns:1fr auto;padding:20px 22px 12px}.modal-title{font-weight:700;gap:.5rem;margin-bottom:0}.modal-title,.sector-labels{align-items:center;display:flex}.sector-labels{flex-direction:row;gap:1rem;justify-content:flex-start}.sector-label{background-color:rgba(231,60,62,.12);border:1px solid #e73c3e;border-radius:200px;color:#e73c3e;font-size:14px;padding:.25rem .5rem}.modal-badge{background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 70%,#000 0%);border-radius:999px;color:var(--ink);font-size:12px;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.modal-close,.modal-close:active,.modal-close:focus{align-items:center;appearance:none;background:transparent;border:1px solid hsla(0,0%,100%,.18);border-radius:10px;color:var(--ink);cursor:pointer;display:flex;flex-direction:row;font-weight:600;justify-content:center;padding:8px 10px;transition:border-color .15s ease,background .15s ease}.modal-close:hover{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.34)}.modal-close>svg{height:1.25rem;width:1.25rem;fill:#fff}.modal-body{display:grid;gap:clamp(16px,3vw,28px);grid-template-columns:160px 1fr;padding:18px 22px 22px}@media (max-width:640px){dialog.company-modal{border-radius:0;height:100vh;max-height:95vh;width:100vw}.modal-body{grid-template-columns:1fr;height:calc(100vh - 70px);overflow:auto}}.modal-logo-wrap{background:rgba(178,192,203,.15);border:1px solid var(--tile);border-radius:10px;display:grid;height:140px;padding:12px;place-items:center}.modal-logo-wrap img{max-height:120px;max-width:90%;object-fit:contain}.modal-meta{display:grid;font-size:16px;gap:8px}.modal-meta strong{color:#cfd8e3;font-weight:600}.modal-meta a{background-color:var(--accent);border-radius:8px;color:#fff;font-weight:600;padding:.5rem;transition:all .4s ease}.modal-meta a:hover{background-color:var(--accent-alt)}.company-website-button{margin:.75rem 0}.modal-description{color:#e6ebf1;line-height:1.6;margin-top:12px}@keyframes open{0%{opacity:0;transform:translateY(-10%)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10%)}}dialog.company-modal[open]{animation:open .2s ease-out forwards}dialog.company-modal.closing{animation:close .2s ease-in forwards}.modal-quote{background:linear-gradient(0deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.03)) padding-box;border:1px solid hsla(0,0%,100%,.09);border-radius:12px;margin-top:18px;padding:clamp(14px,2.2vw,18px)}@media (max-width:768px){.modal-quote{margin-inline-end:0;margin-inline-start:0}}.modal-quote .quote-text{border:none;color:#f2f5f8;font-size:clamp(15px,1.9vw,17px);line-height:1.6;margin:0 0 12px;position:relative}.modal-quote .quote-text:before{color:var(--accent);content:"“";font-size:2em;line-height:0;margin-right:.15em;position:relative;top:.25em}.modal-quote .quote-footer{align-items:center;display:grid;gap:10px;grid-template-columns:auto 1fr}.modal-quote .quote-avatar{border:1px solid hsla(0,0%,100%,.15);border-radius:50%;display:inline-grid;height:42px;overflow:hidden;place-items:center;width:42px}.quote-avatar img{height:100%;object-fit:cover;width:100%}.modal-quote .quote-author{color:#e9eef6;font-weight:700}.quote-title{color:color-mix(in srgb,var(--accent-alt) 75%,#cfd8e3 25%);font-weight:500;opacity:.9}