@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#152b34;--muted:#58686d;--paper:#f7f6f0;--line:#d9dfd9;--green:#d6f178;--forest:#254c42;--white:#fff;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #488a87;outline-offset:4px}.skip{position:absolute;top:-60px;background:white;padding:10px;z-index:100}.skip:focus{top:5px}.wrap{max-width:1240px;margin:auto;padding:0 48px}.masthead{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:21px;letter-spacing:-.8px}.brandmark{display:flex;align-items:flex-end;gap:3px;width:27px;height:29px}.brandmark i{display:block;width:7px;background:var(--ink)}.brandmark i:nth-child(1){height:15px}.brandmark i:nth-child(2){height:28px}.brandmark i:nth-child(3){height:21px}.brand small{font-weight:400;font-size:14px;letter-spacing:0;color:var(--muted)}.navlinks{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:650}.navlinks a[aria-current]{border-bottom:2px solid var(--ink)}.pill{border:1px solid var(--line);padding:8px 14px;border-radius:30px;font-size:12px;white-space:nowrap}.menu-button{display:none;border:0;background:transparent;font-size:22px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:#63877d;margin:0 9px 2px 0;border-radius:50%}.hero{padding:68px 0 56px;position:relative;overflow:hidden}.herogrid{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center}.hero h1{font:72px/.99 var(--serif);letter-spacing:-2.1px;margin:24px 0 26px;max-width:750px}.hero h1 em{font-style:normal;color:var(--forest)}.intro{color:var(--muted);font-size:17px;max-width:500px;line-height:1.7}.hero-actions{display:flex;gap:13px;margin-top:30px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 22px;background:var(--ink);color:white;font-size:13px;font-weight:600;border-radius:3px}.btn:hover{text-decoration:none;background:var(--forest)}.btn.light{background:transparent;color:var(--ink);border-color:var(--line)}.btn.light:hover{background:white}.skyline{height:350px;position:relative;display:flex;align-items:center;justify-content:center;background:#e5e9de;border-radius:48% 48% 0 0;overflow:hidden;margin:0 0 0 25px}.skyline svg{width:100%;height:100%;position:absolute;bottom:0}.skyline-label{position:absolute;bottom:17px;left:20px;background:var(--paper);padding:10px 15px;font-size:11px;letter-spacing:.4px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.hero-bottom strong{color:var(--ink);font-size:15px;margin-right:7px;letter-spacing:0}.band{background:var(--ink);color:white;padding:24px 0}.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}.band p{margin:0;font-size:14px}.band a{color:var(--green);font-size:12px;white-space:nowrap}.section{padding:65px 0}.section.white{background:white}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section h2{font:43px/1.15 var(--serif);letter-spacing:-.8px;margin:12px 0 0}.section-heading p{font-size:14px;color:var(--muted);max-width:430px;margin:0}.text-link{font-size:13px;font-weight:650}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:4px;overflow:hidden}.feature{padding:27px 27px 23px;background:white;border-right:1px solid var(--line);position:relative}.feature:last-child{border:0}.feature .index{font:50px/1 var(--serif);color:#8faaa0;float:right}.feature h3{font:29px/1.15 var(--serif);margin:36px 0 12px;min-height:65px}.feature p{font-size:12px;color:var(--muted);margin:0 0 22px}.feature .category-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.feature .text-link{display:block;border-top:1px solid var(--line);padding-top:18px;font-size:12px}.toolbar{padding:20px;background:#eef0e9;border:1px solid var(--line);border-radius:4px;margin-bottom:28px;display:flex;gap:14px;align-items:end;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:180px}.field label{font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:1px}.field input,.field select{width:100%;border:1px solid #cdd5cb;border-radius:3px;background:white;color:var(--ink);padding:12px 14px;font-size:14px;height:48px}.field.search{flex:2}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}.market{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:20px 0}.market h3{font-size:16px;font-weight:600;margin:0 0 4px}.market p{margin:0;color:var(--muted);font-size:11px}.market:hover h3{text-decoration:underline}.market .arrow{color:#698476}.market:hover{text-decoration:none}.count{font-size:12px;color:var(--muted);margin:0 0 10px}.empty{display:none;padding:40px;text-align:center;background:#eef0e9}.empty.visible{display:block}.method-strip{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:55px 0;border-top:1px solid var(--line)}.method-strip h2{margin:15px 0;font:43px/1.1 var(--serif)}.method-strip p{color:var(--muted);font-size:14px}.method-steps{list-style:none;padding:0;margin:0}.method-steps li{display:flex;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.method-steps b{color:#688075;font-size:12px}.footer{padding:38px 0 24px;background:var(--ink);color:#dce2df}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer .brand{color:white}.footer .brandmark i{background:var(--green)}.footer p{font-size:12px;max-width:450px;color:#b8c5c2}.footer-nav{display:flex;gap:24px;font-size:12px}.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid #3c4e54;font-size:10px;color:#b8c5c2;display:flex;justify-content:space-between;gap:24px}.breadcrumbs{font-size:11px;color:var(--muted);padding-top:28px;display:flex;gap:10px;flex-wrap:wrap}.page-head{padding:38px 0 40px}.page-head h1{font:60px/1.05 var(--serif);letter-spacing:-1px;margin:18px 0}.page-head .intro{max-width:740px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.tab{border:1px solid var(--line);padding:10px 18px;font-size:12px;border-radius:2px;background:white}.tab.active{background:var(--ink);color:white;border-color:var(--ink)}.ranking-layout{display:grid;grid-template-columns:1fr 280px;gap:44px;align-items:start}.ranking-list{list-style:none;padding:0;margin:0;background:white;border:1px solid var(--line)}.ranking-row{padding:25px;display:grid;grid-template-columns:45px 1fr auto;gap:20px;border-bottom:1px solid var(--line);align-items:center}.ranking-row:last-child{border:0}.rank{font:37px/1 var(--serif);color:#788d82}.ranking-row:first-child{background:#eef3e4}.ranking-row:first-child .rank{color:var(--forest)}.ranking-row h2{font:29px/1.15 var(--serif);margin:0 0 8px;overflow-wrap:anywhere}.ranking-row p{margin:0;font-size:11px;color:var(--muted)}.ranking-row a.profile{border-bottom:1px solid var(--line);font-size:11px}.save{border:1px solid var(--line);background:transparent;padding:7px 11px;font-size:11px;color:var(--muted);border-radius:2px}.save[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.aside{padding:24px;border-top:3px solid var(--forest);background:#e9eee3}.aside h3{font-size:13px;margin:0 0 13px}.aside p{font-size:12px;color:var(--muted)}.aside a{font-size:12px;text-decoration:underline}.aside hr{border:0;border-top:1px solid #ced7c9;margin:22px 0}.specialty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.specialty-card{background:white;border:1px solid var(--line);padding:26px}.specialty-card h3{font:30px/1.1 var(--serif);margin:14px 0 25px}.mini-list{list-style:none;padding:0;margin:0 0 24px}.mini-list li{display:flex;gap:13px;font-size:13px;padding:9px 0;border-bottom:1px solid #edf0ea}.mini-list span{font-size:11px;color:var(--muted);width:19px;flex-shrink:0}.notice{border-left:3px solid #aabf7c;padding:13px 19px;background:#edf1e5;color:var(--muted);font-size:12px;margin:20px 0}.prose{max-width:820px;padding-bottom:60px}.prose h2{font:33px/1.2 var(--serif);margin:36px 0 14px}.prose p,.prose li{font-size:15px;color:var(--muted)}.prose a{text-decoration:underline}.faq{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font-weight:600;font-size:14px}.faq p{font-size:13px}.sources{overflow-wrap:anywhere}.submarket-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.submarket-links a{font-size:12px;padding:10px;border-bottom:1px solid var(--line)}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;border-radius:4px;z-index:50;font-size:13px;box-shadow:0 8px 25px #0002}.shortlist-row{background:white;border:1px solid var(--line);padding:22px;margin:13px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.shortlist-row h2{font:27px/1.2 var(--serif);margin:0 0 5px}.shortlist-row p{font-size:12px;margin:0;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1450px){.wrap{max-width:1320px}.hero h1{font-size:82px}}@media(max-width:1000px){.wrap{padding:0 30px}.hero h1{font-size:59px}.herogrid{gap:25px}.skyline{height:310px;margin-left:0}.ranking-layout{grid-template-columns:1fr 240px;gap:25px}.navlinks{gap:18px}.market-grid{grid-template-columns:repeat(2,1fr)}.feature h3{font-size:25px}.brand small{display:none}}@media(max-width:700px){.wrap{padding:0 22px}.nav{height:70px}.brand{font-size:19px}.menu-button{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.navlinks.open{display:flex}.herogrid{display:block}.hero{padding:40px 0 30px}.hero h1{font-size:59px;letter-spacing:-1.5px}.hero .intro{font-size:15px}.skyline{height:230px;margin:40px 25px 0;border-radius:140px 140px 0 0}.hero-bottom{margin-top:25px;gap:15px;flex-wrap:wrap;font-size:9px}.hero-bottom strong{font-size:12px}.band .wrap{display:block}.band a{display:inline-block;margin-top:10px}.section{padding:40px 0}.section h2{font-size:35px}.section-heading{display:block}.section-heading p,.section-heading>.text-link{display:block;margin-top:15px}.feature-grid{display:block}.feature{border-right:0;border-bottom:1px solid var(--line);padding:25px}.feature h3{margin-top:23px;min-height:0}.market-grid{grid-template-columns:1fr}.toolbar{padding:16px;gap:14px}.field{min-width:100%}.method-strip{grid-template-columns:1fr;gap:15px;padding:40px 0}.method-strip h2{font-size:35px}.footer-top{display:block}.footer-nav{margin-top:24px;flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom span{display:block;margin:10px 0}.page-head{padding:26px 0}.page-head h1{font-size:45px}.ranking-layout{grid-template-columns:1fr}.ranking-row{grid-template-columns:33px 1fr;gap:12px;padding:21px 17px}.ranking-row h2{font-size:26px}.ranking-row .save{grid-column:2;width:max-content}.rank{font-size:32px}.specialty-grid{grid-template-columns:1fr}.submarket-links{grid-template-columns:repeat(2,1fr)}.tabs{gap:6px}.tab{padding:9px 12px;font-size:11px}.shortlist-row{align-items:start}.shortlist-row h2{font-size:24px}}
