:root{--navy:#12334a;--teal:#078da0;--teal-dark:#087789;--aqua:#e8f5f3;--yellow:#ffb72c;--cream:#fff9eb;--ink:#183548;--muted:#6d7d84;--line:#d8e3e5;--white:#fff;--green:#48a75a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--shadow:0 18px 50px rgba(17,51,73,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;background:#fff}img{max-width:100%;height:auto}a{color:var(--teal-dark);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--navy)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;color:var(--navy);margin-top:0}h1{font-size:clamp(2.8rem,6vw,5.5rem);letter-spacing:-.045em}h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.025em}h3{font-size:1.65rem}.shell{width:min(1180px,calc(100% - 44px));margin-inline:auto}.narrow{max-width:840px}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:9999;left:20px;top:20px;background:#fff;padding:12px;color:var(--navy)}
.site-header{height:92px;background:#fff;border-bottom:1px solid #edf1f2;position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;text-decoration:none;color:var(--teal);margin-right:auto}.brand-mark{width:54px;height:54px;object-fit:contain}.brand-name{font-size:1.58rem;letter-spacing:-.055em}.brand-name strong{font-weight:800}.primary-nav .menu{display:flex;list-style:none;margin:0;padding:0;gap:30px}.primary-nav a{color:var(--navy);font-size:.94rem;font-weight:700;text-decoration:none}.primary-nav a:hover{color:var(--teal)}.header-search{width:50px;height:50px;border:0;background:var(--yellow);color:var(--navy);font-size:2rem;cursor:pointer;border-radius:2px}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;background:var(--navy);margin:5px}.header-search-form{display:none;position:absolute;right:0;left:0;top:91px;background:#fff;padding:22px;box-shadow:var(--shadow)}.header-search-form.open{display:block}.header-search-form label{font-weight:700;display:block;margin-bottom:8px}.header-search-form div{display:flex}.header-search-form input{flex:1;padding:14px;border:1px solid var(--line);font-size:1rem}.header-search-form button,.archive-filter button{background:var(--teal);color:#fff;border:0;padding:0 24px;font-weight:700}
.hero{background:radial-gradient(circle at 75% 23%,#fff1be 0,transparent 32%),linear-gradient(118deg,#edf8f5 0%,#fffaf0 58%,#fff5d7 100%);min-height:680px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;min-height:680px}.hero-copy{padding:70px 0 62px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem;color:var(--teal-dark);margin:0 0 22px}.eyebrow span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#dff2e5;color:var(--green);margin-right:8px}.hero h1{margin-bottom:25px}.hero h1 em{font-style:normal;color:var(--teal)}.hero-intro{font-size:1.28rem;max-width:680px;color:#526971;margin-bottom:30px}.finder{background:#fff;border:1px solid #ccdadd;border-radius:12px;padding:12px;box-shadow:var(--shadow);max-width:720px;display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch}.finder label{display:flex;align-items:center;gap:12px;padding:3px 15px;border-right:1px solid var(--line)}.finder label span:last-child{display:flex;flex-direction:column;min-width:0;flex:1}.finder small{color:var(--muted);font-size:.75rem}.finder select{border:0;background:#fff;color:var(--navy);font-size:.96rem;font-weight:700;padding:4px 22px 4px 0;width:100%}.field-icon{font-size:1.5rem;color:var(--teal)}.finder button,.button-primary{border:0;background:var(--teal);color:#fff;font-weight:800;padding:14px 24px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.finder button:hover,.button-primary:hover{background:var(--navy);color:#fff}.independent-note{color:#66777d;font-size:.82rem;margin-top:18px}.hero-art{position:relative;height:100%;min-height:600px}.sun{position:absolute;width:390px;height:390px;border-radius:50%;background:linear-gradient(135deg,#ffd365,#ffb027);right:-70px;bottom:20px}.hotel{position:absolute;width:310px;height:290px;background:#fff;right:30px;bottom:10px;border-radius:80px 80px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:80px 45px 35px;box-shadow:0 24px 60px rgba(80,57,0,.12)}.hotel:before{content:"";position:absolute;width:95px;height:20px;border-radius:10px;background:#fff;top:-18px;left:35px}.hotel i{background:#83d1d1;border-radius:2px}.palm{position:absolute;left:30px;bottom:30px;width:200px;height:390px;z-index:2}.palm b{position:absolute;left:90px;bottom:0;width:18px;height:290px;background:#795238;transform:rotate(8deg);border-radius:10px}.palm span,.palm span:before,.palm span:after{position:absolute;width:135px;height:44px;border-radius:100% 0 100% 0;background:#43a853;left:75px;top:48px;transform:rotate(16deg)}.palm span:before,.palm span:after{content:"";left:-85px;top:30px;transform:rotate(55deg)}.palm span:after{left:-35px;top:-45px;transform:rotate(110deg)}.promenade{position:absolute;background:#f9ead0;width:560px;height:100px;left:-50px;bottom:-55px;transform:rotate(-5deg);border-radius:50%}
.trust-strip{background:var(--navy);color:#fff}.trust-strip .shell{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.9rem}.trust-strip strong{color:#fff2bd}.trust-strip span:before{content:'✓';color:#77d68b;margin-right:7px}.section{padding-top:95px;padding-bottom:105px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.text-link,.card-link{font-weight:800;text-decoration:none}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.destination-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(17,51,73,.04)}.card-image{height:190px;position:relative;background:#dcefed}.card-image:before{content:'♿';position:absolute;font-size:3rem;color:rgba(255,255,255,.9);right:25px;bottom:15px}.card-image span{position:absolute;left:18px;top:16px;background:#fff;padding:5px 10px;border-radius:20px;font-size:.72rem;font-weight:700;color:var(--navy)}.gradient-1{background:linear-gradient(140deg,#4bb8c2,#186f8a)}.gradient-2{background:linear-gradient(140deg,#ffcb65,#f28d54)}.gradient-3{background:linear-gradient(140deg,#88c9a5,#3b8e76)}.card-body{padding:25px}.card-body h2,.card-body h3{margin-bottom:12px}.card-body h2{font-size:1.7rem}.card-body h3 a,.card-body h2 a{color:var(--navy);text-decoration:none}.card-body p{color:#64777f;font-size:.94rem}.airport{font-size:.78rem!important;border-top:1px solid var(--line);padding-top:12px}.guides-home{background:#f2f8f7}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px;min-height:320px;display:flex;flex-direction:column}.guide-card h2,.guide-card h3{font-size:1.65rem}.guide-card h2 a,.guide-card h3 a{text-decoration:none;color:var(--navy)}.guide-card p{color:#687980}.guide-card>a{margin-top:auto;font-weight:800;text-decoration:none}.guide-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--aqua);color:var(--teal);font-size:2rem;margin-bottom:24px}.story-band{padding:100px 0;background:var(--cream)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-grid p:not(.eyebrow){font-size:1.12rem}.button-secondary{display:inline-block;border:2px solid var(--teal);padding:11px 20px;text-decoration:none;font-weight:800;margin-top:12px}
.breadcrumbs{padding:24px 0;font-size:.78rem;color:#7d898d;display:flex;gap:8px;flex-wrap:wrap}.breadcrumbs a{text-decoration:none}.archive-main,.page-main{padding-bottom:100px}.archive-header{background:linear-gradient(135deg,#edf8f5,#fff9e9);padding:65px clamp(25px,6vw,75px);border-radius:14px;margin-bottom:40px}.archive-header h1,.page-header h1{font-size:clamp(2.7rem,5vw,4.6rem);margin-bottom:18px}.archive-header>p:last-child{font-size:1.15rem;max-width:760px}.archive-filter{display:flex;gap:0;margin:0 0 35px}.archive-filter label{position:absolute;clip:rect(0,0,0,0)}.archive-filter input{flex:1;padding:15px;border:1px solid var(--line);font-size:1rem}.archive-grid{grid-template-columns:repeat(3,1fr)}.guide-archive{grid-template-columns:repeat(3,1fr)}.destination-hero{background:linear-gradient(135deg,#eaf7f4 0%,#fff8e7 100%);padding:65px 0}.destination-hero-grid{display:grid;grid-template-columns:1.45fr .65fr;gap:65px;align-items:center}.destination-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:20px}.destination-hero-grid>div>p:not(.eyebrow){font-size:1.25rem;color:#536970}.destination-hero aside{background:#fff;padding:30px;border-radius:12px;box-shadow:var(--shadow)}.destination-hero aside h2{font-size:1.7rem}.quick-facts{display:flex;gap:35px;margin-top:35px;flex-wrap:wrap}.quick-facts span{font-weight:800}.quick-facts small{display:block;color:#74858b;font-weight:400;text-transform:uppercase;font-size:.67rem;letter-spacing:.1em}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:80px;padding-top:70px;padding-bottom:100px}.prose{font-size:1.06rem}.prose h2{font-size:2.3rem;margin-top:50px}.prose h3{margin-top:35px}.prose li{margin-bottom:8px}.prose .lead{font-size:1.3rem;color:#536a72}.content-side{display:flex;flex-direction:column;gap:25px}.side-card{border:1px solid var(--line);border-radius:10px;padding:25px;position:sticky;top:25px}.side-card h2{font-size:1.5rem}.side-card a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;text-decoration:none;font-weight:700}.side-card small{display:block;color:#76878d;margin-top:15px}.ad-placeholder{min-height:250px;border:1px dashed #bbc9cc;background:#fafcfc;display:grid;place-content:center;text-align:center;color:#8a999e}.ad-placeholder span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.ad-placeholder strong{font-weight:400}.provider-panel,.check-panel{background:var(--cream);border-left:5px solid var(--yellow);padding:30px;margin-top:50px}.provider-panel h2,.check-panel h2{margin-top:0}.article-hero{padding:70px 0;background:#eef7f5}.article-hero h1{font-size:clamp(3rem,6vw,5.4rem)}.article-hero .narrow>p:not(.eyebrow){font-size:1.28rem}.article-meta{border-top:1px solid #cddddd;margin-top:30px;padding-top:15px;color:#687a81;font-size:.8rem}.page-header{padding:50px 0 20px}.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px}.mini-card{border:1px solid var(--line);padding:24px}.mini-card h3{margin:12px 0}.mini-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--aqua);font-weight:800;color:var(--teal)}.result-card{border-bottom:1px solid var(--line);padding:25px 0}.result-card h2{font-size:2rem}.error-page{text-align:center;padding-top:100px}.error-page form{display:flex;margin:30px 0}.error-page input{flex:1;padding:15px}
.site-footer{background:var(--navy);color:#dce7eb;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:70px}.brand-footer{color:#fff}.footer-grid h2{font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#fff}.footer-grid a:not(.brand){display:block;color:#dce7eb;text-decoration:none;margin:8px 0}.footer-grid p{max-width:430px;color:#b9cbd1}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:22px;margin-top:50px;display:flex;justify-content:space-between;gap:30px;color:#98b1ba;font-size:.75rem}
@media(max-width:900px){.primary-nav{display:none;position:absolute;top:91px;left:0;right:0;background:#fff;padding:25px;box-shadow:var(--shadow)}.primary-nav.open{display:block}.primary-nav .menu{display:block}.primary-nav li{margin:15px}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr}.hero-art{display:none}.hero,.hero-grid{min-height:auto}.finder{grid-template-columns:1fr}.finder label{border-right:0;border-bottom:1px solid var(--line);padding:13px}.trust-strip .shell{flex-wrap:wrap;padding:22px}.destination-grid,.archive-grid{grid-template-columns:repeat(2,1fr)}.guide-grid,.guide-archive{grid-template-columns:repeat(2,1fr)}.destination-hero-grid,.content-layout,.story-grid{grid-template-columns:1fr}.content-layout{gap:35px}.content-side{order:-1}.side-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:580px){body{font-size:16px}.shell{width:min(100% - 28px,1180px)}.site-header{height:78px}.header-inner{gap:8px}.brand-mark{width:43px;height:43px}.brand-name{font-size:1.25rem}.header-search{width:45px;height:45px}.primary-nav{top:77px}.header-search-form{top:77px}.hero-copy{padding:55px 0}.hero h1{font-size:3.2rem}.hero-intro{font-size:1.1rem}.finder{padding:10px}.section{padding-top:65px;padding-bottom:70px}.section-heading{align-items:start;flex-direction:column}.destination-grid,.archive-grid,.guide-grid,.guide-archive,.equipment-grid{grid-template-columns:1fr}.guide-card{min-height:280px}.story-band{padding:65px 0}.archive-header{padding:45px 25px}.destination-hero{padding:45px 0}.quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.content-layout{padding-top:45px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.trust-strip .shell{display:grid;gap:10px}.archive-filter{display:grid}.archive-filter button{padding:13px}}
.html-sitemap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.html-sitemap h2{font-size:1.8rem}.html-sitemap ul{padding-left:1.2rem}.html-sitemap li{margin:.45rem 0}
.partner-pending{padding:18px;border:1px dashed var(--line);background:#fafcfc;color:var(--muted)}.partner-link:after{content:' ↗'}.ad-unit{min-height:250px;display:grid;align-items:center}
@media(max-width:900px){.html-sitemap{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.html-sitemap{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
