:root{--paper:#fcfbf8;--ink:#292426;--muted:#665d61;--wine:#531b2d;--line:#dcd4d3;--soft:#f1edeb;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:#e3c3cd;color:var(--wine)}
a{color:inherit;text-underline-offset:.25em}
a:hover{color:var(--wine)}
a:focus-visible{outline:3px solid #a4516d;outline-offset:6px;border-radius:2px}
p,h1,h2,h3,dl,dd,blockquote{margin:0}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:1rem;z-index:2;padding:.7rem 1rem;background:var(--white)}
.skip-link:focus{top:1rem}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:28px;border-bottom:1px solid var(--line)}
.brand-icon{flex:none;border-radius:7px;object-fit:contain}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:1.28rem;font-weight:650;letter-spacing:-.05em;text-decoration:none;line-height:1.3}
.wordmark-dot{color:var(--wine);margin-left:2px}
nav{display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:.875rem}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
.hero{padding-top:64px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:650;color:var(--wine)}
.hero>.eyebrow{display:flex;align-items:center;gap:13px}
.mini-rule{height:1px;width:28px;background:currentColor}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.5rem,8.3vw,7.25rem);line-height:1.01;letter-spacing:-.055em;margin-top:25px}
h1 em,h2 em{font-weight:400;color:var(--wine)}
.hero-bottom{display:flex;justify-content:space-between;gap:3rem;align-items:center;margin-top:34px;margin-bottom:49px}
.hero-intro{font-size:1.13rem;line-height:1.65;max-width:620px;color:var(--muted)}
.hero-action{flex-shrink:0;text-align:center}
.button{background:var(--wine);color:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:45px;min-height:56px;padding:14px 25px;text-decoration:none;font-weight:550;font-size:.94rem;border:1px solid var(--wine);transition:background .15s}
.button:hover{background:#73263f;color:var(--white)}
.button span{font-size:1.3rem;line-height:1}
.hero-action p{font-size:.75rem;margin-top:9px;color:var(--muted)}
.coverage{display:grid;grid-template-columns:1fr 1fr 1.8fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:27px}
.coverage>div{padding-left:32px;border-left:1px solid var(--line)}
.coverage>div:first-child{padding-left:0;border:0}
.coverage dt{font-family:var(--serif);font-size:2.5rem;line-height:1.15;letter-spacing:-.04em}
.coverage dt span{font-size:1.8rem}
.coverage dd{font-size:.875rem;color:var(--muted);margin-top:7px}
.coverage .boroughs{display:flex;flex-direction:column;justify-content:center}
.coverage .boroughs dt{font-family:var(--sans);font-size:1rem;font-weight:550;letter-spacing:-.015em;line-height:1.5}
.what-section{padding-block:92px}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:100px}
h2{font-family:var(--serif);font-weight:400;line-height:1.12;font-size:clamp(2.5rem,4vw,3.65rem);letter-spacing:-.045em}
.eyebrow+h2{margin-top:21px}
.what-detail{padding-top:1px}
.section-intro{font-size:1.1rem;color:var(--muted);line-height:1.7}
.filter-list{margin-top:25px}
.filter-list>div{border-top:1px solid var(--line);padding-block:16px;display:grid;grid-template-columns:155px 1fr;gap:15px}
.filter-list dt{font-size:1rem;font-weight:600}
.filter-list dd{color:var(--muted);font-size:1rem}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:36px}
.section-heading>p{color:var(--muted);font-size:.94rem;padding-bottom:4px}
.examples{padding-block:64px 76px;border-top:1px solid var(--line)}
.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.prompt-card{background:var(--soft);padding:26px 26px 23px;display:flex;flex-direction:column;border-top:2px solid var(--wine)}
.prompt-label{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--wine)}
.prompt-label span{font-weight:400;color:var(--muted)}
blockquote{font-family:var(--serif);font-size:1.55rem;line-height:1.4;letter-spacing:-.015em;margin-block:27px 34px}
.prompt-note{font-size:.875rem;color:var(--muted);margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.how-section{padding-block:15px 88px}
.steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.steps li{border-top:1px solid var(--line);padding-top:19px}
.step-number{font-family:var(--serif);font-size:1.6rem;font-style:italic;color:var(--wine)}
.steps h3{font-size:1.1rem;letter-spacing:-.02em;font-weight:600;margin-block:20px 9px}
.steps p{color:var(--muted);font-size:1rem}
.pricing-section{background:var(--wine);color:var(--paper);padding-block:72px}
.pricing-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.pricing-section .eyebrow,.pricing-section h2 em{color:#f1c8d3}
.pricing-copy>p{font-size:1.1rem;margin-bottom:17px}
.pricing-copy .promise-line{padding-top:22px;margin-top:26px;border-top:1px solid #8b5667;font-weight:600;font-size:1.4rem}
.pricing-copy .pricing-footnote{font-size:.875rem;color:#e1cbd2;line-height:1.7;margin-bottom:0}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:35px}
.site-footer p{font-size:.875rem;color:var(--muted);margin-top:7px}
.legal{max-width:780px;margin-inline:auto;padding-block:65px 85px}
.legal h1{font-size:clamp(3.2rem,6vw,5rem);margin-top:15px;margin-bottom:20px}
.legal .legal-intro{font-size:1.15rem;color:var(--muted);padding-bottom:30px;border-bottom:1px solid var(--line)}
.legal h2{font-family:var(--sans);font-size:1.2rem;letter-spacing:-.02em;font-weight:600;margin-block:32px 11px;line-height:1.4}
.legal p{margin-bottom:13px}
.legal+.site-footer{border-top:1px solid var(--line)}
@media(min-width:1500px){.hero{padding-top:80px}.hero-bottom{margin-bottom:60px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.split-section,.pricing-inner{gap:50px}.filter-list>div{grid-template-columns:1fr;gap:4px}.hero-intro{max-width:440px}.desktop-break{display:none}.coverage{grid-template-columns:1fr 1fr 1.65fr}.coverage>div{padding-left:22px}.prompt-card{padding:22px}.prompt-grid{gap:14px}blockquote{font-size:1.35rem}.section-heading{align-items:start}.legal{width:calc(100% - 64px)}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:22px;gap:20px;align-items:start;flex-wrap:wrap}.brand-icon{flex:none;border-radius:7px;object-fit:contain}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:1.13rem}.site-header nav{gap:8px;flex-direction:column;align-items:flex-end;font-size:.875rem}.hero{padding-top:41px}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em}h1{font-size:clamp(3.1rem,11vw,4.7rem);line-height:1.06}.hero-bottom{display:block;margin-top:25px;margin-bottom:32px}.hero-intro{font-size:1.06rem}.hero-action{text-align:left;margin-top:24px}.button{min-height:54px;gap:36px}.hero-action p{font-size:.75rem}.coverage{grid-template-columns:1fr 1fr;padding-block:21px;row-gap:21px}.coverage dt{font-size:2.1rem}.coverage .boroughs{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.coverage .boroughs dt{font-size:.94rem}.coverage dd{font-size:.875rem}.split-section,.pricing-inner{grid-template-columns:1fr;gap:30px}.what-section{padding-block:56px}.eyebrow+h2{margin-top:16px}h2{font-size:2.7rem}.filter-list>div{grid-template-columns:1fr;gap:5px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:16px}.examples{padding-block:47px}.prompt-grid,.steps{grid-template-columns:1fr}.prompt-grid{gap:18px}.prompt-card{padding:23px}blockquote{font-size:1.5rem;margin-block:22px}.prompt-note{padding-top:15px}.how-section{padding-block:15px 56px}.steps{gap:25px}.steps h3{margin-top:10px}.pricing-section{padding-block:49px}.pricing-copy>p{font-size:1.06rem}.site-footer{align-items:start;flex-direction:column;padding-block:30px;gap:22px}.site-footer nav{gap:25px}.legal{width:calc(100% - 40px);padding-block:40px 55px}.legal h1{font-size:3.2rem}.legal .legal-intro{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* API documentation shares the landing page typography and palette. */
.api-docs{max-width:960px;width:calc(100% - 64px)}
.api-docs code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875em;overflow-wrap:anywhere}
.api-docs pre{background:#f1edeb;border:1px solid #dcd4d3;padding:20px;overflow:auto;max-width:100%;line-height:1.65;border-radius:4px;margin:20px 0}
.api-docs pre code{font-size:.875rem;overflow-wrap:normal}
.api-docs details{margin:20px 0}.api-docs summary{cursor:pointer;color:#531b2d;padding:10px 0;font-weight:600}
.table-scroll{overflow:auto;max-width:100%;margin:30px 0}.api-docs table{border-collapse:collapse;width:100%;min-width:560px;font-size:1rem}.api-docs caption{text-align:left;font-weight:600;padding-bottom:12px}.api-docs td,.api-docs th{padding:13px 15px;vertical-align:top;text-align:left;border-bottom:1px solid #dcd4d3}.api-docs thead{background:#f1edeb}
@media(max-width:700px){.api-docs{width:calc(100% - 40px)}.api-docs h1{font-size:2.8rem}.api-docs pre{padding:14px}}
