:root{--color-bg:#ffffff;--color-text:#1a1f2b;--color-muted:#5a6573;--color-primary:#0B3D91;--color-primary-600:#0a3580;--color-accent:#2C7BE5;--color-surface:#f7f9fc;--radius:12px;--shadow:0 10px 30px rgba(0, 0, 0, 0.08);--focus-ring:0 0 0 3px #ffbf47}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.55;color:var(--color-text);background:var(--color-bg)}img{max-width:100%;height:auto}.container{width:min(1100px,92%);margin-inline:auto}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 12px;z-index:1000}.skip-link:focus{top:0}.site-header{background:0 0;color:var(--color-text)}.header-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:10px 0}.brand-banner{display:block;max-height:48px;width:auto}.header-inner .button{justify-self:end}.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:18px}.primary-nav a{color:#fff;text-decoration:none;font-weight:600}.primary-nav a:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:6px}.hero{background:linear-gradient(180deg,#f5f7fb 0,#fff 100%);padding:32px 0 20px}.hero #hero-title{display:inline;margin-right:10px}.hero .lede{display:inline;font-size:clamp(1.05rem, 1.5vw + .8rem, 1.25rem);color:var(--color-muted);max-width:70ch}.hero-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}.hero-highlights li{display:flex;align-items:center;gap:8px;background:var(--color-surface);padding:8px 10px;border-radius:10px}.hero-highlights i{color:var(--color-accent);font-size:1.25rem}.section{padding:28px 0}h1,h2,h3{color:var(--color-primary-600);margin:0 0 12px;line-height:1.2}h1{font-size:clamp(1.4rem, 2.5vw + 1rem, 2rem)}h2{font-size:clamp(1.25rem, 1.8vw + .8rem, 1.6rem)}h3{font-size:1.1rem}p{margin:0 0 12px}.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 16px;list-style:none;padding:0;margin:12px 0 0}.feature-list li{display:flex;gap:10px;align-items:flex-start}.feature-list i{color:var(--color-accent);font-size:1.25rem;margin-top:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;justify-items:center;align-items:stretch}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;text-align:center;display:flex;flex-direction:column;height:100%}.card-logo{display:block;max-height:48px;width:auto;height:auto;object-fit:contain;margin:0 auto 8px}.card-logo.gisconvert{max-height:120px}.card-logo.riffreader{max-height:85px}.card h3{margin:4px 0 6px}.card p{margin:0 0 8px}.link-row{margin-top:auto;margin-bottom:0}.logo-bar{min-height:120px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:8px}.link-row a.external-link{display:inline-flex;align-items:center;gap:6px;color:var(--color-primary-600);text-decoration:none;font-weight:600}.link-row a.external-link:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:6px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;list-style:none;padding:0;margin:0}.team-card{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:start;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px}.avatar{width:72px;height:72px;border-radius:50%;object-fit:cover}.team-body a{color:var(--color-primary-600);text-decoration:none;font-weight:600}.team-body a:focus-visible{outline:0;box-shadow:var(--focus-ring);border-radius:6px}.button{display:inline-flex;align-items:center;gap:8px;background:var(--color-primary);color:#fff;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:700}.button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.site-footer{background:var(--color-primary);color:#fff;padding:16px 0;margin-top:8px}.site-footer p{margin:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.white-link,.white-link:hover{color:#fff}a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:720px){.brand-banner{max-height:40px}.header-inner{align-items:center;gap:8px}.primary-nav ul{flex-wrap:wrap;gap:10px}}