@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600&display=swap";
:root{--color-paper:#f9fbfd;--color-paper-2:#f1f4f8;--color-paper-3:#e6eaef;--color-surface:#fcfdfe;--color-ink:#0e1218;--color-ink-2:#292e36;--color-muted:#595e66;--color-rule:#d3d8dd;--color-rule-strong:#aeb5bc;--color-accent:#006dde;--color-accent-hover:#005cc2;--color-accent-soft:#deedff;--color-accent-ink:#fbfcfd;--color-focus:#0d1623;--color-error:#ba2b28;--color-error-soft:#ffe9e6;--color-success:#00612c;--color-success-soft:#e3f4e6;--font-display:"Geist", "Avenir Next", ui-sans-serif, system-ui, sans-serif;--font-body:"Manrope", "Avenir Next", ui-sans-serif, system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:3rem;--text-display:clamp(3rem, 7vw, 6.25rem);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1.25rem;--rule-thin:1px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.24s;--dur-slow:.42s;--page-gutter:clamp(1rem, 4vw, 4.5rem);--content-max:92rem;--tool-max:70rem}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(98.489% -.443995 -1.43217);--color-paper-2:lab(96.1674% -.662178 -2.14617);--color-paper-3:lab(92.5695% -.877708 -2.8585);--color-surface:lab(99.3026% -.22307 -.716805);--color-ink:lab(5.22695% -.445671 -4.37743);--color-ink-2:lab(18.7446% -.805378 -5.83639);--color-muted:lab(39.6373% -.80961 -5.15402);--color-rule:lab(86.0725% -.98303 -3.21337);--color-rule-strong:lab(73.3016% -1.24818 -4.68227);--color-accent:lab(45.8876% 10.6871 -70.4268);--color-accent-hover:lab(38.7024% 14.3367 -70.3404);--color-accent-soft:lab(92.9551% -2.17372 -11.6671);--color-accent-ink:lab(98.8386% -.22307 -.716805);--color-focus:lab(7.09577% -.827707 -10.5089);--color-error:lab(42.5342% 56.5687 38.8104);--color-error-soft:lab(93.9781% 7.53331 4.42812);--color-success:lab(35.3771% -37.0337 23.5725);--color-success-soft:lab(94.5494% -7.76431 4.74701)}}
*{box-sizing:border-box}html,body{background:var(--color-paper);min-height:100%;color:var(--color-ink);margin:0;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.55}button,input,textarea,select{font:inherit}button,a,label[for]{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:var(--color-accent-soft);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.skip-link{z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-sm);position:fixed;inset-block-start:var(--space-md);inset-inline-start:var(--space-md);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{width:min(100%, var(--content-max));padding:1.25rem var(--page-gutter);justify-content:space-between;align-items:center;min-height:5rem;margin-inline:auto;display:flex}.wordmark{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.045em;white-space:nowrap;font-weight:700}.header-nav{align-items:center;gap:var(--space-xs);display:flex}.header-link,.text-link,.back-link{align-items:center;gap:var(--space-xs);min-height:44px;padding-inline:var(--space-sm);border-radius:var(--radius-sm);color:var(--color-ink-2);white-space:nowrap;display:inline-flex}.header-link{font-size:var(--text-sm)}.header-link:hover,.text-link:hover,.back-link:hover{color:var(--color-accent);background:var(--color-accent-soft)}a:active,label[for]:active{transform:scale(.985)}.site-footer{width:min(100%, var(--content-max));margin:var(--space-5xl) auto 0;padding:var(--space-xl) var(--page-gutter) max(var(--space-xl), env(safe-area-inset-bottom));border-top:var(--rule-thin) solid var(--color-rule);gap:var(--space-sm) var(--space-xl);color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;display:flex}.footer-links{gap:var(--space-xs);flex-wrap:wrap;display:flex}.footer-links a{padding:var(--space-xs);white-space:nowrap}.footer-links a:hover{color:var(--color-ink)}.page-shell{width:min(100%, var(--content-max));padding-inline:var(--page-gutter);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.directory-page{padding-bottom:var(--space-4xl)}.directory-intro{gap:var(--space-2xl);padding-block:clamp(3rem, 8vw, 7rem) var(--space-3xl);border-bottom:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:end;display:grid}.directory-intro h1{max-width:11ch;font:600 var(--text-display)/.98 var(--font-display);letter-spacing:-.065em;margin:0}.directory-intro p{max-width:52ch;margin:var(--space-lg) 0 0;color:var(--color-muted);font-size:var(--text-md)}.directory-search{align-items:center;gap:var(--space-sm);min-height:3.25rem;padding-inline:var(--space-md);color:var(--color-muted);border-bottom:1px solid var(--color-rule-strong);display:flex}.directory-search:focus-within{color:var(--color-accent);border-color:var(--color-accent)}.directory-search input{width:100%;color:var(--color-ink);font-size:var(--text-sm);background:0 0;border:0;outline:0}.directory-search input::placeholder{color:var(--color-muted)}.featured-company{gap:var(--space-xl);margin-block:var(--space-2xl) var(--space-4xl);color:var(--color-accent-ink);background:var(--color-accent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:clamp(1.25rem,3vw,2.5rem);display:grid;box-shadow:0 1.5rem 3.5rem #006dde2e;box-shadow:0 1.5rem 3.5rem lab(45.8876% 10.6871 -70.4268/.18)}.featured-mark{border:1px solid #fbfcfd59;border:1px solid lab(98.8386% -.22307 -.716805/.35);place-items:center;width:4rem;height:4rem;display:grid}.featured-label{margin-bottom:var(--space-xs);font:500 var(--text-xs)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.75;display:block}.featured-copy h2{font:600 var(--text-2xl)/1 var(--font-display);letter-spacing:-.05em;margin:0}.featured-copy p{max-width:55ch;margin:var(--space-sm) 0;font-size:var(--text-sm);opacity:.88}.featured-copy span{font-size:var(--text-sm);opacity:.85;align-items:center;gap:.35rem;display:inline-flex}.featured-actions{justify-items:end;gap:var(--space-md);display:grid}.featured-visit{align-items:center;gap:var(--space-sm);background:var(--color-paper);color:var(--color-accent);font-weight:700;font-size:var(--text-sm);padding:.85rem 1rem;display:inline-flex}.featured-visit:hover{background:var(--color-paper-3)}.featured-actions>div{gap:var(--space-md);display:flex}.featured-actions>div a{font-size:var(--text-sm);border-bottom:1px solid #fbfcfd73;border-bottom:1px solid lab(98.8386% -.22307 -.716805/.45);align-items:center;gap:.35rem;display:inline-flex}.featured-actions>div a:hover{border-color:var(--color-paper)}.directory-list-heading{padding-bottom:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule-strong);justify-content:space-between;align-items:baseline;display:flex}.directory-list-heading h2{font:600 var(--text-xl)/1 var(--font-display);letter-spacing:-.04em;margin:0}.directory-list-heading span{color:var(--color-muted);font:500 var(--text-xs)/1 var(--font-mono)}.company-row{gap:var(--space-xl);padding:1.35rem var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);transition:background var(--dur-fast) var(--ease-out);grid-template-columns:minmax(12rem,.9fr) minmax(14rem,1.6fr) auto;align-items:center;display:grid}.company-row:hover{background:var(--color-surface)}.company-name h3{font:600 var(--text-base)/1.25 var(--font-display);letter-spacing:-.025em;margin:0}.company-name span{color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:.25rem;margin-top:.35rem;display:flex}.company-row p{color:var(--color-ink-2);font-size:var(--text-sm);margin:0}.company-website{min-height:2.5rem;color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:.4rem;padding:.4rem;display:inline-flex}.company-website:hover{color:var(--color-accent)}.empty-result{padding:var(--space-2xl) 0;color:var(--color-muted)}@media (max-width:700px){.directory-intro{gap:var(--space-xl);grid-template-columns:1fr;padding-block-start:var(--space-2xl)}.featured-company{gap:var(--space-md);grid-template-columns:auto 1fr}.featured-actions{grid-column:1/-1;justify-items:start}.company-row{gap:var(--space-sm) var(--space-md);grid-template-columns:1fr auto}.company-row p{grid-column:1/-1}.company-website span{display:none}}.profile-page{padding-bottom:var(--space-5xl)}.profile-page .back-link{margin-top:var(--space-xl)}.profile-hero{padding-block:clamp(4rem, 11vw, 10rem) var(--space-4xl);border-bottom:1px solid var(--color-rule)}.profile-kicker{margin-bottom:var(--space-lg);color:var(--color-accent);font:600 var(--text-xs)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.profile-hero h1{max-width:10ch;font:600 clamp(3.5rem, 9vw, 8.5rem)/.9 var(--font-display);letter-spacing:-.075em;margin:0}.profile-hero p{max-width:55ch;margin:var(--space-xl) 0 0;color:var(--color-ink-2);font-size:var(--text-md)}.profile-actions{gap:var(--space-sm);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.profile-primary,.profile-secondary{align-items:center;gap:var(--space-sm);min-height:3.25rem;font-size:var(--text-sm);padding-inline:1.15rem;font-weight:700;display:inline-flex}.profile-primary{background:var(--color-accent);color:var(--color-accent-ink)}.profile-primary:hover{background:var(--color-accent-hover)}.profile-secondary{border:1px solid var(--color-rule-strong)}.profile-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.profile-summary{border-bottom:1px solid var(--color-rule);grid-template-columns:repeat(3,1fr);display:grid}.profile-summary>div{gap:var(--space-sm);padding:var(--space-xl);border-right:1px solid var(--color-rule);display:grid}.profile-summary>div:first-child{padding-left:0}.profile-summary>div:last-child{border:0}.profile-summary span{color:var(--color-muted);font:500 var(--text-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.profile-summary strong,.profile-summary a{font:600 var(--text-sm)/1.35 var(--font-display);align-items:center;gap:.4rem;display:flex}.profile-summary a:hover,.profile-text-link:hover{color:var(--color-accent)}.profile-story{padding-block:var(--space-5xl);grid-template-columns:minmax(15rem,.85fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,8vw,9rem);display:grid}.profile-story h2,.profile-guides h2{font:600 var(--text-3xl)/.98 var(--font-display);letter-spacing:-.06em;margin:0}.profile-story p{max-width:48ch;color:var(--color-ink-2)}.profile-text-link{gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--text-sm);align-items:center;font-weight:700;display:inline-flex}.profile-art{background:var(--color-accent);min-height:25rem;position:relative;overflow:hidden}.profile-art i{border:1px solid #fbfcfd61;border:1px solid lab(98.8386% -.22307 -.716805/.38);border-radius:50%;width:17rem;height:17rem;position:absolute}.profile-art i:first-child{top:-7rem;left:-5rem}.profile-art i:nth-child(2){top:2rem;right:-8rem}.profile-art i:nth-child(3){bottom:-11rem;left:14%}.profile-art i:nth-child(4){width:8rem;height:8rem;top:35%;left:43%}.profile-art b{color:#fff;font:600 clamp(4rem, 11vw, 8rem)/1 var(--font-display);letter-spacing:-.1em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.profile-guides{gap:var(--space-4xl);background:var(--color-paper-2);grid-template-columns:minmax(0,1fr) minmax(20rem,.85fr);padding:clamp(2rem,6vw,5rem);display:grid}.profile-guides p{color:var(--color-muted)}.guide-links{border-top:1px solid var(--color-rule-strong)}.guide-links a{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--color-rule-strong);font:600 var(--text-md)/1.25 var(--font-display);letter-spacing:-.025em;padding-block:1.15rem;display:flex}.guide-links a:hover{color:var(--color-accent)}@media (max-width:700px){.profile-hero{padding-block:var(--space-4xl) var(--space-3xl)}.profile-hero h1{font-size:clamp(3.4rem,17vw,5.25rem)}.profile-summary{grid-template-columns:1fr}.profile-summary>div,.profile-summary>div:first-child{padding:var(--space-lg) 0;border-right:0;border-bottom:1px solid var(--color-rule)}.profile-summary>div:last-child{border-bottom:0}.profile-story,.profile-guides{gap:var(--space-2xl);grid-template-columns:1fr}.profile-story{padding-block:var(--space-4xl)}.profile-art{min-height:18rem}.profile-guides{margin-inline:calc(var(--page-gutter) * -1);padding:var(--space-2xl) var(--page-gutter)}}.home-hero{border-bottom:var(--rule-thin) solid var(--color-rule);align-items:center;min-height:clamp(26rem,64svh,44rem);display:flex}.home-hero h1{max-width:11ch;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.065em;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600;line-height:.98}.current-section{padding-block:var(--space-3xl)}.section-title{margin:0 0 var(--space-xl);font:600 var(--text-md)/1.2 var(--font-display);letter-spacing:-.02em}.current-grid{border-top:var(--rule-thin) solid var(--color-rule);grid-template-columns:minmax(0,1fr);display:grid}.current-item{align-items:center;gap:var(--space-md);padding-block:var(--space-lg);border-bottom:var(--rule-thin) solid var(--color-rule);grid-template-columns:3.5rem minmax(0,1fr) auto;min-width:0;display:grid}.current-symbol{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);width:3.5rem;height:3.5rem;color:var(--color-accent);background:var(--color-surface);place-items:center;display:grid}.current-copy{min-width:0}.current-copy strong{font-family:var(--font-display);line-height:1.25;display:block}.current-copy span{color:var(--color-muted);font-size:var(--text-sm)}.current-arrow{color:var(--color-muted)}.current-item:hover .current-arrow{color:var(--color-accent);transform:translate(2px)}.tool-page{width:min(100%, var(--tool-max));padding:var(--space-xl) var(--page-gutter) var(--space-4xl);margin-inline:auto}.tool-intro{padding-block:clamp(2rem, 8vw, 6rem) var(--space-2xl)}.back-link{font-size:var(--text-sm);margin-inline-start:calc(var(--space-sm) * -1)}.tool-intro h1{margin:var(--space-xl) 0 var(--space-sm);font-family:var(--font-display);letter-spacing:-.06em;overflow-wrap:anywhere;min-width:0;font-size:clamp(2.5rem,7vw,5.5rem);font-weight:600;line-height:1}.tool-intro p{max-width:54ch;color:var(--color-muted);font-size:var(--text-md);margin:0}.tool-surface{background:var(--color-surface);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);padding:clamp(1rem,4vw,2rem)}.field{gap:var(--space-xs);min-width:0;display:grid}.field label{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.field-help{min-height:1.4em;color:var(--color-muted);font-size:var(--text-sm);margin:0}.field-help[data-kind=error]{color:var(--color-error)}.field-help[data-kind=success]{color:var(--color-success)}.surface-title{margin:0 0 var(--space-md);font:600 var(--text-xl)/1.15 var(--font-display);letter-spacing:-.035em}.surface-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.surface-heading .surface-title{margin-top:var(--space-2xs)}.eyebrow{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.input,.textarea{border:var(--rule-thin) solid var(--color-rule-strong);outline-offset:1px;border-radius:var(--radius-sm);background:var(--color-paper);width:100%;min-height:3.25rem;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);outline:2px solid #0000;padding:.75rem 1rem}.textarea{resize:vertical;min-height:13rem;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--color-muted)}.input:focus-visible,.textarea:focus-visible{outline-color:var(--color-focus);border-color:var(--color-ink-2)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-soft)}.input:disabled,.textarea:disabled{opacity:.55;cursor:not-allowed}.input-with-icon{min-width:0;position:relative}.input-with-icon>svg{z-index:1;color:var(--color-muted);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:1rem;transform:translateY(-50%)}.input-with-icon .input{padding-inline-start:2.8rem}.action-row{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.button{border:var(--rule-thin) solid transparent;border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:var(--space-xs);background:var(--color-accent);min-height:3.25rem;color:var(--color-accent-ink);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding-inline:1.25rem;font-weight:600;display:inline-flex}.button:hover{background:var(--color-accent-hover)}.button:active{transition-duration:80ms;transform:scale(.98)}.button:disabled{opacity:.5}.button-secondary{color:var(--color-ink);border-color:var(--color-rule-strong);background:0 0}.button-secondary:hover{background:var(--color-paper-2)}.icon-button{border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-ink-2);background:0 0;flex:none;place-items:center;display:grid}.icon-button:hover{background:var(--color-paper-2);color:var(--color-accent)}.icon-button:disabled{opacity:.5}.privacy-note{margin:var(--space-lg) 0 0;align-items:flex-start;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);display:flex}.privacy-note svg{flex:none;margin-top:.15rem}.location-controls{gap:var(--space-sm);align-items:end;display:grid}.location-button{min-height:3.25rem}.air-result{margin-top:var(--space-xl);gap:var(--space-md);border:var(--rule-thin) solid;border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr);padding:clamp(1.25rem,4vw,2rem);display:grid}.air-result.is-open{border-color:color-mix(in oklch, var(--color-success) 35%, var(--color-rule));background:var(--color-success-soft)}.air-result.is-closed{border-color:color-mix(in oklch, var(--color-error) 35%, var(--color-rule));background:var(--color-error-soft)}.air-verdict-icon{background:var(--color-surface);border-radius:50%;place-items:center;width:3rem;height:3rem;display:grid}.is-open .air-verdict-icon{color:var(--color-success)}.is-closed .air-verdict-icon{color:var(--color-error)}.air-result h2{margin:var(--space-2xs) 0 var(--space-xs);font:600 clamp(2rem, 7vw, 4.5rem)/.98 var(--font-display);letter-spacing:-.055em}.air-result p{max-width:54ch;color:var(--color-ink-2);margin:0}.air-metrics{gap:var(--space-xs);margin:var(--space-sm) 0 0;padding-top:var(--space-md);border-top:var(--rule-thin) solid color-mix(in oklch, currentColor 16%, transparent);grid-column:1/-1;grid-template-columns:minmax(0,1fr);display:grid}.air-metrics div{justify-content:space-between;gap:var(--space-md);display:flex}.air-metrics dt{color:var(--color-muted)}.air-metrics dd{font-variant-numeric:tabular-nums;text-align:end;margin:0;font-weight:600}.source-note{margin:var(--space-lg) 0 0;align-items:flex-start;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);display:flex}.source-note svg{flex:none;margin-top:.15rem}.source-note a{color:var(--color-ink-2);text-underline-offset:.18em;text-decoration:underline}.gastro-tool{min-height:24rem}.price-toolbar{gap:var(--space-md);margin-top:var(--space-md);display:grid}.filter-tabs{gap:var(--space-2xs);padding-bottom:var(--space-2xs);scrollbar-width:thin;display:flex;overflow-x:auto}.filter-tabs button{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);color:var(--color-ink-2);white-space:nowrap;background:0 0;border-radius:999px}.filter-tabs button:hover{border-color:var(--color-rule-strong);background:var(--color-paper-2)}.filter-tabs button[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.result-summary{align-items:baseline;gap:var(--space-xs);margin-top:var(--space-xl);padding-block:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);display:flex}.result-summary strong{font:600 var(--text-xl)/1 var(--font-display);font-variant-numeric:tabular-nums}.result-summary span{color:var(--color-muted);font-size:var(--text-sm);text-align:end;margin-inline-start:auto}.price-list{display:grid}.price-row{gap:var(--space-sm);padding-block:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;min-width:0;display:grid}.price-row-icon{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-accent);background:var(--color-paper);place-items:center;display:grid}.price-row-main{min-width:0}.price-row h3{font-size:var(--text-base);overflow-wrap:anywhere;margin:.1rem 0;font-weight:600;line-height:1.35}.price-venue,.price-meta{color:var(--color-muted);font-size:var(--text-xs);display:block}.price-value{font-family:var(--font-mono);font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap}.source-link{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-muted);place-items:center;display:grid}.source-link:hover{background:var(--color-accent-soft);color:var(--color-accent)}.empty-state{justify-content:center;align-items:center;gap:var(--space-sm);min-height:12rem;color:var(--color-muted);text-align:center;display:flex}.error-state{margin-top:var(--space-lg);padding:var(--space-md);border:var(--rule-thin) solid var(--color-error);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error)}.result{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:var(--rule-thin) solid var(--color-rule)}.result h2{margin:0 0 var(--space-md);font:600 var(--text-md)/1.2 var(--font-display)}.result-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr);display:grid}.result-box{min-width:0}.result-box span{margin-bottom:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);display:block}.result-value{min-height:3.25rem;padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);overflow-wrap:anywhere}.dropzone{border:var(--rule-thin) dashed var(--color-rule-strong);border-radius:var(--radius-md);min-height:14rem;padding:var(--space-xl);text-align:center;background:var(--color-paper);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.dropzone:hover,.dropzone[data-dragging=true]{background:var(--color-accent-soft);border-color:var(--color-accent)}.dropzone:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.dropzone strong{margin-top:var(--space-md);display:block}.dropzone span{color:var(--color-muted);font-size:var(--text-sm)}.pattern-list{gap:var(--space-xs);margin-top:var(--space-lg);display:grid}.pattern-row{justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:var(--rule-thin) solid var(--color-rule);display:flex}.pattern-row strong{font-weight:600}.pattern-count{color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap}mark{background:var(--color-accent-soft);color:var(--color-ink);border-radius:.2em;padding-inline:.08em}.preview-text{white-space:pre-wrap;line-height:1.75}.strength-picker{margin:var(--space-lg) 0 0;gap:var(--space-xs);border:0;flex-wrap:wrap;padding:0;display:flex}.strength-picker legend{width:100%;margin-bottom:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:600}.strength-picker label{align-items:center;min-height:44px;display:inline-flex;position:relative}.strength-picker input{opacity:0;position:absolute}.strength-picker span{min-height:44px;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule-strong);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;display:inline-flex}.strength-picker input:checked+span{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-hover)}.strength-picker input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px}.swatches{gap:var(--space-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.swatch{align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);display:flex}.swatch-color{border:var(--rule-thin) solid var(--color-rule);border-radius:50%;flex:none;width:2.5rem;height:2.5rem}.swatch code{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs)}.font-list{gap:var(--space-xs);display:grid}.font-row{padding:var(--space-md) 0;border-bottom:var(--rule-thin) solid var(--color-rule)}.font-row strong{font-size:var(--text-lg)}.result h2{align-items:center;gap:var(--space-xs);display:flex}.placeholder-page{align-content:center;max-width:44rem;min-height:56svh;display:grid}.placeholder-page h1{font:600 clamp(3rem, 8vw, 6rem)/.95 var(--font-display);letter-spacing:-.06em;overflow-wrap:anywhere;min-width:0;margin:0}.placeholder-page p{max-width:45ch;color:var(--color-muted);font-size:var(--text-md)}.spinner{border:2px solid;border-inline-end-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (hover:hover) and (pointer:fine){.current-item:hover{color:var(--color-accent)}.input:hover,.textarea:hover{background:var(--color-paper-2)}}@media (min-width:40rem){.current-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.current-item{padding:var(--space-xl);border-inline-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:3.5rem minmax(0,1fr)}.current-item:last-child{border-inline-end:0}.current-arrow{display:none}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.location-controls{grid-template-columns:minmax(0,1fr) auto}.air-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.air-metrics div{display:block}.air-metrics dd{margin-top:var(--space-2xs);text-align:start}.price-toolbar{grid-template-columns:minmax(16rem,1fr) auto;align-items:end}}@media (min-width:64rem){.current-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:39.99rem){.site-footer{flex-direction:column}.tool-page{padding-top:0}.action-row .button{width:100%}.air-result{grid-template-columns:1fr}.air-verdict-icon{width:2.75rem;height:2.75rem}.price-row{grid-template-columns:minmax(0,1fr) auto auto}.price-row-icon{display:none}.result-summary{align-items:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.verification-status{color:#59625b;margin:5px 0;font-size:12px;display:block}.cms-admin{max-width:900px;padding-block:48px}.cms-admin h2{margin-top:36px}.cms-admin form{border:1px solid #d9ddd7;border-radius:12px;gap:14px;margin:20px 0;padding:24px;display:grid}.cms-admin label{gap:7px;display:grid}.cms-admin input:not([type=checkbox]),.cms-admin textarea{color:#17241b;background:#fff;border:1px solid #aeb7ad;border-radius:6px;width:100%;padding:12px}.cms-admin textarea{min-height:90px}.cms-admin button{color:#fff;cursor:pointer;background:#244c38;border:0;border-radius:8px;padding:12px 20px}.cms-admin button:disabled{opacity:.5;cursor:wait}.cms-admin input[type=checkbox]{width:20px;height:20px}.directory-intro h1{max-width:none;margin-top:1rem;font-size:clamp(3rem,6vw,5.5rem)}.directory-search button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:.5rem;display:grid}.directory-filters{flex-wrap:wrap;gap:.5rem;padding-block:1.5rem 2rem;display:flex}.directory-filters button{border:1px solid var(--color-rule);color:var(--color-ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:2rem;padding:.65rem 1rem;font-size:.875rem}.directory-filters button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.directory-filters button:hover{border-color:var(--color-ink)}.company-title-line{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.verified-badge,.company-name .verified-badge,.featured-copy .verified-badge{color:#315747;font:500 .7rem/1.2 var(--font-body);opacity:1;background:#eaf1eb;border-radius:2rem;flex:none;align-items:center;gap:.3rem;margin:0;padding:.25rem .5rem;display:inline-flex}.sarah-feature{color:var(--color-ink);box-shadow:none;background:#faf6ee;border-bottom:1px solid #dfd4c4;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;margin:0;padding:1.75rem 1.25rem}.sarah-feature .featured-mark{border:0;width:4.5rem;height:4.5rem}.sarah-feature .featured-mark img{width:100%;height:auto}.sarah-feature h2{font:600 1.2rem/1.25 var(--font-display);letter-spacing:-.025em}.sarah-feature .company-location{color:var(--color-muted);margin-top:.65rem;font-size:.8rem}.sarah-feature p{max-width:65ch;color:var(--color-ink-2);opacity:1}.sarah-feature .featured-visit{background:0 0;align-self:center;padding:.7rem 0;font-size:.8rem}.sarah-preview{gap:.5rem;margin-top:1rem;display:flex}.sarah-preview a{display:block}.sarah-preview img{object-fit:cover;border-radius:.25rem;width:4rem;height:4rem;display:block}.company-detail{gap:.35rem;display:grid}.company-category{color:var(--color-muted);font:500 .7rem/1.4 var(--font-mono)}.company-source{color:var(--color-muted);text-underline-offset:3px;justify-self:start;align-items:center;gap:.2rem;font-size:.75rem;text-decoration:underline;display:inline-flex}.directory-note{grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);padding-block:4rem 3rem;display:grid}.directory-note h2{font:600 1.75rem/1.2 var(--font-display);letter-spacing:-.04em;margin:.65rem 0 1rem}.directory-note h3{font-size:1rem}.directory-note p{max-width:58ch;color:var(--color-muted);font-size:.875rem}.directory-note small{color:var(--color-muted);font-size:.75rem}.directory-local{border-top:1px solid var(--color-rule);flex-wrap:wrap;gap:1rem 2rem;padding-block:1.5rem;font-size:.875rem;display:flex}.directory-local>span{color:var(--color-muted)}.directory-local a{align-items:center;gap:.5rem;display:inline-flex}.sarah-profile{max-width:1280px}.sarah-header{grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:2.5rem 3.5rem;display:grid}.sarah-heading{min-width:0}.sarah-identity{align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.sarah-identity img{width:4.75rem;height:4.75rem}.sarah-heading h1{font:500 clamp(2.6rem, 4.7vw, 4.5rem)/1.07 var(--font-display);letter-spacing:-.055em;margin:1.2rem 0}.sarah-heading h1 em{letter-spacing:-.045em;font-family:Georgia,serif;font-weight:400}.sarah-heading h1>span{font:500 .9rem/1.5 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);margin-top:1rem;display:inline-block}.sarah-heading p{max-width:46ch;color:var(--color-ink-2);font-size:.95rem}.sarah-cover{background:#efe5d8;margin:0;padding:1rem}.sarah-cover img{object-fit:contain;width:100%;height:auto;max-height:560px;display:block}.sarah-cover figcaption{color:#62594f;margin-top:.75rem;font-size:.7rem}.sarah-facts{border-block:1px solid var(--color-rule);grid-template-columns:1fr 3fr;gap:2rem;padding-block:2rem;display:grid}.sarah-facts h2{margin:0;font-size:1rem;font-weight:500}.sarah-facts dl{grid-template-columns:1fr 1fr;gap:1.5rem 2rem;margin:0;display:grid}.sarah-facts dt{color:var(--color-muted);margin-bottom:.35rem;font-size:.75rem}.sarah-facts dd{align-items:baseline;gap:.4rem;margin:0;font-size:.875rem;display:flex}.sarah-facts dd a{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.sarah-facts svg{flex-shrink:0}.sarah-portfolio{padding-block:4rem;scroll-margin-top:6rem}.portfolio-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.portfolio-heading h2{letter-spacing:-.045em;margin:.75rem 0;font:400 clamp(2rem,4vw,3rem)/1.1 Georgia,serif}.portfolio-heading p{color:var(--color-muted);margin-bottom:0;font-size:.875rem}.portfolio-heading>a{align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:2rem 1.25rem;display:grid}.portfolio-grid figure{min-width:0;margin:0}.portfolio-grid a{background:#efe5d8;display:block}.portfolio-grid img{width:100%;height:auto;display:block}.portfolio-grid figcaption{color:var(--color-muted);align-items:baseline;gap:.6rem;margin-top:.7rem;font-size:.75rem;display:flex}.portfolio-grid figcaption span{font:500 .65rem/1 var(--font-mono);color:#8a7661}.portfolio-credit{color:var(--color-muted);margin-top:2rem;font-size:.75rem}.portfolio-credit a{text-underline-offset:3px;text-decoration:underline}.sarah-contact{background:#faf6ee;border-top:1px solid #dfd4c4;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;display:flex}.sarah-contact h2{letter-spacing:-.025em;margin:0 0 .5rem;font-size:1.25rem}.sarah-contact p{color:var(--color-muted);margin:0;font-size:.875rem}@media (max-width:900px){.sarah-feature{grid-template-columns:auto minmax(0,1fr);gap:1rem}.sarah-feature .featured-visit{grid-column:2;justify-self:start}.sarah-header{gap:2rem}.portfolio-heading{flex-direction:column;align-items:start}.sarah-facts{grid-template-columns:1fr;gap:1.5rem}}@media (max-width:700px){.company-detail{grid-area:2/1/auto/-1}.company-website{grid-area:1/2}.directory-note{grid-template-columns:1fr;gap:1rem;padding-top:3rem}.sarah-feature{grid-template-columns:1fr;padding:1.25rem .75rem}.sarah-feature .featured-mark{width:3.5rem;height:3.5rem}.sarah-feature .featured-visit{grid-column:1}.sarah-header{grid-template-columns:1fr;padding-top:2rem}.sarah-heading h1{font-size:clamp(2.7rem,10vw,4rem)}.sarah-cover img{max-height:none}.sarah-facts dl{grid-template-columns:1fr;gap:1.2rem}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem .75rem}.sarah-contact{flex-direction:column;align-items:start;padding:1.5rem}}@media (max-width:420px){.portfolio-grid{grid-template-columns:1fr}}.directory-list-heading>span{white-space:nowrap}
