:root{--cream:#F7F3EE;--linen:#EDE7DE;--warm-stone:#D5CFC5;--taupe:#9A9289;--slate:#6B6560;--charcoal:#3A3632;--espresso:#2C2825;--burnt-amber:#A67B5B;--ember:#C4956A;}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,238,.95);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(44,40,37,.06)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--espresso);text-decoration:none;letter-spacing:1px}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{font-size:14px;font-weight:400;color:var(--slate);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--ember);transition:width .3s}
.nav-links a:hover::after{width:100%}.nav-links a:hover{color:var(--espresso)}.nav-links a.active{color:var(--espresso);font-weight:500}.nav-links a.active::after{width:100%}
.nav-cta{background:transparent;border:1px solid var(--espresso);color:var(--espresso);padding:10px 24px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;font-family:'DM Sans',sans-serif}
.nav-cta:hover{background:var(--espresso);color:var(--cream)}
.page-hero{padding:140px 24px 60px;max-width:1280px;margin:0 auto}
.page-overline{font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--burnt-amber);margin-bottom:16px}
.page-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:300;color:var(--espresso);line-height:1.15;margin-bottom:16px}
.page-title em{font-style:italic;font-weight:400;color:var(--burnt-amber)}
.page-subtitle{font-size:16px;font-weight:300;color:var(--taupe);max-width:560px;line-height:1.7}
.filter-bar{max-width:1280px;margin:0 auto;padding:0 24px 40px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.filter-chip{padding:10px 20px;border-radius:100px;border:1px solid var(--warm-stone);background:var(--cream);font-family:'DM Sans',sans-serif;font-size:13px;color:var(--slate);cursor:pointer;transition:all .3s}
.filter-chip:hover{border-color:var(--burnt-amber);color:var(--espresso)}
.filter-chip.active{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.filter-divider{width:1px;height:24px;background:var(--warm-stone);margin:0 4px}
.filter-sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--taupe)}
.filter-sort select{border:1px solid var(--warm-stone);border-radius:8px;padding:8px 12px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--slate);background:var(--cream);cursor:pointer}
.results-section{max-width:1280px;margin:0 auto;padding:0 24px 100px}
.results-count{font-size:14px;color:var(--taupe);margin-bottom:24px}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.stay-card{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;background:var(--linen);transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s}
.stay-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(44,40,37,.12)}
.stay-card .card-image{position:relative;height:260px;overflow:hidden}
.stay-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .5s;filter:saturate(.85) brightness(.95)}
.stay-card:hover .card-image img{transform:scale(1.08);filter:saturate(.95) brightness(1)}
.stay-card .card-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(44,40,37,.6) 100%)}
.card-badge{position:absolute;top:16px;left:16px;background:rgba(247,243,238,.92);backdrop-filter:blur(8px);padding:6px 14px;border-radius:100px;font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--espresso);z-index:2}
.card-fav{position:absolute;top:16px;right:16px;width:38px;height:38px;background:rgba(247,243,238,.92);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .3s;border:none}
.card-fav:hover{transform:scale(1.1)}.card-fav svg{width:16px;height:16px;color:var(--taupe);transition:color .3s,fill .3s}
.card-fav.active svg,.card-fav:hover svg{color:#C75B5B;fill:#C75B5B}
.card-body{padding:20px;background:var(--cream)}
.card-loc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--taupe);margin-bottom:6px}
.card-loc svg{width:12px;height:12px;color:var(--burnt-amber)}
.card-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--espresso);margin-bottom:6px;line-height:1.3}
.card-desc{font-size:13px;color:var(--slate);line-height:1.6;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--linen)}
.card-rate{display:flex;align-items:center;gap:6px}.card-rate svg{width:14px;height:14px;color:var(--ember);fill:var(--ember)}
.card-rate span{font-size:14px;font-weight:500;color:var(--charcoal)}.card-rate small{font-size:12px;color:var(--taupe);font-weight:300}
.card-price{text-align:right}.card-price .from{font-size:11px;color:var(--taupe);text-transform:uppercase;letter-spacing:1px}
.card-price .amt{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--espresso)}.card-price .night{font-size:12px;color:var(--taupe)}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:60px}
.page-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--warm-stone);background:var(--cream);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--slate);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}
.page-btn:hover{border-color:var(--burnt-amber);color:var(--espresso)}.page-btn.active{background:var(--espresso);color:var(--cream);border-color:var(--espresso)}
.page-btn.arrow{width:auto;padding:0 16px}
.footer{background:var(--espresso);padding:60px 24px 40px;text-align:center}
.footer p{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;font-style:italic;color:var(--warm-stone);max-width:600px;margin:0 auto 32px;line-height:1.5}
.footer .cta{display:inline-block;background:var(--ember);color:var(--espresso);padding:16px 40px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.5px;text-decoration:none;transition:all .3s}
.footer .cta:hover{background:var(--cream);transform:translateY(-2px)}
.footer-bot{margin-top:48px;padding-top:24px;border-top:1px solid rgba(247,243,238,.08);font-size:12px;color:var(--taupe);letter-spacing:.5px}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.23,1,.32,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.results-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.nav-links{display:none}.nav{padding:16px 20px}.results-grid{grid-template-columns:1fr}.filter-bar{gap:8px}.filter-divider{display:none}.filter-sort{width:100%;margin-left:0;margin-top:8px}}

:root{--cream:#F7F3EE;--linen:#EDE7DE;--warm-stone:#D5CFC5;--taupe:#9A9289;--slate:#6B6560;--charcoal:#3A3632;--espresso:#2C2825;--burnt-amber:#A67B5B;--ember:#C4956A;}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,238,.95);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(44,40,37,.06)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--espresso);text-decoration:none;letter-spacing:1px}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{font-size:14px;font-weight:400;color:var(--slate);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--ember);transition:width .3s}
.nav-links a:hover::after{width:100%}.nav-links a:hover{color:var(--espresso)}
.nav-cta{background:transparent;border:1px solid var(--espresso);color:var(--espresso);padding:10px 24px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;font-family:'DM Sans',sans-serif}
.nav-cta:hover{background:var(--espresso);color:var(--cream)}
.loc-hero{position:relative;height:60vh;min-height:480px;display:flex;align-items:flex-end;overflow:hidden}
.loc-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.65) brightness(.72);z-index:0}
.loc-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,40,37,.2) 0%,rgba(44,40,37,.75) 100%);z-index:1}
.loc-hero-content{position:relative;z-index:2;max-width:1280px;width:100%;margin:0 auto;padding:60px 24px}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--warm-stone);margin-bottom:16px}
.breadcrumb a{color:var(--warm-stone);text-decoration:none;transition:color .3s}.breadcrumb a:hover{color:var(--cream)}
.breadcrumb svg{width:14px;height:14px;color:var(--taupe)}
.loc-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;color:var(--cream);line-height:1.1;margin-bottom:12px}
.loc-title em{font-style:italic;font-weight:400;color:var(--ember)}
.loc-meta{display:flex;gap:24px;font-size:14px;color:var(--warm-stone);font-weight:300}
.loc-meta span{display:flex;align-items:center;gap:6px}.loc-meta svg{width:14px;height:14px;color:var(--ember)}
.about-section{max-width:1280px;margin:0 auto;padding:80px 24px 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.about-text h2{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--espresso);margin-bottom:20px;line-height:1.2}
.about-text h2 em{font-style:italic;font-weight:400;color:var(--burnt-amber)}
.about-text p{font-size:15px;color:var(--slate);line-height:1.8;margin-bottom:16px}
.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.highlight{display:flex;align-items:flex-start;gap:12px;padding:18px;background:var(--linen);border-radius:14px}
.highlight svg{width:20px;height:20px;color:var(--burnt-amber);flex-shrink:0;margin-top:2px}
.highlight div{font-size:13px;color:var(--charcoal);line-height:1.5}
.highlight div strong{display:block;font-size:14px;margin-bottom:2px;color:var(--espresso)}
.about-image{border-radius:20px;overflow:hidden;aspect-ratio:4/5}
.about-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.88);transition:all .6s}
.about-image:hover img{filter:saturate(.85) brightness(.92);transform:scale(1.03)}
.stays-section{max-width:1280px;margin:0 auto;padding:40px 24px 100px}
.stays-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}
.stays-header h2{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--espresso)}
.stays-header h2 em{font-style:italic;font-weight:400;color:var(--burnt-amber)}
.stays-count{font-size:14px;color:var(--taupe)}
.stays-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.stay-card{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;background:var(--linen);transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s}
.stay-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(44,40,37,.12)}
.stay-card .card-image{position:relative;height:260px;overflow:hidden}
.stay-card .card-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .5s;filter:saturate(.85) brightness(.95)}
.stay-card:hover .card-image img{transform:scale(1.08);filter:saturate(.95) brightness(1)}
.stay-card .card-image::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(44,40,37,.6) 100%)}
.card-badge{position:absolute;top:16px;left:16px;background:rgba(247,243,238,.92);backdrop-filter:blur(8px);padding:6px 14px;border-radius:100px;font-size:11px;font-weight:500;letter-spacing:.5px;color:var(--espresso);z-index:2}
.card-fav{position:absolute;top:16px;right:16px;width:38px;height:38px;background:rgba(247,243,238,.92);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .3s;border:none}
.card-fav:hover{transform:scale(1.1)}.card-fav svg{width:16px;height:16px;color:var(--taupe);transition:color .3s,fill .3s}
.card-fav.active svg,.card-fav:hover svg{color:#C75B5B;fill:#C75B5B}
.card-body{padding:20px;background:var(--cream)}
.card-loc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--taupe);margin-bottom:6px}
.card-loc svg{width:12px;height:12px;color:var(--burnt-amber)}
.card-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;color:var(--espresso);margin-bottom:6px;line-height:1.3}
.card-desc{font-size:13px;color:var(--slate);line-height:1.6;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--linen)}
.card-rate{display:flex;align-items:center;gap:6px}.card-rate svg{width:14px;height:14px;color:var(--ember);fill:var(--ember)}
.card-rate span{font-size:14px;font-weight:500;color:var(--charcoal)}.card-rate small{font-size:12px;color:var(--taupe);font-weight:300}
.card-price{text-align:right}.card-price .from{font-size:11px;color:var(--taupe);text-transform:uppercase;letter-spacing:1px}
.card-price .amt{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--espresso)}.card-price .night{font-size:12px;color:var(--taupe)}
.nearby-section{max-width:1280px;margin:0 auto;padding:0 24px 100px}
.nearby-header{margin-bottom:36px}.nearby-header h2{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--espresso)}
.nearby-header h2 em{font-style:italic;font-weight:400;color:var(--burnt-amber)}
.nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.nearby-card{position:relative;height:240px;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .4s}
.nearby-card:hover{transform:translateY(-4px)}
.nearby-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s;filter:saturate(.7) brightness(.88)}
.nearby-card:hover img{transform:scale(1.08);filter:saturate(.85) brightness(.92)}
.nearby-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(44,40,37,.7) 100%)}
.nearby-content{position:absolute;bottom:0;left:0;right:0;padding:20px;z-index:2}
.nearby-name{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:500;color:var(--cream)}
.nearby-dist{font-size:12px;color:var(--warm-stone);font-weight:300}
.footer{background:var(--espresso);padding:60px 24px 40px;text-align:center}
.footer p{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;font-style:italic;color:var(--warm-stone);max-width:600px;margin:0 auto 32px;line-height:1.5}
.footer .cta{display:inline-block;background:var(--ember);color:var(--espresso);padding:16px 40px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.5px;text-decoration:none;transition:all .3s}
.footer .cta:hover{background:var(--cream);transform:translateY(-2px)}
.footer-bot{margin-top:48px;padding-top:24px;border-top:1px solid rgba(247,243,238,.08);font-size:12px;color:var(--taupe);letter-spacing:.5px}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.23,1,.32,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.stays-grid{grid-template-columns:repeat(2,1fr)}.nearby-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.nav-links{display:none}.nav{padding:16px 20px}.loc-hero{min-height:380px}.about-section{grid-template-columns:1fr;gap:40px;padding:60px 20px 20px}.about-highlights{grid-template-columns:1fr}.stays-grid{grid-template-columns:1fr;padding:20px 20px 60px}.nearby-grid{grid-template-columns:1fr}.stays-header{flex-direction:column;align-items:flex-start;gap:8px}}

:root{--cream:#F7F3EE;--linen:#EDE7DE;--warm-stone:#D5CFC5;--taupe:#9A9289;--slate:#6B6560;--charcoal:#3A3632;--espresso:#2C2825;--burnt-amber:#A67B5B;--ember:#C4956A;}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;-webkit-font-smoothing:antialiased}
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 40px;display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,238,.95);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(44,40,37,.06)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--espresso);text-decoration:none;letter-spacing:1px}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{font-size:14px;font-weight:400;color:var(--slate);text-decoration:none;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--ember);transition:width .3s}
.nav-links a:hover::after{width:100%}.nav-links a:hover{color:var(--espresso)}.nav-links a.active{color:var(--espresso);font-weight:500}.nav-links a.active::after{width:100%}
.nav-cta{background:transparent;border:1px solid var(--espresso);color:var(--espresso);padding:10px 24px;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;font-family:'DM Sans',sans-serif}
.nav-cta:hover{background:var(--espresso);color:var(--cream)}
.hero{position:relative;height:55vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(58,54,50,.25) 0%,rgba(58,54,50,.65) 100%),url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=80') center/cover no-repeat;filter:saturate(.7) brightness(.82);z-index:0}
.hero-content{position:relative;z-index:2;max-width:1280px;width:100%;margin:0 auto;padding:60px 24px}
.hero-overline{font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--warm-stone);margin-bottom:16px}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--cream);line-height:1.1;margin-bottom:12px}
.hero-title em{font-style:italic;font-weight:400;color:var(--ember)}
.hero-subtitle{font-size:16px;font-weight:300;color:var(--warm-stone);max-width:480px;line-height:1.7}
.section{max-width:1280px;margin:0 auto;padding:80px 24px}
.section-header{text-align:center;margin-bottom:48px}
.section-overline{font-family:'Cormorant Garamond',serif;font-size:13px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--burnt-amber);margin-bottom:12px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;color:var(--espresso);line-height:1.2}
.section-title em{font-style:italic;font-weight:400;color:var(--burnt-amber)}
.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:80px}
.featured-card{position:relative;height:420px;border-radius:24px;overflow:hidden;cursor:pointer;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.featured-card:first-child{grid-column:span 2;height:480px}
.featured-card:hover{transform:translateY(-6px)}
.featured-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .5s;filter:saturate(.72) brightness(.88)}
.featured-card:hover img{transform:scale(1.08);filter:saturate(.88) brightness(.92)}
.featured-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(44,40,37,.1) 0%,rgba(44,40,37,.72) 100%);transition:opacity .5s}
.featured-card:hover::after{opacity:.85}
.featured-content{position:absolute;bottom:0;left:0;right:0;padding:36px;z-index:2;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.featured-card:hover .featured-content{transform:translateY(-6px)}
.featured-name{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:500;color:var(--cream);margin-bottom:8px}
.featured-meta{display:flex;gap:20px;font-size:14px;color:var(--warm-stone);font-weight:300}
.featured-meta span{display:flex;align-items:center;gap:6px}
.featured-meta svg{width:14px;height:14px;color:var(--ember)}
.featured-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:500;color:var(--ember);text-decoration:none;opacity:0;transform:translateY(8px);transition:all .4s}
.featured-card:hover .featured-link{opacity:1;transform:translateY(0)}
.featured-link svg{width:16px;height:16px;transition:transform .3s}
.featured-link:hover svg{transform:translateX(4px)}
.all-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.region-card{position:relative;height:340px;border-radius:20px;overflow:hidden;cursor:pointer;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.region-card:hover{transform:translateY(-6px)}
.region-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .5s;filter:saturate(.7) brightness(.88)}
.region-card:hover img{transform:scale(1.1);filter:saturate(.85) brightness(.92)}
.region-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(44,40,37,.7) 100%)}
.region-content{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:2}
.region-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--cream);margin-bottom:4px}
.region-count{font-size:13px;color:var(--warm-stone);font-weight:300}
.map-section{max-width:1280px;margin:0 auto 100px;padding:0 24px}
.map-container{position:relative;height:400px;border-radius:24px;overflow:hidden;background:var(--linen)}
.map-container img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) sepia(.15) brightness(.95)}
.map-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(44,40,37,.35)}
.map-cta{text-align:center;color:var(--cream)}
.map-cta h3{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;margin-bottom:12px}
.map-cta p{font-size:15px;font-weight:300;color:var(--warm-stone);margin-bottom:24px}
.map-btn{display:inline-flex;align-items:center;gap:8px;background:var(--cream);color:var(--espresso);padding:14px 32px;border-radius:100px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;border:none;cursor:pointer}
.map-btn:hover{background:var(--ember);color:var(--espresso);transform:translateY(-2px)}
.footer{background:var(--espresso);padding:60px 24px 40px;text-align:center}
.footer p{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;font-style:italic;color:var(--warm-stone);max-width:600px;margin:0 auto 32px;line-height:1.5}
.footer .cta{display:inline-block;background:var(--ember);color:var(--espresso);padding:16px 40px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.5px;text-decoration:none;transition:all .3s}
.footer .cta:hover{background:var(--cream);transform:translateY(-2px)}
.footer-bot{margin-top:48px;padding-top:24px;border-top:1px solid rgba(247,243,238,.08);font-size:12px;color:var(--taupe);letter-spacing:.5px}
.reveal{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.23,1,.32,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.all-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.nav-links{display:none}.nav{padding:16px 20px}.hero{min-height:360px}.featured-grid{grid-template-columns:1fr}.featured-card:first-child{grid-column:span 1;height:360px}.featured-card{height:360px}.all-grid{grid-template-columns:1fr}.section{padding:60px 20px}}
/* --- NEW HOMEPAGE STYLES --- */

/* 1. Full Viewport Hero */
.hero.full-viewport {
  height: 100vh;
  min-height: 800px;
  align-items: center;
  justify-content: center;
}
.hero-content.text-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -60px;
}
.hero-content.text-center .hero-subtitle {
  text-align: center;
  margin: 0 auto 32px;
}

/* Glassmorphism Bottom Bar */
.hero-bottom-bar {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
.hero-stats {
  display: flex;
  align-items: center;
  gap: 24px;
  background: rgba(247, 243, 238, 0.85);
  backdrop-filter: blur(12px);
  padding: 16px 32px;
  border-radius: 100px;
  box-shadow: 0 10px 30px rgba(44, 40, 37, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.stat-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--charcoal);
}
.stat-item strong {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 500;
  color: var(--espresso);
}
.stars {
  display: flex;
  gap: 4px;
  color: var(--ember);
}
.stars svg {
  width: 14px;
  height: 14px;
}
.stat-divider {
  width: 1px;
  height: 24px;
  background: var(--warm-stone);
  opacity: 0.5;
}

/* 2. Find Your Style Grid */
.style-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.style-card {
  background: var(--cream);
  border: 1px solid var(--linen);
  border-radius: 16px;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}
.style-card:hover {
  transform: translateY(-8px);
  border-color: var(--burnt-amber);
  box-shadow: 0 20px 40px rgba(44, 40, 37, 0.06);
  background: #fff;
}
.style-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--linen);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  color: var(--charcoal);
  transition: all 0.4s;
}
.style-card:hover .style-icon {
  background: var(--burnt-amber);
  color: var(--cream);
}
.style-icon svg {
  width: 24px;
  height: 24px;
}
.style-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 500;
  color: var(--espresso);
  margin-bottom: 4px;
}
.style-count {
  font-size: 13px;
  color: var(--taupe);
  font-weight: 300;
}

/* 3. Value Prop Section (Dark) */
.value-prop-section {
  background: var(--charcoal);
  color: var(--cream);
  padding: 120px 24px;
  position: relative;
  overflow: hidden;
}
.vp-container {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.vp-overline {
  font-family: 'Cormorant Garamond', serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--ember);
  margin-bottom: 16px;
}
.vp-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 300;
  color: var(--cream);
  line-height: 1.1;
  margin-bottom: 24px;
}
.vp-title em {
  font-style: italic;
  font-weight: 400;
  color: var(--burnt-amber);
}
.vp-body {
  font-size: 16px;
  font-weight: 300;
  color: var(--warm-stone);
  line-height: 1.7;
  margin-bottom: 40px;
  max-width: 480px;
}
.vp-metrics {
  display: flex;
  gap: 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 32px;
}
.vp-metric {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vp-metric strong {
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  font-weight: 300;
  color: var(--cream);
}
.vp-metric span {
  font-size: 13px;
  color: var(--taupe);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.vp-images {
  position: relative;
  height: 600px;
}
.vp-img-left {
  position: absolute;
  top: 40px;
  left: 0;
  width: 55%;
  height: 480px;
  border-radius: 20px;
  overflow: hidden;
  z-index: 1;
}
.vp-img-right {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 55%;
  height: 480px;
  border-radius: 20px;
  overflow: hidden;
  z-index: 2;
  box-shadow: -20px 20px 60px rgba(0,0,0,0.3);
}
.vp-img-left img, .vp-img-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.8) brightness(0.9);
}

@media(max-width:1024px) {
  .style-grid { grid-template-columns: repeat(3, 1fr); }
  .vp-container { grid-template-columns: 1fr; gap: 40px; }
  .vp-images { height: 400px; }
}
@media(max-width:768px) {
  .hero-bottom-bar { display: none; }
  .style-grid { grid-template-columns: repeat(2, 1fr); }
  .vp-metrics { flex-direction: column; gap: 24px; }
}

/* Transparent Nav for Hero */
.nav-transparent {
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}
.nav-transparent .nav-logo, .nav-transparent .nav-links a {
    color: var(--cream) !important;
}
.nav-transparent .nav-cta {
    border-color: var(--cream) !important;
    color: var(--cream) !important;
}
.nav-transparent .nav-cta:hover {
    background: var(--cream) !important;
    color: var(--charcoal) !important;
}
