:root {
  --nkl-ink: #071a2d;
  --nkl-ink-2: #0c253d;
  --nkl-ocean: #133d59;
  --nkl-gold: #b89755;
  --nkl-gold-light: #d8c08a;
  --nkl-ivory: #fbf9f4;
  --nkl-sand: #f3efe6;
  --nkl-white: #fff;
  --nkl-text: #28343d;
  --nkl-muted: #64717a;
  --nkl-border: rgba(7, 26, 45, .14);
  --nkl-shadow: 0 24px 70px rgba(7, 26, 45, .12);
  --nkl-serif: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", Georgia, serif;
  --nkl-sans: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; color: var(--nkl-text); background: var(--nkl-ivory); font-family: var(--nkl-sans); font-size: 16px; line-height: 1.85; -webkit-font-smoothing: antialiased; }
body.menu-is-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--nkl-gold-light); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; width: auto; height: auto; padding: 12px 18px; clip: auto; background: var(--nkl-white); color: var(--nkl-ink); z-index: 100000; }

.container-shell { width: min(1440px, calc(100% - 48px)); margin-inline: auto; }
.container-wide { width: min(1220px, calc(100% - 64px)); margin-inline: auto; }
.container-narrow { width: min(820px, calc(100% - 48px)); margin-inline: auto; }

.eyebrow { margin: 0 0 14px; color: var(--nkl-gold); font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }
.eyebrow--light { color: var(--nkl-gold-light); }
.luxe-section { padding-block: clamp(104px, 10vw, 164px); }
.luxe-section--soft { background: var(--nkl-sand); }
.luxe-section--deep { background: var(--nkl-ink); color: var(--nkl-white); }
.luxe-heading { margin-bottom: clamp(54px, 6vw, 88px); }
.luxe-heading h2, .split-feature h2, .final-booking h2 { margin: 0; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: clamp(34px, 4.4vw, 58px); font-weight: 500; line-height: 1.42; letter-spacing: .045em; }
.luxe-heading > p, .split-feature__copy > p, .final-booking > p { color: var(--nkl-muted); }
.luxe-heading--center { max-width: 760px; margin-inline: auto; text-align: center; }
.luxe-heading--center > p:last-child { max-width: 630px; margin: 18px auto 0; }
.luxe-heading--split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .72fr); align-items: end; gap: clamp(40px, 8vw, 120px); }
.luxe-heading--split > div:last-child { padding-bottom: 4px; }
.luxe-heading--split > div:last-child > p { margin: 0 0 18px; color: var(--nkl-muted); }
.luxe-heading--light h2 { color: var(--nkl-white); }
.luxe-heading--light > div:last-child > p { color: rgba(255,255,255,.72); }

.text-link { display: inline-flex; align-items: center; gap: 14px; color: var(--nkl-ink); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-decoration: none; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(5px); }
.text-link--light { color: var(--nkl-white); }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 12px 26px; border: 1px solid var(--nkl-ink); background: transparent; color: var(--nkl-ink); text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: .08em; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { background: var(--nkl-ink); color: var(--nkl-white); }
.button--booking { border-color: var(--nkl-gold); background: var(--nkl-gold); color: var(--nkl-white); }
.button--booking:hover { border-color: var(--nkl-gold-light); background: var(--nkl-gold-light); color: var(--nkl-ink); }
.button--large { min-height: 60px; padding-inline: 38px; }

.site-header { position: sticky; top: 0; z-index: 1000; color: var(--nkl-white); background: rgba(7,26,45,.97); border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(12px); }
.site-header__inner { min-height: 78px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; }
.site-branding { min-width: 160px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-width: 220px; max-height: 58px; }
.site-title { display: inline-grid; gap: 1px; color: var(--nkl-white); text-decoration: none; }
.site-title__main { color: var(--nkl-gold-light); font-family: var(--nkl-serif); font-size: 24px; line-height: 1.15; letter-spacing: .12em; }
.site-title__sub { font-size: 8px; letter-spacing: .22em; opacity: .72; }
.primary-nav { justify-self: end; }
.primary-nav__list, .footer-nav__list { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); margin: 0; padding: 0; list-style: none; }
.primary-nav a { color: rgba(255,255,255,.88); font-size: 13px; letter-spacing: .05em; text-decoration: none; white-space: nowrap; }
.primary-nav a:hover { color: var(--nkl-gold-light); }
.site-header__actions { display: flex; align-items: stretch; align-self: stretch; }
.header-phone { display: flex; align-items: center; gap: 8px; padding-inline: 18px; color: rgba(255,255,255,.9); font-size: 13px; text-decoration: none; }
.header-booking { display: flex; min-width: 138px; align-items: center; justify-content: center; gap: 7px; background: var(--nkl-gold); color: var(--nkl-white); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.header-booking:hover { background: var(--nkl-gold-light); color: var(--nkl-ink); }
.menu-toggle { display: none; width: 72px; border: 0; background: transparent; color: var(--nkl-white); cursor: pointer; }
.menu-toggle__icon { position: relative; display: block; width: 24px; height: 2px; margin: 0 auto 7px; background: currentColor; box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor; }
.menu-toggle__label { font-size: 9px; letter-spacing: .08em; }
.mobile-utility-nav { display: none; }

.hero { position: relative; min-height: min(780px, calc(100svh - 78px)); display: grid; align-items: end; overflow: hidden; background: var(--nkl-ink); color: var(--nkl-white); }
.hero__media, .hero__overlay { position: absolute; inset: 0; }
.hero__picture, .hero__picture img, .hero__image { width: 100%; height: 100%; }
.hero__picture img, .hero__image { object-fit: cover; object-position: center; }
.hero__overlay { background: linear-gradient(90deg, rgba(3,12,23,.82) 0%, rgba(3,12,23,.50) 37%, rgba(3,12,23,.12) 70%), linear-gradient(0deg, rgba(3,12,23,.68) 0%, transparent 56%); }
.hero__content { position: relative; z-index: 2; align-self: center; padding-top: 30px; padding-bottom: 126px; }
.hero h1 { max-width: 760px; margin: 0 0 24px; font-family: var(--nkl-serif); font-size: clamp(46px, 5.5vw, 78px); font-weight: 500; line-height: 1.38; letter-spacing: .06em; text-wrap: balance; }
.hero__copy { max-width: 650px; margin: 0; color: rgba(255,255,255,.86); font-size: clamp(15px, 1.5vw, 19px); line-height: 2; }
.hero-search-shell { position: relative; z-index: 5; align-self: end; padding-bottom: 24px; }
.home-search--hero { padding: 12px; background: rgba(7,26,45,.92); border: 1px solid rgba(216,192,138,.45); box-shadow: 0 18px 50px rgba(0,0,0,.24); }
.home-search--hero .koc-optima-search { border: 0; background: var(--nkl-white); }
.home-search--hero .koc-submit { background: var(--nkl-gold); border-color: var(--nkl-gold); }
.home-search--hero .koc-submit:hover, .home-search--hero .koc-submit:focus-visible { background: var(--nkl-ink); border-color: var(--nkl-ink); color: var(--nkl-white); }

.split-feature { display: grid; grid-template-columns: minmax(300px, .78fr) minmax(0, 1.42fr); align-items: center; gap: clamp(64px, 9vw, 140px); }
.split-feature--reverse .split-feature__copy { order: 2; }
.split-feature--reverse .split-feature__media { order: 1; }
.split-feature__copy { max-width: 520px; }
.split-feature__copy h2 { margin-bottom: 28px; }
.split-feature__copy > p:not(.eyebrow) { margin: 0 0 30px; line-height: 2.15; }
.split-feature__media { position: relative; min-height: 420px; overflow: hidden; background: #dfe4e6; box-shadow: var(--nkl-shadow); }
.split-feature__media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.split-feature__media--cinema { min-height: 390px; aspect-ratio: 16/8.3; }
.split-feature__media--cinema img { min-height: 390px; }

.reason-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(28px, 3vw, 44px); }
.reason-card { background: var(--nkl-ivory); }
.reason-card a { display: block; height: 100%; text-decoration: none; }
.reason-card__media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.reason-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.reason-card:hover img { transform: scale(1.035); }
.reason-card__number { position: absolute; left: 24px; bottom: 17px; color: var(--nkl-gold-light); font-family: var(--nkl-serif); font-size: 42px; line-height: 1; text-shadow: 0 2px 14px rgba(0,0,0,.45); }
.reason-card__media::after { content: ""; position: absolute; inset: auto 0 0; height: 55%; background: linear-gradient(transparent, rgba(4,15,26,.72)); }
.reason-card__body { padding: 30px 28px 34px; }
.reason-card h3 { margin: 0 0 14px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: 25px; font-weight: 500; letter-spacing: .04em; }
.reason-card p { margin: 0; color: var(--nkl-muted); font-size: 14px; line-height: 1.95; }

.room-grid, .plan-grid, .tourism-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(30px, 3vw, 48px); }
.room-card, .plan-card, .tourism-card { min-width: 0; background: var(--nkl-white); }
.room-card > a, .tourism-card > a { display: block; height: 100%; text-decoration: none; }
.room-card__media { aspect-ratio: 4/3; overflow: hidden; background: var(--nkl-sand); }
.room-card__media img, .plan-card__media img, .tourism-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }
.room-card:hover img, .plan-card:hover img, .tourism-card:hover img { transform: scale(1.03); }
.room-card__body, .plan-card__body, .tourism-card__body { padding: 30px 28px 34px; }
.room-card h3, .plan-card h3, .tourism-card h3 { margin: 0 0 12px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: 24px; font-weight: 500; line-height: 1.5; }
.room-card p, .plan-card p, .tourism-card p { margin: 0 0 15px; color: var(--nkl-muted); font-size: 14px; line-height: 1.9; }
.room-card__facts { color: var(--nkl-gold) !important; font-size: 12px !important; font-weight: 700; }

.cuisine-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .72fr); gap: clamp(34px, 5vw, 72px); }
.cuisine-feature { position: relative; min-height: 590px; overflow: hidden; }
.cuisine-feature a { display: block; height: 100%; color: var(--nkl-white); text-decoration: none; }
.cuisine-feature__media, .cuisine-feature__media img { width: 100%; height: 100%; min-height: 590px; }
.cuisine-feature__media img { object-fit: cover; }
.cuisine-feature__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,13,23,.85), rgba(3,13,23,.06) 68%); }
.cuisine-feature__body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: clamp(34px, 5vw, 64px); }
.cuisine-feature h3 { margin: 0 0 15px; font-family: var(--nkl-serif); font-size: clamp(31px, 3.5vw, 48px); font-weight: 500; }
.cuisine-feature p:not(.eyebrow) { max-width: 600px; margin: 0 0 22px; color: rgba(255,255,255,.8); }
.cuisine-side-list { display: grid; align-content: start; gap: 28px; }
.cuisine-mini { border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: 28px; }
.cuisine-mini a { display: grid; grid-template-columns: 150px 1fr; gap: 22px; color: var(--nkl-white); text-decoration: none; }
.cuisine-mini__media { aspect-ratio: 1/1; overflow: hidden; }
.cuisine-mini__media img { width: 100%; height: 100%; object-fit: cover; }
.cuisine-mini h3 { margin: 2px 0 10px; font-family: var(--nkl-serif); font-size: 22px; font-weight: 500; }
.cuisine-mini p { margin: 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.8; }

.experience-feature { padding-block: clamp(118px, 12vw, 190px); }
.stay-section { padding-top: clamp(115px, 11vw, 175px); }
.stay-timeline { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.stay-timeline::before { content: ""; position: absolute; top: 124px; right: 6%; left: 6%; height: 1px; background: var(--nkl-gold-light); }
.stay-timeline li { position: relative; min-width: 0; }
.stay-timeline__media { position: relative; z-index: 1; aspect-ratio: 3/2; overflow: hidden; background: var(--nkl-white); border: 8px solid var(--nkl-ivory); }
.stay-timeline__media img { width: 100%; height: 100%; object-fit: cover; }
.stay-timeline__body { padding-top: 24px; text-align: center; }
.stay-timeline time { color: var(--nkl-gold); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.stay-timeline h3 { margin: 6px 0 8px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: 19px; font-weight: 500; }
.stay-timeline p { margin: 0; color: var(--nkl-muted); font-size: 12px; line-height: 1.75; }

.plan-card { display: grid; grid-template-rows: auto 1fr; border: 1px solid rgba(7,26,45,.08); box-shadow: 0 18px 50px rgba(7,26,45,.06); }
.plan-card__media { position: relative; aspect-ratio: 3/2; overflow: hidden; }
.plan-card__badge { position: absolute; top: 18px; left: 18px; display: inline-flex; padding: 7px 13px; border-radius: 999px; background: var(--nkl-ink); color: var(--nkl-gold-light); font-size: 11px; font-weight: 700; letter-spacing: .05em; }
.plan-card__body { display: flex; flex-direction: column; }
.plan-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--nkl-border); }
.plan-card__actions .button { min-height: 44px; padding: 8px 16px; font-size: 12px; }

.tourism-card { border-bottom: 1px solid var(--nkl-border); }
.tourism-card__media { aspect-ratio: 16/10; overflow: hidden; }
.tourism-card__time { margin-bottom: 5px !important; color: var(--nkl-gold) !important; font-size: 12px !important; font-weight: 700; }

.faq-list { border-top: 1px solid var(--nkl-border); }
.faq-item { border-bottom: 1px solid var(--nkl-border); }
.faq-item summary { position: relative; padding: 25px 52px 25px 4px; color: var(--nkl-ink); cursor: pointer; font-family: var(--nkl-serif); font-size: 18px; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; top: 50%; right: 10px; transform: translateY(-50%); color: var(--nkl-gold); font-family: var(--nkl-sans); font-size: 24px; }
.faq-item[open] summary::after { content: "−"; }
.faq-item > div { padding: 0 42px 24px 4px; }
.faq-item p { margin: 0; color: var(--nkl-muted); }

.final-booking { padding-block: clamp(95px, 10vw, 150px); background: linear-gradient(135deg, var(--nkl-ink), #0f3551); color: var(--nkl-white); text-align: center; }
.final-booking h2 { color: var(--nkl-white); }
.final-booking__inner > p:not(.eyebrow) { margin: 20px 0 34px; color: rgba(255,255,255,.74); }
.final-booking .koc-optima-trigger { min-width: 250px; min-height: 58px; background: var(--nkl-gold); border-color: var(--nkl-gold); color: var(--nkl-white); }

.site-footer { padding: 80px 0 35px; background: #041422; color: rgba(255,255,255,.7); }
.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.site-footer__brand strong { color: var(--nkl-gold-light); font-family: var(--nkl-serif); font-size: 27px; font-weight: 500; letter-spacing: .08em; }
.site-footer__brand p { margin: 8px 0 0; font-size: 13px; }
.site-footer a { text-decoration: none; }
.footer-nav__list { justify-content: flex-end; flex-wrap: wrap; }
.footer-nav a { color: rgba(255,255,255,.74); font-size: 13px; }
.site-footer__bottom { margin-top: 52px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); }

/* Inner pages */
.section { padding-block: clamp(80px, 9vw, 130px); }
.section--compact { padding-block: clamp(44px, 6vw, 76px); }
.section--tint { background: var(--nkl-sand); }
.section--booking { background: var(--nkl-ink); color: var(--nkl-white); text-align: center; }
.section-heading { margin-bottom: 46px; }
.section-heading h2, .booking-panel h2 { margin: 0; color: inherit; font-family: var(--nkl-serif); font-size: clamp(32px,4.5vw,56px); font-weight: 500; line-height: 1.4; }
.page-hero, .detail-hero { position: relative; min-height: 500px; display: grid; align-items: end; overflow: hidden; background: var(--nkl-ink); color: var(--nkl-white); }
.page-hero:not(.page-hero--image) { min-height: 300px; }
.page-hero__media, .detail-hero__media { position: absolute; inset: 0; }
.page-hero__media::after, .detail-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,26,45,.78), rgba(7,26,45,.12)); }
.page-hero__media img, .detail-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__content, .detail-hero__content { position: relative; z-index: 1; padding-block: 72px; }
.page-hero h1, .detail-hero h1, .entry-header h1, .archive-header h1 { margin: 0; font-family: var(--nkl-serif); font-size: clamp(38px,6vw,70px); font-weight: 500; line-height: 1.4; }
.entry-content { font-size: 17px; }
.entry-content h2, .entry-content h3 { color: var(--nkl-ink); font-family: var(--nkl-serif); font-weight: 500; line-height: 1.5; }
.entry-content h2 { margin-top: 2.4em; font-size: clamp(29px,4vw,43px); }
.entry-content h3 { margin-top: 2em; font-size: clamp(23px,3vw,31px); }
.entry-content p, .entry-content li { line-height: 2.05; }
.entry-featured { margin: 34px 0 48px; }
.entry-meta { color: var(--nkl-muted); }
.content-grid, .nkc-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; }
.content-card, .nkc-card { background: var(--nkl-white); border: 1px solid var(--nkl-border); box-shadow: 0 16px 44px rgba(7,26,45,.06); }
.content-card__link, .nkc-card__link { display: block; height: 100%; text-decoration: none; }
.content-card__media, .nkc-card__media { aspect-ratio: 3/2; overflow: hidden; background: var(--nkl-sand); }
.content-card__media img, .nkc-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.content-card__link:hover img, .nkc-card__link:hover img { transform: scale(1.03); }
.content-card__body, .nkc-card__body { padding: 28px; }
.content-card h2, .nkc-card h3 { margin: 0 0 12px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: 24px; font-weight: 500; }
.content-card p, .nkc-card p { margin: 0; color: var(--nkl-muted); }
.nkc-card__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--nkl-border); font-size: 13px; color: var(--nkl-muted); }
.nkc-badge { display: inline-flex; padding: 4px 9px; margin-bottom: 12px; background: var(--nkl-gold); color: var(--nkl-white); font-size: 11px; }
.nkc-facts { padding-block: 0 96px; }
.nkc-facts__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--nkl-border); }
.nkc-facts__item { display: grid; grid-template-columns: 9em 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--nkl-border); }
.nkc-facts__item:nth-child(odd) { padding-right: 28px; }
.nkc-facts__item:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--nkl-border); }
.nkc-facts dd { margin: 0; }
.nkc-page-cta { padding: 60px 0; background: var(--nkl-ocean); color: var(--nkl-white); }
.nkc-page-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.nkc-page-cta h2 { margin: 0 0 8px; font-family: var(--nkl-serif); font-size: clamp(27px,4vw,39px); font-weight: 500; }
.nkc-page-cta p { margin: 0; }

/* OPTIMA integration */
.sitewide-booking-search { position: relative; z-index: 20; padding: 10px 22px; background: var(--nkl-white); border-bottom: 1px solid var(--nkl-border); }
.sitewide-booking-search .koc-optima-search { margin-inline: auto; }
.nkl-optima-search.koc-optima-search { --koc-primary: var(--nkl-ink); --koc-accent: var(--nkl-gold); --koc-button-bg: var(--nkl-gold); --koc-button-text: #fff; --koc-button-active-bg: var(--nkl-ink); --koc-button-active-text: #fff; }
.nkl-optima-search.koc-is-stuck { border: 1px solid rgba(184,151,85,.4); }

@media (max-width: 1180px) {
  .primary-nav__list { gap: 15px; }
  .header-phone span:last-child { display: none; }
  .header-phone { padding-inline: 12px; }
}

@media (max-width: 960px) {
  html { scroll-padding-top: 70px; }
  .container-shell { width: 100%; }
  .container-wide { width: min(100% - 44px, 1220px); }
  .site-header__inner { min-height: 70px; grid-template-columns: 1fr auto; gap: 0; padding-left: 20px; }
  .site-branding { min-width: 0; }
  .custom-logo { max-width: 170px; max-height: 48px; }
  .site-title__main { font-size: 21px; }
  .primary-nav { display: none; position: fixed; inset: 70px 0 0; overflow: auto; background: var(--nkl-ivory); color: var(--nkl-ink); }
  .primary-nav[data-open] { display: block; }
  .primary-nav__list { display: block; padding: 28px 26px 100px; }
  .primary-nav li { border-bottom: 1px solid var(--nkl-border); }
  .primary-nav a { display: block; padding: 18px 4px; color: var(--nkl-ink); font-size: 16px; }
  .site-header__actions { justify-self: end; }
  .header-phone { display: none; }
  .header-booking { min-width: 92px; padding-inline: 10px; font-size: 12px; }
  .menu-toggle { display: block; }
  .luxe-heading--split { grid-template-columns: 1fr; gap: 26px; }
  .split-feature { gap: 55px; }
  .reason-grid, .room-grid, .plan-grid, .tourism-grid { gap: 24px; }
  .cuisine-layout { grid-template-columns: 1fr; }
  .cuisine-side-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cuisine-mini { border: 1px solid rgba(255,255,255,.16); padding: 0; }
  .cuisine-mini a { grid-template-columns: 1fr; gap: 0; }
  .cuisine-mini > a > div:last-child { padding: 22px; }
  .cuisine-mini__media { aspect-ratio: 3/2; }
  .stay-timeline { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 48px; }
  .stay-timeline::before { display: none; }
  .content-grid, .nkc-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mobile-utility-nav { position: fixed; z-index: 9990; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3,1fr); min-height: 64px; padding-bottom: env(safe-area-inset-bottom); background: rgba(7,26,45,.98); border-top: 1px solid rgba(216,192,138,.5); }
  .mobile-utility-nav a { display: grid; place-items: center; align-content: center; gap: 1px; color: var(--nkl-white); font-size: 10px; text-decoration: none; }
  .mobile-utility-nav a + a { border-left: 1px solid rgba(255,255,255,.14); }
  .mobile-utility-nav a:nth-child(2) { color: var(--nkl-gold-light); }
  .mobile-utility-nav span:first-child { font-size: 18px; line-height: 1; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

@media (max-width: 767px) {
  .container-wide, .container-narrow { width: min(100% - 32px, 1220px); }
  .luxe-section { padding-block: 82px; }
  .experience-feature { padding-block: 90px; }
  .luxe-heading { margin-bottom: 40px; }
  .luxe-heading h2, .split-feature h2, .final-booking h2 { font-size: clamp(30px,9.5vw,42px); line-height: 1.5; }
  .eyebrow { margin-bottom: 10px; font-size: 9px; letter-spacing: .23em; }
  .hero { min-height: 680px; align-items: end; }
  .hero__picture img, .hero__image { object-position: center; }
  .hero__overlay { background: linear-gradient(0deg, rgba(3,12,23,.86) 0%, rgba(3,12,23,.58) 52%, rgba(3,12,23,.08) 100%); }
  .hero__content { align-self: end; padding-top: 80px; padding-bottom: 104px; }
  .hero h1 { max-width: 340px; margin-bottom: 18px; font-size: clamp(34px,10vw,47px); line-height: 1.48; }
  .hero__copy { max-width: 350px; font-size: 14px; line-height: 1.9; }
  .hero-search-shell { width: calc(100% - 24px); padding-bottom: 12px; }
  .home-search--hero { padding: 6px; background: rgba(7,26,45,.94); }
  .home-search--hero .koc-optima-search { width: 100%; }
  .home-search--hero .koc-compact-row { min-height: 52px; }
  .home-search--hero .koc-date-display { font-size: 14px; }
  .split-feature, .split-feature--wide { grid-template-columns: 1fr; gap: 38px; }
  .split-feature--reverse .split-feature__copy, .split-feature--reverse .split-feature__media { order: initial; }
  .split-feature__copy { max-width: none; }
  .split-feature__copy > p:not(.eyebrow) { line-height: 2; }
  .split-feature__media, .split-feature__media img { min-height: 260px; }
  .split-feature__media--cinema, .split-feature__media--cinema img { min-height: 250px; aspect-ratio: 4/3; }
  .reason-grid { grid-template-columns: 1fr; gap: 22px; }
  .reason-card__media { aspect-ratio: 16/10; }
  .reason-card__body { padding: 24px 22px 28px; }
  .room-grid, .plan-grid, .tourism-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; grid-template-columns: none; gap: 16px; overflow-x: auto; padding: 2px 16px 20px; margin-inline: -16px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .room-grid::-webkit-scrollbar, .plan-grid::-webkit-scrollbar, .tourism-grid::-webkit-scrollbar { display: none; }
  .room-card, .plan-card, .tourism-card { scroll-snap-align: start; }
  .room-card__body, .plan-card__body, .tourism-card__body { padding: 24px 22px 28px; }
  .cuisine-feature, .cuisine-feature__media, .cuisine-feature__media img { min-height: 470px; }
  .cuisine-feature__body { padding: 30px 24px; }
  .cuisine-side-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .cuisine-mini h3 { font-size: 18px; }
  .cuisine-mini p { display: none; }
  .cuisine-mini > a > div:last-child { padding: 16px; }
  .stay-timeline { display: grid; grid-template-columns: 1fr; gap: 0; }
  .stay-timeline li { display: grid; grid-template-columns: 114px 1fr; gap: 22px; padding: 0 0 34px; }
  .stay-timeline li:not(:last-child)::before { content: ""; position: absolute; top: 82px; bottom: 0; left: 56px; width: 1px; background: var(--nkl-gold-light); }
  .stay-timeline__media { aspect-ratio: 1/1; border-width: 5px; }
  .stay-timeline__body { padding-top: 0; text-align: left; }
  .stay-timeline h3 { font-size: 18px; }
  .plan-card__actions { align-items: stretch; flex-direction: column; }
  .plan-card__actions .button { width: 100%; }
  .faq-item summary { padding-block: 21px; font-size: 16px; }
  .site-footer { padding: 65px 0 30px; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 40px; }
  .footer-nav__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); justify-content: start; gap: 12px 20px; }
  .page-hero, .detail-hero { min-height: 420px; }
  .content-grid, .nkc-card-grid { grid-template-columns: 1fr; gap: 22px; }
  .nkc-facts__grid { grid-template-columns: 1fr; }
  .nkc-facts__item, .nkc-facts__item:nth-child(odd), .nkc-facts__item:nth-child(even) { grid-template-columns: 7em 1fr; padding: 16px 0; border-left: 0; }
  .nkc-page-cta__inner { display: grid; }
}

@media (max-width: 380px) {
  .site-title__main { font-size: 19px; }
  .header-booking { min-width: 78px; }
  .menu-toggle { width: 64px; }
  .hero-search-shell { width: calc(100% - 16px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Version 0.3.0: core pages and conversion-focused notices */
.page-hero--deep, .post-hero { background: var(--nkl-ink); color: var(--nkl-white); }
.page-hero__lead, .post-hero__lead { max-width: 780px; margin: 22px 0 0; color: rgba(255,255,255,.82); font-size: clamp(15px,1.45vw,20px); line-height: 2; }
.page-luxe .entry-content { color: var(--nkl-text); }
.page-luxe .entry-content > p:first-child { margin-top: 0; }
.page-room-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.room-proof { background: linear-gradient(180deg, var(--nkl-ivory), var(--nkl-sand)); }
.info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(24px,3vw,40px); }
.info-grid article { padding: clamp(30px,4vw,44px); background: var(--nkl-white); border: 1px solid var(--nkl-border); box-shadow: 0 18px 46px rgba(7,26,45,.06); }
.info-grid h3 { margin: 0 0 14px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: 25px; font-weight: 500; }
.info-grid p { margin: 0; color: var(--nkl-muted); line-height: 2; }
.map-panel { min-height: 480px; display: grid; place-items: center; padding: 24px; background: linear-gradient(135deg, #dfe7ea, #f7f5ef); box-shadow: var(--nkl-shadow); }
.map-panel__inner { width: 100%; height: 100%; min-height: 420px; display: grid; place-items: center; align-content: center; gap: 10px; border: 1px solid rgba(7,26,45,.18); background: rgba(255,255,255,.55); color: var(--nkl-muted); text-align: center; }
.map-panel__inner p { margin: 0; }
.cuisine-layout--page { align-items: stretch; }

.post-hero { position: relative; min-height: min(720px, calc(100svh - 78px)); display: grid; align-items: end; overflow: hidden; }
.post-hero:not(.post-hero--image) { min-height: 420px; }
.post-hero__media { position: absolute; inset: 0; }
.post-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,26,45,.86), rgba(7,26,45,.24)); }
.post-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.post-hero__content { position: relative; z-index: 1; padding-block: clamp(70px,10vw,130px); }
.post-hero h1 { max-width: 980px; margin: 14px 0 0; font-family: var(--nkl-serif); font-size: clamp(38px,5.5vw,72px); font-weight: 500; line-height: 1.42; letter-spacing: .035em; }
.single-notice .entry-meta { color: rgba(255,255,255,.74); }
.article-layout, .notice-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: clamp(48px,6vw,92px); align-items: start; }
.article-main { max-width: 840px; }
.article-aside, .notice-sidebar { position: sticky; top: 110px; }
.booking-aside { padding: 34px 30px; background: linear-gradient(145deg, var(--nkl-ink), #0d314d); color: var(--nkl-white); box-shadow: var(--nkl-shadow); border: 1px solid rgba(216,192,138,.32); }
.booking-aside h2 { margin: 0 0 16px; font-family: var(--nkl-serif); font-size: 30px; font-weight: 500; line-height: 1.45; }
.booking-aside p { color: rgba(255,255,255,.78); }
.booking-aside .button, .booking-aside .koc-optima-trigger { width: 100%; margin: 18px 0 22px; border-color: var(--nkl-gold); background: var(--nkl-gold); color: var(--nkl-white); }
.booking-aside ul { margin: 18px 0 0; padding-left: 1.2em; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.9; }
.article-aside__links { display: grid; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); }
.article-aside__links a { color: var(--nkl-gold-light); text-decoration: none; }
.notice-index .page-hero:not(.page-hero--image) { min-height: 380px; }
.notice-card .entry-meta { color: var(--nkl-gold); font-size: 12px; }
.notice-card .text-link { margin-top: 20px; }
.content-grid--notice { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media (max-width: 1180px) {
  .page-room-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-layout, .notice-layout { grid-template-columns: minmax(0,1fr) 320px; gap: 44px; }
}

@media (max-width: 960px) {
  .article-layout, .notice-layout { grid-template-columns: 1fr; }
  .article-aside, .notice-sidebar { position: static; }
  .booking-aside { margin-top: 20px; }
  .content-grid--notice { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .page-room-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; grid-template-columns: none; overflow-x: auto; gap: 16px; margin-inline: -16px; padding: 2px 16px 20px; scroll-snap-type: x mandatory; }
  .page-hero__lead, .post-hero__lead { font-size: 14px; line-height: 1.9; }
  .post-hero { min-height: 520px; }
  .post-hero__content { padding-block: 72px 58px; }
  .post-hero h1 { font-size: clamp(31px,9.5vw,44px); }
  .article-main { max-width: none; }
  .content-grid--notice { grid-template-columns: 1fr; }
  .booking-aside { padding: 28px 22px; }
  .booking-aside h2 { font-size: 26px; }
  .map-panel { min-height: 320px; padding: 14px; }
  .map-panel__inner { min-height: 280px; }
}

/* 0.3.6: prevent text / image collision and add official benefits section */
.hero__content {
  max-width: min(760px, calc(100% - 48px));
  padding: clamp(28px, 4vw, 48px);
  margin-left: max(22px, calc((100vw - 1220px) / 2));
  background: linear-gradient(135deg, rgba(5,18,32,.84), rgba(5,18,32,.52));
  border: 1px solid rgba(216,192,138,.25);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  backdrop-filter: blur(2px);
}
.hero__content.container-wide { width: auto; }
.hero__overlay { background: linear-gradient(90deg, rgba(3,12,23,.72) 0%, rgba(3,12,23,.34) 44%, rgba(3,12,23,.08) 78%), linear-gradient(0deg, rgba(3,12,23,.68) 0%, rgba(3,12,23,.15) 58%); }
.reason-card__number { position: static; display: inline-flex; margin-bottom: 18px; color: var(--nkl-gold); text-shadow: none; font-size: 32px; }
.reason-card__media::after { display: none; }
.cuisine-feature { display: grid; min-height: auto; background: var(--nkl-ink-2); }
.cuisine-feature a { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(340px,.75fr); min-height: 590px; }
.cuisine-feature__media, .cuisine-feature__media img { min-height: 590px; }
.cuisine-feature__media::after { display: none; }
.cuisine-feature__body { position: static; display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 5vw, 68px); background: linear-gradient(145deg, #0b2338, #061623); }
.cuisine-feature p:not(.eyebrow) { color: rgba(255,255,255,.76); }
.page-hero__content, .detail-hero__content, .post-hero__content {
  max-width: min(860px, calc(100% - 44px));
  padding: clamp(34px, 5vw, 64px);
  margin-bottom: clamp(32px, 5vw, 72px);
  background: linear-gradient(135deg, rgba(5,18,32,.84), rgba(5,18,32,.55));
  border: 1px solid rgba(216,192,138,.25);
  box-shadow: 0 22px 60px rgba(0,0,0,.24);
}
.page-hero__media::after, .detail-hero__media::after { background: linear-gradient(0deg, rgba(7,26,45,.62), rgba(7,26,45,.08)); }

.official-benefits { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--nkl-ivory), #f3efe6); }
.official-benefits::before { content: ""; position: absolute; inset: 48px auto auto 50%; width: min(760px, 80vw); height: min(760px, 80vw); transform: translateX(-50%); border: 1px solid rgba(184,151,85,.16); border-radius: 999px; pointer-events: none; }
.official-benefits__inner { position: relative; }
.official-benefits__heading { margin-bottom: clamp(42px, 6vw, 76px); }
.official-benefits__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(28px, 5vw, 72px); align-items: stretch; }
.official-member-benefit { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: clamp(32px, 4vw, 54px); border: 1px solid rgba(184,151,85,.28); background: rgba(255,255,255,.82); box-shadow: 0 22px 70px rgba(7,26,45,.08); }
.official-member-benefit--member { background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(245,239,226,.92)); }
.official-member-benefit--member::after { content: "OFFICIAL"; position: absolute; right: 28px; bottom: 22px; color: rgba(184,151,85,.12); font-family: var(--nkl-serif); font-size: clamp(48px, 8vw, 94px); line-height: 1; pointer-events: none; }
.official-member-benefit__label { display: inline-flex; align-self: flex-start; padding: 8px 14px; border: 1px solid rgba(184,151,85,.44); color: var(--nkl-gold); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.official-member-benefit__lead { position: relative; z-index: 1; margin: 26px 0 16px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: clamp(26px, 3.4vw, 40px); line-height: 1.55; letter-spacing: .05em; }
.official-member-benefit__text { position: relative; z-index: 1; margin: 0; color: var(--nkl-muted); line-height: 2.05; }
.official-member-benefit__banner { display: block; margin-top: 28px; overflow: hidden; border: 1px solid rgba(7,26,45,.08); background: var(--nkl-white); box-shadow: 0 14px 42px rgba(7,26,45,.08); }
.official-member-benefit__banner img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.official-member-benefit__banner:hover img { transform: scale(1.018); }

@media (max-width: 960px) {
  .hero__content { margin: 0 22px 0; max-width: none; padding: 26px 24px; }
  .cuisine-feature a { grid-template-columns: 1fr; min-height: auto; }
  .cuisine-feature__media, .cuisine-feature__media img { min-height: 260px; }
  .cuisine-feature__body { padding: 30px 24px 34px; }
  .page-hero__content, .detail-hero__content, .post-hero__content { margin: 0 22px 34px; max-width: none; padding: 28px 24px; }
  .official-benefits__grid { grid-template-columns: 1fr; }
  .official-member-benefit { padding: 28px 24px; }
}

/* Version 0.3.7: safer text placement and visible official benefits */
.hero__text-panel {
  max-width: min(820px, 100%);
  padding: clamp(28px, 4vw, 52px);
  background: linear-gradient(135deg, rgba(7,26,45,.82), rgba(7,26,45,.58));
  border: 1px solid rgba(216,192,138,.28);
  box-shadow: 0 24px 80px rgba(0,0,0,.26);
  backdrop-filter: blur(10px);
}
.hero__text-panel .eyebrow { margin-bottom: 16px; }
.hero__text-panel h1 { max-width: 100%; }
.hero__text-panel .hero__copy { max-width: 680px; }

.luxe-intro { padding-top: clamp(110px, 12vw, 190px); }
.luxe-intro .split-feature--intro {
  grid-template-columns: 1fr;
  gap: clamp(46px, 6vw, 74px);
  max-width: min(1100px, calc(100% - 64px));
}
.luxe-intro .split-feature__copy {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
  position: relative;
  z-index: 2;
}
.luxe-intro .split-feature__media {
  width: min(980px, 100%);
  min-height: 0;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.luxe-intro .split-feature__media img {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 8.5;
  object-fit: cover;
}

.reason-card__media::after { display: none; }
.reason-card__number {
  position: static;
  display: block;
  margin: 0 0 12px;
  color: var(--nkl-gold);
  font-family: var(--nkl-serif);
  font-size: 34px;
  line-height: 1;
  text-shadow: none;
}

.cuisine-feature { min-height: 0; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.cuisine-feature a { display: grid; height: auto; }
.cuisine-feature__media { aspect-ratio: 16 / 9; min-height: 0; overflow: hidden; }
.cuisine-feature__media img { min-height: 0; width: 100%; height: 100%; object-fit: cover; }
.cuisine-feature__media::after { display: none; }
.cuisine-feature__body {
  position: static;
  padding: clamp(30px, 4vw, 52px);
  background: rgba(7,26,45,.92);
}
.cuisine-feature p:not(.eyebrow) { color: rgba(255,255,255,.82); }

.page-hero__content, .post-hero__content, .detail-hero__content {
  position: relative;
  z-index: 2;
}
.page-hero--image .page-hero__content > *, .post-hero--image .post-hero__content > *, .detail-hero__media + .detail-hero__content > * {
  max-width: min(900px, 100%);
}
.page-hero--image .page-hero__content, .post-hero--image .post-hero__content, .detail-hero__media + .detail-hero__content {
  padding-block: clamp(80px, 10vw, 140px);
}
.page-hero--image .page-hero__content::before, .post-hero--image .post-hero__content::before, .detail-hero__media + .detail-hero__content::before {
  content: "";
  position: absolute;
  top: clamp(50px, 7vw, 92px);
  bottom: clamp(50px, 7vw, 92px);
  left: 0;
  width: min(940px, calc(100% - 64px));
  background: linear-gradient(135deg, rgba(7,26,45,.78), rgba(7,26,45,.48));
  border: 1px solid rgba(216,192,138,.24);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.page-hero--image .page-hero__content > *, .post-hero--image .post-hero__content > *, .detail-hero__media + .detail-hero__content > * { position: relative; z-index: 1; padding-left: clamp(26px, 4vw, 54px); }

.official-benefits { display: block; }
.official-benefits__grid { align-items: stretch; }
.official-member-benefit__text br { display: none; }

@media (max-width: 767px) {
  .hero__content { padding-bottom: 118px; }
  .hero__text-panel { padding: 24px 22px; }
  .hero h1 { max-width: none; }
  .luxe-intro { padding-top: 84px; }
  .luxe-intro .split-feature--intro { max-width: min(100% - 32px, 1220px); gap: 34px; }
  .luxe-intro .split-feature__copy { text-align: left; }
  .luxe-intro .split-feature__media img { aspect-ratio: 4 / 3; }
  .cuisine-feature, .cuisine-feature__media, .cuisine-feature__media img { min-height: 0; }
  .cuisine-feature__body { padding: 26px 22px; }
  .page-hero--image .page-hero__content::before, .post-hero--image .post-hero__content::before, .detail-hero__media + .detail-hero__content::before {
    right: 16px;
    left: 16px;
    width: auto;
  }
  .page-hero--image .page-hero__content > *, .post-hero--image .post-hero__content > *, .detail-hero__media + .detail-hero__content > * {
    padding-left: 36px;
    padding-right: 36px;
  }
}


/* Version 0.3.8: structural hotfix classes for intro and official benefits. */
.nkl-safe-intro{display:block!important;padding:clamp(96px,10vw,170px) 0!important;background:#f6f1e8!important;overflow:hidden!important;}
.nkl-safe-intro__inner{display:block!important;width:min(1120px,calc(100% - 64px))!important;margin:0 auto!important;}
.nkl-safe-intro__copy{display:block!important;position:relative!important;z-index:2!important;max-width:820px!important;margin:0 auto clamp(44px,6vw,76px)!important;text-align:center!important;background:rgba(251,249,244,.92)!important;padding:clamp(26px,4vw,44px)!important;border:1px solid rgba(184,151,85,.24)!important;box-shadow:0 18px 70px rgba(7,26,45,.06)!important;}
.nkl-safe-intro__copy h2{margin:0 0 24px!important;color:#071a2d!important;font-family:var(--nkl-serif)!important;font-size:clamp(34px,4vw,56px)!important;font-weight:500!important;line-height:1.55!important;letter-spacing:.045em!important;}
.nkl-safe-intro__copy p:not(.eyebrow){max-width:680px!important;margin:0 auto 28px!important;color:#64717a!important;line-height:2.15!important;}
.nkl-safe-intro__media{display:block!important;position:relative!important;z-index:1!important;width:min(980px,100%)!important;margin:0 auto!important;padding:0!important;overflow:hidden!important;background:#fff!important;box-shadow:0 24px 80px rgba(7,26,45,.12)!important;}
.nkl-safe-intro__media img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/8.5!important;object-fit:cover!important;min-height:0!important;}
.nkl-official-benefits{display:block!important;padding:clamp(88px,10vw,150px) 0!important;background:linear-gradient(180deg,#fbf9f4,#f1eadc)!important;overflow:hidden!important;}
.nkl-official-benefits__inner{width:min(1120px,calc(100% - 64px))!important;margin:0 auto!important;}
.nkl-official-benefits__heading{text-align:center!important;margin:0 auto clamp(42px,6vw,72px)!important;max-width:760px!important;}
.nkl-official-benefits__heading h2{margin:0!important;color:#071a2d!important;font-family:var(--nkl-serif)!important;font-size:clamp(30px,3.8vw,52px)!important;font-weight:500!important;line-height:1.55!important;}
.nkl-official-benefits__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(26px,4vw,56px)!important;align-items:stretch!important;}
.nkl-official-benefit-card{display:flex!important;flex-direction:column!important;min-width:0!important;padding:clamp(30px,4vw,52px)!important;background:rgba(255,255,255,.88)!important;border:1px solid rgba(184,151,85,.30)!important;box-shadow:0 20px 70px rgba(7,26,45,.08)!important;}
.nkl-official-benefit-card__label{display:inline-flex!important;align-self:flex-start!important;padding:8px 14px!important;border:1px solid rgba(184,151,85,.44)!important;color:#b89755!important;font-size:12px!important;font-weight:700!important;letter-spacing:.1em!important;}
.nkl-official-benefit-card__lead{margin:26px 0 16px!important;color:#071a2d!important;font-family:var(--nkl-serif)!important;font-size:clamp(24px,3vw,38px)!important;line-height:1.55!important;}
.nkl-official-benefit-card__text{margin:0!important;color:#64717a!important;line-height:2.05!important;}
.nkl-official-benefit-card__banner{display:block!important;margin-top:28px!important;overflow:hidden!important;border:1px solid rgba(7,26,45,.10)!important;background:#fff!important;}
.nkl-official-benefit-card__banner img{display:block!important;width:100%!important;height:auto!important;}
@media(max-width:767px){.nkl-safe-intro{padding:72px 0!important}.nkl-safe-intro__inner,.nkl-official-benefits__inner{width:min(100% - 32px,1120px)!important}.nkl-safe-intro__copy{text-align:left!important;margin-bottom:30px!important;padding:24px 22px!important}.nkl-safe-intro__media img{aspect-ratio:4/3!important}.nkl-official-benefits__grid{grid-template-columns:1fr!important}.nkl-official-benefit-card{padding:26px 22px!important}}


/* Version 0.3.9: emergency overlap prevention for both old and new intro markup. */
body.home .home-main, body.front-page .home-main, .home-main { overflow-x: clip !important; }
body.home .luxe-intro, body.home .nkl-safe-intro, .home-main .luxe-intro, .home-main .nkl-safe-intro{
  clear: both !important; display: block !important; position: relative !important; isolation: isolate !important; overflow: hidden !important;
  padding-top: clamp(96px, 10vw, 170px) !important; padding-bottom: clamp(96px, 10vw, 170px) !important; background: #f6f1e8 !important;
}
body.home .luxe-intro .split-feature, body.home .luxe-intro .split-feature--intro, body.home .split-feature--intro, body.home .nkl-safe-intro__inner,
.home-main .luxe-intro .split-feature, .home-main .luxe-intro .split-feature--intro, .home-main .split-feature--intro, .home-main .nkl-safe-intro__inner{
  display: block !important; grid-template-columns: none !important; grid-template-areas: none !important; gap: 0 !important;
  width: min(1120px, calc(100% - 64px)) !important; max-width: 1120px !important; margin: 0 auto !important; padding: 0 !important; overflow: visible !important; transform: none !important;
}
body.home .luxe-intro .split-feature__copy, body.home .split-feature--intro .split-feature__copy, body.home .nkl-safe-intro__copy,
.home-main .luxe-intro .split-feature__copy, .home-main .split-feature--intro .split-feature__copy, .home-main .nkl-safe-intro__copy{
  display: block !important; float: none !important; clear: both !important; position: relative !important; inset: auto !important;
  left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; z-index: 5 !important;
  width: min(820px, 100%) !important; min-width: 0 !important; max-width: 820px !important; margin: 0 auto clamp(48px, 6vw, 80px) !important;
  padding: clamp(28px, 4vw, 48px) !important; text-align: center !important; background: rgba(251,249,244,.96) !important;
  border: 1px solid rgba(184,151,85,.24) !important; box-shadow: 0 18px 70px rgba(7,26,45,.07) !important; transform: none !important;
}
body.home .luxe-intro .split-feature__copy *, body.home .split-feature--intro .split-feature__copy *, body.home .nkl-safe-intro__copy *,
.home-main .luxe-intro .split-feature__copy *, .home-main .split-feature--intro .split-feature__copy *, .home-main .nkl-safe-intro__copy *{
  position: relative !important; z-index: 6 !important; transform: none !important;
}
body.home .luxe-intro .split-feature__media, body.home .split-feature--intro .split-feature__media, body.home .nkl-safe-intro__media,
.home-main .luxe-intro .split-feature__media, .home-main .split-feature--intro .split-feature__media, .home-main .nkl-safe-intro__media{
  display: block !important; float: none !important; clear: both !important; position: relative !important; inset: auto !important;
  left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; z-index: 1 !important;
  width: min(980px, 100%) !important; min-width: 0 !important; max-width: 980px !important; margin: 0 auto !important; padding: 0 !important;
  overflow: hidden !important; transform: none !important; background: #fff !important; box-shadow: 0 24px 80px rgba(7,26,45,.12) !important;
}
body.home .luxe-intro .split-feature__media img, body.home .split-feature--intro .split-feature__media img, body.home .nkl-safe-intro__media img,
.home-main .luxe-intro .split-feature__media img, .home-main .split-feature--intro .split-feature__media img, .home-main .nkl-safe-intro__media img{
  display: block !important; position: static !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important;
  height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: 16 / 8.5 !important; object-fit: cover !important; transform: none !important;
}
body.home .official-benefits, body.home .nkl-official-benefits, .home-main .official-benefits, .home-main .nkl-official-benefits{
  display: block !important; visibility: visible !important; opacity: 1 !important; position: relative !important; z-index: 1 !important; clear: both !important;
  margin: 0 !important; padding: clamp(88px, 10vw, 150px) 0 !important; background: linear-gradient(180deg,#fbf9f4,#f1eadc) !important;
}
body.home .official-member-benefit__banner, body.home .nkl-official-benefit-card__banner, .home-main .official-member-benefit__banner, .home-main .nkl-official-benefit-card__banner{display:block!important;visibility:visible!important;opacity:1!important;}
body.home .official-member-benefit__banner img, body.home .nkl-official-benefit-card__banner img, .home-main .official-member-benefit__banner img, .home-main .nkl-official-benefit-card__banner img{display:block!important;width:100%!important;height:auto!important;}
@media (max-width: 767px){
  body.home .luxe-intro, body.home .nkl-safe-intro, .home-main .luxe-intro, .home-main .nkl-safe-intro{padding-top:72px!important;padding-bottom:72px!important;}
  body.home .luxe-intro .split-feature, body.home .luxe-intro .split-feature--intro, body.home .split-feature--intro, body.home .nkl-safe-intro__inner,
  .home-main .luxe-intro .split-feature, .home-main .luxe-intro .split-feature--intro, .home-main .split-feature--intro, .home-main .nkl-safe-intro__inner{width:min(100% - 32px,1120px)!important;}
  body.home .luxe-intro .split-feature__copy, body.home .split-feature--intro .split-feature__copy, body.home .nkl-safe-intro__copy,
  .home-main .luxe-intro .split-feature__copy, .home-main .split-feature--intro .split-feature__copy, .home-main .nkl-safe-intro__copy{text-align:left!important;padding:24px 22px!important;margin-bottom:30px!important;}
  body.home .luxe-intro .split-feature__media img, body.home .split-feature--intro .split-feature__media img, body.home .nkl-safe-intro__media img,
  .home-main .luxe-intro .split-feature__media img, .home-main .split-feature--intro .split-feature__media img, .home-main .nkl-safe-intro__media img{aspect-ratio:4/3!important;}
}

/* Version 0.4.0: public bath layout, news/blog section, detail pages */
.nkl-public-bath{overflow:hidden!important;background:#f6f1e8!important;}
.nkl-bath-feature{display:block!important;width:min(1120px,calc(100% - 64px))!important;margin:0 auto!important;}
.nkl-bath-feature__copy{display:block!important;max-width:780px!important;margin:0 auto clamp(42px,6vw,76px)!important;text-align:center!important;background:rgba(255,255,255,.74)!important;border:1px solid rgba(184,151,85,.22)!important;padding:clamp(28px,4vw,54px)!important;box-shadow:0 18px 70px rgba(7,26,45,.06)!important;position:relative!important;z-index:2!important;}
.nkl-bath-feature__copy h2{margin:0 0 24px!important;color:var(--nkl-ink)!important;font-family:var(--nkl-serif)!important;font-size:clamp(34px,4.2vw,58px)!important;font-weight:500!important;line-height:1.5!important;letter-spacing:.045em!important;}
.nkl-bath-feature__copy p:not(.eyebrow){max-width:640px!important;margin:0 auto 30px!important;color:var(--nkl-muted)!important;line-height:2.1!important;}
.nkl-bath-feature__media{display:block!important;width:min(1040px,100%)!important;margin:0 auto!important;overflow:hidden!important;background:#dfe4e6!important;box-shadow:var(--nkl-shadow)!important;position:relative!important;z-index:1!important;}
.nkl-bath-feature__media img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/8.4!important;object-fit:cover!important;min-height:0!important;max-width:none!important;}
.news-blog-section{background:var(--nkl-ivory);}
.news-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,48px);}
.news-blog-card{background:#fff;border:1px solid rgba(7,26,45,.08);box-shadow:0 18px 54px rgba(7,26,45,.06);}
.news-blog-card a{display:block;color:inherit;text-decoration:none;height:100%;}
.news-blog-card__media{aspect-ratio:3/2;overflow:hidden;background:#dfe4e6;}
.news-blog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.news-blog-card a:hover .news-blog-card__media img{transform:scale(1.035);}
.news-blog-card__body{padding:26px 24px 30px;}
.news-blog-card__body h3{margin:8px 0 14px;color:var(--nkl-ink);font-family:var(--nkl-serif);font-size:clamp(20px,2vw,26px);line-height:1.55;font-weight:500;}
.news-blog-card__body--title-only h3{margin:0;}
.news-blog-card__body p:not(.entry-meta){margin:0;color:var(--nkl-muted);line-height:1.95;}
.news-blog-empty{padding:40px;background:#fff;border:1px solid rgba(7,26,45,.08);}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(48px,6vw,92px);align-items:start;}
.detail-layout__main{min-width:0;}
.detail-layout__main h2{margin:0 0 28px;color:var(--nkl-ink);font-family:var(--nkl-serif);font-size:clamp(32px,4vw,54px);font-weight:500;line-height:1.5;}
.detail-layout__aside{position:sticky;top:112px;}
.detail-facts{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid rgba(255,255,255,.18);}
.detail-facts li{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);}
.detail-facts span{color:rgba(255,255,255,.68);}
.detail-facts strong{color:#fff;text-align:right;font-weight:600;}
@media(max-width:980px){.news-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.detail-layout{grid-template-columns:1fr}.detail-layout__aside{position:static}}
@media(max-width:767px){.nkl-bath-feature{width:min(100% - 32px,1120px)!important}.nkl-bath-feature__copy{text-align:left!important;padding:24px 22px!important;margin-bottom:30px!important}.nkl-bath-feature__media img{aspect-ratio:4/3!important}.news-blog-grid{grid-template-columns:1fr}.news-blog-card__body{padding:22px 20px 26px}}

/* 0.4.1: Core guest-room and cuisine pages */
.nkl-page-intro{text-align:center}.nkl-page-intro h2{margin:0 0 28px;color:var(--nkl-ink);font-family:var(--nkl-serif);font-size:clamp(34px,4.4vw,60px);font-weight:500;line-height:1.45}.nkl-page-intro p{max-width:760px;margin:0 auto;color:var(--nkl-muted);line-height:2.05}.nkl-page-intro .entry-content{margin-bottom:20px}.nkl-room-showcase,.nkl-cuisine-showcase{display:grid;gap:clamp(56px,8vw,120px)}.nkl-room-showcase__item,.nkl-cuisine-showcase__item{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:center;gap:clamp(40px,6vw,90px)}.nkl-room-showcase__item.is-reverse,.nkl-cuisine-showcase__item.is-reverse{grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr)}.nkl-room-showcase__item.is-reverse .nkl-room-showcase__media,.nkl-cuisine-showcase__item.is-reverse .nkl-cuisine-showcase__media{order:2}.nkl-room-showcase__item.is-reverse .nkl-room-showcase__copy,.nkl-cuisine-showcase__item.is-reverse .nkl-cuisine-showcase__copy{order:1}.nkl-room-showcase__media,.nkl-cuisine-showcase__media{overflow:hidden;background:var(--nkl-sand);box-shadow:0 30px 80px rgba(7,26,45,.12)}.nkl-room-showcase__media{aspect-ratio:1.42/1}.nkl-cuisine-showcase__media{aspect-ratio:1.25/1}.nkl-room-showcase__media img,.nkl-cuisine-showcase__media img{display:block;width:100%;height:100%;object-fit:cover}.nkl-room-showcase__copy,.nkl-cuisine-showcase__copy{min-width:0}.nkl-room-showcase__copy h3,.nkl-cuisine-showcase__copy h3{margin:0 0 20px;font-family:var(--nkl-serif);font-size:clamp(31px,3.5vw,50px);font-weight:500;line-height:1.45}.nkl-room-showcase__copy h3{color:var(--nkl-ink)}.nkl-cuisine-showcase__copy h3{color:var(--nkl-white)}.nkl-room-showcase__lead,.nkl-cuisine-showcase__lead{margin:0 0 26px;line-height:2}.nkl-room-showcase__lead{color:var(--nkl-muted)}.nkl-cuisine-showcase__lead{color:rgba(255,255,255,.78)}.nkl-room-showcase__features{margin:24px 0 0;color:var(--nkl-muted);font-size:14px;line-height:1.9}.nkl-fact-list{display:grid;margin:28px 0 0;border-top:1px solid var(--nkl-border)}.nkl-fact-list>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;padding:13px 0;border-bottom:1px solid var(--nkl-border)}.nkl-fact-list dt{color:var(--nkl-gold);font-size:12px;font-weight:700;letter-spacing:.08em}.nkl-fact-list dd{margin:0;color:var(--nkl-ink);font-size:14px;line-height:1.7}.nkl-fact-list--dark{border-color:rgba(255,255,255,.14)}.nkl-fact-list--dark>div{border-color:rgba(255,255,255,.14)}.nkl-fact-list--dark dd{color:rgba(255,255,255,.86)}.nkl-room-showcase__actions,.nkl-cuisine-showcase__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button--outline,.button--light-outline{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.04em;transition:background-color .2s,color .2s,border-color .2s}.button--outline{color:var(--nkl-ink);border:1px solid rgba(7,26,45,.28);background:transparent}.button--outline:hover,.button--outline:focus-visible{color:var(--nkl-white);background:var(--nkl-ink);border-color:var(--nkl-ink)}.button--light-outline{color:var(--nkl-white);border:1px solid rgba(255,255,255,.45);background:transparent}.button--light-outline:hover,.button--light-outline:focus-visible{color:var(--nkl-ink);background:var(--nkl-white);border-color:var(--nkl-white)}.nkl-cuisine-list-section{background:var(--nkl-ink)}.nkl-room-dining-detail__grid{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(40px,7vw,110px)}.nkl-room-dining-detail__copy h2{margin:0 0 25px;color:var(--nkl-ink);font-family:var(--nkl-serif);font-size:clamp(34px,4.3vw,58px);font-weight:500;line-height:1.45}.nkl-room-dining-detail__copy p{color:var(--nkl-muted);line-height:2}.nkl-room-dining-detail__media{aspect-ratio:1.5/1;overflow:hidden;box-shadow:0 30px 80px rgba(7,26,45,.12)}.nkl-room-dining-detail__media img{display:block;width:100%;height:100%;object-fit:cover}.nkl-page-booking-cta{text-align:center;color:rgba(255,255,255,.8)}.nkl-page-booking-cta h2{margin:0 0 20px;color:var(--nkl-white);font-family:var(--nkl-serif);font-size:clamp(34px,4.5vw,60px);font-weight:500;line-height:1.45}.nkl-page-booking-cta p{margin:0 auto 30px;max-width:680px;line-height:2}.nkl-page-booking-cta .button{min-width:230px}
@media(max-width:980px){.nkl-room-showcase__item,.nkl-cuisine-showcase__item,.nkl-room-showcase__item.is-reverse,.nkl-cuisine-showcase__item.is-reverse,.nkl-room-dining-detail__grid{grid-template-columns:1fr}.nkl-room-showcase__item.is-reverse .nkl-room-showcase__media,.nkl-cuisine-showcase__item.is-reverse .nkl-cuisine-showcase__media,.nkl-room-showcase__item.is-reverse .nkl-room-showcase__copy,.nkl-cuisine-showcase__item.is-reverse .nkl-cuisine-showcase__copy{order:initial}.nkl-room-showcase__copy,.nkl-cuisine-showcase__copy{max-width:720px}.nkl-room-dining-detail__copy{max-width:720px}}
@media(max-width:767px){.nkl-room-showcase,.nkl-cuisine-showcase{gap:64px}.nkl-room-showcase__media,.nkl-cuisine-showcase__media,.nkl-room-dining-detail__media{margin-inline:-16px;box-shadow:none}.nkl-room-showcase__copy h3,.nkl-cuisine-showcase__copy h3{font-size:32px}.nkl-fact-list>div{grid-template-columns:86px minmax(0,1fr);gap:14px}.nkl-room-showcase__actions,.nkl-cuisine-showcase__actions{display:grid;grid-template-columns:1fr}.nkl-room-showcase__actions .button,.nkl-cuisine-showcase__actions .button{width:100%}}


/* Version 0.4.2: smartphone density and spacing optimization */
@media (min-width: 768px) and (max-width: 960px) {
  .luxe-section, .section { padding-block: 82px; }
  .experience-feature, .stay-section { padding-block: 88px; }
  .luxe-heading, .section-heading { margin-bottom: 42px; }
  .page-hero, .detail-hero { min-height: 430px; }
}

@media (max-width: 767px) {
  :root { --nkl-mobile-gutter: 16px; }
  html { scroll-padding-top: 64px; }
  body { font-size: 15px; line-height: 1.75; padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  p { overflow-wrap: anywhere; }

  .container-shell { width: 100%; }
  .container-wide, .container-narrow { width: calc(100% - (var(--nkl-mobile-gutter) * 2)); }

  .site-header__inner { min-height: 64px; padding-left: var(--nkl-mobile-gutter); }
  .site-title__main { font-size: 19px; }
  .site-title__sub { font-size: 7px; }
  .custom-logo { max-width: 148px; max-height: 42px; }
  .primary-nav { inset: 64px 0 0; }
  .primary-nav__list { padding: 16px 20px calc(78px + env(safe-area-inset-bottom)); }
  .primary-nav a { padding: 14px 4px; font-size: 15px; }
  .header-booking { min-width: 82px; padding-inline: 8px; font-size: 11px; }
  .menu-toggle { width: 60px; }
  .menu-toggle__label { font-size: 8px; }

  .mobile-utility-nav { min-height: 58px; }
  .mobile-utility-nav a { font-size: 9px; }
  .mobile-utility-nav span:first-child { font-size: 16px; }

  .luxe-section, .section, .experience-feature, .stay-section { padding-block: 56px; }
  .section--compact { padding-block: 34px; }
  .luxe-heading, .section-heading { margin-bottom: 30px; }
  .luxe-heading--split { gap: 12px; }
  .luxe-heading--split > div:last-child { padding-bottom: 0; }
  .luxe-heading--split > div:last-child > p { margin-bottom: 12px; }
  .luxe-heading h2, .split-feature h2, .final-booking h2,
  .section-heading h2, .booking-panel h2 { font-size: clamp(29px, 8.5vw, 38px); line-height: 1.42; }
  .luxe-heading--center > p:last-child { margin-top: 12px; }
  .eyebrow { margin-bottom: 8px; font-size: 9px; letter-spacing: .2em; }
  .text-link { gap: 9px; font-size: 12px; }
  .button { min-height: 48px; padding: 10px 20px; font-size: 13px; }
  .button--large { min-height: 52px; padding-inline: 24px; }

  .hero { min-height: min(620px, calc(100svh - 64px)); }
  .hero__content, .hero__content.container-wide { width: auto; max-width: none; margin: 0 var(--nkl-mobile-gutter); padding: 0 0 88px; background: none; border: 0; box-shadow: none; backdrop-filter: none; }
  .hero__text-panel { padding: 20px 18px; border-radius: 0; backdrop-filter: blur(6px); }
  .hero h1 { max-width: none; margin-bottom: 13px; font-size: clamp(31px, 9vw, 40px); line-height: 1.42; letter-spacing: .04em; }
  .hero__copy { font-size: 13px; line-height: 1.75; }
  .hero-search-shell { width: calc(100% - 16px); padding-bottom: 8px; }
  .home-search--hero { padding: 4px; }
  .home-search--hero .koc-compact-row { min-height: 50px; }

  .nkl-safe-intro, body.home .nkl-safe-intro, .home-main .nkl-safe-intro { padding: 56px 0 !important; }
  .nkl-safe-intro__inner, body.home .nkl-safe-intro__inner, .home-main .nkl-safe-intro__inner { width: calc(100% - 32px) !important; }
  .nkl-safe-intro__copy, body.home .nkl-safe-intro__copy, .home-main .nkl-safe-intro__copy { margin-bottom: 20px !important; padding: 20px 18px !important; text-align: left !important; box-shadow: 0 12px 36px rgba(7,26,45,.05) !important; }
  .nkl-safe-intro__copy h2 { margin-bottom: 15px !important; font-size: clamp(29px, 8.3vw, 37px) !important; line-height: 1.45 !important; }
  .nkl-safe-intro__copy p:not(.eyebrow) { margin-bottom: 18px !important; line-height: 1.85 !important; }
  .nkl-safe-intro__media { box-shadow: 0 14px 42px rgba(7,26,45,.09) !important; }
  .nkl-safe-intro__media img { aspect-ratio: 3 / 2 !important; }

  .reason-grid { gap: 16px; }
  .reason-card__media { aspect-ratio: 3 / 2; }
  .reason-card__body { padding: 20px 18px 22px; }
  .reason-card__number { margin-bottom: 9px; font-size: 28px; }
  .reason-card h3 { margin-bottom: 8px; }

  .room-grid, .plan-grid, .tourism-grid, .page-room-grid { grid-auto-columns: 88%; gap: 12px; margin-inline: -16px; padding: 2px 16px 12px; }
  .room-card__body, .plan-card__body, .tourism-card__body, .content-card__body, .nkc-card__body { padding: 20px 18px 22px; }
  .plan-card__badge { top: 12px; left: 12px; }
  .plan-card__actions { gap: 10px; padding-top: 15px; }

  .cuisine-layout { gap: 20px; }
  .cuisine-feature__media { aspect-ratio: 3 / 2; }
  .cuisine-feature__body { padding: 22px 18px 24px; }
  .cuisine-side-list { gap: 10px; }
  .cuisine-mini > a > div:last-child { padding: 13px; }
  .cuisine-mini h3 { margin-bottom: 0; font-size: 17px; line-height: 1.45; }

  .split-feature, .split-feature--wide { gap: 24px; }
  .split-feature__copy h2 { margin-bottom: 15px; }
  .split-feature__copy > p:not(.eyebrow) { margin-bottom: 18px; line-height: 1.85; }
  .split-feature__media, .split-feature__media img { min-height: 220px; }
  .split-feature__media--cinema, .split-feature__media--cinema img { min-height: 0; aspect-ratio: 3 / 2; }

  .nkl-public-bath { padding-block: 56px !important; }
  .nkl-bath-feature { width: calc(100% - 32px) !important; }
  .nkl-bath-feature__copy { margin-bottom: 20px !important; padding: 20px 18px !important; text-align: left !important; box-shadow: 0 12px 36px rgba(7,26,45,.05) !important; }
  .nkl-bath-feature__copy h2 { margin-bottom: 15px !important; font-size: clamp(29px, 8.3vw, 37px) !important; line-height: 1.45 !important; }
  .nkl-bath-feature__copy p:not(.eyebrow) { margin-bottom: 18px !important; line-height: 1.85 !important; }
  .nkl-bath-feature__media { box-shadow: 0 14px 42px rgba(7,26,45,.09) !important; }
  .nkl-bath-feature__media img { aspect-ratio: 3 / 2 !important; }

  .stay-timeline li { grid-template-columns: 92px 1fr; gap: 16px; padding-bottom: 24px; }
  .stay-timeline li:not(:last-child)::before { top: 68px; left: 45px; }
  .stay-timeline__body { padding-top: 0; }
  .stay-timeline h3 { margin: 3px 0 5px; font-size: 17px; }
  .stay-timeline p { font-size: 12px; line-height: 1.65; }

  .nkl-official-benefits, body.home .nkl-official-benefits, .home-main .nkl-official-benefits { padding: 56px 0 !important; }
  .nkl-official-benefits__inner { width: calc(100% - 32px) !important; }
  .nkl-official-benefits__heading { margin-bottom: 28px !important; text-align: left !important; }
  .nkl-official-benefits__heading h2 { font-size: clamp(28px, 8vw, 36px) !important; line-height: 1.45 !important; }
  .nkl-official-benefits__grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .nkl-official-benefit-card, .official-member-benefit { padding: 20px 18px !important; box-shadow: 0 12px 36px rgba(7,26,45,.06) !important; }
  .nkl-official-benefit-card__label, .official-member-benefit__label { padding: 6px 10px !important; font-size: 10px !important; }
  .nkl-official-benefit-card__lead, .official-member-benefit__lead { margin: 18px 0 10px !important; font-size: 25px !important; line-height: 1.45 !important; }
  .nkl-official-benefit-card__text, .official-member-benefit__text { line-height: 1.8 !important; }
  .nkl-official-benefit-card__banner, .official-member-benefit__banner { margin-top: 18px !important; }
  .official-member-benefit--member::after { right: 12px; bottom: 12px; font-size: 48px; }

  .news-blog-grid { gap: 16px; }
  .news-blog-card__media { aspect-ratio: 3 / 2; }
  .news-blog-card__body { padding: 19px 18px 22px; }
  .news-blog-card__body h3 { margin: 5px 0 9px; font-size: 21px; }
  .news-blog-card__body p:not(.entry-meta) { line-height: 1.75; }

  .faq-item summary { padding: 17px 42px 17px 2px; font-size: 15px; line-height: 1.55; }
  .faq-item > div { padding: 0 28px 17px 2px; }
  .faq-item p { line-height: 1.8; }

  .final-booking { padding-block: 58px; }
  .final-booking__inner > p:not(.eyebrow) { margin: 14px 0 24px; }
  .final-booking .koc-optima-trigger { min-width: 220px; min-height: 52px; }

  .site-footer { padding: 46px 0 22px; }
  .site-footer__inner { gap: 28px; }
  .site-footer__brand strong { font-size: 23px; }
  .footer-nav__list { gap: 9px 16px; }
  .site-footer__bottom { margin-top: 28px; padding-top: 16px; }

  .page-hero, .detail-hero { min-height: 350px; }
  .page-hero:not(.page-hero--image) { min-height: 230px; }
  .post-hero { min-height: 390px; }
  .post-hero:not(.post-hero--image) { min-height: 260px; }
  .page-hero__content, .detail-hero__content, .post-hero__content {
    width: auto; max-width: none; margin: 0 16px 18px; padding: 20px 18px;
  }
  .page-hero--image .page-hero__content, .post-hero--image .post-hero__content, .detail-hero__media + .detail-hero__content { padding-block: 20px; }
  .page-hero--image .page-hero__content::before, .post-hero--image .post-hero__content::before, .detail-hero__media + .detail-hero__content::before { inset: 0; width: auto; }
  .page-hero--image .page-hero__content > *, .post-hero--image .post-hero__content > *, .detail-hero__media + .detail-hero__content > * { padding-inline: 0; }
  .page-hero h1, .detail-hero h1, .post-hero h1, .entry-header h1, .archive-header h1 { font-size: clamp(30px, 9vw, 40px); line-height: 1.4; }
  .page-hero__lead, .post-hero__lead { margin-top: 12px; font-size: 13px; line-height: 1.75; }

  .entry-content { font-size: 16px; }
  .entry-content p, .entry-content li { line-height: 1.9; }
  .entry-content h2 { margin-top: 2em; font-size: 29px; }
  .entry-content h3 { margin-top: 1.65em; font-size: 23px; }
  .entry-featured { margin: 24px 0 32px; }
  .article-layout, .notice-layout, .detail-layout { gap: 34px; }
  .booking-aside { margin-top: 0; padding: 22px 18px; }
  .booking-aside h2 { font-size: 24px; }

  .info-grid { gap: 16px; }
  .info-grid article { padding: 23px 19px; }
  .info-grid h3 { margin-bottom: 9px; font-size: 22px; }
  .map-panel { min-height: 300px; padding: 10px; }
  .map-panel__inner { min-height: 270px; }

  .nkl-page-intro h2 { margin-bottom: 16px; font-size: clamp(29px, 8.5vw, 38px); }
  .nkl-page-intro p { line-height: 1.85; }
  .nkl-room-showcase, .nkl-cuisine-showcase { gap: 48px; }
  .nkl-room-showcase__item, .nkl-cuisine-showcase__item { gap: 22px; }
  .nkl-room-showcase__media, .nkl-cuisine-showcase__media, .nkl-room-dining-detail__media { margin-inline: -16px; }
  .nkl-room-showcase__copy h3, .nkl-cuisine-showcase__copy h3 { margin-bottom: 12px; font-size: 29px; }
  .nkl-room-showcase__lead, .nkl-cuisine-showcase__lead { margin-bottom: 18px; line-height: 1.85; }
  .nkl-room-showcase__features { margin-top: 16px; }
  .nkl-fact-list { margin-top: 20px; }
  .nkl-fact-list > div { grid-template-columns: 76px minmax(0,1fr); gap: 12px; padding: 11px 0; }
  .nkl-room-showcase__actions, .nkl-cuisine-showcase__actions { gap: 9px; margin-top: 22px; }
  .nkl-room-dining-detail__grid { gap: 22px; }
  .nkl-room-dining-detail__copy h2 { margin-bottom: 15px; font-size: 31px; }
  .nkl-room-dining-detail__copy p { line-height: 1.85; }
  .nkl-page-booking-cta h2 { margin-bottom: 13px; font-size: 31px; }
  .nkl-page-booking-cta p { margin-bottom: 22px; line-height: 1.85; }
  .nkl-page-booking-cta .button { min-width: 210px; }
}

@media (max-width: 380px) {
  .header-booking { min-width: 76px; }
  .menu-toggle { width: 56px; }
  .hero { min-height: 590px; }
  .hero h1 { font-size: 30px; }
  .stay-timeline li { grid-template-columns: 82px 1fr; gap: 13px; }
  .stay-timeline li:not(:last-child)::before { left: 40px; }
}

/* 0.4.3: reliable upper/lower mobile menu drawer */
.menu-toggle {
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-decoration: none;
}
.mobile-menu-panel {
  position: fixed;
  inset: 0;
  z-index: 12000;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}
.mobile-menu-panel:target,
.mobile-menu-panel.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.mobile-menu-panel__backdrop {
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(2, 12, 22, .66);
  backdrop-filter: blur(3px);
}
.mobile-menu-panel__drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(88vw, 420px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--nkl-ivory);
  color: var(--nkl-ink);
  box-shadow: -22px 0 60px rgba(2, 12, 22, .25);
  transform: translateX(100%);
  transition: transform .28s ease;
}
.mobile-menu-panel:target .mobile-menu-panel__drawer,
.mobile-menu-panel.is-open .mobile-menu-panel__drawer {
  transform: translateX(0);
}
.mobile-menu-panel__header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 12px 18px 12px 24px;
  background: rgba(247, 244, 235, .97);
  border-bottom: 1px solid var(--nkl-border);
  backdrop-filter: blur(10px);
}
.mobile-menu-panel__brand {
  display: grid;
  gap: 2px;
  font-family: var(--nkl-serif);
  font-size: 18px;
  letter-spacing: .06em;
}
.mobile-menu-panel__brand small {
  color: var(--nkl-gold);
  font-family: sans-serif;
  font-size: 8px;
  letter-spacing: .18em;
}
.mobile-menu-panel__close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: var(--nkl-ink);
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
}
.mobile-drawer-nav__list {
  margin: 0;
  padding: 12px 24px 0;
  list-style: none;
}
.mobile-drawer-nav__list li {
  border-bottom: 1px solid var(--nkl-border);
}
.mobile-drawer-nav__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 17px;
  line-height: 1.45;
  text-decoration: none;
}
.mobile-drawer-nav__list a::after {
  content: "→";
  color: var(--nkl-gold);
  font-family: sans-serif;
  font-size: 14px;
}
.mobile-menu-panel__actions {
  display: grid;
  gap: 12px;
  padding: 28px 24px calc(28px + env(safe-area-inset-bottom));
}
.mobile-menu-panel__phone {
  display: block;
  padding: 13px 16px;
  border: 1px solid var(--nkl-border);
  color: var(--nkl-ink);
  text-align: center;
  text-decoration: none;
}
html.menu-is-open,
html.menu-is-open body {
  overflow: hidden;
}
.mobile-utility-nav [data-mobile-menu-toggle] {
  border: 0;
  background: transparent;
}

@media (min-width: 961px) {
  .mobile-menu-panel { display: none !important; }
}

@media (max-width: 960px) {
  .menu-toggle { display: flex; }
  /* Old in-header mobile nav is no longer used as a drawer. */
  .primary-nav { display: none !important; }
}

@media (max-width: 380px) {
  .mobile-menu-panel__drawer { width: 92vw; }
  .mobile-menu-panel__header { min-height: 64px; padding-left: 18px; }
  .mobile-drawer-nav__list { padding-inline: 18px; }
  .mobile-drawer-nav__list a { min-height: 54px; font-size: 16px; }
  .mobile-menu-panel__actions { padding-inline: 18px; }
}

/* 0.4.4: Core客室データ連携・客室詳細 */
.nkc-room-gallery { padding: clamp(56px,7vw,104px) 0; }
.nkc-room-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.nkc-room-gallery__grid figure { margin:0; overflow:hidden; background:#f2efe8; aspect-ratio:4/3; }
.nkc-room-gallery__grid img { width:100%; height:100%; object-fit:cover; display:block; }
.nkl-room-detail__booking { text-align:center; color:#fff; }
.nkl-room-detail__booking p { max-width:680px; margin-left:auto; margin-right:auto; }
@media (max-width: 767px) {
  .nkc-room-gallery { padding:48px 0; }
  .nkc-room-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .nkl-room-detail__intro { padding-top:44px; padding-bottom:44px; }
}

/* 0.4.5: Core room media can use a dedicated mobile image. */
.nkl-item-picture {
	display: block;
	width: 100%;
	height: 100%;
}
.nkl-item-picture > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Version 0.4.7: luxury editorial header + unified 3:2 featured-image ratio */
.hotel-notice-section {
  background: linear-gradient(180deg, #ffffff 0%, #faf8f3 100%);
  border-top: 1px solid rgba(7,26,45,.06);
}
.hotel-notice-section + .news-blog-section { border-top: 1px solid rgba(7,26,45,.07); }
.news-blog-card--notice { border-color: rgba(184,151,85,.24); box-shadow: 0 18px 52px rgba(7,26,45,.055); }
.news-blog-card--notice .entry-meta { color: var(--nkl-gold); }
.news-blog-card__body h2 { margin: 8px 0 14px; color: var(--nkl-ink); font-family: var(--nkl-serif); font-size: clamp(20px,2vw,26px); line-height: 1.55; font-weight: 500; }
/* nkl-card and nkl-feature are both generated at 3:2. Keep every news/blog card and detail hero at the same visible ratio. */
.news-blog-card__media,
.editorial-hero__media { aspect-ratio: 3 / 2; }

/* Editorial detail: title first, restrained image below. Luxury comes from typography and whitespace, not scale. */
.editorial-hero {
  padding: clamp(48px,5.5vw,82px) 0 clamp(54px,6.2vw,90px);
  background: linear-gradient(180deg, #f8f5ee 0%, #fdfcf9 100%);
  border-bottom: 1px solid rgba(7,26,45,.07);
}
.editorial-hero__inner {
  display: block;
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}
.editorial-hero__content {
  max-width: 960px;
  margin-inline: auto;
}
.editorial-hero__meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(26px,3vw,38px);
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(184,151,85,.34);
}
.editorial-hero__meta-row .eyebrow,
.editorial-hero__meta-row .entry-meta { margin: 0; }
.editorial-hero__meta-row .eyebrow {
  color: var(--nkl-gold);
  font-size: 10px;
  letter-spacing: .22em;
}
.editorial-hero__meta-row .entry-meta {
  color: var(--nkl-muted);
  font-size: 11px;
  letter-spacing: .08em;
  white-space: nowrap;
}
.editorial-hero__content h1 {
  max-width: 920px;
  margin: 0;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: clamp(32px,3.15vw,42px);
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: .035em;
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
}
.editorial-hero__lead {
  max-width: 780px;
  margin: 22px 0 0;
  color: var(--nkl-muted);
  font-size: 15px;
  line-height: 1.95;
}
.editorial-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  color: var(--nkl-gold);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: .05em;
}
.editorial-hero__back:hover,
.editorial-hero__back:focus-visible { color: var(--nkl-ink); }
.editorial-hero__media {
  width: min(960px, 100%);
  margin: clamp(34px,4.2vw,54px) auto 0;
  overflow: hidden;
  background: var(--nkl-sand);
  box-shadow: 0 22px 58px rgba(7,26,45,.09);
}
.editorial-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.editorial-hero--plain .editorial-hero__content {
  max-width: 900px;
  padding-bottom: 8px;
}
.editorial-body { padding-block: clamp(64px,7vw,104px); background: #fff; }
.editorial-single .article-layout {
  grid-template-columns: minmax(0,780px) minmax(290px,340px);
  justify-content: space-between;
  gap: clamp(44px,6vw,82px);
}
.editorial-single .article-main { max-width: 780px; font-size: 16.5px; }
.editorial-single .article-main > :first-child { margin-top: 0; }
.editorial-single .article-main p,
.editorial-single .article-main li { line-height: 2; }
.editorial-single .article-main h2 { margin-top: 2.35em; font-size: clamp(27px,3vw,36px); line-height: 1.55; }
.editorial-single .article-main h3 { margin-top: 2em; font-size: clamp(21px,2.2vw,27px); line-height: 1.55; }
.editorial-single .article-main img { height: auto; }
.editorial-single .booking-aside { padding: 30px 26px; }
.editorial-single .booking-aside h2 { font-size: 27px; }

.editorial-index-hero {
  padding: clamp(58px,7vw,92px) 0;
  background: linear-gradient(145deg, var(--nkl-ink), #0d314d);
  color: var(--nkl-white);
}
.editorial-index-hero__inner { max-width: 820px; }
.editorial-index-hero h1 {
  margin: 0 0 18px;
  color: var(--nkl-white);
  font-family: var(--nkl-serif);
  font-size: clamp(36px,4.5vw,58px);
  font-weight: 500;
  line-height: 1.35;
}
.editorial-index-hero p:not(.eyebrow) { margin: 0; max-width: 700px; color: rgba(255,255,255,.78); line-height: 1.9; }

@media (max-width: 980px) {
  .editorial-single .article-layout { grid-template-columns: 1fr; }
  .editorial-single .article-aside { position: static; }
}

@media (max-width: 767px) {
  .hotel-notice-section { padding-block: 52px; }
  .news-blog-card__body h2 { margin: 5px 0 9px; font-size: 21px; }
  .editorial-hero { padding: 32px 0 44px; }
  .editorial-hero__inner { width: calc(100% - 32px); }
  .editorial-hero__content { width: 100%; }
  .editorial-hero__meta-row { gap: 14px; margin-bottom: 22px; padding-bottom: 12px; }
  .editorial-hero__meta-row .eyebrow { font-size: 9px; letter-spacing: .18em; }
  .editorial-hero__meta-row .entry-meta { font-size: 10px; letter-spacing: .04em; }
  .editorial-hero__content h1 { max-width: none; font-size: clamp(25px,7.1vw,29px); line-height: 1.55; letter-spacing: .025em; }
  .editorial-hero__lead { margin-top: 16px; font-size: 14px; line-height: 1.85; }
  .editorial-hero__back { margin-top: 18px; font-size: 10px; }
  .editorial-hero__media { width: 100%; margin-top: 28px; aspect-ratio: 3 / 2; box-shadow: 0 14px 34px rgba(7,26,45,.08); }
  .editorial-body { padding-block: 48px 56px; }
  .editorial-single .article-layout { gap: 36px; }
  .editorial-single .article-main { font-size: 16px; }
  .editorial-single .article-main p,
  .editorial-single .article-main li { line-height: 1.9; }
  .editorial-single .article-main h2 { margin-top: 2em; font-size: 26px; }
  .editorial-single .article-main h3 { margin-top: 1.75em; font-size: 21px; }
  .editorial-single .booking-aside { margin-top: 0; padding: 26px 22px; }
  .editorial-single .booking-aside h2 { font-size: 24px; }
  .editorial-index-hero { padding: 48px 0 52px; }
  .editorial-index-hero h1 { font-size: 36px; }
}
/* Version 0.4.8: luxury FAQ presentation for .nk-faq content */
/* Version 0.4.9: ensure FAQ answers use the full available content width */
.page-luxe--faq .faq-content-section {
  padding-block: clamp(72px, 8vw, 116px);
  background:
    radial-gradient(circle at 12% 0%, rgba(184,151,85,.07), transparent 29rem),
    linear-gradient(180deg, #fdfcf9 0%, var(--nkl-ivory) 100%);
}
.page-luxe--faq .faq-content-section .container-narrow {
  width: min(980px, calc(100% - 48px));
}
.page-luxe--faq .page-hero {
  min-height: clamp(390px, 42vw, 520px);
}
.page-luxe--faq .page-hero__content {
  max-width: 1220px;
  padding-block: clamp(54px, 7vw, 82px);
}
.page-luxe--faq .page-hero h1 {
  max-width: 780px;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.34;
  letter-spacing: .045em;
}
.page-luxe--faq .page-hero__lead {
  max-width: 620px;
  margin-top: 18px;
  color: rgba(255,255,255,.82);
  font-size: 15px;
  line-height: 1.95;
}

.nk-faq {
  --nk-faq-line: rgba(7,26,45,.13);
  --nk-faq-soft-line: rgba(184,151,85,.28);
  --nk-faq-paper: rgba(255,255,255,.78);
  counter-reset: nk-faq-section;
  width: 100%;
  color: var(--nkl-text);
}
.nk-faq__intro {
  max-width: 720px;
  margin: 0 auto clamp(38px,5vw,58px) !important;
  color: #44515a;
  font-family: var(--nkl-serif);
  font-size: clamp(16px,1.6vw,18px);
  font-weight: 500;
  line-height: 2.05 !important;
  letter-spacing: .035em;
  text-align: center;
}
.nk-faq__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  margin: 0 0 clamp(72px,8vw,104px);
  border: 1px solid var(--nk-faq-soft-line);
  background: rgba(255,255,255,.5);
}
.nk-faq__nav a {
  position: relative;
  display: flex;
  min-height: 68px;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-right: 1px solid var(--nk-faq-soft-line);
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .035em;
  text-align: center;
  text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease;
}
.nk-faq__nav a:last-child { border-right: 0; }
.nk-faq__nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 18px;
  height: 1px;
  background: var(--nkl-gold);
  transform: translateX(-50%);
  transition: width .2s ease;
}
.nk-faq__nav a:hover,
.nk-faq__nav a:focus-visible {
  background: var(--nkl-ink);
  color: #fff;
}
.nk-faq__nav a:hover::after,
.nk-faq__nav a:focus-visible::after { width: 34px; }

.nk-faq__section {
  counter-increment: nk-faq-section;
  scroll-margin-top: 110px;
  margin: 0 0 clamp(84px,9vw,126px);
}
.nk-faq__section:last-child { margin-bottom: 0; }
.entry-content .nk-faq__section-title,
.nk-faq__section-title {
  position: relative;
  margin: 0 0 34px !important;
  padding: 0 0 22px 62px;
  border-bottom: 1px solid var(--nk-faq-soft-line);
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: clamp(27px,3vw,36px) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: .045em;
}
.nk-faq__section-title::before {
  content: "0" counter(nk-faq-section);
  position: absolute;
  left: 0;
  top: .32em;
  color: var(--nkl-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .15em;
}
.nk-faq__section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 54px;
  height: 2px;
  background: var(--nkl-gold);
}
.entry-content .nk-faq__subheading,
.nk-faq__subheading {
  margin: 56px 0 18px !important;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: .04em;
}

.nk-faq__item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--nk-faq-line);
  background: transparent;
}
.nk-faq__item:first-of-type { border-top: 1px solid var(--nk-faq-line); }
.nk-faq__question {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 28px;
  gap: 16px;
  align-items: center;
  min-height: 82px;
  padding: 20px 14px 20px 6px;
  color: var(--nkl-ink);
  cursor: pointer;
  font-family: var(--nkl-serif);
  font-size: clamp(16px,1.55vw,18px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .02em;
  list-style: none;
  transition: background-color .2s ease;
}
.nk-faq__question::-webkit-details-marker { display: none; }
.nk-faq__question:hover { background: rgba(255,255,255,.58); }
.nk-faq__item[open] > .nk-faq__question { background: rgba(255,255,255,.7); }
.nk-faq__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  width: 34px;
  height: 34px;
  margin-top: 1px;
  border: 1px solid rgba(184,151,85,.5);
  border-radius: 50%;
  color: var(--nkl-gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}
.nk-faq__toggle {
  position: relative;
  display: block;
  width: 24px;
  height: 24px;
  justify-self: end;
}
.nk-faq__toggle::before,
.nk-faq__toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 1px;
  background: var(--nkl-gold);
  transform: translate(-50%,-50%);
  transition: transform .22s ease, opacity .22s ease;
}
.nk-faq__toggle::after { transform: translate(-50%,-50%) rotate(90deg); }
.nk-faq__item[open] .nk-faq__toggle::after { opacity: 0; transform: translate(-50%,-50%) rotate(0deg); }

.nk-faq__answer {
  display: flex;
  width: 100%;
  max-width: none;
  align-items: flex-start;
  gap: 16px;
  padding: 0 18px 30px 6px;
  background: var(--nk-faq-paper);
  box-sizing: border-box;
}
.nk-faq__answer > .nk-faq__mark {
  flex: 0 0 34px;
  margin-top: 25px;
  border-color: rgba(7,26,45,.18);
  color: var(--nkl-ink-2);
}
.nk-faq__answer-body {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 22px 0 2px;
  color: #3f4d57;
  font-size: 15.5px;
  line-height: 2;
  box-sizing: border-box;
}
.entry-content .nk-faq__answer-body > *,
.nk-faq__answer-body > * {
  max-width: 100%;
}
.entry-content .nk-faq__answer-body p,
.nk-faq__answer-body p {
  width: 100%;
  max-width: none;
  margin: 0 0 16px;
  line-height: 2 !important;
}
.nk-faq__answer-body p:last-child { margin-bottom: 0; }
.nk-faq__answer-body > a:not(.nk-faq__button) {
  color: var(--nkl-ocean);
  text-decoration-color: rgba(184,151,85,.75);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.nk-faq__media {
  width: auto;
  max-width: min(100%, 520px);
  height: auto;
  margin: 24px 0 6px;
  border: 8px solid #fff;
  box-shadow: 0 16px 42px rgba(7,26,45,.09);
}
.nk-faq__button {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 11px 24px;
  border: 1px solid var(--nkl-ink);
  background: transparent;
  color: var(--nkl-ink) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .055em;
  text-align: center;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.nk-faq__button::after {
  content: "→";
  margin-left: 12px;
  color: var(--nkl-gold);
  font-family: var(--nkl-sans);
  font-weight: 400;
}
.nk-faq__button:hover,
.nk-faq__button:focus-visible {
  border-color: var(--nkl-ink);
  background: var(--nkl-ink);
  color: #fff !important;
}
.nk-faq__button:hover::after,
.nk-faq__button:focus-visible::after { color: var(--nkl-gold-light); }

@media (max-width: 767px) {
  .page-luxe--faq .faq-content-section { padding-block: 52px 66px; }
  .page-luxe--faq .faq-content-section .container-narrow { width: calc(100% - 32px); }
  .page-luxe--faq .page-hero { min-height: 330px; }
  .page-luxe--faq .page-hero__content { padding-block: 42px; }
  .page-luxe--faq .page-hero h1 { font-size: clamp(32px,9vw,40px); line-height: 1.42; }
  .page-luxe--faq .page-hero__lead { margin-top: 12px; font-size: 13px; line-height: 1.8; }
  .nk-faq__intro {
    margin-bottom: 30px !important;
    font-size: 15px;
    line-height: 1.9 !important;
    text-align: left;
  }
  .nk-faq__nav {
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-bottom: 58px;
  }
  .nk-faq__nav a {
    min-height: 58px;
    padding: 11px 8px 16px;
    border-bottom: 1px solid var(--nk-faq-soft-line);
    font-size: 12px;
  }
  .nk-faq__nav a:nth-child(2n) { border-right: 0; }
  .nk-faq__nav a:nth-last-child(-n+2) { border-bottom: 0; }
  .nk-faq__nav a::after { bottom: 9px; }
  .nk-faq__section { margin-bottom: 68px; scroll-margin-top: 84px; }
  .entry-content .nk-faq__section-title,
  .nk-faq__section-title {
    margin-bottom: 22px !important;
    padding: 0 0 16px 42px;
    font-size: 25px !important;
    line-height: 1.5 !important;
  }
  .nk-faq__section-title::before { top: .45em; font-size: 10px; }
  .nk-faq__section-title::after { width: 36px; }
  .entry-content .nk-faq__subheading,
  .nk-faq__subheading { margin: 42px 0 12px !important; font-size: 18px !important; }
  .nk-faq__question {
    grid-template-columns: 32px minmax(0,1fr) 22px;
    gap: 10px;
    min-height: 70px;
    padding: 16px 4px 16px 0;
    font-size: 15px;
    line-height: 1.7;
  }
  .nk-faq__mark { width: 28px; height: 28px; font-size: 12px; }
  .nk-faq__toggle { width: 20px; height: 20px; }
  .nk-faq__toggle::before,
  .nk-faq__toggle::after { width: 13px; }
  .nk-faq__answer {
    gap: 10px;
    padding: 0 4px 22px 0;
  }
  .nk-faq__answer > .nk-faq__mark {
    flex-basis: 28px;
    margin-top: 20px;
  }
  .nk-faq__answer-body {
    width: 100%;
    min-width: 0;
    max-width: none;
    padding-top: 17px;
    font-size: 14.5px;
    line-height: 1.9;
  }
  .entry-content .nk-faq__answer-body p,
  .nk-faq__answer-body p { line-height: 1.9 !important; }
  .nk-faq__media { margin-top: 18px; border-width: 5px; box-shadow: 0 12px 28px rgba(7,26,45,.08); }
  .nk-faq__button { width: 100%; min-height: 48px; padding: 10px 16px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .nk-faq__nav a,
  .nk-faq__nav a::after,
  .nk-faq__question,
  .nk-faq__toggle::before,
  .nk-faq__toggle::after,
  .nk-faq__button { transition: none; }
}

/* Version 0.5.0: luxury anniversary option page */
.nk-anniversary {
  width: min(100%, 980px);
  margin-inline: auto;
  color: var(--nkl-text);
}
.nk-anniversary * { box-sizing: border-box; }
.nk-anniversary__intro {
  position: relative;
  padding: 8px 0 clamp(52px, 7vw, 82px);
  text-align: center;
}
.nk-anniversary__intro::after {
  content: "";
  display: block;
  width: 56px;
  height: 1px;
  margin: 32px auto 0;
  background: var(--nkl-gold);
}
.nk-anniversary__eyebrow {
  margin: 0 0 14px !important;
  color: var(--nkl-gold);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4 !important;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.nk-anniversary__lead {
  max-width: 760px;
  margin: 0 auto !important;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.8 !important;
  letter-spacing: .045em;
  text-wrap: balance;
}
.nk-anniversary__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 clamp(72px, 9vw, 112px);
  border-top: 1px solid rgba(184,151,85,.42);
  border-bottom: 1px solid rgba(184,151,85,.42);
  background: rgba(255,255,255,.48);
}
.nk-anniversary__nav a {
  position: relative;
  display: grid;
  min-height: 72px;
  place-items: center;
  padding: 14px 18px;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 16px;
  letter-spacing: .08em;
  text-align: center;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.nk-anniversary__nav a + a { border-left: 1px solid rgba(184,151,85,.28); }
.nk-anniversary__nav a::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 12px;
  width: 18px;
  height: 1px;
  transform: translateX(50%);
  background: var(--nkl-gold);
  transition: width .2s ease;
}
.nk-anniversary__nav a:hover,
.nk-anniversary__nav a:focus-visible { background: var(--nkl-ink); color: var(--nkl-white); }
.nk-anniversary__nav a:hover::after,
.nk-anniversary__nav a:focus-visible::after { width: 34px; background: var(--nkl-gold-light); }
.nk-anniversary__section {
  scroll-margin-top: 112px;
  padding: 0 0 clamp(88px, 10vw, 132px);
}
.nk-anniversary__section + .nk-anniversary__section {
  padding-top: clamp(72px, 9vw, 112px);
  border-top: 1px solid rgba(7,26,45,.12);
}
.nk-anniversary__heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px 28px;
  align-items: end;
  margin-bottom: clamp(38px, 5vw, 58px);
}
.nk-anniversary__number {
  color: var(--nkl-gold);
  font-family: var(--nkl-serif);
  font-size: 18px;
  line-height: 1;
  letter-spacing: .12em;
}
.nk-anniversary__heading-copy { min-width: 0; }
.nk-anniversary__heading-en {
  display: block;
  margin-bottom: 5px;
  color: var(--nkl-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.nk-anniversary__heading h2 {
  margin: 0 !important;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: clamp(30px, 4vw, 44px) !important;
  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: .06em;
}
.nk-anniversary__heading::after {
  content: "";
  grid-column: 1 / -1;
  height: 1px;
  background: linear-gradient(90deg, var(--nkl-gold), rgba(184,151,85,.15));
}
.nk-anniversary__cake-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-bottom: 38px;
}
.nk-anniversary__cake-card {
  margin: 0;
  padding: 14px 14px 20px;
  background: var(--nkl-white);
  border: 1px solid rgba(7,26,45,.09);
  box-shadow: 0 18px 48px rgba(7,26,45,.07);
}
.nk-anniversary__cake-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.nk-anniversary__cake-card figcaption {
  padding: 16px 8px 0;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 18px;
  letter-spacing: .06em;
  text-align: center;
}
.nk-anniversary__price-table {
  width: 100%;
  margin: 0 0 24px;
  border-collapse: collapse;
  border-top: 1px solid var(--nkl-border);
  font-size: 15px;
}
.nk-anniversary__price-table th,
.nk-anniversary__price-table td {
  padding: 17px 14px;
  border-bottom: 1px solid var(--nkl-border);
  text-align: left;
  vertical-align: middle;
}
.nk-anniversary__price-table th {
  width: 18%;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-weight: 500;
  white-space: nowrap;
}
.nk-anniversary__price-table td { color: var(--nkl-text); }
.nk-anniversary__notes {
  margin: 20px 0 0;
  padding: 24px 26px;
  border-left: 2px solid var(--nkl-gold);
  background: rgba(243,239,230,.72);
}
.nk-anniversary__notes p { margin: 0 !important; color: var(--nkl-muted); font-size: 14px; line-height: 1.9 !important; }
.nk-anniversary__notes p + p { margin-top: 5px !important; }
.nk-anniversary__notes strong { color: var(--nkl-ink); font-weight: 700; }
.nk-anniversary__product {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr);
  gap: clamp(38px, 6vw, 72px);
  align-items: center;
}
.nk-anniversary__product-copy { min-width: 0; }
.nk-anniversary__product-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--nkl-border);
}
.nk-anniversary__product-list li {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: baseline;
  padding: 18px 0;
  border-bottom: 1px solid var(--nkl-border);
}
.nk-anniversary__product-name {
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: 17px;
  line-height: 1.7;
}
.nk-anniversary__product-price {
  color: var(--nkl-gold);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.nk-anniversary__product-note {
  margin: 22px 0 0 !important;
  color: var(--nkl-muted);
  font-size: 14px;
}
.nk-anniversary__product-media {
  margin: 0;
  padding: clamp(14px, 2vw, 22px);
  background: var(--nkl-white);
  border: 1px solid rgba(7,26,45,.09);
  box-shadow: 0 20px 58px rgba(7,26,45,.08);
}
.nk-anniversary__product-media img {
  display: block;
  width: 100%;
  max-height: 620px;
  object-fit: contain;
  background: var(--nkl-white);
}
.nk-anniversary__sake-list {
  display: grid;
  gap: 34px;
}
.nk-anniversary__sake-item {
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(300px,1.18fr);
  gap: clamp(30px, 5vw, 60px);
  align-items: center;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--nkl-border);
}
.nk-anniversary__sake-item:last-child { padding-bottom: 0; border-bottom: 0; }
.nk-anniversary__sake-copy h3 {
  margin: 0 0 12px !important;
  color: var(--nkl-ink);
  font-family: var(--nkl-serif);
  font-size: clamp(21px, 2.7vw, 28px) !important;
  font-weight: 500;
  line-height: 1.6 !important;
}
.nk-anniversary__sake-copy p { margin: 0 !important; color: var(--nkl-gold); font-weight: 700; }
.nk-anniversary__sake-media {
  margin: 0;
  padding: 16px;
  background: var(--nkl-white);
  border: 1px solid rgba(7,26,45,.09);
  box-shadow: 0 18px 48px rgba(7,26,45,.07);
}
.nk-anniversary__sake-media img {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: contain;
}
.nk-anniversary__consult {
  position: relative;
  overflow: hidden;
  margin-top: 8px;
  padding: clamp(36px, 6vw, 62px);
  background: linear-gradient(135deg, var(--nkl-ink), #0e3450);
  color: var(--nkl-white);
  text-align: center;
  border: 1px solid rgba(216,192,138,.28);
  box-shadow: var(--nkl-shadow);
}
.nk-anniversary__consult::before {
  content: "ANNIVERSARY";
  position: absolute;
  right: -10px;
  bottom: -10px;
  color: rgba(216,192,138,.07);
  font-family: var(--nkl-serif);
  font-size: clamp(46px, 9vw, 98px);
  line-height: 1;
  letter-spacing: .08em;
  pointer-events: none;
}
.nk-anniversary__consult p {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  color: var(--nkl-white);
  font-family: var(--nkl-serif);
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.75 !important;
  letter-spacing: .06em;
}

@media (max-width: 767px) {
  .nk-anniversary__intro { padding-bottom: 44px; }
  .nk-anniversary__eyebrow { font-size: 9px; letter-spacing: .22em; }
  .nk-anniversary__lead { font-size: 21px; line-height: 1.85 !important; text-align: left; }
  .nk-anniversary__nav { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 70px; }
  .nk-anniversary__nav a { min-height: 62px; padding: 12px 10px; font-size: 14px; }
  .nk-anniversary__nav a + a { border-left: 0; }
  .nk-anniversary__nav a:nth-child(even) { border-left: 1px solid rgba(184,151,85,.28); }
  .nk-anniversary__nav a:nth-child(n+3) { border-top: 1px solid rgba(184,151,85,.28); }
  .nk-anniversary__section { scroll-margin-top: 84px; padding-bottom: 76px; }
  .nk-anniversary__section + .nk-anniversary__section { padding-top: 68px; }
  .nk-anniversary__heading { grid-template-columns: 1fr; gap: 9px; margin-bottom: 32px; }
  .nk-anniversary__number { font-size: 14px; }
  .nk-anniversary__heading h2 { font-size: 30px !important; }
  .nk-anniversary__cake-grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 30px; }
  .nk-anniversary__cake-card { padding: 8px 8px 14px; }
  .nk-anniversary__cake-card figcaption { padding-top: 10px; font-size: 15px; }
  .nk-anniversary__price-table,
  .nk-anniversary__price-table tbody,
  .nk-anniversary__price-table tr,
  .nk-anniversary__price-table th,
  .nk-anniversary__price-table td { display: block; width: 100%; }
  .nk-anniversary__price-table { border-top: 0; }
  .nk-anniversary__price-table tr { margin-bottom: 12px; padding: 16px 18px; background: rgba(255,255,255,.7); border: 1px solid var(--nkl-border); }
  .nk-anniversary__price-table th,
  .nk-anniversary__price-table td { padding: 0; border: 0; }
  .nk-anniversary__price-table th { margin-bottom: 8px; color: var(--nkl-gold); }
  .nk-anniversary__price-table td + td { margin-top: 4px; }
  .nk-anniversary__notes { padding: 20px; }
  .nk-anniversary__product,
  .nk-anniversary__sake-item { grid-template-columns: 1fr; gap: 28px; }
  .nk-anniversary__product-list li { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
  .nk-anniversary__product-price { white-space: normal; }
  .nk-anniversary__product-media { padding: 10px; }
  .nk-anniversary__product-media img { max-height: none; }
  .nk-anniversary__sake-list { gap: 42px; }
  .nk-anniversary__sake-item { padding-bottom: 42px; }
  .nk-anniversary__sake-media { padding: 10px; }
  .nk-anniversary__sake-media img { max-height: none; }
  .nk-anniversary__consult { padding: 34px 22px; text-align: left; }
  .nk-anniversary__consult p { font-size: 20px; }
}

/* Version 0.5.1: editable access/bath/cuisine page content */
.nkl-editable-page-content{min-width:0}
.nkl-editable-page-content iframe{display:block;max-width:100%;margin:32px auto;border:0}
.nkl-editable-page-content .wp-block-embed,
.nkl-editable-page-content .wp-block-image,
.nkl-editable-page-content .wp-block-gallery{max-width:1100px;margin-left:auto;margin-right:auto}
.nkl-editable-page-content>p,
.nkl-editable-page-content>h2,
.nkl-editable-page-content>h3,
.nkl-editable-page-content>h4,
.nkl-editable-page-content>ul,
.nkl-editable-page-content>ol,
.nkl-editable-page-content>blockquote{max-width:840px;margin-left:auto;margin-right:auto}
.nkl-cuisine-intro-editor-content>h2:first-child{margin-top:0}
.nkl-cuisine-info-editor-content>.nkl-cuisine-info-eyebrow{max-width:840px;margin:0 auto 12px;text-align:center}
.nkl-cuisine-info-editor-content>h2{max-width:840px;margin:0 auto 42px;text-align:center}
.nkl-cuisine-info-editor-content>.info-grid{margin-top:0}
@media (max-width:767px){
  .nkl-editable-page-content iframe{margin:22px auto}
  .nkl-cuisine-info-editor-content>h2{margin-bottom:26px}
}


/* 0.6.1: translated hotel brand + always-accessible header language menu */
.nkl-language-menu{position:relative;display:flex;align-self:stretch;color:var(--nkl-white)}
.nkl-language-menu__summary{display:flex;align-items:center;justify-content:center;gap:7px;min-width:84px;height:100%;padding:0 12px;list-style:none;border-inline:1px solid rgba(255,255,255,.10);cursor:pointer;user-select:none}
.nkl-language-menu__summary::-webkit-details-marker{display:none}
.nkl-language-menu__summary:hover,.nkl-language-menu__summary:focus-visible{background:rgba(255,255,255,.06);outline:none}
.nkl-language-menu__caption{font-size:9px;letter-spacing:.12em;opacity:.7}
.nkl-language-menu__current{color:var(--nkl-gold-light);font-size:11px;font-weight:700;letter-spacing:.08em}
.nkl-language-menu__chevron{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.nkl-language-menu[open] .nkl-language-menu__chevron{transform:translateY(2px) rotate(225deg)}
.nkl-language-menu__panel{position:absolute;z-index:1200;top:calc(100% - 1px);right:0;width:210px;padding:8px;background:var(--nkl-white);border:1px solid var(--nkl-border);box-shadow:0 20px 55px rgba(7,26,45,.22)}
.nkl-language-menu__link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;color:var(--nkl-ink);text-decoration:none;font-size:13px;line-height:1.35}
.nkl-language-menu__link small{color:var(--nkl-muted);font-size:10px;font-weight:700;letter-spacing:.08em}
.nkl-language-menu__link:hover,.nkl-language-menu__link:focus-visible{background:var(--nkl-ivory);outline:none}
.nkl-language-menu__link.is-current{color:var(--nkl-gold);font-weight:700}
.nkl-language-switcher{display:flex;align-items:center;justify-content:center;gap:0;font-family:var(--font-sans,system-ui,sans-serif);font-size:11px;line-height:1;letter-spacing:.08em;white-space:nowrap}
.nkl-language-switcher__link{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:36px;padding:0 8px;color:inherit;text-decoration:none;border-left:1px solid rgba(184,151,85,.28);opacity:.68}
.nkl-language-switcher__link:first-child{border-left:0}.nkl-language-switcher__link:hover,.nkl-language-switcher__link:focus-visible,.nkl-language-switcher__link.is-current{opacity:1}.nkl-language-switcher__link.is-current{color:var(--nkl-gold);font-weight:700}
.mobile-menu-panel .nkl-language-switcher{margin:18px 0 4px;color:var(--nkl-ink)}
.nkl-lang-en .site-title__main{max-width:270px;font-size:18px;letter-spacing:.035em}
.nkl-lang-zh-cn .site-title__main,.nkl-lang-zh-tw .site-title__main,.nkl-lang-ko .site-title__main{max-width:240px;font-size:20px;letter-spacing:.04em}
@media(max-width:1180px){
  .nkl-language-menu__summary{min-width:58px;padding-inline:9px}
  .nkl-language-menu__caption{display:none}
}
@media(max-width:960px){
  .nkl-language-menu{display:flex}
  .nkl-language-menu__summary{min-width:48px;padding-inline:7px;border-left:1px solid rgba(255,255,255,.10);border-right:0}
  .nkl-language-menu__panel{position:fixed;top:70px;right:8px;width:min(230px,calc(100vw - 16px))}
  .nkl-lang-en .site-title__main{max-width:180px;font-size:15px;line-height:1.2}
  .nkl-lang-zh-cn .site-title__main,.nkl-lang-zh-tw .site-title__main,.nkl-lang-ko .site-title__main{max-width:175px;font-size:17px;line-height:1.2}
}
@media(max-width:767px){
  .nkl-language-menu__summary{min-width:42px;padding-inline:6px}
  .nkl-language-menu__panel{top:64px;right:6px}
  .nkl-language-menu__current{font-size:10px}
  .nkl-lang-en .site-title__main{max-width:125px;font-size:12px;letter-spacing:.01em}
  .nkl-lang-zh-cn .site-title__main,.nkl-lang-zh-tw .site-title__main,.nkl-lang-ko .site-title__main{max-width:125px;font-size:14px;letter-spacing:.015em}
  .nkl-lang-en .site-title__sub,.nkl-lang-zh-cn .site-title__sub,.nkl-lang-zh-tw .site-title__sub,.nkl-lang-ko .site-title__sub{display:none}
}
@media(max-width:360px){
  .header-booking{min-width:74px;padding-inline:6px}
  .menu-toggle{width:54px}
  .nkl-lang-en .site-title__main,.nkl-lang-zh-cn .site-title__main,.nkl-lang-zh-tw .site-title__main,.nkl-lang-ko .site-title__main{max-width:105px}
}
@media(max-width:360px){
  .site-title__main{max-width:110px;font-size:16px;letter-spacing:.04em}
  .site-title__sub{display:none}
  .custom-logo{max-width:105px}
}

/* 0.6.9: keep the language chooser unobstructed by the OPTIMA sticky search on every viewport. */
html.language-is-open .koc-optima-search {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Mobile drawer still hides the search bar while the drawer is open. */
@media (max-width: 960px) {
  html.menu-is-open .koc-optima-search {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Slightly larger fixed utility navigation for easier thumb operation. */
  .mobile-utility-nav {
    min-height: 68px;
  }
  .mobile-utility-nav a {
    min-height: 68px;
  }
}

@media (max-width: 380px) {
  .mobile-utility-nav {
    min-height: 64px;
  }
  .mobile-utility-nav a {
    min-height: 64px;
  }
}
