@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#092e40;--teal:#006b78;--yellow:#ffd129;--pale:#edf7f5;--white:#fff;--muted:#45616c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--navy);font-size:1rem;line-height:1.6}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 5.55%}.brand{font-size:1.2rem;line-height:1.25;font-weight:700;text-decoration:none;letter-spacing:-.02em}nav{display:flex;gap:30px}nav a,.small-cta{text-decoration:none;font-weight:500}.small-cta{color:var(--teal);font-weight:700}.hero{background:var(--pale);padding:64px max(5.55%,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:center}.eyebrow{font-size:.8rem;letter-spacing:.08em;font-weight:700;color:var(--teal);margin:0 0 22px}h1{font-size:clamp(2.6rem,4.2vw,4.25rem);letter-spacing:-.045em;line-height:1.08;margin:0 0 26px;max-width:550px}.intro{font-size:1.2rem;line-height:1.55;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:15px 23px;border-radius:10px;background:var(--yellow);color:var(--navy);font-weight:700;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:#f1be06;transform:translateY(-2px)}.hero-note{font-size:.875rem;color:var(--teal);margin:22px 0 0}figure{margin:0}figure img{display:block;width:100%;height:auto;border-radius:24px}figcaption{font-size:.875rem;color:var(--muted);padding:12px 4px 0}.facts{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);padding:35px 0;border-bottom:1px solid #d4e4e5}.facts div{padding:0 30px;border-right:1px solid #d4e4e5}.facts div:last-child{border:0}.facts strong{display:block;font-size:1.5rem;letter-spacing:-.03em}.facts span{display:block;color:var(--muted);font-size:.95rem}.locations{max-width:1440px;margin:auto;padding:72px 5.55%}h2{font-size:clamp(2rem,3vw,2.65rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 20px}.section-intro{font-size:1.15rem;margin:0 0 36px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-radius:18px;background:var(--pale);padding:30px;display:flex;flex-direction:column;align-items:flex-start}.card-top{display:flex;align-items:center;gap:15px;color:var(--teal);font-size:.75rem;font-weight:700;letter-spacing:.08em}.number{font-size:1.8rem;letter-spacing:-.04em}.card h3{font-size:1.85rem;line-height:1.2;margin:25px 0 5px;letter-spacing:-.025em}.resort{color:var(--teal);font-weight:600;margin:0 0 20px}.card>p:not(.resort){margin:0 0 20px;min-height:77px}dl{width:100%;margin:0 0 26px}dl div{padding:12px 0;border-top:1px solid #cbdfe0;display:flex;flex-direction:column;gap:3px}dt{color:var(--muted);font-size:.875rem}dd{margin:0;font-weight:600}.card .button{width:100%;margin-top:auto}.phone{font-size:.875rem;color:var(--teal);margin:15px auto 0;text-underline-offset:4px}.booking-note{font-size:.875rem;color:var(--muted);max-width:1000px;margin:26px 0 0}.plan{background:var(--navy);color:white;padding:64px max(5.55%,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px}.plan .eyebrow{color:var(--yellow)}.plan>div>p:last-child{max-width:500px;color:#e1edee}.tips details{border-bottom:1px solid #44606d;padding:18px 0}.tips details:first-child{padding-top:0}summary{font-weight:600;font-size:1.1rem;cursor:pointer}details p{color:#e1edee;font-size:1rem;margin:12px 0 2px}.closing{background:var(--pale);padding:50px max(5.55%,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.closing .eyebrow{margin-bottom:10px}.closing h2{margin:0}footer{max-width:1440px;margin:auto;padding:35px 5.55%;display:flex;gap:25px;justify-content:space-between;flex-wrap:wrap;font-size:.875rem}footer a{color:var(--teal);text-underline-offset:4px}@media(max-width:1000px){.header{flex-wrap:wrap}nav{gap:20px}.small-cta{display:none}.hero{gap:30px;grid-template-columns:1fr 1fr}.cards{gap:16px}.card{padding:22px}.card h3{font-size:1.5rem}.plan{gap:40px}.facts{margin:0 5.55%}}@media(max-width:720px){.header{padding:22px 6%;gap:20px}nav{width:100%;gap:20px;flex-wrap:wrap;font-size:.875rem}.hero{grid-template-columns:1fr;padding:40px 6%;gap:32px}h1{max-width:500px}.intro{font-size:1.1rem}.facts{grid-template-columns:1fr;padding:10px 0;margin:0 6%}.facts div{border-right:0;border-bottom:1px solid #d4e4e5;padding:18px 0}.facts div:last-child{border:0}.facts strong{font-size:1.25rem}.locations{padding:46px 6%}.cards{grid-template-columns:1fr;gap:20px}.card{padding:28px}.card>p:not(.resort){min-height:0}.card h3{font-size:1.85rem}.plan{grid-template-columns:1fr;padding:45px 6%;gap:28px}.closing{padding:40px 6%;align-items:flex-start;flex-direction:column}footer{padding:30px 6%;flex-direction:column;gap:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.tour-experience{max-width:1440px;margin:auto;padding:0 5.55% 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.tour-experience figure{max-width:440px;justify-self:center}.tour-experience img{width:100%;height:auto;display:block;border-radius:20px}.tour-experience p:not(.eyebrow){max-width:480px;font-size:1.15rem;margin-bottom:28px}@media(max-width:720px){.tour-experience{grid-template-columns:1fr;padding:0 6% 46px;gap:28px}.tour-experience figure{max-width:360px}}

.tour-video{background:var(--pale);padding:56px max(5.55%,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.tour-video p:not(.eyebrow){font-size:1.15rem}.video-wrap{width:100%;max-width:315px;justify-self:center}.video-wrap iframe{width:100%;aspect-ratio:9/16;display:block;border:0;border-radius:18px;background:var(--navy)}.video-wrap>a{display:block;text-align:center;margin-top:12px;color:var(--teal)}@media(max-width:720px){.tour-video{grid-template-columns:1fr;padding:40px 6%;gap:25px}}

.rental-experience figure{max-width:none}.rental-experience{grid-template-columns:1.2fr 1fr}
@media(max-width:720px){.rental-experience{grid-template-columns:1fr}}

.sunset-hero{background:#fff3e6}.sunset-booking{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:center}.sunset-experience figure{max-width:540px}.sunset-booking .card>p{min-height:0}.sunset-booking .card .booking-note{margin-top:20px}@media(max-width:720px){.sunset-booking{grid-template-columns:1fr;gap:24px}}

.day-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.private-hero{grid-template-columns:1.2fr 1fr}.private-hero figure{max-width:540px}.private-experience figure{max-width:440px}.header nav{gap:20px;flex-wrap:wrap;font-size:.9rem}@media(max-width:720px){.day-cards,.private-hero{grid-template-columns:1fr}.private-hero figure{max-width:100%}}

.cruise-card-photo{width:100%;margin:0 0 24px}.cruise-card-photo img{width:100%;height:280px;object-fit:cover;border-radius:12px}.cruise-card-photo img[src$="stock-shells.jpg"]{object-position:center 70%}.cruise-card-photo figcaption{font-size:.75rem}.photo-credits{max-width:1280px;margin:auto;padding:18px 5.55% 0;color:var(--muted);font-size:.75rem}@media(max-width:720px){.cruise-card-photo img{height:230px}}

/* Restaurant guide */
.header nav{flex:1;justify-content:center}.dining-hero{grid-template-columns:1.15fr 1fr}.dining-note{background:var(--navy);color:white;padding:42px;border-radius:24px}.dining-note .eyebrow{color:var(--yellow)}.dining-quote{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.2;letter-spacing:-.035em;font-weight:700;margin:0 0 28px}.dining-note>p:last-child{color:#e1edee;margin:0}.dining-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dining-card .resort{margin:10px 0 20px}.dining-card>p:not(.resort){min-height:0;margin-bottom:28px}.dining-card .button{font-size:.95rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.dining-hero,.dining-cards{grid-template-columns:1fr}.dining-note{padding:30px}.header nav{justify-content:flex-start;flex-basis:100%}}

.home-hero{position:relative;isolation:isolate;background:var(--navy);color:#fff;min-height:610px;display:flex;align-items:center;padding:80px max(6%,calc((100vw - 1280px)/2));overflow:hidden}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,43,.88),rgba(4,30,43,.5) 55%,rgba(4,30,43,.12));z-index:-1}.home-hero .eyebrow{color:var(--yellow)}.home-hero h1{font-size:clamp(3.2rem,6vw,5.6rem);max-width:780px}.home-hero-content>p:not(.eyebrow){font-size:1.25rem;margin:0 0 32px}.home-welcome{max-width:1440px;padding:70px 5.55%;margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:center}.home-welcome .eyebrow{grid-column:1/-1}.home-welcome>p:last-child{font-size:1.15rem;margin:0}.home-welcome h2{margin:0}.home-activities{padding-top:10px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:24px}.section-heading>p{color:var(--muted)}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.activity-card{border:1px solid #d4e4e5;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.activity-image img{display:block;width:100%;height:235px;object-fit:cover}.activity-copy{padding:28px;display:flex;flex-direction:column;flex:1}.activity-copy .eyebrow{font-size:.7rem;margin-bottom:14px}.activity-copy h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}.activity-copy>p:not(.eyebrow){color:var(--muted);margin:0 0 24px}.activity-link{color:var(--teal);font-weight:700;text-decoration:none;margin-top:auto}.activity-link:hover{text-decoration:underline}.dining-feature{background:var(--pale);justify-content:center}.dining-feature .activity-copy{flex:0;padding:40px 28px}.dining-feature h3{font-size:2.5rem}.home-youtube{background:var(--navy);color:white;padding:64px max(6%,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.home-youtube .eyebrow{color:var(--yellow)}.home-youtube>div>p:not(.eyebrow){max-width:480px;font-size:1.15rem;margin-bottom:28px}.home-youtube .video-wrap>a{color:white}@media(max-width:1000px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-welcome{gap:20px 40px}}@media(max-width:720px){.home-hero{min-height:560px;padding:55px 6%}.home-hero-content>p:not(.eyebrow){font-size:1.1rem}.home-welcome{padding:45px 6%;grid-template-columns:1fr}.section-heading{display:block}.activity-grid{grid-template-columns:1fr}.home-youtube{grid-template-columns:1fr;padding:45px 6%;gap:32px}.activity-image img{height:240px}}

.resort-cards .card>p:not(.resort){min-height:0}.resort-cards .card .button{margin-top:auto}.header{gap:20px}.header nav{font-size:.85rem;gap:15px}@media(min-width:1001px){.header .small-cta{display:none}}
