/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.hotel-page{--hotel-ink: #183a43; --hotel-accent: #326575; --hotel-muted: #6a7c83; --hotel-gold: #b29563;}
.hotel-page main h2, .hotel-page main h3, .hotel-page main p{word-break: keep-all; overflow-wrap: break-word;}
.hotel-page a:focus-visible, .hotel-page button:focus-visible{outline: rgb(47, 107, 255) solid 0.1875rem; outline-offset: 0.25rem;}
.skip-link{position: fixed; top: 0.5rem; left: 0.75rem; z-index: 200; padding: 0.75rem 1.25rem; background: rgb(255, 255, 255); color: rgb(21, 62, 146); transform: translateY(-150%);}
.skip-link:focus{transform: none;}
.hotel-eyebrow{font-size: max(10px,0.8125rem); line-height: 1.7; font-weight: 600; color: var(--hotel-muted); margin-bottom: 1.125rem;}
.hotel-intro{padding: 3.875rem 0 0; color: var(--hotel-ink); text-align: center; background: rgb(255, 255, 255); scroll-margin-top: 5.625rem;}
.hotel-intro .hotel-eyebrow{font-size: max(10px,0.8125rem); margin-bottom: 0.625rem;}
.hotel-question{font-size: max(13px,1.0625rem); color: rgb(103, 123, 131); line-height: 1.7; margin-bottom: 1.3125rem;}
.hotel-intro h2{display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 0.75rem 1.25rem; font-size: 4.75rem; line-height: 1.3; letter-spacing: -0.05em; font-weight: 500;}
.hotel-intro h2 strong{display: block; font-size: 4.75rem; font-weight: 780; line-height: 1.2; letter-spacing: -0.065em; color: rgb(33, 77, 96); text-shadow: none; margin: 0; white-space: nowrap;}
.hotel-intro-lead{font-size: max(13px,1rem); line-height: 1.8; margin-top: 1.3125rem; color: rgb(78, 107, 120);}
.hotel-intro-foot{display: flex; align-items: center; justify-content: center; gap: 1.5625rem; margin-top: 1.75rem; padding: 1.25rem 0 2rem; text-align: center;}
.hotel-intro-foot > span{font-family: Georgia, "Times New Roman", serif; font-size: 1.75rem; color: rgb(82, 115, 124); white-space: nowrap;}
.hotel-intro-foot em{font-weight: 400; color: rgb(155, 131, 91);}
.hotel-intro-foot p{font-size: max(13px,0.875rem); line-height: 1.8; color: rgb(110, 129, 136);}
.hotel-education{padding: 4.6875rem 0 4.1875rem; color: rgb(238, 245, 247); background: radial-gradient(at 8% 0, rgba(61, 120, 130, 0.3), transparent 53%), radial-gradient(at 100% 75%, rgba(144, 180, 178, 0.16), transparent 55%), linear-gradient(118deg, rgb(16, 44, 61) 0, rgb(24, 66, 81) 55%, rgb(40, 89, 98) 100%);}
.hotel-education .hotel-eyebrow{color: rgb(181, 205, 213);}
.hotel-education-grid{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); align-items: center; gap: 4.0625rem;}
.hotel-education-copy h2{font-size: 2.25rem; font-weight: 500; line-height: 1.45; letter-spacing: -0.04em; color: rgb(237, 245, 247);}
.hotel-education-copy h2 strong{display: block; font-size: 3.25rem; font-weight: 750; color: rgb(244, 228, 198); margin-top: 0.4375rem; letter-spacing: -0.045em; text-shadow: rgba(6, 28, 51, 0.2) 0 0.1875rem 1rem;}
.hotel-education-copy > p:last-child{font-size: max(13px,1.0625rem); line-height: 1.85; color: rgb(208, 223, 228); margin-top: 1.375rem;}
.hotel-ratio{padding: 2.0625rem 2.25rem 2.1875rem; border: 1px solid rgb(234, 242, 243); border-radius: 0.9375rem; background: radial-gradient(at 100% 0, rgb(222, 236, 239), transparent 68%), linear-gradient(135deg, rgb(255, 255, 255), rgb(243, 247, 248)); box-shadow: rgba(7, 28, 48, 0.17) 0 1.25rem 2.5rem, rgb(255, 255, 255) 0 1px 0 inset;}
.hotel-ratio h3{font-size: max(13px,1.125rem); font-weight: 650; line-height: 1.7; color: rgb(63, 99, 112);}
.hotel-ratio h3 span{display: inline-block; font-size: max(10px,0.8125rem); font-weight: 500; color: rgb(104, 126, 133);}
.hotel-ratio-labels{display: grid; grid-template-columns: 1fr 2.1875rem 1fr; align-items: center; gap: 0.9375rem; margin: 1.875rem 0 1.375rem;}
.hotel-ratio-labels p{font-size: max(13px,1.0625rem); font-weight: 550; color: rgb(117, 135, 141);}
.hotel-ratio-labels p:last-child{text-align: right; color: rgb(40, 92, 111);}
.hotel-ratio-labels strong{display: block; font-size: 3.125rem; line-height: 1.1; font-weight: 650; letter-spacing: -0.05em; margin-top: 0.5625rem;}
.hotel-ratio-labels strong span{font-size: 1.5rem; margin-left: 0.1875rem;}
.hotel-ratio-sign{text-align: center; font-size: 2.25rem; font-weight: 350; color: rgb(145, 164, 172);}
.hotel-ratio-bar{display: flex; gap: 0.25rem; height: 0.75rem; border-radius: 6.1875rem; overflow: hidden; box-shadow: rgba(36, 79, 96, 0.063) 0 1px 0.125rem inset;}
.hotel-ratio-bar span:first-child{flex: 4 1 0%; background: rgb(199, 213, 218);}
.hotel-ratio-bar span:last-child{flex: 6 1 0%; background: linear-gradient(90deg, rgb(85, 135, 151), rgb(35, 79, 100));}
.hotel-results{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 3.4375rem; margin-top: 3.875rem; padding-top: 2.5rem; border-top: 1px solid rgba(182, 209, 213, 0.18);}
.hotel-results .hotel-eyebrow{font-size: max(13px,0.875rem); margin-bottom: 0.75rem;}
.hotel-results h3{font-size: 1.875rem; font-weight: 450; line-height: 1.5; letter-spacing: -0.035em; color: rgb(214, 230, 235);}
.hotel-results h3 strong{font-weight: 700; color: rgb(255, 255, 255);}
.hotel-results-copy > p:last-child{font-size: max(13px,1rem); line-height: 1.9; margin-top: 0.9375rem; color: rgb(208, 223, 228);}
.hotel-results-copy > p:last-child strong{color: rgb(244, 228, 198); font-weight: 700;}
.hotel-results-image{width: 100%; max-width: 36.125rem; margin: 0; justify-self: end; padding: 0; border: 0; border-radius: 0.625rem; overflow: hidden; background: rgb(35, 69, 82); box-shadow: rgba(9, 34, 49, 0.16) 0 1rem 1.875rem;}
.hotel-results-image img{display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover;}
.hotel-curriculum{padding: 5.125rem 0 5.375rem; color: var(--hotel-ink); background: rgb(255, 255, 255);}
.hotel-section-heading{text-align: center; margin-bottom: 2.5rem;}
.hotel-section-heading h2{font-size: 2.5rem; line-height: 1.4; font-weight: 450; letter-spacing: -0.045em;}
.hotel-section-heading h2 strong{font-weight: 700; color: rgb(44, 100, 117);}
.hotel-steps{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.375rem; list-style: none; padding: 0; margin: 0;}
.hotel-steps > li{padding: 1.875rem 1.875rem 1.9375rem; border: 1px solid rgb(216, 226, 230); border-radius: 0.75rem; background: linear-gradient(145deg, rgb(255, 255, 255), rgb(237, 244, 246)); position: relative; box-shadow: rgba(35, 75, 90, 0.035) 0 0.5625rem 1.375rem;}
.hotel-steps > li:last-child{color: rgb(255, 255, 255); border-color: rgb(74, 120, 132); background: radial-gradient(at 100% 0, rgb(87, 129, 142), transparent 73%), linear-gradient(135deg, rgb(26, 63, 80), rgb(37, 92, 107)); box-shadow: rgba(26, 69, 85, 0.14) 0 0.75rem 1.75rem, rgb(215, 195, 162) 0 0.125rem 0 inset;}
.hotel-steps > li:not(:last-child)::after{content: "→"; position: absolute; right: -1.5rem; top: 48%; z-index: 1; display: grid; place-items: center; width: 1.625rem; height: 1.625rem; border: 1px solid rgb(204, 220, 226); border-radius: 50%; background: rgb(255, 255, 255); color: rgb(99, 135, 149); font-size: max(13px,0.9375rem); line-height: 1; box-shadow: rgba(27, 71, 86, 0.063) 0 0.125rem 0.4375rem; pointer-events: none;}
.hotel-step-top{display: flex; justify-content: space-between; align-items: center; gap: 0.9375rem; margin-bottom: 1.875rem;}
.hotel-step-top > span{font-size: max(10px,0.6875rem); font-weight: 650; letter-spacing: 0.06em; color: rgb(114, 144, 155);}
.hotel-step-top .ico{width: 1.5rem; height: 1.5rem; color: rgb(119, 149, 160);}
.hotel-steps > li:last-child .hotel-step-top > span, .hotel-steps > li:last-child .hotel-step-top .ico{color: rgb(197, 213, 218);}
.hotel-steps h3{font-size: 1.3125rem; font-weight: 450; line-height: 1.5; letter-spacing: -0.03em;}
.hotel-steps h3 strong{font-size: 1.8125rem; font-weight: 720;}
.hotel-step-sub{padding-top: 1.4375rem; margin-top: 1.5rem; border-top: 1px solid rgb(213, 224, 229); font-size: max(13px,0.875rem); line-height: 1.6; font-weight: 650; color: rgb(61, 107, 124);}
.hotel-step-description{font-size: max(13px,0.875rem); line-height: 1.85; color: rgb(111, 128, 136); margin-top: 0.75rem;}
.hotel-steps > li:last-child .hotel-step-sub{border-color: rgba(255, 255, 255, 0.17); color: rgb(228, 212, 180);}
.hotel-steps > li:last-child .hotel-step-description{color: rgb(197, 213, 219);}
.hotel-stories{padding: 4.375rem 0; color: var(--hotel-ink);}
.hotel-stories--graduates{background: rgb(243, 245, 246);}
.hotel-stories--accepted{background: rgb(255, 255, 255);}
.hotel-stories-layout{display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); gap: 4.1875rem; align-items: start;}
.hotel-story-heading .hotel-eyebrow{font-size: max(10px,0.75rem); margin-bottom: 1.25rem;}
.hotel-story-heading h2{font-size: 2.1875rem; line-height: 1.45; font-weight: 450; letter-spacing: -0.045em;}
.hotel-story-heading h2 strong{font-weight: 720; color: rgb(50, 100, 119);}
.hotel-story-heading > p:last-child{font-size: max(13px,0.875rem); line-height: 1.9; color: rgb(106, 124, 133); margin-top: 1.25rem; max-width: 20.625rem;}
.hotel-testimonials{display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; padding: 1.75rem; border: 1px solid rgb(223, 231, 235); border-radius: 0.875rem; background: rgb(255, 255, 255); box-shadow: rgba(41, 72, 86, 0.027) 0 0.625rem 1.75rem;}
.hotel-testimonials figure{margin: 0; display: flex; flex-direction: column; min-width: 0; padding: 0; position: relative;}
.hotel-testimonials figure + figure::before{content: ""; position: absolute; left: -0.875rem; top: 0; bottom: 0; border-left: 1px solid rgb(224, 232, 235);}
.hotel-testimonials blockquote{margin: 0; padding: 0; flex: 1 1 0%;}
.hotel-testimonials blockquote::before{content: "“"; display: block; font-family: Georgia, "Times New Roman", serif; font-size: 2.875rem; height: 2.3125rem; line-height: 1; color: rgb(116, 149, 163);}
.hotel-testimonials blockquote p{font-size: max(13px,1rem); line-height: 1.95; color: rgb(65, 91, 103);}
.hotel-testimonials figcaption{display: flex; flex-wrap: wrap; align-items: center; gap: 0.3125rem 0.625rem; padding-top: 1.25rem; margin-top: 1.4375rem; border-top: 1px solid rgb(231, 237, 239); font-size: max(10px,0.75rem); line-height: 1.7; color: rgb(113, 131, 140);}
.hotel-testimonials figcaption strong{font-size: max(10px,0.8125rem); font-weight: 650; color: rgb(52, 86, 102);}
.hotel-stories--accepted .hotel-testimonials{background: linear-gradient(145deg, rgb(250, 249, 246), rgb(243, 243, 239)); border-color: rgb(229, 227, 219); box-shadow: none;}
.hotel-stories--accepted .hotel-testimonials figure + figure::before{border-color: rgb(224, 222, 213);}
.hotel-stories--accepted .hotel-testimonials figcaption{border-color: rgb(226, 224, 216);}
.hotel-stories--accepted .hotel-testimonials blockquote::before{color: rgb(161, 139, 104);}
.next-page{padding: 1.5625rem 0 3.875rem; background: rgb(255, 255, 255);}
.next-page a{display: grid; grid-template-columns: 9.375rem 1fr auto; align-items: center; gap: 1.875rem; padding: 1.8125rem 0; border-top: 1px solid rgb(34, 42, 55); border-bottom: 1px solid rgb(215, 217, 218);}
.next-page small{color: rgb(133, 140, 149); font-size: max(10px,0.6875rem); font-weight: 750;}
.next-page strong{font-size: 1.6875rem; letter-spacing: -0.035em;}
.next-page .arrow{font-size: 1.5625rem; transition: transform 0.2s, color 0.2s;}
.next-page a:hover .arrow{color: var(--blue); transform: translateX(0.375rem);}

.hotel-education-grid{gap: 1.6875rem;}
.hotel-education-copy h2{font-size: 1.875rem;}
.hotel-education-copy h2 strong{font-size: 2.5625rem;}
.hotel-results{gap: 1.875rem;}
.hotel-results h3{font-size: 1.625rem;}
.hotel-steps{gap: 0.9375rem;}
.hotel-steps > li{padding: 1.5rem 1.25rem;}
.hotel-steps h3{font-size: max(13px,1.1875rem);}
.hotel-steps h3 strong{font-size: 1.5625rem;}
.hotel-step-description br{display: none;}
.hotel-stories-layout{grid-template-columns: 1fr; gap: 2.1875rem;}
.hotel-story-heading > p:last-child{max-width: 40.625rem;}
.hotel-testimonials{gap: 2.1875rem;}
.hotel-testimonials figcaption{padding-top: 1.25rem;}
.hotel-intro{padding-top: 3rem;}
.hotel-intro h2{font-size: 4rem; gap: 0.75rem 1rem;}
.hotel-intro h2 strong{font-size: 4rem;}
.hotel-intro-foot{margin-top: 1.4375rem;}
.hotel-intro-foot p{font-size: max(10px,0.75rem);}
.hotel-education{padding: 3.5625rem 0;}
.hotel-curriculum{padding: 3.75rem 0;}
.hotel-stories{padding: 3.4375rem 0;}
.hotel-ratio{padding: 1.625rem;}
.hotel-section-heading h2{font-size: 2.1875rem;}
.subpage-hero--hotel .subpage-hero-media img{object-position: 65% center;}
.hotel-intro{padding-top: 2.6875rem;}
.hotel-intro .hotel-eyebrow{font-size: max(10px,0.6875rem); margin-bottom: 0.625rem;}
.hotel-question{font-size: max(13px,0.875rem); margin-bottom: 0.875rem;}
.hotel-intro h2{display: block; font-size: 3.5625rem;}
.hotel-intro h2 strong{font-size: 3.5625rem; margin-top: 0.5625rem;}
.hotel-intro-lead{font-size: max(10px,0.8125rem); margin-top: 1.125rem;}
.hotel-intro-foot{display: block; margin-top: 1.375rem; padding: 0.9375rem 0 1.8125rem; text-align: center;}
.hotel-intro-foot > span{font-size: 1.4375rem;}
.hotel-intro-foot p{font-size: max(10px,0.75rem); margin-top: 0.5625rem; line-height: 1.8;}
.hotel-education{padding: 2.625rem 0;}
.hotel-education-grid{grid-template-columns: 1fr; gap: 1.75rem;}
.hotel-eyebrow{font-size: max(10px,0.6875rem); margin-bottom: 0.8125rem;}
.hotel-education-copy h2{font-size: 1.75rem;}
.hotel-education-copy h2 strong{font-size: 2.4375rem;}
.hotel-education-copy > p:last-child{font-size: max(13px,0.9375rem); margin-top: 1.125rem;}
.hotel-ratio{padding: 1.5625rem; border-radius: 0.75rem;}
.hotel-ratio h3{font-size: max(13px,1rem);}
.hotel-ratio h3 span{font-size: max(10px,0.75rem);}
.hotel-ratio-labels{margin: 1.5rem 0 1.25rem;}
.hotel-ratio-labels p{font-size: max(13px,0.9375rem);}
.hotel-ratio-labels strong{font-size: 2.6875rem;}
.hotel-ratio-labels strong span{font-size: 1.375rem;}
.hotel-ratio-sign{font-size: 1.8125rem;}
.hotel-ratio-bar{height: 0.625rem;}
.hotel-results{grid-template-columns: 1fr; gap: 1.5625rem; margin-top: 2.0625rem; padding-top: 1.875rem;}
.hotel-results h3{font-size: 1.6875rem;}
.hotel-results-copy > p:last-child{font-size: max(13px,0.9375rem);}
.hotel-results-image{justify-self: start; padding: 0;}
.hotel-desktop-break{display: none;}
.hotel-curriculum{padding: 2.75rem 0 3rem;}
.hotel-section-heading{margin-bottom: 1.75rem;}
.hotel-section-heading h2{font-size: 1.8125rem;}
.hotel-steps{grid-template-columns: 1fr; gap: 0.8125rem;}
.hotel-steps > li{display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); column-gap: 1.25rem; padding: 1.4375rem;}
.hotel-step-top{grid-column: 1 / -1; margin-bottom: 1.0625rem;}
.hotel-step-top .ico{width: 1.3125rem; height: 1.3125rem;}
.hotel-step-top > span{font-size: 0.625rem;}
.hotel-steps h3{grid-area: 2 / 1 / 4; font-size: max(13px,1.0625rem);}
.hotel-steps h3 strong{font-size: 1.5rem;}
.hotel-step-sub{margin: 0; padding: 0; border: 0; font-size: max(10px,0.75rem); grid-column: 2;}
.hotel-step-description{font-size: max(10px,0.75rem); margin-top: 0.5rem; grid-column: 2; line-height: 1.85;}
.hotel-stories{padding: 2.625rem 0;}
.hotel-stories-layout{gap: 1.625rem;}
.hotel-story-heading .hotel-eyebrow{font-size: max(10px,0.6875rem); margin-bottom: 0.8125rem;}
.hotel-story-heading h2{font-size: 1.8125rem;}
.hotel-story-heading > p:last-child{font-size: max(10px,0.8125rem); margin-top: 1rem;}
.hotel-testimonials{grid-template-columns: 1fr; gap: 1.75rem;}
.hotel-testimonials figure{padding-top: 1.25rem;}
.hotel-testimonials blockquote::before{font-size: 2.4375rem; height: 1.875rem;}
.hotel-testimonials blockquote p{font-size: max(13px,0.875rem); line-height: 1.9;}
.hotel-testimonials figcaption{padding-top: 1rem; font-size: max(10px,0.6875rem);}
.hotel-testimonials figcaption strong{font-size: max(10px,0.75rem);}
.next-page{padding: 1rem 0 2.375rem;}
.next-page a{grid-template-columns: 1fr auto; gap: 0.5rem; padding: 1.375rem 0;}
.next-page small{grid-column: 1 / -1;}
.next-page strong{font-size: 1.375rem;}
.next-page .arrow{grid-area: 2 / 2;}


.hotel-steps > li:not(:last-child)::after{right: -1.28125rem;}
.hotel-testimonials{gap: 2rem;}
.hotel-testimonials figure + figure::before{left: -1rem;}
.hotel-steps{gap: 1.375rem;}
.hotel-steps > li:not(:last-child)::after{inset: auto auto -1.5rem calc(50% - 0.8125rem); transform: rotate(90deg);}
.hotel-testimonials{padding: 1.4375rem; gap: 1.5rem;}
.hotel-testimonials figure{padding-top: 0;}
.hotel-testimonials figure + figure{padding-top: 1.5rem; border-top: 1px solid rgb(224, 232, 235);}
.hotel-testimonials figure + figure::before{display: none;}
.hotel-testimonials figcaption{margin-top: 1.125rem; padding-top: 0.9375rem;}
.hotel-stories--accepted .hotel-testimonials figure + figure{border-color: rgb(224, 222, 213);}

.hotel-intro--campaign .hotel-eyebrow{display: flex; align-items: center; justify-content: center; gap: 0.625rem; margin-bottom: 0.9375rem; color: rgb(106, 124, 131);}
.hotel-intro-label{color: rgb(135, 111, 73); font-size: inherit; font-weight: 650;}
.hotel-intro--campaign h2 strong{position: relative; isolation: isolate; color: rgb(24, 63, 83);}
.hotel-intro--campaign h2 strong::after{content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0.025em; height: 0.09em; background: rgb(215, 195, 158); pointer-events: none;}
.hotel-intro--campaign .hotel-intro-foot{justify-content: center; gap: 1.375rem; margin-top: 1.4375rem; padding: 1rem 0 2.1875rem;}
.hotel-intro--campaign .hotel-intro-foot > span{font-size: 1.75rem; line-height: 1.2; letter-spacing: -0.025em; color: rgb(120, 135, 141);}
.hotel-intro--campaign .hotel-intro-foot em{color: inherit; letter-spacing: inherit;}
.hotel-intro--campaign .hotel-intro-foot p{line-height: 1.85; color: rgb(110, 129, 136);}
.hotel-intro--campaign .hotel-intro-foot{gap: 1.125rem;}
.hotel-intro--campaign .hotel-intro-foot > span{font-size: 1.625rem;}
.hotel-intro--campaign .hotel-eyebrow{gap: 0.5625rem; margin-bottom: 0.8125rem;}
.hotel-intro--campaign .hotel-intro-foot{margin-top: 1.3125rem; padding: 0.75rem 0 1.875rem;}
.hotel-intro--campaign .hotel-intro-foot > span{font-size: 1.4375rem;}
.hotel-intro--campaign .hotel-intro-foot p{margin-top: 0.5625rem;}
.hotel-intro--campaign h2 strong{width: max-content; max-width: 100%; margin-left: auto; margin-right: auto;}
@media (prefers-reduced-motion: reduce){.hotel-page *{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}}
.hotel-intro h2{display: block; font-size: clamp(2rem, 4.2vw, 4.75rem); line-height: 1.35; color: rgb(35, 55, 77);}
.hotel-intro h2 > span{display: block;}
.hotel-intro h2 strong{font-size: inherit; width: max-content; max-width: 100%; margin: 0.4375rem auto 0; color: rgb(41, 73, 102);}
.hotel-intro--campaign h2 strong{color: rgb(41, 73, 102);}
.hotel-intro h2{font-size: clamp(1.75rem, 7.5vw, 2.75rem);}
.hotel-intro h2 strong{font-size: inherit;}
