@font-face{font-family:"MapToc Sans";src:url("assets/fonts/dm-sans-latin-wght-normal.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}

:root{--font-body:"MapToc Sans",Arial,sans-serif;--font-heading:var(--font-body);--ink:#102b3b;--navy:#081c29;--paper:#f3f7f6;--mint:#8ce6ca;--green:#087d61;--green2:#8ce6ca;--muted:#506b7a;--line:#d5e2e5;--blue:#2878e8;--section-title:clamp(32px,3.4vw,46px)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font:16px/1.6 var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img,svg{max-width:100%}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word}
h2{font-size:var(--section-title)}
h3{font-size:24px}
p{overflow-wrap:break-word}
em{font-style:normal;color:var(--mint)}
[hidden]{display:none!important}

.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.section{padding:72px 0}
.eyebrow,.section-label{display:block;font-size:13px;font-weight:750;letter-spacing:.09em;line-height:1.4;text-transform:uppercase;color:var(--green)}
.section-label{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.section-label .section-index{opacity:.7;font-variant-numeric:tabular-nums}
.section-label::after{content:"";height:1px;background:currentColor;opacity:.22;flex:1;margin-left:12px}
.section-heading{margin-bottom:32px}
.section-heading h2,.section-head h2{max-width:960px;font-size:var(--section-title)}
.section-heading p{max-width:760px;margin-top:18px}
.section-heading .eyebrow{margin-bottom:18px}

.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;font-size:15px;line-height:1.4;font-weight:700}
.button{padding:12px 19px;border-radius:8px;background:var(--mint);color:#092b29}
.button:hover{background:#b6f2de}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #20b28b;outline-offset:4px}
.skip-link:not(:focus){position:fixed;top:-100px;clip-path:inset(100%)}
.skip-link:focus{position:fixed;top:10px;left:10px;z-index:1000;padding:12px;background:var(--mint);color:var(--ink)}

/* Native wordmark plus the existing vector symbol: no image backdrop or crop. */
.brand-lockup{display:inline-flex;align-items:center;gap:9px;flex:none;color:#fff;line-height:1;text-align:left;white-space:nowrap;letter-spacing:normal;text-transform:none}
.brand-lockup .brand-symbol{display:block;width:31px;height:34px;flex:none;overflow:visible}
.brand-lockup .brand-type{display:flex;flex-direction:column;gap:5px}
.brand-lockup .brand-name{font:800 27px/1 var(--font-body);letter-spacing:-.045em;color:inherit}
.brand-lockup .brand-tagline{font:450 10px/1.15 var(--font-body);letter-spacing:.005em;color:#d7e4e8}

.unified-nav{position:sticky!important;top:0;z-index:100;background:#081c29!important;color:#fff;border-bottom:1px solid #27424e;backdrop-filter:none!important}
.unified-nav .nav-inner{width:min(1280px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;min-height:76px;padding:0}
.unified-nav .logo{display:flex;padding:0;margin:0;flex:none}
.unified-nav .navlinks{display:flex;align-items:center;gap:17px;margin:0;padding:0;background:none;border:0}
.unified-nav .navlinks a{font:600 13.5px/1.5 var(--font-body);white-space:nowrap;color:#d7e5e9;padding:8px 0;border:0;border-radius:5px}
.unified-nav .navlinks .nav-box{border:1px solid #628579;padding:0 11px;height:36px;display:inline-flex;align-items:center}
.unified-nav .navlinks .nav-demo{border-color:#d7e5e9;color:#fff}
.unified-nav .brand-lockup{height:32.22px;gap:7px}
.unified-nav .brand-lockup .brand-symbol{width:23px;height:25px}
.unified-nav .brand-lockup .brand-name{font-size:20.5px}
.unified-nav .brand-lockup .brand-tagline{font-size:7.8px}
.unified-nav .brand-lockup .brand-type{gap:2.5px}
.unified-nav .navlinks a:hover{color:var(--mint)}
.unified-nav .nav-toggle{display:none;background:none;color:#fff;border:1px solid #68878c;border-radius:6px;font-size:23px;width:44px;height:44px}
.unified-nav .navlinks a[aria-current="page"]{color:var(--mint)}

footer{background:#071722;color:#b4c8d2;font-size:12px;padding:24px 0}
footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:var(--mint)}

@media(max-width:1100px){.unified-nav .nav-toggle{display:block}
.unified-nav .navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#081c29;padding:20px 32px;border-bottom:1px solid #34525d;flex-wrap:wrap;gap:15px 22px}
.unified-nav .navlinks.is-open{display:flex}
}

@media(max-width:700px){.container,.unified-nav .nav-inner{width:calc(100% - 48px)}
.section{padding:48px 0}
.section-label{margin-bottom:22px;font-size:12px}
.section-heading{margin-bottom:26px}
.unified-nav .navlinks{padding:20px 24px}
.brand-lockup .brand-name{font-size:25px}
.brand-lockup .brand-symbol{width:29px;height:31px}
.button,.text-link{font-size:14px}
.docs-layout,.docs-mobile{padding-left:24px;padding-right:24px}
.source-notes{width:calc(100% - 48px)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

/* Shared directional link icon; no platform-dependent emoji rendering. */
.link-arrow{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle}
.resource-action{display:inline-flex;align-items:center;gap:10px}
