.cat-page,.cat-card,.cat-dialog{--cat-ink:#192b23;--cat-muted:#54655b;--cat-line:#d7dfd5;--cat-pale:#eef2e9;--cat-accent:#dafa78;color:var(--cat-ink)}
.cat-page{padding-block:28px 80px;min-height:65vh}
.cat-page a,.cat-card a{color:inherit;text-decoration:none}
.cat-page button,.cat-card button,.cat-dialog button{cursor:pointer;font:inherit}
.cat-icon{display:inline-block;flex:none;vertical-align:middle}
.cat-sr{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.cat-card{min-width:0}
.cat-photo{position:relative;overflow:hidden;border-radius:14px;aspect-ratio:1.62;background:#e0e6de}
.cat-photo>a,.cat-photo img{width:100%;height:100%;display:block}
.cat-photo img{object-fit:cover;transition:transform .35s}
.cat-card:hover .cat-photo img{transform:scale(1.025)}
.cat-tag,.cat-demo,.cat-heart{position:absolute;z-index:1}
.cat-tag{top:14px;left:14px;border-radius:999px;background:#fffdf5f0;color:#203a2b;font-size:11px;font-weight:750;line-height:1.15;padding:7px 11px;pointer-events:none}
.cat-demo{left:12px;bottom:10px;background:#11251dc9;color:white;border:1px solid #ffffff45;font-size:8px;letter-spacing:.12em;padding:3px 5px;border-radius:4px;font-weight:700;pointer-events:none}
.cat-heart,.cat-x,.cat-prev,.cat-next{border:0;display:inline-grid;place-items:center;border-radius:50%;background:#fffef8f2;color:var(--cat-ink)}
.cat-heart{top:12px;right:12px;width:34px;height:34px;transition:background .2s,color .2s}
.cat-heart:hover,.cat-x:hover,.cat-prev:hover,.cat-next:hover{background:#fff}
.cat-heart[aria-pressed=true],.cat-action[data-cat-save][aria-pressed=true]{color:#8b3044}
[data-cat-save][aria-pressed=true] svg{fill:currentColor}
.cat-cardbody{padding:16px 1px 3px}
.cat-place,.cat-attrs>span,.cat-intro .cat-caption,.cat-detailintro p,.cat-summary>a,.cat-features>span,.cat-detailtools,.cat-action,.cat-button,.cat-comparehint>a,.cat-empty .cat-button,.cat-switch button,.cat-subtle,.cat-atlasnote{display:inline-flex;align-items:center;gap:7px}
.cat-place{color:var(--cat-muted);font-size:12px;line-height:1.45;margin:0 0 6px;font-weight:550}
.cat-card h3{font-size:clamp(17px,1.45vw,22px);letter-spacing:-.035em;line-height:1.3;margin:0;font-weight:720}
.cat-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.cat-price{font-size:18px;line-height:1.3;letter-spacing:-.02em;font-weight:800;margin:9px 0 0}
.cat-attrs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;border-top:1px solid var(--cat-line);padding-top:12px;margin-top:13px;color:var(--cat-muted);font-size:12px}
.cat-attrs>span{gap:5px}
.cat-smallcmp{margin-left:auto;border:0;background:none;color:inherit;display:inline-flex;align-items:center;gap:5px;padding:2px 0}
.cat-smallcmp[aria-pressed=true]{color:#194e3b;font-weight:800}
.cat-crumb{font-size:12px;line-height:1.5;margin:4px 0 36px;color:var(--cat-muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cat-crumb>span{opacity:.45}
.cat-crumb strong{font-weight:650;color:var(--cat-ink)}
.cat-crumb a:hover,.cat-detail a:hover,.cat-tablewrap a:hover{text-decoration:underline;text-underline-offset:3px}
.cat-intro,.cat-detailintro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.cat-intro h1,.cat-detailintro h1{font-size:clamp(36px,4.2vw,62px);font-weight:650;letter-spacing:-.06em;line-height:1.08;margin:12px 0;color:var(--cat-ink)}
.cat-intro p,.cat-detailintro p{font-size:15px;line-height:1.65;color:var(--cat-muted);margin:0}
.cat-caption{font-size:12px;font-weight:600;color:var(--cat-muted)}
.cat-caption i{width:7px;height:7px;border-radius:100%;background:#95b750}
.cat-mode{display:flex;gap:6px;margin-bottom:14px;font-size:13px;font-weight:700}
.cat-mode a{padding:8px 17px;color:var(--cat-muted);border-radius:30px;border:1px solid var(--cat-line)}
.cat-mode a[aria-current=page]{background:var(--cat-ink);color:white;border-color:var(--cat-ink)}
.cat-form{display:grid;grid-template-columns:minmax(110px,1.05fr) minmax(150px,1.4fr) minmax(110px,1fr) minmax(115px,1fr) minmax(70px,.65fr) auto;align-items:end;gap:15px;border:1px solid var(--cat-line);background:#fff;border-radius:16px;padding:20px}
.cat-form label,.cat-enquiry label{display:grid;gap:7px;min-width:0}
.cat-form label>span:first-child,.cat-enquiry label{font-size:12px;font-weight:720}
.cat-form select,.cat-inputicon,.cat-tools select,.cat-enquiry input,.cat-enquiry select,.cat-enquiry textarea{width:100%;height:42px;border:1px solid var(--cat-line);border-radius:8px;background:#fbfcf9;font:inherit;font-size:13px;color:var(--cat-ink);padding:0 9px}
.cat-form select,.cat-tools select,.cat-enquiry select{cursor:pointer}
.cat-inputicon{display:flex;align-items:center;gap:6px}
.cat-inputicon input{font:inherit;color:inherit;display:block;min-width:0;width:100%;border:0;background:none;outline:none;padding:0}
.cat-inputicon:focus-within{outline:2px solid #376449;outline-offset:2px}
.cat-inputicon b{color:#6d766e}
.cat-button,.cat-action,.cat-switch button,.cat-textbtn,.cat-savedsearch button{border:1px solid var(--cat-line);background:transparent;color:var(--cat-ink)}
.cat-button,.cat-action{border-radius:9px;font-size:13px!important;font-weight:730!important;justify-content:center;line-height:1.3}
.cat-button{padding:12px 16px;min-height:42px}
.cat-button.is-primary{color:white;background:#1a4837;border-color:#1a4837}
.cat-button:hover,.cat-action:hover{background:#edf2e6;text-decoration:none}
.cat-button.is-primary:hover{background:#113929}
.cat-action{padding:8px 12px}
.cat-action[aria-pressed=true],.cat-smallcmp[aria-pressed=true]{background:var(--cat-pale)}
.cat-resultsbar,.cat-tools,.cat-switch,.cat-comparehint,.cat-detailtools{display:flex;align-items:center}
.cat-resultsbar{justify-content:space-between;gap:16px;margin:28px 0 19px}
.cat-resultsbar>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cat-resultsbar b{font-size:18px;letter-spacing:-.03em}
.cat-subtle,.cat-textbtn{color:var(--cat-muted);font-size:11px!important;font-weight:600;text-decoration:underline!important;text-underline-offset:3px}
.cat-textbtn{border:0;padding:0}
.cat-tools{gap:10px}
.cat-tools select{height:34px;font-size:12px}
.cat-switch{border:1px solid var(--cat-line);border-radius:9px;padding:3px;gap:2px}
.cat-switch button{border:0;background:transparent;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:650}
.cat-switch button[aria-pressed=true]{background:var(--cat-ink);color:white}
.cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}
.cat-comparehint{gap:12px;margin:14px 0 18px;padding:12px 16px;background:#e9f1e4;border:1px solid #d1dfcb;border-radius:10px;font-size:13px}
.cat-comparehint[hidden]{display:none}
.cat-comparehint a{margin-left:auto;font-weight:750}
.cat-empty{text-align:center;padding:54px 16px;border:1px dashed #b7c5b6;border-radius:16px;background:#f0f4ed}
.cat-empty h2,.cat-detail h2,.cat-savedsearch h2,.cat-dialog h2{font-size:clamp(23px,2.5vw,35px);line-height:1.15;letter-spacing:-.045em;margin:12px 0}
.cat-empty p,.cat-description,.cat-draftnote{font-size:14px;color:var(--cat-muted);line-height:1.7}
.cat-empty .cat-button{margin-top:8px}
.cat-atlas{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(215px,1fr);border:1px solid var(--cat-line);border-radius:16px;overflow:hidden;background:#fff}
.cat-atlasmap{display:flex;flex-direction:column;justify-content:center;background:#dae6df;position:relative;min-height:300px}
.cat-atlasmap>svg{width:100%;height:auto;display:block}
.cat-maplabels{font:600 9px sans-serif;letter-spacing:.1em;fill:#6a887b}
.cat-atlasmap [data-cat-pin]{cursor:pointer}
.cat-atlasmap [data-cat-pin] circle{fill:#fffdf3;stroke:#194e3b;stroke-width:2}
.cat-atlasmap [data-cat-pin] text{font:700 12px sans-serif;text-anchor:middle;fill:#194e3b}
.cat-atlasmap [data-cat-pin][aria-pressed=true] circle,.cat-atlasmap [data-cat-pin]:hover circle{fill:#164b38;stroke:var(--cat-accent);stroke-width:3}
.cat-atlasmap [data-cat-pin][aria-pressed=true] text,.cat-atlasmap [data-cat-pin]:hover text{fill:white}
.cat-atlasnote{position:absolute;left:12px;bottom:12px;background:#f8fcf5ed;color:#42584a;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:650}
.cat-atlasresult{padding:15px}
.cat-savedsearch{margin-top:36px;border-top:1px solid var(--cat-line);padding-top:18px}
.cat-savedsearch>div{display:flex;align-items:center;justify-content:space-between;max-width:800px;border-bottom:1px solid var(--cat-line);padding:12px 0}
.cat-savedsearch>div>a{display:flex;align-items:center;gap:9px}
.cat-savedsearch button{padding:5px;border-radius:6px}
.cat-tablewrap{overflow:auto;border:1px solid var(--cat-line);border-radius:14px;background:#fff}
.cat-tablewrap table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}
.cat-tablewrap th,.cat-tablewrap td{padding:14px 17px;border-bottom:1px solid var(--cat-line);min-width:135px}
.cat-tablewrap tbody tr:nth-child(odd){background:#f3f5ef}
.cat-tablewrap img{width:100%;height:120px;object-fit:cover;border-radius:9px;display:block;margin:2px 0 10px}
.cat-tablewrap thead th{vertical-align:bottom}
.cat-tablewrap thead a,.cat-tablewrap thead button{display:block}
.cat-tablewrap thead button{margin-top:9px}
.cat-detailintro{margin-bottom:20px}
.cat-detailintro h1{font-size:clamp(33px,3.7vw,54px)}
.cat-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cat-muted);line-height:1.5}
.cat-kicker i{font-style:normal;margin:0 5px}
.cat-mosaic{display:grid;grid-template:1fr 1fr / 1.8fr 1fr;gap:8px;height:clamp(295px,40vw,485px);overflow:hidden;border-radius:18px}
.cat-mosaic button{position:relative;overflow:hidden;min-height:0;display:block;border:0;padding:0;background:#e5ebe1}
.cat-mosaic button:first-child{grid-row:span 2}
.cat-mosaic button img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cat-mosaic button:hover img{transform:scale(1.025)}
.cat-mosaic button>span{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:7px;border-radius:7px;background:#fffef5f5;color:var(--cat-ink);font-size:12px;font-weight:700;padding:8px 11px}
.cat-fotonote{font-size:10.5px;color:var(--cat-muted);margin:8px 0 26px}
.cat-detailcols{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(230px,.85fr);gap:clamp(20px,5vw,80px)}
.cat-facts{display:flex;gap:30px;flex-wrap:wrap;margin:19px 0;padding:17px 0;border-block:1px solid var(--cat-line)}
.cat-facts>div{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center}
.cat-facts svg{grid-row:span 2}
.cat-facts b{font-size:16px}
.cat-facts small,.cat-id,.cat-summary>small{font-size:12px;color:var(--cat-muted)}
.cat-features{display:flex;flex-wrap:wrap;gap:8px}
.cat-features>span{border:1px solid var(--cat-line);border-radius:100px;padding:6px 10px;font-size:12px}
.cat-id{display:block;margin:18px 0}
.cat-summary{align-self:start;display:flex;flex-direction:column;align-items:stretch;padding:23px;gap:9px;border:1px solid var(--cat-line);background:#f1f4e9;border-radius:16px}
.cat-summary>strong{font-size:clamp(23px,2.8vw,37px);line-height:1.1;letter-spacing:-.05em}
.cat-summary>.cat-button{margin-top:9px}
.cat-summary>a{color:#294d39;font-size:12px;font-weight:650;padding-top:4px}
.cat-dialog{border:1px solid var(--cat-line);border-radius:18px;padding:0;background:#f9faf4;font-family:inherit;max-height:92dvh;max-width:calc(100vw - 24px);box-shadow:0 20px 80px #0c211d50}
.cat-dialog::backdrop{background:#10231dd4}
.cat-dialog header{position:static;display:flex;justify-content:space-between;align-items:center;gap:15px;background:none;border:0;padding:16px 20px}
.cat-dialog h2{margin:3px 0 0;font-size:clamp(20px,2.1vw,28px)}
.cat-x{border:1px solid var(--cat-line);flex:none;width:34px;height:34px}
.cat-gallery{width:min(910px,calc(100vw - 26px))}
.cat-frame{position:relative;height:min(53vh,490px);background:#1d2922}
.cat-frame img{width:100%;height:100%;object-fit:contain}
.cat-prev,.cat-next{position:absolute;top:50%;transform:translateY(-50%);width:35px;height:35px;border:0}
.cat-prev{left:10px}.cat-next{right:10px}
.cat-filmstripe{display:flex;overflow:auto;gap:6px;padding:10px 14px 6px}
.cat-filmstripe button{width:calc((100% - 54px)/10);min-width:47px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;height:51px;background:transparent}
.cat-filmstripe button[aria-pressed=true]{border-color:#214d36}
.cat-filmstripe img{width:100%;height:100%;object-fit:cover}
.cat-gallerycount,.cat-dialogproperty{color:var(--cat-muted);font-size:12px;padding:0 18px 12px;margin:0}
.cat-enquiry{width:min(440px,calc(100vw - 24px))}
.cat-enquiry form{display:grid;gap:12px;padding:0 20px 20px}
.cat-enquiry input,.cat-enquiry select,.cat-enquiry textarea{background:white}
.cat-enquiry textarea{height:auto;resize:vertical;padding:8px 9px}
.cat-draftnote{font-size:12px;margin:0}
@media(max-width:960px){
  .cat-form{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cat-form .cat-q{grid-column:span 2}
  .cat-form>button{grid-column:span 2;justify-self:start}
  .cat-attrs{gap:8px}
  .cat-smallcmp span{display:none}
}
@media(max-width:750px){
  .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cat-resultsbar{align-items:flex-start;flex-direction:column}
  .cat-resultsbar .cat-tools{width:100%;justify-content:space-between}
  .cat-intro{flex-wrap:wrap;align-items:flex-start}
  .cat-detailcols{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:18px}
  .cat-crumb{margin-bottom:24px}
  .cat-summary{padding:16px}
  .cat-detailintro{flex-direction:column;align-items:flex-start}
  .cat-atlas{grid-template-columns:1fr}
  .cat-atlasmap{min-height:0}
  .cat-atlasresult .cat-card{display:grid;grid-template-columns:35% 1fr;align-items:center;gap:15px}
  .cat-atlasresult .cat-cardbody{padding-top:0}
}
@media(max-width:550px){
  .cat-page{padding-block:18px 52px}
  .cat-intro h1,.cat-detailintro h1{font-size:35px}
  .cat-intro{margin-bottom:20px}
  .cat-grid{grid-template-columns:1fr;gap:25px}
  .cat-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px;gap:10px}
  .cat-form>button{grid-column:span 1;justify-self:stretch}
  .cat-form>label:nth-last-child(2){grid-column:auto}
  .cat-atlasnote{font-size:8px;bottom:4px;left:4px}
  .cat-atlasresult .cat-card{display:block}
  .cat-atlasresult .cat-cardbody{padding-top:14px}
  .cat-smallcmp span{display:inline}
  .cat-mosaic{grid-template:1.8fr 1fr / repeat(2,minmax(0,1fr));height:335px;gap:4px}
  .cat-mosaic button:first-child{grid-column:span 2;grid-row:auto}
  .cat-mosaic button>span{font-size:10px;right:6px;bottom:6px;padding:6px}
  .cat-detailcols{display:flex;flex-direction:column}
  .cat-summary{width:100%;box-sizing:border-box}
  .cat-facts{gap:20px}
  .cat-dialog header{padding:13px}
  .cat-filmstripe button{height:40px}
  .cat-tablewrap th,.cat-tablewrap td{min-width:140px;padding:12px}
  .cat-tablewrap thead img{height:85px}
}
@media(prefers-reduced-motion:reduce){.cat-card img,.cat-mosaic img{transition:none!important}}

.cat-management{margin-top:22px;border:1px solid var(--cat-line);border-radius:13px;background:#edf3e6;padding:18px 20px}
.cat-management h3{margin:4px 0 6px;font-size:21px;letter-spacing:-.025em}
.cat-management p{margin:0 0 12px;max-width:57ch;font-size:14px;line-height:1.55;color:var(--cat-muted)}
.cat-management a{background:#fff;color:var(--cat-ink)}
.cat-map-select{align-self:flex-start;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 12px 0;padding:6px 9px;border:1px solid #c8d5c8;border-radius:7px;background:#fafcf6;color:#234d36;font-size:12px}
.cat-map-select span{display:inline-flex;align-items:center;gap:4px}
.cat-map-select select{max-width:100%;border:0;background:transparent;font-size:12px}
.cat-atlasmap>svg{direction:ltr}
.cat-credits{text-decoration:underline;text-underline-offset:2px}

@media(max-width:700px){#cat-filters .cat-q{grid-column:auto}#cat-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#cat-filters>button{grid-column:auto;justify-self:stretch}}
