

:is(.btn, .win__act .btn, .cta-band .btn, .form__submit .btn) {
 width: calc(var(--space-2) * 39);
 max-width: 100%;
 min-height: var(--space-8);
 padding-block: 0;
 column-gap: 0;
 flex-shrink: 0;
}
.gnav__cta {
 height: var(--space-7);
 flex-shrink: 0;
}
@media (max-width: 1024px) {
 .gnav.is-open .gnav__cta { width: 100%; min-width: 0; max-width: 100%; height: var(--space-8); min-height: var(--space-8); }
}

:is(.btn, .win__act .btn, .cta-band .btn, .form__submit .btn) { display: inline-flex; align-items: center; justify-content: center; }

.gnav { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-6); }
.gnav__list { align-items: center; gap: var(--space-5); }
.gnav__actions { display: grid; flex: none; gap: var(--space-1); width: calc(var(--space-9) * 2 + var(--space-6)); }
.gnav__actions .gnav__cta { width: 100%; height: calc(var(--space-6) + var(--space-3)); min-height: calc(var(--space-6) + var(--space-3)); padding: 0 var(--space-3); }
.gnav__reservation { flex-direction: column; gap: 0; }
.gnav__hotel-brand { display: flex; align-items: center; justify-content: center; gap: var(--space-1); }
.gnav__hotel-mark { width: var(--space-4); height: var(--space-5); object-fit: contain; }
.gnav__hotel-wordmark { width: calc(var(--space-9) + var(--space-8)); height: var(--space-4); object-fit: contain; }
.gnav__reservation-label { font-size: var(--fs-1); line-height: var(--lh-1); }
.site-header .gnav__reservation { background: var(--c-bg); color: var(--c-accent); }
.site-header .gnav__reservation:is(:hover, :focus-visible) { background: var(--c-tint); color: var(--c-accent-2); border-color: var(--c-accent-2); }
@media (max-width: 1280px) {
 .site-header__inner { padding-inline: var(--space-5); gap: var(--space-4); }
 .site-header__logo img { height: var(--h-logo-sp); }
 .gnav { gap: var(--space-4); }
 .gnav__list { gap: var(--space-3); }
 .gnav__actions { width: calc(var(--space-9) * 2); }
 .gnav__hotel-wordmark { width: calc(var(--space-9) + var(--space-7)); }
}
@media (max-width: 1024px) {
 .gnav { display: none; }
 .gnav.is-open { display: block; }
 .gnav.is-open .gnav__list { align-items: stretch; }
 .gnav.is-open .gnav__actions { width: 100%; margin-top: var(--space-5); gap: var(--space-3); }
 .gnav.is-open .gnav__actions .gnav__cta { height: var(--space-8); min-height: var(--space-8); }
 .site-header__inner { padding-inline: clamp(var(--space-5), calc(var(--w-view) / 30), var(--space-7)); gap: var(--space-5); }
 .gnav__hotel-wordmark { width: calc(var(--space-9) + var(--space-8)); }
}
@media (max-width: 768px) { .site-header__inner { padding-inline: var(--space-5); } }

.site-header:has(.gnav.is-open) { backdrop-filter: none; }

.gnav__actions .gnav__cta--recruit { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-bg); }
.site-header .gnav__actions .gnav__cta--recruit:is(:hover, :focus-visible) { background: var(--c-accent-2); border-color: var(--c-accent-2); color: var(--c-bg); }

a.pill-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--space-4); min-height: var(--space-7); max-width: 100%; width: fit-content; color: var(--c-accent); font-size: var(--fs-4); line-height: var(--lh-2); text-align: left; transition: color var(--t-1) var(--ease); }
a.pill-link > span:first-child { min-width: 0; }
a.pill-link > .pill-link__icon { display: inline-flex; align-items: center; flex: none; border: var(--bd) solid var(--c-line); border-radius: var(--space-7); transition: background-color var(--t-1) var(--ease), color var(--t-1) var(--ease), border-color var(--t-1) var(--ease); }
a.pill-link > .pill-link__icon svg { width: var(--space-4); height: var(--space-4); transition: none; }
a.pill-link:is(:hover, :focus-visible) { color: var(--c-accent-2); }
a.pill-link:is(:hover, :focus-visible) > .pill-link__icon { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-bg); transform: none; }
a.pill-link:is(:hover, :focus-visible) > .pill-link__icon svg { transform: none; }

:is(.btn, .win__act .btn, .form__submit .btn) { background: var(--c-accent); color: var(--c-bg); border-color: var(--c-accent); }
:is(.btn, .win__act .btn, .form__submit .btn):is(:hover, :focus-visible) { background: var(--c-accent-2); color: var(--c-bg); border-color: var(--c-accent-2); }
.fnav__children { display: grid; gap: var(--space-1); margin-top: var(--space-2); padding-left: var(--space-3); border-left: var(--bd) solid var(--c-line); }
.fnav__children li { margin: 0; }

:is(a.btn-fill, a.btn-line, .cta .btn, .cta-band .btn, .win__act a.btn-fill, .win__act a.btn-line) { display: inline-flex; align-items: center; justify-content: center; min-height: var(--space-8); padding: var(--space-4) var(--space-5); background: var(--c-accent); border: var(--bd) solid var(--c-accent); color: var(--c-bg); gap: var(--space-3); transition: background-color var(--t-1) var(--ease), color var(--t-1) var(--ease), border-color var(--t-1) var(--ease); }
:is(a.btn-fill, a.btn-line, .cta .btn, .cta-band .btn):is(:hover,:focus-visible) { background: var(--c-accent-2); color: var(--c-bg); border-color: var(--c-accent-2); }
