:root{--ink:var(--brand-ink);--muted:var(--brand-muted);--paper:var(--brand-paper);--line:var(--brand-line);--coral:var(--brand-coral);--green:var(--brand-green);--yellow:var(--brand-gold);color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5}
a{color:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:6px}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h2,h3{line-height:1.12}
h2{font-size:clamp(2rem,3.8vw,3.5rem);font-weight:500;letter-spacing:-.045em}
h3{font-size:1.3rem;letter-spacing:-.025em}
p{color:var(--muted)}
.landing-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:55px;align-items:center;padding:48px 0 38px}
.hero-copy .eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow i{height:7px;width:7px;background:var(--green);border-radius:50%}
.hero-copy h1{font-size:clamp(3.4rem,5.7vw,5.25rem);font-weight:500;letter-spacing:-.063em;line-height:1.02;margin:26px 0}
.hero-copy h1 em{color:var(--coral);font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}
.hero-copy>p{max-width:445px;font-size:17px;line-height:1.7}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}
.secondary-link{font-size:13px;text-decoration:none;white-space:nowrap}
.secondary-link span{margin-left:5px}
.hero-copy .hero-note{font-size:11px;margin-top:18px;max-width:100%}
.hero-showcase{position:relative;padding:20px 4px 36px 16px}
.tiny-label{display:flex;justify-content:space-between;align-items:center;margin:0 12px 12px 0;font-family:monospace;font-size:10px;letter-spacing:.08em}
.tiny-label>span:last-child{font-size:28px}
.hero-map{display:block;position:relative;background:#f4f1dc;border:1px solid #dddec9;box-shadow:0 16px 45px #24351c10;border-radius:8px;text-decoration:none;transform:rotate(-2deg);overflow:hidden;transition:transform .2s}
.hero-map:hover{transform:rotate(0)}
.map-caption{padding:25px 28px 0}
.map-kicker{font-family:monospace;text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:#62654c}
.map-caption h2{font-family:Georgia,serif;font-size:29px;line-height:1.05;margin-top:8px;letter-spacing:-.035em}
.hero-map img{width:100%;height:auto;margin-top:0}
.map-bottom{display:flex;justify-content:space-between;align-items:center;padding:0 24px 16px;margin-top:-26px;position:relative;font-size:10px}
.circle-arrow{border:1px solid #b8bca8;border-radius:50%;display:grid;place-items:center;width:30px;height:30px;font-size:18px}
.floating-note{display:flex;gap:13px;align-items:center;position:absolute;bottom:8px;left:-16px;padding:15px 20px;transform:rotate(3deg);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px #252a2710;background:#fffef8}
.floating-note strong{font-size:12px;display:block}
.floating-note div span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.file-icon{color:var(--green);font-size:30px;line-height:1}
.floating-note>span:last-child{margin-left:20px;font-size:20px}
.confetti{position:absolute;display:block}
.confetti-one{width:21px;height:21px;right:-16px;top:10px;transform:rotate(20deg);background:#ed6547;border-radius:3px}
.confetti-two{width:16px;height:30px;right:10px;bottom:-5px;transform:rotate(35deg);background:var(--yellow);border-radius:3px}
.landing-section{padding:88px 0;border-bottom:1px solid var(--line)}
.examples-section{padding-top:56px}
.section-heading{max-width:730px;margin-bottom:35px}
.section-heading h2{margin-top:14px}
.section-heading>p{margin-top:16px;font-size:15px;max-width:620px}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;max-width:none;gap:40px}
.section-heading-row>div{max-width:650px}
.section-heading-row>div>p{margin-top:12px;font-size:14px;max-width:620px}
.section-heading-row>a{font-size:13px;white-space:nowrap;text-underline-offset:5px}
.latest-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.latest-visual{display:block;position:relative;background:#efeee3;border-radius:6px;overflow:hidden}
.latest-visual img{width:100%;aspect-ratio:1.3;object-fit:cover;transition:transform .3s}
.latest-visual:hover img{transform:scale(1.04)}
.latest-visual>span{position:absolute;right:10px;bottom:10px;background:var(--paper);width:28px;height:28px;text-align:center;line-height:28px;border-radius:50%}
.latest-grid article>div{padding-top:16px}
.latest-grid small{color:var(--muted);font-size:10px}
.latest-grid h3{font-size:18px;margin:8px 0 9px;font-weight:500;line-height:1.2}
.latest-grid h3 a{text-decoration:none}
.latest-grid p{font-size:12px;line-height:1.7}
.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.start-grid-four{grid-template-columns:repeat(4,1fr);gap:28px}
.start-card{display:block;text-decoration:none;border-top:2px solid var(--line);padding:24px 0 0}
.start-card:hover{border-color:var(--green)}
.start-card>span{color:var(--green);font-size:26px}
.start-card strong{display:block;margin:18px 0 10px;font-size:20px;font-weight:500}
.start-card p{font-size:14px;line-height:1.7;max-width:330px}
.start-card em{display:block;margin-top:20px;font-style:normal;font-size:12px;color:var(--green)}
.creative-start{padding:24px 18px 18px;border:1px solid color-mix(in srgb,var(--green),var(--line) 55%);border-top:2px solid var(--green);border-radius:8px;background:linear-gradient(145deg,#edf2e4,#f5ead0)}
.privacy-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:50px -36px 0;padding:56px 36px;background:#e9eee2;border-radius:8px}
.privacy-section h2{font-size:clamp(2rem,3.3vw,3rem);margin-top:17px}
.privacy-section p{font-size:16px;color:#3f5145;line-height:1.8}
.privacy-section .fine-print{font-size:12px;margin-top:14px}
.privacy-section a{display:inline-block;font-size:13px;margin-top:20px;text-underline-offset:5px}
.privacy-links{display:flex;flex-wrap:wrap;gap:6px 24px}
.type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px}
.type-grid article{min-width:0}
.type-art{display:block;height:85px;position:relative;margin-bottom:20px;background:radial-gradient(circle at 25% 50%,#428876 12px,transparent 13px),radial-gradient(circle at 55% 40%,#b9cc90 20px,transparent 21px),radial-gradient(circle at 80% 65%,#ed6547 9px,transparent 10px)}
.type-art-choropleth{background:linear-gradient(90deg,#d4dfb7 25%,#91b485 25% 50%,#428876 50% 75%,#215746 75%);height:55px;margin-top:30px;border-radius:3px;clip-path:polygon(0 15%,24% 0,51% 20%,78% 5%,100% 20%,97% 87%,75% 95%,51% 80%,25% 100%,3% 80%)}
.type-art-hex{background:radial-gradient(circle at 10% 50%,#428876 0 9%,transparent 9.5%),radial-gradient(circle at 28% 30%,#ed6547 0 9%,transparent 9.5%),radial-gradient(circle at 28% 70%,#91b485 0 9%,transparent 9.5%),radial-gradient(circle at 46% 50%,#428876 0 9%,transparent 9.5%),radial-gradient(circle at 64% 30%,#ed6547 0 9%,transparent 9.5%),radial-gradient(circle at 64% 70%,#91b485 0 9%,transparent 9.5%),radial-gradient(circle at 82% 50%,#428876 0 9%,transparent 9.5%)}
.type-art-cartogram{background:linear-gradient(#428876,#428876) 5% 65%/35px 35px no-repeat,linear-gradient(#8aaf7c,#8aaf7c) 45% 25%/55px 55px no-repeat,linear-gradient(#ed6547,#ed6547) 88% 75%/25px 25px no-repeat}
.type-art-globe{width:80px;border-radius:50%;background:radial-gradient(circle,#428876 2px,transparent 2px) 0 0/8px 8px;background-color:#e9eee2}
.type-grid h3{font-size:19px;min-height:42px;font-weight:500}
.type-grid p,.type-grid li{font-size:12px;line-height:1.75;color:var(--muted)}
.series-callout{display:flex;gap:45px;padding-top:35px;margin-top:35px;border-top:1px solid var(--line)}
.series-callout>.eyebrow{white-space:nowrap}
.series-callout h3{font-size:21px;font-weight:500}
.series-callout p{font-size:13px;margin-top:12px;max-width:800px}
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 36px}
.data-grid article{border-top:1px solid var(--line);padding-top:20px}
.data-icon{display:inline-grid;place-items:center;width:34px;height:34px;font-size:12px;font-weight:bold;color:var(--green);background:#e9eee2;border-radius:50%;margin-bottom:16px}
.data-grid h3{font-size:18px;font-weight:500;margin-bottom:10px}
.data-grid p{font-size:13px;line-height:1.75}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:75px}
.faq-section h2{margin-top:15px}
.faq-section details{border-bottom:1px solid var(--line);padding:21px 0}
.faq-section details:first-child{padding-top:0}
.faq-section summary{cursor:pointer;font-size:16px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq-section summary::-webkit-details-marker{display:none}
.faq-section summary:after{content:'+';font-size:20px}
.faq-section details[open] summary:after{content:'−'}
.faq-section details p{margin-top:15px;font-size:14px;line-height:1.8}
.landing-cta{text-align:center;padding:80px 0 90px}
.landing-cta img{margin:0 auto 24px}
.landing-cta h2{margin:20px 0 30px;font-size:clamp(2.3rem,4.7vw,4rem)}
.landing-cta p{font-size:11px;margin-top:16px}

@media(min-width:1500px){.landing-hero{padding-top:64px;padding-bottom:52px}
}

@media(max-width:1100px){
.landing-hero{gap:30px;padding:42px 0 34px}
.hero-actions{flex-wrap:wrap;gap:18px}
.latest-grid{grid-template-columns:repeat(2,1fr);gap:35px 24px}
.type-grid{grid-template-columns:repeat(2,1fr);gap:35px}
.privacy-section{margin-left:0;margin-right:0;gap:35px;padding:36px}
.start-grid-four{grid-template-columns:repeat(2,1fr)}
.hero-copy h1{font-size:clamp(3rem,6vw,4.5rem)}
}

@media(max-width:760px){
.landing-hero{grid-template-columns:1fr;padding:48px 0 55px;gap:30px}
.hero-copy h1{font-size:clamp(3.4rem,10vw,5rem);margin:22px 0}
.hero-copy>p{font-size:16px;max-width:530px}
.hero-showcase{max-width:540px;width:100%;margin:auto;padding-left:12px}
.floating-note{left:0}
.confetti-one{right:0}
.landing-section{padding:55px 0}
.section-heading-row{align-items:start;flex-direction:column;gap:18px}
.start-grid,.privacy-section,.faq-section{grid-template-columns:1fr;gap:30px}
.start-grid-four{grid-template-columns:1fr}
.start-card p{max-width:100%}
.privacy-section{padding:30px 24px}
.data-grid{grid-template-columns:repeat(2,1fr);gap:26px}
.series-callout{flex-direction:column;gap:16px}
.landing-cta{padding:60px 0}
}

@media(max-width:420px){.latest-grid,.type-grid,.data-grid{grid-template-columns:1fr}
.hero-copy h1{font-size:3.35rem}
.hero-copy .hero-note{font-size:10px}
.map-caption h2{font-size:25px}
.map-caption{padding:20px 20px 0}
.map-bottom{font-size:9px}
.hero-actions{gap:18px}
.hero-actions .primary-link{padding:14px 18px;gap:15px}
.type-grid h3{min-height:0;margin-bottom:12px}
}

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

/* Keep the product headline readable in the split hero. */
.hero-copy h1{font-size:clamp(2.6rem,4.4vw,4rem)}
@media(max-width:760px){.hero-copy h1{font-size:clamp(2.2rem,8.5vw,4rem)}}

.hero-copy h1,.section-heading h2,.privacy-section h2,.faq-section h2,.landing-cta h2 { font-family:var(--font-serif); font-weight:500; letter-spacing:-.035em; }
.hero-copy h1 { font-size:clamp(2.8rem,4.9vw,4.5rem); line-height:1.04; }
.hero-copy h1 em { font-family:var(--font-serif); letter-spacing:-.035em; }
@media(max-width:760px) { .hero-copy h1 { font-size:clamp(2.25rem,9vw,4rem); } }

.feature-grid h3 { margin-bottom:12px; font-weight:600; }
.feature-grid p { font-size:14px; line-height:1.75; }
.section-note { margin-top:30px; font-size:14px; }
.section-note a { text-underline-offset:4px; }
