@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";
:root{--ink:#171717;--ink-soft:#333331;--cloud:#f8fbfa;--paper:#f3f0ea;--stone:#ded8ce;--mist:#dfe9e7;--river:#194f61;--river-deep:#0f2c34;--blue:#78afbf;--terracotta:#b96d50;--brass:#a67c43;--white:#fff;--muted:#706d67;--line:#17171724;--line-light:#ffffff47;--shadow:0 26px 80px #0d1f2538;--radius:8px;--header-height:88px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--cloud);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{background:var(--blue);color:var(--river-deep)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{width:100%;max-width:100%;display:block}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3,.brand-text,.footer-brand{letter-spacing:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;line-height:.98}h1{color:#ffffffeb;max-width:700px;font-size:5.6rem}h2{font-size:4.8rem}h3{font-size:2.25rem}p{color:var(--muted)}.shell{width:min(100%,1540px);margin:0 auto;padding:0 clamp(1.25rem,4vw,4.5rem)}.section-pad{align-content:center;min-height:100svh;padding:clamp(3.25rem,5.5vw,5rem) 0;display:grid}.eyebrow{color:#ffffffb8;letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:800}.eyebrow.dark{color:var(--brass)}.site-header{z-index:50;min-height:var(--header-height);color:var(--white);grid-template-columns:minmax(130px,210px) 1fr auto;align-items:center;gap:clamp(1rem,3vw,3.5rem);padding:1rem clamp(1.25rem,4vw,4.5rem);transition:min-height .22s,background .22s,color .22s,box-shadow .22s;display:grid;position:fixed;inset:0 0 auto}.site-header.is-scrolled,.site-header.menu-open{min-height:72px;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fbfae6;padding-top:.65rem;padding-bottom:.65rem;box-shadow:0 1px #17171717}.brand{z-index:53;width:clamp(116px,13vw,190px);transition:filter .22s,transform .18s;display:inline-flex;position:relative}.site-header.is-scrolled .brand,.site-header.menu-open .brand{filter:invert();width:clamp(90px,8.5vw,108px)}.brand:hover{transform:translateY(-1px)}.site-nav{letter-spacing:.11em;text-transform:uppercase;justify-self:center;align-items:center;gap:clamp(1rem,2.5vw,2.75rem);font-size:.82rem;font-weight:700;display:flex}.site-nav a{opacity:.84;padding:.65rem 0;transition:opacity .18s,transform .18s;position:relative}.site-nav a:after{content:"";opacity:0;transform-origin:0;background:currentColor;height:1px;transition:transform .2s,opacity .2s;position:absolute;bottom:.34rem;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{opacity:1;transform:translateY(-1px)}.site-nav a:hover:after{opacity:1;transform:scaleX(1)}.header-book,.outline-button,.pill-link,.footer-book,.contact-form button{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:999px;justify-content:center;align-items:center;min-height:54px;font-size:.84rem;font-weight:800;transition:transform .18s,background .18s,color .18s,border-color .18s;display:inline-flex}.header-book{justify-self:end;min-width:168px;padding:0 1.2rem}.header-book:hover,.outline-button:hover,.footer-book:hover,.contact-form button:hover{background:var(--ink);border-color:var(--ink);color:var(--white);transform:translateY(-2px)}.menu-toggle{z-index:53;width:48px;height:48px;color:inherit;background:0 0;border:1px solid;border-radius:999px;display:none;position:relative}.menu-toggle span{background:currentColor;width:18px;height:1px;transition:transform .2s,top .2s;position:absolute;left:14px}.menu-toggle span:first-child{top:19px}.menu-toggle span:last-child{top:27px}.menu-open .menu-toggle span:first-child{top:23px;transform:rotate(45deg)}.menu-open .menu-toggle span:last-child{top:23px;transform:rotate(-45deg)}.hero{background:var(--river-deep);min-height:100svh;position:relative;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{overflow:hidden}.hero-media img{object-fit:cover;height:100%;animation:18s ease-out forwards heroDrift;transform:scale(1.04)}.hero-shade{background:linear-gradient(90deg,#030f14c7 0%,#030f1457 48%,#030f148a 100%),linear-gradient(#030f1433 0%,#030f14cc 100%)}.hero-content{z-index:2;flex-direction:column;justify-content:flex-end;min-height:100svh;padding:clamp(7rem,10vw,9rem) clamp(1.25rem,4vw,4.5rem) clamp(2rem,3.8vw,3.5rem);display:flex;position:relative}.hero-copy{color:#ffffffb8;max-width:590px;font-size:1.06rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:clamp(1rem,2vw,1.4rem);display:flex}.pill-link{min-width:250px;color:var(--white);gap:1rem;padding:.25rem .25rem .25rem 1.45rem}.pill-link span{background:var(--white);border-radius:999px;width:46px;height:46px;display:inline-flex}.pill-link span:before{border-top:2px solid var(--ink);border-right:2px solid var(--ink);content:"";width:12px;height:12px;margin:auto;transform:translate(-2px,2px)rotate(45deg)}.pill-link:hover{background:#ffffff1f;transform:translateY(-2px)}.text-link{color:#fffc;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;font-weight:800;transition:color .18s}.text-link:hover{color:var(--white)}.orb-book{z-index:3;aspect-ratio:1;width:clamp(118px,12vw,168px);color:var(--river-deep);text-align:center;text-transform:uppercase;background:#ded8cebd;border:1px solid #ffffff94;border-radius:999px;place-items:center;font-size:clamp(.82rem,1.2vw,1rem);font-weight:700;transition:transform .22s,background .22s;display:grid;position:absolute;bottom:clamp(9rem,18vw,14rem);right:clamp(1.25rem,6vw,7rem)}.orb-book:hover{background:var(--white);transform:translateY(-4px)scale(1.02)}.intro{background:var(--cloud)}.intro-grid,.split-heading,.policy-grid,.contact-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(2rem,7vw,8rem);display:grid}.intro-copy h2{color:var(--ink);margin-top:.65rem}.intro-text,.split-heading p,.stay-copy p,.attraction-copy p,.policy-grid>div>p,.contact-card>p{max-width:700px;font-size:clamp(1.05rem,1.5vw,1.25rem)}.image-row{grid-template-columns:1fr 1fr 1fr;gap:.45rem;margin-top:clamp(2rem,4vw,3.75rem);padding:0 clamp(1.25rem,4vw,4.5rem);display:grid}.image-row figure{height:clamp(220px,24vw,360px);overflow:hidden}.image-row figure:nth-child(2){margin-top:clamp(.7rem,1.8vw,1.6rem)}.image-row figure:nth-child(3){margin-top:clamp(1.2rem,2.8vw,2.4rem)}.image-row img,.feature-photo img,.amenity-card img,.wide-photo img,.quote-bg img,.footer-photo img{object-fit:cover;height:100%;transition:transform .7s,filter .7s}.image-row figure:hover img,.feature-photo:hover img,.amenity-card:hover img,.wide-photo:hover img{transform:scale(1.045)}.stay{background:var(--paper)}.stay-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(2.5rem,7vw,8rem);display:grid}.stay-copy h2,.attraction-copy h2,.policy-grid h2,.contact-card h2{margin-top:.7rem;margin-bottom:1.4rem}.outline-button{width:fit-content;color:var(--ink);margin-top:2rem;padding:0 1.55rem}.outline-button.light{color:var(--white)}.outline-button.light:hover{background:var(--white);border-color:var(--white);color:var(--river-deep)}.feature-photo{height:clamp(360px,42vw,600px);overflow:hidden}.amenities{background:linear-gradient(180deg, var(--cloud) 0%, #eef5f3 100%);overflow:hidden}.split-heading{align-items:end;margin-bottom:clamp(2rem,4vw,3.75rem)}.split-heading h2{max-width:680px}.amenity-track{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(280px,26vw);grid-auto-flow:column;gap:1.35rem;padding:0 clamp(1.25rem,4vw,4.5rem) 1rem;display:grid;overflow-x:auto}.amenity-card{background:var(--river-deep);height:clamp(340px,40vw,520px);color:var(--white);scroll-snap-align:start;position:relative;overflow:hidden}.amenity-card:after{content:"";background:linear-gradient(#05111614,#051116e0);position:absolute;inset:0}.amenity-card div{z-index:2;position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem}.amenity-card span{color:#ffffffbd;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;font-size:.78rem;font-weight:800;display:block}.amenity-card h3{color:var(--white)}.amenity-card p{color:#ffffffc7;max-width:430px}.penthouse-card img{filter:saturate(.72)contrast(.92)}.quote-section{background:var(--river-deep);align-items:center;min-height:100svh;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,4vw,4.5rem);display:grid;position:relative;overflow:hidden}.quote-bg,.quote-bg:after{position:absolute;inset:0}.quote-bg:after{content:"";background:linear-gradient(90deg,#030f14cc,#030f1457)}.quote-panel{z-index:2;max-width:760px;color:var(--white);position:relative}.quote-panel blockquote{margin:1.1rem 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:4.8rem;line-height:.98}.attractions{background:var(--paper);grid-template-rows:auto minmax(260px,1fr);align-content:stretch;row-gap:clamp(1.25rem,2.5vw,2.2rem);padding-bottom:0}.attraction-layout{grid-template-columns:minmax(0,.86fr) minmax(320px,.72fr);gap:clamp(2rem,6vw,6.5rem);display:grid}.activity-list{border-top:1px solid var(--line);gap:0;display:grid}.activity-list article{border-bottom:1px solid var(--line);padding:.72rem 0}.activity-list span{color:var(--river);margin-bottom:.3rem;font-weight:800;display:block}.wide-photo{height:100%;min-height:clamp(260px,32svh,420px);position:relative;overflow:hidden}.wide-photo img{position:absolute;inset:0}.policies{background:var(--cloud)}.policy-list{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.policy-list article{background:var(--cloud);min-height:176px;padding:clamp(1rem,2vw,1.8rem)}.policy-list h3{margin-bottom:.65rem;font-size:1.72rem}.contact{background:var(--river-deep);color:var(--white)}.contact-card h2{color:var(--white)}.contact-card p{color:#ffffffb8}.contact-lines{color:var(--white);gap:1rem;margin-top:2.4rem;font-weight:700;display:grid}.contact-lines a{width:fit-content;transition:color .18s}.contact-lines a:hover{color:var(--blue)}.contact-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-form label{color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase;gap:.45rem;font-size:.76rem;font-weight:800;display:grid}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form input,.contact-form textarea{border-radius:var(--radius);width:100%;color:var(--white);background:#ffffff0f;border:1px solid #ffffff38;outline:none;padding:.95rem 1rem;transition:border-color .18s,background .18s}.contact-form input:focus,.contact-form textarea:focus{background:#ffffff1a;border-color:#ffffffb8}.contact-form button{background:var(--white);width:fit-content;min-width:180px;color:var(--river-deep);grid-column:1/-1}.site-footer{background:var(--ink);color:var(--white)}.footer-photo{height:clamp(260px,36vw,500px);overflow:hidden}.footer-photo img{filter:saturate(.82)brightness(.9)}.footer-grid{grid-template-columns:minmax(220px,.9fr) minmax(0,1fr) auto;align-items:center;gap:2rem;padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.footer-brand{font-size:clamp(2rem,4vw,4.25rem)}.footer-grid p{color:#ffffffad;max-width:520px}.copyright{margin-top:.8rem;font-size:.82rem}.footer-book{color:var(--white);padding:0 1.5rem}.footer-book:hover{background:var(--white);border-color:var(--white);color:var(--ink)}.reveal{opacity:1;transition:opacity .7s,transform .7s;transform:none}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero .reveal{opacity:1;transform:none}@keyframes heroDrift{0%{transform:scale(1.08)}to{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1120px){h1{font-size:4.7rem}h2,.quote-panel blockquote{font-size:4rem}h3{font-size:2rem}.site-header{grid-template-columns:160px 1fr auto}.site-nav{gap:1.25rem}.header-book{min-width:148px}.orb-book{bottom:7rem}.intro-grid,.split-heading,.policy-grid,.contact-grid,.stay-grid,.attraction-layout{grid-template-columns:1fr}.split-heading{align-items:start}.feature-photo{height:440px}}@media (max-width:820px){:root{--header-height:76px}h1{font-size:3.8rem}h2,.quote-panel blockquote{font-size:3.35rem}h3{font-size:1.72rem}.site-header{min-height:var(--header-height);grid-template-columns:1fr auto}.menu-toggle{display:inline-flex}.site-nav{z-index:51;color:var(--ink);letter-spacing:0;text-transform:none;opacity:0;pointer-events:none;background:#f8fbfaf7;flex-direction:column;justify-content:center;gap:.35rem;font-family:Cormorant Garamond,Georgia,serif;font-size:3.2rem;font-weight:600;transition:opacity .22s,transform .22s;display:flex;position:fixed;inset:0;transform:translateY(-12px)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.header-book{display:none}.hero-content{padding:6.5rem 1.25rem 2rem}.hero-copy{max-width:96%}.orb-book{width:104px;bottom:2rem;right:1.25rem}.image-row{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:minmax(220px,72vw);grid-auto-flow:column;padding-bottom:.75rem;overflow-x:auto}.image-row figure,.image-row figure:nth-child(2),.image-row figure:nth-child(3){scroll-snap-align:start;min-height:260px;margin-top:0}.amenity-track{grid-auto-columns:minmax(260px,82vw)}.quote-section{min-height:100svh}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(4),.contact-form button{grid-column:auto}.footer-grid{grid-template-columns:1fr}}@media (max-width:560px){h1{font-size:3.05rem}h2,.quote-panel blockquote{font-size:2.35rem}h3{font-size:1.48rem}p{font-size:.95rem}.hero-actions{flex-direction:column;align-items:stretch}.pill-link{justify-content:space-between;width:100%;min-width:0}.text-link,.orb-book{display:none}.section-pad{min-height:100svh;padding:3rem 0}.intro-text,.split-heading p,.stay-copy p,.attraction-copy p,.policy-grid>div>p,.contact-card>p{font-size:.96rem}.intro-grid,.split-heading,.policy-grid,.contact-grid,.stay-grid,.attraction-layout{gap:1.35rem}.image-row{margin-top:1.5rem}.feature-photo{height:300px}.attractions{grid-template-rows:auto;padding-bottom:3rem}.amenity-card{height:390px}.wide-photo{display:none}.activity-list article{padding:.48rem 0}.activity-list p{font-size:.84rem;line-height:1.38}.policy-list{grid-template-columns:1fr 1fr}.policy-list article{min-height:0;padding:.85rem}.policy-list h3{font-size:1.18rem;line-height:1.08}.policy-list p{font-size:.82rem;line-height:1.42}.contact-lines{gap:.65rem;margin-top:1.35rem}.contact-form{gap:.58rem}.contact-form input,.contact-form textarea{padding:.6rem .72rem}.contact-form textarea{min-height:82px}}.location-page{background:var(--cloud);min-height:100vh}.location-page .site-header,.around-town-page .site-header{color:var(--ink);background:#f8fbfaf0;box-shadow:0 1px #17171717}.location-page .brand,.around-town-page .brand{filter:invert()}.location-hero{min-height:76svh;padding:calc(var(--header-height) + clamp(4rem, 8vw, 8rem)) 0 clamp(4rem, 8vw, 7rem);color:var(--white);background:linear-gradient(90deg,#051116c7,#05111666),url(/images/ship-n-shore/drone-river-2304w.jpg) 50%/cover;align-items:end;display:grid}.location-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);align-items:end;gap:clamp(2rem,7vw,8rem);display:grid}.location-hero h1{max-width:860px;margin-top:.7rem}.location-summary{gap:1.6rem;display:grid}.location-summary p{color:#ffffffc2;font-size:clamp(1.05rem,1.45vw,1.24rem)}.location-directions{width:fit-content}.location-map-section{padding:clamp(4.5rem,9vw,9rem) 0}.location-map-grid{grid-template-columns:minmax(260px,.4fr) minmax(0,1fr);align-items:stretch;gap:clamp(2rem,6vw,7rem);display:grid}.location-address{align-self:center}.location-address h2{margin:.7rem 0 1.8rem;font-size:clamp(2.8rem,5vw,5.6rem)}.location-address .contact-lines{color:var(--ink)}.location-address .contact-lines a:hover{color:var(--river)}.map-panel{border:1px solid var(--line);border-radius:var(--radius);min-height:clamp(420px,54vw,680px);box-shadow:var(--shadow);background:var(--mist);overflow:hidden}.map-panel iframe{width:100%;height:100%;min-height:inherit;border:0;display:block}@media (max-width:900px){.location-hero-grid,.location-map-grid{grid-template-columns:1fr}.location-map-grid{gap:2.4rem}}@media (max-width:560px){.location-hero{min-height:68svh}.location-directions{width:100%}.map-panel{min-height:380px}}.around-town-page{background:var(--paper);min-height:100vh}.around-town-hero{min-height:100svh;padding:calc(var(--header-height) + clamp(4rem, 8vw, 8rem)) 0 clamp(4rem, 8vw, 7rem);color:var(--white);background:linear-gradient(90deg,#051116d1,#05111661),url(/images/ship-n-shore/oval-beach-2239w.jpeg) 50%/cover;align-items:end;display:grid}.around-town-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(300px,.62fr);align-items:end;gap:clamp(2rem,7vw,8rem);display:grid}.around-town-hero h1{max-width:780px;margin-top:.7rem}.around-town-intro{color:#ffffffc2;font-size:1.1rem}.around-town-guide{background:var(--paper)}.around-town-guide-grid{grid-template-columns:minmax(0,.86fr) minmax(320px,.72fr);align-items:center;gap:clamp(2rem,6vw,6.5rem);display:grid}.around-town-copy h2{margin-top:.7rem;margin-bottom:1.4rem}.around-town-copy p{max-width:680px;font-size:1.04rem}.around-town-list{border-top:1px solid var(--line);gap:0;display:grid}.around-town-list article{border-bottom:1px solid var(--line);padding:1.05rem 0}.around-town-list span{color:var(--river);margin-bottom:.28rem;font-weight:800;display:block}@media (max-width:900px){.around-town-hero-grid,.around-town-guide-grid{grid-template-columns:1fr}}@media (max-width:560px){.around-town-hero{min-height:100svh;padding:calc(var(--header-height) + 3rem) 0 3rem}.around-town-intro,.around-town-copy p{font-size:.96rem}.around-town-list article{padding:.72rem 0}.around-town-list p{font-size:.86rem;line-height:1.4}}
