@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap";*{box-sizing:border-box}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sand:#f5f0e8;--sand-dark:#eae2d0;--ink:#1a1612;--ink-light:#4a3f35;--sea:#2a6b8a;--sea-light:#4a8fad;--sea-pale:#d6eaf2;--white:#fdfcfa;--gold:#c8973a;--gold-light:#e8c06a;--text-muted:#7a6e65;--border:#1a16121f;--radius:4px;--radius-lg:10px;font-size:16px}body{background:var(--sand);color:var(--ink);min-height:100vh;font-family:DM Sans,sans-serif;line-height:1.6}nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f5f0e8eb;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{color:var(--ink);letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;text-decoration:none}.nav-logo span{color:var(--sea)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--ink-light);letter-spacing:.02em;font-size:.875rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--sea)}.nav-cta{border-radius:var(--radius);padding:8px 18px;background:var(--sea)!important;color:var(--white)!important;font-weight:500!important;transition:background .2s!important}.nav-cta:hover{background:var(--sea-light)!important}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:100px 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background:radial-gradient(70% 50% at 50% 80%,#2a6b8a1f 0%,#0000 70%),radial-gradient(40% 30% at 20% 20%,#c8973a14 0%,#0000 60%);position:absolute;inset:0}.hero-pattern{z-index:0;opacity:.04;background-image:radial-gradient(circle, var(--sea) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0}.hero-content{z-index:1;max-width:760px;position:relative}.hero-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-light);background:#c8973a12;border-radius:100px;margin-bottom:1.5rem;padding:6px 16px;font-size:.75rem;font-weight:500;display:inline-block}.hero h1{color:var(--ink);letter-spacing:-.01em;margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,7vw,5rem);font-weight:300;line-height:1.1}.hero h1 em{color:var(--sea);font-style:italic}.hero p{color:var(--ink-light);max-width:520px;margin:0 auto 3rem;font-size:1.1rem;font-weight:300;line-height:1.75}.search-box{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);align-items:center;gap:.75rem;width:100%;max-width:680px;padding:1rem;display:flex;box-shadow:0 8px 40px #1a161214}.search-field{flex-direction:column;flex:1;padding:0 .75rem;display:flex}.search-field+.search-field{border-left:1px solid var(--border)}.search-field label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:.7rem;font-weight:500}.search-field input,.search-field select{color:var(--ink);cursor:pointer;background:0 0;border:none;outline:none;width:100%;padding:0;font-family:DM Sans,sans-serif;font-size:.9rem}.search-field select{appearance:none}.search-btn{background:var(--sea);color:var(--white);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:14px 28px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;transition:background .2s}.search-btn:hover{background:var(--sea-light)}.hero-stats{justify-content:center;gap:3rem;margin-top:3rem;display:flex}.hero-stat{text-align:center}.hero-stat strong{color:var(--sea);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;line-height:1;display:block}.hero-stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}section{padding:6rem 2rem}.container{max-width:1100px;margin:0 auto}.section-header{text-align:center;margin-bottom:3.5rem}.section-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;font-size:.72rem;font-weight:500;display:block}.section-header h2{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;line-height:1.2}.section-header p{color:var(--text-muted);margin-top:.75rem;font-size:1rem;font-weight:300}.listings-section{background:var(--white)}.filters{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.filter-btn{border:1px solid var(--border);color:var(--ink-light);cursor:pointer;background:0 0;border-radius:100px;padding:8px 18px;font-family:DM Sans,sans-serif;font-size:.85rem;transition:all .2s}.filter-btn:hover,.filter-btn.active{background:var(--sea);color:var(--white);border-color:var(--sea)}.listings-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.75rem;display:grid}.listing-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:transform .25s,box-shadow .25s;overflow:hidden}.listing-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px #1a16121a}.listing-img{background:var(--sand-dark);height:220px;position:relative;overflow:hidden}.listing-img svg{width:100%;height:100%}.listing-badge{background:var(--white);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;border-radius:100px;padding:4px 10px;font-size:.72rem;font-weight:500;position:absolute;top:12px;left:12px}.listing-badge.featured{background:var(--gold);color:var(--white)}.listing-body{padding:1.25rem}.listing-location{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:.78rem}.listing-name{color:var(--ink);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:400;line-height:1.3}.listing-meta{color:var(--text-muted);gap:1rem;margin-bottom:1rem;font-size:.82rem;display:flex}.listing-meta span{align-items:center;gap:4px;display:flex}.listing-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.listing-price strong{color:var(--ink);font-size:1.15rem;font-weight:500}.listing-price span{color:var(--text-muted);font-size:.8rem}.listing-rating{color:var(--ink-light);align-items:center;gap:4px;font-size:.82rem;display:flex}.star{color:var(--gold);font-size:.9rem}.book-btn{background:var(--sea);color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;padding:8px 18px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;transition:background .2s}.book-btn:hover{background:var(--sea-light)}.areas-section{background:var(--sand)}.areas-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.area-card{border-radius:var(--radius-lg);cursor:pointer;border:1px solid var(--border);transition:transform .25s;position:relative;overflow:hidden}.area-card:hover{transform:scale(1.02)}.area-img{height:180px}.area-img svg{width:100%;height:100%}.area-info{background:var(--white);padding:1rem 1.25rem}.area-info h3{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:400}.area-info p{color:var(--text-muted);margin-top:2px;font-size:.82rem}.blog-section{background:var(--white)}.blog-grid{grid-template-columns:2fr 1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.blog-grid{grid-template-columns:1fr}}.blog-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--sand);cursor:pointer;transition:transform .2s;overflow:hidden}.blog-card:hover{transform:translateY(-3px)}.blog-img{height:200px}.blog-card.featured .blog-img{height:260px}.blog-img svg{width:100%;height:100%}.blog-body{padding:1.25rem}.blog-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--sea);margin-bottom:8px;font-size:.7rem;font-weight:500}.blog-body h3{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;line-height:1.35}.blog-card.featured .blog-body h3{font-size:1.4rem}.blog-body p{color:var(--text-muted);margin-top:8px;font-size:.83rem;line-height:1.6}.blog-meta{color:var(--text-muted);gap:1rem;margin-top:12px;font-size:.75rem;display:flex}.owners-section{background:var(--sea);color:var(--white)}.owners-section .section-header h2{color:var(--white)}.owners-section .section-eyebrow{color:var(--gold-light)}.owners-section .section-header p{color:#ffffffb3}.plans-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:860px;margin:0 auto;display:grid}@media (width<=700px){.plans-grid{grid-template-columns:1fr}}.plan-card{border-radius:var(--radius-lg);text-align:center;background:#ffffff14;border:1px solid #fff3;padding:2rem 1.5rem;transition:background .2s}.plan-card.popular{border-color:var(--gold-light);background:#ffffff26;position:relative}.popular-badge{background:var(--gold);color:var(--white);letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:4px 14px;font-size:.7rem;font-weight:500;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.plan-name{letter-spacing:.12em;text-transform:uppercase;color:#fff9;margin-bottom:1rem;font-size:.8rem}.plan-price{color:var(--white);font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:300;line-height:1}.plan-price sub{vertical-align:middle;font-size:1.2rem}.plan-period{color:#ffffff80;margin-bottom:1.5rem;font-size:.82rem}.plan-features{text-align:left;margin-bottom:2rem;list-style:none}.plan-features li{color:#fffc;border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding:6px 0;font-size:.85rem;display:flex}.plan-features li:before{content:"✓";color:var(--gold-light);flex-shrink:0;font-weight:500}.plan-btn{border-radius:var(--radius);cursor:pointer;width:100%;color:var(--white);background:0 0;border:1px solid #fff6;padding:11px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;transition:all .2s}.plan-btn:hover,.plan-card.popular .plan-btn{background:var(--white);color:var(--sea)}footer{background:var(--ink);color:#fff9;padding:4rem 2rem 2rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;display:grid}@media (width<=700px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-brand h3{color:var(--white);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:400}.footer-brand p{max-width:280px;font-size:.85rem;line-height:1.7}.footer-col h4{text-transform:uppercase;letter-spacing:.12em;color:var(--white);margin-bottom:1rem;font-size:.75rem;font-weight:500}.footer-col a{color:#ffffff8c;padding:4px 0;font-size:.85rem;text-decoration:none;transition:color .2s;display:block}.footer-col a:hover{color:var(--white)}.footer-bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding-top:1.5rem;font-size:.8rem;display:flex}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a161299;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;padding:2.5rem;overflow-y:auto}.modal-header{justify-content:space-between;margin-bottom:1.5rem;display:flex}.modal-header h2{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:400}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.4rem}.modal-img{border-radius:var(--radius);height:220px;margin-bottom:1.5rem;overflow:hidden}.modal-img svg{width:100%;height:100%}.modal-details{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.detail-item label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:3px;font-size:.72rem;display:block}.detail-item span{color:var(--ink);font-weight:500}.amenities{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.amenity-tag{border:1px solid var(--border);color:var(--ink-light);border-radius:100px;padding:5px 12px;font-size:.8rem}.booking-form input,.booking-form select{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--ink);background:var(--sand);outline:none;margin-bottom:.75rem;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:.9rem}.booking-form input:focus,.booking-form select:focus{border-color:var(--sea)}.book-confirm-btn{background:var(--sea);width:100%;color:var(--white);border-radius:var(--radius);cursor:pointer;border:none;padding:13px;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:500;transition:background .2s}.book-confirm-btn:hover{background:var(--sea-light)}.il-sunset{background:linear-gradient(160deg,#87ceeb 0%,#ffb347 50%,#ff6b6b 100%)}.il-sea{background:linear-gradient(#2a6b8a 0%,#4a8fad 40%,#87ceeb 100%)}.il-village{background:linear-gradient(#b0d4e8 0%,#f5f0e8 60%,#ddd5c0 100%)}.il-sunset2{background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%)}.il-beach{background:linear-gradient(#2980b9 0%,#6dd5fa 40%,#f5f0e8 70%,#d4c5a0 100%)}.il-windmill{background:linear-gradient(170deg,#a8edea 0%,#fed6e3 100%)}.il-market{background:linear-gradient(160deg,#f7971e 0%,#ffd200 100%)}.il-ferry{background:linear-gradient(#4facfe 0%,#00f2fe 100%)}@media (width<=600px){.hero h1{font-size:2.5rem}.search-box{flex-direction:column}.search-field+.search-field{border-left:none;border-top:1px solid var(--border);padding-top:.75rem}.hero-stats{gap:1.5rem}.listings-grid{grid-template-columns:1fr}nav .nav-links{display:none}}
