.jn-hotel{--navy:#071d44;--blue:#0d65d9;--gold:#ffb703;--premium-line:#dbe6f3;background:#f7faff}
.jn-hotel [hidden]{display:none!important}
.jn-hotel .container{width:min(1320px,calc(100% - 72px))}
.jn-hotel .jn-stay-nav-wrap{position:relative;z-index:8;background:#fff;box-shadow:0 1px 0 #e5edf5}
.jn-hotel .jn-stay-nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.jn-hotel .stay-brand{display:flex;gap:7px;align-items:center;text-decoration:none;color:#08295a;font-size:15px;font-weight:950;letter-spacing:.065em;white-space:nowrap}
.jn-hotel .stay-brand-symbol{color:#ffb703;font-size:21px;line-height:1}
.jn-hotel .stay-brand span:last-child{color:#4585cf;font-weight:750;letter-spacing:.12em}
.jn-hotel .stay-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(9px,1.8vw,27px)}
.jn-hotel .stay-links a{text-decoration:none;color:#33496a;font-size:12px;font-weight:750;white-space:nowrap;padding:18px 0;position:relative}
.jn-hotel .stay-links a::after{content:"";height:2px;background:#0d65d9;position:absolute;bottom:13px;left:0;right:0;transform:scaleX(0);transition:transform .2s}
.jn-hotel .stay-links a:hover{color:#0d65d9}.jn-hotel .stay-links a:hover::after{transform:scaleX(1)}
.jn-hotel .stay-nav-cta{background:#0d65d9;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px;border-radius:9px;padding:10px 16px;font-size:12px;font-weight:850;white-space:nowrap}
.jn-hotel .stay-nav-cta:hover{background:#0952b6;color:#fff}
.jn-hotel .hero.jn-stay-hero{position:relative;isolation:isolate;min-height:565px;padding:63px 0 125px;background:none!important;color:#071d44;overflow:hidden}
.jn-hotel .hero.jn-stay-hero::before{display:none}
.jn-hotel .stay-hero-images,.jn-hotel .stay-hero-shade,.jn-hotel .stay-hero-slide{position:absolute;inset:0}
.jn-hotel .stay-hero-images{z-index:-3;overflow:hidden;background:#e2f1fc}
.jn-hotel .stay-hero-slide{opacity:0;background-size:cover;background-position:center 47%;transition:opacity 1.3s ease-in-out;will-change:opacity}
.jn-hotel .stay-hero-slide.is-active{opacity:1;z-index:1}
.jn-hotel .stay-hero-shade{z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(246,251,255,.96) 0%,rgba(236,249,255,.88) 25%,rgba(226,245,255,.5) 45%,rgba(239,249,255,.06) 74%),linear-gradient(0deg,rgba(5,29,68,.25),transparent 28%)}
.jn-hotel .stay-hero-layout{min-height:370px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;z-index:1}
.jn-hotel .stay-hero-copy{max-width:720px;padding-top:24px}
.jn-hotel .stay-eyebrow{margin:0 0 16px;font-size:12px;font-weight:850;color:#0d65d9;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.jn-hotel .stay-eyebrow span{color:#f2a900}
.jn-hotel .hero.jn-stay-hero h1{margin:0 0 17px;color:#071d44;font-size:clamp(39px,4.55vw,72px);line-height:1.04;letter-spacing:-.052em;font-weight:880;max-width:740px;text-shadow:none}
.jn-hotel .hero.jn-stay-hero h1 em{color:#0757b9;font-style:normal}
.jn-hotel .stay-hero-description{margin:0 0 22px;max-width:585px;color:#24476e;font-size:clamp(14px,1.35vw,18px);font-weight:570;line-height:1.55}
.jn-hotel .stay-hero-chips{display:flex;flex-wrap:wrap;gap:9px}
.jn-hotel .stay-hero-chips span{font-size:11px;font-weight:750;background:rgba(255,255,255,.74);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.7);color:#174673;padding:8px 11px;border-radius:999px;display:inline-flex;gap:7px;align-items:center;box-shadow:0 3px 12px rgba(3,30,67,.045)}
.jn-hotel .stay-hero-chips b{color:#168d78;font-weight:900}
.jn-hotel .stay-hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:36px}
.jn-hotel .stay-slide-controls{display:flex;align-items:center;gap:9px;border-radius:30px;background:rgba(7,29,68,.82);padding:6px 9px;backdrop-filter:blur(6px)}
.jn-hotel .stay-slide-controls button{background:none;border:0;color:#fff;display:grid;place-items:center;cursor:pointer}
.jn-hotel .stay-slide-arrow{width:28px;height:28px;border-radius:50%;font-size:25px;line-height:1}
.jn-hotel .stay-slide-arrow:hover,.jn-hotel .stay-slide-pause:hover{background:rgba(255,255,255,.18)}
.jn-hotel .stay-slide-dots{display:flex;align-items:center;gap:7px;padding:0 5px}
.jn-hotel .stay-slide-dots button{width:8px;height:8px;border-radius:50%;padding:0;background:#8eaad0;transition:width .25s ease,background .25s ease}
.jn-hotel .stay-slide-dots button[aria-current="true"]{background:#ffb703;width:27px;border-radius:8px}
.jn-hotel .stay-slide-pause{width:29px;height:29px;font-size:13px;border-radius:50%}
.jn-hotel .stay-scene-label{font-size:11px;font-weight:700;background:rgba(6,28,59,.68);color:#f1f6ff;padding:8px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.jn-hotel .stay-search-overlap{position:relative;z-index:6;margin-top:-113px;margin-bottom:4px}
.jn-hotel .booking-card.stay-booking{border-radius:19px;box-shadow:0 25px 64px rgba(6,30,65,.22);border:1px solid rgba(255,255,255,.9);overflow:visible;background:#fff}
.jn-hotel .stay-booking .stay-booking-title{padding:17px 23px 0}
.jn-hotel .stay-booking .stay-booking-title h2{font-size:15px;letter-spacing:-.015em;color:#14345b}
.jn-hotel .stay-booking .status-pill{padding:4px 9px;font-size:10px}
.jn-hotel .stay-booking .stay-search-fields{grid-template-columns:minmax(180px,2fr) minmax(145px,1.06fr) minmax(145px,1.06fr) minmax(162px,1.15fr) minmax(150px,1.09fr);gap:10px;padding:15px 23px 7px;align-items:end}
.jn-hotel .stay-search-fields .field{min-width:0}
.jn-hotel .stay-search-fields .field label,.jn-hotel .stay-guest-label{display:block;font-size:11px;font-weight:850;color:#365376;margin-bottom:6px;line-height:1.25}
.jn-hotel .stay-search-fields .field input,.jn-hotel .stay-guest-trigger{height:52px;width:100%;border-radius:10px;border:1px solid #ccdbea;background:#fff;font-size:13px;font-weight:730;color:#17365a;padding:10px 12px}
.jn-hotel .stay-search-fields input[type=date]{padding:10px 9px;font-size:12px}
.jn-hotel .stay-guest-trigger{display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;line-height:1.3;cursor:pointer}
.jn-hotel .stay-guest-trigger[aria-expanded=true]{border-color:#0d65d9;box-shadow:0 0 0 3px rgba(13,101,217,.11)}
.jn-hotel .field-guests{position:relative;z-index:10}
.jn-hotel .stay-guest-popover{position:absolute;top:calc(100% + 9px);right:0;width:min(365px,90vw);background:#fff;border:1px solid #d9e6f3;border-radius:14px;padding:18px;box-shadow:0 22px 45px rgba(7,29,68,.18);z-index:80}
.jn-hotel .stay-guests-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.jn-hotel .stay-guest-popover .field label{font-size:11px}
.jn-hotel .stay-guest-popover .field select{height:43px;padding:5px 7px;border-radius:8px;width:100%}
.jn-hotel .stay-guest-popover .child-age-row{padding:10px;margin-top:10px;border-radius:8px}
.jn-hotel .stay-guest-done{display:block;margin:14px 0 0 auto;background:#0d65d9;color:#fff;border:0;border-radius:9px;padding:9px 18px;font-size:12px;font-weight:800}
.jn-hotel .stay-primary{height:52px;width:100%;background:#ffb703!important;border-color:#ffb703!important;color:#071d44!important;box-shadow:0 6px 12px rgba(251,177,0,.16);font-size:13px;white-space:normal}
.jn-hotel .stay-primary:hover{background:#ffc436!important;border-color:#ffc436!important;color:#071d44!important}
.jn-hotel .stay-primary span{color:#071d44}
.jn-hotel .stay-booking-foot{padding:9px 23px 18px;gap:12px}
.jn-hotel .compliance-note{margin:14px auto 0;max-width:1050px;color:#3e5776;font-size:11px}
.jn-hotel .stay-trustbar{background:#fff;border-bottom:1px solid #e4ebf4;margin-top:30px}
.jn-hotel .stay-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-block:25px}
.jn-hotel .stay-trust-item{display:flex;align-items:center;gap:13px;font-size:13px;color:#163758}
.jn-hotel .stay-trust-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#eff6ff;color:#0d65d9;font-weight:900;font-size:20px}
.jn-hotel .stay-styles-section{background:#fff!important}
.jn-hotel .stay-section-heading{align-items:flex-end}
.jn-hotel .stay-text-action{font-size:12px;color:#0d65d9!important;font-weight:850;text-decoration:none;white-space:nowrap;border-bottom:1px solid #b9d9fd;padding-bottom:3px}
.jn-hotel .stay-style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.jn-hotel .stay-style-card{border:1px solid #dce7f4;border-radius:17px;background:#f8fbff;padding:22px;text-align:left;min-height:206px;display:flex;flex-direction:column;gap:9px;transition:border-color .2s,box-shadow .2s,transform .2s}
.jn-hotel .stay-style-card:hover{transform:translateY(-2px);border-color:#8ebcea}
.jn-hotel .stay-style-card.is-selected{border-color:#0d65d9;background:#f0f7ff;box-shadow:0 7px 21px rgba(13,101,217,.1)}
.jn-hotel .stay-style-symbol{width:41px;height:41px;display:grid;place-items:center;border-radius:13px;background:#e3efff;color:#1160bc;font-size:23px;line-height:1}
.jn-hotel .stay-style-name{font-size:17px;color:#092b58;font-weight:850;line-height:1.2}
.jn-hotel .stay-style-sub{font-size:12px;line-height:1.5;color:#516985}
.jn-hotel .stay-style-meta{font-size:10px;line-height:1.5;color:#1d65a8;font-weight:780;margin-top:auto}
.jn-hotel .stay-style-insight{display:flex;gap:30px;align-items:center;justify-content:space-between;background:#0a2a59;color:#fff;border-radius:18px;padding:23px 29px;margin-top:16px;box-shadow:0 14px 30px rgba(3,29,66,.12)}
.jn-hotel .stay-insight-kicker{display:block;color:#a5cbf4;font-size:10px;letter-spacing:.12em;font-weight:850;margin-bottom:6px}
.jn-hotel .stay-style-insight strong{font-size:20px;display:block;color:#fff}
.jn-hotel .stay-style-insight p{font-size:13px;max-width:810px;line-height:1.55;margin:7px 0;color:#dcecff}
.jn-hotel .stay-style-insight small{color:#a5bfdc;font-size:10px}
.jn-hotel .stay-insight-go{background:#ffb703;border-radius:10px;padding:11px 17px;font-weight:840;font-size:12px;text-decoration:none;white-space:nowrap;color:#09234a!important}
.jn-hotel .stay-cost-calculator{background:#f0f6fd!important;padding-block:76px}
.jn-hotel .stay-calc-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px;align-items:center}
.jn-hotel .stay-calc-text h2{font-size:clamp(26px,3.25vw,42px);line-height:1.14;color:#071d44;letter-spacing:-.04em}
.jn-hotel .stay-calc-text p{color:#516a88;font-size:14px;line-height:1.75;margin:15px 0 24px}
.jn-hotel .stay-calc-box{background:#fff;border:1px solid #d9e5f2;box-shadow:0 18px 47px rgba(7,29,68,.095);border-radius:20px;padding:26px}
.jn-hotel .stay-calc-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.jn-hotel .stay-calc-form label{font-size:12px;font-weight:730;color:#29496a;min-width:0}
.jn-hotel .stay-calc-form input{height:49px;border:1px solid #d0deed;border-radius:9px;width:100%;padding:10px 12px;font-size:16px;font-weight:750;color:#071d44;margin-top:7px;background:#fff;min-width:0}
.jn-hotel .stay-money-field{position:relative}
.jn-hotel .stay-money-field>span{position:absolute;left:12px;top:21px;color:#7392ac;font-size:16px}
.jn-hotel .stay-money-field input{padding-left:29px}
.jn-hotel .stay-calc-result{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e3edf6;padding:19px 0 15px;margin-top:20px}
.jn-hotel .stay-calc-result span{display:block;color:#647a92;font-size:12px;font-weight:740}
.jn-hotel .stay-calc-result strong{font-size:33px;font-weight:900;color:#0d65d9;letter-spacing:-.04em}
.jn-hotel .stay-calc-reset{border:1px solid #d3e4f7;background:#f1f7ff;color:#155592;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:800}
.jn-hotel .stay-calc-box>small{display:block;font-size:11px;line-height:1.6;color:#61768f}
.jn-hotel .stay-editorial{background:#fff!important}
.jn-hotel .stay-editorial-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.jn-hotel .stay-editorial-card{border:1px solid #dee9f5;border-radius:17px;background:#f8fbff;padding:22px;min-height:225px}
.jn-hotel .stay-editorial-card>span{color:#0d65d9;display:block;font-weight:860;letter-spacing:.12em;font-size:12px;margin-bottom:30px}
.jn-hotel .stay-editorial-card h3{font-size:17px;color:#092c55;line-height:1.3;margin:0 0 11px}
.jn-hotel .stay-editorial-card p{font-size:12px;color:#5a7290;line-height:1.62;margin:0}
.jn-hotel .stay-support-intro{border-left:4px solid #ffb703;background:#f3f8ff;padding:15px 20px;border-radius:0 10px 10px 0;margin-bottom:20px;color:#375777;font-size:13px;line-height:1.6}
.jn-hotel .stay-footer-mini{font-size:12px;color:#456f9b;font-weight:800;margin-bottom:5px;letter-spacing:.02em}
.jn-hotel .destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.jn-hotel .jn-hotel-destination{border-radius:18px;min-height:326px}
.jn-hotel .city-photo{height:188px}
.jn-hotel .city-photo img{object-position:50% 50%}
.jn-hotel .jn-hotel-destination:focus-visible{outline:3px solid #ffb703;outline-offset:3px}
.jn-hotel .widget-gate .stay-primary{width:auto;display:inline-flex}
.jn-hotel .section-header p{font-size:14px;line-height:1.7}
.jn-hotel section[id]{scroll-margin-top:22px}
@media(max-width:1180px){
.jn-hotel .stay-links{gap:13px}.jn-hotel .stay-links a{font-size:11px}
.jn-hotel .stay-search-fields .field-location{grid-column:span 2}
.jn-hotel .stay-booking .stay-search-fields{grid-template-columns:repeat(4,minmax(0,1fr))}
.jn-hotel .stay-search-fields .field-guests{grid-column:span 2}
.jn-hotel .stay-search-fields .field.action{grid-column:span 2}
.jn-hotel .stay-search-fields .field-date{grid-column:span 1}
.jn-hotel .stay-calc-layout{gap:30px}
}
@media(max-width:900px){
.jn-hotel .stay-links{display:none}
.jn-hotel .stay-hero-copy{max-width:640px}
.jn-hotel .hero.jn-stay-hero{min-height:525px;padding:52px 0 127px}
.jn-hotel .stay-hero-shade{background:linear-gradient(90deg,rgba(241,250,255,.97) 0%,rgba(240,249,255,.83) 54%,rgba(225,245,255,.35) 90%),linear-gradient(0deg,rgba(3,28,59,.3),transparent 34%)}
.jn-hotel .stay-style-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.jn-hotel .stay-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.jn-hotel .stay-calc-layout{grid-template-columns:1fr;gap:26px}
.jn-hotel .stay-trust-item{font-size:11px}
}
@media(max-width:600px){
.jn-hotel .container{width:min(100% - 28px,1320px)}
.jn-hotel .jn-stay-nav{min-height:56px}.jn-hotel .stay-brand{font-size:12px}.jn-hotel .stay-brand-symbol{font-size:16px}.jn-hotel .stay-nav-cta{font-size:11px;padding:8px 10px}
.jn-hotel .hero.jn-stay-hero{padding:40px 0 106px;min-height:485px}
.jn-hotel .stay-hero-layout{min-height:370px;gap:18px}
.jn-hotel .stay-hero-copy{padding-top:3px}
.jn-hotel .stay-eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:11px}
.jn-hotel .hero.jn-stay-hero h1{font-size:clamp(32px,9vw,42px);max-width:420px;line-height:1.11;margin-bottom:13px}
.jn-hotel .stay-hero-description{font-size:12px;max-width:420px;line-height:1.6;margin-bottom:13px}
.jn-hotel .stay-hero-chips{gap:6px}.jn-hotel .stay-hero-chips span{font-size:9px;padding:6px 8px}
.jn-hotel .stay-hero-shade{background:linear-gradient(90deg,rgba(248,252,255,.98),rgba(237,249,255,.86) 74%,rgba(234,250,255,.67)),linear-gradient(0deg,rgba(7,29,68,.22),transparent 35%)}
.jn-hotel .stay-hero-bottom{flex-direction:column;align-items:flex-start;gap:7px}
.jn-hotel .stay-scene-label{font-size:9px;padding:5px 9px;max-width:98%}
.jn-hotel .stay-search-overlap{margin-top:-79px}
.jn-hotel .booking-card.stay-booking{border-radius:14px}
.jn-hotel .stay-booking .stay-booking-title{padding:13px 14px 0}
.jn-hotel .stay-booking .stay-booking-title h2{font-size:14px}
.jn-hotel .stay-booking .stay-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 14px 5px}
.jn-hotel .stay-search-fields .field-location{grid-column:1/-1}
.jn-hotel .stay-search-fields .field-date{grid-column:span 1}
.jn-hotel .stay-search-fields .field-guests{grid-column:1/-1}
.jn-hotel .stay-search-fields .field.action{grid-column:1/-1}
.jn-hotel .stay-guest-popover{left:0;right:auto;width:100%}
.jn-hotel .stay-booking-foot{padding:9px 14px 16px;flex-direction:column;align-items:flex-start}
.jn-hotel .stay-trust-grid{grid-template-columns:1fr;gap:12px;padding-block:19px}.jn-hotel .stay-trust-item{font-size:12px}
.jn-hotel .stay-style-grid{grid-template-columns:1fr 1fr;gap:9px}
.jn-hotel .stay-style-card{padding:13px;min-height:205px;border-radius:13px}
.jn-hotel .stay-style-symbol{width:34px;height:34px;font-size:18px}
.jn-hotel .stay-style-name{font-size:13px}.jn-hotel .stay-style-sub{font-size:11px}.jn-hotel .stay-style-meta{font-size:9px}
.jn-hotel .stay-style-insight{flex-direction:column;align-items:flex-start;padding:20px;gap:14px}
.jn-hotel .stay-style-insight strong{font-size:18px}
.jn-hotel .stay-section-heading{align-items:flex-start;flex-direction:column}
.jn-hotel .stay-editorial-grid{grid-template-columns:1fr}
.jn-hotel .stay-editorial-card{min-height:0}.jn-hotel .stay-editorial-card>span{margin-bottom:12px}
.jn-hotel .stay-calc-box{padding:16px}.jn-hotel .stay-calc-form{gap:10px}
.jn-hotel .stay-calc-form label{font-size:10px}.jn-hotel .stay-calc-result strong{font-size:26px}
.jn-hotel .stay-cost-calculator{padding-block:48px}
.jn-hotel .city-photo{height:178px}
}
@media(max-width:360px){.jn-hotel .stay-style-grid{grid-template-columns:1fr}.jn-hotel .stay-calc-form{grid-template-columns:1fr}.jn-hotel .hero.jn-stay-hero h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.jn-hotel .stay-hero-slide,.jn-hotel .stay-slide-dots button,.jn-hotel .stay-style-card{transition:none!important}}