@font-face{font-family:Newsreader;src:url('/assets/fonts/newsreader.woff2') format('woff2');font-weight:300 600;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff2') format('woff2');font-weight:400 700;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Manrope,Arial,sans-serif;--heading:Newsreader,Georgia,serif}
body.island{--paper:#fbf7ef;--ink:#292820;--muted:#534d3e;--accent:#80553f;--wash:#f1e9db;--line:#dfd3c1;--footer:#2a2e26;--button:#443f31;--button-text:white}
body.atlantic{--paper:#f6f8f7;--ink:#1b3338;--muted:#435b5d;--accent:#315c5f;--wash:#e7edeb;--line:#d2ddda;--footer:#1b353c;--button:#254b50;--button-text:white}
h1,h2,h3,p,figure,dl,ol,ul{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:420;line-height:1;letter-spacing:-.036em}
p{max-width:64ch}
a{color:inherit;text-underline-offset:.24em}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ba561b;outline-offset:4px}
img{display:block;width:100%;height:auto}
.skip-link{position:absolute;left:12px;top:8px;z-index:9;transform:translateY(-160%);background:#fff;color:#111;padding:.65rem}
.skip-link:focus{transform:none}
.shell{width:min(100% - 96px,1296px);margin-inline:auto}
.top{background:var(--paper);border-bottom:1px solid var(--line)}
.top-inner{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand span{display:block;font-family:var(--heading);font-size:clamp(1.28rem,2vw,1.85rem);font-weight:480;line-height:1;letter-spacing:-.024em}
.brand small{display:block;margin-top:5px;color:var(--muted);font-size:.69rem;letter-spacing:.06em}
.brand-mark{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.nav a:not(.action){display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:.9rem;font-weight:580;white-space:nowrap}
.nav a{position:relative}
.nav a::after{position:absolute;content:"";inset:auto 0 7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.action{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--button);color:var(--button-text);font-weight:650;text-decoration:none;white-space:nowrap;font-size:.91rem;border:1px solid transparent;transition:background .22s,color .22s}
.action:hover{background:var(--ink);color:var(--paper)}
.action.alt{color:var(--ink);background:transparent;border-color:currentColor}
.action.alt:hover{background:var(--ink);color:var(--paper)}
.atlantic .top-inner{min-height:82px}
.atlantic .brand-mark{width:34px}
.atlantic .brand span{font-weight:480;letter-spacing:-.024em}
.is-home{--film-shade:26 23 17;--film-light:#fcf3e4;--film-position:59% 50%}
.atlantic.is-home{--film-shade:11 28 34;--film-light:#f2f9f7;--film-position:54% 49%}
.is-home .top{
  position:absolute;inset:0 0 auto;z-index:5;color:#fff;
  background:linear-gradient(180deg,rgb(var(--film-shade) / 73%),rgb(var(--film-shade) / 28%));
  backdrop-filter:blur(12px);border-color:#ffffff36
}
.is-home .top .brand small{color:#ffffffde}
.is-home .top .action,.motion-control{
  color:#fff;background:rgb(var(--film-shade) / 48%);border:1px solid #ffffff88
}
.is-home .top .action:hover,.motion-control:hover{background:var(--film-light);color:var(--ink)}
.hero{
  position:relative;isolation:isolate;display:flex;align-items:end;min-height:clamp(650px,91svh,1060px);
  color:#fff;background:rgb(var(--film-shade))
}
.hero-copy{position:relative;z-index:2;padding-block:150px clamp(94px,10vh,142px)}
.location{font-size:.73rem;font-weight:700;line-height:1.4;letter-spacing:.17em;text-transform:uppercase}
.hero .location{color:var(--film-light);display:flex;align-items:center;gap:12px}
.hero .location::before{content:"";width:26px;height:1px;background:currentColor}
.hero h1{font-size:clamp(4.35rem,8.1vw,9.4rem);font-weight:390;line-height:.84;letter-spacing:-.055em;margin:.22em 0 .20em}
.hero h1 span{display:block}
.hero-copy p:not(.location){max-width:41ch;color:#fff;font-size:clamp(.96rem,1.32vw,1.15rem);font-weight:530}
.hero-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.hero-actions .action{background:var(--film-light);color:var(--ink)}
.hero-actions .action:hover{background:#fff}
.hero-actions .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:.89rem;font-weight:630}
.hero-media{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-media img,.hero-film{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:var(--film-position)
}
.hero-film{opacity:0;transition:opacity .65s ease}
.hero-media[data-film="ready"]:not([data-motion="still"]) .hero-film{opacity:1}
.hero-media::after{
  position:absolute;inset:0;content:"";pointer-events:none;
  background:
    linear-gradient(90deg,rgb(var(--film-shade) / 73%) 0%,rgb(var(--film-shade) / 40%) 38%,transparent 78%),
    linear-gradient(0deg,rgb(var(--film-shade) / 89%) 0%,rgb(var(--film-shade) / 37%) 37%,transparent 70%)
}
.hero-media figcaption{
  position:absolute;z-index:2;left:max(48px,calc((100% - 1296px)/2));bottom:27px;
  color:#fff;font-size:.72rem;letter-spacing:.035em
}
.motion-control{
  position:absolute;right:max(48px,calc((100% - 1296px)/2));bottom:17px;z-index:4;
  min-height:44px;padding:0 13px;font:600 .73rem Manrope,Arial,sans-serif;cursor:pointer;
  transition:background .25s,color .25s;backdrop-filter:blur(8px)
}
.hero-media:not(:has(video))[data-motion="playing"] img{animation:drift 26s ease-out both}
.hero-media:not(:has(video))[data-motion="paused"] img{animation:drift 26s ease-out both;animation-play-state:paused}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.10) translate(-1.25%,.5%)}}
@media (prefers-reduced-motion:no-preference){
  .hero-copy > *{animation:arrive .95s cubic-bezier(.22,1,.36,1) backwards}
  .hero-copy h1{animation-delay:80ms}
  .hero-copy p:not(.location){animation-delay:145ms}
  .hero-actions{animation-delay:200ms}
}
@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:.22s}
::view-transition-new(root){animation-duration:.38s}
.booking-name{margin:8px auto 0;color:var(--muted);font-size:.9rem;max-width:1296px}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.fact{background:linear-gradient(180deg,var(--paper),var(--wash));padding:clamp(15px,2vw,29px) clamp(15px,3vw,39px)}
.fact dt{font-family:var(--heading);font-weight:500;font-size:clamp(1.27rem,2.25vw,2.3rem);line-height:1.04}
.fact dd{margin:5px 0 0;font-size:.82rem;color:var(--muted)}
.section{padding:clamp(53px,7.2vw,100px) 0}
.section-tight{padding:30px 0 70px}
.section h2{font-size:clamp(2.25rem,5.5vw,5.4rem)}
.section h3{font-size:clamp(1.45rem,2.4vw,2.25rem)}
.section p{margin-top:14px;color:var(--muted)}
.story{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,6.5vw,110px);align-items:center}
.atlantic .story{grid-template-columns:.83fr 1.17fr}
.atlantic .story figure{order:2}
.story img{aspect-ratio:4/3;object-fit:cover}
.story .action{margin-top:23px}
.story figcaption,.media-credit{font-size:.79rem;color:var(--muted);margin-top:9px}
.guide-section{background:var(--wash);border-block:1px solid var(--line)}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}
.section-intro h2{max-width:13ch}
.section-intro p{max-width:38ch}
.guide-list{list-style:none;padding:0;border-top:1px solid var(--line)}
.guide-list li{border-bottom:1px solid var(--line)}
.guide-list a{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,.75fr) 34px;gap:16px;align-items:center;padding:20px 0;text-decoration:none;transition:color .22s}
.guide-list a:hover{color:var(--accent)}
.guide-number{font-size:.82rem;color:var(--muted)}
.guide-name{font-family:var(--heading);font-weight:650;font-size:clamp(1.42rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1}
.guide-note{font-size:.91rem;color:var(--muted)}
.chevron{font-size:1.5rem;justify-self:end}
.preview-photos{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px;margin-top:24px}
.preview-photos a{display:block;overflow:hidden}
.preview-photos img{width:100%;height:clamp(150px,22vw,306px);object-fit:cover;transition:transform .35s}
.preview-photos a:hover img{transform:scale(1.035)}
.faqs{max-width:800px;margin-top:25px}
.faqs details{border-top:1px solid var(--line);padding:0}
.faqs details:last-child{border-bottom:1px solid var(--line)}
.faqs summary{cursor:pointer;font-weight:650;padding:15px 0;min-height:44px}
.faqs p{margin:0 0 18px}
.footer{padding:43px 0;background:var(--footer);color:white}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:26px}
.footer-name{font-family:var(--heading);font-size:1.7rem;line-height:1}
.footer small{display:block;margin-top:8px;color:#e1e7e5;max-width:58ch}
.footer .action{background:var(--paper);color:var(--ink)}
.page-head{padding:clamp(43px,7vw,96px) 0 34px}
.page-head h1{font-size:clamp(3.05rem,7.4vw,7.4rem);max-width:15ch;margin:.24em 0 .18em}
.page-head p{font-size:clamp(1.05rem,1.8vw,1.28rem);color:var(--muted)}
.breadcrumb{display:inline-flex;align-items:center;min-height:44px;font-size:.87rem;color:var(--muted)}
.feature-image{position:relative}
.feature-image img{max-height:520px;aspect-ratio:2.08/1;object-fit:cover}
.article-layout{display:grid;grid-template-columns:minmax(0,690px) minmax(175px,1fr);gap:clamp(30px,8vw,140px);align-items:start}
.article-copy section{padding-bottom:28px}
.article-copy h2{font-size:clamp(1.8rem,3.3vw,3.5rem)}
.article-copy p{margin:8px 0 10px}
.article-source{display:inline-flex;align-items:center;min-height:44px;font-size:.89rem;font-weight:620}
.aside{padding:18px 0;border-block:1px solid var(--line)}
.aside h2{font-size:1.65rem}
.aside a{display:flex;align-items:center;min-height:44px}
.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 16px}
.listing-photo{margin:0}
.listing-photo a{display:block}
.listing-photo img{aspect-ratio:4/3;object-fit:cover}
.listing-photo figcaption{font-size:.78rem;color:var(--muted);margin-top:5px}
#photo-viewer{width:min(94vw,1100px);max-height:90vh;background:#0e1b20;color:white;border:0;padding:17px}
#photo-viewer::backdrop{background:#071419e5}
#photo-full{max-height:70vh;object-fit:contain}
#photo-caption{font-size:.88rem;margin-top:8px}
.viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}
.viewer-toolbar button{min-width:44px;min-height:44px;padding:6px 12px;background:#e8eff1;color:#132e37;border:0;cursor:pointer}
@media(max-width:900px){.shell{width:calc(100% - 44px)}.top-inner{gap:12px}.nav{gap:13px}.nav a:not(.action){font-size:.82rem}.hero-media figcaption{left:22px}.motion-control{right:22px}.guide-list a{grid-template-columns:34px minmax(0,1fr) minmax(0,.68fr) 21px;gap:11px}}
@media(max-width:620px){
.shell{width:calc(100% - 36px)}
.top-inner,.atlantic .top-inner{display:grid;grid-template-columns:1fr auto;min-height:0;gap:4px;padding:12px 0 0}
.brand{grid-column:1;gap:7px}.brand-mark{width:22px;height:22px}.brand span{font-size:1.27rem}.brand small{font-size:.62rem}
.top-inner>.action{grid-column:2;grid-row:1;padding:7px 11px;min-height:44px;font-size:.78rem}
.nav{grid-row:2;grid-column:1/-1;gap:0;justify-content:space-between;border-top:1px solid var(--line)}
.nav a:not(.action){font-size:.79rem;padding:0 3px}
.is-home .nav{border-color:#ffffff42}
.hero{min-height:max(650px,90svh)}
.hero-copy{padding-block:152px 88px}
.hero h1{font-size:clamp(3.45rem,12.7vw,5.5rem)}
.hero-actions{margin-top:17px;gap:6px 12px}
.hero-actions .action{padding-inline:12px}
.hero-actions .text-link{font-size:.81rem}
.hero-media figcaption{left:18px;bottom:28px;font-size:.66rem}
.motion-control{right:18px;bottom:15px;font-size:.66rem;padding:0 9px}
.hero-media::after{
  background:linear-gradient(0deg,rgb(var(--film-shade) / 96%) 2%,rgb(var(--film-shade) / 66%) 44%,transparent 82%)
}
.facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.fact{padding:12px 18px}
.story,.atlantic .story,.article-layout{grid-template-columns:1fr;gap:22px}
.atlantic .story figure{order:0}
.section-intro{display:block;margin-bottom:20px}
.guide-list a{grid-template-columns:24px minmax(0,1fr) 19px;gap:7px 9px;padding:14px 0}
.guide-note{grid-column:2;grid-row:2}
.chevron{grid-column:3;grid-row:1/3}
.preview-photos{grid-template-columns:1.15fr 1fr;gap:7px}
.preview-photos a:last-child{display:none}
.preview-photos img{height:155px}
.footer-inner{align-items:start;flex-direction:column}
.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 9px}
.feature-image img{aspect-ratio:3/2}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-control{display:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
