:root{--coal:#191919;--coal-2:#232323;--paper:#f0efeb;--white:#faf9f6;--muted:#9d9b96;--line:#3b3b39;--acid:#0b2f52;--shadow:rgba(0,0,0,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--coal);color:var(--white);font:14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}p{line-height:1.75;color:var(--muted)}h1,h2,h3,p{margin-top:0}em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}.skip{position:fixed;top:-50px;left:20px;background:var(--acid);color:var(--coal);padding:12px 18px;z-index:99}.skip:focus{top:20px}.topline{display:flex;justify-content:space-between;padding:10px 5.5%;background:#0e0e0e;color:#a9a9a5;font-size:9px;letter-spacing:1.8px;border-bottom:1px solid #282826}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;background:var(--coal);border-bottom:1px solid var(--line);position:relative;z-index:10}.logo{display:inline-flex;align-items:center;flex:0 0 auto}.logo-art{display:block;width:248px;height:auto}.footer-main .logo-art{width:230px}nav{display:flex;gap:30px;font-size:12px}nav a{color:#c2c1bd}nav a:hover,nav a[aria-current=page]{color:var(--white)}nav a:first-child{border-bottom:1px solid var(--acid);padding-bottom:6px}.outline{border:1px solid #555;background:transparent;padding:14px 17px;font-size:11px}.outline:hover{border-color:var(--acid)}header .outline span{margin-left:18px;color:var(--acid)}.mobile-menu{display:none;border:0;background:none;font-size:24px}.hero{position:relative;display:grid;grid-template-columns:53% 47%;padding-bottom:85px;min-height:650px}.hero-content{padding:76px 7% 85px 10.4%;background:radial-gradient(circle at 15% 10%,#30302d 0,transparent 34%)}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:600;line-height:1.8;color:#b0afaa}.hero .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--acid)}h1{font:500 clamp(47px,5vw,77px)/1.08 system-ui;letter-spacing:-4px;margin:27px 0}h2{font:500 42px/1.18 system-ui;letter-spacing:-1.9px;margin:15px 0 20px}h3{font-weight:500}.hero p{font-size:14px;color:#b7b5b0}.text-link{font-size:11px;display:inline-flex;gap:38px;border-bottom:1px solid #5c5c58;padding:13px 0}.text-link span{color:var(--acid);font-size:20px;line-height:12px}.hero-proof{display:flex;gap:26px;margin-top:51px;font-size:9px;color:#7f7f7a}.hero-photo{background:#333 url('/assets/editorial/hero-office.jpg') center/cover;position:relative;min-height:555px}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0a0a0ae6,transparent 62%),linear-gradient(90deg,#19191944,transparent)}.photo-caption{position:absolute;bottom:82px;left:34px;font-size:9px;letter-spacing:1.6px;line-height:2.2}.photo-caption strong{font:italic 26px Georgia;letter-spacing:0;color:var(--acid)}.vertical{position:absolute;right:21px;top:42px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#d9d8d3}.search-panel{position:absolute;bottom:4px;left:5.5%;right:5.5%;background:var(--paper);color:var(--coal);display:grid;grid-template-columns:1fr 1.3fr 1.5fr 1.1fr;align-items:center;padding:27px 30px;gap:26px;box-shadow:0 18px 50px var(--shadow)}.search-intro{font-size:13px;line-height:1.5}.search-panel label{border-left:1px solid #cac8c1;padding-left:28px;display:grid;gap:10px;position:relative}.search-panel label>span:first-child{font-size:8px;letter-spacing:1.5px;color:#77756f}.search-panel input,.search-panel select{border:0;background:transparent;color:var(--coal);width:100%;font-size:12px}.input-wrap{display:flex;align-items:center;gap:8px}.primary{border:0;background:var(--coal);color:var(--white);padding:18px 21px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px}.primary:hover{background:#343431}.primary span{color:var(--acid);font-size:18px}.primary:disabled{opacity:.55;cursor:wait}.search-reset{grid-column:4;justify-self:end;border:0;background:none;color:#77756f;font-size:10px;text-decoration:underline;text-underline-offset:3px}.search-feedback{grid-column:1/-1;margin:0!important;font-size:10px!important;line-height:1.5!important;color:#6e6c67}.search-feedback:empty{display:none}.search-panel:has(.search-feedback:not(:empty)){row-gap:13px}.city-suggestions{position:absolute;top:100%;left:0;right:-25px;background:var(--white);z-index:20;box-shadow:0 16px 40px #0004;max-height:320px;overflow:auto;border:1px solid #ccc9c1;min-width:300px}.city-suggestions button{display:block;width:100%;text-align:left;padding:13px 17px;border:0;border-bottom:1px solid #dedbd4;background:var(--white);color:var(--coal)}.city-suggestions button:hover,.city-suggestions [aria-selected=true]{background:#e5e8d8;box-shadow:inset 3px 0 #0b2f52}.city-suggestions strong{display:block;font-size:12px}.city-suggestions small{display:block;color:#77756f;font-size:9px;margin-top:5px}.city-suggestions p{padding:14px;color:#555}.principles{margin:0 5.5%;padding:44px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;border-bottom:1px solid var(--line)}.principles>div{display:flex;gap:19px}.principles>div>span{font:italic 22px Georgia;color:var(--acid)}.principles p{font-size:10px;margin:0}.principles strong{display:block;color:var(--white);font-size:11px;margin-bottom:3px}.section{padding:80px 5.5%}.breadcrumb{display:flex;gap:12px;font-size:9px;color:#777771;margin-bottom:42px}.breadcrumb a:hover{text-decoration:underline}.breadcrumb b{color:#cccac5}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px}.section-heading p{font-size:12px;margin-bottom:0}.view-tabs{border:1px solid var(--line);display:flex;padding:4px}.view-tabs button{border:0;background:transparent;padding:9px 15px;font-size:10px}.view-tabs .active{background:var(--acid);color:var(--coal)}.demo-note{font-size:9px;color:#777771;border-top:1px solid var(--line);padding:14px 0;margin-bottom:14px}.directory-layout{display:grid;grid-template-columns:235px 1fr;gap:38px}.directory-layout.city-without-listings{grid-template-columns:1fr}aside{border:1px solid var(--line);padding:22px;height:fit-content;background:var(--coal-2)}.filter-title{font-size:11px;margin-bottom:30px}.filter-title button{display:block;border:0;background:none;font-size:9px;padding:8px 0;color:#8e8d88;text-decoration:underline}.filter-label,legend{font-size:10px;font-weight:600}aside>select{width:100%;padding:12px 8px;background:#1b1b1b;border:1px solid #4a4a47;color:var(--white);font-size:10px;margin-top:10px}fieldset{padding:0;border:0;margin:27px 0}fieldset label{display:flex;align-items:center;gap:7px;font-size:10px;margin:13px 0;color:#b7b6b2}input[type=checkbox]{accent-color:var(--acid);width:14px;height:14px}.saved-filter{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding-top:17px;font-size:10px}.saved-filter span{margin-left:auto;background:var(--acid);color:var(--coal);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:8px}.help-box{background:var(--acid);color:var(--coal);padding:20px;margin-top:25px}.help-box>span{font-size:20px;float:right}.help-box h3{font:500 17px/1.3 system-ui;margin-top:30px}.help-box p{color:#44443e;font-size:9px;line-height:1.6}.help-box a{font-size:9px;border-bottom:1px solid #77776c}.result-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:10px}.result-toolbar p{margin:0}.result-toolbar select{margin-left:8px;background:var(--coal);border:1px solid var(--line);color:var(--white);padding:8px;font-size:10px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{border:1px solid var(--line);background:#1e1e1e;overflow:hidden;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-3px);border-color:#666}.card-image{height:190px;background-size:cover;background-position:center;position:relative;filter:saturate(.72)}.card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1117,transparent)}.card-label{position:absolute;z-index:1;top:13px;left:13px;background:var(--acid);color:var(--coal);font-size:7px;letter-spacing:1px;padding:7px 9px}.favorite{position:absolute;z-index:2;top:12px;right:12px;border:0;background:#111c;color:white;width:34px;height:34px;font-size:17px}.card-body{padding:21px}.card-location{font-size:8px;letter-spacing:1.2px;color:var(--acid)}.card h3{font:500 18px system-ui;margin:12px 0 8px}.card p{font-size:10px;line-height:1.65;min-height:33px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.tags span{border:1px solid #444;padding:6px 8px;font-size:7px;color:#b5b4af}.card-bottom{border-top:1px solid #383836;padding-top:14px;margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-bottom>span{font-size:8px;color:#777}.profile-button{border:0;background:none;font-size:9px}.profile-button span{color:var(--acid);margin-left:8px}.directory-end{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:#777}.directory-end span{color:var(--white)}.empty{grid-column:1/-1;text-align:center;border:1px solid var(--line);padding:48px 22px}.city-empty{padding:70px 30px;background:linear-gradient(135deg,#202020,#171717)}.city-empty h3{font:500 34px/1.2 system-ui;letter-spacing:-1.4px;margin:18px 0}.city-empty p{font-size:12px}.city-empty>div{display:flex;justify-content:center;gap:15px;align-items:center;flex-wrap:wrap}.empty-symbol{font:40px Georgia;color:var(--acid)}#district-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:25px}#district-buttons button{border:1px solid var(--line);background:#232323;color:white;padding:25px;text-align:left}#district-buttons button span{float:right;color:var(--acid)}.approach{display:grid;grid-template-columns:42% 1fr;gap:12%;background:var(--paper);color:var(--coal)}.approach p{color:#6e6c67}.approach em{color:#6b6b4d}.approach .text-link{border-color:#99978f}.approach .text-link span{color:#4d4d3e}.approach-steps article{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid #ccc9c1}.approach-steps article>span{font:italic 19px Georgia;color:#88865c}.approach-steps h3{font:600 15px system-ui;margin-bottom:7px}.approach-steps p{font-size:10px;margin:0}.manifesto{margin:0 5.5%;padding:80px 4%;border-left:1px solid var(--line);border-right:1px solid var(--line);display:grid;grid-template-columns:120px 1fr 280px;gap:6%;align-items:center}.manifesto-number{font:700 38px/1 system-ui;color:var(--acid)}.manifesto-number span{font-size:13px;color:#777}.manifesto blockquote{font:400 30px/1.35 Georgia;margin:0;color:#d4d2cc}.manifesto p{font-size:10px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.guide-image{height:260px;background-size:cover;background-position:center;position:relative;filter:grayscale(.2) saturate(.65)}.guide-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#1118,transparent)}.guide-one{background-image:url('/assets/editorial/blog-brief.jpg')}.guide-two{background-image:url('/assets/editorial/blog-selection.jpg')}.guide-three{background-image:url('/assets/editorial/blog-budget.jpg')}.guide-image span{position:absolute;z-index:1;top:18px;left:18px;border:1px solid #fff8;padding:8px;font:italic 14px Georgia}.guide small{display:block;margin:18px 0 11px;color:#777;font-size:8px;letter-spacing:1.2px}.guide h3{font:500 16px/1.45 system-ui}.guide h3 span{float:right;color:var(--acid)}.faq{display:grid;grid-template-columns:35% 1fr;gap:10%;background:var(--paper);color:var(--coal)}.faq em{color:#66664b}.faq details{border-top:1px solid #c8c5bd;padding:20px 0}.faq details:last-child{border-bottom:1px solid #c8c5bd}.faq summary{cursor:pointer;font:500 13px system-ui;list-style:none}.faq summary:after{content:"+";float:right}.faq details[open] summary:after{content:"−"}.faq details p{font-size:10px;max-width:700px;margin:15px 0 0;color:#65635f}.pro-banner{margin:0 5.5% 60px;padding:58px 5%;background:var(--acid);color:var(--coal);display:flex;align-items:center;justify-content:space-between}.pro-banner em{color:#51513d}.pro-banner .eyebrow{color:#55554c}.light-button{background:var(--coal);color:white;border:0;padding:18px 22px;font-size:11px}.light-button span{color:var(--acid);margin-left:24px}footer{padding:0 5.5%;background:#101010}.footer-main{min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #2e2e2c}.footer-main p{font-size:10px}.footer-main>div{display:flex;flex-direction:column;gap:10px;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;padding:22px 0;color:#696965;font-size:9px}.footer-bottom>div{display:flex;gap:20px}.footer-bottom button,.footer-bottom a{border:0;background:none;color:#696965;margin-left:20px;font-size:9px}.agency-credit{display:flex;justify-content:center;gap:10px;padding:0 0 25px;color:#666;font-size:9px}.agency-credit a{color:#999}dialog{border:1px solid #555;background:var(--coal-2);color:white;padding:45px;width:min(560px,90vw);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#000b}.close{float:right;border:0;background:none}.modal-kicker{font-size:8px;letter-spacing:2px;color:var(--acid)}dialog h2{font-size:34px}dialog p{font-size:11px}.modal-info{background:#30302d;border-left:3px solid var(--acid);padding:15px;font-size:10px;color:#c2c1bb;margin:20px 0}dialog form{display:grid;gap:13px}dialog form label{font-size:9px;display:grid;gap:7px;color:#aaa}dialog input,dialog textarea{padding:12px;border:1px solid #4a4a47;background:#171717;color:white}dialog textarea{min-height:110px;resize:vertical}#toast{position:fixed;right:25px;bottom:25px;background:var(--acid);color:var(--coal);padding:14px 20px;font-size:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:80}#toast.show{opacity:1;transform:none}[hidden]{display:none!important}
/* national geography */.national-directory{background:var(--coal);min-height:70vh}.national-directory h1{font-size:54px}.geo-stats{display:flex;gap:35px;padding:22px 0;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.geo-stats span{color:#777;font-size:10px}.geo-stats strong{font:500 24px system-ui;color:white;margin-right:6px}.geo-stats span:last-child{margin-left:auto}.geo-controls{display:grid;grid-template-columns:1.2fr 1.2fr 1.4fr auto;gap:15px;align-items:end}.geo-controls label{display:grid;gap:9px;font-size:9px}.geo-controls select,.geo-controls input{height:44px;background:#202020;border:1px solid #464644;color:white;padding:12px}.geo-path{display:flex;gap:10px;margin:25px 0;font-size:10px;color:#777}.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 40px}.geo-region-card{position:relative;padding:22px 36px 22px 20px;border:1px solid var(--line);background:#202020}.geo-region-card:hover{border-color:var(--acid)}.geo-region-card>span{font:500 14px system-ui}.geo-region-card small{display:block;color:#777;font-size:9px;margin-top:8px}.geo-region-card b{position:absolute;right:17px;top:22px;color:var(--acid)}.department-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.department-grid a{padding:17px;background:#242424;font-size:11px;display:flex;gap:12px}.department-grid small{color:var(--acid)}.department-grid span{margin-left:auto}.geo-results-bar{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px}.geo-results-bar h3{font:500 20px system-ui;margin:0}.geo-results-bar span{font-size:10px;color:#777}.commune-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 25px}.commune-grid>a{position:relative;padding:18px 22px 18px 0;border-bottom:1px solid var(--line)}.commune-grid strong{font-size:12px}.commune-grid small{display:block;color:#777;font-size:9px;margin-top:6px}.commune-grid>a>span{position:absolute;right:0;top:20px;color:var(--acid)}.geo-pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:30px 0}.geo-pagination span,.geo-source{color:#777;font-size:9px}.geo-source a{text-decoration:underline}
@media(max-width:1000px){nav{gap:14px;font-size:10px}.hero-content{padding-top:50px}.search-panel{gap:15px;padding:22px}.search-panel label{padding-left:15px}.directory-layout{grid-template-columns:195px 1fr;gap:22px}.approach{gap:7%}.manifesto{grid-template-columns:90px 1fr}.manifesto>p{display:none}.geo-controls{grid-template-columns:1fr 1fr}.region-grid,.department-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.topline{padding:9px 5%;font-size:7px}.topline span:first-child{display:none}header{height:82px;padding:0 5%}header .outline,nav{display:none}.mobile-menu{display:block}.logo-art{width:190px}.footer-main .logo-art{width:205px}nav.open{position:absolute;top:82px;left:0;right:0;display:flex;flex-wrap:wrap;background:#171717;padding:22px;z-index:30}.hero{grid-template-columns:1fr;padding-bottom:0}.hero-content{padding:45px 6%}.hero h1{font-size:50px;letter-spacing:-2.7px}.hero p{font-size:12px}.hero-photo{min-height:300px}.search-panel{position:relative;left:auto;right:auto;bottom:auto;margin:-22px 5% 0;grid-template-columns:1fr;z-index:2;padding:24px;gap:18px}.search-intro{display:none}.search-panel label{border:0;border-bottom:1px solid #ccc;padding:0 0 14px}.search-reset{grid-column:1;justify-self:center}.city-suggestions{right:0;min-width:0}.hero-proof{font-size:8px;gap:12px}.principles{grid-template-columns:1fr;gap:20px}.section{padding:55px 5%}h2{font-size:34px}.section-heading{align-items:start;flex-direction:column}.directory-layout{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card-image{height:175px}aside{padding:18px}.filter-title{margin-bottom:8px;display:flex;justify-content:space-between}.filter-title button{display:inline}fieldset{display:flex;flex-wrap:wrap;gap:2px 15px;margin:18px 0}fieldset legend{width:100%}.help-box{display:none}.approach,.faq{grid-template-columns:1fr;gap:35px}.manifesto{margin:0 5%;padding:55px 5%;grid-template-columns:1fr;gap:25px}.manifesto blockquote{font-size:25px}.guide-grid{grid-template-columns:1fr}.guide-image{height:240px}.pro-banner{margin:0 5% 40px;padding:35px;display:block}.pro-banner .light-button{margin-top:20px}.footer-main{flex-wrap:wrap;padding:35px 0}.footer-main p{display:none}.footer-bottom{flex-direction:column;gap:16px}.footer-bottom button,.footer-bottom a{margin:0 20px 0 0}.geo-controls{grid-template-columns:1fr}.geo-stats{gap:15px;flex-wrap:wrap}.geo-stats span:last-child{margin-left:0;width:100%}.region-grid{grid-template-columns:1fr 1fr;gap:8px}.department-grid{grid-template-columns:1fr}.commune-grid{grid-template-columns:1fr 1fr;gap:0 18px}.geo-results-bar{align-items:start;flex-direction:column;gap:9px}.national-directory h1{font-size:38px}#district-buttons{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
