/* Shared collection chrome and interactions. Scoped: legacy themes stay unchanged. */
.rc-site { --rc-radius:20px; }
.rc-scene { --rc-radius:2px; }
.rc-grove { --rc-radius:26px; }
.rc-coast { --rc-paper:#e0eff3; --rc-ink:#243a40; --rc-muted:#566d76; --rc-line:#c4d9df; }
.rc-scene { --rc-paper:#ede8e2; --rc-ink:#53473f; --rc-line:#cec1b6; --rc-stage:#201c1b; --rc-scene-ribbon:#a74454; }
.rc-grove { --rc-paper:#f5f8f5; --rc-ink:#344a40; --rc-muted:#6b7d73; --rc-line:#bfcdc4; --rc-display:Georgia,serif; }
.rc-inner.rc-coast .rc-header>.rc-brand { position:absolute; left:50%; transform:translateX(-50%); max-width:270px; }
.rc-inner.rc-coast .rc-desktop-nav { display:none; }
.rc-inner.rc-coast .rc-header-actions { width:100%; justify-content:flex-end; }
.rc-inner.rc-coast .rc-menu-button { position:absolute; left:4%; background:var(--rc-brand); color:white; border:0; width:66px; border-radius:30px; }
.rc-site .rc-credits { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:0 0 24px; font:12px/1.25 Arial,sans-serif; color:var(--rc-muted); }
.rc-site .rc-credits a { display:inline-flex; gap:10px; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:8px 14px; border:1px solid var(--rc-line); border-radius:999px; background:color-mix(in srgb,var(--rc-ink) 4%,transparent); text-decoration:none; }
.rc-site .rc-credits strong { color:var(--rc-ink); font-size:12px; letter-spacing:0; }
.rc-site .rc-credits a:hover { background:color-mix(in srgb,var(--rc-ink) 9%,transparent); }
.rc-site .rc-credits .plandom-credit img { display:block; width:18px; height:18px; flex:0 0 18px; object-fit:contain; border-radius:0; }
.rc-site .rc-credits .studio-credit img { display:block; width:96px; height:auto; filter:none; }
.rc-site .rc-credits .studio-credit span { font:700 12px/1.25 Arial,sans-serif; }
/* Shared by standalone homepages and React inner-page menus. Fit all links,
   including documents/construction, without hiding items behind overflow. */
.rc-site .rc-menu[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; height:100dvh; max-height:100dvh; width:100%; margin:0; padding:clamp(12px,3dvh,30px) 6%; box-sizing:border-box; }
.rc-site .rc-menu .rc-menu-top { min-width:0; gap:12px; }
.rc-site .rc-menu .rc-menu-top strong { font-size:16px; overflow-wrap:anywhere; }
.rc-site .rc-menu .rc-menu-top button { flex:0 0 44px; width:44px; height:44px; }
.rc-site .rc-menu nav { display:grid; align-content:center; margin:0; min-height:0; gap:0 24px; }
.rc-site .rc-menu nav>a { min-height:44px; display:flex; align-items:center; font-size:clamp(18px,3.7dvh,38px); line-height:1.15; padding:7px 0; overflow-wrap:anywhere; }
.rc-site .rc-menu>.rc-button,.rc-site .rc-menu>div:last-child .rc-button { min-height:44px; padding:12px 20px; justify-self:start; }
@media (max-height:540px) and (min-width:540px) {
  .rc-site .rc-menu nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc-site .rc-menu nav>a { font-size:20px; padding:4px 0; }
}
@media (max-height:460px) {
  .rc-site .rc-menu[open] { gap:6px; padding-block:8px; }
  .rc-site .rc-menu nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc-site .rc-menu nav>a { font-size:16px; padding:4px 0; }
}
.rc-site .rc-location-map { grid-column:1/-1; width:100%; min-width:0; margin-top:32px; }
.rc-site .rc-location-map iframe { display:block; width:100%; height:clamp(320px,52vw,540px); border:1px solid var(--rc-line); border-radius:var(--rc-radius); background:var(--rc-paper); }
.rc-site .rc-location-nearby { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:16px; font:13px/1.4 Arial,sans-serif; }
.rc-site .rc-location-nearby a { padding:10px 14px; min-height:44px; display:inline-flex; align-items:center; border:1px solid var(--rc-line); border-radius:999px; }
.rc-site .rc-location-nearby a:hover { background:color-mix(in srgb,var(--rc-brand) 10%,transparent); }
.rc-site .rc-location-note { font:12px/1.5 Arial,sans-serif; color:var(--rc-muted); margin-top:12px; }
.rc-inner { --site-bg:var(--rc-paper)!important; --site-surface:color-mix(in srgb,var(--rc-paper) 40%,white)!important; --site-text:var(--rc-ink)!important; --site-muted:var(--rc-muted)!important; --site-line:var(--rc-line)!important; min-height:100dvh; background:var(--rc-paper); color:var(--rc-ink); }
.rc-inner[data-design-template] { --design-heading:var(--rc-display); --template-display:var(--rc-display); --template-body:Arial,sans-serif; --site-font-display:var(--rc-display); --site-font-body:Arial,sans-serif; --template-panel-radius:var(--rc-radius); --template-panel-bg:var(--site-surface); --template-panel-shadow:none; }
.rc-inner[data-design-template] .inner-hero__copy h1 { font-family:var(--rc-display); font-weight:400; }
.rc-inner .legal-card h2 { font-family:var(--rc-display)!important; font-size:24px; font-weight:400; letter-spacing:-.03em!important; text-transform:none!important; }
.rc-inner #site-content { min-height:50vh; }
.rc-inner .rc-header { box-shadow:none; }
.rc-inner .rc-menu:not([open]) { display:none; }
html:has(.rc-menu[open]) { overflow:hidden; }
.rc-inner .inner-hero { max-width:none; padding:60px 6% 50px; margin:0; border-bottom:1px solid var(--rc-line); background:var(--rc-paper); color:var(--rc-ink); border-radius:0; }
.rc-inner .inner-hero::before,.rc-inner .inner-hero::after { display:none; }
.rc-inner .breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 32px; color:var(--rc-muted); font:12px/1.5 Arial,sans-serif; }
.rc-inner .breadcrumbs a:hover { text-decoration:underline; }
.rc-inner .inner-hero__copy { max-width:1050px; }
.rc-inner .inner-hero h1 { font-family:var(--rc-display); font-size:clamp(38px,5vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1.08; overflow-wrap:anywhere; }
.rc-inner .inner-hero__copy>p { max-width:760px; margin-top:24px; font:16px/1.65 Arial,sans-serif; color:var(--rc-muted); }
.rc-inner .legal-page,.rc-inner .contact-layout { max-width:1600px; margin:auto; padding:50px 6% 80px; background:none; }
.rc-inner .legal-page__grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2.3fr); gap:5%; align-items:start; }
.rc-inner :is(.legal-card,.legal-document,.contact-panel) { min-width:0; padding:30px; border:1px solid var(--rc-line); border-radius:var(--rc-radius); background:var(--site-surface); color:var(--rc-ink); box-shadow:none; }
.rc-inner .legal-card { position:static; }
.rc-inner .legal-card dl { display:block; }
.rc-inner .legal-card dl>div { border:0; padding:0; }
.rc-inner .legal-document { columns:auto; column-count:1; column-width:auto; }
.rc-inner .legal-document h2 { break-after:auto; }
.rc-inner :is(.legal-card,.legal-document,.contact-panel) h2 { font:400 28px/1.2 var(--rc-display); letter-spacing:-.03em; margin:0 0 20px; color:var(--rc-ink); }
.rc-inner .legal-document h2:not(:first-child) { margin-top:36px; }
.rc-inner .legal-document :is(p,li),.rc-inner .legal-card dl { font:14px/1.8 Arial,sans-serif; color:var(--rc-ink); }
.rc-inner .legal-document p { margin:0 0 16px; }
.rc-inner .legal-document ul { list-style:disc; margin:0 0 20px; padding-left:22px; }
.rc-inner .legal-card dd { margin:5px 0 20px; overflow-wrap:anywhere; }
.rc-inner .legal-card dt { font-size:12px; color:var(--rc-muted); }
.rc-inner .legal-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.rc-inner :is(.btn,.contact-panel button[type=submit]) { min-height:48px; border-radius:var(--rc-radius); padding:12px 22px; background:var(--rc-brand); color:white; font:600 13px/1.5 Arial,sans-serif; border:1px solid var(--rc-brand); }
.rc-inner .btn.secondary { background:transparent; color:var(--rc-ink); border-color:var(--rc-line); }
.rc-inner .contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.rc-inner .contact-panel .floor-stage { background:#fff; border:0; border-radius:var(--rc-radius); }
.rc-inner .contact-panel .floor-stage img { width:100%; min-width:0; height:100%; max-height:380px; object-fit:contain; margin:auto; }
.rc-inner .contact-panel .floor-stage { display:flex; align-items:center; justify-content:center; height:320px; min-height:0; overflow:hidden; }
.rc-inner .contact-panel :is(input:not([type=checkbox]),textarea,select) { background:var(--rc-paper); color:var(--rc-ink); border:1px solid var(--rc-line); min-height:48px; border-radius:8px; font-size:16px; }
.rc-inner .contact-panel .section-text { color:var(--rc-muted); font-size:14px; margin:18px 0; }
.rc-inner .rc-footer { border-top:1px solid var(--rc-line); background:var(--rc-paper); }
.rc-inner [data-embedded-catalog] { --embed-bg:var(--rc-paper); --embed-surface:var(--site-surface); --embed-text:var(--rc-ink); --embed-muted:var(--rc-muted); --embed-line:var(--rc-line); --embed-soft:color-mix(in srgb,var(--rc-brand) 6%,var(--rc-paper)); font-family:Arial,sans-serif; }
.rc-inner [data-embedded-catalog]>header { top:88px; }
.rc-inner [data-embedded-catalog] :is(h1,h2,h3) { font-family:var(--rc-display); letter-spacing:-.035em; }
.rc-inner [data-embedded-catalog] h2 { font-size:clamp(25px,3vw,38px); }
/* Same contact entry point as older themes; theme colors, not the legacy light/dark skin. */
.rc-site :is(.rc-contact-launcher,.contact-fab) { position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); z-index:65; font:14px/1.5 Arial,sans-serif; }
.rc-site :is(.rc-contact-trigger,.contact-fab__button) { position:static; display:flex; align-items:center; justify-content:center; gap:10px; min-height:54px; width:auto; border:1px solid #ffffff55; border-radius:99px; padding:14px 24px; background:var(--rc-brand); color:#fff; font-size:14px; font-weight:600; box-shadow:0 8px 30px #142c3026; }
.rc-site .rc-contact-trigger span { font-size:22px; line-height:1; }
.rc-site :is(.rc-contact-panel,.contact-fab__panel) { position:absolute; inset:auto 0 calc(100% + 12px) auto; width:320px; max-width:calc(100vw - 32px); padding:22px; background:var(--rc-paper); color:var(--rc-ink); border:1px solid var(--rc-line); border-radius:var(--rc-radius); box-shadow:0 12px 50px #132c3026; max-height:calc(100dvh - 120px); overflow:auto; }
.rc-site .contact-fab__panel.open { display:grid; gap:10px; }
.rc-site .contact-fab__panel[aria-hidden=true] { display:none!important; }
.rc-site .contact-fab__panel small { display:block; font-size:10px; color:var(--rc-muted); margin-top:3px; }
.rc-site :is(.rc-contact-panel>strong,.contact-fab__head strong) { font-size:19px; color:var(--rc-ink); }
.rc-site :is(.rc-contact-panel>p,.contact-fab__head span) { display:block; font-size:12px; color:var(--rc-muted); margin:5px 0 16px; }
.rc-site :is(.rc-contact-panel,.contact-fab__panel) :is(a,button) { display:flex; align-items:center; justify-content:flex-start; gap:10px; width:100%; min-height:44px; margin:6px 0 0; padding:10px 12px; border:1px solid var(--rc-line); border-radius:10px; background:transparent; color:var(--rc-ink); font-size:13px; text-align:left; }
.rc-site :is(.rc-contact-panel,.contact-fab__panel) :is(a,button):hover { background:color-mix(in srgb,var(--rc-brand) 8%,var(--rc-paper)); }
.rc-contact-channels small { display:none; }
.rc-contact-channels svg { width:18px; height:18px; fill:none; stroke:currentColor; }
/* Static homepage and React inner-page chat share geometry and visual hierarchy. */
.rc-site :is(.manager-chat,.chat-window) { position:fixed!important; top:auto!important; left:auto!important; right:24px!important; bottom:24px!important; margin:0!important; width:390px!important; max-width:calc(100vw - 32px)!important; height:auto; max-height:calc(100dvh - 48px)!important; padding:0; overflow:hidden; border:1px solid var(--rc-line); border-radius:var(--rc-radius)!important; background:var(--rc-paper); color:var(--rc-ink); box-shadow:0 16px 70px #10252b40; font:14px/1.55 Arial,sans-serif; z-index:80; transform:none!important; }
.rc-site .manager-chat[open] { display:flex; flex-direction:column; }
.rc-site .manager-chat::backdrop { backdrop-filter:none; background:#10252b30; }
.rc-site :is(.manager-chat__head,.chat-window__head) { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 16px 18px 22px; background:var(--rc-brand); color:white; border:0; flex-shrink:0; }
.rc-site :is(.manager-chat__head strong,.chat-window__head-title) { display:block; color:#fff; font:600 18px/1.3 Arial,sans-serif; }
.rc-site :is(.manager-chat__head span,.chat-window__head-sub) { display:block; color:#fff; opacity:.8; font-size:11px; line-height:1.5; margin-top:5px; }
.rc-site :is(.manager-chat__head button,.chat-window__head-close) { flex:0 0 44px; width:44px; height:44px; min-height:44px; border:1px solid #ffffff55; border-radius:50%; background:none; color:#fff; font-size:25px; display:grid; place-items:center; }
.rc-site :is(.manager-chat__messages,.chat-messages) { padding:22px; min-height:150px; max-height:340px; overflow:auto; flex:1 1 auto; background:var(--rc-paper); }
.rc-site :is(.manager-chat__welcome,.chat-welcome) { font-size:14px; line-height:1.65; color:var(--rc-muted); margin:0; }
.rc-site :is(.manager-chat__message,.chat-bubble__content) { max-width:90%; padding:12px 15px; margin:0 0 12px; border-radius:15px; overflow-wrap:anywhere; font-size:14px; }
.rc-site :is(.manager-chat__message--customer,.chat-bubble--customer .chat-bubble__content) { background:var(--rc-brand); color:white; margin-left:auto; }
.rc-site :is(.manager-chat__message--manager,.chat-bubble--manager .chat-bubble__content) { background:#fff; color:var(--rc-ink); border:1px solid var(--rc-line); }
.rc-site :is(.manager-chat__form,.chat-send) { display:flex; gap:10px; margin:0; padding:16px; border-top:1px solid var(--rc-line); background:var(--rc-paper); flex-shrink:0; }
.rc-site :is(.manager-chat__form textarea,.chat-send textarea) { min-width:0; flex:1; width:100%; min-height:48px; max-height:120px; border:1px solid var(--rc-line); padding:12px; border-radius:12px; background:#fff; color:var(--rc-ink); font-size:16px; resize:vertical; }
.rc-site :is(.manager-chat__form button,.manager-chat__contact button,.chat-send button,.chat-identify__form button) { min-height:44px; padding:10px 14px; border:0; border-radius:12px; background:var(--rc-brand); color:#fff; font:600 12px/1.4 Arial,sans-serif; }
.rc-site :is(.manager-chat__contact,.chat-identify) { padding:22px; overflow:auto; color:var(--rc-ink); background:var(--rc-paper); }
.rc-site .chat-window__body { max-height:calc(100dvh - 165px); overflow:auto; background:var(--rc-paper); }
.rc-site .chat-identify h3 { margin:16px 0 10px; font:400 24px/1.3 var(--rc-display); }
.rc-site .chat-identify>p { font-size:13px; color:var(--rc-muted); margin-bottom:20px; }
.rc-site :is(.manager-chat__contact,.chat-identify__form) input:not([type=checkbox]) { width:100%; min-height:48px; border:1px solid var(--rc-line); border-radius:10px; padding:12px; background:#fff; color:var(--rc-ink); font-size:16px; }
.rc-site :is(.manager-chat__consent,.chat-identify__consent) { display:flex; gap:10px; align-items:flex-start; font-size:11px; line-height:1.5; color:var(--rc-muted); }
.rc-site :is(.manager-chat__consent,.chat-identify__consent) input { flex:0 0 18px; width:18px; height:18px; accent-color:var(--rc-brand); }
.rc-site :is(.manager-chat__consent,.chat-identify__consent) a { text-decoration:underline; }
.rc-site .manager-chat__status { padding:0 16px 12px; font-size:12px; color:var(--rc-muted); }
.rc-site .manager-chat__status:empty { display:none; }
@media(max-width:760px) {
  .rc-inner .rc-header { height:72px; }
  .rc-inner.rc-coast .rc-header>.rc-brand { position:static; transform:none; max-width:160px; }
  .rc-inner.rc-coast .rc-header-actions { width:auto; }
  .rc-inner.rc-coast .rc-menu-button { position:static; width:44px; }
  .rc-inner [data-embedded-catalog]>header { top:72px; }
  .rc-inner .inner-hero { padding:32px 5%; }
  .rc-inner .inner-hero h1 { font-size:clamp(34px,8.5vw,50px); }
  .rc-inner .inner-hero__copy>p { font-size:14px; }
  .rc-inner .legal-page,.rc-inner .contact-layout { padding:30px 5% 50px; }
  .rc-inner .legal-page__grid,.rc-inner .contact-layout { grid-template-columns:1fr; gap:22px; }
  .rc-inner :is(.legal-card,.legal-document,.contact-panel) { padding:22px; }
  .rc-inner .legal-document h2 { font-size:25px; }
  .rc-inner .legal-actions .btn { width:100%; text-align:center; }
  .rc-site :is(.rc-contact-launcher,.contact-fab) { right:16px; bottom:max(16px,env(safe-area-inset-bottom)); }
  .rc-site :is(.manager-chat,.chat-window) { right:12px!important; bottom:max(12px,env(safe-area-inset-bottom))!important; width:calc(100vw - 24px)!important; max-width:calc(100vw - 24px)!important; max-height:calc(100dvh - 24px)!important; }
  .rc-site :is(.manager-chat__messages,.chat-messages) { max-height:35dvh; }
  .rc-site .rc-credits { gap:8px 24px; }
}
@media(prefers-reduced-motion:reduce) { .rc-site :is(.rc-button,.rc-contact-trigger) { transition:none; } }
