.concept{gap:20px}.concept span:last-child{font-size:8px}.site-footer nav{font-size:12px;margin-left:auto}.portrait-svg{width:100%;height:100%;display:block}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:18px;background:#fffdf8;padding:24px;border:1px solid var(--line);border-radius:5px;margin:25px 0}.filters label{font-size:10px;color:var(--muted)}.filters input,.filters select{display:block;width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);margin-top:6px}.filters button{align-self:end}.hero-art svg{height:100%;width:100%}.profile-main{padding-bottom:65px}.sample-note{font-size:11px;color:var(--muted);line-height:1.8;border-left:2px solid var(--gold);padding:10px 15px;margin-bottom:30px}.gallery{height:530px;grid-template-columns:1fr 1fr}.gallery button:nth-child(2){transform:none}.profile-panel .save{width:100%;margin-top:10px}.profile-panel .button{width:100%}.long-page{max-width:850px;margin:65px auto;padding:0 6%;min-height:50vh}.long-page p{line-height:1.9;color:var(--muted)}.long-page h2{font-size:30px;margin:30px 0 15px}.chip{display:inline-block;padding:9px 12px;border:1px solid var(--line);margin:0 8px 8px 0;font-size:11px}.empty{grid-column:1/-1;border:1px dashed var(--line)}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--plum);color:white;padding:16px 24px;z-index:20;border-radius:5px;font-size:12px}.more-space{padding-top:55px}.result-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:24px}.clear{border:0;background:none;color:var(--plum);text-decoration:underline}.gallery svg{display:block;width:100%;height:100%}.hero-foot{flex-wrap:wrap}.profile-section .fact-grid{margin-top:25px}dialog{width:470px}dialog img{width:100%;max-height:82vh}.shortlist-title{padding-top:60px}.site-footer{flex-wrap:wrap}a:hover{color:var(--gold)}.button:hover{color:white}@media(max-width:700px){.concept span:last-child{display:none}.site-header{gap:12px;padding:0 5%}.brand{font-size:25px}.brand span{font-size:6px;letter-spacing:2px}.filters{grid-template-columns:1fr 1fr;padding:18px;gap:15px}.filters label:first-child{grid-column:1/-1}.filters .button{padding:12px;gap:5px}.gallery{height:350px}.profile-panel{order:0}.profile-intro h1{font-size:50px}.site-footer nav{margin-top:20px}.hero-art{height:390px}.profile-section{padding:28px 0}.site-header .outline span{margin-left:6px}.sample-note{font-size:10px}.hero-foot i{display:none}.hero-foot strong{margin-left:8px}h1{overflow-wrap:anywhere}}

.image-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:140px;padding:20px;text-align:center;background:#e5dcd3;color:#776f69;font-size:12px}
.directory-filters{align-items:end}
.directory-filters .more-filters{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}
.more-filters summary{cursor:pointer;color:var(--plum);font-size:11px;font-weight:600;list-style:none}
.more-filters summary::-webkit-details-marker{display:none}
.more-filters summary span{margin-left:7px}
.more-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 0 4px}
.more-filter-grid label{min-width:0}
.more-filter-grid select{max-width:100%}
.load-more-wrap{text-align:center;margin:32px 0 0}
.load-more-wrap .outline{background:transparent}
.card-photo .image-fallback{aspect-ratio:3/4}
.video-tag{position:absolute;top:40px;left:12px;background:#542636e8;color:white;padding:6px 9px;border-radius:2px;font-size:8px;letter-spacing:.3px}
.card-info h3{overflow-wrap:anywhere}
.hero-portrait .image-fallback{font-size:11px}
.profile-tags{flex-wrap:wrap;justify-content:flex-end;max-width:410px}
.profile-tags span{white-space:nowrap}
.profile-intro h1{overflow-wrap:anywhere}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:180px;gap:12px}
.gallery-tile{position:relative;border:0;padding:0;background:#e4d9ce;overflow:hidden;border-radius:5px}
.gallery-tile img{transition:transform .25s}
.gallery-tile:hover img{transform:scale(1.04)}
.gallery-feature{grid-column:span 2;grid-row:span 2}
.show-all-photos{display:block;background:transparent;margin:18px 0 0}
.profile-tabs{overflow-x:auto;white-space:nowrap}
.profile-section p{overflow-wrap:anywhere;white-space:pre-line}
.profile-section .fact-grid strong{overflow-wrap:anywhere}
.chips{display:flex;flex-wrap:wrap;gap:0}
.chip{line-height:1.4;max-width:100%;overflow-wrap:anywhere}
.table-scroll{width:100%;overflow-x:auto}
.rates-table{border-collapse:collapse;width:100%;min-width:350px;font-size:12px}
.rates-table th,.rates-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px 14px 0;vertical-align:top}
.rates-table th{color:var(--muted);font-weight:500}
.contact-actions{display:grid;gap:10px}
.contact-actions .button,.contact-actions .save{width:100%;margin:0;justify-content:center;text-align:center}
.contact-unavailable{padding:13px;background:#f5f0e9;border-left:2px solid var(--gold)}
.profile-panel .shortlist-button,.profile-panel .shortlist-link{display:block;text-align:center;width:100%;margin-top:10px}
.source-link{font-size:11px;color:var(--muted);margin:27px 0}
.source-link a{color:var(--plum);text-decoration:underline}
#photoDialog{position:relative;width:min(650px,92vw);max-width:92vw;padding:15px;background:var(--paper)}
#photoDialog img{width:100%;height:auto;max-height:79vh;object-fit:contain;background:#e4d9ce}
#photoDialog .photo-prev,#photoDialog .photo-next{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:42px;height:42px;background:#faf4eaee;font-size:30px;z-index:2}
#photoDialog .photo-prev{left:22px}
#photoDialog .photo-next{right:22px}
#photoDialog #photoCounter{display:block;text-align:center;font-size:11px;color:var(--muted);padding:8px 0 0}
#photoDialog .close{z-index:3}
@media(max-width:1000px){.more-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-auto-rows:150px}}
@media(max-width:700px){
 .directory-filters{grid-template-columns:1fr 1fr}
 .directory-filters>label:first-child{grid-column:1/-1}
 .directory-filters>.button{grid-column:1/-1}
 .more-filter-grid{grid-template-columns:1fr 1fr;gap:14px}
 .more-filter-grid label:last-child{grid-column:1/-1}
 .profile-tags{justify-content:flex-start;max-width:none}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:8px}
 .gallery-feature{grid-column:span 2;grid-row:span 2}
 .profile-tabs{gap:22px}
 .profile-panel .contact-actions .button,.profile-panel .contact-actions .save{width:100%}
 .profile-panel .shortlist-button,.profile-panel .shortlist-link{width:100%;margin-top:10px}
 .profile-layout>.profile-panel{order:0}
 .profile-section .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .result-line{gap:15px}
 .result-line span{line-height:1.4}
 .card-info h3{font-size:18px}
}

/* Readable type scale across directory, profile, and supporting pages. */
body{font-size:17px;line-height:1.65}
.concept{font-size:12px;line-height:1.4}
.concept span:last-child{font-size:11px}
.main-nav,.outline,.button{font-size:16px}
.brand span{font-size:11px}
.eyebrow{font-size:12px;color:#805b36}
.lead,.about p:last-child,.long-page p:not(.eyebrow){font-size:18px;line-height:1.7}
.hero-foot{font-size:14px}
.hero-portrait span,.hero-portrait small,.vertical-label{font-size:12px}
.search-wrap label span,.filters label{font-size:14px}
.search-wrap input,.search-wrap select,.filters input,.filters select{font-size:16px}
.section-heading>p,.section-heading>a,.directory-toolbar,.result-line{font-size:15px}
.tag,.video-tag{font-size:12px;line-height:1.25}
.video-tag{top:49px}
.card-info p,.city-list small{font-size:15px;line-height:1.5}
.city-number{font-size:12px}
.site-footer p,.site-footer nav,.site-footer>span{font-size:14px}
.breadcrumb,.profile-tags span,.gallery-main span,.profile-tabs{font-size:15px}
.profile-place{font-size:17px}
.profile-section p:not(.eyebrow),.profile-panel>p:not(.eyebrow){font-size:17px;line-height:1.7}
.fact-grid small,.profile-panel dl>div{font-size:14px}
.fact-grid strong,.profile-panel .button,.save,.chip,.rates-table{font-size:16px}
.profile-panel .eyebrow{font-size:12px}
.profile-panel .panel-note{font-size:14px!important}
.gallery-note p,.sample-note,.source-link,.more-filters summary{font-size:14px}
.source-link,.sample-note{line-height:1.7}
.more-filters summary{padding:4px 0}
.image-fallback,.hero-portrait .image-fallback,#notice,#photoDialog #photoCounter{font-size:13px}

@media(max-width:700px){
 .concept{font-size:11px;letter-spacing:.5px}
 .concept a{font-size:12px}
 .brand span{font-size:11px;letter-spacing:2px}
 .site-header .outline{font-size:13px}
 .eyebrow{font-size:12px}
 .lead,.about p:last-child,.long-page p:not(.eyebrow){font-size:17px}
 .hero-foot{font-size:14px;line-height:1.5}
 .section-heading>p,.directory-toolbar,.result-line{font-size:14px}
 .tag,.video-tag{font-size:12px}
 .video-tag{top:44px;left:8px}
 .card-info p,.city-list small{font-size:14px}
 .site-footer p,.site-footer nav,.site-footer>span{font-size:14px}
 .profile-tabs{font-size:15px}
 .profile-tags span{font-size:13px}
 .profile-panel .button,.save{font-size:15px}
 .sample-note{font-size:14px}
}
