:root { color-scheme: light; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #172a35; background: #f4f7f8; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(100% - 2rem, 58rem); margin: 0 auto; padding: clamp(2rem, 7vw, 5rem) 0 2rem; }
header { padding-bottom: 2.5rem; }
.eyebrow { margin: 0 0 1.5rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; color: #126052; }
h1 { margin: 0; font-size: clamp(2rem, 7vw, 3.75rem); line-height: 1.12; letter-spacing: -.04em; }
.intro { max-width: 34rem; margin: 1.3rem 0 0; font-size: 1.1rem; line-height: 1.7; color: #52636c; }
h2 { margin: 0 0 1rem; font-size: 1rem; }
.app-card { display: flex; gap: 1rem; align-items: flex-start; width: 100%; padding: 1.5rem; background: #fff; border: 1px solid #d5e1e3; border-radius: 1rem; color: inherit; text-decoration: none; box-shadow: 0 .4rem 1.4rem #172a3505; }
.app-card:hover { border-color: #126052; }
.app-icon { display: grid; place-items: center; flex: 0 0 2.6rem; height: 2.6rem; border-radius: .7rem; background: #e3f3ee; color: #126052; font-weight: 800; }
.app-copy { display: grid; gap: .5rem; min-width: 0; }
.app-title { font-size: 1.2rem; font-weight: 700; }
.app-description { color: #52636c; line-height: 1.6; }
.app-address { font-size: .85rem; color: #126052; overflow-wrap: anywhere; }
.app-arrow { margin-left: auto; font-size: 1.4rem; color: #126052; }
footer { margin-top: 3rem; border-top: 1px solid #d5e1e3; padding-top: 1rem; font-size: .85rem; color: #52636c; }
footer p { margin: .6rem 0; }
footer a { color: #126052; }
details summary { cursor: pointer; padding: .5rem 0; min-height: 2.75rem; }
code { display: block; padding: .5rem 0; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible { outline: 3px solid #126052; outline-offset: 5px; }
.skip-link { position: absolute; left: 1rem; top: -6rem; padding: .75rem; background: #fff; color: #126052; }
.skip-link:focus { top: .5rem; }
@media (max-width: 380px) { .app-card { padding: 1rem; gap: .75rem; } .app-icon { flex-basis: 2rem; height: 2rem; } .app-arrow { font-size: 1rem; } }
