:root{--green:#193e34;--cream:#eee9da;--ink:#16382e;--rust:#ad583f;--lime:#d4dfac;--rail:64px;--display:'Bodoni Moda',Georgia,serif;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--green);color:var(--cream)}body{font-family:var(--sans);overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:none;border:0}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:disabled{opacity:.35;cursor:default}.skip{position:fixed;top:-80px;left:80px;z-index:100;background:var(--cream);color:var(--green);padding:12px}.skip:focus{top:20px}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:30;border-right:1px solid #eee9da40;background:var(--green);color:var(--cream)}.menu-toggle{height:98px;width:100%;border-bottom:1px solid #eee9da40;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:23px;height:1px;background:currentColor;transition:transform .4s,opacity .3s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.rail-credit,.rail-city{position:absolute;left:50%;white-space:nowrap;font-size:9px;letter-spacing:.14em;writing-mode:vertical-rl;transform:translateX(-50%)}.rail-credit{top:124px}.rail-city{bottom:100px}.rail-logo{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;font-family:var(--display);font-weight:900;font-size:25px;letter-spacing:.08em}.rail-wave{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-family:Georgia;font-size:42px;color:var(--lime)}.rail-progress{position:absolute;left:0;top:98px;width:3px;height:calc((100% - 98px) * var(--progress,0));background:var(--lime)}main{margin-left:var(--rail);height:100%;overflow:hidden;touch-action:pan-y}.track{position:relative;display:flex;height:100%;width:max-content;will-change:transform}.scene{width:calc(100vw - var(--rail));height:100dvh;flex-shrink:0;position:relative;overflow:hidden}.cover{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero .cover{object-position:50% 56%}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#14362d15 20%,#08241a18 50%,#0e2827b5 100%)}.hero-top{position:absolute;top:27px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;z-index:2}.hero h1{font-family:var(--display);font-weight:900;font-size:clamp(130px,26vw,580px);line-height:1;letter-spacing:-.065em;position:absolute;left:4.5%;top:2.5%;margin:0;width:89%;transform:scaleX(1.08);transform-origin:left;color:var(--cream);animation:enter-title 1.3s cubic-bezier(.2,.7,.2,1) both}.hero-copy{position:absolute;left:5%;bottom:11.8%;animation:enter-copy 1.2s .2s both}.hero-copy p{font-family:var(--serif);font-size:clamp(30px,4.4vh,60px);line-height:.98;margin:0 0 24px;font-weight:500}.micro{font-size:9px;line-height:1.7;letter-spacing:.09em}.circle{border-radius:50%;width:clamp(130px,19vh,225px);height:clamp(130px,19vh,225px);background:var(--lime);color:var(--green);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:background .3s,transform .5s;z-index:3}.circle:hover{background:var(--cream);transform:rotate(-8deg)}.begin{position:absolute;right:5%;bottom:12%}.circle svg{width:50px;fill:none;stroke:currentColor;stroke-width:2}.circle>span{font-size:10px;letter-spacing:.12em;margin-top:14px}.hero-foot{position:absolute;left:5%;bottom:3.5%}.hero-foot span{margin-left:25px;font-size:20px}.green{background:var(--green);color:var(--cream)}.cream{background:var(--cream);color:var(--ink)}.rust{background:var(--rust);color:var(--cream)}.chapter{display:flex}.chapter-half{width:58%;height:100%;position:relative}.chapter-label{position:absolute;top:5%;left:8%;font-family:var(--serif);font-size:29px;font-weight:500}.giant-number{position:absolute;left:9%;top:5%;font-family:var(--display);font-weight:900;font-size:94vh;line-height:1;letter-spacing:-.06em;color:var(--lime)}.cream .giant-number{color:var(--green)}.rust .giant-number{color:var(--cream)}.chapter-aside{position:absolute;right:7%;bottom:12%;font-size:clamp(18px,2.1vw,35px);font-family:var(--serif);line-height:1.05;max-width:30%;margin:0}.bottom-label{position:absolute;bottom:4%;left:5%}.chapter-half .bottom-label{left:8%}.chapter-photo{width:42%;height:100%;position:relative}.chapter-photo img{width:100%;height:100%;object-fit:cover}.chapter-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102c25b0)}.photo-caption{position:absolute;z-index:1;bottom:9%;left:8%;font-size:9px;line-height:1.7;letter-spacing:.04em;color:var(--cream)}.eyebrow{font-size:10px;letter-spacing:.13em;display:block}.river{width:calc(145vw - var(--rail));padding:6vh 5vw;display:flex;gap:8vw}.river-copy{width:30vw;padding-top:3vh;flex-shrink:0}.editorial{font-family:var(--serif);font-size:clamp(28px,3vw,50px);line-height:1.05;margin:6vh 0 4vh}.body-copy{font-size:clamp(12px,1vw,16px);line-height:1.8;max-width:420px}.river-copy .micro{display:block;margin-top:3vh}.river-image{width:58vw;height:76vh;margin:0;position:relative}.river-image img{width:100%;height:100%;object-fit:cover}.river-image figcaption{font-size:9px;letter-spacing:.03em;margin-top:10px}.river-word{position:absolute;bottom:-1.5vw;right:0;font-family:var(--display);font-weight:900;font-size:19vw;letter-spacing:-.06em;margin:0;line-height:1;color:var(--green);pointer-events:none}.panorama .cover{filter:brightness(.76);object-position:center}.panorama-title{position:absolute;top:6%;left:5%;font-family:var(--display);font-weight:900;font-size:clamp(65px,12vw,240px);line-height:.91;letter-spacing:-.055em}.panorama-title span{display:block}.panorama-title em{font-family:var(--serif);font-weight:500}.panorama-note{position:absolute;right:6%;bottom:12%;font-size:10px}.aboard{padding:6vh 5vw}.aboard h2{font-family:var(--serif);font-size:clamp(55px,8.5vw,170px);line-height:.91;letter-spacing:-.04em;font-weight:500;margin:5vh 0}.aboard h2 em{color:var(--lime)}.aboard-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:end}.boat-drawing svg{width:100%;max-height:23vh;stroke:var(--lime);stroke-width:1.5;fill:none}.details{display:flex;gap:22px;margin-top:20px;border-top:1px solid #eee9da55;padding-top:14px;font-size:10px}.aboard .bottom-label{bottom:3.5%}.voyages{display:flex;padding:9vh 5vw;gap:8vw}.voyages-heading{width:36%}.voyages-heading h2{font-family:var(--serif);font-size:clamp(54px,7vw,125px);font-weight:500;line-height:.94;letter-spacing:-.05em;margin:6vh 0 5vh}.voyage-list{flex:1}.voyage{display:grid;grid-template-columns:1fr auto;position:relative;border-top:1px solid #193e3450;padding:24px 0;width:100%;text-align:left;transition:padding .3s}.voyage:hover{padding-left:15px}.voyage .micro{grid-column:1/-1}.voyage-name{font-family:var(--serif);font-size:clamp(30px,3.8vw,66px);line-height:1.25;grid-column:1/-1}.voyage-description{font-size:11px;margin-top:6px}.voyage-price{font-size:11px;align-self:end}.voyage-price span{margin-left:20px;font-size:25px}.price-note{display:block;border-top:1px solid #193e3450;padding-top:20px}.route{display:flex;padding:6vh 5vw;gap:4vw}.route-copy{width:37%}.route h2{font-family:var(--display);font-weight:900;font-size:clamp(55px,8vw,155px);line-height:.95;letter-spacing:-.05em;margin:6vh 0 4vh}.route h2 em{font-family:var(--serif);font-weight:500;color:var(--lime)}.route-copy .micro{display:block;margin-top:30px;font-size:8px}.route-art{flex:1;display:flex;align-items:center;justify-content:center}.route-art svg{width:100%;max-height:85vh;fill:var(--lime)}.map-bank{fill:none;stroke:var(--cream);stroke-width:1;opacity:.6}.map-street{fill:none;stroke:var(--cream);stroke-width:.7;opacity:.2}.map-trip{fill:none;stroke:var(--lime);stroke-width:2;stroke-dasharray:5 8;animation:flow 4s linear infinite}.map-bridge{fill:none;stroke:var(--cream);stroke-width:8}.map-text{font:9px var(--sans);letter-spacing:.08em;fill:var(--cream)}.finale .cover{filter:brightness(.62);object-position:center}.finale>.chapter-label{left:5%;font-size:27px}.finale h2{position:absolute;top:20%;left:5%;font-family:var(--display);font-weight:900;font-size:clamp(85px,13vw,260px);line-height:.85;margin:0;letter-spacing:-.055em}.finale h2 em{font-family:var(--serif);font-weight:500}.book{position:absolute;right:6%;bottom:18%}.book>span:first-child{font-size:13px;line-height:1.5}.book .circle-arrow{font-size:30px;margin-top:8px}.finale-foot{position:absolute;bottom:5%;left:5%;right:5%;display:flex;gap:35px;align-items:center}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:5px}.finale-foot .text-button:last-child{margin-left:auto}.bottom-nav{position:fixed;bottom:20px;left:calc(var(--rail) + 50% - var(--rail)/2);transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:15px;padding:7px 14px;background:var(--green);color:var(--cream);border:1px solid #eee9da50}.bottom-nav button{padding:4px;font-size:20px}.current-chapter{font-size:10px;min-width:70px}.counter{font-size:9px;letter-spacing:.08em}.chapter-dots{display:flex;gap:7px}.chapter-dots button{width:5px;height:5px;padding:0;border-radius:50%;background:var(--cream);opacity:.3}.chapter-dots button.active{opacity:1}.menu{position:fixed;inset:0 0 0 var(--rail);z-index:25;background:var(--green);color:var(--cream);padding:4vh 5vw;transform:translateX(-110%);transition:transform .8s cubic-bezier(.22,.8,.25,1);display:flex;flex-direction:column}.menu.open{transform:translateX(0)}.menu nav{display:flex;flex-direction:column;justify-content:space-evenly;flex:1;padding:2vh 0}.menu nav button{display:flex;align-items:baseline;gap:40px;text-align:left;font-family:var(--display);font-weight:900;font-size:clamp(55px,7.5vw,155px);line-height:1;letter-spacing:-.06em;transition:color .3s}.menu nav button:hover{color:var(--lime)}.menu nav button:hover span{text-decoration:line-through;text-decoration-thickness:2px}.menu nav sup{font-family:var(--sans);font-size:12px;letter-spacing:0}.menu-footer{display:flex;justify-content:space-between;gap:25px}.menu-kicker{opacity:.65}dialog{background:var(--cream);color:var(--green);border:0;padding:55px;max-width:650px;width:calc(100% - 40px);max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#0a201ad9;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .35s ease}.close-dialog{position:absolute;right:20px;top:13px;font-size:36px;font-weight:400}dialog h2{font:500 65px/.95 var(--serif);letter-spacing:-.03em;margin:22px 0}dialog h3{font:500 30px var(--serif);margin-bottom:15px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog ul{padding-left:15px}dialog li{margin-bottom:8px}.dialog-intro{opacity:.8}form{margin-top:30px}form label{display:block;font-size:10px;letter-spacing:.06em;margin-bottom:22px}form label span{opacity:.6}input,textarea,select{width:100%;display:block;margin-top:9px;background:transparent;border:0;border-bottom:1px solid #193e3455;border-radius:0;color:var(--green);padding:12px 0;font-size:14px;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:1px solid var(--green)}textarea{resize:vertical;min-height:64px}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:25px}.submit-button{width:100%;display:flex;justify-content:space-between;background:var(--green);color:var(--cream);padding:20px;margin-top:10px;font-size:12px}.submit-button:hover{background:#285746}.success-summary{border-block:1px solid #193e3440;padding:22px 0;white-space:pre-line}.booking-success[hidden]{display:none}body.dialog-open main{pointer-events:none}body.dragging{cursor:grabbing;user-select:none}body.dragging .track{pointer-events:none}@keyframes flow{to{stroke-dashoffset:-52}}@keyframes enter-title{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}@keyframes enter-copy{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){:root{--rail:80px}.body-copy{font-size:17px}.micro{font-size:11px}.hero-top{font-size:12px}.voyage-description,.voyage-price{font-size:14px}}
@media(max-height:650px) and (min-width:801px){.rail-credit{font-size:8px;top:110px}.rail-city{bottom:75px;font-size:8px}.aboard h2{font-size:7vw;margin:4vh 0}.aboard-bottom .body-copy{font-size:11px;line-height:1.5}.voyage{padding:16px 0}.voyage-name{font-size:3.2vw}.voyages{padding-block:6vh}.hero h1{font-size:23vw}.hero-copy{bottom:14%}}
@media(max-width:800px){:root{--rail:0px}body{overflow-y:auto;overflow-x:hidden}.rail{inset:0 0 auto;width:100%;height:64px;display:flex;align-items:center;justify-content:space-between;background:var(--green);border-right:0;border-bottom:1px solid #eee9da40}.menu-toggle{width:64px;height:64px;border-bottom:0;border-left:1px solid #eee9da40;order:2}.rail-logo{position:static;transform:none;writing-mode:initial;padding:0 23px;font-size:25px}.rail-credit,.rail-city,.rail-wave{display:none}.rail-progress{top:auto;bottom:-1px;height:2px;width:calc(100% * var(--progress,0))}main{margin:64px 0 0;height:auto;overflow:visible}.track{display:block;width:100%;height:auto;transform:none!important;will-change:auto}.scene{width:100%;height:calc(100svh - 64px);min-height:580px}.hero-top{top:22px;font-size:8px;left:6%;right:6%;gap:10px}.hero h1{font-size:31vw;top:9%;left:5%;width:90%;transform:none}.hero .cover{object-position:53% 50%}.hero-copy{left:6%;bottom:18%}.hero-copy p{font-size:37px}.hero-copy .micro{max-width:230px;display:block;font-size:8px}.circle{width:115px;height:115px}.begin{right:6%;bottom:5%}.circle>span{font-size:8px}.hero-foot{left:6%;bottom:9%;max-width:140px;font-size:8px}.hero-foot span{display:block;margin:8px 0 0;transform:rotate(90deg);transform-origin:10px 10px}.chapter{height:auto;min-height:0;display:block}.chapter-half{width:100%;height:70svh;min-height:460px}.chapter-label{top:5%;left:6%;font-size:25px}.giant-number{font-size:67svh;left:8%;top:5%}.chapter-aside{right:9%;bottom:13%;font-size:25px;max-width:34%}.chapter-photo{width:100%;height:65svh;min-height:400px}.chapter-half .bottom-label{left:6%}.photo-caption{left:6%;bottom:5%}.river{padding:50px 6% 0;height:auto;display:block;min-height:0}.river-copy{width:100%;padding:0}.eyebrow{font-size:9px}.editorial{font-size:38px;margin:30px 0}.body-copy{font-size:13px}.river-copy .micro{margin:30px 0}.river-image{width:100%;height:55svh;margin:40px 0 0}.river-word{position:relative;font-size:24vw;bottom:auto;right:auto;margin:20px -6% 0;line-height:1.2;letter-spacing:-.07em}.panorama-title{top:8%;left:6%;font-size:21vw;line-height:1}.panorama-note{right:6%;bottom:9%;font-size:9px}.aboard{height:auto;padding:50px 6% 70px;min-height:0}.aboard h2{font-size:15vw;margin:40px 0}.aboard-bottom{display:flex;flex-direction:column;gap:30px;align-items:stretch}.boat-drawing svg{max-height:180px}.details{justify-content:space-between;gap:8px;font-size:9px}.aboard .bottom-label{left:6%;bottom:20px;font-size:7px}.voyages{display:block;height:auto;padding:50px 6%;min-height:0}.voyages-heading{width:100%}.voyages-heading h2{font-size:65px;margin:30px 0}.voyages-heading p{margin-bottom:40px}.voyage{padding:24px 0}.voyage-name{font-size:42px}.voyage-description{font-size:10px;max-width:170px}.voyage-price{font-size:10px}.voyage-price span{margin-left:8px}.route{height:auto;padding:50px 6%;display:block;min-height:0}.route-copy{width:100%}.route h2{font-size:23vw;margin:40px 0 25px}.route-art{margin-top:30px}.route-art svg{max-height:65svh}.finale{height:calc(100svh - 64px);min-height:650px}.finale h2{font-size:23vw;top:24%;left:6%;line-height:.95}.finale>.chapter-label{left:6%;top:6%}.book{bottom:22%;right:6%}.book>span:first-child{font-size:10px}.finale-foot{flex-wrap:wrap;gap:15px;bottom:7%;left:6%;right:6%}.finale-foot>.micro{width:100%;font-size:8px}.finale-foot .text-button{font-size:10px}.bottom-nav{display:none}.menu{inset:64px 0 0;padding:30px 6%;transform:translateY(-120%);z-index:25}.menu.open{transform:translateY(0)}.menu nav button{font-size:14vw;gap:20px;letter-spacing:-.055em;line-height:1.1}.menu-footer{flex-direction:column;align-items:flex-start;gap:14px}.menu-footer .micro{font-size:8px}dialog{padding:45px 25px 30px;max-height:85dvh}dialog h2{font-size:53px}.submit-button{padding:17px;font-size:11px}.form-row{gap:18px}.skip{left:10px}body.menu-open{overflow:hidden}}
html[data-motion="reduced"] *,html[data-motion="reduced"] *:before,html[data-motion="reduced"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html[data-motion="reduced"] .track{will-change:auto}

.hero h1{color:var(--green)}.hero-top{color:var(--green)}
/* Motion follows the horizontal story; transforms keep layout stable. */
.cover,.chapter-photo img,.river-image img{will-change:transform;backface-visibility:hidden;transform:scale(1.08)}
.chapter-photo,.river-image{overflow:hidden}
.river-image{overflow:visible}.river-image img{clip-path:inset(0);transform-origin:center}
.hero h1,.hero-copy{animation:none}
.motion-word{display:inline-block;white-space:nowrap}
.letter-mask{display:inline-block;overflow:clip;vertical-align:top;padding:.22em .025em .16em;margin:-.22em -.025em -.16em;overflow-clip-margin:0}
.motion-letter{display:inline-block;transform:translate3d(0,125%,0) rotate(3deg);opacity:0;transition:transform 1.15s cubic-bezier(.16,1,.3,1),opacity .5s;transition-delay:var(--letter-delay,0ms);will-change:transform}
.split-heading.is-revealed .motion-letter{transform:translate3d(0,0,0) rotate(0);opacity:1}
.hero h1 .motion-letter{transition-duration:1.5s}
.motion-reveal{opacity:0;transform:translate3d(0,25px,0);transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .75s;transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.is-revealed{opacity:1;transform:translate3d(0,0,0)}
.giant-number{transform:translate3d(var(--scene-shift,0px),0,0);will-change:transform}
.river-word{translate:calc(var(--scene-shift,0px) * -.65) 0}
.panorama-title{translate:calc(var(--scene-shift,0px) * -.35) 0}
.circle{transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0) rotate(0);transition:background .3s,transform .45s cubic-bezier(.16,1,.3,1)}
.circle:hover{transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0) rotate(-7deg)}
.circle svg{transition:transform .65s cubic-bezier(.16,1,.3,1)}
.circle:hover svg{transform:scale(1.2)}
.circle-arrow{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.circle:hover .circle-arrow{transform:translate(4px,-4px)}
.voyage-price>span{display:inline-block;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.voyage:hover .voyage-price>span{transform:translate(5px,-5px)}
.menu nav button{overflow:hidden;padding:.07em 0;margin:-.07em 0}
.menu nav button>span,.menu nav sup{display:block;transform:translate3d(0,130%,0);transition:transform .75s cubic-bezier(.16,1,.3,1)}
.menu.open nav button>span,.menu.open nav sup{transform:translate3d(0,0,0);transition-delay:calc(180ms + var(--menu-index,0) * 85ms)}
.menu nav button:nth-child(1){--menu-index:0}.menu nav button:nth-child(2){--menu-index:1}.menu nav button:nth-child(3){--menu-index:2}.menu nav button:nth-child(4){--menu-index:3}
.menu-kicker,.menu-footer{opacity:0;transform:translateY(15px);transition:opacity .4s,transform .7s cubic-bezier(.16,1,.3,1)}
.menu.open .menu-kicker,.menu.open .menu-footer{opacity:1;transform:none;transition-delay:.45s}
.rail-progress{transition:none}.chapter-dots button{transition:opacity .35s,transform .35s}.chapter-dots button.active{transform:scale(1.4)}
body.menu-open .bottom-nav{opacity:0;pointer-events:none}.bottom-nav{transition:opacity .3s}
@media(max-width:800px){.motion-letter{transition-duration:1s}.giant-number{transform:translate3d(0,var(--scene-shift,0px),0)}.river-word,.panorama-title{translate:none}.circle:hover{transform:none}.menu nav button>span,.menu nav sup{transition-duration:.65s}}
html[data-motion="reduced"] .motion-letter,html[data-motion="reduced"] .motion-reveal{opacity:1!important;transform:none!important}html[data-motion="reduced"] :is(.cover,.chapter-photo img,.river-image img,.giant-number){transform:none!important;will-change:auto}html[data-motion="reduced"] :is(.river-word,.panorama-title){translate:none}html[data-motion="reduced"] .menu.open :is(nav button>span,nav sup){transform:none!important}html[data-motion="reduced"] .circle{transform:none!important}

.image-crop{width:100%;height:100%;overflow:hidden}.image-crop img{clip-path:none}

.motion-letter,.giant-number,.cover,.chapter-photo img,.river-image img{will-change:auto}.scene.motion-active :is(.cover,.chapter-photo img,.river-image img){will-change:transform}
.motion-toggle{position:fixed;z-index:15;bottom:25px;right:25px;padding:9px 12px;border:1px solid #eee9da50;background:var(--green);color:var(--cream);font-size:9px;letter-spacing:.04em}.motion-toggle:hover{background:#285446}
@media(max-width:800px){.motion-toggle{bottom:15px;right:15px;padding:8px 10px;font-size:8px}}
