:root{color-scheme:light;--paper:#f2f2f7;--ink:#172334;--muted:#4c5464;--line:#d0d5df;--accent:#b8141a;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.24em}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,5.3vw,4.9rem);line-height:1.05;letter-spacing:-.055em;font-weight:650;max-width:14ch;margin-bottom:1.6rem}h2{font-size:clamp(1.55rem,3vw,2rem);letter-spacing:-.035em;line-height:1.2}h3{font-size:1.2rem;letter-spacing:-.02em}.wrap{max-width:1200px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.site-header{display:flex;align-items:center;gap:2rem;min-height:112px;position:relative;z-index:1}.brand{font-size:1.5rem;letter-spacing:-.05em;font-weight:750;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:.65rem}.brand-icon{display:grid;place-items:center;background:var(--ink);color:var(--paper);width:36px;height:36px;border-radius:11px;font-size:1.5rem}nav{display:flex;flex-wrap:wrap;gap:1.5rem;margin-left:auto}nav a{text-decoration:none;font-size:.95rem;padding-block:.75rem}nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.languages{position:relative;font-size:.9rem}summary{cursor:pointer;padding:.75rem .25rem;min-height:44px}summary::marker{color:var(--accent)}.languages ul{position:absolute;right:0;min-width:240px;padding:.6rem;list-style:none;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 25px #17233415;border-radius:12px;margin:.4rem 0}.languages a{display:block;padding:.75rem;text-decoration:none;border-radius:5px}.languages a:hover,.languages a[aria-current]{background:#e6ebf3}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;padding-block:3.5rem 3rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:750;color:var(--accent);margin-bottom:1.25rem}.lead{font-size:1.15rem;line-height:1.65;color:var(--muted);max-width:52ch}.button{display:inline-flex;gap:2rem;align-items:center;min-height:48px;background:var(--ink);color:var(--paper);padding:.9rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:650;margin-top:1rem}.button:hover{background:#263d5c;color:white}.notice{border-left:3px solid var(--accent);padding:1.25rem 1.5rem;background:#fff;font-size:.96rem;line-height:1.7}.notice p:last-child{margin-bottom:0}.notice h2{font-size:1.3rem}.flow{padding-block:4rem}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.75rem;margin:2rem 0 0}.steps li{border-top:1px solid var(--line);padding-top:1.25rem}.number{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--accent);display:block;margin-bottom:1.5rem}.steps p{font-size:.95rem;color:var(--muted)}.scope{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;border-top:1px solid var(--line);padding-block:3rem}.scope p{color:var(--muted)}footer{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:baseline;border-top:1px solid var(--line);padding-block:2rem;margin-top:3rem!important;font-size:.85rem;color:var(--muted)}footer p{margin-right:auto}.page-heading{padding-block:3.5rem 2rem}.page-heading h1{max-width:20ch;font-size:clamp(2.5rem,5vw,4rem)}.reading{max-width:760px}.reading>section{margin-block:2.5rem}.reading>.notice{margin-bottom:2rem}.reading p{color:var(--muted)}.contact{background:#e6ebf3;padding:2rem;border-radius:12px}.contact>a{font-size:1.1rem;font-weight:650;overflow-wrap:anywhere}.skip{position:absolute;top:-150px;left:1rem;z-index:5;background:var(--ink);color:white;padding:1rem}.skip:focus{top:1rem}main:focus{outline:none}@media(max-width:760px){.site-header{flex-wrap:wrap;gap:.5rem 1rem;padding-block:1.25rem;min-height:auto}.brand{margin-right:auto}.languages{order:0}nav{order:1;width:100%;margin-left:0;gap:1.5rem}.hero{grid-template-columns:1fr;gap:.5rem;padding-block:2rem}.hero h1{max-width:14ch}.steps{grid-template-columns:repeat(2,1fr);gap:1.5rem}.scope{grid-template-columns:1fr;gap:.5rem}.flow{padding-block:3rem}.page-heading{padding-block:2rem 1rem}.contact{padding:1.25rem}footer{gap:.8rem 1.25rem}footer p{flex-basis:100%;margin-bottom:0}}@media(max-width:370px){.brand{font-size:1.3rem}.steps{grid-template-columns:1fr}nav{gap:1rem}nav a{font-size:.9rem}}@media(forced-colors:active){.button,.notice,.brand-icon{border:1px solid}}

/* App artwork supplies the navy/coral palette; source indicator red is #b8141a. */
.app-art{max-width:440px;justify-self:center;text-align:center;padding:2rem;background:linear-gradient(145deg,#dfe5ef,#f2f2f7);border-radius:36px}.hero-icon{display:block;width:100%;height:auto;border-radius:24%;box-shadow:0 24px 50px #17233430}.app-art p{font-weight:750;font-size:1.5rem;letter-spacing:-.05em;margin:1.25rem 0 0}.brand-icon{object-fit:cover}.gallery{border-top:1px solid var(--line);padding-block:3rem}.screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;max-width:800px;margin:2rem auto}.screens figure{margin:0;min-width:0}.screens img{display:block;width:100%;max-width:280px;height:auto;border-radius:24px;box-shadow:0 10px 30px #17233420;margin:auto}.screens figcaption{font-size:.9rem;line-height:1.6;color:var(--muted);margin:1.25rem auto;max-width:32ch}.caption{text-align:center;font-size:.8rem;color:var(--muted)}h1,h2,h3,p,a,summary{overflow-wrap:anywhere}nav{min-width:0}.languages ul{min-width:min(240px,calc(100vw - 2.5rem));width:max-content;max-width:calc(100vw - 2.5rem)}.languages a{max-width:100%}.site-header>*{min-width:0}@media(max-width:760px){.app-art{max-width:300px;padding:1.5rem;margin-top:2rem}.screens{gap:1.25rem}.hero>div{min-width:0}}@media(max-width:500px){.screens{grid-template-columns:1fr;gap:2rem}.brand{white-space:normal}.site-header{align-items:flex-start}.languages ul{right:0}nav{column-gap:1rem}}
@media(max-width:760px){.languages{position:static;order:2;width:100%}.languages ul{position:static;inset:auto;width:100%;min-width:0;max-width:none;box-shadow:none}}
.notice{overflow-wrap:anywhere}
