@charset "UTF-8";
:root{color-scheme:light;--paper:#f4f2ec;--ink:#213c36;--muted:#67726b;--violet:#7455a0;--line:#dcded4;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--violet);outline-offset:6px}h1,h2,h3,p{margin:0}h2{font:400 clamp(2.4rem,4vw,3.6rem)/1.1 var(--serif);letter-spacing:-.04em}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;font-size:25px;font-weight:700;letter-spacing:-1.2px}.brand-atlas{font-weight:350;margin-left:5px}.brand-symbol{font-size:32px;color:var(--violet);margin-right:12px;line-height:1}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:550}.nav-pill{border:1px solid #ccd3c7;border-radius:30px;padding:10px 17px}.nav-pill span{margin-left:12px}.hero{min-height:650px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:20px;padding-block:60px 75px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--violet)}h1{font:400 clamp(2.8rem,5.2vw,4.6rem)/1.04 var(--serif);letter-spacing:-.06em}h1 em{color:var(--violet);font-weight:400}.intro{font-size:16px;max-width:360px;margin-top:28px;color:#5a6860;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:white;padding:13px 21px;border-radius:5px;font-size:13px;font-weight:600;margin-top:28px}.button:hover{background:#33574a}.hero-note{font-size:11px;color:var(--muted);margin-top:13px}.atlas-art{position:relative;isolation:isolate;aspect-ratio:1;min-width:0}.globe{position:absolute;inset:9%;border-radius:50%;background:#b3d1cf;box-shadow:inset -34px -18px 45px #163a3d70,inset 14px 15px 30px #ffffff60,14px 29px 45px #334e3c25;transform:rotate(-12deg)}.globe:after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 25%,#f4f2ec12 15%,#f4f2ec00 70%);border:1px solid #dae1cc70}.orbit{position:absolute;inset:1%;border:1px solid #b8c6b275;border-radius:50%;z-index:-1}.orbit-two{inset:5% -3%;transform:rotate(-30deg) scaleY(.67)}.north{position:absolute;right:10%;top:1%;font-size:10px;text-align:center;color:var(--muted)}.north span{font-size:27px;line-height:1.5}.landmark{position:absolute;left:50.590108%;top:34.090122%;z-index:1;filter:drop-shadow(0 8px 9px #193f4540);transform:translate(-50%,-100%) rotate(12deg);transform-origin:50% 100%}.landmark img{display:block}.discovery-label{position:absolute;left:0;bottom:13%;display:flex;align-items:center;gap:15px;background:#fcfbf8;box-shadow:0 10px 40px #213c3615;border:1px solid #d7dfd0;border-radius:8px;padding:15px 24px 15px 15px;transform:rotate(-4deg)}.discovery-label>span{width:38px;height:38px;display:grid;place-items:center;background:#eae3f2;color:var(--violet);border-radius:50%;font-size:25px}.discovery-label small{display:block;font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-bottom:3px}.discovery-label strong{font-family:var(--serif);font-size:19px;font-weight:400}.figure-note{position:absolute;bottom:-1%;right:8%;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.discover{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);padding-block:65px 85px}.section-heading .eyebrow{margin-bottom:20px}.discovery-copy{color:#5a6860;max-width:470px;padding-top:35px}.discovery-copy p+p{margin-top:15px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;font-weight:650;border:0;border-bottom:1px solid #a9b5a4;background:transparent;padding:0 0 5px;color:var(--ink);cursor:pointer}.discovery-copy .text-link{margin-top:25px}.offline{background:#e5e9df;border-block:1px solid #d7dfcf}.offline-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:65px}.offline .eyebrow{margin-bottom:20px}.offline-inner>div+div{padding-top:40px;color:#506255;max-width:460px}.offline-tag{display:flex;align-items:center;gap:13px;margin-top:24px;font-size:12px;font-weight:600}.offline-tag span{font-size:24px}.development{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:90px}.development h2{margin-block:15px 20px}.development>div>p:last-child{max-width:360px;color:var(--muted)}.api-card{border:1px solid var(--line);border-radius:10px;padding:28px;background:#f9f8f4}.api-version{font-family:monospace;color:var(--violet);font-size:11px;letter-spacing:2px}.api-card h3{font:400 25px/1.3 var(--serif);margin-block:10px}.api-card>p{font-size:13px;color:var(--muted)}.api-card .text-link{margin-top:24px}.api-status{margin-top:12px!important;font-size:11px!important;min-height:2em}.api-status[data-state=ok]{color:#326344}.api-status[data-state=error]{color:#8e4a38}button:disabled{cursor:wait;opacity:.6}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:28px}footer .brand{font-size:20px}footer p,footer small{font-size:10px;color:var(--muted)}.skip{position:fixed;top:10px;left:10px;z-index:10;transform:translateY(-200%);padding:8px;background:white}.skip:focus{transform:none}
@media(min-width:1400px){.hero{min-height:720px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.site-header{height:85px}.brand{font-size:22px}.brand-symbol{font-size:26px;margin-right:7px}nav{gap:16px}nav>a:not(.nav-pill){display:none}.nav-pill{font-size:11px;padding:8px 12px}.hero{gap:10px;min-height:0;padding-block:55px}.hero h1{font-size:clamp(2.6rem,5.2vw,3.8rem)}.hero .intro{font-size:14px}.discovery-label{padding:10px;left:-8%;bottom:4%;gap:8px}.discovery-label strong{font-size:15px}.discovery-label small{font-size:6px}.discovery-label>span{width:28px;height:28px}.landmark img{width:65px;height:65px}.figure-note{display:none}.discover,.offline-inner,.development{gap:35px}.discover{padding-block:50px}.offline-inner{padding-block:50px}.development{padding-block:60px}.api-card{padding:20px}footer p{display:none}}
@media(max-width:540px){.hero{grid-template-columns:1fr;padding-block:42px 55px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(2.5rem,10vw,3.4rem)}.intro{max-width:310px}.atlas-art{width:88%;margin:-8px auto 0}.discovery-label{left:-3%;bottom:9%;padding:13px}.landmark img{width:78px;height:78px}.hero-note{margin-top:12px}.discover,.offline-inner,.development{grid-template-columns:1fr;gap:24px}.discovery-copy,.offline-inner>div+div{padding-top:0}.discover h2 br{display:none}.api-card{margin-top:10px}.eyebrow{font-size:9px;letter-spacing:1.8px}footer{gap:10px}footer small{max-width:110px;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Carto uses the atlas' real low-zoom landcover and shared relief texture. */
.globe::before,.globe__landcover,.globe__relief{position:absolute;inset:0;border-radius:50%;background-position:53% 50%;background-size:auto 102%;background-repeat:no-repeat}
.globe::before{content:'';background:#eee9dc;mask:url('carto-landcover.png') 53% 50%/auto 102% no-repeat;-webkit-mask:url('carto-landcover.png') 53% 50%/auto 102% no-repeat}
.globe__landcover{background-image:url('carto-landcover.png');filter:saturate(.58);opacity:.66}
.globe__relief{background-image:url('landscape.webp');filter:saturate(.75);opacity:.52}

/* Eiffel Tower: 2.2945 E, 48.8584 N. Web Mercator normalized coordinates,
   scaled by 1.02 and offset by (1 - 1.02) * the 53%/50% background position.
   The pin lives inside the globe, so its tip follows the same -12deg rotation.
   Counter-rotation keeps the pin upright around its bottom-centre tip. */
