.kapcq-facility { font-family:"Malgun Gothic",sans-serif;color:#203c32;background:#fff}
.kapcq-facility * { box-sizing:border-box}
.kapcq-facility { margin:0}
.kapcq-facility button,
.kapcq-facility a { font:inherit}
.kapcq-facility button { cursor:pointer}
.kapcq-facility button:focus-visible,
.kapcq-facility a:focus-visible { outline:3px solid #b77716;outline-offset:4px}
.kapcq-facility .facility-body { max-width:1248px;margin:auto;padding:48px 24px 72px}
.kapcq-facility .buildings { display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kapcq-facility .buildings button { padding:22px;border:1px solid #d7dfda;background:white;color:#203c32;font-size:21px;font-weight:700;border-radius:4px}
.kapcq-facility .buildings button[aria-pressed=true] { background:#244d3d;color:white;border-color:#244d3d}
.kapcq-facility .buildings small { display:block;font-size:11px;letter-spacing:.12em;margin-top:7px;font-weight:400}
.kapcq-facility .section-heading { display:flex;align-items:center;justify-content:space-between;margin-top:38px;gap:16px}
.kapcq-facility h2 { font-size:24px;margin:0}
.kapcq-facility .hint { color:#707970;font-size:14px}
.kapcq-facility .floors { display:flex;gap:8px;overflow-x:auto;margin:20px 0 30px;padding:4px}
.kapcq-facility .floors button { background:#f4f6f3;border:1px solid transparent;min-width:72px;min-height:48px;color:#536359;border-radius:3px;flex-shrink:0}
.kapcq-facility .floors button[aria-pressed=true] { background:white;border-color:#244d3d;color:#244d3d;font-weight:700;box-shadow:inset 0 -3px #244d3d}
.kapcq-facility .map-heading { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}
.kapcq-facility h3 { font-size:21px;margin:0}
.kapcq-facility .enlarge { color:#244d3d;font-size:14px;text-underline-offset:5px}
.kapcq-facility .map { display:block;width:100%;height:auto;border-radius:4px}
.kapcq-facility .spaces { padding:24px 0;border-bottom:1px solid #dde3dd}
.kapcq-facility .spaces h4 { margin:0 0 14px;font-size:15px}
.kapcq-facility .spaces p { margin:0;color:#526258;line-height:1.9}
.kapcq-facility .note { font-size:13px;color:#786642;line-height:1.7}
.kapcq-facility .visit { margin-top:38px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.kapcq-facility .visit h2 { margin-right:auto;font-size:20px}
.kapcq-facility .visit a { color:#244d3d;text-decoration:none;padding:15px 22px;border:1px solid #d7dfda;border-radius:4px}
.kapcq-facility [hidden] { display:none!important}
@media(max-width:600px) {.kapcq-facility .facility-body { padding:28px 18px 48px}
.kapcq-facility .buildings button { padding:18px}
.kapcq-facility .section-heading { display:block}
.kapcq-facility .hint { margin-bottom:0}
.kapcq-facility .map-heading h3 { font-size:18px}
.kapcq-facility .visit { gap:10px}
.kapcq-facility .visit h2 { width:100%}
.kapcq-facility .visit a { flex:1;text-align:center;padding:14px 8px}
}
.kapcq-facility .enlarge { background:white;border:1px solid #d7dfda;border-radius:4px;padding:12px 16px;min-height:44px;white-space:nowrap}
.kapcq-facility .viewer { width:calc(100% - 32px);max-width:1400px;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:8px;color:#203c32;background:#fff}
.kapcq-facility .viewer::backdrop { background:rgba(12,24,18,.78)}
.kapcq-facility .viewer-head { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #dde3dd}
.kapcq-facility .viewer h2 { font-size:20px}
.kapcq-facility .viewer button { min-height:44px;padding:10px 15px;border:1px solid #d7dfda;border-radius:4px;background:white;color:#244d3d}
.kapcq-facility .viewer button:disabled { opacity:.4;cursor:default}
.kapcq-facility .viewer-tools { display:flex;align-items:center;gap:8px;padding:12px 24px;flex-wrap:wrap}
.kapcq-facility .viewer-tools output { min-width:56px;text-align:center;font-size:14px}
.kapcq-facility .viewer-help { margin:0;padding:0 24px 12px;color:#647367;font-size:13px;line-height:1.6}
.kapcq-facility .viewport { overflow:auto;height:65vh;height:65dvh;background:#f1f3ef;overscroll-behavior:contain}
.kapcq-facility .viewport:focus-visible { outline:3px solid #b77716;outline-offset:-3px}
.kapcq-facility .viewport img { display:block;height:auto;max-width:none;margin:0 auto}
body.kapcq-facility-viewer-open { overflow:hidden}
@media(max-width:600px) {.kapcq-facility .floors { gap:6px}
.kapcq-facility .floors button { min-width:0;flex:1;padding:0 8px}
.kapcq-facility .map-heading { align-items:center}
.kapcq-facility .map-heading h3 { line-height:1.5}
.kapcq-facility .enlarge { padding:10px 12px}
.kapcq-facility .viewer { width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
.kapcq-facility .viewer-head { padding:14px 16px}
.kapcq-facility .viewer h2 { font-size:17px}
.kapcq-facility .viewer-tools { padding:12px 16px;gap:6px}
.kapcq-facility .viewer-help { padding:0 16px 12px}
.kapcq-facility .viewport { height:60vh;height:60dvh}
}


.kapcq-facility dialog:not([open]) { display: none; }
.kapcq-facility .facility-body { padding-top: 0; }
.kapcq-facility button { line-height: 1.4; }

/* Match the church introduction group's shared brand palette and controls. */
.kapcq-facility {
  --facility-blue: var(--kapcq-blue, #1d4882);
  --facility-deep-blue: var(--kapcq-deep-blue, #183a5a);
  --facility-soft: var(--kapcq-soft-blue, #f2f6fa);
  --facility-line: var(--kapcq-line, #dde1e5);
  font-family: inherit;
  color: #30343a;
}
.kapcq-facility .facility-body { padding-top: 24px; }
.kapcq-facility h2,
.kapcq-facility h3,
.kapcq-facility .spaces h4 { color: var(--facility-blue); }
.kapcq-facility h2 { font-weight: 700; line-height: 1.4; }
.kapcq-facility .hint,
.kapcq-facility .viewer-help { color: var(--kapcq-muted-readable, #596168); }
.kapcq-facility .buildings { gap: 1px; padding: 1px; background: var(--facility-line); }
.kapcq-facility .buildings button {
  padding: 18px 24px;
  border: 0;
  border-radius: 0;
  background: var(--facility-soft);
  color: var(--facility-blue);
}
.kapcq-facility .buildings button[aria-pressed=true] {
  background: var(--facility-blue);
  color: #fff;
}
.kapcq-facility .section-heading {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--facility-line);
}
.kapcq-facility .floors button {
  border: 1px solid var(--facility-line);
  border-radius: 7px;
  background: var(--facility-soft);
  color: var(--facility-blue);
  font-size: 14px;
  font-weight: 600;
}
.kapcq-facility .floors button[aria-pressed=true] {
  border-color: var(--facility-blue);
  background: var(--facility-blue);
  color: #fff;
  box-shadow: none;
}
.kapcq-facility .map { border: 1px solid var(--facility-line); border-radius: 0; }
.kapcq-facility .spaces {
  padding: 24px;
  border-bottom: 0;
  border-left: 4px solid var(--facility-blue);
  background: var(--facility-soft);
}
.kapcq-facility .spaces p,
.kapcq-facility .note { color: #30343a; }
.kapcq-facility .visit {
  padding-top: 24px;
  border-top: 1px solid var(--facility-line);
}
.kapcq-facility .enlarge,
.kapcq-facility .visit a,
.kapcq-facility .viewer button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 9px 15px;
  border: 1px solid var(--facility-blue);
  border-radius: 7px;
  background: #fff;
  color: var(--facility-blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.kapcq-facility .enlarge:hover,
.kapcq-facility .enlarge:focus-visible,
.kapcq-facility .visit a:hover,
.kapcq-facility .visit a:focus-visible,
.kapcq-facility .viewer button:not(:disabled):hover,
.kapcq-facility .viewer button:not(:disabled):focus-visible {
  background: var(--facility-blue);
  color: #fff;
}
.kapcq-facility .buildings button:hover,
.kapcq-facility .floors button:hover {
  background: var(--facility-deep-blue);
  color: #fff;
}
.kapcq-facility button:focus-visible,
.kapcq-facility a:focus-visible {
  outline: 2px solid var(--facility-blue);
  outline-offset: 3px;
}
.kapcq-facility .buildings button:focus-visible { outline-offset: -4px; outline-color: currentColor; }
.kapcq-facility .viewer { color: #30343a; border-radius: 7px; }
.kapcq-facility .viewer::backdrop { background: rgba(23,43,67,.78); }
.kapcq-facility .viewer-head { border-bottom-color: var(--facility-line); }
.kapcq-facility .viewport { background: var(--facility-soft); }
.kapcq-facility .viewport:focus-visible { outline: 2px solid var(--facility-blue); outline-offset: -3px; }
@media(max-width:600px) {
  .kapcq-facility .buildings button { padding: 16px 12px; font-size: 19px; }
  .kapcq-facility .spaces { padding: 20px 16px; }
  .kapcq-facility .enlarge,
  .kapcq-facility .visit a,
  .kapcq-facility .viewer button { min-height: 44px; }
}
