/* Refined directory presentation: shared rhythm and restrained controls. */
:root{--bg:#171412;--panel:#211c18;--card:#241e19;--line:#3c3229;--text:#eee8df;--muted:#b4a89a;--accent:#cdb183}
.header-inner{height:92px}.brand{font-size:23px;letter-spacing:4px;font-weight:600}.brand small{letter-spacing:1.8px;margin-top:8px;color:#9d8d78}header nav{font-size:12px}.saved-link{border-color:#4e4134;padding:11px 16px}.saved-link b{margin-left:7px;font-weight:500;color:var(--accent)}.filter-bar{background:#1e1915}.filter-form{padding-top:19px;padding-bottom:19px}.filter-form input,.filter-form select{border-color:#4b3d2e;background:#171411;height:44px}.filter-form input::placeholder{color:#918372}.filter-form .secondary{background:transparent}.wrap{padding-top:36px}.directory{grid-template-columns:minmax(0,1fr) 260px;gap:32px}.eyebrow{font-size:9px;letter-spacing:2.1px;color:#aa9373}.intro{padding-bottom:25px;margin-bottom:22px}.intro h1{font-size:31px;font-weight:500;letter-spacing:-.9px;line-height:1.25;margin-top:14px}.intro p{max-width:630px;font-size:12px;line-height:1.85;color:#a89b8c}.list-head{font-size:10px;padding:0 0 6px}.listing{grid-template-columns:195px minmax(0,1fr);padding:0;gap:0;background:var(--card);border:1px solid #403329;border-radius:5px;overflow:hidden;margin-bottom:22px;box-shadow:0 3px 12px #00000012}.listing:hover{border-color:#7e6443}.listing-image{border-radius:0;height:310px;background:#2d241c}.listing-content{padding:24px 27px}.card-category{font-size:8px;letter-spacing:1.7px;text-transform:uppercase;color:#b69a71;margin-bottom:10px}.listing h2{font-size:26px;letter-spacing:-.6px;font-weight:500;line-height:1.2}.save{border-color:#56452f;color:#bda179;width:30px;height:30px;font-size:19px;transition:background .15s,color .15s}.save:hover,.save[aria-pressed=true]{background:#d0b183;color:#281d11;border-color:#d0b183}.location{margin-top:9px;font-size:10px;color:#a49787}.location span{padding:0 6px;color:#796951}.listing-content>p{font-size:11px;line-height:1.8;color:#b5a99a;margin-top:19px}.card-facts{display:flex;gap:35px;margin-top:17px}.card-facts small{display:block;font-size:8px;color:#887b6a;margin-bottom:5px}.card-facts span{font-size:9px;color:#cabaa5}.listing-bottom{padding-top:20px}.listing .button{background:transparent;border:1px solid #8e734d;color:#e0c49b;font-weight:500;font-size:10px;padding:10px 15px;gap:24px}.button:hover{background:#ddc399;color:#20180f}.listing .button:hover{background:#d0b183;color:#241a10}.listing-bottom small{font-size:8px;color:#96836b;text-transform:none;letter-spacing:.2px}.secondary:hover{background:#443626}.side{padding-top:0}.side-box{background:#201a16;border:1px solid #3f3328;border-radius:5px;padding:23px;margin-bottom:20px}.side-label{font-size:8px;letter-spacing:1.7px;color:#a88b62;margin-bottom:14px}.side-box h2{font-size:16px;font-weight:500;margin-bottom:15px;letter-spacing:-.3px}.side-box .city{font-size:11px;padding:14px 0}.city span{color:#c2b4a0}.city b{font-size:9px;font-weight:400;background:#32271c;color:#d0b68e;min-width:22px;text-align:center;padding:3px;border-radius:3px}.side-box>p{font-size:11px;line-height:1.85;color:#a79885}.text-cta{font-size:10px;color:var(--accent);border-top:1px solid var(--line);padding-top:17px;margin-top:19px;display:flex;justify-content:space-between}.quiet-box{background:transparent;border:0;padding-top:8px}.quiet-box h2{font-size:14px}.help-box{background:transparent;padding:24px;border-color:#3e3328}.help-box h2{font-size:17px;font-weight:500}.help-box p{font-size:11px}.help-box summary{font-size:11px;color:#cfc2b1}.help-box details:last-child{padding-bottom:0}.profile-title h1{font-size:29px}.profile-title .eyebrow{margin-bottom:14px}.action-bar{background:#29211bf5;border-color:#54422f;border-radius:4px}.bio-box{background:#221c17;border-color:#423528;border-radius:5px;padding:26px}.bio-box h2{font-size:19px}.facts{grid-template-columns:1fr 1fr}.facts div{font-size:10px}.gallery-grid{gap:14px}.gallery-frame{border:1px solid #695139;border-radius:4px}.gallery-frame img{height:425px}.gallery-frame:nth-child(2){filter:none}.gallery-frame:nth-child(2) img{transform:scale(1.5);transform-origin:50% 24%}.gallery-frame:hover span{background:var(--accent);color:#251b10}.gallery-note{padding:2px 0;color:#96856f}.tab-bar button:hover{color:#e6cfaa}.tab-bar button:focus-visible{outline-offset:-3px}.footer-inner{padding-top:35px;padding-bottom:35px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#dbc197;color:#261b0e;padding:13px 23px;font-size:12px;border-radius:5px;z-index:10;box-shadow:0 8px 25px #0005}
@media(max-width:1000px){.directory{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.listing{grid-template-columns:160px minmax(0,1fr)}.listing-content{padding:21px}.listing-image{height:325px}.card-facts{gap:15px}.gallery-frame img{height:350px}.facts{grid-template-columns:1fr}}
@media(max-width:720px){.header-inner{height:78px}.brand{font-size:20px;letter-spacing:3px}.brand small{font-size:6px}.saved-link{font-size:9px;padding:9px 11px}.filter-form{padding-top:15px;padding-bottom:15px}.directory{display:block}.wrap{padding-top:28px}.intro h1{font-size:27px;line-height:1.25}.intro p{font-size:11px}.listing{grid-template-columns:115px minmax(0,1fr);margin-bottom:17px}.listing-image{height:295px}.listing-content{padding:16px 14px}.card-category{font-size:6px;letter-spacing:1px;margin-bottom:8px}.listing h2{font-size:22px}.save{width:26px;height:26px;font-size:17px}.location{font-size:8px;line-height:1.5}.location span{padding:0 2px}.listing-content>p{font-size:10px;line-height:1.7;margin-top:14px}.card-facts{display:none}.listing-bottom{padding-top:15px}.listing .button{font-size:9px;padding:9px 11px;gap:12px}.side{margin-top:28px}.side-box{padding:21px}.quiet-box{padding-top:0}.gallery-frame img{height:275px}.gallery-grid{gap:10px}.profile-title h1{font-size:25px}.bio-box{padding:21px}.facts{grid-template-columns:1fr}#toast{font-size:11px;white-space:nowrap;bottom:18px}.profile-title .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.save{transition:none}}
/* Poppins type scale. Body and inputs stay readable at all breakpoints. */
html{font-size:16px}body{font-family:'Poppins',Arial,sans-serif;font-size:1rem;line-height:1.65}
button,input,select,textarea{font-family:inherit}
h1,h2,h3{line-height:1.3;text-wrap:balance}
p{line-height:1.75}
.header-inner{height:100px;gap:32px}.brand{font-size:26px;letter-spacing:3px}.brand small{font-size:10px;letter-spacing:1px;line-height:1.4}
header nav{font-size:14px;gap:24px}.saved-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.filter-form input,.filter-form select{font-size:16px;height:50px;padding:10px 14px}.filter-form{grid-template-columns:minmax(230px,1.3fr) minmax(185px,1fr) minmax(170px,1fr) auto auto}
.button,.secondary,.filter-form .button,.filter-form .secondary{font-size:14px;min-height:44px}
.eyebrow,.side-label,.card-category,.profile-title .eyebrow{font-size:12px;letter-spacing:1.3px;line-height:1.5}
.intro h1{font-size:clamp(28px,2.5vw,36px);font-weight:600;letter-spacing:-.8px;line-height:1.3}
.intro p{font-size:16px;line-height:1.75;max-width:720px}
.list-head,.list-head select{font-size:14px}.list-head{gap:16px;flex-wrap:wrap}.list-head select{padding:8px 0;min-height:44px}
.listing{grid-template-columns:220px minmax(0,1fr)}.listing-image{height:100%;min-height:375px}.listing-image img{min-height:375px}
.listing-content{padding:25px}.listing h2{font-size:26px;font-weight:500;line-height:1.3}
.save,.profile-title .save{width:44px;height:44px;font-size:23px}
.location,.profile-title p,.profile-breadcrumb{font-size:14px;line-height:1.7}
.listing-content>p{font-size:16px;line-height:1.75;margin-top:18px}
.card-facts{gap:24px;flex-wrap:wrap}.card-facts small{font-size:12px;color:#b7a68e}.card-facts span{font-size:14px}
.listing .button{font-size:14px;min-height:44px}.listing-bottom{gap:14px;flex-wrap:wrap}.listing-bottom small{font-size:12px;color:#b7a68e}
.side-box h2,.quiet-box h2{font-size:20px;line-height:1.4}.side-box>p{font-size:15px;line-height:1.75}
.side-box .city{font-size:14px;min-height:48px;align-items:center}.city b{font-size:12px}
.text-cta{font-size:14px;line-height:1.6;min-height:44px;gap:10px}.pager{font-size:13px;gap:20px}
.help-box h2,.bio-box h2{font-size:23px;line-height:1.4}.help-box p,.bio-box>p,.tab-content p{font-size:16px;line-height:1.75}
.help-box summary{font-size:15px;min-height:28px}.help-box details p{font-size:15px}
.profile-title h1{font-size:clamp(28px,2.5vw,36px);line-height:1.3;font-weight:600}
.action-bar .button,.action-bar .secondary,.action-bar>a:last-child{font-size:14px;line-height:1.5}
.action-bar{flex-wrap:wrap}.facts div{font-size:14px;line-height:1.7}.facts{grid-template-columns:1fr}
.gallery-note,.notice{font-size:13px!important;line-height:1.75!important;color:#b7a68e!important}
.tab-bar button{font-size:15px;min-height:48px}.tab-content h3{font-size:18px;line-height:1.5}
.related-mini strong{font-size:15px}.related-mini p{font-size:14px;line-height:1.7}
footer p{font-size:13px;line-height:1.8}.dialog-body p{font-size:16px;line-height:1.75}.dialog-body h2{font-size:25px}#toast{font-size:14px}
@media(max-width:1100px){.directory{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.listing{grid-template-columns:170px minmax(0,1fr)}.listing-content{padding:20px}.filter-form{grid-template-columns:1.2fr 1fr 1fr}.filter-form .button,.filter-form .secondary{min-width:110px}.filter-form .button{grid-column:2}.header-inner nav{gap:18px;font-size:13px}.header-inner{gap:22px}.brand small{font-size:9px}.listing h2{font-size:24px}.card-facts{display:none}.listing-bottom small{display:none}}
@media(max-width:720px){.header-inner{height:86px;gap:14px}.brand{font-size:22px;letter-spacing:2px}.brand small{font-size:8px;letter-spacing:.6px}.saved-link{font-size:12px;white-space:nowrap;padding:8px 11px}.filter-form{grid-template-columns:1fr 1fr}.filter-form input{grid-column:1/-1}.filter-form .button{grid-column:auto}.filter-form input,.filter-form select{font-size:16px;padding:10px;min-width:0}.directory{display:block}.intro h1{font-size:28px;letter-spacing:-.5px}.intro p{font-size:16px}.eyebrow,.side-label,.card-category,.profile-title .eyebrow{font-size:12px;letter-spacing:1px}.list-head{font-size:14px}.listing{grid-template-columns:1fr}.listing-image{height:310px;min-height:0}.listing-image img{min-height:0;object-position:50% 30%!important}.listing-content{padding:22px}.listing h2{font-size:25px}.listing-content>p{font-size:16px}.location{font-size:14px}.listing .button{font-size:14px}.card-facts{display:flex;gap:25px}.listing-bottom small{display:block}.listing-bottom{padding-top:22px}.profile-title h1{font-size:28px}.profile-title p{font-size:14px}.profile-breadcrumb{font-size:13px;flex-wrap:wrap}.action-bar{gap:8px;padding:12px}.action-bar .button,.action-bar .secondary{font-size:13px}.action-bar>a:last-child{font-size:13px;padding:10px 0}.bio-box h2{font-size:23px}.facts div{font-size:14px}.help-box p,.bio-box>p,.tab-content p{font-size:16px}.tab-bar button{font-size:14px;padding:12px}.pager{font-size:13px}.gallery-note{font-size:13px!important}.footer-inner .brand small{font-size:9px}footer p{font-size:13px}.footer-inner{padding-top:28px;padding-bottom:28px}#toast{font-size:13px}}
