:root{--ink:#163345;--deep:#12384a;--lake:#26718b;--mist:#eef5f3;--paper:#f9faf7;--line:#c9d9d8;--sand:#e8ddc8;--coral:#b45d46;--white:#fff;--sans:"Avenir Next",Avenir,"Segoe UI",sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit}img{max-width:100%}.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.nav-shell{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;line-height:1.12;font-size:14px;letter-spacing:-.02em}.brand img{border-radius:10px}.site-header nav{display:flex;align-items:center;gap:31px;margin-left:auto}.site-header nav a,.nav-cta{text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover,.text-link:hover,.source-links a:hover{text-decoration:underline}.nav-cta{border:1px solid var(--deep);padding:10px 16px;border-radius:4px}.nav-cta:hover{background:var(--mist)}.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:60px;align-items:center;padding-block:90px 108px}.hero-copy{max-width:580px}.hero-marker{color:var(--lake);font-weight:700;letter-spacing:.015em;margin:0 0 26px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(50px,5.2vw,80px);line-height:1.03;letter-spacing:-.05em;margin:0 0 27px}.hero-lead{font-size:19px;line-height:1.63;color:#3e5865;margin:0;max-width:560px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px;transition:transform .15s ease,background-color .15s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--deep);color:var(--white)}.button-primary:hover{background:#21546b}.button-secondary{border:1px solid #acc7c7;color:var(--deep)}.button-secondary:hover{background:var(--mist)}.hero-note{font-size:12px;color:#697d84;margin-top:25px;max-width:430px}.map-figure{height:535px;background:#d9e9e7;position:relative;overflow:hidden;border:1px solid #adc7c5;border-radius:3px;box-shadow:11px 11px 0 var(--sand)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(#b4d0cf 1px,transparent 1px),linear-gradient(90deg,#b4d0cf 1px,transparent 1px);background-size:60px 60px;opacity:.36}.contours{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#4f93a1;stroke-width:2;opacity:.78}.map-marker{position:absolute;left:53%;top:38%;width:88px;height:88px;transform:translate(-50%,-50%);display:grid;place-items:center}.marker-ring{width:80px;height:80px;border:1px solid var(--deep);border-radius:50%;position:absolute;background:#eef7f469}.marker-dot{width:15px;height:15px;border-radius:50%;background:var(--deep);z-index:1;box-shadow:0 0 0 8px #ffffffc9}.sample-card{position:absolute;left:32px;right:32px;bottom:51px;background:#fff;padding:20px 24px 18px;box-shadow:0 14px 35px #12384a2b;border:1px solid #bfd2d1}.sample-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#58707a;font-weight:700}.sample-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}.sample-zone{font:500 43px/1 var(--serif);letter-spacing:-.04em}.sample-status{font-size:11px;color:#51737e}.sample-rule{height:1px;background:#dce7e5;margin:17px 0 13px}.sample-card dl{margin:0;display:grid;gap:8px}.sample-card dl div{display:flex;justify-content:space-between;gap:15px}.sample-card dt,.sample-card dd{font-size:12px;margin:0}.sample-card dt{color:#627980}.sample-card dd{font-weight:700}.map-caption{position:absolute;bottom:14px;left:32px;right:32px;font-size:10px;color:#406974}.section{padding-block:95px}.pale-section{background:var(--mist);border-block:1px solid #d6e5e2}.section-heading{max-width:640px;margin-bottom:52px}h2{font:500 clamp(37px,3.65vw,55px)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 20px}h3{font-size:17px;letter-spacing:-.02em;line-height:1.25;margin:0 0 11px}.section-heading p,.example-intro p,.source-layout p,.faq-layout>div>p{color:#4b6670;max-width:610px;font-size:17px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.feature-grid article{border-top:2px solid #91b9ba;padding-top:17px}.feature-symbol{font:32px/1 var(--serif);color:var(--lake);display:block;min-height:50px}.feature-grid p{font-size:14px;color:#4d6570;margin:0}.example-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center}.example-intro{max-width:370px}.example-intro p{margin-bottom:22px}.text-link{font-size:14px;font-weight:700;color:var(--lake)}.code-window{background:#133747;color:#dceeed;border-radius:4px;overflow:auto;box-shadow:11px 11px 0 #d8e4df}.code-header{display:flex;gap:18px;align-items:center;padding:17px 22px;border-bottom:1px solid #4f7180;font-size:13px;white-space:nowrap}.code-header span{color:#bfe1c8;font-weight:800}.code-window pre{margin:0;padding:23px 26px 29px;line-height:1.58;font-size:12.5px;overflow:auto}.code-window code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.source-section{background:#e1eceb;border-block:1px solid #c5d9d8}.source-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:100px;align-items:center}.source-layout h2{max-width:540px}.source-links{display:grid;gap:0}.source-links a{padding:15px 0;border-bottom:1px solid #aec9c9;text-decoration:none;font-weight:700;font-size:14px}.source-links a:first-child{border-top:1px solid #aec9c9}.pricing-section .section-heading{max-width:730px}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #b8cbca}.pricing-grid article{padding:27px 23px 29px;border-right:1px solid #b8cbca;background:#fff}.pricing-grid article:last-child{border-right:0}.pricing-grid .highlight-plan{background:#e4f0ef;box-shadow:inset 0 4px var(--lake)}.pricing-grid h3{font-size:15px;margin-bottom:26px}.pricing-grid .price{font:500 36px/1 var(--serif);letter-spacing:-.035em;margin:0 0 17px}.pricing-grid .price span{font:400 14px var(--sans);letter-spacing:0;color:#5b6f78}.pricing-grid article>p:last-child{font-size:13px;color:#4f6871;margin:0}.pricing-footer{display:flex;align-items:center;gap:22px;margin-top:29px}.pricing-footer p{color:#647981;font-size:12px;max-width:320px}.faq-section{background:#f0f5f1;border-top:1px solid #d8e5df}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.faq-list details{border-bottom:1px solid #b9cfca;padding:21px 0}.faq-list details:first-child{border-top:1px solid #b9cfca}.faq-list summary{font-weight:700;cursor:pointer;list-style:none;padding-right:20px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:0;font-weight:400;font-size:20px;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list p{font-size:14px;color:#4b6570;max-width:630px;margin:14px 0 3px}.site-footer{background:#153847;color:#dce8e6;padding:50px 0}.footer-layout{display:grid;grid-template-columns:1fr 1.5fr .6fr;gap:60px}.footer-brand{font-weight:700;font-size:15px}.footer-layout p{margin:7px 0 0;color:#b9cdce;font-size:12px}.footer-layout>div:last-child{display:grid;align-content:start;gap:10px;font-size:13px}.footer-layout a{text-decoration:none}.footer-layout a:hover{text-decoration:underline}:focus-visible{outline:3px solid #c9774f;outline-offset:4px}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-block:68px 88px;gap:46px}.hero-copy{max-width:700px}.map-figure{height:490px}.feature-grid{grid-template-columns:repeat(2,1fr);gap:38px}.example-section,.source-layout,.faq-layout{grid-template-columns:1fr;gap:35px}.example-intro{max-width:700px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid article:nth-child(2){border-right:0}.pricing-grid article:nth-child(-n+2){border-bottom:1px solid #b8cbca}.footer-layout{grid-template-columns:1fr 1fr;gap:30px}.footer-layout>div:last-child{grid-column:1/-1}}
@media(max-width:600px){.shell{width:min(100% - 32px,1180px)}.nav-shell{min-height:72px;gap:10px}.brand{font-size:12px}.brand img{width:32px;height:32px}.nav-cta{font-size:11px;padding:8px 9px}.hero{padding-top:54px}.hero h1{font-size:47px}.hero-lead{font-size:16px}.map-figure{height:420px;box-shadow:6px 6px 0 var(--sand)}.sample-card{left:15px;right:15px;padding:15px;bottom:46px}.sample-top{font-size:9px}.sample-zone{font-size:34px}.map-caption{left:15px;right:15px;font-size:9px}.section{padding-block:68px}.feature-grid{grid-template-columns:1fr;gap:30px}.feature-grid article{display:grid;grid-template-columns:45px 1fr;column-gap:10px}.feature-symbol{grid-row:1/3}.feature-grid h3{margin-top:4px}.feature-grid p{grid-column:2}.code-header{font-size:10px;padding:13px}.code-window pre{font-size:10px;padding:17px}.pricing-grid{grid-template-columns:1fr}.pricing-grid article{border-right:0;border-bottom:1px solid #b8cbca}.pricing-grid article:last-child{border-bottom:0}.pricing-footer{align-items:flex-start;flex-direction:column;gap:5px}.footer-layout{grid-template-columns:1fr}.footer-layout>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
