@font-face{font-family:Coast;src:url('/assets/fonts/display-500.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:Coast;src:url('/assets/fonts/display-italic-500.woff') format('woff');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/text-400.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/text-600.woff') format('woff');font-weight:600;font-display:swap}
:root{--sand:#faf8f1;--ink:#173c35;--body:#455c54;--pale:#efede3;--line:#c9cbbd;--serif:Coast,Georgia,serif;--sans:DM,Arial,sans-serif;--width:1310px;--gap:clamp(24px,5.8vw,96px);color:var(--ink);background:var(--sand);font-family:var(--sans);font-size:16px;line-height:1.55;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit;color:inherit}button,select{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0}img{display:block;max-width:100%}svg{width:19px;height:19px;flex-shrink:0}.wrap{width:min(calc(100% - var(--gap)*2),var(--width));margin-left:auto;margin-right:auto}.skip{position:fixed;top:5px;left:-999px;padding:12px;z-index:20;background:white}.skip:focus{left:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ce8941;outline-offset:4px}p,h1,h2,h3{margin:0}h1,h2,h3,.brand{font-family:var(--serif);font-weight:500}em{font-weight:500}button{touch-action:manipulation}
.mast{position:relative;z-index:6;background:var(--sand);border-bottom:1px solid #d9dace}.navrow{height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;justify-self:start;line-height:1;font-size:32px;letter-spacing:-1.5px}.brand b{font:600 11px/1 var(--sans);letter-spacing:1.7px;margin-left:2px;vertical-align:4px}.brand .brandmark{width:46px;height:37px}.navrow nav,.footrow nav{display:flex;gap:clamp(22px,3vw,48px);align-items:center}.navrow nav a{font-size:14px}.navrow nav a:hover,.footrow nav a:hover{text-decoration:underline;text-underline-offset:5px}.headcta{justify-self:end;display:inline-flex;align-items:center;gap:19px;font-size:13px;font-weight:600;border:1px solid #687e71;border-radius:3px;padding:10px 18px}.headcta svg,.under svg,.hero-link svg{width:16px;height:16px}.headcta:hover{background:var(--ink);color:var(--sand)}.menubtn{display:none}
.hero{height:clamp(500px,66vh,745px);min-height:0;position:relative;color:#fffaf0;isolation:isolate;background:#31595b;overflow:hidden}.hero-bg,.hero-bg img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-bg{z-index:-2}.hero-bg img{object-fit:cover;object-position:50% 47%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(12,34,35,.62),rgba(15,37,34,.24) 55%,rgba(20,42,38,.02) 90%),linear-gradient(0deg,rgba(9,32,30,.37),transparent 25%)}.hero-inner{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:5px;padding-bottom:25px}.hero-type{position:relative;max-width:880px}.kicker{display:flex;align-items:center;gap:12px;font-size:10.5px;font-weight:600;line-height:1.55;letter-spacing:2.1px;text-transform:uppercase}.kicker i{display:inline-block;height:1px;width:30px;background:currentColor;opacity:.8}.hero .kicker{color:#fff6e6}.hero h1{font-size:clamp(78px,7.7vw,126px);line-height:.88;letter-spacing:-.046em;margin:18px 0 22px}.hero h1 em{letter-spacing:-.052em}.hero-type>p:not(.kicker){font-size:clamp(15px,1.2vw,18px);line-height:1.5;max-width:500px;color:#fffcf3}.hero-link{display:inline-flex;gap:16px;align-items:center;border-bottom:1px solid #d3dacc;padding:4px 0 5px;margin-top:22px;font-size:13px;font-weight:600}.hero-link:hover{color:#fff;border-color:white}.slide-footer{position:absolute;bottom:20px;left:0;right:0;display:flex;align-items:center;justify-content:space-between}.hero-place{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.35px}.hero-place svg{height:15px;width:15px}.slide-ctrl{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:600;letter-spacing:1.1px}.slide-ctrl button,.photo-arrow{display:grid;place-items:center;width:33px;height:33px;border:1px solid #ffffff9e;border-radius:50%;color:white}.slide-ctrl button:hover{background:#ffffff29}.slide-ctrl button svg{width:13px;height:13px}.slide-ctrl i{font-style:normal;opacity:.7;margin:0 4px}
.trip-wrap{background:#f1efe5;border-bottom:1px solid #cdd1c3}.bookingbar{padding:20px 0}.trip-form{display:grid;align-items:center;grid-template-columns:1fr 1fr 1fr minmax(170px,.85fr);gap:0}.field{display:flex;align-items:center;gap:16px;padding:0 clamp(16px,2.2vw,37px);border-right:1px solid var(--line);min-width:0;cursor:pointer}.field:first-child{padding-left:0}.guest{border-right:none}.field-icon svg{display:block;width:23px;height:23px;stroke:#52675a}.fld-inner{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0}.flabel{font-size:10px;line-height:1.35;letter-spacing:1.7px;text-transform:uppercase;font-weight:600}.datewrap,.selectwrap{position:relative;display:block;min-height:24px;font-size:16px;line-height:24px}.datewrap input,.selectwrap select{width:100%;height:100%;position:absolute;inset:0;border:0;background:transparent;padding:0;opacity:0;cursor:pointer}.datewrap input::-webkit-calendar-picker-indicator{position:absolute;inset:0;height:100%;width:100%;margin:0;padding:0;cursor:pointer}.datewrap:focus-within,.selectwrap:focus-within{outline:2px solid #a27038;outline-offset:3px}.selectwrap select{opacity:1;appearance:none;z-index:1}.selectwrap svg{position:absolute;left:76px;top:6px;width:13px;height:13px}.solid{display:inline-flex;align-items:center;justify-content:center;gap:21px;padding:13px 21px;background:#1d463b;color:white;border:1px solid #1d463b;border-radius:3px;font-size:14px;font-weight:600;line-height:1.5}.solid svg{width:17px;height:17px}.solid:hover{background:#2d5749}.trip-form>.solid{justify-self:stretch}
.collection{padding:clamp(60px,6.1vw,98px) 0 clamp(67px,6.3vw,110px)}h2{font-size:clamp(49px,5vw,84px);letter-spacing:-.042em;line-height:1.02}h2 em{letter-spacing:-.045em}.collection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:11px 0 29px}.collection-head>p{max-width:350px;font-size:15px;line-height:1.55;color:var(--body)}.stay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.4vw,54px)}.stay-photo{display:block;aspect-ratio:1.67;position:relative;overflow:hidden;background:#d9ddd1}.stay-photo img,.guide-image img,.guide-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.stay-photo:hover img{transform:scale(1.035)}.photo-arrow{position:absolute;right:14px;bottom:14px;width:36px;height:36px;background:var(--sand);border:0;color:var(--ink)}.photo-arrow svg{width:17px;height:17px}.stay-meta{display:flex;align-items:center;gap:5px;font:600 10px/1.4 var(--sans);letter-spacing:1.5px;text-transform:uppercase;margin:20px 0 5px}.stay-meta svg{width:13px;height:13px}.stay h3{font-size:clamp(30px,3.15vw,49px);line-height:1.12;letter-spacing:-.035em}.specs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:var(--body);font-size:12px;margin-top:8px}.specs i{width:3px;height:3px;border-radius:50%;background:#9a9e8f}.stay-desc{max-width:550px;font-size:15px;line-height:1.65;color:var(--body);margin-top:12px}.under{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #788f80;padding:3px 0 4px;font-size:13px;font-weight:600;margin-top:15px}.under:hover{color:#55725d}.filter-msg{padding:14px 17px;border:1px solid var(--line);font-size:14px;margin:0 0 23px;background:#f1f1e8}.filter-msg button{text-decoration:underline;font-weight:600}
.guide-teaser{background:#e8ecdf}.guide-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(30px,6vw,90px);align-items:center;padding-top:clamp(36px,4.5vw,74px);padding-bottom:clamp(36px,4.5vw,74px)}.guide-image{aspect-ratio:1.72;overflow:hidden}.guide-copy h2{margin:15px 0}.guide-copy>p:not(.kicker),.host>div:nth-child(2)>p,.lead-block>p:not(.kicker),.guide-stop>p:not(.kicker),.guide-intro>p:not(.kicker){font-size:16px;line-height:1.7;color:var(--body)}.host{display:grid;grid-template-columns:1fr 1.08fr;gap:50px;padding-top:clamp(60px,6vw,90px);padding-bottom:clamp(60px,6vw,90px)}.host h2{margin-top:13px}.footrow{display:flex;gap:26px;align-items:center;justify-content:space-between;padding-top:29px;padding-bottom:29px}.footrow>span,.footrow nav{font-size:12px}.footrow nav{gap:22px}footer{background:#193e35;color:#f3f0e4}footer .brand{font-size:27px}footer .brandmark{width:38px}
.detail,.guide-page,.credits{padding-top:28px;padding-bottom:70px}.back{display:inline-block;font-size:13px;margin-bottom:31px;color:var(--body)}.back:hover{text-decoration:underline}.detail-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 24px}.detail h1,.guide-page h1,.credits h1{font-size:clamp(52px,6.1vw,94px);line-height:1.05;letter-spacing:-.05em}.detail .specs{font-size:14px}.photo-layout{display:grid;position:relative;grid-template-columns:1.65fr 1fr;grid-template-rows:1fr 1fr;gap:8px;height:clamp(300px,39vw,545px)}.gallery-tile{padding:0;overflow:hidden;background:#e1e3d6}.gallery-tile:nth-child(1){grid-row:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-tile:hover img{transform:scale(1.025)}.allphotos{display:flex;align-items:center;gap:9px;position:absolute;bottom:14px;right:14px;background:var(--sand);color:var(--ink);padding:10px 13px;border-radius:3px;font-size:13px;font-weight:600}.allphotos svg{width:15px}.detail-body{display:grid;grid-template-columns:1.4fr .82fr;gap:clamp(33px,5.6vw,95px);margin:54px 0 46px;align-items:start}.lead-block>h2{font-size:clamp(39px,3.9vw,58px);margin:11px 0 16px}.facts{margin-top:26px}.facts details{border-top:1px solid var(--line)}.facts details:last-child{border-bottom:1px solid var(--line)}.facts summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:600;padding:16px 0}.facts summary::-webkit-details-marker{display:none}.facts summary span{font-weight:400;font-size:23px}.facts details[open] summary span{transform:rotate(45deg)}.facts details p{color:var(--body);line-height:1.65;padding:0 22px 20px 0}.plan-panel{background:#efefe4;border:1px solid #c7cbbb;padding:clamp(20px,2.3vw,37px);scroll-margin:20px}.plan-panel h2{font-size:43px;margin:9px 0 12px}.plan-panel>p:not(.kicker){font-size:14px;color:var(--body)}.plan-panel .trip-form{display:grid;grid-template-columns:1fr;gap:0;margin-top:16px}.plan-panel .field{padding:11px 0;border:0;border-top:1px solid var(--line)}.plan-panel .solid{margin-top:10px}.plan-panel .trip-response{margin-top:13px}.detail-next{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-next span{font-size:13px;color:var(--body)}.detail-next a{margin:0}
.lightbox{width:100%;max-width:100%;height:100%;max-height:100%;background:#142c29;color:#fbf7ed;border:0;margin:0;padding:20px 26px;position:fixed;inset:0}.lightbox[open]{display:grid;grid-template-rows:auto 1fr auto;gap:14px}.lb-head,.lb-body{display:flex;align-items:center;justify-content:space-between;gap:18px}.lb-head{font-family:var(--serif);font-size:27px}.lb-body{min-height:0}.lb-img{min-width:0;min-height:0;max-height:100%;height:100%;width:calc(100% - 125px);object-fit:contain}.lightbox button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d4dfd377;border-radius:50%;color:white;flex-shrink:0}.lb-foot{text-align:center;font-size:14px}
.guide-intro{max-width:850px}.guide-intro h1,.credits h1{margin:12px 0}.guide-cover{width:100%;margin:30px 0 36px;height:clamp(240px,32vw,430px);overflow:hidden}.guide-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3.5vw,62px)}.guide-stop h2{font-size:clamp(32px,3.2vw,50px);margin:11px 0}.credits{min-height:60vh}.credits p{margin:14px 0}.credits p a{text-decoration:underline}.credits .kicker{margin:0}[hidden]{display:none!important}.filter-msg:focus{outline:0}
@keyframes come-in{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (min-width:1700px){.hero{height:70vh;max-height:810px}}
@media (max-width:900px){.navrow{gap:12px}.navrow nav{gap:19px}.hero h1{font-size:clamp(72px,10vw,94px)}.trip-form{grid-template-columns:1fr 1fr .9fr 150px}.field{gap:9px;padding:0 16px}.collection-head{align-items:flex-start}.collection-head>p{max-width:270px}.detail-body{grid-template-columns:1fr .72fr;gap:30px}.guide-stops{grid-template-columns:1fr}.guide-stop{border-bottom:1px solid var(--line);padding:0 0 23px}}
@media(max-width:670px){:root{--gap:22px}.navrow{height:66px;grid-template-columns:1fr auto auto;gap:9px}.brand{font-size:26px;gap:5px}.brand .brandmark{width:34px;height:30px}.brand b{font-size:9px;vertical-align:3px;letter-spacing:1.2px}.headcta{font-size:11px;padding:8px 10px;gap:7px}.headcta svg{width:12px;height:12px}.menubtn{display:grid;place-items:center;padding:8px 0 8px 6px;color:var(--ink)}.navrow nav{display:none}.navrow nav.open{position:absolute;top:100%;left:0;right:0;background:var(--sand);display:flex;align-items:stretch;text-align:left;flex-direction:column;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #193e3510}.navrow nav.open a{padding:12px var(--gap);border-top:1px solid #dddcd1}.hero{height:clamp(430px,59svh,565px)}.hero-inner{padding-bottom:30px}.hero h1{font-size:clamp(54px,11.8vw,77px);margin:15px 0 18px;line-height:.94}.hero-type>p:not(.kicker){max-width:270px;font-size:14px}.hero-link{margin-top:15px}.hero-shade{background:linear-gradient(90deg,#102f30a8,#1237353b 86%),linear-gradient(0deg,#09272545,transparent 30%)}.hero-bg img{object-position:52% 50%}.slide-footer{bottom:13px}.slide-ctrl{gap:6px}.slide-ctrl button{width:30px;height:30px}.kicker{font-size:9px;letter-spacing:1.8px}.bookingbar{padding:16px 0}.trip-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 0}.field{padding:0 13px}.field:nth-child(2){border:0;padding-left:18px}.field.guest{border:0;padding:0}.field-icon svg{width:18px}.flabel{font-size:9px}.datewrap,.selectwrap{font-size:14px;min-height:21px;line-height:21px}.selectwrap svg{left:66px;top:4px}.solid{padding:10px 12px;font-size:13px}.trip-form>.solid{margin-left:16px}.collection{padding:44px 0 55px}.collection-head{display:block;margin:10px 0 21px}.collection-head>p{font-size:14px;max-width:340px;margin-top:11px}.stay-grid{grid-template-columns:1fr;gap:36px}.stay-photo{aspect-ratio:1.52}.stay-meta{margin-top:16px}.stay h3{font-size:37px}.stay-desc{font-size:14px}.guide-layout,.host,.detail-body{grid-template-columns:1fr;gap:24px}.guide-layout{padding-top:30px;padding-bottom:36px}.host{gap:17px}.footrow{flex-wrap:wrap;gap:17px;padding-top:24px;padding-bottom:24px}.footrow nav{width:100%}.guide-copy h2{margin-top:10px}.detail{padding-top:20px}.back{margin-bottom:21px}.detail-head{display:block;margin-bottom:18px}.detail-head .solid{margin-top:15px}.detail h1,.guide-page h1,.credits h1{font-size:52px}.photo-layout{height:330px;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;gap:4px}.gallery-tile:nth-child(1){grid-row:1;grid-column:span 2}.detail-body{margin:32px 0}.plan-panel .field,.plan-panel .field:nth-child(2){padding:11px 0;border-top:1px solid var(--line)}.plan-panel .solid{margin-left:0}.lightbox{padding:14px}.lb-body{gap:4px}.lb-body button{width:31px;height:36px}.lb-img{width:calc(100% - 70px)}.lb-head{font-size:23px}.detail-next{align-items:flex-start;flex-direction:column}.guide-cover{margin-top:20px}.guide-intro h1{margin-top:10px}.guide-stops{gap:23px}.guide-stop h2{font-size:38px}}
@media(max-width:350px){:root{--gap:16px}.headcta{gap:3px}.hero h1{font-size:48px}.headcta svg{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.booking-status{margin:10px 0 0;font-size:12px;color:var(--body)}
.calendar-result{margin:12px 0 0;padding:10px 12px;border-left:2px solid #749783;background:#ecf0e6;color:var(--ink);font-size:14px;line-height:1.5}
.plan-panel .calendar-result{background:var(--sand)}
@media (max-width:350px){.navrow{gap:5px}.headcta{white-space:nowrap;padding:8px}.navrow .brand{font-size:24px}.navrow .brandmark{width:29px}}
.beach-view { margin:10px 0 18px; }
.beach-view iframe { width:100%; height:clamp(235px,28vw,355px); border:1px solid #c9cbbd; display:block; background:#e8eddf; }
.beach-view figcaption { color:var(--body); font-size:13px; margin:6px 0; }
.beach-view figcaption a { white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
