:root{--navy:#173f5f;--navy2:#0e2a3e;--ink:#1f303a;--muted:#66747b;--cream:#f6f1e8;--cream2:#efe5d5;--gold:#b88949;--line:#dedbd4;--white:#fff;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit}.wrap{width:min(1180px,calc(100% - 56px));margin:auto}.site-header{background:#fff;border-bottom:1px solid #efefec;position:sticky;top:0;z-index:50}.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}.brand img{display:block;width:224px;height:58px;object-fit:contain;object-position:left center}.site-header nav{display:flex;align-items:center;gap:34px}.site-header nav a{text-decoration:none;color:#25475e;font-size:16px;font-weight:500}.site-header nav a:hover{color:var(--gold)}.menu-btn{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-weight:700;color:var(--navy)}
h1,h2,h3{margin-top:0;color:var(--ink);line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(42px,5vw,66px);font-weight:800;margin-bottom:24px}h2{font-size:clamp(30px,3.2vw,43px);font-weight:800;margin-bottom:16px}h3{font-size:24px;font-weight:800;margin-bottom:13px}p{margin:0 0 20px}.eyebrow{color:var(--gold);font-size:13px;line-height:1.2;letter-spacing:.15em;font-weight:800;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 25px;background:var(--navy);border:1px solid var(--navy);border-radius:12px;text-decoration:none;color:#fff;font-weight:800;cursor:pointer}.btn:hover{background:#0d3048}.btn.ghost{background:#fff;color:var(--navy);border-color:#d9d6cf}.btn.small{min-height:44px;padding:10px 16px}.text-link{color:var(--navy);text-decoration:none;font-weight:800}.text-link:hover{color:var(--gold)}
.home-hero{background:var(--cream2);padding:86px 0 82px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.72fr);gap:78px;align-items:start}.hero-copy{padding-top:8px}.hero-copy h1{max-width:720px;margin-top:20px}.hero-copy>p{font-size:20px;line-height:1.6;color:#4d5c63;max-width:700px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}.trust-line{display:flex;gap:26px;flex-wrap:wrap;margin-top:35px;font-size:14px;color:#56666d}.hero-search{background:#fff;border-radius:24px;padding:34px 34px 32px;box-shadow:0 1px 0 rgba(22,44,56,.04)}.hero-search .eyebrow{margin-bottom:12px}.hero-search h2{font-size:34px;max-width:260px}.hero-search>p{font-size:16px;color:#4f5d63}.hero-search .hotel-search{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px}.hero-search .hotel-search label{grid-column:auto}.hero-search .hotel-search .btn{grid-column:auto;width:100%;min-height:48px}.hero-search .hotel-search input,.hero-search .hotel-search select{height:48px}
.hotel-search{display:grid;grid-template-columns:2fr 1.1fr 1.1fr .7fr auto;gap:12px;margin-top:24px;align-items:end}.hotel-search label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#334b5a}.hotel-search input,.hotel-search select{height:52px;border:1px solid #d9d6cf;border-radius:10px;background:#fff;padding:0 13px;font:inherit;color:var(--ink);outline:0}.hotel-search input:focus,.hotel-search select:focus{border-color:#8097a5;box-shadow:0 0 0 3px rgba(23,63,95,.08)}.hotel-search .btn{height:52px;min-height:52px}
.cards-section,.city-section,.content-section{padding:78px 0}.regions-home{background:#f8f5ef}.cards-section.alt{background:var(--cream2)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:13px 0 34px}.section-head p{color:#59676d;max-width:730px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #dedbd4;border-radius:22px;padding:28px 28px 26px;min-height:270px;display:flex;flex-direction:column}.card>span{font-size:12px;color:#7a8387}.card h2,.card h3{margin-top:auto}.card h2{font-size:27px}.card p{font-size:16px;color:#69777d;flex:1}.card>a{font-weight:800;text-decoration:none;color:var(--navy)}.card:hover{border-color:#c8c2b6;box-shadow:0 14px 28px rgba(31,48,58,.06)}
.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stay-card{display:flex;flex-direction:column;min-height:330px;padding:28px 28px 25px;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:22px;text-decoration:none}.stay-card>b{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;background:#f4e4c9;color:var(--navy);font-size:20px;margin-bottom:23px}.stay-card h2,.stay-card h3{font-size:26px}.stay-card p{font-size:16px;line-height:1.6;color:#6c797f;flex:1}.stay-card>span{font-weight:800;color:var(--navy)}.stay-card:hover{box-shadow:0 14px 28px rgba(31,48,58,.06)}
.city-section{background:#faf8f3}.chip-list{display:flex;gap:11px 12px;flex-wrap:wrap}.chip-list a{display:inline-flex;padding:9px 15px;background:#fff;border:1px solid #dedbd4;border-radius:999px;text-decoration:none;color:#344b5a}.chip-list a:hover{border-color:#bdb5a8;color:var(--navy)}
.search-section{padding:62px 0;background:#f8f5ef;border-top:1px solid #eee9e1}.search-section>div>p{color:#65747a;max-width:760px}.bottom-search{background:#fff}.location-hero,.listing-hero{padding:62px 0 54px;background:var(--cream2)}.location-hero h1,.listing-hero h1{font-size:clamp(40px,4.4vw,58px);max-width:970px;margin-top:17px}.location-hero p,.listing-hero p{font-size:19px;color:#55656b;max-width:860px}.map-section{padding:54px 0;background:#f8f5ef}.map-section .section-head{margin-top:10px}.map-frame{height:min(650px,70vh);min-height:500px;border:1px solid #d8d5cf;border-radius:18px;overflow:hidden;background:#eef1f2}.map-frame iframe{display:block;border:0;width:100%;height:100%}.map-note{font-size:13px;color:#68767c;margin-top:12px}.map-note a{color:var(--navy);font-weight:800}.content-narrow{max-width:880px}.content-section p{font-size:17px;color:#465a65}.affiliate-note{background:#f8f5ef;border-left:4px solid var(--gold);padding:16px 18px;border-radius:5px}.faq{margin:20px 0 30px;border-top:1px solid #ddd8cf}.faq details{padding:16px 0;border-bottom:1px solid #ddd8cf}.faq summary{font-weight:800;cursor:pointer;color:#263d4b}.faq p{font-size:15px;margin:10px 0 0}.region-box{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding:25px;background:#f8f5ef;border:1px solid #e1ddd5;border-radius:16px}.region-box p{font-size:14px;margin:0}.destination-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0 38px}.destination-links a{display:flex;justify-content:space-between;padding:14px 16px;background:#fff;border:1px solid #ddd9d0;border-radius:11px;text-decoration:none;font-weight:800;color:#2c4656}.city-list-section{padding:50px 0 76px;background:#f8f5ef}.city-list{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.city-list>a{display:grid;grid-template-columns:1fr auto;column-gap:12px;background:#fff;border:1px solid #ddd9d0;border-radius:16px;padding:18px;text-decoration:none}.city-list strong{font-size:18px}.city-list span{grid-column:1;color:#6c797f;font-size:14px;margin-top:4px}.city-list b{grid-row:1/3;grid-column:2;align-self:center;color:var(--gold);font-size:20px}
.steps{background:#102b3d;color:#fff;padding:74px 0}.steps-layout{display:grid;grid-template-columns:1.2fr 2fr;gap:48px;align-items:start}.steps .eyebrow{color:#c89b5d}.steps h2{color:#fff;font-size:40px;max-width:330px;margin-top:14px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-grid>div{min-height:190px;padding:22px;background:#213d51;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:18px}.step-grid b{font-size:29px;line-height:1;color:#e4b56e}.step-grid span{font-size:16px;line-height:1.55;color:#eff3f5}footer{background:#0b202d;color:#cbd5da;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr .9fr .9fr;gap:36px}.footer-grid h3{font-size:17px;color:#fff;letter-spacing:0}.footer-grid p{font-size:14px;line-height:1.7}.footer-grid a{color:#fff;text-decoration:none}.copyright{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:31px;font-size:12px;color:#91a2ac}
@media(max-width:980px){.site-header nav{gap:18px}.site-header nav a{font-size:14px}.hero-grid{grid-template-columns:1.1fr .9fr;gap:38px}.card-grid,.stay-grid{grid-template-columns:repeat(2,1fr)}.hotel-search{grid-template-columns:1fr 1fr}.hotel-search label:first-child{grid-column:1/3}.hotel-search .btn{grid-column:1/3}.steps-layout{grid-template-columns:1fr}.steps h2{max-width:620px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wrap{width:min(100% - 30px,1180px)}.nav-wrap{height:76px}.brand img{width:184px;height:50px}.menu-btn{display:block}.site-header nav{display:none;position:absolute;top:68px;left:15px;right:15px;flex-direction:column;align-items:stretch;background:#fff;border:1px solid #ddd9d0;border-radius:14px;padding:10px;box-shadow:0 14px 30px rgba(31,48,58,.12)}.site-header nav.open{display:flex}.site-header nav a{padding:11px 9px;font-size:15px}.home-hero{padding:48px 0}.hero-grid{grid-template-columns:1fr}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:17px}.hero-search{padding:26px 22px;border-radius:18px}.hero-search h2{font-size:30px}.trust-line{gap:10px 20px}.card-grid,.stay-grid,.city-list{grid-template-columns:1fr}.hotel-search{grid-template-columns:1fr}.hotel-search label:first-child,.hotel-search .btn{grid-column:auto}.section-head{align-items:flex-start;flex-direction:column}.map-frame{height:68vh;min-height:520px}.location-hero,.listing-hero{padding:42px 0 36px}.hero-actions .btn{width:100%}.steps{padding:58px 0}.step-grid{grid-template-columns:1fr}.step-grid>div{min-height:auto}.footer-grid{grid-template-columns:1fr}.region-box{align-items:stretch;flex-direction:column}.destination-links{grid-template-columns:1fr}.cards-section,.city-section,.content-section{padding:56px 0}}
