/* 0.49.0 Areas page: centred title, "Reading the market" guide, search + sort + island chips, three navy feature
   cards, a grid of light bordered cards, then the method. Site palette; the scale runs soft blue → brass. */
.cra-body{--ink:#18364a;--ink-deep:#0f2737;--muted:#4d6576;--soft:#f3f5f6;--sky:#dbe8f2;--line:rgba(24,54,74,.12);--accent:#3b6a8c;--ease:cubic-bezier(.32,.72,0,1);--scale:linear-gradient(90deg,#dbe8f2 0%,#9fbad0 42%,#5b84a3 70%,#18364a 100%);background:#fff}
.cra-body *{box-sizing:border-box}
.cra{color:var(--ink);padding:clamp(40px,6vw,80px) 0 clamp(64px,8vw,112px)}
.cra-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.cra-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.cra-head{max-width:720px;margin:0 auto;text-align:center}
:is(.cr-property-body) .cra h1,.cra h1{margin:0;font-family:Adamina,Georgia,serif!important;font-weight:400!important;font-size:clamp(42px,5.4vw,72px);line-height:1.05;color:var(--ink)}
:is(.cr-property-body) .cra-lead,.cra-lead{margin:18px auto 0;max-width:620px;font-size:16.5px;line-height:1.7;color:#3f5868}
:is(.cr-property-body) .cra h2,.cra h2{margin:0;font-family:Adamina,Georgia,serif!important;font-weight:400!important;color:var(--ink)}

/* Guide */
.cra-guide{margin:clamp(32px,4vw,48px) auto 0;max-width:980px;padding:clamp(22px,2.6vw,32px) clamp(20px,3vw,40px);border-radius:12px;background:var(--soft)}
.cra-guide h2{font-size:clamp(20px,1.8vw,24px);text-align:center}
.cra-guide-scale{margin:20px 0 0}
.cra-market-track{position:relative;display:block;width:84px;height:4px;border-radius:4px;background:var(--scale)}
.cra-market-track.is-large{width:100%;height:6px}
.cra-market-track i{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px #fff,0 1px 4px rgba(9,26,38,.3)}
.cra-guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:14px 0 0;padding:0;list-style:none}
.cra-guide-steps li{display:grid;gap:4px}
.cra-guide-steps li.is-balanced{text-align:center}
.cra-guide-steps li.is-seller{text-align:right}
:is(.cr-property-body) .cra-guide-steps strong,.cra-guide-steps strong{font-weight:500!important;font-size:14px;color:var(--ink)}
:is(.cr-property-body) .cra-guide-steps span,.cra-guide-steps span{font-size:13.5px;line-height:1.55;color:var(--muted)}
:is(.cr-property-body) .cra-guide-note,.cra-guide-note{margin:16px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}
.cra-guide-note a,.cra-method a{color:var(--ink)!important;text-underline-offset:3px}

/* Tools */
.cra-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:clamp(36px,4vw,52px) 0 14px}
.cra-search{position:relative;flex:0 1 360px;min-width:220px}
.cra-search svg{position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--muted);pointer-events:none}
.cra-search input{width:100%;height:46px;padding:0 18px 0 44px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:15px;transition:border-color 240ms var(--ease)}
.cra-search input::placeholder{color:var(--muted)}
.cra-search input:focus{outline:none;border-color:var(--ink)}
.cra-search input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cra-sort{display:inline-flex;gap:6px}
.cr-property-body .cra .cra-sort a,.cr-property-body .cra .cra-islands a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink)!important;font-size:13.5px;font-weight:400!important;text-decoration:none!important;transition:background-color 240ms var(--ease),color 240ms var(--ease),border-color 240ms var(--ease)}
.cr-property-body .cra .cra-sort a:hover,.cr-property-body .cra .cra-islands a:hover{border-color:var(--ink)}
.cr-property-body .cra .cra-sort a[aria-current],.cr-property-body .cra .cra-islands a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff!important}
.cra-islands{display:flex;gap:8px;margin:0 0 clamp(28px,3vw,40px);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.cra-islands::-webkit-scrollbar{display:none}
.cr-property-body .cra .cra-islands a{flex-shrink:0;min-height:36px;padding:0 14px;font-size:13px}
.cra-islands a span{font-size:11.5px;opacity:.7}

/* Section labels */
.cr-property-body .cra .cra-sub{margin:0 0 14px;font-family:'Clarity City',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif!important;font-weight:500!important;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cra .cra-sub[hidden]{display:none}
.cr-property-body .cra .cra-features+.cra-sub,.cr-property-body .cra .cra-grid+.cra-sub{margin-top:clamp(36px,4vw,52px)}

/* Cards */
.cra-features,.cra-grid{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.cra-features{grid-template-columns:repeat(3,minmax(0,1fr))}
.cra-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cra-card[hidden]{display:none}
.cra .cra-card a{display:flex;flex-direction:column;gap:16px;height:100%;padding:20px 20px 18px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink)!important;text-decoration:none!important;transition:transform 360ms var(--ease),box-shadow 360ms var(--ease),border-color 360ms var(--ease)}
.cra .cra-card a:hover{transform:translateY(-3px);border-color:rgba(24,54,74,.3);box-shadow:0 16px 34px -20px rgba(15,39,55,.35)}
.cra .cra-card a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cra .cra-card.is-feature a{min-height:clamp(230px,20vw,270px);padding:24px 24px 22px;border:0;background:radial-gradient(120% 90% at 100% 0%,#2a5374 0%,var(--ink) 52%,var(--ink-deep) 100%);color:#fff!important}
.cra .cra-card.is-feature a:hover{box-shadow:0 22px 44px -22px rgba(15,39,55,.6)}

.cra-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cr-property-body .cra-avg{font-size:13px;color:var(--muted)}
.cr-property-body .cra-avg b{font-weight:500!important;color:var(--ink)}
.cr-property-body .is-feature .cra-avg{color:var(--sky)}
.cr-property-body .is-feature .cra-avg b{color:#fff}
.cra-market{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:var(--soft);box-shadow:inset 0 0 0 1px var(--line)}
.is-feature .cra-market{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.cra-market .cra-market-track{width:44px;height:3px}
.cra-market .cra-market-track i{width:9px;height:9px;margin:-4.5px 0 0 -4.5px}
.is-feature .cra-market .cra-market-track i{background:#fff;box-shadow:0 0 0 2px var(--ink)}
.cr-property-body .cra-market-label{font-size:12px;font-weight:400!important;line-height:1;white-space:nowrap}
.cr-property-body .cra-market-label small{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}

.cra-card-name{display:grid;gap:3px;margin-top:auto}
.cr-property-body .cra-name{font-family:Adamina,Georgia,serif!important;font-weight:400!important;font-size:clamp(19px,1.6vw,22px);line-height:1.2}
.cr-property-body .is-feature .cra-name{font-size:clamp(25px,2.3vw,32px)}
.cr-property-body .cra-island{font-size:13px;color:var(--muted)}
.cr-property-body .is-feature .cra-island{color:var(--sky)}
.cra-card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cr-property-body .cra-count{font-size:13px;color:var(--muted)}
.cr-property-body .cra-count b{font-family:Adamina,Georgia,serif!important;font-weight:400!important;font-size:26px;color:var(--ink);margin-right:2px}
.cr-property-body .is-feature .cra-count{color:var(--sky)}
.cr-property-body .is-feature .cra-count b{font-size:38px;color:#fff}
.cr-property-body .cra-split{font-size:12.5px;color:var(--muted)}
.cr-property-body .is-feature .cra-split{color:var(--sky)}
.cr-property-body .cra-go{display:inline-flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.cra-go svg{width:16px;height:16px;transition:transform 360ms var(--ease)}
.cra-card a:hover .cra-go svg{transform:translateX(4px)}
.cr-property-body .is-feature .cra-go{border-top-color:rgba(255,255,255,.16);color:#fff}

/* Empty and method */
:is(.cr-property-body) .cra-empty,.cra-empty{margin:28px 0 0;font-size:15px;color:var(--muted)}
.cra-empty a{color:var(--ink)!important;text-underline-offset:3px}
.cra-method{max-width:780px;margin:clamp(48px,6vw,80px) 0 0;padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:96px}
.cra-method h2{font-size:clamp(20px,1.8vw,24px);margin-bottom:10px!important}
:is(.cr-property-body) .cra-method p,.cra-method p{margin:0 0 10px;font-size:14px;line-height:1.75;color:var(--muted)}

@media (max-width:1100px){.cra-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.cra-features{grid-template-columns:minmax(0,1fr)}.cra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cra .cra-card.is-feature a{min-height:210px}.cra-guide-steps{grid-template-columns:minmax(0,1fr);gap:12px}.cra-guide-steps li.is-balanced,.cra-guide-steps li.is-seller{text-align:left}}
@media (max-width:560px){.cra-wrap{width:calc(100% - 32px)}.cra-grid{grid-template-columns:minmax(0,1fr)}.cra-search{flex-basis:100%}.cra-sort{width:100%}.cr-property-body .cra .cra-sort a{flex:1;justify-content:center}}
@media (prefers-reduced-motion:reduce){.cra .cra-card a,.cra-go svg,.cra-search input{transition:none}.cra .cra-card a:hover{transform:none}}

/* 0.70.0 Island and area guides (/areas/<name>/): full-width photo with the name, a white figures card over its
   edge, the guide text beside "Why people choose …", current listings, communities on the island, navy closing band. */
.cag{color:var(--ink);padding:0 0 0}
.cag-wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.cag-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,56vh,560px);padding:calc(var(--crn-h,76px) + 40px) 0 104px;background:linear-gradient(180deg,rgba(9,26,38,.45) 0%,rgba(9,26,38,.1) 38%,rgba(9,26,38,.62) 100%),var(--cag-photo) center/cover no-repeat,var(--ink);color:#fff}
.cag-hero-inner{display:grid;gap:10px}
.cag-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.85)}
.cr-property-body .cag-crumbs a{color:#fff!important;text-decoration:none}
.cr-property-body .cag-crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
:is(.cr-property-body) .cag-eyebrow,.cag-eyebrow{margin:14px 0 0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9)}
:is(.cr-property-body) .cag h1,.cag h1{margin:0;font-family:Adamina,Georgia,serif!important;font-weight:400!important;font-size:clamp(44px,6vw,80px);line-height:1.02;color:#fff!important;text-wrap:balance}
:is(.cr-property-body) .cag-headline,.cag-headline{margin:6px 0 0;max-width:640px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:rgba(255,255,255,.92)}
.cag-facts{position:relative;z-index:2;margin-top:-64px;padding:22px clamp(18px,3vw,36px);border-radius:12px;background:#fff;box-shadow:0 22px 44px -26px rgba(9,26,38,.45),0 0 0 1px var(--line)}
.cag-facts dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 28px;margin:0}
.cag-facts dl>div{display:grid;gap:6px;min-width:0}
:is(.cr-property-body) .cag-facts dt,.cag-facts dt{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
:is(.cr-property-body) .cag-facts dd,.cag-facts dd{margin:0;font-family:Adamina,Georgia,serif;font-size:clamp(22px,2.2vw,28px);color:var(--ink);font-variant-numeric:tabular-nums}
.cag-facts dd.cag-market{font-family:inherit;font-size:14px}
:is(.cr-property-body) .cag-source,.cag-source{margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.cag-quiet{color:var(--muted);font-size:14px}
.cag-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(28px,5vw,72px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.cag-text{max-width:68ch}
:is(.cr-property-body) .cag-text p,.cag-text p{margin:0 0 18px;font-size:16.5px;line-height:1.75;color:#33495a}
:is(.cr-property-body) .cag-text .cag-intro,.cag-text .cag-intro{font-size:clamp(18px,1.7vw,21px);line-height:1.65;color:var(--ink)}
:is(.cr-property-body) .cag h2,.cag h2{margin:0 0 16px;font-family:Adamina,Georgia,serif!important;font-weight:400!important;font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--ink)}
.cag-text h2{margin-top:30px}
.cag-why{position:sticky;top:calc(var(--crn-h,76px) + 20px);padding:clamp(20px,2.4vw,28px);border-radius:12px;background:var(--soft)}
.cag-why h2{font-size:clamp(20px,1.8vw,24px)}
.cag-why ul{display:grid;gap:12px;margin:0 0 22px;padding:0;list-style:none}
:is(.cr-property-body) .cag-why li,.cag-why li{position:relative;padding-left:22px;font-size:15px;line-height:1.55;color:#33495a}
.cag-why li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.cr-property-body .cag-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:4px;background:var(--ink);color:#fff!important;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .3s}
.cr-property-body .cag-button:hover{background:var(--ink-deep)}
.cr-property-body .cag-button.is-light{background:#fff;color:var(--ink)!important}
.cr-property-body .cag-button.is-ghost{background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff!important}
.cag-why .cag-button{width:100%}
.cag-listings,.cag-areas{margin-top:clamp(48px,6vw,80px)}
.cag-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:22px}
.cag-section-head h2{margin:0}
.cr-property-body .cag-section-head a{display:inline-flex;align-items:center;gap:8px;color:var(--ink)!important;font-size:14px;text-underline-offset:3px}
.cag-section-head a svg{width:16px;height:16px}
.cag-areas ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cr-property-body .cag-areas a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink)!important;font-size:14px;text-decoration:none}
.cr-property-body .cag-areas a:hover{border-color:var(--ink)}
.cag-areas a span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.cag-cta{margin-top:clamp(56px,7vw,96px);padding:clamp(44px,6vw,72px) 0;background:var(--ink);color:#fff}
.cag-cta-inner{display:grid;gap:14px;justify-items:start}
:is(.cr-property-body) .cag-cta h2,.cag-cta h2{margin:0;color:#fff!important;max-width:720px}
:is(.cr-property-body) .cag-cta p,.cag-cta p{margin:0;max-width:620px;color:rgba(255,255,255,.85);font-size:16px;line-height:1.65}
.cag-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
@media(max-width:900px){.cag-main{grid-template-columns:1fr}.cag-why{position:static}.cag-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cag-wrap{width:calc(100% - 32px)}.cag-hero{min-height:420px;padding-bottom:96px}.cag-facts{padding:18px}.cag-cta-actions .cag-button{width:100%}}
/* 0.70.0 maps on guide pages (above the property cards) and on the Areas page (one marker per community). */
.cag-map-stage{position:relative;height:clamp(340px,42vw,480px);margin:0 0 28px;border-radius:12px;overflow:hidden;background:#e7eef2;box-shadow:0 0 0 1px var(--line)}
.cag-map-stage .cag-map{position:absolute;inset:0;height:100%;border-radius:0}
.cra-map{margin:clamp(36px,4vw,52px) 0 0}
.cra-map h2{font-size:clamp(22px,2vw,28px)}
:is(.cr-property-body) .cra-map-lead,.cra-map-lead{margin:8px 0 18px;font-size:14.5px;color:var(--muted)}
@media(max-width:560px){.cag-map-stage{height:360px}.cag-map-stage .cr-map-detail{left:10px;right:10px;width:auto}}
