:root{--ink:#102c35;--paper:#f7f5ee;--muted:#647377;--line:#d9ded8;--sea:#386d72;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{max-width:100%;display:block;object-fit:cover;object-position:var(--pos,50% 50%)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(3.1rem,6.5vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4vw,4.1rem);letter-spacing:-.04em}h3{font-size:1.8rem;letter-spacing:-.025em}em{font-weight:400}p+p{margin-top:1.1rem}p{max-width:65ch}.eyebrow{font-size:.67rem;letter-spacing:.23em;text-transform:uppercase;font-weight:600;line-height:1.6;margin-bottom:22px}.small,small{font-size:.78rem;line-height:1.65;color:var(--muted)}.small{margin-top:18px}.section{padding:100px max(6vw,24px);max-width:1600px;margin-inline:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-heading>p{font-size:.92rem;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:54px;padding:14px 25px;font-size:.79rem;letter-spacing:.035em;border:1px solid transparent;transition:background .2s,color .2s;line-height:1.4;text-align:left}.button.light{color:var(--ink);background:var(--paper)}.button.dark{background:var(--ink);color:white}.button.outline{border-color:var(--ink);background:transparent;color:var(--ink)}.button:hover{background:var(--sea);color:white}.text-link{font-size:.85rem;padding-bottom:7px;border-bottom:1px solid currentColor;display:inline-block}.text-button{border:0;border-bottom:1px solid var(--ink);padding:5px 0;background:none;color:var(--ink)}:focus-visible{outline:3px solid #b78d48;outline-offset:5px}.skip{position:fixed;left:15px;top:-90px;padding:12px;background:white;z-index:100}.skip:focus{top:15px}.header{height:102px;position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;color:white;border-bottom:1px solid #ffffff36}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:1.7rem;letter-spacing:.04em}.brand-name i{font-size:.9em}.brand-place{letter-spacing:.5em;font-size:.58rem;margin-top:7px;padding-left:.5em}.brand-image{max-width:200px;max-height:65px;object-fit:contain}.header nav{display:flex;align-items:center;gap:32px;font-size:.76rem}.header .nav-book{padding:13px 20px;border:1px solid #ffffff87;display:flex;gap:24px}.menu-toggle{display:none;color:inherit}.hero{position:relative;height:100svh;min-height:650px;background:#0b5671;color:white;isolation:isolate}.hero-image,.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-video{object-fit:cover;z-index:-1}.hero-shade{z-index:0;background:linear-gradient(180deg,#071f304d 0%,#071f3012 35%,#061e3977 100%),linear-gradient(90deg,#04203942,transparent 70%)}.hero-copy{position:absolute;left:8%;bottom:20%;z-index:1;max-width:850px}.hero-copy .eyebrow{margin-bottom:25px}.hero-sub{font-size:.95rem;margin:25px 0 28px;line-height:1.6}.hero-bottom{position:absolute;bottom:34px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.58rem;letter-spacing:.15em}.hero-bottom a{font-size:.7rem;letter-spacing:.05em}.hero-bottom a span{margin-left:20px;font-size:1.15rem}.video-toggle{position:absolute;right:5%;bottom:90px;z-index:2;background:#102c35b3;color:white;border:1px solid white;padding:10px;font-size:.7rem}.intro{text-align:center;max-width:1050px;padding-block:108px 85px}.intro h2{max-width:720px;margin:auto}.intro>p:not(.eyebrow){margin:28px auto 0;max-width:650px;color:var(--muted);font-size:1.04rem}.intro-facts{display:flex;justify-content:center;gap:24px;margin-top:40px;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em}.intro-facts span+span:before{content:'·';margin-right:24px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 34px;margin-top:40px}.card-image{position:relative;overflow:hidden;aspect-ratio:1.35;background:#d5e0dd}.card-image img{width:100%;height:100%;transition:transform .7s}.service-card:hover img{transform:scale(1.025)}.card-index{position:absolute;top:20px;left:22px;color:white;font-size:.68rem;letter-spacing:.1em;text-shadow:0 1px 5px #000}.card-arrow{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);font-size:1.4rem}.sunset .card-image img{filter:saturate(.55) brightness(.73)}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:23px 0 12px}.card-title h3{font-size:2rem}.card-title>span{font-size:.7rem;white-space:nowrap;color:var(--muted)}.service-card>p{font-size:.86rem;color:var(--muted)}.service-card .card-price{margin-top:20px;font-size:.84rem;color:var(--ink)}.card-price span{font-size:.72rem;color:var(--muted)}.our-way{display:grid;grid-template-columns:1.1fr 1fr;margin-top:30px;background:var(--ink);color:var(--paper)}.our-way-image{min-height:640px}.our-way-image img{height:100%;width:100%;object-position:66% 50%}.our-way-copy{padding:80px 12%;align-self:center}.our-way-copy p:not(.eyebrow){font-size:.95rem;color:#c5d3d3;margin-top:26px}.our-way-copy .text-link{margin-top:30px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{position:relative;padding:0;border:0;background:var(--ink);overflow:hidden;aspect-ratio:.85}.gallery-item img{width:100%;height:100%;transition:transform .6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item>span{position:absolute;bottom:12px;right:12px;color:white;background:#102c35b3;width:32px;height:32px;display:grid;place-items:center}.journal{border-top:1px solid var(--line)}.journal-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:45px;align-items:center;padding:45px 0}.journal-empty p{margin-top:15px;color:var(--muted);font-size:.9rem}.wave{font-family:var(--serif);font-size:6rem;font-weight:400;color:#6f8f8d;line-height:1}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.journal-grid .gallery{grid-template-columns:repeat(2,1fr);margin-bottom:25px}.journal-grid article>p{margin-top:15px}.booking-steps{text-align:center;border-top:1px solid var(--line)}.booking-steps>p{margin-inline:auto}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:50px 0}.steps article>span{font-size:.65rem;letter-spacing:.15em;color:var(--sea);display:inline-block;margin-bottom:23px}.steps h3{font-size:1.65rem}.steps p{font-size:.85rem;color:var(--muted);margin:15px auto 0;max-width:290px}.closing{position:relative;min-height:480px;display:grid;place-items:center;text-align:center;color:white;background:#4b291c;isolation:isolate}.closing>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.closing:after{content:'';position:absolute;inset:0;background:#0a1a2670;z-index:-1}.closing>div{padding:70px 20px}.closing h2{font-size:clamp(3rem,5vw,5rem)}.closing .button{margin-top:30px}footer{padding:55px 6% 30px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:45px}.footer-top>p{font-size:.8rem;color:#b6c8c9}.footer-bottom{border-top:1px solid #ffffff26;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:.66rem;color:#b6c8c9}.footer-bottom>div{display:flex;gap:25px;flex-wrap:wrap}.preview-note{font-size:.65rem;color:#adbdbe;margin-top:28px}.floating-contact{position:fixed;bottom:24px;right:25px;z-index:19;display:flex;gap:13px;align-items:center;background:var(--ink);color:white;border:1px solid #ffffff60;padding:12px 19px;border-radius:30px;box-shadow:0 5px 20px #0002;font-size:.72rem}.floating-contact>span{font-size:1.15rem}.detail-hero .hero-copy{bottom:23%}.detail-hero h1{font-size:clamp(3.7rem,8vw,8rem)}.detail-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:start}.detail-intro h2{margin-bottom:30px}.detail-intro .lead{font-size:1.12rem}.detail-intro p+p{color:var(--muted);font-size:.93rem}.trip-summary{background:#eeeee5;padding:35px}.trip-summary>strong{font-family:var(--serif);font-size:2.7rem;font-weight:400}.trip-summary>p:not(.eyebrow){font-size:.77rem;color:var(--muted)}dl{margin:25px 0}dl>div{padding:13px 0;border-bottom:1px solid #d3d9d2;display:flex;justify-content:space-between;gap:20px;font-size:.72rem}dt{color:var(--muted)}dd{margin:0;text-align:right}.trip-summary .button{width:100%;gap:15px}.moments{padding-top:0;padding-bottom:40px}.moments .steps{border-top:1px solid var(--line);padding-top:40px;margin-top:0}.detail-info{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;background:#efefe7;max-width:none}.detail-info h2{max-width:550px}.detail-info h3{margin:30px 0 22px}.detail-info p{font-size:.9rem;color:var(--muted)}.detail-info .text-link{margin-top:25px}.included{padding:0;list-style:none;margin:35px 0 0;font-size:.9rem}.included li{border-bottom:1px solid #d5dbd2;padding:14px 0}.included li:before{content:'✓';font-size:.7rem;margin-right:14px}.service-page .gallery{grid-template-columns:1fr 1fr}.service-page .gallery-item{aspect-ratio:1.5}.inner-page .header{position:relative;color:var(--ink);border-color:var(--line)}.inner-page .nav-book{border-color:var(--line)}.page-intro{padding-top:90px;padding-bottom:55px}.page-intro h1{font-size:clamp(3rem,5.5vw,5.5rem)}.page-intro>p:not(.eyebrow){margin-top:28px;color:var(--muted)}.booking-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:10%;padding-top:30px}.booking-layout aside{padding-top:15px}.booking-layout aside h2{font-size:2.5rem;margin-bottom:25px}.booking-layout aside>p{font-size:.9rem}.booking-layout aside .button{margin-top:28px}hr{border:0;border-top:1px solid var(--line);margin:40px 0}.booking-layout aside h3{font-size:1.5rem;margin-bottom:15px}form,.review-panel{background:#eeeee5;padding:40px}.form-heading{padding-bottom:30px}.form-heading h2,.review-panel h2{font-size:2.3rem}.form-heading p{font-size:.72rem;color:var(--muted);margin-top:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field.wide{grid-column:1/-1}.field label,.review-panel>label{display:block;font-size:.78rem;margin-bottom:8px}.field small{display:block;font-size:.67rem;margin-top:6px}input,select,textarea{width:100%;min-width:0;background:#fafaf5;border:1px solid #b7c4c0;color:var(--ink);border-radius:0;padding:13px 12px;font-size:16px;min-height:48px}textarea{resize:vertical}input[type=checkbox]{appearance:auto;width:18px;height:18px;min-height:18px;flex-shrink:0;margin:4px 0 0;accent-color:var(--ink)}.check{display:flex;gap:13px;font-size:.78rem;line-height:1.6;margin-top:25px}.field-error{display:block;font-size:.73rem;color:#983e28;margin-top:5px}.field-error:empty{display:none}[aria-invalid=true]{border-color:#983e28}.notice{font-size:.8rem;background:#e2e7dc;padding:16px 18px;margin:22px 0}.error-summary{background:#f7e4d9;color:#82341f}.error-summary a{text-decoration:underline}.error-summary ul{padding-left:20px;margin-bottom:0}.review-panel>p{margin:20px 0;font-size:.88rem}.review-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.review-actions .button{gap:15px}.review-panel textarea{font-size:.86rem;line-height:1.7}.faq-list{padding-top:15px;max-width:1100px}.faq-list details{border-bottom:1px solid var(--line);padding:24px 0}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-family:var(--serif);font-size:1.5rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:.95rem;color:var(--muted);margin-top:20px;max-width:750px}.prose{padding-top:20px;max-width:950px}.prose h2{font-size:2rem;margin:35px 0 20px}.prose p{color:var(--muted)}dialog{padding:65px 65px 35px;border:0;background:#0c2029;color:white;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0}dialog::backdrop{background:#0c2029f2}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:1200px;width:100%}dialog figure img{max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 180px);margin:auto;object-fit:contain;touch-action:pan-y}dialog figcaption{text-align:center;font-size:.78rem;margin-top:20px;color:#d0dcdc}dialog button{background:transparent;color:white;border:1px solid #ffffff55;min-width:44px;min-height:44px;padding:10px}.lightbox-close{position:absolute;right:25px;top:18px;font-size:.8rem}.lightbox-prev{position:absolute;left:12px;top:48%;font-size:1.3rem}.lightbox-next{position:absolute;right:12px;top:48%;font-size:1.3rem}[hidden]{display:none!important}
@media(min-width:1400px){.hero-copy{bottom:22%}.hero-image{object-position:50% 46%}}
@media(max-width:900px){.header{height:88px;padding:18px 6%}.brand-name{font-size:1.5rem}.header nav{gap:18px}.header nav>a{font-size:.7rem}.header nav>a:nth-child(3){display:none}.hero{min-height:620px}.hero-copy{left:7%;bottom:21%}.section{padding-block:75px}.our-way-image{min-height:550px}.our-way-copy{padding:55px 9%}.detail-intro,.detail-info{gap:6%}.trip-summary{padding:25px}.booking-layout{gap:5%}form,.review-panel{padding:25px}.footer-top{flex-wrap:wrap}.card-title{flex-wrap:wrap;gap:8px}}
@media(max-width:640px){body{font-size:15px}.header{height:84px;padding:17px 24px}.brand-name{font-size:1.35rem}.brand-place{font-size:.5rem;margin-top:6px}.menu-toggle{display:flex;gap:14px;align-items:center;background:none;border:0;padding:10px 0 10px 12px;font-size:.73rem;min-height:44px}.menu-toggle span{font-size:1.1rem}.header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:22px 24px 30px;background:var(--ink);color:white;border-top:1px solid #ffffff26;box-shadow:0 15px 30px #0002}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a,.header nav>a:nth-child(3){display:block;padding:16px 0;font-size:.92rem;border-bottom:1px solid #ffffff26}.header .nav-book{border:1px solid #ffffff66!important;margin-top:16px;padding:15px!important;text-align:center}.hero{height:100svh;min-height:620px}.hero img{object-position:var(--mobile-pos,50% 50%)}.hero-shade{background:linear-gradient(180deg,#08253665,transparent 30%,#06223c35 48%,#051f37b0 100%)}.hero-copy{left:26px;right:22px;bottom:18%;max-width:none}.hero-copy h1{font-size:3.65rem}.hero-copy .eyebrow{font-size:.6rem;letter-spacing:.2em;margin-bottom:18px}.hero-sub{font-size:.82rem;max-width:265px;margin:22px 0 24px}.hero .button{font-size:.74rem;min-height:50px;padding:14px 19px;gap:28px}.hero-bottom{left:26px;right:26px;bottom:28px;font-size:.5rem;letter-spacing:.1em;align-items:flex-end}.hero-bottom>span:last-child{display:none}.hero-bottom a{font-size:.64rem}.hero-bottom a span{margin-left:10px}.section{padding:65px 24px}.eyebrow{font-size:.6rem;margin-bottom:18px}h2{font-size:2.5rem}.intro{padding-block:68px 50px}.intro h2{max-width:310px}.intro>p:not(.eyebrow){font-size:.9rem;margin-top:24px}.intro-facts{gap:12px;font-size:.51rem;letter-spacing:.07em;flex-wrap:wrap;margin-top:28px}.intro-facts span+span:before{margin-right:12px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:.81rem;margin-top:20px}.section-heading>.text-link{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:38px;margin-top:28px}.card-image{aspect-ratio:1.16}.card-title{margin-top:20px;flex-wrap:nowrap}.card-title h3{font-size:1.9rem}.card-title>span{font-size:.66rem}.service-card>p{font-size:.83rem}.service-card .card-price{font-size:.8rem;margin-top:15px}.card-price span{font-size:.65rem}.our-way{grid-template-columns:1fr;margin-top:0}.our-way-image{min-height:0;height:370px}.our-way-copy{padding:48px 26px 60px}.our-way-copy p:not(.eyebrow){font-size:.88rem}.our-way-copy h2{font-size:2.8rem}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery-item{aspect-ratio:.86}.journal-empty{gap:18px;padding:28px 0;align-items:flex-start}.journal-empty h3{font-size:1.6rem}.journal-empty p{font-size:.83rem}.wave{font-size:3rem}.journal-grid{grid-template-columns:1fr}.booking-steps{text-align:left}.steps{grid-template-columns:1fr;gap:28px;margin:35px 0}.steps article{border-bottom:1px solid var(--line);padding-bottom:25px}.steps article>span{margin-bottom:12px}.steps h3{font-size:1.65rem}.steps p{margin:12px 0 0;max-width:none;font-size:.84rem}.booking-steps .small{margin-left:0}.closing{min-height:440px}.closing>div{padding:65px 24px}.closing h2{font-size:3.3rem}footer{padding:45px 25px 95px}.footer-top{display:block;padding-bottom:32px}.footer-top .brand{align-items:flex-start}.footer-top>p{margin-top:25px}.footer-top>.text-link{margin-top:25px}.footer-bottom{flex-direction:column;font-size:.65rem}.footer-bottom>div{gap:18px}.preview-note{font-size:.6rem;margin-top:25px}.floating-contact{bottom:max(16px,env(safe-area-inset-bottom));right:16px;font-size:.68rem;padding:9px 15px}.detail-hero .hero-copy{bottom:19%}.detail-hero .hero-copy h1{font-size:3.75rem}.detail-intro,.detail-info{grid-template-columns:1fr;gap:40px}.detail-intro .lead{font-size:1rem}.detail-intro p+p{font-size:.88rem}.trip-summary{padding:28px}.moments{padding-top:0;padding-bottom:10px}.moments .steps{padding-top:25px}.detail-info h3{margin-top:0}.detail-info p{font-size:.85rem}.service-page .gallery-item{aspect-ratio:.86}.page-intro{padding-top:60px;padding-bottom:40px}.page-intro h1{font-size:2.95rem}.page-intro>p:not(.eyebrow){font-size:.9rem;margin-top:24px}.booking-layout{grid-template-columns:1fr;gap:35px;padding-top:5px}.booking-layout aside{padding-top:0}.booking-layout aside h2{font-size:2.2rem}.booking-layout aside hr,.booking-layout aside h3,.booking-layout aside h3~p{display:none}.booking-layout aside .text-link{margin-top:18px}.form-heading h2,.review-panel h2{font-size:2.1rem}form,.review-panel{padding:26px 20px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.field label{font-size:.78rem}.field small{font-size:.68rem}.form-heading{padding-bottom:24px}.review-actions{flex-direction:column;align-items:stretch}.review-actions .text-button{align-self:flex-start}.faq-list{padding-top:0}.faq-list summary{font-size:1.3rem}.faq-list details p{font-size:.87rem}.prose{padding-top:0}.prose p{font-size:.9rem}dialog{padding:65px 12px 80px}dialog figure img{max-height:calc(100dvh - 200px)}dialog figcaption{font-size:.72rem;padding:0 12px}.lightbox-prev,.lightbox-next{top:auto;bottom:22px}.lightbox-prev{left:calc(50% - 65px)}.lightbox-next{right:calc(50% - 65px)}.lightbox-close{right:16px}.video-toggle{bottom:80px;right:20px;font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-video{display:none}}

/* V2 precision pass: shared brand type, quiet interactions and resilient mobile media. */
:root{--serif:'Cormorant','Cormorant Garamond','Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif}
.brand,.brand-name,.brand-place,.brand-inline,.brand-label{font-family:var(--serif);font-style:normal}
.brand-name{font-weight:500}
.brand-place,.brand-label{font-weight:500}
.hero-copy h1,.hero-copy h1 span{font-family:var(--serif);font-style:normal;font-weight:400}
.hero-copy h1 span{display:block;white-space:nowrap}
.keep-together{white-space:nowrap}
.our-way{display:block;margin-top:30px}
.our-way-copy{max-width:980px;margin-inline:auto;padding:82px max(8%,40px)}
.journal{border-top:0;padding-top:82px}
.journal-empty{border:0;padding:10px 0 0}
.social-links{display:flex;justify-content:flex-end;gap:22px;margin:-14px 0 28px}
.social-links a{display:inline-flex;align-items:center;gap:8px;font-size:.69rem;color:#c2d0d0;letter-spacing:.04em}
.social-links svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.social-links svg path,.social-links svg .fill{fill:currentColor;stroke:none}

@media (hover:none) and (pointer:coarse){
 .service-card{transition:transform .12s ease,filter .12s ease;transform-origin:center}
 .service-card:active{transform:scale(.99);filter:brightness(.97)}
}

/* Final mobile ordering: these rules intentionally follow the V2 editorial layer. */
@media(max-width:640px){
 body{overflow-x:clip}
 .section{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
 .card-image,.section .gallery{width:calc(100% + (2 * var(--mobile-gutter)));margin-left:calc(-1 * var(--mobile-gutter))}
 .hero-copy h1{font-size:clamp(2.55rem,13.2vw,3.55rem);line-height:1.01}
 .detail-hero .hero-copy h1{font-size:clamp(2.75rem,12.5vw,3.5rem);white-space:normal}
 .menu-toggle{font-size:.78rem;gap:15px}
 .menu-toggle span{font-size:1.18rem}
}

@media(max-width:640px){
 :root{--mobile-gutter:24px}
 .menu-toggle{font-size:.78rem;gap:15px}
 .menu-toggle span{font-size:1.18rem}
 .hero-copy h1{font-size:clamp(3rem,14vw,4.25rem);line-height:1.01;letter-spacing:-.045em}
 .detail-hero .hero-copy h1{font-size:clamp(3rem,14vw,3.75rem);white-space:normal}
 .section{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
 .card-image,.section .gallery{width:calc(100% + (2 * var(--mobile-gutter)));margin-left:calc(-1 * var(--mobile-gutter))}
 .section .gallery{gap:10px}
 .our-way{margin-top:0}
 .our-way-copy{padding:54px var(--mobile-gutter) 62px}
 .journal{padding-top:58px}
 .journal-empty{padding-top:4px}
 .journal-empty h3{font-size:1.7rem}
 .detail-info h2{font-size:clamp(1.55rem,7.8vw,2.1rem);line-height:1.05;white-space:nowrap}
 .social-links{justify-content:flex-start;margin:0 0 30px;gap:20px}
 .social-links a{font-size:.72rem}
}

@media(max-width:360px){
 :root{--mobile-gutter:18px}
 .header{padding-inline:18px}
 .brand-name{font-size:1.3rem}
 .brand-place{font-size:.51rem}
 .menu-toggle{font-size:.76rem;gap:12px}
 .hero-copy{left:18px;right:18px}
 .hero-copy h1{font-size:clamp(2.78rem,14vw,3.15rem)}
 .hero-sub{max-width:270px}
 .hero-bottom{left:18px;right:18px}
 .detail-hero .hero-copy h1{font-size:clamp(2.75rem,13vw,3.2rem)}
 .detail-info h2{font-size:clamp(1.55rem,7.8vw,1.8rem)}
 .floating-contact,.floating-book{font-size:.59rem;padding-inline:12px}
}
/* Keep the actual boat silhouette clear above the home headline on phones. */
@media (max-width:640px) and (min-height:740px){.home .hero-copy{bottom:11%}}

/* V2 editorial refinement */
:root{--ink:#0d3038;--paper:#f7f5ef;--muted:#596d70;--line:#d9ded8;--sea:#2f6970;--serif:'Cormorant Garamond','Iowan Old Style','Baskerville','Palatino Linotype',Georgia,serif;--sans:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif}
body{font-size:16px;line-height:1.72;letter-spacing:.005em}
h1,h2,h3{letter-spacing:-.035em}
h1 em{font-style:italic}
.small,small{font-size:.88rem;line-height:1.7}
.button{justify-content:center;min-height:56px;padding:16px 28px;border-radius:2px;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;transition:background-color .18s,color .18s,border-color .18s}
.text-link{font-size:.86rem;letter-spacing:.05em}
.nav-enquire{padding:11px 18px;border:1px solid currentColor;letter-spacing:.08em;text-transform:uppercase}
.hero-copy h1{max-width:800px}
.hero .button{min-width:210px}
.hero-bottom a{border-bottom:1px solid #ffffff80;padding-bottom:4px}
.service-grid{grid-template-columns:1fr;gap:72px;max-width:1100px;margin-inline:auto}
.service-card{display:block}
.card-image{aspect-ratio:16/9}
.card-image img{transition:none}
.service-card:hover img{transform:none}
.card-copy{padding-top:25px}
.card-title{margin:0 0 12px;align-items:baseline}
.card-title h3{font-size:2.25rem}
.card-title>span{font-size:.78rem}
.service-card>p,.card-copy>p{font-size:.95rem;color:var(--muted)}
.service-card .card-price{margin-top:18px;font-size:.93rem;color:var(--ink)}
.card-price span{margin-left:5px;font-size:.78rem}
.sunset .card-image img{filter:none}
.gallery{gap:12px}
.gallery-item{cursor:zoom-in;background:#d9e2df}
.gallery-item img{transition:none}
.gallery-item:hover img{transform:none}
.journal-empty{padding-block:52px}
.booking-steps .steps article>span,.moments .steps article>span{display:none}
.booking-steps .steps article{padding-inline:5%}
.included li:before{content:'';display:inline-block;width:18px;height:1px;background:var(--sea);vertical-align:middle;margin-right:14px}
.payment-note{border-top:1px solid #cfd7d1;margin-top:27px;padding-top:22px}
.payment-note>strong{font-family:var(--serif);font-size:1.28rem;font-weight:400}
.payment-note p{margin-top:9px!important;font-size:.9rem!important;line-height:1.65;color:var(--muted)}
.payment-note a{display:inline-block;margin-top:10px;border-bottom:1px solid currentColor;font-size:.82rem}
.form-policy{margin:30px 0 12px;padding:25px 0;border-top:1px solid #c7d0cb;border-bottom:1px solid #c7d0cb}
.form-policy h3{font-size:1.5rem;margin-bottom:12px}
.form-policy p{font-size:.95rem;line-height:1.7;color:var(--ink)}
.form-policy p+p{margin-top:12px}
.form-policy a{text-decoration:underline;text-underline-offset:3px}
.policy{font-size:1rem;max-width:850px}
.policy h2{margin-top:55px}
.policy h2:first-child{margin-top:0}
.policy p{font-size:1rem;line-height:1.8;color:var(--ink)}
.faq-list summary .summary-label{font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);transform:none!important}
.floating-contact,.floating-book{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));z-index:19;display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 19px;border-radius:26px;box-shadow:0 5px 22px #0002;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.floating-contact{right:24px;background:var(--paper);color:var(--ink);border:1px solid #cad2cd}
.floating-book{left:24px;background:var(--ink);color:white;border:1px solid #ffffff70}
.home .floating-contact{background:#ffffffed}
dialog{overflow:hidden;background:#071b22;padding:58px 72px 35px}
dialog figure{display:flex;flex-direction:column;align-items:center}
dialog figure img{transition:transform .2s ease,opacity .2s ease;will-change:transform,opacity;max-height:calc(100dvh - 145px)}
dialog figure img:not(.moving){transition:none}
dialog figcaption{margin-top:15px;font-size:.82rem;line-height:1.5;max-width:720px}
dialog button{border:0;min-width:44px;min-height:44px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#d8e2e2}
.lightbox-close{top:12px;right:18px}
.lightbox-prev,.lightbox-next{top:auto;bottom:20px;font-size:.68rem}
.lightbox-prev{left:20px}.lightbox-next{right:20px}

@media(max-width:640px){
 body{font-size:16px}
 .header{padding-inline:22px}
 .brand-name{font-size:1.42rem}
 .brand-place{font-size:.56rem;letter-spacing:.45em}
 .header .nav-enquire{margin-top:16px;padding:14px!important;text-align:center;border:1px solid #ffffff66!important}
 .hero-copy{left:24px;right:20px;bottom:15%}
 .home .hero-copy{bottom:10%}
 .hero-copy h1{font-size:clamp(3.4rem,16vw,4.5rem);line-height:.98}
 .detail-hero .hero-copy h1{font-size:3.6rem}
 .hero-sub{font-size:.9rem;line-height:1.6;max-width:310px}
 .hero .button{font-size:.68rem;min-width:205px}
 .hero-bottom{left:24px;right:24px}
 .section{padding-left:24px;padding-right:24px}
 .experiences-section,.related-experiences{overflow:hidden}
 .service-grid{gap:58px;margin-top:35px}
 .card-image{width:100vw;margin-left:-24px;aspect-ratio:16/10}
 .card-copy{padding-top:22px}
 .card-title{display:block;margin-bottom:10px}
 .card-title h3{font-size:2.05rem;line-height:1.05;max-width:320px}
 .card-title>span{display:block;margin-top:9px;font-size:.76rem;color:var(--muted)}
 .card-copy>p{font-size:.93rem}
 .service-card .card-price{font-size:.9rem}
 .card-price span{display:block;margin:4px 0 0}
 .our-way-image{height:55vw;min-height:260px}
 .gallery{grid-template-columns:1fr;gap:12px}
 .gallery-item{aspect-ratio:16/10}
 .service-page .gallery{grid-template-columns:1fr}
 .service-page .gallery-item{aspect-ratio:16/10}
 .steps article{padding-bottom:22px}
 .booking-steps .steps article{padding-inline:0}
 .small,small{font-size:.86rem}
 form,.review-panel{padding:30px 22px}
 .field label{font-size:.86rem}
 .field small{font-size:.82rem}
 .form-policy p{font-size:.93rem}
 .policy p{font-size:1rem}
 .floating-contact,.floating-book{bottom:max(14px,env(safe-area-inset-bottom));padding:10px 15px;font-size:.63rem}
 .floating-contact{right:14px}
 .floating-book{left:14px}
 .service-page footer{padding-bottom:105px}
 dialog{padding:52px 0 74px}
 dialog figure img{width:100%;max-height:calc(100dvh - 135px)}
 dialog figcaption{font-size:.78rem;padding-inline:20px}
 .lightbox-prev,.lightbox-next{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
 .lightbox-close{right:10px;top:6px}
}

/* Final mobile ordering: these rules intentionally follow the V2 editorial layer. */
@media(max-width:640px){
 body{overflow-x:clip}
 .section{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
 .card-image,.section .gallery{width:calc(100% + (2 * var(--mobile-gutter)));margin-left:calc(-1 * var(--mobile-gutter))}
 .hero-copy h1{font-size:clamp(2.55rem,13.2vw,3.55rem);line-height:1.01}
 .detail-hero .hero-copy h1{font-size:clamp(2.75rem,12.5vw,3.5rem);white-space:normal}
 .menu-toggle{font-size:.78rem;gap:15px}
 .menu-toggle span{font-size:1.18rem}
}

/* Experience cards: use the photography itself as the invitation to explore. */
.service-card .card-image{position:relative}
.service-card .card-image-link{position:absolute;right:18px;bottom:16px;z-index:2;color:#fff;font-size:.85rem;line-height:1.25;padding-bottom:2px;border-bottom:1px solid currentColor;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.service-card .card-image::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(to top,rgba(0,0,0,.28),transparent);pointer-events:none}
.service-card .card-image-link{pointer-events:none}

/* Match View experience typography to the hero's A different pace link. */
.service-card .card-image-link{font-size:.7rem;letter-spacing:.05em}
@media(max-width:700px){.service-card .card-image-link{font-size:.64rem}}

/* Preserve the desktop closing title; balance its lines on phones. */
.closing-mobile-break{display:none}
@media(max-width:640px){.closing-mobile-break{display:inline}.closing-desktop-break{display:none}.closing h2{font-size:clamp(2.15rem,9vw,2.7rem);white-space:nowrap}}

/* Homepage intro: one line on wide laptops, balanced two lines on smaller laptops. */
@media(max-width:900px){.intro-desktop-break{display:none}}
@media(min-width:1200px){.intro h2{max-width:none;font-size:clamp(2.4rem,3vw,3.1rem);white-space:nowrap}.intro-desktop-break{display:none}}
