@font-face {
  font-family: "SB Aggro";
  src: url("/public/fonts/SB-Aggro-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "SUIT";
  src: url("/public/fonts/SUIT-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "SUIT";
  src: url("/public/fonts/SUIT-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "SUIT";
  src: url("/public/fonts/SUIT-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "SUIT";
  src: url("/public/fonts/SUIT-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "SB Aggro";
  src: url("/public/fonts/SB-Aggro-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  color-scheme: light;
  --paper: #ffffff;
  --canvas: #f5f7fa;
  --ink: #101828;
  --article-text: #263247;
  --muted: #5d6878;
  --line: #d9e0ea;
  --blue: #1649d8;
  --blue-dark: #0f35a6;
  --blue-soft: #eaf0ff;
  --max: 1384px;
  --shell-gutter: 64px;
  --public-content-inline: clamp(24px, 3.5vw, 50px);
  --public-section-block: clamp(48px, 5vw, 68px);
  --public-hero-block: clamp(48px, 5vw, 62px);
  --public-page-title: clamp(44px, 5vw, 64px);
  --public-section-title: clamp(26px, 2.4vw, 32px);
  --public-card-title: clamp(18px, 1.5vw, 22px);
  --body-font: "SUIT", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  --heading-font: "SB Aggro", var(--body-font);
  --base-font-size: 16px;
  --base-line-height: 1.65;
  --topic-nav-group-size: 13px;
  --topic-nav-item-size: 14px;
  --topic-nav-meta-size: 11px;
  --topic-nav-row-height: 42px;
  --topic-nav-indent: 14px;
  --topic-nav-gap: 4px;
  --motion-fast: 160ms;
  --motion-base: 240ms;
  --motion-reveal: 320ms;
  --motion-enter: 300ms;
  --motion-stagger: 45ms;
  --motion-distance: 8px;
  --motion-entry-base: 0ms;
  --motion-ease: cubic-bezier(.16, 1, .3, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--body-font);
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
  -webkit-font-smoothing: antialiased;
}
body.admin-page { --heading-font: "SB Aggro", var(--body-font); }
body[data-design-heading-font="serif"] { --heading-font: "Noto Serif KR", "Nanum Myeongjo", Batang, serif; }
body[data-design-body-font="serif"] { --body-font: "Noto Serif KR", "Nanum Myeongjo", Batang, serif; }
body[data-design-base-size="compact"] { --base-font-size: 15px; --topic-nav-group-size: 12px; --topic-nav-item-size: 13px; --topic-nav-meta-size: 10px; }
body[data-design-base-size="large"] { --base-font-size: 18px; --topic-nav-group-size: 14px; --topic-nav-item-size: 16px; --topic-nav-meta-size: 12px; }
body[data-design-line-height="comfortable"] { --base-line-height: 1.82; }
body[data-design-brand-color="navy"] { --blue: #17345f; --blue-dark: #0c2344; --blue-soft: #e9eef5; }
body[data-design-brand-color="teal"] { --blue: #087f78; --blue-dark: #055f5a; --blue-soft: #e6f5f3; }
body[data-design-brand-color="plum"] { --blue: #7a315f; --blue-dark: #572042; --blue-soft: #f6eaf2; }
body[data-design-content-width="narrow"] { --max: 1160px; }
body[data-design-content-width="wide"] { --max: 1540px; }
body[data-design-spacing="compact"] { --shell-gutter: 40px; }
body[data-design-spacing="roomy"] { --shell-gutter: 88px; }
body[data-design-spacing="compact"] { --topic-nav-row-height: 38px; --topic-nav-gap: 2px; }
body[data-design-spacing="roomy"] { --topic-nav-row-height: 46px; --topic-nav-gap: 6px; }
body[data-design-brand-size="small"] .brand-logo { height: 38px; max-width: min(180px, 29vw); }
body[data-design-brand-size="large"] .brand-logo { height: 60px; max-width: min(270px, 38vw); }
body[data-design-header-height="compact"] .site-header { min-height: 76px; }
body[data-design-header-height="tall"] .site-header { min-height: 112px; }
body[data-design-notice-density="compact"] .site-migration-notice { padding-block: 6px; font-size: 11px; }
body[data-design-notice-density="roomy"] .site-migration-notice { padding-block: 17px; font-size: 13px; }
:where(h1, h2, h3, h4, h5, h6) { font-family: var(--heading-font); }

@view-transition { navigation: auto; }
@keyframes bodyconditioner-page-enter {
  from { opacity: .55; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes bodyconditioner-page-old {
  to { opacity: 0; transform: translateX(-10px); }
}
@keyframes bodyconditioner-page-new {
  from { opacity: .55; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes bodyconditioner-route-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes bodyconditioner-route-sweep {
  0% { transform: translate3d(-125vw, 0, 0) skewX(-12deg); }
  100% { transform: translate3d(125vw, 0, 0) skewX(-12deg); }
}
@keyframes bodyconditioner-title-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes editorial-rise {
  from { opacity: 0; transform: translateY(var(--motion-distance)); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes editorial-visual-settle {
  from { opacity: 0; transform: scale(1.006); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes atlas-zone-confirm {
  0% { opacity: .7; transform: scale(.92); }
  100% { opacity: 0; transform: scale(1.22); }
}
@media (prefers-reduced-motion: no-preference) {
  body:not(.admin-page) main { animation: bodyconditioner-page-enter 280ms var(--motion-ease) both; }
  body:not(.admin-page)::after {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 45;
    width: clamp(110px, 22vw, 320px);
    pointer-events: none;
    background: linear-gradient(90deg, transparent 0 8%, var(--blue) 8% 76%, #3fc7d3 76% 100%);
    animation: bodyconditioner-route-sweep 260ms cubic-bezier(.65, 0, .35, 1) both;
    will-change: transform;
  }
  .community-site-header::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    z-index: 2;
    height: 3px;
    background: var(--blue);
    transform-origin: left center;
    animation: bodyconditioner-route-line 220ms var(--motion-ease) both;
  }
  body:not(.admin-page):not(.atlas-home) main > :first-child :is(.eyebrow, h1, .page-summary, .page-index),
  body:not(.admin-page) .article-header :is(.eyebrow, h1, .article-summary) {
    animation: bodyconditioner-title-enter 280ms var(--motion-ease) both;
  }
  body:not(.admin-page):not(.atlas-home) main > :first-child h1,
  body:not(.admin-page) .article-header h1 { animation-delay: 35ms; }
  body:not(.admin-page):not(.atlas-home) main > :first-child :is(.page-summary, .article-summary),
  body:not(.admin-page) .article-header .article-summary { animation-delay: 70ms; }
  body:not(.admin-page):not(.atlas-home) main > :first-child .page-index { animation-delay: 100ms; }
  ::view-transition-old(root) { animation: none; opacity: 0; }
  ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
  ::view-transition-image-pair(page-main) { isolation: auto; }
  ::view-transition-old(page-main) {
    animation: bodyconditioner-page-old 80ms ease-out both;
    mix-blend-mode: normal;
  }
  ::view-transition-new(page-main) {
    animation: bodyconditioner-page-new 260ms var(--motion-ease) both;
    mix-blend-mode: normal;
  }
  .atlas-home .atlas-heading > * { animation: editorial-rise var(--motion-enter) var(--motion-ease) var(--motion-entry-base) both; }
  .atlas-home .atlas-heading > :nth-child(2) { animation-delay: calc(var(--motion-entry-base) + var(--motion-stagger)); }
  .atlas-home .atlas-heading > :nth-child(3) { animation-delay: calc(var(--motion-entry-base) + var(--motion-stagger) * 2); }
  .atlas-home .atlas-artwork { animation: editorial-visual-settle var(--motion-enter) var(--motion-ease) calc(var(--motion-entry-base) + var(--motion-stagger) * 2.3) both; }
  .atlas-home .atlas-detail { animation: editorial-rise var(--motion-enter) var(--motion-ease) calc(var(--motion-entry-base) + var(--motion-stagger) * 3.2) both; }
}
@supports (view-transition-name: root) {
  body:not(.admin-page) main { animation: none; }
}
a { color: inherit; text-decoration: none; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--blue-dark);
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  transform: translateY(-180%);
  padding: 12px 16px;
  background: var(--ink);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.shell { width: min(calc(100% - var(--shell-gutter)), var(--max)); margin-inline: auto; }

.site-header {
  position: relative;
  min-height: 92px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .95);
}
.nav { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; width: 100%; }
.brand { justify-self: start; display: inline-flex; align-items: center; gap: 12px; font-size: 21px; font-weight: 800; letter-spacing: -.04em; }
.brand-logo { display: block; width: auto; height: 48px; max-width: min(220px, 32vw); object-fit: contain; }
.brand-mark { position: relative; width: 26px; height: 26px; border: 2px solid var(--blue); border-radius: 50%; flex: none; }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; inset: 5px; border: 1px solid var(--blue); border-radius: 50%; }
.brand-mark::after { inset: 11px; background: var(--blue); border: 0; }
.menu { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 1.7vw, 28px); margin: 0; padding: 0; list-style: none; color: #384355; font-size: 13px; font-weight: 700; }
.menu a { position: relative; padding-block: 10px; }
.menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 3px; height: 2px; background: var(--blue); transition: right .2s ease; }
.menu a:hover::after, .menu a.is-active::after { right: 0; }
.nav-action { justify-self: end; display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 18px; border: 1px solid var(--ink); font-size: 13px; font-weight: 800; transition: background .2s ease, color .2s ease; }
.nav-action::after { content: "→"; font-size: 15px; }
.nav-action:hover { background: var(--ink); color: #fff; }
.nav-action.is-active { background: var(--ink); color: #fff; }

main { background: var(--paper); }
.feature { min-height: 470px; display: grid; grid-template-columns: minmax(0, 1.58fr) minmax(330px, .8fr); border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.feature-copy { display: flex; flex-direction: column; justify-content: center; padding: 64px 72px 64px 50px; }
.eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 21px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--blue); }
h1 { max-width: 790px; margin: 0; font-size: clamp(44px, 4vw, 68px); line-height: 1.12; font-weight: 900; letter-spacing: -.065em; word-break: keep-all; }
.feature-title-link { display: inline; }
.feature-title-link:hover { color: var(--blue); }
.feature-summary { max-width: 670px; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; word-break: keep-all; }
.feature-meta { display: flex; align-items: center; gap: 20px; margin-top: 26px; font-size: 12px; font-weight: 700; }
.feature-meta span + span { padding-left: 20px; border-left: 1px solid var(--line); color: var(--muted); }
.feature-visual { position: relative; overflow: hidden; min-height: 470px; border-left: 1px solid var(--line); background: var(--blue); isolation: isolate; }
.feature-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: grayscale(100%) contrast(1.08); }
.feature-visual::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgba(22, 73, 216, .45), rgba(15, 53, 166, .68)), linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px); background-size: auto, 52px 52px, 52px 52px; }
.feature-visual::after { content: ""; position: absolute; inset: 22px; z-index: 1; border: 1px solid rgba(255,255,255,.48); pointer-events: none; }
.visual-index { position: absolute; top: 28px; left: 28px; z-index: 2; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.visual-note { position: absolute; right: 28px; bottom: 26px; z-index: 2; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; writing-mode: vertical-rl; }
.feature-link { position: absolute; left: 28px; bottom: 28px; z-index: 3; display: inline-grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.8); color: #fff; font-size: 20px; }

.article-section { background: var(--canvas); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.articles { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.article-card { position: relative; min-height: 245px; display: flex; flex-direction: column; padding: 30px; background: var(--canvas); transition: background .2s ease; }
.article-card + .article-card { border-left: 1px solid var(--line); }
.article-card:hover { background: var(--blue-soft); }
.article-number { display: flex; justify-content: space-between; align-items: center; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.article-number::after { content: ""; width: 48px; height: 1px; background: var(--line); }
.article-category { margin: 34px 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; }
.article-card h3 { max-width: 315px; margin: 0; font-size: 22px; line-height: 1.38; letter-spacing: -.04em; word-break: keep-all; }
.card-link { display: inline; }
.card-link::after { content: ""; position: absolute; inset: 0; }
.article-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 20px; color: var(--muted); font-size: 11px; font-weight: 700; }
.article-arrow { color: var(--ink); font-size: 17px; transition: transform .2s ease; }
.article-card:hover .article-arrow { transform: translateX(4px); }

.info-section { background: var(--paper); border-bottom: 1px solid var(--line); }
.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.info-card { min-height: 285px; display: flex; flex-direction: column; padding: 32px 30px; scroll-margin-top: 24px; }
.info-card + .info-card { border-left: 1px solid var(--line); }
.info-index { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.info-kicker { margin: 34px 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; }
.info-card h3 { margin: 0; font-size: 23px; line-height: 1.38; letter-spacing: -.04em; word-break: keep-all; }
.info-card > p:last-of-type { margin: 16px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; word-break: keep-all; }
.info-status { align-self: flex-start; margin-top: auto; padding-top: 22px; color: var(--blue); font-size: 11px; font-weight: 800; }
.visit-address { margin-top: 7px; color: var(--muted); font-size: 13px; font-style: normal; line-height: 1.6; }
.visit-details { display: grid; gap: 7px; margin: 18px 0 0; }
.visit-details div { display: grid; grid-template-columns: 44px 1fr; gap: 8px; font-size: 12px; line-height: 1.55; }
.visit-details dt { color: var(--blue); font-weight: 800; }
.visit-details dd { margin: 0; color: var(--muted); }
.reservation-list { display: grid; gap: 7px; margin-top: 18px; }
.reservation-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border: 1px solid var(--line); color: var(--ink); font-size: 11px; transition: border-color .2s ease, color .2s ease; }
.reservation-list a:hover, .reservation-list a:focus-visible { border-color: var(--blue); color: var(--blue); }
.reservation-list strong { font-size: 12px; white-space: nowrap; }

.newsletter-area { background: var(--paper); }
.newsletter { min-height: 190px; display: grid; grid-template-columns: 1fr 1.25fr; align-items: center; gap: 54px; padding: 36px 50px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.newsletter-label { margin: 0 0 10px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.newsletter h2 { max-width: 470px; margin: 0; font-size: 26px; line-height: 1.42; letter-spacing: -.045em; word-break: keep-all; }
.newsletter-status { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 8px; border-bottom: 2px solid var(--ink); color: var(--muted); font-size: 14px; }
.newsletter-status a { color: var(--blue); font-size: 13px; font-weight: 900; white-space: nowrap; }
.newsletter-status a span { display: inline-block; margin-left: 8px; transition: transform .2s ease; }
.newsletter-status a:hover span { transform: translateX(4px); }
.notice { padding: 18px 50px; border: 1px solid var(--line); border-bottom: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

/* News branch: cobalt editorial option 01. */
.news-page { border-inline: 1px solid var(--line); background: var(--paper); }
.news-masthead { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(360px, 1.28fr); align-items: end; gap: 54px; padding: 38px var(--public-content-inline) 30px; border-bottom: 1px solid var(--ink); }
.news-masthead .eyebrow { margin-bottom: 12px; }
.news-masthead h1 { font-size: var(--public-page-title); line-height: 1.02; }
.news-masthead > p { max-width: 660px; margin: 0 0 3px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.news-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); align-items: center; gap: 24px; padding: 13px var(--public-content-inline); border-bottom: 1px solid var(--line); }
.news-categories { display: flex; align-items: center; gap: 4px; overflow-x: auto; }
.news-categories a { flex: none; padding: 9px 13px; color: var(--muted); font-size: 12px; font-weight: 800; }
.news-categories a:hover, .news-categories a.is-active { background: var(--blue); color: #fff; }
.news-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.news-search input { min-width: 0; height: 39px; padding: 0 12px; border: 1px solid var(--line); border-right: 0; border-radius: 0; background: var(--canvas); color: var(--ink); font: inherit; font-size: 12px; }
.news-search button { min-width: 62px; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: #fff; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.news-sort { display: flex; justify-content: flex-end; gap: 14px; padding: 14px var(--public-content-inline) 0; color: var(--muted); font-size: 11px; font-weight: 800; }
.news-sort a { padding-bottom: 5px; border-bottom: 2px solid transparent; }
.news-sort a:hover, .news-sort a.is-active { border-color: var(--blue); color: var(--blue); }
.news-feature { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(340px, .68fr); min-height: 455px; margin: 22px var(--public-content-inline) 0; border: 1px solid var(--ink); }
.news-lead-image { position: relative; overflow: hidden; min-height: 455px; background: var(--blue-soft); }
.news-lead-image::after { content: "LEAD STORY"; position: absolute; left: 20px; top: 20px; padding: 7px 9px; background: var(--blue); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.news-lead-image img { display: block; width: 100%; height: 100%; min-height: 455px; object-fit: cover; transition: transform .35s ease; }
.news-lead-image:hover img { transform: scale(1.015); }
.news-lead-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4vw, 58px); background: var(--blue); color: #fff; }
.news-lead-copy > p:first-child { margin: 0 0 24px; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.news-lead-copy h2 { margin: 0; font-size: clamp(30px, 3.2vw, 48px); line-height: 1.16; letter-spacing: -.055em; word-break: keep-all; }
.news-lead-copy h2 a:hover { text-decoration: underline; text-underline-offset: 6px; }
.news-lead-copy h2 + p { margin: 23px 0 0; color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.75; }
.news-lead-copy > div { display: flex; gap: 18px; margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.35); font-size: 11px; font-weight: 800; }
.news-secondary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 var(--public-content-inline); border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.news-secondary-card { position: relative; min-height: 225px; display: flex; flex-direction: column; padding: 28px; }
.news-secondary-card + .news-secondary-card { border-left: 1px solid var(--line); }
.news-secondary-card > span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.news-secondary-card h2 { margin: 24px 0 0; font-size: 24px; line-height: 1.35; letter-spacing: -.045em; word-break: keep-all; }
.news-secondary-card h2 a::after { content: ""; position: absolute; inset: 0; }
.news-secondary-card p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.news-secondary-card small { margin-top: auto; padding-top: 20px; color: var(--muted); font-size: 10px; }
.news-secondary-card:hover { background: var(--blue-soft); }
.news-secondary-empty { grid-column: 1 / -1; padding: 30px; color: var(--muted); font-size: 12px; }
.news-archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 34px; padding: var(--public-section-block) var(--public-content-inline) 70px; }
.news-section-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.news-section-title h2, .news-ranking h2 { margin: 0; font-size: var(--public-section-title); letter-spacing: -.05em; }
.news-section-title > span { color: var(--muted); font-size: 11px; font-weight: 800; }
.news-list-head, .news-list-row { display: grid; grid-template-columns: 84px minmax(0, 1fr) 100px 48px 62px; gap: 12px; align-items: center; }
.news-list-head { min-height: 38px; padding: 0 12px; border-block: 1px solid var(--ink); color: var(--muted); font-size: 10px; font-weight: 900; }
.news-list-row { min-height: 54px; padding: 8px 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
.news-list-row:hover { background: var(--blue-soft); }
.news-list-category { color: var(--blue); font-weight: 900; }
.news-list-row h3 { min-width: 0; margin: 0; overflow: hidden; font-size: 13px; font-weight: 800; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.news-list-row h3 a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.news-list-row > span:not(.news-list-category), .news-list-row > strong { color: var(--muted); font-size: 12px; font-weight: 700; text-align: right; white-space: nowrap; }
.news-ranking { align-self: start; padding: 28px; border-top: 5px solid var(--blue); background: var(--canvas); }
.news-ranking ol { margin: 24px 0 0; padding: 0; list-style: none; }
.news-ranking li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 7px 10px; padding: 14px 0; border-top: 1px solid var(--line); }
.news-ranking li > span { grid-row: 1 / 3; color: var(--blue); font-size: 17px; font-weight: 900; }
.news-ranking li a { font-size: 12px; font-weight: 800; line-height: 1.45; }
.news-ranking li a:hover { color: var(--blue); }
.news-ranking li small { color: var(--muted); font-size: 10px; }
.news-ranking.is-waiting > p:last-child { color: var(--muted); font-size: 12px; line-height: 1.7; }
.news-empty { margin: 28px var(--public-content-inline) 60px; padding: 58px; border: 1px solid var(--line); border-left: 8px solid var(--blue); background: var(--canvas); }
.news-empty > span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.news-empty h2 { margin: 20px 0 0; font-size: 30px; letter-spacing: -.045em; }
.news-empty p { max-width: 620px; margin: 13px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.news-empty small, .news-empty a { display: inline-block; margin-top: 20px; color: var(--blue); font-size: 11px; font-weight: 900; }

.site-footer { min-height: 78px; display: flex; align-items: center; border-top: 1px solid var(--line); background: var(--ink); color: #fff; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; font-size: 11px; letter-spacing: .03em; }
.footer-brand { font-size: 15px; font-weight: 900; letter-spacing: -.03em; }
.footer-ai-notice { max-width: 310px; color: #aeb8c8; line-height: 1.55; }
.footer-links { display: flex; gap: 24px; color: #c8d0dd; }

.page-hero {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: center;
  gap: 48px;
  padding: var(--public-hero-block) var(--public-content-inline);
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.page-summary { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: clamp(15px, 1.2vw, 16px); line-height: 1.75; word-break: keep-all; }
.page-index { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid var(--blue); color: var(--blue); font-size: 72px; font-weight: 900; letter-spacing: -.08em; }
.page-index::before { content: ""; position: absolute; }

/* Route context follows the compact business-directory toolbar instead of repeating page names. */
.public-route-toolbar {
  margin-top: 18px;
  padding: 22px var(--public-content-inline) 16px;
  border: 1px solid var(--line);
  border-bottom: 0;
  background: var(--paper);
}
.public-route-toolbar .section-label { margin: 0 0 6px; }
.public-route-toolbar strong {
  display: block;
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.035em;
}
.news-page > .public-route-toolbar { border-inline: 0; }
body:not(.admin-page) #main-content > .community-board-shell:first-of-type {
  margin-top: 18px;
  border-top: 1px solid var(--line);
}
.page-section { padding: var(--public-section-block) var(--public-content-inline); border-left: 1px solid var(--line); border-right: 1px solid var(--line); background: var(--paper); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.section-heading h2, .visit-panel h2 { margin: 0; font-size: var(--public-section-title); letter-spacing: -.045em; }
.section-label { margin: 0 0 9px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.text-link { color: var(--blue); font-size: 13px; font-weight: 900; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Body Atlas: a dedicated, non-diagnostic browsing page. */
.atlas-page { padding: 52px 50px 72px; border-inline: 1px solid var(--line); background: var(--paper); }
.atlas-heading { max-width: 940px; margin-bottom: 34px; }
.atlas-heading h1 { max-width: 880px; font-size: clamp(42px, 5vw, 72px); line-height: 1.08; font-weight: 500; letter-spacing: -.055em; }
.atlas-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr); gap: 0; border: 1px solid var(--ink); }
.atlas-artwork { position: relative; min-height: 720px; margin: 0; overflow: hidden; background: #071d3f; }
.atlas-artwork > img { display: block; width: 100%; height: 100%; min-height: 720px; object-fit: cover; object-position: center 32%; }
.atlas-artwork figcaption { position: absolute; left: 18px; right: 18px; bottom: 16px; padding: 10px 12px; background: rgba(7, 29, 63, .86); color: #fff; font-size: 10px; line-height: 1.55; }
.atlas-zone { position: absolute; z-index: 2; display: grid; gap: 1px; min-width: 78px; padding: 8px 10px; border: 1px solid rgba(255,255,255,.78); border-radius: 0; background: rgba(7,29,63,.78); color: #fff; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 0 0 0 rgba(255,255,255,0); transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.atlas-zone::after { content: ""; position: absolute; inset: -7px; border: 1px solid #3fc7d3; opacity: 0; pointer-events: none; }
.atlas-zone span { font-family: "SB Aggro", var(--body-font); font-size: 9px; font-weight: 500; letter-spacing: .08em; }
.atlas-zone b { font-size: 11px; line-height: 1.25; white-space: nowrap; }
.atlas-zone:hover, .atlas-zone:focus-visible { transform: translateY(-2px); background: #fff; color: #071d3f; }
.atlas-zone[aria-pressed="true"] { background: #fff; color: #071d3f; box-shadow: 6px 6px 0 #3fc7d3; }
@media (prefers-reduced-motion: no-preference) {
  .atlas-zone[aria-pressed="true"]::after { animation: atlas-zone-confirm var(--motion-enter) var(--motion-ease) both; }
}
body:not(.admin-page) main { view-transition-name: page-main; }
.atlas-zone-neck { top: 14%; left: 57%; }
.atlas-zone-chest { top: 29%; left: 61%; }
.atlas-zone-arms { top: 38%; left: 17%; }
.atlas-zone-waist { top: 49%; left: 60%; }
.atlas-zone-knees { top: 68%; left: 21%; }
.atlas-zone-feet { top: 83%; left: 59%; }
.atlas-detail { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(32px, 5vw, 72px); border-left: 1px solid var(--ink); background: #f6f3ec; }
.atlas-detail-number { margin-bottom: auto; color: var(--blue); font-family: "SB Aggro", var(--body-font); font-size: clamp(78px, 9vw, 138px); font-weight: 700; line-height: .85; letter-spacing: -.08em; }
.atlas-detail h2 { margin: 3px 0 0; font-size: clamp(34px, 4vw, 56px); font-weight: 500; letter-spacing: -.05em; }
.atlas-detail-summary { margin: 20px 0 0; color: var(--muted); font-size: 15px; line-height: 1.8; word-break: keep-all; }
.atlas-note { margin: 28px 0; padding: 20px 0; border-block: 1px solid var(--line); }
.atlas-note strong { font-size: 12px; }
.atlas-note p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.atlas-detail .button-primary, .atlas-detail .button-secondary { width: 100%; justify-content: center; margin-top: 10px; }
.atlas-safety { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 28px; margin-top: 20px; padding: 24px 28px; border: 1px solid var(--line); color: var(--muted); }
.atlas-safety strong { color: var(--ink); font-size: 13px; }
.atlas-safety p { margin: 0; font-size: 12px; line-height: 1.7; }

.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.content-card { position: relative; min-height: 300px; display: flex; flex-direction: column; padding: 30px; background: var(--canvas); }
.content-card + .content-card { border-left: 1px solid var(--line); }
.content-card:hover { background: var(--blue-soft); }
.content-number { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.content-category { margin: 34px 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; }
.content-card h2 { margin: 0; font-size: 23px; line-height: 1.4; letter-spacing: -.04em; word-break: keep-all; }
.content-card h2 a::after { content: ""; position: absolute; inset: 0; }
.content-card > p:last-of-type { margin: 15px 0 0; color: var(--muted); font-size: 14px; line-height: 1.72; word-break: keep-all; }
.content-meta { display: flex; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 22px; color: var(--muted); font-size: 11px; font-weight: 700; }

.empty-state { min-height: 290px; display: flex; flex-direction: column; justify-content: center; padding: 44px; border: 1px solid var(--line); background: linear-gradient(135deg, var(--canvas), #fff); }
.empty-index { color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.empty-state h2 { margin: 24px 0 0; font-size: 30px; letter-spacing: -.045em; }
.empty-state p { max-width: 700px; margin: 14px 0 0; color: var(--muted); font-size: 15px; line-height: 1.75; word-break: keep-all; }
.home-empty-wrap { padding-block: 20px; }
.home-empty-state { min-height: 220px; }
.video-empty, .profile-empty { min-height: 330px; border-left: 8px solid var(--blue); }

.article-layout { --article-copy-max: 880px; --article-future-rail-width: 300px; padding: 64px 50px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); background: var(--paper); }
.article-header { max-width: 900px; }
.article-published-date { margin: 16px 0 0; color: var(--muted); font-size: 13px; font-weight: 700; }
.article-meta { display: flex; align-items: center; gap: 12px; margin-top: 26px; color: var(--muted); font-size: 12px; font-weight: 700; }
.status-pill { padding: 7px 10px; background: var(--blue-soft); color: var(--blue); }
.article-figure { margin: 48px 0 0; }
.article-figure img { display: block; width: 100%; max-height: 520px; object-fit: cover; filter: grayscale(30%); }
.article-figure figcaption { padding-top: 10px; color: var(--muted); font-size: 11px; }
.article-body { width: min(100%, var(--article-copy-max, 880px)); max-width: none; margin: 54px auto 0; padding: clamp(30px, 3.5vw, 48px); border-top: 3px solid var(--ink); background: var(--canvas); }
.article-body h2 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.article-body p { margin: 18px 0 0; color: var(--muted); font-size: clamp(16px, calc(11px + .45vw), 18px); line-height: 1.9; word-break: keep-all; }
.article-body .text-link { display: inline-block; margin-top: 28px; }
.article-layout:has(.article-document-title) { --article-copy-max: 980px; padding-top: 36px; }
.article-layout:has(.article-document-title) .article-header { max-width: var(--article-copy-max); margin-inline: auto; }
.article-layout:has(.article-document-title) .article-header > h1,
.article-layout:has(.article-document-title) .article-header > .page-summary { display: none; }
.article-layout:has(.article-document-title) .article-body { margin-top: 24px; padding: clamp(32px, 6vw, 76px); border: 1px solid var(--line); border-top: 3px solid var(--ink); background: #fff; box-shadow: 0 18px 52px rgba(15, 25, 45, .08); }
.article-body .article-document-title { margin: 0 0 1.25em; color: var(--ink); font-family: var(--heading-font); font-size: 24px; line-height: 1.35; letter-spacing: -.035em; word-break: keep-all; }
.article-body .article-document-title .editor-font-serif { font-family: Georgia, "Noto Serif KR", serif; }
.article-body .article-document-title .editor-font-mono { font-family: Consolas, "D2Coding", monospace; }
.article-layout:has(.article-document-title) .article-body > h2 { margin-top: 2.25em; }
.article-layout:has(.article-document-title) .article-body > h2:first-of-type { margin-top: 0; }
.article-layout:has(.article-document-title) .article-body figure { margin-block: clamp(26px, 4vw, 48px); }
.article-layout:has(.article-document-title) .article-body figure img { width: auto; max-width: 100%; margin-inline: auto; object-fit: contain; }

.visit-layout { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.visit-panel { min-height: 390px; padding: 38px; }
.visit-panel + .visit-panel { border-left: 1px solid var(--line); }
.visit-panel address { margin-top: 16px; color: var(--muted); font-size: 15px; font-style: normal; }
.service-details { display: grid; gap: 0; margin: 28px 0 0; border-top: 1px solid var(--line); }
.service-details div { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.service-details dt { color: var(--blue); font-weight: 800; }
.service-details dd { margin: 0; color: var(--muted); }
.reservation-list.large { margin-top: 28px; }
.reservation-list.large a { min-height: 58px; padding: 13px 15px; font-size: 13px; }
.reservation-list.large strong { font-size: 14px; }
.reservation-note { margin: 20px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

@media (max-width: 980px) {
  .shell { width: min(calc(100% - 40px), var(--max)); }
  .site-header { height: auto; padding-block: 20px; }
  .nav { grid-template-columns: 1fr auto; }
  .menu { grid-column: 1 / -1; grid-row: 2; justify-content: center; gap: 24px; }
  .feature { grid-template-columns: 1fr; }
  .feature-copy { padding: 56px 38px; }
  .feature-visual { min-height: 300px; border-left: 0; border-top: 1px solid var(--line); }
  .articles { grid-template-columns: 1fr; }
  .article-card { min-height: 200px; }
  .article-card + .article-card { border-left: 0; border-top: 1px solid var(--line); }
  .info-grid { grid-template-columns: 1fr; }
  .info-card { min-height: 230px; }
  .info-card + .info-card { border-left: 0; border-top: 1px solid var(--line); }
  .newsletter { grid-template-columns: 1fr; gap: 24px; padding: 40px 38px; }
  .page-hero { grid-template-columns: 1fr 150px; padding: 52px 38px; }
  .page-index { font-size: 52px; }
  .page-section, .article-layout { padding: 44px 38px; }
  .content-grid { grid-template-columns: 1fr; }
  .content-card { min-height: 230px; }
  .content-card + .content-card { border-left: 0; border-top: 1px solid var(--line); }
  .visit-layout { grid-template-columns: 1fr; }
  .visit-panel + .visit-panel { border-left: 0; border-top: 1px solid var(--line); }
  .news-masthead { grid-template-columns: 1fr; gap: 20px; }
  .news-toolbar { grid-template-columns: 1fr; }
  .news-feature { grid-template-columns: 1fr; }
  .news-lead-image, .news-lead-image img { min-height: 360px; }
  .news-archive-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .shell { width: min(calc(100% - 28px), var(--max)); }
  .nav { gap: 18px; }
  .brand { font-size: 18px; }
  .brand-logo { height: 38px; max-width: min(168px, 44vw); }
  .nav-action { padding: 0 12px; }
  .menu { justify-content: flex-start; flex-wrap: wrap; gap: 2px 16px; overflow: visible; white-space: normal; }
  .menu a { display: inline-flex; align-items: center; min-height: 44px; }
  .feature-copy { padding: 46px 24px; }
  h1 { font-size: 42px; }
  .feature-meta { align-items: flex-start; flex-direction: column; gap: 8px; }
  .feature-meta span + span { padding-left: 0; border-left: 0; }
  .newsletter { padding: 36px 24px; }
  .newsletter-status { align-items: flex-start; flex-direction: column; padding: 16px 8px; }
  .notice { padding: 18px 24px; }
  .footer-inner { align-items: flex-start; flex-direction: column; }
  .site-footer { padding-block: 24px; }
  .footer-links { flex-wrap: wrap; }
  .page-hero { min-height: 0; grid-template-columns: 1fr; gap: 30px; padding: 44px 24px; }
  .public-route-toolbar {
    margin-top: 12px;
    padding: 18px var(--public-content-inline) 14px;
  }
  .public-route-toolbar strong { font-size: 16px; }
  .page-index { width: 94px; font-size: 38px; }
  .page-summary { font-size: 15px; }
  .page-section, .article-layout { padding: 36px 24px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .empty-state { min-height: 260px; padding: 30px 24px; }
  .empty-state h2 { font-size: 25px; }
  .article-body { padding: 30px 24px; }
  .visit-panel { min-height: 0; padding: 30px 24px; }
  .service-details div { grid-template-columns: 82px 1fr; }
  .reservation-list.large a { align-items: flex-start; flex-direction: column; }
  .news-masthead { padding: 32px 24px 24px; }
  .news-masthead h1 { font-size: 48px; }
  .news-toolbar { padding: 12px 24px; }
  .news-categories { margin-inline: -24px; padding-inline: 24px; }
  .news-sort { padding: 13px 24px 0; }
  .news-feature { min-height: 0; margin-inline: 24px; }
  .news-lead-image {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .news-lead-image img {
    height: 100%;
    min-height: 0;
  }
  .news-lead-copy { padding: 26px 22px; }
  .news-lead-copy > p:first-child { margin-bottom: 16px; }
  .news-lead-copy h2 { font-size: clamp(25px, 8vw, 30px); }
  .news-lead-copy h2 + p { margin-top: 16px; }
  .news-lead-copy > div { margin-top: 20px; padding-top: 14px; }
  .news-secondary-grid { grid-template-columns: 1fr; margin-inline: 24px; }
  .news-secondary-card { min-height: 0; padding: 24px 22px; }
  .news-secondary-card h2 { margin-top: 16px; font-size: 21px; }
  .news-secondary-card small { padding-top: 16px; }
  .news-secondary-card + .news-secondary-card { border-left: 0; border-top: 1px solid var(--line); }
  .news-archive-layout { padding: 48px 24px 56px; }
  .news-list-head, .news-list-row { grid-template-columns: 70px minmax(0, 1fr) 52px; gap: 8px; }
  .news-list-head > :nth-child(3), .news-list-head > :nth-child(4), .news-list-row > :nth-child(3), .news-list-row > :nth-child(4) { display: none; }
  .news-list-row h3 { font-size: 12px; }
  .news-empty { margin: 24px; padding: 38px 26px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

.admin-page { background: #eef2f8; }
.admin-page .site-header { background: #fff; }
.admin-badge { justify-self: center; color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .16em; }
.admin-nav-actions { justify-self: end; display: flex; gap: 8px; }
.admin-nav-actions .nav-action { justify-self: auto; }
.admin-shell { display: grid; gap: 24px; padding-block: 46px 72px; }
.admin-intro { max-width: 860px; padding: 20px 0 10px; }
.admin-intro h1 { margin: 14px 0 0; font-size: clamp(38px, 5vw, 66px); line-height: 1.03; letter-spacing: -.055em; }
.admin-intro > p:last-child { max-width: 720px; margin: 22px 0 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.admin-workspace-nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border: 1px solid var(--line); background: #fff; }
.admin-workspace-link { display: grid; gap: 7px; min-height: 88px; padding: 16px; border: 0; border-right: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.admin-workspace-link:last-child { border-right: 0; }
.admin-workspace-link strong { font-size: 14px; }
.admin-workspace-link span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.admin-workspace-link:hover, .admin-workspace-link:focus-visible { background: var(--blue-soft); outline: 2px solid var(--blue); outline-offset: -2px; }
.admin-workspace-link.is-active { background: var(--blue); color: #fff; }
.admin-workspace-link.is-active span { color: rgba(255,255,255,.78); }
.admin-dynamic-tools { min-height: 0; }
.admin-tool-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.admin-tool-group { display: grid; gap: 8px; align-content: start; }
.admin-tool-group h2 { margin: 0; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.admin-tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.admin-tool-card { display: grid; gap: 6px; min-height: 76px; padding: 15px 16px; border: 1px solid var(--line); background: #f8fafc; color: var(--ink); text-decoration: none; }
.admin-tool-card strong { font-size: 13px; }
.admin-tool-card span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.admin-tool-card:hover, .admin-tool-card:focus-visible { border-color: var(--blue); background: var(--blue-soft); outline: 2px solid rgba(22,73,216,.18); }
.admin-tool-form { display: flex; margin: 0; }
.admin-tool-card-button { width: 100%; font: inherit; text-align: left; cursor: pointer; }
.content-ai-task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.content-ai-task-card { display: grid; gap: 8px; min-height: 138px; padding: 20px; border: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.content-ai-task-card span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.content-ai-task-card strong { font-size: 18px; letter-spacing: -.03em; }
.content-ai-task-card small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.content-ai-task-card:hover, .content-ai-task-card:focus-visible { border-color: var(--blue); background: var(--blue-soft); outline: 2px solid rgba(22,73,216,.18); outline-offset: 2px; }
.content-ai-task-card.is-primary { background: var(--blue); color: #fff; }
.content-ai-task-card.is-primary span, .content-ai-task-card.is-primary small { color: rgba(255,255,255,.82); }
.content-ai-alternate-actions { margin-top: 12px; border-top: 1px solid var(--line); }
.content-ai-alternate-actions > summary { width: max-content; padding: 12px 0 0; color: var(--muted); font-size: 11px; font-weight: 800; cursor: pointer; }
.content-ai-alternate-actions[open] > summary { margin-bottom: 12px; color: var(--blue); }
[data-admin-area][hidden] { display: none !important; }
.article-studio { overflow: hidden; }
.article-studio-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 24px; margin-top: 24px; }
.article-session { display: grid; gap: 18px; margin-top: 22px; padding: 24px; border: 1px solid var(--blue); background: linear-gradient(135deg, #fff 0%, #f6f8ff 100%); box-shadow: 10px 10px 0 #e7edff; }
.article-session-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.article-session-heading h3 { margin: 6px 0 8px; font-size: clamp(1.45rem, 2.5vw, 2rem); }
.article-session-heading p { max-width: 720px; margin: 0; color: var(--muted); line-height: 1.65; }
.article-session-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border: 1px solid var(--line); list-style: none; }
.article-session-rail li { display: grid; gap: 4px; min-height: 72px; padding: 14px; border-right: 1px solid var(--line); background: #fff; }
.article-session-rail li:last-child { border-right: 0; }
.article-session-rail li strong { font-size: .82rem; }
.article-session-rail li span { color: var(--muted); font-size: .72rem; }
.article-session-rail li[data-state="active"] { color: #fff; background: var(--blue); }
.article-session-rail li[data-state="active"] span { color: #dbe5ff; }
.article-session-rail li[data-state="complete"] { color: #0d6845; background: #edf9f4; }
.article-session-transcript { display: grid; gap: 12px; max-height: 520px; overflow: auto; padding: 16px; border: 1px solid var(--line); background: #fff; }
.article-session-transcript article { display: grid; gap: 6px; max-width: 88%; padding: 14px 16px; border: 1px solid var(--line); background: var(--surface-soft); }
.article-session-transcript article[data-role="operator"] { justify-self: end; border-color: #9fb1d9; background: #eef3ff; }
.article-session-transcript article[data-state="warning"] { border-left: 4px solid #d58b00; background: #fff8e8; }
.article-session-transcript article[data-state="success"] { border-left: 4px solid #16855b; background: #edf9f4; }
.article-session-transcript article > span { color: var(--blue); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-session-transcript article p { margin: 0; white-space: pre-wrap; line-height: 1.65; }
.article-session-sources { display: grid; gap: 14px; padding: 18px; border: 1px solid #9fb1d9; background: #f7f9ff; }
.article-session-sources[hidden] { display: none; }
.article-session-sources-heading, .article-session-source-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.article-session-sources-heading h4 { margin: 5px 0; font-size: 1.05rem; }
.article-session-sources-heading p, .article-session-source-actions p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.article-session-source-list { display: grid; gap: 10px; }
.article-session-source-card { display: grid; grid-template-columns: minmax(0, 1fr) 160px minmax(180px, .65fr); gap: 12px; align-items: end; padding: 14px; border: 1px solid var(--line); background: #fff; }
.article-session-source-card > div { display: grid; gap: 5px; min-width: 0; }
.article-session-source-card > div > span { color: var(--blue); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.article-session-source-card a { overflow: hidden; color: var(--ink); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.article-session-source-card a:hover { color: var(--blue); text-decoration: underline; }
.article-session-source-card small { color: var(--muted); }
.article-session-source-card label { display: grid; gap: 5px; font-size: .7rem; font-weight: 800; }
.article-session-source-card select, .article-session-source-card input { width: 100%; min-height: 40px; padding: 8px; border: 1px solid var(--line-strong); background: #fff; font: inherit; }
.article-session-composer { display: grid; gap: 10px; }
.article-session-composer > label { font-weight: 800; }
.article-session-composer textarea { width: 100%; min-height: 110px; padding: 14px; border: 1px solid var(--line-strong); resize: vertical; font: inherit; line-height: 1.6; }
.article-session-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.article-session-actions p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.article-session-details { padding: 12px 14px; border: 1px dashed var(--line-strong); background: #fff; }
.article-session-details summary { cursor: pointer; font-weight: 800; }
.article-session-details p { margin: 10px 0 0; color: var(--muted); font-size: .78rem; }
.article-studio-help { margin-top: 18px; border: 1px solid var(--blue); background: #fff; }
.article-studio-help > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; color: var(--ink); cursor: pointer; list-style: none; }
.article-studio-help > summary::-webkit-details-marker { display: none; }
.article-studio-help > summary::after { content: "+"; color: var(--blue); font-size: 22px; font-weight: 700; }
.article-studio-help[open] > summary::after { content: "−"; }
.article-studio-help > summary span { color: var(--muted); font-size: 12px; }
.article-studio-help-body { display: grid; gap: 18px; padding: 20px; border-top: 1px solid var(--line); }
.article-studio-help-alert { display: grid; gap: 6px; padding: 14px 16px; border-left: 4px solid var(--blue); background: #eef3ff; }
.article-studio-help-alert span { color: var(--muted); font-size: 12px; line-height: 1.7; }
.article-studio-help-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.article-studio-help-grid > section { padding: 18px; border: 1px solid var(--line); background: #fbfcff; }
.article-studio-help-grid h3 { margin: 8px 0 12px; }
.article-studio-help-grid ol, .article-studio-help-troubleshooting ul { display: grid; gap: 9px; margin: 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.article-studio-help-grid strong, .article-studio-help-troubleshooting strong { color: var(--ink); }
.article-studio-help-states { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--line); }
.article-studio-help-states > div { display: grid; gap: 6px; min-height: 106px; padding: 14px; border-right: 1px solid var(--line); }
.article-studio-help-states > div:last-child { border-right: 0; }
.article-studio-help-states strong { color: var(--blue); font-size: 11px; }
.article-studio-help-states span { color: var(--muted); font-size: 10px; line-height: 1.55; }
.article-studio-help-troubleshooting { padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.article-studio-help-troubleshooting > summary { cursor: pointer; font-weight: 700; }
.article-studio-help-troubleshooting[open] > summary { margin-bottom: 12px; }
.article-studio-main, .article-studio-sidebar { min-width: 0; }
.article-studio-workflow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 20px; padding: 0; border: 1px solid var(--line); list-style: none; }
.article-studio-workflow li { display: grid; gap: 6px; min-height: 76px; padding: 14px; border-right: 1px solid var(--line); background: #fff; }
.article-studio-workflow li:last-child { border-right: 0; }
.article-studio-workflow strong { color: var(--blue); font-size: 12px; }
.article-studio-workflow span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.article-studio-guidance, .article-studio-image-guide, .article-studio-ai-preview, .article-studio-production-contract, .article-studio-research, .article-studio-storage-check { padding: 20px; border: 1px solid var(--line); background: #fff; }
.article-studio-guidance { margin-bottom: 20px; }
.article-studio-storage-check { margin-top: 18px; border-color: #9fb1d9; background: #fbfcff; }
.article-studio-research { margin: 20px 0; border-color: #aebfe9; background: #f9fbff; }
.article-studio-image-guide { margin-top: 22px; background: #fbfcff; }
.article-studio-ai-preview { margin-top: 18px; border-color: #aebfe9; background: #f7f9ff; }
.article-studio-production-contract { margin-top: 18px; border-color: #9fb1d9; background: #fbfcff; }
.article-studio-guidance .section-heading, .article-studio-image-guide .section-heading, .article-studio-ai-preview .section-heading, .article-studio-production-contract .section-heading { margin-bottom: 10px; }
.article-studio-guidance textarea, .article-studio-image-guide textarea { resize: vertical; line-height: 1.7; }
.article-studio-preset-row { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 14px 0; }
.article-studio-preset-row > span { margin-right: 4px; color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.article-studio-preset-row button { min-height: 34px; padding: 7px 11px; border: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.article-studio-preset-row button:hover, .article-studio-preset-row button:focus-visible { border-color: var(--blue); background: var(--blue-soft); color: var(--blue); outline: 2px solid rgba(22,73,216,.16); }
.article-studio-storage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 14px 0; border: 1px solid var(--line); background: var(--line); }
.article-studio-storage-grid > div { display: grid; gap: 4px; min-height: 86px; padding: 12px; background: #fff; }
.article-studio-storage-grid > div[data-state="missing"] { box-shadow: inset 0 3px #c52a22; }
.article-studio-storage-grid strong { color: var(--blue); font-size: .76rem; }
.article-studio-storage-grid span { font-weight: 900; }
.article-studio-storage-grid small { color: var(--muted); overflow-wrap: anywhere; }
.article-studio-query-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; color: var(--muted); }
.article-studio-query-list span { display: inline-flex; gap: 7px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); background: #fff; font-size: .78rem; }
.article-studio-query-list strong { color: var(--blue); }
.article-studio-source-list { display: grid; gap: 12px; margin: 14px 0; }
.article-studio-source-card { padding: 14px; border: 1px solid var(--line); background: #fff; }
.article-studio-source-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.article-studio-source-card > header .button-danger { min-height: 32px; padding: 6px 10px; }
.article-studio-image-actions { margin-top: 14px; }
.article-studio-run-controls { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: 8px; margin: 20px 0 12px; }
.article-studio-run-controls button { min-height: 44px; }
.article-studio-progress { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 12px; padding: 0; border: 1px solid var(--line); list-style: none; }
.article-studio-progress li { display: grid; gap: 5px; min-height: 70px; padding: 12px; border-right: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 10px; }
.article-studio-progress li:last-child { border-right: 0; }
.article-studio-progress strong { color: var(--ink); font-size: 11px; }
.article-studio-progress li[data-state="running"] { background: var(--blue-soft); color: var(--blue); }
.article-studio-progress li[data-state="completed"] { background: #f0fff7; color: #0d6b3a; }
.article-studio-progress li[data-state="paused"] { background: #fff9e8; color: #8b6100; }
.article-studio-progress li[data-state="cancelled"], .article-studio-progress li[data-state="failed"] { background: #fff4f2; color: #a51f14; }
.article-studio-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 20px; border: 1px solid var(--line); background: var(--line); gap: 1px; }
.article-studio-metrics div { min-width: 0; padding: 12px; background: var(--surface); }
.article-studio-metrics dt { margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 900; }
.article-studio-metrics dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 11px; font-weight: 800; line-height: 1.5; }
.article-studio-pipeline { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 20px 0; border: 1px solid var(--line); }
.article-studio-pipeline button { min-height: 64px; padding: 12px 10px; border: 0; border-right: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.article-studio-pipeline button:last-child { border-right: 0; }
.article-studio-pipeline button:hover, .article-studio-pipeline button:focus-visible { background: var(--blue-soft); color: var(--blue); outline: 2px solid var(--blue); outline-offset: -2px; }
.article-studio-result { border: 1px solid var(--line); background: #fff; }
.article-studio-result .section-heading { padding: 18px 20px; border-bottom: 1px solid var(--line); }
.article-studio-result pre { min-height: 330px; max-height: 560px; margin: 0; padding: 24px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--ink); background: #fbfcff; font: 14px/1.8 var(--body-font); }
.article-studio-draft { margin-top: 24px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.article-studio-draft .section-heading { margin-bottom: 10px; }
.article-studio-draft-meta { margin: 18px 0; }
.article-studio-editor-toolbar { position: sticky; top: 0; z-index: 2; background: #f7f9fd; }
.article-studio-editor-host { min-height: 520px; max-height: 780px; overflow: auto; background: #fff; }
.article-studio-tiptap-content { min-height: 500px; padding: 28px; color: var(--ink); font-size: 16px; line-height: 1.85; outline: none; }
.article-studio-editor-host[data-article-layout-preset] .article-studio-tiptap-content { box-sizing: border-box; margin-inline: auto; transition: max-width .18s ease, padding .18s ease, font-size .18s ease, line-height .18s ease; }
.article-studio-editor-host[data-article-layout-preset="compact"] .article-studio-tiptap-content { max-width: 680px; padding: 24px; font-family: var(--body-font); font-size: 15px; line-height: 1.72; }
.article-studio-editor-host[data-article-layout-preset="compact"] .article-studio-tiptap-content h2 { margin-top: 1.35em; font-size: 23px; }
.article-studio-editor-host[data-article-layout-preset="compact"] .article-studio-tiptap-content h3 { margin-top: 1.2em; font-size: 19px; }
.article-studio-editor-host[data-article-layout-preset="visual"] .article-studio-tiptap-content { max-width: 780px; padding: 36px; font-family: var(--body-font); font-size: 17px; line-height: 1.86; }
.article-studio-editor-host[data-article-layout-preset="visual"] .article-studio-tiptap-content h2 { margin-top: 1.8em; font-size: 30px; }
.article-studio-editor-host[data-article-layout-preset="visual"] .article-studio-tiptap-content h3 { margin-top: 1.55em; font-size: 23px; }
.article-studio-editor-host[data-article-layout-preset="editorial"] .article-studio-tiptap-content { max-width: 720px; padding: 32px; font-family: var(--body-font); font-size: 16px; line-height: 1.9; }
.article-studio-editor-host[data-article-layout-preset="editorial"] .article-studio-tiptap-content h2,
.article-studio-editor-host[data-article-layout-preset="editorial"] .article-studio-tiptap-content h3 { font-family: var(--heading-font); }
.article-studio-tiptap-content h2 { margin: 1.6em 0 .55em; font-size: 26px; line-height: 1.35; }
.article-studio-tiptap-content h3 { margin: 1.4em 0 .5em; font-size: 21px; line-height: 1.4; }
.article-studio-tiptap-content p { margin: 0 0 1em; }
.article-studio-tiptap-content blockquote { margin: 1.3em 0; padding: 16px 20px; border-left: 4px solid var(--blue); background: var(--blue-soft); }
.article-studio-tiptap-content [data-article-callout] { margin: 1.4em 0; padding: 18px 20px; border: 1px solid var(--blue); background: var(--blue-soft); }
.article-studio-tiptap-content [data-article-callout][data-tone="warning"] { border-color: #a96f00; background: #fff8df; }
.article-studio-tiptap-content [data-article-callout] p:last-child { margin-bottom: 0; }
.article-studio-tiptap-content [data-article-table] { width: 100%; margin: 1.5em 0; border-collapse: collapse; table-layout: fixed; }
.article-studio-tiptap-content [data-article-table] th,
.article-studio-tiptap-content [data-article-table] td { min-width: 0; padding: 10px 12px; border: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.article-studio-tiptap-content [data-article-table] th { background: #f2f5fb; text-align: left; }
.article-studio-tiptap-content [data-article-table] p { margin: 0; }
.admin-news-tiptap-content [data-news-callout] { margin: 1.4em 0; padding: 18px 20px; border: 1px solid var(--blue); background: var(--blue-soft); }
.admin-news-tiptap-content [data-news-callout][data-tone="warning"] { border-color: #a96f00; background: #fff8df; }
.admin-news-tiptap-content [data-news-callout] p:last-child { margin-bottom: 0; }
.admin-news-tiptap-content [data-news-table] { width: 100%; margin: 1.5em 0; border-collapse: collapse; table-layout: fixed; }
.admin-news-tiptap-content [data-news-table] th,
.admin-news-tiptap-content [data-news-table] td { padding: 10px 12px; border: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.admin-news-tiptap-content [data-news-table] th { background: #f2f5fb; text-align: left; }
.admin-news-tiptap-content [data-news-table] p { margin: 0; }
.article-callout { margin: 1.7em 0; padding: 20px 22px; border: 1px solid var(--blue); background: var(--blue-soft); }
.article-callout > strong { display: block; margin-bottom: 8px; color: var(--blue); font-size: 12px; letter-spacing: .08em; }
.article-callout > div { line-height: 1.8; }
.article-callout-summary { border-left-width: 5px; }
.article-callout-info { background: #f6f9ff; }
.article-callout-warning { border-color: #a96f00; background: #fff8df; }
.article-callout-warning > strong { color: #7a5000; }
.article-table-scroll { max-width: 100%; margin: 1.8em 0; overflow-x: auto; border: 1px solid var(--line); }
.article-table-scroll:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.article-data-table { width: 100%; min-width: 480px; border-collapse: collapse; }
.article-data-table th, .article-data-table td { padding: 12px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.article-data-table th:last-child, .article-data-table td:last-child { border-right: 0; }
.article-data-table tbody tr:last-child td { border-bottom: 0; }
.article-data-table th { color: var(--ink); background: #f2f5fb; font-size: 13px; }
.article-studio-tiptap-content [data-article-figure] { margin: 1.8em 0; }
.article-studio-tiptap-content [data-article-figure-placeholder] { display: grid; place-items: center; gap: 8px; min-height: 220px; padding: 24px; border: 1px dashed var(--blue); color: var(--blue); background: linear-gradient(135deg, #edf3ff, #fafcff); text-align: center; }
.article-studio-tiptap-content [data-article-figure-placeholder] span { font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.article-studio-tiptap-content [data-article-figure] figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; text-align: center; }
.article-studio-tiptap-content [data-article-figure] figcaption p { margin: 0; }
.article-studio-safe-preview { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 18px; }
.article-studio-safe-preview .section-heading { margin-bottom: 4px; }
.article-studio-safe-preview-canvas { max-height: 680px; overflow: auto; border: 1px solid var(--line); background: #f3f6fb; }
.article-studio-safe-preview-canvas .article-studio-preview-content { min-height: 0; background: #fff; pointer-events: none; }
.article-studio-autosave { margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid var(--blue); background: #f3f6fb; color: var(--muted); font-size: 13px; line-height: 1.55; }
.article-studio-autosave[data-state="saved"] { color: #075c45; background: #eefaf5; }
.article-studio-autosave[data-state="error"] { color: #a12a1d; background: #fff2ef; border-left-color: #d94432; }
.article-studio-sidebar-divider { margin: 18px 0; border: 0; border-top: 1px solid var(--line); }
.article-studio-sidebar h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--ink); font-size: 13px; }
.article-studio-sidebar [data-studio-hwp-status][data-state="success"] { color: #075c45; }
.article-studio-sidebar [data-studio-hwp-status][data-state="error"] { color: #a12a1d; }
.article-studio-tiptap-content ul, .article-studio-tiptap-content ol { margin: 1em 0; padding-left: 1.7em; }
.article-studio-draft-actions { margin-top: 14px; }
.article-studio-review-checks { display: grid; gap: 8px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); background: #fbfcff; }
.article-studio-review-checks .consent-field { display: flex; align-items: flex-start; gap: 9px; color: var(--ink); font-size: 12px; line-height: 1.6; }
.article-studio-ai-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 14px 0; border: 1px solid var(--line); background: var(--line); }
.article-studio-ai-summary > div { display: grid; gap: 4px; min-height: 72px; padding: 13px 14px; background: #fff; }
.article-studio-ai-summary strong { color: var(--blue); font-size: 10px; letter-spacing: .08em; }
.article-studio-ai-summary span { color: var(--ink); font-size: 12px; line-height: 1.55; }
.article-studio-ai-readiness { margin: 16px 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.article-studio-ai-readiness h5 { margin: 0; font-size: 15px; }
.article-studio-ai-gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0 16px; }
.article-studio-ai-gates > div { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px; border: 1px solid var(--line); }
.article-studio-ai-gates > div > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #eef2f8; color: var(--muted); font-size: 11px; font-weight: 900; }
.article-studio-ai-gates > div[data-gate-state="ready"] > span { background: #e1f5ec; color: #075c45; }
.article-studio-ai-gates strong { font-size: 11px; }
.article-studio-ai-gates small { color: var(--muted); font-size: 10px; }
.article-studio-ai-budget-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-studio-ai-budget-fields input { font-variant-numeric: tabular-nums; }
.article-studio-ai-readiness-actions { margin-top: 10px; }
.article-studio-ai-draft-option { display: flex; align-items: flex-start; gap: 9px; margin: 14px 0; color: var(--ink); font-size: 12px; line-height: 1.6; }
.article-studio-ai-actions { margin-top: 12px; }
.article-studio-ai-packet-details { margin-top: 12px; border: 1px solid var(--line); background: #fff; }
.article-studio-ai-packet-details summary { cursor: pointer; padding: 12px 14px; color: var(--ink); font-size: 12px; font-weight: 900; }
.article-studio-ai-packet-details pre { max-height: 360px; margin: 0; overflow: auto; border-top: 1px solid var(--line); padding: 14px; background: #101828; color: #dce8ff; font: 11px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.article-studio-production-contract h5 { margin: 20px 0 10px; font-size: 14px; }
.article-studio-contract-grid, .article-studio-budget-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.article-studio-contract-grid > div, .article-studio-budget-grid > div { display: grid; gap: 5px; min-height: 76px; padding: 14px; background: #fff; }
.article-studio-contract-grid strong, .article-studio-budget-grid strong { color: var(--blue); font-size: 10px; letter-spacing: .08em; }
.article-studio-contract-grid span, .article-studio-budget-grid span { color: var(--ink); font-size: 12px; line-height: 1.65; }
.article-studio-legal-risk-preview { margin-top: 16px; padding: 15px 16px; border: 1px solid #c9322b; border-left-width: 5px; background: #fff1f0; color: #8f1f1a; font-size: 12px; font-weight: 700; line-height: 1.75; }
.article-studio-sidebar { display: grid; align-content: start; gap: 16px; }
.article-studio-sidebar > section { padding: 20px; border: 1px solid var(--line); background: #fff; }
.article-studio-sidebar h3 { margin: 0 0 14px; font-size: 16px; }
.article-studio-sidebar p { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.article-studio-policy { display: grid; gap: 12px; }
.article-studio-policy > div { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.article-studio-policy > div:last-child { padding-bottom: 0; border-bottom: 0; }
.article-studio-policy strong { color: var(--ink); font-size: 12px; }
.article-studio-policy span { color: var(--muted); font-size: 11px; line-height: 1.65; }
.article-studio-evaluation { color: var(--muted); font-size: 11px; line-height: 1.75; white-space: pre-line; }
.article-studio-evaluation strong { color: var(--ink); }
.compact-actions { display: grid; gap: 8px; }
.compact-actions > button { width: 100%; }
.article-studio [data-studio-status][data-state="success"] { border-color: #17844b; color: #0d6b3a; background: #f0fff7; }
.article-studio [data-studio-status][data-state="error"] { border-color: #c83224; color: #a51f14; background: #fff4f2; }
.admin-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 24px; align-items: start; }
.admin-panel { padding: 32px; border: 1px solid var(--line); background: #fff; box-shadow: 0 16px 50px rgba(18, 35, 66, .05); }
.admin-panel-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.admin-panel-heading h2 { margin: 7px 0 0; font-size: 25px; letter-spacing: -.035em; }
.admin-step { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.admin-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.admin-quick-actions .button-primary, .admin-quick-actions .button-secondary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.admin-today-board { margin: 24px 0; padding: 22px; border: 1px solid #b9c7dc; background: #f7f9fd; }
.admin-today-board .admin-subsection-heading { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.admin-today-board .admin-subsection-heading h3 { font-size: 20px; letter-spacing: -.035em; }
.admin-task-queue { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.admin-task-card { display: grid; align-content: start; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--line); background: #fff; }
.admin-task-card.has-items[data-priority="high"] { border-top: 3px solid var(--blue); }
.admin-task-card-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.admin-task-card-heading strong { font-size: 14px; }
.admin-task-card-heading span { color: var(--blue); font-size: 18px; font-weight: 900; }
.admin-task-card p { min-height: 42px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.admin-task-card .button-secondary { width: 100%; }
.admin-task-card .is-disabled { background: #f4f6f9; }
.overview-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 24px; border: 1px solid var(--line); background: var(--line); }
.overview-stat { display: grid; gap: 8px; min-height: 118px; padding: 18px; background: #fff; }
.overview-stat dt { color: var(--muted); font-size: 11px; font-weight: 800; }
.overview-stat dd { margin: 0; }
.overview-stat strong { color: var(--ink); font-size: clamp(30px, 4vw, 46px); line-height: 1; letter-spacing: -.05em; }
.overview-guidance { margin: 0; padding: 17px 18px; background: var(--blue-soft); color: var(--ink); font-size: 13px; font-weight: 800; line-height: 1.65; }
.content-filters { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.content-filters h3 { margin: 0; font-size: 18px; }
.filter-actions { align-items: flex-end; margin-top: 0; }
.content-results-summary { margin: 22px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.content-list { max-height: 720px; }
.content-row { align-items: flex-start; padding-block: 16px; }
.content-row-main { display: grid; flex: 1 1 360px; gap: 8px; min-width: 0; }
.content-row-main h3 { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 16px; line-height: 1.45; letter-spacing: -.02em; }
.content-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.content-badges span, .content-pending-badge { padding: 3px 7px; background: #e8edf5; color: #475569; font-size: 9px; font-weight: 900; letter-spacing: .04em; line-height: 1.4; }
.content-pending-badge { background: #fff3cd; color: #7a4d00; }
.content-updated { color: var(--muted); font-size: 10px; }
.content-empty { margin: 0; padding: 16px 0; color: var(--muted); line-height: 1.7; }
.content-pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 16px; }
.content-pagination span { min-width: 70px; color: var(--muted); font-size: 11px; font-weight: 800; text-align: center; }
.content-pagination .button-secondary { min-width: 82px; }
.edit-context { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 22px; padding: 16px 18px; border: 1px solid #a8bfe9; background: var(--blue-soft); }
.edit-context[hidden] { display: none; }
.edit-context strong { color: var(--blue); font-size: 12px; }
.edit-context p { margin: 5px 0 0; color: var(--ink); font-size: 12px; line-height: 1.55; }
.edit-context .edit-context-meta { color: var(--muted); font-size: 11px; }
.edit-context code { overflow-wrap: anywhere; color: inherit; font-family: inherit; font-weight: 800; }
.admin-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.field { display: grid; gap: 8px; color: var(--ink); font-size: 12px; font-weight: 800; }
.field-wide { grid-column: 1 / -1; }
.field small { color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.5; }
.field input, .field select, .field textarea, .asset-fields input { width: 100%; min-height: 45px; padding: 11px 13px; border: 1px solid #bdc8d8; border-radius: 0; background: #fff; color: var(--ink); font: inherit; font-weight: 500; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, .asset-fields input:focus { outline: 2px solid var(--blue); outline-offset: 2px; border-color: var(--blue); }
.admin-checks { display: grid; gap: 10px; margin-top: 22px; padding: 18px; background: var(--canvas); color: var(--muted); font-size: 12px; line-height: 1.55; }
.admin-checks label, .asset-consent { display: flex; gap: 9px; align-items: flex-start; }
.admin-checks input, .asset-consent input { margin-top: 2px; accent-color: var(--blue); }
.admin-offline-review-note { display: grid; gap: 5px; margin-top: 22px; padding: 16px 18px; border-left: 3px solid var(--blue); background: var(--blue-soft); color: var(--muted); font-size: 12px; line-height: 1.6; }
.admin-offline-review-note strong { color: var(--ink); }
.admin-offline-review-note p { margin: 0; }
.admin-offline-review-note span { color: #42577d; font-size: 11px; }
.advanced-settings { margin-top: 22px; border: 1px solid var(--line); background: #f8fafc; }
.advanced-settings > summary, .asset-options > summary { padding: 15px 17px; color: var(--ink); font-size: 12px; font-weight: 900; cursor: pointer; }
.advanced-settings > summary span, .asset-options > summary span { margin-left: 6px; color: var(--blue); font-size: 9px; letter-spacing: .08em; }
.advanced-settings > p { margin: 0; padding: 0 17px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.advanced-settings > .admin-fields { margin: 0; padding: 17px; }
.asset-options { border: 1px solid var(--line); background: #f8fafc; }
.asset-options > label { display: grid; gap: 5px; padding: 0 12px 12px; }
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.button-primary, .button-secondary { min-height: 43px; padding: 0 16px; border: 1px solid var(--ink); border-radius: 0; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.button-primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.button-secondary { background: #fff; color: var(--ink); }
.button-primary:disabled, .button-secondary:disabled { cursor: not-allowed; opacity: .38; }
.admin-status { margin: 18px 0 0; min-height: 22px; color: var(--blue); font-size: 12px; font-weight: 800; }
.admin-status.is-error { color: #b42318; }
.staff-status { padding: 13px 15px; border: 1px solid #a8bfe9; background: var(--blue-soft); line-height: 1.55; }
.staff-status.is-success { border-color: #68a67b; background: #effaf2; color: #17612d; }
.staff-status.is-error { border-color: #d7a0a4; background: #fff1f2; color: #b42318; }
.staff-feedback-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.staff-feedback-row .staff-status { flex: 1 1 auto; }
.staff-feedback-row .text-link { flex: 0 0 auto; }
.word-preview, .admin-list { min-height: 240px; max-height: 520px; margin: 22px 0 0; padding: 20px; overflow: auto; border: 1px solid var(--line); background: #f8fafc; color: #334155; font-family: inherit; font-size: 13px; line-height: 1.75; white-space: pre-wrap; word-break: keep-all; }
.hwp-source-preview { margin-top: 22px; border: 1px solid var(--line); background: #f8fafc; }
.hwp-source-preview > summary { display: flex; justify-content: space-between; gap: 16px; padding: 14px 16px; cursor: pointer; font-weight: 800; }
.hwp-source-preview > summary span { color: var(--blue); font-size: 11px; letter-spacing: .08em; }
.hwp-source-preview > .admin-note { margin: 0; padding: 0 16px 14px; }
.hwp-source-preview-pages { display: grid; gap: 18px; max-height: 720px; padding: 0 16px 16px; overflow: auto; }
.hwp-source-preview-page { margin: 0; }
.hwp-source-preview-page img { display: block; width: 100%; height: auto; border: 1px solid #cbd5e1; background: #fff; box-shadow: 0 8px 24px rgb(15 23 42 / 8%); }
.hwp-source-preview-page figcaption { padding-top: 7px; color: #64748b; font-size: 12px; text-align: center; }
.admin-list { min-height: 90px; }
.admin-list-row { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.admin-list-row:last-child { border-bottom: 0; }
.admin-list-row .button-primary, .admin-list-row .button-secondary { flex: 0 0 auto; min-height: 36px; }
.admin-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.admin-row-actions .button-secondary { display: inline-flex; align-items: center; justify-content: center; padding-inline: 14px; }
.admin-inline-check { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 44px; }
.admin-inline-check input { width: 18px; height: 18px; margin: 0; }
.admin-subsection { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.admin-subsection h3 { margin: 0; font-size: 18px; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.settings-grid-wide { align-items: start; }
.settings-card { min-width: 0; padding: 22px; border: 1px solid var(--line); background: #f8fafc; }
.settings-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.settings-card-heading h3 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.settings-card .field { margin-top: 16px; }
.settings-card .admin-actions { padding-top: 4px; }
.two-column-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.photo-placeholder-setting { padding: 16px; border: 1px dashed #9caec6; background: var(--blue-soft); }
.photo-placeholder-setting strong { color: var(--blue); }
.photo-placeholder-setting span { color: var(--muted); font-weight: 500; line-height: 1.6; }
.staff-photo-current { width: fit-content; max-width: 100%; padding: 12px; border: 1px solid var(--line); background: #f8fafc; }
.staff-photo-current[hidden] { display: none; }
.staff-photo-preview { position: relative; display: grid; gap: 9px; width: 180px; max-width: 100%; margin: 0; }
.staff-photo-preview:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.staff-photo-thumbnail-wrap { position: relative; display: block; width: 180px; max-width: 100%; cursor: zoom-in; }
.staff-photo-thumbnail { display: block; width: 180px; max-width: 100%; height: 180px; object-fit: contain; border: 1px solid var(--line); background: #fff; }
.staff-photo-hover-hint { position: absolute; right: 7px; bottom: 7px; padding: 6px 8px; background: rgba(15, 23, 42, .88); color: #fff; font-size: 9px; font-weight: 900; line-height: 1; }
.staff-photo-zoom-pane { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 6vh 6vw; visibility: hidden; opacity: 0; pointer-events: none; background: rgba(15, 23, 42, .78); transition: opacity .15s ease, visibility .15s ease; }
.staff-photo-zoom-pane img { display: block; width: auto; max-width: 88vw; height: auto; max-height: 86vh; object-fit: contain; border: 1px solid rgba(255, 255, 255, .8); background: #fff; box-shadow: 0 24px 80px rgba(0, 0, 0, .35); }
.staff-photo-preview:hover .staff-photo-zoom-pane, .staff-photo-preview:focus .staff-photo-zoom-pane, .staff-photo-preview:focus-within .staff-photo-zoom-pane { visibility: visible; opacity: 1; }
.staff-photo-preview figcaption { color: var(--blue); font-size: 11px; font-weight: 900; }
.staff-admin-row { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; }
.staff-list-photo { display: grid; place-items: center; width: 88px; height: 88px; overflow: hidden; border: 1px solid var(--line); background: #fff; color: var(--muted); font-size: 10px; font-weight: 800; text-align: center; }
.staff-list-photo img { width: 100%; height: 100%; object-fit: cover; }
.staff-list-photo.is-error { border-color: #d7a0a4; background: #fff1f2; color: #b42318; }
.consent-field { grid-template-columns: auto 1fr; align-items: center; padding: 14px; border: 1px solid var(--line); background: var(--blue-soft); }
.consent-field input { width: 20px; min-height: 20px; margin: 0; }
.about-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.staff-image-card { min-height: 0; padding: 0; overflow: hidden; background: #fff; }
.staff-image-card:hover { background: #fff; }
.staff-profile-link { display: grid; color: var(--ink); text-decoration: none; }
.staff-profile-link img { display: block; width: 100%; height: auto; background: var(--blue-soft); }
.staff-profile-link span { display: flex; justify-content: space-between; gap: 12px; padding: 15px 18px; border-top: 1px solid var(--line); color: var(--blue); font-size: 12px; font-weight: 900; }
.staff-profile-link:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.button-danger { min-height: 43px; padding: 0 16px; border: 1px solid #a51d27; background: #fff; color: #a51d27; font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.button-danger:hover { background: #fff0f1; }
@media (max-width: 760px) {
  .staff-feedback-row { align-items: stretch; flex-direction: column; }
  .staff-admin-row { grid-template-columns: 72px minmax(0, 1fr); align-items: start; }
  .staff-list-photo { width: 72px; height: 72px; }
  .staff-admin-row .admin-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .staff-photo-zoom-pane { transition: none; }
}

/* Operator business detail builder: mirrors the public detail-page sections. */
.admin-community-card[data-business-layout-editor] {
  padding: 0;
  overflow: hidden;
  border-color: #b9c7dc;
  background: #fff;
}
.admin-community-card[data-business-layout-editor] > .admin-community-card-heading,
.admin-community-card[data-business-layout-editor] > .business-geocode-control,
.admin-community-card[data-business-layout-editor] > .business-record-actions {
  margin-right: 22px;
  margin-left: 22px;
}
.admin-community-card[data-business-layout-editor] > .admin-community-card-heading { padding-top: 22px; }
.business-layout-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: end;
  margin-top: 20px;
  padding: 24px 22px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f4f7fd;
}
.business-layout-intro > div { display: grid; gap: 7px; }
.business-layout-intro span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.business-layout-intro strong { font-size: clamp(20px, 2vw, 28px); letter-spacing: -.045em; }
.business-layout-intro p { max-width: 760px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.business-layout-intro nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.business-layout-intro nav a { padding: 10px 13px; background: #fff; color: var(--ink); font-size: 10px; font-weight: 900; text-decoration: none; }
.business-layout-intro nav a:hover,
.business-layout-intro nav a:focus-visible { background: var(--blue); color: #fff; }
.business-layout-basic {
  margin: 0 22px;
  border: 1px solid var(--line);
  border-top: 0;
}
.business-layout-basic > summary {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}
.business-layout-basic > summary::-webkit-details-marker { display: none; }
.business-layout-basic > summary span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.business-layout-basic > summary strong { font-size: 15px; }
.business-layout-basic > summary small { color: var(--muted); font-size: 10px; }
.business-layout-basic[open] > summary { border-bottom: 1px solid var(--line); background: #fbfcff; }
.business-layout-form { display: block !important; padding: 18px !important; }
.business-layout-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.business-layout-form-section { min-width: 0; border: 1px solid var(--line); background: #fff; }
.business-layout-form-section > header { display: flex; gap: 10px; align-items: flex-start; padding: 13px 14px; border-bottom: 1px solid var(--line); background: #f8faff; }
.business-layout-form-section > header > span { color: var(--blue); font-size: 10px; font-weight: 900; }
.business-layout-form-section > header div { display: grid; gap: 3px; }
.business-layout-form-section > header strong { font-size: 13px; }
.business-layout-form-section > header small { color: var(--muted); font-size: 9px; line-height: 1.45; }
.business-layout-form-controls { display: grid; gap: 12px; padding: 14px; }
.business-layout-form-controls > label,
.business-layout-form-controls > fieldset { grid-column: auto !important; }
.business-layout-form-footer { display: flex; justify-content: flex-end; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.business-create-layout { background: #fff; }
.business-create-guide { padding: 20px 18px 0; border-top: 1px solid var(--line); }
.business-create-guide strong { font-size: 19px; }
.business-create-guide p { margin: 7px 0 12px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.business-create-guide ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border: 1px solid var(--line); list-style: none; counter-reset: business-create-step; }
.business-create-guide li { padding: 11px 12px; border-right: 1px solid var(--line); font-size: 10px; font-weight: 900; counter-increment: business-create-step; }
.business-create-guide li:last-child { border-right: 0; }
.business-create-guide li::before { content: "0" counter(business-create-step) " "; color: var(--blue); }
.business-layout-canvas {
  margin-top: 22px;
  padding: 22px;
  border-top: 1px solid var(--line);
  background: #f6f8fc;
}
.business-layout-live-status {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-left: 3px solid var(--blue);
  background: #fff;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.business-layout-canvas .business-ops-status {
  margin: 0 0 14px;
  padding: 0 2px;
}
.business-layout-canvas .business-ops-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 16px;
}
.business-layout-canvas .business-ops-videos { grid-column: 1 / -1; }
.business-layout-canvas .business-ops-grid > details {
  padding: 0;
  border-color: #b9c7dc;
  background: #fff;
}
.business-layout-canvas .business-ops-grid > details > summary {
  padding: 16px 18px;
  border-bottom: 1px solid transparent;
  font-size: 15px;
}
.business-layout-canvas .business-ops-grid > details[open] > summary {
  border-bottom-color: var(--line);
  background: #f8faff;
}
.business-layout-canvas .business-ops-grid > details > .admin-community-form {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: #fbfcff;
}
.business-layout-canvas .business-ops-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 16px 18px 0;
}
.business-layout-canvas .business-ops-list > li {
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: #fff;
}
.business-layout-canvas [data-business-layout-section="videos"] .business-ops-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.business-layout-canvas .business-admin-thumb-link { width: 100%; }
.business-layout-canvas .business-admin-thumb {
  width: 100%;
  height: 150px;
  object-fit: contain;
}
.business-layout-canvas .business-admin-poster-thumb {
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: #f4f6fa;
}
.business-staff-poster-upload {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--blue);
  background: #f8faff;
}
.business-staff-poster-upload legend {
  padding: 0 6px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}
.business-staff-poster-preview {
  display: grid;
  max-width: 280px;
  padding: 8px;
  border: 1px solid var(--line);
  background: #fff;
}
.business-staff-poster-preview[hidden] { display: none; }
.business-staff-poster-preview img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  background: #f3f5f8;
}
.business-staff-poster-item {
  align-items: flex-start !important;
}
.business-staff-poster-item > span {
  width: 100%;
}
.business-admin-poster-empty {
  display: grid;
  width: 100%;
  min-height: 150px;
  place-items: center;
  border: 1px dashed var(--line);
  background: #f8faff;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.business-existing-poster-picker {
  padding: 10px;
  border: 1px solid var(--line);
  background: #fff;
}
.business-sort-controls {
  display: flex;
  flex: 1 1 100%;
  gap: 5px;
  align-items: center;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line);
}
.business-sort-controls button {
  min-height: 30px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.business-sort-controls button:first-child {
  margin-right: auto;
  border-color: var(--blue);
  color: var(--blue);
  cursor: grab;
}
.business-sort-controls button:disabled { opacity: .35; cursor: default; }
.business-order-form { display: flex; justify-content: flex-end; padding: 12px 18px 16px; }
.is-business-sort-ghost { opacity: .35; }
.is-business-sort-chosen { border-color: var(--blue) !important; box-shadow: 0 0 0 2px rgba(22, 73, 216, .12); }

/* Guided business manager: one selected business, one task at a time. */
.business-guided-workspace {
  display: grid;
  grid-template-columns: minmax(210px, .42fr) minmax(560px, 1.35fr) minmax(250px, .52fr);
  gap: 16px;
  align-items: start;
  margin-top: 22px;
}
.business-guided-selector,
.business-guided-preview {
  position: sticky;
  top: 18px;
  min-width: 0;
  border: 1px solid #b9c7dc;
  background: #fff;
}
.business-selector-heading,
.business-preview-heading {
  display: grid;
  gap: 5px;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: #f7f9fd;
}
.business-selector-heading > span,
.business-preview-heading > span,
.business-guided-editor-heading span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
}
.business-selector-heading strong,
.business-preview-heading strong { font-size: 17px; }
.business-selector-heading small,
.business-preview-heading small { color: var(--muted); font-size: 10px; line-height: 1.55; }
.business-selector-search { display: grid; gap: 6px; padding: 14px 14px 10px; color: var(--muted); font-size: 10px; font-weight: 800; }
.business-selector-search input { width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid #b9c7dc; background: #fff; color: var(--ink); font: inherit; }
.business-selector-list { display: grid; gap: 1px; max-height: 54vh; margin: 0 14px 12px; overflow: auto; border: 1px solid var(--line); background: var(--line); }
.business-selector-item {
  display: grid;
  gap: 3px;
  width: 100%;
  min-width: 0;
  padding: 12px;
  border: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.business-selector-item:hover { background: #f7f9fd; }
.business-selector-item[aria-current="true"] { background: var(--blue); color: #fff; }
.business-selector-item strong,
.business-selector-item span,
.business-selector-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.business-selector-item strong { font-size: 12px; }
.business-selector-item span { font-size: 10px; }
.business-selector-item small { color: var(--muted); font-size: 9px; }
.business-selector-item[aria-current="true"] small { color: rgba(255, 255, 255, .78); }
.business-guided-selector > .button-primary { width: calc(100% - 28px); margin: 0 14px 10px; }
.business-selector-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0 14px 14px; border: 1px solid var(--line); background: var(--line); }
.business-selector-shortcuts a { padding: 10px 8px; background: #fff; color: var(--ink); font-size: 10px; font-weight: 900; text-align: center; }
.business-selector-shortcuts a:hover { color: var(--blue); }
.business-guided-editor { min-width: 0; border: 1px solid #b9c7dc; background: #f3f6fb; }
.business-guided-editor-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 15px 18px;
  border-bottom: 1px solid #b9c7dc;
  background: #fff;
}
.business-guided-editor-heading > div { display: grid; gap: 4px; }
.business-guided-editor-heading strong { font-size: 17px; }
.business-guided-editor-heading p { margin: 0; color: var(--muted); font-size: 10px; }
.business-guided-editor-stage { padding: 14px; }
.business-guided-editor-stage > [data-business-editor-card][hidden] { display: none !important; }
.business-guided-editor-stage > .admin-community-card[data-business-layout-editor] { margin: 0; box-shadow: none; }
.business-guided-editor .business-layout-intro { position: sticky; top: 0; z-index: 3; margin-top: 12px; padding: 16px; }
.business-guided-editor .business-layout-intro > div { display: none; }
.business-guided-editor .business-layout-intro nav { width: 100%; justify-content: stretch; }
.business-guided-editor .business-layout-intro nav a { flex: 1 1 90px; text-align: center; }
.business-preview-cover { display: grid; min-height: 170px; place-items: center; overflow: hidden; border-bottom: 1px solid var(--line); background: #eef2f8; color: var(--muted); font-size: 10px; font-weight: 800; }
.business-preview-cover img { display: block; width: 100%; height: 190px; object-fit: contain; background: #f4f6fa; }
.business-preview-body { display: grid; gap: 13px; padding: 16px; }
.business-preview-badges { display: flex; flex-wrap: wrap; gap: 5px; min-height: 21px; }
.business-preview-badges span { padding: 3px 6px; border: 1px solid #b9c7dc; color: var(--blue); font-size: 8px; font-weight: 900; }
.business-preview-body h3 { margin: 0; font-size: 18px; line-height: 1.35; letter-spacing: -.035em; }
.business-preview-body > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.business-preview-body dl { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.business-preview-body dl > div { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--line); }
.business-preview-body dt { color: var(--blue); font-size: 9px; font-weight: 900; }
.business-preview-body dd { margin: 0; color: var(--ink); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.business-preview-body .button-secondary { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.business-management-source { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.business-management-source > [data-business-editor-source][hidden] { display: none; }

@media (max-width: 1280px) {
  .business-guided-workspace { grid-template-columns: 210px minmax(0, 1fr); }
  .business-guided-preview { position: static; grid-column: 1 / -1; display: grid; grid-template-columns: 220px minmax(0, 1fr); }
  .business-preview-heading { display: none; }
  .business-preview-cover { border-right: 1px solid var(--line); border-bottom: 0; }
}
@media (max-width: 980px) {
  .admin-task-queue { grid-template-columns: 1fr; }
  .business-guided-workspace { grid-template-columns: 1fr; }
  .business-guided-selector { position: static; }
  .business-selector-list { max-height: 270px; }
  .business-guided-preview { grid-column: auto; }
  .business-layout-form-grid { grid-template-columns: 1fr; }
  .business-layout-canvas .business-ops-grid { grid-template-columns: 1fr; }
  .business-layout-canvas .business-ops-videos { grid-column: auto; }
  .business-layout-canvas .business-ops-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .admin-today-board { padding: 16px; }
  .business-guided-editor-heading { display: grid; }
  .business-guided-editor-stage { padding: 8px; }
  .business-guided-preview { display: block; }
  .business-preview-cover { border-right: 0; border-bottom: 1px solid var(--line); }
  .business-management-source { grid-template-columns: 1fr; }
  .business-layout-intro { grid-template-columns: 1fr; }
  .business-layout-intro nav { justify-content: stretch; }
  .business-layout-intro nav a { flex: 1 1 auto; text-align: center; }
  .business-layout-basic { margin: 0 12px; }
  .business-layout-basic > summary { grid-template-columns: 1fr; gap: 5px; }
  .business-layout-canvas { padding: 12px; }
  .business-layout-canvas .business-ops-list,
  .business-layout-canvas [data-business-layout-section="videos"] .business-ops-list { grid-template-columns: 1fr; }
  .business-create-guide ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-create-guide li:nth-child(2) { border-right: 0; }
  .business-create-guide li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
.operations-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.operation-card { padding: 22px; border: 1px solid var(--line); background: #f8fafc; }
.operation-card h3 { margin: 0; font-size: 19px; }
.operation-card > p { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.operation-card > button { margin-top: 20px; }
.managed-resource-section { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.admin-subsection-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.admin-subsection-heading h3 { margin: 0; }
.admin-subsection-heading .admin-note { margin: 8px 0 0; }
.managed-resource-list { margin-top: 14px; }
.managed-resource-row { padding: 14px 0; }
.operator-row-actions { align-items: center; }
.operator-row-actions select { min-height: 38px; padding: 0 34px 0 10px; border: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; font-size: 12px; font-weight: 800; }
.business-ops-item { flex-wrap: wrap; align-items: flex-start !important; }
.business-ops-item > span { min-width: 180px; flex: 1 1 220px; }
.business-item-editor { flex: 1 1 100%; padding: 8px 0 0; border-top: 1px solid var(--line); }
.business-item-editor > summary { width: fit-content; color: var(--blue); font-size: 12px; font-weight: 900; cursor: pointer; }
.business-item-editor .admin-community-form { margin-top: 12px; }
.business-ops-item:has(.business-item-public-note) .business-item-editor { display: none; }
.business-item-public-note { margin: 0; color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.business-item-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.business-item-actions form { margin: 0; }
.business-record-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.business-record-actions form { margin: 0; }
.business-item-delete-form { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.business-item-delete-form .admin-check { margin: 0; font-size: 11px; }
.backup-verify-field { margin-top: 20px; }
.storage-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 18px 0 0; border: 1px solid var(--line); background: var(--line); }
.storage-summary div { padding: 14px; background: #fff; }
.storage-summary dt { color: var(--muted); font-size: 10px; font-weight: 800; }
.storage-summary dd { margin: 6px 0 0; color: var(--ink); font-size: 20px; font-weight: 900; letter-spacing: -.04em; }
.navigation-visible, .navigation-order { display: flex; align-items: center; gap: 10px; }
.navigation-visible { flex: 1 1 auto; min-height: 44px; }
.navigation-visible input { width: 18px; height: 18px; margin: 0; }
.navigation-order { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.navigation-order input { width: 88px; min-height: 40px; }
.audit-row time { color: var(--muted); font-size: 11px; white-space: nowrap; }
.preview-banner { position: relative; z-index: 2; padding: 11px 24px; background: var(--ink); color: #fff; text-align: center; font-size: 12px; font-weight: 800; }
.admin-note { margin: 16px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.adsense-readiness-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  list-style: none;
}
.adsense-readiness-list > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 132px;
  padding: 16px;
  border: 1px solid var(--line);
  background: #f8fafc;
}
.adsense-readiness-list > li[data-ready="true"] {
  border-color: #74ad88;
  background: #f2fbf5;
}
.adsense-readiness-list .status-pill {
  min-width: 47px;
  padding: 5px 8px;
  text-align: center;
  white-space: nowrap;
}
.adsense-readiness-list strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}
.adsense-readiness-list p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
  word-break: keep-all;
}
@media (max-width: 1080px) {
  .adsense-readiness-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .adsense-readiness-list { grid-template-columns: 1fr; }
  .adsense-readiness-list > li { min-height: 0; }
}
.asset-review { display: grid; gap: 14px; margin-top: 24px; }
.asset-review h3 { margin: 0; font-size: 15px; }
.asset-card { display: grid; grid-template-columns: 96px 1fr; gap: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.asset-card > img { width: 96px; height: 96px; object-fit: cover; background: var(--canvas); }
.asset-fields { display: grid; gap: 9px; min-width: 0; font-size: 11px; }
.asset-fields label:not(.asset-consent) { display: grid; gap: 5px; }
.asset-safe, .asset-blocked { margin: 0; font-size: 10px; line-height: 1.5; }
.asset-safe { color: #18794e; }
.asset-blocked { color: #b42318; }
.cms-published { margin-top: 42px; padding-top: 42px; border-top: 1px solid var(--line); }
.article-body blockquote { margin: 24px 0; padding: 18px 22px; border-left: 3px solid var(--blue); background: var(--blue-soft); color: var(--ink); line-height: 1.8; }
.article-body ul, .article-body ol { margin: 20px 0; padding-left: 24px; color: var(--muted); line-height: 1.8; }
.article-body figure { margin: 34px 0; }
.article-body figure img { display: block; max-width: 100%; height: auto; }
.article-body figcaption { margin-top: 8px; color: var(--muted); font-size: 11px; }
.article-generation-disclosure { margin: 0 0 2rem; padding: 0.9rem 1rem; border-left: 3px solid var(--blue); background: #f1f5ff; color: #34415a; font-size: 0.92rem; line-height: 1.65; }
.article-generation-disclosure strong { color: var(--ink); }
.news-article-page .article-body { border: 1px solid var(--line); border-top: 3px solid var(--ink); background: var(--paper); }
.news-article-page .article-body p,
.news-article-page .article-body ul,
.news-article-page .article-body ol { color: var(--article-text); font-size: calc(20px * var(--article-reader-scale, 1)); font-weight: 500; line-height: 1.9; }
.news-article-page { --article-reader-scale: 1; }
.news-article-page[data-article-text-size="small"] { --article-reader-scale: .9; }
.news-article-page[data-article-text-size="medium"] { --article-reader-scale: 1; }
.news-article-page[data-article-text-size="large"] { --article-reader-scale: 1.15; }
.news-article-page .article-body h2 { font-size: calc(30px * var(--article-reader-scale)); line-height: 1.45; }
.news-article-page .article-body h3 { font-size: calc(24px * var(--article-reader-scale)); line-height: 1.5; }
.news-article-page .article-body blockquote,
.news-article-page .article-callout { font-size: calc(20px * var(--article-reader-scale)); font-weight: 500; line-height: 1.9; }
.news-article-page .article-body .editor-size-12 { font-size: max(1em, calc(12px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-14 { font-size: max(1em, calc(14px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-16 { font-size: max(1em, calc(16px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-18 { font-size: max(1em, calc(18px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-20 { font-size: max(1em, calc(20px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-24 { font-size: max(1em, calc(24px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-28 { font-size: max(1em, calc(28px * var(--article-reader-scale))); }
.news-article-page .article-body .editor-size-32 { font-size: max(1em, calc(32px * var(--article-reader-scale))); }
.news-article-page .article-generation-disclosure { color: #34415a; font-size: .95rem; font-weight: 400; }
.news-article-page .article-body figcaption { color: var(--muted); }
.article-reading-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 14px; width: min(100%, var(--article-copy-max, 880px)); margin: 32px auto 0; color: var(--muted); font-size: 13px; font-weight: 800; }
.article-reading-toolbar > span { white-space: nowrap; }
.article-reading-toolbar-group { display: inline-grid; grid-template-columns: repeat(3, minmax(58px, 1fr)); border: 1px solid var(--line); background: var(--paper); }
.article-reading-toolbar button { min-width: 58px; min-height: 44px; padding: 0 12px; border: 0; border-right: 1px solid var(--line); background: var(--paper); color: var(--muted); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.article-reading-toolbar button:last-child { border-right: 0; }
.article-reading-toolbar button:hover { color: var(--blue); }
.article-reading-toolbar button.is-active { background: var(--blue); color: #fff; }
.article-reading-toolbar button:focus-visible { position: relative; z-index: 1; outline: 3px solid #111827; outline-offset: 3px; }
.article-reading-toolbar + .article-body { margin-top: 16px; }

@media (max-width: 640px) {
  .article-reading-toolbar { align-items: flex-start; justify-content: space-between; gap: 10px; padding-inline: 2px; }
  .article-reading-toolbar-group { flex: 1; max-width: 240px; }
  .article-reading-toolbar button { min-width: 0; padding-inline: 8px; }
}

@media (max-width: 980px) {
  .admin-layout { grid-template-columns: 1fr; }
  .article-studio-layout { grid-template-columns: 1fr; }
  .article-studio-help-grid, .article-studio-help-states { grid-template-columns: 1fr; }
  .article-studio-help-states > div { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .article-studio-help-states > div:last-child { border-bottom: 0; }
  .article-studio-help > summary { align-items: flex-start; flex-direction: column; }
  .article-session-heading, .article-session-actions, .article-session-sources-heading, .article-session-source-actions { align-items: stretch; flex-direction: column; }
  .article-session-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-session-rail li:nth-child(2) { border-right: 0; }
  .article-session-rail li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .article-session-transcript article { max-width: 100%; }
  .article-session-source-card { grid-template-columns: 1fr; }
  .article-studio-workflow { grid-template-columns: 1fr; }
  .article-studio-workflow li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .article-studio-workflow li:last-child { border-bottom: 0; }
  .article-studio-run-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-studio-progress, .article-studio-metrics, .article-studio-ai-summary, .article-studio-ai-gates, .article-studio-ai-budget-fields, .article-studio-contract-grid, .article-studio-budget-grid, .article-studio-storage-grid { grid-template-columns: 1fr; }
  .article-studio-progress li { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .article-studio-progress li:last-child { border-bottom: 0; }
  .article-studio-pipeline { grid-template-columns: 1fr; }
  .article-studio-pipeline button { border-right: 0; border-bottom: 1px solid var(--line); text-align: left; }
  .article-studio-pipeline button:last-child { border-bottom: 0; }
  .overview-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .settings-grid, .operations-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .admin-community-console-nav { top: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-page .nav { grid-template-columns: 1fr; }
  .admin-badge { display: none; }
  .admin-nav-actions { grid-column: 1; width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .admin-nav-actions .nav-action { width: 100%; min-width: 0; justify-content: center; min-height: 38px; padding-inline: 8px; font-size: 11px; }
  .admin-shell { padding-block: 28px 48px; }
  .admin-workspace-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-workspace-link { min-height: 72px; border-bottom: 1px solid var(--line); }
  .admin-workspace-link:nth-child(2n) { border-right: 0; }
  .admin-workspace-link:last-child { border-bottom: 0; }
  .admin-panel { padding: 24px 18px; }
  .admin-fields { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .admin-panel-heading { flex-direction: column; }
  .edit-context { align-items: stretch; flex-direction: column; }
  .admin-actions { flex-direction: column; }
  .admin-quick-actions { display: grid; grid-template-columns: 1fr; }
  .overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-stat { min-height: 98px; padding: 15px; }
  .button-primary, .button-secondary { width: 100%; }
  .content-pagination { display: grid; grid-template-columns: 1fr auto 1fr; }
  .asset-card { grid-template-columns: 1fr; }
  .asset-card > img { width: 100%; height: 180px; }
  .admin-list-row { align-items: stretch; flex-direction: column; }
  .admin-row-actions { justify-content: stretch; }
  .admin-row-actions > * { width: 100%; }
  .settings-card { padding: 18px; }
  .two-column-fields, .storage-summary { grid-template-columns: 1fr; }
}
.public-search-form { margin-top: 2rem; max-width: 42rem; }
.public-search-form label { display: block; margin-bottom: .55rem; font-weight: 800; }
.public-search-form > div { display: flex; gap: .75rem; }
.public-search-form input { flex: 1; min-width: 0; border: 1px solid var(--line, #cad2df); padding: .9rem 1rem; font: inherit; background: #fff; }
.page-block-editor { padding: 0; overflow: hidden; border: 1px solid var(--line, #cad2df); background: #fff; }
.page-composer-toolbar { display: grid; grid-template-columns: minmax(170px, 1fr) auto auto auto; gap: 18px; align-items: center; min-height: 74px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.page-composer-brand { display: flex; align-items: center; gap: 15px; min-width: 0; }
.page-composer-brand > img { width: auto; height: 34px; max-width: 145px; object-fit: contain; }
.page-composer-brand .page-composer-identity { padding-left: 15px; border-left: 1px solid var(--line); }
.page-composer-identity { display: grid; gap: 3px; min-width: 0; }
.page-composer-identity span, .page-composer-canvas-heading span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.page-composer-identity strong { overflow: hidden; color: var(--ink); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.page-viewport-switcher { display: flex; border: 1px solid var(--line); }
.page-viewport-switcher button { min-height: 38px; padding: 0 13px; border: 0; border-right: 1px solid var(--line); background: #fff; color: var(--muted); font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.page-viewport-switcher button:last-child { border-right: 0; }
.page-viewport-switcher button.is-active { background: var(--blue-soft); color: var(--blue); }
.page-composer-dirty { margin: 0; color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.page-composer-dirty.is-dirty { color: #8a5800; }
.page-composer-toolbar-actions { display: flex; gap: 8px; }
.page-composer-toolbar-actions .button-primary, .page-composer-toolbar-actions .button-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding-inline: 12px; font-size: 10px; }
.page-composer-grid { display: grid; grid-template-columns: minmax(188px, .72fr) minmax(460px, 2.4fr) minmax(250px, .95fr); min-height: 720px; }
.page-composer-library, .page-block-inspector { min-width: 0; background: #fff; }
.page-composer-library { border-right: 1px solid var(--line); }
.page-composer-library > section { padding: 20px 16px; }
.page-composer-library > section + section { border-top: 1px solid var(--line); }
.page-composer-library h4, .page-composer-canvas-heading h4, .page-block-inspector h4 { margin: 0; font-size: 14px; letter-spacing: -.02em; }
.page-composer-library p, .page-composer-canvas-heading p { margin: 8px 0 0; color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.55; }
.page-block-palette { display: grid; gap: 7px; margin-top: 14px; }
.page-block-palette button, .page-structure-fixed { width: 100%; min-height: 39px; padding: 8px 10px; border: 1px solid var(--line); background: #fff; color: var(--ink); font: inherit; font-size: 11px; font-weight: 800; text-align: left; cursor: pointer; }
.page-block-palette button:hover, .page-block-palette button:focus-visible, .page-structure-fixed:hover, .page-structure-fixed:focus-visible { border-color: var(--blue); background: var(--blue-soft); color: var(--blue); }
.page-structure-fixed { margin-top: 12px; }
.page-structure-fixed.is-selected { border-color: var(--blue); background: var(--blue-soft); color: var(--blue); }
.page-composer-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.page-composer-section-heading span { color: var(--muted); font-size: 8px; font-weight: 800; }
.page-blocks-list { display: grid; gap: 7px; margin: 8px 0 0; }
.page-block-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 9px; border: 1px solid var(--line); background: #fff; cursor: grab; }
.page-block-row > strong { grid-column: 1; color: var(--blue); font-size: 9px; letter-spacing: .04em; }
.page-block-summary { grid-column: 1; min-width: 0; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: 10px; font-weight: 700; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.page-block-row.is-selected { border-color: var(--blue); box-shadow: inset 3px 0 0 var(--blue); }
.page-block-row.is-dragging { opacity: .45; }
.page-block-row.is-drop-target { border-color: var(--blue); background: var(--blue-soft); }
.page-block-controls { grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 4px; }
.page-block-controls .button-secondary { min-width: 44px; min-height: 28px; padding: 0 6px; font-size: 8px; }
.page-composer-canvas { min-width: 0; padding: 18px; overflow: hidden; background: #eef2f8; }
.page-composer-canvas-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.page-canvas-frame { min-height: 640px; overflow: auto; border: 1px solid var(--line); background: #dfe5ef; }
.page-canvas-preview { width: 100%; min-height: 640px; margin-inline: auto; background: #fff; color: #101828; font-family: var(--body-font); font-size: 12px; line-height: 1.6; transition: width .2s ease; }
.page-canvas-frame[data-viewport="tablet"] .page-canvas-preview { width: min(768px, 100%); }
.page-canvas-frame[data-viewport="mobile"] .page-canvas-preview { width: min(390px, 100%); }
.page-canvas-site-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 72px; padding: 10px 22px; border-bottom: 1px solid var(--line); }
.page-canvas-site-header img { width: auto; height: 36px; max-width: 154px; object-fit: contain; }
.page-canvas-menu { display: flex; justify-content: flex-end; gap: 18px; color: #3d4758; font-size: 9px; font-weight: 800; }
.page-canvas-login { padding: 8px 10px; border: 1px solid var(--blue); color: var(--blue); font-size: 9px; font-weight: 900; }
.page-canvas-service-notice { padding: 8px 18px; background: var(--blue); color: #fff; font-size: 8px; font-weight: 800; text-align: center; }
.page-canvas-hero { display: grid; grid-template-columns: minmax(0, 1fr) 100px; align-items: center; gap: 24px; min-height: 210px; padding: 34px 30px; border-bottom: 1px solid var(--line); }
.page-canvas-hero h2 { margin: 12px 0 0; font-size: clamp(28px, 3.3vw, 46px); line-height: 1.08; letter-spacing: -.06em; }
.page-canvas-hero p { margin: 14px 0 0; color: var(--muted); font-size: 11px; }
.page-canvas-eyebrow { color: var(--blue); font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.page-canvas-index { display: grid; place-items: center; aspect-ratio: 1; border: 1px solid var(--blue); color: var(--blue); font-size: 18px; }
.page-canvas-blocks { display: grid; gap: 0; padding: 28px 30px 70px; background: #fff; }
.page-canvas-empty { margin: 0; padding: 54px 24px; border: 1px dashed #9aa9bd; color: var(--muted); text-align: center; }
.page-canvas-block { position: relative; width: 100%; margin-inline: auto; padding: 20px; border: 1px solid transparent; background: #fff; cursor: pointer; }
.page-canvas-block:hover { border-color: #9db5f2; }
.page-canvas-block.is-selected { z-index: 1; border-color: var(--blue); box-shadow: 0 0 0 2px rgba(22, 73, 216, .1); }
.page-canvas-block h3 { margin: 0; font-size: 22px; line-height: 1.25; letter-spacing: -.04em; }
.page-canvas-block p { margin: 0; color: var(--muted); font-size: 12px; white-space: pre-wrap; }
.page-canvas-block img { display: block; max-width: 100%; height: auto; margin-inline: auto; }
.page-canvas-image-empty { min-height: 150px; display: grid; place-items: center; border: 1px dashed #9aa9bd; background: #f7f9fc; color: var(--muted); }
.page-canvas-button, .page-canvas-secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border: 1px solid var(--blue); background: var(--blue); color: #fff; font-size: 10px; font-weight: 900; }
.page-canvas-secondary-button { border-color: var(--ink); background: #fff; color: var(--ink); }
.page-canvas-inline-tools { position: absolute; right: 8px; bottom: 8px; display: flex; align-items: center; gap: 6px; padding: 6px; border: 1px solid var(--line); background: #fff; box-shadow: 4px 4px 0 var(--blue-soft); }
.page-canvas-inline-tools span, .page-canvas-inline-tools button { border: 0; background: #fff; color: var(--muted); font: inherit; font-size: 8px; font-weight: 900; }
.page-canvas-inline-tools button { cursor: pointer; }
.page-canvas-inline-tools .is-danger { color: #b42318; }
.page-canvas-feed-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--ink); }
.page-canvas-feed-heading strong { font-size: 16px; }
.page-canvas-feed-heading span { color: var(--blue); font-size: 9px; font-weight: 900; }
.page-canvas-feed-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 42px; border-bottom: 1px solid var(--line); }
.page-canvas-feed-row span { color: var(--blue); font-size: 8px; font-weight: 900; }
.page-canvas-feed-row strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.page-canvas-feed-row small { color: var(--muted); font-size: 8px; }
.page-canvas-contact-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.page-block-size-small { font-size: .9em; }
.page-block-size-large { font-size: 1.18em; }
.page-block-size-xlarge { font-size: 1.38em; }
.page-block-align-center { text-align: center; }
.page-block-align-center :where(img, .page-canvas-contact-actions) { margin-inline: auto; justify-content: center; }
.page-block-align-right { text-align: right; }
.page-block-align-right :where(img, .page-canvas-contact-actions) { margin-left: auto; justify-content: flex-end; }
.page-block-width-narrow { max-width: 520px; }
.page-block-width-standard { max-width: 760px; }
.page-block-width-wide { max-width: 980px; }
.page-block-width-full { max-width: none; }
.page-block-spacing-compact { padding-block: 10px; }
.page-block-spacing-roomy { padding-block: 36px; }
.page-block-inspector { border-left: 1px solid var(--line); padding: 20px 16px; overflow: auto; }
.page-inspector-description { margin: 12px 0 18px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.page-inspector-field { display: grid; gap: 6px; margin-top: 14px; color: var(--ink); font-size: 10px; font-weight: 900; }
.page-inspector-field input, .page-inspector-field select, .page-inspector-field textarea { width: 100%; min-height: 39px; padding: 9px 10px; border: 1px solid #bdc8d8; border-radius: 0; background: #fff; color: var(--ink); font: inherit; font-size: 10px; font-weight: 600; }
.page-inspector-field textarea { resize: vertical; line-height: 1.55; }
.page-inspector-field small { color: var(--muted); font-size: 9px; font-weight: 500; line-height: 1.5; }
.page-inspector-subheading { margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--line); font-size: 11px; }
.page-inspector-actions { display: grid; gap: 8px; margin-top: 22px; }
.page-inspector-actions .button-primary, .page-inspector-actions .button-secondary, .page-inspector-actions .button-danger { width: 100%; min-height: 39px; font-size: 10px; }
.page-font-samples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.page-font-samples div { display: grid; gap: 5px; text-align: center; }
.page-font-samples button { min-height: 60px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-family: var(--heading-font); font-weight: 900; cursor: pointer; }
.page-font-samples .is-small { font-size: 16px; }
.page-font-samples .is-standard { border-color: var(--blue); color: var(--blue); font-size: 21px; }
.page-font-samples .is-large { font-size: 27px; }
.page-font-samples span { color: var(--muted); font-size: 8px; font-weight: 800; }
.page-composer-fallback { display: none; gap: 8px; align-items: center; padding: 14px; border-top: 1px solid var(--line); }
.page-composer-fallback label { color: var(--muted); font-size: 10px; font-weight: 800; }
body.page-composer-focus-mode { overflow: hidden; }
body.page-composer-focus-mode #pageBlocksEditor { position: fixed; inset: 0; z-index: 1200; display: grid; grid-template-rows: auto minmax(0, 1fr); width: 100vw; height: 100vh; margin: 0; border: 0; background: #fff; }
body.page-composer-focus-mode .page-composer-toolbar { position: relative; z-index: 2; box-shadow: 0 1px 0 var(--line); }
body.page-composer-focus-mode .page-composer-grid { min-height: 0; height: 100%; overflow: hidden; }
body.page-composer-focus-mode .page-composer-library, body.page-composer-focus-mode .page-block-inspector, body.page-composer-focus-mode .page-composer-canvas { height: 100%; overflow: auto; }
body.page-composer-focus-mode .page-canvas-frame, body.page-composer-focus-mode .page-canvas-preview { min-height: calc(100vh - 138px); }
body.page-composer-focus-mode .page-composer-fallback { display: none; }
.page-canvas-preview[data-preview-heading-font="serif"] :where(h2, h3) { font-family: "Noto Serif KR", "Nanum Myeongjo", Batang, serif; }
.page-canvas-preview[data-preview-body-font="serif"] { font-family: "Noto Serif KR", "Nanum Myeongjo", Batang, serif; }
.page-canvas-preview[data-preview-base-size="compact"] { font-size: 11px; }
.page-canvas-preview[data-preview-base-size="large"] { font-size: 14px; }
.page-canvas-preview[data-preview-brand-color="navy"] { --blue: #17345f; --blue-soft: #e9eef5; }
.page-canvas-preview[data-preview-brand-color="teal"] { --blue: #087f78; --blue-soft: #e6f5f3; }
.page-canvas-preview[data-preview-brand-color="plum"] { --blue: #7a315f; --blue-soft: #f6eaf2; }
.page-canvas-preview[data-preview-brand-size="small"] .page-canvas-site-header img { height: 29px; }
.page-canvas-preview[data-preview-brand-size="large"] .page-canvas-site-header img { height: 46px; max-width: 185px; }
.page-canvas-preview[data-preview-header-height="compact"] .page-canvas-site-header { min-height: 58px; }
.page-canvas-preview[data-preview-header-height="tall"] .page-canvas-site-header { min-height: 92px; }
.page-canvas-preview[data-preview-notice-density="compact"] .page-canvas-service-notice { padding-block: 4px; }
.page-canvas-preview[data-preview-notice-density="roomy"] .page-canvas-service-notice { padding-block: 13px; }
.page-canvas-preview[data-preview-content-width="narrow"] .page-canvas-blocks { padding-inline: 58px; }
.page-canvas-preview[data-preview-content-width="wide"] .page-canvas-blocks { padding-inline: 18px; }
.page-canvas-preview[data-preview-spacing="compact"] :where(.page-canvas-site-header, .page-canvas-hero, .page-canvas-blocks) { padding-inline: 18px; }
.page-canvas-preview[data-preview-spacing="roomy"] :where(.page-canvas-site-header, .page-canvas-hero, .page-canvas-blocks) { padding-inline: 42px; }
.managed-page-block { width: 100%; max-width: 760px; margin-inline: auto; }
.managed-page-block-align-center { text-align: center; }
.managed-page-block-align-center :where(img, .admin-actions) { margin-inline: auto; justify-content: center; }
.managed-page-block-align-right { text-align: right; }
.managed-page-block-align-right :where(img, .admin-actions) { margin-left: auto; justify-content: flex-end; }
.managed-page-block-width-narrow { max-width: 560px; }
.managed-page-block-width-wide { max-width: 980px; }
.managed-page-block-width-full { max-width: none; }
.managed-page-block-spacing-compact { margin-block: 10px; }
.managed-page-block-spacing-standard { margin-block: 24px; }
.managed-page-block-spacing-roomy { margin-block: 48px; }
.managed-page-block-size-small { font-size: .9em; }
.managed-page-block-size-large { font-size: 1.16em; }
.managed-page-block-size-xlarge { font-size: 1.34em; }
.phase3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compact-fields { margin-top: 1rem; }
.admin-list-row.is-disabled { opacity: .62; }
.stat-bar { height: .45rem; background: #dce5f3; margin-top: .35rem; }
.stat-bar > span { display: block; height: 100%; background: var(--blue, #1649d8); }
.news-candidate-section { margin: 18px 0 22px; padding: 18px; border: 1px solid var(--line); background: var(--surface-soft); }
.news-candidate-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.news-candidate-heading h3 { margin: 6px 0 0; font-size: 1.05rem; }
.news-candidate-heading p { margin: 8px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.news-candidate-layout { display: grid; grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr); gap: 12px; margin-top: 12px; }
.news-candidate-list, .news-candidate-detail { min-width: 0; border: 1px solid var(--line); background: #fff; }
.news-candidate-list { display: grid; align-content: start; gap: 7px; padding: 10px; }
.news-candidate-list-item { width: 100%; padding: 11px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.news-candidate-list-item:hover, .news-candidate-list-item:focus-visible { border-color: var(--blue); outline: 2px solid color-mix(in srgb, var(--blue) 20%, transparent); outline-offset: 1px; }
.news-candidate-list-item.is-selected { border-color: var(--blue); background: var(--blue-soft); }
.news-candidate-list-item strong, .news-candidate-list-item span, .news-candidate-list-item small { display: block; }
.news-candidate-list-item strong { font-size: .82rem; line-height: 1.45; }
.news-candidate-list-item span, .news-candidate-list-item small { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.news-candidate-detail { min-height: 310px; padding: 16px; }
.news-candidate-empty { display: grid; place-content: center; min-height: 275px; color: var(--muted); text-align: center; }
.news-candidate-empty strong { color: var(--ink); }
.news-candidate-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.news-candidate-detail-heading h4 { margin: 5px 0 0; font-size: 1.05rem; }
.news-candidate-integrity { padding: 7px 9px; border: 1px solid var(--line); font-size: .68rem; font-weight: 800; white-space: nowrap; }
.news-candidate-integrity[data-state="verified"] { border-color: #2d8a55; background: #edf9f1; color: #17643b; }
.news-candidate-integrity[data-state="blocked"] { border-color: #c52a22; background: #fff1ef; color: #9f1e18; }
.news-candidate-summary { margin: 12px 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.news-candidate-panel { margin-top: 10px; padding: 12px; border: 1px solid var(--line); background: #fff; }
.news-candidate-panel h5, .news-candidate-panel summary { margin: 0 0 8px; font-size: .76rem; font-weight: 900; }
.news-candidate-panel summary { cursor: pointer; }
.news-candidate-panel pre { max-height: 300px; margin: 0; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .72rem; line-height: 1.7; }
.news-candidate-actions { margin-top: 12px; }
@media (max-width: 800px) {
  .phase3-grid { grid-template-columns: 1fr; }
  .news-candidate-heading, .news-candidate-detail-heading { display: block; }
  .news-candidate-heading .admin-actions, .news-candidate-integrity { margin-top: 10px; }
  .news-candidate-layout { grid-template-columns: 1fr; }
  .page-composer-toolbar { grid-template-columns: 1fr; }
  .page-composer-toolbar-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-composer-grid { grid-template-columns: 1fr; }
  .page-composer-library, .page-block-inspector { border: 0; border-bottom: 1px solid var(--line); }
  .page-block-palette { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-composer-canvas { order: -1; }
  .page-composer-fallback { display: flex; flex-wrap: wrap; }
  body.page-composer-focus-mode #pageBlocksEditor { position: static; display: block; width: auto; height: auto; }
  body.page-composer-focus-mode { overflow: auto; }
  .public-search-form > div { flex-direction: column; }
}

/* Body Atlas site system --------------------------------------------------- */
body:not(.admin-page) {
  background: #f3f1ea;
}

body:not(.admin-page) .community-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}

body:not(.admin-page) .primary-menu a {
  position: relative;
}

body:not(.admin-page) .primary-menu a::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 6px;
  left: 12px;
  height: 2px;
  background: transparent;
}

body:not(.admin-page) .primary-menu a:hover,
body:not(.admin-page) .primary-menu a.is-active {
  color: var(--blue);
}

body:not(.admin-page) .primary-menu a.is-active::after {
  background: var(--blue);
}

.atlas-home-page {
  padding-top: 18px;
  padding-bottom: 0;
}

.atlas-home-page .atlas-heading {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  column-gap: clamp(34px, 7vw, 110px);
  max-width: none;
  margin-bottom: clamp(38px, 5vw, 66px);
}

.atlas-home-page .atlas-heading .eyebrow {
  grid-column: 1;
  align-self: start;
  margin-top: 14px;
}

.atlas-home-page .atlas-heading h1,
.atlas-home-page .atlas-heading .page-summary {
  grid-column: 2;
}

.atlas-home-page .atlas-heading h1 {
  margin-top: 0;
}

.atlas-home-page .atlas-heading .page-summary {
  max-width: 760px;
}

.atlas-route-section {
  margin-top: 30px;
  border: 1px solid var(--ink);
  background: var(--paper);
}

.atlas-route-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 30px 32px;
  border-bottom: 1px solid var(--ink);
}

.atlas-route-heading h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 500;
  letter-spacing: -.045em;
}

.atlas-route-heading > p {
  max-width: 360px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.atlas-route-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.atlas-route-card {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  background: #f7f5ef;
  transition: background .18s ease, color .18s ease;
}

.atlas-route-card + .atlas-route-card {
  border-left: 1px solid var(--ink);
}

.atlas-route-card > span {
  color: var(--blue);
  font-family: var(--heading-font);
  font-size: 10px;
  letter-spacing: .1em;
}

.atlas-route-card > strong {
  margin-top: 30px;
  font-family: var(--heading-font);
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -.04em;
}

.atlas-route-card > p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
  word-break: keep-all;
}

.atlas-route-card > em {
  margin-top: auto;
  padding-top: 22px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.atlas-route-card:hover,
.atlas-route-card:focus-visible {
  background: var(--blue);
  color: #fff;
}

.atlas-route-card:hover > :is(span, p),
.atlas-route-card:focus-visible > :is(span, p) {
  color: #fff;
}

.motion-reveal {
  opacity: .001;
  transform: translateY(var(--motion-distance));
}

.motion-reveal.is-motion-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity var(--motion-reveal) var(--motion-ease), transform var(--motion-reveal) var(--motion-ease);
  transition-delay: calc(var(--motion-section-order, 0) * 35ms);
}

.motion-reveal .motion-stagger-item {
  opacity: .001;
  transform: translateY(10px);
}

.motion-reveal.is-motion-visible .motion-stagger-item {
  opacity: 1;
  transform: translateY(0);
  transition: opacity var(--motion-reveal) var(--motion-ease), transform var(--motion-reveal) var(--motion-ease);
  transition-delay: calc((var(--motion-section-order, 0) * 35ms) + (var(--motion-order, 0) * var(--motion-stagger)));
}

.atlas-home .atlas-route-card { position: relative; overflow: hidden; }
.atlas-home .atlas-route-card::after { content: ""; position: absolute; left: 28px; right: 100%; bottom: 0; height: 3px; background: #3fc7d3; transition: right var(--motion-base) var(--motion-ease); }
.atlas-home .atlas-route-card > em,
.atlas-home .community-news-thumb img,
.atlas-home .home-module-empty,
.atlas-home :is(.button-primary, .button-secondary) { transition: transform var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) ease, background-color var(--motion-fast) ease, color var(--motion-fast) ease; }

@media (hover: hover) and (pointer: fine) {
  .atlas-home .atlas-route-card:hover::after,
  .atlas-home .atlas-route-card:focus-visible::after { right: 28px; }
  .atlas-home .atlas-route-card:hover > em,
  .atlas-home .atlas-route-card:focus-visible > em { transform: translateX(4px); }
  .atlas-home .community-news-list article:hover .community-news-thumb img,
  .atlas-home .community-news-list article:focus-within .community-news-thumb img { transform: scale(1.02); }
  .atlas-home .home-module-empty:hover,
  .atlas-home .home-module-empty:focus-within { border-color: var(--blue); background: var(--blue-soft); }
  .atlas-home :is(.button-primary, .button-secondary):not(:disabled):hover,
  .atlas-home :is(.button-primary, .button-secondary):not(:disabled):focus-visible { transform: translateY(-1px); }
}

.atlas-home .community-news-section,
.atlas-home .community-home-recent,
.atlas-home .home-video-section,
.atlas-home .community-business-section > .shell {
  border-inline: 1px solid var(--line);
  background: var(--paper);
}

.atlas-home .community-news-section,
.atlas-home .community-home-recent,
.atlas-home .home-video-section,
.atlas-home .community-business-section > .shell {
  padding: var(--public-section-block) var(--public-content-inline);
}

.atlas-home .community-business-section {
  padding: 0;
  background: transparent;
}

.atlas-home .community-news-intro h2,
.atlas-home .community-section-heading h2 {
  font-size: var(--public-section-title);
  font-weight: 500;
}

.atlas-home .community-news-list,
.atlas-home .community-home-grid,
.atlas-home .business-media-grid,
.atlas-home .home-video-grid,
.atlas-home .home-module-empty,
.atlas-home .community-news-empty {
  border-color: var(--ink);
  border-radius: 0;
}

.atlas-visit-strip {
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

body:not(.admin-page) :is(.page-hero, .business-directory-hero, .community-board-hero, .news-library-hero, .video-library-hero) {
  border-color: var(--ink);
  background: #f7f5ef;
}

body:not(.admin-page) .page-hero:not(.community-page-hero):not(.public-page-intro) h1,
body:not(.admin-page) .business-directory-hero h1,
body:not(.admin-page) .community-board-hero h1,
body:not(.admin-page) .news-library-hero h1,
body:not(.admin-page) .video-library-hero h1 {
  max-width: 920px;
  font-size: var(--public-page-title);
  line-height: 1.06;
  letter-spacing: -.06em;
  font-weight: 500;
}

body:not(.admin-page) :is(.content-card, .business-media-card, .community-home-card, .video-library-card, .news-secondary-card) {
  border-radius: 0;
}

body:not(.admin-page) :is(.content-card h2, .business-media-card h3, .community-home-card h3, .video-library-card-body h2, .news-secondary-card h2) {
  font-size: var(--public-card-title);
  line-height: 1.4;
  letter-spacing: -.04em;
}

@media (max-width: 980px) {
  .atlas-home-page .atlas-heading {
    display: block;
  }

  .atlas-home-page .atlas-heading .eyebrow {
    margin-top: 0;
  }

  .atlas-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .atlas-route-card:nth-child(3) {
    border-left: 0;
  }

  .atlas-route-card:nth-child(n + 3) {
    border-top: 1px solid var(--ink);
  }
}

@media (max-width: 640px) {
  body:not(.admin-page) .community-site-header {
    position: relative;
  }

  .atlas-home-page {
    padding: 12px 18px 0;
  }

  .atlas-route-heading {
    display: block;
    padding: 24px 20px;
  }

  .atlas-route-heading > p {
    margin-top: 10px;
  }

  .atlas-route-grid {
    grid-template-columns: 1fr;
  }

  .atlas-route-card {
    min-height: 180px;
    padding: 24px 20px;
    border-left: 0 !important;
  }

  .atlas-route-card + .atlas-route-card {
    border-top: 1px solid var(--ink);
  }

  .atlas-home .community-news-section,
  .atlas-home .community-home-recent,
  .atlas-home .home-video-section,
  .atlas-home .community-business-section > .shell {
    padding: 44px var(--public-content-inline);
  }
}

/* Community expansion: A-type editorial hub with list and directory routes. */
.community-site-header { min-height: 0; flex-direction: column; align-items: stretch; }
.community-site-header > .nav { min-height: 82px; }
.primary-menu {
  justify-content: flex-end;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  background: #f7f9fc;
  box-shadow: 4px 4px 0 var(--blue-soft);
}
.primary-menu a {
  min-width: 62px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  text-align: center;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.primary-menu a::after { display: none; }
.primary-menu a:hover { color: var(--blue); background: var(--blue-soft); }
.primary-menu a.is-active {
  color: #fff;
  background: var(--blue);
}
.primary-menu a:active { transform: translateY(1px); }
.nav-action.is-disabled { cursor: default; border-color: var(--line); color: var(--muted); background: var(--canvas); }
.nav-action.is-disabled::after { content: ""; }
.nav-action.is-disabled:hover { color: var(--muted); background: var(--canvas); }
.topic-nav { min-height: 48px; display: flex; align-items: center; gap: clamp(15px, 2vw, 28px); overflow-x: auto; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.topic-nav strong, .topic-nav a.is-active { color: var(--ink); }
.topic-nav a:hover { color: var(--blue); }

.site-migration-notice {
  width: 100%;
  margin: 0;
  padding: 11px max(24px, calc((100% - var(--max)) / 2));
  border-bottom: 1px solid #0f35a6;
  background: var(--blue);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.site-migration-notice strong { margin-right: 8px; letter-spacing: .06em; }
.site-migration-notice span { color: #dce6ff; }

.community-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .85fr); border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.community-hero-copy { padding: 54px 38px 36px; border-right: 1px solid var(--line); }
.community-hero h1 { max-width: 900px; font-size: clamp(42px, 4vw, 62px); }
.community-hero-summary { max-width: 760px; margin: 22px 0 0; color: var(--muted); font-size: 16px; line-height: 1.75; word-break: keep-all; }
.community-actions { display: flex; gap: 10px; margin-top: 26px; }
.community-actions .button-primary, .community-actions .button-secondary { display: inline-flex; align-items: center; justify-content: center; }
.community-feature-art { position: relative; min-height: 200px; display: flex; flex-direction: column; justify-content: flex-end; gap: 15px; margin-top: 32px; padding: 24px; overflow: hidden; background: linear-gradient(135deg, var(--blue) 0 55%, #bcd0ff 55%); color: #fff; }
.community-feature-art::after { content: "COMMUNITY"; position: absolute; top: 15px; right: -14px; color: rgba(255,255,255,.18); font-size: clamp(40px, 5vw, 70px); font-weight: 900; letter-spacing: -.07em; }
.community-feature-art span, .community-feature-art strong { position: relative; z-index: 1; }
.community-feature-art span { font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.community-feature-art strong { font-size: 19px; line-height: 1.5; }
.community-best { padding: 34px 28px; }
.community-best-heading { padding-bottom: 13px; }
.community-best-heading h2 { margin: 8px 0 0; font-size: 23px; letter-spacing: -.045em; }
.best-list { margin: 0; padding: 0; list-style: none; }
.best-list li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 11px; align-items: start; padding: 17px 0; border-top: 1px solid var(--line); }
.best-list b { color: var(--blue); font-size: 11px; }
.best-list div { display: grid; gap: 6px; }
.best-list strong { font-size: 14px; line-height: 1.4; }
.best-list strong a { color: inherit; text-decoration: none; }
.best-list strong a:hover { color: var(--blue); }
.best-list span, .best-list em { color: var(--muted); font-size: 10px; font-style: normal; }

.community-business-section { padding: 42px 0; border-bottom: 1px solid var(--line); background: #fff; }
.community-section-heading { align-items: flex-end; }
.business-media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px; }
.business-media-card { min-width: 0; border: 1px solid var(--line); background: #fff; }
.business-card-image, .business-card-art { position: relative; display: block; height: 180px; overflow: hidden; background: var(--blue); }
.business-media-card > a.business-card-art { display: block; width: 100%; margin: 0; color: #fff; }
.business-card-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); opacity: .78; }
.business-card-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(22,73,216,.62), rgba(15,53,166,.82)); }
.business-card-image span, .business-card-art span { position: absolute; z-index: 1; left: 18px; bottom: 16px; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.business-card-art::after { content: ""; position: absolute; width: 170px; height: 170px; top: -55px; right: -25px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; }
.business-card-art-skin { background: linear-gradient(145deg, #ffcfb9, #ff956e); }
.business-card-art-new { background: linear-gradient(145deg, #263142, #718096); }
.business-card-art-1 { background: linear-gradient(145deg, #1649d8, #092d91); }
.business-card-art-2 { background: linear-gradient(145deg, #6f85bc, #283652); }
.business-card-art-3 { background: linear-gradient(145deg, #d98d6b, #77483b); }
.business-media-card > div:last-child { padding: 17px; }
.business-media-card h3 { margin: 9px 0 6px; font-size: 20px; letter-spacing: -.04em; }
.business-media-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.business-media-card a { display: inline-flex; margin-top: 16px; color: var(--blue); font-size: 11px; font-weight: 900; }
.content-badge { display: inline-flex; padding: 5px 7px; border: 1px solid var(--blue); color: var(--blue); font-size: 11px; font-weight: 900; }
.content-badge.neutral { border-color: var(--line); color: var(--muted); }

.community-news-section { display: grid; grid-template-columns: 250px minmax(0, 1fr); padding-block: 38px; border-bottom: 1px solid var(--line); }
.community-news-intro { padding-right: 28px; }
.community-news-intro h2 { margin: 9px 0 12px; font-size: 32px; letter-spacing: -.05em; }
.community-news-intro p:not(.section-label) { color: var(--muted); font-size: 12px; line-height: 1.7; }
.community-news-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); border-left: 1px solid var(--line); }
.community-news-list article { min-width: 0; padding: 3px 20px 18px; border-right: 1px solid var(--line); }
.community-news-thumb { position: relative; display: block; height: 118px; margin: -3px -20px 18px; overflow: hidden; background: var(--blue); }
.community-news-thumb img { width: 100%; height: 100%; object-fit: cover; }
.community-news-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(15,53,166,.66)); }
.community-news-thumb span { position: absolute; z-index: 1; left: 13px; bottom: 11px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.community-news-latest { display: inline-flex; margin-bottom: 12px; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.community-news-list h3 { margin: 13px 0 10px; font-size: 18px; line-height: 1.45; letter-spacing: -.035em; }
.community-news-list article > p:last-of-type { color: var(--muted); font-size: 12px; line-height: 1.65; }
.community-news-empty { padding: 26px; border-left: 1px solid var(--line); background: var(--canvas); }
.community-news-empty h3 { margin: 10px 0; font-size: 22px; }
.community-news-empty p { color: var(--muted); }
.home-video-section { padding-block: 42px; border-bottom: 1px solid var(--line); }
.home-video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 14px; }
.home-module-empty { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr) auto; gap: 20px; align-items: center; padding: 24px; border: 1px solid var(--line); background: var(--canvas); }
.home-module-empty strong { font-size: 18px; letter-spacing: -.035em; }
.home-module-empty p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.home-module-empty .button-secondary { display: inline-flex; align-items: center; justify-content: center; min-width: 150px; }
.home-module-count { color: var(--blue); font-size: .55em; vertical-align: top; }
.community-category-section { padding-block: 38px; }
.community-category-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.community-category-grid a { display: grid; gap: 8px; min-height: 90px; padding: 18px; border-right: 1px solid var(--line); }
.community-category-grid a:last-child { border-right: 0; }
.community-category-grid a:hover { background: var(--blue-soft); }
.community-category-grid b { font-size: 14px; }
.community-category-grid span { color: var(--muted); font-size: 10px; }
.community-visit-strip { border-top: 1px solid var(--line); background: var(--canvas); }
.community-visit-strip > div { display: grid; grid-template-columns: 1.2fr .8fr; gap: 34px; padding: 30px var(--public-content-inline); }
.community-visit-strip h2 { margin: 8px 0; font-size: 23px; letter-spacing: -.04em; }
.community-visit-strip p { margin: 0; color: var(--muted); font-size: 12px; }
.community-visit-strip > div > div:last-child { display: grid; align-content: center; gap: 8px; font-size: 12px; font-weight: 800; }

/* The community is a working board, so its content should enter the first viewport. */
.community-page-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 24px var(--public-content-inline);
}
.community-page-hero h1 { font-size: clamp(27px, 2.6vw, 36px); line-height: 1.18; }
.community-page-hero .page-summary { max-width: 680px; margin-top: 8px; font-size: 13px; line-height: 1.55; }
.community-page-hero .page-index { display: none; }

.community-board-shell { display: grid; grid-template-columns: 228px minmax(0, 1fr); min-height: 520px; padding-inline: 0; border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.community-board-categories, .community-board-rail { padding: 28px 18px; background: #f9fbfd; }
.community-board-categories { border-right: 1px solid var(--line); }
.community-board-categories a { display: flex; min-height: var(--topic-nav-row-height); align-items: center; justify-content: space-between; padding: 8px 10px; font-size: var(--topic-nav-item-size); font-weight: 750; line-height: 1.35; }
.community-board-categories a:hover { background: var(--blue-soft); color: var(--blue-dark); }
.community-board-categories a.is-current { box-shadow: inset 4px 0 0 var(--blue-dark); background: var(--blue); color: #fff; font-weight: 900; }
.community-board-categories a span { opacity: .7; font-size: var(--topic-nav-meta-size); }
.community-topic-search { display: block; margin: 13px 0 8px; }
.community-topic-search input { width: 100%; min-height: var(--topic-nav-row-height); padding: 0 10px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; font-size: var(--topic-nav-item-size); }
.community-topic-search input:focus { border-color: var(--blue); outline: 2px solid rgba(22, 73, 216, .16); }
.community-topic-panel > summary { display: none; }
.community-topic-panel:not([open]) > .community-topic-panel-body { display: block; }
.community-topic-panel-body { display: block; }
.community-topic-all { margin-bottom: 4px; border: 1px solid transparent; }
.community-topic-tree { display: grid; gap: var(--topic-nav-gap); }
.community-topic-group { display: block; border-top: 1px solid var(--line); }
.community-topic-group > summary { display: flex; min-height: var(--topic-nav-row-height); align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; color: var(--ink); font-size: var(--topic-nav-group-size); font-weight: 900; letter-spacing: .015em; line-height: 1.35; cursor: pointer; list-style: none; }
.community-topic-group > summary::-webkit-details-marker { display: none; }
.community-topic-group > summary:hover { background: #eef3fc; }
.community-topic-group > summary::before { content: "+"; flex: 0 0 14px; color: var(--blue); font-size: 17px; font-weight: 700; line-height: 1; }
.community-topic-group[open] > summary::before { content: "−"; }
.community-topic-group > summary > span { flex: 1 1 auto; }
.community-topic-group > summary > small { display: grid; min-width: 22px; height: 22px; place-items: center; border: 1px solid var(--line); color: var(--muted); font-size: var(--topic-nav-meta-size); font-weight: 800; }
.community-topic-group-items { display: grid; gap: 1px; padding: 0 0 6px var(--topic-nav-indent); }
.community-topic-group-items > a { border-left: 1px solid var(--line); }
.community-topic-group-empty { margin: 0; padding: 8px 10px; color: var(--muted); font-size: var(--topic-nav-meta-size); }
.community-topic-path { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.community-topic-path a { color: var(--blue); font-weight: 800; }
.community-topic-path strong { color: var(--ink); }
.community-recent-topics { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.community-recent-topics > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.community-recent-topics .section-label { margin: 0; }
.community-recent-topics button { border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.community-recent-topics [data-recent-community-topics] a { padding-block: 8px; color: var(--muted); }
.community-local-empty { color: var(--muted); font-size: 12px; line-height: 1.55; }
.agent-category-label { margin-top: 26px; }
.community-board-list { padding: 22px 20px; }
.community-board-toolbar { display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 18px; }
.community-board-toolbar h2 { margin: 8px 0 0; font-size: 25px; }
.community-board-row { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 18px 10px; border-top: 1px solid var(--line); }
.community-board-row.is-notice { border-top: 2px solid var(--ink); background: #f5f8ff; }
.community-list-head, .community-post-row { grid-template-columns: 44px 78px minmax(0, 1fr) 100px 64px; gap: 10px; align-items: center; }
.community-list-head.has-metrics, .community-post-row.has-metrics { grid-template-columns: 44px 78px minmax(0, 1fr) 100px 52px 64px; }
.community-list-head { display: grid; min-height: 34px; padding: 0 10px; border: 1px solid var(--line); background: #eef2f7; color: #566174; font-size: 11px; font-weight: 900; letter-spacing: .03em; text-align: center; }
.community-list-head span:nth-child(3) { text-align: left; }
.community-post-row { min-height: 43px; padding: 0 10px; transition: background-color .15s ease; }
.community-post-row:hover { background: #f3f6fc; }
.community-post-row.is-read { background: #f7f8fa; }
.community-post-row.is-read .community-post-title a { color: #747b87; font-weight: 650; }
.community-post-upvotes { display: grid; place-items: center; min-height: 28px; color: var(--blue); font-size: 12px; font-weight: 900; text-align: center; text-decoration: none; }
.community-post-upvotes:hover, .community-post-upvotes:focus { background: var(--blue-soft); outline: 1px solid var(--blue); }
.community-best-badge { display: inline-flex; margin-left: 7px; padding: 2px 5px; border: 1px solid var(--blue); color: var(--blue); font-size: 10px; font-weight: 900; line-height: 1; letter-spacing: .05em; vertical-align: 2px; }
.community-post-number, .community-post-category, .community-post-author, .community-post-date { min-width: 0; overflow: hidden; color: var(--muted); font-size: 12px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.community-post-category { color: var(--ink); font-weight: 750; }
.community-post-title { min-width: 0; margin: 0; overflow: hidden; font-size: 13px; font-weight: 780; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.community-post-title a { color: inherit; text-decoration: none; }
.community-post-title a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.community-attachment-badge, .community-read-badge { display: inline-flex; margin-left: 6px; padding: 2px 5px; vertical-align: 1px; font-size: 10px; font-weight: 850; line-height: 1.25; }
.community-attachment-badge { border: 1px solid #a8bce9; color: var(--blue); }
.community-read-badge { background: #e5e8ed; color: #59606b; }
.community-notice-slider { position: relative; min-height: 88px; margin-bottom: 10px; border: 1px solid var(--blue); background: linear-gradient(135deg, var(--blue-soft), #fff 70%); }
.community-notice-slide { display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: center; min-height: 86px; padding: 13px 118px 13px 14px; }
.community-notice-slide[hidden] { display: none; }
.community-notice-slide h3 { margin: 4px 0 0; font-size: 15px; }
.community-notice-slide p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.community-notice-controls { position: absolute; right: 14px; bottom: 14px; display: flex; align-items: center; gap: 7px; }
.community-notice-controls button { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--blue); background: #fff; color: var(--blue); cursor: pointer; }
.community-notice-controls span { min-width: 34px; color: var(--muted); font-size: 12px; text-align: center; }
.community-board-row b { font-size: 15px; }
.community-board-row p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.community-board-row > span:last-child, .community-board-row > a { color: var(--muted); font-size: 12px; font-weight: 800; }
.community-row-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 900; }
.community-row-icon.agent { background: var(--ink); color: #fff; }
.community-board-rail { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(190px, auto); gap: 18px; align-items: center; padding: 15px 20px; border-top: 1px solid var(--line); background: #f9fbfd; }
.community-board-rail strong { display: block; margin-top: 5px; font-size: 12px; line-height: 1.55; }
.community-board-rail > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.community-connection-promo { display: grid; gap: 5px; margin-bottom: 12px; padding: 16px 18px; border: 1px solid var(--blue); background: linear-gradient(135deg, var(--blue-soft), #fff 72%); color: var(--ink); text-decoration: none; }
.community-connection-promo span, .community-connection-promo small { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.community-connection-promo strong { font-size: 15px; line-height: 1.45; }
.community-connection-promo small { color: var(--muted); letter-spacing: 0; line-height: 1.55; }
.community-connection-promo:hover, .community-connection-promo:focus-visible { background: var(--blue); color: #fff; outline: 0; }
.community-connection-promo:hover span, .community-connection-promo:hover small, .community-connection-promo:focus-visible span, .community-connection-promo:focus-visible small { color: #fff; }
.community-connection-shell { padding-block: clamp(28px, 4vw, 56px); }
.community-connection-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
.community-connection-heading h1 { margin: 8px 0; font-size: clamp(34px, 5vw, 58px); line-height: 1; letter-spacing: -.055em; }
.community-connection-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.community-connection-heading-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.community-connection-boards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.community-connection-boards > a { display: grid; min-height: 132px; align-content: start; gap: 8px; padding: 18px; border-left: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.community-connection-boards > a > span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.community-connection-boards > a > strong { font-size: 15px; line-height: 1.35; }
.community-connection-boards > a > small { color: var(--muted); font-size: 11px; line-height: 1.55; }
.community-connection-boards > a:hover, .community-connection-boards > a:focus-visible, .community-connection-boards > a.is-current { background: var(--blue); color: #fff; outline: 0; }
.community-connection-boards > a:hover span, .community-connection-boards > a:hover small, .community-connection-boards > a:focus-visible span, .community-connection-boards > a:focus-visible small, .community-connection-boards > a.is-current span, .community-connection-boards > a.is-current small { color: #fff; }
.community-connection-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.community-connection-feed { min-width: 0; padding: 24px; }
.community-connection-guide { padding: 24px; border-left: 1px solid var(--line); background: #f8faff; }
.community-connection-guide h2 { margin: 8px 0 18px; font-size: 21px; line-height: 1.35; }
.community-connection-guide ul { display: grid; gap: 10px; margin: 0 0 20px; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.community-comment-guidance { margin-bottom: 14px; padding: 15px; border-left: 3px solid var(--blue); background: var(--blue-soft); }
.community-comment-guidance strong { font-size: 12px; }
.community-comment-guidance p { margin: 6px 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.community-comment-guidance a { color: var(--blue); font-size: 12px; font-weight: 850; }
.admin-community-create { display: grid; grid-template-columns: 1fr 1.3fr 120px auto; gap: 10px; align-items: end; margin: 18px 0 24px; padding: 18px; border: 1px solid var(--blue); background: var(--blue-soft); }
.admin-community-console-nav { position: sticky; top: 74px; z-index: 8; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--blue); background: #fff; box-shadow: 0 10px 30px rgba(18,35,66,.08); }
.admin-community-console-nav a { padding: 14px 12px; border-right: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 900; text-align: center; text-decoration: none; }
.admin-community-console-nav a:last-child { border-right: 0; }
.admin-community-console-nav a:hover, .admin-community-console-nav a:focus-visible { background: var(--blue); color: #fff; outline: 0; }
.admin-community-create label { margin: 0; }
.admin-community-card.is-archived { opacity: .78; background: #f5f6f8; }
.admin-community-topic-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: 22px; align-items: start; margin-top: 18px; }
.admin-community-topic-workspace .admin-community-create { margin-top: 0; }
.admin-community-topic-list { display: grid; gap: 7px; }
.admin-community-topic-tree { display: grid; gap: 10px; }
.admin-community-topic-branch { position: relative; border-left: 3px solid var(--blue); background: #f8faff; }
.admin-community-topic-branch.is-drag-chosen { border-color: var(--blue-dark); }
.admin-community-topic-branch.is-dragging { opacity: .45; background: var(--blue-soft); }
.admin-community-topic-branch > .admin-community-topic-row { border-left: 0; }
.admin-community-topic-children { border: 1px solid var(--line); border-top: 0; background: #f8faff; }
.admin-community-topic-children > summary { display: flex; min-height: 40px; align-items: center; justify-content: space-between; padding: 8px 14px; color: var(--blue-dark); font-size: 12px; font-weight: 900; cursor: pointer; list-style: none; }
.admin-community-topic-children > summary::-webkit-details-marker { display: none; }
.admin-community-topic-children > summary::before { content: "−"; margin-right: 8px; color: var(--blue); font-size: 16px; }
.admin-community-topic-children:not([open]) > summary::before { content: "+"; }
.admin-community-topic-children > summary > span { flex: 1; }
.admin-community-topic-children > .admin-community-topic-list { gap: 5px; padding: 0 10px 10px 26px; }
.admin-community-topic-row.is-child { border-left: 1px solid var(--line); }
.admin-community-topic-row { position: relative; border: 1px solid var(--line); background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.admin-community-topic-row.is-selected { border-color: var(--blue); box-shadow: 4px 4px 0 var(--blue-soft); }
.admin-community-topic-row.is-drag-chosen { border-color: var(--blue); }
.admin-community-topic-row.is-dragging { opacity: .45; background: var(--blue-soft); }
.admin-community-topic-summary { display: grid; grid-template-columns: auto 34px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 62px; padding: 9px 10px; padding-right: 176px; }
.admin-community-topic-summary > .status-pill { display: none; }
.admin-community-drag-handle { min-height: 34px; padding: 0 9px; border: 1px dashed #90a4c7; background: #f7f9fc; color: var(--muted); font: inherit; font-size: 10px; font-weight: 850; cursor: grab; touch-action: none; }
.admin-community-drag-handle:active { cursor: grabbing; }
.admin-community-drag-handle:hover, .admin-community-drag-handle:focus-visible { border-color: var(--blue); color: var(--blue); outline: 2px solid rgba(22,73,216,.14); }
.admin-community-topic-position { color: var(--blue); font-size: 11px; font-weight: 900; text-align: center; }
.admin-community-topic-copy { min-width: 0; }
.admin-community-topic-copy strong, .admin-community-topic-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-community-topic-copy strong { font-size: 14px; }
.admin-community-topic-copy small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.admin-community-topic-actions { display: flex; gap: 5px; }
.admin-community-topic-actions .button-secondary { min-width: 42px; padding: 8px 9px; }
.admin-community-topic-editor > summary { position: absolute; z-index: 1; top: 13px; right: 108px; min-height: 36px; padding: 10px 12px; border: 1px solid var(--line); background: #fff; color: var(--blue); font-size: 11px; font-weight: 900; cursor: pointer; list-style: none; }
.admin-community-topic-editor > summary::-webkit-details-marker { display: none; }
.admin-community-topic-editor > summary:hover, .admin-community-topic-editor > summary:focus-visible { background: var(--blue-soft); outline: 0; }
.admin-community-topic-editor[open] { border-top: 1px solid var(--line); }
.admin-community-topic-editor > .admin-community-form { grid-template-columns: minmax(160px, .7fr) minmax(240px, 1.3fr); margin: 0; padding: 14px; background: #f8faff; }
.admin-community-topic-editor .admin-actions { grid-column: 1 / -1; }
.admin-community-order-form { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line); background: #f7f9fc; }
.admin-community-order-form p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.admin-community-order-form .button-primary { flex: 0 0 auto; }
.admin-community-order-form .button-primary:disabled { opacity: .45; cursor: not-allowed; }
.admin-community-public-preview { position: sticky; top: 138px; padding: 18px; border: 1px solid var(--blue); background: var(--blue-soft); }
.admin-community-public-preview h3 { margin: 7px 0 0; font-size: 18px; }
.admin-community-public-preview > div > p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.admin-community-public-preview nav { display: block; margin: 16px 0 14px; border: 1px solid var(--line); background: #fff; }
.admin-community-public-preview nav a { color: var(--ink); text-decoration: none; }
.admin-community-public-preview nav > .community-topic-all { display: flex; min-height: var(--topic-nav-row-height); align-items: center; padding: 8px 12px; border-bottom: 1px solid var(--line); font-size: var(--topic-nav-item-size); font-weight: 900; }
.admin-community-public-preview nav > .community-topic-all.is-current { background: var(--blue); color: #fff; }
.admin-community-public-preview .community-topic-tree { padding: 0 10px 10px; }
.admin-community-public-preview .community-topic-group-items a { display: flex; min-height: var(--topic-nav-row-height); align-items: center; padding: 8px 10px; font-size: var(--topic-nav-item-size); font-weight: 750; }
.admin-community-connection-preset { display: grid; gap: 16px; margin-bottom: 16px; padding: 18px; border: 1px solid var(--blue); background: #fff; }
.admin-community-connection-preset h3 { margin: 7px 0 0; font-size: 18px; }
.admin-community-connection-preset > div > p:last-child { margin: 8px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.admin-community-connection-status { display: grid; gap: 12px; }
.admin-community-connection-status .status-pill.is-ready { background: var(--blue); color: #fff; }
.admin-community-connection-status ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.admin-community-connection-status li { display: grid; gap: 3px; padding: 9px 10px; border: 1px solid var(--line); background: #f8faff; }
.admin-community-connection-status strong { font-size: 12px; }
.admin-community-connection-status small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.admin-community-archived { margin-top: 14px; border: 1px solid var(--line); background: #f7f8fa; }
.admin-community-archived > summary { padding: 12px 14px; color: var(--muted); font-size: 11px; font-weight: 900; cursor: pointer; }
.admin-community-archived article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; border-top: 1px solid var(--line); }
.admin-community-archived strong, .admin-community-archived small { display: block; }
.admin-community-archived strong { font-size: 12px; }
.admin-community-archived small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.community-rich-field { display: grid; gap: 8px; }
.community-rich-field > span { font-size: 12px; font-weight: 900; }
.community-editor-toolbar { display: flex; position: sticky; z-index: 2; top: 0; flex-wrap: wrap; gap: 5px; padding: 8px; border: 1px solid var(--line); background: #f7f9fc; box-shadow: 0 1px 0 rgba(15, 23, 42, .04); }
.community-editor-toolbar button, .community-editor-toolbar select { min-height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.community-editor-toolbar select { max-width: 128px; }
.community-editor-toolbar button:hover, .community-editor-toolbar button:focus-visible, .community-editor-toolbar select:hover, .community-editor-toolbar select:focus-visible, .community-editor-toolbar button.is-active { border-color: var(--blue); color: var(--blue); outline: 2px solid rgba(22, 73, 216, .12); }
.community-editor-toolbar button:disabled { opacity: .45; cursor: not-allowed; }
.community-editor-upload-status { min-height: 38px; margin: 0; padding: 9px 12px; border: 1px solid var(--line); background: #f7f9fc; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.55; }
.community-editor-upload-status[data-state="progress"] { border-color: var(--blue); background: #eef3ff; color: var(--blue); }
.community-editor-upload-status[data-state="success"] { border-color: #16835b; background: #edf9f4; color: #0f6848; }
.community-editor-upload-status[data-state="error"] { border-color: #c7372f; background: #fff2f1; color: #a62822; }
.interaction-submit-feedback { display: block; flex-basis: 100%; margin-top: 8px; color: var(--blue); font-size: 12px; font-weight: 800; line-height: 1.55; }
.interaction-submit-feedback[data-state="error"] { color: #a62822; }
form[aria-busy="true"] [aria-disabled="true"] { cursor: wait; opacity: .62; pointer-events: none; }
[data-editor-status][data-state="warning"] { color: #8a5a00; font-weight: 800; }
[data-editor-status][data-state="error"] { color: #a62822; font-weight: 800; }
.community-rich-editor { min-height: 480px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 16px; line-height: 1.75; }
.community-rich-editor:focus-within { border-color: var(--blue); outline: 2px solid rgba(22, 73, 216, .16); }
.community-rich-editor .tiptap { min-height: 480px; padding: 24px; outline: 0; }
.community-rich-editor .tiptap > p { min-height: 1.75em; }
.community-rich-editor .tiptap p.is-editor-empty:first-child::before { float: left; height: 0; color: #8992a3; content: attr(data-placeholder); pointer-events: none; }
.community-rich-editor h2 { margin: 24px 0 10px; font-size: 28px; }
.community-rich-editor h3 { margin: 20px 0 8px; font-size: 22px; }
.community-rich-editor blockquote { margin: 18px 0; padding: 14px 18px; border-left: 3px solid var(--blue); background: var(--blue-soft); }
.community-rich-editor a, .article-body a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.news-inbox-panel { grid-column: 1 / -1; }
.news-editor-workspace.is-final-editing { grid-template-columns: minmax(0, 1fr); }
.news-editor-workspace.is-final-editing > .preview-panel { grid-column: 1; }
.news-inbox-filters { grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(140px, 1fr)); align-items: end; }
.news-inbox-filters .filter-actions { grid-column: 1 / -1; }
.news-inbox-excerpt { overflow: hidden; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; text-overflow: ellipsis; white-space: nowrap; }
.news-inbox-batch-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 14px 0; padding: 12px; border: 1px solid var(--line); background: var(--surface-soft); }
.news-inbox-schedule-field { display: grid; gap: 5px; min-width: 220px; font-size: 11px; font-weight: 800; }
.news-inbox-schedule-field input { min-height: 38px; border: 1px solid var(--line-strong); background: #fff; padding: 7px 10px; color: var(--ink); }
.news-inbox-select { display: inline-flex; gap: 6px; align-items: center; align-self: start; font-size: 11px; font-weight: 800; white-space: nowrap; }
.news-inbox-row:has(.news-inbox-select) { grid-template-columns: auto minmax(0, 1fr) auto; }
.news-inbox-pagination { margin-top: 14px; }
.document-inbox { display: grid; gap: 14px; margin: 18px 0 22px; padding: clamp(16px, 2.5vw, 24px); border: 1px solid var(--blue); background: linear-gradient(135deg, var(--blue-soft), #fff 58%); }
.document-inbox-heading { display: flex; gap: 16px; align-items: start; justify-content: space-between; }
.document-inbox-heading h3 { margin: 5px 0 8px; font-family: var(--heading-font); font-size: clamp(21px, 2vw, 28px); letter-spacing: -.035em; }
.document-inbox-heading p { max-width: 760px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.document-inbox-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.document-inbox-actions { margin: 0; }
.document-inbox-queue { display: grid; gap: 8px; }
.document-inbox-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); background: #fff; }
.document-inbox-item.is-current { border-color: var(--blue); box-shadow: inset 4px 0 0 var(--blue); }
.document-inbox-item[data-state="error"] { border-color: #b42318; background: #fff7f5; }
.document-inbox-item[data-state="duplicate"] { background: var(--surface-soft); opacity: .82; }
.document-inbox-item strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-inbox-item p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.document-inbox-retention { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.admin-news-editor { display: grid; gap: 12px; margin-top: 22px; }
.admin-news-editor[hidden] { display: none; }
.admin-news-editor-host { min-height: 520px; }
.admin-news-editor-host .tiptap { width: min(100%, 880px); min-height: 520px; margin-inline: auto; padding: clamp(24px, 3vw, 44px); font-size: clamp(16px, calc(12px + .35vw), 18px); line-height: 1.85; }
.admin-news-editor-host [data-news-document-title] { margin: 0 0 1.25em; padding-bottom: .65em; border-bottom: 3px solid var(--ink); font-family: var(--heading-font); font-size: 24px; line-height: 1.35; letter-spacing: -.035em; }
.admin-news-editor-host img { display: block; width: min(100%, 760px); height: auto; margin: 22px auto; border: 1px solid var(--line); }
.admin-news-editor [data-admin-news-editor-status][data-state="warning"] { border-color: #b97800; background: #fff7df; color: #805100; }
.admin-news-editor [data-admin-news-editor-status][data-state="success"] { border-color: #0e7a4c; background: #eefbf5; color: #075e3a; }

/* Long-form insight editor: preserve the administrator sidebar and focus the document canvas. */
.admin-longform-workspace {
  --longform-inspector-width: 278px;
  overflow: visible;
  padding: 0;
  border: 1px solid #ccd6e5;
  background: #fff;
}
.admin-longform-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid #d9e1ec;
}
.admin-longform-workspace-header .section-heading { flex: 1; margin: 0; }
.admin-longform-workspace-controls { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.admin-longform-workspace-controls button { min-height: 38px; padding-inline: 14px; }
.admin-longform-workspace-note { margin: 0; padding: 11px 20px; border-bottom: 1px solid #e1e7f0; background: #f8faff; }
.admin-longform-workspace-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--longform-inspector-width);
  align-items: start;
  min-width: 0;
}
.admin-longform-workspace-canvas { min-width: 0; background: #eef2f7; }
.insight-composer-heading-fields {
  display: grid;
  gap: 10px;
  width: min(100%, 820px);
  margin: 0 auto;
  padding: 34px clamp(24px, 5vw, 70px) 18px;
  border: 1px solid #d5dde9;
  border-bottom: 0;
  background: #fff;
  box-shadow: 0 18px 44px rgba(27, 43, 75, .09);
}
.insight-composer-heading-fields input,
.insight-composer-heading-fields textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #d8dfeb;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  outline: 0;
}
.insight-composer-heading-fields input { padding: 8px 0 18px; font-family: var(--heading-font); font-size: clamp(30px, 4vw, 48px); font-weight: 900; line-height: 1.2; letter-spacing: -.05em; }
.insight-composer-heading-fields textarea { min-height: 62px; padding: 8px 0 14px; resize: vertical; font-size: 15px; line-height: 1.65; }
.insight-composer-heading-fields :focus { border-bottom-color: var(--blue); }
.admin-longform-workspace .admin-news-editor-toolbar {
  position: sticky;
  top: calc(var(--admin-topbar-height, 0px) + 8px);
  z-index: 12;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #ccd6e5;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 8px 20px rgba(26, 45, 82, .07);
  backdrop-filter: blur(10px);
}
.admin-longform-toolbar-label { margin: 0 4px; color: #1d4ed8; font-size: 9px; font-weight: 900; letter-spacing: .11em; white-space: nowrap; }
.admin-longform-mobile-toolbar-hint { display: none; }
.admin-longform-toolbar-divider { width: 1px; height: 28px; margin-inline: 2px; background: #d7dfeb; }
.admin-longform-document-stage { padding: clamp(18px, 2.5vw, 36px); }
.admin-longform-workspace .admin-news-editor-host { min-height: 620px; border: 0; background: transparent; outline: 0; }
.admin-longform-workspace .admin-news-editor-host .tiptap {
  width: min(100%, 820px);
  min-height: 620px;
  margin-inline: auto;
  padding: clamp(36px, 5vw, 70px);
  border: 1px solid #d5dde9;
  border-top: 0;
  background: #fff;
  box-shadow: 0 18px 44px rgba(27, 43, 75, .09);
}
.admin-page #word-workspace.is-blank-composer > .preview-panel,
.admin-page #word-workspace.is-blank-composer .admin-offline-review-note,
.admin-page #word-workspace.is-blank-composer > .admin-panel > .admin-actions:not(.admin-longform-workspace-footer) { display: none; }
.admin-longform-workspace .community-editor-upload-status { margin: 0 18px 18px; }
.admin-longform-workspace-inspector {
  position: sticky;
  top: calc(var(--admin-topbar-height, 0px) + 8px);
  min-width: 0;
  padding: 18px;
  border-left: 1px solid #ccd6e5;
  background: #fff;
}
.admin-longform-inspector-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 14px; border-bottom: 2px solid #12203a; }
.admin-longform-inspector-heading > div { display: grid; gap: 4px; }
.admin-longform-inspector-heading span { color: #1d4ed8; font-size: 8px; font-weight: 900; letter-spacing: .12em; }
.admin-longform-inspector-heading strong { font-size: 17px; }
.admin-longform-inspector-heading button { min-height: 30px; padding: 0 9px; border: 1px solid #c7d0df; background: #fff; color: #33415c; font: inherit; font-size: 10px; font-weight: 800; }
.admin-longform-inspector-list { display: grid; gap: 0; margin: 0; }
.admin-longform-inspector-list > div { display: grid; gap: 6px; padding: 14px 0; border-bottom: 1px solid #dce3ed; }
.admin-longform-inspector-list dt { color: #66738c; font-size: 9px; font-weight: 900; letter-spacing: .05em; }
.admin-longform-inspector-list dd { overflow-wrap: anywhere; margin: 0; color: #17233e; font-size: 12px; font-weight: 800; line-height: 1.55; }
.admin-longform-metadata-button { width: 100%; margin-top: 16px; }
.admin-longform-workspace-inspector > p { margin: 12px 0 0; color: #6b778d; font-size: 10px; line-height: 1.6; }
.admin-longform-workspace-footer { justify-content: flex-end; margin: 0; padding: 14px 18px; border-top: 1px solid #d9e1ec; background: #fff; }
.admin-longform-workspace.is-inspector-collapsed .admin-longform-workspace-layout { grid-template-columns: minmax(0, 1fr); }
.admin-longform-workspace.is-inspector-collapsed .admin-longform-workspace-inspector { display: none; }

body.admin-news-focus-mode { --admin-topbar-height: 0px; overflow-x: hidden; }
.admin-news-focus-mode > .admin-reboot-sidebar,
.admin-news-focus-mode > .admin-reboot-topbar,
.admin-news-focus-mode > .admin-reboot-backdrop,
.admin-news-focus-mode > main.admin-shell > :not(#word-workspace) { display: none !important; }
.admin-news-focus-mode > main.admin-shell {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}
.admin-news-focus-mode #word-workspace { display: block; margin: 0; border: 0; }
.admin-news-focus-mode #word-workspace > .admin-panel { padding: 0; border: 0; }
.admin-news-focus-mode #word-workspace > .admin-panel > :not(#postOnlineEditor):not(#postPublicationFlow):not(.admin-offline-review-note):not(.admin-actions):not(#cmsStatus) { display: none !important; }
.admin-news-focus-mode .admin-longform-workspace { margin: 0; border: 0; }
.admin-news-focus-mode .admin-longform-workspace .admin-news-editor-toolbar,
.admin-news-focus-mode .admin-longform-workspace-inspector { top: 0; }

@media (max-width: 1180px) {
  .admin-longform-workspace-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-longform-workspace-inspector { position: static; border-top: 1px solid #ccd6e5; border-left: 0; }
}
@media (max-width: 720px) {
  .admin-longform-workspace { border-inline: 0; }
  .admin-longform-workspace-header { align-items: flex-start; flex-direction: column; gap: 12px; padding: 15px 14px; }
  .admin-longform-workspace-header .section-heading { width: 100%; }
  .admin-longform-workspace-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .admin-longform-workspace-controls button { width: 100%; min-height: 42px; padding-inline: 10px; }
  .admin-longform-workspace-note { padding: 10px 14px; font-size: 11px; line-height: 1.55; }
  .admin-longform-workspace-canvas { padding-bottom: 76px; }
  .admin-longform-workspace .admin-news-editor-toolbar {
    top: var(--admin-topbar-height, 0px);
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 6px;
    padding: 8px 10px;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scroll-snap-type: inline proximity;
  }
  .admin-longform-workspace .admin-news-editor-toolbar > * { flex: 0 0 auto; scroll-snap-align: start; }
  .admin-longform-mobile-toolbar-hint { display: inline-flex; align-items: center; min-height: 34px; padding: 0 9px; border: 1px solid #b9c8e2; background: #eef4ff; color: #1649d8; font-size: 10px; font-weight: 900; white-space: nowrap; }
  .admin-longform-document-stage { padding: 8px 0 0; }
  .admin-longform-workspace .admin-news-editor-host { min-height: 54vh; }
  .admin-longform-workspace .admin-news-editor-host .tiptap { min-height: 54vh; padding: 26px 18px 44px; font-size: 16px; line-height: 1.82; box-shadow: none; }
  .insight-composer-heading-fields { width: 100%; padding: 24px 18px 12px; border-inline: 0; box-shadow: none; }
  .insight-composer-heading-fields input { font-size: 30px; }
  .admin-longform-workspace .community-editor-upload-status { margin: 0 12px 14px; }
  .admin-longform-workspace-inspector { margin: 12px; padding: 15px; border: 1px solid #ccd6e5; }
  .admin-longform-inspector-heading strong { font-size: 16px; }
  .admin-longform-workspace-footer { position: sticky; right: 0; bottom: 0; left: 0; z-index: 15; padding: 10px 12px; box-shadow: 0 -10px 24px rgba(26, 45, 82, .1); }
  .admin-longform-workspace-footer #postEditorSaveButton { width: 100%; min-height: 48px; }
  .admin-news-focus-mode .admin-longform-workspace-header { position: sticky; top: 0; z-index: 16; background: #fff; }
  .admin-longform-toolbar-label,
  .admin-longform-toolbar-divider { display: none; }
  .hwp-source-preview > summary { align-items: flex-start; flex-direction: column; gap: 4px; padding: 13px 12px; }
  .hwp-source-preview > .admin-note { padding: 0 12px 12px; }
  .hwp-source-preview-pages { gap: 12px; max-height: 68vh; padding: 0 8px 10px; overscroll-behavior: contain; }
  .word-preview { max-height: 46vh; padding: 14px; font-size: 12px; }
}
.post-publication-flow { display: grid; gap: 16px; margin-top: 22px; padding: 20px; border: 1px solid var(--blue); background: #f8faff; }
.post-publication-flow[hidden] { display: none; }
.post-publication-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 1px; background: var(--line); list-style: none; }
.post-publication-steps li { display: grid; align-content: start; gap: 7px; min-height: 106px; padding: 15px; background: #fff; color: var(--muted); }
.post-publication-steps strong { color: var(--ink); font-size: 12px; }
.post-publication-steps span { font-size: 11px; line-height: 1.55; }
.post-publication-steps li[data-state="complete"] { background: var(--blue-soft); color: #42577d; }
.post-publication-steps li[data-state="complete"] strong { color: var(--blue); }
.post-publication-steps li[data-state="current"] { outline: 2px solid var(--blue); outline-offset: -2px; background: #fff; }
.post-publication-steps li[data-state="current"] strong::after { margin-left: 7px; color: var(--blue); content: "현재"; font-size: 10px; }
.post-publication-links { margin-top: 0; }
@media (max-width: 860px) { .post-publication-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .post-publication-steps { grid-template-columns: 1fr; } }
.editor-font-sans { font-family: var(--body-font); }
.editor-font-serif { font-family: Georgia, "Noto Serif KR", serif; }
.editor-font-mono { font-family: Consolas, "D2Coding", monospace; }
.editor-size-12 { font-size: 12px; }
.editor-size-14 { font-size: 14px; }
.editor-size-16 { font-size: 16px; }
.editor-size-18 { font-size: 18px; }
.editor-size-20 { font-size: 20px; }
.editor-size-24 { font-size: 24px; }
.editor-size-28 { font-size: 28px; }
.editor-size-32 { font-size: 32px; }
.editor-color-ink { color: var(--ink); }
.editor-color-gray { color: #687386; }
.editor-color-slate { color: #334155; }
.editor-color-brown { color: #7c4a2d; }
.editor-color-red { color: #c62828; }
.editor-color-orange { color: #c65d00; }
.editor-color-gold { color: #9a6700; }
.editor-color-green { color: #18794e; }
.editor-color-teal { color: #0f766e; }
.editor-color-blue { color: #1649d8; }
.editor-color-indigo { color: #4338ca; }
.editor-color-purple { color: #6f42c1; }
.editor-color-pink { color: #be185d; }
.editor-color-white { color: #fff; }
.editor-background-yellow { background: #fff2a8; }
.editor-background-orange { background: #ffe3c2; }
.editor-background-red { background: #ffd9d9; }
.editor-background-pink { background: #ffe0ea; }
.editor-background-purple { background: #eee2ff; }
.editor-background-blue { background: #dce7ff; }
.editor-background-teal { background: #d5f5f2; }
.editor-background-green { background: #d9f3e4; }
.editor-background-gray { background: #e8ecf2; }
.editor-background-dark { background: #1f2937; }
.editor-align-center { text-align: center; }
.editor-align-right { text-align: right; }
.editor-align-justify { text-align: justify; }
.community-editor-youtube, .community-youtube-card { margin: 16px 0; padding: 16px; border: 1px solid var(--blue); background: var(--blue-soft); color: var(--blue); font-weight: 850; }
.community-youtube-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.community-youtube-card a { color: var(--blue); }
.community-editor-image, .community-post-image { margin: 20px 0; }
.community-editor-image { padding: 12px; border: 1px solid var(--line); background: #f7f9fc; }
.community-editor-image img, .community-post-image img { display: block; width: 100%; max-height: 680px; object-fit: contain; background: #f1f3f6; }
.community-editor-image figcaption, .community-post-image figcaption { margin-top: 7px; color: var(--muted); font-size: 12px; }
.admin-community-media { margin: 18px 0; padding: 14px; border: 1px solid var(--line); background: #f8fafc; }
.admin-community-media > article { display: grid; grid-template-columns: 90px 1fr auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
.admin-community-media img { width: 90px; height: 62px; object-fit: cover; background: #e8ebf0; }
.admin-community-media b, .admin-community-media span { display: block; font-size: 10px; }
.admin-community-media span { margin-top: 4px; color: var(--muted); }

.directory-grid { grid-template-columns: 1.25fr .75fr; }
.directory-policy { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border: 1px solid var(--line); }
.directory-policy article { padding: 20px; border-right: 1px solid var(--line); }
.directory-policy article:last-child { border-right: 0; }
.directory-policy p { margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.agent-state { display: flex; gap: 10px; margin-top: 22px; font-size: 11px; }
.agent-state b, .agent-state span { padding: 8px 10px; }
.agent-state b { background: var(--ink); color: #fff; }
.agent-state span { background: var(--blue-soft); color: var(--blue); font-weight: 800; }
.agent-principles { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.agent-principles article { padding: 22px; border-right: 1px solid var(--line); }
.agent-principles article:last-child { border-right: 0; }
.agent-principles span { color: var(--blue); font-size: 10px; font-weight: 900; }
.agent-principles h2 { margin: 14px 0 9px; font-size: 17px; }
.agent-principles p, .agent-board-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.agent-board-heading { margin-top: 42px; }
.agent-board-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.agent-board-grid article { min-height: 135px; padding: 21px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.agent-board-grid b { display: block; margin-bottom: 11px; font-size: 16px; }
.agent-boundary { margin-top: 34px; padding: 25px; background: var(--ink); color: #fff; }
.agent-boundary h2 { margin: 0 0 14px; font-size: 19px; }
.agent-boundary ul { margin: 0; padding-left: 19px; color: #d9e0ea; font-size: 11px; line-height: 1.9; }

@media (max-width: 1050px) {
  .community-site-header .primary-menu { display: flex; overflow-x: auto; justify-content: flex-start; }
  .community-hero, .community-news-section, .community-visit-strip > div { grid-template-columns: 1fr; }
  .community-hero-copy { border-right: 0; border-bottom: 1px solid var(--line); }
  .business-media-grid { grid-template-columns: 1fr 1fr; }
  .home-video-grid { grid-template-columns: 1fr 1fr; }
  .home-module-empty { grid-template-columns: 1fr auto; }
  .home-module-empty p { grid-column: 1 / -1; grid-row: 2; }
  .community-category-grid { grid-template-columns: repeat(3, 1fr); }
  .community-board-shell { grid-template-columns: 180px minmax(0, 1fr); }
  .community-board-rail { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .agent-principles { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .community-site-header > .nav { grid-template-columns: 1fr auto; gap: 15px; padding-block: 15px; }
  .community-site-header .primary-menu { grid-column: 1 / -1; grid-row: 2; order: 2; width: 100%; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; box-shadow: 3px 3px 0 var(--blue-soft); }
  .community-site-header .primary-menu::-webkit-scrollbar { display: none; }
  .community-site-header .primary-menu a { min-width: max-content; }
  .community-site-header .nav-action { grid-column: 2; grid-row: 1; padding-inline: 10px; }
  .topic-nav { width: 100%; padding-inline: 18px; }
  .community-page-hero { min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 26px var(--public-content-inline); }
  .community-page-hero h1 { font-size: clamp(25px, 8vw, 34px); }
  .community-page-hero .page-summary { margin-top: 10px; font-size: 13px; }
  .community-page-hero .page-index { display: none; }
  .community-hero-copy, .community-best { padding-inline: 22px; }
  .community-actions { flex-direction: column; align-items: stretch; }
  .business-media-grid, .home-video-grid, .directory-policy, .community-news-list, .community-category-grid, .community-board-shell, .agent-principles, .agent-board-grid { grid-template-columns: 1fr; }
  .home-module-empty { grid-template-columns: 1fr; }
  .home-module-empty p { grid-column: auto; grid-row: auto; }
  .community-news-intro { padding: 0 0 24px; }
  .community-news-list, .community-news-empty { border-left: 0; border-top: 1px solid var(--line); }
  .community-news-list article, .community-category-grid a, .directory-policy article, .agent-principles article { border-right: 0; border-bottom: 1px solid var(--line); }
  .community-board-categories { border-right: 0; border-bottom: 1px solid var(--line); }
  .community-board-categories { padding-block: 18px; }
  .community-topic-panel > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; margin-top: 8px; padding: 0 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: var(--topic-nav-group-size); font-weight: 900; cursor: pointer; }
  .community-topic-panel > summary::after { content: "+"; color: var(--blue); font-size: 18px; }
  .community-topic-panel[open] > summary::after { content: "−"; }
  .community-topic-panel:not([open]) > .community-topic-panel-body { display: none; }
  .community-topic-panel-body { padding-top: 6px; }
  .community-recent-topics { margin-top: 16px; }
  .community-board-row:not(.community-post-row) { grid-template-columns: 38px minmax(0, 1fr); }
  .community-board-row:not(.community-post-row) > span:last-child, .community-board-row:not(.community-post-row) > a { grid-column: 2; }
  .community-list-head, .community-post-row { grid-template-columns: 66px minmax(0, 1fr) 52px; gap: 8px; }
  .community-list-head.has-metrics, .community-post-row.has-metrics { grid-template-columns: 66px minmax(0, 1fr) 42px 52px; }
  .community-list-head > :first-child, .community-list-head > :nth-child(4), .community-post-number, .community-post-author { display: none; }
  .community-post-row { min-height: 46px; }
  .community-post-category { grid-column: 1; }
  .community-post-title { grid-column: 2; font-size: 12px; }
  .community-post-date { grid-column: 3; }
  .community-notice-slide { padding-right: 18px; padding-bottom: 58px; }
  .community-board-rail { grid-template-columns: 1fr; align-items: start; }
  .community-reaction-heading { align-items: flex-start; flex-direction: column; }
  .community-reaction-heading > p { text-align: left; }
  .admin-community-create { grid-template-columns: 1fr; }
  .admin-community-topic-workspace { grid-template-columns: 1fr; }
  .admin-community-public-preview { position: static; grid-row: 1; }
  .admin-community-topic-summary { grid-template-columns: auto 28px minmax(0, 1fr) auto; padding-right: 10px; padding-bottom: 54px; }
  .admin-community-topic-actions { grid-column: 3 / -1; justify-content: flex-end; }
  .admin-community-topic-editor > summary { top: auto; right: auto; bottom: 10px; left: 10px; }
  .admin-community-topic-editor > .admin-community-form { grid-template-columns: 1fr; }
  .admin-community-order-form { align-items: stretch; flex-direction: column; }
  .admin-community-order-form .button-primary { width: 100%; }
}

/* 4B member authentication: actual Supabase sessions stay limited to approved test hosts. */
.member-login-link { border-color: var(--blue); color: var(--blue); }
.member-login-link:hover { border-color: var(--ink); }
.member-auth-shell { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); min-height: 590px; border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.member-auth-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 7vw, 92px); border-right: 1px solid var(--line); }
.member-auth-intro h1, .member-account-shell h1 { max-width: 760px; margin: 15px 0 0; font-size: clamp(40px, 5vw, 68px); line-height: 1.04; letter-spacing: -.065em; word-break: keep-all; }
.member-auth-boundary { display: grid; grid-template-columns: 1fr auto; gap: 7px 22px; margin-top: 34px; padding: 20px; border: 1px solid var(--blue); background: var(--blue-soft); }
.member-auth-boundary b { font-size: 12px; }
.member-auth-boundary strong { color: var(--blue); font-size: 18px; }
.member-auth-boundary p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.member-auth-card { align-self: center; margin: 34px; padding: 34px; border: 1px solid var(--line); background: #fff; box-shadow: 14px 14px 0 var(--blue-soft); }
.member-auth-card h2 { margin: 18px 0 10px; font-size: 28px; letter-spacing: -.05em; }
.member-auth-card > p { color: var(--muted); font-size: 12px; line-height: 1.75; }
.member-auth-card form { margin-top: 25px; }
.member-login-form { display: grid; gap: 9px; }
.member-login-form label { margin-top: 7px; color: var(--ink); font-size: 11px; font-weight: 900; }
.member-login-form input { width: 100%; min-height: 45px; padding: 0 13px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.member-login-form input:focus { border-color: var(--blue); outline: 2px solid rgba(22, 73, 216, .18); outline-offset: 1px; }
.member-login-form fieldset { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; border: 0; }
.member-login-form legend { margin-bottom: 2px; font-size: 11px; font-weight: 900; }
.member-check { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; margin: 0 !important; color: var(--muted) !important; font-weight: 700 !important; line-height: 1.55; }
.member-check input { width: 18px; min-height: 18px; margin: 1px 0 0; accent-color: var(--blue); }
.member-check a { color: var(--blue); }
.member-choice { padding: 13px; border: 1px solid var(--line); }
.member-token-note { overflow-wrap: anywhere; }
.member-resend { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.member-resend summary { cursor: pointer; color: var(--blue); font-size: 11px; font-weight: 850; }
.member-inline-link { display: inline-flex; margin-top: 14px; color: var(--blue); font-size: 11px; font-weight: 850; }
.member-captcha { display: grid; gap: 8px; margin-top: 12px; min-height: 65px; }
.member-captcha .cf-turnstile { min-height: 65px; }
.member-captcha-note { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.member-auth-feedback { margin: 18px 0 0 !important; padding: 12px 14px; border: 1px solid #d7a0a4; background: #fff1f2; color: #b42318 !important; font-weight: 800; }
.member-auth-feedback.is-success { border-color: #68a67b; background: #effaf2; color: #17612d !important; }
.member-auth-card .button-primary, .member-auth-card .button-secondary { display: flex; width: 100%; align-items: center; justify-content: center; margin-top: 10px; }
.member-auth-help { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
.member-preview-fields { margin: 22px 0; border-top: 1px solid var(--line); }
.member-preview-fields > div { display: grid; grid-template-columns: 95px 1fr; gap: 15px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.member-preview-fields dt { font-size: 11px; font-weight: 900; }
.member-preview-fields dd { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.member-flow-preview { display: grid; gap: 0; margin: 34px 0 0; padding: 0; border: 1px solid var(--line); list-style: none; }
.member-flow-preview li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 17px; border-bottom: 1px solid var(--line); background: #fff; }
.member-flow-preview li:last-child { border-bottom: 0; }
.member-flow-preview span, .member-policy-shell article > span { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.member-flow-preview b { display: block; font-size: 13px; }
.member-flow-preview p { margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.member-policy-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; }
.member-policy-links a { padding: 12px; border: 1px solid var(--line); color: var(--ink); font-size: 11px; font-weight: 850; text-decoration: none; }
.member-policy-links a:hover { border-color: var(--blue); color: var(--blue); }
.member-policy-hero { padding-block: clamp(46px, 7vw, 88px); border-inline: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.member-policy-hero h1 { max-width: 850px; margin: 16px 0 0; font-size: clamp(40px, 5vw, 66px); line-height: 1.04; letter-spacing: -.06em; word-break: keep-all; }
.draft-warning { max-width: 760px; margin-top: 30px; padding: 18px 20px; border: 1px solid var(--blue); background: var(--blue-soft); }
.draft-warning b { color: var(--blue); font-size: 12px; }
.draft-warning p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.member-policy-shell { padding-block: 42px 80px; border-inline: 1px solid var(--line); }
.member-policy-shell article { display: grid; grid-template-columns: 62px 1fr; gap: 24px; padding: 26px; border: 1px solid var(--line); border-bottom: 0; background: #fff; }
.member-policy-shell article:last-of-type { border-bottom: 1px solid var(--line); }
.member-policy-shell h2 { margin: 0; font-size: 24px; letter-spacing: -.04em; }
.member-policy-shell article p { max-width: 850px; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.member-policy-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.member-policy-actions .button-secondary { display: inline-flex; align-items: center; }
.member-account-shell { min-height: 590px; padding-block: 30px 72px; }
.member-account-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; padding: 30px 32px; border: 1px solid var(--line); background: #fff; }
.member-account-heading h1, .member-account-shell h1 { max-width: 760px; margin: 9px 0 7px; font-size: clamp(31px, 3.6vw, 46px); line-height: 1.04; letter-spacing: -.06em; word-break: keep-all; }
.member-account-heading .page-summary { max-width: 680px; margin: 0; }
.member-account-heading form { flex: 0 0 auto; margin: 0; }
.member-account-heading .button-secondary { min-width: 112px; }
.member-account-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.member-account-grid article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 15px; min-height: 132px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.member-account-grid article:last-child { border-right: 0; }
.member-account-grid article > img { width: 34px; height: 34px; padding: 7px; background: var(--blue-soft); }
.member-account-grid article > div { min-width: 0; }
.member-account-grid span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.member-account-grid strong { display: block; overflow: hidden; margin-top: 8px; font-size: 19px; letter-spacing: -.04em; text-overflow: ellipsis; white-space: nowrap; }
.member-account-grid p { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.member-account-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 22px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.member-account-actions > a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 80px; padding: 17px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); text-decoration: none; }
.member-account-actions > a:hover, .member-account-actions > a:focus-visible { background: var(--blue-soft); }
.member-account-actions img { width: 26px; height: 26px; }
.member-account-actions span { display: grid; gap: 4px; }
.member-account-actions strong { font-size: 13px; }
.member-account-actions small { color: var(--muted); font-size: 9px; }
.member-account-actions b { color: var(--blue); font-size: 18px; }
.member-activity-summary { margin-top: 22px; border: 1px solid var(--line); background: #fff; }
.member-activity-heading { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1fr); gap: 28px; align-items: end; padding: 24px; border-bottom: 1px solid var(--line); }
.member-activity-heading h2 { margin: 9px 0 0; font-size: 25px; letter-spacing: -.04em; }
.member-activity-heading > p, .member-activity-summary > div > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.member-activity-layout { display: grid; grid-template-columns: 150px minmax(0, 1fr); }
.member-activity-score { display: grid; align-content: center; min-height: 186px; padding: 24px; background: var(--blue); color: #fff; }
.member-activity-score span, .member-activity-score small { font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.member-activity-score strong { margin: 7px 0 2px; font-size: 64px; line-height: 1; letter-spacing: -.08em; }
.member-activity-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.member-activity-grid > div { min-width: 0; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.member-activity-grid > div:nth-child(3n) { border-right: 0; }
.member-activity-grid > div:nth-last-child(-n+3) { border-bottom: 0; }
.member-activity-grid dt { color: var(--muted); font-size: 9px; font-weight: 800; }
.member-activity-grid dd { overflow: hidden; margin: 8px 0 0; font-size: 16px; font-weight: 900; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.member-activity-rule { padding: 13px 18px; border-top: 1px solid var(--line); background: #f7f9fc; }
.member-activity-rule summary { cursor: pointer; color: var(--blue); font-size: 10px; font-weight: 900; }
.member-activity-rule p { margin: 9px 0 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.member-account-settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
.member-profile-settings, .member-business-workspace-entry { display: grid; grid-template-columns: 1fr; gap: 16px; align-content: start; margin: 0; padding: 24px; border: 1px solid var(--line); background: #fff; }
.member-profile-settings h2, .member-business-workspace-entry h2 { margin: 4px 0 0; font-size: 22px; letter-spacing: -.04em; }
.member-profile-settings > p, .member-business-workspace-entry > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.65; }
.member-profile-settings .member-login-form { align-self: end; margin: 0; }
.member-profile-settings .member-auth-feedback { color: var(--blue); font-weight: 800; }
.member-account-card-heading { display: flex; gap: 13px; align-items: center; }
.member-account-card-heading > img { width: 34px; height: 34px; padding: 7px; background: var(--blue-soft); }
.member-business-workspace-entry .button-primary { align-self: end; justify-self: start; }
.managed-feed-block { margin: 34px 0; padding: 22px; border: 1px solid var(--line); background: #f7f9fc; }
.managed-feed-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.managed-feed-heading h2 { margin: 0; font-size: 24px; }
.managed-feed-heading a { color: var(--blue); font-size: 11px; font-weight: 900; text-decoration: none; }
.managed-feed-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.managed-feed-list article { min-width: 0; padding: 18px 18px 4px 0; border-right: 1px solid var(--line); }
.managed-feed-list article + article { padding-left: 18px; }
.managed-feed-list article:last-child { border-right: 0; }
.managed-feed-list article span, .managed-feed-list article small { color: var(--muted); font-size: 10px; font-weight: 800; }
.managed-feed-list article h3 { margin: 9px 0; font-size: 17px; line-height: 1.45; }
.managed-feed-list article h3 a { color: var(--ink); text-decoration: none; }
.managed-feed-list article h3 a:hover { color: var(--blue); }
.managed-feed-empty { grid-column: 1 / -1; padding: 18px 0 0; }
.managed-contact-block { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: end; margin: 34px 0; padding: 24px; border: 1px solid var(--blue); background: var(--blue-soft); }
.managed-contact-block h2 { margin: 10px 0 5px; font-size: 26px; }
.managed-contact-block p { margin: 0; }
.managed-contact-block .admin-actions { justify-content: flex-end; margin: 0; }
.member-admin-separation { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 14px; padding: 17px 20px; background: var(--ink); color: #fff; }
.member-admin-separation b { font-size: 12px; }
.member-admin-separation p { margin: 0; color: #d9e0ea; font-size: 10px; line-height: 1.65; }
.member-admin-separation code { color: #fff; }

@media (max-width: 800px) {
  .member-auth-shell { grid-template-columns: 1fr; }
  .member-auth-intro { border-right: 0; border-bottom: 1px solid var(--line); }
  .member-auth-card { margin: 14px; padding: 28px 20px; }
  .member-captcha, .member-captcha .cf-turnstile { max-width: 100%; }
  .member-account-grid { grid-template-columns: 1fr; }
  .member-account-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .member-account-grid article:last-child { border-bottom: 0; }
  .member-account-heading { align-items: stretch; flex-direction: column; padding: 24px 20px; }
  .member-account-heading .button-secondary { width: 100%; }
  .member-account-actions { grid-template-columns: 1fr; }
  .member-account-actions > a { border-right: 1px solid var(--line); }
  .member-account-settings-grid { grid-template-columns: 1fr; }
  .member-activity-heading { grid-template-columns: 1fr; align-items: start; }
  .member-activity-layout { grid-template-columns: 1fr; }
  .member-activity-score { min-height: 118px; }
  .member-activity-grid { grid-template-columns: repeat(2, 1fr); }
  .member-activity-grid > div, .member-activity-grid > div:nth-child(3n), .member-activity-grid > div:nth-last-child(-n+3) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .member-activity-grid > div:nth-child(2n) { border-right: 0; }
  .member-activity-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
  .member-admin-separation { grid-template-columns: 1fr; gap: 6px; }
  .managed-feed-list, .managed-contact-block { grid-template-columns: 1fr; }
  .managed-feed-list article, .managed-feed-list article + article { padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .managed-feed-list article:last-child { border-bottom: 0; }
  .managed-contact-block .admin-actions { justify-content: flex-start; }
  .member-policy-links { grid-template-columns: 1fr; }
  .member-policy-shell article { grid-template-columns: 42px 1fr; gap: 12px; padding: 20px; }
}

/* 4C member community: all write and moderation surfaces remain feature-gated. */
.member-community-shell { padding-block: clamp(38px, 6vw, 76px); }
.member-community-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.member-community-heading h1 { margin: 12px 0 8px; font-size: clamp(38px, 5vw, 64px); line-height: 1.04; letter-spacing: -.06em; }
.member-community-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.member-community-editor, .member-community-list { margin-top: 36px; }
.member-community-form { display: grid; gap: 18px; padding: 28px; border: 1px solid var(--line); background: #fff; }
.member-community-form label, .admin-community-form label { display: grid; gap: 8px; color: var(--ink); font-size: 12px; font-weight: 900; }
.member-community-form input, .member-community-form select, .member-community-form textarea, .admin-community-form textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.member-community-form textarea, .admin-community-form textarea { resize: vertical; line-height: 1.7; }
.member-community-form input:focus, .member-community-form select:focus, .member-community-form textarea:focus, .admin-community-form textarea:focus { border-color: var(--blue); outline: 2px solid rgba(22, 73, 216, .18); outline-offset: 1px; }
.member-community-form small { color: var(--muted); font-weight: 600; line-height: 1.6; }
.community-policy-note { margin: 0; padding: 12px 14px; background: var(--surface); color: var(--muted); font-size: 12px; line-height: 1.7; }
.member-community-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 24px; border: 1px solid var(--line); border-bottom: 0; background: #fff; }
.member-community-row:last-child { border-bottom: 1px solid var(--line); }
.member-community-row h3 { margin: 10px 0 7px; font-size: 20px; }
.member-community-row p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.member-community-row-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.member-community-row-actions form { margin: 0; }
.button-secondary.danger { border-color: #c43a3a; color: #a92121; }
.button-secondary.danger:hover { background: #fff1f2; }
.community-post-row h2 { margin: 8px 0; font-size: 20px; }
.community-post-row h2 a { color: inherit; text-decoration: none; }
.community-post-row small { color: var(--muted); font-size: 12px; }
.community-post-actions { padding-bottom: 28px; }
.community-reaction-panel { display: grid; gap: 14px; margin-top: 18px; padding: 22px; border: 1px solid var(--blue); background: linear-gradient(135deg, var(--blue-soft), #fff 72%); scroll-margin-top: 20px; }
.community-reaction-panel form { margin: 0; }
.community-reaction-panel details summary { cursor: pointer; font-size: 12px; font-weight: 900; }
.community-reaction-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.community-reaction-heading h2 { margin: 5px 0 0; font-size: 21px; }
.community-reaction-heading > p { max-width: 330px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; text-align: right; }
.community-upvote-button { display: inline-grid; grid-template-columns: auto auto; gap: 10px; min-width: 142px; }
.community-upvote-button strong { font-size: 14px; }
.community-upvote-button:disabled, .community-upvote-button.is-recorded { border-color: var(--line); background: #edf0f5; color: var(--muted); cursor: default; }
.community-home-recent { padding-block: 48px; border-inline: 1px solid var(--line); }
.community-home-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); border: 1px solid var(--line); }
.community-home-card { min-height: 220px; padding: 24px; border-right: 1px solid var(--line); background: #fff; }
.community-home-card:last-child { border-right: 0; }
.community-home-card h3 { margin: 16px 0 10px; font-size: 20px; line-height: 1.35; }
.community-home-card h3 a { color: inherit; text-decoration: none; }
.community-home-card p, .community-home-card > span:last-child { color: var(--muted); font-size: 12px; line-height: 1.7; }
.admin-community-list { display: grid; gap: 18px; margin-top: 28px; }
.admin-community-card { padding: 24px; border: 1px solid var(--line); background: #fff; }
.admin-community-card-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.admin-community-card-heading h3 { margin: 11px 0 5px; font-size: 22px; }
.admin-community-card-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.admin-community-body { margin-top: 20px; padding: 18px; background: var(--surface); color: var(--ink); font-size: 12px; line-height: 1.8; }
.admin-community-form { display: grid; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.admin-community-form input, .admin-community-form select { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.admin-community-form input:focus, .admin-community-form select:focus { border-color: var(--blue); outline: 2px solid rgba(22, 73, 216, .18); outline-offset: 1px; }
.content-ai-back-nav { margin: 20px 0 0; }
.content-ai-step-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 20px; padding: 0; border: 1px solid var(--line); background: #fff; list-style: none; }
.content-ai-step-rail li { display: grid; gap: 5px; min-height: 78px; padding: 15px; border-right: 1px solid var(--line); }
.content-ai-step-rail li:last-child { border-right: 0; }
.content-ai-step-rail strong { color: var(--blue); font-size: 12px; }
.content-ai-step-rail span { color: var(--muted); font-size: 10px; line-height: 1.5; }
.content-ai-draft-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.content-ai-draft-form label { align-content: start; padding: 14px; border: 1px solid var(--line); background: #fbfcff; }
.content-ai-draft-form label > span { font-size: 13px; }
.content-ai-draft-form label > small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.55; }
.content-ai-draft-form label em { color: var(--muted); font-size: 10px; font-style: normal; }
.content-ai-form-wide { grid-column: 1 / -1; }
.content-ai-form-submit { display: flex; align-items: center; gap: 16px; padding-top: 4px; }
.content-ai-form-submit p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.content-ai-safety-summary { margin-top: 16px; border-top: 1px solid var(--line); }
.content-ai-safety-summary > summary, .content-ai-safety-details > summary { padding-top: 14px; color: var(--muted); font-size: 11px; font-weight: 800; cursor: pointer; }
.content-ai-safety-summary ul { display: grid; gap: 7px; margin: 12px 0 0; padding: 14px 14px 14px 32px; background: #f8fafc; color: var(--muted); font-size: 11px; line-height: 1.6; }
.content-ai-draft-list { display: grid; gap: 14px; margin-top: 20px; }
.content-ai-draft-card { display: grid; gap: 16px; padding: 20px; border: 1px solid var(--line); background: #fff; }
.content-ai-draft-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.content-ai-draft-card h3 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.035em; }
.content-ai-draft-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); }
.content-ai-draft-meta > div { display: grid; gap: 5px; padding: 12px; border-right: 1px solid var(--line); }
.content-ai-draft-meta > div:last-child { border-right: 0; }
.content-ai-draft-meta dt { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.content-ai-draft-meta dd { margin: 0; color: var(--ink); font-size: 12px; font-weight: 800; }
.content-ai-draft-body { padding: 18px; border-left: 4px solid var(--blue); background: #f7f9ff; }
.content-ai-draft-body > strong { display: block; margin-bottom: 10px; font-size: 11px; }
.content-ai-draft-body p { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.85; white-space: pre-line; }
.content-ai-safety-details { border-top: 1px solid var(--line); }
.content-ai-safety-details p { margin: 10px 0 4px; color: var(--muted); font-size: 11px; }
.content-ai-safety-details small { color: var(--muted); font-size: 9px; }
.content-ai-draft-card > footer { display: flex; justify-content: flex-end; }
.admin-disclosure { margin: 20px 0; border: 1px solid var(--line); background: var(--surface); }
.admin-disclosure > summary { cursor: pointer; padding: 16px 18px; color: var(--ink); font-weight: 900; }
.admin-disclosure > .admin-community-form { margin: 0; padding: 18px; border-top: 1px solid var(--line); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.business-admin-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-form-wide { grid-column: 1 / -1; }
.admin-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.admin-community-form .admin-check { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; }
.admin-community-form .admin-check input { width: auto; }
.admin-community-form fieldset { min-width: 0; margin: 0; padding: 13px; border: 1px solid var(--line); }
.admin-community-form legend { padding: 0 6px; color: var(--ink); font-size: 11px; font-weight: 900; }
@media (max-width: 760px) {
  .business-admin-form, .admin-disclosure > .admin-community-form, .admin-check-grid { grid-template-columns: 1fr; }
  .content-ai-task-grid, .content-ai-draft-form { grid-template-columns: 1fr; }
  .content-ai-form-wide { grid-column: auto; }
  .content-ai-step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-ai-step-rail li:nth-child(2n) { border-right: 0; }
  .content-ai-step-rail li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .content-ai-draft-meta { grid-template-columns: 1fr; }
  .content-ai-draft-meta > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .content-ai-draft-meta > div:last-child { border-bottom: 0; }
  .content-ai-draft-card > header, .content-ai-form-submit { align-items: stretch; flex-direction: column; }
}
.community-risk-grid { display: grid; gap: 30px; margin-top: 28px; }
.community-risk-grid > section > h3 { margin: 0 0 14px; font-size: 19px; }
.community-event-log { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.community-event-log li { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--line); background: #fff; font-size: 12px; }
.community-event-log span { color: var(--muted); }

@media (max-width: 800px) {
  .member-community-heading, .admin-community-card-heading { align-items: stretch; flex-direction: column; }
  .member-community-row { grid-template-columns: 1fr; }
  .member-community-row-actions { justify-content: flex-start; }
  .community-home-grid { grid-template-columns: 1fr; }
  .community-home-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .community-home-card:last-child { border-bottom: 0; }
  .community-connection-heading { align-items: stretch; flex-direction: column; }
  .community-connection-heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .community-connection-boards { grid-template-columns: 1fr 1fr; }
  .community-connection-boards > a { min-height: 112px; }
  .community-connection-boards > a:first-child { grid-column: 1 / -1; min-height: 92px; }
  .community-connection-layout { grid-template-columns: 1fr; }
  .community-connection-feed { padding: 18px 12px; }
  .community-connection-guide { border-top: 1px solid var(--line); border-left: 0; }
  .admin-community-connection-preset { padding: 14px; }
}

/* 4D-4F staged public candidate: directory, AI board, manual selections. */
.directory-filter { display: grid; grid-template-columns: minmax(15rem, 2fr) minmax(10rem, 1fr) minmax(10rem, 1fr) auto auto; gap: 12px; align-items: end; margin-bottom: 16px; padding: 18px; border: 1px solid var(--line); background: var(--surface); }
.directory-filter label { display: grid; gap: 7px; font-size: 11px; font-weight: 900; }
.directory-filter input, .directory-filter select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); font: inherit; }
.directory-result-count { margin: 0 0 20px; color: var(--muted); font-size: 11px; font-weight: 900; }
.business-directory-grid { align-items: stretch; }
.business-directory-card { display: flex; min-height: 350px; flex-direction: column; }
.business-directory-card .text-link { margin-top: auto; }
.business-card-badges, .business-category-list { display: flex; flex-wrap: wrap; gap: 7px; }
.business-category-list { margin: 12px 0 24px; }
.business-category-list span { padding: 5px 8px; border: 1px solid var(--line); font-size: 10px; font-weight: 900; }
.content-badge.relation, .content-badge.ai { background: #132a58; color: #fff; }
.business-detail-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.business-future-note, .community-policy-banner { margin-top: 18px; padding: 22px; border: 1px solid var(--line); background: var(--surface); }
.community-policy-banner strong { display: block; margin-bottom: 6px; }
.community-policy-banner p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.ai-post-card { border-top: 5px solid #132a58; }
.home-featured-section { border-top: 1px solid var(--line); }
.community-comments { display: grid; gap: 14px; margin-top: 28px; }
.community-comment { padding: 18px; border: 1px solid var(--line); background: #fff; }
.community-comment header { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-size: 12px; }
.community-comment header span { color: var(--muted); }
.community-comment p { margin: 12px 0 0; font-size: 12px; line-height: 1.8; }
.empty-state.compact { min-height: 0; padding: 18px; }
.business-reviews { display: grid; gap: 14px; }
.business-review-card { padding: 22px; border: 1px solid var(--line); background: #fff; }
.business-review-card header h3 { margin: 0 0 5px; }
.business-review-card header > p, .business-review-card small { color: var(--muted); font-size: 10px; }
.business-review-card > p { font-size: 12px; line-height: 1.8; }
.business-member-actions { display: grid; gap: 10px; }
.business-member-actions details { border: 1px solid var(--line); background: #fff; }
.business-member-actions summary { cursor: pointer; padding: 16px 18px; font-size: 11px; font-weight: 900; }
.business-member-actions details[open] summary { border-bottom: 1px solid var(--line); }
.business-member-actions .member-community-form { border: 0; }
.one-time-secret { overflow-wrap: anywhere; white-space: pre-wrap; padding: 22px; border: 2px solid var(--ink); background: #fff; font-size: 15px; line-height: 1.7; }

@media (max-width: 900px) {
  .news-inbox-filters { grid-template-columns: 1fr 1fr; }
  .news-inbox-filters .field-wide, .news-inbox-filters .filter-actions { grid-column: 1 / -1; }
  .document-inbox-picker { grid-template-columns: 1fr; }
  .directory-filter { grid-template-columns: 1fr 1fr; }
  .directory-filter label:first-child { grid-column: 1 / -1; }
  .business-detail-layout { grid-template-columns: 1fr; }
}

.article-studio-ha3e-sample { display: grid; gap: 12px; margin-top: 18px; padding: 16px; border: 1px solid var(--line); background: var(--surface-soft); }
.article-studio-ha3e-sample p { margin: 6px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.article-studio-ha3e-status { padding: 12px 14px; border-left: 3px solid var(--line-strong); background: #fff; color: var(--muted); font-size: .78rem; line-height: 1.6; white-space: pre-wrap; }
.article-studio-ha3e-status[data-state="success"] { border-left-color: #16855b; color: #0d6845; }
.article-studio-ha3e-status[data-state="error"] { border-left-color: #c52a22; color: #a51f18; }
.article-studio-final-review { margin-top: 18px; padding: 20px; border: 1px solid #7894d6; background: #f8faff; }
.article-studio-final-review .section-heading { margin-bottom: 10px; }
.article-studio-ha3f-toolbar { margin: 14px 0 10px; }
.article-studio-ha3f-layout { display: grid; grid-template-columns: minmax(210px, .34fr) minmax(0, 1fr); gap: 14px; margin-top: 14px; min-height: 520px; }
.article-studio-ha3f-queue, .article-studio-ha3f-detail { border: 1px solid var(--line); background: #fff; }
.article-studio-ha3f-queue { padding: 12px; }
.article-studio-ha3f-queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 2px 2px 12px; font-size: .82rem; }
.article-studio-ha3f-queue-heading span { color: var(--muted); }
.article-studio-ha3f-list { display: grid; gap: 8px; }
.article-studio-ha3f-list-item { width: 100%; padding: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.article-studio-ha3f-list-item:hover, .article-studio-ha3f-list-item:focus-visible { border-color: var(--blue); outline: 2px solid color-mix(in srgb, var(--blue) 22%, transparent); outline-offset: 1px; }
.article-studio-ha3f-list-item.is-selected { border-color: var(--blue); background: #eef3ff; }
.article-studio-ha3f-list-item strong, .article-studio-ha3f-list-item span, .article-studio-ha3f-list-item small { display: block; }
.article-studio-ha3f-list-item strong { margin-bottom: 6px; font-size: .86rem; line-height: 1.4; }
.article-studio-ha3f-list-item span, .article-studio-ha3f-list-item small { color: var(--muted); font-size: .72rem; line-height: 1.5; }
.article-studio-ha3f-detail { min-width: 0; padding: 18px; }
.article-studio-ha3f-empty { display: grid; place-content: center; min-height: 440px; color: var(--muted); text-align: center; }
.article-studio-ha3f-empty strong { color: var(--ink); font-size: 1rem; }
.article-studio-ha3f-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.article-studio-ha3f-detail-heading h5 { margin: 6px 0 0; font-size: 1.2rem; }
.article-studio-ha3f-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; min-width: min(100%, 390px); }
.article-studio-ha3f-meta div { padding: 8px; background: var(--surface-soft); }
.article-studio-ha3f-meta dt { color: var(--muted); font-size: .68rem; }
.article-studio-ha3f-meta dd { margin: 4px 0 0; font-size: .74rem; font-weight: 700; }
.article-studio-ha3f-panel { margin-top: 14px; padding: 14px; border: 1px solid var(--line); background: #fff; }
.article-studio-ha3f-panel h6, .article-studio-ha3f-panel summary { margin: 0 0 10px; font-size: .82rem; font-weight: 800; }
.article-studio-ha3f-panel summary { cursor: pointer; }
.article-studio-ha3f-panel pre, .article-studio-ha3f-legal pre { max-height: 420px; margin: 0; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .8rem; line-height: 1.75; }
.article-studio-ha3f-prose { min-height: 180px; }
.article-studio-ha3f-legal { margin-top: 14px; padding: 16px; border: 1px solid #dc6b64; border-left: 4px solid #c52a22; background: #fff7f6; color: #8d1f19; }
.article-studio-ha3f-legal strong, .article-studio-ha3f-legal small { display: block; }
.article-studio-ha3f-legal strong { margin-bottom: 10px; }
.article-studio-ha3f-legal small { margin-top: 10px; line-height: 1.5; }
.article-studio-ha3f-receipt { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.article-studio-ha3f-receipt div { padding: 12px; border: 1px solid var(--line); background: var(--surface-soft); }
.article-studio-ha3f-receipt strong, .article-studio-ha3f-receipt span { display: block; }
.article-studio-ha3f-receipt strong { font-size: .9rem; }
.article-studio-ha3f-receipt span { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.article-studio-ha3f-stages { display: grid; gap: 6px; margin: 0; padding-left: 20px; }
.article-studio-ha3f-stages li span { display: block; color: var(--muted); font-size: .72rem; }
.article-studio-ha3f-decision { margin-top: 16px; padding-top: 16px; border-top: 2px solid var(--ink); }
.article-studio-ha3f-confirmations { display: grid; gap: 8px; margin: 12px 0; }
@media (max-width: 980px) {
  .article-studio-ha3f-layout { grid-template-columns: 1fr; }
  .article-studio-ha3f-detail-heading { display: block; }
  .article-studio-ha3f-meta { margin-top: 12px; }
  .article-studio-ha3f-receipt { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .article-studio-final-review { padding: 14px; }
  .article-studio-ha3f-meta, .article-studio-ha3f-receipt { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .news-inbox-filters { grid-template-columns: 1fr; }
  .news-inbox-filters .field-wide, .news-inbox-filters .filter-actions { grid-column: auto; }
  .document-inbox-heading { display: grid; }
  .document-inbox-item { grid-template-columns: 1fr; }
  .news-inbox-row:has(.news-inbox-select) { grid-template-columns: 1fr; }
  .directory-filter { grid-template-columns: 1fr; }
  .directory-filter label:first-child { grid-column: auto; }
}

/* Business directory C: category curation board and trust-first profile. */
.business-directory-hero {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(36rem, 1.2fr);
  gap: 48px;
  align-items: end;
  padding: 54px var(--public-content-inline) 40px;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-directory-hero h1 { margin: 12px 0 8px; font-size: var(--public-page-title); letter-spacing: -.06em; line-height: 1.02; }
.business-directory-hero-copy > p:not(.eyebrow) { max-width: 34rem; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.business-directory-hero-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; margin-top: 22px; }
.business-directory-hero-actions small { color: var(--muted); font-size: 12px; line-height: 1.6; }
.business-directory-hero .directory-filter {
  grid-template-columns: minmax(14rem, 1.5fr) repeat(4, minmax(7rem, .75fr)) auto;
  gap: 0;
  margin: 0;
  padding: 0;
  background: #fff;
}
.business-directory-hero .directory-filter label { gap: 0; }
.business-directory-hero .directory-filter label > span { padding: 8px 12px 0; color: var(--blue); font-size: 9px; letter-spacing: .08em; }
.business-directory-hero .directory-filter input,
.business-directory-hero .directory-filter select { min-height: 58px; border: 0; border-right: 1px solid var(--line); }
.business-directory-hero .directory-filter button { min-height: 58px; border: 0; white-space: nowrap; }
.directory-filter-options { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 12px; border: 0; border-top: 1px solid var(--line); }
.directory-filter-options legend { padding: 0 6px; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.business-directory-hero .directory-filter .directory-filter-options label { display: flex; gap: 7px; align-items: center; color: var(--muted); font-size: 11px; }
.business-directory-hero .directory-filter .directory-filter-options input { width: 16px; min-height: 16px; margin: 0; padding: 0; border-right: 0; accent-color: var(--blue); }
.business-directory-index {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  border: 1px solid var(--line);
}
.business-directory-index > div { min-width: 0; padding: 30px; }
.business-directory-index > div + div { border-left: 1px solid var(--line); }
.business-directory-section-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; margin-bottom: 18px; }
.business-directory-section-heading h2 { margin: 0; font-size: var(--public-section-title); letter-spacing: -.055em; }
.business-directory-section-heading h2 span { color: var(--blue); }
.business-directory-section-heading > span,
.business-directory-section-heading > p,
.business-directory-section-heading > a { margin: 0; color: var(--muted); font-size: 10px; }
.business-category-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-directory-index-item {
  display: grid;
  min-height: 104px;
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}
.business-directory-index-item strong { font-size: 17px; letter-spacing: -.035em; }
.business-directory-index-item span { align-self: end; color: var(--muted); font-size: 10px; }
.business-directory-index-item:hover,
.business-directory-index-item:focus-visible,
.business-directory-index-item.is-current { background: var(--blue); color: #fff; }
.business-directory-index-item:hover span,
.business-directory-index-item:focus-visible span,
.business-directory-index-item.is-current span { color: #fff; }
.business-region-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-region-index-item {
  display: grid;
  min-height: 76px;
  padding: 15px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}
.business-region-index-item strong { font-size: 14px; }
.business-region-index-item span { align-self: end; color: var(--muted); font-size: 9px; }
.business-region-index-item:hover,
.business-region-index-item:focus-visible,
.business-region-index-item.is-current { background: var(--surface); color: var(--blue); }
.business-province-index { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-province-index-item,
.business-district-index-item {
  display: grid;
  min-height: 68px;
  padding: 13px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  text-decoration: none;
}
.business-province-index-item strong,
.business-district-index-item strong { color: var(--ink); font-size: 13px; }
.business-province-index-item span,
.business-district-index-item span { align-self: end; font-size: 10px; }
.business-province-index-item.has-businesses { background: var(--blue-soft); color: var(--blue); }
.business-province-index-item:hover,
.business-province-index-item:focus-visible,
.business-province-index-item.is-current,
.business-district-index-item:hover,
.business-district-index-item:focus-visible,
.business-district-index-item.is-current { background: var(--blue); color: #fff; }
.business-province-index-item:hover strong,
.business-province-index-item:focus-visible strong,
.business-province-index-item.is-current strong,
.business-district-index-item:hover strong,
.business-district-index-item:focus-visible strong,
.business-district-index-item.is-current strong { color: #fff; }
.business-district-section { margin-top: 24px; }
.business-district-section .business-directory-section-heading { align-items: center; margin-bottom: 10px; }
.business-district-section .business-directory-section-heading h3 { margin: 0; font-size: 16px; }
.business-district-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-directory-featured { padding: 34px var(--public-content-inline); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-directory-featured-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-directory-featured-card { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.business-directory-featured-art { display: flex; min-height: 176px; align-items: flex-end; padding: 18px; color: #fff; text-decoration: none; }
.business-directory-featured-art span { font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.business-directory-featured-art-1 { background: linear-gradient(135deg, #b7c9ff 0 36%, #184adb 36% 70%, #0e1931 70%); }
.business-directory-featured-art-2 { background: linear-gradient(135deg, #e9eef8 0 28%, #1748df 28% 62%, #a9bffa 62%); }
.business-directory-featured-art-3 { background: linear-gradient(90deg, #dfe7f5 0 47%, #1748df 47% 51%, #f3f6fb 51%); color: var(--ink); }
.business-directory-featured-card > div { padding: 20px; }
.business-directory-featured-card h3 { margin: 14px 0 8px; font-size: 24px; letter-spacing: -.05em; }
.business-directory-featured-card h3 a { color: inherit; text-decoration: none; }
.business-directory-featured-card p { min-height: 2.8em; margin: 0 0 18px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.business-directory-list { padding: 34px var(--public-content-inline) 64px; border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-directory-list-table { border-top: 2px solid var(--ink); }
.business-directory-list-row {
  display: grid;
  grid-template-columns: 56px minmax(12rem, 1.2fr) minmax(12rem, 1fr) minmax(13rem, auto) 94px;
  gap: 18px;
  align-items: center;
  min-height: 88px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}
.business-directory-list-row:hover { background: var(--surface); }
.business-directory-list-number { color: var(--blue); font-size: 11px; font-weight: 900; }
.business-directory-list-row h3 { margin: 4px 0 0; font-size: 18px; letter-spacing: -.035em; }
.business-directory-list-row h3 a { color: inherit; text-decoration: none; }
.business-directory-list-row p { margin: 0; color: var(--muted); font-size: 9px; }
.business-directory-list-row .business-category-list { margin: 0; }
.business-directory-empty-note { margin: 0; padding: 22px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; }

.business-profile-breadcrumb { display: flex; gap: 10px; padding-top: 16px; padding-bottom: 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.business-profile-breadcrumb a { color: inherit; }
.business-profile-breadcrumb strong { color: var(--ink); }
.business-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 306px;
  min-height: 318px;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-profile-hero > div:first-child { padding: 58px 42px 34px; }
.business-profile-hero h1 { margin: 14px 0 14px; font-size: clamp(44px, 5vw, 68px); letter-spacing: -.075em; line-height: .98; }
.business-profile-hero > div:first-child > p:not(.eyebrow) { max-width: 48rem; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.business-profile-hero .business-card-badges { margin-top: 24px; }
.business-profile-hero .business-category-list { margin-bottom: 0; }
.business-profile-verification-mark { display: grid; place-content: center; border-left: 1px solid var(--line); background: var(--surface); color: var(--blue); text-align: center; }
.business-profile-verification-mark strong { font-size: 52px; letter-spacing: -.06em; }
.business-profile-verification-mark span { font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.business-profile-index { display: flex; min-height: 58px; align-items: stretch; border: 1px solid var(--line); }
.business-profile-index strong { display: flex; min-width: 150px; align-items: center; padding: 0 24px; color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.business-profile-index a { display: flex; min-width: 92px; align-items: center; justify-content: center; border-left: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 900; text-decoration: none; }
.business-profile-index a:hover,
.business-profile-index a:focus-visible { background: var(--blue); color: #fff; }
.business-profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 306px; border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-profile-main { min-width: 0; }
.business-profile-section { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; padding: 48px 42px; border-bottom: 1px solid var(--line); scroll-margin-top: 16px; }
.business-profile-section-title p { margin: 0 0 14px; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.business-profile-section-title h2 { margin: 0; font-size: 28px; letter-spacing: -.055em; line-height: 1.25; }
.business-profile-section-title h2 span { color: var(--blue); }
.business-profile-section > div:last-child > p { margin: 0 0 18px; font-size: 13px; line-height: 1.85; }
.business-profile-facts { display: grid; margin: 28px 0 0; border-top: 1px solid var(--line); }
.business-profile-facts div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.business-profile-facts dt { color: var(--blue); font-weight: 900; }
.business-profile-facts dd { margin: 0; }
.business-profile-placeholder-note { color: var(--muted); font-size: 10px !important; }
.business-profile-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-profile-photo-grid > div { display: grid; min-height: 138px; padding: 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(135deg, #edf2fb 0 48%, #d8e2f3 48% 72%, #b8caf0 72%); }
.business-profile-photo-grid span { font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.business-profile-photo-grid strong { align-self: end; font-size: 11px; }
.business-profile-photo-grid.has-images { gap: 10px; border: 0; }
.business-profile-photo-grid.has-images figure { margin: 0; border: 1px solid var(--line); background: #fff; }
.business-profile-photo-open { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; padding: 0; border: 0; background: var(--surface); color: var(--ink); cursor: zoom-in; }
.business-profile-photo-open img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .18s ease; }
.business-profile-photo-open span { position: absolute; right: 8px; bottom: 8px; padding: 6px 8px; background: rgba(16, 24, 40, .84); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: 0; opacity: 0; transform: translateY(3px); transition: opacity .18s ease, transform .18s ease; }
.business-profile-photo-open:hover img, .business-profile-photo-open:focus-visible img { transform: scale(1.02); }
.business-profile-photo-open:hover span, .business-profile-photo-open:focus-visible span { opacity: 1; transform: translateY(0); }
.business-profile-photo-grid.has-images figcaption { padding: 10px 12px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.business-photo-dialog { width: min(94vw, 1180px); max-width: none; max-height: 94dvh; overflow: hidden; padding: 0; border: 1px solid var(--ink); background: #fff; color: var(--ink); }
.business-photo-dialog::backdrop { background: rgba(4, 12, 26, .78); }
.business-photo-dialog-panel { display: grid; height: min(92dvh, 920px); max-height: 92dvh; grid-template-rows: auto auto minmax(0, 1fr) auto auto; }
.business-photo-dialog-heading, .business-photo-dialog-footer, .business-photo-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.business-photo-dialog-heading p, .business-photo-dialog-footer p { margin: 0; font-size: 12px; font-weight: 900; }
.business-photo-dialog-heading button, .business-photo-dialog-actions button, .business-photo-dialog-zoom-tools button { min-height: 38px; padding: 8px 14px; border: 1px solid var(--ink); background: #fff; color: var(--ink); font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.business-photo-dialog-zoom-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: #fff; }
.business-photo-dialog-zoom-tools output { min-width: 58px; color: var(--blue); font-size: 11px; font-weight: 900; text-align: center; }
.business-photo-dialog-zoom-hint { flex-basis: 100%; color: var(--muted); font-size: 10px; font-weight: 700; text-align: center; }
.business-photo-dialog-zoom-tools button:disabled { color: #9aa3b2; border-color: var(--line); background: #f4f6f9; cursor: not-allowed; }
.business-photo-dialog-viewport { position: relative; display: block; min-width: 0; min-height: 0; overflow: auto; scrollbar-gutter: stable both-edges; overscroll-behavior: contain; background: #f3f5f8; cursor: zoom-in; touch-action: none; user-select: none; }
.business-photo-dialog-viewport.is-zoomed { cursor: grab; }
.business-photo-dialog-viewport.is-dragging { cursor: grabbing; }
.business-photo-dialog-stage { display: grid; width: 100%; height: 100%; min-width: 100%; min-height: 100%; place-items: center; }
.business-photo-dialog-stage > img { display: block; width: 100%; height: 100%; padding: 12px; object-fit: contain; pointer-events: none; user-select: none; }
.business-photo-dialog-footer { border-top: 1px solid var(--line); border-bottom: 0; }
.business-photo-dialog-footer span { flex: none; color: var(--blue); font-size: 11px; font-weight: 900; }
.business-photo-dialog-actions { justify-content: center; border-top: 1px solid var(--line); border-bottom: 0; }
.business-photo-dialog-actions button:hover, .business-photo-dialog-actions button:focus-visible, .business-photo-dialog-heading button:hover, .business-photo-dialog-heading button:focus-visible, .business-photo-dialog-zoom-tools button:not(:disabled):hover, .business-photo-dialog-zoom-tools button:not(:disabled):focus-visible { background: var(--ink); color: #fff; }

@media (max-width: 620px) {
  .business-photo-dialog { width: calc(100vw - 16px); max-height: 96dvh; }
  .business-photo-dialog-panel { height: 94dvh; max-height: 94dvh; }
  .business-photo-dialog-heading, .business-photo-dialog-footer, .business-photo-dialog-actions { padding: 9px 10px; }
  .business-photo-dialog-zoom-tools { gap: 5px; padding: 7px 8px; }
  .business-photo-dialog-zoom-tools button { min-height: 36px; padding: 7px 10px; }
  .business-photo-dialog-zoom-tools output { min-width: 48px; }
}
.business-profile-staff-grid, .business-profile-video-list { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.business-profile-staff-grid article, .business-profile-video-list article { padding: 20px; border: 1px solid var(--line); background: #fff; }
.business-profile-staff-grid h3, .business-profile-video-list h3 { margin: 0 0 10px; font-size: 20px; }
.business-ops-panel { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.business-ops-status { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; font-size: 11px; }
.business-ops-status strong { color: var(--blue); }
.business-ops-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.business-ops-grid details { min-width: 0; padding: 14px; border: 1px solid var(--line); background: var(--surface); }
.business-ops-grid summary { cursor: pointer; font-weight: 900; }
.business-media-preview { margin-top: 8px; }
.business-media-preview img { display: block; width: 120px; height: 90px; border: 1px solid var(--line); object-fit: contain; background: #fff; }
.business-admin-thumb-link { display: block; flex: none; cursor: zoom-in; }
.business-admin-thumb { display: block; width: 72px; height: 54px; border: 1px solid var(--line); object-fit: contain; background: #fff; }
.business-ops-list { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.business-ops-list li { display: flex; align-items: center; gap: 10px; padding-top: 8px; border-top: 1px solid var(--line); }
.business-ops-list span { display: grid; gap: 3px; min-width: 0; }
.business-ops-list strong, .business-ops-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.business-publish-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; margin-top: 14px; padding: 14px; border: 1px solid var(--blue); }
.business-publish-form label { display: grid; gap: 6px; }
.business-publish-form small { grid-column: 1 / -1; color: var(--muted); }
.admin-note[data-kind="error"] { color: #b42318; }
.admin-note[data-kind="success"] { color: #087443; }
.business-profile-map-placeholder { display: grid; min-height: 260px; place-content: center; padding: 28px; border: 1px solid var(--line); background: linear-gradient(90deg, transparent 49.8%, rgba(22,73,216,.13) 50%, transparent 50.2%), linear-gradient(transparent 49.8%, rgba(22,73,216,.13) 50%, transparent 50.2%), var(--surface); background-size: 52px 52px; text-align: center; }
.business-profile-map-placeholder span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.business-profile-map-placeholder strong { margin: 12px 0 8px; font-size: 17px; }
.business-profile-map-placeholder p { margin: 0 !important; color: var(--muted); font-size: 10px !important; }
.business-profile-map-ready { gap: 10px; }
.business-profile-map-ready strong,
.business-profile-map-ready p { margin: 0 !important; }
.business-profile-map-ready .button-secondary { justify-self: center; margin-top: 8px; background: #fff; }

/* Business directory D: compact catalog first, optional map bridge, complete region filters. */
.business-directory-page #main-content {
  padding-top: 18px;
}
.business-directory-toolbar {
  padding: 22px var(--public-content-inline) 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-directory-toolbar-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 16px;
}
.business-directory-toolbar-heading .section-label {
  margin: 0 0 6px;
}
.business-directory-toolbar-heading strong {
  display: block;
  font-size: 18px;
  letter-spacing: -.035em;
}
.business-directory-view-toggle {
  display: inline-flex;
  flex: none;
  border: 1px solid var(--ink);
}
.business-directory-view-toggle a {
  min-width: 88px;
  padding: 10px 14px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}
.business-directory-view-toggle a + a {
  border-left: 1px solid var(--ink);
}
.business-directory-view-toggle a:hover,
.business-directory-view-toggle a:focus-visible,
.business-directory-view-toggle a.is-current {
  background: var(--ink);
  color: #fff;
}
.business-directory-filter {
  display: grid;
  grid-template-columns: minmax(14rem, 1.45fr) repeat(4, minmax(8rem, .72fr)) auto;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  background: #fff;
}
.business-directory-filter > label {
  display: grid;
  gap: 0;
  min-width: 0;
  border-right: 1px solid var(--line);
}
.business-directory-filter > label > span {
  padding: 9px 12px 0;
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.business-directory-filter input,
.business-directory-filter select {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  padding: 0 12px;
  border: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 12px;
}
.business-directory-filter select:disabled {
  color: #8a94a6;
  background: var(--surface);
}
.business-directory-filter > button {
  min-height: 72px;
  border: 0;
  white-space: nowrap;
}
.business-directory-filter .directory-filter-options {
  grid-column: 1 / -2;
  display: flex;
  align-items: center;
  gap: 10px 24px;
  min-height: 48px;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
}
.business-directory-filter .directory-filter-options legend {
  padding-inline: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.business-directory-filter .directory-filter-options label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 11px;
}
.business-directory-filter .directory-filter-options input {
  width: 16px;
  min-height: 16px;
  padding: 0;
  accent-color: var(--blue);
}
.business-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 12px 0 0;
}
.business-filter-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}
.business-filter-chip span {
  padding: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 9px;
}
.business-filter-chip strong {
  padding: 8px 5px 8px 9px;
  font-size: 10px;
}
.business-filter-chip i {
  padding: 8px 9px 8px 5px;
  color: var(--blue);
  font-style: normal;
  font-weight: 900;
}
.business-filter-chip:hover,
.business-filter-chip:focus-visible {
  border-color: var(--blue);
}
.business-filter-reset {
  margin-left: auto;
  color: var(--muted);
  font-size: 10px;
}
.business-category-tabs {
  display: flex;
  overflow-x: auto;
  gap: 0;
  margin-top: 14px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  scrollbar-width: thin;
}
.business-category-tab {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 18px;
  min-height: 48px;
  padding: 0 16px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}
.business-category-tab small {
  color: var(--muted);
  font-size: 9px;
}
.business-category-tab:hover,
.business-category-tab:focus-visible,
.business-category-tab.is-current {
  background: var(--blue);
  color: #fff;
}
.business-category-tab:hover small,
.business-category-tab:focus-visible small,
.business-category-tab.is-current small {
  color: #fff;
}
.business-directory-catalog {
  padding: 28px var(--public-content-inline) 48px;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-directory-results-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.business-directory-results-heading h2 {
  margin: 5px 0 4px;
  font-size: 26px;
  letter-spacing: -.055em;
}
.business-directory-results-heading h2 span {
  color: var(--blue);
}
.business-directory-results-heading p:not(.section-label) {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}
.business-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-catalog-card {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.business-catalog-photo {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  color: #fff;
  text-decoration: none;
}
.business-catalog-photo > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #eef2f8;
  transition: transform .24s ease;
}
.business-catalog-photo:hover > img,
.business-catalog-photo:focus-visible > img {
  transform: scale(1.025);
}
.business-directory-photo-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  align-content: space-between;
  padding: 18px;
}
.business-directory-photo-fallback b {
  font-size: 30px;
  letter-spacing: -.06em;
}
.business-directory-photo-fallback i {
  justify-self: end;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .16em;
}
.business-directory-photo-fallback-1 { background: linear-gradient(140deg, #1548d8 0 62%, #0d1933 62%); }
.business-directory-photo-fallback-2 { background: linear-gradient(140deg, #aebff2 0 38%, #1949d8 38% 70%, #f5f7fb 70%); color: var(--ink); }
.business-directory-photo-fallback-3 { background: linear-gradient(90deg, #0f1c36 0 48%, #1b4cda 48%); }
.business-directory-photo-fallback-4 { background: linear-gradient(140deg, #e8edf7 0 48%, #b9c8ee 48% 52%, #1649d8 52%); color: var(--ink); }
.business-catalog-region {
  position: absolute;
  right: 10px;
  bottom: 10px;
  max-width: calc(100% - 20px);
  padding: 7px 9px;
  background: rgba(9, 20, 43, .86);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
}
.business-catalog-card-body {
  display: grid;
  align-content: start;
  padding: 18px;
}
.business-catalog-card-body h2 {
  margin: 12px 0 8px;
  font-size: 21px;
  letter-spacing: -.045em;
}
.business-catalog-card-body h2 a {
  color: inherit;
  text-decoration: none;
}
.business-catalog-card-body > p {
  display: -webkit-box;
  min-height: 3.2em;
  overflow: hidden;
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.business-catalog-card-body .business-category-list {
  margin: 0 0 16px;
}
.business-catalog-detail {
  align-self: end;
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
}
.business-directory-empty {
  grid-column: 1 / -1;
}
.business-directory-map-shell {
  display: grid;
  grid-template-columns: minmax(250px, .34fr) minmax(0, .66fr);
  min-height: 620px;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.business-map-results {
  min-width: 0;
  padding: 26px 18px 32px var(--public-content-inline);
  border-right: 1px solid var(--line);
}
.business-map-result-list {
  display: grid;
  max-height: 540px;
  overflow-y: auto;
  border-top: 1px solid var(--line);
}
.business-map-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.business-map-result > button {
  display: grid;
  min-width: 0;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 3px 8px;
  padding: 14px 4px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.business-map-result > button span {
  grid-row: 1 / 3;
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
}
.business-map-result > button strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.business-map-result > button small {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.business-map-result > a {
  padding: 8px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}
.business-map-result.is-current {
  background: var(--blue-soft);
}
.business-map-result > button:disabled {
  cursor: not-allowed;
  opacity: .58;
}
.business-map-stage {
  min-width: 0;
  padding: 26px var(--public-content-inline) 32px 24px;
}
.business-map-stage-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.business-map-stage-heading strong {
  font-size: 17px;
}
.business-map-stage-heading p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 10px;
}
.business-map-stage-heading > span {
  flex: none;
  padding: 7px 9px;
  border: 1px solid var(--blue);
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}
.business-map-canvas {
  position: relative;
  display: grid;
  min-height: 500px;
  align-content: start;
  gap: 18px;
  padding: 28px;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(22, 73, 216, .08) 50%, transparent 50.2%),
    linear-gradient(transparent 49.8%, rgba(22, 73, 216, .08) 50%, transparent 50.2%),
    #f3f6fb;
  background-size: 56px 56px;
}
.business-map-runtime-status {
  z-index: 2;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .94);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.business-map-canvas[data-map-state="ready"] .business-map-runtime-status {
  border-color: var(--blue);
  color: var(--blue);
}
.business-map-canvas[data-map-state="error"] .business-map-runtime-status {
  border-color: #c8352b;
  color: #9f261f;
}
.business-map-surface {
  width: 100%;
  min-height: 430px;
  border: 1px solid var(--line);
  background: #e9eef7;
}
.business-detail-map {
  min-height: 380px;
  margin: 18px 0;
  padding: 14px;
}
.business-detail-map .business-map-surface {
  min-height: 320px;
}
.business-map-awaiting {
  max-width: 540px;
  padding: 20px;
  border: 1px solid var(--blue);
  background: rgba(255, 255, 255, .94);
}
.business-map-awaiting strong {
  font-size: 18px;
}
.business-map-awaiting p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}
.business-map-address-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.business-map-address-links a {
  display: grid;
  min-width: 0;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 3px 8px;
  padding: 11px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .94);
  color: var(--ink);
  text-decoration: none;
}
.business-map-address-links span {
  grid-row: 1 / 3;
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}
.business-map-address-links strong,
.business-map-address-links small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.business-map-address-links strong {
  font-size: 11px;
}
.business-map-address-links small {
  color: var(--muted);
  font-size: 9px;
}
.business-map-address-links a:hover,
.business-map-address-links a:focus-visible {
  border-color: var(--blue);
  color: var(--blue);
}
.business-map-source {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 9px;
}
.business-geocode-control {
  display: grid;
  grid-template-columns: auto auto minmax(180px, 1fr);
  gap: 10px;
  align-items: center;
  margin: 14px 0;
  padding: 12px;
  border: 1px solid var(--line);
  background: var(--surface);
}
.business-geocode-control small {
  color: var(--muted);
  line-height: 1.5;
}
.business-directory-explorer {
  margin-bottom: 56px;
  border: 1px solid var(--line);
}
.business-directory-explorer > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px var(--public-content-inline);
  cursor: pointer;
  list-style: none;
}
.business-directory-explorer > summary::-webkit-details-marker {
  display: none;
}
.business-directory-explorer > summary span {
  display: grid;
  gap: 4px;
}
.business-directory-explorer > summary strong {
  font-size: 15px;
}
.business-directory-explorer > summary small {
  color: var(--muted);
  font-size: 10px;
}
.business-directory-explorer > summary i {
  color: var(--blue);
  font-size: 20px;
  font-style: normal;
  transition: transform .18s ease;
}
.business-directory-explorer[open] > summary {
  border-bottom: 1px solid var(--line);
}
.business-directory-explorer[open] > summary i {
  transform: rotate(45deg);
}
.business-directory-explorer-body {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
}
.business-directory-explorer-body > section {
  min-width: 0;
  padding: 24px;
}
.business-directory-explorer-body > section + section {
  border-left: 1px solid var(--line);
}
.business-category-index.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.business-province-index.compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.business-district-index.compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.business-directory-explorer .business-category-tab {
  display: flex;
  min-height: 54px;
}

@media (max-width: 980px) {
  .business-directory-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .business-directory-filter .directory-filter-search {
    grid-column: 1 / -1;
  }
  .business-directory-filter > label {
    border-bottom: 1px solid var(--line);
  }
  .business-directory-filter > button {
    min-height: 52px;
  }
  .business-directory-filter .directory-filter-options {
    grid-column: 1 / -1;
  }
  .business-catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .business-directory-map-shell {
    grid-template-columns: 1fr;
  }
  .business-map-results {
    padding: 24px var(--public-content-inline);
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .business-map-result-list {
    max-height: 260px;
  }
  .business-map-stage {
    padding: 24px var(--public-content-inline);
  }
  .business-directory-explorer-body {
    grid-template-columns: 1fr;
  }
  .business-directory-explorer-body > section + section {
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .business-province-index.compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Member business workspace: direct-management foundation */
.member-business-workspace-entry {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-content: start;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--line);
  background: #fff;
}

.member-business-workspace-entry h2 {
  margin: 4px 0 0;
  font-size: 22px;
  letter-spacing: -.04em;
}

.member-business-workspace-entry p {
  max-width: 700px;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
}

.business-member-workspace-page {
  background: #f1f4f9;
}

.business-member-workspace-page .site-footer {
  margin-top: 0;
}

.business-manager-topbar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  min-height: 92px;
  padding-block: 18px;
  border-inline: 1px solid var(--line);
  background: #fff;
}

.business-manager-topbar > div:first-child {
  display: grid;
  grid-template-columns: auto minmax(0, auto) auto;
  gap: 10px;
  align-items: center;
}

.business-manager-topbar > div:first-child strong {
  overflow: hidden;
  max-width: 420px;
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.business-manager-topbar > div:first-child small {
  color: var(--muted);
  font-size: 11px;
}

.business-manager-topbar > div:last-child {
  display: flex;
  gap: 8px;
}

.business-manager-business-switcher {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px max(24px, calc((100vw - var(--shell)) / 2));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #e9eef7;
  overflow-x: auto;
}

.business-manager-business-switcher > span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}

.business-manager-business-switcher a {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid #c9d3e3;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.business-manager-business-switcher a[aria-current="true"] {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.business-manager-layout {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  min-height: 760px;
  padding: 0;
  border-inline: 1px solid var(--line);
  background: #fff;
}

.business-manager-sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-right: 1px solid var(--line);
  background: #111d33;
  color: #fff;
}

.business-manager-sidebar > p {
  margin: 0;
  padding: 24px 20px 14px;
  color: #9fb3d9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.business-manager-sidebar nav {
  display: grid;
}

.business-manager-sidebar nav a {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 13px 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  color: #dbe6fb;
  text-decoration: none;
}

.business-manager-sidebar nav a:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.business-manager-sidebar nav a:hover,
.business-manager-sidebar nav a:focus-visible {
  background: #192b4a;
}

.business-manager-sidebar nav a.is-current {
  background: var(--blue);
  color: #fff;
}

.business-manager-sidebar nav img {
  width: 21px;
  height: 21px;
  filter: brightness(0) invert(1);
}

.business-manager-sidebar nav span {
  display: grid;
  gap: 3px;
}

.business-manager-sidebar nav strong {
  font-size: 12px;
}

.business-manager-sidebar nav small {
  color: #9fb3d9;
  font-size: 9px;
  line-height: 1.45;
}

.business-manager-sidebar nav a.is-current small {
  color: #dce7ff;
}

.business-manager-sidebar footer {
  display: grid;
  gap: 6px;
  margin-top: auto;
  padding: 20px;
  background: #0c1628;
}

.business-manager-sidebar footer strong {
  color: #fff;
  font-size: 11px;
}

.business-manager-sidebar footer span {
  color: #8fa3c8;
  font-size: 9px;
  line-height: 1.6;
}

.business-manager-main {
  min-width: 0;
  padding: clamp(28px, 4vw, 54px);
  background: #fff;
}

.business-manager-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
  gap: 34px;
  align-items: end;
  margin-bottom: 34px;
}

.business-manager-section-heading.compact {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.business-manager-section-heading h1 {
  max-width: 680px;
  margin: 9px 0 0;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: -.065em;
  word-break: keep-all;
}

.business-manager-section-heading.compact h1 {
  font-size: clamp(30px, 3vw, 43px);
}

.business-manager-section-heading > p,
.business-manager-lead {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.business-manager-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--line);
}

.business-manager-summary-grid article {
  display: grid;
  gap: 8px;
  min-height: 130px;
  padding: 22px;
  border-right: 1px solid var(--line);
}

.business-manager-summary-grid article:last-child {
  border-right: 0;
}

.business-manager-summary-grid span,
.business-manager-summary-grid small {
  color: var(--muted);
  font-size: 10px;
}

.business-manager-summary-grid strong {
  color: var(--blue);
  font-size: 30px;
  letter-spacing: -.045em;
}

.business-manager-action-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 22px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.business-manager-action-card {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
  min-height: 104px;
  padding: 20px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.business-manager-action-card:hover,
.business-manager-action-card:focus-visible {
  background: #f2f6ff;
}

.business-manager-action-card img {
  width: 29px;
  height: 29px;
}

.business-manager-action-card span {
  display: grid;
  gap: 6px;
}

.business-manager-action-card strong {
  font-size: 16px;
}

.business-manager-action-card small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.business-manager-action-card b {
  color: var(--blue);
  font-size: 19px;
}

.business-manager-public-preview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 34px;
  padding: 27px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  background: #f7f9fd;
}

.business-manager-public-preview h2 {
  margin: 12px 0 8px;
  font-size: 28px;
  letter-spacing: -.045em;
}

.business-manager-public-preview p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.business-manager-editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  border: 1px solid var(--line);
}

.business-manager-page-canvas {
  min-width: 0;
  border-right: 1px solid var(--line);
}

.business-manager-page-canvas > header {
  display: grid;
  grid-template-columns: 1fr 260px;
  min-height: 255px;
}

.business-manager-page-canvas > header > div:first-child {
  padding: 32px;
}

.business-manager-page-canvas h2 {
  margin: 18px 0 10px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
  letter-spacing: -.06em;
}

.business-manager-page-canvas p {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.75;
}

.business-manager-canvas-cover {
  min-height: 255px;
  background: #e9eef7;
  overflow: hidden;
}

.business-manager-canvas-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.business-manager-canvas-cover > span {
  display: grid;
  height: 100%;
  place-items: center;
  color: var(--muted);
  font-size: 10px;
}

.business-manager-page-canvas > nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.business-manager-page-canvas > nav span {
  padding: 14px;
  border-right: 1px solid var(--line);
  text-align: center;
  font-size: 10px;
  font-weight: 800;
}

.business-manager-page-canvas > nav span:last-child {
  border-right: 0;
}

.business-manager-canvas-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.business-manager-canvas-body section {
  min-height: 210px;
  padding: 28px;
  border-right: 1px solid var(--line);
}

.business-manager-canvas-body section:last-child {
  border-right: 0;
}

.business-manager-canvas-body small {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
}

.business-manager-canvas-body h3 {
  margin: 16px 0 8px;
  font-size: 21px;
}

.business-manager-inspector {
  padding: 24px;
  background: #f4f6fa;
}

.business-manager-inspector h2 {
  margin: 14px 0 20px;
  font-size: 22px;
}

.business-manager-inspector dl,
.business-manager-settings-grid {
  display: grid;
  margin: 0;
}

.business-manager-inspector dl div,
.business-manager-settings-grid div {
  display: grid;
  gap: 5px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.business-manager-inspector dt,
.business-manager-settings-grid dt {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}

.business-manager-inspector dd,
.business-manager-settings-grid dd {
  margin: 0;
  font-size: 11px;
  line-height: 1.55;
}

.business-manager-inspector > p {
  margin-top: 22px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.7;
}

.business-manager-empty {
  position: relative;
  max-width: 820px;
  min-height: 520px;
  margin: 0 auto;
  padding: clamp(42px, 8vw, 96px);
  border: 1px solid var(--line);
  background: #fff;
}

.business-manager-empty-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin-bottom: 24px;
  place-items: center;
  background: var(--blue-soft);
}

.business-manager-empty-icon img {
  width: 30px;
  height: 30px;
}

.business-manager-empty-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.business-manager-empty-steps > div {
  display: grid;
  gap: 7px;
  min-height: 118px;
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.business-manager-empty-steps span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}

.business-manager-empty-steps strong {
  font-size: 14px;
}

.business-manager-empty-steps small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.business-manager-empty.compact {
  min-height: 310px;
  margin: 0;
  padding: 42px;
  background: #f7f9fc;
}

.business-manager-empty h1,
.business-manager-empty h2 {
  max-width: 620px;
  margin: 15px 0 12px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.055em;
}

.business-manager-empty h2 {
  font-size: clamp(25px, 3vw, 36px);
}

.business-manager-empty p,
.business-manager-empty li {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.business-manager-empty .admin-actions {
  margin-top: 28px;
}

.business-manager-media-grid,
.business-manager-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.business-manager-media-card,
.business-manager-profile-card {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.business-manager-media-card > div {
  display: grid;
  height: 220px;
  place-items: center;
  background: #eef2f8;
  overflow: hidden;
}

.business-manager-media-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.business-manager-media-card figcaption {
  display: grid;
  gap: 5px;
  padding: 14px;
}

.business-manager-media-card strong {
  font-size: 11px;
}

.business-manager-media-card span,
.business-manager-profile-card small,
.business-manager-profile-card b {
  color: var(--muted);
  font-size: 9px;
}

.business-manager-profile-card > div {
  display: grid;
  aspect-ratio: 3 / 4;
  place-items: center;
  background: #eef2f8;
  overflow: hidden;
}

.business-manager-profile-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.business-manager-profile-card footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
}

.business-manager-profile-card footer > span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
}

.business-manager-profile-card footer > div {
  display: grid;
  gap: 3px;
}

.business-manager-image-placeholder {
  display: grid;
  height: 100%;
  place-items: center;
  align-content: center;
  gap: 8px;
  color: var(--muted);
}

.business-manager-image-placeholder span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
}

.business-manager-subsection {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.business-manager-subsection h2 {
  margin: 0 0 18px;
  font-size: 23px;
}

.business-manager-video-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.business-manager-video-card {
  padding: 20px;
  border: 1px solid var(--line);
}

.business-manager-video-card span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
}

.business-manager-video-card strong {
  display: block;
  margin-top: 10px;
  font-size: 16px;
}

.business-manager-video-card p,
.business-manager-muted {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
}

.business-manager-settings-grid {
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--line);
}

.business-manager-settings-grid div {
  min-height: 98px;
  padding: 20px;
  border-right: 1px solid var(--line);
}

.business-manager-settings-grid div:nth-child(even) {
  border-right: 0;
}

.business-manager-policy-note {
  margin-top: 24px;
  padding: 22px;
  border-left: 4px solid var(--blue);
  background: #f2f6ff;
}

.business-manager-policy-note strong {
  font-size: 13px;
}

.business-manager-policy-note p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.business-manager-history-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.business-manager-history-list li {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.business-manager-history-list time {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.business-manager-history-list strong {
  font-size: 15px;
}

.business-manager-history-list p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 10px;
}

.business-manager-form {
  display: grid;
  gap: 16px;
  margin: 20px 0 28px;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid var(--line, #cfd8e8);
  background: #f7f9fd;
}

.business-manager-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.business-manager-form label {
  display: grid;
  gap: 7px;
  font-weight: 700;
}

.business-manager-form input,
.business-manager-form select,
.business-manager-form textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid #bdc9dc;
  background: #fff;
  color: #101827;
  padding: 11px 12px;
  font: inherit;
}

.business-manager-form textarea { resize: vertical; }
.business-manager-form .business-manager-wide { grid-column: 1 / -1; }
.business-manager-form .member-check { display: flex; align-items: flex-start; font-weight: 500; }
.business-manager-form .member-check input { width: 18px; min-height: 18px; margin-top: 2px; }

.business-manager-post-list {
  display: grid;
  gap: 12px;
}

.business-manager-post-card {
  padding: 20px;
  border: 1px solid #cfd8e8;
  background: #fff;
}

.business-manager-post-card.is-hidden,
.business-manager-media-card.is-hidden,
.business-manager-profile-card.is-hidden,
.business-manager-video-card.is-hidden { opacity: .58; background: #eef1f6; }

.business-manager-post-card header,
.business-manager-post-card footer,
.business-manager-media-card figcaption form,
.business-manager-profile-card footer form,
.business-manager-video-card form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.business-manager-post-card footer { justify-content: flex-start; margin-top: 14px; }
.business-manager-post-card h2 { margin: 14px 0 8px; }
.business-manager-post-card p { white-space: pre-line; }
.business-manager-upload-form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; }
.business-manager-upload-form > div:first-child,
.business-manager-upload-form > .member-check,
.business-manager-upload-form > .business-manager-upload-preview,
.business-manager-upload-form > [data-upload-status] { grid-column: 1 / -1; }

.business-manager-upload-preview {
  max-width: 260px;
  max-height: 260px;
  overflow: hidden;
  border: 1px solid #cfd8e8;
  background: #fff;
}

.business-manager-upload-preview img { display: block; width: 100%; height: auto; max-height: 260px; object-fit: contain; }
.business-manager-upload-form [data-upload-status] { margin: 0; color: #126341; }
.business-manager-upload-form [data-upload-status].is-error { color: #a12020; }

@media (max-width: 760px) {
  .business-manager-form-grid,
  .business-manager-upload-form { grid-template-columns: 1fr; }
  .business-manager-form .business-manager-wide,
  .business-manager-upload-form > div:first-child,
  .business-manager-upload-form > .member-check,
  .business-manager-upload-form > .business-manager-upload-preview,
  .business-manager-upload-form > [data-upload-status] { grid-column: auto; }
}

@media (max-width: 980px) {
  .business-manager-layout {
    grid-template-columns: 1fr;
  }
  .business-manager-sidebar {
    border-right: 0;
  }
  .business-manager-sidebar > p,
  .business-manager-sidebar footer {
    display: none;
  }
  .business-manager-sidebar nav {
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    overflow-x: auto;
  }
  .business-manager-sidebar nav a {
    border-right: 1px solid rgba(255, 255, 255, .1);
    border-bottom: 0;
  }
  .business-manager-editor-layout {
    grid-template-columns: 1fr;
  }
  .business-manager-page-canvas {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .business-manager-media-grid,
  .business-manager-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .member-business-workspace-entry,
  .business-manager-topbar,
  .business-manager-public-preview,
  .business-manager-section-heading,
  .business-manager-section-heading.compact {
    grid-template-columns: 1fr;
  }
  .member-business-workspace-entry .button-primary {
    justify-content: center;
  }
  .business-manager-topbar {
    align-items: stretch;
  }
  .business-manager-topbar > div:first-child {
    grid-template-columns: 1fr;
  }
  .business-manager-topbar > div:last-child a {
    flex: 1;
    justify-content: center;
  }
  .business-manager-main {
    padding: 28px 18px;
  }
  .business-manager-summary-grid,
  .business-manager-action-grid,
  .business-manager-empty-steps,
  .business-manager-settings-grid,
  .business-manager-video-grid,
  .business-manager-media-grid,
  .business-manager-profile-grid,
  .business-manager-page-canvas > header,
  .business-manager-canvas-body {
    grid-template-columns: 1fr;
  }
  .business-manager-summary-grid article,
  .business-manager-settings-grid div,
  .business-manager-canvas-body section {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .business-manager-page-canvas > nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .business-manager-page-canvas > nav span:nth-child(2) {
    border-right: 0;
  }
  .business-manager-history-list li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* Homepage option 2: compact atlas + curated directory */
.atlas-home-page {
  padding: 0;
  border-bottom: 1px solid var(--line);
  background: #f7f8fb;
}

.atlas-compact-intro {
  display: grid;
  grid-template-columns: minmax(238px, .68fr) minmax(138px, .38fr) minmax(0, 1.94fr);
  min-height: 218px;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #fff;
}

.atlas-compact-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 16px clamp(20px, 2vw, 30px);
}

.atlas-compact-copy h1,
.atlas-compact-copy h2 {
  max-width: 9ch;
  margin: 7px 0 10px;
  font-size: clamp(27px, 2.1vw, 32px);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.atlas-compact-copy > p:not(.eyebrow) {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.atlas-compact-selection {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.atlas-compact-selection > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: #fff;
  background: var(--blue);
  font: 800 12px/1 var(--font-sans);
}

.atlas-compact-selection strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
}

.atlas-compact-selection p {
  margin: 0;
  color: var(--muted);
  display: -webkit-box;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.atlas-compact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 11px;
}

.atlas-compact-actions a {
  min-height: 34px;
  padding: 9px 12px;
  font-size: 10px;
}

@media (min-width: 761px) {
  .atlas-compact-selection {
    display: none;
  }

  .atlas-compact-actions {
    margin-top: 10px;
  }

  .atlas-compact-actions .button-secondary {
    display: none;
  }
}

.atlas-compact-artwork {
  position: relative;
  min-width: 0;
  height: 218px;
  margin: 0;
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
  background: #eaf0ff;
}

.atlas-compact-artwork img {
  width: 195%;
  max-width: none;
  height: 425px;
  min-height: 425px;
  margin-left: -47.5%;
  object-fit: cover;
  object-position: 50% 14%;
}

.atlas-compact-artwork figcaption {
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  padding: 6px 8px;
  color: #fff;
  background: rgb(17 28 51 / 78%);
  font-size: 10px;
  line-height: 1.45;
}

.atlas-compact-zones {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: 1fr;
}

.atlas-compact-zones button {
  display: flex;
  min-width: 0;
  min-height: 218px;
  padding: 18px 12px 20px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--ink);
  background: #fff;
  text-align: left;
  cursor: pointer;
}

.atlas-compact-zones button:last-child {
  border-right: 0;
}

.atlas-compact-zones button > span {
  color: var(--blue);
  font: 800 10px/1 var(--font-sans);
}

.atlas-zone-icon {
  width: clamp(58px, 5vw, 76px);
  height: 64px;
  margin: auto auto 18px;
  object-fit: contain;
  opacity: .82;
  transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.atlas-compact-zones button strong {
  margin-top: auto;
  font-size: 13px;
}

.atlas-compact-zones button small {
  margin-top: 4px;
  color: var(--muted);
  font: 700 9px/1 var(--font-sans);
  letter-spacing: .12em;
}

.atlas-compact-zones button:hover,
.atlas-compact-zones button:focus-visible,
.atlas-compact-zones button[aria-pressed="true"] {
  color: #fff;
  background: var(--blue);
  outline: 0;
}

.atlas-compact-zones button:hover > span,
.atlas-compact-zones button:hover small,
.atlas-compact-zones button:focus-visible > span,
.atlas-compact-zones button:focus-visible small,
.atlas-compact-zones button[aria-pressed="true"] > span,
.atlas-compact-zones button[aria-pressed="true"] small {
  color: #fff;
}

.atlas-compact-zones button:hover .atlas-zone-icon,
.atlas-compact-zones button:focus-visible .atlas-zone-icon,
.atlas-compact-zones button[aria-pressed="true"] .atlas-zone-icon {
  filter: brightness(0) invert(1);
  opacity: 1;
  transform: translateY(-3px);
}

.atlas-compact-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 44px;
  padding: 10px clamp(20px, 3vw, 42px);
  border: 1px solid var(--line);
  border-top: 0;
  background: #f3f6fb;
}

.atlas-compact-footer p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.atlas-compact-footer a {
  color: var(--blue);
  font-weight: 800;
  font-size: 12px;
}

.home-curated-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, .85fr);
  padding: 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.home-curated-business,
.home-curated-insights {
  min-width: 0;
  padding: clamp(28px, 2.8vw, 40px);
  background: #fff;
}

.home-curated-business {
  border-right: 1px solid var(--line);
}

.home-curated-heading,
.home-insight-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.home-curated-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.home-curated-rotator-controls {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--line);
  background: #fff;
}

.home-curated-rotator-controls > span,
.home-curated-rotator-controls button {
  min-height: 34px;
  padding: 8px 10px;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.home-curated-rotator-controls > span {
  display: inline-flex;
  align-items: center;
  color: var(--blue);
  letter-spacing: .08em;
}

.home-curated-rotator-controls button {
  cursor: pointer;
}

.home-curated-rotator-controls button:last-child {
  border-right: 0;
}

.home-curated-rotator-controls button:hover,
.home-curated-rotator-controls button:focus-visible {
  color: #fff;
  background: var(--blue);
  outline: 0;
}

.home-curated-heading h2,
.home-insight-heading h2 {
  margin: 6px 0 0;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
  letter-spacing: -.055em;
}

.home-insight-heading h2 {
  font-size: clamp(24px, 2.2vw, 30px);
  word-break: keep-all;
}

.home-featured-business {
  display: grid;
  grid-template-columns: minmax(240px, .95fr) minmax(0, 1.05fr);
  grid-area: 1 / 1;
  border: 1px solid var(--ink);
}

.home-curated-slides {
  display: grid;
}

.home-curated-rotator.is-enhanced .home-featured-business {
  display: grid;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.home-curated-rotator.is-enhanced .home-featured-business.is-active {
  visibility: visible;
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
  animation: home-curated-reveal 360ms cubic-bezier(.22, .61, .36, 1) both;
}

.home-curated-rotator.is-initializing .home-featured-business.is-active {
  animation: none;
}

@keyframes home-curated-reveal {
  from {
    opacity: 0;
    transform: translate3d(12px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.home-featured-business-media {
  position: relative;
  display: block;
  min-height: 285px;
  overflow: hidden;
  border-right: 1px solid var(--ink);
  background: #e9eef9;
}

.home-featured-business-image,
.home-recommended-business-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-featured-business-label {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 8px 10px;
  color: #fff;
  background: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.home-featured-business-rank {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 48px;
  padding: 10px 12px;
  color: #fff;
  background: var(--blue);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
}

.home-featured-business > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: clamp(24px, 2.2vw, 32px);
}

.home-featured-business .home-featured-kicker {
  margin: 0 0 4px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
}

.home-featured-business h3 {
  margin: 12px 0 10px;
  font-size: clamp(26px, 2.5vw, 36px);
  line-height: 1.08;
  letter-spacing: -.055em;
}

.home-featured-business h3 a,
.home-recommended-businesses h3 a,
.home-insight-list h3 a {
  color: inherit;
}

.home-featured-business > div > p {
  margin: 0 0 14px;
  color: var(--muted);
  line-height: 1.7;
}

.home-editor-comment {
  display: grid;
  gap: 6px;
  width: 100%;
  margin: 0 0 14px;
  padding: 12px 0 12px 14px;
  border-left: 3px solid var(--blue);
  background: #f3f6fd;
}

.home-editor-comment strong {
  color: var(--blue);
  font-size: 10px;
  letter-spacing: .08em;
}

.home-editor-comment span {
  color: #39465e;
  font-size: 12px;
  line-height: 1.55;
}

.home-business-image-fallback {
  display: grid;
  align-content: center;
  justify-items: center;
  color: #fff;
  background: var(--blue);
}

.home-business-image-fallback b {
  font-size: 46px;
  letter-spacing: -.06em;
}

.home-business-image-fallback small {
  margin-top: 7px;
  font-size: 9px;
  letter-spacing: .16em;
}

.home-recommended-businesses {
  display: grid;
  grid-template-columns: 150px repeat(3, minmax(0, 1fr));
  margin-top: 16px;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.home-recommended-businesses.has-2-choices {
  grid-template-columns: 150px repeat(2, minmax(0, 1fr));
}

.home-recommended-businesses > div,
.home-recommended-business-choice {
  min-width: 0;
  padding: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.home-recommended-businesses > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #f5f7fb;
}

.home-recommended-business-choice {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 16px;
  color: inherit;
  background: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.home-recommended-business-choice.is-current {
  background: #edf3ff;
  box-shadow: inset 0 3px 0 var(--blue);
  cursor: default;
}

.home-recommended-business-choice.is-current .home-recommended-business-copy b {
  color: var(--blue);
}

.home-recommended-business-choice:hover,
.home-recommended-business-choice:focus-visible {
  background: #f4f7ff;
  outline: 2px solid var(--blue);
  outline-offset: -2px;
}

@media (max-width: 1180px) and (min-width: 761px) {
  .home-recommended-businesses,
  .home-recommended-businesses.has-2-choices {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-recommended-businesses.has-2-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-recommended-businesses > div:first-child {
    grid-column: 1 / -1;
    min-height: 76px;
  }

  .home-recommended-business-choice {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .home-recommended-business-thumb {
    height: 96px;
  }
}

.home-recommended-business-thumb {
  position: relative;
  display: block;
  height: 112px;
  overflow: hidden;
  background: #e9eef9;
}

.home-recommended-business-thumb > span {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 6px 8px;
  color: #fff;
  background: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.home-recommended-business-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.home-recommended-business-copy strong {
  margin: 9px 0 6px;
  font-size: 17px;
  line-height: 1.25;
  word-break: keep-all;
}

.home-recommended-business-copy small {
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.home-recommended-business-copy b {
  margin-top: auto;
  color: var(--blue);
  font-size: 11px;
}

.home-recommendation-disclosure {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.home-recommendation-criteria {
  margin: 0 0 34px;
  padding: 24px;
  border-top: 4px solid var(--blue);
  background: #f2f5fa;
}

.home-recommendation-criteria h2 {
  margin: 8px 0 18px;
  font-size: 24px;
}

.home-recommendation-criteria ul {
  display: grid;
  gap: 0;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.home-recommendation-criteria li {
  display: grid;
  gap: 4px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.home-recommendation-criteria li strong {
  font-size: 12px;
}

.home-recommendation-criteria li span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.home-recommendation-criteria > a {
  color: var(--blue);
  font-size: 10px;
  font-weight: 800;
}

.home-insight-list {
  display: grid;
  border-top: 1px solid var(--ink);
}

.home-insight-list article {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 16px;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.home-insight-thumb {
  display: block;
  height: 82px;
  overflow: hidden;
  background: #e8edf7;
}

.home-insight-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-insight-thumb.is-fallback {
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--blue);
  font-size: 23px;
  font-weight: 800;
}

.home-insight-list h3 {
  margin: 6px 0 5px;
  font-size: 16px;
  line-height: 1.35;
}

.home-insight-list article p:last-child {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-insight-latest {
  display: inline-block;
  margin-bottom: 5px;
  color: var(--blue);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
}

.home-module-empty {
  display: grid;
  gap: 10px;
  align-items: start;
  min-height: 180px;
  padding: 28px;
  border: 1px solid var(--line);
  background: #f6f8fc;
}

.home-module-empty p {
  margin: 0;
  color: var(--muted);
}

.home-module-empty .button-secondary {
  justify-self: start;
}

.home-business-recommendation-admin {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: 18px;
  margin: 22px 0;
}

.home-business-recommendation-admin > section {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  background: #fff;
}

.home-business-recommendation-admin h3 {
  margin-top: 0;
}

.home-business-recommendation-card + .home-business-recommendation-card {
  margin-top: 12px;
}

@media (max-width: 1080px) {
  .atlas-compact-intro {
    grid-template-columns: minmax(205px, .68fr) minmax(126px, .38fr) minmax(0, 1.94fr);
  }

  .atlas-compact-zones {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: 1fr;
  }

  .atlas-compact-zones button {
    min-height: 218px;
    padding: 18px 9px;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }

  .atlas-compact-copy {
    padding: 24px 20px;
  }

  .atlas-compact-actions .button-secondary {
    display: none;
  }

  .atlas-compact-zones button:last-child {
    border-right: 0;
  }

  .home-curated-grid {
    grid-template-columns: 1fr;
  }

  .home-curated-business {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 760px) {
  .atlas-compact-intro {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .atlas-compact-copy {
    padding: 28px 22px 26px;
  }

  .atlas-compact-copy h1,
  .atlas-compact-copy h2 {
    max-width: 11ch;
    font-size: clamp(34px, 10.5vw, 46px);
  }

  .atlas-compact-artwork {
    height: 220px;
    max-height: 220px;
    border-top: 1px solid var(--line);
    border-right: 0;
    border-left: 0;
  }

  .atlas-compact-artwork img {
    width: 122%;
    height: 292px;
    min-height: 292px;
    margin-left: -11%;
    object-position: 50% 14%;
  }

  .atlas-compact-zones {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .atlas-compact-zones button {
    min-height: 108px;
    padding: 12px 9px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .atlas-zone-icon {
    width: 52px;
    height: 46px;
    margin: 3px auto 8px;
  }

  .atlas-compact-footer {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .home-curated-business,
  .home-curated-insights {
    padding: 28px 18px;
  }

  .home-curated-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .home-curated-heading-actions {
    align-items: flex-start;
    flex-direction: column-reverse;
    width: 100%;
  }

  .home-curated-rotator-controls {
    width: 100%;
  }

  .home-curated-rotator-controls > span,
  .home-curated-rotator-controls button {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }

  .home-featured-business {
    grid-template-columns: 1fr;
  }

  .home-featured-business-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    border-right: 0;
    border-bottom: 1px solid var(--ink);
  }

  .home-recommended-businesses {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(238px, 82vw);
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    border-left: 0;
    scroll-padding-inline: 2px;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .home-recommended-businesses > div:first-child {
    display: none;
  }

  .home-recommended-business-choice {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    scroll-snap-align: start;
  }

  .home-recommended-business-thumb {
    height: 92px;
  }

  .home-featured-business > div {
    padding: 22px 20px;
  }

  .home-featured-business h3 {
    font-size: clamp(25px, 8vw, 32px);
  }

  .home-featured-business > div > p,
  .home-editor-comment span {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .home-business-recommendation-admin {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .atlas-compact-zones button,
  .home-curated-rotator.is-enhanced .home-featured-business {
    animation: none;
  }
}

@media (max-width: 620px) {
  .business-directory-page #main-content {
    padding-top: 0;
  }
  .business-directory-toolbar {
    padding-top: 16px;
  }
  .business-directory-toolbar-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .business-directory-view-toggle {
    width: 100%;
  }
  .business-directory-view-toggle a {
    flex: 1;
  }
  .business-directory-filter {
    grid-template-columns: 1fr;
  }
  .business-directory-filter .directory-filter-search,
  .business-directory-filter .directory-filter-options {
    grid-column: auto;
  }
  .business-directory-filter > label {
    border-right: 0;
  }
  .business-directory-filter .directory-filter-options {
    align-items: start;
    flex-direction: column;
  }
  .business-filter-reset {
    width: 100%;
    margin-left: 0;
  }
  .business-catalog-grid {
    grid-template-columns: 1fr;
  }
  .business-directory-results-heading {
    align-items: start;
    flex-direction: column;
  }
  .business-map-address-links {
    grid-template-columns: 1fr;
  }
  .business-map-canvas {
    min-height: 420px;
    padding: 16px;
  }
  .business-map-surface {
    min-height: 360px;
  }
  .business-geocode-control {
    grid-template-columns: 1fr;
  }
  .business-province-index.compact,
  .business-district-index.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.business-profile-rail { min-width: 0; border-left: 1px solid var(--line); background: var(--surface); }
.business-profile-rail > section { padding: 30px 26px; border-bottom: 1px solid var(--line); }
.business-profile-rail h2 { margin: 10px 0 18px; font-size: 23px; letter-spacing: -.05em; }
.business-profile-actions { display: grid; gap: 8px; }
.business-profile-actions a { justify-content: center; text-align: center; }
.business-profile-rail-list { display: grid; margin: 0; }
.business-profile-rail-list div { padding: 13px 0; border-top: 1px solid var(--line); }
.business-profile-rail-list dt { margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 900; }
.business-profile-rail-list dd { margin: 0; font-size: 11px; line-height: 1.6; }
.business-profile-section.business-reviews { margin: 0; }
.business-profile-section .business-review-card { margin-bottom: 10px; }

/* BD-3A~3C: member suggestion intake stays separate from public business records. */
.business-suggestion-hero { display: flex; justify-content: space-between; gap: 28px; align-items: flex-end; padding-block: clamp(42px, 7vw, 82px); border-right: 1px solid var(--line); border-left: 1px solid var(--line); }
.business-suggestion-hero h1 { margin: 12px 0 10px; font-size: clamp(42px, 6vw, 72px); line-height: 1; letter-spacing: -.07em; }
.business-suggestion-hero p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.business-suggestion-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .65fr); border: 1px solid var(--line); }
.business-suggestion-layout > div, .business-suggestion-history { min-width: 0; padding: clamp(24px, 4vw, 42px); }
.business-suggestion-history { border-left: 1px solid var(--line); background: var(--surface); }
.business-suggestion-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.business-suggestion-form .business-suggestion-wide { grid-column: 1 / -1; }
.business-suggestion-form fieldset { margin: 0; padding: 18px; border: 1px solid var(--line); }
.business-suggestion-form legend { padding: 0 8px; font-size: 12px; font-weight: 900; }
.business-suggestion-photo legend span { color: var(--muted); font-weight: 700; }
.business-suggestion-photo-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; width: 100%; margin-top: 14px; padding: 10px; border: 1px solid var(--line); background: #fff; }
.business-suggestion-photo-preview figure { min-width: 0; margin: 0; }
.business-suggestion-photo-preview img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: var(--surface); }
.business-suggestion-photo-preview figcaption { overflow: hidden; margin-top: 6px; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.business-suggestion-photo [data-kind="error"] { color: #b42318 !important; }
.business-suggestion-photo [data-kind="success"] { color: #067647 !important; }
.business-request-photo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 16px 0; }
.business-request-photo { margin: 0; padding: 10px; border: 1px solid var(--line); background: #fff; }
.business-request-photo a { display: block; cursor: zoom-in; }
.business-request-photo img { display: block; width: 100%; max-height: 360px; object-fit: contain; }
.business-request-photo figcaption { margin-top: 8px; color: var(--muted); font-size: 12px; font-weight: 800; }
.business-suggestion-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.business-address-search { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); background: var(--surface); }
.business-address-search > label { display: grid; gap: 7px; }
.business-address-search > label > span { font-size: 12px; font-weight: 900; }
.business-address-search input[type="search"] { width: 100%; min-height: 46px; border: 1px solid var(--line); padding: 0 13px; background: var(--paper); color: var(--ink); font: inherit; }
.business-address-search-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.business-address-search p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.business-address-search-status { min-height: 1.6em; color: var(--blue) !important; font-weight: 800; }
.business-address-results { border: 1px solid var(--line); background: var(--paper); }
.business-address-results[hidden] { display: none; }
.business-address-results ul { display: grid; margin: 0; padding: 0; list-style: none; }
.business-address-results li + li { border-top: 1px solid var(--line); }
.business-address-result { width: 100%; display: grid; gap: 5px; padding: 13px 15px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.business-address-result:hover { background: var(--blue-soft); }
.business-address-result strong { font-size: 14px; line-height: 1.5; }
.business-address-result span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.business-suggestion-card { display: grid; gap: 14px; padding: 20px 0; border-top: 1px solid var(--line); }
.business-suggestion-card:first-of-type { border-top: 0; }
.business-suggestion-card header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.business-suggestion-card h3 { margin: 9px 0 4px; font-size: 20px; }
.business-suggestion-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.business-suggestion-card time { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.business-suggestion-operator-note { display: grid; gap: 5px; padding: 12px 14px; background: var(--blue-soft); color: var(--ink) !important; }
.business-request-proposal { display: grid; gap: 8px; margin: 16px 0; padding: 16px; background: var(--surface); }
.business-request-proposal div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
.business-request-proposal dt { color: var(--muted); font-size: 12px; font-weight: 900; }
.business-request-proposal dd { margin: 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.6; }

@media (max-width: 1040px) {
  .business-directory-hero { grid-template-columns: 1fr; }
  .business-directory-hero .directory-filter { grid-template-columns: minmax(15rem, 1.5fr) repeat(2, 1fr); }
  .business-directory-hero .directory-filter button { grid-column: 1 / -1; }
  .business-directory-index { grid-template-columns: 1fr; }
  .business-directory-index > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .business-directory-list-row { grid-template-columns: 48px minmax(12rem, 1fr) minmax(10rem, .8fr) 92px; }
  .business-directory-list-row .business-card-badges { display: none; }
}

@media (max-width: 820px) {
  .business-province-index { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .business-district-index { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .business-directory-featured-grid { grid-template-columns: 1fr; }
  .business-directory-featured-card { display: grid; grid-template-columns: 180px minmax(0, 1fr); }
  .business-directory-featured-art { min-height: 180px; }
  .business-directory-list-row { grid-template-columns: 42px minmax(0, 1fr) 84px; }
  .business-directory-list-row .business-category-list { display: none; }
  .business-profile-hero { grid-template-columns: 1fr; }
  .business-profile-verification-mark { min-height: 120px; border-top: 1px solid var(--line); border-left: 0; }
  .business-profile-index { overflow-x: auto; }
  .business-profile-index strong { min-width: 122px; }
  .business-profile-index a { min-width: 82px; }
  .business-profile-layout { grid-template-columns: 1fr; }
  .business-profile-rail { border-top: 1px solid var(--line); border-left: 0; }
  .business-ops-grid { grid-template-columns: 1fr; }
  .business-suggestion-layout { grid-template-columns: 1fr; }
  .business-suggestion-history { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 620px) {
  .business-directory-hero { gap: 28px; padding: 38px var(--public-content-inline) 24px; }
  .business-directory-hero .directory-filter { grid-template-columns: 1fr 1fr; }
  .business-directory-hero .directory-filter label:first-child { grid-column: 1 / -1; }
  .business-directory-hero .directory-filter button { grid-column: 1 / -1; }
  .business-directory-index > div,
  .business-directory-featured,
  .business-directory-list { padding-right: var(--public-content-inline); padding-left: var(--public-content-inline); }
  .business-directory-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .business-category-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-directory-index-item { min-height: 88px; padding: 14px; }
  .business-region-index { grid-template-columns: 1fr; }
  .business-province-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-district-index { grid-template-columns: 1fr; }
  .business-directory-featured-card { grid-template-columns: 1fr; }
  .business-directory-featured-art { min-height: 150px; }
  .business-suggestion-hero { align-items: flex-start; flex-direction: column; padding: 38px 22px; }
  .business-suggestion-form { grid-template-columns: 1fr; padding: 20px; }
  .business-suggestion-form .business-suggestion-wide { grid-column: auto; }
  .business-suggestion-categories { grid-template-columns: 1fr; }
  .business-suggestion-card header { flex-direction: column; gap: 8px; }
  .business-directory-list-row { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; }
  .business-directory-list-row > .text-link { grid-column: 2; }
  .business-profile-breadcrumb { overflow: hidden; padding-right: 20px; padding-left: 20px; white-space: nowrap; }
  .business-profile-hero > div:first-child { padding: 40px 22px 28px; }
  .business-profile-hero h1 { font-size: 44px; }
  .business-profile-index strong { display: none; }
  .business-profile-section { grid-template-columns: 1fr; gap: 22px; padding: 36px 22px; }
  .business-profile-section-title h2 { font-size: 25px; }
  .business-profile-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-profile-photo-grid > div { min-height: 112px; }
  .business-profile-staff-grid, .business-profile-video-list { grid-template-columns: 1fr; }
  .business-publish-form { grid-template-columns: 1fr; }
  .business-profile-rail > section { padding: 28px 22px; }
}

/* Community video library */
.video-library-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 52px var(--public-content-inline) 40px;
  border-inline: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.video-library-hero > div:first-child { max-width: 780px; }
.video-library-hero h1 { margin: 12px 0 14px; font-size: var(--public-page-title); line-height: 1.06; letter-spacing: -.06em; }
.video-library-hero p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--muted); font-size: clamp(15px, 1.2vw, 16px); line-height: 1.75; }

.video-library-controls {
  padding: 24px var(--public-content-inline);
  border-inline: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface-soft);
}

.video-library-controls form {
  display: grid;
  gap: 14px;
}

.video-filter-primary { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .75fr) auto; gap: 10px; align-items: end; }
.video-filter-advanced > summary { display: none; }
.video-filter-advanced:not([open]) > .video-filter-advanced-fields { display: grid; }
.video-filter-advanced:not([open]) > .video-period-tabs { display: flex; }
.video-filter-advanced-fields { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); gap: 10px; }

.video-library-controls label { display: grid; gap: 7px; font-size: .76rem; font-weight: 800; }
.video-library-controls input,
.video-library-controls select { width: 100%; min-height: 44px; border: 1px solid var(--line-strong); background: #fff; padding: 0 12px; color: var(--ink); }
.video-period-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.video-period-tabs a { border: 1px solid var(--line-strong); background: #fff; padding: 9px 14px; color: var(--ink); font-size: .82rem; font-weight: 800; text-decoration: none; }
.video-period-tabs a.is-current { border-color: var(--blue); background: var(--blue); color: #fff; }

.video-best-strip,
.video-library-section { padding: 38px var(--public-content-inline); border-inline: 1px solid var(--line); }
.video-best-strip { border-bottom: 1px solid var(--line); }
.video-featured-grid,
.video-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.video-library-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.video-library-card { min-width: 0; border: 1px solid var(--line); background: #fff; }
.video-library-card.is-featured { border-color: var(--blue); }
.video-library-thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #0d1730; }
.video-library-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.video-library-thumb:hover img { transform: scale(1.025); }
.video-library-thumb .content-badge { position: absolute; top: 12px; left: 12px; background: #fff; color: var(--ink); }
.video-play-mark { position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 999px; background: var(--blue); color: #fff; transform: translate(-50%, -50%); box-shadow: 0 10px 28px rgb(0 0 0 / .22); }
.video-library-card-body { padding: 18px; }
.video-library-card-body h2 { margin: 8px 0 12px; font-size: 1.08rem; line-height: 1.45; letter-spacing: -.025em; }
.video-library-card-body h2 a { color: inherit; text-decoration: none; }
.video-library-card-body > p:last-of-type { margin: 0; color: var(--muted); font-size: .8rem; }
.video-library-metrics { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }
.video-library-metrics strong { margin-left: auto; color: var(--blue); }

.community-video-url-field small { color: var(--muted); font-weight: 500; }
.video-detail { padding-block: 42px 64px; border-inline: 1px solid var(--line); }
.video-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.video-detail-heading > div { max-width: 860px; }
.video-detail-heading h1 { margin: 12px 0; font-size: clamp(2rem, 4.5vw, 3.8rem); line-height: 1.08; letter-spacing: -.05em; }
.video-detail-heading p:last-child { color: var(--muted); }
.video-detail-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 28px; padding-block: 32px; }
.video-player-panel { min-width: 0; }
.video-embed { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #091226; }
.video-embed iframe { width: 100%; height: 100%; border: 0; }
.video-player-panel > .text-link { display: inline-flex; margin-top: 14px; }
.video-author-note { border: 1px solid var(--line); background: var(--surface-soft); padding: 24px; }
.video-author-note h2 { margin: 10px 0 20px; font-size: 1.5rem; }
.video-author-note .article-body { font-size: .98rem; line-height: 1.8; }
.video-detail > .community-reaction-panel,
.video-detail > .community-comments,
.video-related { margin-top: 26px; }

@media (max-width: 1050px) {
  .video-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .video-filter-primary { grid-template-columns: minmax(200px, 1fr) minmax(140px, .6fr) auto; }
  .video-library-controls form .button-primary { min-height: 44px; }
}

@media (max-width: 760px) {
  .video-library-hero,
  .video-detail-heading { align-items: stretch; flex-direction: column; }
  .video-library-hero { padding-block: 34px 26px; }
  .video-library-hero .admin-actions { width: 100%; }
  .video-library-hero .admin-actions a { flex: 1; }
  .video-filter-primary { grid-template-columns: minmax(0, 1fr) 120px; }
  .video-filter-primary .button-primary { grid-column: 1 / -1; }
  .video-filter-advanced > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; padding: 0 12px; border: 1px solid var(--line-strong); background: #fff; font-size: .82rem; font-weight: 900; cursor: pointer; }
  .video-filter-advanced > summary::after { content: "+"; color: var(--blue); font-size: 18px; }
  .video-filter-advanced[open] > summary::after { content: "−"; }
  .video-filter-advanced:not([open]) > .video-filter-advanced-fields,
  .video-filter-advanced:not([open]) > .video-period-tabs { display: none; }
  .video-filter-advanced-fields { grid-template-columns: 1fr; margin-top: 10px; }
  .video-featured-grid,
  .video-library-grid { grid-template-columns: 1fr; }
  .video-detail-layout { grid-template-columns: 1fr; }
  .video-detail { padding-block: 28px 48px; }
  .video-best-strip,
  .video-library-section { padding-block: 28px; }
}

/* R8-3 local-only advertising layout preview. No network ad is loaded. */
.advertising-preview-wrap { display: grid; gap: 12px; margin-block: 28px; }
.advertising-preview-slot { min-height: 96px; display: grid; grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr) auto; align-items: center; gap: 22px; margin-block: 28px; padding: 22px 26px; border: 1px dashed var(--line-strong); background: repeating-linear-gradient(-45deg, #f7f9fd, #f7f9fd 12px, #f1f4fa 12px, #f1f4fa 24px); color: var(--muted); }
.advertising-preview-slot--home-feed { min-height: 180px; border-inline-style: solid; }
.advertising-preview-slot--article-end { min-height: 140px; max-width: 980px; }
.advertising-preview-slot--section-end { min-height: 112px; }
.advertising-preview-slot strong { color: var(--ink); }
.advertising-preview-slot p { max-width: 660px; margin: 6px 0 0; line-height: 1.65; }
.advertising-preview-slot-kicker { display: grid; justify-items: start; gap: 9px; color: var(--blue); font-size: .68rem; font-weight: 900; letter-spacing: .08em; }
.advertising-preview-slot .content-badge { white-space: nowrap; }
.advertising-preview-slot-copy strong { font-family: var(--heading-font); font-size: clamp(1.05rem, 1.8vw, 1.5rem); }
.advertising-preview-slot-status { font-size: .76rem; font-weight: 800; }
.advertising-preview-consent { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.advertising-preview-consent strong { color: var(--ink); font-size: .84rem; }
.advertising-preview-consent p { margin: 4px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.advertising-preview-consent .admin-actions { flex: 0 0 auto; }
.advertising-preview-consent button { min-height: 40px; }
.advertising-preview-footnote { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.advertising-preview-slot[data-consent="accepted"] { border-style: solid; border-color: var(--blue); }
.advertising-preview-slot[data-consent="rejected"] { opacity: .72; }

@media (max-width: 760px) {
  .advertising-preview-wrap { margin-block: 20px; }
  .advertising-preview-slot { min-height: 76px; grid-template-columns: 1fr; gap: 7px; padding: 14px 16px; }
  .advertising-preview-slot--home-feed { min-height: 116px; }
  .advertising-preview-slot--article-end { min-height: 104px; }
  .advertising-preview-slot--section-end { min-height: 88px; }
  .advertising-preview-slot-kicker { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .advertising-preview-consent { align-items: stretch; flex-direction: column; }
  .advertising-preview-consent .admin-actions { width: 100%; }
  .advertising-preview-consent button { flex: 1; }
}

/* R8 owner-only bundled manual acceptance board. */
.r8-acceptance-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.r8-acceptance-summary span { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 12px 14px; border: 1px solid var(--line); background: var(--surface-soft); font-size: .82rem; font-weight: 800; }
.r8-acceptance-summary strong { color: var(--blue); font-size: 1.2rem; }
.r8-acceptance-group { margin: 20px 0 0; padding: 0; border: 1px solid var(--line); }
.r8-acceptance-group legend { margin-left: 14px; padding: 0 8px; color: var(--blue); font-size: .82rem; font-weight: 900; letter-spacing: .04em; }
.r8-acceptance-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 18px; border-top: 1px solid var(--line); }
.r8-acceptance-item:first-of-type { border-top: 0; }
.r8-acceptance-item p { margin: 5px 0 0; color: var(--muted); line-height: 1.55; }
.r8-acceptance-options { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.r8-acceptance-options label { position: relative; cursor: pointer; }
.r8-acceptance-options input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; }
.r8-acceptance-options span { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--line-strong); background: #fff; font-size: .76rem; font-weight: 800; }
.r8-acceptance-options input:focus-visible + span { outline: 3px solid rgb(22 73 216 / .28); outline-offset: 2px; }
.r8-acceptance-options input:checked + span { border-color: var(--blue); background: var(--blue); color: #fff; }

@media (max-width: 760px) {
  .r8-acceptance-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .r8-acceptance-item { grid-template-columns: 1fr; gap: 12px; padding: 15px; }
  .r8-acceptance-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .r8-acceptance-options span { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.admin-page)::after { content: none !important; }
  .community-site-header::after { animation: none !important; transform: none !important; }
  body:not(.admin-page) main,
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-old(page-main),
  ::view-transition-new(page-main) { animation: none !important; transform: none !important; }
  .atlas-home .atlas-heading > *,
  .atlas-home .atlas-artwork,
  .atlas-home .atlas-detail { animation: none !important; opacity: 1 !important; transform: none !important; }
  body:not(.admin-page):not(.atlas-home) main > :first-child :is(.eyebrow, h1, .page-summary, .page-index),
  body:not(.admin-page) .article-header :is(.eyebrow, h1, .article-summary) {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .motion-reveal,
  .motion-reveal .motion-stagger-item { opacity: 1 !important; transform: none !important; transition: none !important; }
  .atlas-zone { transition: none; }
  .business-profile-photo-open img, .business-profile-photo-open span { transition: none; }
}

@media (max-width: 920px) {
  .atlas-page { padding: 38px 24px 56px; }
  .atlas-layout { grid-template-columns: 1fr; }
  .atlas-artwork, .atlas-artwork > img { min-height: 680px; }
  .atlas-detail { min-height: 520px; border-left: 0; border-top: 1px solid var(--ink); }
  .atlas-detail-number { margin-bottom: 58px; }
}

@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {
  body:not(.admin-page)::after {
    width: clamp(72px, 28vw, 128px);
    animation-duration: 360ms;
  }
  body:not(.admin-page):not(.atlas-home) main > :first-child h1,
  body:not(.admin-page) .article-header h1 { animation-delay: 50ms; }
  body:not(.admin-page):not(.atlas-home) main > :first-child :is(.page-summary, .article-summary),
  body:not(.admin-page) .article-header .article-summary { animation-delay: 100ms; }
  body:not(.admin-page):not(.atlas-home) main > :first-child .page-index { animation-delay: 150ms; }
}

@media (max-width: 600px) {
  .atlas-page { width: min(calc(100% - 28px), var(--max)); padding: 32px var(--public-content-inline) 44px; }
  .atlas-home-page { padding-top: 34px; padding-bottom: 0; }
  .atlas-heading:not(.public-page-intro) h1 { font-size: 39px; line-height: 1.15; }
  .atlas-artwork, .atlas-artwork > img { min-height: 590px; }
  .atlas-zone { min-width: 64px; padding: 7px 8px; }
  .atlas-zone b { font-size: 9px; }
  .atlas-zone-neck, .atlas-zone-chest, .atlas-zone-waist, .atlas-zone-feet { left: 60%; }
  .atlas-zone-arms, .atlas-zone-knees { left: 8%; }
  .atlas-detail { min-height: 0; padding: 30px 22px; }
  .atlas-detail-number { margin-bottom: 42px; font-size: 82px; }
  .atlas-safety { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
}

/* Final public Atlas navigation cascade. */
body:not(.admin-page) .primary-menu a::after { display: block; }
body:not(.admin-page) .primary-menu a.is-active { color: #fff; }
body:not(.admin-page) .primary-menu a.is-active::after { background: #fff; }
/* Body Atlas taxonomy and two-level category navigation */
.atlas-scope-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: var(--shell, 1240px);
  margin: 0 auto;
  padding: 20px 24px;
  border: 1px solid var(--line, #cbd5e1);
  border-left: 5px solid var(--blue, #1f4ed8);
  background: #f4f7ff;
}
.atlas-scope-banner div { display: grid; gap: 4px; }
.atlas-scope-banner span { color: var(--blue, #1f4ed8); font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.atlas-scope-banner strong { font-size: clamp(22px, 2vw, 30px); }
.atlas-scope-banner p { margin: 0; color: var(--muted, #596579); }
.atlas-scope-banner a { color: var(--blue, #1f4ed8); font-weight: 800; white-space: nowrap; }

.news-categories { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; overflow: visible; }
.news-categories .news-all-link { min-height: 42px; display: inline-flex; align-items: center; border: 1px solid var(--line, #d7deea); }
.news-topic-tree { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.news-topic-group { min-width: 0; border: 1px solid var(--line, #d7deea); background: #fff; }
.news-topic-group > summary { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; color: var(--ink); font-size: 12px; font-weight: 900; cursor: pointer; list-style: none; }
.news-topic-group > summary::-webkit-details-marker { display: none; }
.news-topic-group > summary::after { content: "+"; color: var(--blue); font-size: 16px; line-height: 1; }
.news-topic-group[open] > summary::after { content: "−"; }
.news-topic-group > summary small { margin-left: auto; color: var(--muted); font-size: 10px; font-weight: 800; }
.news-topic-group > div { display: flex; flex-wrap: wrap; gap: 4px; padding: 0 8px 8px; border-top: 1px solid var(--line, #d7deea); }
.news-topic-group > div a { margin-top: 8px; border: 1px solid transparent; padding: 7px 9px; }
.news-topic-empty { margin: 9px 0 1px; color: var(--muted); font-size: 11px; }
.news-atlas-group { margin-top: 8px; }
.news-atlas-group .atlas-region-filter { margin: 0; }
.atlas-region-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line, #d7deea);
}
.atlas-region-filter a {
  border: 1px solid var(--line, #d7deea);
  padding: 7px 10px;
  font-size: 12px;
}
.atlas-region-filter a.is-active { border-color: var(--blue, #1f4ed8); background: var(--blue, #1f4ed8); color: #fff; }

.atlas-region-admin-fields { margin-top: 16px; }
.atlas-region-admin-field { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line, #d7deea); }
.atlas-region-admin-field legend { padding: 0 6px; font-weight: 800; }
.atlas-region-admin-field legend small { color: var(--muted, #596579); font-weight: 600; }
.atlas-region-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.atlas-region-checks label { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line, #d7deea); background: #fff; }
.atlas-region-checks input { inline-size: 16px; block-size: 16px; }
.atlas-region-admin-field > small { display: block; margin-top: 10px; color: var(--muted, #596579); }

@media (max-width: 720px) {
  .atlas-scope-banner { align-items: flex-start; flex-direction: column; margin-inline: 16px; }
  .news-categories { grid-template-columns: 1fr; margin-inline: 0; padding-inline: 0; }
  .news-categories .news-all-link { justify-content: center; }
  .news-topic-tree { grid-template-columns: 1fr; }
  .news-topic-group { width: 100%; }
  .atlas-region-checks label { flex: 1 1 calc(50% - 8px); }
}
.news-series-workspace {
  display: grid;
  gap: var(--space-5, 24px);
}

.news-series-create-form,
.news-series-editor {
  padding: clamp(16px, 2vw, 28px);
  border: 1px solid var(--line, #ccd5e4);
  background: var(--panel, #f7f9fc);
}

.news-series-items {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}

.news-series-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--line, #ccd5e4);
  background: #fff;
}

.news-series-item.is-dragging { opacity: .45; }
.news-series-item > div:nth-child(2) { display: grid; gap: 4px; min-width: 0; }
.news-series-item > div:nth-child(2) strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.news-series-item > div:nth-child(2) span,
.news-series-item > div:nth-child(2) small { color: var(--muted, #536178); }

.news-series-drag-handle {
  width: 40px;
  height: 40px;
  border: 1px solid var(--ink, #101827);
  background: #fff;
  cursor: grab;
  font: inherit;
}

.news-series-drag-handle:active { cursor: grabbing; }

.edit-context-routing {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  margin-top: 12px;
}

.edit-context-routing label { display: grid; gap: 5px; min-width: 180px; }
.edit-context-routing label span { font-size: .8rem; font-weight: 700; }
.edit-context-routing select { min-height: 42px; border: 1px solid var(--line, #ccd5e4); background: #fff; padding: 0 10px; }

.news-series-filter {
  display: grid;
  gap: 4px;
}

.news-series-filter a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.news-series-scope { border-color: var(--blue, #1f4ed8); }

@media (max-width: 760px) {
  .news-series-item { grid-template-columns: auto minmax(0, 1fr); }
  .news-series-item .admin-row-actions { grid-column: 1 / -1; }
  .edit-context-routing { align-items: stretch; }
  .edit-context-routing label,
  .edit-context-routing button { width: 100%; }
}

/* Business profile v2: image-led, count-aware practitioner and venue layout. */
.business-profile-hero-v2 {
  min-height: 0;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .8fr) 268px;
  border-bottom: 1px solid var(--line);
}

.business-profile-hero-v2 .business-profile-hero-copy {
  display: grid;
  align-content: center;
  padding: clamp(20px, 2.25vw, 30px);
}

.business-profile-hero-v2 h1 {
  max-width: 900px;
  margin: 8px 0 10px;
  font-size: clamp(32px, 3.1vw, 46px);
  line-height: 1.02;
}

.business-profile-hero-v2 .business-profile-hero-copy > p:not(.eyebrow) {
  display: -webkit-box;
  overflow: hidden;
  max-width: 52rem;
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.business-profile-hero-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin-top: 12px;
}

.business-profile-hero-v2 .business-card-badges { margin-top: 0; }
.business-profile-hero-v2 .business-category-list { margin: 0; }

.business-profile-hero-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 10px 0 0;
  border-top: 1px solid var(--line);
}

.business-profile-hero-facts > div {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.business-profile-hero-facts > div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.business-profile-hero-facts dt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--blue);
  font-weight: 900;
}
.business-profile-hero-facts dt img { width: 14px; height: 14px; }
.business-profile-hero-facts dd { margin: 0; }

.business-profile-hero-image {
  position: relative;
  display: grid;
  min-height: 228px;
  place-items: center;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
}

button.business-profile-hero-image { cursor: zoom-in; }
.business-profile-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; background: #fff; transition: transform .24s ease; }
.business-profile-hero-image > span { position: absolute; right: 14px; bottom: 14px; padding: 7px 9px; background: rgba(16, 24, 40, .84); color: #fff; font-size: 10px; font-weight: 900; opacity: 0; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease; }
.business-profile-hero-image:hover img,
.business-profile-hero-image:focus-visible img { transform: scale(1.015); }
.business-profile-hero-image:hover > span,
.business-profile-hero-image:focus-visible > span { opacity: 1; transform: translateY(0); }
.business-profile-hero-image.is-empty { align-content: center; gap: 12px; padding: 30px; background: linear-gradient(145deg, #1649d8 0 62%, #b9cdfd 62% 100%); color: #fff; text-align: center; }
.business-profile-hero-image.is-empty span { position: static; padding: 0; background: transparent; font-size: 10px; letter-spacing: .14em; opacity: 1; transform: none; }
.business-profile-hero-image.is-empty strong { font-size: 20px; }

.business-profile-contact-actions {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px;
  border-left: 1px solid var(--line);
  background: #fff;
}

.business-profile-contact-heading {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.business-profile-contact-heading > span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.business-profile-contact-heading h2 {
  margin: 7px 0 4px;
  font-size: 22px;
  letter-spacing: -.04em;
  line-height: 1.15;
}

.business-profile-contact-heading p,
.business-profile-contact-note {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.6;
}

.business-profile-action-button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border: 1px solid #9bb6ff;
  background: #fff;
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.business-profile-action-button.is-naver {
  min-height: 64px;
  justify-content: flex-start;
  gap: 11px;
  padding: 12px 14px;
  border: 2px solid #03c75a;
  color: #08743a;
}

.business-profile-action-button.is-naver:hover,
.business-profile-action-button.is-naver:focus-visible {
  border-color: #03a94c;
  background: #f1fff7;
  color: #075c30;
}

.business-profile-action-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: left;
}

.business-profile-action-copy strong { font-size: 12px; }
.business-profile-action-copy small { color: #3f7958; font-size: 9px; font-weight: 700; }

.business-profile-action-button:hover,
.business-profile-action-button:focus-visible {
  border-color: var(--blue);
  background: #edf3ff;
  color: var(--blue);
  transform: translateY(-1px);
}

.business-profile-action-button img {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.business-profile-action-button.is-naver img { width: 25px; height: 25px; }

.business-profile-phone-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.business-profile-phone-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.business-profile-phone-meta > span:last-child { display: grid; gap: 3px; min-width: 0; }
.business-profile-phone-meta small { color: var(--muted); font-size: 9px; }
.business-profile-phone-meta strong { overflow-wrap: anywhere; font-size: 12px; }

.business-profile-phone-icon {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #a8b9e8;
  background: #fff;
}

.business-profile-phone-icon img {
  width: 19px;
  height: 19px;
  filter: invert(28%) sepia(85%) saturate(4404%) hue-rotate(221deg) brightness(88%) contrast(97%);
}

.business-profile-phone-card .business-profile-action-button.is-phone {
  min-height: 50px;
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  font-size: 12px;
}

.business-profile-phone-card .business-profile-action-button.is-phone:hover,
.business-profile-phone-card .business-profile-action-button.is-phone:focus-visible {
  background: #123db7;
  color: #fff;
}

.business-profile-phone-card.is-disabled { color: #7d8798; }

.business-profile-action-button.is-phone img,
.business-profile-action-button.is-website img { filter: invert(28%) sepia(85%) saturate(4404%) hue-rotate(221deg) brightness(88%) contrast(97%); }
.business-profile-phone-card .business-profile-action-button.is-phone img { filter: brightness(0) invert(1); }

.business-profile-action-button.is-manager {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.business-profile-action-button.is-manager:hover,
.business-profile-action-button.is-manager:focus-visible {
  background: #123db7;
  color: #fff;
}

.business-profile-action-button.is-manager img { filter: brightness(0) invert(1); }

.business-profile-action-button.is-disabled {
  border-color: #d5dce9;
  background: #f6f8fb;
  color: #7d8798;
  cursor: not-allowed;
}

.business-profile-action-button.is-disabled img { opacity: .55; }
.business-profile-mobile-call { display: none; }

.business-profile-v2 {
  padding: 0;
  border-right: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.business-profile-showcase-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .85fr) minmax(250px, .65fr);
}

.business-profile-showcase-panel {
  min-width: 0;
  padding: clamp(24px, 3vw, 38px);
  border-bottom: 1px solid var(--line);
}

.business-profile-showcase-panel + .business-profile-showcase-panel { border-left: 1px solid var(--line); }
.business-profile-showcase-panel > header,
.business-profile-review-panel > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}

.business-profile-showcase-panel > header h2,
.business-profile-review-panel > header h2,
.business-profile-support-card h2 {
  margin: 6px 0 0;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -.055em;
}

.business-profile-showcase-panel > header > span,
.business-profile-review-panel > header > span {
  color: var(--blue);
  font-size: 11px;
  font-weight: 900;
}

.business-profile-panel-note { margin: -8px 0 18px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.business-profile-poster-grid { display: grid; gap: 12px; align-items: start; }
.business-profile-poster-grid[data-visible-count="1"] { grid-template-columns: minmax(0, 440px); }
.business-profile-poster-grid[data-visible-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.business-profile-poster-grid[data-visible-count="3"],
.business-profile-poster-grid[data-visible-count="4"],
.business-profile-poster-grid[data-visible-count="5"],
.business-profile-poster-grid[data-visible-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.business-profile-poster-card,
.business-profile-space-card {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--line);
  background: #fff;
}

.business-profile-poster-card .business-profile-photo-open {
  aspect-ratio: 3 / 4;
  background: #f3f5f8;
}

.business-profile-poster-card .business-profile-photo-open img,
.business-profile-space-card .business-profile-photo-open img { object-fit: contain; }

.business-profile-poster-caption {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.business-profile-poster-card figcaption {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.business-profile-poster-card figcaption strong,
.business-profile-poster-caption strong { font-size: 14px; }
.business-profile-poster-card figcaption span,
.business-profile-poster-caption span { color: var(--muted); font-size: 10px; }
.business-profile-poster-card figcaption a { margin-top: 4px; color: var(--blue); font-size: 10px; font-weight: 900; }
.business-profile-poster-placeholder { display: grid; min-height: 260px; align-content: space-between; padding: 18px; background: linear-gradient(135deg, #f3f6fb 0 68%, #dbe5fb 68%); }
.business-profile-poster-placeholder span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.business-profile-poster-placeholder strong { font-size: 16px; }

.business-profile-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 18px;
}

.business-profile-pagination a {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.business-profile-pagination a[aria-current="page"],
.business-profile-pagination a:hover,
.business-profile-pagination a:focus-visible { border-color: var(--blue); background: var(--blue); color: #fff; }

.business-profile-space-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.business-profile-space-grid > .business-profile-empty { grid-column: 1 / -1; }
.business-profile-space-card .business-profile-photo-open { aspect-ratio: 4 / 3; }
.business-profile-space-card figcaption { padding: 9px 10px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.business-profile-empty { display: grid; min-height: 170px; align-content: center; gap: 6px; padding: 18px; border: 1px solid var(--line); background: var(--surface); }
.business-profile-empty.compact { min-height: 90px; }
.business-profile-empty strong { font-size: 14px; }
.business-profile-empty p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }

.business-profile-operations { background: var(--surface); }
.business-profile-operations .business-profile-rail-list div:first-child { border-top: 0; }
.business-profile-inline-map { margin-top: 20px; }
.business-profile-inline-map .business-map-canvas { min-height: 240px; padding: 10px; }
.business-profile-inline-map .business-map-surface { min-height: 220px; }
.business-profile-map-fallback { display: grid; min-height: 220px; align-content: center; gap: 8px; padding: 20px; border: 1px solid var(--line); background: #fff; text-align: center; }
.business-profile-map-fallback strong { font-size: 12px; }
.business-profile-map-fallback p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.business-profile-operations > .text-link { display: inline-block; margin-top: 12px; }

.business-profile-review-panel {
  padding: clamp(26px, 3.6vw, 44px);
  border-bottom: 1px solid var(--line);
}

.business-profile-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.business-profile-review-list .business-review-card { margin: 0; }
.business-profile-review-panel #business-review-actions { margin-top: 16px; }
.business-review-login {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  background: #fff;
}
.business-review-login p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.business-review-login .button-primary { flex: 0 0 auto; }

@media (max-width: 640px) {
  .business-review-login { align-items: stretch; flex-direction: column; }
  .business-review-login .button-primary { text-align: center; }
}

.business-profile-support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.business-profile-support-card { min-width: 0; padding: 28px; border-bottom: 1px solid var(--line); }
.business-profile-support-card + .business-profile-support-card { border-left: 1px solid var(--line); }
.business-profile-support-card > p:not(.section-label) { margin: 16px 0 0; color: var(--muted); font-size: 11px; line-height: 1.75; }
.business-profile-support-card dl { display: grid; margin: 16px 0 0; }
.business-profile-support-card dl div { display: grid; gap: 5px; padding: 10px 0; border-top: 1px solid var(--line); }
.business-profile-support-card dt { color: var(--muted); font-size: 9px; font-weight: 900; }
.business-profile-support-card dd { margin: 0; font-size: 11px; line-height: 1.55; }
.business-profile-support-card .business-profile-video-list { grid-template-columns: 1fr; }
.business-profile-video-card { padding: 14px !important; }
.business-profile-video-card > span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.business-profile-video-card h3 { margin: 8px 0 !important; font-size: 15px !important; }
.business-profile-video-card p { margin: 0 0 10px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.business-profile-video-card a { color: var(--blue); font-size: 10px; font-weight: 900; }
.business-profile-post-list { display: grid; gap: 12px; margin-top: 16px; }
.business-profile-post-card { padding: 15px; border: 1px solid var(--line); background: #fff; }
.business-profile-post-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.business-profile-post-card header small { color: var(--muted); font-size: 9px; }
.business-profile-post-card h3 { margin: 12px 0 8px; font-size: 15px; line-height: 1.45; }
.business-profile-post-card p { margin: 0; color: var(--text); font-size: 11px; line-height: 1.75; }

@media (max-width: 1120px) {
  .business-profile-hero-v2 { grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
  .business-profile-contact-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .business-profile-contact-heading,
  .business-profile-contact-note { grid-column: 1 / -1; }
  .business-profile-showcase-grid { grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
  .business-profile-operations { grid-column: 1 / -1; border-top: 0; border-left: 0 !important; }
  .business-profile-operations { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 24px; }
  .business-profile-operations > header { grid-column: 1 / -1; }
  .business-profile-operations > .text-link { align-self: end; }
  .business-profile-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-profile-support-card:nth-child(3) { border-left: 0; }
}

@media (max-width: 820px) {
  .business-profile-hero-v2 { grid-template-columns: 1fr; }
  .business-profile-hero-image { min-height: 280px; border-top: 1px solid var(--line); border-left: 0; }
  .business-profile-contact-actions { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-profile-contact-heading,
  .business-profile-contact-note { grid-column: 1 / -1; }
  .business-profile-showcase-grid { grid-template-columns: 1fr; }
  .business-profile-showcase-panel + .business-profile-showcase-panel { border-left: 0; }
  .business-profile-operations { display: block; grid-column: auto; }
  .business-profile-poster-grid[data-visible-count="3"],
  .business-profile-poster-grid[data-visible-count="4"],
  .business-profile-poster-grid[data-visible-count="5"],
  .business-profile-poster-grid[data-visible-count="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .business-profile-review-list { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .business-profile-hero.business-profile-hero-v2 > .business-profile-hero-copy {
    padding: 24px 22px 26px;
  }
  .business-profile-hero-v2 h1 {
    margin: 8px 0 10px;
    font-size: clamp(32px, 10.5vw, 40px);
  }
  .business-profile-hero-v2 .business-card-badges { margin-top: 14px; }
  .business-profile-hero-facts { margin-top: 14px; }
  .business-profile-hero-image { min-height: 200px; }
  .business-profile-hero-facts { grid-template-columns: 1fr; }
  .business-profile-hero-facts > div + div { padding-left: 0; border-left: 0; }
  .business-profile-contact-actions { grid-template-columns: 1fr; padding: 16px 22px 22px; }
  .business-profile-contact-heading,
  .business-profile-contact-note { display: none; }
  .business-profile-phone-card { display: none; }
  .business-profile-action-button.is-naver { min-height: 58px; }
  .business-profile-mobile-call {
    position: fixed;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 90;
    display: block;
    padding: 10px;
    border: 1px solid var(--line);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 14px 36px rgba(16, 24, 40, .22);
  }
  .business-profile-mobile-call a {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--blue);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
  }
  .business-profile-mobile-call img { width: 19px; height: 19px; filter: brightness(0) invert(1); }
  body:has(.business-profile-mobile-call) { padding-bottom: 76px; }
  .business-profile-poster-grid[data-visible-count],
  .business-profile-space-grid,
  .business-profile-support-grid { grid-template-columns: 1fr; }
  .business-profile-support-card + .business-profile-support-card { border-left: 0; }
  .business-profile-poster-placeholder { min-height: 230px; }
}

/* Administrator reboot: guided workflow shell (option 2). */
body.admin-page.admin-reboot {
  --admin-sidebar-width: 248px;
  --admin-topbar-height: 66px;
  min-height: 100vh;
  overflow-x: hidden;
  background: #f3f6fb;
  color: #101828;
}

.admin-reboot > .site-header[hidden],
.admin-reboot .admin-reboot-controller {
  display: none !important;
}

.admin-reboot-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 90;
  width: var(--admin-sidebar-width);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  background: #0c1730;
  color: #fff;
  box-shadow: 10px 0 32px rgba(15, 27, 54, .12);
}

.admin-reboot-brand {
  min-height: var(--admin-topbar-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px 11px 16px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.admin-reboot-brand > a {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.admin-reboot-brand-mark {
  width: 34px;
  height: 34px;
  flex: none;
  display: grid;
  place-items: center;
  border: 1px solid #5f87ff;
  background: #1f4ed8;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
}

.admin-reboot-brand strong,
.admin-reboot-brand small {
  display: block;
}

.admin-reboot-brand strong {
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-reboot-brand small {
  margin-top: 4px;
  color: #8fa7d8;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}

.admin-reboot-brand button {
  display: none;
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.28);
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
}

.admin-reboot-sidebar > nav {
  min-height: 0;
  overflow-y: auto;
  padding: 13px 9px 22px;
  scrollbar-width: thin;
  scrollbar-color: #37517e transparent;
}

.admin-reboot-nav-group {
  border: 0;
}

.admin-reboot-nav-group + .admin-reboot-nav-group {
  margin-top: 5px;
}

.admin-reboot-nav-group > summary {
  list-style: none;
  cursor: pointer;
  padding: 9px 10px 7px;
  color: #8298c0;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-reboot-nav-group > summary::-webkit-details-marker {
  display: none;
}

.admin-reboot-nav-group > summary::after {
  content: "+";
  float: right;
  color: #5f78a8;
  font-size: 13px;
}

.admin-reboot-nav-group[open] > summary::after {
  content: "−";
}

.admin-reboot-nav-group > div {
  display: grid;
  gap: 3px;
}

.admin-reboot-nav-link {
  position: relative;
  display: grid;
  gap: 2px;
  min-height: 48px;
  padding: 8px 12px 8px 15px;
  border: 1px solid transparent;
  color: #dce6fa;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.admin-reboot-nav-link::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 5px;
  width: 2px;
  background: transparent;
}

.admin-reboot-nav-link > span {
  font-size: 12px;
  font-weight: 800;
}

.admin-reboot-nav-link > small {
  overflow: hidden;
  color: #7f96bd;
  font-size: 9px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-reboot-nav-link:hover,
.admin-reboot-nav-link:focus-visible {
  border-color: #385587;
  background: #14264a;
  color: #fff;
  outline: 0;
}

.admin-reboot-nav-link.is-active {
  border-color: #456fe0;
  background: #1a3f99;
  color: #fff;
}

.admin-reboot-nav-link.is-active::before {
  background: #8aa8ff;
}

.admin-reboot-nav-link.is-active > small {
  color: #c5d3f4;
}

.admin-reboot-sidebar-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255,255,255,.12);
}

.admin-reboot-sidebar-footer a {
  min-height: 48px;
  display: grid;
  place-items: center;
  padding: 8px;
  color: #b6c7e7;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.admin-reboot-sidebar-footer a + a {
  border-left: 1px solid rgba(255,255,255,.12);
}

.admin-reboot-sidebar-footer a:hover {
  background: #182c54;
  color: #fff;
}

.admin-reboot-topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: var(--admin-sidebar-width);
  z-index: 80;
  min-height: var(--admin-topbar-height);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 0 clamp(20px, 2.8vw, 42px);
  border-bottom: 1px solid #d7dfec;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(12px);
}

.admin-reboot-menu-button {
  display: none;
}

.admin-reboot-breadcrumb {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12px;
}

.admin-reboot-breadcrumb span {
  color: #6c7890;
  font-weight: 700;
}

.admin-reboot-breadcrumb span::after {
  content: "/";
  margin-left: 9px;
  color: #b0bacb;
}

.admin-reboot-breadcrumb strong {
  overflow: hidden;
  color: #14203a;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-reboot-top-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.admin-reboot-save-note {
  color: #758198;
  font-size: 10px;
  font-weight: 700;
}

.admin-reboot-top-actions a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 1px solid #17345f;
  color: #17345f;
  font-size: 10px;
  font-weight: 900;
}

.admin-reboot-top-actions a:hover {
  background: #17345f;
  color: #fff;
}

.admin-reboot-top-actions .admin-reboot-wiki-action {
  border-color: #1d4ed8;
  background: #1d4ed8;
  color: #fff;
  box-shadow: 0 5px 14px rgba(29, 78, 216, .2);
}

.admin-reboot-top-actions .admin-reboot-wiki-action:hover,
.admin-reboot-top-actions .admin-reboot-wiki-action:focus-visible {
  border-color: #123aa8;
  background: #123aa8;
  color: #fff;
  outline: 2px solid rgba(29, 78, 216, .24);
  outline-offset: 2px;
}

.admin-reboot-backdrop {
  display: none;
}

.admin-reboot > main.admin-shell {
  width: auto;
  max-width: none;
  min-height: 100vh;
  margin: 0 0 0 var(--admin-sidebar-width);
  padding: calc(var(--admin-topbar-height) + 26px) clamp(22px, 3.2vw, 46px) 72px;
  background: #f3f6fb;
}

.admin-reboot > main.admin-shell > .admin-intro {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr);
  align-items: end;
  gap: 28px;
  margin: 0;
  padding: 24px 28px;
  border: 1px solid #d8e0ed;
  background: #fff;
}

.admin-reboot > main.admin-shell > .admin-intro .eyebrow {
  grid-column: 1;
  margin: 0 0 7px;
  font-size: 9px;
}

.admin-reboot > main.admin-shell > .admin-intro h1 {
  grid-column: 1;
  max-width: none;
  margin: 0;
  font-size: clamp(27px, 3vw, 39px);
  line-height: 1.12;
  letter-spacing: -.05em;
}

.admin-reboot > main.admin-shell > .admin-intro > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  max-width: 720px;
  margin: 0;
  color: #5d6878;
  font-size: 12px;
  line-height: 1.75;
}

.admin-guided-workflow {
  margin: 14px 0 20px;
  border: 1px solid #cbd6e7;
  background: #fff;
}

.admin-guided-workflow-heading {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(280px, 1.45fr);
  align-items: center;
  gap: 20px;
  padding: 14px 18px;
  border-bottom: 1px solid #dce3ed;
}

.admin-guided-workflow-heading > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.admin-guided-workflow-heading span {
  color: #1d4ed8;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
}

.admin-guided-workflow-heading strong {
  color: #111c33;
  font-size: 15px;
}

.admin-guided-workflow-heading p {
  margin: 0;
  color: #68748a;
  font-size: 10px;
  line-height: 1.6;
}

.admin-guided-workflow ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-guided-workflow li {
  min-width: 0;
  border-right: 1px solid #dce3ed;
}

.admin-guided-workflow li:last-child {
  border-right: 0;
}

.admin-guided-workflow a {
  min-height: 57px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  color: #536079;
  font-size: 11px;
  transition: background 160ms ease, color 160ms ease;
}

.admin-guided-workflow a > span {
  color: #8b98ae;
  font-size: 9px;
}

.admin-guided-workflow a > strong {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-guided-workflow li.is-current a,
.admin-guided-workflow a:hover {
  background: #1d4ed8;
  color: #fff;
}

.admin-guided-workflow li.is-current a > span,
.admin-guided-workflow a:hover > span {
  color: #c9d7ff;
}

.admin-reboot .admin-panel,
.admin-reboot .admin-layout,
.admin-reboot .admin-community-console-nav {
  margin-top: 14px;
  border-color: #d5deeb;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
}

.admin-reboot .admin-panel {
  padding: clamp(20px, 2.4vw, 32px);
}

.admin-reboot .admin-panel-heading {
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dce3ed;
}

.admin-reboot .admin-panel-heading h2,
.admin-reboot .admin-layout h2 {
  font-size: clamp(20px, 2vw, 27px);
  line-height: 1.2;
}

.admin-reboot .admin-step,
.admin-reboot .section-label {
  color: #1d4ed8;
  font-size: 9px;
  letter-spacing: .1em;
}

.admin-reboot :where(input, select, textarea) {
  border-color: #cbd5e3;
  background: #fff;
}

.admin-reboot :where(input, select, textarea):focus {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, .11);
  outline: 0;
}

.admin-reboot :where(.button-primary, button.button-primary) {
  background: #1d4ed8;
}

.admin-reboot :where(.button-primary, button.button-primary):hover {
  background: #123aa8;
}

.admin-reboot .admin-community-console-nav {
  position: static;
  top: auto;
}

.admin-reboot .admin-tool-grid,
.admin-reboot .community-risk-grid {
  gap: 12px;
}

.admin-reboot .admin-status {
  margin-block: 12px;
}

.admin-reboot .business-layout-canvas {
  gap: 16px;
}

@media (max-width: 1080px) {
  body.admin-page.admin-reboot {
    --admin-sidebar-width: 224px;
  }
  .admin-reboot-save-note {
    display: none;
  }
  .admin-reboot > main.admin-shell {
    padding-inline: 22px;
  }
  .admin-guided-workflow-heading {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 820px) {
  body.admin-page.admin-reboot {
    --admin-sidebar-width: min(290px, 86vw);
    --admin-topbar-height: 58px;
  }
  .admin-reboot-sidebar {
    transform: translateX(-105%);
    transition: transform 220ms ease;
  }
  .admin-reboot-nav-open .admin-reboot-sidebar {
    transform: translateX(0);
  }
  .admin-reboot-brand button {
    display: inline-flex;
    align-items: center;
  }
  .admin-reboot-topbar {
    left: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    padding-inline: 14px;
  }
  .admin-reboot-menu-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid #17345f;
    background: #fff;
    color: #17345f;
    font: inherit;
    font-size: 10px;
    font-weight: 900;
  }
  .admin-reboot-top-actions a {
    padding-inline: 9px;
  }
  .admin-reboot-backdrop {
    position: fixed;
    inset: 0;
    z-index: 85;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(5, 13, 30, .52);
  }
  .admin-reboot-nav-open .admin-reboot-backdrop {
    display: block;
  }
  .admin-reboot > main.admin-shell {
    margin-left: 0;
    padding: calc(var(--admin-topbar-height) + 15px) 14px 54px;
  }
  .admin-reboot > main.admin-shell > .admin-intro {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px;
  }
  .admin-reboot > main.admin-shell > .admin-intro .eyebrow,
  .admin-reboot > main.admin-shell > .admin-intro h1,
  .admin-reboot > main.admin-shell > .admin-intro > p:last-child {
    grid-column: 1;
    grid-row: auto;
  }
  .admin-guided-workflow ol {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .admin-guided-workflow li {
    min-width: 132px;
    scroll-snap-align: start;
  }
  .admin-reboot .admin-panel {
    padding: 20px 16px;
  }
}

@media (max-width: 520px) {
  .admin-reboot-top-actions a {
    display: none;
  }
  .admin-reboot-top-actions .admin-reboot-wiki-action {
    display: inline-flex;
    padding-inline: 10px;
  }
  .admin-reboot-breadcrumb span {
    display: none;
  }
  .admin-reboot-breadcrumb strong {
    font-size: 11px;
  }
  .admin-guided-workflow-heading {
    padding: 12px 14px;
  }
  .admin-guided-workflow-heading > div {
    display: grid;
    gap: 3px;
  }
  .admin-reboot .admin-community-console-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-reboot-sidebar,
  .admin-reboot-nav-link,
  .admin-guided-workflow a {
    transition: none;
  }
}

/* Administrator home option 1: compact operating dashboard. */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

body.admin-page.admin-reboot {
  --admin-sidebar-width: 232px;
}

.admin-reboot-primary-nav {
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 18px 12px !important;
}

.admin-reboot-nav-link {
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 55px;
  padding: 8px 10px;
}

.admin-reboot-nav-link::before {
  display: none;
}

.admin-reboot-nav-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(83%) sepia(13%) saturate(724%) hue-rotate(183deg) brightness(93%);
}

.admin-reboot-nav-link > span,
.admin-reboot-utility-link > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.admin-reboot-nav-link > span > strong,
.admin-reboot-utility-link > span > strong {
  color: inherit;
  font-size: 12px;
  font-weight: 800;
}

.admin-reboot-nav-link > span > small,
.admin-reboot-utility-link > span > small {
  overflow: hidden;
  color: #7f96bd;
  font-size: 9px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-reboot-nav-link.is-active .admin-reboot-nav-icon {
  filter: brightness(0) invert(1);
}

.admin-reboot-nav-link.is-active > span > small {
  color: #c5d3f4;
}

.admin-reboot-nav-link.is-owner-wiki {
  border-color: #4f73d9;
  background: linear-gradient(135deg, #17346f 0%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(4, 12, 31, .18);
}

.admin-reboot-nav-link.is-owner-wiki > span > small {
  color: #d6e2ff;
}

.admin-reboot-nav-link.is-owner-wiki .admin-reboot-nav-icon {
  filter: brightness(0) invert(1);
}

.admin-reboot-nav-link.is-owner-wiki:hover,
.admin-reboot-nav-link.is-owner-wiki:focus-visible {
  border-color: #9cb4ff;
  background: linear-gradient(135deg, #1c438f 0%, #2b60e0 100%);
}

.admin-reboot-utility {
  margin: 0 12px 12px;
  border: 1px solid rgba(255, 255, 255, .13);
}

.admin-reboot-utility > summary {
  cursor: pointer;
  padding: 10px 12px;
  color: #9eb0d2;
  font-size: 10px;
  font-weight: 800;
  list-style: none;
}

.admin-reboot-utility > summary::-webkit-details-marker {
  display: none;
}

.admin-reboot-utility > summary::after {
  content: "+";
  float: right;
}

.admin-reboot-utility[open] > summary::after {
  content: "−";
}

.admin-reboot-utility nav {
  max-height: 280px;
  display: grid;
  overflow-y: auto;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.admin-reboot-utility-link {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  color: #c7d5ef;
}

.admin-reboot-utility-link + .admin-reboot-utility-link {
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.admin-reboot-utility-link .admin-reboot-nav-icon {
  width: 17px;
  height: 17px;
}

.admin-reboot-utility-link:hover,
.admin-reboot-utility-link.is-active {
  background: #17366f;
  color: #fff;
}

.admin-reboot > main.admin-shell > .admin-intro {
  grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr);
  align-items: center;
  padding: 28px 32px;
}

.admin-reboot > main.admin-shell > .admin-intro h1 {
  font-size: clamp(28px, 3vw, 40px);
}

.admin-reboot[data-admin-active-area="overview"] > main.admin-shell > .admin-dynamic-tools {
  display: none;
}

.admin-reboot[data-admin-active-area="overview"] > main.admin-shell > .admin-intro {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 24px 0 18px;
  border: 0;
  background: transparent;
}

.admin-reboot[data-admin-active-area="overview"] > main.admin-shell > .admin-intro > p:last-child {
  max-width: 640px;
}

.admin-reboot .overview-panel {
  padding: 0;
  background: transparent;
  border: 0;
}

.admin-home-priority,
.admin-home-recent,
.admin-home-status,
.admin-home-shortcuts,
.admin-home-browser-heading,
.admin-reboot .overview-panel > .content-filters,
.admin-reboot .overview-panel > .content-list,
.admin-reboot .overview-panel > .content-pagination {
  border: 1px solid #d5deeb;
  background: #fff;
}

.admin-home-priority {
  margin-top: 0;
}

.admin-home-priority > header,
.admin-home-recent > header,
.admin-home-status > header,
.admin-home-browser-heading {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 18px;
  border-bottom: 1px solid #dce3ed;
}

.admin-home-priority > header > div,
.admin-home-recent > header > div,
.admin-home-status > header {
  min-width: 0;
}

.admin-home-priority h3,
.admin-home-recent h3,
.admin-home-status h3,
.admin-home-browser-heading h3 {
  margin: 3px 0 0;
  font-size: 17px;
  line-height: 1.2;
}

.admin-home-priority > header p {
  margin: 0;
  color: #68748a;
  font-size: 10px;
}

.admin-home-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 0;
}

.admin-home-action-card {
  width: 100%;
  min-height: 88px;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 0;
  border-right: 1px solid #dce3ed;
  background: #fff;
  color: #14203a;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-home-action-card:last-child {
  border-right: 0;
}

.admin-home-action-card > img {
  width: 22px;
  height: 22px;
}

.admin-home-action-card > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.admin-home-action-card strong {
  font-size: 13px;
}

.admin-home-action-card small {
  overflow: hidden;
  color: #68748a;
  font-size: 9px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-home-action-count {
  color: #1d4ed8;
  font-size: 16px;
  font-weight: 900;
}

.admin-home-action-card[data-priority="primary"] {
  background: #1d4ed8;
  color: #fff;
}

.admin-home-action-card[data-priority="primary"] > img {
  filter: brightness(0) invert(1);
}

.admin-home-action-card[data-priority="primary"] small,
.admin-home-action-card[data-priority="primary"] .admin-home-action-count {
  color: #dbe5ff;
}

.admin-home-action-card:hover,
.admin-home-action-card:focus-visible {
  background: #edf3ff;
  outline: 2px solid #1d4ed8;
  outline-offset: -2px;
}

.admin-home-action-card[data-priority="primary"]:hover,
.admin-home-action-card[data-priority="primary"]:focus-visible {
  background: #123aa8;
}

.admin-home-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(250px, .6fr);
  gap: 14px;
  margin-top: 14px;
}

.admin-home-recent-list {
  min-height: 265px;
}

.admin-home-recent-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 53px;
  padding: 10px 16px;
  border-bottom: 1px solid #e2e7ef;
}

.admin-home-recent-item:last-child {
  border-bottom: 0;
}

.admin-home-recent-item > img {
  width: 19px;
  height: 19px;
}

.admin-home-recent-item > div:nth-child(2) {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(94px, .35fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.admin-home-recent-item span,
.admin-home-recent-item small {
  color: #6d788b;
  font-size: 9px;
}

.admin-home-recent-item strong {
  overflow: hidden;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.admin-home-icon-button,
.admin-home-text-action {
  border: 0;
  background: transparent;
  color: #1d4ed8;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.admin-home-icon-button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #cbd6e7;
}

.admin-home-icon-button img {
  width: 17px;
  height: 17px;
}

.admin-home-status {
  align-self: stretch;
}

.admin-home-status .overview-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  border: 0;
}

.admin-home-status .overview-stat {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 16px;
  border-bottom: 1px solid #e2e7ef;
}

.admin-home-status .overview-stat dt {
  color: #647086;
  font-size: 10px;
}

.admin-home-status .overview-stat dd {
  margin: 0;
}

.admin-home-status .overview-stat strong {
  color: #14203a;
  font-size: 14px;
}

.admin-home-status-link {
  min-height: 43px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 16px;
  color: #1d4ed8;
  font-size: 10px;
  font-weight: 800;
}

.admin-home-status-link img {
  width: 17px;
  height: 17px;
}

.admin-home-shortcuts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 14px;
}

.admin-home-shortcuts > a {
  min-height: 78px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: #14203a;
  border-right: 1px solid #dce3ed;
}

.admin-home-shortcuts > a:last-child {
  border-right: 0;
}

.admin-home-shortcuts img {
  width: 23px;
  height: 23px;
}

.admin-home-shortcuts span {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.admin-home-shortcuts strong {
  font-size: 13px;
}

.admin-home-shortcuts small {
  color: #68748a;
  font-size: 9px;
}

.admin-home-shortcuts > a:hover,
.admin-home-shortcuts > a:focus-visible {
  background: #edf3ff;
  outline: 2px solid #1d4ed8;
  outline-offset: -2px;
}

.admin-home-shortcuts > .admin-home-shortcut-wiki {
  border-color: #9eb4ed;
  background: linear-gradient(135deg, #edf3ff 0%, #f8faff 100%);
  color: #123aa8;
}

.admin-home-shortcuts > .admin-home-shortcut-wiki small {
  color: #435d99;
}

.admin-reboot .overview-panel > .overview-guidance,
.admin-reboot .overview-panel > .dashboard-status {
  margin: 12px 0 0;
}

.admin-home-browser-heading {
  margin-top: 14px;
}

.admin-reboot .overview-panel > .content-filters {
  margin: 0;
  border-top: 0;
}

.admin-reboot .overview-panel > .content-results-summary {
  margin: 0;
  padding: 12px 16px;
  border-right: 1px solid #d5deeb;
  border-left: 1px solid #d5deeb;
  background: #fff;
}

.admin-reboot .overview-panel > .content-list {
  margin: 0;
  border-top: 0;
}

.admin-reboot .overview-panel > .content-pagination {
  margin-top: 0;
  border-top: 0;
}

.business-layout-basic[open] {
  border-color: #9db4e7;
}

.business-layout-form-section:has(.business-contact-field) {
  border-top: 3px solid #1d4ed8;
}

.business-contact-field {
  padding: 12px;
  border: 1px solid #cbd6e7;
  background: #f8faff;
}

.business-contact-field > small {
  display: block;
  margin-top: 7px;
  color: #667085;
  font-size: 10px;
  line-height: 1.5;
}

.business-contact-field.is-naver {
  border-left: 4px solid #03c75a;
  background: #f6fff9;
}

@media (max-width: 1120px) {
  .admin-home-action-grid,
  .admin-home-shortcuts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .admin-home-action-card:nth-child(2),
  .admin-home-shortcuts > a:nth-child(2) {
    border-right: 0;
  }
  .admin-home-action-card:nth-child(-n+2),
  .admin-home-shortcuts > a:nth-child(-n+2) {
    border-bottom: 1px solid #dce3ed;
  }
}

@media (max-width: 820px) {
  .admin-home-overview-grid {
    grid-template-columns: 1fr;
  }
  .admin-home-recent-item > div:nth-child(2) {
    grid-template-columns: 1fr auto;
  }
  .admin-home-recent-item span {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .admin-home-action-grid,
  .admin-home-shortcuts {
    grid-template-columns: 1fr;
  }
  .admin-home-action-card,
  .admin-home-action-card:nth-child(2),
  .admin-home-shortcuts > a,
  .admin-home-shortcuts > a:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid #dce3ed;
  }
  .admin-home-action-card:last-child,
  .admin-home-shortcuts > a:last-child {
    border-bottom: 0;
  }
  .admin-home-recent-item > div:nth-child(2) {
    grid-template-columns: 1fr;
    gap: 3px;
  }
}
/* Business insight hub --------------------------------------------------- */
.business-insight-rich-form {
  margin-block: 1.5rem 2rem;
}
.business-insight-rich-form .business-manager-form-grid { display: block; }
.business-insight-rich-form .business-manager-form-grid > label { display: block; margin-bottom: 1rem; }
.business-insight-body-field { display: block; margin-block: 1rem; }
.business-insight-body-field > span { display: block; margin-bottom: .45rem; font-weight: 800; }
.business-insight-direct-writing-note { margin: 0 0 .75rem; color: #58657c; font-size: .9rem; }
.business-insight-rich-form input[name="title"] {
  width: 100%;
  min-height: 72px;
  padding: 12px 0 18px;
  border: 0;
  border-bottom: 2px solid #cdd6e8;
  border-radius: 0;
  background: transparent;
  font-family: var(--heading-font);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  letter-spacing: -.04em;
}
.business-insight-rich-form input[name="title"]:focus { border-bottom-color: #1649d8; outline: 0; }

.business-insight-import-panel {
  margin-bottom: 1rem;
  border: 1px solid var(--line, #cdd6e8);
  background: #fff;
}
.business-insight-import-panel > summary { padding: .85rem 1rem; font-weight: 800; cursor: pointer; }
.business-insight-import-panel > summary small { margin-left: .35rem; color: #667085; font-weight: 600; }
.business-insight-import-panel-body { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem 1rem; align-items: center; padding: 0 1rem 1rem; }
.business-insight-import-panel-body > p:first-child { grid-column: 1 / -1; color: #58657c; }
.business-insight-import-panel strong,
.business-insight-import-panel p { margin: 0; }
.business-insight-import-panel [data-insight-import-status] { grid-column: 1 / -1; color: #58657c; }
.business-insight-import-panel [data-state="working"] { color: #9a6700; }
.business-insight-import-panel [data-state="success"] { color: #08783e; }
.business-insight-import-panel [data-state="error"] { color: #b42318; font-weight: 700; }

.business-insight-editor-toolbar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .65rem;
  border: 1px solid var(--line, #cdd6e8);
  border-bottom: 0;
  background: #f5f7fb;
}

.business-insight-editor-toolbar select {
  min-height: 2.4rem;
  padding: .4rem .6rem;
  border: 1px solid #c6d0e2;
  background: #fff;
  color: #101828;
  font: inherit;
  font-weight: 700;
}

.business-insight-editor-toolbar button {
  min-width: 2.5rem;
  min-height: 2.4rem;
  padding: .45rem .65rem;
  border: 1px solid #c6d0e2;
  background: #fff;
  color: #101828;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.business-insight-editor-toolbar button:hover,
.business-insight-editor-toolbar button:focus-visible {
  border-color: #1649d8;
  color: #1649d8;
  outline: 2px solid transparent;
}

.business-insight-editor {
  min-height: 32rem;
  border: 1px solid var(--line, #cdd6e8);
  background: #fff;
}

.business-insight-editor-content {
  min-height: 32rem;
  padding: clamp(1.25rem, 4vw, 3rem);
  color: #111827;
  font-size: 1rem;
  line-height: 1.85;
  outline: none;
}

.business-insight-editor-content h2,
.business-insight-editor-content h3 { margin: 1.5em 0 .55em; }
.business-insight-editor-content blockquote { margin: 1.25rem 0; padding-left: 1rem; border-left: 3px solid #1649d8; }
.business-insight-editor-content p.is-editor-empty:first-child::before { color: #758199; content: attr(data-placeholder); float: left; height: 0; pointer-events: none; }
.business-insight-editor-content img { display: block; width: auto; max-width: 100%; max-height: 42rem; margin: 1.25rem auto; object-fit: contain; }
.business-insight-editor-content .business-insight-editor-youtube { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 1.25rem 0; background: #0f172a; }
.business-insight-editor-content .business-insight-editor-youtube iframe { width: 100%; height: 100%; border: 0; }
.business-insight-upload-status { margin: 0; padding: .65rem .8rem; border-inline: 1px solid var(--line, #cdd6e8); color: #58657c; background: #f8fafc; }
.business-insight-upload-status[data-state="working"] { color: #9a6700; }
.business-insight-upload-status[data-state="success"] { color: #08783e; }
.business-insight-upload-status[data-state="error"] { color: #b42318; font-weight: 700; }
.business-insight-editor-fallback { display: none; }

.business-manager-insight-card > small {
  display: block;
  margin-bottom: 1rem;
  color: #65718a;
  overflow-wrap: anywhere;
}

.business-profile-insight-hub {
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid #cbd5e1;
  background: #fff;
}

.business-profile-insight-hub > header,
.business-insight-list-card,
.business-profile-featured-insight,
.business-profile-recent-insight {
  display: grid;
  gap: 1rem;
}

.business-profile-insight-hub > header {
  grid-template-columns: 1fr auto;
  align-items: end;
  margin-bottom: 1.5rem;
}

.business-profile-insight-hub h2,
.business-profile-featured-insight h3,
.business-profile-recent-insight h3 { margin: 0; }

.business-profile-featured-insight {
  grid-template-columns: minmax(15rem, .9fr) minmax(0, 1.1fr);
  align-items: stretch;
  border: 1px solid #172033;
}

.business-profile-featured-insight > div { padding: clamp(1.2rem, 3vw, 2.5rem); align-self: center; }
.business-profile-featured-insight h3 { margin-block: .75rem; font-size: clamp(1.6rem, 3vw, 2.5rem); line-height: 1.15; }

.business-profile-insight-cover,
.business-insight-list-cover,
.business-profile-recent-insight > a,
.business-insight-article-cover {
  display: block;
  min-height: 13rem;
  overflow: hidden;
  background: #eaf0ff;
}

.business-profile-insight-cover img,
.business-insight-list-cover img,
.business-profile-recent-insight img,
.business-insight-article-cover img { width: 100%; height: 100%; object-fit: cover; }

.business-insight-cover-fallback {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  min-height: inherit;
  padding: 1.5rem;
  color: #fff;
  background: #1649d8;
  text-align: center;
}

.business-insight-cover-fallback small { letter-spacing: .12em; }
.business-insight-cover-fallback strong { margin-top: .5rem; font-size: 1.35rem; }

.business-profile-recent-insights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.business-profile-recent-insight { grid-template-rows: 9rem 1fr; border: 1px solid #d7deeb; }
.business-profile-recent-insight > a { min-height: 9rem; }
.business-profile-recent-insight > div { padding: 1rem; }
.business-profile-recent-insight span { color: #1649d8; font-size: .75rem; font-weight: 800; letter-spacing: .08em; }

.business-insight-disclosure {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border-left: 3px solid #1649d8;
  background: #f3f6fc;
  color: #46516a;
}

.business-insight-list {
  display: grid;
  gap: 1rem;
  padding-block: 1rem 4rem;
}

.business-insight-list-card {
  grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
  border: 1px solid #d7deeb;
  background: #fff;
}

.business-insight-list-card > div { align-self: center; padding: 1.5rem; }
.business-insight-list-card h2 { margin-block: .7rem; }

.business-insight-article { max-width: 72rem; padding-block: 2rem 5rem; }
.business-insight-article > header { max-width: 52rem; margin-bottom: 2rem; }
.business-insight-article > header h1 { margin-block: .75rem; font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1.08; }
.business-insight-article-cover { max-height: 34rem; margin-bottom: 2rem; }
.business-insight-article-body { max-width: 48rem; margin-inline: auto; font-size: 1.125rem; line-height: 1.9; }
.business-insight-inline-image { margin: 2rem 0; }
.business-insight-inline-image img { display: block; width: auto; max-width: 100%; max-height: 52rem; margin-inline: auto; object-fit: contain; }
.business-insight-inline-image figcaption,
.business-insight-youtube figcaption { margin-top: .6rem; color: #667085; font-size: .875rem; text-align: center; }
.business-insight-youtube { margin: 2rem 0; }
.business-insight-youtube > div { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #0f172a; }
.business-insight-youtube iframe { width: 100%; height: 100%; border: 0; }
.business-insight-article > footer { display: flex; flex-wrap: wrap; gap: .75rem; max-width: 48rem; margin: 2rem auto 0; }

.global-business-insights { margin-block: 3rem; }
.global-business-insight-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #cbd5e1; border: 1px solid #cbd5e1; }
.global-business-insight-list article { padding: 1.25rem; background: #fff; }
.global-business-insight-list h3 { margin-block: .75rem; }

@media (max-width: 800px) {
  .business-insight-import-panel-body { grid-template-columns: 1fr; }
  .business-insight-import-panel-body > p:first-child,
  .business-insight-import-panel [data-insight-import-status] { grid-column: auto; }
  .business-profile-insight-hub > header,
  .business-profile-featured-insight,
  .business-insight-list-card { grid-template-columns: 1fr; }
  .business-profile-recent-insights,
  .global-business-insight-list { grid-template-columns: 1fr; }
  .business-profile-insight-hub > header { align-items: start; }
  .business-insight-editor-toolbar { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; }
  .business-insight-editor-toolbar > * { flex: 0 0 auto; }
  .business-insight-editor { min-height: 26rem; }
  .business-insight-editor-content { min-height: 26rem; padding: 1.15rem; }
}

.insight-color-picker { position: relative; }
.business-insight-editor-toolbar .insight-color-trigger,
.admin-news-editor-toolbar .insight-color-trigger {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 2.65rem;
  padding-bottom: .65rem;
}
.insight-color-trigger > span { font-size: 1.05rem; line-height: 1; }
.insight-color-trigger .insight-color-indicator {
  position: absolute;
  right: .35rem;
  bottom: .3rem;
  left: .35rem;
  height: .25rem;
  border: 1px solid rgba(15, 23, 42, .15);
  background: var(--active-color, #111827);
}
.insight-color-trigger.is-reset .insight-color-indicator {
  background: linear-gradient(135deg, transparent 43%, #c62828 44%, #c62828 56%, transparent 57%);
}
.insight-color-palette {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  z-index: 30;
  grid-template-columns: repeat(5, 1.85rem);
  gap: .3rem;
  width: max-content;
  padding: .6rem;
  border: 1px solid #aebbd1;
  box-shadow: 0 .65rem 1.5rem rgba(15, 23, 42, .16);
  background: #fff;
}
.insight-color-palette:not([hidden]) { display: grid; }
.business-insight-editor-toolbar .insight-color-swatch,
.admin-news-editor-toolbar .insight-color-swatch {
  position: relative;
  min-width: 1.85rem;
  min-height: 1.85rem;
  padding: .18rem;
  border: 1px solid #c6d0e2;
  background: #fff;
}
.insight-color-swatch > span {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(15, 23, 42, .12);
  background: var(--swatch);
}
.insight-color-swatch.is-reset > span {
  background: linear-gradient(135deg, transparent 43%, #c62828 44%, #c62828 56%, transparent 57%);
}
.business-insight-editor-toolbar .insight-color-swatch[aria-pressed="true"],
.admin-news-editor-toolbar .insight-color-swatch[aria-pressed="true"] {
  border-color: #1649d8;
  box-shadow: 0 0 0 2px #cbd9ff;
}

/* Admin reboot: keep everyday work visible and move specialist tools behind one click. */
.admin-reboot .admin-intro {
  min-height: 0;
  padding-block: 26px;
}
.admin-reboot .admin-intro h1 {
  font-size: clamp(28px, 3.2vw, 42px);
}
.admin-collapsible-tools {
  margin: 0 0 18px;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.admin-collapsible-tools > summary,
.admin-home-content-finder > summary,
.admin-content-tool > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 12px 16px;
  cursor: pointer;
  color: #13203a;
  font-weight: 900;
  list-style: none;
}
.admin-collapsible-tools > summary::-webkit-details-marker,
.admin-home-content-finder > summary::-webkit-details-marker,
.admin-content-tool > summary::-webkit-details-marker { display: none; }
.admin-collapsible-tools > summary::after,
.admin-home-content-finder > summary::after,
.admin-content-tool > summary::after {
  content: "+";
  color: #1649d8;
  font-size: 18px;
}
.admin-collapsible-tools[open] > summary::after,
.admin-home-content-finder[open] > summary::after,
.admin-content-tool[open] > summary::after { content: "−"; }
.admin-collapsible-tools > div { padding: 0 16px 16px; }

.admin-home-content-finder {
  margin-top: 18px;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.admin-home-content-finder > summary > span:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-home-content-finder > summary > span:last-child {
  margin-left: auto;
  color: #52617a;
  font-size: 11px;
}
.admin-home-content-finder-body {
  padding: 0 18px 18px;
  border-top: 1px solid #e0e6ef;
}

.admin-content-tool {
  margin: 14px 0 0;
  padding: 0;
  border: 1px solid #cbd5e1;
  background: #fff;
}
.admin-content-tool > summary small {
  margin-left: auto;
  color: #66758d;
  font-size: 10px;
  font-weight: 700;
}
.admin-content-tool > .news-candidate-section,
.admin-content-tool > .admin-content-tool-body {
  margin: 0;
  padding: 18px;
  border: 0;
  border-top: 1px solid #e0e6ef;
}
.admin-content-tool[hidden] { display: none; }

.admin-longform-workspace-canvas {
  display: flex;
  flex-direction: column;
}
.admin-longform-workspace .admin-news-editor-toolbar {
  order: -1;
  top: var(--admin-topbar-height, 0px);
}
.insight-composer-heading-fields,
.admin-longform-workspace .admin-news-editor-host .tiptap {
  width: min(100%, 940px);
}
.insight-composer-heading-fields {
  padding-top: 28px;
}
.admin-longform-document-stage { padding-top: 18px; }
.admin-longform-workspace.is-inspector-collapsed [data-news-workspace-settings-toggle] {
  border-color: #1649d8;
  color: #1649d8;
}

.admin-member-hub-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.admin-member-hub-grid > a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #13203a;
  text-decoration: none;
}
.admin-member-hub-grid > a:hover,
.admin-member-hub-grid > a:focus-visible {
  border-color: #1649d8;
  box-shadow: inset 4px 0 0 #1649d8;
}
.admin-member-hub-grid img { width: 28px; height: 28px; }
.admin-member-hub-grid span { display: grid; gap: 5px; }
.admin-member-hub-grid strong { font-size: 14px; }
.admin-member-hub-grid small { color: #66758d; font-size: 11px; line-height: 1.5; }
.admin-member-hub-grid b { color: #1649d8; font-size: 18px; }

@media (max-width: 900px) {
  .admin-member-hub-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .admin-reboot .admin-intro { padding-block: 18px; }
  .admin-home-content-finder-body { padding-inline: 10px; }
  .admin-content-tool > .news-candidate-section,
  .admin-content-tool > .admin-content-tool-body { padding: 12px; }
}

/* Admin workspace v2: a real dashboard and a list-first insight desk. */
.admin-reboot > main.admin-shell > .admin-intro,
.admin-reboot > main.admin-shell > .admin-guided-workflow,
.admin-reboot > main.admin-shell > .admin-workspace-nav,
.admin-reboot > main.admin-shell > .admin-dynamic-tools {
  display: none !important;
}

.admin-reboot > main.admin-shell {
  gap: 18px;
  padding-top: calc(var(--admin-topbar-height) + 20px);
}

.admin-dashboard-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: 16px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #17366f;
  background: linear-gradient(125deg, #0b1830 0%, #143b9f 72%, #1d4ed8 100%);
  color: #fff;
  box-shadow: 0 18px 36px rgba(15, 35, 82, .14);
}

.admin-dashboard-heading { display: grid; gap: 8px; }
.admin-dashboard-heading .admin-step { color: #a9c3ff; }
.admin-dashboard-heading h2 {
  margin: 0;
  font-size: clamp(25px, 2.5vw, 38px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.admin-dashboard-heading p {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
  line-height: 1.65;
}
.admin-dashboard-header-actions { display: flex; gap: 8px; }
.admin-dashboard-header-actions .button-primary,
.admin-dashboard-header-actions .button-secondary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 18px;
  text-decoration: none;
}
.admin-dashboard-header-actions .button-primary {
  border-color: #fff;
  background: #fff;
  color: #143b9f;
}
.admin-dashboard-header-actions .button-secondary {
  border-color: rgba(255, 255, 255, .55);
  background: transparent;
  color: #fff;
}

.admin-dashboard-header-actions .admin-dashboard-wiki-button {
  box-shadow: 0 8px 20px rgba(4, 12, 31, .18);
}

.admin-dashboard-header-actions .admin-dashboard-skin-wiki-button {
  border-color: rgba(210, 255, 245, .82);
  background: rgba(15, 118, 110, .92);
  box-shadow: 0 8px 20px rgba(4, 47, 46, .18);
}

.admin-reboot .overview-panel { padding: 0; }
.admin-reboot .admin-home-priority,
.admin-reboot .admin-home-recent,
.admin-reboot .admin-home-status,
.admin-reboot .admin-home-shortcuts,
.admin-reboot .admin-home-content-finder {
  border-color: #ccd7e8;
  border-radius: 2px;
  box-shadow: 0 8px 24px rgba(16, 39, 82, .045);
}
.admin-reboot .admin-home-action-card { min-height: 118px; }
.admin-reboot .admin-home-overview-grid { gap: 16px; }
.admin-reboot .admin-home-recent-list { min-height: 210px; }
.admin-reboot .admin-home-shortcuts { margin-top: 16px; }
.admin-reboot .overview-guidance,
.admin-reboot .dashboard-status {
  min-height: 0;
  margin: 10px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #62718a;
  font-size: 11px;
}

.admin-reboot .news-inbox-panel {
  overflow: hidden;
  padding: 0;
  border: 0;
  background: transparent;
}
.admin-reboot .news-inbox-panel > .admin-panel-heading {
  min-height: 122px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding: 24px 28px;
  border: 1px solid #17366f;
  background: #0d1b34;
  color: #fff;
}
.admin-reboot .news-inbox-panel > .admin-panel-heading h2 {
  margin: 4px 0 0;
  font-size: clamp(27px, 3vw, 40px);
  letter-spacing: -.045em;
}
.admin-reboot .news-inbox-panel > .admin-panel-heading p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
}
.admin-reboot .news-inbox-panel > .admin-panel-heading .admin-step { color: #9ebaff; }
.admin-insight-heading-actions { display: flex; gap: 8px; align-items: center; }
.admin-insight-heading-actions .status-pill {
  border-color: rgba(255, 255, 255, .32);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}
.admin-insight-heading-actions .button-primary {
  min-height: 44px;
  border-color: #fff;
  background: #fff;
  color: #143b9f;
}
.admin-reboot .admin-insight-note {
  margin: 0;
  padding: 11px 18px;
  border: solid #ccd7e8;
  border-width: 0 1px 1px;
  background: #eaf0fb;
  color: #506078;
  font-size: 11px;
}
.admin-reboot .news-inbox-panel > .admin-content-tool,
.admin-reboot .news-inbox-panel > .news-inbox-filters,
.admin-reboot .news-inbox-panel > .news-inbox-batch-bar,
.admin-reboot .news-inbox-panel > .content-list,
.admin-reboot .news-inbox-panel > .news-inbox-pagination {
  margin-inline: 0;
  border-color: #ccd7e8;
  background: #fff;
}
.admin-reboot .news-inbox-panel > .admin-content-tool { margin-top: 12px; }
.admin-reboot .news-inbox-filters {
  grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(150px, .7fr));
  gap: 10px;
  margin-top: 12px;
  padding: 16px;
  border: 1px solid #ccd7e8;
}
.admin-reboot .news-inbox-filters label:nth-of-type(4),
.admin-reboot .news-inbox-filters label:nth-of-type(5) { display: none; }
.admin-reboot .news-inbox-filters .filter-actions {
  grid-column: auto;
  justify-content: end;
}
.admin-reboot .news-inbox-filters #newsInboxNew { display: none; }
.admin-reboot .news-inbox-batch-bar { margin-block: 10px; }
.admin-reboot .news-inbox-panel > .content-list { border: 1px solid #ccd7e8; }

.admin-reboot[data-admin-active-area="content"] > main.admin-shell {
  padding-inline: clamp(18px, 2.5vw, 36px);
}
.admin-reboot[data-admin-active-area="content"] .admin-longform-workspace {
  border: 0;
  box-shadow: 0 14px 36px rgba(15, 35, 82, .08);
}
.admin-reboot[data-admin-active-area="content"] .admin-longform-workspace-canvas {
  background: #e9eef6;
}

/* Insight authoring: one editor, one import action. Legacy batch work stays folded in the list. */
.admin-reboot .news-editor-workspace {
  grid-template-columns: minmax(0, 1fr);
}

.admin-insight-entry {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin: 18px 0;
  padding: 20px;
  border: 1px solid #b8c8e3;
  background: #f7f9fd;
}
.admin-insight-entry[hidden] { display: none !important; }
.admin-insight-entry > div:first-child { display: grid; gap: 5px; }
.admin-insight-entry strong {
  font-family: var(--heading-font);
  font-size: clamp(18px, 2vw, 23px);
  letter-spacing: -.03em;
}
.admin-insight-entry p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.admin-insight-entry .admin-actions { margin: 0; flex: 0 0 auto; }
.admin-insight-entry .admin-actions button { min-height: 44px; }

.admin-bulk-import-tool .document-inbox {
  margin: 0;
  border: 0;
  background: transparent;
}
.admin-approved-import-tool {
  margin-top: 14px;
  border-top: 1px solid #ccd7e8;
}
.admin-approved-import-tool > summary {
  padding: 14px 4px 10px;
  cursor: pointer;
  font-weight: 800;
}
.admin-approved-import-tool .approved-import-field { margin-top: 8px; }

.admin-source-compare {
  grid-column: 1;
  overflow: hidden;
  padding: 0;
  box-shadow: none;
}
.admin-source-compare > summary {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 14px 18px;
  cursor: pointer;
  list-style: none;
  font-weight: 850;
}
.admin-source-compare > summary::-webkit-details-marker { display: none; }
.admin-source-compare > summary::after { content: "+"; color: var(--blue); font-size: 22px; }
.admin-source-compare[open] > summary::after { content: "−"; }
.admin-source-compare > summary small { color: var(--muted); font-size: 11px; font-weight: 600; }
.admin-source-compare-body { padding: 20px; border-top: 1px solid #ccd7e8; }
.admin-source-compare-body h2 { margin: 0 0 16px; font-size: 21px; }

@media (max-width: 900px) {
  .admin-dashboard-header,
  .admin-reboot .news-inbox-panel > .admin-panel-heading { grid-template-columns: 1fr; align-items: start; }
  .admin-dashboard-header-actions,
  .admin-insight-heading-actions { width: 100%; flex-wrap: wrap; }
  .admin-dashboard-header-actions > *,
  .admin-insight-heading-actions .button-primary { flex: 1 1 160px; }
  .admin-reboot .news-inbox-filters { grid-template-columns: 1fr 1fr; }
  .admin-reboot .news-inbox-filters .field-wide,
  .admin-reboot .news-inbox-filters .filter-actions { grid-column: 1 / -1; }
  .admin-insight-entry { align-items: stretch; flex-direction: column; }
  .admin-insight-entry .admin-actions { width: 100%; }
  .admin-insight-entry .admin-actions > * { flex: 1 1 150px; }
}

@media (max-width: 620px) {
  .admin-reboot > main.admin-shell { padding-top: calc(var(--admin-topbar-height) + 12px); }
  .admin-dashboard-header { padding: 20px; }
  .admin-dashboard-header-actions { display: grid; grid-template-columns: 1fr; }
  .admin-reboot .news-inbox-panel > .admin-panel-heading { min-height: 0; padding: 20px; }
  .admin-reboot .news-inbox-filters { grid-template-columns: 1fr; }
  .admin-reboot .news-inbox-filters .field-wide,
  .admin-reboot .news-inbox-filters .filter-actions { grid-column: auto; }
}
