/* Kintsugi presentation for canonical Booking components. */
body.page-booking-catalog,body[class*="page-booking-"]{--color-primary:#5f765d;--color-primary-dark:#3f523e;--color-primary-light:#edf2e9;--color-text:#242b24;--color-muted:#626d62;--color-text-muted:#626d62;--color-border:#dfe4dc;--color-line:#dfe4dc;--color-white:#fff;--color-surface:#fff;--color-soft:#f8faf6;--color-background-muted:#edf2e9;--font-heading:'Noto Serif JP',serif;--font-body:'Montserrat',sans-serif;--bk-font-heading:'Noto Serif JP',serif;--bk-font-body:'Montserrat',sans-serif;--sv-paper:#faf9f5;--sv-ink:#222822;--sv-sage:#5f765d;--sv-sage-deep:#3f523e;--sv-gold:#c8a95a;--sv-line:#dfe4dc;background:#faf9f5;color:#242b24}
.kg-services__hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #f4f2e9 0%, var(--sv-paper) 100%);
  border-bottom: 1px solid var(--sv-line);
}
/* Sage pattern wash — v1's tiled diagonal treatment. */
.kg-services__wash {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.55;
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%235F765D' fill-opacity='0.10'%3E%3Cpath d='M0 0h40v40H0V0zm40 40h40v40H40V40z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
/* Organic leaf-like blooms, v1's floating shapes. Decorative only. */
.kg-services__leaf {
  position: absolute; pointer-events: none; display: none;
  border-radius: 62% 38% 55% 45% / 48% 55% 45% 52%;
}
.kg-services__leaf--1 { top: -70px; right: -60px; width: 330px; height: 330px; background: rgba(95, 118, 93, 0.11); }
.kg-services__leaf--2 { bottom: -120px; left: -80px; width: 280px; height: 280px; background: rgba(200, 169, 90, 0.13); }
@media (min-width: 900px) { .kg-services__leaf { display: block; } }
/* Thin gold seam — the kintsugi repair line. */
.kg-services__seam {
  position: absolute; top: 0; bottom: 0; left: 62%;
  width: 1px; pointer-events: none;
  background: linear-gradient(180deg, transparent, var(--sv-gold) 26%, transparent 78%);
  opacity: 0.5; transform: rotate(9deg);
  display: none;
}
@media (min-width: 900px) { .kg-services__seam { display: block; } }

.kg-services__hero-inner {
  position: relative; z-index: 1;
  max-width: 1240px; margin: 0 auto;
  padding: 96px 24px 72px;
}
.kg-services__eyebrow {
  margin: 0;
  font-family: var(--bk-font-body, 'Montserrat', sans-serif);
  font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--sv-sage);
}
.kg-services__title {
  margin: 18px 0 0; max-width: 820px;
  font-family: var(--bk-font-heading, 'Noto Serif JP', serif);
  font-size: clamp(42px, 6vw, 76px); font-weight: 700; line-height: 1.02;
  letter-spacing: -0.01em; color: var(--sv-ink);
}
.kg-services__intro {
  margin: 22px 0 0; max-width: 720px;
  font-family: var(--bk-font-body, 'Montserrat', sans-serif);
  font-size: 18px; line-height: 1.75; color: #4c524c;
}
/* Gold/sage pill rather than the default link colour. */
.kg-services__plans {
  display: inline-flex; align-items: center; gap: 9px;
  margin-top: 28px; min-height: 46px; padding: 11px 22px;
  border: 1px solid var(--sv-gold); border-radius: 999px;
  background: rgba(200, 169, 90, 0.10); color: var(--sv-sage-deep);
  font-family: var(--bk-font-body, 'Montserrat', sans-serif);
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.kg-services__plans:hover { background: var(--sv-gold); border-color: var(--sv-gold); color: #fff; }


.page-booking-catalog .kg-native-catalog{max-width:1240px;padding:32px 24px 72px;margin:auto}
.page-booking-catalog .booking-catalog{font-family:'Montserrat',sans-serif;font-size:15px;line-height:1.6}
.page-booking-catalog .booking-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.page-booking-catalog .booking-catalog__body{padding:24px;gap:16px}
.page-booking-catalog .booking-catalog__body h2{font:500 22px/1.4 'Noto Serif JP',serif;margin:0;color:#222822}
.page-booking-catalog .booking-catalog__action{background:#5f765d;border-radius:6px;padding:12px 16px;color:#fff;font-weight:600;text-align:center}
.page-booking-catalog .booking-catalog label{font:600 14px/1.5 'Montserrat',sans-serif;margin:0}
.page-booking-catalog .booking-catalog input,.page-booking-catalog .booking-catalog select{font:inherit}
.page-booking-catalog:not(.page-services) #main-content>.container{width:min(1240px,calc(100% - 48px));margin:auto;padding:40px 0 72px}
.page-booking-catalog .page-hero{padding:0 0 32px;background:none;margin:0}
.page-booking-catalog .page-hero h1{font:500 clamp(2rem,4vw,3rem)/1.2 'Noto Serif JP',serif;margin:0 0 20px;color:#222822}
.page-booking-catalog .page-hero p{font:400 17px/1.6 'Montserrat',sans-serif;color:#626d62;max-width:760px}
body[class*="page-booking-"] .fb{padding-top:32px;font-size:15px;--fb-heading:'Noto Serif JP',serif}
body[class*="page-booking-"] .fb__main{align-content:start}
body[class*="page-booking-"] .fb__aside{top:132px}
body[class*="page-booking-"] .fb h1,body[class*="page-booking-"] .fb h2{font-weight:500}
body[class*="page-booking-"] .fb label{font-family:'Montserrat',sans-serif}
.page-booking-build .fb-select{height:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none}
.page-booking-build .fb-select__native{width:1px;height:1px;min-height:0;padding:0;border:0}
.page-booking-build .fb-select__trigger{width:100%}
@media(max-width:767px){.page-booking-catalog .booking-catalog__grid{grid-template-columns:minmax(0,1fr)}.page-booking-catalog .kg-native-catalog{padding:24px 16px 48px}.page-booking-catalog .booking-catalog__body{padding:20px}.kg-services__hero-inner{padding:56px 20px 40px}.kg-services__intro{font-size:16px}.page-booking-catalog:not(.page-services) #main-content>.container{width:calc(100% - 32px);padding:32px 0 48px}}
