
:root{--green:#183f35;--cream:#f6f3eb;--gold:#b28d51;--muted:#65716b;--line:#dce2d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--green);background:var(--cream);font:15px/1.65 system-ui,sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}header{background:#f6f3ebf5;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.wrap{max-width:1160px;margin:auto;padding:0 28px}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-1px}.logo i{font-style:normal;color:var(--gold)}nav{display:flex;gap:27px;font-size:13px}nav a{text-decoration:none}.btn{display:inline-block;border:1px solid var(--green);padding:13px 21px;border-radius:5px;background:var(--green);color:white;text-decoration:none;font-weight:650;font-size:13px}.btn.light{background:transparent;color:var(--green)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:#8d6a35}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:64px;padding-bottom:64px;align-items:center}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.7px;line-height:1.12}h1{font-size:65px;margin:18px 0 22px}h1 em{color:#8c7046;font-weight:400}h2{font-size:40px;margin:12px 0 18px}h3{font-size:19px;line-height:1.35}p{color:var(--muted)}.lead{max-width:460px;font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0}.hero-art{position:relative;height:490px;overflow:hidden;border-radius:140px 140px 8px 8px;background:#e4d9c4}.hero-art img{width:100%;height:100%;object-fit:cover}.art-label{position:absolute;bottom:22px;left:22px;right:22px;padding:18px 22px;background:#f6f3ebed;border-radius:5px;font-family:Georgia,serif;font-size:21px}.art-label small{display:block;font:10px system-ui;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;color:#80653c}.micro{font-size:12px;color:var(--muted)}.trust{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:25px}.trust b{display:block;font-size:13px}.trust span{font-size:12px;color:var(--muted)}section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:26px}.section-head p{margin-bottom:0;max-width:420px;font-size:13px}.notice{background:#e9eee5;padding:14px 19px;border-left:3px solid var(--gold);font-size:12px;margin:18px 0 26px}.filters{display:flex;gap:12px;margin-bottom:24px}input,select{border:1px solid #cbd3c8;background:#fff;padding:12px 14px;border-radius:5px;color:var(--green);min-width:0}input[type=search]{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);background:#fffdfa;padding:25px;border-radius:7px}.tag{display:inline-block;border:1px solid #ddd1ba;color:#8c6c36;border-radius:3px;padding:3px 8px;font-size:10px;letter-spacing:.6px}.card h3{margin:18px 0 5px}.card .price{font:28px Georgia,serif;margin:18px 0}.card dl{font-size:12px;border-top:1px solid var(--line);padding-top:15px}.card dl div{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.card dt{color:var(--muted)}.card dd{margin:0;text-align:right}.card button{width:100%;margin-top:12px}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.dark{background:var(--green);color:var(--cream)}.dark p,.dark .micro{color:#c4d2c9}.dark .eyebrow{color:#d6b77f}.check-panel{background:#fffdfa;color:var(--green);padding:30px;border-radius:7px}.check{display:flex;gap:14px;border-bottom:1px solid var(--line);padding:15px 0;cursor:pointer}.check:first-child{padding-top:0}.check input{width:19px;height:19px;accent-color:var(--green);flex-shrink:0;margin-top:4px}.check b{display:block;font-size:14px}.check small{font-size:12px;color:var(--muted);display:block}.result{margin-top:20px;padding:15px;background:#e9eee5;font-size:13px}.budget{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#eae8dd;padding:35px;border-radius:8px}.field{display:block;margin:14px 0}.field span{display:block;font-size:12px;margin-bottom:5px}.field input{width:100%}.total{align-self:center;text-align:center}.total strong{display:block;font:44px Georgia,serif}.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.guide{border-top:1px solid #a9b6a8;padding-top:22px}.guide .number{font:36px Georgia,serif;color:#aa8a56}.guide p{font-size:13px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;font-weight:650}.faq{max-width:800px;margin:auto}.faq p{font-size:14px;margin:14px 0 0}footer{background:#e8eade;padding:42px 0}.foot{display:flex;justify-content:space-between;gap:40px}.foot p{font-size:12px;max-width:360px}.foot-links{display:flex;flex-wrap:wrap;gap:18px;align-content:start;max-width:460px}.text-button{border:0;background:transparent;color:var(--green);padding:0;text-decoration:underline;font-size:12px}dialog{border:1px solid var(--line);border-radius:9px;max-width:700px;width:calc(100% - 32px);padding:30px;color:var(--green)}dialog::backdrop{background:#0e2924a8}dialog .close{float:right;background:transparent;border:0;font-size:25px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line)}.empty{padding:30px;border:1px dashed var(--line);grid-column:1/-1}.skip{position:absolute;left:15px;top:-80px;background:white;padding:10px;z-index:10}.skip:focus{top:5px}@media(max-width:800px){.wrap{padding:0 20px}.nav{height:72px}nav{gap:14px}nav a:nth-child(n+3){display:none}.nav>.btn{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:36px}h1{font-size:49px}.hero-art{height:370px;border-radius:100px 100px 6px 6px}.trust{gap:14px}.trust span{font-size:11px}.cards,.guides{grid-template-columns:1fr}.section-head{display:block}.section-head p{margin-top:15px}.split,.budget{grid-template-columns:1fr;gap:30px}h2{font-size:34px}section{padding:44px 0}.foot{display:block}.filters{flex-wrap:wrap}.filters input{min-width:100%}.total strong{font-size:36px}}
.article{max-width:780px;margin:0 auto;padding:50px 24px 70px}.article h1{font-size:46px}.article h2{font:28px Georgia,serif;letter-spacing:-.5px;margin:32px 0 14px}.article p,.article li{color:#4d5f54}.article table{margin:24px 0}.ad-slot{margin:48px 0;padding:24px;border:1px dashed #b5bdb2;text-align:center;min-height:120px;color:#65716b;font-size:11px;background:#f0f0e8}.article a{ text-underline-offset:3px}.article li{margin-bottom:10px}
.article .lead{max-width:none}.toc{background:#e9eee5;padding:20px 25px;margin:25px 0;border-radius:6px}.toc ol{padding-left:20px}.toc a{font-size:13px}.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.pillar-card{padding:26px;border:1px solid var(--line);background:#fffdfa;border-radius:7px}.pillar-card h2{font-size:29px}.pillar-card ul{padding-left:20px}.pillar-card li{margin:12px 0}.article .body-copy{max-width:100%}.article .review-note{border-left:3px solid var(--gold);padding:12px 20px;background:#e9eee5}.related{margin:38px 0;padding:22px;background:#e9eee5}.article details{margin-bottom:20px}@media(max-width:700px){.pillar-grid{grid-template-columns:1fr}.article h1{font-size:36px}.article{padding:35px 20px}.article table{font-size:12px}header nav{gap:12px}}@media print{header,footer,.ad-slot,.toc,.related,.print-button{display:none!important}body{background:white;color:black}.article{max-width:none;padding:0}.article p,.article li{color:black}a{color:black}h2{break-after:avoid}tr{break-inside:avoid}}

.directory{max-width:1080px}.directory h1{max-width:850px}.directory .office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.office{border:1px solid var(--line);background:#fffdfa;padding:24px;border-radius:7px}.office h2{font:25px Georgia,serif;letter-spacing:-.4px;margin:14px 0}.office address{font-style:normal;font-size:14px;color:#4d5f54;line-height:1.7;margin:15px 0}.office .meta{display:flex;gap:8px;flex-wrap:wrap}.office .micro{font-size:11px}.directory .filters{margin-top:25px}.directory .filter-count{margin:10px 0 24px}.office[hidden]{display:none!important}.directory .empty[hidden]{display:none!important}.directory .region-intro{max-width:800px}.directory .region-tools{margin:30px 0}.regional-links{display:flex;gap:16px;flex-wrap:wrap}.directory button:disabled{opacity:.5}@media(max-width:700px){.directory .office-grid{grid-template-columns:1fr}.directory .filters select{width:100%}.directory h1{font-size:37px}}

.city-menu{position:relative;border:0;padding:0;font-size:13px}.city-menu summary{white-space:nowrap;cursor:pointer}.city-menu>div{position:absolute;left:0;top:32px;min-width:230px;padding:10px;background:#fffdfa;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 20px #183f3520;z-index:20}.city-menu a{display:block!important;padding:8px 12px;text-decoration:none}.city-menu a:hover{background:#e9eee5}.city-footer{margin-top:25px;border-top:1px solid #cbd3c8;padding-top:18px}.city-footer>a{display:inline-block;margin-right:22px;font-size:12px}.local-check{margin:35px 0;padding:28px;background:#e9eee5;border-radius:7px}.local-check h2{margin-top:0}.table-scroll{overflow-x:auto}.table-scroll table{min-width:680px}.office .btn{margin:0 0 15px}.directory nav[aria-label="Breadcrumb"]{display:block}@media(max-width:800px){header nav{gap:12px}header nav>a:nth-of-type(n+2){display:none}.city-menu>div{left:auto;right:0}}

.city-menu>div{max-height:65vh;overflow-y:auto}.city-menu .city-group{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#8d6a35;margin:12px 12px 4px}.city-footer>div{margin:12px 0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px}.city-footer>div a{white-space:nowrap}.region-card{text-decoration:none}.region-card h3{margin:12px 0}.region-card[hidden],.region-section[hidden]{display:none!important}.region-section{padding:22px 0}.region-card p{font-size:13px}@media(max-width:700px){.city-menu>div{max-height:60vh;width:245px}.city-footer>div b{flex-basis:100%}}

.city-menu>div{max-height:65vh;overflow-y:auto}.city-menu .city-group{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#8d6a35;margin:12px 12px 4px}.city-footer>div{margin:12px 0;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px}.city-footer>div a{white-space:nowrap}.region-card{text-decoration:none}.region-card h3{margin:12px 0}.region-card[hidden],.region-section[hidden]{display:none!important}.region-section{padding:22px 0}.region-card p{font-size:13px}@media(max-width:700px){.city-menu>div{max-height:60vh;width:245px}.city-footer>div b{flex-basis:100%}}

.logo{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0}.logo svg{flex-shrink:0}

/* mobile menu */
.mobile-menu{display:none;position:relative;border:0;padding:0;font-size:13px}
.mobile-menu summary{list-style:none;white-space:nowrap;cursor:pointer;border:1px solid var(--green);border-radius:5px;padding:7px 12px;font-weight:650}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu[open] summary{background:var(--green);color:#fff}
.mobile-menu>div{position:absolute;right:0;top:44px;width:min(280px,calc(100vw - 32px));padding:8px;background:#fffdfa;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px #183f3530;z-index:30}
.mobile-menu a{display:block!important;padding:12px 14px;text-decoration:none;border-radius:5px;font-size:15px}
.mobile-menu a:hover,.mobile-menu a:focus{background:#e9eee5}
@media(max-width:800px){header nav>a{display:none!important}.mobile-menu{display:block}header nav{align-items:center;gap:14px}}
@media(max-width:420px){.logo{font-size:20px}.logo svg{width:24px;height:24px;margin-right:5px!important}.city-menu summary{font-size:12px}.wrap.nav{padding:0 16px;gap:10px}header nav{gap:10px}}
