@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#20312e;--muted:#65716b;--sand:#f5f2e9;--paper:#fffdf8;--rust:#bf583b;--rust-dark:#98422f;--line:#dfddd3;--sage:#e5e9de;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 52px));margin:auto}.topline{height:34px;background:var(--ink);color:#efe8d8;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.topline span{color:#e5a17b;margin:0 9px}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px}.mark{width:48px;height:48px;flex:0 0 48px;object-fit:contain}.brand-name{font:700 15px/1.05 var(--serif)}.brand-name small{display:block;font:600 9px var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin-top:6px}.links{display:flex;align-items:center;gap:29px;font-size:12px;font-weight:600}.links a:hover,.links a.active{color:var(--rust)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--rust);color:white;border:0;border-radius:2px;padding:14px 19px;font:700 12px var(--sans);cursor:pointer;transition:.2s}.btn:hover{background:var(--rust-dark);transform:translateY(-1px)}.links .nav-cta{padding:11px 14px;background:var(--rust);color:white}.menu{display:none;border:0;background:none;color:var(--ink);font-size:23px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.19em;color:var(--rust)}.eyebrow:before{content:"";width:26px;height:1px;background:currentColor}.hero{position:relative;isolation:isolate;min-height:580px;display:flex;align-items:center;background:#5b685d center/cover no-repeat;color:white}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#152723c9,#15272370 48%,#15272312 100%),linear-gradient(0deg,#18231f45,transparent 40%)}.hero.home{background-image:url('https://images.unsplash.com/photo-1693837996567-1ed7f5138cb2?auto=format&fit=crop&w=2200&q=85')}.hero.tours{background-image:url('tours-whale.png')}.hero.transport{background-image:url('coastal-desert-road.jpg')}.hero-inner{padding:74px 0 91px;max-width:680px}.hero .eyebrow{color:#e6b092}.hero h1{font:500 clamp(45px,7vw,78px)/1.01 var(--serif);letter-spacing:-.045em;margin:20px 0}.hero h1 em{color:#f0bb98}.hero p{max-width:500px;color:#f0f0e8;line-height:1.8;font-size:14px;margin:0 0 27px}.hero-actions{display:flex;align-items:center;gap:23px}.hero-link{font-size:12px;font-weight:700}.hero-link:hover{color:#edb99b}.hero-note{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 52px));font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:#eee9dc;display:flex;justify-content:space-between}.section{padding:78px 0}.section.paper{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head h2,.page-title h2,.split h2,.contact h2{font:500 clamp(34px,4vw,47px)/1.1 var(--serif);letter-spacing:-.03em;margin:14px 0 0}.section-head p{max-width:340px;color:var(--muted);font-size:12px;line-height:1.8;margin:0}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:260px;padding:26px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #25342b12}.service-card:nth-child(2){background:#e8e9df}.service-icon{color:var(--rust);font-size:24px}.service-card h3{font:600 27px var(--serif);margin:0 0 9px}.service-card p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.service-card .arrow{align-self:flex-end;color:var(--rust);font-size:21px}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.split-image{min-height:410px;background:center/cover no-repeat}.split p{font-size:13px;line-height:1.9;color:var(--muted);max-width:470px}.page-title{padding:46px 0 34px}.page-title p{max-width:690px;color:var(--muted);font-size:13px;line-height:1.8}.card{background:white;border:1px solid #eae7de;display:flex;flex-direction:column}.card-image{height:220px;position:relative;background:#c9c6ad center/cover no-repeat}.badge{position:absolute;left:14px;top:14px;background:var(--sand);padding:7px 9px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.card-body{padding:21px;display:flex;flex-direction:column;flex:1}.card h3{font:600 23px var(--serif);margin:0 0 8px}.card p{font-size:12px;line-height:1.75;color:var(--muted);margin:0 0 15px}.facts{font-size:10px;line-height:1.8;color:#536059;margin-bottom:13px}.price{font:600 18px var(--serif);margin-top:auto;margin-bottom:14px}.price small{font:500 10px var(--sans);color:var(--muted)}.card .btn{align-self:flex-start}.notice{margin-top:18px;color:var(--muted);font-size:11px;line-height:1.7}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.transport-item{padding:25px;background:var(--paper);border:1px solid var(--line)}.transport-item .eyebrow{font-size:9px}.transport-item h3{font:600 24px var(--serif);margin:14px 0 7px}.transport-item p{font-size:12px;color:var(--muted);line-height:1.8}.contact{background:#e4e7dc;padding:67px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.contact p{font-size:12px;color:var(--muted);line-height:1.8;max-width:430px}.footer{background:var(--ink);color:#e8e7dd;padding:40px 0 21px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:30px}.footer-blurb{font-size:11px;color:#b5bcb2;line-height:1.7;max-width:270px;margin-top:12px}.footer-nav{display:flex;gap:25px;font-size:11px;color:#d5d8d0}.footer-nav a:hover{color:#edb99b}.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid #56625a;padding-top:17px;font-size:9px;color:#aeb6ac}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:16px 20px;max-width:340px;font-size:12px;line-height:1.6;display:none;z-index:9}
@media(max-width:800px){.links{gap:15px}.split{gap:38px}.card-image{height:190px}.card-body{padding:17px}}
@media(max-width:680px){.wrap{width:calc(100% - 38px)}.topline{font-size:9px}.nav{height:70px}.mark{width:42px;height:42px;flex-basis:42px}.brand-name{font-size:14px}.menu{display:block}.links{display:none;position:absolute;top:69px;left:0;right:0;background:var(--sand);padding:14px 20px 22px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #20302613}.links.open{display:flex}.links a{padding:12px 0;border-bottom:1px solid var(--line)}.links .nav-cta{margin-top:12px;text-align:center}.hero{min-height:550px;background-position:58% center}.hero-inner{padding:58px 0 78px}.hero-note{width:calc(100% - 38px)}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:13px}.service-grid,.card-grid,.transport-grid{grid-template-columns:1fr}.service-card{min-height:210px}.split,.contact-grid{grid-template-columns:1fr;gap:28px}.split-image{min-height:300px;grid-row:2}.card-image{height:240px}.page-title{padding:32px 0 25px}.footer-main{display:block}.footer-nav{margin-top:23px;flex-wrap:wrap;gap:15px 21px}.foot-bottom{flex-direction:column;gap:8px}.hero-actions{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.tour-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:30px 0 22px}.tour-tab{border:1px solid #c9cec2;background:transparent;color:var(--ink);padding:11px 14px;font:600 11px var(--sans);cursor:pointer;transition:.2s}.tour-tab:hover,.tour-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.tour-panel{display:grid;grid-template-columns:1.05fr .95fr;min-height:390px;background:var(--sand);border:1px solid var(--line)}.tour-panel[hidden]{display:none}.tour-photo{min-height:390px;background:#c9c6ad center/cover no-repeat}.tour-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(25px,5vw,55px)}.tour-info h3{font:600 clamp(27px,3.5vw,37px)/1.14 var(--serif);margin:17px 0 9px}.tour-info>p:not(.tour-detail-note){font-size:13px;line-height:1.8;color:var(--muted)}.tour-price{font:600 24px var(--serif);margin:11px 0}.tour-price span{font:500 11px var(--sans);color:var(--muted)}.tour-detail-note{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 19px}.contact-card{max-width:680px;background:var(--paper);border:1px solid var(--line);padding:clamp(24px,5vw,48px)}.contact-number{font:500 20px var(--serif);margin:22px 0;color:var(--ink)}.contact-number a:hover{color:var(--rust)}
@media(max-width:680px){.tour-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.tour-tab{white-space:nowrap;scroll-snap-align:start}.tour-panel{grid-template-columns:1fr}.tour-photo{min-height:245px}.tour-info{padding:25px}.contact-card{padding:25px}}
.tour-detail-top{padding:35px 0 78px;background:var(--paper)}.back-link{display:inline-block;font-size:11px;font-weight:700;color:var(--muted);margin:3px 0 23px}.back-link:hover{color:var(--rust)}.tour-detail-layout{display:grid;grid-template-columns:1.05fr .95fr;min-height:480px;background:var(--sand)}.tour-detail-photo{min-height:480px;background:#c9c6ad center/cover no-repeat}.tour-detail-copy{padding:clamp(26px,5vw,58px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.tour-detail-copy h1{font:500 clamp(34px,4.5vw,51px)/1.08 var(--serif);letter-spacing:-.03em;margin:16px 0 10px}.tour-detail-description{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 21px}.detail-price-label{font-size:9px;text-transform:uppercase;font-weight:700;letter-spacing:.13em;color:var(--muted)}.tour-detail-copy .tour-price{margin:7px 0 18px}.detail-box{border-top:1px solid var(--line);padding-top:15px;margin:0 0 22px;width:100%}.detail-box strong{font:600 17px var(--serif)}.detail-box p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 0}
@media(max-width:680px){.tour-detail-top{padding:25px 0 55px}.tour-detail-layout{grid-template-columns:1fr}.tour-detail-photo{min-height:280px}.tour-detail-copy{padding:26px}}
.tour-category-tabs{display:flex;gap:9px;margin:28px 0 25px}.tour-category-tab{border:1px solid #c9cec2;background:transparent;color:var(--ink);padding:12px 18px;font:700 11px var(--sans);cursor:pointer}.tour-category-tab:hover,.tour-category-tab.active{background:var(--ink);border-color:var(--ink);color:white}.tour-category-panel[hidden]{display:none}.marine-choice{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;margin-top:16px}.marine-choice select{display:block;width:100%;margin-top:7px;border:1px solid #c9cec2;background:var(--paper);padding:11px;color:var(--ink);font:500 12px var(--sans)}
@media(max-width:680px){.tour-category-tabs{margin:22px 0;display:grid;grid-template-columns:1fr 1fr}.tour-category-tab{padding:12px 9px}}

.fleet-head{margin:62px 0 25px}.fleet-head h2{font:500 clamp(30px,4vw,42px)/1.1 var(--serif);letter-spacing:-.03em;margin:14px 0 8px}.fleet-head p{font-size:12px;line-height:1.8;color:var(--muted);max-width:490px}.fleet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fleet-card{background:var(--sand);border:1px solid var(--line);overflow:hidden}.fleet-card img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}.fleet-copy{padding:20px 22px}.fleet-copy h3{font:600 24px var(--serif);margin:0 0 7px}.fleet-copy p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}@media(max-width:680px){.fleet-grid{grid-template-columns:1fr}.fleet-card img{aspect-ratio:1.35}}

.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.gallery-head h2{font:500 clamp(30px,4vw,42px)/1.1 var(--serif);letter-spacing:-.03em;margin:14px 0 0}.gallery-head>p{max-width:350px;font-size:11px;line-height:1.75;color:var(--muted);margin:0}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-photo{margin:0;background:var(--sand);border:1px solid var(--line)}.gallery-photo img{display:block;width:100%;height:245px;object-fit:cover;background:#d8d4c7}.gallery-photo figcaption{padding:13px 15px;font-size:11px;line-height:1.6;color:var(--ink)}.gallery-photo figcaption small{display:block;margin-top:6px;font-size:9px;color:var(--muted)}.gallery-photo figcaption small a{text-decoration:underline;text-underline-offset:2px}.fleet-card img{object-position:center}
@media(max-width:680px){.gallery-head{display:block}.gallery-head>p{margin-top:12px}.photo-gallery{grid-template-columns:1fr}.gallery-photo img{height:240px}}

.photo-credit{position:absolute;bottom:8px;left:9px;z-index:2;max-width:calc(100% - 18px);padding:4px 6px;background:#fffdf8e8;font-size:8px;line-height:1.3;color:var(--ink);text-decoration:underline;text-underline-offset:2px}

.marine-choice[hidden]{display:none}


.social-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #56625a;border-radius:50%;color:#e8e7dd;transition:background .2s,color .2s,border-color .2s}.social-icon svg{width:18px;height:18px;fill:currentColor}.social-icon:hover{background:#e8e7dd;color:var(--ink);border-color:#e8e7dd}.footer-nav .social-icon{padding:0}.footer-nav .social-icon:hover{color:var(--ink)}@media(max-width:680px){.footer-nav .social-icon{margin-top:4px}}

/* Readability refinements: slightly larger copy and stronger text contrast. */
:root{--muted:#505c55}
.topline{font-size:11px}
.brand-name{font-size:16px}
.brand-name small{font-size:10px}
.links{font-size:13px}
.btn{font-size:13px}
.eyebrow{font-size:11px}
.hero p{font-size:16px}
.hero-link{font-size:13px}
.hero-note{font-size:10px}
.section-head p,.service-card p,.split p,.page-title p,.card p,.transport-item p,.contact p,.fleet-head p,.fleet-copy p{font-size:14px}
.badge{font-size:10px}
.facts{font-size:12px;color:#46534c}
.price small{font-size:11px}
.notice{font-size:13px}
.transport-item .eyebrow{font-size:10px}
.footer-blurb{font-size:12px;color:#c3cbc2}
.footer-nav{font-size:12px}
.foot-bottom{font-size:10px;color:#c3cbc2}
.tour-tab,.tour-category-tab{font-size:12px}
.tour-info>p:not(.tour-detail-note){font-size:15px}
.tour-price span{font-size:12px}
.tour-detail-description{font-size:16px}
.detail-price-label{font-size:10px}
.detail-box p{font-size:13px}
.marine-choice{font-size:12px}
.marine-choice select{font-size:14px}
.back-link{font-size:12px}
.gallery-head>p{font-size:13px}
.gallery-photo figcaption{font-size:13px}
.gallery-photo figcaption small{font-size:10px}
@media(max-width:680px){.topline{font-size:10px}.hero p{font-size:15px}.section-head p,.service-card p,.split p,.page-title p,.card p,.transport-item p,.contact p,.fleet-head p,.fleet-copy p{font-size:14px}}

.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.footer-social{display:flex;gap:10px}.footer-social .social-icon{margin:0}@media(max-width:680px){.footer-links{align-items:flex-start;margin-top:23px;gap:12px}.footer-links .footer-nav{margin-top:0;gap:15px 21px}.footer-social{gap:9px}}

.tour-detail-photo.photo-contain{background-size:cover,cover;background-position:center 48%,center 48%;background-repeat:no-repeat;background-color:#173b43}@media(max-width:680px){.tour-detail-photo.photo-contain{min-height:320px;background-position:center 48%,center 48%}}

.tour-gallery-section.photos-only .gallery-head>p,.tour-gallery-section.photos-only .gallery-photo figcaption{display:none}

.tour-included{display:flex;align-items:center;gap:17px;margin:0 0 28px;padding:18px 22px;background:var(--sage);border-left:3px solid var(--rust)}.tour-included-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--rust);font-size:20px}.tour-included .eyebrow{font-size:10px}.tour-included p{margin:6px 0 0;color:var(--ink);font-size:14px;line-height:1.5;font-weight:600}

.tour-detail-copy .tour-price span{font:700 26px var(--serif);color:var(--ink)}.tour-detail-copy .tour-price small{font:500 12px var(--sans);color:var(--muted)}
.ui-arrow{width:1em;height:1em;display:inline-block;vertical-align:-.14em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.ui-arrow-back{width:.95em;height:.95em}

.footer .brand-name small{color:#e8e7dd}
/* Warm evening palette: a gentle desktop Night Light feel across every page. */
:root{--ink:#382e25;--muted:#6f5d4d;--sand:#f1e4cf;--paper:#fbf2e3;--rust:#b86635;--rust-dark:#8e4829;--line:#ddc8a9;--sage:#e9d8bc}
.card{background:var(--paper);border-color:var(--line)}
.service-card:nth-child(2){background:#ede0c8}
.contact{background:#e9d9bc}
.tour-tab,.tour-category-tab,.marine-choice select{border-color:#d4be9f}/* Navigation refinements: keep the menu close while browsing and animate it gently. */
.nav{position:sticky;top:0;z-index:30;background:var(--paper);transition:box-shadow .24s ease,border-color .24s ease}
.nav.is-scrolled{box-shadow:0 8px 24px rgba(56,46,37,.12);border-bottom-color:transparent}
.links a:not(.nav-cta){position:relative;transition:color .2s ease}
.links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.links a:not(.nav-cta):hover::after,.links a:not(.nav-cta).active::after{transform:scaleX(1)}
.menu{transition:transform .2s ease,color .2s ease;color:var(--rust)}
.menu[aria-expanded="true"]{transform:rotate(90deg)}
@media(max-width:680px){.links{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}.links.open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .2s ease,transform .2s ease,visibility 0s}.links a:not(.nav-cta)::after{display:none}}/* On phones, show the full whale-and-dolphin photo without cropping. */
@media(max-width:680px){.tour-detail-photo.photo-contain{height:auto;min-height:0;aspect-ratio:1290/1550;background-size:contain,cover;background-position:center,center;background-color:#173b43}}/* Small, consistent cues in place of decorative arrows. */

.tour-included-icon{position:relative}
.tour-included-icon::before{content:"";width:10px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-top:-3px}


/* Footer brand contrast, including small screens. */
.footer .brand-name,.footer .brand-name small{color:#fff!important}


/* Gentle section entrances while scrolling, with reduced-motion support. */
.scroll-reveal{opacity:0;transform:translateY(14px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.7,.2,1)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.is-visible{opacity:1;transform:none;transition:none}}


