:root{--background:#faf8f3;--foreground:#183c3b;--card-foreground:#183c3b;--popover-foreground:#183c3b;--primary:#176660;--secondary:#eaf3f1;--secondary-foreground:#183c3b;--muted:#eaf3f1;--muted-foreground:#5c706d;--accent:#eaf3f1;--accent-foreground:#183c3b;--border:#d7e3df;--input:#d7e3df;--ring:#176660;--ink:#183c3b;--ocean:#176660;--gold:#e9bf62;--font-sans:"Inter",sans-serif;--font-serif:"Lora",Georgia,serif;--shadow-soft:0 12px 40px #183c3b0c}body{font-family:var(--font-sans)}.destination-title h2,.selection-heading h2,.stay-info h2,h1,h2{font-family:var(--font-serif)}a:focus-visible,button:focus-visible{outline-color:var(--primary)}.casa-header{height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:28px;padding:0 max(24px,calc((100vw - 1240px) / 2));position:relative;z-index:50}.casa-header .brand{display:flex;align-items:center;gap:11px;width:max-content;letter-spacing:0}.brand-sun{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--primary);background:var(--gold)}.brand-sun svg{width:21px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy b{font-family:var(--font-serif);font-size:22px;font-weight:600;letter-spacing:-.5px}.casa-header .brand-copy small{margin-top:7px;font-size:8px;font-weight:600;letter-spacing:.15em;color:var(--muted-foreground)}.casa-header .desktop-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.casa-header .desktop-nav>a{padding:10px 0;height:auto;min-height:44px}.casa-header .header-actions{gap:8px}.casa-header button{min-height:44px}.count-badge{min-width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--secondary);color:var(--ink);font-size:11px}.casa-header .mobile-menu,.casa-header .mobile-nav{display:none}.page-shell{max-width:1240px;padding:0 28px;margin:auto}.island-explorer{background:transparent;color:var(--ink);box-shadow:none;border-radius:0;overflow:visible;margin:42px 0 24px}.island-explorer .atlas-heading{padding:0 0 24px;align-items:end;gap:36px}.island-explorer .atlas-heading h1{font-family:var(--font-serif);font-size:clamp(36px,4.4vw,58px);font-weight:500;line-height:1.12;letter-spacing:-1.8px}.island-explorer .atlas-heading .eyebrow{color:var(--primary);font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:12px}.island-explorer .atlas-heading>p{color:var(--muted-foreground);max-width:340px;font-size:14px;line-height:1.7}.island-selector .atlas-stage{height:400px;background:#eaf3f1;border:1px solid var(--border);border-radius:12px;overflow:hidden}.island-selector .island-map{background:#eaf3f1}.island-map .selector-label{width:116px;min-height:48px;padding:6px 4px;background:#fffffff2;border:1px solid #d7e3df;border-radius:8px;color:var(--ink);text-shadow:none;box-shadow:0 3px 10px #183c3b0d;line-height:1.25}.selector-label strong{font-family:var(--font-sans);font-size:12px;font-weight:600;white-space:nowrap}.selector-label span{font-family:var(--font-sans);font-size:10px;color:var(--muted-foreground);margin-top:3px}.island-map .selector-label:focus-visible,.island-map .selector-label:hover{background:var(--primary);color:white;outline-color:var(--primary)}.selector-label:focus-visible span,.selector-label:hover span{color:white}.selector-credits{color:#506e66;background:#eaf3f1e8;padding:2px 6px;font-size:10px;bottom:6px;right:8px;border-radius:4px}.selector-footnote{padding:12px 0 0;color:var(--muted-foreground);font-size:12px}.map-demo-tag{background:#fff4d8;color:#735117;border:1px solid #dfcfaa;font-size:9px;letter-spacing:.08em}.atlas-controls{gap:6px}.atlas-controls button{width:44px;height:44px;border-radius:8px;color:var(--ink);border:1px solid var(--border);box-shadow:0 2px 8px #183c3b10}.island-explorer .atlas-breadcrumbs{padding:0 0 18px;color:var(--muted-foreground);font-size:12px}.atlas-breadcrumbs button{min-height:30px}.atlas-breadcrumbs button:hover,.atlas-breadcrumbs span{color:var(--primary)}.detailed-stage{height:470px;overflow:hidden;border-radius:12px;border:1px solid var(--border)}.detailed-map{background:#eaf3f1}.detailed-map .leaflet-tile-pane{filter:saturate(.78)}.detailed-stage .atlas-caption{left:14px;top:14px;font:500 12px var(--font-sans);border:1px solid var(--border);border-radius:6px;padding:9px 11px;box-shadow:0 2px 10px #183c3b0c;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detailed-stage .atlas-caption .map-demo-tag{margin:0}.map-marker-body{min-width:44px;min-height:44px;font-family:var(--font-sans)}.map-property-marker .map-marker-badge{background:white;color:var(--ink);border:2px solid white;box-shadow:0 2px 7px #183c3b30;min-height:32px;font-size:12px}.map-cluster-marker .map-marker-badge{background:var(--primary);color:white;border:3px solid white;min-width:40px;height:40px;font-size:13px}.map-property-marker.is-saved .map-marker-badge{border-color:var(--gold)}.map-cluster-marker.is-selected .map-marker-badge,.map-property-marker.is-selected .map-marker-badge{background:var(--primary);color:white;border-color:var(--gold);box-shadow:0 0 0 3px #e9bf6260}.map-marker-body:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:22px}.map-peek{background:white;color:var(--ink);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #183c3b26;max-height:280px;overflow:auto}.map-peek h2{font-family:var(--font-serif);font-size:18px;font-weight:500}.map-peek .peek-close,.peek-save{width:44px;height:44px}.peek-property{padding-top:12px}.peek-property>div{min-width:0}.peek-property p{color:var(--muted-foreground)}.peek-price{flex-wrap:wrap;font-size:12px!important;gap:4px!important}.peek-price strong{color:var(--ink)}.peek-price>span{font-size:10px}.peek-actions .primary-button{min-height:40px}.map-detail-footer{display:flex;justify-content:space-between;gap:16px;padding:12px 0;font-size:12px;color:var(--muted-foreground)}.map-detail-footer a{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--primary)}.map-empty-state,.map-tile-notice{position:absolute;z-index:600;background:#fffffff5;color:var(--ink);border:1px solid var(--border);border-radius:8px;padding:14px;box-shadow:var(--shadow-soft)}.map-tile-notice{left:14px;top:72px;width:min(330px,calc(100% - 84px));font-size:12px}.map-tile-notice button{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--primary);font-weight:600;min-height:40px}.map-empty-state{left:50%;top:50%;transform:translate(-50%,-50%);width:min(350px,calc(100% - 90px));display:grid;gap:6px;text-align:center;font-size:13px;pointer-events:none}.map-empty-state span{color:var(--muted-foreground);font-size:12px}.map-loading{color:var(--ink);background:#eaf3f1}.search-bar{margin:24px 0 0;border-radius:10px;box-shadow:0 4px 18px #183c3b06;background:#fff}.search-field label{font-size:9px;letter-spacing:.12em;color:var(--muted-foreground)}.search-field>svg{color:var(--primary)}.browse-tools{margin:16px 0 32px}.source-tabs button{min-height:44px;font-size:12px}.source-tabs button.selected{background:var(--primary);border-color:var(--primary);color:white}.filter-button{background:var(--primary);color:white;min-height:44px}.demo-notice{background:var(--secondary);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:6px;font-size:12px;color:var(--muted-foreground)}.demo-notice>span{color:var(--ink);background:var(--gold)}.selection-heading{margin-top:34px}.destination-title h2,.selection-heading h2{font-weight:500;letter-spacing:-.4px}.selection-heading h2 span{font-family:var(--font-sans);font-size:13px;color:var(--muted-foreground)}.discovery-stage{max-width:960px;margin:28px auto 48px}.stay-card{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);border-radius:10px;min-height:500px;box-shadow:var(--shadow-soft)}.stay-gallery{min-height:450px}.stay-info{padding:32px 30px}.stay-info h2{font-size:29px;line-height:1.2;font-weight:500}.stay-location{color:var(--primary);font-weight:600}.stay-facts{flex-wrap:wrap;gap:10px 15px;color:var(--muted-foreground);font-size:12px}.stay-description{font-size:14px;line-height:1.75;color:var(--muted-foreground)}.beach-feature{background:var(--secondary);color:var(--primary);border-color:var(--border)}.amenities{color:var(--muted-foreground)}.gallery-arrow{width:44px;height:44px}.gallery-tag,.photo-counter{font-size:10px}.primary-button,.save-button{background:var(--primary);color:white}.destination-areas{margin:36px 0}.island-directory-card{border-radius:10px;box-shadow:none}.island-directory-card>svg:first-child{fill:#d3dfc2;color:var(--primary)}.town-links a{border-radius:6px;min-height:44px}.town-links a.active{background:var(--primary);color:white}footer{background:white;color:var(--muted-foreground)}@media (max-width:900px){.casa-header{padding:0 20px;gap:14px}.casa-header .desktop-nav{gap:15px}.casa-header .brand-copy small{display:none}.page-shell{padding:0 20px}.stay-info{padding:26px 22px}}@media (max-width:760px){.casa-header{height:68px;grid-template-columns:1fr auto;padding:0 16px}.casa-header .desktop-nav{display:none}.casa-header .mobile-menu{display:inline-flex}.casa-header .mobile-nav{position:absolute;display:grid;right:12px;top:62px;width:250px;height:auto;padding:8px;background:white;border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px;gap:0}.casa-header .mobile-nav a,.casa-header .mobile-nav button{display:flex;align-items:center;gap:8px;min-height:44px;height:auto;padding:10px;border:0;background:transparent;color:var(--ink);font-weight:600;text-align:left}.casa-header .mobile-nav svg{width:17px}.brand-copy b{font-size:20px}.page-shell{padding:0 14px}.island-explorer{margin:28px 0 22px}.island-explorer .atlas-heading{padding:0 0 20px;gap:12px;flex-direction:column;align-items:start}.island-explorer .atlas-heading h1{font-size:36px;letter-spacing:-1px}.island-explorer .atlas-heading>p{max-width:100%;font-size:13px}.island-selector .atlas-stage{height:350px}.island-map .selector-label{width:102px}.selector-label strong{font-size:11px}.selector-label span{font-size:9px}.casa-header .header-actions:before{content:none}.selector-footnote{padding:10px 0 0;align-items:start;font-size:11px}.selector-footnote>span:first-child{max-width:220px}.selector-footnote .map-demo-tag{font-size:8px}.detailed-stage{height:420px}.detailed-stage .atlas-caption{left:10px;top:10px;max-width:calc(100% - 76px);font-size:11px}.detailed-stage .atlas-controls{top:10px;right:10px}.detailed-stage .map-peek{left:10px;bottom:28px;width:calc(100% - 20px);max-width:380px;max-height:240px}.map-detail-footer{font-size:11px;align-items:center}.map-detail-footer>span{max-width:55%}.browse-tools{gap:10px;flex-wrap:wrap}.source-tabs{display:flex;max-width:100%}.source-tabs button{padding:8px 10px;font-size:11px}.stay-card{grid-template-columns:1fr}.stay-gallery{min-height:330px}.stay-info{padding:25px 22px}.stay-info h2{font-size:26px}.discovery-stage{margin-top:24px}.selection-heading h2{font-size:24px}.gallery-arrow{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.casa-header nav button:before{content:none}.casa-header .mobile-nav button{font-size:13px}.island-selector .leaflet-interactive{filter:drop-shadow(0 2px 2px #183c3b18)}.detailed-map .leaflet-tile{mix-blend-mode:normal!important}.map-peek{width:390px;padding:14px}.peek-property{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding-top:0}.peek-property+.peek-property{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.peek-property>img{height:134px;width:88px;object-fit:cover;object-position:50% 65%}.peek-property>div{padding:0}.peek-property h2{padding-right:24px;font-size:17px}.peek-property .small-label{font-size:8px;letter-spacing:.07em;padding-right:25px;display:block}.map-peek .peek-close{top:4px;right:4px;width:32px;height:32px}.peek-actions .primary-button{font-size:12px;padding:8px}@media (max-width:420px){.peek-property{grid-template-columns:64px minmax(0,1fr);gap:9px}.peek-property>img{width:64px;height:132px}.peek-property h2{font-size:16px}.peek-property p{font-size:11px}}.map-unlocated{color:var(--muted-foreground)}.casa-header.owner-header{grid-template-columns:minmax(0,1fr) auto}