/* NUSBE visit journey: service discovery, useful answers and a clear request.
   Native links and details work without JavaScript. Submission contracts live
   in the existing location-lead.js and app.js files. */
body.consumer-visit-page,
body.consumer-experience,
.consumer-journey-main {
  --consumer-ink: #3a1e10;
  --consumer-muted: #755d4d;
  --consumer-orange: #f08223;
  --consumer-border: #e7cebb;
  --bg: #fcf9f5;
  --bg-soft: #f7ebde;
  --panel: #fffaf5;
  --panel-solid: #fffaf5;
  --shadow: 0 16px 36px #3a1e1008;
  --heat: #f08223;
  --text: #3a1e10;
  --muted: #755d4d;
  --line: #e7cebb;
  color: var(--consumer-ink);
}
/* The original body uses two dark gradient layers: shorthand resets both. */
body.consumer-visit-page,
body.consumer-experience { background: #fcf9f5; color-scheme: light; }
.consumer-journey-main { background: #fcf9f5; }
body.consumer-visit-page .section-nav-consumer,
body.consumer-experience .section-nav-consumer {
  background: #fffaf4;
  color: #755d4d;
  border: 1px solid #e7cebb;
  box-shadow: 0 8px 24px #3a1e1007;
  color-scheme: light;
}
body.consumer-visit-page .section-nav-label,
body.consumer-experience .section-nav-label { color: #3a1e10; border-right-color: #e7cebb; }
body.consumer-visit-page .section-nav a:hover,
body.consumer-visit-page .section-nav a:focus-visible,
body.consumer-visit-page .section-nav a[aria-current="page"],
body.consumer-experience .section-nav a:hover,
body.consumer-experience .section-nav a:focus-visible,
body.consumer-experience .section-nav a[aria-current="page"] { color: #88400f; border-bottom-color: #c0631c; }
.consumer-journey .button.primary,
.consumer-experience main .button.primary { background: #f08223; color: #3a1e10; border-color: #f08223; box-shadow: none; }
.consumer-journey .button.secondary,
.consumer-experience main .button.secondary { background: transparent; color: #3a1e10; border-color: #d9b99f; }
.consumer-journey .button.primary:hover,
.consumer-experience main .button.primary:hover { background: #f59642; border-color: #f59642; }
.consumer-rimbayu .location-phone a,
.consumer-rimbayu .hours-heading,
.consumer-rimbayu .location-hours dt,
.consumer-rimbayu .location-hours dd { color: #755d4d; }
.consumer-rimbayu .location-phone a { border-color: #cda482; }
.consumer-rimbayu .location-whatsapp { color: #874315 !important; border-color: #cda482 !important; }
.consumer-rimbayu .location-whatsapp::before { background: #b85e1c; }
.consumer-rimbayu .location-cluster a { color: #954b16; }
.consumer-journey-main.post-main { max-width: 1200px; padding-inline: 32px; }
.consumer-journey h1,
.consumer-experience main h1,
.consumer-journey h2,
.consumer-experience main h2 { color: #3a1e10; letter-spacing: -.04em; }
.consumer-journey .post-header { max-width: 790px; }
.consumer-journey .eyebrow,
.consumer-experience .eyebrow { color: #9d4a0a; }
.consumer-journey .answer-first { max-width: 62ch; }
.consumer-journey :where(a, button, input, select, textarea, summary):focus-visible,
.consumer-experience :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #bd580a;
  outline-offset: 4px;
}
.consumer-visit-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  margin: 32px 0 68px;
  padding: 24px 0;
  border-block: 1px solid var(--consumer-border);
}
.consumer-visit-steps li { display: flex; gap: 14px; align-items: flex-start; }
.consumer-visit-steps li > span {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  height: 36px;
  border-radius: 50%;
  background: #f7e7d8;
  color: #99450b;
  font-size: .72rem;
  font-weight: 700;
}
.consumer-visit-steps strong { display: block; color: var(--consumer-ink); font-size: .94rem; line-height: 1.35; }
.consumer-visit-steps small { display: block; margin-top: 5px; color: var(--consumer-muted); font-size: .8rem; line-height: 1.5; }
.consumer-section-heading { display: flex; justify-content: space-between; gap: 36px; align-items: end; margin-bottom: 30px; }
.consumer-journey .consumer-section-heading h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.25rem); line-height: 1.05; }
.consumer-section-heading > p { max-width: 35ch; margin: 0; }
.consumer-branch-card {
  display: grid;
  grid-template-columns: minmax(250px, .85fr) minmax(0, 1.15fr);
  border: 1px solid var(--consumer-border);
  border-radius: 28px;
  background: #fffdf9;
  overflow: hidden;
  box-shadow: 0 14px 40px #3a1e1007;
}
.consumer-branch-art,
.consumer-experience-art {
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 55% 50%, #f8dfbf 0, #f5e8d9 40%, #f8f0e6 74%);
  overflow: hidden;
}
.consumer-branch-art { min-height: 420px; display: flex; align-items: center; justify-content: center; padding: 50px 20px 66px; }
.consumer-art-label { position: absolute; top: 26px; left: 28px; z-index: 1; font-size: .64rem; font-weight: 700; letter-spacing: .15em; color: #8f4a1b; }
.consumer-art-ring { position: absolute; width: 85%; aspect-ratio: 1; border-radius: 50%; border: 1px solid #c8783630; box-shadow: 0 0 0 35px #c8783607, 0 0 0 70px #c8783605; z-index: -1; }
.consumer-branch-art img { display: block; width: min(95%, 280px); height: 340px; object-fit: contain; filter: drop-shadow(0 18px 20px #75421b12); }
.consumer-art-note { position: absolute; bottom: 25px; left: 28px; color: #80512e; font-size: .8rem; line-height: 1.4; }
.consumer-branch-info { padding: clamp(24px, 3.4vw, 42px); }
.consumer-status { display: inline-flex; align-items: center; gap: 7px; color: #965020; font-size: .7rem; font-weight: 650; letter-spacing: .05em; }
.consumer-status > span { width: 6px; height: 6px; border-radius: 50%; background: #a55113; }
.consumer-branch-info h3 { font-family: Georgia, serif; font-size: clamp(2rem, 3.2vw, 2.75rem); font-weight: 500; line-height: 1.1; margin: 19px 0 6px; color: var(--consumer-ink); letter-spacing: -.04em; }
.consumer-journey .consumer-branch-area { margin: 0 0 20px; font-size: .84rem; color: #8c491d; }
.consumer-journey .consumer-branch-summary { font-size: .98rem; line-height: 1.6; margin-bottom: 16px; }
.consumer-branch-info address { font-size: .83rem; font-style: normal; color: var(--consumer-muted); line-height: 1.6; max-width: 48ch; }
.consumer-branch-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; border-block: 1px solid var(--consumer-border); padding: 20px 0; margin: 24px 0; }
.consumer-branch-facts span { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: #8e5832; }
.consumer-branch-facts strong { display: block; margin-top: 8px; color: var(--consumer-ink); font-size: .94rem; }
.consumer-branch-facts small { display: block; margin-top: 5px; color: var(--consumer-muted); font-size: .75rem; line-height: 1.5; }
.consumer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.consumer-actions .button { min-height: 48px; display: inline-flex; justify-content: center; align-items: center; gap: 28px; }
.consumer-text-link { color: #874015; font-size: .87rem; font-weight: 600; text-underline-offset: 5px; }
.consumer-text-link span { margin-left: 7px; }
.consumer-journey .consumer-request-note,
.consumer-experience .consumer-request-note { font-size: .76rem; line-height: 1.55; color: #835431; margin-top: 14px; }
.consumer-expect-section { margin-block: 76px; }
.consumer-answer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.consumer-answer-grid > article { display: flex; flex-direction: column; padding: 27px; background: #f6eadf; border: 1px solid #efdbcb; border-radius: 20px; }
.consumer-answer-number { color: #9b4c17; font-size: .64rem; font-weight: 700; letter-spacing: .11em; }
.consumer-answer-grid h3 { color: var(--consumer-ink); font-size: 1.24rem; line-height: 1.35; margin: 23px 0 12px; }
.consumer-journey .consumer-answer-grid p { font-size: .91rem; line-height: 1.65; margin: 0 0 22px; }
.consumer-answer-grid a { color: #8d410b; font-size: .83rem; font-weight: 600; margin-top: auto; text-underline-offset: 4px; }
.consumer-faq { display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px; margin-block: 64px; }
.consumer-journey .consumer-faq h2,
.consumer-experience .consumer-faq h2 { margin: 0; font-size: clamp(2rem,3vw,2.7rem); line-height: 1.12; }
.consumer-faq details { border-top: 1px solid var(--consumer-border); }
.consumer-faq details:last-child { border-bottom: 1px solid var(--consumer-border); }
.consumer-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 70px; padding-block: 20px; color: var(--consumer-ink); cursor: pointer; font-weight: 600; font-size: .97rem; line-height: 1.45; }
.consumer-faq summary::-webkit-details-marker { display: none; }
.consumer-faq summary > span { display: grid; place-items: center; flex: 0 0 25px; height: 25px; border: 1px solid var(--consumer-border); border-radius: 50%; color: #9b4912; font-size: 1.15rem; font-weight: 400; transition: transform .2s ease; }
.consumer-faq details[open] summary > span { transform: rotate(45deg); }
.consumer-faq details p { font-size: .92rem; color: var(--consumer-muted); line-height: 1.7; margin: 0 0 22px; max-width: 57ch; }
.consumer-faq details a { color: #8d410b; text-underline-offset: 3px; }
.consumer-request-section { scroll-margin-top: 160px; }
.consumer-rimbayu .consumer-request-section,
.consumer-experience .consumer-request-section { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: start; gap: 40px; border: 0; border-radius: 24px; background: #f7ebde; padding: clamp(24px,4vw,46px); }
.consumer-journey .consumer-request-section h2 { margin-top: 0; font-size: clamp(2rem,3vw,2.9rem); line-height: 1.12; }
.consumer-request-copy > p { color: var(--consumer-muted); line-height: 1.7; }
.consumer-selected-branch { display: grid; gap: 7px; background: #fffaf3; border: 1px solid #e7ceb9; border-radius: 14px; margin-block: 26px; padding: 20px; }
.consumer-selected-branch strong { color: var(--consumer-ink); }
.consumer-selected-branch > span:not(.consumer-status) { color: var(--consumer-muted); font-size: .84rem; }
.consumer-selected-branch a { margin-top: 5px; font-size: .8rem; color: #8b4718; text-underline-offset: 3px; }
.consumer-reply-steps { list-style: none; counter-reset: reply-step; margin: 26px 0; padding: 0; display: grid; gap: 17px; }
.consumer-reply-steps li { position: relative; padding-left: 36px; font-size: .87rem; color: var(--consumer-muted); line-height: 1.55; }
.consumer-reply-steps li::before { counter-increment: reply-step; content: counter(reply-step); position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 25px; height: 25px; font-size: .68rem; border-radius: 50%; border: 1px solid #deb995; color: #984715; }
.consumer-journey .consumer-form-privacy { font-size: .79rem; margin: 0 0 12px; line-height: 1.55; }
/* Direct session enquiry, with the message visible before opening WhatsApp. */
.location-page .consumer-whatsapp-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; align-items:center; padding:clamp(24px,4vw,46px); border:0; border-radius:24px; background:#f7ebde; color:#3a1e10; }
.consumer-whatsapp-section h2 { color:#3a1e10; line-height:1.12; }
.consumer-whatsapp-section .consumer-selected-branch { margin-bottom:0; }
.consumer-whatsapp-card { min-width:0; padding:clamp(24px,3vw,34px); border:1px solid #e7ceb9; border-radius:20px; background:#fffaf4; }
.consumer-whatsapp-card blockquote { border:0; margin:0 0 24px; padding:0; color:#6e5646; font-size:1rem; line-height:1.7; }
.consumer-whatsapp-card .button { width:100%; text-align:center; }
.consumer-whatsapp-card .consumer-whatsapp-number { color:#593622; text-align:center; margin:12px 0 0; font-size:.85rem; }
.consumer-whatsapp-card .consumer-request-note { color:#835431; text-align:center; margin:12px 0 0; font-size:.76rem; line-height:1.55; }
@media(max-width:680px) { .location-page .consumer-whatsapp-section { grid-template-columns:1fr; gap:22px; padding:24px 18px; } }

.consumer-request-section .trial-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 0; padding: 26px; border: 1px solid var(--consumer-border); border-radius: 20px; background: #fffcf8; box-shadow: 0 12px 30px #3a1e1005; }
.consumer-request-section .trial-form .form-row { min-width: 0; margin: 0; }
.consumer-request-section .trial-form .form-row:has(textarea),
.consumer-request-section .trial-form .consent-row,
.consumer-request-section .trial-form button[type=submit],
.consumer-request-section .trial-form .form-status,
.consumer-request-section .trial-form .telegram-handoff-note { grid-column: 1 / -1; }
.consumer-request-section .trial-form label { font-size: .81rem; color: #593622; line-height: 1.45; }
.consumer-request-section .trial-form input:not([type=checkbox]),
.consumer-request-section .trial-form select,
.consumer-request-section .trial-form textarea { width: 100%; min-width: 0; background: #fffdfa; border: 1px solid #dec7b4; color: #3a1e10; border-radius: 9px; }
.consumer-request-section .trial-form .consent-row { align-items: start; }
.consumer-request-section .trial-form .consent-row span { font-size: .78rem; line-height: 1.6; color: #6e5646; }
.consumer-request-section .trial-form .telegram-handoff-note { margin: 0; font-size: .75rem; line-height: 1.6; color: var(--consumer-muted); }
.consumer-request-section .trial-form .telegram-handoff-note a { color: #8d410b; }
.consumer-request-section .form-status:empty { display: none; }
.consumer-experience .experience-intro { gap: 56px; }
.consumer-experience .experience-intro h1 { font-size: clamp(2.7rem,5vw,4.7rem); max-width: 13ch; }
.consumer-experience .experience-intro > div > p:not(.eyebrow) { font-size: 1.05rem; line-height: 1.75; max-width: 45ch; color: #755d4d; }
.consumer-experience .hero-actions { display: flex; flex-wrap: wrap; gap: 23px; align-items: center; }
.consumer-experience .hero-actions .button { gap: 20px; }
.consumer-hero-promises { display: flex; flex-wrap: wrap; gap: 9px; margin: 27px 0 0; padding: 0; list-style: none; }
.consumer-hero-promises li { padding: 7px 11px; border: 1px solid #e8d3c2; border-radius: 100px; color: #7e5538; font-size: .69rem; }
.consumer-experience-art { display: flex; justify-content: center; align-items: center; margin: 0; min-height: 540px; border: 1px solid #ead3bf; border-radius: 38% 38% 24px 24px; padding: 45px 24px 110px; }
.consumer-experience-art .consumer-art-label { left: 0; right: 0; top: 32px; text-align: center; }
.consumer-experience-art img { display: block; object-fit: contain; width: min(100%,330px); height: 385px; filter: drop-shadow(0 18px 15px #75421b15); }
.consumer-experience-art figcaption { position: absolute; bottom: 27px; left: 26px; right: 26px; border-top: 1px solid #d9b995; padding-top: 18px; }
.consumer-experience-art figcaption p { margin: 7px 0 0; color: #795a42; font-size: .79rem; line-height: 1.5; }
.consumer-experience .experience-session { background: #f5e8da; }
.consumer-experience .experience-session-grid { gap: 22px; }
.consumer-experience .experience-session-grid article { border: 1px solid #e5c9b1; border-radius: 19px; background: #fcf8f2; padding: 25px; }
.consumer-experience .experience-step-number { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 50%; border: 1px solid #e1ba95; color: #995017; font-size: .73rem; }
.consumer-experience .experience-session-grid h3 { color: #3a1e10; }
.consumer-experience .experience-session-grid p { font-size: .95rem; color: #755d4d; }
.consumer-experience-questions { width: min(1120px,calc(100% - 32px)); margin: 70px auto; }
.consumer-experience .consumer-request-section { width: min(1120px,calc(100% - 32px)); margin-block: 48px 72px; }
.consumer-experience .consumer-small-print { font-size: .8rem; line-height: 1.6; }
.consumer-experience .model-section { border-top: 1px solid #e5cdbb; }
.consumer-experience .model-section .section-copy { max-width: 62ch; }
.consumer-experience #session-outline-title { scroll-margin-top: 155px; }
@media(max-width:900px) {
  .consumer-section-heading { align-items: start; gap: 20px; }
  .consumer-section-heading > p { max-width: 28ch; }
  .consumer-branch-card { grid-template-columns: .8fr 1.2fr; }
  .consumer-branch-info { padding: 25px; }
  .consumer-branch-facts { grid-template-columns: 1fr; gap: 14px; }
  .consumer-answer-grid > article { padding: 23px; }
  .consumer-rimbayu .consumer-request-section,
  .consumer-experience .consumer-request-section { grid-template-columns: 1fr; gap: 26px; }
  .consumer-request-copy { max-width: 64ch; }
  .consumer-reply-steps { margin-block: 23px; }
  .consumer-experience .experience-intro { grid-template-columns: 1fr; gap: 35px; }
  .consumer-experience-art { min-height: 465px; max-width: 590px; width: 100%; margin-inline: auto; }
  .consumer-experience-art img { height: 310px; }
}
@media(max-width:680px) {
  .consumer-journey-main.post-main { padding-inline: 20px; }
  .consumer-visit-steps { grid-template-columns: 1fr; gap: 19px; margin-bottom: 45px; padding-block: 25px; }
  .consumer-visit-steps li > span { position: relative; }
  .consumer-visit-steps li:not(:last-child) > span::after { content: ""; position: absolute; top: 40px; width: 1px; height: 14px; background: #dcbfaa; }
  .consumer-section-heading { display: block; }
  .consumer-section-heading > p { max-width: 46ch; margin-top: 20px; }
  .consumer-branch-card { grid-template-columns: 1fr; border-radius: 23px; }
  .consumer-branch-art { min-height: 270px; max-height: 300px; padding: 26px; }
  .consumer-branch-art img { height: 260px; width: 210px; margin-left: 35px; }
  .consumer-art-label { left: 22px; top: 22px; }
  .consumer-art-note { left: 22px; bottom: 20px; font-size: .68rem; }
  .consumer-branch-art .consumer-art-ring { width: 62%; }
  .consumer-branch-info { padding: 27px 23px; }
  .consumer-branch-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
  .consumer-actions { gap: 20px; }
  .consumer-actions .button { width: 100%; }
  .consumer-expect-section { margin-block: 49px; }
  .consumer-answer-grid { grid-template-columns: 1fr; }
  .consumer-answer-grid h3 { margin-top: 16px; }
  .consumer-answer-grid > article { padding: 26px; }
  .consumer-faq { grid-template-columns: 1fr; gap: 25px; margin-block: 48px; }
  .consumer-rimbayu .consumer-request-section,
  .consumer-experience .consumer-request-section { padding: 24px 17px; border-radius: 20px; }
  .consumer-request-section .trial-form { padding: 21px 16px; grid-template-columns: 1fr; }
  .consumer-request-section .trial-form > * { grid-column: 1 / -1; }
  .consumer-experience .experience-intro h1 { font-size: clamp(2.7rem,10vw,3.6rem); }
  .consumer-experience .experience-intro { padding-top: 36px; }
  .consumer-experience-art { min-height: 440px; padding-bottom: 105px; }
  .consumer-experience-art img { width: 245px; height: 315px; }
  .consumer-experience-art figcaption { left: 23px; right: 23px; bottom: 22px; }
  .consumer-experience-art .consumer-art-label { top: 28px; }
  .consumer-experience .experience-session-grid article { padding: 26px; }
  .consumer-experience .consumer-request-section { margin-bottom: 46px; }
  .consumer-experience .consumer-reply-steps { gap: 14px; }
}
@media(prefers-reduced-motion:reduce) {
  .consumer-faq summary > span { transition: none; }
}

/* One branch, one practical visit card. */
body.consumer-visit-page .section-nav-consumer { position:static; }
.visit-main { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:44px 0 54px; }
.visit-heading { margin-bottom:30px; }
.visit-main .eyebrow { color:#9c470e; font-size:.7rem; letter-spacing:.16em; margin:0 0 13px; }
.visit-heading h1 { font-family:Georgia,'Times New Roman',serif; color:#3a1e10; font-size:clamp(2.5rem,4.5vw,4rem); font-weight:500; line-height:1.06; margin:0 0 16px; letter-spacing:-.045em; }
.visit-heading > p:last-child { color:#755d4d; margin:0; font-size:1rem; line-height:1.65; }
.visit-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:0; border:1px solid #e7cebb; border-radius:28px; background:#fffaf5; overflow:hidden; scroll-margin-top:95px; }
.visit-product { margin:12px; border-radius:19px; background:radial-gradient(ellipse at 50% 55%,#f8dab6,transparent 60%),#f1e3d2; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px 22px; }
.visit-product > img { width:100%; height:350px; object-fit:contain; }
.visit-product figcaption { color:#643b20; margin-top:22px; font-size:.85rem; letter-spacing:.04em; text-align:center; }
.visit-product figcaption span { display:block; margin-top:5px; font-size:.74rem; color:#755d4d; letter-spacing:0; }
.visit-details { min-width:0; padding:36px 40px; }
.visit-details address { display:grid; gap:10px; font-style:normal; font-size:.94rem; line-height:1.65; color:#755d4d; }
.visit-details address strong { color:#3a1e10; font-size:1.25rem; font-weight:600; }
.visit-directions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 25px; }
.visit-directions a { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:9px 15px; border:1px solid #e4c9b2; background:#fffdfa; border-radius:12px; font-size:.86rem; color:#593622; text-decoration:none; }
.visit-directions a:hover { background:#f7ebde; border-color:#c89265; }
.visit-directions svg { flex-shrink:0; }
.visit-hours { border-block:1px solid #e7cebb; padding:19px 0; }
.visit-hours h2 { font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; color:#9c470e; margin:0 0 14px; font-weight:600; }
.visit-hours dl { display:grid; gap:9px; margin:0; }
.visit-hours dl > div { display:flex; justify-content:space-between; gap:12px; font-size:.85rem; line-height:1.5; }
.visit-hours dt { color:#755d4d; }
.visit-hours dd { margin:0; color:#3a1e10; text-align:right; }
.visit-contact { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:14px; margin-top:23px; }
.visit-contact .button { min-height:51px; padding:14px 16px; font-size:.9rem; text-align:center; border-radius:14px; justify-content:center; }
.visit-call { display:flex; align-items:center; justify-content:center; gap:10px; color:#75482b; text-decoration:none; min-height:51px; border:1px solid #d9b99f; border-radius:14px; padding:9px 12px; }
.visit-call span { font-size:.72rem; line-height:1.45; }
.visit-call strong { display:block; font-weight:600; font-size:.85rem; color:#3a1e10; }
.visit-call:hover { background:#f7ebde; }
@media(max-width:800px) { .visit-card { grid-template-columns:minmax(0,.62fr) minmax(0,1fr); }.visit-details { padding:28px 24px; }.visit-contact { grid-template-columns:1fr; }.visit-product > img { height:310px; } }
@media(max-width:580px) { .visit-main { padding-top:30px; }.visit-heading { margin-bottom:24px; }.visit-card { grid-template-columns:1fr; }.visit-product { display:none; }.visit-details { padding:27px 22px; }.visit-contact { grid-template-columns:1fr; gap:10px; }.visit-directions a { flex:1; padding:9px 10px; gap:6px; font-size:.82rem; white-space:nowrap; }.visit-hours dl > div { font-size:.8rem; gap:7px; }.visit-call { min-height:48px; } }

/* Experience: one alignment grid and warm, readable interactive surfaces. */
body.consumer-experience { --cool:#9d4a0a; --green:#9d4a0a; --heat-2:#9d4a0a; }
body.consumer-experience .section-nav-consumer { position:static; }
.consumer-experience main > .experience-intro,
.consumer-experience main > .experience-session,
.consumer-experience main > .consumer-experience-questions,
.consumer-experience main > .consumer-request-section,
.consumer-experience main > .model-section,
.consumer-experience main > .experience-guides { width:min(1180px,calc(100% - 48px)); max-width:1180px; margin-inline:auto; }
.consumer-experience .experience-intro { padding:48px 0 58px; align-items:center; }
.consumer-experience main h1,
.consumer-experience main h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.consumer-experience .experience-session { padding:34px; border:1px solid #e7cebb; border-radius:26px; }
.consumer-experience .experience-session-heading { max-width:650px; }
.consumer-experience .experience-session-heading h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.13; }
.consumer-experience .consumer-request-section { margin-block:54px 68px; }
.consumer-experience .consumer-request-section h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.13; margin-top:0; }
.consumer-experience .trial-form textarea { font:inherit; line-height:1.5; }
.consumer-experience .trial-form ::placeholder { color:#88705b; opacity:1; }
.consumer-experience .trial-form .consent-row input { accent-color:#a85217; }
.consumer-experience .form-status a { color:#934714; text-decoration-color:#934714; }
.consumer-experience .model-section { padding:42px 0 0; background:transparent; scroll-margin-top:95px; }
.consumer-experience .model-section .section-copy { margin:0 0 30px; }
.consumer-experience .model-section h2 { font-size:clamp(2rem,3.3vw,3rem); }
.consumer-experience .model-layout { gap:24px; align-items:start; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.consumer-experience .model-layout > * { min-width:0; }
.consumer-experience .model-stage { background:#3a1e10; border-color:#d9b99f; border-radius:24px; box-shadow:none; }
.consumer-experience .stage-sports,
.consumer-experience .stage-controls { background:#fff9f0f5; border:1px solid #dfc3a9; border-radius:15px; color:#3a1e10; box-shadow:0 5px 18px #3a1e1012; }
.consumer-experience .stage-sports .sport-tab { color:#67452f; }
.consumer-experience .stage-sports .sport-tab.is-active { color:#3a1e10; background:#f08223; border-color:#e67819; }
.consumer-experience .stage-sports .sport-tab:hover { background:#f5dfc8; }
.consumer-experience .stage-controls .movement-play { background:#f3e1ce; color:#633a20; border-color:#d7b899; }
.consumer-experience .stage-controls .selection-count,
.consumer-experience .stage-controls .stage-goal label,
.consumer-experience .stage-controls .stage-slider label,
.consumer-experience .stage-controls .stage-insight { color:#755d4d; }
.consumer-experience .stage-controls .stage-phase,
.consumer-experience .stage-controls .stage-value { color:#914610; }
.consumer-experience .stage-goal select { background:#fffaf4; color:#3a1e10; border-color:#d7b899; }
@media(max-width:760px){.consumer-experience .stage-goal select{font-size:16px;min-height:44px}}
.consumer-experience input[type=range] { accent-color:#bc5c17; }
.consumer-experience .hotspot-label { background:#fff8eef2; color:#633a20; border-color:#d09b70; }
.consumer-experience .hotspot:hover .hotspot-label,
.consumer-experience .hotspot:focus-visible .hotspot-label,
.consumer-experience .hotspot.is-selected .hotspot-label,
.consumer-experience .hotspot.is-phase-active .hotspot-label { color:#3a1e10; border-color:#b95c19; }
.consumer-experience .hotspot.is-selected .hotspot-dot { border-color:#ffe1b6; box-shadow:0 0 20px #f08223,0 0 45px #f0822380; }
.consumer-experience .selection-panel { padding:28px; background:#fffaf4; border:1px solid #e3c7b0; border-radius:24px; box-shadow:none; }
.consumer-experience .selection-panel h3 { color:#3a1e10; margin:12px 0 22px; font-family:Georgia,serif; font-weight:400; font-size:2rem; line-height:1.12; }
.consumer-experience .selection-panel .panel-label { color:#984b13; letter-spacing:.1em; font-size:.68rem; }
.consumer-experience .area-card { background:#f6e8d9; border-color:#e1c4a9; border-radius:15px; padding:22px; }
.consumer-experience .area-card h4 { color:#3a1e10; line-height:1.2; }
.consumer-experience .detail-tag { color:#914714; }
.consumer-experience .detail-block strong,
.consumer-experience .tight-insight strong { color:#704122; }
.consumer-experience .detail-block p,
.consumer-experience .tight-insight span { color:#755d4d; }
.consumer-experience .selected-item { background:#fff8ef; color:#3a1e10; border-color:#dcbda2; border-radius:12px; }
.consumer-experience .selected-item:hover,
.consumer-experience .selected-item:focus-visible,
.consumer-experience .selected-item.is-active { background:#f5dfc7; border-color:#b9682b; }
.consumer-experience main .button.ghost { color:#633a20; background:transparent; border-color:#d1ad8c; }
.consumer-experience .selection-panel .button { min-height:48px; border-radius:12px; white-space:normal; text-align:center; line-height:1.5; }
.consumer-experience .journey-strip { background:#f5e8da; border-color:#e1c5ac; border-radius:24px; box-shadow:none; }
.consumer-experience .journey-heading { color:#633a20; }
.consumer-experience .journey-heading span { color:#914714; }
.consumer-experience .journey-steps li { color:#633a20; background:#fffaf4; border-color:#e1c5ac; border-radius:12px; }
.consumer-experience .experience-guides { margin-block:48px 64px; padding:30px 0; background:transparent; border-block:1px solid #e1c5ac; border-radius:0; }
.consumer-experience .experience-guides h2 { line-height:1.15; }
@media(max-width:1000px) {
  .consumer-experience .model-layout { grid-template-columns:1fr; }
  .consumer-experience .model-stage { max-width:720px; width:100%; margin-inline:auto; }
  .consumer-experience .selection-panel { grid-column:auto; }
}
@media(max-width:680px) {
  .consumer-experience main > .experience-intro,
  .consumer-experience main > .experience-session,
  .consumer-experience main > .consumer-experience-questions,
  .consumer-experience main > .consumer-request-section,
  .consumer-experience main > .model-section,
  .consumer-experience main > .experience-guides { width:calc(100% - 36px); }
  .consumer-experience .experience-intro { padding:34px 0 42px; }
  .consumer-experience .experience-session { padding:24px 18px; border-radius:22px; }
  .consumer-experience .experience-session-grid { gap:14px; }
  .consumer-experience .experience-session-grid article { padding:22px; }
  .consumer-experience .consumer-request-section { padding:24px 16px; }
  .consumer-experience .selection-panel { padding:23px 19px; border-radius:22px; }
  .consumer-experience .journey-strip { padding:22px 18px; }
  .consumer-experience .journey-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .consumer-experience .journey-steps li { min-height:84px; font-size:.83rem; padding:12px; }
  .consumer-experience .experience-guides { display:grid; gap:20px; }
}
/* Labels describe a point; they must not extend its click target over nearby points. */
.consumer-experience .hotspot-layer .hotspot { width:var(--hotspot-hit-size); height:var(--hotspot-hit-size); padding:0; display:grid; grid-template-columns:1fr; place-items:center; gap:0; }
.consumer-experience .hotspot-layer .hotspot-dot { grid-area:1/1; order:0; }
.consumer-experience .hotspot-layer .hotspot-label { position:absolute; left:calc(100% + 4px); top:50%; width:max-content; max-width:145px; transform:translateY(-50%); pointer-events:none; font-size:.66rem; letter-spacing:.05em; }
.consumer-experience .hotspot-layer .hotspot--flip { left:auto; right:calc(100% - var(--x)); transform:translate(calc(var(--hotspot-hit-size) / 2),calc(var(--hotspot-hit-size) / -2)); }
.consumer-experience .hotspot-layer .hotspot--flip .hotspot-label { left:auto; right:calc(100% + 4px); text-align:right; }
.consumer-experience .hotspot.is-phase-active:not(:hover):not(:focus-visible):not(.is-selected) .hotspot-label { opacity:0; }
.consumer-experience .area-tagged { background:#f0d9bf; color:#8d4511; }
@media(max-width:680px) {
  .consumer-experience .hotspot-layer .hotspot-label { top:calc(100% + 2px); left:50%; right:auto; transform:translateX(-50%); text-align:center; max-width:120px; }
  .consumer-experience .hotspot-layer .hotspot--flip .hotspot-label { left:auto; right:0; transform:none; text-align:right; }
}

/* Rimbayu interiors: quiet imagery, native swipe, no extra carousel controls. */
.visit-card:has(.visit-interior){grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.visit-interior{position:relative;margin:0;min-height:560px;overflow:hidden;background:#c6aa89}
.visit-interior>img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 45%}
.visit-interior figcaption{position:absolute;inset:auto 0 0;padding:70px 28px 28px;color:#fff8ef;background:linear-gradient(transparent,#251609ba);font:1.4rem/1.2 Georgia,serif;letter-spacing:-.02em}
.visit-interior figcaption span{display:block;font:.73rem/1.5 Arial,sans-serif;letter-spacing:0;margin-top:8px;color:#f4e5d6}
.rimbayu-interiors{margin-top:72px}
.rimbayu-interiors-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.rimbayu-interiors-heading h2{font:400 clamp(2.1rem,4vw,3rem)/1.08 Georgia,serif;letter-spacing:-.04em;margin:0}
.rimbayu-interiors-heading>p{margin:0;color:#85684e;font-size:.75rem}
.rimbayu-interior-strip{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px}
.rimbayu-interior-strip::-webkit-scrollbar{display:none}
.rimbayu-interior-strip:focus-visible{outline:2px solid #b95d22;outline-offset:6px}
.rimbayu-interior-strip figure{margin:0;min-width:0;scroll-snap-align:start}
.rimbayu-interior-strip img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:19px}
.rimbayu-interior-strip figcaption{padding:14px 2px 0;color:#62452e;font-size:.8rem;line-height:1.5}
.consumer-interior-art{min-width:0;margin:0;border-radius:22px;overflow:hidden;background:#efe1d2;border:1px solid #e5cdb6}
.consumer-interior-art img{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:590px;object-fit:cover;object-position:center 46%}
.consumer-interior-art figcaption{padding:18px 23px 22px}
.consumer-interior-art figcaption span{display:block;color:#8e5a33;font-size:.66rem;letter-spacing:.08em}
.consumer-interior-art figcaption strong{display:block;color:#402617;font:400 1.4rem/1.25 Georgia,serif;letter-spacing:-.02em;margin-top:7px}
@media(max-width:900px){.consumer-experience .experience-intro{gap:32px}.consumer-interior-art img{max-height:550px}}
@media(max-width:680px){.rimbayu-interiors{margin-top:48px}.rimbayu-interiors-heading{display:block;margin-bottom:21px}.rimbayu-interiors-heading>p{margin-top:12px}.rimbayu-interior-strip{grid-auto-columns:82%;gap:16px}.rimbayu-interior-strip img{border-radius:16px}.rimbayu-interior-strip figcaption{font-size:.76rem}.consumer-interior-art{border-radius:18px}.consumer-interior-art img{max-height:460px}.consumer-interior-art figcaption{padding:16px 20px 19px}}
@media(max-width:580px){.visit-card:has(.visit-interior){grid-template-columns:1fr}.visit-card .visit-details{order:-1}.visit-interior{display:block;min-height:410px}.visit-interior>img{object-position:center 48%}.visit-interior figcaption{padding:60px 23px 22px}}
