@font-face{font-family:BeachSans;src:url('fonts/inter-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
@font-face{font-family:BeachSerif;src:url('fonts/libre-baskerville.ttf') format('truetype');font-display:swap}@font-face{font-family:BeachSans;src:url('fonts/inter.ttf') format('truetype');font-display:swap}
:root{--blue:#276487;--deep:#173e54;--sand:#E5CF99;--paper:#fcfaf5;--line:#d8e1e5;--muted:#60717a;--white:#fff;--max:1240px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--paper);color:var(--deep);font:15px/1.7 BeachSans,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--blue)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b08223;outline-offset:4px}img{max-width:100%;height:auto;display:block}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:BeachSerif,Georgia,serif;font-weight:400;line-height:1.25}h1{font-size:clamp(2.5rem,4.5vw,4.25rem);letter-spacing:-.045em}h2{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.035em}h3{font-size:1.28rem;letter-spacing:-.02em}.container{max-width:var(--max);width:calc(100% - 96px);margin:auto}.skip{position:absolute;top:-100px;z-index:99;background:#fff;padding:10px}.skip:focus{top:5px}.masthead{border-bottom:1px solid var(--line);background:var(--paper)}.header-row{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:20px/1.2 BeachSerif,Georgia,serif;letter-spacing:-.6px}.brand svg{width:42px;height:42px;color:var(--blue);flex-shrink:0}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.desktop-nav a{text-decoration:none}.desktop-nav a:nth-child(2){padding:12px 18px;border:1px solid #b7cbd4;border-radius:40px}.mobile-menu{display:none}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;line-height:1.8;color:var(--blue)}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:680px}.intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;padding:56px 0 68px;align-items:center}.intro-copy h1{margin:18px 0 24px}.intro-copy .lead{max-width:520px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:40px;min-height:48px;padding:12px 24px;text-decoration:none;font-size:12px;font-weight:600;line-height:1.5}.button:hover{background:var(--deep);color:#fff}.button.secondary{background:transparent;color:var(--deep);border-color:#b7cbd4}.intro-numbers{display:flex;gap:28px;margin-top:38px;font-size:10px;color:var(--muted)}.intro-numbers strong{display:block;font:24px BeachSerif,Georgia,serif;color:var(--deep);margin-bottom:5px}.intro-photo{position:relative}.intro-photo>img{width:100%;height:520px;object-fit:cover;border-radius:160px 160px 6px 6px}.intro-photo figcaption{font-size:9px;color:var(--muted);margin:10px 0 0}.photo-label{position:absolute;bottom:55px;left:-28px;padding:21px 27px;background:var(--sand);font:17px/1.5 BeachSerif,Georgia,serif;box-shadow:0 12px 25px #173e5415;border-radius:3px}.finder-section{padding:52px 0 60px;background:#edf3f5;border-block:1px solid var(--line)}.finder-controls{margin-bottom:32px}.filter-top{display:flex;gap:30px;justify-content:space-between;align-items:center}.filter-top h2{margin-top:8px}.filter-top label{font-size:11px;font-weight:600;min-width:270px}.filter-top input{display:block;width:100%;margin-top:7px;border:1px solid #aac3ce;border-radius:6px;background:var(--white);padding:12px 15px;min-height:46px;font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 16px}.chips button{padding:9px 15px;border:1px solid #b5cbd5;background:transparent;color:var(--deep);border-radius:30px;font-size:11px;min-height:39px}.chips button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.mode-controls{display:flex;gap:18px;align-items:center;font-size:11px;color:var(--muted);flex-wrap:wrap}.mode-controls select{margin-left:8px;border:1px solid #b5cbd5;border-radius:4px;padding:7px 9px;background:#fff;font-size:11px;color:var(--deep)}.reset{background:transparent;border:0;text-decoration:underline;color:var(--blue);padding:7px;font-size:11px}.mode-controls [role=status]{margin-left:auto}.beach-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.beach-card{display:grid;grid-template-columns:42% 1fr;background:var(--white);border:1px solid var(--line);border-radius:7px;overflow:hidden;min-height:245px}.card-photo img{width:100%;height:100%;object-fit:cover}.card-copy{padding:22px;display:flex;flex-direction:column;align-items:start;gap:12px}.card-copy h3 a{text-decoration:none}.card-copy p:not(.kicker){color:var(--muted);font-size:12px;line-height:1.8}.text-link{font-size:11px;font-weight:600;text-decoration:none;border-bottom:1px solid #b5cbd5}.card-copy .text-link{margin-top:auto}.planning{padding-block:72px}.section-heading{max-width:790px;margin-bottom:30px}.section-heading h2{margin:10px 0 20px}.section-heading p:not(.kicker){max-width:660px;color:var(--muted);font-size:14px}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.journey-grid article{border-top:3px solid var(--sand);padding-top:20px}.step{font-size:10px;letter-spacing:.08em;color:var(--blue)}.journey-grid h3{margin:14px 0 18px;font-size:22px}.journey-grid p{font-size:13px;color:var(--muted);margin-bottom:18px}.journey-grid a{font-size:12px;font-weight:600}.stays-section{padding:60px 0 70px;background:#f1ecdf;border-top:1px solid #e1d9c5}.section-heading.horizontal{display:flex;max-width:none;justify-content:space-between;align-items:end;gap:35px}.section-heading.horizontal a{white-space:nowrap;font-size:12px}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.hotel-card{border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}.hotel-card-image{display:block}.hotel-card-image img{width:100%;aspect-ratio:16/10;object-fit:cover}.hotel-card>div{padding:22px}.hotel-card h3{margin:10px 0 14px;font-size:22px}.hotel-card h3 a{text-decoration:none}.hotel-card p:not(.kicker){font-size:12px;color:var(--muted);margin-bottom:18px}.hotel-card .kicker{font-size:9px}.page-heading{max-width:860px;margin:40px 0}.page-heading h1{margin:14px 0 24px}.listing{padding-bottom:70px}.listing .finder-controls{background:#edf3f5;border:1px solid var(--line);padding:25px;border-radius:6px}.listing .finder-controls h2{font-size:25px}.province-nav{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.province-nav a{font-size:10px;padding:7px 12px;border-radius:22px;border:1px solid #b5cbd5;text-decoration:none}.pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:38px}.pagination a,.pagination span{min-width:42px;padding:10px 15px;border:1px solid #b5cbd5;border-radius:5px;font-size:12px;text-decoration:none;text-align:center}.pagination [aria-current=page]{background:var(--blue);color:#fff}.breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding-top:28px;margin-bottom:28px}.breadcrumb a{text-decoration:none}.guide-heading{max-width:990px;margin-bottom:35px}.guide-heading h1{font-size:clamp(2.4rem,4.1vw,3.7rem);margin:14px 0 22px}.article-meta{font-size:10px;letter-spacing:.025em;color:var(--muted);margin-top:23px;line-height:1.8}.comparison{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;background:#edf3f5;border:1px solid var(--line);padding:27px 30px;border-radius:7px;margin-bottom:35px}.comparison h2{font-size:26px;margin-top:10px}.table-scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.65}caption{text-align:left;font-size:10px;color:var(--muted);margin-bottom:10px}th,td{vertical-align:top;border-bottom:1px solid #c5d6df;padding:11px 14px 11px 0}thead{font-size:10px;color:var(--blue)}tbody th{font-weight:600;width:22%;color:var(--deep)}tbody td{color:var(--muted)}.wide-photo>img{width:100%;aspect-ratio:2.1;max-height:570px;object-fit:cover;border-radius:6px}.wide-photo figcaption,.hotel-opening figcaption,.inline-photo figcaption{font-size:9px;color:var(--muted);margin-top:8px;line-height:1.6}.guide-body,.hotel-body{display:grid;grid-template-columns:minmax(0,750px) minmax(180px,250px);gap:65px;align-items:start;margin:45px auto 65px;max-width:1100px}.story{font-size:16px;line-height:1.9;min-width:0}.story h2{font-size:28px;line-height:1.35;margin:38px 0 20px;scroll-margin-top:25px}.story section:first-child h2{margin-top:0}.story p{margin-bottom:22px}.story a{color:var(--blue)}.inline-photo{margin:35px 0}.inline-photo img{width:100%;max-height:540px;object-fit:cover;border-radius:5px}.reading-route{border-left:2px solid var(--sand);padding-left:23px;position:sticky;top:25px;font-size:11px;color:var(--muted)}.reading-route ol{padding-left:15px;margin:18px 0 25px}.reading-route li{margin-bottom:13px;line-height:1.6}.reading-route a{text-decoration:none;color:var(--blue)}.reading-route p{margin-bottom:20px}.sources{border-top:1px solid var(--line);padding-top:25px;margin-top:38px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.sources h2{font:600 11px BeachSans,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px!important}.sources ul{padding-left:18px}.sources li{margin-bottom:9px}.faq{margin-top:35px}.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.65}.faq details p{font-size:14px;margin:16px 0 0;line-height:1.8}.related-section{border-top:1px solid var(--line);padding:45px 0 65px}.related-section>h2{margin:15px 0 28px}.related-section>p:last-child{font-size:12px;margin-top:25px}.hotel-opening{display:grid;grid-template-columns:1.08fr 1fr;gap:50px;align-items:center;margin-bottom:35px}.hotel-opening h1{font-size:clamp(2.2rem,3.8vw,3.65rem);margin:15px 0 23px}.hotel-opening .lead{font-size:16px}.hotel-opening img{width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:7px}.hotel-opening a{display:block}.stay-summary{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;background:#edf3f5;border:1px solid var(--line);padding:26px 30px;border-radius:6px}.stay-summary>div>p:not(.kicker){font-size:14px;margin:10px 0 15px;line-height:1.75}.stay-summary>div>a:not(.button){font-size:12px}.booking-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px 25px;border-left:1px solid #c7d7df;padding-left:30px}.booking-panel h2{font-size:21px}.booking-panel p{grid-column:span 2;font-size:10px!important;color:var(--muted);margin:0!important}.booking-panel .button{white-space:nowrap;font-size:11px;padding-inline:18px}.layout-rooms .hotel-opening{grid-template-columns:1fr 1.1fr}.layout-rooms .hotel-opening figure{order:-1}.layout-grounds .hotel-opening{grid-template-columns:1fr}.layout-grounds .hotel-opening header{max-width:1000px}.layout-grounds .hotel-opening img{aspect-ratio:2.3;max-height:490px}.layout-guest .stay-summary{border-left:5px solid var(--sand)}.booking-bar{display:none}footer{background:var(--deep);color:#e6eef0;padding:42px 0 25px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.footer-grid strong{font:21px/1.6 BeachSerif,Georgia,serif}.footer-grid p{font-size:11px;max-width:380px;margin-top:15px;color:#becfd7}.footer-grid nav{display:flex;gap:12px 24px;justify-content:end;align-content:start;flex-wrap:wrap;font-size:11px}.footer-grid nav a{color:#e6eef0;text-decoration:none}.footer-note{font-size:10px;color:#becfd7;border-top:1px solid #ffffff25;margin-top:28px;padding-top:20px}.simple{max-width:850px;padding-bottom:70px}.simple>.kicker{margin-top:35px}.simple h1{font-size:clamp(2.4rem,4vw,3.6rem);margin:15px 0 30px}.simple h2{font-size:25px;margin:35px 0 18px}.simple p{margin-bottom:20px;font-size:15px}.simple address{font-style:normal;background:#edf3f5;border-left:3px solid var(--blue);padding:22px;margin:25px 0;line-height:1.9;font-size:13px}.error-button{background:#F97316;color:#172C29;border-color:#F97316}.disclosure{font-size:11px!important;color:var(--muted)}.photo-pending{background:#d9e4e9;min-height:220px;display:grid;place-items:center;font-size:12px;color:var(--muted)}
@media(max-width:1100px){.container{width:calc(100% - 60px)}.desktop-nav{gap:20px}.intro-grid{gap:38px}.intro-photo>img{height:465px}.beach-card{grid-template-columns:38% 1fr}.card-copy{padding:18px}.card-copy h3{font-size:19px}.hotel-grid{gap:18px}.hotel-card>div{padding:18px}.hotel-card h3{font-size:20px}.hotel-opening{gap:35px}.guide-body,.hotel-body{gap:40px}.booking-panel{grid-template-columns:1fr}.booking-panel p{grid-column:auto}.comparison{grid-template-columns:180px minmax(0,1fr);gap:25px;padding:22px}.footer-grid{gap:35px}}
@media(max-width:1023px){body.has-booking{padding-bottom:110px}.booking-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--paper);border-top:1px solid #b7cbd4;box-shadow:0 -6px 24px #173e5412;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px calc(14px + env(safe-area-inset-bottom))}.hotelname{font-size:12px;line-height:1.4;max-width:58%;overflow-wrap:anywhere}.hotelname small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.booking-bar .button{flex-shrink:0;min-height:44px;font-size:11px;padding:11px 18px}.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-opening h1{font-size:38px}}
@media(max-width:767px){.container{width:calc(100% - 36px)}.header-row{min-height:84px;gap:15px}.brand{font-size:18px;gap:8px}.brand svg{width:34px;height:34px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative;font-size:12px}.mobile-menu summary{padding:9px 13px;border:1px solid #b7cbd4;border-radius:25px;list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:43px;min-width:210px;padding:15px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 20px #173e5412;z-index:30;border-radius:6px}.mobile-menu nav a{display:block;padding:10px;text-decoration:none}.intro-grid{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:42px}.intro-copy h1{font-size:43px;line-height:1.22;margin:15px 0 23px}.intro-copy .lead{font-size:15px}.button-row{gap:10px;margin-top:25px}.button{font-size:11px;padding:12px 19px;min-height:45px}.intro-numbers{gap:25px;margin-top:28px}.intro-numbers strong{font-size:23px}.intro-photo>img{height:340px;border-radius:100px 100px 5px 5px}.intro-photo figcaption{font-size:8px}.photo-label{left:12px;bottom:40px;padding:15px 20px;font-size:15px}.finder-section{padding:35px 0 42px}.filter-top{display:block}.filter-top h2{font-size:28px}.filter-top label{display:block;margin-top:20px;min-width:0}.chips{gap:7px;margin-top:20px}.chips button{font-size:10px;padding:8px 12px}.mode-controls{gap:10px}.mode-controls [role=status]{margin-left:0}.beach-grid{grid-template-columns:1fr;gap:17px}.beach-card{grid-template-columns:36% 1fr;min-height:232px}.card-copy{gap:10px;padding:17px}.card-copy .kicker{font-size:8px}.card-copy h3{font-size:20px}.card-copy p:not(.kicker){font-size:11px;line-height:1.7}.text-link{font-size:10px}.planning{padding-block:42px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:30px}.section-heading p:not(.kicker){font-size:13px}.journey-grid{grid-template-columns:1fr;gap:26px}.journey-grid h3{font-size:22px;margin:10px 0 15px}.journey-grid p{font-size:13px}.section-heading.horizontal{display:block}.section-heading.horizontal a{display:inline-block;margin-top:0;font-size:11px}.stays-section{padding:38px 0 45px}.hotel-grid{grid-template-columns:1fr;gap:20px}.hotel-card>div{padding:22px}.hotel-card h3{font-size:24px}.hotel-card-image img{aspect-ratio:1.8}.page-heading{margin:27px 0 30px}.page-heading h1{font-size:39px}.page-heading .lead{font-size:15px}.listing{padding-bottom:45px}.listing .finder-controls{padding:19px}.province-nav a{font-size:9px}.breadcrumb{padding-top:22px;margin-bottom:23px;font-size:9px}.guide-heading h1{font-size:37px;line-height:1.3}.guide-heading .lead{font-size:16px}.article-meta{font-size:9px;line-height:1.9}.comparison{display:block;padding:20px;margin-bottom:25px}.comparison h2{font-size:24px;margin:8px 0 20px}table{font-size:10px;line-height:1.65}th,td{padding-right:10px}.wide-photo>img{aspect-ratio:1.45}.guide-body,.hotel-body{display:block;margin:30px 0 42px}.reading-route{display:none}.story{font-size:16px;line-height:1.9}.story h2{font-size:26px;margin:32px 0 18px}.story p{margin-bottom:20px}.hotel-opening,.layout-rooms .hotel-opening{display:flex;flex-direction:column;gap:25px;margin-bottom:24px}.hotel-opening h1{font-size:36px;line-height:1.3}.hotel-opening .lead{font-size:15px}.hotel-opening figure{width:100%}.hotel-opening img{aspect-ratio:1.55;max-height:400px}.layout-rooms .hotel-opening figure{order:0}.layout-grounds .hotel-opening img{aspect-ratio:1.55}.stay-summary{display:block;padding:22px}.stay-summary>div>p:not(.kicker){font-size:13px}.booking-panel{border-left:0;padding-left:0;border-top:1px solid #c7d7df;padding-top:20px;margin-top:20px;display:block}.booking-panel h2{font-size:23px;margin-bottom:17px}.booking-panel .button{width:100%;margin-bottom:16px}.booking-panel p{font-size:10px!important}.related-section{padding:30px 0 45px}.related-section>h2{font-size:28px}.booking-bar{padding:11px 15px calc(11px + env(safe-area-inset-bottom));gap:12px}.hotelname{font-size:11px;max-width:55%}.hotelname small{font-size:8px}.booking-bar .button{font-size:10px;padding:11px 15px}.footer-grid{display:block}.footer-grid strong{font-size:20px}.footer-grid nav{justify-content:start;gap:13px 20px;margin-top:25px}.footer-note{font-size:9px}.simple{padding-bottom:45px}.simple h1{font-size:37px}.simple p{font-size:14px}.simple address{font-size:12px}.simple h2{font-size:24px}.sources{font-size:10px}.inline-photo figcaption,.wide-photo figcaption,.hotel-opening figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.stay-summary p,.booking-panel h2,.hotel-opening h1{overflow-wrap:anywhere}
