@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--ink:#18342c;--moss:#315947;--paper:#f5f0e6;--birch:#fffdf7;--amber:#d67d42;--sky:#cddde1;--line:rgba(24,52,44,.22);--serif:Fraunces,serif;--sans:'DM Sans',sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input{font:inherit}.top{height:82px;background:var(--birch);border-bottom:1px solid var(--line);position:relative;z-index:20}.top>div{height:100%;max-width:1500px;margin:auto;padding:0 45px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:-1px}.logo svg{width:48px;fill:none;stroke:var(--moss);stroke-width:2}.logo b{font-weight:600;color:var(--amber)}.top nav{display:flex;gap:30px;font-size:14px}.top nav a:hover{color:var(--amber)}.mark{border-bottom:1px solid;padding:7px 0;font-size:13px}.mark i{font-style:normal;background:var(--amber);color:#fff;border-radius:50%;padding:2px 7px}.top button{display:none;border:0;background:none}.hero{display:grid;grid-template-columns:.9fr 1.35fr;min-height:calc(100vh - 82px);background:var(--birch)}.hero-copy{padding:9vw 3vw 6vw 7vw;display:flex;flex-direction:column;justify-content:center}.hero-copy>span,.opening>span,.chapter-shelf header span,.route-label>span,.featured header span,.quote>span,.page-head>span,.chapter header span,.chapter>section>span,.hotel-head>span,.story>span,.facts header span,.room-notes header span,.contact>div>span,.more>span,.prose header span{font:11px var(--mono);letter-spacing:1.5px}.hero h1,.opening h2,.chapter-shelf h2,.route h2,.featured h2,.page-head h1,.chapter h1,.hotel-head h1,.story h2,.facts h2,.room-notes h2,.contact h2,.more h2,.prose h1{font:500 clamp(55px,7vw,112px)/.9 var(--serif);letter-spacing:-4px}.hero h1{margin:28px 0}.hero h1 em{color:var(--amber);font-weight:500}.hero-copy>p{font-size:19px;max-width:600px}.hero-copy>a{font-weight:600;margin-top:25px;border-bottom:1px solid;width:max-content}.hero figure{margin:0;position:relative;overflow:hidden}.hero figure img{height:100%;min-height:700px}.hero figcaption{position:absolute;right:0;bottom:0;background:var(--paper);padding:16px 28px;font:10px var(--mono)}.opening,.chapter-shelf,.route,.featured,.quote{padding:105px max(7vw,40px)}.opening{display:grid;grid-template-columns:1fr 2.3fr;background:var(--moss);color:#fff}.opening h2{font-size:clamp(52px,6vw,90px);margin:0}.opening>div p{font-size:19px;max-width:700px}.chapter-shelf header{display:grid;grid-template-columns:1fr 2.3fr}.chapter-shelf header h2{margin:0}.chapter-shelf>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:65px}.chapter-shelf>div>a:nth-child(2){margin-top:90px}.chapter-shelf img{aspect-ratio:4/5}.chapter-shelf a>span{font:10px var(--mono);display:block;margin-top:15px}.chapter-shelf h3{font:500 37px/1 var(--serif);margin:8px 0}.chapter-shelf p{max-width:350px}.route{background:var(--sky);display:grid;grid-template-columns:1fr 1.4fr;gap:10vw}.route h2{font-size:clamp(50px,6vw,90px)}.route-label>a{border-bottom:1px solid;font-weight:600}.route ol{list-style:none;margin:0;padding:0}.route li{display:grid;grid-template-columns:60px 1fr 1.4fr;gap:20px;border-top:1px solid;padding:25px 0}.route li b{font:12px var(--mono)}.route li span{font:500 25px var(--serif)}.route li p{margin:0}.featured header{display:grid;grid-template-columns:1fr 2.3fr;margin-bottom:60px}.featured h2{margin:0}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.stay>a{position:relative;display:block;overflow:hidden}.stay>a img{aspect-ratio:4/5;transition:.5s}.stay>a:hover img{transform:scale(1.025)}.stay>a span{position:absolute;left:12px;top:12px;background:var(--paper);padding:7px 9px;font:9px var(--mono)}.stay>div{position:relative;border-bottom:1px solid var(--line);padding:16px 0}.stay p{font:10px var(--mono);margin:0;text-transform:uppercase}.stay h3{font:500 27px/1.08 var(--serif);margin:8px 45px 6px 0}.stay small{color:#697873}.stay button{position:absolute;right:0;top:17px;border:1px solid;background:var(--birch);border-radius:50%;width:38px;height:38px;font-size:0}.stay button:first-letter{font-size:20px}.stay button.active{background:var(--amber);color:#fff}.quote{text-align:center;background:var(--birch)}.quote blockquote{font:500 italic clamp(45px,6vw,88px)/1.05 var(--serif);max-width:1200px;margin:35px auto}.quote a{border-bottom:1px solid}.page,.chapter,.hotel,.prose{max-width:1500px;margin:auto}.page-head{padding:100px 7vw 80px;display:grid;grid-template-columns:1fr 2.2fr}.page-head h1,.page-head p{grid-column:2}.page-head p{font-size:19px;max-width:680px}.chapter-list{border-top:1px solid var(--line)}.chapter-row{padding:35px 7vw;display:grid;grid-template-columns:.5fr .8fr 1.6fr;gap:5vw;align-items:center;border-bottom:1px solid var(--line)}.chapter-row>span{font:11px var(--mono)}.chapter-row img{height:250px}.chapter-row h2{font:500 50px var(--serif);margin:4px 0}.chapter>header{display:grid;grid-template-columns:1.15fr 1fr;background:var(--moss);color:#fff}.chapter>header img{height:690px}.chapter>header div{padding:8vw 5vw;display:flex;flex-direction:column;justify-content:center}.chapter>section{padding:100px 7vw}.chapter>aside{margin:0 7vw 100px;background:var(--sky);padding:35px;display:grid;grid-template-columns:1fr 2fr}.library-tools{margin:0 7vw 50px;display:flex;justify-content:space-between;gap:40px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.library-tools input{border:0;border-bottom:2px solid;background:none;padding:12px 0;font-size:25px;width:420px;outline:0}.library-tools button{border:1px solid;border-radius:99px;background:none;padding:8px 12px;margin:2px}.library-tools button.active{background:var(--moss);color:#fff}.library{padding:0 7vw 100px}.hotel-head{padding:85px 7vw 45px}.hotel-head h1{max-width:1200px;margin:25px 0}.hotel-head>div{display:flex;justify-content:space-between;align-items:center}.hotel-head button{border:1px solid;background:var(--birch);padding:13px 18px}.gallery{padding:0 7vw;height:680px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:7px;position:relative}.gallery img{height:100%;min-height:0}.gallery img:first-child{grid-row:1/3}.gallery>button{position:absolute;right:9vw;bottom:20px;border:0;background:var(--amber);color:#fff;padding:12px 18px}.hotel dialog{width:94vw;height:90vh;border:0;background:var(--paper);padding:0}.hotel dialog::backdrop{background:rgba(12,32,25,.87)}.hotel dialog header{position:sticky;top:0;background:var(--moss);color:#fff;padding:15px 25px;display:flex;justify-content:space-between;z-index:2}.hotel dialog header button{border:0;background:none;color:#fff}.hotel dialog>div{columns:3;gap:7px;padding:7px}.hotel dialog img{break-inside:avoid;margin-bottom:7px}.story,.facts,.room-notes,.contact,.more{padding:100px 7vw;border-top:1px solid var(--line)}.story{display:grid;grid-template-columns:.7fr 1.5fr .7fr;gap:45px}.story h2,.facts h2,.room-notes h2,.contact h2,.more h2{font-size:clamp(48px,6vw,85px);margin:0 0 28px}.story>div>p{font-size:18px}.story aside{border-left:1px solid var(--line);padding-left:30px}.story aside b{font:500 48px var(--serif);display:block}.story aside span{font-size:12px;display:block;margin-bottom:25px}.facts{background:var(--sky)}.facts header,.room-notes header{display:grid;grid-template-columns:1fr 2fr}.facts h2,.room-notes h2{grid-column:2}.facts>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}.facts>div span{border:1px solid;border-radius:99px;padding:8px 13px}.room-notes>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:45px}.room-notes article{padding:27px;border-bottom:1px solid var(--line)}.room-notes article:nth-child(odd){border-right:1px solid var(--line)}.room-notes article>span{font:10px var(--mono)}.room-notes h3{font:500 27px var(--serif);margin:8px 0}.contact{background:var(--moss);color:#fff;display:grid;grid-template-columns:1.7fr 1fr;gap:10vw}.contact dl>div{display:grid;grid-template-columns:120px 1fr;border-top:1px solid rgba(255,255,255,.3);padding:14px 0}.contact dt{font:10px var(--mono)}.contact>div>a{display:inline-block;border-bottom:1px solid;margin-top:25px}.contact aside{background:var(--paper);color:var(--ink);padding:35px;height:max-content}.contact aside b{font:500 28px var(--serif)}.more .stay-grid{margin-top:50px}.prose{padding:100px 7vw}.prose>header{display:grid;grid-template-columns:1fr 2.2fr;padding-bottom:80px}.prose>header h1,.prose>header p{grid-column:2}.prose>header p{font-size:19px}.prose>section{display:grid;grid-template-columns:1fr 2.2fr;padding:38px 0;border-top:1px solid var(--line)}.prose>section>span{font:11px var(--mono)}.prose section h2{font:500 32px var(--serif);margin:0}.prose section p{max-width:820px}.operator{background:var(--sky);padding:35px!important;margin-top:65px}.operator dl>div{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);padding:11px 0}.operator dt{font:10px var(--mono)}.route-book{padding:0 7vw 100px}.route-book article{display:grid;grid-template-columns:80px 1fr 1.5fr 1fr;gap:30px;border-top:1px solid;padding:30px 0}.route-book b{font:12px var(--mono)}.route-book h2{font:500 32px var(--serif);margin:0}.route-book span{font:11px var(--mono)}.bookmarks{padding:0 7vw}.bookmarks a{display:grid;grid-template-columns:1fr 2fr 1fr;border-top:1px solid;padding:22px 0}.bookmarks span{font:10px var(--mono)}.bookmarks b{font:500 25px var(--serif)}[data-empty]{padding:0 7vw 100px}footer{background:#142e26;color:#fff;padding:90px max(7vw,40px) 25px}.foot-title{display:grid;grid-template-columns:1fr 2.2fr;padding-bottom:70px}.foot-title span{font:10px var(--mono)}.foot-title h2{font:500 58px/1 var(--serif);margin:0}.foot-cols{border-top:1px solid #668078;padding:35px 0;display:grid;grid-template-columns:1fr 1fr 2fr;gap:40px}.foot-cols>div{display:flex;flex-direction:column;gap:7px}.foot-cols b{font:10px var(--mono);color:#e8a478;margin-bottom:10px}.foot-cols a,.foot-cols span{font-size:13px}.foot-cols small{color:#9fb0aa;margin-top:10px}.copy{border-top:1px solid #668078;padding-top:20px;font:10px var(--mono);color:#9fb0aa}
@media(max-width:900px){.top{height:68px}.top>div{padding:0 18px}.top nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--birch);padding:25px;flex-direction:column}.top nav.open{display:flex}.mark{display:none}.top button{display:block}.hero,.opening,.route,.page-head,.chapter>header,.story,.contact,.prose>header,.prose>section,.foot-title,.foot-cols{display:block}.hero-copy{padding:70px 22px}.hero h1{font-size:64px}.hero figure img{min-height:500px}.opening,.chapter-shelf,.route,.featured,.quote{padding:70px 22px}.chapter-shelf>div,.stay-grid{grid-template-columns:1fr}.chapter-shelf>div>a:nth-child(2){margin-top:0}.route ol{margin-top:50px}.featured header,.chapter-shelf header{display:block}.page-head{padding:70px 22px}.chapter-row{display:block;padding:30px 22px}.chapter-row img{margin:20px 0}.chapter>header img{height:500px}.chapter>header div{padding:60px 22px}.chapter>section,.story,.facts,.room-notes,.contact,.more{padding:70px 22px}.library-tools{display:block;margin:0 22px 40px}.library-tools>div{margin-top:20px}.library{padding:0 22px 80px}.hotel-head{padding:60px 22px 35px}.hotel-head>div{display:block}.gallery{padding:0 22px;height:600px;grid-template-columns:1fr 1fr}.gallery img:first-child{grid-column:1/3;grid-row:auto}.gallery img:nth-of-type(n+4){display:none}.hotel dialog>div{columns:1}.facts header,.room-notes header{display:block}.facts h2,.room-notes h2{grid-column:auto}.room-notes>div{grid-template-columns:1fr}.room-notes article:nth-child(odd){border-right:0}.prose{padding:70px 22px}.operator{padding:25px!important}.operator dl>div,.route-book article{display:block}.route-book{padding:0 22px 70px}.route-book article>*{margin-bottom:12px}.foot-title h2{font-size:45px;margin-top:20px}.foot-cols>div{margin-bottom:30px}}
