.location-info-page {color-scheme:light;--text:#3b2113;--muted:#725a49;--line:#e4c6af;--panel:#fffaf3;--heat:#f08223;--heat-2:#a74410;background:#fcf9f5;color:#3b2113}
.location-info-page main {padding-top:32px}
.location-info-page .breadcrumbs {font-size:14px;color:#725a49;line-height:1.6}
.location-info-page .breadcrumbs a {color:#725a49}
.location-info-page .section-nav {background:#fcf9f5;color:#3b2113;border-color:#e4c6af;box-shadow:none}
.location-info-page .section-nav a {color:#725a49}
.location-info-page .section-nav a[aria-current] {color:#3b2113}
.location-info-page .post-header .eyebrow {font-size:14px;color:#a74410}
.location-info-page .post-header h1,.location-info-page main h2 {font-family:Georgia,serif;font-weight:400;line-height:1.1;color:#3b2113}
.location-info-page .answer-first {background:none;border:0;padding:0;font-weight:400}
.location-info-page main .button {border-radius:999px;box-shadow:none;font-size:15px;min-height:48px}
.location-info-page main .button.primary {background:#f08223;color:#3b2113;border-color:#f08223}
.location-info-page main .button.ghost {color:#3b2113;border-color:#c7a88c}
.location-info-page main .button:before,.location-info-page main .button:after {content:none}
/* Scoped legacy location templates; the dedicated Rimbayu visit page keeps its gallery. */
.location-refresh {
  --location-ink: #3b2113;
  --location-muted: #725a49;
  --location-line: #e4c6af;
  color: var(--location-ink);
  max-width: 1020px;
  margin: 0 auto;
}
.location-refresh .post-header { max-width: 780px; margin-bottom: 20px; }
.location-refresh .post-header h1 { font-size: clamp(2.3rem, 5.8vw, 4.8rem); letter-spacing: -.045em; }
.location-refresh .answer-first { max-width: 740px; margin: 0 0 24px; font-size: clamp(1rem, 2vw, 1.2rem); color: var(--location-muted); }
.location-refresh .location-status { display: inline-block; margin: 0 0 18px; padding: 6px 12px; border: 1px solid var(--location-line); border-radius: 30px; font-size: .875rem; }
.location-refresh .location-cta { margin-bottom: 40px; }
.location-refresh .location-section { padding: 30px 0; border-top: 1px solid var(--location-line); }
.location-refresh .location-section h2,
.location-refresh .location-faq h2,
.location-refresh .location-cluster h2 { margin: 0 0 20px; font-size: clamp(1.6rem, 3vw, 2.25rem); letter-spacing: -.035em; }
.location-refresh .location-section p,
.location-refresh .location-section li { font-size: 1rem; line-height: 1.7; max-width: 760px; color: var(--location-muted); }
.location-refresh .location-list { display: grid; gap: 14px; margin-bottom: 0; padding-left: 20px; }
.location-refresh .location-list strong { color: var(--location-ink); }
.location-refresh .hub-grid { gap: 20px; }
.location-refresh .location-card { padding: clamp(22px, 3vw, 34px); border-radius: 24px; background: #fffaf3; box-shadow: none; }
.location-refresh .location-card h3 { font-family: var(--font-display, Georgia, serif); font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.15; margin: 14px 0; }
.location-refresh .location-card .path-card-step { font-size: .875rem; text-transform: none; letter-spacing: 0; }
.location-refresh .location-card .path-card-cta { color: #9b450d; font-size: .9375rem; margin-top: 20px; }
.location-refresh .location-links { gap: 8px 24px; margin-bottom: 0; }
.location-refresh .location-links a,
.location-refresh .location-cluster a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; text-underline-offset: 5px; }
.location-refresh .location-facts { display: flex; flex-wrap: wrap; gap: 32px 64px; margin: 0 0 34px; padding: 26px 0; border-top: 1px solid var(--location-line); }
.location-refresh .location-facts div { display: flex; flex-direction: column-reverse; gap: 8px; }
.location-refresh .location-facts dd { margin: 0; font: 500 clamp(2rem, 4vw, 3rem)/1.1 Georgia, serif; letter-spacing: -.035em; }
.location-refresh .location-facts dt { color: var(--location-muted); font-size: 1rem; }
.location-refresh details { border-top: 1px solid var(--location-line); }
.location-refresh summary { cursor: pointer; list-style: none; padding: 20px 0; font-size: 1rem; font-weight: 600; text-decoration: underline; text-decoration-color: var(--location-line); text-underline-offset: 6px; }
.location-refresh summary::-webkit-details-marker { display: none; }
.location-refresh summary::marker { content: ''; }
.location-refresh summary::after { content: none; }
.location-refresh details > p { margin: 0 0 20px; max-width: 740px; font-size: 1rem; line-height: 1.7; color: var(--location-muted); }
.location-refresh summary:focus-visible,
.location-refresh a:focus-visible { outline: 2px solid #a8440a; outline-offset: 5px; border-radius: 3px; }
.location-refresh .location-source { border: 0; margin-top: 12px; }
.location-refresh .location-source summary { padding: 12px 0; font-size: .9375rem; }
.location-refresh .location-source p { margin: 0 0 8px; font-size: .9375rem; }
.location-refresh .location-faq { margin: 24px 0; }
.location-refresh .location-visit-details { margin: 24px 0; }
.location-refresh .location-address { margin-top: 0; padding: 0 0 24px; border-top: 0; }
.location-refresh .location-address h2 { display: none; }
.location-refresh .location-address address { border: 0; padding: 0; color: var(--location-muted); font-size: 1rem; }
.location-refresh .location-phone { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.location-refresh .location-phone a { min-height: 44px; display: inline-flex; align-items: center; }
.location-refresh .location-hours { max-width: 480px; }
.location-refresh .location-form-block { background: #f5e8d8; border-color: var(--location-line); border-radius: 26px; padding: clamp(24px, 4vw, 40px); }
.location-refresh .location-form-block h2 { margin: 0 0 20px; font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.15; }
.location-refresh .location-booking-band { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.location-refresh .location-booking-band h2 { margin: 0; max-width: 440px; }
.location-refresh .location-booking-band .button { flex-shrink: 0; }
.location-refresh .consumer-form-privacy { font-size: .9375rem; color: var(--location-muted); }
.location-refresh .trial-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: none; }
.location-refresh .trial-form .form-row { min-width: 0; margin: 0; }
.location-refresh .trial-form .form-row:has(textarea),
.location-refresh .trial-form .consent-row,
.location-refresh .trial-form .form-status { grid-column: 1 / -1; }
.location-refresh .trial-form input,
.location-refresh .trial-form select,
.location-refresh .trial-form textarea { font-size: 16px; max-width: 100%; min-height: 48px; }
.location-refresh .trial-form input[type='checkbox'] { min-height: 0; }
.location-refresh .trial-form [hidden] { display: none; }
.location-refresh .location-cluster { margin: 42px 0 0; padding: 30px 0 0; border-top: 1px solid var(--location-line); }
.location-refresh .location-cluster ul { display: flex; flex-wrap: wrap; gap: 8px 24px; }
@media (max-width: 620px) {
  .location-refresh .post-header h1 { font-size: clamp(2.15rem, 10vw, 3.2rem); }
  .location-refresh .location-section { padding: 24px 0; }
  .location-refresh .location-cta { margin-bottom: 30px; }
  .location-refresh .hub-grid { grid-template-columns: 1fr; }
  .location-refresh .location-booking-band { flex-direction: column; align-items: stretch; }
  .location-refresh .trial-form { grid-template-columns: 1fr; }
  .location-refresh .location-form-block { border-radius: 22px; padding: 22px 18px; }
  .location-refresh .location-form-block .button { width: 100%; }
  .location-refresh .location-facts { gap: 24px; justify-content: space-between; }
  .location-refresh .location-cluster ul { flex-direction: column; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .location-refresh *, .location-refresh *::before, .location-refresh *::after { scroll-behavior: auto !important; transition: none !important; }
}
