/* Kiratt Bihaku Whitening LP v1.0.0. All rules are scoped to .kmw. */
.kmw {
  --kmw-blue:#087ca6; --kmw-deep:#095879; --kmw-aqua:#39bcdd;
  --kmw-ink:#253d47; --kmw-muted:#586d75; --kmw-line:#d5e5ea; --kmw-light:#f2fafe;
  --kmw-nav-top:0px; --kmw-anchor-offset:150px;
  width:100%; margin:0; padding:0; min-height:0; color:var(--kmw-ink); background:#fff;
  font-family:"noto-sans-cjk-jp",sans-serif; font-size:16px; font-weight:400;
  line-height:1.9; letter-spacing:.025em; font-feature-settings:"palt";
  -webkit-font-feature-settings:"palt"; overflow-wrap:anywhere; isolation:isolate;
}
.kmw *, .kmw *::before, .kmw *::after { box-sizing:border-box; }
.kmw :where(h1,h2,h3,p,figure,dl,dd,ul,ol) { margin:0; padding:0; }
.kmw :where(h1,h2,h3) { font-family:inherit; color:var(--kmw-ink); border:0; background:none; line-height:1.65; letter-spacing:.04em; }
.kmw :where(h1,h2,h3)::before, .kmw :where(h1,h2,h3)::after { display:none; }
.kmw a { color:inherit; text-decoration:none; font-family:inherit; }
.kmw button { font-family:inherit; }
.kmw img { display:block; width:100%; height:auto; max-width:100%; border:0; }
.kmw :is(a,summary,button):focus-visible { outline:3px solid var(--kmw-deep); outline-offset:5px; }
.kmw [hidden] { display:none !important; }
.kmw [id] { scroll-margin-top:var(--kmw-anchor-offset); }
.kmw .kmw-wrap { width:min(1120px,calc(100% - 96px)); margin-inline:auto; }
.kmw .kmw-section { padding-block:106px; }
.kmw .kmw-eyebrow { color:var(--kmw-blue); font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.16em; }
.kmw .kmw-eyebrow > span { font-size:30px; font-weight:400; letter-spacing:0; margin-right:15px; vertical-align:-3px; }
.kmw .kmw-overline { color:var(--kmw-blue); font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.1em; }
.kmw .kmw-note { color:var(--kmw-muted); font-size:12px; line-height:1.85; }
.kmw .kmw-body-copy { color:var(--kmw-muted); font-size:15px; line-height:2.1; }
.kmw .kmw-body-copy + .kmw-body-copy { margin-top:18px; }
.kmw .kmw-center { text-align:center; }
.kmw .kmw-down { display:inline-block; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-top:-4px; flex-shrink:0; }
.kmw .kmw-text-link { display:inline-flex; align-items:center; gap:18px; padding:8px 0; border-bottom:1px solid #82bdcf; color:var(--kmw-blue); font-size:13px; line-height:1.7; transition:color .25s; }
.kmw .kmw-text-link:hover { color:var(--kmw-deep); }
.kmw .kmw-text-link > span { transition:transform .3s; }
.kmw .kmw-text-link:hover > span:not(.kmw-down) { transform:translateX(4px); }
.kmw .kmw-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:58px; max-width:100%; padding:16px 26px; border:1px solid #2794b5; border-radius:3px; background:#fff; color:var(--kmw-blue); font-size:14px; font-weight:500; line-height:1.65; text-align:center; transition:background .3s,transform .3s,box-shadow .3s; }
.kmw .kmw-button > span { display:inline-block; transition:transform .3s; }
.kmw .kmw-button:hover { background:#eef9fc; box-shadow:0 9px 24px #15758b18; transform:translateY(-3px); }
.kmw .kmw-button:hover > span { transform:translateX(4px); }
.kmw .kmw-button-reserve { border-color:transparent; background:linear-gradient(105deg,#f27383,#f39f80); color:#fff; font-weight:600; }
.kmw .kmw-button-reserve:hover { background:linear-gradient(105deg,#ef6375,#ed9473); box-shadow:0 9px 24px #d8738228; }
.kmw .kmw-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; padding-block:21px; color:var(--kmw-muted); font-size:11px; line-height:1.8; }
.kmw .kmw-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }

/* Immersive campaign hero. Shared theme header/footer are not recreated. */
.kmw .kmw-hero { position:relative; width:min(1440px,calc(100% - 48px)); margin-inline:auto; overflow:hidden; background:#e9f6fe; border-radius:4px 4px 72px 4px; }
.kmw .kmw-hero-art, .kmw .kmw-hero-wash { position:absolute; inset:0; }
.kmw .kmw-hero-image { width:100%; height:100%; object-fit:cover; object-position:center 43%; transform:scale(1.025); transform-origin:75% 45%; }
.kmw .kmw-hero-wash { background:linear-gradient(90deg,rgba(244,251,255,.94),rgba(243,251,255,.55) 33%,rgba(243,251,255,0) 59%); pointer-events:none; }
.kmw .kmw-hero-light { position:absolute; width:330px; height:330px; left:-160px; top:-180px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.8),rgba(255,255,255,0) 70%); pointer-events:none; }
.kmw .kmw-hero-inner { width:min(1120px,calc(100% - 112px)); min-height:642px; margin-inline:auto; display:flex; align-items:center; padding:46px 0 52px; }
.kmw .kmw-hero-copy { position:relative; width:54%; z-index:1; }
.kmw .kmw-hero h1 { margin-top:13px; font-weight:500; letter-spacing:.025em; }
.kmw .kmw-hero-name { display:block; font-size:19px; line-height:1.6; letter-spacing:.08em; }
.kmw .kmw-hero-catch { display:block; margin-top:20px; font-size:49px; font-weight:500; line-height:1.65; letter-spacing:.025em; white-space:nowrap; }
.kmw .kmw-hero-catch em { font-style:normal; color:var(--kmw-blue); }
.kmw .kmw-hero-description { margin-top:20px; font-size:14px; line-height:1.95; color:#3c5965; }
.kmw .kmw-hero-price { display:flex; align-items:baseline; gap:20px; margin-top:24px; }
.kmw .kmw-hero-price > span { font-size:13px; }
.kmw .kmw-hero-price p { color:var(--kmw-deep); line-height:1.2; white-space:nowrap; }
.kmw .kmw-hero-price strong { font-size:37px; font-weight:400; letter-spacing:.015em; }
.kmw .kmw-hero-price p > span { font-size:15px; margin-left:7px; }
.kmw .kmw-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px 25px; margin-top:22px; }
.kmw .kmw-hero-actions .kmw-button { min-width:252px; flex-shrink:0; white-space:nowrap; }
.kmw .kmw-hero-actions .kmw-text-link { width:100px; flex-shrink:0; white-space:nowrap; }
.kmw .kmw-hero-note { margin-top:13px; font-size:11px; }
.kmw .kmw-hero-sign { position:absolute; right:8%; bottom:72px; color:white; text-shadow:0 2px 18px #48748466; transform:rotate(-5deg); line-height:1.2; pointer-events:none; }
.kmw .kmw-hero-sign span { display:block; font-size:23px; letter-spacing:.025em; }
.kmw .kmw-hero-sign strong { font-size:35px; letter-spacing:.03em; font-weight:400; }
.kmw .kmw-scroll { position:absolute; bottom:32px; right:39px; display:flex; align-items:center; gap:12px; font-size:9px; letter-spacing:.12em; color:var(--kmw-deep); white-space:nowrap; }
.kmw .kmw-scroll > span, .kmw .kmw-scroll > i { flex-shrink:0; }
.kmw .kmw-scroll i { position:relative; display:block; width:48px; height:1px; background:#7da9b9; overflow:hidden; }
.kmw .kmw-scroll i::after { content:""; position:absolute; left:0; top:0; width:20px; height:1px; background:var(--kmw-deep); }
.kmw .kmw-facts { display:grid; grid-template-columns:repeat(3,1fr); padding-block:30px; }
.kmw .kmw-facts > div { padding-inline:24px; text-align:center; }
.kmw .kmw-facts > div + div { border-left:1px solid var(--kmw-line); }
.kmw .kmw-facts > div > span { display:block; font-size:12px; color:var(--kmw-muted); }
.kmw .kmw-facts p { margin-block:5px 4px; font-size:15px; line-height:1.6; color:var(--kmw-blue); white-space:nowrap; }
.kmw .kmw-facts strong { font-size:25px; font-weight:500; }
.kmw .kmw-facts strong.kmw-facts-text { font-size:20px; }
.kmw .kmw-facts small { font-size:11px; color:var(--kmw-muted); }

/* Section navigation uses only this page's own sticky element. */
.kmw .kmw-local-nav { position:sticky; top:var(--kmw-nav-top); z-index:20; background:rgba(255,255,255,.97); border-top:1px solid var(--kmw-line); border-bottom:1px solid var(--kmw-line); backdrop-filter:blur(12px); }
.kmw .kmw-nav-links { display:grid; grid-template-columns:repeat(6,1fr); padding-block:12px; }
.kmw .kmw-local-nav a { position:relative; display:flex; align-items:center; justify-content:center; gap:13px; min-height:38px; padding-inline:9px; color:var(--kmw-blue); font-size:13px; text-align:center; }
.kmw .kmw-local-nav a + a { border-left:1px solid var(--kmw-line); }
.kmw .kmw-local-nav a:hover, .kmw .kmw-local-nav a[aria-current="location"] { color:var(--kmw-deep); background:#eff9fc; }
.kmw .kmw-reading-track { position:absolute; bottom:-1px; left:0; right:0; height:2px; overflow:hidden; }
.kmw .kmw-reading-track > span { display:block; height:100%; background:var(--kmw-aqua); transform:scaleX(var(--kmw-progress,0)); transform-origin:left; }

/* Photo-led story and alternating feature compositions. */
.kmw .kmw-intro { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; padding-top:112px; padding-bottom:100px; }
.kmw .kmw-intro-visual { position:relative; min-width:0; }
.kmw .kmw-intro-photo { position:relative; overflow:hidden; height:570px; border-radius:46% 46% 4px 4px; z-index:1; }
.kmw .kmw-intro-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 42%; }
.kmw .kmw-parallax { transform:translate3d(0,var(--kmw-shift,0px),0) scale(1.06); transform-origin:center; }
.kmw .kmw-photo-caption { position:absolute; left:-22px; bottom:28px; z-index:2; padding:8px 18px; background:#fffffff0; color:var(--kmw-blue); font-size:20px; letter-spacing:.04em; transform:rotate(-5deg); }
.kmw .kmw-orbit { position:absolute; left:-28px; right:28px; top:28px; bottom:-28px; border:1px solid #b7dfea; border-radius:46% 46% 4px 4px; z-index:0; }
.kmw .kmw-intro h2 { font-size:33px; line-height:1.85; font-weight:500; margin-block:22px 28px; letter-spacing:.04em; }
.kmw .kmw-wishes { list-style:none; margin-top:25px; }
.kmw .kmw-wishes li { display:flex; align-items:flex-start; gap:14px; padding-block:12px; border-bottom:1px solid var(--kmw-line); font-size:14px; line-height:1.8; }
.kmw .kmw-check { display:inline-block; width:7px; height:13px; border-right:2px solid var(--kmw-aqua); border-bottom:2px solid var(--kmw-aqua); transform:rotate(45deg); margin:3px 4px 0 2px; flex-shrink:0; }
.kmw .kmw-intro-copy > .kmw-text-link { margin-top:23px; }
.kmw .kmw-marquee { width:100%; overflow:hidden; background:#fff; padding-block:20px 36px; user-select:none; }
.kmw .kmw-marquee-track { display:flex; width:max-content; color:#cee9f0; font-size:62px; font-weight:400; line-height:1.35; letter-spacing:.055em; white-space:nowrap; }
.kmw .kmw-marquee-track > span { display:block; flex:0 0 auto; padding-right:44px; }
.kmw .kmw-marquee-track i { font-style:normal; color:#97d8e7; padding-inline:16px; }
.kmw .kmw-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:48px; }
.kmw .kmw-section-head h2 { font-size:32px; font-weight:500; margin-top:16px; line-height:1.8; }
.kmw .kmw-section-head > p { font-size:14px; color:var(--kmw-muted); line-height:2; flex-shrink:0; padding-bottom:4px; }
.kmw .kmw-features { background:linear-gradient(135deg,#f2fafe,#f8fcfd); }
.kmw .kmw-feature-row { display:grid; grid-template-columns:1.12fr 1fr; gap:70px; align-items:center; margin-top:54px; }
.kmw .kmw-feature-row + .kmw-feature-row { margin-top:86px; }
.kmw .kmw-feature-photo { position:relative; height:390px; overflow:hidden; border-radius:4px 4px 60px 4px; min-width:0; }
.kmw .kmw-feature-photo img { width:100%; height:100%; object-fit:cover; }
.kmw .kmw-crystal-photo img { object-position:54% center; }
.kmw .kmw-image-word { position:absolute; left:30px; top:20px; font-size:40px; color:white; font-weight:400; text-shadow:0 2px 20px #538d9b30; }
.kmw .kmw-feature-row-reverse { grid-template-columns:1fr 1.12fr; }
.kmw .kmw-feature-row-reverse .kmw-feature-photo { grid-column:2; grid-row:1; border-radius:60px 4px 4px 4px; }
.kmw .kmw-feature-row-reverse .kmw-feature-copy { grid-column:1; grid-row:1; }
.kmw .kmw-salon-photo img { object-position:43% center; }
.kmw .kmw-salon-photo figcaption { position:absolute; left:18px; bottom:17px; padding:3px 11px; background:#ffffffed; font-size:11px; color:#365967; }
.kmw .kmw-feature-label { display:flex; gap:18px; align-items:center; color:var(--kmw-blue); font-size:11px; letter-spacing:.1em; }
.kmw .kmw-feature-label > span { font-size:46px; line-height:1; letter-spacing:0; font-weight:400; color:#8ecbdb; }
.kmw .kmw-feature-copy h3 { font-size:27px; font-weight:500; line-height:1.85; margin:23px 0 22px; }
.kmw .kmw-feature-tag { display:inline-block; padding:10px 16px; margin-top:23px; background:#fff; border-left:2px solid var(--kmw-aqua); color:var(--kmw-deep); font-size:13px; }
.kmw .kmw-feature-copy .kmw-text-link { margin-top:22px; }
/* Case images preserve the original clinical photographs without cropping. */
.kmw .kmw-case-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 36px; }
.kmw .kmw-case { min-width: 0; border: 1px solid var(--kmw-line); border-radius: 4px; padding: 24px; }
.kmw .kmw-case-title { padding-bottom: 22px; }
.kmw .kmw-case h3 { font-size: 19px; font-weight: 500; margin-top: 8px; letter-spacing: .02em; }
.kmw .kmw-case figure img { width: 100%; height: auto; object-fit: contain; }
.kmw .kmw-case-note { margin: 20px 0 28px; }

/* Plan details are collapsed by default. */
.kmw .kmw-pricing { background: linear-gradient(125deg,#eaf6fb,#f1fbfb); }
.kmw .kmw-price-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 85px; align-items: start; }
.kmw .kmw-price-intro { padding-top: 20px; }
.kmw .kmw-price-intro h2 { margin-block: 20px 25px; font-size: 35px; font-weight: 500; line-height: 1.8; }
.kmw .kmw-price-intro .kmw-text-link { margin-top: 22px; }
.kmw .kmw-price-card { padding: 35px 38px; border: 1px solid #c5e3ec; border-radius: 4px; background: #fff; box-shadow: 0 10px 35px #0d739407; min-width: 0; }
.kmw .kmw-price-card h3 { font-size: 22px; font-weight: 500; margin-top: 10px; letter-spacing: .025em; }
.kmw .kmw-price-main { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-top: 28px; }
.kmw .kmw-price-main > span { font-size: 16px; }
.kmw .kmw-price-main p { color: var(--kmw-blue); line-height: 1.2; white-space: nowrap; }
.kmw .kmw-price-main strong { font-size: 56px; font-weight: 400; letter-spacing: 0; }
.kmw .kmw-price-main p > span { margin-left: 8px; font-size: 17px; }
.kmw .kmw-price-duration { margin-block: 18px 10px; padding-block: 13px; border-block: 1px solid var(--kmw-line); font-size: 13px; }
.kmw .kmw-price-duration strong { font-weight: 500; }
.kmw .kmw-price-duration > span { display: block; font-size: 11px; color: var(--kmw-muted); margin-top: 3px; }
.kmw .kmw-details { margin: 0; }
.kmw .kmw-details summary { display: flex; align-items: center; gap: 14px; padding-block: 20px; list-style: none; cursor: pointer; font-size: 14px; line-height: 1.75; }
.kmw .kmw-details summary::-webkit-details-marker { display: none; }
.kmw .kmw-details summary::marker { content: ""; }
.kmw .kmw-details summary:hover { color: var(--kmw-blue); }
.kmw .kmw-plus { position: relative; display: block; width: 16px; height: 16px; margin-left: auto; flex-shrink: 0; color: var(--kmw-blue); }
.kmw .kmw-plus::before, .kmw .kmw-plus::after { content: ""; position: absolute; display: block; background: currentColor; }
.kmw .kmw-plus::before { top: 7px; left: 0; width: 16px; height: 1px; }
.kmw .kmw-plus::after { top: 0; left: 7px; width: 1px; height: 16px; }
.kmw .kmw-details[open] > summary .kmw-plus::after { display: none; }
.kmw .kmw-details:not([open]) > .kmw-details-body { display: none; }
.kmw .kmw-details-body { font-size: 14px; line-height: 1.95; color: var(--kmw-muted); }
.kmw .kmw-price-details { border-block: 1px solid var(--kmw-line); margin-top: 20px; }
.kmw .kmw-price-table > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-block: 16px; border-top: 1px solid #e1ecef; }
.kmw .kmw-price-table dt { font-size: 14px; color: var(--kmw-ink); }
.kmw .kmw-price-table dt small { display: block; font-size: 11px; color: var(--kmw-muted); margin-top: 3px; }
.kmw .kmw-price-table dd { font-size: 24px; color: var(--kmw-blue); white-space: nowrap; }
.kmw .kmw-price-table dd span { font-size: 12px; margin-left: 5px; }
.kmw .kmw-secret { margin-block: 15px 24px; padding: 20px 22px; background: var(--kmw-light); border-left: 3px solid var(--kmw-aqua); border-radius: 0 4px 4px 0; }
.kmw .kmw-secret-title { color: var(--kmw-deep); font-size: 18px; line-height: 1.75; }
.kmw .kmw-secret-title strong { font-weight: 600; }
.kmw .kmw-secret > p + p { font-size: 14px; line-height: 1.95; margin-top: 12px; }
.kmw .kmw-price-book { width: 100%; margin-top: 24px; }

/* Visit flow and FAQ. */
.kmw .kmw-flow-intro { font-size: 14px; color: var(--kmw-muted); margin-top: -15px; margin-bottom: 32px; }
.kmw .kmw-flow-grid { list-style: none; display: grid; grid-template-columns: repeat(2,1fr); gap: 44px 36px; }
.kmw .kmw-flow-grid > li { border-top: 2px solid #85c8db; padding-top: 20px; min-width: 0; }
.kmw .kmw-step { color: var(--kmw-blue); font-size: 11px; letter-spacing: .13em; line-height: 1.5; }
.kmw .kmw-step span { font-size: 29px; letter-spacing: .01em; margin-left: 6px; }
.kmw .kmw-flow-grid h3 { font-size: 18px; font-weight: 500; margin-block: 16px 13px; letter-spacing: .01em; }
.kmw .kmw-flow-grid > li > p:last-child { font-size: 14px; line-height: 1.95; color: var(--kmw-muted); }
.kmw .kmw-faq-section { padding-block: 75px; background: #f5fafc; }
.kmw .kmw-faq-layout { display: grid; grid-template-columns: 1fr 1.9fr; gap: 60px; }
.kmw .kmw-faq-intro h2 { font-size: 28px; font-weight: 500; margin-block: 18px; }
.kmw .kmw-faq-intro .kmw-text-link { font-size: 12px; gap: 12px; }
.kmw .kmw-faq-list > .kmw-details { border-bottom: 1px solid var(--kmw-line); }
.kmw .kmw-faq-list > .kmw-details > summary { align-items: flex-start; padding-block: 22px; }
.kmw .kmw-q { flex-shrink: 0; color: var(--kmw-blue); font-size: 20px; font-weight: 400; line-height: 1.35; }
.kmw .kmw-faq-list .kmw-plus { margin-top: 5px; }
.kmw .kmw-faq-list .kmw-details-body { padding: 0 24px 23px 38px; }
.kmw .kmw-faq-list .kmw-details-body .kmw-text-link { margin-top: 12px; }
.kmw .kmw-reservation { text-align: center; padding-block: 76px 56px; background: linear-gradient(125deg,#e6f5fb,#f1fbfb); }
.kmw .kmw-reservation h2 { margin-top: 20px; font-size: 35px; font-weight: 500; letter-spacing: .1em; line-height: 1.75; }
.kmw .kmw-reservation h2 + p { font-size: 15px; color: var(--kmw-muted); margin-top: 19px; }
.kmw .kmw-reservation-actions { display: flex; justify-content: center; gap: 20px; margin-block: 30px 15px; }
.kmw .kmw-reservation-actions .kmw-button { width: 305px; min-height: 60px; }
.kmw .kmw-back-link { display: inline-block; margin-top: 32px; font-size: 12px; color: var(--kmw-blue); text-decoration: underline; text-underline-offset: 5px; }


/* LP refinements for factual information and the closing campaign panel. */
.kmw .kmw-case { border-radius:4px 4px 36px 4px; background:#fff; padding:28px; }
.kmw .kmw-case-title { padding-bottom:24px; }
.kmw .kmw-case-grid { gap:44px; }
.kmw .kmw-pricing { background:linear-gradient(125deg,#e7f5fb,#f2fbfb); }
.kmw .kmw-price-intro h2 { font-size:39px; }
.kmw .kmw-price-intro::after { content:"✧"; display:block; margin-top:26px; font-size:100px; line-height:1; color:#b7dfe9; }
.kmw .kmw-price-card { border-radius:4px 4px 46px 4px; padding:40px; box-shadow:0 16px 50px #0d73940c; }
.kmw .kmw-price-card h3 { font-size:21px; }
.kmw .kmw-price-main strong { font-size:60px; }
.kmw .kmw-price-book { white-space:nowrap; }
.kmw .kmw-details > summary .kmw-plus::after { transition:transform .25s; }
.kmw .kmw-details[open] > summary .kmw-plus::after { display:block; transform:rotate(90deg); }
.kmw .kmw-flow-grid { gap:44px 36px; }
.kmw .kmw-flow-grid > li { position:relative; }
.kmw .kmw-faq-section { padding-block:90px; }
.kmw .kmw-reservation { text-align:left; padding-block:76px; background:linear-gradient(125deg,#e5f5fb,#f3fbfb); }
.kmw .kmw-reserve-grid { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:82px; }
.kmw .kmw-reserve-photo { height:440px; border-radius:48% 48% 4px 4px; overflow:hidden; }
.kmw .kmw-reserve-photo img { height:100%; width:100%; object-fit:cover; object-position:center 25%; }
.kmw .kmw-reservation h2 { font-size:33px; font-weight:500; letter-spacing:.035em; line-height:1.85; margin-top:20px; }
.kmw .kmw-reservation h2 + p { font-size:14px; color:var(--kmw-muted); margin-top:20px; }
.kmw .kmw-reservation-actions { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:12px; margin:28px 0 14px; width:100%; max-width:360px; }
.kmw .kmw-reservation-actions .kmw-button { width:100%; min-height:58px; white-space:nowrap; }
.kmw .kmw-back-link { margin-top:27px; }

/* Motion is opt-in via the JS enhancement class; base content always stays visible. */
.kmw.kmw-motion .kmw-hero-image { animation:kmw-hero-breathe 13s ease-in-out infinite alternate; }
.kmw.kmw-motion .kmw-hero-light { animation:kmw-light-drift 14s ease-in-out infinite alternate; }
.kmw.kmw-motion .kmw-marquee-track { animation:kmw-marquee-drift 48s linear infinite; }
.kmw.kmw-motion .kmw-scroll i::after { animation:kmw-scroll-line 2s ease-in-out infinite; }
.kmw.kmw-motion .kmw-details[open] .kmw-details-body { animation:kmw-details-in .28s ease-out; }
@keyframes kmw-hero-breathe { from { transform:scale(1.025); } to { transform:scale(1.085); } }
@keyframes kmw-light-drift { from { transform:translate(0,0) scale(1); opacity:.6; } to { transform:translate(220px,100px) scale(1.7); opacity:1; } }
@keyframes kmw-marquee-drift { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes kmw-scroll-line { from { transform:translateX(-24px); } to { transform:translateX(58px); } }
@keyframes kmw-details-in { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }

@media (min-width:1440px) {
  .kmw .kmw-hero-inner { min-height:680px; }
  .kmw .kmw-hero-catch { font-size:53px; }
}
@media (max-width:1100px) {
  .kmw .kmw-wrap { width:calc(100% - 64px); }
  .kmw .kmw-hero-inner { width:calc(100% - 80px); min-height:600px; }
  .kmw .kmw-hero-copy { width:57%; }
  .kmw .kmw-hero-catch { font-size:41px; }
  .kmw .kmw-hero-name { font-size:17px; }
  .kmw .kmw-hero-sign { right:6%; }
  .kmw .kmw-intro { gap:56px; }
  .kmw .kmw-intro-photo { height:520px; }
  .kmw .kmw-intro h2 { font-size:29px; }
  .kmw .kmw-section-head h2 { font-size:29px; }
  .kmw .kmw-feature-row { gap:45px; }
  .kmw .kmw-feature-copy h3 { font-size:24px; }
  .kmw .kmw-feature-photo { height:365px; }
  .kmw .kmw-price-layout { gap:48px; }
  .kmw .kmw-price-card { padding:32px; }
  .kmw .kmw-price-main strong { font-size:52px; }
  .kmw .kmw-reserve-grid { gap:50px; }
  .kmw .kmw-reservation h2 { font-size:29px; }
  .kmw .kmw-local-nav a { font-size:12px; gap:8px; }
}
@media (max-width:850px) {
  .kmw .kmw-section { padding-block:80px; }
  .kmw .kmw-wrap { width:calc(100% - 48px); }
  .kmw .kmw-hero { width:calc(100% - 32px); }
  .kmw .kmw-hero-inner { width:calc(100% - 56px); min-height:570px; }
  .kmw .kmw-hero-catch { font-size:34px; }
  .kmw .kmw-hero-name { font-size:15px; }
  .kmw .kmw-hero-copy { width:58%; }
  .kmw .kmw-hero-description { font-size:13px; }
  .kmw .kmw-hero-actions { gap:10px 20px; }
  .kmw .kmw-hero-actions .kmw-button { min-width:248px; }
  .kmw .kmw-hero-sign strong { font-size:27px; }
  .kmw .kmw-hero-sign span { font-size:18px; }
  .kmw .kmw-facts > div { padding-inline:12px; }
  .kmw .kmw-facts strong.kmw-facts-text { font-size:17px; }
  .kmw .kmw-nav-links { width:calc(100% - 24px); }
  .kmw .kmw-local-nav a { padding-inline:5px; gap:7px; font-size:11px; }
  .kmw .kmw-intro { gap:40px; }
  .kmw .kmw-intro h2 { font-size:24px; }
  .kmw .kmw-intro-photo { height:480px; }
  .kmw .kmw-body-copy { font-size:14px; }
  .kmw .kmw-wishes li { font-size:13px; }
  .kmw .kmw-photo-caption { font-size:17px; left:-10px; }
  .kmw .kmw-section-head h2 { font-size:26px; }
  .kmw .kmw-section-head > p { font-size:12px; }
  .kmw .kmw-feature-row { gap:34px; }
  .kmw .kmw-feature-copy h3 { font-size:22px; }
  .kmw .kmw-feature-photo { height:370px; }
  .kmw .kmw-feature-tag { font-size:11px; padding-inline:12px; }
  .kmw .kmw-case-grid { gap:24px; }
  .kmw .kmw-case { padding:20px; }
  .kmw .kmw-case h3 { font-size:17px; }
  .kmw .kmw-case h3 span { display:block; }
  .kmw .kmw-price-layout { grid-template-columns:.75fr 1.25fr; gap:35px; }
  .kmw .kmw-price-intro h2 { font-size:29px; }
  .kmw .kmw-price-card { padding:27px; }
  .kmw .kmw-price-card h3 { font-size:18px; }
  .kmw .kmw-price-main { gap:14px; }
  .kmw .kmw-price-main strong { font-size:46px; }
  .kmw .kmw-price-main > span { font-size:13px; }
  .kmw .kmw-flow-grid { grid-template-columns:repeat(2,1fr); gap:32px; }
  .kmw .kmw-faq-layout { gap:32px; }
  .kmw .kmw-faq-intro h2 { font-size:24px; }
  .kmw .kmw-reserve-grid { gap:35px; }
  .kmw .kmw-reservation h2 { font-size:24px; }
  .kmw .kmw-reserve-photo { height:395px; }
}
@media (max-width:640px) {
  .kmw .kmw-wrap { width:calc(100% - 40px); }
  .kmw .kmw-section { padding-block:64px; }
  .kmw .kmw-breadcrumb { font-size:10px; padding-block:15px; gap:4px 7px; }
  .kmw .kmw-hero { width:calc(100% - 24px); border-radius:3px 3px 42px 3px; background:#f0f9fe; }
  .kmw .kmw-hero-art { bottom:auto; height:385px; }
  .kmw .kmw-hero-image { object-position:84% 38%; }
  .kmw .kmw-hero-wash { height:410px; bottom:auto; background:linear-gradient(180deg,rgba(240,249,254,.001) 60%,rgba(240,249,254,.6) 80%,#f0f9fe 97%); }
  .kmw .kmw-hero-inner { display:block; width:100%; padding:297px 25px 28px; min-height:0; }
  .kmw .kmw-hero-copy { width:100%; }
  .kmw .kmw-hero .kmw-eyebrow { font-size:10px; }
  .kmw .kmw-hero h1 { margin-top:10px; }
  .kmw .kmw-hero-name { font-size:16px; letter-spacing:.035em; }
  .kmw .kmw-hero-catch { margin-top:13px; font-size:32px; line-height:1.65; letter-spacing:.02em; white-space:normal; }
  .kmw .kmw-hero-catch em { white-space:nowrap; }
  .kmw .kmw-hero-description { margin-top:17px; font-size:13px; line-height:1.85; }
  .kmw .kmw-hero-price { margin-top:19px; gap:22px; }
  .kmw .kmw-hero-price strong { font-size:35px; }
  .kmw .kmw-hero-actions { gap:12px; margin-top:18px; }
  .kmw .kmw-hero-actions .kmw-button { width:100%; min-width:0; padding:14px 12px; min-height:54px; font-size:13px; gap:20px; }
  .kmw .kmw-hero-actions .kmw-text-link { margin-inline:auto; font-size:12px; justify-content:center; width:112px; padding-block:5px; }
  .kmw .kmw-hero-note { font-size:10px; text-align:center; margin-top:10px; }
  .kmw .kmw-hero-sign { display:none; }
  .kmw .kmw-scroll { display:none; }
  .kmw .kmw-facts { width:calc(100% - 28px); padding-block:25px; }
  .kmw .kmw-facts > div { padding-inline:6px; }
  .kmw .kmw-facts > div > span { font-size:10px; line-height:1.6; }
  .kmw .kmw-facts p { font-size:11px; margin-block:7px 4px; }
  .kmw .kmw-facts strong { font-size:18px; }
  .kmw .kmw-facts strong.kmw-facts-text { display:block; font-size:13px; line-height:2.2; white-space:nowrap; }
  .kmw .kmw-facts small { display:block; font-size:9px; line-height:1.65; }
  .kmw .kmw-nav-links { width:100%; grid-template-columns:repeat(3,1fr); padding:0; }
  .kmw .kmw-local-nav a { font-size:11px; min-height:43px; padding:10px 5px; }
  .kmw .kmw-local-nav a:nth-child(4) { border-left:0; }
  .kmw .kmw-local-nav a:nth-child(n+4) { border-top:1px solid var(--kmw-line); }
  .kmw .kmw-down { width:6px; height:6px; }
  .kmw .kmw-intro { display:flex; flex-direction:column; gap:52px; padding-top:66px; padding-bottom:50px; }
  .kmw .kmw-intro-visual { width:83%; max-width:370px; margin-left:4%; }
  .kmw .kmw-intro-photo { height:370px; }
  .kmw .kmw-orbit { left:-17px; right:17px; top:17px; bottom:-17px; }
  .kmw .kmw-photo-caption { font-size:17px; padding:7px 13px; left:-20px; bottom:21px; }
  .kmw .kmw-intro-copy { width:100%; }
  .kmw .kmw-intro h2 { font-size:27px; margin-block:17px 22px; }
  .kmw .kmw-body-copy { font-size:14px; line-height:2.05; }
  .kmw .kmw-wishes { margin-top:19px; }
  .kmw .kmw-wishes li { font-size:13px; }
  .kmw .kmw-intro-copy > .kmw-text-link { font-size:12px; gap:13px; }
  .kmw .kmw-marquee { padding-block:10px 25px; }
  .kmw .kmw-marquee-track { font-size:39px; }
  .kmw .kmw-section-head { display:block; margin-bottom:30px; }
  .kmw .kmw-section-head h2 { font-size:26px; margin-top:12px; line-height:1.8; }
  .kmw .kmw-section-head > p { font-size:13px; margin-top:16px; }
  .kmw .kmw-eyebrow { font-size:11px; }
  .kmw .kmw-eyebrow > span { font-size:27px; }
  .kmw .kmw-feature-row, .kmw .kmw-feature-row-reverse { display:flex; flex-direction:column; gap:30px; margin-top:32px; }
  .kmw .kmw-feature-row + .kmw-feature-row { margin-top:54px; }
  .kmw .kmw-feature-photo { width:100%; height:270px; border-radius:3px 3px 42px 3px; }
  .kmw .kmw-feature-row-reverse .kmw-feature-photo { border-radius:42px 3px 3px 3px; }
  .kmw .kmw-image-word { font-size:33px; top:13px; left:21px; }
  .kmw .kmw-feature-label > span { font-size:36px; }
  .kmw .kmw-feature-copy h3 { font-size:24px; margin-block:16px 18px; }
  .kmw .kmw-feature-tag { font-size:12px; margin-top:18px; }
  .kmw .kmw-case-grid { grid-template-columns:1fr; gap:26px; }
  .kmw .kmw-case { padding:20px; border-radius:3px 3px 28px 3px; }
  .kmw .kmw-case h3 { font-size:18px; }
  .kmw .kmw-case h3 span { display:inline; }
  .kmw .kmw-case-title { padding-bottom:18px; }
  .kmw .kmw-case-note { margin-block:18px 24px; font-size:11px; }
  .kmw .kmw-center .kmw-button { width:100%; padding-inline:14px; font-size:13px; }
  .kmw .kmw-price-layout { display:block; }
  .kmw .kmw-price-intro { padding-top:0; }
  .kmw .kmw-price-intro h2 { font-size:30px; margin-block:17px 20px; }
  .kmw .kmw-price-intro::after { display:none; }
  .kmw .kmw-price-intro .kmw-text-link { margin-top:16px; }
  .kmw .kmw-price-card { margin-top:28px; padding:27px 23px; border-radius:3px 3px 35px 3px; }
  .kmw .kmw-price-card h3 { font-size:19px; }
  .kmw .kmw-price-main { margin-top:22px; gap:10px; }
  .kmw .kmw-price-main strong { font-size:49px; }
  .kmw .kmw-price-main > span { font-size:13px; }
  .kmw .kmw-price-main p > span { font-size:15px; margin-left:5px; }
  .kmw .kmw-price-duration { font-size:12px; }
  .kmw .kmw-price-table { margin:0; }
  .kmw .kmw-price-table dt { font-size:12px; }
  .kmw .kmw-price-table dt small { font-size:10px; }
  .kmw .kmw-price-table dd { font-size:22px; }
  .kmw .kmw-price-table dd span { font-size:11px; margin-left:3px; }
  .kmw .kmw-secret { padding:17px 16px; }
  .kmw .kmw-secret-title { font-size:16px; }
  .kmw .kmw-secret > p + p { font-size:13px; }
  .kmw .kmw-price-book { font-size:13px; padding-inline:12px; gap:13px; }
  .kmw .kmw-flow-intro { margin:0 0 27px; font-size:13px; }
  .kmw .kmw-flow-grid { grid-template-columns:1fr; gap:27px; }
  .kmw .kmw-flow-grid > li { padding-top:16px; }
  .kmw .kmw-flow-grid h3 { font-size:19px; margin-block:12px 10px; }
  .kmw .kmw-flow-grid > li > p:last-child { font-size:13px; }
  .kmw .kmw-faq-section { padding-block:62px; }
  .kmw .kmw-faq-layout { display:block; }
  .kmw .kmw-faq-intro h2 { font-size:26px; margin-block:17px; }
  .kmw .kmw-faq-list { margin-top:25px; }
  .kmw .kmw-faq-list > .kmw-details > summary { font-size:13px; gap:12px; padding-block:20px; }
  .kmw .kmw-faq-list .kmw-details-body { padding:0 8px 22px 32px; font-size:13px; }
  .kmw .kmw-q { font-size:18px; }
  .kmw .kmw-reservation { padding-block:58px; }
  .kmw .kmw-reserve-grid { display:flex; flex-direction:column; gap:38px; }
  .kmw .kmw-reserve-photo { width:75%; max-width:300px; height:300px; }
  .kmw .kmw-reserve-copy { width:100%; text-align:center; }
  .kmw .kmw-reservation h2 { font-size:26px; line-height:1.8; margin-top:16px; }
  .kmw .kmw-reservation h2 + p { font-size:13px; margin-top:18px; }
  .kmw .kmw-reservation-actions { margin:25px auto 12px; width:100%; }
  .kmw .kmw-reservation-actions .kmw-button { min-height:55px; font-size:13px; }
}
@media (max-width:360px) {
  .kmw .kmw-wrap { width:calc(100% - 32px); }
  .kmw .kmw-hero-inner { padding-inline:20px; padding-top:271px; }
  .kmw .kmw-hero-art { height:352px; }
  .kmw .kmw-hero-wash { height:378px; }
  .kmw .kmw-hero-name { font-size:14px; }
  .kmw .kmw-hero-catch { font-size:28px; }
  .kmw .kmw-facts strong { font-size:16px; }
  .kmw .kmw-facts strong.kmw-facts-text { font-size:11px; line-height:2.5; }
  .kmw .kmw-facts small { font-size:8px; }
  .kmw .kmw-local-nav a { font-size:10px; gap:6px; }
  .kmw .kmw-intro-photo { height:320px; }
  .kmw .kmw-intro h2, .kmw .kmw-section-head h2 { font-size:24px; }
  .kmw .kmw-feature-copy h3 { font-size:22px; }
  .kmw .kmw-feature-photo { height:245px; }
  .kmw .kmw-price-card { padding:25px 18px; }
  .kmw .kmw-price-card h3 { font-size:17px; }
  .kmw .kmw-price-main strong { font-size:44px; }
  .kmw .kmw-secret { padding-inline:13px; }
  .kmw .kmw-secret-title { font-size:15px; }
  .kmw .kmw-reservation h2 { font-size:23px; }
}
@media (prefers-reduced-motion:reduce) {
  .kmw *, .kmw *::before, .kmw *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .kmw .kmw-parallax { transform:none; }
}
@media print {
  .kmw *, .kmw *::before, .kmw *::after { animation:none !important; }
  .kmw .kmw-local-nav { position:static; }
  .kmw .kmw-parallax { transform:none; }
}

/* v2.1 — touch/hover hold, story dialogs, photographic price and visit sequence. */
.kmw.kmw-paused *, .kmw.kmw-paused *::before, .kmw.kmw-paused *::after { animation-play-state:paused !important; }
.kmw.kmw-paused .kmw-details[open] .kmw-details-body { animation:none !important; }
.kmw .kmw-case-foot { display:flex; align-items:center; justify-content:flex-end; gap:18px; margin-top:22px; }
.kmw .kmw-case-foot > span { color:var(--kmw-blue); font-size:12px; line-height:1.65; }
.kmw .kmw-case-more { appearance:none; display:flex; flex:0 0 48px; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:var(--kmw-blue); color:#fff; cursor:pointer; box-shadow:0 6px 18px #087ca619; transition:background .25s,box-shadow .25s; }
.kmw .kmw-case-more > span { display:block; font-size:27px; font-weight:400; line-height:1; }
.kmw .kmw-case-more:hover { background:var(--kmw-deep); box-shadow:0 8px 24px #087ca629; }
.kmw .kmw-case-dialog { position:fixed; inset:0; width:min(940px,calc(100% - 48px)); max-width:940px; height:fit-content; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid #d3e6ed; border-radius:5px 5px 32px 5px; background:#fff; color:var(--kmw-ink); box-shadow:0 24px 100px #123c5b38; font-family:inherit; overflow:hidden; }
.kmw .kmw-case-dialog:not([open]) { display:none; }
.kmw .kmw-case-dialog[open] { display:block; }
.kmw .kmw-case-dialog::backdrop { background:rgba(22,47,62,.58); backdrop-filter:blur(5px); }
.kmw .kmw-dialog-inner { position:relative; padding:34px 38px 38px; max-height:calc(100vh - 50px); max-height:calc(100dvh - 50px); overflow-y:auto; overscroll-behavior:contain; }
.kmw .kmw-dialog-close { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0 0 -44px auto; padding:0; border:1px solid var(--kmw-line); border-radius:50%; background:#fff; color:var(--kmw-deep); font-size:28px; font-weight:400; line-height:1; cursor:pointer; box-shadow:0 3px 10px #123c5b0c; }
.kmw .kmw-dialog-close:hover { background:var(--kmw-light); }
.kmw .kmw-dialog-heading { padding-right:60px; margin-bottom:28px; }
.kmw .kmw-dialog-heading h2 { margin-top:10px; font-size:25px; font-weight:500; line-height:1.7; }
.kmw .kmw-dialog-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:32px; align-items:start; }
.kmw .kmw-dialog-photo { width:100%; padding:10px; border:1px solid var(--kmw-line); border-radius:3px; background:#fff; }
.kmw .kmw-dialog-photo img { width:100%; height:auto; object-fit:contain; }
.kmw .kmw-case-story-section + .kmw-case-story-section { margin-top:20px; }
.kmw .kmw-case-story-section h3 { margin:0 0 7px; color:var(--kmw-deep); font-size:15px; font-weight:500; line-height:1.75; }
.kmw .kmw-case-story-section p { color:var(--kmw-muted); font-size:14px; line-height:1.95; }
.kmw .kmw-dialog-note { margin-top:24px; padding-top:17px; border-top:1px solid var(--kmw-line); font-size:11px; }
.kmw .kmw-case-story > .kmw-text-link { margin-top:15px; }
.kmw .kmw-dialog-fallback[open] { position:static; inset:auto; display:block; height:auto; max-height:none; width:min(940px,calc(100% - 40px)); margin:35px auto; }
.kmw .kmw-dialog-fallback[open] .kmw-dialog-inner { max-height:none; overflow:visible; }
.kmw .kmw-case-noscript { padding-bottom:60px; }
.kmw .kmw-case-noscript .kmw-details { border-bottom:1px solid var(--kmw-line); }
.kmw .kmw-case-noscript .kmw-details-body { padding-bottom:25px; }

.kmw .kmw-pricing { position:relative; isolation:isolate; overflow:hidden; background:#eef8fc; }
.kmw .kmw-price-scene, .kmw .kmw-price-wash { position:absolute; inset:0; top:0; right:0; bottom:0; left:0; pointer-events:none; }
.kmw .kmw-price-scene img { width:100%; height:100%; object-fit:cover; object-position:center 58%; transform:scale(1.025); transform-origin:25% 65%; }
.kmw .kmw-price-wash { background:linear-gradient(90deg,rgba(240,249,253,.08),rgba(240,249,253,.12) 45%,rgba(240,249,253,.45)); }
.kmw .kmw-price-layout { position:relative; z-index:1; }
.kmw .kmw-price-intro { padding:28px; border:1px solid #ffffffbf; border-radius:4px; background:rgba(255,255,255,.78); backdrop-filter:blur(5px); }
.kmw .kmw-price-intro::after { display:none; }
.kmw .kmw-price-intro .kmw-body-copy { color:#415c69; }
.kmw .kmw-price-card { background:#fffffff5; box-shadow:0 18px 50px #145f7912; }
.kmw.kmw-motion .kmw-price-scene img { animation:kmw-hero-breathe 16s ease-in-out infinite alternate; }
.kmw .kmw-step-photo { overflow:hidden; width:100%; margin-top:18px; border-radius:3px 3px 25px 3px; background:var(--kmw-light); }
.kmw .kmw-step-photo img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; }
.kmw .kmw-flow-grid h3 { margin-top:19px; }
.kmw .kmw-reserve-photo img { object-position:center 30%; }
@media (max-width:850px) {
  .kmw .kmw-price-intro { padding:23px; }
  .kmw .kmw-dialog-inner { padding:28px; }
  .kmw .kmw-dialog-heading h2 { font-size:23px; }
  .kmw .kmw-dialog-grid { gap:24px; }
}
@media (max-width:640px) {
  .kmw .kmw-case-foot { margin-top:18px; gap:15px; }
  .kmw .kmw-case-foot > span { font-size:11px; }
  .kmw .kmw-case-more { flex-basis:46px; width:46px; height:46px; }
  .kmw .kmw-case-dialog { width:calc(100% - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:4px 4px 24px 4px; }
  .kmw .kmw-dialog-inner { padding:21px; max-height:calc(100vh - 26px); max-height:calc(100dvh - 26px); }
  .kmw .kmw-dialog-heading { padding-right:49px; margin-bottom:22px; }
  .kmw .kmw-dialog-heading .kmw-eyebrow { font-size:10px; letter-spacing:.08em; }
  .kmw .kmw-dialog-heading h2 { font-size:20px; margin-top:11px; }
  .kmw .kmw-dialog-grid { grid-template-columns:1fr; gap:23px; }
  .kmw .kmw-dialog-photo { padding:8px; }
  .kmw .kmw-case-story-section h3 { font-size:15px; }
  .kmw .kmw-case-story-section p { font-size:13px; }
  .kmw .kmw-price-intro { padding:25px 23px; }
  .kmw .kmw-price-scene { bottom:auto; height:610px; }
  .kmw .kmw-price-scene img { object-position:18% center; }
  .kmw .kmw-price-wash { background:linear-gradient(180deg,rgba(238,248,252,.001) 15%,rgba(238,248,252,.3) 47%,#eef8fc 76%); }
  .kmw .kmw-step-photo { max-width:100%; margin-top:16px; border-radius:3px 3px 32px 3px; }
  .kmw .kmw-flow-grid { gap:34px; }
  .kmw .kmw-flow-grid h3 { margin-top:19px; }
}
@media (prefers-reduced-motion:reduce) {
  .kmw .kmw-price-scene img { animation:none !important; }
  .kmw .kmw-case-more { transition:none; }
}
@media print {
  .kmw .kmw-case-dialog:not([open]) { display:none; }
  .kmw .kmw-price-scene img { animation:none !important; }
}
@media (min-width:641px) and (max-width:1000px) {
  .kmw .kmw-price-layout { display:grid; grid-template-columns:1fr; gap:28px; max-width:660px; }
  .kmw .kmw-price-intro { padding:30px; }
  .kmw .kmw-price-intro h2 { font-size:31px; }
  .kmw .kmw-price-intro h2 br { display:none; }
  .kmw .kmw-price-card { width:100%; margin:0; padding:35px; }
  .kmw .kmw-price-main strong { font-size:56px; }
}

/* Everyday whitening compositions: personal care, preparation, and plan details. */
.kmw :where(h4) { margin:0; padding:0; font-family:inherit; color:var(--kmw-ink); border:0; background:none; line-height:1.7; letter-spacing:.02em; }
.kmw :where(h4)::before, .kmw :where(h4)::after { display:none; }
.kmw .kmw-hero-inner { min-height:700px; padding:48px 0 52px; }
.kmw .kmw-hero-copy { width:54%; }
.kmw .kmw-hero-catch { font-size:43px; line-height:1.6; margin-top:20px; letter-spacing:.035em; }
.kmw .kmw-hero-catch > span, .kmw .kmw-hero-catch > em { display:block; white-space:nowrap; }
.kmw .kmw-hero-image { object-position:center 44%; }
.kmw .kmw-hero-price { gap:18px; }
.kmw .kmw-hero-price p > span { font-size:15px; }
.kmw .kmw-hero-price small { font-size:10px; margin-left:3px; }
.kmw .kmw-hero-price strong { font-size:36px; }
.kmw .kmw-hero-sign { right:7%; bottom:75px; }
.kmw .kmw-hero-sign strong { font-size:31px; }
.kmw .kmw-lifestyle-photo img { object-position:center 42%; }
.kmw .kmw-lifestyle-photo .kmw-image-word { left:25px; top:auto; bottom:20px; font-size:32px; text-shadow:0 2px 18px #23463e66; }
.kmw .kmw-preparation { margin-top:84px; padding:38px 40px 30px; border:1px solid #cde4ec; border-radius:4px 4px 36px 4px; background:#ffffffde; }
.kmw .kmw-preparation-head h3 { margin-top:13px; font-size:25px; font-weight:500; }
.kmw .kmw-preparation-head h3 span { display:inline-block; }
.kmw .kmw-preparation-head > p:last-child { margin-top:12px; font-size:14px; color:var(--kmw-muted); }
.kmw .kmw-preparation-steps { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin:30px 0 25px; gap:32px; }
.kmw .kmw-preparation-steps > li { position:relative; padding-top:17px; border-top:1px solid #91cadb; min-width:0; }
.kmw .kmw-preparation-steps > li:not(:last-child)::after { content:"→"; position:absolute; top:17px; right:1px; font-size:23px; color:#9bcddd; }
.kmw .kmw-prep-number { display:block; color:var(--kmw-blue); font-size:26px; font-weight:400; line-height:1.5; }
.kmw .kmw-preparation-steps h4 { margin-top:8px; font-size:17px; font-weight:500; }
.kmw .kmw-preparation-steps p { margin-top:10px; font-size:13px; color:var(--kmw-muted); line-height:1.95; }
.kmw .kmw-price-layout { grid-template-columns:1fr 1.25fr; gap:48px; }
.kmw .kmw-price-intro h2 { font-size:33px; letter-spacing:.02em; }
.kmw .kmw-price-card { padding:35px; }
.kmw .kmw-price-card h3 { font-size:21px; }
.kmw .kmw-plan-summary { margin-top:22px; }
.kmw .kmw-plan-summary > div { padding:20px 0; border-top:1px solid var(--kmw-line); }
.kmw .kmw-plan-name { font-size:16px; font-weight:500; line-height:1.8; }
.kmw .kmw-plan-name > span { display:block; color:var(--kmw-muted); font-size:11px; font-weight:400; margin-top:2px; }
.kmw .kmw-plan-timing { display:inline-block; max-width:100%; margin-top:12px; padding:5px 12px; border:1px solid #bcdfe9; border-radius:20px; background:#f0f9fc; color:var(--kmw-deep); font-size:11px; font-weight:500; line-height:1.7; letter-spacing:.01em; }
.kmw .kmw-plan-detail .kmw-plan-timing { margin-block:12px 5px; }
.kmw .kmw-plan-amount { margin-top:9px; color:var(--kmw-blue); line-height:1.3; white-space:nowrap; text-align:right; }
.kmw .kmw-plan-amount strong { font-size:45px; font-weight:400; letter-spacing:.015em; }
.kmw .kmw-plan-amount > span { font-size:16px; margin-left:6px; }
.kmw .kmw-plan-amount small { font-size:11px; margin-left:3px; }
.kmw .kmw-price-details { margin-top:0; }
.kmw .kmw-plan-detail { padding:23px 0; border-top:1px solid var(--kmw-line); }
.kmw .kmw-plan-detail h4 { font-size:19px; font-weight:500; margin-top:8px; }
.kmw .kmw-plan-detail-amount { margin-top:8px; color:var(--kmw-blue); font-size:30px; line-height:1.4; letter-spacing:0; }
.kmw .kmw-plan-detail-amount > span { font-size:12px; margin-left:5px; }
.kmw .kmw-plan-inclusions { list-style:none; padding:0; margin:18px 0 15px; }
.kmw .kmw-plan-inclusions > li { position:relative; padding-left:17px; font-size:13px; line-height:1.9; }
.kmw .kmw-plan-inclusions > li + li { margin-top:5px; }
.kmw .kmw-plan-inclusions > li::before { content:""; display:block; position:absolute; top:.85em; left:2px; width:4px; height:4px; border-radius:50%; background:#47abc8; }
.kmw .kmw-plan-validity { display:inline-block; padding:4px 12px; background:var(--kmw-light); color:var(--kmw-deep); font-size:12px; }
.kmw .kmw-plan-note { margin-bottom:22px; }
.kmw .kmw-journal { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:64px; }
.kmw .kmw-journal h2 { font-size:24px; line-height:1.8; font-weight:500; margin-top:14px; letter-spacing:.02em; }
.kmw .kmw-journal p:last-child { color:var(--kmw-muted); font-size:13px; margin-top:14px; line-height:1.95; }
.kmw .kmw-journal > .kmw-button { flex-shrink:0; font-size:13px; padding-inline:22px; }
.kmw .kmw-reservation h2 { letter-spacing:.035em; }
.kmw .kmw-reserve-photo img { object-position:center 38%; }
.kmw #kmw-flow-title > span { display:inline-block; }
@media (min-width:1440px) {
  .kmw .kmw-hero-inner { min-height:740px; }
  .kmw .kmw-hero-catch { font-size:46px; }
}
@media (max-width:1100px) {
  .kmw .kmw-hero-inner { min-height:665px; }
  .kmw .kmw-hero-catch { font-size:38px; }
  .kmw .kmw-hero-copy { width:57%; }
  .kmw .kmw-price-intro h2 { font-size:29px; }
  .kmw .kmw-price-layout { gap:32px; }
  .kmw .kmw-price-card { padding:30px; }
  .kmw .kmw-journal { gap:24px; }
  .kmw .kmw-journal h2 { font-size:21px; }
  .kmw .kmw-journal > .kmw-button { padding-inline:16px; gap:14px; }
}
@media (max-width:850px) {
  .kmw .kmw-hero-inner { min-height:625px; }
  .kmw .kmw-hero-copy { width:59%; }
  .kmw .kmw-hero-catch { font-size:33px; }
  .kmw .kmw-hero-price { gap:12px; }
  .kmw .kmw-hero-price > span { font-size:12px; }
  .kmw .kmw-hero-price strong { font-size:32px; }
  .kmw .kmw-hero-price p > span { font-size:13px; margin-left:5px; }
  .kmw .kmw-hero-sign { right:6%; bottom:72px; }
  .kmw .kmw-hero-sign strong { font-size:24px; }
  .kmw .kmw-hero-sign span { font-size:17px; }
  .kmw .kmw-preparation { padding:28px; margin-top:60px; }
  .kmw .kmw-preparation-head h3 { font-size:23px; }
  .kmw .kmw-preparation-steps { gap:22px; }
  .kmw .kmw-preparation-steps h4 { font-size:15px; }
  .kmw .kmw-preparation-steps p { font-size:12px; }
  .kmw .kmw-journal { display:block; padding-block:50px; }
  .kmw .kmw-journal > .kmw-button { margin-top:25px; padding-inline:24px; }
}
@media (min-width:641px) and (max-width:1000px) {
  .kmw .kmw-price-layout { grid-template-columns:1fr; gap:28px; max-width:660px; }
  .kmw .kmw-price-card { padding:35px; }
  .kmw .kmw-plan-summary { display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
  .kmw .kmw-plan-amount { text-align:left; }
  .kmw .kmw-plan-amount strong { font-size:37px; }
  .kmw .kmw-plan-amount > span { font-size:14px; }
  .kmw .kmw-plan-amount small { display:block; margin:3px 0 0; }
}
@media (max-width:640px) {
  .kmw .kmw-hero-inner { min-height:0; padding:298px 25px 28px; }
  .kmw .kmw-hero-copy { width:100%; }
  .kmw .kmw-hero-catch { font-size:30px; line-height:1.6; margin-top:14px; letter-spacing:.02em; }
  .kmw .kmw-hero-image { object-position:80% 40%; }
  .kmw .kmw-hero-price { gap:13px; flex-wrap:wrap; margin-top:19px; }
  .kmw .kmw-hero-price strong { font-size:34px; }
  .kmw .kmw-hero-price > span { font-size:12px; }
  .kmw .kmw-hero-note { text-align:left; font-size:10px; }
  .kmw .kmw-preparation { padding:27px 23px 24px; margin-top:50px; }
  .kmw .kmw-preparation-head h3 { font-size:21px; line-height:1.8; }
  .kmw .kmw-preparation-head > p:last-child { font-size:13px; }
  .kmw .kmw-preparation-steps { grid-template-columns:1fr; gap:22px; margin-top:25px; }
  .kmw .kmw-preparation-steps > li { padding-top:15px; }
  .kmw .kmw-preparation-steps > li:not(:last-child)::after { content:"↓"; top:15px; }
  .kmw .kmw-prep-number { font-size:24px; }
  .kmw .kmw-preparation-steps h4 { font-size:17px; }
  .kmw .kmw-preparation-steps p { font-size:13px; }
  .kmw .kmw-preparation > .kmw-note { font-size:11px; }
  .kmw .kmw-price-intro h2 { font-size:28px; }
  .kmw .kmw-price-card { padding:27px 23px; }
  .kmw .kmw-price-card h3 { font-size:19px; }
  .kmw .kmw-plan-summary { margin-top:19px; }
  .kmw .kmw-plan-summary > div { padding-block:18px; }
  .kmw .kmw-plan-amount strong { font-size:43px; }
  .kmw .kmw-plan-amount > span { font-size:14px; }
  .kmw .kmw-plan-amount small { font-size:10px; }
  .kmw .kmw-plan-detail h4 { font-size:18px; }
  .kmw .kmw-plan-detail-amount { font-size:28px; }
  .kmw .kmw-journal h2 { font-size:23px; }
  .kmw .kmw-journal > .kmw-button { width:100%; padding-inline:14px; font-size:12px; gap:12px; }
}
@media (max-width:360px) {
  .kmw .kmw-hero-inner { padding:272px 20px 26px; }
  .kmw .kmw-hero-catch { font-size:27px; }
  .kmw .kmw-hero-price { gap:8px; }
  .kmw .kmw-hero-price strong { font-size:29px; }
  .kmw .kmw-hero-price > span { font-size:11px; }
  .kmw .kmw-hero-price p > span { font-size:12px; }
  .kmw .kmw-hero-price small { font-size:9px; }
  .kmw .kmw-preparation { padding-inline:20px; }
  .kmw .kmw-preparation-head h3 { font-size:19px; }
  .kmw .kmw-price-intro h2 { font-size:25px; }
  .kmw .kmw-price-card { padding:25px 18px; }
  .kmw .kmw-price-card h3 { font-size:17px; }
  .kmw .kmw-plan-amount strong { font-size:38px; }
  .kmw .kmw-plan-name { font-size:15px; }
  .kmw .kmw-journal h2 { font-size:21px; }
}

/* Published customer stories: preserve every original photograph in full. */
.kmw .kmw-voice-heading { margin:0 0 27px; }
.kmw .kmw-voice-heading h3, .kmw .kmw-case-subhead h3 { margin-top:11px; font-size:25px; font-weight:500; line-height:1.8; letter-spacing:.025em; }
.kmw .kmw-voice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; align-items:stretch; }
.kmw .kmw-voice-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--kmw-line); border-radius:4px 4px 34px 4px; background:#fff; }
.kmw .kmw-voice-photo { width:100%; aspect-ratio:4 / 3; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#f3f8fa; }
.kmw .kmw-voice-photo img { width:100%; height:100%; max-height:100%; object-fit:contain; }
.kmw .kmw-voice-card-body { display:flex; flex-direction:column; flex:1; padding:25px 28px 26px; }
.kmw .kmw-voice-card h3 { margin-top:12px; color:var(--kmw-ink); font-size:20px; font-weight:500; letter-spacing:.02em; line-height:1.8; }
.kmw .kmw-voice-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin-top:17px; color:var(--kmw-muted); font-size:13px; line-height:1.7; }
.kmw .kmw-voice-plan { display:inline-block; padding:3px 11px; border:1px solid #c9e3ec; border-radius:20px; background:#f1fafc; color:var(--kmw-blue); font-size:11px; }
.kmw .kmw-voice-card .kmw-case-foot { margin-top:auto; padding-top:24px; }
.kmw .kmw-voice-note { margin-top:22px; }
.kmw .kmw-case-subhead { margin:64px 0 30px; padding-top:36px; border-top:1px solid var(--kmw-line); }
.kmw .kmw-voice-dialog .kmw-dialog-grid { grid-template-columns:1.05fr .95fr; }
.kmw .kmw-voice-dialog-photo { padding:0; border:0; border-radius:3px; overflow:hidden; background:#f3f8fa; }
.kmw .kmw-voice-dialog-photo img { display:block; width:100%; height:auto; object-fit:contain; }
.kmw .kmw-voice-dialog .kmw-voice-meta { margin-top:0; }
.kmw .kmw-voice-story { margin-top:25px; }
.kmw .kmw-case-story-section .kmw-voice-fallback-plan { margin-block:8px 12px; color:var(--kmw-blue); font-size:12px; }
.kmw .kmw-voice-fallback-note { margin-top:18px; }
@media (max-width:850px) {
  .kmw .kmw-voice-grid { gap:24px; }
  .kmw .kmw-voice-card-body { padding:22px; }
  .kmw .kmw-voice-card h3 { font-size:18px; }
  .kmw .kmw-voice-heading h3, .kmw .kmw-case-subhead h3 { font-size:23px; }
}
@media (max-width:640px) {
  .kmw .kmw-voice-heading { margin-bottom:22px; }
  .kmw .kmw-voice-heading h3, .kmw .kmw-case-subhead h3 { font-size:22px; }
  .kmw .kmw-voice-grid { grid-template-columns:1fr; gap:26px; }
  .kmw .kmw-voice-card { border-radius:3px 3px 28px 3px; }
  .kmw .kmw-voice-card-body { padding:23px 21px; }
  .kmw .kmw-voice-card h3 { font-size:19px; margin-top:10px; }
  .kmw .kmw-voice-meta { font-size:12px; gap:8px 12px; margin-top:15px; }
  .kmw .kmw-voice-card .kmw-case-foot { padding-top:21px; }
  .kmw .kmw-voice-note { font-size:11px; margin-top:20px; }
  .kmw .kmw-case-subhead { margin-top:45px; padding-top:28px; margin-bottom:25px; }
  .kmw .kmw-voice-dialog .kmw-dialog-grid { grid-template-columns:1fr; }
  .kmw .kmw-voice-story { margin-top:21px; }
}
@media (max-width:360px) {
  .kmw .kmw-voice-heading h3, .kmw .kmw-case-subhead h3 { font-size:20px; }
  .kmw .kmw-voice-card h3 { font-size:18px; }
  .kmw .kmw-voice-card-body { padding-inline:19px; }
}

/* A single ceremony plan with the published price and inclusions. */
.kmw .kmw-seizin-plan { margin-top:24px; padding:22px 0 19px; border-top:1px solid var(--kmw-line); }
.kmw .kmw-seizin-amount { margin-top:21px; color:var(--kmw-blue); line-height:1.25; text-align:right; white-space:nowrap; }
.kmw .kmw-seizin-amount strong { font-size:60px; font-weight:400; letter-spacing:0; }
.kmw .kmw-seizin-amount > span { font-size:19px; margin-left:8px; }
.kmw .kmw-seizin-package { margin-top:20px; padding-block:13px; border-top:1px solid var(--kmw-line); color:var(--kmw-deep); font-size:15px; line-height:1.75; }
.kmw .kmw-seizin-package > span { display:inline-block; margin-left:17px; color:var(--kmw-muted); font-size:12px; }
.kmw .kmw-seizin-plan .kmw-plan-name { font-size:18px; }
.kmw .kmw-reservation h2 { font-size:32px; }
@media (max-width:1100px) {
  .kmw .kmw-reservation h2 { font-size:28px; }
}
@media (max-width:850px) {
  .kmw .kmw-reservation h2 { font-size:24px; }
}
@media (max-width:640px) {
  .kmw .kmw-seizin-plan { margin-top:21px; padding-top:19px; }
  .kmw .kmw-seizin-plan .kmw-plan-name { font-size:17px; }
  .kmw .kmw-seizin-amount strong { font-size:52px; }
  .kmw .kmw-seizin-amount > span { font-size:17px; }
  .kmw .kmw-seizin-package { font-size:14px; }
  .kmw .kmw-seizin-package > span { margin-left:13px; font-size:11px; }
  .kmw .kmw-reservation h2 { font-size:26px; }
}
@media (max-width:360px) {
  .kmw .kmw-seizin-amount strong { font-size:47px; }
  .kmw .kmw-seizin-package > span { margin-left:10px; }
  .kmw .kmw-reservation h2 { font-size:23px; }
}

/* Everyday whitening customer stories, with original before/after images in the dialog. */
.kmw .kmw-voice-teaser { margin-top:14px; color:var(--kmw-muted); font-size:13px; line-height:1.95; }
.kmw .kmw-voice-gallery { display:grid; gap:18px; }
.kmw .kmw-voice-dialog-photo figcaption { padding:7px 11px; color:var(--kmw-muted); font-size:11px; line-height:1.7; text-align:center; }
.kmw .kmw-voice-story > .kmw-case-story-section + .kmw-case-story-section { margin-top:22px; }
.kmw .kmw-voice-fallback-plan { color:var(--kmw-blue); font-size:12px; margin-bottom:16px; }
@media (max-width:640px) {
  .kmw .kmw-voice-teaser { font-size:12px; margin-top:12px; }
  .kmw .kmw-voice-gallery { gap:15px; }
}

/* Bihaku plan: clear single-session and course information. */
.kmw .kmw-course-heading { margin-top:23px; padding:20px 18px; background:var(--kmw-light); border-left:2px solid var(--kmw-aqua); }
.kmw .kmw-course-heading h4 { margin-top:8px; font-size:17px; font-weight:500; }
.kmw .kmw-course-heading > p:last-child { margin-top:10px; font-size:12px; line-height:1.9; }
.kmw .kmw-course-table { margin-block:12px 21px; }
.kmw .kmw-course-table dd { text-align:right; }
.kmw .kmw-course-table dd > small { display:block; margin-top:5px; color:var(--kmw-muted); font-size:11px; line-height:1.7; letter-spacing:0; }
.kmw .kmw-price-main { gap:16px; }
.kmw .kmw-price-main strong { font-size:60px; }
@media (max-width:850px) {
  .kmw .kmw-price-main strong { font-size:54px; }
}
@media (max-width:640px) {
  .kmw .kmw-price-main strong { font-size:52px; }
  .kmw .kmw-course-heading { padding:18px 16px; }
  .kmw .kmw-course-heading h4 { font-size:16px; }
  .kmw .kmw-course-table dd > small { font-size:10px; }
}
@media (max-width:360px) {
  .kmw .kmw-price-main strong { font-size:46px; }
}

/* One verified Bihaku story receives the full available width. */
.kmw .kmw-voice-grid-single { grid-template-columns:1fr; }
.kmw .kmw-voice-grid-single .kmw-voice-card { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; }
.kmw .kmw-voice-grid-single .kmw-voice-photo { align-self:center; }
.kmw .kmw-voice-grid-single .kmw-voice-card-body { align-self:stretch; justify-content:center; padding:32px; }
.kmw .kmw-voice-grid-single .kmw-voice-card .kmw-case-foot { margin-top:20px; }
@media (max-width:850px) {
  .kmw .kmw-voice-grid-single .kmw-voice-card { grid-template-columns:1fr 1fr; }
  .kmw .kmw-voice-grid-single .kmw-voice-card-body { padding:25px; }
}
@media (max-width:640px) {
  .kmw .kmw-voice-grid-single .kmw-voice-card { display:block; }
  .kmw .kmw-voice-grid-single .kmw-voice-card-body { display:block; padding:24px 22px; }
  .kmw .kmw-voice-grid-single .kmw-voice-card .kmw-case-foot { margin-top:4px; }
}
