.gl-hotel {
  --gh-ink: #12343a;
  --gh-muted: #52666a;
  --gh-accent: #16818a;
  --gh-line: #dbe3e3;
  --gh-surface: #f4f7f7;
  --gh-card: #ffffff;
  scroll-margin-top: 5rem;
  border-bottom: 1px solid var(--gh-line);
  background: var(--gh-surface);
  color: var(--gh-ink);
  font-family: inherit;
}
.gl-hotel * { box-sizing: border-box; }
.gl-hotel__inner { width: min(100% - 2.5rem, 80rem); margin: 0 auto; padding: 5.5rem 0; }
.gl-hotel__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.gl-hotel__intro { max-width: 56rem; }
.gl-hotel__eyebrow { margin: 0 0 .85rem; color: var(--gh-accent); font-size: .72rem; font-weight: 750; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.gl-hotel h2 { max-width: 52rem; margin: 0; font-family: inherit; font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 750; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.gl-hotel__lead { max-width: 48rem; margin: 1.1rem 0 0; color: var(--gh-muted); font-size: 1.08rem; line-height: 1.75; }
.gl-hotel__badge { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .45rem; border: 1px solid #c5dadd; border-radius: 999px; background: #e8f2f3; color: #15535a; padding: .55rem .85rem; font-size: .75rem; font-weight: 700; letter-spacing: .02em; }
.gl-hotel__badge::before { width: .45rem; height: .45rem; border-radius: 50%; background: var(--gh-accent); content: ""; }
.gl-hotel__notice { display: grid; grid-template-columns: 2rem 1fr; gap: .9rem; margin: 0 0 2rem; border: 1px solid #e6ddc6; border-radius: .25rem; background: #fbf8ef; padding: 1.1rem 1.25rem; }
.gl-hotel__notice-mark { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #eee4ca; color: #645326; font-family: Georgia, serif; font-size: 1.1rem; font-weight: 700; }
.gl-hotel__notice h3 { margin: 0 0 .35rem; color: #4c422c; font-size: .92rem; font-weight: 750; }
.gl-hotel__notice p { margin: 0; color: #625c4e; font-size: .85rem; line-height: 1.65; }
.gl-hotel__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gl-hotel__product { min-width: 0; overflow: hidden; border: 1px solid var(--gh-line); border-radius: .2rem; background: var(--gh-card); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.gl-hotel__product:hover { transform: translateY(-2px); border-color: #b7ccce; box-shadow: 0 12px 32px rgb(18 52 58 / 7%); }
.gl-hotel__image-wrap { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e9eeee; }
.gl-hotel__image-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gl-hotel__product:hover .gl-hotel__image-wrap img { transform: scale(1.025); }
.gl-hotel__image-label { position: absolute; right: .7rem; bottom: .7rem; border: 1px solid rgb(255 255 255 / 45%); border-radius: 999px; background: rgb(10 48 56 / 88%); color: #fff; padding: .35rem .6rem; font-size: .65rem; font-weight: 700; backdrop-filter: blur(8px); }
.gl-hotel__product-body { padding: 1.15rem 1.15rem 1rem; }
.gl-hotel__dimensions { margin: 0 0 .55rem !important; color: var(--gh-accent) !important; font-size: .67rem !important; font-weight: 750 !important; letter-spacing: .06em; line-height: 1.5 !important; text-transform: uppercase; }
.gl-hotel__product h3 { margin: 0 0 .55rem; color: var(--gh-ink); font-family: inherit; font-size: 1.08rem; font-weight: 750; line-height: 1.35; }
.gl-hotel__product-body > p:not(.gl-hotel__dimensions):not(.gl-hotel__caption) { margin: 0; color: var(--gh-muted); font-size: .88rem; line-height: 1.65; }
.gl-hotel__caption { margin: .9rem 0 0 !important; border-top: 1px solid #edf0f0; padding-top: .7rem; color: #738184 !important; font-size: .72rem !important; font-style: italic; line-height: 1.5 !important; }
.gl-hotel__collab { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.5rem 3rem; margin-top: 4.5rem; border-top: 1px solid var(--gh-line); padding-top: 3rem; }
.gl-hotel__section-intro p:last-child { max-width: 25rem; margin: .3rem 0 0; color: var(--gh-muted); font-size: .92rem; line-height: 1.7; }
.gl-hotel__services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.gl-hotel__services article { border-left: 2px solid #b9d5d7; background: rgb(255 255 255 / 72%); padding: 1rem; }
.gl-hotel__service-no { color: var(--gh-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; }
.gl-hotel__services h3, .gl-hotel__markets h3, .gl-hotel__options h3 { margin: .45rem 0; color: var(--gh-ink); font-size: .95rem; font-weight: 750; line-height: 1.4; }
.gl-hotel__services p { margin: 0; color: var(--gh-muted); font-size: .82rem; line-height: 1.65; }
.gl-hotel__markets, .gl-hotel__options { grid-column: 2; border-top: 1px solid var(--gh-line); padding-top: 1rem; }
.gl-hotel__markets ul, .gl-hotel__options ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.gl-hotel__markets li, .gl-hotel__options li { border: 1px solid var(--gh-line); border-radius: 999px; background: #fff; padding: .42rem .7rem; color: #41585d; font-size: .76rem; line-height: 1.25; }
.gl-hotel__options { margin-top: -.7rem; }
.gl-hotel__options > p { margin: .9rem 0 0; color: var(--gh-muted); font-size: .78rem; line-height: 1.65; }
.gl-hotel__cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 3rem; background: #103b43; padding: 1.65rem 1.8rem; color: #fff; }
.gl-hotel__cta h3 { margin: 0; color: #fff; font-size: 1.18rem; font-weight: 750; }
.gl-hotel__cta p { max-width: 48rem; margin: .45rem 0 0; color: #d3e0e1; font-size: .86rem; line-height: 1.6; }
.gl-hotel__cta a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .55rem; border-radius: .15rem; background: #79d1d2; padding: .78rem 1rem; color: #0a3038; font-size: .82rem; font-weight: 750; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.gl-hotel__cta a:hover { transform: translateY(-1px); background: #9be0df; }
.gl-hotel__disclaimer { max-width: 70rem; margin: 1.1rem 0 0; color: #687a7d; font-size: .74rem; line-height: 1.6; }
@media (max-width: 900px) {
  .gl-hotel__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gl-hotel__collab { grid-template-columns: 1fr; gap: 1.2rem; }
  .gl-hotel__section-intro p:last-child { max-width: 48rem; }
  .gl-hotel__markets, .gl-hotel__options { grid-column: 1; }
}
@media (max-width: 640px) {
  .gl-hotel__inner { width: min(100% - 2rem, 80rem); padding: 4rem 0; }
  .gl-hotel__heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .gl-hotel__products, .gl-hotel__services { grid-template-columns: 1fr; }
  .gl-hotel__collab { margin-top: 3rem; padding-top: 2.2rem; }
  .gl-hotel__cta { align-items: flex-start; flex-direction: column; gap: 1rem; padding: 1.35rem; }
  .gl-hotel__cta a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .gl-hotel *, .gl-hotel *::before, .gl-hotel *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
