@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--bg:#eef1f4;--ink:#102a43;--blue:#183b56;--acid:#b8ff3d;--white:#fff;--line:#bcc7d0;--muted:#64798a;--mono:'IBM Plex Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select{font:inherit}.topbar{height:78px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px}.brand i{display:grid;place-items:center;width:34px;height:34px;background:var(--acid);font:500 20px var(--mono);font-style:normal}.brand b{font-size:22px;letter-spacing:-.04em}.brand span{border-left:1px solid var(--line);padding-left:10px;color:var(--muted);font:9px/1.2 var(--mono);text-transform:uppercase}.topbar nav{display:flex;gap:30px;font-size:12px}.topbar>button{justify-self:end;border:0;background:var(--ink);color:white;padding:10px 15px}.topbar>button span{color:var(--acid);margin-left:6px}.saved{position:fixed;right:0;top:0;width:min(440px,100%);height:100vh;background:white;z-index:50;padding:28px;box-shadow:-20px 0 60px #102a4340;overflow:auto}.saved[hidden]{display:none}.saved header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.saved header button{border:0;background:none}.saved [data-saved-list]>div{display:grid;grid-template-columns:1fr auto;padding:18px 0;border-bottom:1px solid var(--line)}
.hero{min-height:calc(100vh - 78px);position:relative;color:white;background:#102a43;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;filter:brightness(.58) saturate(.75)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a2035d9,transparent 70%),linear-gradient(0deg,#0a2035c9,transparent 50%)}.hero-copy{position:relative;z-index:2;padding:10vh 5vw 250px;max-width:950px}.hero-copy>span,.route-modes header>span,.radar header>span,.match header>span,.compare header>span,.country-switch header>span,.steps>span,.archive header>span,.directory header>span,.collection header span,.place>header span,.city header span,.signal header span,.room-lines header span,.utility header span,.near header span,.contact header span,.info header span{font:10px var(--mono);letter-spacing:.13em}.hero h1{font-size:clamp(64px,8vw,136px);line-height:.88;letter-spacing:-.07em;margin:28px 0}.hero h1 em{font-style:normal;color:var(--acid)}.hero-copy p{font-size:19px}.hero form{position:absolute;z-index:3;bottom:35px;left:5vw;right:5vw;display:grid;grid-template-columns:170px 1.5fr 1.2fr 1fr 1fr 1.3fr;background:white;color:var(--ink);border:1px solid #ffffff6b}.hero form header{background:var(--acid);padding:16px}.hero form header b,.hero form header span{display:block;font:11px var(--mono)}.hero form header b{font-size:28px}.hero form label{font:9px var(--mono);padding:15px;border-right:1px solid var(--line)}.hero form select,.hero form input{display:block;width:100%;border:0;background:none;margin-top:9px;outline:none;color:var(--ink)}.hero form button{border:0;background:var(--ink);color:white;padding:15px}.hero form button span{color:var(--acid);float:right}
.route-modes,.radar,.match,.compare,.country-switch,.steps,.archive,.directory,.collection>section,.place>section,.city>section,.info{padding:110px 5vw}.route-modes>header,.radar>header,.match>header,.compare>header,.country-switch>header{display:grid;grid-template-columns:1fr 2fr;margin-bottom:50px}.route-modes h2,.radar h2,.match h2,.compare h2,.country-switch h2{font-size:clamp(48px,6vw,88px);line-height:.96;letter-spacing:-.055em;margin:0}.route-modes>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.route-modes a{height:420px;position:relative;color:white;overflow:hidden}.route-modes img{height:100%;transition:.4s}.route-modes a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071a2ddd,transparent 70%)}.route-modes a>span,.route-modes h3,.route-modes a>p{position:absolute;z-index:2;left:18px;right:18px}.route-modes a>span{top:16px;font:10px var(--mono);color:var(--acid)}.route-modes h3{bottom:55px;font-size:24px;margin:0}.route-modes a>p{bottom:17px;margin:0;font-size:11px}.route-modes a:hover img{transform:scale(1.035)}.radar{background:var(--ink);color:white}.place-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff45}.place-grid a{display:grid;grid-template-columns:40px 1fr auto;padding:23px 12px;border-bottom:1px solid #ffffff45;border-right:1px solid #ffffff45}.place-grid span{font:10px var(--mono);color:var(--acid)}.place-grid b{font-size:18px}.place-grid small{grid-column:2;color:#9fb0bd}.place-grid i{grid-row:1/3;grid-column:3;font-style:normal}.radar>a,.match>a{display:block;width:max-content;margin:35px 0 0 auto;border-bottom:1px solid}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filter-chips button{border:1px solid var(--ink);background:transparent;padding:9px 13px;font:10px var(--mono)}.filter-chips button:hover,.filter-chips button.active{background:var(--acid)}.hotel-list{display:grid;gap:12px}.hotel-card{display:grid;grid-template-columns:310px 1fr 52px;min-height:250px;background:white;border:1px solid var(--line);position:relative}.hotel-pic{position:relative;overflow:hidden}.hotel-pic img{height:100%;transition:.4s}.hotel-pic>span{position:absolute;left:12px;top:12px;background:var(--acid);padding:6px;font:10px var(--mono)}.hotel-card:hover .hotel-pic img{transform:scale(1.025)}.hotel-data{padding:26px}.hotel-data>p{margin:0;font:10px var(--mono);text-transform:uppercase}.hotel-data h3{font-size:28px;line-height:1.05;margin:12px 0}.hotel-data>div{display:flex;gap:6px;flex-wrap:wrap}.hotel-data small{border:1px solid var(--line);padding:5px 7px;font:9px var(--mono)}.hotel-data ul{display:flex;gap:25px;padding:0;list-style:none;color:var(--muted);font-size:11px}.hotel-data .open{display:inline-block;margin-top:15px;border-bottom:1px solid;font-size:12px}.save{align-self:start;border:0;border-left:1px solid var(--line);background:white;height:52px;font-size:20px}.save.on,[data-save].on{background:var(--acid)}.compare{background:white}.compare-table>div{display:grid;grid-template-columns:2fr 1fr 2fr 60px;border-top:1px solid var(--line);align-items:center}.compare-table>div>*{padding:17px}.compare-table>div:first-child{font:9px var(--mono);background:var(--ink);color:white}.compare-table strong{font-size:21px}.compare-table span{font-size:12px;color:var(--muted)}.compare-table a{text-align:center;background:var(--acid)}.country-switch>div{columns:3;column-gap:50px}.country-switch a{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);break-inside:avoid}.steps{background:var(--acid)}.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;list-style:none;padding:40px 0 0}.steps li{border-top:2px solid;padding-top:20px}.steps li>b{font:12px var(--mono)}.steps h3{font-size:27px}.steps p{max-width:330px}
.archive>header,.directory>header{max-width:1000px;margin-bottom:65px}.archive h1,.directory h1,.collection h1,.place h1,.city h1,.info h1{font-size:clamp(58px,8vw,110px);line-height:.9;letter-spacing:-.06em;margin:25px 0}.archive input{width:min(600px,100%);border:0;border-bottom:2px solid;background:transparent;padding:18px 0;font-size:18px}.mode-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mode-directory a{height:440px;position:relative;color:white;overflow:hidden}.mode-directory img{height:100%}.mode-directory a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071a2de8,transparent 70%)}.mode-directory a>*:not(img){position:absolute;z-index:2;left:25px;right:25px}.mode-directory span{top:22px;font:10px var(--mono);color:var(--acid)}.mode-directory h2{bottom:58px;font-size:35px;margin:0}.mode-directory p{bottom:18px;margin:0}.collection>header,.city>header{display:grid;grid-template-columns:1.2fr 1fr;min-height:600px;background:var(--ink);color:white}.collection>header img,.city>header img{height:100%;min-height:600px}.collection>header div,.city>header div{order:-1;padding:7vw;align-self:center}.collection h1,.city h1{color:var(--acid)}.place>header{padding:100px 5vw 50px;background:var(--ink);color:white}.place>header h1{color:var(--acid)}.city-lines{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px}.city-lines a{padding:20px;border:1px solid var(--line);display:flex;justify-content:space-between}.place-directory{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.place-directory a{background:white;border:1px solid var(--line);padding:24px}.place-directory span{font:10px var(--mono);color:#2e5e7f}.place-directory h2{font-size:27px}.place-directory p{font-size:12px;color:var(--muted)}
.hotel{padding:60px 4vw}.hotel-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.hotel-head p{font:10px var(--mono)}.hotel-head h1{font-size:clamp(54px,7vw,105px);line-height:.86;letter-spacing:-.065em;margin:25px 0}.hotel-head>div>span{font:12px var(--mono)}.hotel-head button{border:0;background:var(--acid);padding:14px 18px}.filmstrip{display:flex;gap:7px;overflow:auto;margin:50px -4vw 0;padding:0 4vw 12px}.filmstrip img{flex:0 0 430px;height:360px}.hotel-layout{display:grid;grid-template-columns:1fr 340px;gap:7vw;padding-top:90px}.hotel-layout>article>section{padding:60px 0;border-top:1px solid var(--line)}.hotel-layout section header{display:grid;grid-template-columns:180px 1fr}.hotel-layout section h2{font-size:48px;letter-spacing:-.045em;margin:0 0 30px}.signal>p{font-size:20px;line-height:1.7;max-width:850px;margin-left:180px}.signal>div{margin:30px 0 0 180px;display:flex;gap:8px}.signal>div span{background:var(--acid);padding:7px 10px;font:9px var(--mono)}.data-board{display:grid;grid-template-columns:repeat(4,1fr);padding:0!important;border:1px solid var(--line)!important}.data-board div{padding:20px;border-right:1px solid var(--line)}.data-board small,.data-board b{display:block}.data-board small{font:9px var(--mono)}.data-board b{font-size:22px;margin-top:10px}.room-lines ol{list-style:none;padding:0;margin-left:180px}.room-lines li{display:grid;grid-template-columns:50px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}.room-lines li b{font:10px var(--mono);color:#2e5e7f}.utility>div{margin-left:180px;display:grid;grid-template-columns:repeat(3,1fr)}.utility>div span{padding:12px;border-bottom:1px solid var(--line);font:10px var(--mono)}.near ul{margin-left:180px;list-style:none;padding:0}.near li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.near li span{font:10px var(--mono)}.contact>p,.contact>div{margin-left:180px}.contact>div{display:flex;gap:18px;flex-wrap:wrap}.contact a{border-bottom:1px solid;font-size:12px}.hotel-layout>aside{position:sticky;top:20px;align-self:start;background:white;border:1px solid var(--line);padding:28px}.hotel-layout>aside>span{font:10px var(--mono)}.hotel-layout>aside h2{font-size:38px;line-height:1}.hotel-layout label{display:block;font:9px var(--mono);margin-top:16px}.hotel-layout input,.hotel-layout select{width:100%;padding:12px;margin-top:6px;border:1px solid var(--line);background:white}.hotel-layout form button{width:100%;border:0;background:var(--ink);color:white;padding:15px;margin:18px 0}.hotel-layout aside>small{font:9px var(--mono);color:var(--muted)}.info>header{max-width:1000px}.info>section{max-width:850px;margin:70px auto}.info>section>b{font:12px var(--mono);color:#2e5e7f}.info h2{font-size:34px;margin-top:45px}.info p{line-height:1.75;color:#425e72}.legal>section>p:first-of-type{font-size:19px}.footer{padding:80px 5vw 35px;background:var(--ink);color:white;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px}.footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer h2{font-size:30px}.footer>div>b{font:10px var(--mono);color:var(--acid)}.footer a,.footer p{font-size:12px}.footer small{grid-column:1/-1;padding-top:25px;border-top:1px solid #ffffff30;color:#9fb0bd}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.topbar nav{display:none}.hero form{grid-template-columns:1fr 1fr}.hero form header,.hero form button{grid-column:1/-1}.route-modes>header,.radar>header,.match>header,.compare>header,.country-switch>header{grid-template-columns:1fr}.route-modes>div,.place-grid{grid-template-columns:repeat(2,1fr)}.hotel-card{grid-template-columns:240px 1fr 52px}.hotel-layout{grid-template-columns:1fr}.hotel-layout>aside{position:relative}.footer{grid-template-columns:1fr 1fr}.collection>header,.city>header{grid-template-columns:1fr}.steps ol{grid-template-columns:1fr}.place-directory{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.topbar{padding:0 15px}.brand span{display:none}.hero{min-height:920px}.hero-copy{padding:80px 20px 420px}.hero h1{font-size:62px}.hero form{left:15px;right:15px;bottom:20px;grid-template-columns:1fr}.hero form header,.hero form button{grid-column:auto}.route-modes,.radar,.match,.compare,.country-switch,.steps,.archive,.directory,.collection>section,.place>section,.city>section,.info{padding:75px 20px}.route-modes>div,.place-grid{grid-template-columns:1fr}.route-modes a{height:390px}.hotel-card{grid-template-columns:1fr;}.hotel-pic{height:270px}.save{position:absolute;right:0}.compare-table>div{grid-template-columns:1.3fr 1fr 45px}.compare-table>div>*:nth-child(3){display:none}.country-switch>div{columns:1}.mode-directory,.place-directory{grid-template-columns:1fr}.collection>header img,.city>header img{min-height:360px}.city-lines{grid-template-columns:1fr!important}.hotel{padding:45px 15px}.hotel-head{grid-template-columns:1fr}.filmstrip{margin:35px -15px 0;padding:0 15px}.filmstrip img{flex-basis:82vw;height:300px}.hotel-layout section header{grid-template-columns:1fr}.signal>p,.signal>div,.room-lines ol,.utility>div,.near ul,.contact>p,.contact>div{margin-left:0}.data-board{grid-template-columns:1fr 1fr}.utility>div{grid-template-columns:1fr 1fr}.footer{grid-template-columns:1fr}}
