:root {
  color-scheme: light;
  --page: #f3f5f4;
  --surface: #ffffff;
  --surface-muted: #e9eeec;
  --surface-strong: #dce5e2;
  --text: #17211f;
  --muted: #52615e;
  --border: #9caaa6;
  --border-soft: #c8d1ce;
  --brand: #234846;
  --brand-hover: #1b3937;
  --brand-text: #ffffff;
  --focus: #ffdd63;
  --focus-text: #111111;
  --success-bg: #e4eee8;
  --success-border: #37624d;
  --danger-bg: #f3e7e5;
  --danger-border: #8d413a;
  --warning-bg: #f2ede0;
  --warning-border: #80662d;
  --link: #214c56;
  --radius: 4px;
  --max: 1320px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --page: #121716;
  --surface: #1a201f;
  --surface-muted: #222927;
  --surface-strong: #29322f;
  --text: #edf2f0;
  --muted: #b4c0bc;
  --border: #52605c;
  --border-soft: #343e3b;
  --brand: #315f5b;
  --brand-hover: #3b706b;
  --brand-text: #ffffff;
  --focus: #f6d867;
  --focus-text: #111111;
  --success-bg: #1b2b23;
  --success-border: #71917c;
  --danger-bg: #2b201f;
  --danger-border: #b17972;
  --warning-bg: #2b281f;
  --warning-border: #aa9462;
  --link: #9bc5cf;
}

* { box-sizing: border-box; }
html { font-family: Arial, Helvetica, sans-serif; background: var(--page); color: var(--text); line-height: 1.5; }
body { margin: 0; min-width: 280px; background: var(--page); color: var(--text); }
a { color: var(--link); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { outline-offset: 3px; }
:focus-visible { outline: 3px solid var(--focus); box-shadow: 0 0 0 1px var(--focus-text); }
h1, h2, h3 { line-height: 1.18; margin-top: 0; color: var(--text); }
h1 { font-size: clamp(2rem, 4.4vw, 3.35rem); max-width: 20ch; margin-bottom: 1rem; }
h2 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); margin-bottom: .8rem; }
h3 { font-size: 1.15rem; margin-bottom: .55rem; }
p { margin: 0 0 1rem; }
small, .hint, .muted { color: var(--muted); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: var(--surface-muted); padding: .12rem .25rem; border-radius: 2px; }
.wrap-code { overflow-wrap: anywhere; }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 9999; background: var(--focus); color: var(--focus-text); padding: .75rem 1rem; font-weight: 700; }
.skip-link:focus { left: .5rem; top: .5rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.content-wrap { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
.content-wrap.narrow { max-width: 900px; }
.content-wrap.wide { max-width: var(--max); }
.header-inner { width: min(calc(100% - 2rem), var(--max)); margin: 0 auto; min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-header, .app-header { background: var(--brand); color: var(--brand-text); border-bottom: 4px solid rgba(0,0,0,.22); }
.brand { color: var(--brand-text); text-decoration: none; font-weight: 800; letter-spacing: .005em; font-size: 1.08rem; }
.header-actions { display: flex; align-items: center; gap: .65rem; flex-wrap: wrap; }
.user-name { color: var(--brand-text); }
.release-tag { display: inline-block; margin-left: .55rem; color: rgba(255,255,255,.82); font-size: .78rem; font-weight: 700; }
.theme-toggle, .nav-toggle { border: 1px solid rgba(255,255,255,.65); background: transparent; color: var(--brand-text); min-height: 40px; padding: .42rem .72rem; border-radius: var(--radius); cursor: pointer; font-weight: 700; }
.theme-toggle:hover, .nav-toggle:hover { background: rgba(255,255,255,.08); }
.nav-toggle { display: none; }
.context-bar { background: var(--surface-muted); border-bottom: 1px solid var(--border); }
.business-context { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.app-nav { background: var(--surface); border-bottom: 1px solid var(--border); }
.nav-list { display: flex; flex-wrap: wrap; gap: 0; }
.nav-link { color: var(--text); text-decoration: none; padding: .75rem .7rem .65rem; border-bottom: 4px solid transparent; font-size: .91rem; font-weight: 700; }
.nav-link:hover { background: var(--surface-muted); }
.nav-link.active { border-bottom-color: var(--brand); }
.nav-link.disabled { color: var(--muted); cursor: default; font-weight: 600; }
.nav-link.disabled:hover { background: transparent; }
.nav-link.disabled small { display: block; font-size: .62rem; line-height: 1; margin-top: .18rem; letter-spacing: .04em; }

.public-main, .app-main { padding: clamp(1.5rem, 3vw, 2.75rem) 0 4rem; }
.site-footer { border-top: 1px solid var(--border); padding: 1.5rem 0; color: var(--muted); background: var(--surface-muted); }
.hero-block { padding: clamp(1.5rem, 4vw, 3.3rem) 0 2.3rem; border-bottom: 1px solid var(--border); margin-bottom: 2rem; }
.compact-hero { padding-top: 1rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 800; color: var(--brand); margin-bottom: .7rem; }
html[data-theme="dark"] .eyebrow { color: #9db9b5; }
.lead { font-size: clamp(1.08rem, 2vw, 1.28rem); max-width: 64ch; color: var(--muted); }

.panel { background: var(--surface); border: 1px solid var(--border-soft); border-left: 4px solid var(--brand); padding: 1.25rem; margin: 0 0 1.5rem; border-radius: var(--radius); }
.panel > :last-child { margin-bottom: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 0 1.5rem; }
.stat-card { background: var(--surface); border: 1px solid var(--border); border-top: 4px solid var(--brand); padding: 1rem; min-height: 116px; border-radius: var(--radius); }
.stat-card .stat-value { display: block; font-size: 2rem; font-weight: 800; line-height: 1.1; margin-top: .35rem; }
.summary-list { margin: 0; border-top: 1px solid var(--border); }
.summary-row { display: grid; grid-template-columns: minmax(180px, 28%) 1fr; border-bottom: 1px solid var(--border-soft); padding: .75rem 0; gap: 1rem; }
.summary-row dt { font-weight: 700; }
.summary-row dd { margin: 0; overflow-wrap: anywhere; }
.plain-list { padding-left: 1.25rem; }
.plain-list li { margin-bottom: .4rem; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border: 2px solid transparent; border-radius: var(--radius); padding: .48rem .9rem; font-weight: 800; text-decoration: none; cursor: pointer; line-height: 1.2; }
.button-primary { background: var(--brand); border-color: var(--brand); color: var(--brand-text); }
.button-primary:hover { background: var(--brand-hover); border-color: var(--brand-hover); color: var(--brand-text); }
.button-secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
.site-header .button-secondary, .app-header .button-secondary { background: transparent; border-color: rgba(255,255,255,.65); color: var(--brand-text); }
.button-danger { background: var(--danger-bg); border-color: var(--danger-border); color: var(--text); }
.button-row { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.2rem 0; }
.inline-form { display: inline-flex; align-items: center; gap: .5rem; margin: 0; }

label, .form-label { display: block; font-weight: 800; margin: 0 0 1rem; }
label .hint, .form-label .hint { display: block; font-weight: 400; margin: .18rem 0 .36rem; }
input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input:not([type]), select, textarea {
  width: 100%; max-width: 760px; min-height: 44px; margin-top: .3rem; border: 2px solid var(--border); border-radius: 1px; padding: .52rem .6rem; background: var(--surface); color: var(--text);
}
textarea { min-height: 120px; resize: vertical; }
select { width: auto; max-width: 100%; }
input:disabled, select:disabled, textarea:disabled { opacity: .6; cursor: not-allowed; }
.checkbox-row { display: flex; gap: .7rem; align-items: flex-start; margin: .6rem 0; font-weight: 600; }
.checkbox-row input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: .13rem; }
.is-disabled { opacity: .6; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.span-2 { grid-column: 1 / -1; }
.stack-form > * + * { margin-top: 1rem; }
.fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; }
.fieldset legend { font-weight: 800; font-size: 1.08rem; margin-bottom: .5rem; }
.optional { color: var(--muted); font-size: .75em; font-weight: 600; }

.notice, .success-banner, .error-summary { padding: 1rem 1.1rem; margin: 0 0 1.25rem; border: 1px solid; border-left-width: 5px; border-radius: var(--radius); }
.notice-success, .success-banner { background: var(--success-bg); border-color: var(--success-border); }
.notice-error, .error-summary { background: var(--danger-bg); border-color: var(--danger-border); }
.notice-warning { background: var(--warning-bg); border-color: var(--warning-border); }
.error-summary h2, .success-banner h2 { font-size: 1.2rem; }
.error-summary ul { margin-bottom: 0; }
.status-tag { display: inline-block; padding: .18rem .42rem; border: 1px solid var(--border); border-radius: 2px; font-weight: 800; font-size: .77rem; text-transform: uppercase; letter-spacing: .025em; background: var(--surface-muted); }
.status-ok { background: var(--success-bg); border-color: var(--success-border); }
.status-bad { background: var(--danger-bg); border-color: var(--danger-border); }

.table-wrap { width: 100%; overflow-x: auto; margin-bottom: 1.5rem; }
.data-table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border); font-size: .94rem; }
.data-table th { text-align: left; background: var(--surface-muted); font-weight: 800; border-bottom: 2px solid var(--border); padding: .65rem .7rem; vertical-align: bottom; }
.data-table td { padding: .65rem .7rem; border-bottom: 1px solid var(--border-soft); vertical-align: top; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: var(--surface-muted); }

.installer-body { background: var(--page); }
.installer-shell { width: min(calc(100% - 2rem), 1040px); margin: 0 auto; padding: 2rem 0 5rem; }
.installer-header { border-bottom: 4px solid var(--brand); margin-bottom: 1.5rem; padding-bottom: 1rem; }
.installer-header h1 { margin-bottom: .5rem; }

hr { border: 0; border-top: 1px solid var(--border); margin: 1.7rem 0; }

@media (max-width: 920px) {
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-toggle { display: inline-flex; }
  .app-nav .nav-list { display: none; padding: .5rem 0; }
  .app-nav.nav-open .nav-list { display: flex; flex-direction: column; }
  .nav-link { border-left: 4px solid transparent; border-bottom: 0; padding: .65rem .8rem; }
  .nav-link.active { border-left-color: var(--brand); background: var(--surface-muted); }
  .business-context { align-items: flex-start; flex-direction: column; padding: .65rem 0; }
}

@media (max-width: 640px) {
  .content-wrap, .header-inner, .installer-shell { width: min(calc(100% - 1.2rem), var(--max)); }
  .header-inner { min-height: 60px; align-items: flex-start; padding: .65rem 0; flex-direction: column; }
  .header-actions { width: 100%; }
  .user-name { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .summary-row { grid-template-columns: 1fr; gap: .15rem; }
  .button-row .button { width: 100%; }
  h1 { font-size: 2rem; }
  .data-table.responsive thead { display: none; }
  .data-table.responsive, .data-table.responsive tbody, .data-table.responsive tr, .data-table.responsive td { display: block; width: 100%; }
  .data-table.responsive tr { border-bottom: 2px solid var(--border); padding: .4rem 0; }
  .data-table.responsive td { border: 0; padding: .35rem .65rem; }
  .data-table.responsive td::before { content: attr(data-label); display: block; font-weight: 800; color: var(--muted); font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* R1 application-shell components */
.page-heading { margin: 0 0 1.5rem; max-width: 900px; }
.page-heading h1 { margin-bottom: .65rem; }
.page-heading > :last-child { margin-bottom: 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.section-heading > :last-child { margin-bottom: 0; }
.actions-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.secondary-action { margin-top: 1.2rem; }
.danger-text { color: #7a302b; font-weight: 700; }
html[data-theme="dark"] .danger-text { color: #e0a39c; }
.link-button { appearance: none; border: 0; background: transparent; color: var(--link); padding: 0; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; font: inherit; }
.link-button:hover { text-decoration-thickness: 2px; }
.confirm-remove { margin: 0; }

.two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.question-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.question-grid .panel { margin-bottom: 0; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.settings-grid > .panel { margin-bottom: 0; }
.link-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; }
.action-card { display: block; min-height: 118px; padding: 1rem; border: 1px solid var(--border); border-left: 4px solid var(--brand); border-radius: var(--radius); background: var(--surface-muted); color: var(--text); text-decoration: none; }
.action-card:hover { background: var(--surface-strong); text-decoration: none; }
.action-card strong { display: block; margin-bottom: .35rem; }
.action-card span { display: block; color: var(--muted); font-size: .92rem; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1.5rem; }
.metric-card { border: 1px solid var(--border); border-top: 4px solid var(--brand); background: var(--surface); padding: 1rem; border-radius: var(--radius); }
.metric-card strong { display: block; font-size: 1.8rem; line-height: 1.15; margin-top: .3rem; }
.metric-list { margin: 0; }
.metric-list > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; border-bottom: 1px solid var(--border-soft); padding: .55rem 0; }
.metric-list > div:last-child { border-bottom: 0; }
.metric-list dt { font-weight: 700; }
.metric-list dd { margin: 0; font-weight: 800; }
.task-list { margin: 0; padding-left: 1.2rem; }
.task-list li { margin: 0 0 .45rem; }
.task-list li:last-child { margin-bottom: 0; }

.summary-list > div { display: grid; grid-template-columns: minmax(180px, 28%) 1fr; border-bottom: 1px solid var(--border-soft); padding: .75rem 0; gap: 1rem; }
.summary-list > div:first-child { border-top: 0; }
.summary-list > div:last-child { border-bottom: 0; }
.summary-list > div dt { font-weight: 700; }
.summary-list > div dd { margin: 0; overflow-wrap: anywhere; }

.table-panel { overflow-x: auto; }
.table-panel .data-table { margin-bottom: 0; }
.search-form { display: flex; align-items: flex-end; gap: .65rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.search-form label { flex: 1 1 320px; margin: 0; }
.search-form input { max-width: none; }
.checkbox-list { display: grid; gap: .25rem; margin: .7rem 0 1rem; }
.check-row { display: flex; align-items: flex-start; gap: .65rem; margin: .45rem 0; font-weight: 600; }
.check-row input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: .15rem; }
.code-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.code-list li { margin: 0; }
.code-list code { display: block; padding: .55rem .65rem; border: 1px solid var(--border-soft); }
.slug-input { display: flex; align-items: center; gap: .45rem; max-width: 760px; }
.slug-input > span { font-weight: 800; font-size: 1.15rem; }
.slug-input input { margin-top: 0; flex: 1 1 auto; }
.admin-header { background: #203b3a; }
html[data-theme="dark"] .admin-header { background: #182a29; }

@media (max-width: 1100px) {
  .link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .question-grid { grid-template-columns: 1fr 1fr; }
  .question-grid > :last-child { grid-column: 1 / -1; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .two-column, .settings-grid, .question-grid { grid-template-columns: 1fr; }
  .question-grid > :last-child { grid-column: auto; }
  .link-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .summary-list > div { grid-template-columns: 1fr; gap: .15rem; }
  .code-list { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .stat-grid, .metric-grid { grid-template-columns: 1fr; }
  .search-form .button { width: 100%; }
}

/* R1 hosted-test corrections: spacing, alignment, forms, installer and page height */
html, body { min-height: 100%; }
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.content-wrap.narrow { max-width: 760px; }
.public-header-inner { width: min(calc(100% - 2rem), 760px); }
.public-main, .app-main { flex: 1 0 auto; }
.public-main { padding: clamp(2rem, 5vw, 3.5rem) 0 3.75rem; }
.site-footer { margin-top: auto; padding: 1.25rem 0; }
.site-footer p { margin: 0; }

.page-heading { margin-bottom: 1.75rem; }
.page-heading h1 { margin-bottom: .65rem; }
.auth-width { width: 100%; max-width: 680px; }

label, .form-label { margin-bottom: 1.1rem; }
input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input:not([type]), select, textarea {
  display: block;
  width: 100%;
  max-width: 680px;
  margin-top: .4rem;
}
select { width: auto; }
.stack-form {
  display: grid;
  gap: 1.25rem;
}
.stack-form > * { margin-top: 0; margin-bottom: 0; }
.stack-form > label { margin-bottom: 0; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.form-link { margin: 0; }

.panel { padding: clamp(1.25rem, 2.6vw, 1.65rem); }
form.panel.auth-width { margin-bottom: 1.25rem; }
.secondary-action { margin-top: 0; }

.setup-steps { margin: 0; padding-left: 1.35rem; }
.setup-steps li { margin-bottom: 1rem; padding-left: .25rem; }
.setup-steps li:last-child { margin-bottom: 0; }
.setup-key {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: .55rem;
  padding: .55rem .7rem;
  border: 1px solid var(--border-soft);
  background: var(--surface-muted);
  font-size: 1rem;
  letter-spacing: .045em;
  overflow-wrap: anywhere;
}
.short-input { max-width: 190px !important; }

.installer-body { background: var(--page); }
.installer-shell {
  flex: 1 0 auto;
  width: min(calc(100% - 2rem), 820px);
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem) 0 4rem;
}
.installer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 4px solid var(--brand);
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
}
.installer-header h1 { margin: 0 0 .55rem; }
.installer-header p { margin: 0; max-width: 60ch; }
.installer-theme {
  flex: 0 0 auto;
  color: var(--text);
  border-color: var(--border);
  background: var(--surface);
}
.installer-theme:hover { background: var(--surface-muted); }
.installer-form { display: grid; gap: 1.25rem; }
.installer-section { margin: 0; }
.installer-section > h2 { margin-bottom: 1.25rem; }
.installer-section > label:last-child { margin-bottom: 0; }
.installer-actions { margin-top: .25rem; }
.installer-optional { margin: 0; padding: 0; overflow: hidden; }
.installer-optional summary,
.server-checks summary {
  cursor: pointer;
  font-weight: 800;
  padding: 1rem 1.25rem;
}
.installer-optional summary:hover,
.server-checks summary:hover { background: var(--surface-muted); }
.details-body { padding: .25rem 1.25rem 1.25rem; }
.details-body > :last-child { margin-bottom: 0; }
.updater-form { max-width: 680px; }
.installer-success { margin-bottom: 1.5rem; }
.installer-success .button { margin-top: .25rem; }
.copy-block {
  border: 1px solid var(--border);
  background: var(--surface);
  padding: .8rem;
  overflow-wrap: anywhere;
}
.copy-block code { background: transparent; padding: 0; }
.server-checks {
  margin-top: 2rem;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.server-checks-body { padding: 0 1.25rem 1.25rem; }
.server-checks .data-table { margin-bottom: 1rem; }

@media (max-width: 640px) {
  .public-header-inner { width: min(calc(100% - 1.2rem), 760px); }
  .public-main { padding-top: 2rem; }
  .installer-shell { width: min(calc(100% - 1.2rem), 820px); padding-top: 1.2rem; }
  .installer-header { align-items: stretch; flex-direction: column; gap: 1rem; }
  .installer-theme { align-self: flex-start; }
  .form-actions { align-items: flex-start; flex-direction: column; }
}
.brand-context { font-weight: 600; opacity: .82; margin-left: .35rem; }

/* R1 hosted correction 0.1.2: restrained navigation, aligned forms and human-readable settings */
:root { --admin-max: 1440px; }

.content-wrap.admin-wide,
.admin-header-inner { max-width: var(--admin-max); }

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: .72rem;
  min-width: 0;
}
.brand-mark {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 3px;
}
.brand-mark svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: square; stroke-linejoin: miter; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.12; }
.brand-name { font-size: 1.06rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-context { margin: .18rem 0 0; font-size: .74rem; font-weight: 500; opacity: .78; letter-spacing: .01em; }

.admin-header-inner { min-height: 74px; }
.admin-primary-nav .nav-list,
.admin-nav-list { flex-wrap: nowrap; min-height: 51px; align-items: stretch; }
.admin-primary-nav .nav-link { display: inline-flex; align-items: center; padding: .78rem 1rem .66rem; font-size: .96rem; }
.sub-nav { background: var(--surface-muted); border-bottom: 1px solid var(--border); }
.sub-nav-list { display: flex; align-items: stretch; gap: 0; min-height: 43px; }
.sub-nav-link { display: inline-flex; align-items: center; padding: .58rem .95rem .5rem; color: var(--text); text-decoration: none; border-bottom: 3px solid transparent; font-size: .9rem; font-weight: 600; }
.sub-nav-link:hover { background: var(--surface-strong); text-decoration: none; }
.sub-nav-link.active { border-bottom-color: var(--brand); font-weight: 700; }

/* Form typography should be clear without making every word heavy. */
label, .form-label, .field-label { font-weight: 600; }
.field-label { display: block; margin: 0 0 .35rem; color: var(--text); }
.field-hint { margin: 0 0 .6rem; color: var(--muted); font-size: .9rem; line-height: 1.35; font-weight: 400; }
.field-hint-empty { visibility: hidden; }
input, select, textarea { font-weight: 400; }
.button { font-weight: 700; }

.settings-form { display: grid; gap: 1.35rem; }
.settings-section { margin: 0; padding: 1.45rem 1.55rem 1.55rem; }
.settings-section h2 { margin-bottom: 1.15rem; }
.settings-grid { gap: 1.3rem 1.5rem; align-items: stretch; }
.settings-field { display: flex; flex-direction: column; min-width: 0; }
.settings-field > input,
.settings-field > select,
.settings-field > textarea,
.settings-field > .input-affix { margin-top: auto; }
.settings-field input,
.settings-field textarea { max-width: none; }
.settings-field select { width: 100%; max-width: none; }
.settings-field textarea { min-height: 112px; }
.settings-actions { display: flex; justify-content: flex-start; padding: .15rem 0 1rem; }

.input-affix { display: flex; align-items: stretch; width: 100%; max-width: none; }
.input-affix input { flex: 1 1 auto; min-width: 0; max-width: none; margin: 0; border-radius: 0; }
.input-prefix,
.input-suffix { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; padding: .52rem .65rem; border: 2px solid var(--border); background: var(--surface-muted); color: var(--text); font-weight: 600; }
.input-prefix { border-right: 0; border-radius: 2px 0 0 2px; }
.input-suffix { border-left: 0; border-radius: 0 2px 2px 0; }
.input-affix .input-prefix + input { border-radius: 0 2px 2px 0; }
.input-affix input + .input-suffix { border-radius: 2px 0 0 2px; }

.search-form {
  display: grid;
  grid-template-columns: minmax(320px, 640px) auto;
  align-items: end;
  justify-content: start;
  gap: .75rem;
  margin-bottom: 1.35rem;
}
.search-field { min-width: 0; }
.search-field .field-label { margin-bottom: .4rem; }
.search-field input { width: 100%; max-width: none; margin: 0; min-height: 44px; }
.search-form > .button { min-height: 44px; margin: 0; }

@media (max-width: 920px) {
  .admin-primary-nav .nav-list { display: none; padding: .45rem 0; min-height: auto; }
  .admin-primary-nav.nav-open .nav-list { display: flex; flex-direction: column; }
  .admin-primary-nav .nav-link { padding: .7rem .8rem; }
  .sub-nav-list { overflow-x: auto; white-space: nowrap; }
}

@media (max-width: 700px) {
  .search-form { grid-template-columns: 1fr; }
  .search-form > .button { width: 100%; }
  .settings-section { padding: 1.15rem; }
  .brand-context { display: none; }
}

@media (max-width: 640px) {
  .admin-header-inner { flex-direction: row; align-items: center; min-height: 66px; padding: .55rem 0; }
  .admin-header-inner .header-actions { width: auto; margin-left: auto; justify-content: flex-end; }
  .admin-header-inner .theme-toggle { display: none; }
  .brand-mark { width: 34px; height: 34px; flex-basis: 34px; }
  .brand-mark svg { width: 27px; height: 27px; }
  .brand-name { font-size: .98rem; }
}

.installer-brand { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.1rem; color: var(--text); font-weight: 700; }
.installer-brand-mark { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 3px; }
.installer-brand-mark svg { width: 25px; height: 25px; fill: none; stroke: var(--brand); stroke-width: 2.4; stroke-linecap: square; stroke-linejoin: miter; }
.cron-setup { margin: 1rem 0 0; }
.cron-setup > div { display: grid; grid-template-columns: minmax(160px, 24%) 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--border-soft); }
.cron-setup > div:last-child { border-bottom: 1px solid var(--border-soft); }
.cron-setup dt { font-weight: 600; }
.cron-setup dd { margin: 0; min-width: 0; }
.cron-setup dd > .hint { display: block; margin-top: .25rem; }
.cron-setup .copy-block { margin: 0; }
@media (max-width: 640px) { .cron-setup > div { grid-template-columns: 1fr; gap: .35rem; } }

/* Consistent field alignment across two-column forms. */
.form-grid { gap: 1.1rem 1.25rem; align-items: stretch; }
.form-grid > label { display: flex; flex-direction: column; margin: 0; font-weight: 600; }
.form-grid > label > input,
.form-grid > label > select,
.form-grid > label > textarea { margin-top: auto; }
.form-grid > label > .hint { margin-bottom: .55rem; }
.stack-form > .button { justify-self: start; }
@media (max-width: 640px) { .stack-form > .button { width: 100%; } }

/* Hosted R1 correction: compact text branding, one-level admin navigation and disciplined form layout. */
.admin-header-inner {
  min-height: 64px;
  padding: 0;
}
.admin-wordmark,
.app-wordmark,
.public-wordmark {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
}
.admin-wordmark { max-width: min(48vw, 520px); overflow: hidden; text-overflow: ellipsis; }
.admin-header .header-actions { flex-wrap: nowrap; }
.admin-header .theme-toggle,
.admin-header .button-secondary { min-height: 38px; }

.admin-primary-nav .admin-nav-list {
  min-height: 48px;
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  overflow: hidden;
}
.admin-primary-nav .nav-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  white-space: nowrap;
  padding: .72rem .68rem .61rem;
  font-size: .875rem;
  font-weight: 600;
}
.admin-primary-nav .nav-link.active { font-weight: 700; }

/* Do not make ordinary form copy look like headings. */
label,
.form-label,
.field-label,
.form-grid > label,
.stack-form > label { font-weight: 500; }
.field-label { margin-bottom: .3rem; }
.field-hint {
  margin: 0 0 .55rem;
  min-height: 0;
  font-size: .875rem;
  line-height: 1.4;
  font-weight: 400;
}
.field-hint-empty { display: none; }

.settings-form { gap: 1.5rem; }
.settings-section {
  padding: 1.5rem 1.6rem 1.65rem;
  border-left-width: 3px;
}
.settings-section h2 { margin-bottom: 1.3rem; }
.settings-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.45rem 2rem;
  align-items: start;
}
.settings-field {
  display: block;
  min-width: 0;
}
.settings-field > input,
.settings-field > select,
.settings-field > textarea,
.settings-field > .input-affix { margin-top: 0; }
.settings-field input,
.settings-field select,
.settings-field textarea,
.input-affix { min-height: 46px; }
.settings-field textarea { min-height: 110px; }
.settings-actions { padding: .15rem 0 1.25rem; }
.input-prefix,
.input-suffix { min-height: 46px; font-weight: 500; }
.input-affix .input-prefix + input { border-radius: 0 2px 2px 0; }
.input-affix input + .input-suffix { border-radius: 0 2px 2px 0; }

.search-form {
  grid-template-columns: minmax(300px, 620px) auto;
  gap: .75rem;
  align-items: end;
}
.search-field .field-label { margin-bottom: .35rem; }
.search-field input,
.search-form > .button { min-height: 46px; }

.metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.metric-card { min-height: 96px; }
.metric-card span { color: var(--muted); }
.metric-card strong { margin-top: .4rem; }

.admin-body .app-main { padding-top: 2.25rem; }
.admin-body .page-heading { margin-bottom: 1.8rem; }
.admin-body .page-heading h1 { max-width: none; }

.installer-brand {
  display: block;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
}

@media (max-width: 1180px) {
  .admin-header .nav-toggle { display: inline-flex; }
  .admin-primary-nav .admin-nav-list { display: none; min-height: auto; padding: .4rem 0; overflow: visible; }
  .admin-primary-nav.nav-open .admin-nav-list { display: flex; flex-direction: column; }
  .admin-primary-nav .nav-link {
    display: block;
    padding: .68rem .8rem;
    border-bottom: 0;
    border-left: 4px solid transparent;
  }
  .admin-primary-nav .nav-link.active { border-left-color: var(--brand); background: var(--surface-muted); }
}

@media (max-width: 760px) {
  .settings-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .search-form { grid-template-columns: 1fr; }
  .search-form > .button { width: 100%; }
}

@media (max-width: 640px) {
  .admin-header-inner,
  .header-inner {
    min-height: 62px;
    padding: .55rem 0;
    flex-direction: row;
    align-items: center;
  }
  .admin-header-inner .header-actions,
  .header-inner .header-actions {
    width: auto;
    margin-left: auto;
    justify-content: flex-end;
  }
  .admin-header .user-name { display: none; }
  .admin-wordmark { max-width: 44vw; font-size: 1rem; }
  .admin-header .theme-toggle { display: none; }
  .settings-section { padding: 1.15rem; }
}

/* R1 hosted correction: owner-configurable platform branding. */
.platform-logo {
  display: block;
  width: auto;
  height: 38px;
  max-width: 260px;
  object-fit: contain;
  object-position: left center;
}
.platform-logo-dark { display: none; }
html[data-theme="dark"] .platform-logo-light { display: none; }
html[data-theme="dark"] .platform-logo-dark { display: block; }
.platform-wordmark-text { display: block; overflow: hidden; text-overflow: ellipsis; }
.branding-section { margin-bottom: 1.5rem; }
.section-intro { max-width: 760px; margin: -.35rem 0 1.35rem; color: var(--muted); }
.branding-form { margin: 0; }
.branding-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem 2rem; }
.branding-field { min-width: 0; }
.branding-field input[type="file"] { width: 100%; min-height: 46px; padding: .55rem; background: var(--surface); border: 1px solid var(--border); }
.logo-preview { min-height: 82px; margin: 0 0 .75rem; padding: .85rem 1rem; border: 1px solid var(--border-soft); display: flex; align-items: center; }
.logo-preview-light { background: #f3f5f4; }
.logo-preview-dark { background: #203b3a; }
.logo-preview img { display: block; max-width: 100%; max-height: 56px; width: auto; height: auto; }
.checkbox-row { display: flex; align-items: center; gap: .55rem; margin-top: .65rem; font-weight: 400; }
.checkbox-row input { width: auto; min-height: 0; }
.branding-actions { margin-top: 1.25rem; }
.optional { font-weight: 400; color: var(--muted); }
@media (max-width: 760px) {
  .branding-grid { grid-template-columns: 1fr; }
  .platform-logo { height: 34px; max-width: 190px; }
}

/* R1 hosted correction 0.1.5: consistent spacing and field alignment. */
:root {
  --space-1: .375rem;
  --space-2: .625rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --control-height: 46px;
}

/* Keep page rhythm consistent instead of allowing each screen to invent its own gaps. */
.admin-body .app-main { padding: var(--space-5) 0 var(--space-6); }
.admin-body .page-heading { margin: 0 0 var(--space-5); }
.admin-body .page-heading h1 { margin-bottom: var(--space-2); }
.admin-body .page-heading p { margin: 0; }
.panel {
  margin-bottom: var(--space-4);
  padding: var(--space-4);
}
.two-column { gap: var(--space-4); }
.metric-grid { gap: var(--space-3); margin-bottom: var(--space-4); }
.metric-card { padding: var(--space-3); }

/* Forms use one vertical rhythm everywhere. */
.stack-form { gap: var(--space-4); }
.stack-form > label,
.form-grid > label { margin: 0; }
.form-grid { gap: var(--space-4) var(--space-5); align-items: stretch; }
.form-grid > label {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.form-grid > label > input,
.form-grid > label > select,
.form-grid > label > textarea,
.form-grid > label > .slug-input { margin-top: auto; }
label .hint,
.form-label .hint { margin: var(--space-1) 0 var(--space-2); }
input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input:not([type]), select, textarea {
  min-height: var(--control-height);
}
.button { min-height: var(--control-height); }
.form-actions, .button-row { gap: var(--space-3); }

/* Settings rows line up by reserving the same copy area before each control. */
.settings-form { gap: var(--space-4); }
.settings-section {
  margin: 0;
  padding: var(--space-4) var(--space-5) calc(var(--space-4) + .125rem);
}
.settings-section h2 { margin: 0 0 var(--space-4); }
.settings-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-5);
  align-items: stretch;
}
.settings-field {
  display: grid;
  grid-template-rows: minmax(1.45rem, auto) minmax(2.85rem, auto) auto;
  align-content: start;
  min-width: 0;
}
.settings-field .field-label {
  margin: 0;
  min-height: 1.45rem;
  line-height: 1.45;
}
.settings-field .field-hint {
  display: block;
  margin: var(--space-1) 0 var(--space-2);
  min-height: 2.15rem;
  line-height: 1.35;
}
.settings-field .field-hint-empty {
  display: block;
  visibility: hidden;
}
.settings-field > input,
.settings-field > select,
.settings-field > textarea,
.settings-field > .input-affix {
  align-self: end;
  width: 100%;
  max-width: none;
  margin: 0;
}
.settings-field > select,
.settings-field > input,
.settings-field > .input-affix { min-height: var(--control-height); }
.settings-actions { padding: 0 0 var(--space-4); }
.input-affix,
.input-affix input,
.input-prefix,
.input-suffix { min-height: var(--control-height); }

/* Branding uses the same card and field spacing as the rest of Settings. */
.branding-section { margin-bottom: var(--space-4); }
.section-intro { margin: -.25rem 0 var(--space-4); }
.branding-grid { gap: var(--space-4) var(--space-5); }
.branding-actions { margin-top: var(--space-4); }

/* Search controls must share the same baseline and height. */
.search-form { gap: var(--space-2); margin-bottom: var(--space-4); align-items: end; }
.search-field .field-label { margin-bottom: var(--space-2); }
.search-field input, .search-form > .button { min-height: var(--control-height); margin: 0; }

@media (max-width: 760px) {
  .settings-section { padding: var(--space-4); }
  .settings-grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .settings-field { grid-template-rows: auto auto auto; }
  .settings-field .field-hint,
  .settings-field .field-hint-empty { min-height: 0; }
  .settings-field .field-hint-empty { display: none; }
  .form-grid { gap: var(--space-4); }
}


/* R1 hosted correction 0.1.6: definitive form rhythm, row alignment and cache-safe UI. */
:root {
  --ui-gap-xs: .375rem;
  --ui-gap-sm: .625rem;
  --ui-gap-md: 1rem;
  --ui-gap-lg: 1.5rem;
  --ui-gap-xl: 2rem;
  --ui-control-h: 46px;
}

/* Ordinary form copy is regular-weight. Hierarchy belongs to headings, not every label. */
label,
.form-label,
.field-label,
.form-grid > label,
.stack-form > label,
.checkbox-row,
.check-row {
  font-weight: 400;
}

/* Cards and sections use one visible vertical rhythm. */
.panel { margin: 0 0 var(--ui-gap-lg); }
.settings-form {
  display: grid;
  gap: var(--ui-gap-lg);
}
.settings-form > .settings-section { margin: 0; }
.settings-section {
  padding: var(--ui-gap-lg) var(--ui-gap-xl);
}
.settings-section h2 { margin: 0 0 var(--ui-gap-lg); }
.branding-section { margin: 0 0 var(--ui-gap-lg); }
.section-intro { margin: -.2rem 0 var(--ui-gap-lg); max-width: 90ch; }

/* Two-column settings fields stretch as a pair; each control is pushed to the shared baseline. */
.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--ui-gap-xl);
  row-gap: var(--ui-gap-lg);
  align-items: stretch;
}
.settings-field {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.settings-field .field-label {
  margin: 0 0 var(--ui-gap-xs);
  line-height: 1.4;
  min-height: 0;
}
.settings-field .field-hint {
  display: block;
  margin: 0 0 var(--ui-gap-sm);
  min-height: 0;
  line-height: 1.4;
}
.settings-field .field-hint-empty {
  display: block;
  visibility: hidden;
}
.settings-field > input,
.settings-field > select,
.settings-field > textarea,
.settings-field > .input-affix {
  margin-top: auto;
  margin-bottom: 0;
  width: 100%;
  max-width: none;
  min-height: var(--ui-control-h);
}
.settings-field > select { width: 100%; }

/* The same baseline rule applies to ordinary two-column forms. */
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ui-gap-lg) var(--ui-gap-xl);
  align-items: stretch;
}
.form-grid > label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}
.form-grid > label > .hint { margin: var(--ui-gap-xs) 0 var(--ui-gap-sm); }
.form-grid > label > input,
.form-grid > label > select,
.form-grid > label > textarea,
.form-grid > label > .slug-input {
  margin-top: auto;
}

/* Branding behaves like every other settings row rather than a special loose block. */
.branding-form { margin: 0; }
.branding-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ui-gap-lg) var(--ui-gap-xl);
  align-items: stretch;
}
.branding-field {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.branding-field .field-label { margin: 0 0 var(--ui-gap-xs); }
.branding-field .field-hint { margin: 0 0 var(--ui-gap-sm); }
.branding-field .logo-preview { margin: 0 0 var(--ui-gap-sm); }
.branding-field input[type="file"] {
  display: block;
  width: 100%;
  min-height: var(--ui-control-h);
  margin: auto 0 0;
  padding: .25rem;
  border: 2px solid var(--border);
  border-radius: 1px;
  background: var(--surface);
  color: var(--text);
  font-weight: 400;
}
.branding-field input[type="file"]::file-selector-button {
  min-height: 36px;
  margin-right: .75rem;
  padding: .35rem .7rem;
  border: 1px solid var(--border);
  border-radius: 2px;
  background: var(--surface-muted);
  color: var(--text);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.branding-field input[type="file"]::file-selector-button:hover { background: var(--surface-strong); }
.logo-remove-slot {
  min-height: 2.15rem;
  padding-top: var(--ui-gap-xs);
}
.logo-remove-slot .checkbox-row { margin: 0; }
.branding-actions { margin-top: var(--ui-gap-lg); }

/* Search button and input are one row and one height. */
.search-form {
  display: grid;
  grid-template-columns: minmax(300px, 620px) auto;
  gap: var(--ui-gap-sm);
  align-items: end;
  justify-content: start;
  margin: 0 0 var(--ui-gap-lg);
}
.search-field { margin: 0; }
.search-field .field-label { margin: 0 0 var(--ui-gap-sm); }
.search-field input,
.search-form > .button {
  min-height: var(--ui-control-h);
  margin: 0;
}

/* Do not let stale CSS survive a release update: layouts append the VERSION query string. */
@media (max-width: 760px) {
  .settings-section { padding: var(--ui-gap-lg); }
  .settings-grid,
  .branding-grid,
  .form-grid,
  .search-form { grid-template-columns: 1fr; }
  .settings-grid,
  .branding-grid,
  .form-grid { gap: var(--ui-gap-lg); }
  .search-form > .button { width: 100%; }
  .settings-field .field-hint-empty { display: none; }
  .logo-remove-slot { min-height: 0; }
}

/* R2 — Business Page / Microsite */
.section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 var(--ui-gap-lg);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.section-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .65rem .8rem .55rem;
  border-bottom: 3px solid transparent;
  color: var(--text);
  font-weight: 700;
  text-decoration: none;
}
.section-nav-link:hover { background: var(--surface-muted); text-decoration: none; }
.section-nav-link.active { border-bottom-color: var(--brand); }
.status-strip {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 1rem 1.5rem;
  align-items: center;
  margin: 0 0 var(--ui-gap-lg);
  padding: 1rem 1.25rem;
  border: 1px solid var(--border);
  background: var(--surface-muted);
}
.status-strip a { overflow-wrap: anywhere; }
.compact-actions { margin: 0; }
.page-editor-form { gap: var(--ui-gap-lg); }
.page-editor-form > .panel { margin: 0; }
.aligned-fields > label,
.compact-form-grid > label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}
.aligned-fields > label > input,
.aligned-fields > label > select,
.aligned-fields > label > textarea,
.aligned-fields > label > .slug-input,
.compact-form-grid > label > input,
.compact-form-grid > label > select { margin-top: auto; max-width: none; }
.colour-field { width: 100% !important; max-width: 220px !important; min-height: 46px; padding: .2rem; }
.field-static { display:flex; flex-direction:column; gap:.375rem; min-width:0; }
.field-static .field-label { font-weight:400; }
.field-static .hint { margin:0; min-height:2.1rem; }
.empty-inline { display:inline-flex; align-items:center; min-height:46px; color:var(--muted); }
.page-admin-thumb { display:block; width:auto; max-width:100%; object-fit:contain; border:1px solid var(--border-soft); background:var(--surface-muted); }
.logo-thumb { max-height:90px; }
.cover-thumb { max-height:170px; }
.media-editor-columns { margin-top:.25rem; }
.media-form { display:grid; gap:1rem; align-content:start; }
.media-form label { margin:0; font-weight:400; }
.media-form input[type="file"] {
  width:100%; max-width:none; min-height:46px; margin-top:.4rem; padding:.25rem;
  border:2px solid var(--border); background:var(--surface); color:var(--text);
}
.media-form input[type="file"]::file-selector-button {
  min-height:36px; margin-right:.75rem; padding:.35rem .7rem; border:1px solid var(--border);
  background:var(--surface-muted); color:var(--text); font:inherit; font-weight:600; cursor:pointer;
}
.module-list { display:grid; gap:.65rem; margin-bottom:1rem; }
.module-row {
  display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:1rem; align-items:center;
  padding:.7rem .8rem; border:1px solid var(--border-soft); background:var(--surface-muted);
}
.module-row .checkbox-row { margin:0; }
.module-order { margin:0; font-weight:400; font-size:.88rem; }
.module-order input { margin-top:.25rem; min-height:40px; }
.sticky-page-actions {
  position:sticky; bottom:0; z-index:15; display:flex; gap:.65rem; align-items:center; flex-wrap:wrap;
  padding:.75rem 1rem; border:1px solid var(--border); background:color-mix(in srgb,var(--surface) 94%,transparent);
}
.publish-panel { border-left-color:var(--success-border); }
.scope-bar {
  display:grid; grid-template-columns:auto minmax(220px,380px) 1fr; gap:.75rem 1rem; align-items:center;
  margin:0 0 var(--ui-gap-lg); padding:.85rem 1rem; border:1px solid var(--border); background:var(--surface-muted);
}
.scope-bar label { margin:0; font-weight:600; }
.scope-bar select { width:100%; max-width:none; margin:0; min-height:44px; }
.scope-note { color:var(--muted); }
.content-columns { gap:var(--ui-gap-lg); }
.record-list { display:grid; gap:.8rem; }
.record-item {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:start;
  padding:1rem 0; border-top:1px solid var(--border-soft);
}
.record-item:first-child { border-top:0; padding-top:0; }
.record-item:last-child { padding-bottom:0; }
.record-item h3 { margin-bottom:.35rem; }
.record-item p:last-child { margin-bottom:0; }
.record-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.65rem; }
.admin-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.gallery-admin-item { min-width:0; border:1px solid var(--border); background:var(--surface-muted); padding:.8rem; }
.gallery-admin-item > img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; margin-bottom:.8rem; background:var(--surface-strong); }
.gallery-admin-item .stack-form { gap:.65rem; }
.gallery-admin-item label { margin:0; }
.gallery-admin-item .record-actions { justify-content:flex-start; margin-top:.8rem; }
.hours-table { border-top:1px solid var(--border); }
.hours-row {
  display:grid; grid-template-columns:minmax(120px,1fr) minmax(130px,180px) minmax(130px,180px) minmax(95px,auto);
  gap:1rem; align-items:end; padding:.7rem 0; border-bottom:1px solid var(--border-soft);
}
.hours-row > strong { align-self:center; }
.time-field { margin:0; font-weight:400; }
.time-field input { min-height:42px; margin-top:.25rem; }
.hours-closed { align-self:center; margin:0; }
.tag-list { display:grid; gap:.5rem; margin-top:1rem; }
.tag-record { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:.65rem .75rem; border:1px solid var(--border-soft); background:var(--surface-muted); }
.trust-admin-panel { display:flex; justify-content:space-between; gap:1.5rem; align-items:center; }
.google-summary { margin-bottom:.3rem; }
.google-summary strong { font-size:1.35rem; }
.review-record { grid-template-columns:1fr; }
.review-edit-form { display:grid; grid-template-columns:minmax(150px,.6fr) minmax(160px,.7fr) minmax(260px,1.6fr) auto; gap:.8rem; align-items:end; }
.review-edit-form label { margin:0; font-weight:400; }
.review-edit-form input { max-width:none; }
.qr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ui-gap-lg); }
.qr-card { margin:0; }
.qr-preview { width:min(260px,100%); padding:.75rem; background:#fff; border:1px solid var(--border); }
.qr-preview svg { display:block; width:100%; height:auto; }
.preserve-lines { white-space:normal; }
.settings-hub { grid-template-columns:repeat(4,minmax(0,1fr)); }

/* R2 public Business Page */
.business-page-html { scroll-behavior:smooth; }
.business-public-body {
  --client-brand:#234846;
  --client-brand-text:#fff;
  min-height:100vh; min-height:100dvh; display:flex; flex-direction:column;
  background:var(--page); color:var(--text);
}
.business-public-wrap { width:min(calc(100% - 2rem),1120px); margin-inline:auto; }
.preview-banner { background:var(--warning-bg); border-bottom:1px solid var(--warning-border); }
.preview-banner .business-public-wrap { display:flex; gap:.75rem; align-items:center; min-height:48px; padding:.5rem 0; }
.business-public-main { flex:1 0 auto; }
.business-identity { background:var(--surface); border-bottom:1px solid var(--border); }
.identity-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:clamp(1.5rem,4vw,3rem); align-items:center; padding:clamp(2rem,5vw,4rem) 0; }
.identity-grid:has(.identity-cover:only-child) { grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); }
.identity-copy { min-width:0; }
.business-logo { display:block; max-width:min(280px,68%); max-height:92px; width:auto; height:auto; object-fit:contain; margin:0 0 1.4rem; }
.business-location-kicker { margin:0 0 .45rem; color:var(--muted); font-weight:700; }
.business-identity h1 { max-width:18ch; margin:0 0 .75rem; font-size:clamp(2.25rem,6vw,4rem); }
.business-lead { max-width:55ch; font-size:clamp(1.08rem,2vw,1.32rem); color:var(--muted); margin-bottom:.8rem; }
.business-address { color:var(--muted); max-width:65ch; }
.identity-cover img { display:block; width:100%; max-height:420px; aspect-ratio:4/3; object-fit:cover; border:1px solid var(--border-soft); }
.business-action-row { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.25rem; }
.business-button {
  appearance:none; display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:.55rem .9rem;
  border:2px solid var(--client-brand); border-radius:3px; font:inherit; font-weight:800; text-decoration:none; cursor:pointer;
}
.business-button.primary { background:var(--client-brand); color:var(--client-brand-text); }
.business-button.secondary { background:var(--surface); color:var(--text); }
.business-button:hover { filter:brightness(.94); text-decoration:none; }
.location-switcher { background:var(--surface-muted); border-bottom:1px solid var(--border); }
.location-switcher .business-public-wrap { display:flex; gap:1rem; align-items:center; padding:.8rem 0; }
.location-links { display:flex; flex-wrap:wrap; gap:.35rem .9rem; }
.location-links a { color:var(--text); font-weight:650; text-decoration:none; border-bottom:2px solid transparent; }
.location-links a.active { border-bottom-color:var(--client-brand); }
.business-content { padding:clamp(1.5rem,4vw,3rem) 0 3.5rem; }
.business-section { padding:clamp(1.35rem,3vw,2.15rem) 0; border-bottom:1px solid var(--border-soft); }
.business-section:first-child { padding-top:0; }
.business-section:last-child { border-bottom:0; }
.business-section h2 { margin-bottom:1rem; font-size:clamp(1.45rem,3vw,2rem); }
.prose-copy { max-width:72ch; }
.prose-copy p { white-space:normal; }
.trust-grid { display:grid; grid-template-columns:minmax(220px,.6fr) minmax(0,1fr); gap:1.5rem; align-items:start; }
.google-trust { display:grid; gap:.2rem; padding:1rem 1.1rem; border-left:4px solid var(--client-brand); background:var(--surface-muted); }
.google-rating { font-size:1.6rem; }
.google-trust small { margin-top:.3rem; }
.credentials-copy { max-width:70ch; }
.service-public-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1.25rem; }
.service-public-item { padding:1rem 0; border-top:1px solid var(--border-soft); }
.service-public-item h3 { margin-bottom:.35rem; }
.service-public-item p { margin-bottom:0; color:var(--muted); }
.public-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.public-gallery figure { margin:0; overflow:hidden; border:1px solid var(--border-soft); background:var(--surface-muted); }
.public-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.hours-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.public-hours { margin:0; border-top:1px solid var(--border); }
.public-hours > div { display:grid; grid-template-columns:1fr auto; gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--border-soft); }
.public-hours dt { font-weight:650; }
.public-hours dd { margin:0; }
.area-public-list { padding-left:1.2rem; }
.area-public-list li { margin:.35rem 0; }
.reviews-section,.recommend-section,.contact-section { scroll-margin-top:1rem; }
.review-actions { margin-top:.9rem; }
.enquiry-box { margin-top:1.75rem; padding:1.25rem; border:1px solid var(--border); border-left:4px solid var(--client-brand); background:var(--surface); }
.enquiry-box h3 { font-size:1.35rem; }
.public-enquiry-form { display:grid; gap:1rem; }
.public-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.25rem; }
.public-form-grid label { display:flex; flex-direction:column; margin:0; font-weight:400; }
.public-form-grid input,.public-form-grid textarea { max-width:none; margin-top:auto; }
.bot-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.social-public-list { display:flex; flex-wrap:wrap; gap:.5rem 1rem; list-style:none; padding:0; margin:0; }
.social-public-list li { margin:0; }
.share-status { min-height:1.5rem; margin:.5rem 0 0; color:var(--muted); }
.business-legal { color:var(--muted); font-size:.92rem; }
.business-public-footer { margin-top:auto; border-top:1px solid var(--border); background:var(--surface-muted); color:var(--muted); }
.business-public-footer .business-public-wrap { padding:1.1rem 0; }

@media (max-width: 1000px) {
  .admin-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-edit-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-edit-form .button { justify-self:start; }
  .settings-hub { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .identity-grid { grid-template-columns:1fr; padding-top:2rem; }
  .identity-cover { order:-1; }
  .identity-cover img { max-height:320px; }
  .trust-grid,.hours-area-grid { grid-template-columns:1fr; }
  .public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-public-grid { grid-template-columns:1fr; }
  .hours-row { grid-template-columns:1fr 1fr; }
  .hours-row > strong { grid-column:1/-1; }
  .hours-closed { align-self:end; min-height:42px; }
  .scope-bar { grid-template-columns:1fr; }
  .scope-note { display:none; }
}
@media (max-width: 640px) {
  .business-public-wrap { width:min(calc(100% - 1.25rem),1120px); }
  .preview-banner .business-public-wrap { align-items:flex-start; flex-direction:column; gap:.15rem; padding:.65rem 0; }
  .business-logo { max-width:78%; }
  .business-action-row .business-button { flex:1 1 calc(50% - .4rem); }
  .location-switcher .business-public-wrap { align-items:flex-start; flex-direction:column; gap:.45rem; }
  .public-gallery { grid-template-columns:1fr; }
  .public-form-grid { grid-template-columns:1fr; }
  .public-form-grid .span-2 { grid-column:auto; }
  .admin-gallery,.qr-grid,.settings-hub { grid-template-columns:1fr; }
  .record-item { grid-template-columns:1fr; }
  .record-actions { justify-content:flex-start; }
  .hours-row { grid-template-columns:1fr; }
  .hours-row > strong { grid-column:auto; }
  .module-row { grid-template-columns:1fr; }
  .module-order { max-width:140px; }
  .trust-admin-panel { align-items:flex-start; flex-direction:column; }
  .review-edit-form { grid-template-columns:1fr; }
  .section-nav { overflow-x:auto; flex-wrap:nowrap; scrollbar-width:thin; }
  .section-nav-link { white-space:nowrap; }
  .status-strip { grid-template-columns:1fr; }
  .sticky-page-actions { position:static; }
}
.aligned-fields > label > select,
.compact-form-grid > label > select { width:100%; }
.aligned-fields input[type="file"] {
  width:100%; max-width:none; min-height:46px; margin-top:auto; padding:.25rem;
  border:2px solid var(--border); background:var(--surface); color:var(--text);
}
.aligned-fields input[type="file"]::file-selector-button {
  min-height:36px; margin-right:.75rem; padding:.35rem .7rem; border:1px solid var(--border);
  background:var(--surface-muted); color:var(--text); font:inherit; font-weight:600; cursor:pointer;
}

/* R2 hosted correction 0.2.1: use available width, focused settings flow, restrained header controls. */
:root {
  --max: 1720px;
  --admin-max: 1760px;
  --content-gutter: clamp(1.25rem, 3.25vw, 4rem);
}
.content-wrap,
.header-inner,
.public-header-inner,
.admin-header-inner {
  width: min(calc(100% - (var(--content-gutter) * 2)), var(--max));
  max-width: var(--max);
}
.content-wrap.admin-wide,
.admin-header-inner,
.admin-primary-nav .admin-nav-list {
  width: min(calc(100% - (var(--content-gutter) * 2)), var(--admin-max));
  max-width: var(--admin-max);
}
.content-wrap.wide,
.content-wrap.public-wide { max-width: var(--max); }
.site-body .public-main > .content-wrap.public-wide { min-height: 0; }
.site-body .hero-block { max-width: 1180px; }

.header-site-link {
  color: var(--brand-text);
  font-size: .92rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  white-space: nowrap;
}
.header-site-link:hover { text-decoration-thickness: 2px; }
.theme-toggle.theme-toggle-quiet {
  min-height: 34px;
  padding: .25rem .4rem;
  border-color: transparent;
  font-size: .88rem;
  font-weight: 600;
  opacity: .84;
}
.theme-toggle.theme-toggle-quiet:hover {
  opacity: 1;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.35);
}

/* Platform settings are separate, focused screens rather than one long form. */
.settings-heading { margin-bottom: 1rem; }
.settings-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 1.5rem;
  border-bottom: 1px solid var(--border);
}
.settings-section-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .55rem .9rem .45rem;
  color: var(--text);
  text-decoration: none;
  border-bottom: 4px solid transparent;
  font-weight: 700;
}
.settings-section-link:hover { background: var(--surface-muted); }
.settings-section-link.active { border-bottom-color: var(--brand); }
.settings-form { display: block; }
.settings-section { margin: 0 0 1.5rem; padding: 1.6rem 1.75rem 1.75rem; }
.settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.settings-actions { margin-top: .25rem; padding: 0 0 .5rem; }
.branding-grid { gap: 1.5rem 2rem; }

/* Use space intelligently on data and admin screens. */
.admin-body .page-heading { max-width: 1180px; }
.admin-body .panel:not(.auth-width) { width: 100%; }
.admin-body .table-wrap { width: 100%; }

@media (max-width: 900px) {
  :root { --content-gutter: 1.15rem; }
  .settings-grid, .branding-grid { grid-template-columns: 1fr; }
  .settings-section-nav { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; }
  .settings-section-link { white-space: nowrap; }
}
@media (max-width: 640px) {
  :root { --content-gutter: .8rem; }
  .header-site-link { font-size: .86rem; }
  .theme-toggle.theme-toggle-quiet { display: inline-flex; }
  .settings-section { padding: 1.15rem; }
}

.front-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding: clamp(2rem, 5vw, 5rem) 0;
  border-bottom: 1px solid var(--border);
}
.front-access-copy { padding-top: .35rem; }
.front-access-copy h1 { max-width: 18ch; font-size: clamp(2.8rem, 5vw, 5rem); }
.front-access-copy .lead { max-width: 54ch; }
.front-access-actions {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--brand);
  padding: clamp(1.35rem, 2.5vw, 2rem);
}
.front-access-actions h2 { margin-bottom: .7rem; }
.compact-button-row { margin-bottom: 0; }
@media (max-width: 900px) {
  .front-access-grid { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 0; }
}

/* R2 hosted correction 0.2.2: admin business controls, provider testing and definitive settings spacing. */
.settings-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
}
.settings-form > .settings-section { margin: 0 !important; }
.settings-actions { margin: 0; padding: 0 0 .5rem; }
.settings-context-link {
  margin: -.5rem 0 1.5rem;
  padding: .8rem 1rem;
  border-left: 4px solid var(--brand);
  background: var(--surface-muted);
  max-width: 90ch;
}

.search-filter-form {
  display: grid;
  grid-template-columns: minmax(320px, 1.5fr) minmax(180px, .45fr) minmax(180px, .45fr) auto;
  gap: 1rem;
  align-items: end;
  margin: 0 0 1.5rem;
}
.search-filter-form .search-field,
.search-filter-form .filter-field { min-width: 0; }
.search-filter-form input,
.search-filter-form select { width: 100%; max-width: none; margin: .35rem 0 0; }
.search-filter-form .button { margin: 0; }

.business-admin-heading .actions-heading { align-items: end; }
.business-admin-status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.business-admin-status-grid > .panel { margin: 0; }
.business-admin-control { min-height: 100%; }
.business-admin-control.control-ok { border-left-color: var(--success-border); }
.business-admin-control.control-danger { border-left-color: var(--danger-border); }
.control-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.control-heading h2 { margin-bottom: .35rem; }
.control-heading p { margin: 0; }
.delist-form { display: grid; gap: .65rem; margin-top: 1rem; }
.delist-form textarea { width: 100%; max-width: none; margin: 0; min-height: 96px; }
.delist-form .button { justify-self: start; }

.provider-transport-panel { margin-bottom: 1.75rem; }
.provider-settings-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  margin: 0 0 1.75rem;
}
.provider-settings-form > .panel,
.provider-grid > .panel,
.provider-test-grid > .panel { margin: 0; }
.provider-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem;
  align-items: start;
}
.provider-section { padding: 1.6rem 1.75rem; }
.provider-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.provider-choice {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .8rem;
  align-items: start;
  min-height: 92px;
  margin: 0;
  padding: 1rem;
  border: 2px solid var(--border);
  background: var(--surface-muted);
  cursor: pointer;
}
.provider-choice.is-selected { border-color: var(--brand); background: var(--surface); }
.provider-choice input { width: 20px; height: 20px; margin-top: .15rem; }
.provider-choice strong { display: block; margin-bottom: .3rem; }
.provider-choice small { display: block; color: var(--muted); line-height: 1.4; }
.provider-fields { display: grid; gap: 1.15rem; }
.provider-fields > label { margin: 0; }
.provider-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem 1.5rem;
  align-items: stretch;
}
.provider-form-grid > label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}
.provider-form-grid > label > input,
.provider-form-grid > label > select { width: 100%; max-width: none; margin-top: auto; }
.google-provider-grid { max-width: 900px; }
.provider-save-bar { margin-top: -.25rem; }
.provider-test-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}
.provider-test-card { height: 100%; }
.provider-test-card .button { justify-self: start; }

@media (max-width: 1100px) {
  .search-filter-form { grid-template-columns: minmax(0,1fr) repeat(2,minmax(160px,.4fr)); }
  .search-filter-form .button { grid-column: 1 / -1; justify-self: start; }
  .provider-test-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .business-admin-status-grid,
  .provider-grid,
  .provider-choice-grid,
  .provider-form-grid,
  .provider-test-grid,
  .search-filter-form { grid-template-columns: 1fr; }
  .search-filter-form .button { grid-column: auto; }
  .control-heading { align-items: flex-start; flex-direction: column; }
}

/* R2 hosted correction: explicit platform/client favicon branding controls. */
.branding-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.favicon-preview { width: 64px; height: 64px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); background:var(--surface-muted); margin:0 0 var(--ui-gap-sm); padding:.4rem; }
.favicon-preview img { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.branding-colour-row { margin-bottom: var(--ui-gap-lg); max-width: 50%; }
.brand-media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ui-gap-lg); align-items:stretch; }
.brand-media-card { min-width:0; border:1px solid var(--border-soft); background:var(--surface-muted); padding:var(--ui-gap-lg); display:flex; flex-direction:column; gap:var(--ui-gap-md); }
.brand-media-heading h3 { margin:0 0 var(--ui-gap-xs); font-size:1.1rem; }
.brand-media-heading p { margin:0; color:var(--muted); }
.brand-media-preview { min-height:112px; max-height:180px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); background:var(--surface); padding:.75rem; }
.brand-media-preview img { display:block; max-width:100%; max-height:154px; object-fit:contain; }
.favicon-preview-client { min-height:112px; }
.favicon-preview-client img { max-width:72px; max-height:72px; }
.cover-preview-client img { width:100%; object-fit:cover; }
.brand-media-empty { min-height:112px; display:flex; align-items:center; justify-content:center; border:1px dashed var(--border); color:var(--muted); background:var(--surface); }
.compact-media-form { display:flex; flex-direction:column; gap:var(--ui-gap-md); margin:0; }
.compact-media-form label { margin:0; }
.compact-media-form input[type=file], .compact-media-form input[type=text] { width:100%; max-width:none; }
.media-remove-form { margin:0; }
@media (max-width: 1100px) { .branding-grid, .brand-media-grid { grid-template-columns:1fr 1fr; } .branding-colour-row { max-width:none; } }
@media (max-width: 720px) { .branding-grid, .brand-media-grid { grid-template-columns:1fr; } }

/* R2 hosted correction 0.2.9: integrated colour picker; no browser/OS colour dialog. */
.brand-colour-field { max-width: 980px; }
.brand-colour-field > .field-label { display:block; margin:0 0 .2rem; font-weight:400; }
.brand-colour-field > .hint { display:block; margin:0 0 .85rem; max-width:72ch; }
.brand-colour-picker {
  display:grid;
  grid-template-columns:minmax(320px, 1.35fr) minmax(250px, .65fr);
  gap:var(--space-5);
  padding:var(--space-5);
  border:1px solid var(--border);
  background:var(--surface-muted);
}
.brand-colour-workspace { display:grid; gap:var(--space-3); min-width:0; }
.brand-colour-plane {
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  min-height:220px;
  max-height:340px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius);
  cursor:crosshair;
  touch-action:none;
  background-image:
    linear-gradient(to top, #000 0%, rgba(0,0,0,0) 100%),
    linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);
  background-color:#f00;
}
.brand-colour-plane:focus-visible,
.brand-colour-hue:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.brand-colour-plane-cursor {
  position:absolute;
  width:20px;
  height:20px;
  transform:translate(-50%, -50%);
  border:3px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(0,0,0,.8), 0 1px 4px rgba(0,0,0,.35);
  pointer-events:none;
}
.brand-colour-hue {
  position:relative;
  height:28px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  cursor:ew-resize;
  touch-action:none;
  background:linear-gradient(to right,
    #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%);
}
.brand-colour-hue-cursor {
  position:absolute;
  top:-4px;
  width:10px;
  height:34px;
  transform:translateX(-50%);
  border:2px solid #fff;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.8), 0 1px 3px rgba(0,0,0,.3);
  background:transparent;
  pointer-events:none;
}
.brand-colour-instructions { margin:0; color:var(--muted); font-size:.9rem; max-width:68ch; }
.brand-colour-details { display:flex; flex-direction:column; gap:var(--space-4); min-width:0; }
.brand-colour-current {
  display:flex;
  align-items:center;
  gap:var(--space-3);
  min-height:72px;
  padding:var(--space-3);
  border:1px solid var(--border-soft);
  background:var(--surface);
}
.brand-colour-current-swatch {
  display:block;
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid var(--border);
  border-radius:var(--radius);
}
.brand-colour-current-text { display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.brand-colour-current-text strong { font-size:.94rem; font-weight:600; }
.brand-colour-current-text span { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9rem; }
.brand-colour-custom { display:grid; gap:.35rem; margin:0; font-weight:400; }
.brand-colour-custom > span:first-child { font-weight:400; }
.brand-colour-custom .hint { margin:0; min-height:0; }
.brand-colour-hex-wrap {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:stretch;
  width:100%;
  max-width:300px;
  border:2px solid var(--border);
  background:var(--surface);
}
.brand-colour-hash {
  display:grid;
  place-items:center;
  border-right:1px solid var(--border);
  color:var(--muted);
  background:var(--surface-muted);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.brand-colour-hex {
  width:100% !important;
  max-width:none !important;
  min-height:44px;
  margin:0 !important;
  padding:.55rem .7rem !important;
  border:0 !important;
  background:transparent !important;
  color:var(--text) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  text-transform:uppercase;
}
.brand-colour-hex-wrap:focus-within { outline:3px solid var(--focus); box-shadow:0 0 0 1px var(--focus-text); }
.brand-colour-hex:focus { outline:0; box-shadow:none; }
.brand-colour-hex:invalid:not(:placeholder-shown) { box-shadow:inset 4px 0 0 var(--danger-border); }
.brand-colour-presets { display:grid; gap:.5rem; }
.brand-colour-presets-label { font-size:.9rem; color:var(--muted); }
.brand-colour-preset-row { display:flex; flex-wrap:wrap; gap:.6rem; }
.brand-colour-preset {
  position:relative;
  width:38px;
  height:38px;
  padding:0;
  border:2px solid rgba(0,0,0,.25);
  border-radius:var(--radius);
  cursor:pointer;
}
html[data-theme="dark"] .brand-colour-preset { border-color:rgba(255,255,255,.35); }
.brand-colour-preset:hover { outline:2px solid var(--text); outline-offset:2px; }
.brand-colour-preset[aria-pressed="true"]::after {
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  text-shadow:0 1px 2px #000, 0 0 2px #000;
  font-weight:800;
  font-size:1rem;
}
.brand-colour-help { margin:auto 0 0; color:var(--muted); font-size:.9rem; }
@media (max-width: 820px) {
  .brand-colour-picker { grid-template-columns:1fr; }
  .brand-colour-plane { min-height:200px; }
  .brand-colour-field { max-width:none; }
}
@media (max-width: 520px) {
  .brand-colour-picker { padding:var(--space-4); }
  .brand-colour-plane { min-height:180px; aspect-ratio:4 / 3; }
}


/* R2 hosted correction 0.2.10: consistent editor spacing, uploads and opening-hours controls. */
.page-editor-sections {
  display: grid;
  gap: var(--ui-gap-lg);
  margin: 0 0 var(--ui-gap-lg);
}
.page-editor-sections > .panel { margin: 0; }
.content-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ui-gap-lg);
}
.content-form-grid > label { margin: 0; min-width: 0; }
.content-form-grid textarea { width: 100%; max-width: none; }
.file-input-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.file-upload-field { display: grid; gap: .45rem; min-width: 0; }
.file-upload-field > .field-label { font-weight: 400; }
.file-upload-field > .hint { margin: 0; }
.file-upload-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  min-width: 0;
}
.file-choice-button { margin: 0; flex: 0 0 auto; }
.file-name { color: var(--muted); min-width: 0; overflow-wrap: anywhere; }
.brand-media-card .button { align-self: flex-start; }
.brand-media-card .compact-media-form > .button { min-width: 150px; }
.brand-media-preview [data-selected-image] { width: 100%; max-height: 154px; object-fit: contain; }
.gallery-upload-form {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(320px, 1.45fr);
  gap: var(--ui-gap-lg);
  align-items: start;
}
.gallery-upload-preview { min-height: 210px; max-height: 320px; }
.gallery-upload-preview img { max-height: 290px; }
.gallery-upload-fields { display: grid; gap: var(--ui-gap-md); min-width: 0; }
.gallery-upload-fields > label { margin: 0; }
.gallery-upload-fields > .button { justify-self: start; }

.hours-row {
  grid-template-columns: minmax(150px, 1fr) minmax(190px, 230px) minmax(190px, 230px) minmax(110px, auto);
  column-gap: 1.5rem;
  row-gap: .75rem;
  align-items: center;
  padding: .9rem 0;
}
.time-field {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .7rem;
  align-items: center;
  margin: 0;
  font-weight: 400;
}
.time-field > span { white-space: nowrap; }
.time-field input {
  width: 100%;
  max-width: none;
  min-height: 44px;
  margin: 0;
}
.hours-closed { gap: .6rem; align-self: center; }

.platform-branding-upload {
  display: grid;
  gap: var(--ui-gap-sm);
}
.platform-branding-upload-preview {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.platform-branding-upload-preview img {
  display: block;
  max-height: 82px;
  max-width: 280px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .content-form-grid, .gallery-upload-form { grid-template-columns: 1fr; }
  .hours-row { grid-template-columns: 1fr 1fr; }
  .hours-row > strong { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .hours-row { grid-template-columns: 1fr; }
  .hours-row > strong { grid-column: auto; }
  .time-field { grid-template-columns: 72px minmax(0,1fr); }
}

/* R2 hosted correction 0.2.11: expanded microsite, wider client editor, structured modules, lightbox and print assets. */
.app-body .content-wrap.wide,
.app-body .header-inner,
.app-body .context-bar .content-wrap,
.app-body .app-nav .content-wrap { max-width: 1760px; }
.app-body .app-main > .content-wrap.wide { width:min(calc(100% - 3rem),1760px); }
.business-page-nav { gap:.15rem; padding-bottom:.15rem; }
.business-page-nav .section-nav-link { padding-inline:.7rem; }
.subsection-tabs { display:flex; flex-wrap:wrap; gap:.2rem; margin:0 0 var(--space-5); border-bottom:1px solid var(--border); }
.subsection-tab { color:var(--text); text-decoration:none; padding:.65rem .8rem .55rem; border-bottom:4px solid transparent; font-weight:700; }
.subsection-tab:hover { background:var(--surface-muted); }
.subsection-tab.active { border-bottom-color:var(--brand); }
.structured-content-panel,.content-settings-panel { margin-bottom:var(--ui-gap-lg); }
.structured-item-list { display:grid; gap:var(--ui-gap-md); margin-bottom:var(--ui-gap-lg); }
.structured-item-card { display:grid; grid-template-columns:180px minmax(0,1fr); gap:var(--ui-gap-md); padding:var(--ui-gap-md); border:1px solid var(--border-soft); background:var(--surface-muted); }
.structured-item-card:not(:has(.structured-item-thumb)) { grid-template-columns:1fr; }
.structured-item-thumb { width:180px; height:130px; object-fit:cover; border:1px solid var(--border); background:var(--surface); }
.structured-item-form { min-width:0; }
.structured-item-form .record-actions { margin-top:var(--ui-gap-sm); }
.secondary-actions { grid-column:1/-1; margin-top:0; padding-top:.65rem; border-top:1px solid var(--border-soft); }
.add-structured-item { border-top:1px solid var(--border-soft); padding-top:var(--ui-gap-sm); }
.add-structured-item > summary { cursor:pointer; font-weight:700; padding:.45rem 0; }
.structured-add-form { margin-top:var(--ui-gap-md); }
.document-upload-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ui-gap-md); align-items:end; }
.document-list { margin-top:var(--ui-gap-md); }
.danger-link { color:#8c352f; }
.brand-media-preview [hidden], .gallery-upload-preview [hidden] { display:none !important; }
.brand-media-preview img:not([src]), .gallery-upload-preview img:not([src]) { display:none !important; }

/* Public Business Page: intentionally broader and more expressive than the admin UI while retaining the same restrained design language. */
.business-public-wrap { width:min(calc(100% - clamp(2rem,5vw,6rem)),1580px); margin-inline:auto; }
.business-public-main { background:var(--page); }
.business-identity { background:var(--surface); border-bottom:1px solid var(--border-soft); }
.identity-grid { grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:clamp(2rem,5vw,5rem); padding:clamp(2.75rem,6vw,6rem) 0; }
.compact-identity .identity-grid { grid-template-columns:minmax(0,860px); justify-content:center; text-align:center; }
.compact-identity .business-action-row { justify-content:center; }
.full-identity .identity-copy { max-width:760px; }
.identity-cover { min-height:390px; max-height:560px; border:1px solid var(--border-soft); overflow:hidden; background:var(--surface-muted); }
.identity-cover img { width:100%; height:100%; min-height:390px; max-height:560px; object-fit:cover; }
.business-logo { max-width:min(360px,75%); max-height:120px; width:auto; height:auto; object-fit:contain; margin-bottom:1.35rem; }
.business-location-kicker,.section-kicker { margin:0 0 .45rem; color:var(--brand); text-transform:uppercase; letter-spacing:.09em; font-size:.77rem; font-weight:800; }
.business-identity h1 { max-width:20ch; font-size:clamp(2.7rem,5vw,5.5rem); letter-spacing:-.03em; }
.compact-identity h1 { margin-inline:auto; }
.business-lead { max-width:58ch; font-size:clamp(1.12rem,1.6vw,1.45rem); color:var(--muted); }
.business-address { color:var(--muted); }
.hero-actions { margin-top:1.5rem; }
.location-switcher { background:var(--surface-muted); border-bottom:1px solid var(--border-soft); }
.location-switcher .business-public-wrap { min-height:58px; }
.business-content { padding:clamp(2rem,4vw,4rem) 0 5rem; display:grid; gap:clamp(1.4rem,2.5vw,2.4rem); }
.business-section { margin:0; padding:clamp(1.5rem,2.8vw,2.7rem); border:1px solid var(--border-soft); border-left:4px solid var(--brand); background:var(--surface); border-radius:var(--radius); }
.full-business-content .business-section:nth-child(even) { background:var(--surface-muted); }
.compact-business-content { max-width:980px; }
.compact-business-content .business-section { padding:clamp(1.5rem,4vw,3rem); }
.compact-business-content .reviews-section,.compact-business-content .recommend-section,.compact-business-content .contact-section { text-align:center; }
.compact-business-content .business-action-row { justify-content:center; }
.section-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; margin-bottom:1rem; }
.google-trust-inline { display:flex; align-items:baseline; gap:.35rem; padding:.65rem .8rem; border:1px solid var(--border); background:var(--surface); white-space:nowrap; }
.google-trust-inline strong { font-size:1.8rem; }
.trust-intro { max-width:80ch; }
.trust-subsection + .trust-subsection { margin-top:1.5rem; }
.trust-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.trust-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.9rem; padding:1rem; border:1px solid var(--border-soft); background:var(--surface); }
.trust-card img { width:64px; height:64px; object-fit:contain; background:#fff; border:1px solid var(--border-soft); padding:.25rem; }
.trust-card strong,.trust-card span { display:block; }
.trust-card span { color:var(--muted); font-size:.9rem; }
.key-fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:1.4rem; }
.key-fact { padding:1rem; border-top:4px solid var(--brand); background:var(--surface-muted); }
.key-fact strong { display:block; font-size:1.5rem; }
.key-fact span { display:block; color:var(--muted); }
.service-public-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-public-item { padding:1.1rem; border:1px solid var(--border-soft); background:var(--surface); }
.visual-card-grid,.team-grid,.offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.visual-card,.team-card,.offer-card { border:1px solid var(--border-soft); background:var(--surface); overflow:hidden; }
.visual-card > img,.offer-card > img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.team-card > img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.visual-card-body,.team-card,.offer-card > div { padding:1rem; }
.team-card > img + h3,.team-card > img + h3 + p { margin-left:1rem; margin-right:1rem; }
.team-card > img + h3 { margin-top:1rem; }
.item-subtitle { color:var(--muted); font-size:.92rem; }
.item-value,.price-value { display:block; margin:.6rem 0; font-size:1.3rem; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.pricing-card { display:flex; flex-direction:column; gap:.55rem; padding:1.2rem; border:1px solid var(--border-soft); background:var(--surface); }
.pricing-card .business-button { align-self:flex-start; margin-top:auto; }
.public-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; }
.public-gallery figure { border:0; background:transparent; }
.gallery-lightbox-trigger { display:block; width:100%; padding:0; border:1px solid var(--border-soft); background:var(--surface); cursor:zoom-in; }
.public-gallery img { aspect-ratio:4/3; transition:transform .16s ease; }
.gallery-lightbox-trigger:hover img { transform:scale(1.025); }
.public-gallery figcaption { margin-top:.45rem; color:var(--muted); font-size:.88rem; }
.gallery-lightbox { width:min(94vw,1400px); max-width:none; height:min(92vh,950px); padding:0; border:1px solid #555; background:#0f1211; color:#fff; }
.gallery-lightbox::backdrop { background:rgba(0,0,0,.82); }
.gallery-lightbox[open] { display:grid; grid-template-columns:70px minmax(0,1fr) 70px; align-items:center; }
.gallery-lightbox figure { margin:0; padding:2rem; text-align:center; }
.gallery-lightbox img { max-width:100%; max-height:78vh; object-fit:contain; }
.gallery-lightbox figcaption { margin-top:.8rem; color:#dce5e2; }
.gallery-lightbox-close { position:absolute; right:1rem; top:1rem; z-index:2; width:44px; height:44px; border:1px solid #999; background:#171c1b; color:#fff; font-size:2rem; cursor:pointer; }
.gallery-lightbox-nav { height:100%; border:0; background:transparent; color:#fff; font-size:3rem; cursor:pointer; }
.info-surface { padding:1.2rem; border:1px solid var(--border-soft); background:var(--surface); }
.hours-area-grid,.visit-grid,.practical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.facility-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; align-content:start; }
.facility-item { padding:.9rem; border:1px solid var(--border-soft); background:var(--surface); }
.facility-item strong,.facility-item span { display:block; }
.facility-item span { color:var(--muted); }
.process-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; counter-reset:step; }
.process-grid li { display:flex; gap:.8rem; padding:1rem; border:1px solid var(--border-soft); background:var(--surface); }
.step-number { display:grid; place-items:center; flex:0 0 36px; height:36px; border-radius:50%; background:var(--brand); color:var(--brand-text); font-weight:800; }
.availability-strip { margin-top:1rem; padding:1rem; border-left:4px solid var(--brand); background:var(--surface-muted); }
.availability-strip div + div { margin-top:.55rem; }
.availability-strip strong,.availability-strip span { display:block; }
.review-callout { max-width:1000px; margin-inline:auto; text-align:center; }
.reviews-section { border-left-color:var(--brand); background:var(--surface-strong) !important; }
.review-actions { justify-content:center; margin-top:1.3rem; }
.review-destination-button { min-width:150px; }
.recommend-inner { max-width:1000px; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.testimonial-grid blockquote { margin:0; padding:1.2rem; border-left:4px solid var(--brand); background:var(--surface); }
.testimonial-grid blockquote p { font-size:1.06rem; }
.testimonial-grid footer { color:var(--muted); font-weight:700; }
.microcopy { margin-top:1rem; color:var(--muted); font-size:.84rem; }
.offer-card.notice-card { border-left:4px solid var(--warning-border); }
.faq-list { display:grid; gap:.65rem; }
.faq-list details { border:1px solid var(--border-soft); background:var(--surface); }
.faq-list summary { cursor:pointer; padding:1rem; font-weight:700; }
.faq-list details > div { padding:0 1rem 1rem; }
.practical-grid ul { margin:.5rem 0 0; padding-left:1.2rem; }
.policy-item + .policy-item { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--border-soft); }
.policy-item strong,.policy-item span { display:block; }
.download-list li { margin-bottom:.75rem; }
.download-list span { display:block; color:var(--muted); }
.contact-note { max-width:78ch; }
.enquiry-box { max-width:none; margin-top:1.5rem; padding:1.35rem; background:var(--surface-muted); border:1px solid var(--border-soft); }
.social-public-list { display:flex; flex-wrap:wrap; gap:.65rem; padding:0; }
.social-public-list li { list-style:none; }
.social-public-list a { display:inline-flex; padding:.55rem .75rem; border:1px solid var(--border); background:var(--surface); }
.business-legal { background:transparent !important; border-left-color:var(--border); color:var(--muted); font-size:.9rem; }
.qr-card-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.qr-card-head .qr-preview { width:150px; flex:0 0 150px; }
.qr-download-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.qr-download-groups > div { padding:1rem; border:1px solid var(--border-soft); background:var(--surface-muted); }
.qr-download-groups h3 { margin-bottom:.35rem; }

@media (max-width:1200px) {
  .identity-grid { grid-template-columns:1fr 1fr; }
  .trust-card-grid,.visual-card-grid,.pricing-grid,.team-grid,.offer-grid,.testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qr-download-groups { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .app-body .app-main > .content-wrap.wide { width:min(calc(100% - 1.5rem),1760px); }
  .structured-item-card { grid-template-columns:1fr; }
  .structured-item-thumb { width:100%; max-width:320px; height:auto; aspect-ratio:4/3; }
  .document-upload-form { grid-template-columns:1fr; }
  .subsection-tabs { overflow-x:auto; flex-wrap:nowrap; scrollbar-width:thin; }
  .subsection-tab { white-space:nowrap; }
  .identity-grid { grid-template-columns:1fr; }
  .identity-cover,.identity-cover img { min-height:280px; }
  .business-public-wrap { width:min(calc(100% - 1.5rem),1580px); }
  .service-public-grid,.trust-card-grid,.visual-card-grid,.pricing-grid,.team-grid,.offer-grid,.testimonial-grid,.hours-area-grid,.visit-grid,.practical-grid { grid-template-columns:1fr 1fr; }
  .key-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .business-public-wrap { width:min(calc(100% - 1rem),1580px); }
  .business-identity h1 { font-size:clamp(2.2rem,12vw,3.6rem); }
  .business-section { padding:1.15rem; }
  .section-title-row { flex-direction:column; }
  .google-trust-inline { white-space:normal; }
  .service-public-grid,.trust-card-grid,.visual-card-grid,.pricing-grid,.team-grid,.offer-grid,.testimonial-grid,.hours-area-grid,.visit-grid,.practical-grid,.process-grid,.facility-list,.key-fact-grid { grid-template-columns:1fr; }
  .public-gallery { grid-template-columns:1fr 1fr; }
  .gallery-lightbox[open] { grid-template-columns:42px minmax(0,1fr) 42px; }
  .gallery-lightbox figure { padding:1rem .35rem; }
  .qr-card-head { flex-direction:column; }
}
.sample-fixture-actions { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:flex-end; }
.public-summary-list { margin:0; }
.public-summary-list > div { display:grid; grid-template-columns:minmax(120px,.45fr) minmax(0,1fr); gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--border-soft); }
.public-summary-list > div:last-child { border-bottom:0; }
.public-summary-list dt { font-weight:700; }
.public-summary-list dd { margin:0; color:var(--muted); }
@media (max-width:640px) {
  .sample-fixture-actions { justify-content:flex-start; }
  .public-summary-list > div { grid-template-columns:1fr; gap:.2rem; }
}
.structured-upload-preview { min-height:110px; max-width:320px; margin:.5rem 0 .75rem; display:flex; align-items:center; justify-content:center; border:1px dashed var(--border); background:var(--surface); }
.structured-upload-preview img { width:100%; max-height:180px; object-fit:contain; display:block; }
.structured-upload-preview [data-image-empty] { color:var(--muted); padding:1rem; text-align:center; }


/* R2 correction 0.2.12: clearer theme control, wider client workspace and embedded help. */
.theme-toggle-icon {
  width: 42px; height: 42px; min-width: 42px; min-height: 42px; padding: 0;
  display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.62);
  background: transparent; color: var(--brand-text); border-radius: var(--radius); cursor: pointer;
}
.theme-toggle-icon:hover { background: rgba(255,255,255,.09); }
.theme-icon { width: 22px; height: 22px; display: none; }
.theme-icon svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle-icon[data-current-theme="light"] .theme-icon-bulb-on { display:block; }
.theme-toggle-icon[data-current-theme="dark"] .theme-icon-bulb-off { display:block; }

.app-body .content-wrap.wide,
.app-body .header-inner,
.app-body .context-bar .content-wrap,
.app-body .app-nav .content-wrap { max-width: 1900px; }
.app-body .app-main > .content-wrap.wide { width:min(calc(100% - 2rem),1900px); }
.page-heading { max-width: 1200px; }

.help-callout {
  margin: 0 0 var(--ui-gap-lg); padding: 1rem 1.15rem; border-left: 4px solid var(--brand);
  background: var(--surface-muted); max-width: 100%;
}
.help-callout strong { display:block; margin-bottom:.25rem; }
.help-callout p:last-child { margin-bottom:0; }
.field-example { display:block; margin-top:.25rem; color:var(--muted); font-size:.9rem; }
.field-example strong { color:var(--text); }
.field-help { display:block; margin:.2rem 0 .45rem; color:var(--muted); line-height:1.45; font-weight:400; }
.section-help-list { margin:.5rem 0 0; padding-left:1.25rem; color:var(--muted); }
.section-help-list li + li { margin-top:.25rem; }

/* Compact advocacy mode is a focused review/recommendation destination, not a narrow microsite. */
.compact-identity .business-public-wrap { max-width:1180px; }
.compact-identity .identity-grid { max-width:1180px; grid-template-columns:minmax(0,1fr); padding:clamp(2rem,4vw,3.4rem) 0; }
.compact-identity .business-logo { max-width:min(320px,64%); max-height:100px; margin-inline:auto; margin-bottom:1rem; }
.compact-identity .business-identity h1 { font-size:clamp(2.4rem,4.2vw,4.5rem); }
.compact-business-content { max-width:1180px; width:100%; }
.compact-business-content .reviews-section { padding:clamp(2rem,4vw,3.4rem); background:color-mix(in srgb,var(--client-brand) 9%,var(--surface)) !important; }
.compact-business-content .review-callout { max-width:1050px; }
.compact-business-content .review-callout > p:not(.section-kicker) { max-width:70ch; margin-inline:auto; }
.compact-business-content .review-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.9rem; max-width:900px; margin:1.5rem auto 0; }
.compact-business-content .review-destination-button { min-width:0; min-height:58px; padding:.8rem 1.1rem; font-size:1.02rem; }
.compact-business-content .recommend-section .recommend-inner { margin-inline:auto; }
.compact-business-content .contact-section .contact-actions { margin-bottom:1rem; }
.compact-business-content .enquiry-box { text-align:left; }

@media (max-width: 700px) {
  .app-body .app-main > .content-wrap.wide { width:min(calc(100% - 1.1rem),1900px); }
  .compact-business-content .review-actions { grid-template-columns:1fr; }
}

/* R2 correction 0.2.13: public Compact page uses the desktop canvas; client admin returns to its prior width. */
.app-body .content-wrap.wide,
.app-body .header-inner,
.app-body .context-bar .content-wrap,
.app-body .app-nav .content-wrap { max-width:1760px; }
.app-body .app-main > .content-wrap.wide { width:min(calc(100% - 3rem),1760px); }

.compact-identity .business-public-wrap,
.compact-business-content { max-width:1580px; }
.compact-identity .identity-grid {
  max-width:none;
  width:100%;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(2.5rem,6vw,7rem);
  justify-content:stretch;
  align-items:center;
  text-align:left;
  padding:clamp(3rem,5vw,5.25rem) 0;
}
.compact-identity.no-logo .identity-grid { grid-template-columns:minmax(0,1fr); }
.compact-brand-column {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.compact-identity .business-logo {
  width:auto;
  max-width:min(440px,100%);
  max-height:150px;
  margin:0;
}
.compact-identity .identity-copy { max-width:980px; }
.compact-identity .business-location-kicker { margin-bottom:.55rem; }
.compact-identity .business-identity h1,
.compact-identity h1 {
  max-width:none;
  margin:0 0 .85rem;
  font-size:clamp(2.8rem,4.6vw,5.25rem);
  line-height:.98;
}
.compact-identity .business-lead { max-width:66ch; margin-inline:0; }
.compact-identity .business-address { margin-inline:0; }
.compact-identity .business-action-row { justify-content:flex-start; }
.compact-identity .hero-actions { margin-top:1.35rem; }

.compact-business-content {
  width:min(calc(100% - clamp(2rem,5vw,6rem)),1580px);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
  padding-top:1.5rem;
}
.compact-business-content > .business-section { margin:0; }
.compact-business-content .reviews-section { grid-column:span 7; min-height:100%; text-align:left; }
.compact-business-content .recommend-section { grid-column:span 5; min-height:100%; text-align:left; }
.compact-business-content .contact-section,
.compact-business-content .social-section,
.compact-business-content .business-legal { grid-column:1 / -1; text-align:left; }
.compact-business-content .review-callout,
.compact-business-content .recommend-inner { max-width:none; margin:0; text-align:left; }
.compact-business-content .review-callout > p:not(.section-kicker) { max-width:70ch; margin-inline:0; }
.compact-business-content .review-actions {
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  max-width:none;
  margin:1.35rem 0 0;
}
.compact-business-content .business-action-row { justify-content:flex-start; }
.compact-business-content .enquiry-box { max-width:none; }

@media (max-width:1100px) {
  .compact-identity .identity-grid { grid-template-columns:1fr; gap:1.75rem; }
  .compact-brand-column { justify-content:flex-start; }
  .compact-identity .business-logo { max-width:min(360px,72vw); }
  .compact-business-content .reviews-section,
  .compact-business-content .recommend-section { grid-column:1 / -1; }
}
@media (max-width:700px) {
  .app-body .app-main > .content-wrap.wide { width:min(calc(100% - 1.5rem),1760px); }
  .compact-identity .identity-grid { padding:2rem 0 2.5rem; }
  .compact-identity .business-logo { max-width:min(300px,80vw); max-height:110px; }
  .compact-identity h1 { font-size:clamp(2.3rem,12vw,3.7rem); }
  .compact-business-content { width:min(calc(100% - 1rem),1580px); gap:1rem; padding-top:1rem; }
}

/* R2 correction 0.2.14: align the Compact public hero as one coherent identity block. */
.compact-identity {
  background: var(--surface);
}
.compact-identity .identity-grid {
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  padding: clamp(2.5rem, 4vw, 4rem) 0;
}
.compact-brand-column {
  align-self: start;
  justify-content: flex-start;
  padding-top: .15rem;
}
.compact-identity .business-logo {
  width: 100%;
  max-width: 300px;
  max-height: 118px;
  object-fit: contain;
  object-position: left top;
}
.compact-identity .identity-copy {
  max-width: 920px;
  padding-top: 0;
}
.compact-identity .business-location-kicker {
  margin: 0 0 .45rem;
}
.compact-identity .business-identity h1,
.compact-identity h1 {
  font-size: clamp(2.65rem, 4vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  margin: 0 0 .8rem;
}
.compact-identity .business-lead {
  font-size: clamp(1.05rem, 1.25vw, 1.28rem);
  max-width: 62ch;
  margin: 0 0 .65rem;
}
.compact-identity .business-address {
  margin: 0;
}
.compact-identity .hero-actions {
  margin-top: 1.15rem;
}
.compact-business-content {
  gap: clamp(1.4rem, 2vw, 2rem);
  padding-top: clamp(1.5rem, 2.5vw, 2.5rem);
}
.compact-business-content .reviews-section,
.compact-business-content .recommend-section,
.compact-business-content .contact-section,
.compact-business-content .social-section {
  border-radius: 0;
}
.compact-business-content .reviews-section { grid-column: span 8; }
.compact-business-content .recommend-section { grid-column: span 4; }
.compact-business-content .social-section {
  padding-block: 1.5rem;
  background: transparent;
  border-top: 1px solid var(--border-soft);
  border-right: 0;
  border-bottom: 0;
}
.compact-business-content .business-legal {
  padding-block: 1.25rem;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--border-soft);
}
@media (max-width: 1100px) {
  .compact-identity .identity-grid {
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    gap: 2rem;
  }
  .compact-identity .business-logo { max-width: 240px; }
  .compact-business-content .reviews-section,
  .compact-business-content .recommend-section { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .compact-identity .identity-grid {
    grid-template-columns: 1fr;
    gap: 1.3rem;
    padding: 2rem 0 2.35rem;
  }
  .compact-brand-column { padding-top: 0; }
  .compact-identity .business-logo { max-width: min(280px, 78vw); max-height: 105px; }
  .compact-identity h1 { font-size: clamp(2.25rem, 11vw, 3.5rem); }
}

/* R2 correction 0.2.15: the Compact hero and all Compact content use one identical public canvas. */
.compact-identity .business-public-wrap,
.compact-business-content {
  width: min(calc(100% - clamp(2rem, 5vw, 6rem)), 1580px);
  max-width: none;
  margin-inline: auto;
}
.compact-identity .identity-grid {
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  justify-content: stretch;
}
.compact-brand-column {
  width: 100%;
  min-width: 0;
  padding: 0;
  margin: 0;
  justify-content: flex-start;
  align-items: flex-start;
}
.compact-identity .business-logo {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 118px;
  margin: 0;
  object-fit: contain;
  object-position: left top;
}
.compact-identity .identity-copy {
  width: 100%;
  max-width: 980px;
  margin: 0;
  padding: 0;
}
@media (max-width: 1100px) {
  .compact-identity .identity-grid {
    grid-template-columns: minmax(190px, 260px) minmax(0, 1fr);
    gap: 2rem;
  }
}
@media (max-width: 760px) {
  .compact-identity .business-public-wrap,
  .compact-business-content {
    width: min(calc(100% - 1.5rem), 1580px);
  }
  .compact-identity .identity-grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .compact-identity .business-logo {
    max-width: min(280px, 78vw);
    max-height: 105px;
  }
}

/* R2 correction 0.2.16: configurable public-page design system and true full-width hero options. */
.style-option-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--ui-gap-lg) var(--ui-gap-xl);
  align-items:start;
  margin-bottom:var(--ui-gap-lg);
}
.style-option-grid > label { margin:0; min-width:0; font-weight:400; }
.style-option-grid > label > select,
.style-option-grid > label > input { width:100%; max-width:none; margin-top:.45rem; }
.secondary-colour-control { display:grid; grid-template-columns:48px minmax(0,1fr); gap:.65rem; align-items:center; margin-top:.45rem; }
.secondary-colour-swatch { width:48px; height:46px; border:1px solid var(--border); background:var(--surface-muted); }
.secondary-colour-control input { width:100%; max-width:none; margin:0; }
.module-row { grid-template-columns:minmax(260px,1fr) minmax(180px,240px) minmax(100px,130px); }
.module-presentation { margin:0; font-weight:400; }
.module-presentation select { width:100%; max-width:none; margin-top:.3rem; }
@media (max-width:1100px) { .style-option-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .style-option-grid { grid-template-columns:1fr; } .module-row { grid-template-columns:1fr; } }

.business-public-body {
  --public-max:1580px;
  --public-gutter:clamp(1rem,4vw,4.5rem);
  --public-radius:8px;
  --public-section-gap:clamp(1.4rem,2.6vw,2.8rem);
  --public-section-pad:clamp(1.7rem,3vw,3rem);
  --public-page-tone:var(--page);
  --public-surface-tone:var(--surface);
  --public-soft-tone:var(--surface-muted);
  --public-border-tone:var(--border-soft);
  --public-shadow:0 12px 34px rgba(16,32,29,.07);
  background:var(--public-page-tone);
}
.content-width-standard { --public-max:1240px; }
.content-width-wide { --public-max:1580px; }
.content-width-full { --public-max:1840px; }
.business-public-body .business-public-wrap,
.business-public-body .compact-identity .business-public-wrap,
.business-public-body .compact-business-content {
  width:min(calc(100% - (var(--public-gutter) * 2)),var(--public-max));
  max-width:none;
  margin-inline:auto;
}
.surface-tone-warm { --public-page-tone:color-mix(in srgb,var(--page) 94%,#efe3cf); --public-soft-tone:color-mix(in srgb,var(--surface-muted) 88%,#efe3cf); }
.surface-tone-cool { --public-page-tone:color-mix(in srgb,var(--page) 94%,#dfe9ea); --public-soft-tone:color-mix(in srgb,var(--surface-muted) 86%,#dce8e8); }
.surface-tone-brand { --public-page-tone:color-mix(in srgb,var(--page) 94%,var(--client-brand)); --public-soft-tone:color-mix(in srgb,var(--surface-muted) 88%,var(--client-brand)); }
.business-public-main { background:var(--public-page-tone); }

/* Typography presets remain dependency-free and use reliable system stacks. */
.heading-style-sans { --public-heading-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.heading-style-serif { --public-heading-font:Georgia,"Times New Roman",serif; }
.heading-style-character { --public-heading-font:"Trebuchet MS",Aptos,ui-sans-serif,"Segoe UI",Arial,sans-serif; }
.business-public-body h1,
.business-public-body h2,
.business-public-body h3 { font-family:var(--public-heading-font,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif); }
.design-editorial h1,.design-editorial h2 { font-weight:600; letter-spacing:-.025em; }
.design-editorial .business-lead { font-family:Georgia,"Times New Roman",serif; }
.design-bold h1 { font-weight:850; letter-spacing:-.045em; }
.design-bold .business-section h2 { font-size:clamp(1.8rem,3vw,2.8rem); }
.design-soft { --public-shadow:0 15px 40px rgba(16,32,29,.06); }
.design-minimal { --public-shadow:none; }

/* Hero system: split, image-left, centred, text-only or true full-width image background. */
.business-identity { position:relative; overflow:hidden; background:var(--public-surface-tone); border-bottom:0; isolation:isolate; }
.identity-grid { position:relative; z-index:2; width:100%; max-width:none; grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr); gap:clamp(2rem,5vw,5.5rem); align-items:center; padding:clamp(3rem,6vw,6.5rem) 0; }
.identity-copy { max-width:900px; min-width:0; }
.identity-cover { min-height:420px; max-height:none; height:100%; border:0; border-radius:var(--public-radius); box-shadow:var(--public-shadow); overflow:hidden; background:var(--public-soft-tone); }
.identity-cover img { width:100%; height:100%; min-height:420px; max-height:680px; object-fit:cover; }
.business-logo { max-width:min(360px,75%); max-height:120px; margin:0 0 1.4rem; object-position:left center; }
.business-location-kicker,.section-kicker { color:var(--client-brand); }
.business-identity h1 { max-width:18ch; font-size:clamp(3rem,5.2vw,5.9rem); line-height:.98; margin:0 0 1rem; }
.business-lead { max-width:58ch; font-size:clamp(1.12rem,1.6vw,1.45rem); line-height:1.5; }
.hero-height-compact .identity-grid { padding-block:clamp(2rem,4vw,3.5rem); }
.hero-height-standard .identity-grid { padding-block:clamp(3rem,6vw,6.5rem); }
.hero-height-tall .identity-grid { min-height:min(78vh,820px); padding-block:clamp(4rem,8vw,8rem); }
.hero-layout-image_left .identity-cover { order:-1; }
.hero-layout-centered .identity-grid { grid-template-columns:1fr; text-align:center; justify-items:center; }
.hero-layout-centered .identity-copy { max-width:1050px; }
.hero-layout-centered .business-logo { margin-inline:auto; object-position:center; }
.hero-layout-centered .business-identity h1,.hero-layout-centered .business-lead,.hero-layout-centered .business-address { margin-inline:auto; }
.hero-layout-centered .business-action-row { justify-content:center; }
.hero-layout-centered .identity-cover { width:min(100%,1180px); min-height:320px; }
.hero-layout-text .identity-grid { grid-template-columns:1fr; }
.hero-layout-text .identity-cover { display:none; }
.hero-align-center .identity-copy { text-align:center; margin-inline:auto; }
.hero-align-center .business-logo { margin-inline:auto; object-position:center; }
.hero-align-center .business-identity h1,.hero-align-center .business-lead,.hero-align-center .business-address { margin-inline:auto; }
.hero-align-center .business-action-row { justify-content:center; }
.hero-background-media,.hero-background-overlay { position:absolute; inset:0; z-index:0; }
.hero-background-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.hero-background-overlay { z-index:1; background:rgba(5,12,11,.46); }
.hero-overlay-light .hero-background-overlay { background:rgba(5,12,11,.28); }
.hero-overlay-medium .hero-background-overlay { background:rgba(5,12,11,.48); }
.hero-overlay-strong .hero-background-overlay { background:rgba(5,12,11,.66); }
.hero-layout-background .business-identity { min-height:520px; }
.hero-layout-background.hero-height-compact .business-identity { min-height:400px; }
.hero-layout-background.hero-height-tall .business-identity { min-height:min(82vh,900px); }
.hero-layout-background .identity-grid { grid-template-columns:1fr; min-height:inherit; }
.hero-layout-background .identity-copy { max-width:980px; color:#fff; }
.hero-layout-background .business-location-kicker,
.hero-layout-background .business-lead,
.hero-layout-background .business-address { color:rgba(255,255,255,.9); }
.hero-layout-background .business-location-kicker { color:#fff; }
.hero-layout-background .business-logo { background:rgba(255,255,255,.94); padding:.7rem .9rem; border-radius:var(--public-radius); max-height:132px; }
.hero-layout-background .business-button.secondary { background:rgba(255,255,255,.94); color:#16201e; border-color:#fff; }
.hero-layout-background .business-button.primary { box-shadow:0 0 0 1px rgba(255,255,255,.25); }

/* Public shape controls. */
.corner-square { --public-radius:0px; }
.corner-subtle { --public-radius:8px; }
.corner-rounded { --public-radius:20px; }
.business-public-body .business-button,
.business-public-body .business-section,
.business-public-body .info-surface,
.business-public-body .visual-card,
.business-public-body .team-card,
.business-public-body .offer-card,
.business-public-body .pricing-card,
.business-public-body .enquiry-box,
.business-public-body .gallery-lightbox-trigger { border-radius:var(--public-radius); }
.button-style-square .business-button { border-radius:0; }
.button-style-soft .business-button { border-radius:7px; }
.button-style-pill .business-button { border-radius:8px; padding-inline:1.2rem; }
.business-button { min-height:48px; padding:.65rem 1rem; transition:transform .12s ease,filter .12s ease; }
.business-button:hover { transform:translateY(-1px); }

/* Content rhythm is no longer forced into one repetitive admin-card pattern. */
.business-content { display:grid; gap:var(--public-section-gap); padding:clamp(2rem,4vw,4rem) 0 5rem; }
.section-spacing-compact { --public-section-gap:.8rem; --public-section-pad:clamp(1.25rem,2vw,1.8rem); }
.section-spacing-comfortable { --public-section-gap:clamp(1.4rem,2.6vw,2.8rem); --public-section-pad:clamp(1.8rem,3vw,3.2rem); }
.section-spacing-spacious { --public-section-gap:clamp(2.2rem,4vw,4.5rem); --public-section-pad:clamp(2.7rem,5vw,5.2rem); }
.business-section { margin:0; padding:var(--public-section-pad); border:0; border-left:0; background:var(--public-surface-tone); }
.section-style-cards .business-section { border:1px solid var(--public-border-tone); box-shadow:var(--public-shadow); }
.section-style-open .business-section { padding-inline:0; background:transparent; box-shadow:none; }
.section-style-open .info-surface,
.section-style-open .service-public-item { background:var(--public-surface-tone); }
.section-style-bands .business-content { gap:0; }
.section-style-bands .business-section { border-radius:0; background:transparent; box-shadow:0 0 0 100vmax var(--public-surface-tone); clip-path:inset(0 -100vmax); padding-block:clamp(2.6rem,5vw,5.4rem); }
.section-style-bands .business-section:nth-child(even) { box-shadow:0 0 0 100vmax var(--public-soft-tone); }
.business-section.presentation-feature { border-top:6px solid var(--client-secondary); background:color-mix(in srgb,var(--public-surface-tone) 90%,var(--client-secondary)); }
.section-style-bands .business-section.presentation-feature { box-shadow:0 0 0 100vmax color-mix(in srgb,var(--public-surface-tone) 89%,var(--client-secondary)); }
.business-section.presentation-accent { background:var(--client-brand)!important; color:var(--client-brand-text); border-color:transparent; }
.section-style-bands .business-section.presentation-accent { box-shadow:0 0 0 100vmax var(--client-brand); }
.presentation-accent .section-kicker,.presentation-accent h2,.presentation-accent h3,.presentation-accent p,.presentation-accent .microcopy { color:var(--client-brand-text); }
.presentation-accent .business-button.primary { background:var(--client-secondary); color:var(--client-secondary-text); border-color:var(--client-secondary); }
.presentation-accent .business-button.secondary { background:transparent; color:var(--client-brand-text); border-color:color-mix(in srgb,var(--client-brand-text) 75%,transparent); }
.presentation-accent .info-surface,.presentation-accent .enquiry-box { background:color-mix(in srgb,var(--client-brand) 82%,#fff); color:var(--client-brand-text); border-color:rgba(255,255,255,.35); }
.business-section.presentation-quiet { background:transparent!important; border:0!important; box-shadow:none!important; padding-inline:0; }
.section-style-bands .business-section.presentation-quiet { box-shadow:none!important; }
.hide-section-kickers .section-kicker { display:none; }

/* More visual public components. */
.business-section h2 { font-size:clamp(1.7rem,3vw,2.65rem); letter-spacing:-.025em; }
.section-title-row { align-items:center; }
.service-public-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.service-public-item { min-height:150px; padding:1.3rem; border:1px solid var(--public-border-tone); border-top:5px solid var(--client-secondary); background:var(--public-surface-tone); }
.service-public-item h3 { font-size:1.22rem; }
.visual-card,.team-card,.offer-card,.pricing-card,.info-surface { border:1px solid var(--public-border-tone); background:var(--public-surface-tone); box-shadow:0 7px 24px rgba(16,32,29,.035); }
.visual-card > img,.offer-card > img { aspect-ratio:16/9; }
.public-gallery { grid-template-columns:repeat(var(--gallery-columns,4),minmax(0,1fr)); gap:1rem; }
.gallery-cols-2 { --gallery-columns:2; }
.gallery-cols-3 { --gallery-columns:3; }
.gallery-cols-4 { --gallery-columns:4; }
.gallery-layout-feature .public-gallery figure:first-child { grid-column:span 2; grid-row:span 2; }
.gallery-layout-feature .public-gallery figure:first-child img { aspect-ratio:1/1; height:100%; }
.gallery-layout-mosaic .public-gallery figure:nth-child(5n+1) { grid-column:span 2; }
.gallery-layout-mosaic .public-gallery figure:nth-child(5n+1) img { aspect-ratio:16/9; }
.gallery-lightbox-trigger { overflow:hidden; }
.public-gallery img { aspect-ratio:4/3; }
.google-trust-inline { border-radius:var(--public-radius); border-color:var(--public-border-tone); }
.key-fact { border-top-color:var(--client-secondary); }
.step-number { background:var(--client-brand); color:var(--client-brand-text); }
.reviews-section .review-callout { max-width:1100px; }
.reviews-section .review-actions { gap:.8rem; }
.reviews-section .review-destination-button { min-width:160px; }
.contact-section .enquiry-box { padding:clamp(1.2rem,2.5vw,2rem); }
.social-public-list a { display:inline-flex; align-items:center; min-height:40px; padding:.45rem .75rem; border:1px solid var(--client-brand); border-radius:var(--public-radius); text-decoration:none; }

/* Compact advocacy is intentionally focused but can still carry the client's own visual character. */
.compact-identity .identity-grid { grid-template-columns:1fr; }
.compact-identity .identity-copy { max-width:1050px; }
.compact-business-content { width:min(calc(100% - (var(--public-gutter) * 2)),var(--public-max)); grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--public-section-gap); }
.compact-business-content .reviews-section { grid-column:span 8; }
.compact-business-content .recommend-section { grid-column:span 4; }
.compact-business-content .contact-section,
.compact-business-content .social-section,
.compact-business-content .business-legal { grid-column:1/-1; }
.compact-business-content .reviews-section,
.compact-business-content .recommend-section,
.compact-business-content .contact-section { text-align:left; }
.compact-business-content .business-action-row { justify-content:flex-start; }
.compact-business-content .review-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); max-width:none; }
.compact-business-content .review-destination-button { min-height:58px; }
.hero-align-center .compact-business-content .reviews-section { text-align:left; }

@media (max-width:1100px) {
  .identity-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .service-public-grid,.visual-card-grid,.team-grid,.offer-grid,.pricing-grid,.trust-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compact-business-content .reviews-section,.compact-business-content .recommend-section { grid-column:1/-1; }
}
@media (max-width:820px) {
  .business-public-body { --public-gutter:.9rem; }
  .identity-grid,.hero-layout-image_left .identity-grid { grid-template-columns:1fr; }
  .identity-cover,.hero-layout-image_left .identity-cover { order:-1; min-height:280px; }
  .identity-cover img { min-height:280px; max-height:420px; }
  .hero-layout-background .identity-cover { display:none; }
  .business-identity h1 { font-size:clamp(2.45rem,11vw,4rem); }
  .service-public-grid,.visual-card-grid,.team-grid,.offer-grid,.pricing-grid,.trust-card-grid,.hours-area-grid,.visit-grid,.practical-grid { grid-template-columns:1fr; }
  .public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-layout-feature .public-gallery figure:first-child,.gallery-layout-mosaic .public-gallery figure:nth-child(5n+1) { grid-column:span 2; grid-row:auto; }
}
@media (max-width:560px) {
  .business-public-body { --public-gutter:.65rem; }
  .business-logo { max-width:min(290px,88vw); }
  .business-action-row .business-button { flex:1 1 100%; }
  .public-gallery { grid-template-columns:1fr; }
  .gallery-layout-feature .public-gallery figure:first-child,.gallery-layout-mosaic .public-gallery figure:nth-child(5n+1) { grid-column:auto; }
  .business-section { padding:1.25rem; }
  .section-style-open .business-section,.business-section.presentation-quiet { padding-inline:.25rem; }
}


/* Customer growth workspace */
.copy-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.provider-subsection{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--border)}.provider-subsection h3{margin-top:0}.quota-inline-form{display:grid;grid-template-columns:minmax(135px,1fr) minmax(135px,1fr) auto;gap:.65rem;align-items:end;min-width:470px}.table-secondary{margin-top:.2rem;color:var(--muted);font-size:.9rem}.enquiry-filter-form{align-items:end}.enquiry-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.enquiry-status-form{grid-template-columns:repeat(2,minmax(0,1fr))}.enquiry-status-form .span-2{grid-column:1/-1}.growth-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.growth-stat{border-top:4px solid var(--accent);padding-top:.75rem}.growth-stat strong{display:block;font-size:1.75rem}.copy-feedback{font-size:.9rem;color:var(--muted)}code{overflow-wrap:anywhere}
@media(max-width:960px){.quota-inline-form{min-width:0;grid-template-columns:1fr}.enquiry-detail-grid,.enquiry-status-form{grid-template-columns:1fr}.enquiry-status-form .span-2{grid-column:auto}.growth-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.copy-field-row,.growth-stat-grid{grid-template-columns:1fr}}


/* R3 hosted correction 0.3.1: restore complete client navigation and shared form alignment. */
/* Referral value/unit controls are one control, not a loose unit on another line. */
.money-input,
.percent-input,
.suffix-input {
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:none;
  min-height:46px;
  margin-top:auto;
}
.money-input > span,
.percent-input > span,
.suffix-input > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:48px;
  padding:.52rem .7rem;
  border:2px solid var(--border);
  background:var(--surface-muted);
  color:var(--text);
  font-weight:600;
  line-height:1.2;
}
.money-input > span:first-child { border-right:0; }
.percent-input > span:last-child,
.suffix-input > span:last-child { border-left:0; }
.money-input > input,
.percent-input > input,
.suffix-input > input {
  flex:1 1 auto;
  width:100%;
  max-width:none;
  min-width:0;
  min-height:46px;
  margin:0;
}
.money-input > span:first-child + input { border-radius:0 1px 1px 0; }
.percent-input > input:first-child,
.suffix-input > input:first-child { border-radius:1px 0 0 1px; }

/* UK-facing date fields are deliberately text-controlled so the browser cannot change the format. */
.uk-date-input { max-width:220px !important; }
.uk-datetime-input { max-width:300px !important; }

/* The Enquiries filter is a two-control row; both controls share one baseline and height. */
.enquiry-filter-form {
  grid-template-columns:minmax(320px,1fr) minmax(180px,320px);
  align-items:end;
}
.enquiry-filter-form > label { margin:0; }
.enquiry-filter-form select,
.enquiry-filter-form > .button {
  width:100%;
  min-height:46px;
  height:46px;
  margin:0;
}

/* Business Page admin: every multi-column field system uses the same baseline alignment rule. */
.business-page-admin .form-grid,
.business-page-admin .content-form-grid,
.business-page-admin .style-option-grid,
.business-page-admin .document-upload-form {
  align-items:stretch;
}
.business-page-admin .form-grid > label,
.business-page-admin .content-form-grid > label,
.business-page-admin .style-option-grid > label,
.business-page-admin .document-upload-form > label {
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
}
.business-page-admin .form-grid > label > input,
.business-page-admin .form-grid > label > select,
.business-page-admin .form-grid > label > textarea,
.business-page-admin .form-grid > label > .slug-input,
.business-page-admin .content-form-grid > label > input,
.business-page-admin .content-form-grid > label > select,
.business-page-admin .content-form-grid > label > textarea,
.business-page-admin .style-option-grid > label > input,
.business-page-admin .style-option-grid > label > select,
.business-page-admin .style-option-grid > label > .secondary-colour-control,
.business-page-admin .document-upload-form > label > input,
.business-page-admin .document-upload-form > label > select,
.business-page-admin .document-upload-form > label > textarea {
  margin-top:auto;
  width:100%;
  max-width:none;
}
.business-page-admin .field-help,
.business-page-admin .field-example,
.business-page-admin .hint {
  flex:0 0 auto;
}
.business-page-admin .review-edit-form label {
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
}
.business-page-admin .review-edit-form label > input,
.business-page-admin .review-edit-form label > select,
.business-page-admin .review-edit-form label > textarea {
  margin-top:auto;
}

@media (max-width:760px) {
  .enquiry-filter-form { grid-template-columns:1fr; }
  .uk-date-input,.uk-datetime-input { max-width:none !important; }
}


/* R3 hosted correction 0.3.2: UK date/date-time picker, two-column section editor, account security. */
.module-list {
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:1rem;
  row-gap:.75rem;
  align-items:start;
}
.module-row {
  min-width:0;
  grid-template-columns:minmax(145px,1fr) minmax(125px,170px) minmax(72px,92px);
  align-items:end;
}
.module-row .checkbox-row { align-self:center; }
.module-presentation select,
.module-order input { min-height:42px; }
@media (max-width:1180px) {
  .module-list { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .module-row { grid-template-columns:1fr; }
  .module-order { max-width:140px; }
}

.uk-picker-control {
  position:relative;
  display:flex;
  align-items:stretch;
  width:max-content;
  max-width:100%;
  margin-top:auto;
}
.uk-picker-control .uk-date-input,
.uk-picker-control .uk-datetime-input {
  width:220px;
  max-width:100% !important;
  min-height:46px;
  margin:0;
  border-right:0;
}
.uk-picker-control .uk-datetime-input { width:300px; }
.uk-picker-button {
  flex:0 0 48px;
  width:48px;
  min-height:46px;
  border:2px solid var(--border);
  background:var(--surface);
  color:var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
}
.uk-picker-button:hover { background:var(--surface-muted); }
.uk-picker-button:focus {
  outline:3px solid var(--focus);
  outline-offset:2px;
  z-index:2;
}
.uk-picker-button svg {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.uk-picker-popover {
  position:absolute;
  top:calc(100% + .45rem);
  left:0;
  z-index:90;
  width:360px;
  max-width:min(92vw,360px);
  padding:1rem;
  border:2px solid var(--border);
  background:var(--surface);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.uk-picker-popover[hidden] { display:none !important; }
.uk-calendar-header {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:.5rem;
  margin-bottom:.75rem;
}
.uk-calendar-arrow {
  width:42px;
  height:42px;
  padding:0;
  border:2px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}
.uk-calendar-arrow:hover { background:var(--surface-muted); }
.uk-calendar-arrow:focus { outline:3px solid var(--focus); outline-offset:2px; }
.uk-calendar-selectors {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(90px,.65fr);
  gap:.4rem;
}
.uk-calendar-selectors select,
.uk-time-selects select {
  width:100%;
  min-height:42px;
  margin:0;
  padding:.45rem .55rem;
}
.uk-calendar-weekdays,
.uk-calendar-days {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
}
.uk-calendar-weekdays {
  margin-bottom:4px;
}
.uk-calendar-weekdays span {
  padding:.25rem 0;
  text-align:center;
  color:var(--muted);
  font-size:.82rem;
  font-weight:600;
}
.uk-calendar-day {
  min-width:0;
  height:38px;
  padding:0;
  border:1px solid transparent;
  background:transparent;
  color:var(--text);
  font:inherit;
  cursor:pointer;
}
.uk-calendar-day:hover { background:var(--surface-muted); border-color:var(--border); }
.uk-calendar-day.muted { color:var(--muted); opacity:.62; }
.uk-calendar-day.today { border-color:var(--border-strong, var(--border)); font-weight:700; }
.uk-calendar-day.selected {
  background:var(--brand);
  border-color:var(--brand);
  color:var(--brand-text);
  font-weight:700;
}
.uk-calendar-day:focus { outline:3px solid var(--focus); outline-offset:1px; z-index:1; }
.uk-time-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding-top:1rem;
  margin-top:1rem;
  border-top:1px solid var(--border);
}
.uk-time-label { font-weight:600; }
.uk-time-selects {
  display:grid;
  grid-template-columns:76px auto 76px;
  align-items:center;
  gap:.35rem;
}
.uk-time-colon { font-weight:700; text-align:center; }
.uk-picker-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.55rem;
  margin-top:1rem;
}
.uk-picker-actions .button { min-height:42px; }

/* Platform-admin in-app release updater. */
.update-layout { align-items:start; }
.update-layout .panel { min-width:0; }
.compact-summary { margin:0 0 1rem; }
.plain-steps { margin:.5rem 0 1rem; padding-left:1.35rem; }
.plain-steps li { margin:.45rem 0; }
[data-update-form] input[type="file"] { width:100%; max-width:none; }

@media (max-width:760px) {
  .uk-picker-control { width:100%; }
  .uk-picker-control .uk-date-input,
  .uk-picker-control .uk-datetime-input { width:100%; }
  .uk-picker-popover { width:min(92vw,350px); left:0; }
  .uk-calendar-selectors { grid-template-columns:1fr 92px; }
  .uk-time-row { align-items:flex-start; flex-direction:column; gap:.5rem; }
  .uk-picker-actions { justify-content:stretch; }
  .uk-picker-actions .button { flex:1 1 auto; }
}

/* R3 hosted correction 0.3.4: platform-wide field sizing, vertical Business Page navigation, QR redesign and social brand marks. */

/* Standardise form controls throughout client and platform admin surfaces.
   Fields fill the column/row they are assigned; layout containers decide the width, not each input. */
body form:not(.inline-form) input[type="text"],
body form:not(.inline-form) input[type="email"],
body form:not(.inline-form) input[type="password"],
body form:not(.inline-form) input[type="url"],
body form:not(.inline-form) input[type="tel"],
body form:not(.inline-form) input[type="number"],
body form:not(.inline-form) input:not([type]),
body form:not(.inline-form) select,
body form:not(.inline-form) textarea {
  width:100%;
  max-width:none;
}
body form:not(.inline-form) .money-input,
body form:not(.inline-form) .percent-input,
body form:not(.inline-form) .suffix-input,
body form:not(.inline-form) .uk-picker-control,
body form:not(.inline-form) .input-affix,
body form:not(.inline-form) .slug-input {
  width:100%;
  max-width:none;
}
body form:not(.inline-form) .uk-picker-control .uk-date-input,
body form:not(.inline-form) .uk-picker-control .uk-datetime-input {
  flex:1 1 auto;
  width:auto;
  max-width:none !important;
}
/* Keep deliberately compact utility forms compact. */
body .inline-form select,
body .inline-form input { width:auto; max-width:100%; }
.module-order input { max-width:92px !important; }

/* Business Page editor navigation is a left-hand section menu. The existing
   primary client navigation remains horizontal above it. */
.business-page-admin .app-main > .content-wrap.wide {
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  column-gap:var(--ui-gap-xl);
  align-items:start;
}
.business-page-admin .app-main > .content-wrap.wide > .notice,
.business-page-admin .app-main > .content-wrap.wide > .page-heading {
  grid-column:1 / -1;
}
.business-page-admin .app-main > .content-wrap.wide > .business-page-sidebar {
  grid-column:1;
}
.business-page-admin .app-main > .content-wrap.wide > :not(.notice):not(.page-heading):not(.business-page-sidebar) {
  grid-column:2;
  min-width:0;
}
.business-page-sidebar {
  align-self:start;
  position:sticky;
  top:1rem;
  margin:0 0 var(--ui-gap-lg);
  border:1px solid var(--border);
  border-left:4px solid var(--brand);
  background:var(--surface);
}
.business-page-sidebar-title {
  padding:.8rem .9rem;
  border-bottom:1px solid var(--border);
  background:var(--surface-muted);
  font-weight:800;
}
.business-page-sidebar-list { display:grid; }
.business-page-sidebar-item + .business-page-sidebar-item { border-top:1px solid var(--border-soft); }
.business-page-sidebar-link {
  display:block;
  padding:.7rem .85rem;
  color:var(--text);
  font-weight:700;
  text-decoration:none;
  border-left:4px solid transparent;
}
.business-page-sidebar-link:hover { background:var(--surface-muted); text-decoration:none; }
.business-page-sidebar-link.active {
  border-left-color:var(--brand);
  background:var(--surface-muted);
}
.business-page-subnav {
  display:grid;
  padding:0 0 .45rem 1rem;
  background:var(--surface-muted);
}
.business-page-subnav-link {
  display:block;
  padding:.48rem .7rem;
  border-left:2px solid var(--border);
  color:var(--text);
  text-decoration:none;
  font-size:.92rem;
  font-weight:600;
}
.business-page-subnav-link:hover { text-decoration:none; background:var(--surface-strong); }
.business-page-subnav-link.active {
  border-left-color:var(--brand);
  color:var(--brand);
  font-weight:800;
}
html[data-theme="dark"] .business-page-subnav-link.active { color:var(--text); }
/* Old horizontal Business Page/subsection bars are no longer used. */
.business-page-nav,
.subsection-tabs { display:none !important; }

/* QR & print: one clear destination per row, with one QR preview and three
   simple action rows rather than nested cards inside cards. */
.qr-destination-list { display:grid; gap:var(--ui-gap-lg); }
.qr-destination-card { margin:0; padding:1.35rem; }
.qr-destination-main {
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}
.qr-visual-block {
  display:grid;
  justify-items:center;
  gap:.55rem;
  padding:1rem;
  border:1px solid var(--border-soft);
  background:var(--surface-muted);
}
.qr-visual-block .qr-preview { width:138px; max-width:100%; }
.qr-visual-block .qr-preview svg { display:block; width:100%; height:auto; }
.qr-destination-heading { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.qr-destination-heading h2 { margin-bottom:.2rem; }
.qr-url { margin:.15rem 0 1rem; overflow-wrap:anywhere; }
.qr-action-list { border-top:1px solid var(--border); }
.qr-action-row {
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr);
  gap:1.25rem;
  align-items:center;
  padding:1rem 0;
  border-bottom:1px solid var(--border-soft);
}
.qr-action-row h3 { margin:0 0 .2rem; }
.qr-action-row p { margin:0; }
.qr-button-row { margin:0; justify-content:flex-start; }
.qr-button-row .button { min-width:96px; }
.qr-intro { margin-bottom:var(--ui-gap-lg); }

/* Existing social-network brand marks from Font Awesome Free. The SVG artwork
   is bundled locally; CSS masks allow the same official mark to follow the
   surrounding text colour in light/dark and client-branded public themes. */
.social-platform-icon {
  display:inline-block;
  width:1.25rem;
  height:1.25rem;
  flex:0 0 1.25rem;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.social-platform-facebook { -webkit-mask-image:url('../icons/social/facebook.svg'); mask-image:url('../icons/social/facebook.svg'); }
.social-platform-instagram { -webkit-mask-image:url('../icons/social/instagram.svg'); mask-image:url('../icons/social/instagram.svg'); }
.social-platform-linkedin { -webkit-mask-image:url('../icons/social/linkedin.svg'); mask-image:url('../icons/social/linkedin.svg'); }
.social-platform-tiktok { -webkit-mask-image:url('../icons/social/tiktok.svg'); mask-image:url('../icons/social/tiktok.svg'); }
.social-platform-youtube { -webkit-mask-image:url('../icons/social/youtube.svg'); mask-image:url('../icons/social/youtube.svg'); }
.social-platform-x { -webkit-mask-image:url('../icons/social/x.svg'); mask-image:url('../icons/social/x.svg'); }
.social-field-label { display:inline-flex; align-items:center; gap:.55rem; font-weight:700; }
.social-admin-grid .field-help { margin-top:.25rem; }
.social-public-list a { gap:.5rem; }

@media (max-width:1100px) {
  .business-page-admin .app-main > .content-wrap.wide {
    grid-template-columns:220px minmax(0,1fr);
    column-gap:var(--ui-gap-lg);
  }
  .qr-action-row { grid-template-columns:1fr; gap:.6rem; }
}
@media (max-width:820px) {
  .business-page-admin .app-main > .content-wrap.wide { display:block; }
  .business-page-sidebar { position:static; }
  .business-page-sidebar-list { grid-template-columns:1fr; }
  .business-page-sidebar-item + .business-page-sidebar-item { border-top:1px solid var(--border-soft); }
  .qr-destination-main { grid-template-columns:1fr; }
  .qr-visual-block { justify-self:start; width:170px; }
}
@media (max-width:560px) {
  .qr-button-row .button { width:100%; }
  .qr-visual-block { width:100%; }
  .qr-visual-block .qr-preview { width:130px; }
}

/* R3 hosted correction 0.3.5: remove wasted top whitespace from authenticated screens. */
.app-body .app-main,
.admin-body .app-main {
  padding-top: 1rem;
}
@media (max-width: 720px) {
  .app-body .app-main,
  .admin-body .app-main {
    padding-top: .75rem;
  }
}

/* R3 hosted correction 0.3.6: Business Page sidebar must not create a tall first grid row.
   The sidebar spans the right-hand content rows so each Business Page screen starts its
   first content block immediately beside the navigation instead of leaving a large blank gap. */
.business-page-admin .app-main > .content-wrap.wide > .business-page-sidebar {
  grid-row: span 50;
}

/* R4 0.4.0: commercial lifecycle, billing and platform referral programme. */
.commercial-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ui-gap-lg); align-items:stretch; margin-bottom:var(--ui-gap-lg); }
.commercial-summary .panel { margin:0; min-width:0; }
@media (max-width: 980px) { .commercial-summary { grid-template-columns:1fr; } }
.commercial-notice { display:flex; flex-wrap:wrap; gap:.3rem; align-items:baseline; }
.commercial-notice a { font-weight:700; }
.commercial-filter { display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(220px,.75fr) auto; gap:1rem; align-items:end; margin-bottom:var(--ui-gap-lg); }
.commercial-filter label { margin:0; }
.filter-action { display:flex; align-items:flex-end; min-height:100%; }
.invoice-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; }
.page-heading-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.invoice-parties { align-items:stretch; }
.invoice-lines table tfoot th { text-align:right; }
.payment-details dd { font-size:1.05rem; }
.payment-instructions { border-left-width:5px; }
.copy-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; align-items:stretch; }
.copy-field input { min-width:0; }
.copy-field .button { min-height:100%; }
.button-row { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.section-heading-row { display:flex; align-items:start; justify-content:space-between; gap:1rem; }
.section-heading-row > div { min-width:0; }
.progress-label { margin-bottom:.55rem; }
progress.progress-track { width:100%; height:1.1rem; accent-color:var(--brand); border:1px solid var(--border); background:var(--surface-muted); }
progress.progress-track::-webkit-progress-bar { background:var(--surface-muted); }
progress.progress-track::-webkit-progress-value { background:var(--brand); }
progress.progress-track::-moz-progress-bar { background:var(--brand); }
.payout-row { padding:1rem 0; border-top:1px solid var(--border-soft); display:grid; grid-template-columns:minmax(180px,.35fr) minmax(0,1fr); gap:1.25rem; align-items:start; }
.payout-row:first-of-type { border-top:0; padding-top:0; }
.payout-row form { margin:0; }
.admin-inline-details { min-width:250px; }
.admin-inline-details > summary, table details > summary { cursor:pointer; font-weight:700; color:var(--brand); }
.compact-form { margin-top:.75rem; padding:.8rem; border:1px solid var(--border-soft); background:var(--surface-muted); }
.compact-form label { margin:0; }
.danger-zone { border-top:3px solid var(--danger); }
.commercial-metrics { margin-top:var(--ui-gap-md); }
.platform-referral-card { margin-top:var(--ui-gap-lg); }

@media print {
  .app-header,.context-bar,.app-nav,.commercial-notice,.page-heading-actions,.skip-link { display:none !important; }
  .app-main { padding:0 !important; }
  .content-wrap { max-width:none !important; padding:0 !important; }
  .panel { break-inside:avoid; box-shadow:none !important; }
  body { background:#fff !important; color:#000 !important; }
}
@media(max-width:900px){
  .commercial-filter { grid-template-columns:1fr; }
  .filter-action .button { width:100%; }
  .invoice-heading,.section-heading-row { align-items:stretch; flex-direction:column; }
  .payout-row { grid-template-columns:1fr; }
}
@media(max-width:600px){ .copy-field { grid-template-columns:1fr; } .copy-field .button { min-height:44px; } }

/* R5 analytics, notifications and operations */
.analytics-filter-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:1rem; align-items:end; }
.analytics-filter-form label { min-width:0; }
.analytics-filter-form input,.analytics-filter-form select { width:100%; }
.analytics-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:0 0 1.25rem; }
.analytics-metric { min-height:9rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:.35rem; }
.analytics-metric > span { font-weight:700; }
.analytics-metric > strong { font-size:2rem; line-height:1.1; }
.analytics-metric > small { color:var(--muted); line-height:1.35; }
.metric-comparison { margin-top:auto; padding-top:.35rem; border-top:1px solid var(--border); width:100%; font-size:.9rem; color:var(--muted); }
.analytics-two-column { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr); gap:1rem; margin-bottom:1.25rem; align-items:start; }
.analytics-three-column { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:1.25rem; align-items:start; }
.trend-chart { min-height:18rem; display:flex; flex-direction:column; gap:.75rem; }
.trend-legend { display:flex; gap:1rem; flex-wrap:wrap; font-size:.9rem; color:var(--muted); }
.trend-legend span::before { content:""; display:inline-block; width:.7rem; height:.7rem; margin-right:.35rem; vertical-align:-.05rem; border:1px solid var(--border-strong); background:var(--surface-muted); }
.trend-legend span:nth-child(2)::before { background:var(--brand); }
.trend-legend span:nth-child(3)::before { background:var(--success-bg); }
.trend-bars { height:15rem; display:flex; gap:.25rem; align-items:flex-end; border-bottom:1px solid var(--border-strong); padding:.5rem 0 0; overflow-x:auto; }
.trend-day { min-width:1rem; flex:1 1 0; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; gap:.25rem; }
.trend-stack { height:12rem; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.trend-stack i { display:block; flex:1 1 0; min-width:2px; border:1px solid var(--border-strong); background:var(--surface-muted); }
.trend-stack .trend-review { background:var(--brand); }
.trend-stack .trend-enquiry { background:var(--success-bg); }
.trend-day > span { font-size:.68rem; white-space:nowrap; transform:rotate(-35deg); transform-origin:center top; min-height:2rem; color:var(--muted); }
.funnel-list { display:grid; gap:1rem; margin:1rem 0 1.5rem; }
.funnel-list > div > div:first-child { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.3rem; }
.funnel-bar { height:.85rem; background:var(--surface-muted); border:1px solid var(--border); }
.funnel-bar span { display:block; height:100%; background:var(--brand); }
.notification-list { display:grid; gap:.75rem; }
.notification-item { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-start; padding:1rem; border:1px solid var(--border); border-left:4px solid var(--border-strong); background:var(--surface); }
.notification-item.unread { border-left-color:var(--brand); }
.notification-item h3 { margin:.4rem 0 .25rem; }
.notification-item p { margin:0; }
.notification-meta { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; color:var(--muted); font-size:.88rem; }
.support-thread { display:grid; gap:1rem; }
.support-message { padding:1rem 1.1rem; border:1px solid var(--border); border-left:4px solid var(--border-strong); background:var(--surface); max-width:76rem; }
.support-message.from-admin { border-left-color:var(--brand); background:var(--surface-muted); }
.support-message-meta { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-size:.9rem; }
.support-message p { margin:.6rem 0 0; }
.support-access-panel { margin-bottom:1.25rem; }
.support-access-form { max-width:60rem; }
.impersonation-banner { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem .75rem; }
.impersonation-banner form { margin-left:auto; }
.service-notice { display:block; }
.operations-links { display:flex; flex-wrap:wrap; gap:.65rem; margin:0 0 1.25rem; }

@media (max-width:1100px) {
  .analytics-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-three-column { grid-template-columns:1fr; }
  .analytics-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .analytics-two-column,.analytics-metric-grid,.analytics-filter-form { grid-template-columns:1fr; }
  .trend-bars { min-height:13rem; }
  .notification-item { flex-direction:column; }
  .notification-item form { width:100%; }
  .notification-item form .button { width:100%; }
}
.bulk-actions-grid { display:grid; grid-template-columns:minmax(16rem,1fr) minmax(20rem,2fr) auto; gap:1rem; align-items:end; }
.select-column { width:2.5rem; text-align:center; }
.select-column input { width:auto; }
@media(max-width:900px){.bulk-actions-grid{grid-template-columns:1fr;}}

.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 0;padding:.85rem 1rem;border:1px solid var(--border);background:var(--surface)}
.pagination-bar>div{display:flex;gap:.5rem;flex-wrap:wrap}
.quick-actions-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}
.action-tile{display:block;border:1px solid var(--border);border-left:3px solid var(--brand);padding:.85rem;text-decoration:none;background:var(--surface-muted);color:inherit}
.action-tile strong,.action-tile span{display:block}.action-tile span{margin-top:.25rem;color:var(--muted);font-size:.9rem}
@media(max-width:1000px){.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.pagination-bar{align-items:flex-start;flex-direction:column}.quick-actions-grid{grid-template-columns:1fr}}


/* R5 hosted correction 0.5.1: responsive analytics, conventional navigation, no theme flash, dashboard attention and action spacing. */
.heading-actions,
.page-heading-actions,
.inline-decision-form,
.compact-button-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.65rem;
}
.heading-actions .button,
.page-heading-actions .button { margin:0; }
.inline-decision-form { gap:.5rem; }
.inline-decision-form > * { margin:0; }

.analytics-two-column > *,
.analytics-three-column > *,
.analytics-chart-panel { min-width:0; }
.analytics-chart-panel { overflow:hidden; }
.trend-chart { min-width:0; overflow:hidden; }
.trend-bars {
  display:grid;
  grid-template-columns:repeat(var(--trend-count, 1),minmax(0,1fr));
  gap:2px;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.trend-day { min-width:0; width:auto; }
.trend-stack { min-width:0; }
.trend-day > span {
  min-height:1.4rem;
  font-size:.7rem;
  text-align:center;
  white-space:nowrap;
  transform:none;
  overflow:visible;
}
@media(max-width:760px){
  .trend-day > span { font-size:.62rem; transform:rotate(-35deg); transform-origin:center top; min-height:2rem; }
}

.settings-tools-panel { margin-bottom:var(--ui-gap-lg); }
.settings-tools-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ui-gap-md); }
.operations-core-tools { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1000px){ .settings-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px){ .settings-tools-grid { grid-template-columns:1fr; } }

.admin-attention-panel { margin-bottom:var(--ui-gap-lg); }
.attention-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--ui-gap-md); }
.attention-item {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-width:0;
  padding:.9rem 1rem;
  border:1px solid var(--border);
  border-left:4px solid var(--border-strong);
  background:var(--surface-muted);
  color:var(--text);
  text-decoration:none;
}
.attention-item:hover { text-decoration:none; background:var(--surface-strong); }
.attention-item.has-alert { border-left-color:var(--brand); }
.attention-item strong { font-size:1.35rem; }
.recent-support-list { margin-top:1rem; border-top:1px solid var(--border); padding-top:1rem; }
.recent-support-list h3 { margin-bottom:.55rem; }
.recent-support-list > a { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-top:1px solid var(--border-soft); text-decoration:none; }
.recent-support-list > a:first-of-type { border-top:0; }
.recent-support-list > a span { color:var(--muted); text-align:right; }
@media(max-width:1100px){ .attention-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px){ .attention-grid { grid-template-columns:1fr; } .recent-support-list > a { flex-direction:column; gap:.2rem; } .recent-support-list > a span { text-align:left; } }

/* R5 hosted correction 0.5.2: proper analytics chart/range controls and Business Page cleanup. */
.analytics-controls { margin-bottom:var(--ui-gap-lg); }
.analytics-control-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.analytics-control-heading h2 { margin:0 0 .2rem; }
.analytics-control-heading p { margin:0; color:var(--muted); }
.analytics-range-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; padding:0 0 1rem; border-bottom:1px solid var(--border); }
.analytics-range-tab { display:inline-flex; align-items:center; justify-content:center; min-height:2.55rem; padding:.45rem .85rem; border:1px solid var(--border-strong); background:var(--surface); color:var(--text); text-decoration:none; font-weight:700; }
.analytics-range-tab:hover { background:var(--surface-muted); }
.analytics-range-tab.is-active { background:var(--brand); border-color:var(--brand); color:var(--brand-text); }
.analytics-filter-form.analytics-filter-compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:1rem; align-items:end; margin:0; padding:0; border:0; background:transparent; }
.analytics-filter-form.analytics-filter-compact label { margin:0; }
.analytics-primary-row { grid-template-columns:minmax(0,2fr) minmax(18rem,.72fr); }
.analytics-chart-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.6rem; }
.analytics-chart-heading h2 { margin:0 0 .25rem; }
.analytics-chart-heading p { margin:0; color:var(--muted); }
.analytics-chart-legend { display:flex; gap:.85rem; flex-wrap:wrap; justify-content:flex-end; font-size:.88rem; font-weight:700; }
.analytics-chart-legend span { display:inline-flex; align-items:center; gap:.38rem; white-space:nowrap; }
.analytics-chart-legend span::before { content:""; width:.75rem; height:.2rem; background:currentColor; }
.analytics-line-visits { color:var(--brand); }
.analytics-line-reviews { color:var(--success-border); }
.analytics-line-enquiries { color:var(--warning-border); }
.analytics-line-chart { position:relative; width:100%; min-width:0; min-height:20rem; }
.analytics-line-chart svg { display:block; width:100%; height:auto; max-height:23rem; overflow:visible; }
.analytics-grid-line { stroke:var(--border); stroke-width:1; vector-effect:non-scaling-stroke; }
.analytics-axis-line { stroke:var(--border-strong); stroke-width:1.25; vector-effect:non-scaling-stroke; }
.analytics-axis-label { fill:var(--muted); font-size:13px; }
.analytics-series-line { fill:none; stroke:currentColor; stroke-width:3; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.analytics-series-point { fill:var(--surface); stroke:currentColor; stroke-width:3; vector-effect:non-scaling-stroke; }
.analytics-chart-empty { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:4rem 1rem 1rem 3.5rem; color:var(--muted); font-weight:700; pointer-events:none; }
@media(max-width:1050px){
  .analytics-primary-row { grid-template-columns:1fr; }
  .analytics-chart-heading { flex-direction:column; }
  .analytics-chart-legend { justify-content:flex-start; }
}
@media(max-width:850px){
  .analytics-filter-form.analytics-filter-compact { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px){
  .analytics-filter-form.analytics-filter-compact { grid-template-columns:1fr; }
  .analytics-range-tabs { gap:.35rem; }
  .analytics-range-tab { flex:1 1 calc(33.333% - .35rem); }
  .analytics-line-chart { min-height:16rem; }
  .analytics-axis-label { font-size:11px; }
}


/* R5 hosted correction 0.5.3: explicit customer-referral scope and system-styled chart hover detail. */
.analytics-scope-note { margin-bottom:var(--ui-gap-lg); }
.analytics-scope-note strong { color:var(--text); }
.analytics-hover-zone { fill:transparent; pointer-events:all; cursor:crosshair; }
.analytics-hover-guide { stroke:var(--brand); stroke-width:1.5; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; pointer-events:none; }
.analytics-chart-tooltip {
  position:absolute; z-index:8; min-width:220px; max-width:min(280px,calc(100% - 1rem));
  padding:.8rem .9rem; border:1px solid var(--border-strong); border-left:4px solid var(--brand);
  border-radius:var(--radius); background:var(--surface); color:var(--text);
  box-shadow:0 6px 18px rgba(0,0,0,.16); pointer-events:none; font-size:.88rem; line-height:1.35;
}
.analytics-chart-tooltip[hidden] { display:none; }
.analytics-chart-tooltip strong { display:block; margin-bottom:.45rem; font-size:.95rem; }
.analytics-tooltip-row { display:flex; justify-content:space-between; gap:1.2rem; padding:.18rem 0; }
.analytics-tooltip-row span:first-child { color:var(--muted); }
.analytics-tooltip-row b { color:var(--text); }
html[data-theme="dark"] .analytics-chart-tooltip { box-shadow:0 8px 22px rgba(0,0,0,.42); }

/* R6 public sales site, personalised preview and launch UX */
.public-sales-header .header-inner{gap:1rem}.marketing-nav{display:flex;gap:1.15rem;align-items:center;margin-left:auto}.marketing-nav a{color:var(--header-text,#fff);font-weight:700;text-decoration:none;font-size:.92rem}.marketing-nav a:hover{text-decoration:underline}.marketing-minimal-header .public-header-inner{max-width:1180px}
.marketing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:3rem;align-items:center;padding:3.25rem 0 3rem}.marketing-hero h1,.landing-hero h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.02;max-width:13ch;margin:.3rem 0 1rem}.marketing-hero .lead,.landing-hero .lead{font-size:1.25rem;line-height:1.55;max-width:48rem}.commercial-line{font-size:1.05rem;margin:1.25rem 0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.055em;font-weight:800;font-size:.8rem;color:var(--text-muted)}
.product-example{border:1px solid var(--border);border-top:4px solid var(--brand);background:var(--surface);padding:1rem}.product-example-bar{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.product-example-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:1rem}.product-example-stats>div{background:var(--surface);padding:1rem}.product-example-stats small{display:block;color:var(--text-muted)}.product-example-stats strong{display:block;font-size:1.75rem;margin-top:.2rem}.product-example-table{display:grid;grid-template-columns:1.4fr 1fr .7fr;margin-top:1rem;border-top:1px solid var(--border);border-left:1px solid var(--border)}.product-example-table>*{padding:.55rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.marketing-preview-section,.marketing-section{padding:3rem 0;border-top:1px solid var(--border)}.section-heading{max-width:760px;margin-bottom:1.5rem}.section-heading h2,.marketing-section h2,.landing-preview h2,.preview-next h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.2rem 0 .8rem}.marketing-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end;max-width:1100px}.marketing-preview-form label{margin:0}.marketing-preview-form .button{min-height:44px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;list-style:none;padding:0;margin:0}.process-steps li{border-left:4px solid var(--brand);background:var(--surface);padding:1rem}.process-steps strong,.process-steps span{display:block}.process-steps span{margin-top:.5rem;color:var(--text-muted);line-height:1.5}
.split-marketing{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.plain-feature-list{display:grid;grid-template-columns:max-content 1fr;border-top:1px solid var(--border);border-left:1px solid var(--border)}.plain-feature-list>*{padding:.8rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.plain-feature-list span{color:var(--text-muted)}.funnel-example{display:grid;gap:.8rem}.funnel-example>div{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-left:4px solid var(--brand);padding:.8rem;background:var(--surface)}.microsite-example{border:1px solid var(--border);border-top:5px solid var(--brand);background:var(--surface);padding:1.4rem}.mini-site-head{display:flex;justify-content:space-between;gap:1rem}.mini-site-head strong{font-size:1.7rem}.mini-actions,.mini-services{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.mini-actions span,.mini-services span{border:1px solid var(--border);padding:.55rem .7rem;background:var(--surface-subtle)}
.interface-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.interface-card{border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface);padding:1rem}.fake-table{display:grid;grid-template-columns:1fr auto auto;border:1px solid var(--border);margin-top:1rem}.fake-table>*{padding:.55rem;border-right:1px solid var(--border)}.fake-chart{height:130px;display:flex;align-items:flex-end;gap:.5rem;padding:1rem;border-left:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1rem}.fake-chart i{display:block;flex:1;background:var(--brand);min-height:6px}
.pricing-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}.price-display{font-size:4rem;font-weight:800;line-height:1}.price-display span{font-size:1rem;font-weight:600}.pricing-terms{margin:0}.pricing-terms>div{display:grid;grid-template-columns:1fr 1.4fr;padding:.75rem 0;border-bottom:1px solid var(--border)}.pricing-terms dt{font-weight:700}.pricing-terms dd{margin:0}.faq-list details{border-bottom:1px solid var(--border);padding:.9rem 0}.faq-list summary{font-weight:800;cursor:pointer}.faq-list p{max-width:760px}.marketing-final-cta,.landing-cta{padding:3rem 0;border-top:1px solid var(--border);text-align:left}.marketing-final-cta h2,.landing-cta h2{font-size:2.2rem}.marketing-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center}.marketing-footer nav{display:flex;gap:1rem}
.cookie-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1200;background:var(--surface);border:2px solid var(--brand);padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;max-width:1180px;margin:0 auto}.cookie-consent[hidden]{display:none}.cookie-consent p{margin:.25rem 0}.cookie-consent .button-row{flex-shrink:0}
.landing-hero{padding:3.5rem 0 2rem;max-width:900px}.landing-preview{border-top:0;padding-top:1rem}.landing-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem 0}.landing-proof-grid article{border-left:4px solid var(--brand);background:var(--surface);padding:1rem}.landing-proof-grid h2{margin-top:0}.marketing-narrow{max-width:980px;margin-left:auto;margin-right:auto}.preview-results{display:grid;gap:1rem}.preview-result-card{display:grid;grid-template-columns:1fr 260px auto;gap:1rem;align-items:center;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface);padding:1rem}.preview-result-card strong,.preview-result-card span,.preview-result-card small{display:block}.preview-result-card span,.preview-result-card small{color:var(--text-muted);margin-top:.2rem}.website-status-inline{margin:0}.manual-preview{margin-top:1.5rem}.preview-browser{border:1px solid var(--border);background:var(--surface);margin-top:1rem}.preview-browser-bar{display:flex;align-items:center;gap:.4rem;padding:.65rem;background:var(--surface-subtle);border-bottom:1px solid var(--border)}.preview-browser-bar>span{width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.preview-browser-bar strong{margin-left:.5rem;font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-business-page{padding:1.4rem}.preview-business-page h2{font-size:2.4rem;margin:.2rem 0}.preview-location,.preview-rating{color:var(--text-muted)}.preview-business-page section{border-top:1px solid var(--border);padding:1.1rem 0}.preview-action-grid,.preview-service-grid{display:flex;flex-wrap:wrap;gap:.6rem}.preview-action-grid span{background:var(--brand);color:#fff;padding:.65rem .85rem;font-weight:700}.preview-service-grid span{border:1px solid var(--border);padding:.55rem .7rem}.preview-next{margin-top:1.5rem}.preview-carry-card{margin-bottom:1rem}.commercial-confirmation{border-left:4px solid var(--brand);background:var(--surface-subtle);padding:.8rem}.commercial-confirmation p{margin:.25rem 0 0}.legal-page,.legal-copy{max-width:900px;margin-left:auto;margin-right:auto}.legal-copy{padding-bottom:2rem}.legal-copy h2{margin-top:2rem}.legal-copy p{line-height:1.65}.legal-review-note{border-left:4px solid var(--brand);background:var(--surface-subtle);padding:1rem}
@media(max-width:980px){.marketing-nav{display:none}.marketing-hero{grid-template-columns:1fr;gap:1.5rem}.marketing-preview-form{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr}.split-marketing,.pricing-section{grid-template-columns:1fr}.interface-grid{grid-template-columns:1fr}.preview-result-card{grid-template-columns:1fr}.landing-proof-grid{grid-template-columns:1fr}.cookie-consent{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.marketing-hero{padding-top:1.8rem}.marketing-hero h1,.landing-hero h1{font-size:2.4rem}.process-steps{grid-template-columns:1fr}.product-example-stats{grid-template-columns:1fr 1fr}.product-example-table{font-size:.83rem}.price-display{font-size:3rem}.pricing-terms>div{grid-template-columns:1fr}.pricing-terms dd{margin-top:.25rem}.marketing-footer{align-items:flex-start;flex-direction:column}.cookie-consent .button-row{display:grid;width:100%}.cookie-consent .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* R6 launch readiness */
.launch-summary{margin-bottom:var(--ui-gap-lg)}
.launch-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ui-gap-md);margin-top:1rem}
.launch-check{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--border);border-left:4px solid var(--border-strong);background:var(--surface-muted)}
.launch-check.is-ok{border-left-color:var(--brand)}
.launch-check.is-bad{border-left-color:var(--danger)}
.launch-check span{color:var(--muted);line-height:1.4}
@media(max-width:1000px){.launch-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.launch-check-grid{grid-template-columns:1fr}}

/* R6 hosted redesign 0.6.1: public marketing site and Business Page theme families. */
.public-main .public-wide{max-width:1480px}
.public-sales-header{position:sticky;top:0;z-index:900;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.public-header-inner{min-height:68px}
.public-wordmark{font-size:1.08rem}.header-primary-cta{margin-left:.15rem}
.marketing-nav{gap:1.55rem}.marketing-nav a{font-weight:650;font-size:.95rem}
.mkt-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);align-items:stretch;gap:clamp(2rem,5vw,5.5rem);padding:clamp(3rem,6vw,6rem) 0 4rem}
.mkt-hero-copy{align-self:center;max-width:720px}.mkt-hero h1,.mkt-inner-hero h1,.pricing-hero h1,.mkt-page-heading h1,.landing-redesign-hero h1{font-size:clamp(3rem,5.8vw,6.3rem);line-height:.96;letter-spacing:-.055em;margin:.35rem 0 1.2rem;max-width:12ch}.mkt-hero .lead,.mkt-inner-hero .lead,.mkt-page-heading .lead,.pricing-hero .lead,.landing-redesign-hero .lead{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.6;max-width:58ch;color:var(--text-muted)}
.mkt-hero-photo{margin:0;position:relative;min-height:520px;overflow:hidden;background:var(--surface-muted);border:1px solid var(--border)}.mkt-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.mkt-hero-photo figcaption{position:absolute;left:1.1rem;bottom:1.1rem;max-width:390px;padding:.7rem .85rem;background:rgba(15,35,33,.88);color:#fff;font-weight:650;font-size:.9rem}
.commercial-line{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.commercial-line span{position:relative}.commercial-line span:not(:last-child)::after{content:"·";margin-left:1rem;color:var(--text-muted)}
.mkt-preview-band{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:1.2rem 3rem;align-items:end;padding:clamp(2.2rem,4vw,4rem);background:color-mix(in srgb,var(--surface-muted) 82%,#e9dfc8);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-inline:calc(50% - 50vw);padding-inline:max(calc((100vw - min(1480px,calc(100vw - 2rem)))/2),1rem)}
.mkt-preview-copy h2,.mkt-section h2,.mkt-photo-story h2,.mkt-business-page-promo h2,.mkt-price-band h2,.mkt-final-photo-cta h2,.mkt-screenshot-story h2,.mkt-mode-compare h2,.compact-demo-section h2,.landing-preview-panel h2,.landing-proof h2{font-size:clamp(2rem,3.6vw,3.6rem);letter-spacing:-.04em;line-height:1.03;margin:.25rem 0 .9rem}.mkt-preview-copy p{max-width:55ch}.mkt-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.8rem;align-items:end}.mkt-preview-form label{margin:0}.mkt-preview-form input{min-height:48px}.mkt-preview-form .button{min-height:48px}.mkt-preview-photo{grid-column:2;max-width:760px}.mkt-preview-photo img{width:100%;height:220px;object-fit:cover;border:1px solid var(--border);display:block}
.mkt-section{padding:clamp(3.5rem,7vw,7rem) 0;border-top:1px solid var(--border)}.mkt-section>.section-heading{max-width:850px;margin-bottom:2rem}.mkt-section>.section-heading p{font-size:1.05rem;line-height:1.65}.mkt-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.mkt-feature-grid article{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--border);padding:1.25rem}.mkt-feature-number{font-size:.78rem;font-weight:800;color:var(--brand);letter-spacing:.12em}.mkt-feature-grid h3{font-size:1.55rem;line-height:1.1;margin:.55rem 0 .7rem}.mkt-feature-grid p{color:var(--text-muted);line-height:1.55}.mkt-feature-grid img{width:100%;height:220px;object-fit:cover;object-position:top;margin-top:auto;border:1px solid var(--border)}
.mkt-photo-story,.mkt-business-page-promo,.mkt-screenshot-story,.compact-demo-section,.landing-proof{display:grid;grid-template-columns:minmax(380px,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid var(--border)}.mkt-photo-story img,.mkt-business-page-promo img,.mkt-inner-hero img,.mkt-screenshot-story img,.compact-demo-section img,.landing-proof img{width:100%;display:block;border:1px solid var(--border);object-fit:cover}.mkt-photo-story img{min-height:410px;max-height:560px}.mkt-photo-story p,.mkt-business-page-promo p,.mkt-screenshot-story p,.compact-demo-section p{font-size:1.04rem;line-height:1.65;color:var(--text-muted)}.mkt-business-page-promo{grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr)}.mkt-business-page-promo figure{margin:0}.mkt-business-page-promo img{min-height:340px}.text-link{font-weight:800;color:var(--brand);text-underline-offset:3px}
.comparison-summary-table{border:1px solid var(--border);background:var(--surface)}.comparison-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr);min-width:0}.comparison-row>*{padding:.85rem 1rem;border-bottom:1px solid var(--border);min-width:0}.comparison-row>*+*{border-left:1px solid var(--border)}.comparison-row:last-child>*{border-bottom:0}.comparison-head{background:var(--surface-muted);font-weight:800}.comparison-ours{font-weight:800;background:color-mix(in srgb,var(--surface) 88%,var(--brand));}.comparison-summary-table.wide{overflow:auto}
.mkt-price-band{display:grid;grid-template-columns:1.1fr 1.4fr auto;gap:2rem;align-items:center;padding:clamp(2.5rem,5vw,4.5rem);margin:0 calc(50% - 50vw);padding-inline:max(calc((100vw - min(1480px,calc(100vw - 2rem)))/2),1rem);background:var(--brand);color:#fff}.mkt-price-band .eyebrow,.mkt-price-band p{color:rgba(255,255,255,.82)}.mkt-price-facts{display:flex;gap:1.5rem;flex-wrap:wrap}.mkt-price-facts span{display:flex;flex-direction:column}.mkt-price-facts strong{font-size:1.1rem}.mkt-price-band .button-primary{background:#fff;color:#173633;border-color:#fff}
.mkt-final-photo-cta{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(0,.9fr);gap:3rem;align-items:center;padding:clamp(3rem,7vw,7rem) 0}.mkt-final-photo-cta img{width:100%;height:420px;object-fit:cover;border:1px solid var(--border)}
.mkt-inner-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:4rem;align-items:center;padding:clamp(3.5rem,7vw,7rem) 0}.mkt-inner-hero img{height:500px}.mkt-five-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:0}.mkt-five-steps li{padding:1.2rem;border-top:5px solid var(--brand);background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.mkt-five-steps b{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--brand);color:#fff}.mkt-five-steps h3{font-size:1.25rem;margin:.8rem 0 .55rem}.mkt-five-steps p{font-size:.95rem;line-height:1.55;color:var(--text-muted)}.mkt-screenshot-story img{max-height:560px;object-position:top}.mkt-screenshot-story.reverse>div{order:2}.mkt-screenshot-story.reverse>img{order:1}.mkt-final-plain{padding:3.5rem 0 5rem;border-top:1px solid var(--border)}.mkt-final-plain h2{font-size:clamp(2rem,3.5vw,3.4rem);max-width:18ch}
.mkt-mode-compare{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:1rem 0 4rem}.mkt-mode-compare article{padding:1.5rem;border-top:5px solid var(--brand);background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.mkt-mode-compare p{line-height:1.65;color:var(--text-muted)}
.theme-showcase-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.theme-showcase-card{background:var(--surface);border:1px solid var(--border);overflow:hidden}.theme-showcase-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.theme-showcase-card>div{padding:1rem}.theme-showcase-card span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}.theme-showcase-card h3{font-size:1.45rem;margin:.35rem 0}.theme-showcase-card p{font-size:.93rem;line-height:1.5;color:var(--text-muted)}.theme-card-established{border-top:6px solid #6b5544}.theme-card-workshop{border-top:6px solid #263d3b}.theme-card-studio{border-top:6px solid #8b6c63}.theme-card-classic{border-top:6px solid #536965}.theme-card-showcase{border-top:6px solid #67724a}.compact-demo-section{padding-bottom:6rem}.tick-list{padding-left:1.2rem;line-height:1.8}.tick-list li::marker{color:var(--brand)}
.mkt-page-heading{padding:clamp(3rem,6vw,6rem) 0 2rem;max-width:1000px}.example-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-bottom:5rem}.example-theme{min-width:0}.example-theme>h3{font-size:1.6rem;margin:1rem 0 .35rem}.example-theme>p{color:var(--text-muted)}.example-browser{border:1px solid var(--border);background:var(--surface);overflow:hidden}.example-browser-bar{display:flex;align-items:center;gap:.35rem;padding:.55rem .7rem;background:var(--surface-muted);border-bottom:1px solid var(--border)}.example-browser-bar i{width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.example-browser-bar span{margin-left:.4rem;font-size:.75rem;color:var(--text-muted)}.example-browser>img{width:100%;height:300px;object-fit:cover;display:block}.example-site-copy{padding:1.25rem}.example-site-copy small{font-weight:800;letter-spacing:.08em}.example-site-copy h2{font-size:2rem;margin:.4rem 0}.example-site-copy p{max-width:50ch}.example-site-actions{display:flex;gap:.5rem;flex-wrap:wrap}.example-site-actions span{padding:.55rem .7rem;border:1px solid currentColor;font-weight:700}.theme-established .example-site-copy{font-family:Georgia,"Times New Roman",serif}.theme-established .example-site-copy h2{font-family:Georgia,"Times New Roman",serif}.theme-workshop .example-site-copy{background:#1f2a29;color:#fff}.theme-studio .example-site-copy{background:#f3ebe7}.theme-classic .example-site-copy{background:#fff}.theme-showcase .example-site-copy{background:#1d2825;color:#fff}.compact-example-full{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start;padding:4rem 0;border-top:1px solid var(--border)}.compact-example-card{max-width:720px;margin-left:auto;background:var(--surface);border:1px solid var(--border);padding:1rem}.compact-example-card>img{width:100%;height:240px;object-fit:cover}.compact-example-card h3{font-size:2rem;margin:.8rem 0}.compact-example-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.compact-example-buttons span{background:var(--brand);color:#fff;padding:.55rem .7rem;font-weight:700}.compact-example-box{margin-top:1rem;padding:1rem;background:var(--surface-muted);border:1px solid var(--border)}
.pricing-hero{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;padding:clamp(3.5rem,7vw,7rem) 0 4rem}.price-lockup{min-width:330px;padding:2rem;background:var(--brand);color:#fff}.price-lockup>strong{display:block;font-size:5rem;line-height:.9}.price-lockup>span{font-weight:700}.price-lockup p{margin:1.2rem 0 0;color:rgba(255,255,255,.82)}.pricing-included{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-bottom:5rem}.pricing-included>div{padding:1.5rem;background:var(--surface);border:1px solid var(--border)}.pricing-included h2{font-size:2rem}.pricing-terms-card dl{margin:0}.pricing-terms-card dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.pricing-terms-card dt{font-weight:800}.pricing-terms-card dd{margin:0}.competitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.competitor-card{padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-top:5px solid var(--brand)}.competitor-card h3{font-size:1.5rem}.competitor-price{font-size:1.8rem}.competitor-meta{display:flex;gap:.7rem;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.competitor-meta a{font-weight:700}.comparison-disclaimer{margin-top:1rem;color:var(--text-muted);font-size:.9rem}
.landing-redesign-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr);gap:4rem;align-items:center;padding:clamp(3.5rem,7vw,7rem) 0 4rem}.landing-redesign-hero img{width:100%;height:520px;object-fit:cover;border:1px solid var(--border)}.landing-preview-panel{display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem;align-items:end;padding:2rem;background:var(--surface-muted);border:1px solid var(--border)}.landing-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:3rem 0}.landing-outcomes article{padding:1rem;border-top:4px solid var(--brand);background:var(--surface);border-left:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-outcomes strong{font-size:1.25rem}.landing-outcomes p{color:var(--text-muted)}.landing-proof img{max-height:460px;object-position:top}.landing-cta{padding:4rem 0 5rem}
/* Theme picker inside client Business Page editor. */
.theme-choice-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem}.theme-choice{position:relative;display:flex;flex-direction:column;margin:0;border:2px solid var(--border);background:var(--surface);cursor:pointer;overflow:hidden}.theme-choice.is-selected,.theme-choice:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 20%,transparent)}.theme-choice input{position:absolute;top:.55rem;left:.55rem;z-index:2;width:20px;height:20px}.theme-choice img{width:100%;aspect-ratio:4/3;object-fit:cover}.theme-choice>span{display:flex;flex-direction:column;gap:.2rem;padding:.7rem}.theme-choice small{color:var(--muted)}.theme-choice-note{display:flex;flex-direction:column;gap:.35rem;padding:.6rem 0}.theme-choice-note span{color:var(--muted);font-size:.9rem}
/* Full microsite theme families: same data, materially different presentation. */
.mode-full.business-public-body{--public-max:1220px;--public-gutter:clamp(1rem,4vw,3.5rem);--public-section-gap:clamp(2rem,5vw,5rem);background:var(--public-page-tone)}
.mode-full .business-public-wrap{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))!important}.mode-full .identity-grid{padding-block:clamp(4rem,8vw,8rem)}.mode-full .business-content{padding-block:clamp(2.5rem,5vw,5rem) 6rem}.mode-full.section-style-bands .business-content{gap:var(--public-section-gap)}.mode-full.section-style-bands .business-section,.mode-full.section-style-bands .business-section:nth-child(even){box-shadow:none;clip-path:none;background:var(--public-surface-tone);padding:clamp(2rem,4vw,4rem);border:1px solid var(--public-border-tone)}.mode-full .business-section{padding:clamp(2rem,4vw,4rem)}.mode-full .business-section h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.03}.mode-full .business-section p{line-height:1.65}.mode-full .service-public-item{min-height:180px}.mode-full .public-gallery{gap:1rem}
.mode-full.design-established{--public-page-tone:#f3f0e9;--public-surface-tone:#fffdf8;--public-soft-tone:#e7e0d4;--public-radius:0;--public-heading-font:Georgia,"Times New Roman",serif}.mode-full.design-established .business-identity{background:#1f302c;color:#fff}.mode-full.design-established .business-location-kicker,.mode-full.design-established .business-address{color:#d9cbb4}.mode-full.design-established .identity-cover{border:6px solid #fff}.mode-full.design-established .business-section{border-left:6px solid var(--client-secondary)}.mode-full.design-established .service-public-item{border-top:0;border-left:4px solid var(--client-secondary)}
.mode-full.design-workshop{--public-page-tone:#eef1ef;--public-surface-tone:#fff;--public-soft-tone:#dfe5e1;--public-radius:2px}.mode-full.design-workshop .business-identity{background:#172422;color:#fff}.mode-full.design-workshop .business-identity h1{text-transform:uppercase;letter-spacing:-.04em;font-weight:900}.mode-full.design-workshop .business-logo{filter:saturate(.9)}.mode-full.design-workshop .business-section{border-top:5px solid var(--client-brand)}.mode-full.design-workshop .service-public-item{background:#f5f7f6;border-top:5px solid var(--client-secondary)}
.mode-full.design-studio{--public-page-tone:#f6f1ee;--public-surface-tone:#fffdfc;--public-soft-tone:#ede2dc;--public-radius:14px;--public-heading-font:Georgia,"Times New Roman",serif}.mode-full.design-studio .business-identity{background:#fffaf7}.mode-full.design-studio .business-identity h1{font-weight:500;letter-spacing:-.035em}.mode-full.design-studio .identity-cover{border-radius:28px}.mode-full.design-studio .business-section{border:0;background:transparent}.mode-full.design-studio .service-public-item,.mode-full.design-studio .visual-card,.mode-full.design-studio .team-card{border-radius:12px;box-shadow:0 12px 30px rgba(50,36,30,.06);border-color:#eadfd9}.mode-full.design-studio .service-public-item{border-top:1px solid #eadfd9}
.mode-full.design-classic{--public-page-tone:#f3f5f4;--public-surface-tone:#fff;--public-soft-tone:#e9eeec;--public-radius:5px}.mode-full.design-classic .business-identity{background:var(--public-surface-tone)}.mode-full.design-classic .business-section{border-left:5px solid var(--client-brand)}
.mode-full.design-showcase{--public-max:1420px;--public-page-tone:#eef1ef;--public-surface-tone:#fff;--public-soft-tone:#dde4df;--public-radius:0}.mode-full.design-showcase .business-identity{background:#172422;color:#fff}.mode-full.design-showcase .identity-grid{grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr)}.mode-full.design-showcase .identity-cover{min-height:560px}.mode-full.design-showcase .identity-cover img{min-height:560px;max-height:760px}.mode-full.design-showcase .business-section{border:0;padding-inline:0;background:transparent}.mode-full.design-showcase .public-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.mode-full.design-showcase .public-gallery figure:first-child{grid-column:span 2;grid-row:span 2}.mode-full.design-showcase .service-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-full.design-showcase .service-public-item{background:#172422;color:#fff;border:0;border-left:5px solid var(--client-secondary)}
/* The compact page is one dedicated advocacy design, independent of full-site theme family. */
.mode-compact.business-public-body{--public-max:980px;--public-page-tone:#eef2f0;--public-surface-tone:#fff;--public-soft-tone:#e3e9e6;--public-radius:6px}.mode-compact .business-identity{background:var(--public-surface-tone);border-bottom:1px solid var(--public-border-tone)}.mode-compact .identity-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);padding-block:clamp(2.5rem,5vw,4.5rem)}.mode-compact .identity-copy{max-width:680px}.mode-compact .identity-cover{min-height:320px}.mode-compact .identity-cover img{min-height:320px;max-height:420px}.mode-compact .business-identity h1{font-size:clamp(2.6rem,6vw,4.5rem)}.mode-compact .compact-business-content{display:grid;grid-template-columns:1fr;gap:1.2rem;padding:2rem 0 4rem}.mode-compact .compact-business-content .business-section{grid-column:1/-1!important;padding:1.5rem;border:1px solid var(--public-border-tone);background:var(--public-surface-tone);box-shadow:none}.mode-compact .compact-business-content .reviews-section{border-top:6px solid var(--client-brand)}.mode-compact .compact-business-content .recommend-section{border-top:6px solid var(--client-secondary)}.mode-compact .compact-business-content .review-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.mode-compact .compact-business-content .review-destination-button{min-height:62px;font-size:1rem}.mode-compact .compact-business-content .contact-section{background:var(--public-soft-tone)}.mode-compact .compact-business-content .social-section{padding-block:1rem}.mode-compact .compact-business-content .about-section,.mode-compact .compact-business-content .services-section,.mode-compact .compact-business-content .gallery-section{display:none}
/* Marketing imagery management in platform settings. */
.marketing-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.marketing-image-card{border:1px solid var(--border);background:var(--surface);padding:1rem}.marketing-image-card img{width:100%;height:190px;object-fit:cover;border:1px solid var(--border);margin:.5rem 0}.marketing-image-card .file-upload-row{margin-top:.5rem}
@media(max-width:1180px){.theme-showcase-grid{grid-template-columns:repeat(3,1fr)}.theme-choice-grid{grid-template-columns:repeat(3,1fr)}.mkt-five-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.mkt-hero,.mkt-inner-hero,.pricing-hero,.landing-redesign-hero,.mkt-photo-story,.mkt-business-page-promo,.mkt-screenshot-story,.compact-demo-section,.landing-proof,.mkt-final-photo-cta,.pricing-included,.compact-example-full{grid-template-columns:1fr}.mkt-hero-photo,.mkt-inner-hero img,.landing-redesign-hero img{min-height:0;height:420px}.mkt-preview-band{grid-template-columns:1fr}.mkt-preview-form{grid-template-columns:1fr}.mkt-preview-photo{grid-column:auto}.mkt-feature-grid{grid-template-columns:1fr}.mkt-five-steps{grid-template-columns:1fr 1fr}.theme-showcase-grid{grid-template-columns:1fr 1fr}.example-theme-grid{grid-template-columns:1fr}.competitor-grid{grid-template-columns:1fr}.landing-preview-panel{grid-template-columns:1fr}.landing-outcomes{grid-template-columns:1fr 1fr}.mkt-price-band{grid-template-columns:1fr}.comparison-summary-table{overflow:auto}.comparison-row{min-width:860px}.mode-full.design-showcase .identity-grid,.mode-compact .identity-grid{grid-template-columns:1fr}.mode-full.design-showcase .identity-cover,.mode-compact .identity-cover{order:-1}.marketing-image-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.mkt-hero h1,.mkt-inner-hero h1,.pricing-hero h1,.mkt-page-heading h1,.landing-redesign-hero h1{font-size:2.7rem}.mkt-hero-photo,.mkt-inner-hero img,.landing-redesign-hero img{height:320px}.theme-showcase-grid,.theme-choice-grid,.mkt-five-steps,.landing-outcomes,.marketing-image-grid{grid-template-columns:1fr}.mkt-price-band{margin-inline:-1rem;padding-inline:1rem}.mkt-preview-band{margin-inline:-1rem;padding-inline:1rem}.mkt-feature-grid img{height:180px}.example-browser>img{height:220px}.price-lockup{min-width:0}.price-lockup>strong{font-size:4rem}.commercial-line span::after{display:none}.commercial-line{display:grid}.mode-full .business-section{padding:1.25rem}.mode-full.design-showcase .public-gallery{grid-template-columns:1fr}.mode-full.design-showcase .public-gallery figure:first-child{grid-column:auto;grid-row:auto}}
.mode-compact.hero-layout-background .business-identity{min-height:0;background:var(--public-surface-tone);color:var(--text)}
.mode-compact.hero-layout-background .hero-background-media,.mode-compact.hero-layout-background .hero-background-overlay{display:none}
.mode-compact.hero-layout-background .identity-copy{color:var(--text)}
.mode-compact.hero-layout-background .business-location-kicker,.mode-compact.hero-layout-background .business-lead,.mode-compact.hero-layout-background .business-address{color:var(--text-muted)}
.mode-compact.hero-layout-background .business-logo{background:transparent;padding:0}
.mode-compact.hero-layout-background .business-button.secondary{background:transparent;color:var(--client-brand);border-color:var(--client-brand)}
.marketing-mobile-nav{display:none;position:relative}.marketing-mobile-nav summary{cursor:pointer;color:var(--header-text,#fff);font-weight:800;list-style:none;padding:.55rem}.marketing-mobile-nav summary::-webkit-details-marker{display:none}.marketing-mobile-nav nav{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;padding:.5rem;background:var(--surface);border:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.14)}.marketing-mobile-nav nav a{display:block;padding:.7rem .8rem;color:var(--text);text-decoration:none;font-weight:700}.marketing-mobile-nav nav a:hover{background:var(--surface-muted)}
@media(max-width:980px){.marketing-mobile-nav{display:block}.public-header-inner{gap:.55rem}.header-primary-cta{display:none}}
.preview-page-heading{padding:3rem 0 1.5rem}.preview-page-heading h1{font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.05em;margin:.2rem 0}.preview-live-card{border:1px solid var(--border);background:var(--surface);overflow:hidden}.preview-live-bar{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .9rem;background:var(--surface-muted);border-bottom:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.preview-live-hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:2rem}.preview-live-hero h2{font-size:clamp(2.6rem,5vw,4.6rem);letter-spacing:-.05em;line-height:1;margin:.3rem 0 .8rem}.preview-live-hero>img{width:100%;height:330px;object-fit:cover}.preview-live-actions,.preview-destination-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.preview-live-actions span{padding:.6rem .75rem;background:var(--brand);color:#fff;font-weight:700}.preview-live-content{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-top:1px solid var(--border)}.preview-live-content>section{background:var(--surface);padding:1.5rem}.preview-live-content h3,.preview-live-advocacy h3{font-size:1.55rem;margin:.25rem 0}.preview-services{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.preview-services span{padding:.8rem;background:var(--surface-muted);border-top:4px solid var(--brand)}.preview-live-advocacy{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.5rem;background:var(--surface-muted)}.preview-live-advocacy>div{background:var(--surface);border:1px solid var(--border);padding:1.2rem}.preview-destination-row span{padding:.55rem .7rem;border:1px solid var(--border);font-weight:700}.preview-next{margin-top:1.5rem;margin-bottom:4rem}.preview-compact{max-width:820px}.preview-compact .preview-live-hero{grid-template-columns:1fr}.preview-compact .preview-live-hero>img{height:260px}.preview-compact .preview-live-advocacy{grid-template-columns:1fr}.preview-compact .preview-live-hero h2{font-size:3.6rem}@media(max-width:760px){.preview-live-hero,.preview-live-content,.preview-live-advocacy{grid-template-columns:1fr}.preview-live-bar{flex-direction:column}.preview-live-hero>img{height:240px}.preview-services{grid-template-columns:1fr}.preview-compact .preview-live-hero h2{font-size:2.7rem}}
.mode-compact.section-style-bands .compact-business-content .business-section{clip-path:none!important;box-shadow:none!important}
.mode-full .about-section .prose-copy{max-width:780px;font-size:1.08rem}.mode-full .reviews-section{background:color-mix(in srgb,var(--public-surface-tone) 88%,var(--client-brand))!important;border-top:6px solid var(--client-brand)!important}.mode-full .reviews-section .review-callout{max-width:900px;margin-inline:auto;text-align:center}.mode-full .reviews-section .review-actions{justify-content:center}.mode-full .reviews-section .review-destination-button{min-width:190px}.mode-full .recommend-section{background:color-mix(in srgb,var(--public-surface-tone) 90%,var(--client-secondary))!important}.mode-full .recommend-section .recommend-inner{max-width:980px}.mode-full .referral-terms-public{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-items:baseline;padding:1rem 1.15rem;margin:1.2rem 0;background:var(--public-surface-tone);border:1px solid var(--public-border-tone);border-left:5px solid var(--client-secondary)}.mode-full .referral-terms-public small{grid-column:1/-1}.mode-full .contact-section{background:var(--public-soft-tone)!important}.mode-full .contact-section .enquiry-box{background:var(--public-surface-tone);border:1px solid var(--public-border-tone);box-shadow:none}.mode-full .social-section{padding-block:1.5rem!important}.mode-full .business-legal{font-size:.9rem;color:var(--muted)}.mode-full.design-showcase .business-section{box-shadow:none}.mode-full.design-studio .business-section{box-shadow:none}

/* R6 hosted correction 0.6.2: public design repair, real theme differentiation and admin usability. */
:root{--text-muted:var(--muted);--surface-subtle:var(--surface-muted);--border-strong:var(--border)}

/* Marketing typography: headings are stacked normally instead of being squeezed into the generic admin flex heading. */
.public-main .section-heading,
.public-main .mkt-section>.section-heading{display:block!important;max-width:960px!important;margin:0 0 2rem!important}
.public-main .section-heading>*{display:block;max-width:none;margin-left:0}
.public-main .section-heading .eyebrow{margin-bottom:.55rem}
.public-main .section-heading h2{max-width:18ch;margin:.15rem 0 .85rem!important}
.public-main .section-heading p{max-width:68ch;margin-bottom:0}
.public-main .eyebrow{white-space:normal}

/* Photographs should be shown at sensible sizes; never stretch small source images across the entire viewport. */
.mkt-hero-photo,.mkt-inner-hero img,.mkt-photo-story img,.mkt-business-page-promo img,.landing-conversion-photo img,.landing-microsite-proof img{image-rendering:auto;object-fit:cover;object-position:center}
.mkt-hero-photo{max-height:620px}
.mkt-inner-hero img{height:min(520px,42vw);min-height:360px}
.mkt-photo-story img{min-height:0;height:clamp(340px,34vw,520px)}
.theme-showcase-card img,.theme-demo-canvas>img{filter:none!important}

/* Homepage comparison. */
.comparison-section{padding-top:clamp(3rem,6vw,5.5rem)!important}
.comparison-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);background:var(--surface)}
.marketing-comparison-table{width:100%;min-width:860px;border-collapse:collapse;font-size:1rem}
.marketing-comparison-table th,.marketing-comparison-table td{padding:1rem 1.05rem;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);vertical-align:middle;text-align:left}
.marketing-comparison-table thead th{background:var(--surface-muted);font-size:.94rem;letter-spacing:.01em}
.marketing-comparison-table tbody th{font-weight:750;width:29%}
.marketing-comparison-table .comparison-ours{background:color-mix(in srgb,var(--brand) 8%,var(--surface));font-weight:800}
.marketing-comparison-table tbody tr:hover>*{background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.marketing-comparison-table tbody tr:hover>.comparison-ours{background:color-mix(in srgb,var(--brand) 13%,var(--surface))}
.comparison-link-row{margin:1rem 0 0}

/* Price band contrast. */
.mkt-price-band{background:var(--brand)!important;color:#fff!important;border:0!important;padding:clamp(2.5rem,5vw,4.25rem)!important;margin-block:0!important}
.mkt-price-band h2,.mkt-price-band p,.mkt-price-band .eyebrow,.mkt-price-band strong,.mkt-price-band span{color:#fff!important}
.mkt-price-band .button-primary{background:#fff!important;color:var(--brand)!important;border-color:#fff!important}
.mkt-price-band .button-primary:hover{background:#f0f4f2!important;color:var(--brand-hover)!important}

/* Pricing page rebuilt as a commercial page, not a stack of prototype panels. */
.pricing-page-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(4rem,8vw,7rem) 0 4rem}
.pricing-page-copy h1{font-size:clamp(3rem,5.6vw,6rem);line-height:.96;letter-spacing:-.055em;max-width:13ch;margin:.25rem 0 1rem}
.pricing-page-copy .lead{max-width:55ch}
.pricing-plain-points{display:flex;flex-wrap:wrap;gap:.55rem 1.15rem;margin:1.5rem 0 1.6rem;color:var(--muted)}
.pricing-plain-points span{position:relative;padding-left:1.15rem}
.pricing-plain-points span::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:900}
.pricing-price-card{background:var(--brand);color:#fff;padding:2rem 2.1rem;border-top:7px solid #b69045;min-height:320px;display:flex;flex-direction:column;justify-content:center}
.pricing-price-card span,.pricing-price-card b,.pricing-price-card p{color:#fff}
.pricing-price-card>span{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.pricing-price-card strong{font-size:clamp(4.8rem,8vw,7.4rem);line-height:.9;color:#fff;margin:.8rem 0 .25rem;letter-spacing:-.06em}
.pricing-price-card b{font-size:1.15rem}.pricing-price-card p{margin:1.25rem 0 0;max-width:32ch;opacity:.9}
.pricing-included-redesign{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2rem,5vw,5rem);padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--border)}
.pricing-included-redesign h2{font-size:clamp(2rem,3.6vw,3.7rem);line-height:1.02;max-width:13ch}
.pricing-feature-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-left:1px solid var(--border)}
.pricing-feature-list li{padding:1.15rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}
.pricing-feature-list strong,.pricing-feature-list span{display:block}.pricing-feature-list span{margin-top:.35rem;color:var(--muted);line-height:1.5}
.competitor-section{padding:clamp(3.5rem,7vw,6rem) 0;border-top:1px solid var(--border)}
.competitor-list{display:grid;border-top:1px solid var(--border);background:var(--surface)}
.competitor-row{display:grid;grid-template-columns:minmax(180px,.5fr) minmax(240px,.7fr) minmax(0,1.5fr);gap:1.4rem;align-items:start;padding:1.35rem 1rem;border:1px solid var(--border);border-top:0}
.competitor-name span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.competitor-name h3{margin:.25rem 0 0;font-size:1.35rem}
.competitor-row-price strong,.competitor-row-price span{display:block}.competitor-row-price strong{font-size:1.35rem;line-height:1.2}.competitor-row-price span{margin-top:.35rem;color:var(--muted)}
.competitor-row-note p{margin:0 0 .55rem}.pricing-final-cta{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:3rem 0 4.5rem;border-top:1px solid var(--border)}.pricing-final-cta h2{font-size:clamp(2rem,3.5vw,3.4rem);margin:.2rem 0 .65rem}

/* Examples now demonstrate visibly different layouts. */
.examples-page-heading{max-width:980px!important}.theme-demo-list{display:grid;gap:clamp(3rem,6vw,6rem);padding:1rem 0 5rem}
.theme-demo{display:grid;grid-template-columns:minmax(250px,.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--border)}
.theme-demo-copy{max-width:420px}.theme-demo-copy h2{font-size:clamp(2.4rem,4vw,4.2rem);line-height:1;letter-spacing:-.045em;margin:.25rem 0 .7rem}.theme-demo-copy>p:not(.eyebrow){font-size:1.05rem;color:var(--muted)}.theme-demo-copy ul{padding-left:1.15rem;line-height:1.65}.theme-demo-number{font-size:.8rem;color:var(--muted);font-weight:800;letter-spacing:.12em}
.theme-demo-browser{border:1px solid var(--border);background:var(--surface);box-shadow:0 15px 40px rgba(0,0,0,.06)}.theme-demo-browser-bar{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;background:var(--surface-muted);border-bottom:1px solid var(--border)}.theme-demo-browser-bar span{width:8px;height:8px;border-radius:50%;background:var(--border)}.theme-demo-browser-bar b{margin-left:.4rem;font-size:.72rem;color:var(--muted)}
.theme-demo-canvas{position:relative;overflow:hidden;min-height:520px}.theme-demo-canvas>img{display:block;width:100%;height:300px;object-fit:cover}.theme-demo-site-head{padding:1.5rem}.theme-demo-site-head small{font-size:.68rem;font-weight:850;letter-spacing:.1em}.theme-demo-site-head h3{font-size:2.15rem;margin:.25rem 0 .45rem}.theme-demo-site-head p{max-width:55ch}.theme-demo-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.theme-demo-actions span{padding:.48rem .65rem;border:1px solid currentColor;font-size:.78rem;font-weight:800}.theme-demo-lower{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}.theme-demo-lower>div{padding:1rem;border-right:1px solid var(--border)}.theme-demo-lower strong,.theme-demo-lower span{display:block}.theme-demo-lower span{font-size:.82rem;margin-top:.3rem;color:inherit;opacity:.76}
.theme-demo-established .theme-demo-canvas{background:#fffdf8}.theme-demo-established .theme-demo-site-head{font-family:Georgia,"Times New Roman",serif;border-top:6px solid #6b5544}.theme-demo-established .theme-demo-site-head h3{font-family:Georgia,"Times New Roman",serif}.theme-demo-established .theme-demo-lower{background:#f3f0e9}
.theme-demo-workshop .theme-demo-canvas{background:#172422;color:#fff}.theme-demo-workshop .theme-demo-site-head{position:absolute;left:0;right:0;bottom:95px;background:rgba(23,36,34,.94);border-left:8px solid #b69045}.theme-demo-workshop .theme-demo-canvas>img{height:430px}.theme-demo-workshop .theme-demo-site-head h3{text-transform:uppercase;color:#fff;font-weight:900}.theme-demo-workshop .theme-demo-lower{position:absolute;bottom:0;left:0;right:0;background:#fff;color:#17211f}.theme-demo-workshop .theme-demo-lower span{color:#52615e;opacity:1}
.theme-demo-studio .theme-demo-canvas{background:#f7efea;padding:1.1rem}.theme-demo-studio .theme-demo-canvas>img{width:58%;height:470px;margin-left:auto;border-radius:18px}.theme-demo-studio .theme-demo-site-head{position:absolute;left:2rem;top:3rem;width:45%;background:#fffaf7;padding:1.6rem;border-radius:16px}.theme-demo-studio .theme-demo-site-head h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}.theme-demo-studio .theme-demo-lower{position:absolute;left:2rem;right:2rem;bottom:2rem;background:#fff;border:1px solid #eadfd9;border-radius:12px;overflow:hidden}
.theme-demo-classic .theme-demo-canvas{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#fff}.theme-demo-classic .theme-demo-canvas>img{grid-column:2;height:100%;min-height:500px}.theme-demo-classic .theme-demo-site-head{grid-column:1;grid-row:1;align-self:center;padding:2rem}.theme-demo-classic .theme-demo-lower{grid-column:1/-1;position:absolute;left:0;right:0;bottom:0;background:#e9eeec}
.theme-demo-showcase .theme-demo-canvas>img{height:520px}.theme-demo-showcase .theme-demo-site-head{position:absolute;left:0;bottom:0;width:min(70%,620px);background:#172422;color:#fff;padding:2rem;border-top:7px solid #b69045}.theme-demo-showcase .theme-demo-site-head h3{font-size:2.6rem;color:#fff}.theme-demo-showcase .theme-demo-lower{display:none}
.compact-example-redesign{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:4rem;align-items:center;padding:4rem 0 6rem;border-top:1px solid var(--border)}.compact-example-redesign h2{font-size:clamp(2.2rem,3.8vw,3.8rem);line-height:1.02}.compact-example-redesign ul{padding-left:1.2rem;line-height:1.7}.compact-demo-card-redesign{border:1px solid var(--border);background:var(--surface);padding:1rem}.compact-demo-card-redesign img{width:100%;height:280px;object-fit:cover}.compact-demo-card-redesign>div{padding:1rem}.compact-demo-card-redesign h3{font-size:2rem;margin:.35rem 0 .9rem}.compact-demo-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.compact-demo-actions span{padding:.75rem;background:var(--brand);color:#fff;text-align:center;font-weight:750;font-size:.82rem}

/* Paid landing page: stronger first screen, product proof and a clear closing price/CTA. */
.landing-conversion-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(4rem,7vw,6rem) 0 3rem}.landing-conversion-copy h1{font-size:clamp(3.2rem,6vw,6.4rem);max-width:12ch;line-height:.95;letter-spacing:-.06em;margin:.25rem 0 1rem}.landing-conversion-copy .lead{max-width:54ch}.landing-hero-points{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.55rem}.landing-hero-points li{padding-left:1.35rem;position:relative}.landing-hero-points li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:900}.landing-conversion-photo{margin:0;background:var(--surface);border:1px solid var(--border);padding:.7rem}.landing-conversion-photo img{width:100%;height:500px;display:block}.landing-conversion-photo figcaption{padding:.7rem .25rem .1rem;color:var(--muted);font-size:.86rem}
.landing-preview-redesign{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:2rem;align-items:end;background:var(--brand);color:#fff;padding:clamp(1.5rem,4vw,2.5rem);margin:1rem 0 3rem}.landing-preview-redesign h2,.landing-preview-redesign p,.landing-preview-redesign .eyebrow,.landing-preview-redesign label{color:#fff}.landing-preview-redesign h2{font-size:clamp(2rem,3.4vw,3.4rem);margin:.2rem 0 .6rem}.landing-preview-redesign .mkt-preview-form input{background:#fff;color:#17211f;border-color:#fff}.landing-preview-redesign .button-primary{background:#fff;border-color:#fff;color:var(--brand)}.landing-no-account{margin-bottom:0;opacity:.92}
.landing-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:2rem 0 4rem}.landing-value-grid article{background:var(--surface);border:1px solid var(--border);border-top:5px solid var(--brand);padding:1.3rem}.landing-value-grid article>span{font-size:.76rem;letter-spacing:.11em;font-weight:850;color:var(--brand)}.landing-value-grid h2{font-size:1.65rem;margin:.45rem 0 .6rem}.landing-value-grid p{color:var(--muted);line-height:1.6}
.landing-product-proof{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3rem,6vw,5.5rem) 0;border-top:1px solid var(--border)}.landing-product-proof h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02}.landing-product-proof figure{margin:0;border:1px solid var(--border);background:var(--surface);padding:.6rem}.landing-product-proof img{display:block;width:100%;max-height:620px;object-fit:contain;object-position:top}
.landing-microsite-proof{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(3rem,6vw,5rem) 0;border-top:1px solid var(--border)}.landing-microsite-proof img{width:100%;height:420px}.landing-microsite-proof h2{font-size:clamp(2.1rem,3.8vw,3.8rem);line-height:1.02}.landing-final-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--brand);color:#fff;padding:2rem 2.2rem;margin:0 0 4rem}.landing-final-strip>div{display:grid;gap:.2rem}.landing-final-strip strong{font-size:2.4rem;color:#fff}.landing-final-strip span{color:#fff}.landing-final-strip .button-primary{background:#fff;color:var(--brand);border-color:#fff}

/* Actual client Business Pages: the five choices now change page composition, not merely colours. */
.mode-full .business-content{display:grid;gap:clamp(1.5rem,3vw,3rem)}
.mode-full .business-section,.mode-full.section-style-bands .business-section,.mode-full.section-style-bands .business-section:nth-child(even){margin:0;border:0!important;box-shadow:none!important;clip-path:none!important}
.mode-full .business-section h2{letter-spacing:-.035em}
.mode-full .service-public-grid{gap:1rem}.mode-full .service-public-item{min-height:0;padding:1.15rem}
.mode-full .public-gallery figure{border:0}.mode-full .public-gallery img{aspect-ratio:4/3;min-height:210px}

.mode-full.design-established{--public-max:1160px;--public-page-tone:#f2eee6;--public-surface-tone:#fffdf8;--public-soft-tone:#e6ddd0}
.mode-full.design-established .business-identity{background:#24312e;color:#fff;border-bottom:7px solid var(--client-secondary)}
.mode-full.design-established .identity-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);padding-block:clamp(4.5rem,8vw,7.5rem)}
.mode-full.design-established .business-identity h1,.mode-full.design-established .business-section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.mode-full.design-established .business-identity h1{font-size:clamp(3rem,6vw,5.8rem);max-width:12ch;color:#fff}
.mode-full.design-established .identity-cover img{aspect-ratio:5/4;border:8px solid #fffdf8;max-height:620px}
.mode-full.design-established .business-section{background:#fffdf8;padding:clamp(2.2rem,4vw,4rem);border-top:1px solid #d8ccbc!important}
.mode-full.design-established .service-public-grid{grid-template-columns:repeat(2,1fr)}.mode-full.design-established .service-public-item{background:transparent;border-left:4px solid var(--client-secondary);padding:1rem 1.2rem}
.mode-full.design-established .reviews-section,.mode-full.design-established .recommend-section{background:#e7ded2!important}

.mode-full.design-workshop{--public-max:1280px;--public-page-tone:#e9eeec;--public-surface-tone:#fff;--public-soft-tone:#dbe3df}
.mode-full.design-workshop .business-identity{background:#162321;color:#fff;border-bottom:0}.mode-full.design-workshop .identity-grid{grid-template-columns:minmax(360px,.75fr) minmax(520px,1.25fr);padding-block:3.5rem}.mode-full.design-workshop .identity-cover{order:-1}.mode-full.design-workshop .identity-cover img{height:520px;max-height:none;aspect-ratio:16/10;border:0}.mode-full.design-workshop .business-identity h1{color:#fff;text-transform:uppercase;font-size:clamp(3rem,6vw,5.8rem);font-weight:900;line-height:.9}.mode-full.design-workshop .business-location-kicker,.mode-full.design-workshop .business-address,.mode-full.design-workshop .business-lead{color:#dce7e3}.mode-full.design-workshop .business-section{padding:clamp(2rem,4vw,3.5rem);background:#fff;border-top:6px solid var(--client-brand)!important}.mode-full.design-workshop .service-public-grid{grid-template-columns:repeat(3,1fr)}.mode-full.design-workshop .service-public-item{background:#182725;color:#fff;border:0;border-top:6px solid var(--client-secondary)}.mode-full.design-workshop .service-public-item h3,.mode-full.design-workshop .service-public-item p{color:#fff}.mode-full.design-workshop .gallery-section{background:#182725!important;color:#fff}.mode-full.design-workshop .gallery-section h2{color:#fff}

.mode-full.design-studio{--public-max:1080px;--public-page-tone:#f7f0ec;--public-surface-tone:#fffaf7;--public-soft-tone:#ede0d9}.mode-full.design-studio .business-identity{background:#fffaf7}.mode-full.design-studio .identity-grid{grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);padding-block:clamp(4rem,8vw,7rem)}.mode-full.design-studio .business-identity h1,.mode-full.design-studio .business-section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}.mode-full.design-studio .business-identity h1{font-size:clamp(3rem,6vw,5.5rem)}.mode-full.design-studio .identity-cover img{aspect-ratio:4/5;max-height:650px;border:0;border-radius:30px}.mode-full.design-studio .business-section{background:transparent;padding:clamp(2.4rem,5vw,4.5rem)}.mode-full.design-studio .service-public-grid{grid-template-columns:repeat(2,1fr)}.mode-full.design-studio .service-public-item{background:#fff;border:1px solid #e6d8d0;border-radius:18px;padding:1.4rem;box-shadow:0 12px 25px rgba(63,44,35,.05)}.mode-full.design-studio .public-gallery{grid-template-columns:repeat(2,1fr)}.mode-full.design-studio .public-gallery figure:first-child{grid-row:span 2}.mode-full.design-studio .public-gallery figure:first-child img{height:100%;min-height:460px}.mode-full.design-studio .reviews-section,.mode-full.design-studio .recommend-section{border-radius:20px!important}

.mode-full.design-classic{--public-max:1220px;--public-page-tone:#f3f5f4;--public-surface-tone:#fff;--public-soft-tone:#e9eeec}.mode-full.design-classic .business-identity{background:#fff}.mode-full.design-classic .identity-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr)}.mode-full.design-classic .business-section{background:#fff;padding:clamp(2rem,4vw,3.6rem);border-left:5px solid var(--client-brand)!important}.mode-full.design-classic .service-public-grid{grid-template-columns:repeat(3,1fr)}.mode-full.design-classic .service-public-item{border:1px solid var(--public-border-tone);border-top:5px solid var(--client-secondary);background:#fff}.mode-full.design-classic .reviews-section{background:#e6eeeb!important}.mode-full.design-classic .recommend-section{background:#f1ecdf!important}

.mode-full.design-showcase{--public-max:1420px;--public-page-tone:#eef1ef;--public-surface-tone:#fff;--public-soft-tone:#dde4df}.mode-full.design-showcase .business-identity{background:#14211f;color:#fff}.mode-full.design-showcase .identity-grid{grid-template-columns:minmax(340px,.7fr) minmax(580px,1.3fr);gap:2rem;padding-block:2.2rem}.mode-full.design-showcase .identity-cover img{height:650px;max-height:none;aspect-ratio:16/10;border:0}.mode-full.design-showcase .business-identity h1{font-size:clamp(3.3rem,6vw,6rem);color:#fff}.mode-full.design-showcase .business-location-kicker,.mode-full.design-showcase .business-address,.mode-full.design-showcase .business-lead{color:#d9e3df}.mode-full.design-showcase .business-section{background:transparent;padding:clamp(2rem,4vw,4rem)}.mode-full.design-showcase .gallery-section{grid-column:1/-1}.mode-full.design-showcase .public-gallery{grid-template-columns:repeat(4,1fr);gap:.55rem}.mode-full.design-showcase .public-gallery figure:first-child{grid-column:span 2;grid-row:span 2}.mode-full.design-showcase .public-gallery figure:first-child img{height:100%;min-height:500px}.mode-full.design-showcase .service-public-grid{grid-template-columns:repeat(2,1fr)}.mode-full.design-showcase .service-public-item{background:#172422;color:#fff;border-left:6px solid var(--client-secondary);padding:1.5rem}.mode-full.design-showcase .service-public-item h3,.mode-full.design-showcase .service-public-item p{color:#fff}.mode-full.design-showcase .reviews-section,.mode-full.design-showcase .recommend-section{background:#fff!important;padding-inline:clamp(2rem,4vw,4rem)}

/* Compact customer review/referral page: remove the remaining prototype stack feeling. */
.mode-compact.business-public-body{--public-max:940px;background:#edf2ef}.mode-compact .business-identity{background:#fff}.mode-compact .identity-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);gap:2rem;padding-block:3.2rem}.mode-compact .identity-cover img{border:0;border-radius:8px;max-height:360px}.mode-compact .compact-business-content{gap:1rem;padding-top:1.5rem}.mode-compact .compact-business-content .business-section{padding:1.6rem 1.75rem;border:1px solid #bcc9c4!important;border-radius:8px}.mode-compact .compact-business-content .reviews-section{background:#fff;border-top:7px solid var(--client-brand)!important}.mode-compact .compact-business-content .recommend-section{background:#fffaf0;border-top:7px solid var(--client-secondary)!important}.mode-compact .compact-business-content .contact-section{background:#e2ebe7}.mode-compact .review-actions .business-button{min-height:58px}.mode-compact .business-section h2{font-size:clamp(1.9rem,4vw,3rem)}

/* Admin alignment and file chooser styling. */
.search-filter-form,.analytics-filter-form{align-items:end!important}
.search-filter-form>.button,.analytics-filter-form>.button{align-self:end!important;min-height:46px;margin:0!important}
.admin-custom-range{max-width:760px;margin-top:1rem}
input[type="file"]{width:100%;max-width:760px;min-height:46px;margin-top:.35rem;padding:.28rem;border:2px solid var(--border);border-radius:2px;background:var(--surface);color:var(--text)}
input[type="file"]::file-selector-button{min-height:36px;margin-right:.75rem;padding:.42rem .8rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--text);font:inherit;font-weight:800;cursor:pointer}
input[type="file"]::file-selector-button:hover{background:var(--surface-strong)}
.admin-analytics-chart-panel{margin-top:1.5rem}

@media(max-width:1100px){
  .pricing-page-hero,.pricing-included-redesign,.theme-demo,.landing-conversion-hero,.landing-product-proof,.landing-microsite-proof,.compact-example-redesign{grid-template-columns:1fr}
  .pricing-price-card{min-height:0}.pricing-feature-list{grid-template-columns:1fr}
  .competitor-row{grid-template-columns:1fr 1fr}.competitor-row-note{grid-column:1/-1}
  .theme-demo-copy{max-width:700px}.theme-demo-canvas{min-height:480px}
  .landing-conversion-photo img{height:430px}.landing-preview-redesign{grid-template-columns:1fr}.landing-value-grid{grid-template-columns:1fr 1fr}
  .mode-full.design-established .identity-grid,.mode-full.design-workshop .identity-grid,.mode-full.design-studio .identity-grid,.mode-full.design-classic .identity-grid,.mode-full.design-showcase .identity-grid{grid-template-columns:1fr}
  .mode-full.design-workshop .identity-cover{order:0}.mode-full.design-showcase .identity-cover img{height:480px}
  .mode-full.design-workshop .service-public-grid,.mode-full.design-classic .service-public-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .pricing-page-copy h1,.landing-conversion-copy h1{font-size:3rem}.pricing-price-card strong{font-size:4.8rem}
  .competitor-row{grid-template-columns:1fr}.competitor-row-note{grid-column:auto}.pricing-final-cta,.landing-final-strip{align-items:flex-start;flex-direction:column}
  .theme-demo-canvas{min-height:430px}.theme-demo-canvas>img{height:230px}.theme-demo-site-head h3{font-size:1.75rem}.theme-demo-lower{grid-template-columns:1fr}
  .theme-demo-workshop .theme-demo-canvas>img,.theme-demo-showcase .theme-demo-canvas>img{height:430px}.theme-demo-workshop .theme-demo-site-head{bottom:0}.theme-demo-workshop .theme-demo-lower{display:none}.theme-demo-studio .theme-demo-canvas>img{width:100%;height:420px}.theme-demo-studio .theme-demo-site-head{left:1rem;right:1rem;top:auto;bottom:1rem;width:auto}.theme-demo-studio .theme-demo-lower{display:none}.theme-demo-classic .theme-demo-canvas{display:block}.theme-demo-classic .theme-demo-canvas>img{height:250px;min-height:0}.theme-demo-classic .theme-demo-site-head{padding:1.25rem}.theme-demo-classic .theme-demo-lower{display:none}.theme-demo-showcase .theme-demo-site-head{width:100%;padding:1.25rem}.theme-demo-showcase .theme-demo-site-head h3{font-size:2rem}
  .compact-demo-actions{grid-template-columns:1fr}.landing-value-grid{grid-template-columns:1fr}.landing-conversion-photo img{height:320px}.landing-microsite-proof img{height:300px}.landing-preview-redesign{margin-inline:-1rem}
  .mode-full.design-workshop .service-public-grid,.mode-full.design-classic .service-public-grid,.mode-full.design-established .service-public-grid,.mode-full.design-studio .service-public-grid,.mode-full.design-showcase .service-public-grid{grid-template-columns:1fr}
  .mode-full.design-showcase .public-gallery{grid-template-columns:1fr 1fr}.mode-full.design-showcase .public-gallery figure:first-child{grid-column:1/-1;grid-row:auto}.mode-full.design-showcase .public-gallery figure:first-child img{min-height:300px}
}

/* Keep the same theme structures in dark mode without bright white islands. */
html[data-theme="dark"] .mode-full.design-established .business-section,
html[data-theme="dark"] .mode-full.design-workshop .business-section,
html[data-theme="dark"] .mode-full.design-studio .service-public-item,
html[data-theme="dark"] .mode-full.design-classic .business-section,
html[data-theme="dark"] .mode-full.design-showcase .reviews-section,
html[data-theme="dark"] .mode-full.design-showcase .recommend-section,
html[data-theme="dark"] .mode-compact .compact-business-content .business-section{background:var(--surface)!important;color:var(--text)}
html[data-theme="dark"] .mode-full.design-studio .business-identity,
html[data-theme="dark"] .mode-full.design-classic .business-identity,
html[data-theme="dark"] .mode-compact .business-identity{background:var(--surface)}
html[data-theme="dark"] .mode-full.design-studio .business-section{color:var(--text)}
html[data-theme="dark"] .mode-full.design-classic .service-public-item{background:var(--surface)}
html[data-theme="dark"] .mode-compact .compact-business-content .contact-section{background:var(--surface-muted)!important}

/* R6.0.3 public visual correction */
.mkt-hero-photo img,.mkt-preview-photo img,.mkt-photo-story img,.mkt-business-page-promo img,.mkt-final-photo-cta img,.mkt-inner-hero img,.landing-conversion-hero img,.landing-microsite-proof img,.compact-demo-section img{image-rendering:auto;filter:none!important}
.mkt-hero-photo img{object-position:center 28%}.mkt-preview-photo img{object-position:center 24%}.business-pages-hero-v2 img{object-position:center 42%}
.examples-page-heading-redesign{max-width:880px;padding-bottom:3rem}.real-theme-previews{display:grid;gap:0}.real-theme-preview{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;padding:clamp(3.5rem,7vw,7rem) 0;border-top:1px solid var(--border)}.real-theme-copy{max-width:480px}.real-theme-number{display:block;font-size:.8rem;font-weight:900;letter-spacing:.16em;color:var(--muted);margin-bottom:.7rem}.real-theme-copy h2{font-size:clamp(2.8rem,5vw,5.2rem);line-height:.95;letter-spacing:-.055em;margin:.25rem 0 1rem}.real-theme-copy>p:not(.eyebrow){font-size:1.06rem;line-height:1.62;color:var(--text-muted)}.real-theme-note{font-size:.9rem!important;border-left:4px solid var(--brand);padding-left:1rem;margin-top:1.5rem}.real-theme-frame{margin:0;border:1px solid var(--border);background:#fff;padding:.65rem;box-shadow:0 18px 45px rgba(20,33,31,.08)}.real-theme-frame img{display:block;width:100%;height:auto;aspect-ratio:14/9;object-fit:contain;background:#fff}.real-theme-preview-workshop .real-theme-frame{background:#172422}.real-theme-preview-studio .real-theme-frame{background:#f3ebe7}.real-theme-preview-showcase .real-theme-frame{background:#14211f}.compact-example-v2{margin-top:1rem}.compact-example-v2 .compact-demo-card-redesign img{height:360px;object-position:center 42%}
.theme-screenshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.theme-screenshot-card{border:1px solid var(--border);background:var(--surface);overflow:hidden}.theme-screenshot-card>img{display:block;width:100%;aspect-ratio:14/9;object-fit:cover;object-position:top;border-bottom:1px solid var(--border)}.theme-screenshot-card>div{padding:1.2rem}.theme-screenshot-card span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--brand)}.theme-screenshot-card h3{font-size:1.65rem;margin:.3rem 0}.theme-screenshot-card p{color:var(--text-muted);line-height:1.55}.theme-screenshot-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr}.theme-screenshot-card:last-child>img{aspect-ratio:auto;height:100%;min-height:360px;border-bottom:0;border-right:1px solid var(--border)}.business-page-examples-link{margin-top:1.5rem}.compact-demo-v2 img{max-height:560px;object-position:center 40%}
/* Make actual full Business Pages feel like websites rather than stacked admin cards. */
.mode-full .business-content{display:block!important;width:100%!important;max-width:none!important;padding:0!important}.mode-full .business-content>.business-section{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max));margin:0 auto!important;border-radius:0!important;box-shadow:none!important}.mode-full .business-content>.business-section+ .business-section{margin-top:0!important}.mode-full .business-section{padding-block:clamp(3.5rem,7vw,7rem)!important}.mode-full .business-section h2{font-size:clamp(2.5rem,4.8vw,4.5rem)!important;max-width:18ch}.mode-full .service-public-grid{gap:1rem}.mode-full .service-public-item{min-height:0!important;padding:1.5rem}.mode-full .public-gallery img{min-height:260px}.mode-full .reviews-section,.mode-full .recommend-section,.mode-full .contact-section{width:100%!important;max-width:none!important;padding-left:max(var(--public-gutter),calc((100% - var(--public-max))/2 + var(--public-gutter)))!important;padding-right:max(var(--public-gutter),calc((100% - var(--public-max))/2 + var(--public-gutter)))!important}.mode-full .business-legal{padding-top:2rem!important;padding-bottom:3rem!important}
.mode-full.design-established .business-content>.business-section{background:transparent!important;border:0!important;border-bottom:1px solid #d8ccbc!important}.mode-full.design-established .about-section,.mode-full.design-established .trust-section{max-width:1160px}.mode-full.design-established .services-section,.mode-full.design-established [id="services"]{padding-top:5.5rem!important}.mode-full.design-established .service-public-item{background:#fffdf8;border:1px solid #d8ccbc;border-left:5px solid var(--client-secondary)}
.mode-full.design-workshop .business-content>.business-section{border:0!important;border-bottom:1px solid #becac5!important;background:#fff!important}.mode-full.design-workshop .business-content>.gallery-section{width:100%!important;max-width:none!important;padding-inline:max(var(--public-gutter),calc((100% - 1280px)/2 + var(--public-gutter)))!important;background:#172422!important}.mode-full.design-workshop .gallery-section .section-kicker,.mode-full.design-workshop .gallery-section h2{color:#fff}.mode-full.design-workshop .public-gallery img{border:1px solid #435550}.mode-full.design-workshop .reviews-section{background:#dce7e2!important}
.mode-full.design-studio .business-content>.business-section{background:transparent!important;border:0!important;border-bottom:1px solid #e2d4cd!important}.mode-full.design-studio .business-content>.gallery-section{width:min(calc(100% - (var(--public-gutter)*2)),1180px)!important}.mode-full.design-studio .public-gallery img{border-radius:18px}.mode-full.design-studio .reviews-section,.mode-full.design-studio .recommend-section{border-radius:0!important}
.mode-full.design-classic .business-content>.business-section{border:0!important;border-bottom:1px solid #cbd4d0!important;background:#fff!important}.mode-full.design-classic .business-content>.business-section:nth-child(even){background:#eef2f0!important}.mode-full.design-classic .service-public-item{background:#fff;border:1px solid #c6d0cc;border-top:5px solid var(--client-secondary)}
.mode-full.design-showcase .business-content>.business-section{border:0!important;background:transparent!important}.mode-full.design-showcase .business-content>.gallery-section{width:100%!important;max-width:none!important;padding-inline:max(var(--public-gutter),calc((100% - 1420px)/2 + var(--public-gutter)))!important;background:#172422!important;color:#fff}.mode-full.design-showcase .gallery-section .section-kicker,.mode-full.design-showcase .gallery-section h2{color:#fff}.mode-full.design-showcase .public-gallery img{min-height:330px}.mode-full.design-showcase .reviews-section,.mode-full.design-showcase .recommend-section{background:#fff!important}
/* Compact page: one intentionally composed advocacy page. */
.mode-compact .compact-business-content{gap:0!important;padding:0 0 4rem!important}.mode-compact .compact-business-content .business-section{border-radius:0!important;margin:0!important;border-left:1px solid #b9c6c1!important;border-right:1px solid #b9c6c1!important;border-bottom:1px solid #b9c6c1!important;border-top:0!important;padding:clamp(2rem,4vw,3.5rem)!important}.mode-compact .compact-business-content .reviews-section{border-top:7px solid var(--client-brand)!important}.mode-compact .compact-business-content .recommend-section{border-top:7px solid var(--client-secondary)!important}.mode-compact .compact-business-content .contact-section{background:#e4ebe8!important}.mode-compact .review-actions{gap:.75rem}.mode-compact .review-destination-button{min-height:64px!important}
@media(max-width:900px){.real-theme-preview,.theme-screenshot-card:last-child{grid-template-columns:1fr}.theme-screenshot-grid{grid-template-columns:1fr}.theme-screenshot-card:last-child{grid-column:auto}.theme-screenshot-card:last-child>img{border-right:0;border-bottom:1px solid var(--border)}.real-theme-copy h2{font-size:3rem}.mode-full .reviews-section,.mode-full .recommend-section,.mode-full .contact-section{padding-inline:var(--public-gutter)!important}}

/* R6 0.6.4 — mockup fidelity correction. The approved public mockups are the visual baseline. */
.site-body .public-main>.content-wrap.public-wide,
.site-body .public-sales-header .public-header-inner,
.site-body .site-footer>.content-wrap.public-wide{width:min(calc(100% - 48px),1320px);max-width:1320px}
.public-sales-header{background:var(--surface);color:var(--text);border-bottom:1px solid var(--border-soft);box-shadow:none}
.public-sales-header .brand,.public-sales-header .marketing-nav a{color:var(--text)}
.public-sales-header .marketing-nav{gap:1.8rem}.public-sales-header .marketing-nav a{font-size:.88rem;font-weight:700}
.public-sales-header .theme-toggle{color:var(--text);border-color:var(--border);background:var(--surface)}
.public-sales-header .button-secondary{background:var(--surface)!important;border-color:var(--brand)!important;color:var(--brand)!important}
.public-sales-header .header-primary-cta{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}
.public-sales-header .header-inner{min-height:68px}.public-wordmark{font-size:1.15rem}.public-sales-header{border-bottom-color:#d7dedb}
.site-body .public-main{background:#f8faf9}.site-body .site-footer{background:#edf2f0;border-top:1px solid #d7dedb}
.site-body .site-footer .marketing-footer{min-height:72px}

.mock-home-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);min-height:505px;background:var(--surface);margin-inline:calc(50% - 50vw);padding-left:max(24px,calc((100vw - 1320px)/2));padding-right:max(24px,calc((100vw - 1320px)/2));border-bottom:1px solid var(--border-soft)}
.mock-home-copy{padding:58px 46px 52px 0;align-self:center;max-width:650px}.mock-home-copy h1{font-size:clamp(3.25rem,5.15vw,5.65rem);line-height:.96;letter-spacing:-.055em;max-width:10.5ch;margin:.25rem 0 1.15rem}.mock-home-copy .lead{font-size:1.17rem;line-height:1.58;max-width:49ch;color:var(--muted)}
.mock-commercial-points{display:flex;flex-wrap:wrap;gap:.45rem 1.15rem;margin:1.25rem 0;font-size:.88rem;font-weight:700}.mock-commercial-points span:not(:first-child)::before{content:"✓";margin-right:.38rem;color:var(--brand)}
.mock-home-photo{margin:0;min-height:505px;overflow:hidden;background:#dfe6e3}.mock-home-photo img{display:block;width:100%;height:100%;min-height:505px;object-fit:cover;object-position:center center}
.mock-home-copy .button{min-height:48px;padding:.62rem 1.05rem}

.mock-preview-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.86fr);gap:3.5rem;align-items:center;padding:38px 44px;margin-inline:0;background:#eef1ed;border:1px solid #dde2df;border-top:0}
.mock-preview-copy h2{font-size:clamp(2rem,3vw,3.15rem);letter-spacing:-.04em;line-height:1.02;margin:.2rem 0 .8rem}.mock-preview-copy>p{max-width:54ch;color:var(--muted)}
.mock-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:end;margin-top:1.4rem}.mock-preview-form label{margin:0;font-size:.78rem;font-weight:700}.mock-preview-form input{min-height:46px;margin-top:.3rem;background:#fff}.mock-preview-form .button{min-height:46px;white-space:nowrap}
.mock-business-preview{background:#fff;border:1px solid #bdc8c4;box-shadow:0 10px 26px rgba(20,42,39,.08);padding:1.1rem}.mock-business-preview-main{display:flex;align-items:flex-start;gap:.9rem}.mock-preview-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:6px;background:var(--brand);color:#fff;font-weight:900;font-size:1.3rem}.mock-business-preview-main strong,.mock-business-preview-main small{display:block}.mock-business-preview-main strong{font-size:1.15rem}.mock-business-preview-main small{color:var(--muted);margin-top:.1rem}.mock-rating{margin-top:.45rem;font-size:.86rem;color:#9a6c18;font-weight:800}.mock-rating span{color:var(--muted);font-weight:600;margin-left:.35rem}
.mock-preview-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}.mock-preview-actions span,.mock-recommend-preview div span{border:1px solid #78908a;background:#fff;padding:.42rem .58rem;font-size:.74rem;font-weight:800}.mock-preview-actions span:first-child{background:var(--brand);color:#fff;border-color:var(--brand)}
.mock-recommend-preview{border-top:1px solid #dbe1de;padding-top:.9rem}.mock-recommend-preview strong,.mock-recommend-preview small{display:block}.mock-recommend-preview small{margin:.2rem 0 .65rem;color:var(--muted)}.mock-recommend-preview div{display:flex;gap:.35rem;flex-wrap:wrap}

.mock-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid #d8dfdc;border-top:1px solid #d8dfdc;background:#fff;margin-top:0}.mock-feature-grid>article{padding:28px 28px 26px;border-right:1px solid #d8dfdc;border-bottom:1px solid #d8dfdc;min-width:0}.mock-feature-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--brand);color:#fff;font-weight:900;margin-bottom:1rem}.mock-feature-grid h2{font-size:1.65rem;letter-spacing:-.025em;margin:0 0 .55rem}.mock-feature-grid>article>p{color:var(--muted);line-height:1.55;min-height:78px}
.mock-review-list,.mock-link-box,.mock-reward-list{margin-top:1rem;border:1px solid #d7dedb;background:#fbfcfb}.mock-review-list>span{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:.4rem;padding:.58rem .7rem;border-bottom:1px solid #e1e5e3;font-size:.77rem}.mock-review-list>span:last-child{border-bottom:0}.mock-review-list b{font-size:.75rem}.mock-review-list em{font-style:normal;color:#39714f;font-size:.72rem;font-weight:800}
.mock-link-box{padding:.78rem}.mock-link-box small{display:block;margin-bottom:.35rem;color:var(--muted)}.mock-link-box>div{display:grid;grid-template-columns:1fr auto;gap:.4rem}.mock-link-box code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #ccd5d2;padding:.52rem .6rem}.mock-link-box b{background:var(--brand);color:#fff;padding:.55rem .7rem}.mock-link-box p{margin:.8rem 0 0;color:var(--brand);font-weight:800;font-size:.78rem}
.mock-reward-list{margin-bottom:0}.mock-reward-list div{display:flex;justify-content:space-between;gap:1rem;padding:.72rem;border-bottom:1px solid #dce2df}.mock-reward-list div:last-child{border-bottom:0}.mock-reward-list dt,.mock-reward-list dd{margin:0}.mock-reward-list dd{font-weight:800}

.mock-microsite-strip{display:grid;grid-template-columns:300px 1fr;min-height:235px;background:var(--brand);color:#fff;margin-top:24px;overflow:hidden}.mock-microsite-strip>img{display:block;width:100%;height:100%;min-height:235px;object-fit:cover;object-position:center 30%}.mock-microsite-strip>div{padding:28px 34px}.mock-microsite-strip .eyebrow,.mock-microsite-strip h2,.mock-microsite-strip p,.mock-microsite-strip li{color:#fff}.mock-microsite-strip h2{font-size:2rem;margin:.2rem 0 .55rem}.mock-microsite-strip p{max-width:70ch;color:rgba(255,255,255,.88)}.mock-microsite-strip ul{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem;list-style:none;padding:0;margin:1rem 0}.mock-microsite-strip li::before{content:"◇";margin-right:.35rem}.mock-microsite-strip .button-secondary{background:transparent;border-color:#fff;color:#fff}
.mock-benefit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:27px 4px 28px;border-bottom:1px solid #d8dfdc}.mock-benefit-row article{display:flex;gap:.8rem;align-items:flex-start}.mock-benefit-row article>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--brand);border-radius:50%;flex:0 0 40px;font-weight:900}.mock-benefit-row strong{display:block;font-size:.9rem}.mock-benefit-row p{font-size:.8rem;line-height:1.45;color:var(--muted);margin:.2rem 0 0}
.mock-home-final{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:38px 0 46px}.mock-home-final h2{font-size:2.5rem;margin:.15rem 0 .35rem}.mock-home-final p{color:var(--muted)}

.mock-page-heading{padding:58px 0 24px;max-width:820px}.mock-page-heading h1{font-size:clamp(3.1rem,5.2vw,5.6rem);line-height:.95;letter-spacing:-.055em;margin:.15rem 0 .75rem;max-width:14ch}.mock-page-heading .lead{font-size:1.1rem;max-width:60ch;color:var(--muted)}
.mock-process-section{padding:14px 0 36px}.mock-process-steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;margin:0;gap:18px}.mock-process-steps li{position:relative;text-align:center;min-width:0}.mock-process-steps li:not(:last-child)::after{content:"→";position:absolute;top:20px;right:-17px;color:var(--brand);font-size:1.25rem}.mock-process-steps>li>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#4e9564;color:#fff;margin:0 auto 1rem;font-size:1.15rem}.mock-process-steps h2{font-size:1.03rem;line-height:1.2;min-height:2.5em;margin:.2rem 0 .55rem}.mock-process-steps p{font-size:.78rem;line-height:1.45;color:var(--muted);min-height:6.8em}.mock-step-ui{min-height:112px;text-align:left;background:#fff;border:1px solid #cfd8d5;padding:.68rem;box-shadow:0 5px 12px rgba(25,48,44,.04)}.mock-step-ui strong,.mock-step-ui span{display:block;font-size:.7rem}.mock-step-ui strong{margin-bottom:.45rem}.mock-step-ui>span{padding:.34rem .4rem;border:1px solid #e0e5e3;margin:.25rem 0}.mock-step-ui.people span{display:flex;justify-content:space-between}.mock-step-ui.people i{color:#4e9564;font-style:normal}.mock-step-ui.share>span{display:inline-block;margin:.15rem .12rem;border-radius:50%;padding:.36rem}.mock-money{font-size:1.3rem!important;font-weight:900!important;border:0!important;padding:.2rem 0!important}
.mock-how-photo-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 0 38px}.mock-how-photo-row img{width:100%;height:158px;object-fit:cover;display:block;border:1px solid #d1d9d6}.mock-how-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d4dcd9;border-left:1px solid #d4dcd9;background:#fff}.mock-how-details article{padding:1.5rem;border-right:1px solid #d4dcd9;border-bottom:1px solid #d4dcd9}.mock-how-details h2{font-size:1.45rem}.mock-how-details p:last-child{color:var(--muted);line-height:1.55}
.mock-plain-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:38px 0 48px;border-top:1px solid #d8dfdc;margin-top:28px}.mock-plain-cta h2{font-size:2rem;margin:0;max-width:22ch}.mock-plain-cta>p{margin:0 auto 0 0;color:var(--muted)}

.business-pages-heading{padding-bottom:16px}.mock-business-page-browser{background:#fff;border:1px solid #cfd8d5;box-shadow:0 12px 28px rgba(18,40,37,.06);margin:6px 0 38px}.mock-business-page-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ccd6d2}.mock-business-page-tabs span{text-align:center;padding:.85rem;font-weight:800;font-size:.82rem}.mock-business-page-tabs .active{border-bottom:3px solid var(--brand);color:var(--brand)}.mock-business-page-content{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;padding:1.35rem}.mock-business-page-content aside{border-right:1px solid #d8dfdc;padding-right:1.25rem}.mock-business-page-content aside h2{font-size:.9rem}.mock-business-page-content aside ul{list-style:none;padding:0;margin:.5rem 0}.mock-business-page-content aside li{padding:.48rem 0;border-bottom:1px solid #e1e5e3;font-size:.78rem}.mock-business-page-content aside li::before{content:"›";margin-right:.45rem;font-weight:900}.mock-theme-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;min-width:0}.mock-theme-row article{min-width:0;border:1px solid #d8dfdc;background:#fbfcfb;padding:.55rem}.mock-theme-row strong,.mock-theme-row small{display:block}.mock-theme-row strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mock-theme-row img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;margin:.45rem 0;border:1px solid #dfe4e2}.mock-theme-row small{font-size:.66rem;color:var(--muted)}.mock-browser-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.35rem;border-top:1px solid #d8dfdc;background:#f7f9f8}.mock-browser-footer span{font-size:.76rem;color:var(--muted)}
.mock-mode-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mock-mode-panels article{background:#fff;border:1px solid #d5ddda;border-top:5px solid var(--brand);padding:1.4rem}.mock-mode-panels h2{font-size:1.8rem}.mock-mode-panels p:last-child{color:var(--muted);line-height:1.6}.mock-compact-proof{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;padding:38px 0 8px}.mock-compact-proof img{display:block;width:100%;height:300px;object-fit:cover;border:1px solid #d5ddda}.mock-compact-proof h2{font-size:2rem}.mock-compact-proof .tick-list{columns:1}

.examples-compact-heading{padding-bottom:8px}.mock-example-tabs{display:flex;border-bottom:1px solid #ccd5d2;margin-bottom:22px}.mock-example-tabs span{padding:.7rem 1rem;font-size:.82rem;font-weight:800}.mock-example-tabs .active{border-bottom:3px solid var(--brand);color:var(--brand)}.mock-examples-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mock-examples-grid article{background:#fff;border:1px solid #d5ddda;overflow:hidden}.mock-examples-grid article>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border-bottom:1px solid #d5ddda}.mock-examples-grid article>div{padding:1rem}.mock-examples-grid small{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-weight:900;font-size:.68rem}.mock-examples-grid h2{font-size:1.25rem;margin:.25rem 0 .15rem}.mock-examples-grid p{font-size:.8rem;color:var(--muted);margin-bottom:.55rem}.mock-examples-grid a{font-size:.78rem;font-weight:800;color:var(--brand)}

.mock-pricing-hero{display:grid;grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:4rem;padding:58px 0 34px}.mock-pricing-hero>div:first-child>h1{font-size:clamp(3rem,5vw,5.5rem);letter-spacing:-.055em;line-height:.96;margin:.15rem 0 .3rem}.mock-pricing-hero .lead{font-size:1.1rem;color:var(--muted)}.mock-price-lockup{display:flex;align-items:flex-end;gap:.4rem;margin:1.4rem 0}.mock-price-lockup strong{font-size:4.8rem;letter-spacing:-.06em;line-height:.82}.mock-price-lockup span{font-weight:800}.mock-price-points{list-style:none;padding:0;margin:0 0 1.4rem}.mock-price-points li{padding:.34rem 0;font-size:.85rem}.mock-price-points li::before{content:"✓";color:#3e885c;font-weight:900;margin-right:.55rem}.mock-pricing-comparison{align-self:start}.mock-pricing-comparison h2{font-size:1.35rem;margin:0 0 .7rem}.mock-pricing-comparison .marketing-comparison-table{font-size:.72rem;background:#fff}.mock-pricing-comparison .marketing-comparison-table th,.mock-pricing-comparison .marketing-comparison-table td{padding:.63rem .55rem}.mock-pricing-comparison .comparison-ours{background:#eef5f1;font-weight:800}
.mock-named-prices{padding:30px 0 36px;border-top:1px solid #d5ddda}.mock-named-prices .section-heading{max-width:720px}.mock-competitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.mock-competitor-grid article{background:#fff;border:1px solid #d5ddda;padding:1.15rem;display:flex;flex-direction:column}.mock-competitor-grid small{color:var(--muted)}.mock-competitor-grid h3{margin:.25rem 0 .65rem}.mock-competitor-grid>article>strong{font-size:1.4rem}.mock-competitor-grid>article>span{color:var(--muted);font-size:.82rem}.mock-competitor-grid>article>p{font-size:.84rem;color:var(--muted);line-height:1.5}.mock-competitor-grid>article>div{margin-top:auto;display:flex;justify-content:space-between;gap:.6rem;align-items:end}.mock-competitor-grid a{font-size:.75rem;font-weight:800}

/* Actual public Business Pages: compact the vertical rhythm and reproduce the designed split-page compositions. */
.business-public-body{--public-max:1240px;--public-gutter:clamp(1rem,3vw,2.25rem)}
.business-public-wrap{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))}
.business-public-body .business-identity{border-bottom:1px solid #d4dcd9}
.business-public-body .identity-grid{padding-block:clamp(2rem,4vw,3.7rem);gap:clamp(2rem,5vw,5rem)}
.business-public-body .business-logo{max-width:210px;max-height:76px;object-fit:contain;object-position:left center;margin-bottom:1rem}
.business-public-body .business-identity h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:.94;letter-spacing:-.045em;margin:.15rem 0 .7rem}
.business-public-body .business-lead{font-size:1.05rem;max-width:58ch;line-height:1.5}
.business-public-body .identity-cover{border:0;min-height:0;max-height:none}.business-public-body .identity-cover img{min-height:0;max-height:none;height:clamp(310px,34vw,475px);aspect-ratio:4/3;object-fit:cover;border:0}
.business-public-body .location-switcher{min-height:46px}.business-public-body .location-switcher .business-public-wrap{min-height:46px}
.mode-full .business-section{padding-block:clamp(2rem,4.2vw,4rem)!important}.mode-full .business-section h2{font-size:clamp(2.1rem,3.6vw,3.5rem)!important;line-height:1!important;margin-bottom:.85rem;max-width:20ch}
.mode-full .business-content>.business-section{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))}
.mode-full .service-public-grid{grid-template-columns:repeat(3,1fr)!important;gap:0!important;border-top:1px solid #cbd4d0;border-left:1px solid #cbd4d0}.mode-full .service-public-item{padding:1.1rem 1.15rem!important;min-height:120px!important;border:0!important;border-right:1px solid #cbd4d0!important;border-bottom:1px solid #cbd4d0!important;background:transparent!important}.mode-full .service-public-item h3{font-size:1rem}.mode-full .service-public-item p{font-size:.82rem;line-height:1.45;color:var(--muted)}
.mode-full .public-gallery{gap:.65rem!important}.mode-full .public-gallery img{min-height:0!important;height:clamp(165px,18vw,270px)!important;object-fit:cover}.mode-full .public-gallery figure:first-child img{height:clamp(250px,31vw,430px)!important}.mode-full .reviews-section,.mode-full .recommend-section,.mode-full .contact-section{padding-top:clamp(2.5rem,4vw,4rem)!important;padding-bottom:clamp(2.5rem,4vw,4rem)!important}.mode-full .reviews-section .review-callout,.mode-full .recommend-section .recommend-inner{max-width:760px}.mode-full .review-actions{justify-content:flex-start}.mode-full .business-legal{padding-top:1.4rem!important;padding-bottom:2rem!important}
.mode-full.design-workshop .business-identity{background:#fbfcfb;color:var(--text)}.mode-full.design-workshop .identity-grid{grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr);align-items:center}.mode-full.design-workshop .business-identity h1,.mode-full.design-workshop .business-location-kicker,.mode-full.design-workshop .business-address,.mode-full.design-workshop .business-lead{color:var(--text)}.mode-full.design-workshop .identity-cover{order:0}.mode-full.design-workshop .business-content>.business-section{background:#fff!important;border:0!important;border-bottom:1px solid #d2dbd7!important}.mode-full.design-workshop .business-content>.business-section:nth-child(even){background:#edf2f0!important}.mode-full.design-workshop .gallery-section{background:#edf2f0!important;color:var(--text)!important;width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))!important;padding-inline:0!important}.mode-full.design-workshop .gallery-section .section-kicker,.mode-full.design-workshop .gallery-section h2{color:var(--text)!important}.mode-full.design-workshop .reviews-section{background:#e1ebe7!important}.mode-full.design-workshop .recommend-section{background:#fff!important}.mode-full.design-workshop .contact-section{background:#e8eeeb!important}

/* Compact advocacy page: identity + photo, then two balanced action panels like the approved mockup. */
.mode-compact.business-public-body{--public-max:1120px;background:#eef2f0}
.mode-compact .business-identity{background:#fff}.mode-compact .identity-grid{grid-template-columns:minmax(0,.84fr) minmax(390px,1.16fr)!important;align-items:center;padding-block:2.4rem!important}.mode-compact .business-identity h1{font-size:clamp(2.8rem,4.7vw,4.8rem)!important}.mode-compact .identity-cover img{height:330px;max-height:none!important;border-radius:0!important;object-fit:cover}.mode-compact .compact-business-content{display:grid!important;grid-template-columns:1.05fr .95fr!important;gap:18px!important;padding:18px 0 38px!important;max-width:1120px!important}.mode-compact .compact-business-content>.business-section{border:1px solid #cbd5d1!important;border-radius:0!important;padding:1.75rem!important;background:#fff!important}.mode-compact .compact-business-content .reviews-section{grid-column:1!important;border-top:6px solid var(--client-brand)!important}.mode-compact .compact-business-content .recommend-section{grid-column:2!important;border-top:6px solid var(--client-secondary)!important;background:#fffaf0!important}.mode-compact .compact-business-content .contact-section{grid-column:1/-1!important;background:#e4ebe8!important}.mode-compact .compact-business-content .social-section{grid-column:1/-1!important;background:#fff!important}.mode-compact .compact-business-content .business-legal{grid-column:1/-1!important;background:transparent!important;border:0!important;padding:.7rem 0!important}.mode-compact .compact-business-content .business-section h2{font-size:clamp(1.8rem,3vw,2.65rem)!important}.mode-compact .review-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.55rem!important;margin-top:1rem}.mode-compact .review-destination-button{min-height:50px!important;font-size:.88rem!important}.mode-compact .recommend-section .business-action-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.mode-compact .contact-section .enquiry-box{max-width:900px;margin-top:1.25rem}.mode-compact .public-form-grid{grid-template-columns:1fr 1fr}.mode-compact .social-public-list{display:flex;gap:.5rem;flex-wrap:wrap}

html[data-theme="dark"] .site-body .public-main{background:var(--page)}
html[data-theme="dark"] .public-sales-header{background:var(--surface);border-bottom-color:var(--border-soft)}
html[data-theme="dark"] .mock-preview-band,html[data-theme="dark"] .mock-benefit-row,html[data-theme="dark"] .mock-business-page-browser,html[data-theme="dark"] .mock-business-preview,html[data-theme="dark"] .mock-feature-grid,html[data-theme="dark"] .mock-feature-grid>article,html[data-theme="dark"] .mock-how-details,html[data-theme="dark"] .mock-how-details article,html[data-theme="dark"] .mock-mode-panels article,html[data-theme="dark"] .mock-examples-grid article,html[data-theme="dark"] .mock-competitor-grid article,html[data-theme="dark"] .mock-step-ui{background:var(--surface);border-color:var(--border-soft)}
html[data-theme="dark"] .mock-preview-form input,html[data-theme="dark"] .mock-link-box,html[data-theme="dark"] .mock-review-list,html[data-theme="dark"] .mock-reward-list,html[data-theme="dark"] .mock-business-page-tabs,html[data-theme="dark"] .mock-browser-footer{background:var(--surface-muted)}

@media(max-width:1080px){
  .public-sales-header .marketing-nav{display:none}.marketing-mobile-nav{display:block}
  .mock-home-hero{grid-template-columns:1fr 1fr}.mock-home-copy{padding-right:28px}.mock-home-copy h1{font-size:3.7rem}.mock-preview-band{grid-template-columns:1fr;gap:1.5rem}.mock-preview-form{grid-template-columns:1fr 1fr auto}.mock-feature-grid{grid-template-columns:1fr 1fr}.mock-feature-grid>article:last-child{grid-column:1/-1}.mock-benefit-row{grid-template-columns:1fr 1fr}.mock-process-steps{grid-template-columns:repeat(3,1fr)}.mock-process-steps li:not(:last-child)::after{display:none}.mock-process-steps p{min-height:0}.mock-how-photo-row{grid-template-columns:1fr 1fr}.mock-business-page-content{grid-template-columns:1fr}.mock-business-page-content aside{border-right:0;border-bottom:1px solid #d8dfdc;padding-right:0}.mock-business-page-content aside ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1rem}.mock-theme-row{grid-template-columns:repeat(3,1fr)}.mock-pricing-hero{grid-template-columns:1fr;gap:2rem}.mode-full.design-workshop .identity-grid,.mode-compact .identity-grid{grid-template-columns:1fr 1fr!important}.mode-full .service-public-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:760px){
  .site-body .public-main>.content-wrap.public-wide,.site-body .public-sales-header .public-header-inner,.site-body .site-footer>.content-wrap.public-wide{width:min(calc(100% - 28px),1320px)}
  .header-primary-cta{display:none}.public-sales-header .header-actions{margin-left:auto}.public-sales-header .header-inner{min-height:62px}
  .mock-home-hero{grid-template-columns:1fr;padding:0;margin-inline:calc(50% - 50vw)}.mock-home-copy{padding:38px 22px 28px;max-width:none}.mock-home-copy h1{font-size:clamp(2.75rem,13vw,4rem)}.mock-home-photo{min-height:310px}.mock-home-photo img{min-height:310px;height:310px}.mock-preview-band{padding:28px 20px}.mock-preview-form{grid-template-columns:1fr}.mock-feature-grid{grid-template-columns:1fr}.mock-feature-grid>article:last-child{grid-column:auto}.mock-feature-grid>article>p{min-height:0}.mock-microsite-strip{grid-template-columns:1fr}.mock-microsite-strip>img{height:220px;min-height:220px}.mock-benefit-row{grid-template-columns:1fr}.mock-home-final,.mock-plain-cta{align-items:flex-start;flex-direction:column}.mock-process-steps{grid-template-columns:1fr}.mock-process-steps li{text-align:left;display:grid;grid-template-columns:48px 1fr;gap:0 1rem}.mock-process-steps>li>b{grid-row:1/4;margin:0}.mock-process-steps h2{min-height:0}.mock-step-ui{grid-column:2}.mock-how-photo-row,.mock-how-details,.mock-mode-panels,.mock-compact-proof,.mock-examples-grid,.mock-competitor-grid{grid-template-columns:1fr}.mock-how-photo-row img{height:220px}.mock-business-page-tabs{grid-template-columns:1fr}.mock-business-page-content{padding:1rem}.mock-business-page-content aside ul{grid-template-columns:1fr 1fr}.mock-theme-row{grid-template-columns:1fr 1fr}.mock-theme-row article:last-child{grid-column:1/-1}.mock-browser-footer{align-items:flex-start;flex-direction:column}.mock-pricing-hero{padding-top:40px}.mock-pricing-comparison{overflow:auto}.mock-pricing-comparison .marketing-comparison-table{min-width:700px}.mode-full.design-workshop .identity-grid,.mode-compact .identity-grid{grid-template-columns:1fr!important}.business-public-body .identity-cover{order:0!important}.mode-full .service-public-grid{grid-template-columns:1fr!important}.mode-compact .compact-business-content{grid-template-columns:1fr!important}.mode-compact .compact-business-content .reviews-section,.mode-compact .compact-business-content .recommend-section,.mode-compact .compact-business-content .contact-section,.mode-compact .compact-business-content .social-section{grid-column:1!important}.mode-compact .review-actions{grid-template-columns:1fr!important}.mode-compact .public-form-grid{grid-template-columns:1fr}.mode-compact .public-form-grid .span-2{grid-column:auto}
}

/* R6 0.6.4 final fidelity corrections: pale mockup bands must use dark copy even when a section is configured as an accent. */
.mode-full.design-workshop .service-public-item,
.mode-full.design-workshop .service-public-item h3,
.mode-full.design-workshop .service-public-item p,
.mode-full.design-workshop .reviews-section,
.mode-full.design-workshop .reviews-section .section-kicker,
.mode-full.design-workshop .reviews-section h2,
.mode-full.design-workshop .reviews-section h3,
.mode-full.design-workshop .reviews-section p,
.mode-full.design-workshop .reviews-section .microcopy,
.mode-compact .reviews-section,
.mode-compact .reviews-section .section-kicker,
.mode-compact .reviews-section h2,
.mode-compact .reviews-section h3,
.mode-compact .reviews-section p,
.mode-compact .reviews-section .microcopy {
  color:var(--text)!important;
}
.mode-full.design-workshop .service-public-item{background:#fff!important}
.mode-full.design-workshop .reviews-section .business-button.secondary,
.mode-compact .reviews-section .business-button.secondary{color:var(--client-brand)!important;border-color:var(--client-brand)!important;background:transparent!important}
.mode-full.design-workshop .reviews-section .review-destination-button,
.mode-compact .reviews-section .review-destination-button{color:var(--client-secondary-text)!important;background:var(--client-secondary)!important;border-color:var(--client-secondary)!important}


/* R6 0.6.5 — Business Page contrast safety, real theme previews and complete theme presets. */
.theme-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;align-items:stretch}
.theme-choice{display:flex!important;flex-direction:column;min-width:0;background:var(--surface);border:2px solid var(--border);overflow:hidden;position:relative}
.theme-choice input{top:.55rem;left:.55rem;background:#fff;border-radius:50%}
.theme-choice-preview{display:block;position:relative;aspect-ratio:1.42/1;overflow:hidden;background:#eef2f0;border-bottom:1px solid var(--border-soft)}
.theme-choice-hero{position:absolute;inset:0 0 30%;display:block;overflow:hidden;background:#fff}
.theme-choice-hero>img{position:absolute;display:block;width:48%;height:100%;right:0;top:0;object-fit:cover}
.theme-choice-copy{position:absolute;left:9%;top:18%;width:44%;display:block;color:#17211f;line-height:1}
.theme-choice-copy i{display:block;width:34%;height:4px;background:#234846;margin-bottom:7px}
.theme-choice-copy b{display:block;font-size:11px;line-height:1.05;margin-bottom:5px;text-decoration:none}
.theme-choice-copy em{display:block;font-style:normal;font-size:6px;line-height:1.25;opacity:.72;margin-bottom:8px}
.theme-choice-copy u{display:inline-block;text-decoration:none;font-size:5px;font-weight:800;border:1px solid currentColor;padding:4px 5px;margin-right:2px}
.theme-choice-sections{position:absolute;left:0;right:0;bottom:0;height:30%;display:grid;grid-template-columns:repeat(3,1fr);background:#edf2f0;border-top:1px solid #cad4d0}
.theme-choice-sections i{border-right:1px solid #cad4d0;position:relative}.theme-choice-sections i:last-child{border-right:0}.theme-choice-sections i::before,.theme-choice-sections i::after{content:"";position:absolute;left:15%;height:3px;background:#62706d}.theme-choice-sections i::before{top:28%;width:42%}.theme-choice-sections i::after{top:48%;width:68%;opacity:.45}
.theme-choice-label{display:flex!important;flex-direction:column;gap:.2rem;padding:.75rem .8rem .85rem!important}.theme-choice-label strong{font-size:1rem}.theme-choice-label small{color:var(--muted)}.theme-choice-applies{margin-top:.25rem;font-size:.72rem!important;line-height:1.3}
.theme-choice-workshop .theme-choice-hero>img,.theme-choice-showcase .theme-choice-hero>img{width:100%}.theme-choice-workshop .theme-choice-hero::after,.theme-choice-showcase .theme-choice-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,28,25,.88) 0 47%,rgba(13,28,25,.18) 76%,rgba(13,28,25,.08))}.theme-choice-workshop .theme-choice-copy,.theme-choice-showcase .theme-choice-copy{z-index:2;color:#fff}.theme-choice-workshop .theme-choice-copy i,.theme-choice-showcase .theme-choice-copy i{background:#c59d4f}
.theme-choice-studio .theme-choice-preview{background:#f6eeea}.theme-choice-studio .theme-choice-hero{inset:7% 5% 24%;background:transparent}.theme-choice-studio .theme-choice-hero>img{width:55%;border-radius:10px}.theme-choice-studio .theme-choice-copy{left:3%;top:18%;width:45%;background:#fffaf7;padding:8%;border-radius:8px}.theme-choice-studio .theme-choice-sections{left:8%;right:8%;bottom:5%;height:22%;border:1px solid #e2d5ce;border-radius:6px;background:#fff;overflow:hidden}
.theme-choice-established .theme-choice-hero{background:#263531}.theme-choice-established .theme-choice-copy{color:#fff}.theme-choice-established .theme-choice-copy i{background:#c2a16c}.theme-choice-established .theme-choice-sections{background:#f1ece4}
.theme-choice-classic .theme-choice-hero>img{width:47%}.theme-choice-classic .theme-choice-copy{left:8%;width:42%}.theme-choice-showcase .theme-choice-hero{inset:0}.theme-choice-showcase .theme-choice-copy{top:45%;width:48%;background:#15231f;padding:7%;left:0}.theme-choice-showcase .theme-choice-sections{display:none}
@media(max-width:1250px){.theme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.theme-choice-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.theme-choice-grid{grid-template-columns:1fr}}

/* Public Business Pages use their own colour system so admin/light/dark variables cannot create white-on-white text. */
.business-public-body{--bp-ink:#17211f;--bp-muted:#53635f;--bp-surface:#ffffff;--bp-soft:#eaf0ed;--bp-page:#f3f6f4;--bp-border:#c8d3ce;--text:var(--bp-ink);--muted:var(--bp-muted);--surface:var(--bp-surface);--surface-muted:var(--bp-soft);--page:var(--bp-page);--border:var(--bp-border);--border-soft:var(--bp-border);color:var(--bp-ink);background:var(--bp-page)}
html[data-theme="dark"] .business-public-body{--bp-ink:#f2f7f5;--bp-muted:#b9c8c3;--bp-surface:#152320;--bp-soft:#1d2e2a;--bp-page:#0e1916;--bp-border:#3a514a;color:var(--bp-ink);background:var(--bp-page)}
.business-public-body.content-width-standard{--public-max:1280px!important}.business-public-body.content-width-wide{--public-max:1540px!important}.business-public-body.content-width-full{--public-max:1840px!important}.mode-compact.business-public-body{--public-max:1320px!important}
.business-public-body .business-public-wrap,.business-public-body .compact-business-content{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))!important;max-width:none!important}
.business-public-body .business-section,.business-public-body .business-section h2,.business-public-body .business-section h3,.business-public-body .business-section p,.business-public-body .business-section li,.business-public-body .business-section dt,.business-public-body .business-section dd{color:var(--bp-ink)}
.business-public-body .business-section .section-kicker{color:var(--client-brand)}.business-public-body .business-section .microcopy,.business-public-body .business-section .field-hint-public,.business-public-body .business-legal{color:var(--bp-muted)}
.business-public-body .info-surface,.business-public-body .enquiry-box,.business-public-body .visual-card,.business-public-body .team-card,.business-public-body .offer-card,.business-public-body .pricing-card{background:var(--bp-surface);color:var(--bp-ink);border-color:var(--bp-border)}
.business-public-body .public-enquiry-form input,.business-public-body .public-enquiry-form textarea,.business-public-body .public-enquiry-form select{background:#fff;color:#17211f;border-color:#80918b}

/* Background-photo hero contrast is explicit and cannot be overridden by the chosen theme. */
.hero-layout-background .business-identity .identity-copy,.hero-layout-background .business-identity .identity-copy h1,.hero-layout-background .business-identity .business-location-kicker,.hero-layout-background .business-identity .business-lead,.hero-layout-background .business-identity .business-address{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.48)}
.hero-layout-background.hero-text-auto.hero-overlay-light .hero-background-overlay,.hero-layout-background.hero-text-light.hero-overlay-light .hero-background-overlay{background:rgba(4,12,10,.44)!important}.hero-layout-background.hero-text-auto.hero-overlay-medium .hero-background-overlay,.hero-layout-background.hero-text-light.hero-overlay-medium .hero-background-overlay{background:rgba(4,12,10,.58)!important}.hero-layout-background.hero-text-auto.hero-overlay-strong .hero-background-overlay,.hero-layout-background.hero-text-light.hero-overlay-strong .hero-background-overlay{background:rgba(4,12,10,.72)!important}
.hero-layout-background.hero-text-dark .business-identity .identity-copy,.hero-layout-background.hero-text-dark .business-identity .identity-copy h1,.hero-layout-background.hero-text-dark .business-identity .business-location-kicker,.hero-layout-background.hero-text-dark .business-identity .business-lead,.hero-layout-background.hero-text-dark .business-identity .business-address{color:#14201e!important;text-shadow:none}.hero-layout-background.hero-text-dark .business-identity .business-button.secondary{background:#fff!important;color:#14201e!important;border-color:#fff!important}.hero-layout-background.hero-text-dark.hero-overlay-light .hero-background-overlay{background:rgba(255,255,255,.58)!important}.hero-layout-background.hero-text-dark.hero-overlay-medium .hero-background-overlay{background:rgba(255,255,255,.72)!important}.hero-layout-background.hero-text-dark.hero-overlay-strong .hero-background-overlay{background:rgba(255,255,255,.84)!important}

/* Theme surfaces are intentional in light mode and remain readable in dark mode. */
html[data-theme="light"] .mode-full.design-established .business-identity:not(:has(.hero-background-media)){background:#25332f;color:#fff}.mode-full.design-established .business-identity:not(:has(.hero-background-media)) h1,.mode-full.design-established .business-identity:not(:has(.hero-background-media)) .business-location-kicker,.mode-full.design-established .business-identity:not(:has(.hero-background-media)) .business-lead,.mode-full.design-established .business-identity:not(:has(.hero-background-media)) .business-address{color:#fff}
html[data-theme="light"] .mode-full.design-workshop .business-content>.business-section:nth-child(odd){background:#fff!important}html[data-theme="light"] .mode-full.design-workshop .business-content>.business-section:nth-child(even){background:#edf2f0!important}
.mode-full.design-workshop .gallery-section,.mode-full.design-showcase .gallery-section{background:#172622!important;color:#fff!important}.mode-full.design-workshop .gallery-section h2,.mode-full.design-workshop .gallery-section h3,.mode-full.design-workshop .gallery-section p,.mode-full.design-workshop .gallery-section .section-kicker,.mode-full.design-showcase .gallery-section h2,.mode-full.design-showcase .gallery-section h3,.mode-full.design-showcase .gallery-section p,.mode-full.design-showcase .gallery-section .section-kicker{color:#fff!important}
.mode-full.design-workshop .service-public-item,.mode-full.design-showcase .service-public-item{background:#1b2c28!important;color:#fff!important;border-color:#425650!important}.mode-full.design-workshop .service-public-item h3,.mode-full.design-workshop .service-public-item p,.mode-full.design-showcase .service-public-item h3,.mode-full.design-showcase .service-public-item p{color:#fff!important}
html[data-theme="dark"] .business-public-body .business-identity:not(:has(.hero-background-media)),html[data-theme="dark"] .business-public-body .business-content>.business-section,html[data-theme="dark"] .mode-compact .compact-business-content>.business-section{background:var(--bp-surface)!important;color:var(--bp-ink)!important;border-color:var(--bp-border)!important}html[data-theme="dark"] .business-public-body .business-content>.business-section:nth-child(even){background:var(--bp-soft)!important}html[data-theme="dark"] .business-public-body .business-identity:not(:has(.hero-background-media)) h1,html[data-theme="dark"] .business-public-body .business-identity:not(:has(.hero-background-media)) .business-location-kicker,html[data-theme="dark"] .business-public-body .business-identity:not(:has(.hero-background-media)) .business-lead,html[data-theme="dark"] .business-public-body .business-identity:not(:has(.hero-background-media)) .business-address{color:var(--bp-ink)!important}html[data-theme="dark"] .business-public-body .business-section h2,html[data-theme="dark"] .business-public-body .business-section h3,html[data-theme="dark"] .business-public-body .business-section p,html[data-theme="dark"] .business-public-body .service-public-item h3,html[data-theme="dark"] .business-public-body .service-public-item p{color:var(--bp-ink)!important}html[data-theme="dark"] .business-public-body .gallery-section,html[data-theme="dark"] .mode-full.design-workshop .gallery-section,html[data-theme="dark"] .mode-full.design-showcase .gallery-section{background:#101c19!important}html[data-theme="dark"] .business-public-body .gallery-section h2,html[data-theme="dark"] .business-public-body .gallery-section h3,html[data-theme="dark"] .business-public-body .gallery-section p,html[data-theme="dark"] .business-public-body .gallery-section .section-kicker{color:#f2f7f5!important}html[data-theme="dark"] .mode-full.design-workshop .service-public-item,html[data-theme="dark"] .mode-full.design-showcase .service-public-item{background:#1b2c28!important}html[data-theme="dark"] .mode-full.design-workshop .service-public-item h3,html[data-theme="dark"] .mode-full.design-workshop .service-public-item p,html[data-theme="dark"] .mode-full.design-showcase .service-public-item h3,html[data-theme="dark"] .mode-full.design-showcase .service-public-item p{color:#fff!important}

/* Restore the scale that the approved customer-site mockups require. */
.mode-full .business-public-body{}.mode-full .business-content>.business-section{width:min(calc(100% - (var(--public-gutter)*2)),var(--public-max))!important}.mode-full .business-section{padding-block:clamp(3.5rem,6vw,6.5rem)!important}.mode-full .business-section h2{font-size:clamp(2.6rem,4.5vw,4.6rem)!important}.mode-full .service-public-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important;border:0!important}.mode-full .service-public-item{min-height:180px!important;padding:1.45rem!important;border:1px solid var(--bp-border)!important}.mode-full .service-public-item h3{font-size:1.2rem!important}.mode-full .service-public-item p{font-size:.95rem!important;line-height:1.55!important}.mode-full .public-gallery{gap:1rem!important}.mode-full .public-gallery img{height:clamp(250px,25vw,420px)!important;min-height:250px!important}.mode-full .public-gallery figure:first-child img{height:clamp(420px,42vw,680px)!important}.mode-full .reviews-section .review-callout,.mode-full .recommend-section .recommend-inner{max-width:1080px!important}.mode-full .contact-section .enquiry-box{max-width:1120px}
.mode-compact .compact-business-content{max-width:none!important;grid-template-columns:1fr 1fr!important;gap:1.25rem!important}.mode-compact .compact-business-content>.business-section{padding:2rem!important}.mode-compact .identity-grid{grid-template-columns:minmax(0,.9fr) minmax(470px,1.1fr)!important}.mode-compact .identity-cover img{height:420px!important}.mode-compact .business-identity h1{font-size:clamp(3.2rem,5vw,5.4rem)!important}
@media(max-width:900px){.mode-full .service-public-grid{grid-template-columns:1fr 1fr!important}.mode-compact .identity-grid,.mode-compact .compact-business-content{grid-template-columns:1fr!important}.mode-compact .identity-cover img{height:320px!important}}@media(max-width:620px){.mode-full .service-public-grid{grid-template-columns:1fr!important}.mode-full .business-section{padding-block:2.5rem!important}.mode-full .public-gallery img,.mode-full .public-gallery figure:first-child img{height:260px!important;min-height:0!important}}
/* R6 0.6.5 QA hardening: resolve high-specificity legacy rules found by rendered contrast audit. */
html[data-theme="dark"] .business-public-body{--public-page-tone:var(--bp-page)!important;--public-surface-tone:var(--bp-surface)!important;--public-soft-tone:var(--bp-soft)!important;--public-border-tone:var(--bp-border)!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section,
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section{background:#172622!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section h2,
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section h3,
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section p,
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section .section-kicker,
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section h2,
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section h3,
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section p,
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section .section-kicker{color:#fff!important}
html[data-theme="dark"] .business-public-body .enquiry-box,
html[data-theme="dark"] .business-public-body .info-surface,
html[data-theme="dark"] .business-public-body .visual-card,
html[data-theme="dark"] .business-public-body .team-card,
html[data-theme="dark"] .business-public-body .offer-card,
html[data-theme="dark"] .business-public-body .pricing-card{background:var(--bp-surface)!important;color:var(--bp-ink)!important;border-color:var(--bp-border)!important}
html[data-theme="dark"] .business-public-body .enquiry-box h3,
html[data-theme="dark"] .business-public-body .enquiry-box label{color:var(--bp-ink)!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section:nth-child(n),
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section:nth-child(n){background:#172622!important;color:#fff!important}
/* Automatic/light hero text always has enough darkening to remain readable even over very bright photography. */
.hero-layout-background.hero-text-auto.hero-overlay-light .hero-background-overlay,
.hero-layout-background.hero-text-light.hero-overlay-light .hero-background-overlay{background:rgba(4,12,10,.58)!important}
.hero-layout-background.hero-text-auto.hero-overlay-medium .hero-background-overlay,
.hero-layout-background.hero-text-light.hero-overlay-medium .hero-background-overlay{background:rgba(4,12,10,.66)!important}
.hero-layout-background.hero-text-auto.hero-overlay-strong .hero-background-overlay,
.hero-layout-background.hero-text-light.hero-overlay-strong .hero-background-overlay{background:rgba(4,12,10,.76)!important}
/* Do not rely on :has() for non-background hero contrast; body layout class is authoritative. */
html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-identity{background:var(--bp-surface)!important;color:var(--bp-ink)!important}
html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-identity h1,
html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-location-kicker,
html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-lead,
html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-address{color:var(--bp-ink)!important}
html[data-theme="light"] .mode-full.design-established:not(.hero-layout-background) .business-identity{background:#25332f!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-established:not(.hero-layout-background) .business-identity h1,
html[data-theme="light"] .mode-full.design-established:not(.hero-layout-background) .business-location-kicker,
html[data-theme="light"] .mode-full.design-established:not(.hero-layout-background) .business-lead,
html[data-theme="light"] .mode-full.design-established:not(.hero-layout-background) .business-address{color:#fff!important}

/* R6 0.6.6 — public website visual rebuild. The approved mockups are the specification. */
.site-body:has(.rr-home-v3) .public-main{background:#f5f7f6}
.site-body:has(.rr-home-v3) .public-main>.content-wrap.public-wide{width:min(calc(100% - 40px),1540px)!important;max-width:1540px!important;padding:0!important}
.site-body:has(.rr-home-v3) .public-sales-header{background:#0f3c38!important;border:0!important;color:#fff!important}
.site-body:has(.rr-home-v3) .public-sales-header .public-header-inner{width:min(calc(100% - 40px),1540px)!important;max-width:1540px!important;min-height:72px}
.site-body:has(.rr-home-v3) .public-sales-header .marketing-nav a{color:#fff!important;font-weight:750}
.site-body:has(.rr-home-v3) .public-wordmark,.site-body:has(.rr-home-v3) .platform-wordmark-text{color:#fff!important;font-size:1.2rem;font-weight:900}
.site-body:has(.rr-home-v3) .public-sales-header .theme-toggle,.site-body:has(.rr-home-v3) .public-sales-header .button-secondary{border-color:rgba(255,255,255,.65)!important;color:#fff!important;background:transparent!important}
.site-body:has(.rr-home-v3) .public-sales-header .button-primary{background:#e3b85f!important;border-color:#e3b85f!important;color:#10231f!important}
.site-body:has(.rr-home-v3) .site-footer>.content-wrap.public-wide{width:min(calc(100% - 40px),1540px)!important;max-width:1540px!important}
.rr-home-v3{--rr-ink:#10231f;--rr-muted:#56645f;--rr-deep:#103e39;--rr-deeper:#0b312d;--rr-gold:#d7ad55;--rr-line:#d7dfdc;color:var(--rr-ink);padding-bottom:12px}
.rr-home-v3 *{box-sizing:border-box}
.rr3-kicker{margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.09em;font-size:.73rem;font-weight:900;color:#3e625b}
.rr3-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);min-height:470px;background:#fff;border:1px solid var(--rr-line);border-top:0;overflow:hidden}
.rr3-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 52px 48px}
.rr3-hero h1{font-size:clamp(3.25rem,4.65vw,5.25rem);line-height:.96;letter-spacing:-.055em;max-width:13.2ch;margin:0 0 1.1rem;color:#0d2420}
.rr3-lead{max-width:55ch;font-size:1.11rem;line-height:1.58;color:var(--rr-muted);margin:0 0 1.25rem}
.rr3-terms{display:flex;flex-wrap:wrap;gap:.55rem 1.25rem;font-size:.86rem;font-weight:760;color:#233b36;margin:0 0 1.45rem}
.rr3-actions{display:flex;gap:.75rem;flex-wrap:wrap}.rr3-actions .button{min-height:49px;padding:.7rem 1.15rem;font-size:.93rem}
.rr3-trust-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;border-top:1px solid #e2e7e5;margin-top:1.55rem;padding-top:1rem;color:#61706b;font-size:.82rem}.rr3-trust-line strong{color:#253b36}.rr3-trust-mark{width:27px;height:27px;border-radius:7px;background:var(--rr-deep);color:#fff;display:grid;place-items:center}
.rr3-hero-photo{margin:0;min-height:470px;position:relative}.rr3-hero-photo img{display:block;width:100%;height:100%;min-height:470px;object-fit:cover;object-position:center 42%}
.rr3-product-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#eef2f0;border:1px solid var(--rr-line);border-top:0}
.rr3-product-card{padding:23px 24px 25px;border-right:1px solid var(--rr-line);min-width:0}.rr3-product-card:last-child{border-right:0}
.rr3-product-title{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:start;margin-bottom:14px}.rr3-round-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#2f6860,#0f3b37 70%);color:#fff;font-size:1.35rem}.rr3-product-title h2{font-size:1.42rem;line-height:1.05;margin:.15rem 0 .35rem;letter-spacing:-.025em}.rr3-product-title p{margin:0;color:#53615d;font-size:.88rem;line-height:1.4}
.rr3-mini-panel{background:#fff;border:1px solid #cad5d1;box-shadow:0 4px 14px rgba(18,53,47,.05);min-height:145px}.rr3-review-panel>div{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:.45rem;padding:.55rem .7rem;border-bottom:1px solid #e2e7e5;font-size:.78rem}.rr3-review-panel>div:last-child{border-bottom:0}.rr3-review-panel b{font-size:.72rem;color:#14564d}.rr3-google-dot{font-weight:900;color:#4285f4}.rr3-referral-panel{padding:13px}.rr3-referral-panel small{display:block;margin-bottom:.4rem;color:#60706b}.rr3-link{display:grid;grid-template-columns:1fr auto;border:1px solid #cbd4d1}.rr3-link code{padding:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}.rr3-link b{background:#163f3a;color:#fff;padding:.62rem .75rem;font-size:.73rem}.rr3-share-pills{display:flex;gap:.4rem;margin-top:.7rem;flex-wrap:wrap}.rr3-share-pills span{border:1px solid #bfcac6;padding:.35rem .5rem;font-size:.68rem;font-weight:800}.rr3-rewards-panel{padding:0}.rr3-tabs{display:flex;gap:1rem;padding:.7rem .8rem;border-bottom:1px solid #d7dfdc;font-size:.69rem}.rr3-tabs b{color:#0f5148;border-bottom:2px solid #0f5148}.rr3-reward-stats{display:grid;grid-template-columns:1fr 1fr}.rr3-reward-stats>div{padding:.9rem;border-right:1px solid #dfe5e2}.rr3-reward-stats>div:last-child{border-right:0}.rr3-reward-stats small,.rr3-reward-stats span{display:block;color:#66736f;font-size:.68rem}.rr3-reward-stats strong{display:block;font-size:1.55rem;margin:.3rem 0}
.rr3-preview{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.15fr) minmax(340px,.9fr);gap:20px;align-items:center;padding:23px 0 18px;border-bottom:1px solid var(--rr-line)}.rr3-preview-copy{padding:8px 8px 8px 0}.rr3-preview-copy h2{font-size:2rem;line-height:1.03;letter-spacing:-.035em;margin:.1rem 0 .65rem}.rr3-preview-copy p:last-child{color:var(--rr-muted);line-height:1.5;font-size:.88rem}.rr3-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;background:#eaf0ed;border:1px solid #d5dedb;padding:14px}.rr3-preview-form label{font-size:.7rem;font-weight:800;margin:0}.rr3-preview-form input{margin-top:.35rem;height:42px;background:#fff}.rr3-preview-form .button{height:42px;padding:.5rem .8rem;white-space:nowrap}.rr3-business-card{display:grid;grid-template-columns:1.2fr .8fr;grid-template-areas:"main image" "actions image";background:#fff;border:1px solid #cbd5d1;min-height:130px;box-shadow:0 4px 15px rgba(15,52,46,.06);overflow:hidden}.rr3-business-card-main{grid-area:main;display:grid;grid-template-columns:46px 1fr;gap:10px;padding:14px 10px 7px 14px;align-items:start}.rr3-business-logo{width:46px;height:46px;border-radius:8px;background:#0f403a;color:#e1b85c;display:grid;place-items:center;font-weight:900;font-size:1.3rem}.rr3-business-card-main strong,.rr3-second-business-card strong{display:block;font-size:.93rem}.rr3-business-card-main small,.rr3-second-business-card small{display:block;color:#697570;font-size:.7rem;margin:.2rem 0}.rr3-stars{color:#d19416;font-size:.72rem;font-weight:900}.rr3-stars em{color:#55635e;font-style:normal;font-weight:700}.rr3-business-card-actions{grid-area:actions;display:flex;gap:5px;padding:4px 10px 12px 14px;align-items:end}.rr3-business-card-actions b{border:1px solid #234a44;padding:.38rem .47rem;font-size:.64rem;white-space:nowrap}.rr3-business-card-actions b:first-child{background:#17473f;color:#fff}.rr3-business-card>img{grid-area:image;width:100%;height:100%;min-height:130px;object-fit:cover}
.rr3-business-pages{display:grid;grid-template-columns:minmax(250px,.95fr) minmax(350px,1.15fr) minmax(320px,1.05fr) minmax(280px,.78fr);gap:12px;padding:18px 0 10px;align-items:stretch}.rr3-project-photo,.rr3-project-photo img{margin:0;width:100%;height:100%;min-height:235px;object-fit:cover}.rr3-business-pages-copy{background:#fff;border:1px solid var(--rr-line);padding:24px}.rr3-business-pages-copy h2{font-size:2rem;line-height:1.02;letter-spacing:-.035em;margin:.15rem 0 .65rem}.rr3-business-pages-copy>p:not(.rr3-kicker){color:var(--rr-muted);font-size:.86rem;line-height:1.55}.rr3-business-pages-copy ul{display:flex;flex-wrap:wrap;gap:.55rem 1rem;list-style:none;padding:0;margin:1rem 0 1.1rem;font-size:.72rem;font-weight:800}.rr3-business-pages-copy li::before{content:"◇";margin-right:.35rem;color:#276259}.rr3-business-pages-copy .button{font-size:.74rem}.rr3-second-business-card{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:auto 1fr auto;background:#fff;border:1px solid var(--rr-line);overflow:hidden}.rr3-second-business-card>div:first-child{display:flex;gap:10px;padding:15px;align-items:flex-start}.rr3-leaf{background:#1f604f;color:#d4af55}.rr3-second-business-card>img{grid-column:2;grid-row:1/4;width:100%;height:100%;min-height:235px;object-fit:cover}.rr3-second-business-card .rr3-business-card-actions{grid-column:1;grid-row:3;padding:10px 15px;align-self:end}.rr3-price-card{background:linear-gradient(160deg,#f4f7f6,#e4ece8);border:1px solid var(--rr-line);padding:24px}.rr3-price-card h2{font-size:3.5rem;line-height:.9;margin:.2rem 0 .8rem;letter-spacing:-.05em}.rr3-price-card h2 span{font-size:.85rem;letter-spacing:0;margin-left:.25rem}.rr3-price-card ul{list-style:none;padding:0;margin:0 0 1.1rem;font-size:.74rem;line-height:1.8}.rr3-price-card .button{font-size:.72rem}
.rr3-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rr-line);margin-top:6px}.rr3-benefits article{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:18px 16px}.rr3-benefits article>span{width:40px;height:40px;border:1px solid #31574f;border-radius:50%;display:grid;place-items:center;color:#17453f;font-size:1.1rem}.rr3-benefits strong{font-size:.78rem}.rr3-benefits p{font-size:.69rem;color:#6a7772;line-height:1.45;margin:.2rem 0 0}
@media(max-width:1260px){.rr3-hero h1{font-size:4.5rem}.rr3-preview{grid-template-columns:1fr 1.45fr}.rr3-business-card{display:none}.rr3-business-pages{grid-template-columns:1fr 1.15fr 1fr}.rr3-second-business-card{display:none}}
@media(max-width:900px){.site-body:has(.rr-home-v3) .public-main>.content-wrap.public-wide{width:min(calc(100% - 24px),1540px)!important}.rr3-hero{grid-template-columns:1fr}.rr3-hero-copy{padding:42px 28px}.rr3-hero h1{font-size:clamp(3rem,10vw,4.8rem)}.rr3-hero-photo,.rr3-hero-photo img{min-height:330px;height:330px}.rr3-product-row{grid-template-columns:1fr}.rr3-product-card{border-right:0;border-bottom:1px solid var(--rr-line)}.rr3-preview{grid-template-columns:1fr;padding:22px 0}.rr3-preview-form{grid-template-columns:1fr 1fr auto}.rr3-business-pages{grid-template-columns:1fr 1fr}.rr3-project-photo{display:none}.rr3-price-card{grid-column:2}.rr3-benefits{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rr3-preview-form{grid-template-columns:1fr}.rr3-business-pages{grid-template-columns:1fr}.rr3-price-card{grid-column:auto}.rr3-benefits{grid-template-columns:1fr}.rr3-terms{display:grid}.rr3-hero-copy{padding:32px 20px}.rr3-product-card{padding:20px 18px}.rr3-product-title{grid-template-columns:42px 1fr}.rr3-round-icon{width:42px;height:42px}.rr3-business-pages-copy,.rr3-price-card{padding:20px}.rr3-business-pages-copy h2{font-size:1.75rem}}
html[data-theme="dark"] .rr-home-v3{--rr-ink:#edf6f2;--rr-muted:#adbbb6;--rr-line:#394742;color:var(--rr-ink)}
html[data-theme="dark"] .site-body:has(.rr-home-v3) .public-main{background:#0d1714}html[data-theme="dark"] .rr3-hero,html[data-theme="dark"] .rr3-mini-panel,html[data-theme="dark"] .rr3-business-card,html[data-theme="dark"] .rr3-business-pages-copy,html[data-theme="dark"] .rr3-second-business-card{background:#14211e;border-color:#35453f}html[data-theme="dark"] .rr3-hero h1,html[data-theme="dark"] .rr3-product-title h2,html[data-theme="dark"] .rr3-preview-copy h2,html[data-theme="dark"] .rr3-business-pages-copy h2{color:#eff7f4}html[data-theme="dark"] .rr3-product-row,html[data-theme="dark"] .rr3-preview-form{background:#182622;border-color:#35453f}html[data-theme="dark"] .rr3-review-panel>div,html[data-theme="dark"] .rr3-tabs,html[data-theme="dark"] .rr3-link{border-color:#3e4e48}html[data-theme="dark"] .rr3-price-card{background:#16241f;border-color:#3b4a45}

/* R6 0.6.6 — Business Pages rebuilt as genuine website themes rather than a generic stacked renderer. */
.business-public-body{--rr-site-max:1540px;--rr-site-gutter:clamp(22px,4vw,64px);--rr-ink:#13211e;--rr-muted:#5d6965;--rr-line:#d3dcD8;background:#edf2ef!important;color:var(--rr-ink)}
.content-width-standard.business-public-body{--public-max:1240px}.content-width-wide.business-public-body{--public-max:1540px}.content-width-full.business-public-body{--public-max:1840px}
.business-site-nav{position:relative;z-index:20;background:#fff;border-bottom:1px solid #d2dbd7;color:#15231f}.business-site-nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.business-site-brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;font-weight:900;letter-spacing:.015em;font-size:1.08rem}.business-site-brand img{display:block;max-width:150px;max-height:42px;object-fit:contain;object-position:left center}.business-site-links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem)}.business-site-links a{color:inherit;text-decoration:none;font-weight:800;font-size:.85rem}.business-site-links a:hover{text-decoration:underline;text-underline-offset:5px}
.mode-full .business-identity{border:0!important}.mode-full .identity-grid{width:min(calc(100% - (var(--rr-site-gutter)*2)),var(--public-max))!important;max-width:none!important;min-height:520px;padding-block:clamp(56px,7vw,105px)!important;gap:clamp(45px,7vw,110px)!important}.mode-full .identity-copy{max-width:720px}.mode-full .business-logo{max-width:250px!important;max-height:78px!important;margin-bottom:1.15rem!important}.mode-full .business-location-kicker{font-size:.76rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:900!important;margin-bottom:.75rem!important}.mode-full .business-identity h1{font-size:clamp(4rem,6.5vw,7rem)!important;line-height:.91!important;letter-spacing:-.06em!important;max-width:11ch!important;margin-bottom:1.2rem!important}.mode-full .business-lead{font-size:clamp(1.1rem,1.5vw,1.42rem)!important;line-height:1.5!important;max-width:55ch!important}.mode-full .business-address{font-size:.88rem!important;margin-top:.7rem!important}.mode-full .hero-actions{margin-top:1.6rem!important;gap:.65rem!important}.mode-full .hero-actions .business-button{min-height:50px!important;padding:.7rem 1rem!important;font-weight:850!important}.mode-full .identity-cover{min-height:500px!important;box-shadow:none!important;border-radius:0!important}.mode-full .identity-cover img{min-height:500px!important;max-height:680px!important;object-fit:cover!important}.mode-full.hero-height-tall .identity-grid{min-height:680px!important}.mode-full.hero-height-tall .identity-cover,.mode-full.hero-height-tall .identity-cover img{min-height:610px!important}.mode-full.hero-layout-background .business-identity{min-height:620px!important}.mode-full.hero-layout-background.hero-height-tall .business-identity{min-height:min(82vh,840px)!important}.mode-full.hero-layout-background .identity-grid{min-height:inherit!important;align-items:end!important;padding-bottom:clamp(60px,8vw,110px)!important}.mode-full.hero-layout-background .identity-copy{max-width:780px!important}.mode-full.hero-layout-background .business-identity h1{color:inherit!important}.mode-full.hero-layout-background .hero-background-media img{object-position:center 42%!important}
.mode-full .location-switcher{background:#e7eeea!important;border:0!important;border-bottom:1px solid #ced8d4!important}.mode-full .location-switcher>.business-public-wrap{min-height:44px;display:flex;align-items:center;gap:1rem!important}.mode-full .location-switcher strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.mode-full .location-links{gap:1rem!important}.mode-full .location-links a{font-size:.77rem;font-weight:800}
.mode-full .business-content{width:100%!important;max-width:none!important;padding:0!important;margin:0!important;display:block!important}.mode-full .business-content>.business-section{width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;clip-path:none!important;padding-block:clamp(58px,6vw,96px)!important;padding-inline:max(var(--rr-site-gutter),calc((100vw - var(--public-max))/2 + var(--rr-site-gutter)))!important;background:#fff!important}.mode-full .business-content>.business-section:nth-child(even){background:#edf2ef!important}.mode-full .business-content>.business-section.presentation-quiet{background:#fff!important}.mode-full .business-content>.business-section h2{font-size:clamp(2.7rem,4.5vw,4.8rem)!important;line-height:.98!important;letter-spacing:-.052em!important;max-width:16ch!important;margin:.15rem 0 1.5rem!important}.mode-full .business-content>.business-section h3{letter-spacing:-.02em}.mode-full .section-kicker{font-size:.7rem!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:900!important}.mode-full .business-content>.business-section p{font-size:1rem;line-height:1.65}.mode-full .prose-copy{max-width:70ch!important}.mode-full .prose-copy p{font-size:1.08rem!important;line-height:1.7!important;color:#53615c!important}
.mode-full .about-editorial{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(45px,7vw,110px);align-items:start}.mode-full .about-highlight{min-height:270px;padding:32px;background:var(--client-brand);color:var(--client-brand-text);display:flex;flex-direction:column;justify-content:flex-end}.mode-full .about-highlight span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;opacity:.8}.mode-full .about-highlight strong{display:block;font-family:var(--public-heading-font);font-size:clamp(1.6rem,2.4vw,2.6rem);line-height:1.08;margin-top:.75rem;letter-spacing:-.035em}
.mode-full .trust-section .section-title-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}.mode-full .trust-section .trust-intro{max-width:76ch;color:#56635f;margin:0 0 2rem}.mode-full .google-trust-inline{padding:1rem 1.3rem!important;background:#fff!important;border:1px solid #cdd7d3!important;min-width:200px}.mode-full .google-trust-inline strong{font-size:2rem!important}.mode-full .trust-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mode-full .trust-card{background:#fff;border:1px solid #ccd6d2;padding:18px;min-height:150px}.mode-full .trust-card img{max-width:58px;max-height:58px;object-fit:contain}.mode-full .trust-card strong{font-size:1rem}.mode-full .key-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#cbd4d0;border:1px solid #cbd4d0;margin-top:26px}.mode-full .key-fact{background:#fff;padding:20px!important;border:0!important}.mode-full .key-fact strong{font-size:1.6rem!important}.mode-full .key-fact span{font-size:.8rem;color:#66736e}
.mode-full .service-public-grid{counter-reset:service;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.mode-full .service-public-item{counter-increment:service;position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:210px!important;padding:28px!important;background:#fff!important;border:1px solid #cdd7d3!important;border-top:0!important}.mode-full .service-public-item::before{content:"0" counter(service);position:absolute;top:24px;right:24px;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#8b9893}.mode-full .service-public-item h3{font-size:1.35rem!important;line-height:1.08!important;margin:0 0 .65rem!important}.mode-full .service-public-item p{font-size:.91rem!important;line-height:1.55!important;color:#5d6965!important;margin:0!important}
.mode-full .gallery-section{background:#172723!important;color:#fff!important;padding-top:70px!important;padding-bottom:82px!important}.mode-full .gallery-section .section-kicker,.mode-full .gallery-section h2{color:#fff!important}.mode-full .public-gallery{display:grid!important;grid-template-columns:1.65fr .85fr .85fr!important;grid-auto-rows:minmax(205px,auto);gap:12px!important}.mode-full .public-gallery figure{margin:0!important;min-width:0!important;background:transparent!important}.mode-full .public-gallery figure:first-child{grid-column:1!important;grid-row:span 2!important}.mode-full .public-gallery img,.mode-full .public-gallery figure:first-child img{width:100%!important;height:100%!important;min-height:205px!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;display:block!important}.mode-full .public-gallery figure:first-child img{min-height:422px!important}.mode-full .public-gallery figcaption{color:#dce6e2!important;font-size:.72rem!important;margin:.45rem 0 0!important}.mode-full .gallery-lightbox-trigger{height:100%!important;border:0!important;background:transparent!important;padding:0!important;border-radius:0!important}
.mode-full .hours-area-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}.mode-full .hours-area-grid .info-surface{padding:26px!important;background:#fff!important;border:1px solid #ccd6d2!important;box-shadow:none!important}.mode-full .public-hours>div{padding:.62rem 0!important}.mode-full .area-public-list{columns:2;column-gap:2rem}
.mode-full .reviews-section{background:var(--client-brand)!important;color:var(--client-brand-text)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:clamp(2rem,7vw,7rem)!important;align-items:center!important}.mode-full .reviews-section .review-callout{max-width:900px!important;display:contents}.mode-full .reviews-section .section-kicker,.mode-full .reviews-section h2,.mode-full .reviews-section p{color:var(--client-brand-text)!important}.mode-full .reviews-section h2{margin-bottom:.65rem!important}.mode-full .reviews-section p{max-width:62ch!important;opacity:.86}.mode-full .reviews-section .review-actions{justify-content:flex-end!important;align-self:center!important;max-width:520px}.mode-full .reviews-section .review-destination-button{background:var(--client-secondary)!important;color:var(--client-secondary-text)!important;border-color:var(--client-secondary)!important;min-width:135px!important}.mode-full .recommend-section{background:#f5efe3!important}.mode-full .recommend-section .recommend-inner{max-width:1100px!important}.mode-full .recommend-section h2{max-width:18ch!important}.mode-full .recommend-section .business-action-row{gap:.65rem!important}.mode-full .recommend-section .business-button{min-width:150px}
.mode-full .contact-section{background:#e7eeeb!important}.mode-full .contact-shell{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(40px,7vw,100px);align-items:start}.mode-full .contact-copy{position:sticky;top:30px}.mode-full .contact-copy h2{margin-bottom:1rem!important}.mode-full .contact-note,.mode-full .contact-address{color:#52615c!important;max-width:42ch}.mode-full .contact-address{font-size:.86rem!important;border-top:1px solid #c8d3cf;padding-top:1rem;margin-top:1.4rem}.mode-full .contact-actions{gap:.55rem!important;margin-top:1.2rem!important}.mode-full .contact-section .enquiry-box{margin:0!important;max-width:none!important;background:#fff!important;border:1px solid #c8d3cf!important;padding:clamp(24px,3vw,42px)!important;box-shadow:0 18px 45px rgba(20,47,41,.07)!important}.mode-full .contact-section .enquiry-box h3{font-size:clamp(1.8rem,2.7vw,2.8rem)!important;margin:.2rem 0 1.3rem!important}.mode-full .public-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}.mode-full .public-form-grid label{font-size:.75rem!important;font-weight:800!important}.mode-full .public-form-grid input,.mode-full .public-form-grid textarea{background:#fff!important;border:1px solid #9fb0aa!important;min-height:48px!important;padding:.7rem!important}.mode-full .public-form-grid textarea{min-height:150px!important}.mode-full .public-form-grid .span-2{grid-column:1/-1!important}.mode-full .public-enquiry-form>.business-button{width:100%;margin-top:14px!important;min-height:52px!important}.mode-full .social-section{background:#fff!important;padding-top:42px!important;padding-bottom:42px!important}.mode-full .social-section h2{font-size:2.5rem!important;margin-bottom:1rem!important}.mode-full .business-legal{background:#edf2ef!important;padding-top:24px!important;padding-bottom:34px!important;color:#687570!important;font-size:.78rem!important}
/* Established — heritage, editorial, confident. */
.mode-full.design-established .business-site-nav{background:#fffdf8!important;color:#22302c!important;border-bottom-color:#d9d0c4!important}.mode-full.design-established .business-identity{background:#24322f!important;color:#fff!important}.mode-full.design-established .business-identity h1,.mode-full.design-established .business-lead,.mode-full.design-established .business-address{color:#fff!important}.mode-full.design-established .business-location-kicker{color:#d8ba83!important}.mode-full.design-established .identity-cover{border:7px solid #fffdf8!important}.mode-full.design-established .business-content>.business-section{background:#f4efe7!important}.mode-full.design-established .business-content>.business-section:nth-child(even){background:#fffdf8!important}.mode-full.design-established .business-content>.business-section h2,.mode-full.design-established .about-highlight strong{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important;letter-spacing:-.035em!important}.mode-full.design-established .about-highlight{background:#24322f!important}.mode-full.design-established .service-public-item{border-left:6px solid var(--client-secondary)!important;background:#fffdf8!important}.mode-full.design-established .gallery-section{background:#24322f!important}.mode-full.design-established .reviews-section{background:#2e3b36!important}.mode-full.design-established .recommend-section{background:#efe6d8!important}.mode-full.design-established .contact-section{background:#f3eee6!important}
/* Workshop — bold practical trade-site composition. */
.mode-full.design-workshop .business-site-nav{background:#172522!important;color:#fff!important;border:0!important}.mode-full.design-workshop:not(.hero-layout-background) .business-identity{background:#172522!important;color:#fff!important}.mode-full.design-workshop:not(.hero-layout-background) .business-identity h1,.mode-full.design-workshop:not(.hero-layout-background) .business-lead,.mode-full.design-workshop:not(.hero-layout-background) .business-address{color:#fff!important}.mode-full.design-workshop .business-location-kicker{color:#d5b45d!important}.mode-full.design-workshop .business-identity h1{text-transform:uppercase!important;font-weight:950!important;letter-spacing:-.065em!important}.mode-full.design-workshop.hero-layout-image_left .identity-cover{order:-1!important}.mode-full.design-workshop .business-content>.business-section{background:#f5f7f6!important}.mode-full.design-workshop .business-content>.business-section:nth-child(even){background:#e5ece8!important}.mode-full.design-workshop .service-public-item{background:#172522!important;color:#fff!important;border:0!important;border-top:7px solid var(--client-secondary)!important}.mode-full.design-workshop .service-public-item h3,.mode-full.design-workshop .service-public-item p{color:#fff!important}.mode-full.design-workshop .service-public-item::before{color:#d6b660!important}.mode-full.design-workshop .gallery-section{background:#172522!important}.mode-full.design-workshop .reviews-section{background:#dce7e2!important;color:#172522!important}.mode-full.design-workshop .reviews-section .section-kicker,.mode-full.design-workshop .reviews-section h2,.mode-full.design-workshop .reviews-section p{color:#172522!important}.mode-full.design-workshop .recommend-section{background:#fff!important}.mode-full.design-workshop .contact-section{background:#e6ece9!important}
/* Studio — softer editorial and image-led. */
.mode-full.design-studio{background:#f7f0ec!important}.mode-full.design-studio .business-site-nav{background:#fffaf7!important;color:#2d2725!important;border:0!important}.mode-full.design-studio .business-identity{background:#fffaf7!important}.mode-full.design-studio .identity-grid{padding-top:54px!important;padding-bottom:54px!important}.mode-full.design-studio .identity-cover{border-radius:32px!important;overflow:hidden!important}.mode-full.design-studio .business-identity h1,.mode-full.design-studio .business-content>.business-section h2{font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}.mode-full.design-studio .business-content>.business-section{background:#fffaf7!important}.mode-full.design-studio .business-content>.business-section:nth-child(even){background:#f1e5df!important}.mode-full.design-studio .about-highlight{background:#704d55!important;border-radius:26px}.mode-full.design-studio .service-public-item{border:1px solid #ead8cf!important;border-radius:22px!important;box-shadow:0 14px 35px rgba(80,50,40,.07)!important}.mode-full.design-studio .gallery-section{background:#6d4b53!important}.mode-full.design-studio .public-gallery img{border-radius:20px!important}.mode-full.design-studio .reviews-section{background:#704d55!important}.mode-full.design-studio .recommend-section{background:#f0dfd7!important}.mode-full.design-studio .contact-section{background:#f7efeb!important}.mode-full.design-studio .contact-section .enquiry-box{border-radius:24px!important}.mode-full.design-studio .business-button{border-radius:8px!important}
/* Classic — clean local-business website. */
.mode-full.design-classic .business-site-nav{background:#fff!important;color:#15231f!important}.mode-full.design-classic .business-identity{background:#fff!important}.mode-full.design-classic .business-content>.business-section{background:#fff!important}.mode-full.design-classic .business-content>.business-section:nth-child(even){background:#edf2ef!important}.mode-full.design-classic .about-highlight{background:#19433e!important}.mode-full.design-classic .service-public-item{border-top:5px solid var(--client-brand)!important}.mode-full.design-classic .gallery-section{background:#18302c!important}.mode-full.design-classic .reviews-section{background:#19433e!important}.mode-full.design-classic .recommend-section{background:#eef3f0!important}.mode-full.design-classic .contact-section{background:#e4ece8!important}
/* Showcase — full image impact with overlay panel and portfolio-first rhythm. */
.mode-full.design-showcase .business-site-nav{background:#14211f!important;color:#fff!important;border:0!important}.mode-full.design-showcase .business-identity{background:#14211f!important;color:#fff!important}.mode-full.design-showcase.hero-layout-background .identity-grid{align-items:end!important}.mode-full.design-showcase.hero-layout-background .identity-copy{background:#14211f!important;border-top:7px solid var(--client-secondary)!important;padding:clamp(24px,3vw,40px)!important;max-width:720px!important}.mode-full.design-showcase.hero-layout-background .business-identity h1{font-size:clamp(3.7rem,5.6vw,6.4rem)!important}.mode-full.design-showcase .business-content>.business-section{background:#edf1ef!important}.mode-full.design-showcase .business-content>.business-section:nth-child(even){background:#fff!important}.mode-full.design-showcase .service-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mode-full.design-showcase .service-public-item{background:#14211f!important;color:#fff!important;border:0!important;border-left:7px solid var(--client-secondary)!important}.mode-full.design-showcase .service-public-item h3,.mode-full.design-showcase .service-public-item p{color:#fff!important}.mode-full.design-showcase .gallery-section{background:#14211f!important}.mode-full.design-showcase .public-gallery{grid-template-columns:2fr 1fr 1fr!important}.mode-full.design-showcase .reviews-section{background:#fff!important;color:#14211f!important;border-top:1px solid #ccd5d1!important;border-bottom:1px solid #ccd5d1!important}.mode-full.design-showcase .reviews-section .section-kicker,.mode-full.design-showcase .reviews-section h2,.mode-full.design-showcase .reviews-section p{color:#14211f!important}.mode-full.design-showcase .recommend-section{background:#edf1ef!important}.mode-full.design-showcase .contact-section{background:#14211f!important;color:#fff!important}.mode-full.design-showcase .contact-copy h2,.mode-full.design-showcase .contact-copy .section-kicker,.mode-full.design-showcase .contact-note,.mode-full.design-showcase .contact-address{color:#fff!important}.mode-full.design-showcase .contact-section .enquiry-box{color:#14211f!important}
/* Compact advocacy page — shorter, designed, image-forward when an image exists. */
.mode-compact.business-public-body{--public-max:1180px!important;background:#eef2f0!important}.mode-compact .business-identity{background:#fff!important}.mode-compact .identity-grid{width:min(calc(100% - 44px),1180px)!important;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;gap:54px!important;padding-block:48px!important}.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid{grid-template-columns:1fr!important;max-width:900px!important;margin-inline:auto!important}.mode-compact .identity-copy{max-width:660px!important}.mode-compact .business-logo{max-width:220px!important;max-height:64px!important;margin-bottom:1rem!important}.mode-compact .business-location-kicker{font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-weight:900!important}.mode-compact .business-identity h1{font-size:clamp(3.1rem,5.2vw,5.7rem)!important;line-height:.92!important;letter-spacing:-.06em!important;max-width:11ch!important}.mode-compact .business-lead{font-size:1rem!important;line-height:1.55!important;max-width:48ch!important}.mode-compact .identity-cover{height:390px!important;min-height:390px!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 18px 42px rgba(33,44,40,.12)!important}.mode-compact .identity-cover img{height:390px!important;min-height:390px!important;max-height:none!important}.mode-compact .compact-business-content{width:min(calc(100% - 44px),1180px)!important;max-width:1180px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;padding:20px 0 40px!important}.mode-compact .compact-business-content>.business-section{padding:28px!important;border:1px solid #c9d4cf!important;background:#fff!important;border-radius:16px!important;box-shadow:0 8px 25px rgba(20,52,45,.04)!important}.mode-compact .compact-business-content .reviews-section{grid-column:1!important;border-top:6px solid var(--client-brand)!important}.mode-compact .compact-business-content .recommend-section{grid-column:2!important;border-top:6px solid var(--client-secondary)!important;background:#fffaf0!important}.mode-compact .compact-business-content .contact-section,.mode-compact .compact-business-content .social-section,.mode-compact .compact-business-content .business-legal{grid-column:1/-1!important}.mode-compact .compact-business-content h2{font-size:clamp(2rem,3vw,3rem)!important;letter-spacing:-.04em!important}.mode-compact .compact-business-content p{font-size:.94rem!important;line-height:1.55!important}.mode-compact .review-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.55rem!important}.mode-compact .review-destination-button{min-width:0!important;min-height:52px!important}.mode-compact .recommend-section .business-action-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.55rem!important}.mode-compact .contact-shell{display:grid;grid-template-columns:.65fr 1.35fr;gap:35px;align-items:start}.mode-compact .contact-section:not(:has(.enquiry-box)) .contact-shell{grid-template-columns:1fr}.mode-compact .contact-section .enquiry-box{margin:0!important;max-width:none!important;background:#fff!important;border:1px solid #c5d1cc!important;padding:24px!important}.mode-compact .public-form-grid{grid-template-columns:1fr 1fr!important}.mode-compact .social-section{padding-block:24px!important}.mode-compact .business-legal{padding:8px 2px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#6c7874!important}.mode-compact .business-public-footer{background:#e4ebe8!important}
/* Theme selector now shows the actual reference layouts, not unrelated crop images. */
.theme-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}.theme-choice{border:2px solid var(--border)!important;border-radius:0!important;background:var(--surface)!important;overflow:hidden!important}.theme-choice.is-selected{border-color:var(--brand)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 20%,transparent)!important}.theme-choice-screenshot{display:block!important;background:#fff!important;border-bottom:1px solid var(--border)!important;aspect-ratio:14/9!important;overflow:hidden!important}.theme-choice-screenshot>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important}.theme-choice-label{padding:.8rem!important}.theme-choice-label strong{font-size:.92rem!important}.theme-choice-label small{display:block!important;margin-top:.25rem!important}.theme-choice-applies{color:var(--muted)!important;font-size:.7rem!important}
/* Contrast rules for the rebuilt themes. */
.hero-layout-background.hero-text-auto .business-identity h1,.hero-layout-background.hero-text-auto .business-lead,.hero-layout-background.hero-text-auto .business-address,.hero-layout-background.hero-text-auto .business-location-kicker,.hero-layout-background.hero-text-light .business-identity h1,.hero-layout-background.hero-text-light .business-lead,.hero-layout-background.hero-text-light .business-address,.hero-layout-background.hero-text-light .business-location-kicker{color:#fff!important}.hero-layout-background.hero-text-dark .business-identity h1,.hero-layout-background.hero-text-dark .business-lead,.hero-layout-background.hero-text-dark .business-address,.hero-layout-background.hero-text-dark .business-location-kicker{color:#12211e!important}.hero-layout-background.hero-text-dark .hero-background-overlay{background:rgba(255,255,255,.78)!important}.hero-layout-background.hero-text-auto .hero-background-overlay,.hero-layout-background.hero-text-light .hero-background-overlay{background:linear-gradient(90deg,rgba(5,14,12,.78) 0%,rgba(5,14,12,.58) 42%,rgba(5,14,12,.28) 70%,rgba(5,14,12,.18) 100%)!important}.hero-layout-background.hero-overlay-light.hero-text-auto .hero-background-overlay,.hero-layout-background.hero-overlay-light.hero-text-light .hero-background-overlay{background:linear-gradient(90deg,rgba(5,14,12,.65),rgba(5,14,12,.22))!important}.hero-layout-background.hero-overlay-strong.hero-text-auto .hero-background-overlay,.hero-layout-background.hero-overlay-strong.hero-text-light .hero-background-overlay{background:linear-gradient(90deg,rgba(5,14,12,.86),rgba(5,14,12,.38))!important}
html[data-theme="dark"] .business-public-body{--rr-ink:#edf6f2;--rr-muted:#adbbb6;background:#0f1916!important}.business-public-body html[data-theme="dark"]{}html[data-theme="dark"] .business-site-nav{background:#14211e!important;color:#f4f8f6!important;border-bottom-color:#35433e!important}html[data-theme="dark"] .mode-full .business-content>.business-section{background:#14211e!important;color:#f0f6f3!important}html[data-theme="dark"] .mode-full .business-content>.business-section:nth-child(even){background:#1b2925!important}html[data-theme="dark"] .mode-full .business-content>.business-section h2,html[data-theme="dark"] .mode-full .business-content>.business-section h3{color:#f2f7f4!important}html[data-theme="dark"] .mode-full .prose-copy p,html[data-theme="dark"] .mode-full .service-public-item p{color:#b7c4bf!important}html[data-theme="dark"] .mode-full .service-public-item,html[data-theme="dark"] .mode-full .trust-card,html[data-theme="dark"] .mode-full .key-fact,html[data-theme="dark"] .mode-full .hours-area-grid .info-surface{background:#172520!important;color:#f2f7f4!important;border-color:#3b4b45!important}html[data-theme="dark"] .mode-full .gallery-section{background:#09130f!important}html[data-theme="dark"] .mode-full .recommend-section{background:#1b2925!important}html[data-theme="dark"] .mode-full .contact-section{background:#101d19!important}html[data-theme="dark"] .mode-full .contact-section .enquiry-box{background:#172520!important;color:#f2f7f4!important;border-color:#3b4b45!important}html[data-theme="dark"] .mode-full .public-form-grid input,html[data-theme="dark"] .mode-full .public-form-grid textarea{background:#0f1a17!important;color:#f2f7f4!important;border-color:#52635d!important}html[data-theme="dark"] .mode-full.design-workshop .service-public-item,html[data-theme="dark"] .mode-full.design-showcase .service-public-item{background:#0f1d19!important}html[data-theme="dark"] .mode-compact .business-identity,html[data-theme="dark"] .mode-compact .compact-business-content>.business-section{background:#14211e!important;color:#f2f7f4!important;border-color:#3a4944!important}html[data-theme="dark"] .mode-compact .compact-business-content .recommend-section{background:#201f19!important}html[data-theme="dark"] .mode-compact .contact-section .enquiry-box{background:#101a17!important;color:#f2f7f4!important}
@media(max-width:1120px){.business-site-links{gap:1rem}.mode-full .identity-grid{grid-template-columns:1fr 1fr!important}.mode-full .business-identity h1{font-size:4.8rem!important}.mode-full .service-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mode-full .trust-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-full .key-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-full .contact-shell{grid-template-columns:1fr!important}.mode-full .contact-copy{position:static!important}.mode-compact .identity-grid{grid-template-columns:1fr 1fr!important;gap:28px!important}.theme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.business-site-nav-inner{min-height:62px}.business-site-brand img{max-width:100px}.business-site-links{display:none}.mode-full .identity-grid{grid-template-columns:1fr!important;min-height:auto!important;padding-block:40px!important}.mode-full .identity-cover{order:-1!important;min-height:300px!important}.mode-full .identity-cover img{min-height:300px!important;max-height:390px!important}.mode-full .business-identity h1{font-size:clamp(3.2rem,13vw,5rem)!important}.mode-full .business-content>.business-section{padding-block:46px!important;padding-inline:20px!important}.mode-full .about-editorial{grid-template-columns:1fr!important;gap:30px!important}.mode-full .about-highlight{min-height:190px}.mode-full .trust-section .section-title-row{grid-template-columns:1fr!important}.mode-full .service-public-grid,.mode-full.design-showcase .service-public-grid{grid-template-columns:1fr!important}.mode-full .public-gallery,.mode-full.design-showcase .public-gallery{grid-template-columns:1fr 1fr!important;grid-auto-rows:180px!important}.mode-full .public-gallery figure:first-child{grid-column:1/-1!important;grid-row:auto!important}.mode-full .public-gallery figure:first-child img{min-height:260px!important}.mode-full .hours-area-grid{grid-template-columns:1fr!important}.mode-full .reviews-section{grid-template-columns:1fr!important}.mode-full .reviews-section .review-actions{justify-content:flex-start!important}.mode-full .public-form-grid{grid-template-columns:1fr!important}.mode-full .public-form-grid .span-2{grid-column:auto!important}.mode-compact .identity-grid{grid-template-columns:1fr!important;width:min(calc(100% - 28px),1180px)!important}.mode-compact .identity-cover{order:-1!important;height:300px!important;min-height:300px!important}.mode-compact .identity-cover img{height:300px!important;min-height:300px!important}.mode-compact .compact-business-content{width:min(calc(100% - 28px),1180px)!important;grid-template-columns:1fr!important}.mode-compact .compact-business-content .reviews-section,.mode-compact .compact-business-content .recommend-section,.mode-compact .compact-business-content .contact-section,.mode-compact .compact-business-content .social-section{grid-column:1!important}.mode-compact .review-actions,.mode-compact .recommend-section .business-action-row,.mode-compact .public-form-grid,.mode-compact .contact-shell{grid-template-columns:1fr!important}.theme-choice-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:480px){.theme-choice-grid{grid-template-columns:1fr!important}.mode-full .public-gallery,.mode-full.design-showcase .public-gallery{grid-template-columns:1fr!important;grid-auto-rows:auto!important}.mode-full .public-gallery figure:first-child{grid-column:auto!important}.mode-full .public-gallery img,.mode-full .public-gallery figure:first-child img{min-height:240px!important}.mode-full .key-fact-grid{grid-template-columns:1fr}}

/* R6 0.6.6 — /start landing page rebuilt as a finished marketing page. */
.marketing-minimal-header .public-sales-header{background:#0d3a36;border-color:#214d48;color:#fff}
.marketing-minimal-header .public-sales-header .public-wordmark,.marketing-minimal-header .public-sales-header .platform-wordmark-text{color:#fff}
.marketing-minimal-header .public-sales-header .theme-toggle,.marketing-minimal-header .public-sales-header .button-secondary{border-color:rgba(255,255,255,.62);color:#fff;background:transparent}
.marketing-minimal-header .public-sales-header .theme-toggle:hover,.marketing-minimal-header .public-sales-header .button-secondary:hover{background:#fff;color:#123a36}
.marketing-minimal-header .public-main{padding-top:0}
.rr-start-v4{--start-green:#0d3a36;--start-green-2:#164c47;--start-gold:#d1a53d;--start-ink:#12231f;--start-paper:#f3f6f4;--start-line:#d5ded9;--start-muted:#60716b;max-width:1540px;margin:0 auto;color:var(--start-ink)}
.rr-start-v4 *{box-sizing:border-box}
.rr-start-hero{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:660px;background:#fff;border-left:1px solid var(--start-line);border-right:1px solid var(--start-line);border-bottom:1px solid var(--start-line)}
.rr-start-hero-copy{padding:88px 74px 72px;display:flex;flex-direction:column;justify-content:center}
.rr-start-kicker{margin:0 0 16px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;line-height:1.3;font-weight:800;color:#2e5c56}
.rr-start-hero h1{margin:0;max-width:11.6ch;font-size:clamp(3.5rem,5.15vw,5.75rem);line-height:.93;letter-spacing:-.062em;font-weight:850;color:#102520}
.rr-start-lead{max-width:610px;margin:28px 0 0;color:#52655f;font-size:1.13rem;line-height:1.6}
.rr-start-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:30px 0 0;padding-top:24px;border-top:1px solid var(--start-line);font-size:.92rem;font-weight:700;color:#234a44}
.rr-start-commercial{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:26px;font-size:.86rem;color:#50635d}
.rr-start-commercial strong{font-size:.95rem;color:#142b26}.rr-start-commercial span:not(:last-child)::after{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#9aa9a4;margin-left:18px;vertical-align:middle}
.rr-start-hero-visual{position:relative;min-height:660px;overflow:hidden;background:#d9e1dd}
.rr-start-hero-visual>img{width:100%;height:100%;object-fit:cover;display:block}
.rr-start-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,58,54,.05),transparent 38%,rgba(13,58,54,.08));pointer-events:none}
.rr-start-floating-card{position:absolute;left:34px;bottom:34px;z-index:2;width:min(430px,calc(100% - 68px));display:grid;grid-template-columns:48px 1fr;gap:10px 14px;padding:17px 18px;background:rgba(255,255,255,.96);border:1px solid rgba(13,58,54,.2);box-shadow:0 18px 45px rgba(10,35,31,.2);backdrop-filter:blur(5px)}
.rr-start-avatar{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:5px;background:var(--start-green);color:#fff;font-weight:900;font-size:1.2rem}
.rr-start-floating-card strong,.rr-start-floating-card span,.rr-start-floating-card b,.rr-start-floating-card small{display:block}.rr-start-floating-card strong{font-size:1rem}.rr-start-floating-card span{font-size:.78rem;color:#66756f;margin-top:2px}.rr-start-floating-card b{font-size:.78rem;color:#b37b00;margin-top:4px}.rr-start-floating-card small{grid-column:2;color:#687872;font-size:.7rem}
.rr-start-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center;margin:0;padding:52px 74px;background:#eaf0ed;border:1px solid var(--start-line);border-top:0}
.rr-start-preview-intro h2{font-size:clamp(2rem,3.1vw,3.3rem);line-height:.98;letter-spacing:-.045em;margin:0 0 16px;max-width:12ch}.rr-start-preview-intro p:last-child{margin:0;max-width:560px;color:#5a6c66;line-height:1.55}
.rr-start-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:25px;background:#fff;border:1px solid #c8d3ce;box-shadow:0 12px 32px rgba(30,65,58,.08)}
.rr-start-preview-form label span{display:block;margin-bottom:7px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#425c55}.rr-start-preview-form input{width:100%;height:52px;border:1px solid #9eafa8;background:#fff;padding:0 14px;font:inherit;color:#12231f}.rr-start-preview-form .button{height:52px;white-space:nowrap}.rr-start-preview-form small{grid-column:1/-1;color:#6a7b75;font-size:.74rem}
.rr-start-product-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-left:1px solid var(--start-line);border-right:1px solid var(--start-line)}
.rr-start-product-card{padding:46px 34px 38px;min-height:510px;border-right:1px solid var(--start-line)}.rr-start-product-card:last-child{border-right:0}
.rr-start-product-head{display:flex;gap:15px;align-items:flex-start}.rr-start-number{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--start-green);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}.rr-start-product-head p{margin:1px 0 5px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:#53716a}.rr-start-product-head h2{margin:0;font-size:1.65rem;line-height:1.08;letter-spacing:-.035em}.rr-start-product-card>p{margin:21px 0;color:#62716d;line-height:1.55;min-height:74px}
.rr-start-mini-list,.rr-start-reward-demo{border:1px solid #d3ddd8;background:#fbfcfb}.rr-start-mini-list span,.rr-start-reward-demo span{min-height:42px;padding:10px 12px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #dde4e1;font-size:.78rem}.rr-start-mini-list span:last-child,.rr-start-reward-demo span:last-child{border-bottom:0}.rr-start-mini-list i{width:18px;text-align:center;font-style:normal;font-weight:900}.rr-start-mini-list b{margin-left:auto;color:#15604f;font-size:.72rem}.rr-start-reward-demo b{margin-left:auto;font-size:.88rem;color:#12231f}
.rr-start-link-demo{display:grid;grid-template-columns:1fr auto;border:1px solid #d3ddd8;background:#fbfcfb}.rr-start-link-demo small{grid-column:1/-1;padding:12px 12px 5px;color:#66756f}.rr-start-link-demo code{padding:12px;background:#eef3f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-start-link-demo button{border:0;background:var(--start-green);color:#fff;padding:0 18px;font-weight:800}.rr-start-link-demo div{grid-column:1/-1;display:flex;gap:16px;padding:12px;font-size:.7rem;font-weight:800;color:#31594f}
.rr-start-proof{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;padding:76px 74px;background:var(--start-green);color:#fff}
.rr-start-proof .rr-start-kicker{color:#a9cbc2}.rr-start-proof-copy h2{font-size:clamp(2.6rem,4.25vw,4.75rem);line-height:.94;letter-spacing:-.055em;max-width:9.5ch;margin:0 0 22px}.rr-start-proof-copy>p:not(.rr-start-kicker){color:#d4e3df;line-height:1.6;max-width:570px}.rr-start-proof .button-secondary{color:#fff;border-color:rgba(255,255,255,.6);background:transparent}.rr-start-proof figure{margin:0;padding:15px;background:#fff;border:1px solid rgba(255,255,255,.26);box-shadow:0 22px 50px rgba(0,0,0,.24)}.rr-start-proof figure img{display:block;width:100%;height:auto}.rr-start-proof-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:28px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.rr-start-proof-stats span{padding:18px 15px 18px 0;color:#bcd3cd;font-size:.72rem}.rr-start-proof-stats strong{display:block;color:#fff;font-size:1.45rem;margin-bottom:3px}
.rr-start-site-proof{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;padding:84px 74px;background:#f6f4ee;border-left:1px solid var(--start-line);border-right:1px solid var(--start-line)}
.rr-start-site-photos{position:relative;min-height:530px}.rr-start-site-photos img{position:absolute;display:block;object-fit:cover;box-shadow:0 18px 40px rgba(45,53,48,.15)}.rr-start-site-main{left:0;top:0;width:72%;height:470px}.rr-start-site-secondary{right:0;bottom:0;width:46%;height:275px;border:10px solid #f6f4ee}.rr-start-site-copy h2{font-size:clamp(2.8rem,4.7vw,5rem);line-height:.94;letter-spacing:-.06em;max-width:10ch;margin:0 0 24px}.rr-start-site-copy>p:not(.rr-start-kicker){color:#586761;line-height:1.65;font-size:1.03rem}.rr-start-site-copy ul{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:12px}.rr-start-site-copy li{position:relative;padding-left:24px;font-weight:700;color:#294b43}.rr-start-site-copy li::before{content:"◇";position:absolute;left:0;color:#a47817}
.rr-start-final{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:46px 74px;background:#fff;border:1px solid var(--start-line);border-top:0}.rr-start-final h2{margin:0;font-size:3.1rem;letter-spacing:-.045em}.rr-start-final h2 span{font-size:1rem;font-weight:700;letter-spacing:0;margin-left:5px}.rr-start-final p:not(.rr-start-kicker){margin:6px 0 0;color:#60716b}.rr-start-final .button{min-width:210px;min-height:54px;display:inline-flex;align-items:center;justify-content:center}
html[data-theme="dark"] .rr-start-v4{--start-ink:#e9f1ee;--start-paper:#15211e;--start-line:#34443f;--start-muted:#b1c0bb}
html[data-theme="dark"] .rr-start-hero,html[data-theme="dark"] .rr-start-product-grid,html[data-theme="dark"] .rr-start-final{background:#111c19}html[data-theme="dark"] .rr-start-hero h1,html[data-theme="dark"] .rr-start-product-head h2,html[data-theme="dark"] .rr-start-final h2{color:#f3f7f5}html[data-theme="dark"] .rr-start-lead,html[data-theme="dark"] .rr-start-product-card>p,html[data-theme="dark"] .rr-start-final p:not(.rr-start-kicker){color:#b9c7c2}html[data-theme="dark"] .rr-start-preview{background:#182723}html[data-theme="dark"] .rr-start-preview-form,html[data-theme="dark"] .rr-start-mini-list,html[data-theme="dark"] .rr-start-reward-demo,html[data-theme="dark"] .rr-start-link-demo{background:#101a17;border-color:#3b4d47}html[data-theme="dark"] .rr-start-preview-form input{background:#0e1815;border-color:#52665f;color:#fff}html[data-theme="dark"] .rr-start-site-proof{background:#211f1a}html[data-theme="dark"] .rr-start-site-secondary{border-color:#211f1a}html[data-theme="dark"] .rr-start-site-copy>p:not(.rr-start-kicker){color:#c1c8c4}html[data-theme="dark"] .rr-start-site-copy li{color:#e2e9e5}
@media(max-width:1050px){.rr-start-hero{grid-template-columns:1fr;min-height:0}.rr-start-hero-copy{padding:58px 42px}.rr-start-hero h1{max-width:12ch}.rr-start-hero-visual{min-height:500px}.rr-start-preview{grid-template-columns:1fr;padding:44px 42px}.rr-start-product-grid{grid-template-columns:1fr}.rr-start-product-card{border-right:0;border-bottom:1px solid var(--start-line);min-height:0}.rr-start-proof,.rr-start-site-proof{grid-template-columns:1fr;padding:58px 42px}.rr-start-site-photos{min-height:500px}.rr-start-final{padding:38px 42px}}
@media(max-width:720px){.rr-start-hero-copy{padding:42px 24px}.rr-start-hero h1{font-size:clamp(3rem,15vw,4.4rem)}.rr-start-checks{grid-template-columns:1fr}.rr-start-commercial{display:grid}.rr-start-commercial span:not(:last-child)::after{display:none}.rr-start-hero-visual{min-height:400px}.rr-start-floating-card{left:18px;bottom:18px;width:calc(100% - 36px)}.rr-start-preview{padding:36px 24px;gap:26px}.rr-start-preview-form{grid-template-columns:1fr;padding:18px}.rr-start-preview-form small{grid-column:auto}.rr-start-product-card{padding:36px 24px}.rr-start-proof,.rr-start-site-proof{padding:46px 24px}.rr-start-proof-stats{grid-template-columns:1fr}.rr-start-proof-stats span{border-bottom:1px solid rgba(255,255,255,.18)}.rr-start-site-photos{min-height:390px}.rr-start-site-main{width:82%;height:340px}.rr-start-site-secondary{width:50%;height:190px;border-width:6px}.rr-start-final{display:grid;padding:34px 24px}.rr-start-final .button{width:100%}}

/* R6 0.6.6 — attractive fallback hero when a business has not uploaded a cover photograph. */
.identity-no-cover-art{position:relative;min-height:420px;overflow:hidden;background:linear-gradient(145deg,var(--client-brand,#174b45) 0%,#163a35 72%);color:#fff;display:grid;place-items:center;isolation:isolate}
.identity-no-cover-art::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-90px;top:-110px;background:var(--client-secondary,#d1a53d);opacity:.9;z-index:-1}.identity-no-cover-art::after{content:"";position:absolute;width:250px;height:250px;border:1px solid rgba(255,255,255,.28);border-radius:50%;left:-80px;bottom:-110px;z-index:-1}
.identity-no-cover-art span{font-size:clamp(7rem,13vw,12rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:#fff;text-shadow:0 8px 30px rgba(0,0,0,.12)}
.identity-no-cover-art i{position:absolute;height:1px;background:rgba(255,255,255,.4);transform:rotate(-28deg);transform-origin:left center}.identity-no-cover-art i:nth-of-type(1){width:55%;left:10%;top:24%}.identity-no-cover-art i:nth-of-type(2){width:38%;right:6%;bottom:24%}.identity-no-cover-art i:nth-of-type(3){width:28%;right:14%;top:48%}
.mode-full .identity-grid:has(.identity-no-cover-art),.mode-compact .identity-grid:has(.identity-no-cover-art){grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr)!important;align-items:stretch!important}
.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid:has(.identity-no-cover-art){max-width:1180px!important;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr)!important}
.mode-compact .identity-no-cover-art{min-height:340px;border-radius:18px;box-shadow:0 18px 42px rgba(33,44,40,.12)}
.mode-full.design-established .identity-no-cover-art{background:linear-gradient(145deg,#173d35,#0d2924)}.mode-full.design-studio .identity-no-cover-art{background:linear-gradient(145deg,#6b4049,#3f2830)}.mode-full.design-classic .identity-no-cover-art{background:linear-gradient(145deg,#1a4c49,#102f2d)}.mode-full.design-showcase .identity-no-cover-art{background:linear-gradient(145deg,#101b18,#28453e)}
@media(max-width:760px){.mode-full .identity-grid:has(.identity-no-cover-art),.mode-compact .identity-grid:has(.identity-no-cover-art),.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid:has(.identity-no-cover-art){grid-template-columns:1fr!important}.identity-no-cover-art{min-height:260px!important;order:-1;border-radius:0!important}.mode-compact .identity-no-cover-art{border-radius:12px!important}}
.rr-start-proof-copy h2{color:#fff!important}.rr-start-proof-copy .rr-start-kicker{color:#a9cbc2!important}
/* R6 0.6.6 — final dark-theme contrast sweep for customer Business Pages. */
html[data-theme="dark"] .mode-full .google-trust-inline{background:#172520!important;color:#f4f8f6!important;border-color:#52635d!important}
html[data-theme="dark"] .mode-full .google-trust-inline strong,html[data-theme="dark"] .mode-full .google-trust-inline span{color:#f4f8f6!important}
html[data-theme="dark"] .mode-full .trust-section .trust-intro{color:#c4d0cc!important}
html[data-theme="dark"] .mode-full .key-fact span{color:#b8c5c0!important}
html[data-theme="dark"] .business-public-footer,html[data-theme="dark"] .mode-compact .business-public-footer{background:#101a17!important;color:#bdcac5!important;border-color:#35443f!important}
html[data-theme="dark"] .business-identity:not(.hero-layout-background) .business-logo,html[data-theme="dark"] .business-public-body:not(.hero-layout-background) .business-logo{background:#fff!important;padding:7px!important;border-radius:6px!important;box-sizing:content-box!important}
html[data-theme="dark"] .business-site-brand img{background:#fff!important;padding:3px!important;border-radius:3px!important}

/* R6 0.6.7 — stop width regressions, guarantee readable public themes, and replace the marketing settings wall with a page editor. */

/* /start is a real wide marketing page, not a narrow card inside the global 1320px shell. */
.site-body:has(.rr-start-v4) .public-main{padding:0 0 3.5rem!important;background:#f2f6f4!important}
.site-body:has(.rr-start-v4) .public-main>.content-wrap.public-wide{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.site-body:has(.rr-start-v4) .public-sales-header .public-header-inner,
.site-body:has(.rr-start-v4) .site-footer>.content-wrap.public-wide{width:min(calc(100% - 56px),1760px)!important;max-width:1760px!important}
.rr-start-v4{width:min(calc(100vw - 56px),1760px)!important;max-width:none!important;margin:0 auto!important;transform:none!important}
.rr-start-hero{grid-template-columns:minmax(0,.9fr) minmax(600px,1.1fr)!important;min-height:690px!important}
.rr-start-hero-copy{padding:clamp(64px,7vw,118px)!important}
.rr-start-hero h1{font-size:clamp(4.4rem,6.2vw,7.4rem)!important;max-width:9.4ch!important;line-height:.91!important;letter-spacing:-.066em!important}
.rr-start-lead{font-size:clamp(1.08rem,1.35vw,1.35rem)!important;max-width:49ch!important;line-height:1.62!important}
.rr-start-hero-visual{min-height:690px!important}
.rr-start-hero-visual>img{height:100%!important;min-height:690px!important;object-fit:cover!important;object-position:center 42%!important}
.rr-start-floating-card{width:min(420px,calc(100% - 54px))!important;padding:18px!important;bottom:28px!important;left:28px!important;box-shadow:0 22px 55px rgba(12,35,30,.2)!important}
.rr-start-preview{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr)!important;gap:clamp(50px,7vw,110px)!important;padding:clamp(56px,6vw,92px) clamp(56px,7vw,110px)!important}
.rr-start-preview-intro h2{font-size:clamp(2.8rem,4.1vw,4.7rem)!important;max-width:10ch!important;line-height:.94!important}
.rr-start-preview-form{padding:clamp(22px,3vw,36px)!important;box-shadow:0 18px 45px rgba(19,48,41,.08)!important}
.rr-start-product-card{padding:clamp(38px,4vw,64px)!important}
.rr-start-product-head h2{font-size:clamp(1.8rem,2.35vw,2.7rem)!important;line-height:1.03!important}
.rr-start-product-card>p{font-size:1rem!important;line-height:1.62!important;max-width:48ch!important}
.rr-start-proof{padding:clamp(74px,7vw,118px)!important;gap:clamp(55px,7vw,120px)!important}
.rr-start-proof-copy h2{font-size:clamp(3.7rem,5.5vw,6.3rem)!important;max-width:8.7ch!important}
.rr-start-site-proof{padding:clamp(80px,7vw,125px)!important;gap:clamp(70px,8vw,135px)!important}
.rr-start-site-photos{min-height:620px!important}.rr-start-site-main{height:560px!important}.rr-start-site-secondary{height:310px!important}
.rr-start-site-copy h2{font-size:clamp(3.6rem,5.4vw,6rem)!important;max-width:9.3ch!important}
.rr-start-final{padding:52px clamp(58px,7vw,110px)!important}

/* Compact advocacy pages stay broad on desktop. The old 940/1180 caps are intentionally overridden. */
.mode-compact.business-public-body{--public-max:1480px!important;background:#eef3f0!important}
.mode-compact .identity-grid,
.mode-compact .compact-business-content,
.mode-compact .compact-identity .business-public-wrap{width:min(calc(100% - 64px),1480px)!important;max-width:1480px!important}
.mode-compact .identity-grid{grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr)!important;gap:clamp(48px,6vw,96px)!important;padding-block:clamp(58px,6vw,92px)!important}
.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid{grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr)!important;max-width:1480px!important;margin-inline:auto!important}
.mode-compact .identity-no-cover-art{min-height:430px!important}
.mode-compact .identity-cover,.mode-compact .identity-cover img{height:470px!important;min-height:470px!important}
.mode-compact .identity-copy{max-width:780px!important}
.mode-compact .business-identity h1{font-size:clamp(3.8rem,5.6vw,6.2rem)!important;max-width:12ch!important}
.mode-compact .business-lead{font-size:1.08rem!important;max-width:58ch!important}
.mode-compact .compact-business-content{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)!important;gap:24px!important;padding:28px 0 58px!important}
.mode-compact .compact-business-content>.business-section{padding:clamp(32px,3.2vw,48px)!important}
.mode-compact .compact-business-content h2{font-size:clamp(2.35rem,3.3vw,3.6rem)!important}
.mode-compact .compact-business-content p{font-size:1rem!important;line-height:1.62!important}
.mode-compact .contact-shell{grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr)!important;gap:clamp(44px,6vw,90px)!important}
.mode-compact .contact-section .enquiry-box{padding:clamp(28px,3vw,42px)!important}

/* Full sites use the logo once: in the navigation. Compact sites, which have no site nav, retain it in the hero. */
.mode-full .identity-copy>.business-logo{display:none!important}

/* Light-theme contrast is explicit. Theme colours can no longer leave pale bands with white copy. */
html[data-theme="light"] .mode-full .business-content>.business-section{color:#15231f!important}
html[data-theme="light"] .mode-full .business-content>.business-section h2,
html[data-theme="light"] .mode-full .business-content>.business-section h3{color:#15231f}
html[data-theme="light"] .mode-full .business-content>.business-section p{color:#52605b}
html[data-theme="light"] .mode-full .gallery-section{color:#fff!important}
html[data-theme="light"] .mode-full .gallery-section h2,
html[data-theme="light"] .mode-full .gallery-section h3,
html[data-theme="light"] .mode-full .gallery-section .section-kicker{color:#fff!important}
html[data-theme="light"] .mode-full.design-established .reviews-section{background:#2e3b36!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-workshop .reviews-section{background:#18332e!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-studio .reviews-section{background:#704d55!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-classic .reviews-section{background:#19433e!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-established .reviews-section .section-kicker,
html[data-theme="light"] .mode-full.design-established .reviews-section h2,
html[data-theme="light"] .mode-full.design-established .reviews-section p,
html[data-theme="light"] .mode-full.design-workshop .reviews-section .section-kicker,
html[data-theme="light"] .mode-full.design-workshop .reviews-section h2,
html[data-theme="light"] .mode-full.design-workshop .reviews-section p,
html[data-theme="light"] .mode-full.design-studio .reviews-section .section-kicker,
html[data-theme="light"] .mode-full.design-studio .reviews-section h2,
html[data-theme="light"] .mode-full.design-studio .reviews-section p,
html[data-theme="light"] .mode-full.design-classic .reviews-section .section-kicker,
html[data-theme="light"] .mode-full.design-classic .reviews-section h2,
html[data-theme="light"] .mode-full.design-classic .reviews-section p{color:#fff!important}
html[data-theme="light"] .mode-full.design-showcase .reviews-section,
html[data-theme="light"] .mode-full.design-showcase .reviews-section .section-kicker,
html[data-theme="light"] .mode-full.design-showcase .reviews-section h2,
html[data-theme="light"] .mode-full.design-showcase .reviews-section p{color:#14211f!important}
html[data-theme="light"] .mode-compact .compact-business-content>.business-section,
html[data-theme="light"] .mode-compact .compact-business-content>.business-section h2,
html[data-theme="light"] .mode-compact .compact-business-content>.business-section h3,
html[data-theme="light"] .mode-compact .compact-business-content>.business-section p{color:#15231f!important}
html[data-theme="light"] .mode-compact .compact-business-content .section-kicker{color:#315e54!important}

/* Marketing-site administration is a page editor, not a database-style field dump. */
.marketing-editor-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start;margin-top:18px}
.marketing-editor-nav{position:sticky;top:18px;background:var(--surface);border:1px solid var(--border);min-width:0}
.marketing-editor-nav-head{padding:18px;border-bottom:1px solid var(--border);background:var(--surface-muted)}
.marketing-editor-nav-head strong,.marketing-editor-nav-head span{display:block}.marketing-editor-nav-head strong{font-size:1.05rem}.marketing-editor-nav-head span{margin-top:3px;color:var(--muted);font-size:.82rem}
.marketing-editor-nav>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border-soft);color:var(--text);text-decoration:none;font-weight:750}.marketing-editor-nav>a:last-child{border-bottom:0}.marketing-editor-nav>a:hover{background:var(--surface-muted)}.marketing-editor-nav>a.active{background:color-mix(in srgb,var(--brand) 10%,var(--surface));box-shadow:inset 4px 0 0 var(--brand)}.marketing-editor-nav>a b{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand)}
.marketing-editor-main{min-width:0}.marketing-editor-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px;background:var(--surface);border:1px solid var(--border);margin-bottom:16px}.marketing-editor-toolbar .eyebrow,.marketing-images-heading .eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900;color:var(--brand)}.marketing-editor-toolbar h2{font-size:2rem;margin:0 0 5px}.marketing-editor-toolbar p:last-child{margin:0;color:var(--muted)}
.marketing-section-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.marketing-section-cards.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-section-card{background:var(--surface);border:1px solid var(--border);min-width:0}.marketing-section-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:var(--surface-muted);border-bottom:1px solid var(--border)}.marketing-section-card-head>span{font-weight:850}.marketing-section-card-head small{color:var(--muted)}.marketing-section-fields{display:grid;gap:15px;padding:18px}.marketing-section-fields label{margin:0}.marketing-section-fields label>span{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px}.marketing-section-fields input,.marketing-section-fields textarea,.marketing-section-fields select{width:100%;max-width:none;margin:0;background:var(--surface)}.marketing-section-fields textarea{resize:vertical;min-height:92px;line-height:1.45}
.marketing-editor-savebar{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:13px 16px;background:color-mix(in srgb,var(--surface) 94%,var(--brand));border:1px solid var(--border);box-shadow:0 -8px 22px rgba(20,35,31,.06)}.marketing-editor-savebar span{color:var(--muted);font-size:.82rem}
.marketing-images-editor{margin-top:24px;background:var(--surface);border:1px solid var(--border);padding:22px}.marketing-images-heading h3{font-size:1.55rem;margin:0 0 4px}.marketing-images-heading p:last-child{margin:0 0 18px;color:var(--muted)}.marketing-image-grid-editor{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.marketing-image-grid-editor .marketing-image-card{display:grid;grid-template-columns:minmax(180px,.78fr) minmax(260px,1.22fr);grid-template-areas:"copy preview" "upload preview";gap:12px 16px;align-items:start;padding:16px}.marketing-image-card-copy{grid-area:copy}.marketing-image-card-copy strong{font-size:1rem}.marketing-image-card-copy p{margin:.35rem 0 0;color:var(--muted);font-size:.82rem}.marketing-image-grid-editor .marketing-image-preview{grid-area:preview}.marketing-image-grid-editor .marketing-image-preview img{display:block;width:100%;height:210px;object-fit:cover;border:1px solid var(--border)}.marketing-image-grid-editor .file-upload-field{grid-area:upload}
.marketing-image-grid-editor .marketing-image-preview-phone{display:flex;justify-content:center;align-items:flex-start;min-height:300px;padding:12px;background:var(--surface-muted);border:1px solid var(--border)}.marketing-image-grid-editor .marketing-image-preview-phone img{width:auto!important;max-width:180px!important;height:300px!important;aspect-ratio:9/19.35;object-fit:cover!important;object-position:top center;border:5px solid #14211f!important;border-radius:26px!important;background:#fff!important;box-shadow:0 12px 28px rgba(20,35,31,.16)}
.marketing-advanced-panel{margin-top:18px;background:var(--surface);border:1px solid var(--border)}.marketing-advanced-panel>summary{cursor:pointer;padding:16px 18px;font-weight:850;background:var(--surface-muted)}.competitor-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}.competitor-editor-grid section{border:1px solid var(--border);padding:16px}.competitor-editor-grid h3{margin:0 0 14px}.competitor-editor-grid label{display:block;margin:0 0 12px}.competitor-editor-grid label span{display:block;font-size:.75rem;font-weight:800;margin-bottom:5px}.competitor-editor-grid input{width:100%;max-width:none}

@media(max-width:1100px){
  .rr-start-hero{grid-template-columns:1fr!important}.rr-start-hero-visual,.rr-start-hero-visual>img{min-height:520px!important;height:520px!important}.rr-start-preview{grid-template-columns:1fr!important}.rr-start-product-grid{grid-template-columns:1fr!important}.rr-start-proof,.rr-start-site-proof{grid-template-columns:1fr!important}
  .mode-compact .identity-grid,.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid{grid-template-columns:1fr 1fr!important}.mode-compact .compact-business-content{grid-template-columns:1fr!important}.mode-compact .compact-business-content .reviews-section,.mode-compact .compact-business-content .recommend-section{grid-column:1!important}
  .marketing-editor-shell{grid-template-columns:1fr}.marketing-editor-nav{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.marketing-editor-nav-head{grid-column:1/-1}.marketing-editor-nav>a{border-right:1px solid var(--border-soft)}.marketing-section-cards,.marketing-section-cards.two-column,.competitor-editor-grid{grid-template-columns:1fr}.marketing-image-grid-editor{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .site-body:has(.rr-start-v4) .public-sales-header .public-header-inner,.site-body:has(.rr-start-v4) .site-footer>.content-wrap.public-wide{width:min(calc(100% - 28px),1760px)!important}.rr-start-v4{width:100%!important}.rr-start-hero-copy{padding:44px 24px!important}.rr-start-hero h1{font-size:clamp(3.25rem,14vw,5rem)!important}.rr-start-hero-visual,.rr-start-hero-visual>img{min-height:390px!important;height:390px!important}.rr-start-preview,.rr-start-proof,.rr-start-site-proof{padding:44px 24px!important}.rr-start-site-photos{min-height:420px!important}.rr-start-site-main{height:360px!important}.rr-start-site-secondary{height:190px!important}.rr-start-final{padding:36px 24px!important}
  .mode-compact .identity-grid,.mode-compact .compact-business-content,.mode-compact .compact-identity .business-public-wrap{width:min(calc(100% - 28px),1480px)!important}.mode-compact .identity-grid,.mode-compact .business-identity:not(:has(.identity-cover)) .identity-grid{grid-template-columns:1fr!important}.mode-compact .identity-cover,.mode-compact .identity-cover img{height:320px!important;min-height:320px!important}.mode-compact .business-identity h1{font-size:clamp(3rem,13vw,4.8rem)!important}.mode-compact .contact-shell{grid-template-columns:1fr!important}
  .marketing-editor-nav{grid-template-columns:1fr 1fr}.marketing-editor-toolbar{flex-direction:column}.marketing-section-cards{grid-template-columns:1fr}.marketing-image-grid-editor .marketing-image-card{grid-template-columns:1fr;grid-template-areas:"copy" "preview" "upload"}.marketing-image-grid-editor .marketing-image-preview img{height:190px}.marketing-image-grid-editor .marketing-image-preview-phone img{height:300px!important}.marketing-editor-savebar{position:static;align-items:flex-start;flex-direction:column}.marketing-editor-savebar .button{width:100%}
}
/* 0.6.7 QA catch: gallery backgrounds must win over the full-width section band rule, otherwise white gallery headings can land on a pale band. */
html[data-theme="light"] .mode-full .business-content>.gallery-section{background:#172723!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-established .business-content>.gallery-section{background:#24322f!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.gallery-section{background:#132824!important}
html[data-theme="light"] .mode-full.design-studio .business-content>.gallery-section{background:#6d4b53!important}
html[data-theme="light"] .mode-full.design-classic .business-content>.gallery-section{background:#18302c!important}
html[data-theme="light"] .mode-full.design-showcase .business-content>.gallery-section{background:#14211f!important}
/* 0.6.7 contrast rules use section-level specificity so alternating-band rules cannot override them. */
html[data-theme="light"] .mode-full.design-established .business-content>.business-section.reviews-section{background:#2e3b36!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.business-section.reviews-section{background:#18332e!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-studio .business-content>.business-section.reviews-section{background:#704d55!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-classic .business-content>.business-section.reviews-section{background:#19433e!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-showcase .business-content>.business-section.reviews-section{background:#fff!important;color:#14211f!important}
html[data-theme="light"] .mode-full.design-showcase .business-content>.business-section.contact-section{background:#14211f!important;color:#fff!important}
html[data-theme="light"] .mode-full .business-content>.business-section.gallery-section{background:#172723!important;color:#fff!important}
html[data-theme="light"] .mode-full.design-established .business-content>.business-section.gallery-section{background:#24322f!important}
html[data-theme="light"] .mode-full.design-workshop .business-content>.business-section.gallery-section{background:#132824!important}
html[data-theme="light"] .mode-full.design-studio .business-content>.business-section.gallery-section{background:#6d4b53!important}
html[data-theme="light"] .mode-full.design-classic .business-content>.business-section.gallery-section{background:#18302c!important}
html[data-theme="light"] .mode-full.design-showcase .business-content>.business-section.gallery-section{background:#14211f!important}

/* =====================================================================
   R6.0.6.8 — Public marketing system rebuild
   Completely separate visual system from the retired mock-* / rr3-* UI.
   ===================================================================== */
:root{
  --mk8-green:#0d473f;
  --mk8-green-2:#123f39;
  --mk8-ink:#10231f;
  --mk8-muted:#53645f;
  --mk8-gold:#d7ad55;
  --mk8-gold-deep:#b98b31;
  --mk8-paper:#f7f5ef;
  --mk8-mist:#e9f0ed;
  --mk8-line:#cbd7d2;
  --mk8-white:#fff;
}
.mk8-site{background:var(--mk8-paper)!important;color:var(--mk8-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.55}
.mk8-main{padding:0!important;background:var(--mk8-paper)!important}
.mk8-page-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.mk8-page-shell>.notice{max-width:1480px;margin:20px auto;padding-inline:32px}
.mk8-header{position:relative!important;background:var(--mk8-green)!important;border:0!important;color:#fff!important;box-shadow:none!important;min-height:72px}
.mk8-header-inner{width:min(1560px,calc(100% - 48px))!important;max-width:none!important;margin:0 auto!important;min-height:72px!important;padding:0!important;gap:28px}
.mk8-wordmark,.mk8-wordmark:visited,.mk8-header a{color:#fff!important}
.mk8-wordmark .platform-wordmark-text{font-size:20px;font-weight:900;letter-spacing:-.02em;color:#fff!important}
.mk8-header .platform-logo{max-height:40px;width:auto}
.mk8-header .platform-logo-light{display:block!important}.mk8-header .platform-logo-dark{display:none!important}
html[data-theme="dark"] .mk8-header .platform-logo-light{display:block!important}.mk8-header .platform-logo-dark{display:none!important}
.mk8-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.mk8-nav a{font-size:14px;font-weight:800;text-decoration:none;opacity:.94;padding:26px 0 23px;border-bottom:3px solid transparent}
.mk8-nav a:hover,.mk8-nav a:focus-visible{opacity:1;border-bottom-color:var(--mk8-gold)}
.mk8-header-actions{display:flex;align-items:center;gap:10px}
.mk8-header .theme-toggle,.mk8-header .button-secondary{background:transparent!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.mk8-header .theme-toggle svg{fill:currentColor;stroke:currentColor}
.mk8-contact-button{display:inline-flex;align-items:center;justify-content:center;background:var(--mk8-gold)!important;color:#12251f!important;border:1px solid var(--mk8-gold)!important;border-radius:2px!important;padding:10px 17px!important;font-weight:900!important;text-decoration:none!important}
.mk8-contact-button:hover{background:#e1bb68!important}
.mk8-footer{background:#082f2a!important;color:#fff!important;border:0!important;padding:54px 0 36px!important}
.mk8-footer .marketing-footer{width:min(1480px,calc(100% - 64px))!important;max-width:none!important;margin:auto!important;display:grid!important;grid-template-columns:1.1fr 2fr auto;gap:42px;align-items:start}
.mk8-footer strong{font-size:20px}.mk8-footer p{color:#c6d8d3;margin:.35rem 0 0;font-size:14px}.mk8-footer nav{display:flex!important;flex-wrap:wrap;gap:24px}.mk8-footer a{color:#fff!important;font-weight:700;text-decoration:none}.mk8-footer a:hover{text-decoration:underline}.mk8-copyright{white-space:nowrap}
.mk8-eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.16em;font-size:12px!important;line-height:1.35!important;font-weight:900!important;color:#1d655a!important}.mk8-eyebrow-gold{color:var(--mk8-gold)!important}
.mk8-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:3px;border:1px solid transparent;text-decoration:none!important;font-size:15px!important;font-weight:900!important;line-height:1.2!important;cursor:pointer}
.mk8-btn-dark{background:var(--mk8-green);color:#fff!important;border-color:var(--mk8-green)}.mk8-btn-gold{background:var(--mk8-gold);color:#15241f!important;border-color:var(--mk8-gold)}.mk8-btn-outline{background:transparent;color:var(--mk8-green)!important;border-color:var(--mk8-green)}.mk8-btn-light{background:#fff;color:var(--mk8-green)!important}.mk8-btn-light-outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.65)}
.mk8-btn:hover{transform:translateY(-1px)}.mk8-text-link{color:var(--mk8-green)!important;font-weight:900;text-underline-offset:4px}
.mk8-checks{list-style:none;margin:24px 0;padding:0;display:grid;gap:11px}.mk8-checks li{position:relative;padding-left:24px}.mk8-checks li:before{content:"✓";position:absolute;left:0;color:#1f7a63;font-weight:900}

/* Homepage */
.mk8-home{background:var(--mk8-paper)}
.mk8-home-hero{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:.92fr 1.08fr;min-height:690px;background:#fff;border-left:1px solid var(--mk8-line);border-right:1px solid var(--mk8-line)}
.mk8-home-hero-copy{padding:84px 72px 66px;display:flex;flex-direction:column;justify-content:center}
.mk8-home-hero h1{margin:0;max-width:720px;font-size:clamp(54px,5.6vw,94px)!important;line-height:.94!important;letter-spacing:-.06em!important;color:var(--mk8-ink)!important;font-weight:900!important}
.mk8-hero-lead{font-size:21px!important;line-height:1.55!important;color:var(--mk8-muted)!important;max-width:680px;margin:26px 0 0!important}
.mk8-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.mk8-hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:42px 0 0;border-top:1px solid var(--mk8-line);padding-top:24px}.mk8-hero-facts div{padding-right:18px}.mk8-hero-facts dt{font-size:22px;font-weight:900;line-height:1.1}.mk8-hero-facts dd{margin:5px 0 0;color:var(--mk8-muted);font-size:13px}
.mk8-home-hero-media{position:relative;min-height:690px;overflow:hidden}.mk8-home-hero-media>img{width:100%;height:100%;object-fit:cover;display:block}.mk8-floating-proof{position:absolute;left:34px;bottom:34px;width:min(410px,calc(100% - 68px));background:#fff;padding:19px 22px;border-left:5px solid var(--mk8-gold);box-shadow:0 18px 50px rgba(7,37,32,.2)}.mk8-floating-proof span,.mk8-floating-proof small{display:block;color:var(--mk8-muted);font-size:12px}.mk8-floating-proof strong{display:block;font-size:20px;line-height:1.2;margin:4px 0}
.mk8-home-intro{width:min(1400px,calc(100% - 64px));margin:0 auto;padding:92px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end}.mk8-home-intro h2{margin:0;font-size:clamp(42px,4vw,68px)!important;line-height:1!important;letter-spacing:-.045em!important}.mk8-home-intro>p{font-size:21px!important;line-height:1.6!important;color:var(--mk8-muted)!important;margin:0 0 6px}
.mk8-feature-stage{max-width:1560px;margin:0 auto;background:#fff;border:1px solid var(--mk8-line);display:grid;grid-template-columns:repeat(3,1fr)}.mk8-feature-stage>article{padding:42px 38px 46px;min-height:500px;display:grid;grid-template-rows:auto 1fr auto;gap:25px}.mk8-feature-stage>article+article{border-left:1px solid var(--mk8-line)}.mk8-feature-stage h3{font-size:31px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0 0 14px!important}.mk8-feature-stage p{font-size:16px!important;color:var(--mk8-muted)!important;line-height:1.6!important}.mk8-number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mk8-green);color:#fff;font-size:12px;font-weight:900}
.mk8-ui-list{border:1px solid var(--mk8-line);background:#fff}.mk8-ui-list>div{display:grid;grid-template-columns:1fr auto;gap:14px;padding:13px 15px;border-bottom:1px solid #dfe7e3;font-size:13px}.mk8-ui-list>div:last-child{border-bottom:0}.mk8-ui-list b{color:#136451}.mk8-referral-demo{background:#edf2ef;border:1px solid var(--mk8-line);padding:18px}.mk8-referral-demo small{display:block;color:var(--mk8-muted);font-weight:700}.mk8-referral-demo code{display:block;background:#fff;border:1px solid #d5dfdb;padding:12px;margin:8px 0;font-size:13px}.mk8-referral-demo>div{display:flex;gap:8px;flex-wrap:wrap}.mk8-referral-demo>div span{background:#fff;border:1px solid #c9d5d0;padding:7px 9px;font-size:11px;font-weight:800}.mk8-reward-demo{border:1px solid var(--mk8-line);background:#fff}.mk8-reward-demo div{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--mk8-line);font-size:13px}.mk8-reward-demo div:last-child{border-bottom:0}.mk8-reward-demo strong{font-size:18px}
.mk8-proof-band{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:.82fr 1.18fr;background:var(--mk8-green);color:#fff}.mk8-proof-copy{padding:82px 68px}.mk8-proof-band h2{font-size:clamp(44px,4.4vw,72px)!important;line-height:.98!important;letter-spacing:-.05em!important;margin:0!important;color:#fff!important}.mk8-proof-band p:not(.mk8-eyebrow){font-size:19px!important;line-height:1.6!important;color:#d9e5e1!important;max-width:620px}.mk8-proof-band figure{margin:0;padding:54px}.mk8-proof-band figure img{width:100%;height:100%;min-height:480px;object-fit:cover;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.22)}.mk8-proof-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}.mk8-proof-metrics strong{display:block;font-size:34px;line-height:1}.mk8-proof-metrics span{display:block;font-size:12px;margin-top:6px;opacity:.78;text-transform:uppercase;letter-spacing:.08em}
.mk8-business-page-story{width:min(1400px,calc(100% - 64px));margin:0 auto;padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.mk8-business-page-story h2{font-size:clamp(44px,4.3vw,70px)!important;line-height:.98!important;letter-spacing:-.05em!important;margin:0!important}.mk8-business-page-story p:not(.mk8-eyebrow){font-size:19px!important;line-height:1.65!important;color:var(--mk8-muted)!important}.mk8-story-collage{position:relative;padding:0 80px 80px 0}.mk8-story-main{width:100%;height:560px;object-fit:cover}.mk8-story-small{position:absolute;width:44%;height:250px;right:0;bottom:0;object-fit:cover;border:10px solid var(--mk8-paper);box-shadow:0 18px 45px rgba(15,45,39,.18)}.mk8-inline-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.mk8-home-closing{max-width:1560px;margin:0 auto 0;display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;background:#efe6d5;padding:70px 72px}.mk8-home-closing h2{font-size:46px!important;line-height:1!important;margin:0 0 10px!important}.mk8-home-closing p:not(.mk8-eyebrow){font-size:18px!important;color:#4f5d58!important}.mk8-price-lock{display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:end}.mk8-price-lock strong{font-size:64px;line-height:.9;letter-spacing:-.05em}.mk8-price-lock span{font-weight:800}.mk8-price-lock .mk8-btn{grid-column:1/-1;margin-top:18px}

/* Campaign /start — deliberately distinct from homepage */
.mk8-campaign{background:#f4efe5}.mk8-campaign-hero{max-width:1640px;margin:0 auto;min-height:760px;background:#082f2a;display:grid;grid-template-columns:1.02fr .98fr;color:#fff;overflow:hidden}.mk8-campaign-copy{padding:90px 76px 82px;display:flex;flex-direction:column;justify-content:center}.mk8-campaign h1{font-size:clamp(58px,6vw,100px)!important;line-height:.92!important;letter-spacing:-.06em!important;margin:0!important;color:#fff!important;max-width:820px}.mk8-campaign-lead{font-size:20px!important;line-height:1.6!important;color:#d9e5e1!important;max-width:700px;margin:28px 0!important}.mk8-campaign-points{display:grid;grid-template-columns:1fr 1fr;gap:11px 28px;margin:8px 0 34px}.mk8-campaign-points span{font-size:14px;font-weight:800;padding-left:20px;position:relative}.mk8-campaign-points span:before{content:"◆";position:absolute;left:0;color:var(--mk8-gold);font-size:9px;top:5px}.mk8-campaign-price{border-top:1px solid rgba(255,255,255,.22);padding-top:24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.mk8-campaign-price strong{font-size:42px;color:var(--mk8-gold)}.mk8-campaign-price span{font-size:13px;color:#d9e5e1}.mk8-campaign-image{position:relative;min-height:760px}.mk8-campaign-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}.mk8-campaign-result{position:absolute;left:36px;right:36px;bottom:34px;background:#f8f4eb;padding:20px 24px;color:var(--mk8-ink);border-top:5px solid var(--mk8-gold);box-shadow:0 20px 60px rgba(0,0,0,.24)}.mk8-campaign-result span,.mk8-campaign-result small{display:block;font-size:12px;color:var(--mk8-muted)}.mk8-campaign-result strong{display:block;font-size:22px;margin:3px 0}
.mk8-campaign-preview{max-width:1440px;margin:-1px auto 0;background:#fff;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;padding:64px 70px;align-items:center;box-shadow:0 25px 60px rgba(15,45,39,.08)}.mk8-campaign-preview h2{font-size:46px!important;line-height:1!important;margin:0 0 16px!important}.mk8-campaign-preview p:not(.mk8-eyebrow){font-size:17px!important;color:var(--mk8-muted)!important}.mk8-preview-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:24px;background:#e9f0ed}.mk8-preview-form label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.mk8-preview-form input{display:block;width:100%;min-height:48px;margin-top:7px;border:1px solid #aabbb5;background:#fff;padding:10px 12px;font:inherit;color:var(--mk8-ink)}
.mk8-campaign-flow{max-width:1440px;margin:0 auto;padding:110px 0}.mk8-section-heading{max-width:860px}.mk8-section-heading h2{font-size:clamp(44px,4.2vw,68px)!important;line-height:.98!important;letter-spacing:-.05em!important;margin:0!important}.mk8-section-heading>p:not(.mk8-eyebrow){font-size:19px!important;color:var(--mk8-muted)!important}.mk8-campaign-flow ol{list-style:none;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #9fb0a9;border-bottom:1px solid #9fb0a9}.mk8-campaign-flow li{padding:38px 30px;display:grid;grid-template-columns:auto 1fr;gap:20px}.mk8-campaign-flow li+li{border-left:1px solid #9fb0a9}.mk8-campaign-flow li>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mk8-green);color:#fff;font-weight:900}.mk8-campaign-flow h3{font-size:25px!important;margin:0 0 8px!important}.mk8-campaign-flow p{font-size:15px!important;color:var(--mk8-muted)!important}
.mk8-campaign-split{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}.mk8-campaign-feature{padding:80px 76px;background:#fff}.mk8-campaign-feature h2{font-size:52px!important;line-height:1!important;margin:0 0 18px!important}.mk8-campaign-feature p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important;max-width:650px}.mk8-campaign-feature .mk8-ui-list,.mk8-campaign-feature .mk8-referral-demo{margin-top:32px}.mk8-campaign-feature-dark{background:#0d473f;color:#fff}.mk8-campaign-feature-dark h2{color:#fff!important}.mk8-campaign-feature-dark p:not(.mk8-eyebrow){color:#d9e5e1!important}.mk8-campaign-feature-dark .mk8-referral-demo{background:#113a35;border-color:#52716a}.mk8-campaign-feature-dark .mk8-referral-demo code,.mk8-campaign-feature-dark .mk8-referral-demo>div span{background:#fff;color:#12251f}
.mk8-campaign-proof{max-width:1440px;margin:0 auto;padding:110px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.mk8-campaign-proof h2{font-size:clamp(46px,4.2vw,68px)!important;line-height:.98!important;letter-spacing:-.05em!important;margin:0!important}.mk8-campaign-proof p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important}.mk8-campaign-proof figure{margin:0}.mk8-campaign-proof figure img{width:100%;background:#fff;box-shadow:0 25px 65px rgba(18,55,49,.16)}.mk8-campaign-business-page{max-width:1640px;margin:0 auto;background:#e7ddd0;display:grid;grid-template-columns:1.02fr .98fr;align-items:center}.mk8-campaign-business-page>div:first-child{height:580px}.mk8-campaign-business-page img{width:100%;height:100%;object-fit:cover}.mk8-campaign-business-page>div:last-child{padding:70px 80px}.mk8-campaign-business-page h2{font-size:clamp(48px,4.5vw,74px)!important;line-height:.96!important;letter-spacing:-.05em!important;margin:0!important}.mk8-campaign-business-page p:not(.mk8-eyebrow){font-size:19px!important;color:#4b5b55!important}.mk8-campaign-close{max-width:1640px;margin:0 auto;background:#082f2a;color:#fff;padding:58px 74px;display:flex;align-items:center;justify-content:space-between;gap:40px}.mk8-campaign-close h2{font-size:58px!important;color:#fff!important;margin:0!important}.mk8-campaign-close h2 span{font-size:20px}.mk8-campaign-close p:not(.mk8-eyebrow){color:#d7e3df!important;margin:6px 0 0!important}.mk8-campaign-close>div:last-child{display:flex;gap:12px;flex-wrap:wrap}

/* Shared inner marketing pages */
.mk8-standard-page{background:var(--mk8-paper)}
.mk8-page-hero{max-width:1560px;margin:0 auto;min-height:570px;padding:84px 74px;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.mk8-page-hero>div:first-child{max-width:900px}.mk8-page-hero h1{font-size:clamp(58px,5.9vw,98px)!important;line-height:.93!important;letter-spacing:-.06em!important;margin:0!important}.mk8-page-hero p:not(.mk8-eyebrow){font-size:21px!important;line-height:1.55!important;color:var(--mk8-muted)!important;max-width:780px}.mk8-page-hero-dark{background:#082f2a;color:#fff}.mk8-page-hero-dark h1{color:#fff!important}.mk8-page-hero-dark p:not(.mk8-eyebrow){color:#d4e2de!important}.mk8-page-hero-light{background:#fff;border-left:1px solid var(--mk8-line);border-right:1px solid var(--mk8-line)}
.mk8-process-orbit{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px}.mk8-process-orbit span{min-height:120px;border:1px solid rgba(255,255,255,.34);display:grid;place-items:center;text-align:center;padding:15px;font-weight:900}.mk8-process-orbit i{color:var(--mk8-gold);font-style:normal;font-size:22px}
.mk8-process-detail{width:min(1420px,calc(100% - 64px));margin:0 auto;padding:96px 0}.mk8-process-detail article{display:grid;grid-template-columns:90px 1.2fr .8fr;gap:44px;align-items:center;padding:48px 0;border-top:1px solid #c2d0cb}.mk8-process-detail article:last-child{border-bottom:1px solid #c2d0cb}.mk8-process-detail article>b{font-size:14px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#dce7e2}.mk8-process-detail h2{font-size:40px!important;line-height:1.05!important;margin:0 0 12px!important}.mk8-process-detail p{font-size:17px!important;color:var(--mk8-muted)!important}.mk8-request-demo,.mk8-outcome-demo{background:#fff;border:1px solid var(--mk8-line);padding:22px;display:grid;gap:10px}.mk8-request-demo button{background:#f1f5f3;border:1px solid #c5d2cd;padding:10px;text-align:left;font-weight:800}.mk8-outcome-demo strong{font-size:26px;color:var(--mk8-green)}.mk8-outcome-demo span,.mk8-outcome-demo small{color:var(--mk8-muted)}
.mk8-how-clarity{max-width:1560px;margin:0 auto;background:#e6eee9;padding:78px 72px;display:grid;grid-template-columns:1.25fr .75fr;gap:90px}.mk8-how-clarity h2{font-size:52px!important;line-height:1!important;margin:0 0 18px!important}.mk8-how-clarity p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important}.mk8-how-clarity aside{background:#fff;padding:28px 30px;display:grid;gap:0;border-top:5px solid var(--mk8-green)}.mk8-how-clarity aside strong{font-size:22px;margin-bottom:10px}.mk8-how-clarity aside span{padding:10px 0;border-bottom:1px solid #d7e1dd}.mk8-how-clarity aside span:last-child{border-bottom:0}.mk8-wide-photo-row{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr 1fr;height:430px}.mk8-wide-photo-row img{width:100%;height:100%;object-fit:cover}
.mk8-page-cta{max-width:1560px;margin:0 auto;background:#efe4d2;padding:64px 70px;display:flex;align-items:center;justify-content:space-between;gap:40px}.mk8-page-cta h2{font-size:44px!important;line-height:1!important;margin:0!important}

/* Business Pages */
.mk8-business-hero{background:#fff;border-left:1px solid var(--mk8-line);border-right:1px solid var(--mk8-line)}.mk8-business-hero-art{position:relative}.mk8-business-hero-art img{width:100%;height:430px;object-fit:cover;box-shadow:0 22px 60px rgba(12,60,52,.15)}.mk8-business-hero-art>div{position:absolute;left:-28px;bottom:28px;background:var(--mk8-green);color:#fff;padding:20px 24px;width:75%;border-left:5px solid var(--mk8-gold)}.mk8-business-hero-art strong,.mk8-business-hero-art span{display:block}.mk8-business-hero-art strong{font-size:24px}.mk8-business-hero-art span{font-size:13px;margin-top:4px;color:#d8e4e0}
.mk8-mode-comparison{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}.mk8-mode-comparison article{padding:72px 68px;background:#e9f0ed}.mk8-mode-comparison article h2{font-size:48px!important;line-height:1!important;margin:0 0 16px!important}.mk8-mode-comparison article>p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important}.mk8-mode-comparison .mk8-mode-dark{background:#0d473f;color:#fff}.mk8-mode-comparison .mk8-mode-dark h2{color:#fff!important}.mk8-mode-comparison .mk8-mode-dark>p:not(.mk8-eyebrow),.mk8-mode-comparison .mk8-mode-dark li{color:#d8e5e0!important}.mk8-mode-comparison .mk8-mode-dark .mk8-checks li:before{color:var(--mk8-gold)}
.mk8-theme-showcase{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:100px 0}.mk8-theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:48px}.mk8-theme-grid article{background:#fff;border:1px solid var(--mk8-line);overflow:hidden}.mk8-theme-image{height:290px;overflow:hidden;background:#dfe7e3}.mk8-theme-image img{width:100%;height:100%;object-fit:cover;object-position:top}.mk8-theme-grid article>div:last-child{padding:18px}.mk8-theme-grid span{display:block;font-size:18px;font-weight:900}.mk8-theme-grid p{font-size:13px!important;color:var(--mk8-muted)!important;margin:4px 0 0!important}.mk8-reality-note{font-size:17px!important;line-height:1.65!important;max-width:1000px;margin:34px 0 26px!important;color:var(--mk8-muted)!important}.mk8-business-content-list{max-width:1560px;margin:0 auto;background:#082f2a;color:#fff;padding:80px 72px}.mk8-business-content-list h2{font-size:54px!important;line-height:1!important;color:#fff!important;margin:0!important;max-width:800px}.mk8-content-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.mk8-content-columns ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.3)}.mk8-content-columns li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.17);font-size:16px}

/* Examples */
.mk8-example-legend{background:#e8efec;padding:28px 30px;display:grid;gap:8px;border-left:5px solid var(--mk8-green)}.mk8-example-legend strong{font-size:20px}.mk8-example-legend span{font-size:14px;color:var(--mk8-muted)}.mk8-real-example-feature{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;background:#0d473f;color:#fff}.mk8-real-example-screen{padding:46px;background:#082f2a}.mk8-real-example-screen img{width:100%;height:620px;object-fit:cover;object-position:top;background:#fff}.mk8-real-example-feature>div:last-child{padding:72px 58px;align-self:center}.mk8-real-example-feature h2{font-size:58px!important;color:#fff!important;margin:0 0 14px!important}.mk8-real-example-feature p:not(.mk8-eyebrow){font-size:18px!important;color:#d6e3df!important}.mk8-real-example-feature dl{display:grid;gap:0;margin-top:28px}.mk8-real-example-feature dl div{display:grid;grid-template-columns:100px 1fr;padding:12px 0;border-top:1px solid rgba(255,255,255,.2)}.mk8-real-example-feature dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.mk8-real-example-feature dd{margin:0;font-weight:800}
.mk8-real-example-grid{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.mk8-real-example-grid article{background:#fff;border:1px solid var(--mk8-line);display:grid;grid-template-columns:1.1fr .9fr;min-height:360px}.mk8-real-example-grid img{width:100%;height:100%;object-fit:cover;object-position:top}.mk8-real-example-grid article>div{padding:34px}.mk8-real-example-grid h2{font-size:32px!important;line-height:1.05!important;margin:0 0 6px!important}.mk8-real-example-grid article>div>span{font-weight:800;color:#7b6335}.mk8-real-example-grid p:not(.mk8-eyebrow){font-size:15px!important;color:var(--mk8-muted)!important}.mk8-compact-reality{max-width:1560px;margin:0 auto;background:#e7ddd0;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center}.mk8-compact-reality>div{padding:72px}.mk8-compact-reality h2{font-size:52px!important;line-height:1!important;margin:0 0 18px!important}.mk8-compact-reality p:not(.mk8-eyebrow){font-size:18px!important;color:#4e5e58!important}.mk8-compact-reality img{width:100%;height:520px;object-fit:cover}

/* Pricing */
.mk8-pricing-hero{max-width:1560px;margin:0 auto;background:#082f2a;color:#fff;padding:84px 72px;display:grid;grid-template-columns:.9fr 1.1fr;gap:92px;align-items:center}.mk8-pricing-hero h1{font-size:clamp(56px,5.5vw,88px)!important;line-height:.94!important;letter-spacing:-.055em!important;color:#fff!important;margin:0!important}.mk8-pricing-hero>div>p:not(.mk8-eyebrow):not(.mk8-price-note){font-size:20px!important;color:#d8e4e0!important;max-width:650px}.mk8-pricing-lock{display:flex;align-items:flex-end;gap:8px;margin-top:28px}.mk8-pricing-lock strong{font-size:92px;line-height:.85;color:var(--mk8-gold);letter-spacing:-.06em}.mk8-pricing-lock span{font-size:22px;font-weight:800}.mk8-price-note{font-size:13px!important;color:#d8e4e0!important;margin:18px 0 26px!important}.mk8-pricing-hero aside{background:#fff;color:var(--mk8-ink);padding:42px 44px;border-top:6px solid var(--mk8-gold)}.mk8-pricing-hero aside h2{font-size:42px!important;line-height:1!important;margin:0 0 24px!important}.mk8-included-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.mk8-included-grid span{padding:12px 0;border-bottom:1px solid #d6e0dc;font-size:14px;font-weight:800}.mk8-included-grid span:before{content:"✓";color:#1f7a63;margin-right:9px}
.mk8-pricing-steps{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:96px 0}.mk8-pricing-steps>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #bccac5;border-bottom:1px solid #bccac5}.mk8-pricing-steps article{padding:36px 34px}.mk8-pricing-steps article+article{border-left:1px solid #bccac5}.mk8-pricing-steps article>span{display:block;color:#1f6559;font-weight:900;font-size:12px;letter-spacing:.12em}.mk8-pricing-steps h3{font-size:28px!important;margin:18px 0 10px!important}.mk8-pricing-steps p{font-size:16px!important;color:var(--mk8-muted)!important}.mk8-pricing-value{max-width:1560px;margin:0 auto;background:#e8efec;padding:78px 72px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.mk8-pricing-value h2{font-size:50px!important;line-height:1!important;margin:0 0 18px!important}.mk8-pricing-value>div:first-child>p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important}.mk8-value-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mk8-value-cards article{background:#fff;padding:26px;border-top:4px solid var(--mk8-green)}.mk8-value-cards strong{font-size:21px}.mk8-value-cards p{font-size:14px!important;color:var(--mk8-muted)!important}.mk8-comparison-section{max-width:1560px;margin:0 auto;background:#0d473f;color:#fff;padding:82px 72px}.mk8-comparison-section h2{color:#fff!important}.mk8-comparison-section .mk8-section-heading>p:not(.mk8-eyebrow){color:#d6e3df!important}.mk8-comparison-table{margin-top:44px;border:1px solid rgba(255,255,255,.28)}.mk8-comparison-table>div{display:grid;grid-template-columns:1.4fr repeat(4,1fr)}.mk8-comparison-table>div>span{padding:14px 15px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);font-size:13px}.mk8-comparison-table>div>span:last-child{border-right:0}.mk8-comparison-table .head span{font-weight:900;background:#082f2a}.mk8-comparison-table .ours{background:rgba(215,173,85,.16);font-weight:800}.mk8-pricing-detail{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:90px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mk8-pricing-detail article{background:#fff;border:1px solid var(--mk8-line);padding:34px}.mk8-pricing-detail h2{font-size:35px!important;line-height:1!important;margin:0 0 14px!important}.mk8-pricing-detail p:not(.mk8-eyebrow){font-size:16px!important;color:var(--mk8-muted)!important}.mk8-faq{max-width:1560px;margin:0 auto;background:#fff;padding:80px 72px}.mk8-faq details{border-top:1px solid var(--mk8-line);padding:0}.mk8-faq details:last-child{border-bottom:1px solid var(--mk8-line)}.mk8-faq summary{cursor:pointer;font-size:20px;font-weight:900;padding:20px 0}.mk8-faq details p{font-size:16px!important;color:var(--mk8-muted)!important;max-width:800px;margin:0 0 22px!important}

/* Contact */
.mk8-contact-hero{max-width:1560px;margin:0 auto;background:#082f2a;color:#fff;padding:88px 76px;display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.mk8-contact-hero h1{font-size:clamp(58px,5.8vw,94px)!important;line-height:.93!important;letter-spacing:-.06em!important;color:#fff!important;margin:0!important}.mk8-contact-hero>div>p:not(.mk8-eyebrow){font-size:20px!important;color:#d7e4df!important;max-width:720px}.mk8-contact-hero aside{background:#fff;color:var(--mk8-ink);padding:34px;display:grid;gap:0;border-top:6px solid var(--mk8-gold)}.mk8-contact-hero aside strong{font-size:24px;margin-bottom:12px}.mk8-contact-hero aside span{padding:10px 0;border-bottom:1px solid var(--mk8-line)}.mk8-contact-hero aside a{margin-top:20px;color:var(--mk8-green);font-weight:900}.mk8-contact-form-section{width:min(1400px,calc(100% - 64px));margin:0 auto;padding:100px 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.mk8-contact-form-section h2{font-size:52px!important;line-height:1!important;margin:0 0 18px!important}.mk8-contact-form-section>div>p:not(.mk8-eyebrow){font-size:18px!important;color:var(--mk8-muted)!important}.mk8-contact-form{background:#fff;border:1px solid var(--mk8-line);padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.mk8-contact-form label{font-size:13px;font-weight:900}.mk8-contact-form label>span{font-weight:500;color:var(--mk8-muted)}.mk8-contact-form input,.mk8-contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #9eb0aa;background:#fff;color:var(--mk8-ink);font:inherit}.mk8-contact-form .span-2{grid-column:1/-1}.mk8-contact-form button{grid-column:1/-1;justify-self:start}

/* Dark theme for public marketing */
html[data-theme="dark"] .mk8-site,html[data-theme="dark"] .mk8-main,html[data-theme="dark"] .mk8-standard-page,html[data-theme="dark"] .mk8-home{background:#0f1715!important;color:#eef4f1}
html[data-theme="dark"] .mk8-home-hero,html[data-theme="dark"] .mk8-feature-stage,html[data-theme="dark"] .mk8-page-hero-light,html[data-theme="dark"] .mk8-real-example-grid article,html[data-theme="dark"] .mk8-pricing-detail article,html[data-theme="dark"] .mk8-faq,html[data-theme="dark"] .mk8-contact-form{background:#17211f!important;border-color:#31433e!important}
html[data-theme="dark"] .mk8-home h1,html[data-theme="dark"] .mk8-home h2,html[data-theme="dark"] .mk8-home h3,html[data-theme="dark"] .mk8-standard-page h1,html[data-theme="dark"] .mk8-standard-page h2,html[data-theme="dark"] .mk8-standard-page h3{color:#f5faf7!important}
html[data-theme="dark"] .mk8-home p:not(.mk8-eyebrow),html[data-theme="dark"] .mk8-standard-page p:not(.mk8-eyebrow){color:#b8c8c3!important}
html[data-theme="dark"] .mk8-feature-stage>article+article{border-color:#31433e}.mk8-site .marketing-mobile-nav summary{color:#fff}

/* Responsive */
@media(max-width:1100px){
  .mk8-nav{display:none!important}.marketing-mobile-nav{display:block!important;margin-left:auto}.mk8-header-inner{width:calc(100% - 28px)!important}.mk8-contact-button{display:none}
  .mk8-home-hero,.mk8-campaign-hero,.mk8-page-hero,.mk8-pricing-hero,.mk8-contact-hero{grid-template-columns:1fr}.mk8-home-hero-media,.mk8-campaign-image{min-height:520px}.mk8-home-hero-copy,.mk8-campaign-copy{padding:64px 42px}.mk8-home-intro,.mk8-business-page-story,.mk8-campaign-proof,.mk8-contact-form-section{grid-template-columns:1fr;gap:45px}.mk8-feature-stage{grid-template-columns:1fr}.mk8-feature-stage>article+article{border-left:0;border-top:1px solid var(--mk8-line)}.mk8-proof-band{grid-template-columns:1fr}.mk8-proof-band figure{padding-top:0}.mk8-mode-comparison,.mk8-campaign-split,.mk8-campaign-business-page,.mk8-real-example-feature,.mk8-compact-reality,.mk8-pricing-value{grid-template-columns:1fr}.mk8-theme-grid{grid-template-columns:repeat(2,1fr)}.mk8-content-columns{grid-template-columns:1fr 1fr}.mk8-process-detail article{grid-template-columns:70px 1fr}.mk8-process-detail article>div:last-child{grid-column:2}.mk8-wide-photo-row{height:320px}.mk8-campaign-flow ol{grid-template-columns:1fr 1fr}.mk8-campaign-flow li:nth-child(3){border-left:0;border-top:1px solid #9fb0a9}.mk8-real-example-grid{grid-template-columns:1fr}.mk8-pricing-steps>div:last-child,.mk8-pricing-detail{grid-template-columns:1fr}.mk8-pricing-steps article+article{border-left:0;border-top:1px solid #bccac5}.mk8-comparison-table{overflow-x:auto}.mk8-comparison-table>div{min-width:850px}.mk8-footer .marketing-footer{grid-template-columns:1fr}.mk8-copyright{white-space:normal}
}
@media(max-width:700px){
  .mk8-site{font-size:16px}.mk8-header{min-height:62px}.mk8-header-inner{min-height:62px!important}.mk8-header-actions .button-secondary{display:none!important}
  .mk8-home-hero,.mk8-campaign-hero,.mk8-page-hero,.mk8-pricing-hero,.mk8-contact-hero{border:0}.mk8-home-hero-copy,.mk8-campaign-copy,.mk8-page-hero,.mk8-pricing-hero,.mk8-contact-hero{padding:48px 22px}.mk8-home-hero h1,.mk8-campaign h1,.mk8-page-hero h1,.mk8-pricing-hero h1,.mk8-contact-hero h1{font-size:52px!important}.mk8-home-hero-media,.mk8-campaign-image{min-height:420px}.mk8-hero-facts{grid-template-columns:1fr;gap:18px}.mk8-home-intro,.mk8-business-page-story,.mk8-theme-showcase,.mk8-real-example-grid,.mk8-pricing-steps,.mk8-pricing-detail,.mk8-contact-form-section{width:calc(100% - 36px);padding:62px 0}.mk8-home-intro h2,.mk8-business-page-story h2,.mk8-section-heading h2,.mk8-campaign-feature h2,.mk8-campaign-proof h2,.mk8-campaign-business-page h2,.mk8-how-clarity h2,.mk8-business-content-list h2,.mk8-compact-reality h2,.mk8-contact-form-section h2{font-size:40px!important}.mk8-feature-stage>article{padding:32px 22px;min-height:0}.mk8-proof-copy,.mk8-mode-comparison article,.mk8-campaign-feature,.mk8-how-clarity,.mk8-business-content-list,.mk8-real-example-feature>div:last-child,.mk8-compact-reality>div,.mk8-pricing-value,.mk8-comparison-section,.mk8-faq{padding:52px 22px}.mk8-proof-band figure{padding:0 22px 48px}.mk8-proof-band figure img{min-height:0}.mk8-proof-metrics{grid-template-columns:1fr}.mk8-story-collage{padding:0 42px 48px 0}.mk8-story-main{height:420px}.mk8-story-small{height:170px}.mk8-home-closing,.mk8-page-cta,.mk8-campaign-close{padding:45px 22px;grid-template-columns:1fr;display:grid}.mk8-price-lock strong{font-size:52px}.mk8-campaign-preview{grid-template-columns:1fr;gap:24px;padding:48px 22px}.mk8-preview-form{grid-template-columns:1fr}.mk8-campaign-points{grid-template-columns:1fr}.mk8-campaign-flow{padding:70px 22px}.mk8-campaign-flow ol{grid-template-columns:1fr}.mk8-campaign-flow li+li{border-left:0;border-top:1px solid #9fb0a9}.mk8-campaign-business-page>div:first-child{height:380px}.mk8-campaign-business-page>div:last-child{padding:48px 22px}.mk8-process-orbit{grid-template-columns:1fr}.mk8-process-orbit i{transform:rotate(90deg);text-align:center}.mk8-process-detail{width:calc(100% - 36px);padding:60px 0}.mk8-process-detail article{grid-template-columns:1fr;gap:18px}.mk8-process-detail article>div:last-child{grid-column:auto}.mk8-how-clarity{grid-template-columns:1fr;gap:30px}.mk8-wide-photo-row{grid-template-columns:1fr;height:auto}.mk8-wide-photo-row img{height:260px}.mk8-business-hero-art img{height:330px}.mk8-business-hero-art>div{position:static;width:auto}.mk8-theme-grid{grid-template-columns:1fr}.mk8-theme-image{height:360px}.mk8-content-columns{grid-template-columns:1fr}.mk8-real-example-screen{padding:18px}.mk8-real-example-screen img{height:430px}.mk8-real-example-grid article{grid-template-columns:1fr}.mk8-real-example-grid img{height:320px}.mk8-compact-reality img{height:380px}.mk8-pricing-lock strong{font-size:72px}.mk8-included-grid,.mk8-value-cards{grid-template-columns:1fr}.mk8-contact-form{grid-template-columns:1fr;padding:24px}.mk8-contact-form .span-2{grid-column:auto}.mk8-contact-form button{grid-column:auto}.mk8-footer .marketing-footer{width:calc(100% - 36px)!important}
}

/* R6 0.6.8 — truthful renderer examples and final Business Page contrast floor */
.mk8-actual-examples{max-width:1560px;margin:0 auto;background:#fff;border-left:1px solid var(--mk8-line);border-right:1px solid var(--mk8-line)}
.mk8-actual-example{display:grid;grid-template-columns:.82fr 1.18fr;gap:0;align-items:stretch;border-bottom:1px solid var(--mk8-line)}
.mk8-actual-example-compact{grid-template-columns:1.18fr .82fr;background:#e9f0ed}
.mk8-actual-copy{padding:72px 64px;align-self:center}.mk8-actual-copy h2{font-size:clamp(42px,4vw,64px)!important;line-height:.98!important;letter-spacing:-.045em!important;margin:0 0 22px!important}.mk8-actual-copy>p:not(.mk8-eyebrow){font-size:18px!important;line-height:1.65!important;color:var(--mk8-muted)!important}.mk8-example-disclaimer{border-top:1px solid var(--mk8-line);padding-top:18px;margin-top:28px!important;font-size:14px!important}
.mk8-renderer-shot{margin:0;background:#102f2a;padding:34px;min-width:0}.mk8-browser-bar{height:38px;background:#edf2ef;border:1px solid #c6d3ce;border-bottom:0;display:flex;align-items:center;gap:7px;padding:0 12px;color:#43554f}.mk8-browser-bar>span{width:9px;height:9px;border-radius:50%;background:#8fa19b}.mk8-browser-bar b{margin-left:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.mk8-renderer-shot>img{display:block;width:100%;height:760px;object-fit:cover;object-position:top;background:#fff;border:1px solid #c6d3ce}.mk8-renderer-shot figcaption{font-size:12px;color:#cfe0da;padding-top:10px}
.mk8-design-families-real{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:100px 0}.mk8-family-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--mk8-line);border-bottom:1px solid var(--mk8-line);margin-top:48px}.mk8-family-grid article{padding:30px 26px;min-height:260px;display:grid;grid-template-rows:auto 1fr;gap:30px;background:#fff}.mk8-family-grid article+article{border-left:1px solid var(--mk8-line)}.mk8-family-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--mk8-green);color:#fff;font-size:12px;font-weight:900}.mk8-family-grid h3{font-size:25px!important;line-height:1.05!important;margin:0 0 8px!important}.mk8-family-grid strong{display:block;color:#755d2e;font-size:13px}.mk8-family-grid p{font-size:14px!important;line-height:1.6!important;color:var(--mk8-muted)!important}.mk8-reality-commitment{max-width:1560px;margin:0 auto;background:#082f2a;color:#fff;padding:82px 72px;display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.mk8-reality-commitment h2{font-size:clamp(42px,4vw,64px)!important;line-height:.98!important;color:#fff!important;margin:0!important}.mk8-reality-commitment p:not(.mk8-eyebrow){font-size:18px!important;line-height:1.7!important;color:#d4e2de!important;margin-top:0!important}.mk8-reality-commitment p+p{margin-top:18px!important}
.mk8-business-hero-actual img{object-position:top!important}.mk8-renderer-comparison{max-width:1560px;margin:0 auto;padding:100px 72px;background:#fff}.mk8-renderer-pair{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:50px}.mk8-renderer-pair .mk8-renderer-shot{padding:22px}.mk8-renderer-pair .mk8-renderer-shot>img{height:650px}.mk8-business-family-section{padding-top:90px}.mk8-business-family-section>.mk8-text-link{display:inline-block;margin-top:32px;font-size:16px}

/* Header colour is part of the public brand system: never fall back to the old white marketing header. */
body.mk8-site>header.mk8-header,body.mk8-site>header.public-sales-header{background:#0d473f!important;color:#fff!important;border-color:#0d473f!important}
body.mk8-site>header.mk8-header a,body.mk8-site>header.mk8-header .platform-wordmark-text{color:#fff!important}

/* Final client-site contrast floor. These rules deliberately sit last so older theme/alternating-section rules cannot undo them. */
html[data-theme="light"] body.business-public-body.mode-full.design-established .business-content>.reviews-section,
html[data-theme="light"] body.business-public-body.mode-full.design-workshop .business-content>.reviews-section,
html[data-theme="light"] body.business-public-body.mode-full.design-classic .business-content>.reviews-section{background:#173a34!important;color:#fff!important}
html[data-theme="light"] body.business-public-body.mode-full.design-studio .business-content>.reviews-section{background:#704d55!important;color:#fff!important}
html[data-theme="light"] body.business-public-body.mode-full.design-showcase .business-content>.reviews-section{background:#f4efe8!important;color:#16241f!important}
html[data-theme="light"] body.business-public-body.mode-full.design-established .business-content>.reviews-section :is(h2,h3,p,.section-kicker),
html[data-theme="light"] body.business-public-body.mode-full.design-workshop .business-content>.reviews-section :is(h2,h3,p,.section-kicker),
html[data-theme="light"] body.business-public-body.mode-full.design-classic .business-content>.reviews-section :is(h2,h3,p,.section-kicker),
html[data-theme="light"] body.business-public-body.mode-full.design-studio .business-content>.reviews-section :is(h2,h3,p,.section-kicker){color:#fff!important}
html[data-theme="light"] body.business-public-body.mode-full.design-showcase .business-content>.reviews-section :is(h2,h3,p,.section-kicker){color:#16241f!important}
html[data-theme="light"] body.business-public-body.mode-full.design-established .business-content>.gallery-section,
html[data-theme="light"] body.business-public-body.mode-full.design-workshop .business-content>.gallery-section,
html[data-theme="light"] body.business-public-body.mode-full.design-classic .business-content>.gallery-section,
html[data-theme="light"] body.business-public-body.mode-full.design-showcase .business-content>.gallery-section{background:#172622!important;color:#fff!important}
html[data-theme="light"] body.business-public-body.mode-full.design-studio .business-content>.gallery-section{background:#704d55!important;color:#fff!important}
html[data-theme="light"] body.business-public-body.mode-full .business-content>.gallery-section :is(h2,h3,p,.section-kicker,figcaption){color:#fff!important}
html[data-theme="dark"] body.business-public-body.mode-full .business-content>.reviews-section{background:#13241f!important;color:#f3f8f5!important}
html[data-theme="dark"] body.business-public-body.mode-full .business-content>.reviews-section :is(h2,h3,p,.section-kicker){color:#f3f8f5!important}
html[data-theme="dark"] body.business-public-body.mode-full .business-content>.gallery-section{background:#101c19!important;color:#f3f8f5!important}
html[data-theme="dark"] body.business-public-body.mode-full .business-content>.gallery-section :is(h2,h3,p,.section-kicker,figcaption){color:#f3f8f5!important}

@media(max-width:1100px){.mk8-actual-example,.mk8-actual-example-compact,.mk8-reality-commitment{grid-template-columns:1fr}.mk8-family-grid{grid-template-columns:1fr 1fr}.mk8-family-grid article:nth-child(odd){border-left:0}.mk8-family-grid article{border-bottom:1px solid var(--mk8-line)}.mk8-renderer-pair{grid-template-columns:1fr}}
@media(max-width:700px){.mk8-actual-copy,.mk8-reality-commitment,.mk8-renderer-comparison{padding:52px 22px}.mk8-actual-example-compact .mk8-renderer-shot{order:2}.mk8-renderer-shot{padding:14px}.mk8-renderer-shot>img,.mk8-renderer-pair .mk8-renderer-shot>img{height:500px}.mk8-design-families-real{width:calc(100% - 36px);padding:64px 0}.mk8-family-grid{grid-template-columns:1fr}.mk8-family-grid article+article{border-left:0}.mk8-family-grid article{min-height:0}.mk8-reality-commitment{padding:54px 22px;gap:28px}.mk8-renderer-comparison{padding:64px 18px}}

/* R6 0.7.0 — client site branding: use the uploaded logo as the brand, not logo + duplicate name. */
.mode-full .business-site-nav-inner{min-height:96px!important}
.mode-full .business-site-brand.has-brand-logo{gap:0!important;min-width:220px}
.mode-full .business-site-brand.has-brand-logo img{max-width:320px!important;max-height:68px!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:left center!important}
.mode-full .business-site-brand.text-brand{font-size:1.35rem!important;font-weight:900!important}
@media (max-width:900px){
  .mode-full .business-site-nav-inner{min-height:84px!important}
  .mode-full .business-site-brand.has-brand-logo img{max-width:min(250px,58vw)!important;max-height:58px!important}
}
@media (max-width:600px){
  .mode-full .business-site-brand.has-brand-logo img{max-width:min(220px,54vw)!important;max-height:54px!important}
}


/* =====================================================================
   R6 0.7.1 — page builder, mobile-first Compact page and How-it-works hero.
   ===================================================================== */

/* How it works: keep the hero clean. Process steps belong in the page body. */
.rr9-how-hero .rr9-page-hero-grid{
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:clamp(44px,6vw,96px);
  align-items:center;
}
.rr9-how-hero-photo{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(20,47,41,.12);
  min-height:420px;
}
.rr9-how-hero-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
}
.rr9-how-hero .rr9-actions{margin-top:1.5rem}

/* Dedicated Business Page builder. */
.page-builder-panel{padding:0;overflow:hidden}
.page-builder-note{padding:1rem 1rem 0}
.page-builder-fixed,
.page-builder-item{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto minmax(150px,190px);
  gap:14px;
  align-items:center;
  min-width:0;
}
.page-builder-fixed{
  padding:15px 16px;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--brand) 7%,var(--surface));
}
.page-builder-fixed>div{display:grid;gap:2px}
.page-builder-fixed small{color:var(--muted)}
.page-builder-list{display:grid;gap:10px;padding:16px}
.page-builder-item{
  padding:14px 16px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:0 2px 0 rgba(0,0,0,.015);
  transition:box-shadow .15s ease, transform .15s ease, opacity .15s ease;
}
.page-builder-item.is-dragging,
.page-builder-item.is-touch-dragging{
  opacity:.72;
  box-shadow:0 12px 30px rgba(20,47,41,.18);
  transform:scale(1.005);
}
.page-builder-grip{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:1px solid var(--border);
  background:var(--surface-muted);
  color:var(--text);
  font-size:1.25rem;
  line-height:1;
  cursor:grab;
  touch-action:none;
}
.page-builder-grip:active{cursor:grabbing}
.page-builder-grip.is-fixed{cursor:default;opacity:.45}
.page-builder-main{display:grid;gap:3px;min-width:0}
.page-builder-main strong{font-size:1rem}
.page-builder-main a{width:max-content;max-width:100%;font-size:.84rem}
.page-builder-visible{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  white-space:nowrap;
  font-weight:700!important;
}
.page-builder-visible input{margin:0!important}
.page-builder-style{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px!important;
  align-items:center;
  margin:0!important;
}
.page-builder-style>span{font-size:.78rem;font-weight:800}
.page-builder-style select{width:100%;margin:0;min-height:40px}
.page-builder-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:14px 16px;
  border-top:1px solid var(--border);
  background:var(--surface-muted);
}
.page-builder-actions p{margin:0;color:var(--muted);font-size:.86rem}

/* Compact/reviews-only pages: mobile is a first-class layout, not a collapsed desktop grid. */
@media(max-width:760px){
  .mode-compact.business-public-body{--public-gutter:14px!important}
  .mode-compact .business-identity{padding:0!important}
  .mode-compact .identity-grid,
  .mode-compact .compact-business-content,
  .mode-compact .compact-identity .business-public-wrap{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  .mode-compact .identity-grid{
    gap:0!important;
    padding-block:12px 26px!important;
  }
  .mode-compact .identity-cover,
  .mode-compact .identity-cover img{
    height:240px!important;
    min-height:240px!important;
    border-radius:14px!important;
  }
  .mode-compact .identity-copy{
    padding:24px 4px 0!important;
    max-width:none!important;
  }
  .mode-compact .business-identity h1{
    font-size:clamp(2.55rem,13vw,4rem)!important;
    max-width:100%!important;
    overflow-wrap:anywhere;
  }
  .mode-compact .business-lead{font-size:1rem!important;line-height:1.55!important}
  .mode-compact .business-action-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .mode-compact .business-action-row .business-button{width:100%;justify-content:center;text-align:center;min-width:0!important}
  .mode-compact .compact-business-content{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:12px 0 28px!important;
  }
  .mode-compact .compact-business-content>.business-section{
    padding:22px 18px!important;
    border-radius:14px!important;
    min-width:0!important;
  }
  .mode-compact .compact-business-content h2{font-size:clamp(1.75rem,9vw,2.5rem)!important;overflow-wrap:anywhere}
  .mode-compact .review-actions,
  .mode-compact .recommend-section .business-action-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .mode-compact .contact-section{padding:0!important;background:transparent!important;border:0!important}
  .mode-compact .contact-shell{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    width:100%!important;
    max-width:none!important;
  }
  .mode-compact .contact-copy{
    position:static!important;
    padding:22px 18px!important;
    border:1px solid var(--bp-border)!important;
    border-radius:14px!important;
    background:var(--bp-soft)!important;
    min-width:0!important;
  }
  .mode-compact .contact-copy .contact-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .mode-compact .contact-section .enquiry-box{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:22px 18px!important;
    border:1px solid var(--bp-border)!important;
    border-radius:14px!important;
    box-shadow:none!important;
  }
  .mode-compact .public-enquiry-form,
  .mode-compact .public-form-grid{width:100%!important;min-width:0!important}
  .mode-compact .public-form-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .mode-compact .public-form-grid label,
  .mode-compact .public-form-grid .span-2{
    grid-column:1!important;
    min-width:0!important;
    width:100%!important;
  }
  .mode-compact .public-form-grid input,
  .mode-compact .public-form-grid textarea,
  .mode-compact .public-form-grid select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .mode-compact .public-form-grid textarea{min-height:130px!important}
  .mode-compact .public-enquiry-form>.business-button{
    width:100%!important;
    min-height:50px!important;
    margin-top:14px!important;
  }
  .mode-compact .social-section{padding:20px 18px!important}

  .rr9-how-hero .rr9-page-hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  .rr9-how-hero-photo{min-height:280px;border-radius:12px}
  .rr9-how-hero-photo img{min-height:280px;height:280px}
}

@media(max-width:900px){
  .page-builder-fixed,
  .page-builder-item{
    grid-template-columns:44px minmax(0,1fr) auto;
  }
  .page-builder-style{grid-column:2/-1}
}
@media(max-width:560px){
  .page-builder-fixed,
  .page-builder-item{
    grid-template-columns:40px minmax(0,1fr);
    gap:10px;
    padding:12px;
  }
  .page-builder-fixed .status-badge{grid-column:2}
  .page-builder-visible{grid-column:2}
  .page-builder-style{grid-column:2}
  .page-builder-actions{align-items:stretch;flex-direction:column}
  .page-builder-actions .button{width:100%}
}


/* R7 — bookings. */
.booking-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.booking-subnav a{padding:9px 12px;border:1px solid var(--border);background:var(--surface);text-decoration:none;font-weight:750}.booking-subnav a.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.booking-admin-form{padding:20px}.booking-time-field{min-width:0}.booking-slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.booking-slot-button{min-width:72px;min-height:42px;padding:8px 12px;border:1px solid var(--border-strong,var(--border));background:var(--surface);color:var(--text);font:inherit;font-weight:800;cursor:pointer}.booking-slot-button:hover,.booking-slot-button.selected{background:var(--brand);color:#fff;border-color:var(--brand)}
.booking-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);background:var(--border);gap:1px}.booking-calendar-head{padding:8px;background:var(--surface-muted);font-size:.78rem;font-weight:800;text-align:center}.booking-day{min-height:118px;padding:8px;background:var(--surface);min-width:0}.booking-day.is-outside{opacity:.5}.booking-day-number{display:block;font-weight:850;margin-bottom:6px}.booking-calendar-item{display:block;margin:4px 0;padding:5px 7px;border-left:3px solid var(--brand);background:var(--surface-muted);font-size:.76rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-calendar-item.cancelled{text-decoration:line-through;opacity:.65}.booking-list-mobile{display:none}.booking-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.booking-stat{padding:14px;border:1px solid var(--border);background:var(--surface)}.booking-stat strong{display:block;font-size:1.55rem}.booking-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking-sync-grid>div{min-width:0}.booking-sync-grid input[readonly]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}.booking-hours-form{margin-top:18px}.booking-hours-row{grid-template-columns:150px 130px 1fr 1fr}.booking-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px}.booking-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--border)}.booking-detail-list>div{padding:12px;border-bottom:1px solid var(--border)}.booking-detail-list>div:nth-last-child(-n+2){border-bottom:0}.booking-detail-list dt{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.booking-detail-list dd{margin:4px 0 0;font-weight:700}

/* Public booking module — deliberately roomy on desktop and single-column on phones. */
.booking-section{display:grid;gap:24px}.booking-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.booking-section-heading p:last-child{max-width:720px;margin-bottom:0}.booking-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.booking-service-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--bp-border);background:var(--bp-surface);min-width:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.booking-service-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,49,43,.09);border-color:var(--bp-brand)}.booking-service-card h3{margin:0 0 7px}.booking-service-card p{margin:0;color:var(--bp-muted)}.booking-service-card dl{display:flex;flex-wrap:wrap;gap:14px 22px;margin:0}.booking-service-card dl div{display:grid;gap:2px}.booking-service-card dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--bp-muted)}.booking-service-card dd{margin:0;font-weight:850}.public-booking-form{padding:24px;border:1px solid var(--bp-border);background:var(--bp-surface);min-width:0}.booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-form-grid label,.booking-field-label{display:grid;gap:6px;font-weight:750;min-width:0}.booking-form-grid input,.booking-form-grid select,.booking-form-grid textarea{width:100%;min-width:0;box-sizing:border-box}.booking-form-grid .span-2{grid-column:1/-1}.booking-time-field{display:block}.booking-slot-status{padding:12px;border:1px dashed var(--bp-border);color:var(--bp-muted);background:var(--bp-soft)}.booking-section .booking-slot-grid{margin-top:10px}.booking-section .booking-slot-button{border-color:var(--bp-border);background:var(--bp-surface);color:var(--bp-text);min-width:78px}.booking-section .booking-slot-button:hover,.booking-section .booking-slot-button.selected{background:var(--bp-brand);border-color:var(--bp-brand);color:var(--bp-on-brand,#fff)}.booking-recurrence{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-confirmation{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.booking-confirmation strong{font-size:1.1rem}.public-booking-form>.business-button{margin-top:18px;min-height:48px}.booking-section .optional{font-weight:400;color:var(--bp-muted);font-size:.82em}

@media(max-width:980px){.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-sync-grid,.booking-detail-grid{grid-template-columns:1fr}.booking-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-calendar{display:none}.booking-list-mobile{display:grid;gap:8px}.booking-list-mobile a{padding:12px;border:1px solid var(--border);background:var(--surface);text-decoration:none}}
@media(max-width:760px){
  .booking-subnav{display:grid;grid-template-columns:1fr 1fr}.booking-subnav a{text-align:center;min-height:44px;display:grid;place-items:center}
  .booking-stat-grid{grid-template-columns:1fr 1fr}.booking-hours-row{grid-template-columns:1fr 1fr}.booking-hours-row>strong{grid-column:1/-1}.booking-detail-list{grid-template-columns:1fr}.booking-detail-list>div:nth-last-child(-n+2){border-bottom:1px solid var(--border)}.booking-detail-list>div:last-child{border-bottom:0}
  .booking-section{gap:16px!important}.booking-section-heading{display:block}.booking-service-grid{grid-template-columns:1fr!important;gap:10px!important}.booking-service-card{padding:18px!important;border-radius:12px!important}.public-booking-form{padding:18px 14px!important;border-radius:12px!important}.booking-form-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.booking-form-grid .span-2,.booking-recurrence{grid-column:1!important}.booking-recurrence{grid-template-columns:1fr!important}.booking-form-grid input,.booking-form-grid select{min-height:48px!important;font-size:16px!important}.booking-form-grid textarea{font-size:16px!important;min-height:110px!important}.booking-section .booking-slot-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.booking-section .booking-slot-button{min-width:0!important;width:100%!important;min-height:48px!important}.public-booking-form>.business-button{width:100%!important;min-height:52px!important}.booking-confirmation{align-items:stretch;flex-direction:column}.booking-confirmation .business-button{width:100%!important;text-align:center!important;justify-content:center!important}
}
@media(max-width:420px){.booking-section .booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.booking-stat-grid{grid-template-columns:1fr}.booking-subnav{grid-template-columns:1fr 1fr}.booking-hours-row{grid-template-columns:1fr}.booking-hours-row>strong{grid-column:1}.booking-service-card dl{display:grid;grid-template-columns:1fr 1fr}}

/* R7 booking account UI — matches the actual booking view classes. */
.booking-admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.booking-admin-nav a{padding:9px 12px;border:1px solid var(--border);background:var(--surface);text-decoration:none;font-weight:750}.booking-admin-nav a.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.booking-metrics{margin-bottom:16px}.booking-calendar-panel{overflow:hidden}.booking-calendar-panel>.booking-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-muted)}.booking-calendar-panel>.booking-calendar-head h2{margin:0;font-size:1.15rem}.booking-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--surface-muted)}.booking-calendar-weekdays span{padding:8px;text-align:center;font-size:.75rem;font-weight:800}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--border);gap:1px}.booking-calendar-grid .booking-day{min-height:128px;padding:8px;background:var(--surface);min-width:0}.booking-calendar-grid .booking-day.today{box-shadow:inset 0 0 0 2px var(--brand)}.booking-calendar-grid .booking-day.empty{background:var(--surface-muted)}.booking-day header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.booking-day-mobile-label{display:none}.booking-chip{display:grid;gap:1px;margin:5px 0;padding:6px 7px;border-left:3px solid var(--brand);background:var(--surface-muted);text-decoration:none;color:var(--text);font-size:.72rem;overflow:hidden}.booking-chip time{font-weight:850}.booking-chip b,.booking-chip span,.booking-chip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-chip.status-cancelled{opacity:.58;text-decoration:line-through}.booking-chip.status-completed{border-left-color:#3f7b50}.booking-chip.status-no_show{border-left-color:#9a5c37}.booking-calendar-panel+.table-panel{margin-top:18px}
@media(max-width:900px){.booking-calendar-weekdays{display:none}.booking-calendar-grid{display:block;background:transparent}.booking-calendar-grid .booking-day.empty{display:none}.booking-calendar-grid .booking-day{min-height:0;border-top:1px solid var(--border);padding:12px}.booking-calendar-grid .booking-day:not(.has-bookings){display:none}.booking-day header{margin-bottom:8px}.booking-day header>strong{display:none}.booking-day-mobile-label{display:block;font-weight:850}.booking-chip{font-size:.82rem;padding:9px}.booking-calendar-panel>.booking-calendar-head{padding:12px;flex-wrap:wrap}.booking-calendar-panel>.booking-calendar-head h2{order:-1;width:100%;text-align:center}}
@media(max-width:760px){.booking-admin-nav{display:grid;grid-template-columns:1fr 1fr}.booking-admin-nav a{display:grid;place-items:center;text-align:center;min-height:44px;padding:7px}.booking-calendar-panel>.booking-calendar-head .button{flex:1}.booking-metrics{grid-template-columns:1fr 1fr!important}}

/* R7.0.8.1 — calendar controls and in-place month navigation. */
.booking-calendar-address-form{margin-bottom:0}.booking-sync-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.booking-sync-actions .inline-form{margin:0}.booking-sync-actions .button{margin:0}.booking-calendar-panel.is-loading,.booking-metrics.is-loading,[data-booking-month-table].is-loading{opacity:.58;pointer-events:none}.booking-calendar-panel,.booking-metrics,[data-booking-month-table]{transition:opacity .15s ease}
@media(max-width:620px){.booking-sync-actions{display:grid;grid-template-columns:1fr}.booking-sync-actions .button,.booking-sync-actions .inline-form,.booking-sync-actions .inline-form .button{width:100%}}

/* R7 0.8.2 — clearer page builder, aligned booking settings and in-place editor feedback. */
.page-builder-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border-bottom:1px solid var(--border);background:var(--surface-muted)}
.page-builder-help>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.page-builder-help strong{display:block;margin-bottom:2px}.page-builder-help p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}
.page-builder-help-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:850}
.page-builder-item{grid-template-columns:46px minmax(0,1fr)}
.page-builder-item.is-hidden{opacity:.72;background:var(--surface-muted)}
.page-builder-main{gap:12px}.page-builder-card-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.page-builder-card-head>div{display:grid;gap:3px}.page-builder-card-head small{color:var(--muted);line-height:1.4}
.page-builder-state{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-muted);font-size:.75rem;font-weight:850}.is-shown .page-builder-state{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));color:var(--brand)}
.page-builder-heading-field{display:grid!important;gap:6px!important;margin:0!important}.page-builder-heading-field>span{font-size:.78rem;font-weight:850}.page-builder-heading-field input{margin:0!important}
.page-builder-card-actions{display:grid;grid-template-columns:auto minmax(170px,auto) minmax(210px,260px);gap:12px;align-items:end}.page-builder-card-actions .button{margin:0}.button-small{min-height:40px;padding:.55rem .8rem;font-size:.86rem}
.hosted-page-toggle{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:14px;border:1px solid var(--border);background:var(--surface-muted);margin:0!important}.hosted-page-toggle input{margin-top:3px!important}.hosted-page-toggle span{display:grid;gap:3px}.hosted-page-toggle small{color:var(--muted)}
.domain-status-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);background:var(--surface-muted)}.domain-dns{padding:12px;border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere}.domain-dns code{font-size:.88rem}
.booking-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:20px;align-items:start}.booking-rule-field{display:grid!important;grid-template-rows:auto minmax(44px,auto) auto;gap:7px!important;margin:0!important;align-self:stretch}.booking-rule-field input,.booking-rule-field select{width:100%;min-height:44px;margin:0!important;box-sizing:border-box}.booking-rule-field .field-label{align-self:end}.booking-rule-field .field-help{margin:0;line-height:1.4}.booking-rule-check{display:flex!important;align-items:flex-start!important;gap:10px!important;min-height:44px;padding:10px 0;margin:0!important}.booking-rule-check input{margin-top:3px!important}.booking-rule-check span{display:grid;gap:3px}.booking-rule-check small{color:var(--muted)}.booking-rules-actions{grid-column:1/-1;display:flex;justify-content:flex-end;border-top:1px solid var(--border-soft);padding-top:16px}
.rr-editor-loading{opacity:1;pointer-events:auto}.rr-save-toast{position:fixed;right:24px;bottom:24px;z-index:1000;padding:11px 15px;border:1px solid var(--border);background:var(--surface);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.16);font-weight:800;border-radius:8px}.rr-save-toast.is-error{border-color:#a83232}
@media(max-width:820px){.page-builder-help{grid-template-columns:1fr}.page-builder-card-actions{grid-template-columns:1fr}.page-builder-card-actions .button,.page-builder-visible,.page-builder-style{width:100%}.booking-rules-grid{grid-template-columns:1fr}.booking-rules-actions{grid-column:1}.page-builder-card-head{align-items:flex-start}.rr-save-toast{left:16px;right:16px;bottom:16px}}
.standalone-booking-page{min-height:70vh}.standalone-booking-heading{max-width:780px;margin-bottom:28px}.standalone-booking-locations{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:14px;border:1px solid var(--border);background:var(--surface)}.standalone-booking-page .booking-section{max-width:1000px}.standalone-booking-page .public-booking-form{margin-top:22px}@media(max-width:700px){.standalone-booking-locations{align-items:stretch;flex-direction:column}.standalone-booking-locations .button-row{display:grid;grid-template-columns:1fr}.standalone-booking-locations .button{width:100%}}

/* R7 0.8.3 — settings navigation, readable client address and simplified Page Builder. */
.settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}.settings-content{min-width:0}.settings-sidebar{position:sticky;top:1rem;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface)}.settings-sidebar-title{padding:.85rem .95rem;border-bottom:1px solid var(--border);background:var(--surface-muted);font-weight:850}.settings-sidebar-list{display:grid}.settings-sidebar-link{display:block;padding:.72rem .9rem;border-top:1px solid var(--border-soft);color:var(--text);text-decoration:none;font-weight:700}.settings-sidebar-link:first-child{border-top:0}.settings-sidebar-link:hover,.settings-sidebar-link.active{background:var(--surface-muted);text-decoration:none}.settings-sidebar-link.active{box-shadow:inset 4px 0 0 var(--brand)}.settings-content>.page-heading{margin-top:0}.settings-content>.panel+.panel,.settings-content>.page-heading+.panel{margin-top:18px}.settings-overview{max-width:980px}.settings-section{padding:22px}.settings-section>h2{margin-top:0}.locked-address{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:16px;border:1px solid var(--border);background:var(--surface-muted)}.locked-address-label{grid-column:1/-1;color:var(--muted);font-size:.82rem;font-weight:800}.locked-address strong{overflow-wrap:anywhere;font-size:1.05rem}.client-address-form{max-width:980px}.client-address-input-row{display:flex;align-items:stretch;min-width:0}.client-address-prefix{display:flex;align-items:center;padding:0 12px;border:1px solid var(--border);border-right:0;background:var(--surface-muted);white-space:nowrap;color:var(--muted);font-weight:700}.availability-input-wrap{position:relative;flex:1 1 auto;min-width:0}.availability-input-wrap input{padding-right:44px!important}.availability-icon{position:absolute;right:12px;top:50%;width:22px;height:22px;transform:translateY(-50%);display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:14px}.availability-icon.is-available{background:#dff4e6;color:#17663a}.availability-icon.is-unavailable{background:#fde4e4;color:#9c2525}.availability-icon.is-checking{border:2px solid var(--border);border-top-color:var(--brand);animation:rrspin .7s linear infinite}.availability-message{display:block;margin-top:7px;color:var(--muted);font-size:.86rem}.availability-message.is-available{color:#247348;font-weight:750}.availability-message.is-unavailable{color:#a23030;font-weight:750}.compact-notice{margin:0!important}.domain-status-heading{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
@keyframes rrspin{to{transform:translateY(-50%) rotate(360deg)}}

.business-page-admin .page-editor-sections{display:grid;gap:18px}.business-page-admin .page-editor-sections>.panel{margin:0}.business-page-admin .page-builder-panel+.publish-panel{margin-top:18px}.business-page-admin .panel{border-radius:6px}
.page-builder-panel{overflow:visible!important}.page-builder-list{display:grid;gap:14px;padding:18px}.compact-builder-row{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto auto;gap:12px;align-items:center}.page-builder-fixed{margin:18px 18px 0;padding:14px 16px;border-radius:6px}.page-builder-item{margin:0!important;padding:14px 16px!important;border-radius:6px!important;box-shadow:none!important}.page-builder-item.is-hidden{opacity:.72}.builder-row-copy{display:grid;gap:3px;min-width:0}.builder-row-copy strong{font-size:.98rem}.builder-row-copy small{color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.builder-row-visibility{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;white-space:nowrap;font-weight:800!important}.builder-row-visibility input{margin:0!important}.builder-row-edit{margin:0!important;min-width:72px}.page-builder-controls{grid-column:2/-1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr) auto;gap:14px;align-items:end;margin-top:4px;padding-top:14px;border-top:1px solid var(--border-soft)}.page-builder-controls[hidden]{display:none!important}.page-builder-controls label{display:grid!important;gap:6px!important;margin:0!important}.page-builder-controls label>span{font-size:.8rem;font-weight:850}.page-builder-controls input,.page-builder-controls select{margin:0!important;width:100%}.builder-content-action{display:flex;align-items:end}.builder-content-action .button{margin:0}.page-builder-actions{margin-top:0}.theme-choice-screenshot{aspect-ratio:4/3!important}.theme-choice-screenshot>img{object-fit:contain!important;object-position:top center!important;background:#fff}.theme-choice-applies{display:none!important}

@media(max-width:980px){.settings-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}.client-address-input-row{display:grid}.client-address-prefix{border-right:1px solid var(--border);border-bottom:0;white-space:normal;overflow-wrap:anywhere}.compact-builder-row{grid-template-columns:42px minmax(0,1fr) auto}.builder-row-edit{grid-column:3}.builder-row-visibility{grid-column:2}.page-builder-controls{grid-column:2/-1;grid-template-columns:1fr 1fr}.builder-content-action{grid-column:1/-1}}
@media(max-width:760px){.settings-layout{display:block}.settings-sidebar{position:static;margin-bottom:18px}.settings-sidebar-list{grid-template-columns:1fr 1fr}.settings-sidebar-link{border:1px solid var(--border-soft);border-left:0;border-right:0}.compact-builder-row{grid-template-columns:40px minmax(0,1fr) auto}.page-builder-fixed{margin:12px 12px 0}.page-builder-list{padding:12px;gap:12px}.builder-row-copy small{display:block}.page-builder-controls{grid-template-columns:1fr}.builder-content-action{grid-column:1}.page-builder-controls .button{width:100%}}
@media(max-width:520px){.settings-sidebar-list{grid-template-columns:1fr}.locked-address{grid-template-columns:1fr}.compact-builder-row{grid-template-columns:38px minmax(0,1fr)}.builder-row-visibility,.builder-row-edit{grid-column:2}.builder-row-edit{justify-self:start}.page-builder-controls{grid-column:1/-1}.client-address-prefix{font-size:.84rem}}
/* R7 0.8.3 — keep Business Page administration sections visually separate. */
.business-page-admin .app-main > .content-wrap.wide > :not(.notice):not(.page-heading):not(.business-page-sidebar){margin-bottom:18px}
.business-page-admin .app-main > .content-wrap.wide > .sticky-page-actions{margin-bottom:18px}

/* R7 0.8.6 — title/layout consistency, help, support and demo administration. */
.app-body .page-heading h1,.admin-body .page-heading h1{font-size:clamp(1.8rem,2.2vw,2.25rem);line-height:1.08;letter-spacing:-.015em;max-width:none;margin-bottom:.42rem}.app-body .page-heading p,.admin-body .page-heading p{max-width:78ch}.app-body input[type="search"],.admin-body input[type="search"]{width:100%;min-height:44px;padding:.72rem .8rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:0;box-sizing:border-box}
/* Business Page now follows the same title/sidebar geometry as Settings. */
.business-page-admin .app-main>.content-wrap.wide>.page-heading{grid-column:2;max-width:none;margin:0 0 18px}.business-page-admin .app-main>.content-wrap.wide>.business-page-sidebar{grid-column:1}.business-page-sidebar,.settings-sidebar{border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface)}.business-page-sidebar-title,.settings-sidebar-title{padding:.85rem .95rem;border-bottom:1px solid var(--border);background:var(--surface-muted);font-weight:850}.business-page-sidebar-link,.settings-sidebar-link{padding:.72rem .9rem}.business-page-admin .panel,.settings-admin .panel{border-radius:6px}
.help-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.help-search-form label{margin:0}.help-search-form .button-row{margin:0;align-items:center}.help-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:20px;align-items:start;margin-top:18px}.help-index{position:sticky;top:1rem;padding:0;overflow:hidden}.help-index h2{margin:0;padding:15px 16px;border-bottom:1px solid var(--border);font-size:1rem;background:var(--surface-muted)}.help-index h3{margin:14px 16px 5px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.help-index a{display:block;padding:7px 16px;color:var(--text);text-decoration:none;font-size:.88rem;line-height:1.35}.help-index a:hover{text-decoration:underline}.help-index a:last-child{margin-bottom:14px}.help-articles{display:grid;gap:18px}.help-article{scroll-margin-top:18px;margin:0}.help-article h2{margin-top:3px}.help-summary{font-size:1.03rem;color:var(--muted);max-width:78ch}.help-article-section{padding-top:16px;margin-top:16px;border-top:1px solid var(--border-soft)}.help-article-section h3{font-size:1.05rem}.help-article-section p{max-width:80ch;line-height:1.65}.help-category{margin:0;color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.help-article ol{padding-left:1.45rem}.help-article li{padding:.24rem 0;line-height:1.55}.help-links{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding-top:14px;margin-top:16px;border-top:1px solid var(--border-soft)}.help-links strong{font-size:.86rem}.help-links a{font-weight:750}.help-version{margin:18px 0 0;color:var(--muted);font-size:.82rem}.support-side-stack{display:grid;gap:18px;align-content:start}.support-filter-form{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(260px,1fr) auto;gap:14px;align-items:end}.support-filter-form label{margin:0}.support-filter-form .button{margin:0}.support-entry-grid{align-items:start}.demo-admin-image{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:22px;align-items:start}.demo-admin-image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);background:var(--surface-muted)}.demo-admin-form>.panel{margin-bottom:18px}
/* Theme chooser uses small purpose-built thumbnails and does not preload full-size screenshots. */
.theme-choice-screenshot>img{object-fit:cover!important}.theme-choice{contain:content}.theme-choice-screenshot{background:var(--surface-muted)}
@media(max-width:850px){.help-layout{grid-template-columns:1fr}.help-index{position:static}.help-search-form,.support-filter-form{grid-template-columns:1fr}.help-search-form .button-row{justify-content:flex-start}.demo-admin-image{grid-template-columns:1fr}}
@media(max-width:760px){.business-page-admin .app-main>.content-wrap.wide>.page-heading{grid-column:auto}.business-page-admin .app-main>.content-wrap.wide>.business-page-sidebar{grid-column:auto}}
.support-internal-notes pre{white-space:pre-wrap;margin:1rem 0 0;padding:1rem;background:var(--surface-subtle,#f5f7f6);border:1px solid var(--border,#d8dedb);border-radius:8px;font:inherit;line-height:1.55}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.form-grid.three{grid-template-columns:1fr}}

/* R7 0.8.7 — Business Page administration uses the same shell geometry as Settings. */
.business-page-admin .app-main > .content-wrap.wide{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.business-page-admin .app-main > .content-wrap.wide > .business-page-sidebar{
  grid-column:1;
  grid-row:1 / span 200;
  position:sticky;
  top:1rem;
  margin:0;
}
.business-page-admin .app-main > .content-wrap.wide > .page-heading{
  grid-column:2;
  grid-row:auto;
  margin:0 0 18px;
  max-width:none;
}
.business-page-admin .app-main > .content-wrap.wide > :not(.notice):not(.page-heading):not(.business-page-sidebar){
  grid-column:2;
  min-width:0;
}
.business-page-admin .page-heading h1,
.settings-admin .page-heading h1{
  font-size:1.8rem;
  line-height:1.12;
  letter-spacing:-.012em;
  margin:0 0 .42rem;
}
.business-page-admin .page-heading p,
.settings-admin .page-heading p{margin-top:0;}
.business-page-sidebar,
.settings-sidebar{width:auto;box-sizing:border-box;}
.business-page-sidebar-title,
.settings-sidebar-title{min-height:44px;display:flex;align-items:center;box-sizing:border-box;}
.business-page-sidebar-link,
.settings-sidebar-link{min-height:42px;display:flex;align-items:center;box-sizing:border-box;}
.business-page-sidebar-link.active{box-shadow:inset 4px 0 0 var(--brand);border-left-color:transparent;}
.admin-demo-editor .context-back-link{color:inherit;font-weight:800;text-decoration:none}.admin-demo-editor .context-back-link:hover{text-decoration:underline}
@media(max-width:980px){
 .business-page-admin .app-main > .content-wrap.wide{grid-template-columns:210px minmax(0,1fr);gap:18px}
}
@media(max-width:760px){
 .business-page-admin .app-main > .content-wrap.wide{display:block}
 .business-page-admin .app-main > .content-wrap.wide > .business-page-sidebar{position:static;margin:0 0 18px}
 .business-page-admin .business-page-sidebar-list{display:grid;grid-template-columns:1fr 1fr}
 .business-page-admin .business-page-sidebar-item + .business-page-sidebar-item{border-top:0}
 .business-page-admin .business-page-sidebar-link{border-top:1px solid var(--border-soft)}
 .business-page-admin .app-main > .content-wrap.wide > .page-heading{margin-bottom:18px}
}
@media(max-width:520px){.business-page-admin .business-page-sidebar-list{grid-template-columns:1fr}}


/* R7 0.8.8 — layout, no-flash theme and focused administration corrections. */
html[data-theme="dark"]{background:#0f1614;color:#edf2ef}
html[data-theme="light"]{background:#f4f7f6;color:#10201c}

/* Business Page: keep the Settings-style two-column shell without creating hundreds of implicit grid gaps. */
.business-page-admin .app-main > .content-wrap.wide{
  column-gap:24px!important;
  row-gap:0!important;
}
.business-page-admin .app-main > .content-wrap.wide > .page-heading{
  margin:0 0 10px!important;
  padding:0!important;
}
.business-page-admin .app-main > .content-wrap.wide > :not(.notice):not(.page-heading):not(.business-page-sidebar){
  margin-bottom:12px!important;
}
.business-page-admin .page-editor-sections{gap:12px!important}
.business-page-admin .page-editor-sections>.panel,
.business-page-admin .page-builder-panel,
.business-page-admin .publish-panel{padding-top:18px;padding-bottom:18px}
.business-page-admin .section-intro{margin-bottom:12px}
.business-page-admin .form-grid,
.business-page-admin .content-form-grid,
.business-page-admin .style-option-grid{gap:12px 16px}
.business-page-admin .panel + .panel{margin-top:12px}
.business-page-admin .sticky-page-actions{margin-bottom:12px!important}

/* Platform settings now use the same focused left-navigation pattern as client settings. */
.admin-settings-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.admin-settings-shell>.settings-sidebar{position:sticky;top:1rem}
.admin-settings-main{min-width:0}
.settings-sidebar-subtitle{padding:.85rem .95rem .42rem;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--border)}
.admin-settings-main>.page-heading{margin-top:0;margin-bottom:14px}
.admin-settings-main>.help-callout{margin-bottom:16px}
.admin-settings-main .settings-section-nav{display:none!important}

/* Starter message catalogue. */
.message-template-catalogue{margin-top:18px}
.message-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.message-template-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border);background:var(--surface-muted);border-radius:6px}
.message-template-card h3{margin:0;font-size:1rem}
.message-template-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45;flex:1}
.message-template-card .button{align-self:flex-start}

/* Admin client-help editor. */
.help-admin-list{display:grid;gap:10px}
.help-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--border);background:var(--surface-muted)}
.help-admin-row h3{margin:0 0 4px}.help-admin-row p{margin:0;color:var(--muted)}
.help-editor-section{display:grid;gap:10px;padding:16px;border:1px solid var(--border);background:var(--surface-muted);margin-bottom:12px}
.help-editor-section textarea{min-height:110px}
@media(max-width:980px){
  .admin-settings-shell{grid-template-columns:210px minmax(0,1fr);gap:18px}
  .message-template-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .admin-settings-shell{display:block}
  .admin-settings-shell>.settings-sidebar{position:static;margin-bottom:18px}
  .message-template-grid{grid-template-columns:1fr}
  .help-admin-row{grid-template-columns:1fr}
}

/* R7 0.8.9 — Business Page save/flash layout correction.
   Flash notices are part of the editor content column.  Letting them span both
   grid columns conflicts with the sticky sidebar's long row span and forces
   subsequent editor content into distant implicit grid rows after a save. */
.business-page-admin .app-main > .content-wrap.wide > .notice {
  grid-column: 2 !important;
  width: auto;
  margin: 0 0 10px !important;
  min-width: 0;
}
@media (max-width:760px) {
  .business-page-admin .app-main > .content-wrap.wide > .notice {
    grid-column: auto !important;
    margin-bottom: 12px !important;
  }
}

/* R7 0.8.14 — per-business logo sizing. */
.logo-display-controls{margin-top:1rem;border:1px solid var(--border);background:var(--surface-muted);padding:1rem;display:grid;gap:1rem}
.logo-display-copy h3{margin:0 0 .25rem;font-size:1rem}.logo-display-copy p{margin:0;color:var(--muted);max-width:78ch}
.logo-size-live-preview{min-height:110px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:flex-start;padding:1rem;overflow:hidden}
.logo-size-live-preview img{display:block;height:auto;max-height:120px;max-width:100%;object-fit:contain;object-position:left center}
.logo-size-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.logo-size-control-grid label{display:block}.logo-size-control-grid input[type="range"]{width:100%;margin-top:.65rem;accent-color:var(--brand)}
.logo-size-value{float:right;font-weight:800;color:var(--text)}.logo-mobile-width-control.is-disabled{opacity:.58}.logo-size-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.logo-size-actions .checkbox-row{margin:0}
@media(max-width:760px){.logo-size-control-grid{grid-template-columns:1fr}.logo-size-live-preview{min-height:90px}}

/* Public logo dimensions are controlled by Business Page -> Branding.  Width is user controlled;
   height remains automatic so logos are never stretched. Existing theme limits are intentionally
   overridden here so wide wordmarks can use the space they need. */
.business-public-body .business-logo{
  width:var(--business-logo-desktop-width,230px)!important;
  max-width:min(var(--business-logo-desktop-width,230px),75vw)!important;
  height:auto!important;
  max-height:150px!important;
  object-fit:contain!important;
}
.business-public-body.mode-full .business-site-brand.has-brand-logo img{
  width:var(--business-logo-desktop-width,230px)!important;
  max-width:min(var(--business-logo-desktop-width,230px),320px,46vw)!important;
  height:auto!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:700px){
  .business-public-body .business-logo{
    width:var(--business-logo-mobile-width,190px)!important;
    max-width:min(var(--business-logo-mobile-width,190px),78vw)!important;
    height:auto!important;
    max-height:110px!important;
  }
  .business-public-body.mode-full .business-site-brand.has-brand-logo img{
    width:var(--business-logo-mobile-width,190px)!important;
    max-width:min(var(--business-logo-mobile-width,190px),58vw)!important;
    height:auto!important;
    max-height:56px!important;
  }
}


/* R7 0.8.15 — hosted stability and consistency fixes. */
.business-page-admin .form-grid,.business-page-admin .content-form-grid,.business-page-admin .style-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.business-page-admin .form-grid>*,.business-page-admin .content-form-grid>*,.business-page-admin .style-option-grid>*,.business-page-admin .image-upload-card,.business-page-admin .branding-media-card{min-width:0;max-width:100%;box-sizing:border-box}
.business-page-admin input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),.business-page-admin select,.business-page-admin textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.business-page-admin .panel,.business-page-admin label,.business-page-admin p,.business-page-admin td{overflow-wrap:anywhere}
.business-page-admin .rr-editor-loading{opacity:1!important;pointer-events:auto!important;filter:none!important}
.booking-admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.booking-admin-nav .button{margin:0;min-height:42px;display:inline-flex;align-items:center;justify-content:center}.booking-admin-nav .button.active{box-shadow:inset 0 -3px 0 rgba(255,255,255,.35)}
.booking-service-form>label{display:grid!important;grid-template-rows:auto minmax(2.7em,auto) auto;align-content:start;gap:6px}.booking-service-form>label>.field-help{margin:0}.booking-service-form>label>input,.booking-service-form>label>select,.booking-service-form>label>textarea{margin:0!important}
.client-address-input-row{display:grid!important;grid-template-columns:max-content minmax(0,1fr);align-items:stretch}.client-address-prefix{min-height:46px;box-sizing:border-box;display:flex;align-items:center}.availability-input-wrap{display:flex;min-width:0}.availability-input-wrap input{width:100%;min-height:46px;margin:0!important;box-sizing:border-box}
@media(max-width:760px){.business-page-admin .form-grid,.business-page-admin .content-form-grid,.business-page-admin .style-option-grid{grid-template-columns:1fr}.booking-service-form>label{grid-template-rows:auto auto auto}.client-address-input-row{grid-template-columns:1fr}.booking-admin-nav{display:grid;grid-template-columns:1fr 1fr}.booking-admin-nav .button{width:100%}}

/* R7 0.8.16 complete marketing-site editor */
.marketing-editor-nav{max-height:calc(100vh - 40px);overflow:auto}
.marketing-editor-completeness{margin:0 0 16px}
.marketing-editor-completeness code{font-size:.78rem;padding:1px 4px;border:1px solid var(--border);background:var(--surface)}
.marketing-field-help{display:block;margin-top:6px;color:var(--muted);font-size:.72rem;line-height:1.35}
.marketing-section-fields .input-affix{max-width:none;width:100%}
.marketing-section-fields .input-affix input{min-width:0}
.marketing-section-card{align-self:start}
@media (max-width:1100px){.marketing-editor-nav{max-height:none;overflow:visible}}

/* R8 simplification */
.quick-request-panel{max-width:920px}.quick-request-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.quick-request-actions .button{min-width:150px}.r8-metrics{margin-bottom:28px}.r8-referral-list{display:grid;gap:0}.r8-referral-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--border,#b1b4b6)}.r8-referral-item:first-child{border-top:0}.compact-actions{gap:8px}.simple-activity-list{list-style:none;margin:0;padding:0}.simple-activity-list li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--border,#b1b4b6)}.simple-activity-list li:first-child{border-top:0}.simple-activity-list time{white-space:nowrap;color:var(--muted,#505a5f)}.review-destination-list{display:grid;gap:14px}.review-destination-item{border-top:1px solid var(--border,#b1b4b6);padding-top:14px}.review-destination-item:first-child{border-top:0}.review-destination-main{margin-bottom:10px;overflow-wrap:anywhere}.detail-fields{margin-top:16px}.settings-priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-muted{opacity:.58}.danger-link{color:#d4351c}.compact-filter-form{max-width:640px}
@media (max-width:700px){.quick-request-actions{display:grid;grid-template-columns:1fr}.quick-request-actions .button{width:100%;min-width:0}.r8-referral-item{align-items:flex-start;flex-direction:column}.simple-activity-list li{align-items:flex-start;flex-direction:column;gap:4px}.settings-priority-grid{grid-template-columns:1fr}.review-destination-item .button-row{align-items:flex-start}.r8-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.r8-metrics{grid-template-columns:1fr}}

/* R8 standalone referral fallback – functional surface pending the R9 public redesign. */
.r8-referral-page{padding:clamp(28px,6vw,72px) 16px}.r8-referral-shell{max-width:760px;margin:0 auto;background:var(--surface,#fff);border:1px solid var(--border,#b1b4b6);padding:clamp(22px,5vw,48px)}
.r8-referral-eyebrow{font-weight:700;margin:0 0 8px}.r8-referral-shell h1{font-size:clamp(2rem,7vw,3.6rem);line-height:1;margin:.15em 0}.r8-referral-location{margin:.5rem 0;color:var(--muted,#505a5f)}.r8-referral-intro{font-size:1.15rem;max-width:42rem}.r8-referral-actions,.r8-destination-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.r8-referral-block{border-top:1px solid var(--border,#b1b4b6);margin-top:32px;padding-top:28px}.r8-referral-block h2{margin-top:0}.r8-reward-note{font-weight:700}.r8-referral-form{display:grid;gap:18px}.r8-referral-form label{display:grid;gap:6px;font-weight:700}.r8-referral-form input,.r8-referral-form textarea{width:100%;box-sizing:border-box}.r8-referral-form .optional{font-weight:400;color:var(--muted,#505a5f);font-size:.9em}
@media(max-width:640px){.r8-referral-shell{padding:22px 18px;border-left:0;border-right:0}.r8-referral-page{padding:18px 0}.r8-referral-actions .rr9-btn,.r8-destination-links .rr9-btn{width:100%;justify-content:center;text-align:center}}


/* R8 maintenance 0.9.1 — review-site disclosure and Business Page shell correction. */
.review-site-edit { margin-top:.7rem; }
.review-site-edit > summary.review-edit-toggle {
  display:inline-flex;
  width:auto;
  min-height:38px;
  margin:0;
  list-style:none;
  cursor:pointer;
  user-select:none;
  gap:.42rem;
}
.review-site-edit > summary.review-edit-toggle::-webkit-details-marker { display:none; }
.review-site-edit > summary.review-edit-toggle::before {
  content:'▸';
  display:inline-block;
  line-height:1;
  transform:translateY(-1px);
}
.review-site-edit[open] > summary.review-edit-toggle::before { content:'▾'; }
.review-site-edit > summary.review-edit-toggle:hover {
  background:var(--surface-muted);
  border-color:var(--text-muted,var(--muted));
  text-decoration:none;
}
.review-site-edit > summary.review-edit-toggle:focus-visible {
  outline:3px solid var(--focus,#ffdd00);
  outline-offset:2px;
}
.review-site-edit > .stack-form { margin-top:1rem; }

/* R8 maintenance 0.9.2 — compact working dashboard and GOV.UK-style review-site controls. */
.button-link {
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:var(--link);
  font:inherit;
  font-weight:700;
  line-height:1.35;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  cursor:pointer;
}
.button-link:hover { text-decoration-thickness:2px; }
.button-link:focus-visible,
.review-edit-toggle:focus-visible,
.review-destination-actions > a:focus-visible,
.dashboard-card-heading > a:focus-visible,
.dashboard-action-links a:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:2px;
  background:var(--focus);
  color:var(--focus-text);
  text-decoration-color:var(--focus-text);
}

/* Client dashboard */
.r8-dashboard-top {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:1rem;
  align-items:stretch;
  margin:0 0 1rem;
}
.r8-dashboard-card { margin:0; min-width:0; }
.quick-request-panel { max-width:none; }
.r8-dashboard-card > h2,
.dashboard-card-heading h2 { margin:0; font-size:1.45rem; line-height:1.15; }
.quick-request-panel .stack-form { margin-top:1.15rem; gap:1rem; }
.quick-request-panel .stack-form > * { margin:0; }
.quick-request-panel label { margin-bottom:0; }
.quick-request-actions { margin-top:.15rem; }
.dashboard-card-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 .85rem;
}
.dashboard-card-heading > a { font-weight:700; white-space:nowrap; }
.dashboard-referrals-panel { display:flex; flex-direction:column; }
.dashboard-empty { color:var(--muted); margin:.3rem 0 0; }
.dashboard-referral-list { display:grid; margin-top:.1rem; }
.dashboard-referral-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.8rem 1rem;
  align-items:start;
  padding:.9rem 0;
  border-top:1px solid var(--border-soft);
}
.dashboard-referral-item:first-child { border-top:0; padding-top:.15rem; }
.dashboard-referral-copy { min-width:0; }
.dashboard-referral-copy strong,
.dashboard-referral-copy span { display:block; }
.dashboard-referral-copy span { margin-top:.16rem; color:var(--muted); font-size:.9rem; overflow-wrap:anywhere; }
.dashboard-action-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.4rem .8rem; font-size:.9rem; font-weight:700; }

.dashboard-results { margin:0 0 1rem; }
.dashboard-results-heading { display:flex; align-items:center; margin:0 0 .45rem; }
.dashboard-results-heading h2 { margin:0; color:var(--muted); font-size:.95rem; line-height:1.2; }
.dashboard-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:var(--surface);
  border:1px solid var(--border-soft);
  border-left:4px solid var(--brand);
}
.dashboard-metric { padding:.9rem 1rem; min-width:0; border-left:1px solid var(--border-soft); }
.dashboard-metric:first-child { border-left:0; }
.dashboard-metric strong { display:block; font-size:1.85rem; line-height:1; margin:0 0 .35rem; }
.dashboard-metric span { display:block; color:var(--muted); font-size:.9rem; }
.dashboard-activity-panel { margin-bottom:0; }
.dashboard-activity-panel .dashboard-card-heading { margin-bottom:.35rem; }
.dashboard-activity-list li { padding:.72rem 0; }
.dashboard-activity-list li div { min-width:0; }
.dashboard-activity-list li time { font-size:.88rem; }

/* Review sites */
.review-sites-panel { padding-top:1.2rem; }
.review-sites-heading h2 { margin:0 0 .4rem; font-size:1.45rem; }
.review-destination-list { display:grid; gap:0; margin-top:.35rem; border-top:1px solid var(--border); }
.review-destination-item { padding:1.05rem 0; border-top:0; border-bottom:1px solid var(--border); }
.review-destination-item:last-child { border-bottom:0; padding-bottom:.15rem; }
.review-destination-main { margin:0; min-width:0; }
.review-destination-title { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem .6rem; }
.review-destination-title strong { font-size:1.02rem; }
.review-destination-url { margin-top:.28rem; color:var(--muted); font-size:.9rem; overflow-wrap:anywhere; }
.review-destination-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.45rem .95rem;
  margin-top:.65rem;
}
.review-destination-actions > a,
.review-edit-toggle {
  color:var(--link);
  font-weight:700;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  cursor:pointer;
}
.review-destination-actions > a:hover,
.review-edit-toggle:hover { text-decoration-thickness:2px; }
.review-destination-actions .inline-form { display:inline-flex; }
.review-site-edit { display:inline-block; margin:0; min-width:0; }
.review-site-edit > summary.review-edit-toggle {
  display:inline;
  min-height:0;
  width:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--link);
  list-style:none;
  user-select:none;
  font-weight:700;
  line-height:1.35;
}
.review-site-edit > summary.review-edit-toggle::-webkit-details-marker { display:none; }
.review-site-edit > summary.review-edit-toggle::before,
.review-site-edit[open] > summary.review-edit-toggle::before { content:none; }
.review-site-edit > summary.review-edit-toggle:hover { background:transparent; border:0; color:var(--link); }
.review-site-edit[open] { flex-basis:100%; width:100%; margin-top:.2rem; }
.review-site-edit-panel {
  max-width:720px;
  margin:.75rem 0 .15rem;
  padding:1rem 1.1rem;
  border-left:4px solid var(--brand);
  background:var(--surface-muted);
}
.review-site-edit-panel .compact-form { max-width:680px; }
.review-site-edit-panel .compact-form label { margin:0; }
.review-edit-actions { align-items:center; }
.review-remove-form { margin:1rem 0 0; padding-top:.85rem; border-top:1px solid var(--border); }
.review-remove-form .danger-link { color:#d4351c; }
.review-site-add-panel { margin-top:1rem; }
.review-site-add-panel > h2 { margin-top:0; }

@media (max-width:980px) {
  .r8-dashboard-top { grid-template-columns:1fr; }
  .dashboard-referrals-panel { min-height:0; }
}
@media (max-width:700px) {
  .r8-dashboard-top { gap:.8rem; }
  .r8-dashboard-card { padding:1rem; }
  .quick-request-panel .form-grid { grid-template-columns:1fr; }
  .dashboard-metrics { grid-template-columns:1fr 1fr; }
  .dashboard-metric:nth-child(3) { border-left:0; border-top:1px solid var(--border-soft); }
  .dashboard-metric:nth-child(4) { border-top:1px solid var(--border-soft); }
  .dashboard-referral-item { grid-template-columns:1fr; }
  .dashboard-action-links { justify-content:flex-start; }
  .review-destination-actions { gap:.55rem .9rem; }
  .review-site-edit-panel { padding:.9rem; }
}
@media (max-width:420px) {
  .dashboard-metrics { grid-template-columns:1fr; }
  .dashboard-metric,
  .dashboard-metric:nth-child(3),
  .dashboard-metric:nth-child(4) { border-left:0; border-top:1px solid var(--border-soft); }
  .dashboard-metric:first-child { border-top:0; }
}

/* R8 maintenance 0.9.3 — restore dashboard hierarchy without restoring R7 clutter. */
.r8-dashboard-title {
  margin:0 0 1rem;
  font-size:2rem;
  line-height:1.08;
  letter-spacing:-.015em;
}
.r8-dashboard-top { align-items:start; }
.dashboard-referrals-panel {
  align-self:start;
  min-height:0;
  width:100%;
}
.dashboard-results-heading { margin-bottom:.5rem; }
.dashboard-results-heading h2 {
  color:var(--text);
  font-size:1rem;
  font-weight:700;
}
.dashboard-metric { padding:1rem 1.1rem; }
.dashboard-metric strong { font-size:2rem; }
.dashboard-activity-panel { margin-top:0; }
@media (max-width:700px) {
  .r8-dashboard-title { margin-bottom:.85rem; font-size:1.8rem; }
}


/* R8 maintenance 0.9.4 — consistent GOV.UK-style section help and checkbox hint hierarchy. */
.checkbox-row > span {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.checkbox-row > span > strong { display: block; }
.checkbox-row > span > small,
.checkbox-row > span > .field-help {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
  font-weight: 400;
}
.panel > h2 + .section-intro {
  margin: -.2rem 0 1rem;
  max-width: 760px;
  color: var(--muted);
  line-height: 1.5;
}

/* R9: dedicated customer review/referral experience. Intentionally separate from the GOV.UK-style client/admin UI. */
.customer-action-body{margin:0;background:#f3f5f4;color:#17211e;font-family:Arial,Helvetica,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}
.customer-action-main{min-height:calc(100vh - 58px)}
.customer-action-notices{width:min(760px,calc(100% - 32px));margin:20px auto 0}
.customer-action-footer{min-height:58px;display:flex;align-items:center;justify-content:center;padding:0 20px;color:#66716d;font-size:13px}
.review-action-page,.referral-profile-page{padding:clamp(22px,5vw,56px) 16px 20px}
.review-action-shell,.referral-profile-shell{width:min(720px,100%);margin:0 auto}
.review-action-brand,.referral-profile-brand{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;margin:0 auto 18px;text-align:center;min-height:72px}
.review-action-brand img,.referral-profile-brand img{display:block;max-width:min(290px,72vw);max-height:88px;width:auto;height:auto;object-fit:contain}
.review-action-brand strong,.referral-profile-brand strong{font-size:clamp(24px,5vw,34px);letter-spacing:-.02em}
.review-action-brand span,.referral-profile-brand span{font-size:14px;color:#5f6965}
.review-action-card,.referral-profile-card{background:#fff;border:1px solid #d7dcda;border-top:6px solid var(--action-brand,#234846);border-radius:14px;box-shadow:0 12px 34px rgba(23,33,30,.08);overflow:hidden}
.review-action-intro{padding:clamp(26px,5vw,42px) clamp(22px,5vw,44px) 24px}
.review-action-kicker{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--action-brand,#234846)}
.review-action-intro h1,.referral-profile-card h1{margin:0;color:#17211e;letter-spacing:-.035em;line-height:1.05}
.review-action-intro h1{font-size:clamp(30px,6vw,46px)}
.review-action-intro p{margin:14px 0 0;font-size:18px;color:#53605b}
.review-action-section{padding:28px clamp(22px,5vw,44px);border-top:1px solid #e0e4e2}
.review-action-section-heading{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;margin-bottom:20px}
.review-action-section-heading h2{margin:0 0 4px;font-size:24px;line-height:1.15;letter-spacing:-.02em;color:#17211e}
.review-action-section-heading p{margin:0;color:#5d6864}
.review-action-step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--action-brand,#234846);color:var(--action-brand-text,#fff);font-weight:800;font-size:15px}
.review-action-primary{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:16px 18px;border-radius:9px;background:var(--action-brand,#234846);color:var(--action-brand-text,#fff);text-decoration:none;font-weight:800;font-size:17px;box-shadow:0 2px 0 rgba(0,0,0,.2)}
.review-action-primary:hover{filter:brightness(.94)}
.review-action-primary:focus-visible,.review-share-button:focus-visible,.review-action-submit:focus-visible,.referral-primary-action:focus-visible,.referral-secondary-action:focus-visible{outline:3px solid #ffdd00;outline-offset:3px}
.review-destination-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);font-size:14px}
.review-action-secondary-destinations{margin-top:18px}
.review-action-or{display:block;margin-bottom:9px;font-size:14px;color:#68736f}
.review-action-link-list{display:flex;gap:10px 18px;flex-wrap:wrap}
.review-action-link-list a,.referral-review-links a{color:#164f47;text-underline-offset:3px;font-weight:700}
.review-action-link-list a:hover,.referral-review-links a:hover{text-decoration-thickness:3px}
.review-action-recommend{background:#fafbfa}
.review-action-reward{display:flex;flex-direction:column;gap:2px;margin:0 0 18px 52px;padding:13px 15px;border-left:4px solid var(--action-brand,#234846);background:#fff;border-radius:0 7px 7px 0}
.review-action-reward strong{font-size:17px}.review-action-reward span{font-size:14px;color:#5b6662}
.review-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-left:52px}
.review-share-button,.review-action-submit,.referral-primary-action,.referral-secondary-action{appearance:none;border:1px solid #8c9893;background:#fff;color:#153f39;text-decoration:none;border-radius:7px;min-height:48px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:800;cursor:pointer;box-sizing:border-box;text-align:center}
.review-share-whatsapp,.review-action-submit,.referral-primary-action{background:var(--action-brand,#234846);border-color:var(--action-brand,#234846);color:var(--action-brand-text,#fff);box-shadow:0 2px 0 rgba(0,0,0,.18)}
.review-share-button:hover,.referral-secondary-action:hover{background:#f2f5f4}.review-share-whatsapp:hover,.review-action-submit:hover,.referral-primary-action:hover{filter:brightness(.94)}
.review-share-native{grid-column:1/-1}
.review-action-small{margin:14px 0 0 52px;font-size:14px;color:#66716d}
.review-action-empty{margin:0 0 0 52px;padding:14px;background:#f7f8f8;border-left:4px solid #b1b4b6}
.review-referrer-setup{margin-left:52px}
.review-referrer-form{display:grid;gap:16px;margin-top:16px}
.review-referrer-form label,.referral-enquiry-form label{display:grid;gap:6px;font-weight:800;color:#24302c}
.review-referrer-form label small,.referral-enquiry-form label small{font-weight:400;color:#6a7470}
.review-referrer-form input,.referral-enquiry-form input,.referral-enquiry-form textarea{width:100%;box-sizing:border-box;border:2px solid #707a76;border-radius:4px;background:#fff;color:#17211e;padding:11px 12px;font:inherit}
.review-referrer-form input:focus,.referral-enquiry-form input:focus,.referral-enquiry-form textarea:focus{outline:3px solid #ffdd00;outline-offset:0;border-color:#17211e}
.review-referrer-contact-row,.referral-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.review-action-submit{justify-self:start;padding-inline:22px}
.review-action-positioning{margin:18px auto 0;max-width:560px;text-align:center;color:#69736f;font-size:14px}

.referral-profile-card{padding:clamp(26px,5vw,44px)}
.referral-profile-recommended{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 11px;border-radius:8px;background:#eef5f2;color:#1b4b42;font-weight:800;font-size:14px}
.referral-profile-recommended span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--action-brand,#234846);color:var(--action-brand-text,#fff);font-size:12px}
.referral-profile-card h1{font-size:clamp(34px,7vw,54px)}
.referral-profile-lead{margin:14px 0 0;max-width:610px;color:#56625d;font-size:18px}
.referral-profile-benefit{display:flex;flex-direction:column;gap:2px;margin-top:20px;padding:14px 16px;border-left:4px solid var(--action-brand,#234846);background:#f7f9f8}
.referral-profile-benefit strong{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#58635f}.referral-profile-benefit span{font-size:18px;font-weight:800}
.referral-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.referral-primary-action,.referral-secondary-action{min-width:150px}
.referral-profile-section{margin-top:30px;padding-top:26px;border-top:1px solid #dde2df}
.referral-profile-section h2{margin:0 0 6px;font-size:23px;letter-spacing:-.02em}.referral-profile-section>p{margin:0 0 16px;color:#626d68}
.referral-review-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.referral-enquiry-form{display:grid;gap:16px;margin-top:18px}.referral-enquiry-form textarea{resize:vertical;min-height:110px}.referral-enquiry-form .referral-primary-action{justify-self:start}

@media(max-width:640px){
  .review-action-page,.referral-profile-page{padding:14px 10px 12px}
  .review-action-brand,.referral-profile-brand{margin-bottom:12px;min-height:58px}.review-action-brand img,.referral-profile-brand img{max-height:66px;max-width:68vw}
  .review-action-card,.referral-profile-card{border-radius:10px}
  .review-action-intro{padding:24px 20px 20px}.review-action-intro p{font-size:16px}
  .review-action-section{padding:24px 20px}.review-action-section-heading{grid-template-columns:32px 1fr;gap:11px}.review-action-step{width:30px;height:30px}.review-action-section-heading h2{font-size:21px}
  .review-action-reward,.review-share-grid,.review-action-small,.review-action-empty,.review-referrer-setup{margin-left:0}
  .review-share-grid{grid-template-columns:1fr}.review-share-native{grid-column:auto}
  .review-referrer-contact-row,.referral-contact-row{grid-template-columns:1fr}
  .review-action-primary{font-size:16px;padding:14px 14px;grid-template-columns:34px 1fr auto}.review-destination-mark{width:30px;height:30px}
  .referral-profile-card{padding:25px 20px}.referral-profile-actions{display:grid;grid-template-columns:1fr}.referral-primary-action,.referral-secondary-action{width:100%;min-width:0}
  .referral-enquiry-form .referral-primary-action,.review-action-submit{width:100%;justify-self:stretch}
}

/* R9 QR page: separate review and recommendation destinations. */
.qr-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-gap-lg,1.5rem);margin-top:1rem}
.qr-purpose-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.15rem;align-items:start;padding:1rem;border:1px solid var(--border,#b1b4b6);background:var(--surface,#fff)}
.qr-purpose-preview{display:grid;place-items:center;padding:.75rem;background:#fff;border:1px solid #d7dcda;min-height:132px}
.qr-purpose-preview svg{display:block;width:120px;height:120px;max-width:100%}
.qr-purpose-copy h3{margin:.15rem 0 .35rem}.qr-purpose-copy .qr-url{margin:.75rem 0;overflow-wrap:anywhere}
@media(max-width:980px){.qr-purpose-grid{grid-template-columns:1fr}}
@media(max-width:620px){.qr-purpose-card{grid-template-columns:1fr}.qr-purpose-preview{justify-self:start}.qr-purpose-preview svg{width:112px;height:112px}}

/* R10 maintenance 0.11.5 — direct page previews and finished Business Profile templates. */
.client-page-surface-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.client-page-surface-card{display:flex;flex-direction:column;gap:1rem;min-width:0}
.client-page-surface-heading{display:grid;grid-template-columns:34px minmax(0,1fr);gap:.75rem;align-items:start}
.client-page-surface-heading h2{margin:0 0 .3rem}
.client-page-surface-heading p{margin:0;color:var(--muted);line-height:1.45}
.client-page-surface-number{width:30px;height:30px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:800;border-radius:50%}
.client-page-preview-example{padding:.65rem .75rem;border-left:4px solid var(--brand);background:var(--surface-muted);font-size:.92rem}
.client-page-surface-card .button-row{margin-top:auto}

.profile-template-panel>.section-heading-row{align-items:flex-start}
.profile-template-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}
.profile-template-card{display:flex;flex-direction:column;border:2px solid var(--border);background:var(--surface);min-width:0}
.profile-template-card.is-current{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 18%,transparent)}
.profile-template-preview{height:150px;position:relative;overflow:hidden;background:#eef2f0;border-bottom:1px solid var(--border)}
.profile-template-mini-header{position:absolute;left:8%;right:8%;top:8%;height:8%;background:#213c36}
.profile-template-mini-hero{position:absolute;left:8%;right:8%;top:24%;height:34%;background:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:7%;padding:7%;box-sizing:border-box}
.profile-template-mini-hero i{display:block;background:#1d302c;box-shadow:0 12px 0 -7px #94a39e,0 24px 0 -7px #c7d0cd}
.profile-template-mini-hero b{display:block;background:#c4d0cc}
.profile-template-mini-sections{position:absolute;left:8%;right:8%;bottom:8%;height:24%;display:grid;grid-template-columns:repeat(3,1fr);gap:5%}
.profile-template-mini-sections i{display:block;background:#fff;border-top:4px solid #587e73}
.profile-template-preview-local_service{background:#e6ece9}.profile-template-preview-local_service .profile-template-mini-hero{background:#18312b}.profile-template-preview-local_service .profile-template-mini-hero i{background:#fff;box-shadow:0 12px 0 -7px #d8e0dd,0 24px 0 -7px #80928c}.profile-template-preview-local_service .profile-template-mini-hero b{background:#a6b8b1}
.profile-template-preview-professional{background:#f3eee6}.profile-template-preview-professional .profile-template-mini-header{background:#4a453d}.profile-template-preview-professional .profile-template-mini-hero{grid-template-columns:1fr;background:#fff}.profile-template-preview-professional .profile-template-mini-hero b{display:none}.profile-template-preview-professional .profile-template-mini-sections i{border-top-color:#9a8161}
.profile-template-preview-portfolio{background:#172622}.profile-template-preview-portfolio .profile-template-mini-header{background:#e9efed}.profile-template-preview-portfolio .profile-template-mini-hero{inset:20% 8% 22%;height:auto;background:#587068}.profile-template-preview-portfolio .profile-template-mini-hero i{background:#fff;box-shadow:0 12px 0 -7px #dbe3e0,0 24px 0 -7px #9fafa9}.profile-template-preview-portfolio .profile-template-mini-hero b{background:#82978f}.profile-template-preview-portfolio .profile-template-mini-sections{display:none}
.profile-template-preview-appointment{background:#f5ece8}.profile-template-preview-appointment .profile-template-mini-header{background:#6f4858}.profile-template-preview-appointment .profile-template-mini-hero{border-radius:8px}.profile-template-preview-appointment .profile-template-mini-sections i{border:1px solid #d8c8c1;border-top:4px solid #8a6070;border-radius:5px}
.profile-template-preview-simple_referral{background:#f5f6f5}.profile-template-preview-simple_referral .profile-template-mini-hero{grid-template-columns:1fr;background:transparent;padding:5% 8%}.profile-template-preview-simple_referral .profile-template-mini-hero b{display:none}.profile-template-preview-simple_referral .profile-template-mini-sections{grid-template-columns:1fr 1fr}.profile-template-preview-simple_referral .profile-template-mini-sections i:nth-child(3){display:none}
.profile-template-copy{display:flex;flex-direction:column;gap:.65rem;padding:.9rem;flex:1}
.profile-template-copy h3,.profile-template-copy p{margin:0}
.profile-template-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.profile-template-copy .button-row{margin-top:auto;align-items:center}.profile-template-copy form{margin:0}
.referral-preview-banner{display:flex;align-items:center;gap:.75rem;margin:0 auto 14px;padding:10px 14px;border:1px solid #b8c5c0;background:#fff7d6;color:#31372f;border-radius:8px;font-size:14px}.referral-preview-banner strong{background:#ffdd00;padding:2px 6px;color:#111}

@media(max-width:1200px){.profile-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-page-surface-grid{grid-template-columns:1fr 1fr}.client-page-surface-card:last-child{grid-column:1/-1}}
@media(max-width:760px){.client-page-surface-grid,.profile-template-grid{grid-template-columns:1fr}.client-page-surface-card:last-child{grid-column:auto}.profile-template-preview{height:170px}}

/* R10 maintenance 0.11.6 — clear page ownership and simplified public-page editors. */
.public-page-editor-heading .back-link,.page-heading .back-link{display:inline-block;margin-bottom:.55rem;font-weight:750}
.page-purpose-banner{display:flex;gap:.6rem 1rem;align-items:flex-start;flex-wrap:wrap;margin:0 0 1rem;padding:.85rem 1rem;border-left:4px solid var(--brand);background:var(--surface-muted);line-height:1.45}
.page-purpose-banner strong{white-space:nowrap}.page-purpose-banner span{color:var(--muted)}
.simple-page-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.simple-editor-card{display:flex;flex-direction:column;gap:.7rem;min-width:0}
.simple-editor-card>div:first-child{display:flex;align-items:center;gap:.6rem}.simple-editor-card h2{margin:0}.simple-editor-card p{margin:0}.simple-editor-card .button{margin-top:auto;align-self:flex-start}
.simple-editor-step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-weight:850;flex:0 0 auto}
.simple-editor-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center}.simple-editor-footer h2,.simple-editor-footer p{margin:.1rem 0}
.simple-brand-summary{display:flex;align-items:center;gap:.85rem;min-height:54px}.simple-brand-summary img{display:block;max-width:180px;max-height:54px;object-fit:contain;object-position:left center}.brand-colour-chip{width:34px;height:34px;border-radius:50%;background:var(--chip-colour);border:2px solid var(--border);box-shadow:0 0 0 2px var(--surface)}
.compact-summary-list{margin:0;display:grid;gap:.4rem}.compact-summary-list div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--border-soft)}.compact-summary-list dt{font-weight:800}.compact-summary-list dd{margin:0;overflow-wrap:anywhere}
.simple-profile-section{margin-bottom:1rem}.simple-profile-section>.section-heading-row{align-items:flex-start}
.profile-template-real-preview{height:155px;background:#fff;border-bottom:1px solid var(--border);overflow:hidden}.profile-template-real-preview img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center}
.profile-template-grid-real .profile-template-card{min-height:420px}.profile-template-grid-real .profile-template-copy{gap:.6rem}
.simple-profile-settings-form{max-width:760px}.simple-colour-input{display:flex;align-items:center;gap:.65rem}.simple-colour-input input[type=color]{width:54px;height:44px;padding:2px;border:1px solid var(--border);background:var(--surface)}.simple-colour-input input[type=text]{max-width:150px;text-transform:uppercase}
.simple-media-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.simple-media-card{padding:1rem;border:1px solid var(--border);background:var(--surface-muted)}.simple-media-card h3{margin-top:0}.simple-media-card>img{display:block;max-width:250px;max-height:100px;object-fit:contain;object-position:left center;margin:0 0 .8rem}.simple-media-card>img.simple-cover-preview{max-width:100%;width:100%;height:150px;object-fit:cover}.simple-media-card form{display:grid;gap:.6rem}
.profile-content-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.profile-content-menu a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.profile-content-menu a:nth-child(odd){border-right:1px solid var(--border)}.profile-content-menu a:hover{background:var(--surface-muted);text-decoration:none}.profile-content-menu a strong{font-size:1.05rem}.profile-content-menu a span{color:var(--muted);text-align:right}
.advanced-profile-panel details>summary{cursor:pointer}.advanced-profile-panel details[open] summary{margin-bottom:.75rem}
.business-page-sidebar-title small{display:block;margin-top:.25rem;font-weight:500;line-height:1.35;color:var(--muted)}
.client-page-surface-grid-editable .client-page-surface-card{min-height:245px}.client-page-surface-grid-editable .button-row{align-items:center}
@media(max-width:980px){.simple-page-editor-grid{grid-template-columns:1fr 1fr}.simple-media-row{grid-template-columns:1fr}.profile-template-grid-real .profile-template-card{min-height:0}}
@media(max-width:720px){.simple-page-editor-grid,.profile-content-menu{grid-template-columns:1fr}.profile-content-menu a:nth-child(odd){border-right:0}.simple-editor-footer{align-items:flex-start;flex-direction:column}.page-purpose-banner{display:block}.page-purpose-banner strong{display:block;margin-bottom:.25rem;white-space:normal}}

/* R10 maintenance 0.11.7 — hard simplification of public-page editing. */
.page-simple-settings-list{padding:0;overflow:hidden}
.page-setting-row{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--border)}
.page-setting-row:last-child{border-bottom:0}.page-setting-row h2{margin:0 0 .25rem;font-size:1.08rem}.page-setting-row p{margin:0;color:var(--muted)}
.page-setting-row .simple-brand-summary{min-height:38px}.page-setting-row .simple-brand-summary img{max-height:38px;max-width:150px}
.compact-branding-editor{max-width:760px}.compact-branding-editor hr{margin:1.5rem 0;border:0;border-top:1px solid var(--border)}
.shared-logo-preview{padding:1rem;margin:.5rem 0 1rem;border:1px solid var(--border);background:var(--surface-muted)}.shared-logo-preview img{display:block;max-height:84px;max-width:260px;object-fit:contain;object-position:left center}
.profile-editor-summary{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}
.profile-editor-summary-main{display:flex;align-items:center;gap:1rem;min-width:0}.profile-editor-summary-main img{display:block;width:190px;height:105px;object-fit:cover;object-position:top;border:1px solid var(--border)}
.profile-editor-summary-main h2,.profile-editor-summary-main p{margin:.1rem 0}.profile-editor-summary-main p{color:var(--muted)}
.profile-section-list{border-top:1px solid var(--border);margin-bottom:1rem}.profile-section-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}
.profile-section-row .checkbox-row{margin:0;flex:1}.profile-section-row .checkbox-row strong{font-size:1rem}.profile-section-row .field-help{margin-top:.15rem}
.optional-sections{margin:0 0 1rem}.optional-sections>summary{cursor:pointer;padding:.8rem 0;font-size:1rem}.optional-sections[open]>summary{margin-bottom:.25rem}
.button-small{padding:.45rem .75rem;min-height:auto}
.compact-profile-details-form{max-width:760px}
.simple-settings-details{border-top:1px solid var(--border);margin-top:.75rem}.simple-settings-details>summary{cursor:pointer;padding:1rem 0}.simple-settings-details[open]>summary{border-bottom:1px solid var(--border);margin-bottom:1rem}
.cover-image-simple-editor{display:grid;grid-template-columns:minmax(240px,420px) minmax(260px,1fr);gap:1rem;align-items:start}.cover-image-simple-editor>img{display:block;width:100%;max-height:180px;object-fit:cover;border:1px solid var(--border)}
.template-picker-page .profile-template-card{min-height:0}.template-picker-page .profile-template-copy h2{font-size:1.15rem}
@media(max-width:800px){.page-setting-row,.profile-editor-summary{align-items:flex-start;flex-direction:column}.profile-editor-summary-main{align-items:flex-start;flex-direction:column}.profile-editor-summary-main img{width:100%;height:160px}.cover-image-simple-editor{grid-template-columns:1fr}.profile-section-row{align-items:flex-start}.profile-section-row .button{flex:0 0 auto}}

/* R10 maintenance 0.11.8 — guided wizard flow for all three public pages. */
.wizard-page-heading{margin-bottom:1rem}.wizard-page-heading h1{margin-bottom:.35rem}.wizard-page-heading p{margin:0;color:var(--muted);max-width:58ch}
.page-wizard-nav{margin:0 0 1.2rem;overflow-x:auto}.page-wizard-nav ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));border:1px solid var(--border);background:var(--surface)}
.page-wizard-nav li{min-width:0;border-right:1px solid var(--border)}.page-wizard-nav li:last-child{border-right:0}.page-wizard-nav a{display:flex;align-items:center;gap:.55rem;padding:.75rem .8rem;color:var(--text);text-decoration:none;font-weight:750;white-space:nowrap}.page-wizard-nav a:hover{background:var(--surface-muted);text-decoration:none}.page-wizard-nav li.is-current a{background:var(--surface-strong);box-shadow:inset 0 -4px 0 var(--brand)}
.page-wizard-nav a span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--surface-muted);border:1px solid var(--border);font-size:.82rem;flex:0 0 auto}.page-wizard-nav li.is-current a span{background:var(--brand);border-color:var(--brand);color:var(--brand-text)}
.wizard-panel{max-width:920px;padding:1.35rem;margin-bottom:1rem}.wizard-step-heading{display:flex;gap:.85rem;align-items:flex-start;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-soft)}.wizard-step-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--brand-text);font-weight:850;flex:0 0 auto}.wizard-step-heading h2{margin:0 0 .25rem}.wizard-step-heading p{margin:0;color:var(--muted);max-width:64ch}
.wizard-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.15rem}.wizard-actions .button-link{margin-left:0}.wizard-actions-bottom{padding-top:.4rem;border-top:1px solid var(--border-soft)}
.wizard-summary-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:.5rem 0}.wizard-summary-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0}.wizard-summary-list span{color:var(--muted);text-align:right}
.wizard-brand-preview{display:flex;align-items:center;gap:1rem;min-height:76px;padding:1rem;border:1px solid var(--border);background:var(--surface-muted);max-width:620px}.wizard-brand-preview img{display:block;max-width:240px;max-height:70px;object-fit:contain;object-position:left center}.wizard-brand-preview strong{font-size:1.2rem}
.wizard-check-list,.wizard-publish-summary{display:grid;gap:.25rem;max-width:620px;padding:1rem;background:var(--surface-muted);border-left:4px solid var(--brand)}.wizard-check-list p,.wizard-publish-summary p{margin:0;padding:.35rem 0;border-bottom:1px solid var(--border-soft)}.wizard-check-list p:last-child,.wizard-publish-summary p:last-child{border-bottom:0}
.wizard-form{max-width:760px}.wizard-form .form-grid{margin-bottom:.8rem}.wizard-template-current{display:grid;grid-template-columns:260px 1fr;gap:1rem;align-items:center;max-width:760px;border:1px solid var(--border);background:var(--surface-muted);padding:.8rem}.wizard-template-current img{display:block;width:100%;height:145px;object-fit:cover;object-position:top;border:1px solid var(--border)}.wizard-template-current strong{display:block;font-size:1.2rem;margin-bottom:.25rem}.wizard-template-current span{color:var(--muted)}
.wizard-toggle-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);max-width:820px}.wizard-toggle-list .checkbox-row{margin:0;padding:.85rem;border-bottom:1px solid var(--border);min-height:74px}.wizard-toggle-list .checkbox-row:nth-child(odd){border-right:1px solid var(--border)}.wizard-optional{max-width:820px;margin-top:1rem}.wizard-optional>summary{cursor:pointer;padding:.8rem 0}.wizard-optional[open]>summary{margin-bottom:.25rem}
.wizard-intro-form{padding:1rem;background:var(--surface-muted);border:1px solid var(--border);margin-bottom:1rem}.wizard-content-links{display:grid;grid-template-columns:1fr 1fr;max-width:820px;border-top:1px solid var(--border)}.wizard-content-links a{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.85rem;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;align-items:center}.wizard-content-links a:nth-child(odd){border-right:1px solid var(--border)}.wizard-content-links a:hover{background:var(--surface-muted);text-decoration:none}.wizard-content-links span{grid-column:1;color:var(--muted);font-size:.9rem}.wizard-content-links em{grid-column:2;grid-row:1/3;font-style:normal;color:var(--link);font-weight:750}
.wizard-cover-editor{max-width:760px;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border)}.wizard-cover-editor h3{margin-bottom:.6rem}.wizard-cover-editor>img{display:block;width:min(100%,520px);height:170px;object-fit:cover;border:1px solid var(--border);margin-bottom:.8rem}
.warning-box{padding:.85rem 1rem;background:var(--warning-bg);border-left:4px solid var(--warning-border);max-width:760px}
@media(max-width:900px){.page-wizard-nav ol{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr)}.wizard-toggle-list,.wizard-content-links{grid-template-columns:1fr}.wizard-toggle-list .checkbox-row:nth-child(odd),.wizard-content-links a:nth-child(odd){border-right:0}.wizard-template-current{grid-template-columns:1fr}.wizard-template-current img{height:180px}}
@media(max-width:620px){.wizard-page-heading{display:block}.wizard-page-heading>.button,.wizard-page-heading>.button-row{margin-top:.8rem}.wizard-panel{padding:1rem}.wizard-step-heading>span{width:30px;height:30px}.wizard-summary-list>div{display:block}.wizard-summary-list span{display:block;text-align:left;margin-top:.2rem}.wizard-actions{align-items:stretch}.wizard-actions .button{width:100%}.wizard-actions .button-link{width:auto}.wizard-brand-preview{align-items:flex-start;flex-direction:column}.wizard-brand-preview img{max-width:100%}}

/* R10 maintenance 0.11.9 — final public-page editor simplification. */
.page-wizard-shell{display:grid;grid-template-columns:230px minmax(0,780px);gap:1.5rem;align-items:start;max-width:1060px}
.page-wizard-sidebar{border:1px solid var(--border);background:var(--surface);position:sticky;top:1rem}
.page-wizard-sidebar-title{padding:1rem;border-bottom:1px solid var(--border);display:grid;gap:.25rem}.page-wizard-sidebar-title strong{font-size:1.08rem}.page-wizard-sidebar-title span{color:var(--muted);font-size:.9rem}
.page-wizard-sidebar ol{list-style:none;margin:0;padding:0}.page-wizard-sidebar li{border-bottom:1px solid var(--border-soft)}.page-wizard-sidebar li:last-child{border-bottom:0}.page-wizard-sidebar a{display:flex;gap:.65rem;align-items:center;padding:.9rem 1rem;color:var(--text);text-decoration:none}.page-wizard-sidebar a:hover{background:var(--surface-muted);text-decoration:none}.page-wizard-sidebar li.is-current a{background:var(--surface-strong);box-shadow:inset 4px 0 0 var(--brand)}
.page-wizard-sidebar a>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border);border-radius:50%;font-size:.8rem;flex:0 0 auto}.page-wizard-sidebar li.is-current a>span{background:var(--brand);border-color:var(--brand);color:var(--brand-text)}
.page-wizard-main{min-width:0}.page-wizard-mobile-progress{display:none}.page-wizard-main .wizard-panel{max-width:none;margin:0;padding:1.25rem}.public-page-editor-heading{max-width:1060px;margin-bottom:1rem}.public-page-editor-heading .shared-setting-note{margin-top:.5rem;color:var(--muted)}
.wizard-toggle-list.single-column{grid-template-columns:1fr;max-width:700px}.wizard-toggle-list.single-column .checkbox-row:nth-child(odd){border-right:0}
.simple-destination-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:680px}.simple-destination-list>div{display:flex;align-items:center;gap:.6rem;padding:.75rem 0;border-bottom:1px solid var(--border-soft)}.simple-destination-list>div:last-child{border-bottom:0}.simple-destination-list .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}
.business-contact-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);max-width:680px;margin-bottom:1rem}.business-contact-summary>div{background:var(--surface-muted);padding:.8rem}.business-contact-summary span{display:block;color:var(--muted);font-size:.88rem;margin-bottom:.2rem}.business-contact-summary strong{overflow-wrap:anywhere}
.shared-page-settings{margin-top:1.4rem;max-width:1060px}.shared-page-settings>p{max-width:70ch}.shared-page-settings-list{border-top:1px solid var(--border)}.shared-page-settings-list a{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border);align-items:center;color:var(--text);text-decoration:none}.shared-page-settings-list a:hover{background:var(--surface-muted);text-decoration:none}.shared-page-settings-list span{color:var(--muted)}.shared-page-settings-list em{font-style:normal;color:var(--link);font-weight:750}
.shared-branding-simple{max-width:760px}.shared-branding-block+.shared-branding-block{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.shared-logo-preview.improved{display:flex;align-items:center;justify-content:flex-start;min-height:110px;max-width:520px;background:#fff;border:1px solid var(--border);padding:1rem;margin-bottom:.8rem}.shared-logo-preview.improved img{max-width:320px;max-height:80px;object-fit:contain}.compact-upload-form{max-width:520px}.brand-colour-simple{display:flex;align-items:center;gap:.75rem;margin-top:.4rem}.brand-colour-simple input[type=color]{width:64px;height:48px;padding:2px;border:1px solid var(--border);background:var(--surface)}.brand-colour-simple span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
.wizard-task-list{border-top:1px solid var(--border);max-width:720px}.wizard-task-list a{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.8rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.wizard-task-list a:hover{background:var(--surface-muted);text-decoration:none}.wizard-task-list span{display:grid;gap:.15rem}.wizard-task-list small{color:var(--muted)}.wizard-task-list em{font-style:normal;color:var(--muted);font-size:.9rem}.wizard-task-list b{color:var(--link)}
.clean-cover-editor{margin-top:0;padding-top:0;border-top:0}.business-profile-return{display:block;padding:.8rem 1rem;border-bottom:1px solid var(--border);font-weight:750}
/* Retire the old horizontal step bar where it still exists in cached markup. */
.page-wizard-nav{display:none!important}
@media(max-width:900px){.page-wizard-shell{grid-template-columns:200px minmax(0,1fr);gap:1rem}.shared-page-settings-list a{grid-template-columns:150px minmax(0,1fr) auto}}
@media(max-width:720px){.page-wizard-shell{display:block}.page-wizard-sidebar{display:none}.page-wizard-mobile-progress{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;margin-bottom:.75rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.page-wizard-mobile-progress span{color:var(--muted);text-align:right}.page-wizard-main .wizard-panel{padding:1rem}.shared-page-settings-list a{grid-template-columns:1fr auto;gap:.2rem 1rem}.shared-page-settings-list span{grid-column:1}.shared-page-settings-list em{grid-column:2;grid-row:1/3}.business-contact-summary{grid-template-columns:1fr}.wizard-task-list a{grid-template-columns:minmax(0,1fr) auto}.wizard-task-list em{grid-column:1}.wizard-task-list b{grid-column:2;grid-row:1/3}.wizard-actions{align-items:stretch}.wizard-actions .button{width:100%}.wizard-actions .button-link{width:auto}.public-page-editor-heading{margin-bottom:.75rem}}
@media(max-width:480px){.page-wizard-mobile-progress{display:block}.page-wizard-mobile-progress span{display:block;text-align:left;margin-top:.2rem}.shared-logo-preview.improved img{max-width:100%}}

/* R10 0.11.10 public-page graphical refresh */
.graphical-page{--tr-chip-border:#cbd6d1;--tr-chip-bg:#f6f8f7;--tr-chip-text:#173d37;--tr-soft:#eef4f1}
.graphical-page .button-icon,.graphical-page .chip-icon,.graphical-page .inline-icon,.graphical-page .review-primary-arrow,.graphical-page .setup-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.graphical-page .button-icon svg,.graphical-page .chip-icon svg,.graphical-page .inline-icon svg,.graphical-page .review-primary-arrow svg,.graphical-page .setup-icon svg{width:18px;height:18px;display:block}
.graphical-intro{background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}
.platform-cta .review-primary-arrow svg{width:19px;height:19px}
.review-action-link-grid,.referral-platform-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.review-action-link-chip,.icon-chip-action,.review-site-edit>summary{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border:1px solid var(--tr-chip-border);border-radius:8px;background:var(--tr-chip-bg);color:var(--tr-chip-text);text-decoration:none;font-weight:800;box-sizing:border-box}
.review-action-link-chip:hover,.icon-chip-action:hover,.review-site-edit>summary:hover{background:#edf3f0}
.platform-chip-mark{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:900;background:#dfeae5;color:#173d37;flex:0 0 auto}
.review-action-primary .review-destination-mark{font-weight:900}
.platform-google .platform-chip-mark,.platform-google.review-action-link-chip,.platform-google.platform-cta{--platform-accent:#1a73e8}
.platform-facebook .platform-chip-mark,.platform-facebook.review-action-link-chip,.platform-facebook.platform-cta{--platform-accent:#1877f2}
.platform-trustpilot .platform-chip-mark,.platform-trustpilot.review-action-link-chip,.platform-trustpilot.platform-cta{--platform-accent:#00b67a}
.platform-checkatrade .platform-chip-mark,.platform-checkatrade.review-action-link-chip,.platform-checkatrade.platform-cta{--platform-accent:#ffcc00}
.platform-tripadvisor .platform-chip-mark,.platform-tripadvisor.review-action-link-chip,.platform-tripadvisor.platform-cta{--platform-accent:#34e0a1}
.platform-amazon .platform-chip-mark,.platform-amazon.review-action-link-chip,.platform-amazon.platform-cta{--platform-accent:#ff9900}
.platform-yell .platform-chip-mark,.platform-yell.review-action-link-chip,.platform-yell.platform-cta{--platform-accent:#ffd400}
.platform-reviews-io .platform-chip-mark,.platform-reviews-io.review-action-link-chip,.platform-reviews-io.platform-cta{--platform-accent:#5e3bea}
.platform-website .platform-chip-mark,.platform-website.review-action-link-chip,.platform-website.platform-cta{--platform-accent:#5d6d67}
.platform-custom .platform-chip-mark,.platform-custom.review-action-link-chip,.platform-custom.platform-cta{--platform-accent:#5d6d67}
.review-action-link-chip{justify-content:flex-start}
.review-action-link-chip .platform-chip-mark,.platform-cta .review-destination-mark,.enhanced-review-destination-item .platform-chip-mark{background:color-mix(in srgb,var(--platform-accent,#234846) 14%,#fff);color:#173d37;border:1px solid color-mix(in srgb,var(--platform-accent,#234846) 32%,#d0dad5)}
.platform-cta{box-shadow:0 8px 18px rgba(18,37,33,.08)}
.platform-cta:hover{transform:translateY(-1px)}
.review-action-secondary-destinations{margin-top:20px}
.review-action-or{margin-bottom:10px;font-weight:700;color:#5c6864}
.graphical-callout{border-radius:10px;background:#f8faf9}
.graphical-callout .inline-icon{margin-right:8px;color:#234846}
.review-action-reward strong{display:flex;align-items:center}
.icon-share-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.icon-share-grid .review-share-button,.icon-action-grid .referral-quick-action,.referral-submit-action,.review-action-submit{gap:10px}
.icon-share-grid .review-share-button,.icon-action-grid .referral-quick-action,.icon-chip-action{justify-content:flex-start}
.review-share-button .button-icon,.referral-quick-action .button-icon,.referral-submit-action .button-icon,.review-action-submit .button-icon{width:20px;height:20px;color:currentColor}
.review-share-button .button-icon svg,.referral-quick-action .button-icon svg,.referral-submit-action .button-icon svg,.review-action-submit .button-icon svg{width:20px;height:20px}
.enhanced-referrer-setup{background:#f8faf9;border:1px solid #dbe3df;border-radius:12px;padding:18px}
.review-referrer-intro{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;color:#52615c}
.review-referrer-intro p{margin:0}
.setup-icon{width:38px;height:38px;border-radius:12px;background:#e9f1ee;color:#234846}
.review-referrer-intro .setup-icon svg{width:20px;height:20px}
.icon-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}
.referral-quick-action{min-width:0;justify-content:flex-start;padding-inline:16px;border-radius:12px;box-shadow:0 6px 16px rgba(18,37,33,.05)}
.referral-platform-grid{margin-top:10px}
.referral-submit-action,.review-action-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.review-destination-actions-icons{gap:10px 8px}
.review-destination-actions-icons .inline-form{display:inline-flex}
.icon-chip-action,.review-site-edit>summary{cursor:pointer;list-style:none}
.review-site-edit>summary::-webkit-details-marker{display:none}
.enhanced-review-destination-item{padding:18px 0}
.enhanced-review-destination-item .review-destination-title{align-items:center}
.enhanced-review-destination-item .review-destination-main{display:grid;gap:6px}
.review-destination-actions-icons .chip-icon,.review-site-edit>summary .chip-icon{width:16px;height:16px;color:currentColor}
.review-destination-actions-icons .chip-icon svg,.review-site-edit>summary .chip-icon svg{width:16px;height:16px}
.review-sites-panel .platform-chip-mark{width:30px;height:30px}
.review-sites-panel .review-site-edit[open]>summary{border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.referral-profile-section .review-action-link-chip{min-height:50px;border-radius:12px;padding-inline:14px}
.referral-profile-card .graphical-callout strong{display:flex;align-items:center;gap:8px}
@media (max-width:700px){
  .review-action-link-grid,.referral-platform-grid,.icon-action-grid,.icon-share-grid{grid-template-columns:1fr}
  .review-action-link-chip,.icon-chip-action,.review-site-edit>summary,.referral-quick-action,.icon-share-grid .review-share-button{width:100%}
}

/* R10 0.11.11 public pages corrective refresh */
.graphical-page input,
.graphical-page textarea,
.graphical-page select {
  font-weight: 400 !important;
}
.graphical-page .review-action-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .55rem .8rem;
  border-radius: 8px;
  background: #edf2ef;
  color: #173d37;
  font-weight: 700;
  margin: 0 0 1rem;
}
.graphical-page .kicker-icon,
.graphical-page .button-icon,
.graphical-page .inline-icon,
.graphical-page .platform-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.graphical-page .kicker-icon svg,
.graphical-page .button-icon svg,
.graphical-page .inline-icon svg,
.graphical-page .platform-icon-box svg {
  width: 1rem;
  height: 1rem;
}
.graphical-page .public-contact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .75rem;
  margin-top: 1.4rem;
}
.graphical-page .public-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-height: 3rem;
  padding: .75rem 1rem;
  border: 1px solid #9aa8a3;
  border-radius: 8px;
  background: #fff;
  color: #173d37;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
}
.graphical-page .public-contact-button.is-primary {
  background: #234846;
  color: #fff;
  border-color: #234846;
}
.graphical-page .public-contact-button:hover,
.graphical-page .public-contact-button:focus-visible,
.graphical-page .review-action-primary:hover,
.graphical-page .review-action-primary:focus-visible,
.graphical-page .review-action-link-chip:hover,
.graphical-page .review-action-link-chip:focus-visible,
.graphical-page .review-share-button:hover,
.graphical-page .review-share-button:focus-visible,
.graphical-page .tr-share-modal-action:hover,
.graphical-page .tr-share-modal-action:focus-visible {
  box-shadow: inset 0 0 0 2px #173d37;
  outline: none;
}
.graphical-page .review-action-section {
  padding: 1.9rem 2rem;
  border-top: 1px solid #d5dcda;
}
.graphical-page .review-action-section:first-of-type { border-top: 0; }
.graphical-page .review-action-section-heading {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  margin-bottom: 1.1rem;
}
.graphical-page .review-action-step {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #234846;
  color: #fff;
  font-weight: 700;
}
.graphical-page .review-action-section-heading h2 { margin: 0; }
.graphical-page .review-action-section-heading p {
  margin: .25rem 0 0;
  color: #596663;
}
.graphical-page .graphical-callout {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1rem 1.1rem;
  margin: 0 0 1rem;
  border-left: 4px solid #234846;
  background: #f4f6f5;
  border-radius: 8px;
}
.graphical-page .graphical-callout strong {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}
.graphical-page .graphical-callout span { color: #596663; }
.graphical-page .review-action-primary {
  display: flex;
  align-items: center;
  gap: .85rem;
  width: 100%;
  padding: 1rem 1.15rem;
  border: 1px solid #234846;
  border-radius: 10px;
  background: #234846;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}
.graphical-page .review-action-primary .platform-icon-box,
.graphical-page .review-action-link-chip .platform-icon-box {
  width: 2rem;
  height: 2rem;
  border-radius: 8px;
  background: rgba(255,255,255,.92);
  color: #173d37;
  flex: 0 0 auto;
}
.graphical-page .review-primary-arrow {
  margin-left: auto;
  display: inline-flex;
}
.graphical-page .review-action-secondary-destinations,
.graphical-page .referral-platform-grid { margin-top: 1rem; }
.graphical-page .review-action-or {
  display: block;
  margin-bottom: .75rem;
  font-size: .95rem;
  color: #596663;
  font-weight: 600;
}
.graphical-page .review-action-link-grid,
.graphical-page .referral-platform-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.graphical-page .review-action-link-chip {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .7rem .95rem;
  border: 1px solid #c7d1cd;
  border-radius: 8px;
  background: #fff;
  color: #173d37;
  text-decoration: none;
  font-weight: 700;
  min-height: 3rem;
}
.graphical-page .enhanced-referrer-setup {
  padding: 1rem 1.1rem;
  border: 1px solid #d5dcda;
  border-radius: 10px;
  background: #fbfcfb;
}
.graphical-page .review-referrer-intro {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  margin-bottom: 1rem;
}
.graphical-page .review-referrer-intro .setup-icon {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border-radius: 8px;
  background: #edf2ef;
  color: #234846;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.graphical-page .review-referrer-intro p {
  margin: 0;
  color: #596663;
}
.graphical-page .review-referrer-form label,
.graphical-page .review-referrer-form span,
.graphical-page .review-referrer-form small {
  font-weight: 400 !important;
}
.graphical-page .review-referrer-form label > span:first-child {
  display: block;
  margin-bottom: .35rem;
  color: #173d37;
  font-weight: 700 !important;
}
.graphical-page .review-referrer-form small {
  display: block;
  margin-top: -.15rem;
  margin-bottom: .35rem;
  color: #6a7773;
}
.graphical-page .review-referrer-form input,
.graphical-page .review-referrer-form textarea {
  width: 100%;
  padding: .8rem .85rem;
  border: 1px solid #7f8c88;
  border-radius: 6px;
  background: #fff;
  color: #172321;
  font-size: 1rem;
  font-weight: 400 !important;
}
.graphical-page .review-referrer-contact-row {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
}
.graphical-page .review-action-submit,
.graphical-page .review-share-button,
.graphical-page .tr-share-modal-action,
.graphical-page .icon-chip-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 2.85rem;
  padding: .7rem 1rem;
  border: 1px solid #234846;
  border-radius: 8px !important;
  background: #234846;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.graphical-page .review-share-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.graphical-page .review-share-button:not(.review-share-whatsapp):not(.review-share-native),
.graphical-page .tr-share-modal-action:not(:first-child) {
  background: #fff;
  color: #173d37;
}
.graphical-page .review-share-native,
.graphical-page .tr-share-modal-action:first-child { background: #234846; color:#fff; }
.graphical-page .review-action-small,
.graphical-page .review-action-empty,
.graphical-page .review-action-positioning,
.graphical-page .referral-profile-summary {
  color: #596663;
}
.graphical-page .tr-share-modal {
  position: fixed;
  inset: 0;
  z-index: 70;
}
.tr-modal-open { overflow: hidden; }
.graphical-page .tr-share-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8,16,14,.55);
}
.graphical-page .tr-share-modal-dialog {
  position: relative;
  max-width: 32rem;
  margin: 8vh auto;
  background: #fff;
  color: #173d37;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,.25);
}
.graphical-page .tr-share-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .5rem;
}
.graphical-page .tr-share-modal-header h2 { margin: 0; }
.graphical-page .tr-share-close {
  border: 0;
  background: transparent;
  color: #173d37;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}
.graphical-page .tr-share-modal-copy { margin: 0 0 1rem; color: #596663; }
.graphical-page .tr-share-modal-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .75rem;
}
.graphical-page .tr-share-modal-action { width: 100%; }
.graphical-page .icon-chip-action,
.review-sites-list .icon-chip-action,
.review-sites-card .icon-chip-action {
  background: #fff;
  color: #173d37;
  border-color: #98a8a2;
  min-height: 2.25rem;
  padding: .45rem .75rem;
  border-radius: 8px !important;
}
@media (max-width: 720px){
  .graphical-page .public-contact-actions,
  .graphical-page .review-referrer-contact-row,
  .graphical-page .tr-share-modal-actions {
    grid-template-columns: 1fr;
  }
  .graphical-page .review-action-section,
  .graphical-page .referral-profile-card,
  .graphical-page .review-action-card {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .graphical-page .review-action-link-grid,
  .graphical-page .referral-platform-grid,
  .graphical-page .review-share-grid {
    flex-direction: column;
  }
  .graphical-page .review-action-link-chip,
  .graphical-page .review-share-button,
  .graphical-page .public-contact-button,
  .graphical-page .tr-share-modal-action {
    width: 100%;
  }
}

/* R10 0.11.12: public-page structure corrections. */
.graphical-page .review-action-step{display:none!important}
.graphical-page .icon-section-heading{display:flex;align-items:flex-start;gap:.9rem}
.graphical-page .section-heading-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #b9c5c0;border-radius:8px;background:#f1f4f2;color:#234846}
.graphical-page .section-heading-icon svg{width:18px;height:18px}
.graphical-page .review-page-contact-strip{padding:1.15rem 2rem;border-top:1px solid #d8dfdc;background:#f7f9f8}
.graphical-page .compact-contact-actions{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.graphical-page .compact-contact-actions .public-contact-button{min-height:2.75rem;padding:.65rem .7rem;background:#fff;color:#173d37;border-color:#9aa8a3}
.graphical-page .compact-contact-actions .public-contact-button:first-child{background:#fff;color:#173d37;border-color:#9aa8a3}
.graphical-page .centered-recommendation{width:min(100%,620px);margin-left:auto!important;margin-right:auto!important}
.graphical-page .centered-copy{width:min(100%,620px);margin-left:auto!important;margin-right:auto!important;text-align:left}
.graphical-page .enhanced-referrer-setup{margin-top:.5rem}
.graphical-page .review-referrer-form{max-width:100%}
.graphical-page .review-referrer-form label{font-weight:400!important}
.graphical-page .review-referrer-form label>span:first-child{font-weight:400!important;color:#26322e}
.graphical-page .review-referrer-form input,.graphical-page .review-referrer-form textarea{font-weight:400!important}
.graphical-page .review-referrer-form input::placeholder,.graphical-page .review-referrer-form textarea::placeholder{font-weight:400!important}
.graphical-page .referral-profile-section .review-action-section-heading{margin-bottom:1rem}
.graphical-page .referral-profile-section h2{margin:0}
.graphical-page .referral-platform-grid{margin-top:.25rem}
.graphical-page .review-action-link-chip{border-radius:8px!important}
.graphical-page .public-contact-button{border-radius:8px!important}
.graphical-page .review-action-kicker{border-radius:8px!important}
.graphical-page .platform-icon-box{border-radius:6px!important}

.tr-share-modal[hidden]{display:none!important}
.tr-share-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}
.tr-share-modal-backdrop{position:absolute;inset:0;background:rgba(8,18,15,.62)}
.tr-share-modal-dialog{position:relative;z-index:1;width:min(520px,100%);background:#fff;color:#17211e;border:1px solid #c7d1cd;border-radius:10px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);outline:none}
.tr-share-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}
.tr-share-modal-header h2{margin:0;font-size:1.55rem;line-height:1.15}
.tr-share-close{appearance:none;border:0;background:transparent;color:#17211e;font-size:2rem;line-height:.9;padding:0;cursor:pointer}
.tr-share-modal-copy{margin:0 0 18px;color:#596663}
.tr-share-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tr-share-modal-action{appearance:none;display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:11px 14px;border:1px solid #8f9d98;border-radius:8px;background:#fff;color:#173d37;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.tr-share-modal-action:first-child{background:#234846;color:#fff;border-color:#234846}
.tr-share-modal-action .button-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto}
.tr-share-modal-action .button-icon svg{width:20px;height:20px}
.tr-share-modal-action:hover,.tr-share-modal-action:focus-visible{outline:3px solid #ffdd00;outline-offset:2px}
.tr-modal-open{overflow:hidden}

@media(max-width:760px){
  .graphical-page .review-page-contact-strip{padding:1rem}
  .graphical-page .compact-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-share-modal-actions{grid-template-columns:1fr}
  .tr-share-modal-dialog{padding:20px}
}


/* R10 0.11.13-r15: public/client-facing pages do not render kicker or eyebrow labels. */
.rr9-public .rr9-kicker,
.rr9-public .eyebrow,
.rr9-public .sector-demo-eyebrow,
.business-public-body .section-kicker,
.business-public-body .business-location-kicker,
.customer-action-body .review-action-kicker,
.customer-action-body .r8-referral-eyebrow,
.mk8-eyebrow {
  display: none !important;
}

/* R10 0.11.13-r20: client-facing context text without kicker/eyebrow treatment. */
.customer-action-body .review-action-context{
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--action-brand,#234846);
  font-size:15px;
  font-weight:800;
}

/* R10 0.11.13-r21: client-facing public visual system. Mirrors the sharp, colourful r20 marketing language while preserving each business's own branding. */
.business-public-body,
.customer-action-body{
  --tr-client-ink:#14211e;
  --tr-client-muted:#5d6b66;
  --tr-client-line:#cbd5d1;
  --tr-client-page:#edf2ef;
  --tr-client-surface:#ffffff;
  --tr-client-soft:#e5ece8;
}

/* Sharp corners are deliberate across every client-facing public route. */
.business-public-body :is(a,button,input,select,textarea,.business-section,.info-surface,.visual-card,.team-card,.offer-card,.pricing-card,.enquiry-box,.service-public-item,.trust-card,.key-fact,.booking-section,.booking-service-card,.booking-slot-grid button,.public-gallery figure,.gallery-lightbox-trigger,.location-switcher,.identity-cover,.identity-no-cover-art,.business-logo,.business-button,.public-form-grid input,.public-form-grid select,.public-form-grid textarea),
.customer-action-body :is(a,button,input,select,textarea,.review-action-card,.referral-profile-card,.review-action-primary,.review-action-link-chip,.review-action-reward,.review-share-button,.review-action-submit,.public-contact-button,.platform-icon-box,.section-heading-icon,.enhanced-referrer-setup,.referral-profile-recommended,.referral-profile-benefit,.referral-primary-action,.referral-secondary-action,.tr-share-modal-dialog,.tr-share-modal-action,.notice){
  border-radius:0!important;
}

.business-public-body h1,
.business-public-body h2,
.business-public-body h3,
.customer-action-body h1,
.customer-action-body h2,
.customer-action-body h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}

/* Business Profile / full client site */
.business-public-body{background:var(--tr-client-page)!important;color:var(--tr-client-ink)}
.business-public-body .business-public-main{background:var(--tr-client-page)!important}
.business-site-nav{border-bottom:1px solid color-mix(in srgb,var(--client-brand,#234846) 28%,#cbd5d1);box-shadow:none!important}
.business-site-nav-inner{min-height:72px}
.business-site-links a{font-weight:800;text-decoration:none;border-bottom:3px solid transparent;padding-block:25px 22px}
.business-site-links a:hover,.business-site-links a:focus-visible{border-bottom-color:var(--client-brand,#234846)}
.business-identity:not(.hero-layout-background){background:var(--tr-client-surface)!important;border-bottom:0!important}
.business-identity .identity-grid{gap:clamp(28px,5vw,72px)}
.business-identity h1{letter-spacing:-.045em;line-height:.98!important}
.business-lead{max-width:700px;font-size:clamp(1.05rem,1.8vw,1.35rem)!important;line-height:1.55!important;color:var(--tr-client-muted)!important}
.identity-cover{position:relative;border:1px solid var(--tr-client-line);box-shadow:14px 14px 0 color-mix(in srgb,var(--client-secondary,#d9a62e) 72%,#fff)}
.identity-cover img{display:block}
.business-action-row{gap:10px!important}
.business-button{min-height:48px!important;padding:12px 18px!important;font-weight:850!important;border-width:2px!important;box-shadow:none!important}
.business-button.primary{background:var(--client-brand,#234846)!important;border-color:var(--client-brand,#234846)!important}
.business-button.secondary{background:#fff!important;color:var(--tr-client-ink)!important;border-color:color-mix(in srgb,var(--client-brand,#234846) 55%,#89958f)!important}
.business-content{gap:clamp(20px,3vw,34px)!important}
.business-content>.business-section{border:1px solid var(--tr-client-line)!important;box-shadow:none!important;background:#fff!important;padding:clamp(28px,4vw,54px)!important}
.business-content>.business-section:nth-child(3n+2){background:color-mix(in srgb,var(--client-brand,#234846) 7%,#fff)!important}
.business-content>.business-section:nth-child(3n+3){background:color-mix(in srgb,var(--client-secondary,#d9a62e) 11%,#fff)!important}
.business-section .section-title-row{margin-bottom:24px!important}
.business-section h2{letter-spacing:-.035em!important;line-height:1.02!important}
.service-public-grid,.trust-card-grid,.team-grid{gap:14px!important}
.service-public-item,.trust-card,.team-card,.offer-card,.pricing-card,.key-fact,.info-surface{border:1px solid var(--tr-client-line)!important;background:#fff!important;box-shadow:none!important}
.service-public-item{border-top:5px solid var(--client-brand,#234846)!important;padding:22px!important}
.service-public-item h3{margin-top:0!important}
.public-gallery{gap:12px!important}
.public-gallery figure{border:1px solid var(--tr-client-line)!important;background:#fff!important;overflow:hidden}
.public-gallery img{transition:transform .2s ease}
.public-gallery figure:hover img{transform:scale(1.015)}
.reviews-section{border-top:7px solid var(--client-brand,#234846)!important}
.recommend-section{border-top:7px solid var(--client-secondary,#d9a62e)!important}
.review-destination-button{border:1px solid color-mix(in srgb,var(--client-brand,#234846) 45%,#bcc7c2)!important;background:#fff!important;min-height:64px!important;font-weight:850!important}
.recommend-section .business-action-row .business-button{min-width:180px}
.contact-section{border-left:7px solid var(--client-brand,#234846)!important}
.contact-section .enquiry-box{background:#fff!important;border:1px solid var(--tr-client-line)!important;padding:24px!important}
.public-form-grid input,.public-form-grid select,.public-form-grid textarea{border:2px solid #7b8984!important;background:#fff!important;min-height:46px}
.public-form-grid textarea{min-height:120px}
.location-switcher{background:#fff!important;border-block:1px solid var(--tr-client-line)!important}
.location-links a{border:1px solid var(--tr-client-line)!important;background:#fff!important;padding:9px 12px!important;text-decoration:none!important;font-weight:750}
.location-links a.active{background:var(--client-brand,#234846)!important;color:#fff!important;border-color:var(--client-brand,#234846)!important}
.business-public-footer{background:#182720!important;color:#dce7e2!important;border-top:0!important}

/* Compact client profile/reviews mode: use width, colour bands and product-like panels instead of floating soft cards. */
.mode-compact.business-public-body{background:var(--tr-client-page)!important}
.mode-compact .compact-business-content{gap:16px!important}
.mode-compact .compact-business-content>.business-section{padding:clamp(24px,4vw,42px)!important;border:1px solid var(--tr-client-line)!important}
.mode-compact .compact-business-content .reviews-section{background:color-mix(in srgb,var(--client-brand,#234846) 8%,#fff)!important}
.mode-compact .compact-business-content .recommend-section{background:color-mix(in srgb,var(--client-secondary,#d9a62e) 12%,#fff)!important}
.mode-compact .review-actions{gap:10px!important}
.mode-compact .review-destination-button{min-height:58px!important}

/* Standalone public booking pages use the same platform-panel language. */
.standalone-booking-page{background:var(--tr-client-page)!important;padding-block:clamp(32px,5vw,60px)!important}
.standalone-booking-page .rr9-container{max-width:1120px!important}
.standalone-booking-heading{max-width:820px;margin-bottom:26px!important}
.standalone-booking-heading .rr9-page-title{letter-spacing:-.04em;line-height:1!important}
.standalone-booking-locations{border:1px solid var(--tr-client-line)!important;background:#fff!important;padding:16px!important}
.standalone-booking-page .booking-section{max-width:none!important;background:#fff!important;border:1px solid var(--tr-client-line)!important;border-top:7px solid var(--brand,var(--client-brand,#234846))!important;padding:clamp(22px,4vw,38px)!important;box-shadow:none!important}
.standalone-booking-page .booking-service-grid{gap:12px!important}
.standalone-booking-page .booking-service-card{border:1px solid var(--tr-client-line)!important;border-left:5px solid var(--brand,var(--client-brand,#234846))!important;background:#f8faf9!important;padding:18px!important;box-shadow:none!important}
.standalone-booking-page .booking-form-grid{padding-top:24px;border-top:1px solid var(--tr-client-line)}
.standalone-booking-page :is(input,select,textarea){border:2px solid #75837e!important;background:#fff!important}
.standalone-booking-page .booking-slot-grid button{border:1px solid #82908b!important;background:#fff!important;box-shadow:none!important}
.standalone-booking-page .booking-slot-grid button[aria-pressed="true"],.standalone-booking-page .booking-slot-grid button.selected{background:var(--brand,#234846)!important;color:#fff!important;border-color:var(--brand,#234846)!important}

/* Review and recommendation pages: stronger business identity + app-like action panels. */
.customer-action-body{background:linear-gradient(180deg,color-mix(in srgb,var(--action-brand,#234846) 10%,#fff) 0,#edf2ef 330px,#edf2ef 100%)!important;color:var(--tr-client-ink)}
.customer-action-main{min-height:calc(100vh - 64px)}
.review-action-page,.referral-profile-page{padding:clamp(24px,5vw,56px) 16px 28px!important}
.review-action-shell,.referral-profile-shell{width:min(900px,100%)!important}
.review-action-brand,.referral-profile-brand{margin-bottom:20px!important;min-height:84px!important}
.review-action-brand img,.referral-profile-brand img{max-width:min(360px,78vw)!important;max-height:100px!important}
.review-action-card,.referral-profile-card{border:1px solid var(--tr-client-line)!important;border-top:8px solid var(--action-brand,#234846)!important;box-shadow:12px 12px 0 color-mix(in srgb,var(--action-brand,#234846) 14%,#cdd8d3)!important;background:#fff!important;overflow:hidden}
.review-action-intro{padding:clamp(28px,5vw,48px)!important;background:#fff}
.review-action-intro h1,.referral-profile-card h1{letter-spacing:-.045em!important;line-height:.98!important}
.review-action-intro p,.referral-profile-lead{color:var(--tr-client-muted)!important;line-height:1.55!important}
.review-action-section{padding:clamp(24px,4vw,38px)!important;border-top:1px solid var(--tr-client-line)!important}
.review-action-review{background:color-mix(in srgb,var(--action-brand,#234846) 7%,#fff)!important}
.review-action-recommend{background:#fff!important;border-left:7px solid color-mix(in srgb,var(--action-brand,#234846) 55%,#d6a52c)!important}
.icon-section-heading{align-items:center!important}
.section-heading-icon{width:42px!important;height:42px!important;border:1px solid color-mix(in srgb,var(--action-brand,#234846) 36%,#c7d1cd)!important;background:#fff!important;color:var(--action-brand,#234846)!important}
.section-heading-icon svg{width:21px!important;height:21px!important}
.review-action-primary{grid-template-columns:44px 1fr auto!important;min-height:68px!important;padding:15px 18px!important;border:2px solid var(--action-brand,#234846)!important;background:var(--action-brand,#234846)!important;box-shadow:none!important;font-size:18px!important}
.platform-icon-box{width:38px!important;height:38px!important;background:#fff!important;border:1px solid rgba(0,0,0,.14)!important;color:#17211e!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.review-action-link-grid,.referral-platform-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:10px!important}
.review-action-link-chip{min-height:56px!important;border:1px solid var(--tr-client-line)!important;border-left:4px solid var(--action-brand,#234846)!important;background:#fff!important;padding:10px 12px!important}
.review-page-contact-strip{background:#e8eeeb!important;border-top:1px solid var(--tr-client-line)!important}
.public-contact-actions{gap:8px!important}
.public-contact-button{border:1px solid #84918c!important;background:#fff!important;color:#173d37!important;box-shadow:none!important}
.review-action-reward,.referral-profile-benefit{border:1px solid var(--tr-client-line)!important;border-left:5px solid var(--action-brand,#234846)!important;background:#fff!important;padding:14px 16px!important}
.review-share-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.review-share-button,.review-action-submit,.referral-primary-action,.referral-secondary-action{min-height:50px!important;border:1px solid #84918c!important;box-shadow:none!important}
.review-share-whatsapp,.review-action-submit,.referral-primary-action{background:var(--action-brand,#234846)!important;border-color:var(--action-brand,#234846)!important}
.enhanced-referrer-setup{border:1px solid var(--tr-client-line)!important;border-left:5px solid var(--action-brand,#234846)!important;background:#f8faf9!important;padding:18px!important}
.review-referrer-form input,.review-referrer-form textarea,.referral-enquiry-form input,.referral-enquiry-form textarea{border:2px solid #75837e!important;background:#fff!important;padding:12px!important}
.referral-profile-card{padding:clamp(28px,5vw,50px)!important}
.referral-profile-recommended{border:1px solid color-mix(in srgb,var(--action-brand,#234846) 35%,#c7d1cd)!important;background:color-mix(in srgb,var(--action-brand,#234846) 8%,#fff)!important}
.referral-profile-recommended span{border-radius:0!important}
.referral-profile-section{border-top:1px solid var(--tr-client-line)!important;padding-top:28px!important}
.referral-enquiry-section{background:color-mix(in srgb,var(--action-brand,#234846) 6%,#fff)!important;margin-inline:calc(clamp(28px,5vw,50px) * -1);margin-bottom:calc(clamp(28px,5vw,50px) * -1);padding:30px clamp(28px,5vw,50px) clamp(28px,5vw,50px)!important;border-left:0!important;border-right:0!important}
.customer-action-footer{background:#172720!important;color:#dce7e2!important;min-height:64px!important}
.tr-share-modal-dialog{border-top:6px solid var(--action-brand,#234846)!important;box-shadow:12px 12px 0 rgba(0,0,0,.18)!important}
.tr-share-modal-actions{gap:8px!important}
.tr-share-modal-action{border:1px solid #84918c!important;min-height:50px!important}

/* Do not reintroduce decorative steps, pills or kickers on client-facing pages. */
.business-public-body :is(.section-kicker,.business-location-kicker),
.customer-action-body :is(.review-action-kicker,.r8-referral-eyebrow,.review-action-step){display:none!important}

@media(max-width:760px){
  .business-public-body .business-public-wrap,
  .mode-compact .identity-grid,
  .mode-compact .compact-business-content,
  .mode-compact .compact-identity .business-public-wrap{width:min(calc(100% - 22px),1480px)!important}
  .identity-cover{box-shadow:7px 7px 0 color-mix(in srgb,var(--client-secondary,#d9a62e) 72%,#fff)}
  .business-content>.business-section{padding:24px 18px!important}
  .review-action-page,.referral-profile-page{padding:14px 10px 18px!important}
  .review-action-card,.referral-profile-card{box-shadow:6px 6px 0 color-mix(in srgb,var(--action-brand,#234846) 14%,#cdd8d3)!important}
  .review-share-grid{grid-template-columns:1fr 1fr!important}
  .compact-contact-actions{grid-template-columns:1fr 1fr!important}
  .review-action-link-grid,.referral-platform-grid{grid-template-columns:1fr!important}
  .review-referrer-contact-row,.referral-contact-row{grid-template-columns:1fr!important}
  .standalone-booking-page{padding-block:24px!important}
  .standalone-booking-page .booking-section{padding:18px 14px!important}
}
@media(max-width:480px){
  .review-share-grid,.compact-contact-actions{grid-template-columns:1fr!important}
  .review-action-primary{grid-template-columns:38px minmax(0,1fr) 22px!important;font-size:16px!important}
}

/* R10 0.11.13-r24 — client admin UX working preview */
.client-admin {
  --admin-accent-blue:#1d70b8;
  --admin-accent-amber:#b58813;
  --admin-accent-purple:#6f42a5;
  --admin-accent-red:#b10e1e;
}
.client-admin .app-main { padding-top:1.7rem; }
.client-admin .panel,
.client-admin .button,
.client-admin input,
.client-admin select,
.client-admin textarea,
.client-admin details,
.client-admin .notice,
.client-admin .metric-card,
.client-admin .status-tag { border-radius:0 !important; }
.client-admin .page-heading.admin-ux-heading { max-width:1180px; margin-bottom:1.15rem; }
.client-admin .page-heading.admin-ux-heading h1 { font-size:clamp(2rem,3vw,2.65rem); margin-bottom:.45rem; }
.client-admin .page-heading.admin-ux-heading p { font-size:1rem; color:var(--muted); max-width:76ch; }
.client-admin .admin-ux-heading-actions { align-items:center; gap:.65rem; }
.client-admin .admin-ux-text-action { font-weight:750; white-space:nowrap; }
.client-admin .admin-ux-muted { color:var(--muted); }
.client-admin .admin-ux-count { font-size:1.7rem; line-height:1; }

.client-admin .admin-ux-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1.25rem; margin-bottom:1rem; }
.client-admin .admin-ux-panel-heading h2 { margin:0 0 .25rem; font-size:1.35rem; }
.client-admin .admin-ux-panel-heading p { margin:0; color:var(--muted); max-width:70ch; }
.client-admin .admin-ux-panel-heading > a { font-weight:750; white-space:nowrap; }
.client-admin .admin-ux-work-panel { border:1px solid var(--border); border-left:4px solid var(--brand); box-shadow:none; margin-bottom:1rem; }
.client-admin .admin-ux-empty-state { border-top:1px solid var(--border-soft); padding:1rem 0 .25rem; display:grid; gap:.2rem; }
.client-admin .admin-ux-empty-state span { color:var(--muted); }

.client-admin .admin-ux-metrics { margin-bottom:1rem; }
.client-admin .admin-ux-metrics .dashboard-metrics { border:1px solid var(--border); border-left:4px solid var(--brand); }
.client-admin .admin-ux-metrics .dashboard-metric { min-height:92px; display:flex; flex-direction:column; justify-content:center; }
.client-admin .admin-ux-metrics .dashboard-metric strong { font-size:2rem; }
.client-admin .admin-ux-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:1rem; margin-bottom:1rem; }
.client-admin .admin-ux-dashboard-grid > .panel { margin:0; }
.client-admin .admin-ux-primary-work { border-left-color:var(--brand); }
.client-admin .admin-ux-attention { border-left-color:var(--admin-accent-amber); }
.client-admin .admin-ux-request-form { margin-top:.25rem; }
.client-admin .admin-ux-form-grid { display:grid; gap:1rem; }
.client-admin .admin-ux-form-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.client-admin .admin-ux-form-grid label { margin:0; }
.client-admin .admin-ux-channel-fieldset { border:0; padding:0; margin:.2rem 0 0; }
.client-admin .admin-ux-channel-fieldset legend { font-weight:800; margin-bottom:.55rem; }
.client-admin .admin-ux-channel-fieldset .quick-request-actions { margin:0; }
.client-admin .admin-ux-attention-list { border-top:1px solid var(--border); }
.client-admin .admin-ux-attention-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.85rem 0; border-bottom:1px solid var(--border-soft); }
.client-admin .admin-ux-attention-item:last-child { border-bottom:0; }
.client-admin .admin-ux-attention-copy { display:grid; gap:.14rem; }
.client-admin .admin-ux-attention-copy span,.client-admin .admin-ux-attention-copy small { color:var(--muted); }
.client-admin .admin-ux-inline-actions { display:flex; flex-wrap:wrap; gap:.35rem .85rem; align-items:center; }
.client-admin .admin-ux-inline-actions a { font-weight:750; }

.client-admin .admin-ux-timeline { list-style:none; padding:0; margin:0; border-top:1px solid var(--border); }
.client-admin .admin-ux-timeline li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--border-soft); position:relative; }
.client-admin .admin-ux-timeline li:last-child { border-bottom:0; }
.client-admin .admin-ux-timeline li > div { display:grid; gap:.12rem; min-width:0; }
.client-admin .admin-ux-timeline li span,.client-admin .admin-ux-timeline li small,.client-admin .admin-ux-timeline time { color:var(--muted); }
.client-admin .admin-ux-timeline time { white-space:nowrap; font-size:.88rem; }
.client-admin .admin-ux-activity-groups { display:grid; gap:1.35rem; }
.client-admin .admin-ux-activity-day h3 { font-size:1rem; margin:0 0 .45rem; padding:.4rem .55rem; background:var(--surface-muted); border-left:4px solid var(--brand); }
.client-admin .admin-ux-timeline-compact { border-top:0; }

.client-admin .admin-ux-filter-bar { display:grid; grid-template-columns:minmax(260px,1fr) minmax(150px,.32fr) minmax(160px,.36fr) auto; gap:1rem; align-items:end; padding:1rem; border-left-color:var(--border); margin-bottom:1rem; }
.client-admin .admin-ux-filter-bar > div { min-width:0; }
.client-admin .admin-ux-filter-bar label { margin:0; }
.client-admin .admin-ux-filter-bar input,.client-admin .admin-ux-filter-bar select { width:100%; max-width:none; }
.client-admin .admin-ux-filter-bar .button { margin:0; }
.client-admin .admin-ux-table-panel { padding:0; overflow:hidden; border-left:4px solid var(--brand); }
.client-admin .admin-ux-table-panel > .admin-ux-panel-heading { padding:1rem 1rem 0; }
.client-admin .admin-ux-table-panel .table-wrap { margin:0; }
.client-admin .admin-ux-data-table { border:0; border-top:1px solid var(--border); }
.client-admin .admin-ux-data-table th { padding:.7rem .8rem; }
.client-admin .admin-ux-data-table td { padding:.8rem; }
.client-admin .admin-ux-data-table td:first-child,.client-admin .admin-ux-data-table th:first-child { width:42px; }
.client-admin .admin-ux-row-actions { min-width:155px; }
.client-admin .admin-ux-bulk-panel { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border-left-color:var(--border); }
.client-admin .admin-ux-bulk-panel > div { display:grid; gap:.12rem; }
.client-admin .admin-ux-bulk-panel span { color:var(--muted); font-size:.9rem; }

.client-admin .admin-ux-customer-detail-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr); gap:1rem; align-items:start; }
.client-admin .admin-ux-customer-detail-grid > main,.client-admin .admin-ux-customer-detail-grid > aside { min-width:0; }
.client-admin .admin-ux-customer-timeline-panel { position:sticky; top:1rem; }
.client-admin .admin-ux-customer-form label { margin-bottom:0; }
.client-admin .admin-ux-disclosure > summary { cursor:pointer; list-style:none; display:grid; grid-template-columns:minmax(0,1fr); gap:.15rem; padding:.15rem 0; }
.client-admin .admin-ux-disclosure > summary::-webkit-details-marker { display:none; }
.client-admin .admin-ux-disclosure > summary::after { content:'Show'; color:var(--link); font-weight:750; font-size:.9rem; margin-top:.2rem; }
.client-admin .admin-ux-disclosure[open] > summary::after { content:'Hide'; }
.client-admin .admin-ux-disclosure > summary span { color:var(--muted); font-weight:400; }
.client-admin .admin-ux-disclosure[open] > summary { padding-bottom:.85rem; border-bottom:1px solid var(--border-soft); }
.client-admin .admin-ux-save-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-top:1px solid var(--border-soft); padding-top:1rem; }
.client-admin .admin-ux-save-row span { color:var(--muted); }
.client-admin .admin-ux-copy-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; }
.client-admin .admin-ux-copy-row input { max-width:none; margin:0; }
.client-admin .admin-ux-danger-zone { margin-top:1rem; border-left-color:var(--danger-border); }

.client-admin .admin-ux-section-tabs { display:flex; flex-wrap:wrap; align-items:stretch; gap:0; margin:0 0 1rem; border-bottom:1px solid var(--border); }
.client-admin .admin-ux-section-tabs a { display:inline-flex; align-items:center; min-height:44px; padding:.55rem .85rem; border:1px solid transparent; border-bottom:4px solid transparent; margin-bottom:-1px; color:var(--text); font-weight:750; text-decoration:none; }
.client-admin .admin-ux-section-tabs a:hover { background:var(--surface-muted); }
.client-admin .admin-ux-section-tabs a.active { border-color:var(--border); border-bottom-color:var(--brand); background:var(--surface); }
.client-admin .admin-ux-referrals-panel { padding:0; }
.client-admin .admin-ux-referrals-panel > .admin-ux-panel-heading { padding:1rem 1rem 0; }
.client-admin .admin-ux-referral-list { border-top:1px solid var(--border); }
.client-admin .admin-ux-referral-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.5rem; padding:1rem; border-bottom:1px solid var(--border-soft); }
.client-admin .admin-ux-referral-card:last-child { border-bottom:0; }
.client-admin .admin-ux-referral-title { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-bottom:.2rem; }
.client-admin .admin-ux-referral-title h3 { margin:0; font-size:1.16rem; }
.client-admin .admin-ux-referral-main > p { margin:0 0 .55rem; color:var(--muted); }
.client-admin .admin-ux-referral-need { display:grid; gap:.1rem; padding:.55rem .7rem; border-left:4px solid var(--admin-accent-blue); background:var(--surface-muted); margin:.55rem 0; }
.client-admin .admin-ux-referral-need span { color:var(--text); }
.client-admin .admin-ux-contact-line { display:flex; flex-wrap:wrap; gap:.4rem 1rem; }
.client-admin .admin-ux-referral-actions { display:flex; flex-direction:column; align-items:stretch; gap:.45rem; min-width:148px; }
.client-admin .admin-ux-referral-actions .button { width:100%; }
.client-admin .admin-ux-referral-actions .admin-ux-text-action { text-align:center; font-size:.9rem; }

.client-admin .admin-ux-page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.client-admin .admin-ux-page-card { margin:0; padding:1rem; border:1px solid var(--border); border-top:4px solid var(--brand); }
.client-admin .admin-ux-page-card-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.85rem; }
.client-admin .admin-ux-page-card-head h2 { margin:0 0 .25rem; font-size:1.25rem; }
.client-admin .admin-ux-page-card-head p { margin:0; color:var(--muted); }
.client-admin .admin-ux-state { display:inline-block; padding:.22rem .4rem; border:1px solid var(--border); background:var(--surface-muted); font-size:.75rem; font-weight:850; text-transform:uppercase; letter-spacing:.025em; white-space:nowrap; }
.client-admin .admin-ux-state.is-live { border-color:var(--success-border); background:var(--success-bg); }
.client-admin .admin-ux-state.is-warning { border-color:var(--warning-border); background:var(--warning-bg); }
.client-admin .admin-ux-page-preview { border:1px solid var(--border); background:var(--surface); height:190px; margin:.2rem 0 .7rem; overflow:hidden; }
.client-admin .admin-ux-preview-bar { height:27px; display:flex; align-items:center; gap:5px; padding:0 8px; background:var(--surface-muted); border-bottom:1px solid var(--border); }
.client-admin .admin-ux-preview-bar span { display:block; width:7px; height:7px; border:1px solid var(--border); background:var(--surface); }
.client-admin .admin-ux-preview-body { padding:1rem; display:grid; gap:.55rem; align-content:start; }
.client-admin .admin-ux-preview-body strong { font-size:1.05rem; }
.client-admin .admin-ux-preview-body p { margin:0; color:var(--muted); }
.client-admin .admin-ux-preview-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; margin-top:.35rem; }
.client-admin .admin-ux-preview-actions i { display:block; height:28px; border:1px solid var(--brand); background:var(--surface-muted); }
.client-admin .admin-ux-preview-contact { display:grid; grid-template-columns:1fr 1fr; gap:.35rem; }
.client-admin .admin-ux-preview-contact i { display:block; height:34px; border:1px solid var(--brand); }
.client-admin .admin-ux-preview-profile-grid { display:grid; grid-template-columns:1fr .8fr; height:calc(100% - 27px); }
.client-admin .admin-ux-preview-profile-grid > div { padding:1rem; display:grid; align-content:start; gap:.5rem; }
.client-admin .admin-ux-preview-profile-grid p { color:var(--muted); margin:0; font-size:.85rem; }
.client-admin .admin-ux-preview-profile-grid b { height:25px; border:1px solid var(--brand); display:block; }
.client-admin .admin-ux-preview-profile-grid figure { margin:0; background:linear-gradient(135deg,var(--surface-strong),var(--surface-muted)); border-left:1px solid var(--border); }
.client-admin .admin-ux-page-url { padding:.55rem 0; min-height:48px; color:var(--muted); font-size:.86rem; overflow-wrap:anywhere; }
.client-admin .admin-ux-page-actions { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-top:.4rem; }
.client-admin .admin-ux-shared-page-settings { margin-top:1rem; }
.client-admin .admin-ux-settings-links { border-top:1px solid var(--border); }
.client-admin .admin-ux-settings-links a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.8rem 0; border-bottom:1px solid var(--border-soft); color:var(--text); text-decoration:none; }
.client-admin .admin-ux-settings-links a:last-child { border-bottom:0; }
.client-admin .admin-ux-settings-links a:hover strong,.client-admin .admin-ux-settings-links a:hover em { text-decoration:underline; }
.client-admin .admin-ux-settings-links span { display:grid; gap:.1rem; }
.client-admin .admin-ux-settings-links small { color:var(--muted); }
.client-admin .admin-ux-settings-links em { color:var(--link); font-style:normal; font-weight:750; }

.client-admin .admin-ux-settings-sidebar .settings-sidebar-list { display:block; }
.client-admin .admin-ux-settings-group-title { padding:.9rem .9rem .35rem; color:var(--muted); font-size:.72rem; line-height:1.2; font-weight:900; text-transform:uppercase; letter-spacing:.07em; border-top:1px solid var(--border-soft); }
.client-admin .admin-ux-settings-group-title:first-child { border-top:0; }
.client-admin .admin-ux-settings-sidebar .settings-sidebar-link { min-height:38px; padding:.55rem .9rem; border-left:4px solid transparent; }
.client-admin .admin-ux-settings-sidebar .settings-sidebar-link.active { border-left-color:var(--brand); background:var(--surface-muted); font-weight:850; }
.client-admin .admin-ux-settings-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--border); border-left:1px solid var(--border); }
.client-admin .admin-ux-settings-overview-grid a { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'title action' 'copy action'; gap:.15rem 1rem; padding:1rem; border-right:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text); text-decoration:none; }
.client-admin .admin-ux-settings-overview-grid strong { grid-area:title; }
.client-admin .admin-ux-settings-overview-grid span { grid-area:copy; color:var(--muted); }
.client-admin .admin-ux-settings-overview-grid em { grid-area:action; align-self:center; color:var(--link); font-style:normal; font-weight:750; }
.client-admin .admin-ux-settings-overview-grid a:hover strong,.client-admin .admin-ux-settings-overview-grid a:hover em { text-decoration:underline; }

/* Make the existing client admin feel like one system even on screens not deeply reworked in r24. */
.client-admin .panel { box-shadow:none; }
.client-admin .panel:not(.admin-ux-page-card):not(.admin-ux-work-panel):not(.admin-ux-table-panel) { border-color:var(--border); }
.client-admin .actions-heading { gap:1rem; }
.client-admin .heading-actions { gap:.55rem; }
.client-admin .button { min-height:42px; }
.client-admin .button-small { min-height:36px; padding:.35rem .65rem; }
.client-admin .metric-card { border:1px solid var(--border); border-top:4px solid var(--brand); }
.client-admin .analytics-range-tab { border-radius:0 !important; }
.client-admin .settings-sidebar,.client-admin .business-page-sidebar { border-radius:0 !important; }
.client-admin .page-wizard-shell .panel,.client-admin .wizard-panel,.client-admin .wizard-template-current,.client-admin .wizard-task-list a,.client-admin .checkbox-row { border-radius:0 !important; }

@media(max-width:1180px){
  .client-admin .admin-ux-page-grid { grid-template-columns:1fr 1fr; }
  .client-admin .admin-ux-page-card:last-child { grid-column:1/-1; }
  .client-admin .admin-ux-dashboard-grid { grid-template-columns:1fr; }
  .client-admin .admin-ux-customer-detail-grid { grid-template-columns:1fr; }
  .client-admin .admin-ux-customer-timeline-panel { position:static; }
}
@media(max-width:900px){
  .client-admin .admin-ux-filter-bar { grid-template-columns:1fr 1fr; }
  .client-admin .admin-ux-filter-bar .search-field { grid-column:1/-1; }
  .client-admin .admin-ux-referral-card { grid-template-columns:1fr; }
  .client-admin .admin-ux-referral-actions { flex-direction:row; flex-wrap:wrap; min-width:0; }
  .client-admin .admin-ux-referral-actions .button { width:auto; }
  .client-admin .admin-ux-settings-overview-grid { grid-template-columns:1fr; }
}
@media(max-width:700px){
  .client-admin .admin-ux-page-grid { grid-template-columns:1fr; }
  .client-admin .admin-ux-page-card:last-child { grid-column:auto; }
  .client-admin .admin-ux-form-grid-2 { grid-template-columns:1fr; }
  .client-admin .admin-ux-filter-bar { grid-template-columns:1fr; }
  .client-admin .admin-ux-filter-bar .search-field { grid-column:auto; }
  .client-admin .admin-ux-panel-heading,.client-admin .admin-ux-page-card-head,.client-admin .admin-ux-save-row,.client-admin .admin-ux-bulk-panel { align-items:flex-start; flex-direction:column; }
  .client-admin .admin-ux-attention-item,.client-admin .admin-ux-timeline li { grid-template-columns:1fr; gap:.35rem; }
  .client-admin .admin-ux-inline-actions { justify-content:flex-start; }
  .client-admin .admin-ux-timeline time { white-space:normal; }
  .client-admin .admin-ux-copy-row { grid-template-columns:1fr; }
  .client-admin .admin-ux-copy-row .button { width:100%; }
  .client-admin .admin-ux-settings-overview-grid a { grid-template-columns:1fr; grid-template-areas:'title' 'copy' 'action'; }
}
.client-admin .admin-ux-enquiry-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.7fr); gap:1rem; align-items:start; }
.client-admin .admin-ux-enquiry-grid > main,.client-admin .admin-ux-enquiry-grid > aside { min-width:0; }
.client-admin .admin-ux-outcome-panel { position:sticky; top:1rem; border-left-color:var(--admin-accent-amber); }
.client-admin .admin-ux-summary-list { border-top:1px solid var(--border); }
.client-admin .admin-ux-summary-list > div { display:grid; grid-template-columns:minmax(150px,30%) minmax(0,1fr); gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--border-soft); }
.client-admin .admin-ux-summary-list dt { font-weight:800; }
.client-admin .admin-ux-summary-list dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.client-admin .admin-ux-message-block { margin-top:1rem; padding:1rem; border-left:4px solid var(--admin-accent-blue); background:var(--surface-muted); }
.client-admin .admin-ux-message-block p { margin:.35rem 0 0; }
.client-admin .admin-ux-referral-source { border-left-color:var(--admin-accent-purple); }
@media(max-width:980px){.client-admin .admin-ux-enquiry-grid{grid-template-columns:1fr}.client-admin .admin-ux-outcome-panel{position:static}}
@media(max-width:640px){.client-admin .admin-ux-summary-list>div{grid-template-columns:1fr;gap:.2rem}}

/* R10 0.11.13-r25 — mobile review/referred pages: use the phone width instead of nesting framed cards. */
@media (max-width:760px){
  .customer-action-body{
    background:#edf2ef!important;
  }
  .customer-action-notices{
    width:calc(100% - 16px)!important;
    margin-top:10px!important;
  }
  .review-action-page,
  .referral-profile-page{
    padding:8px 4px 14px!important;
  }
  .review-action-shell,
  .referral-profile-shell{
    width:100%!important;
    max-width:none!important;
  }
  .review-action-brand,
  .referral-profile-brand{
    min-height:0!important;
    margin:0 8px 10px!important;
    padding:8px 4px!important;
  }
  .review-action-brand img,
  .referral-profile-brand img{
    max-width:min(330px,88vw)!important;
    max-height:82px!important;
  }

  /* The outer desktop card is removed on phones. Sections themselves provide structure. */
  .review-action-card,
  .referral-profile-card{
    border:0!important;
    border-top:6px solid var(--action-brand,#234846)!important;
    box-shadow:none!important;
    background:#fff!important;
    overflow:visible!important;
  }
  .review-action-card{
    padding:0!important;
  }
  .referral-profile-card{
    padding:0!important;
  }
  .review-action-intro,
  .referral-profile-hero{
    padding:22px 12px 20px!important;
  }
  .review-action-intro h1,
  .referral-profile-card h1{
    font-size:clamp(29px,9vw,40px)!important;
    line-height:1.02!important;
  }
  .review-action-intro p,
  .referral-profile-summary,
  .referral-profile-lead{
    font-size:16px!important;
  }

  .review-action-section{
    padding:22px 12px!important;
  }
  .referral-profile-section{
    margin:0!important;
    padding:22px 12px!important;
    border-top:1px solid var(--tr-client-line)!important;
  }
  .review-action-recommend{
    border-left:0!important;
  }
  .referral-enquiry-section{
    margin:0!important;
    padding:22px 12px!important;
  }
  .review-page-contact-strip{
    padding:12px!important;
  }

  /* Keep the useful icons, but lose the extra little framed boxes around them. */
  .graphical-page .review-action-section-heading,
  .graphical-page .icon-section-heading{
    gap:8px!important;
    margin-bottom:14px!important;
  }
  .graphical-page .section-heading-icon{
    width:25px!important;
    height:25px!important;
    border:0!important;
    background:transparent!important;
    flex-basis:25px!important;
  }
  .graphical-page .section-heading-icon svg{
    width:20px!important;
    height:20px!important;
  }
  .graphical-page .review-action-section-heading h2,
  .referral-profile-section h2{
    font-size:21px!important;
  }

  /* Review destinations become broad rows instead of boxes nested inside boxes. */
  .review-action-link-grid,
  .referral-platform-grid{
    gap:0!important;
  }
  .review-action-link-chip,
  .referral-profile-section .review-action-link-chip{
    min-height:54px!important;
    padding:10px 8px!important;
    border:0!important;
    border-left:4px solid var(--action-brand,#234846)!important;
    border-bottom:1px solid var(--tr-client-line)!important;
    background:#fff!important;
  }
  .review-action-link-chip:last-child,
  .referral-platform-grid .review-action-link-chip:last-child{
    border-bottom:0!important;
  }
  .platform-icon-box,
  .review-action-primary .platform-icon-box,
  .review-action-link-chip .platform-icon-box{
    width:34px!important;
    height:34px!important;
  }
  .review-action-primary{
    min-height:62px!important;
    padding:13px 12px!important;
  }

  /* Remove another level of framed callouts where a left accent is enough. */
  .review-action-reward,
  .referral-profile-benefit,
  .graphical-page .graphical-callout{
    width:100%!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
    border:0!important;
    border-left:4px solid var(--action-brand,#234846)!important;
    background:#f4f7f5!important;
    padding:12px!important;
  }
  .graphical-page .centered-recommendation,
  .graphical-page .centered-copy{
    width:100%!important;
    max-width:none!important;
  }

  .public-contact-actions,
  .graphical-page .compact-contact-actions{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .public-contact-button{
    width:100%!important;
    min-height:48px!important;
  }
  .review-share-grid{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:8px!important;
  }
  .review-share-button{
    width:100%!important;
  }
  .referral-profile-actions{
    gap:8px!important;
    margin-top:18px!important;
  }
  .review-referrer-form,
  .referral-enquiry-form{
    width:100%!important;
  }
  .tr-share-modal{
    padding:8px!important;
  }
  .tr-share-modal-dialog{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:18px 12px!important;
    box-shadow:none!important;
  }
  .customer-action-footer{
    padding-inline:12px!important;
  }
}
@media (max-width:420px){
  .review-share-grid{
    grid-template-columns:1fr!important;
  }
}

/* R10 0.11.13-r26 — client admin app UX across the full client area. */
.client-admin .dashboard-metrics-linked .dashboard-metric{color:var(--text);text-decoration:none;border-right:1px solid var(--border-soft)}
.client-admin .dashboard-metrics-linked .dashboard-metric:last-child{border-right:0}
.client-admin .dashboard-metrics-linked .dashboard-metric:hover{background:var(--surface-muted);text-decoration:none}
.client-admin .dashboard-metrics-linked .dashboard-metric:hover span{text-decoration:underline}
.client-admin .admin-icon-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.client-admin .admin-icon-action{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--border);background:var(--surface);color:var(--brand);text-decoration:none!important;flex:0 0 auto}
.client-admin .admin-icon-action:hover,.client-admin .admin-icon-action:focus-visible{background:var(--surface-muted);border-color:var(--brand);outline:3px solid var(--focus);outline-offset:1px}
.client-admin .admin-icon-action svg{width:19px;height:19px;fill:currentColor}
.client-admin .admin-icon-actions-row{justify-content:flex-start;min-width:126px}
.client-admin .admin-ux-referral-actions{display:grid;justify-items:end;gap:.5rem;min-width:132px}
.client-admin .dashboard-performance{border-left-color:var(--admin-accent-blue)}
.client-admin .dashboard-performance-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.4rem;align-items:stretch}
.client-admin .dashboard-funnel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--border)}
.client-admin .dashboard-funnel a{display:grid;align-content:center;gap:.15rem;min-height:92px;padding:.75rem;border-right:1px solid var(--border);color:var(--text);text-decoration:none}
.client-admin .dashboard-funnel a:last-child{border-right:0}
.client-admin .dashboard-funnel a:hover{background:var(--surface-muted)}
.client-admin .dashboard-funnel strong{font-size:1.65rem;line-height:1}
.client-admin .dashboard-funnel span{font-size:.86rem;color:var(--muted)}
.client-admin .dashboard-mini-chart{min-height:132px;padding:.8rem;border:1px solid var(--border);background:var(--surface-muted);display:grid;grid-template-rows:1fr auto;gap:.55rem}
.client-admin .dashboard-chart-bars{min-height:78px;display:flex;align-items:end;gap:3px;border-bottom:1px solid var(--border);padding-top:5px}
.client-admin .dashboard-chart-bars i{display:block;flex:1 1 0;min-width:2px;background:var(--brand);opacity:.78}
.client-admin .dashboard-chart-caption{display:flex;justify-content:space-between;gap:.65rem;color:var(--muted);font-size:.75rem}
.client-admin .dashboard-chart-caption strong{color:var(--text)}

/* Mobile settings sub-navigation stays available without occupying half the screen. */
.client-admin .settings-mobile-toggle{display:none;width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface);color:var(--text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;font:inherit}
.client-admin .settings-mobile-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* R10 0.11.13-r49 — Recommend Trade Reviews is a first-class client section. */
.client-admin .desktop-recommend-link{margin-left:auto;white-space:nowrap}

/* Main navigation drawer support. */
.mobile-nav-backdrop,.mobile-nav-account,.mobile-nav-brand{display:none}
.nav-toggle-bars{display:grid;gap:4px;width:20px}
.nav-toggle-bars i{height:2px;background:currentColor;display:block}

/* Quick-action layer is part of the client app, not primary navigation. */
.client-quick-bar{display:none}
.client-quick-modal[hidden]{display:none!important}
.client-quick-modal{position:fixed;inset:0;z-index:1200;display:grid;align-items:end;justify-items:center}
.client-quick-backdrop{position:absolute;inset:0;border:0;background:rgba(8,18,15,.64);cursor:pointer}
.client-quick-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(88vh,820px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-bottom:0;padding:18px;box-shadow:0 -12px 36px rgba(0,0,0,.18);outline:0}
.client-quick-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}
.client-quick-dialog>header h2{margin:0 0 .2rem;font-size:1.45rem}
.client-quick-dialog>header p{margin:0;color:var(--muted)}
.client-quick-close{border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1.7rem;line-height:1;width:38px;height:38px;cursor:pointer}
.client-quick-dialog fieldset{border:0;padding:0;margin:.3rem 0 0}
.client-quick-dialog legend{font-weight:800;margin-bottom:.55rem}
.quick-action-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.quick-action-request-form .quick-request-actions{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.client-qr-dialog{width:min(660px,100%)}
.quick-qr-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);margin-bottom:1rem}
.quick-qr-picker button{min-height:44px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:800;cursor:pointer}
.quick-qr-picker button:last-child{border-right:0}
.quick-qr-picker button[aria-selected="true"]{background:var(--brand);color:var(--brand-text)}
.quick-qr-stage{border:1px solid var(--border);background:#fff;color:#10201c;padding:18px;text-align:center}
.quick-qr-stage article{display:grid;justify-items:center;gap:.5rem}
.quick-qr-stage article[hidden]{display:none!important}
.quick-qr-logo{display:block;max-width:min(280px,80%);max-height:72px;width:auto;height:auto;object-fit:contain;margin-bottom:.35rem}
.quick-qr-business{font-size:1.25rem;margin-bottom:.35rem}
.quick-qr-code{width:min(300px,78vw);aspect-ratio:1;background:#fff;padding:8px}
.quick-qr-code svg{display:block;width:100%;height:100%}
.quick-qr-stage h3{margin:.2rem 0 0;font-size:1.25rem}
.quick-qr-stage p{margin:0;color:#52615c}
.quick-qr-stage a{font-weight:800}
.quick-qr-more{margin:.8rem 0 0;text-align:center}
body.client-quick-modal-open{overflow:hidden}

/* All client-admin surfaces inherit the same sharper, less nested visual language. */
.client-admin .form-grid,.client-admin .stack-form,.client-admin .settings-content,.client-admin .page-wizard-shell,.client-admin .wizard-form{min-width:0}
.client-admin .panel .panel{box-shadow:none}
.client-admin .table-wrap{max-width:100%}
.client-admin .page-heading:not(.admin-ux-heading){max-width:1180px}
.client-admin .status-badge,.client-admin .status-tag,.client-admin .badge,.client-admin .chip{border-radius:0!important}
.client-admin .booking-admin-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.client-admin .booking-admin-nav .button{margin:0}

@media(max-width:1180px){
  .client-admin .dashboard-performance-grid{grid-template-columns:1fr}
}

@media(max-width:820px){
  .client-admin .app-header{position:sticky;top:0;z-index:1000;min-height:52px}
  .client-admin .header-inner{width:100%!important;max-width:none!important;padding:6px 10px;min-height:52px}
  .client-admin .app-wordmark{min-width:0}
  .client-admin .app-wordmark .platform-logo{max-height:34px;max-width:190px}
  .client-admin .app-wordmark .platform-wordmark-text{font-size:1.15rem}
  .client-admin .header-actions{margin-left:auto;gap:6px}
  .client-admin .header-site-link,.client-admin .header-actions>.user-name,.client-admin .header-actions>.inline-form{display:none!important}
  .client-admin .theme-toggle{width:40px;height:40px;padding:0}
  .client-admin .nav-toggle{display:inline-flex!important;width:42px;height:40px;padding:0;align-items:center;justify-content:center;border-radius:0!important;order:10}
  .client-admin .nav-toggle-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .client-admin .context-bar{display:none}

  .client-admin .app-nav{position:fixed;z-index:1100;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--surface);border:0;border-left:1px solid var(--border);transform:translateX(102%);transition:transform .18s ease;overflow:auto;box-shadow:-12px 0 32px rgba(0,0,0,.18)}
  .client-admin .app-nav.nav-open{transform:translateX(0)}
  .client-admin .mobile-nav-brand{display:flex;min-height:66px;align-items:center;padding:10px 20px;background:#173a34;border-bottom:1px solid rgba(255,255,255,.18)}
  .client-admin .mobile-nav-brand a{display:inline-flex;align-items:center;min-width:0;color:#fff;text-decoration:none;font-weight:850;font-size:1.1rem}
  .client-admin .mobile-nav-brand img{display:block;width:auto;max-width:190px;max-height:34px;object-fit:contain;object-position:left center}
  .client-admin .app-nav .nav-list,.client-admin .app-nav.nav-open .nav-list{display:flex!important;width:100%!important;max-width:none!important;min-height:calc(100% - 66px);padding:0 0 20px!important;flex-direction:column;gap:0}
  .client-admin .app-nav .nav-link{display:block;min-height:48px;padding:13px 20px;border:0;border-bottom:1px solid var(--border-soft);color:var(--text);font-size:1rem}
  .client-admin .app-nav .nav-link.active{border-left:5px solid var(--brand);background:var(--surface-muted);padding-left:15px}
  .client-admin .desktop-recommend-link{display:none!important}
  .client-admin .mobile-nav-account{display:grid;margin-top:auto;padding:18px 20px 0;border-top:1px solid var(--border);gap:.65rem}
  .client-admin .mobile-nav-account>a,.client-admin .mobile-nav-account button{min-height:44px;display:flex;align-items:center;justify-content:flex-start;padding:.6rem .75rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:800;text-decoration:none}
  .client-admin .mobile-nav-account .mobile-nav-recommend{background:var(--brand);border-color:var(--brand);color:var(--brand-text)}
  .client-admin .mobile-nav-account .mobile-nav-recommend:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
  .client-admin .mobile-nav-account form{margin:0}
  .client-admin .mobile-nav-account form button{width:100%;cursor:pointer}
  .client-admin+.mobile-nav-backdrop,.mobile-nav-backdrop{display:block;position:fixed;z-index:1090;inset:0;border:0;background:rgba(8,18,15,.55)}
  .mobile-nav-backdrop[hidden]{display:none!important}
  body.mobile-nav-is-open{overflow:hidden}

  .client-admin .app-main{padding:12px 0 calc(72px + env(safe-area-inset-bottom))!important}
  .client-admin .app-main>.content-wrap.wide{width:100%!important;max-width:none!important;padding:0 8px!important;margin:0!important}
  .client-admin .page-heading,.client-admin .page-heading.admin-ux-heading{max-width:none!important;margin:0 0 12px!important;padding:0 2px}
  .client-admin .page-heading h1,.client-admin .page-heading.admin-ux-heading h1{font-size:clamp(1.8rem,8.5vw,2.3rem);line-height:1.05;margin-bottom:.35rem}
  .client-admin .page-heading p,.client-admin .page-heading.admin-ux-heading p{font-size:.94rem;line-height:1.45;margin-bottom:0}
  .client-admin .panel{margin:0 0 10px!important;padding:14px 12px!important}
  .client-admin .admin-ux-table-panel,.client-admin .admin-ux-referrals-panel{padding:0!important}
  .client-admin .admin-ux-table-panel>.admin-ux-panel-heading,.client-admin .admin-ux-referrals-panel>.admin-ux-panel-heading{padding:12px 12px 0!important}
  .client-admin .admin-ux-work-panel{border-left-width:4px}
  .client-admin .admin-ux-dashboard-grid{gap:10px;margin-bottom:10px}
  .client-admin .admin-ux-dashboard-grid>.panel{margin:0!important}
  .client-admin .admin-ux-panel-heading{gap:.6rem;margin-bottom:.75rem}
  .client-admin .admin-ux-panel-heading h2{font-size:1.2rem}
  .client-admin .admin-ux-panel-heading>div{min-width:0}
  .client-admin .admin-ux-panel-heading>a{white-space:normal}
  .client-admin .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .client-admin .dashboard-metrics-linked .dashboard-metric{min-height:78px!important;padding:.65rem .75rem!important;border-bottom:1px solid var(--border-soft)}
  .client-admin .dashboard-metrics-linked .dashboard-metric strong{font-size:1.6rem}
  .client-admin .dashboard-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-admin .dashboard-funnel a{min-height:76px;border-bottom:1px solid var(--border)}
  .client-admin .dashboard-funnel a:nth-child(2n){border-right:0}
  .client-admin .dashboard-funnel a:last-child{grid-column:1/-1;border-right:0}
  .client-admin .dashboard-mini-chart{min-height:120px}
  .client-admin .admin-ux-attention-item{grid-template-columns:minmax(0,1fr) auto!important;gap:.55rem!important;padding:.75rem 0}
  .client-admin .admin-icon-actions{justify-content:flex-end;flex-wrap:nowrap}
  .client-admin .admin-icon-action{width:40px;height:40px}
  .client-admin .admin-ux-referral-card{grid-template-columns:minmax(0,1fr) auto!important;gap:.75rem!important;padding:12px!important}
  .client-admin .admin-ux-referral-actions{min-width:auto;align-self:start}
  .client-admin .admin-ux-referral-actions>.admin-ux-text-action{display:none}

  .client-admin .actions-heading{display:grid!important;grid-template-columns:1fr;gap:.65rem!important}
  .client-admin .heading-actions,.client-admin .admin-ux-heading-actions{display:flex;gap:.45rem;flex-wrap:wrap;width:100%}
  .client-admin .heading-actions .button,.client-admin .admin-ux-heading-actions .button{flex:1 1 auto}
  .client-admin .admin-ux-filter-bar{padding:12px!important;gap:.65rem!important}
  .client-admin input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.client-admin select,.client-admin textarea{max-width:none;width:100%;box-sizing:border-box}
  .client-admin .form-grid{gap:.75rem}
  .client-admin .button-row,.client-admin .wizard-actions{gap:.45rem}

  .client-admin .settings-layout{display:block!important}
  .client-admin .settings-sidebar{position:relative!important;z-index:900;margin:0 0 10px!important;border:0!important;background:transparent!important}
  .client-admin .settings-sidebar-title{display:none}
  .client-admin .settings-mobile-toggle{display:grid;position:relative;z-index:2}
  .client-admin .settings-sidebar-list{display:none!important;position:absolute;z-index:1;top:100%;left:0;right:0;max-height:min(68vh,520px);overflow-y:auto;border:1px solid var(--border);border-top:0;background:var(--surface);box-shadow:0 14px 30px rgba(0,0,0,.22)}
  .client-admin .settings-nav-open .settings-sidebar-list{display:block!important}
  .client-admin .admin-ux-settings-group-title{padding:.65rem .75rem .25rem}
  .client-admin .admin-ux-settings-sidebar .settings-sidebar-link{padding:.7rem .75rem;min-height:44px}
  .client-admin .settings-content{width:100%;min-width:0}

  .client-admin.business-page-admin .app-main>.content-wrap.wide{display:block!important}
  .client-admin.business-page-admin .app-main>.content-wrap.wide>.business-page-sidebar{position:static!important;margin:0 0 10px!important;width:100%!important}
  .client-admin.business-page-admin .app-main>.content-wrap.wide>.page-heading,.client-admin.business-page-admin .app-main>.content-wrap.wide>:not(.notice):not(.page-heading):not(.business-page-sidebar){grid-column:auto!important;width:100%!important;max-width:none!important}

  .client-admin .booking-admin-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:thin}
  .client-admin .booking-admin-nav .button{white-space:nowrap;flex:0 0 auto}
  .client-admin .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .client-admin .metric-card{min-height:82px;padding:10px!important}
  .client-admin .booking-calendar-panel{overflow:hidden}
  .client-admin .booking-calendar-head{gap:.35rem}
  .client-admin .booking-calendar-head .button{min-width:0;padding:.45rem .55rem}

  .client-admin .admin-ux-page-grid{gap:10px!important}
  .client-admin .admin-ux-page-card{padding:12px!important}
  .client-admin .admin-ux-page-preview{height:160px}
  .client-admin .admin-ux-page-actions .button{flex:1 1 auto}
  .client-admin .admin-ux-settings-overview-grid{border-left:0}
  .client-admin .admin-ux-settings-overview-grid a{border-left:1px solid var(--border)}

  /* Mobile list/table treatment: let records occupy the screen rather than sit in a desktop wrapper. */
  .client-admin .table-wrap{overflow:visible!important}
  .client-admin table.data-table.responsive{border:0!important}
  .client-admin table.data-table.responsive thead{display:none}
  .client-admin table.data-table.responsive tbody{display:grid;gap:0}
  .client-admin table.data-table.responsive tr{display:grid!important;grid-template-columns:1fr!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid var(--border)!important;background:var(--surface)}
  .client-admin table.data-table.responsive td{display:grid!important;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:.6rem;padding:.28rem 0!important;border:0!important;min-width:0}
  .client-admin table.data-table.responsive td::before{content:attr(data-label);font-weight:800;color:var(--muted);font-size:.78rem}
  .client-admin table.data-table.responsive td:empty{display:none!important}
  .client-admin table.data-table.responsive td[data-label="Actions"]{grid-template-columns:1fr;margin-top:.35rem}
  .client-admin table.data-table.responsive td[data-label="Actions"]::before{display:none}
  .client-admin .admin-icon-actions-row{justify-content:flex-start;min-width:0}

  /* Persistent text-only quick bar. */
  .client-quick-bar{position:fixed;z-index:1050;left:0;right:0;bottom:0;min-height:56px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--brand);border-top:1px solid rgba(255,255,255,.22);padding-bottom:env(safe-area-inset-bottom)}
  .client-quick-bar button{border:0;border-right:1px solid rgba(255,255,255,.25);background:transparent;color:var(--brand-text);font:inherit;font-weight:850;font-size:.93rem;cursor:pointer}
  .client-quick-bar button:last-child{border-right:0}
  .client-quick-bar button:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}
  .client-quick-dialog{padding:16px 12px calc(16px + env(safe-area-inset-bottom));max-height:calc(100dvh - 46px)}
  .quick-action-contact-grid{grid-template-columns:1fr}
  .quick-action-request-form .quick-request-actions{grid-template-columns:1fr}
  .quick-qr-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-qr-picker button:nth-child(2n){border-right:0}
  .quick-qr-picker button{border-bottom:1px solid var(--border)}
  .quick-qr-code{width:min(290px,84vw)}
}

@media(max-width:480px){
  .client-admin .app-main>.content-wrap.wide{padding-inline:5px!important}
  .client-admin .panel{padding:12px 10px!important}
  .client-admin .admin-ux-table-panel,.client-admin .admin-ux-referrals-panel{padding:0!important}
  .client-admin .dashboard-metrics-linked .dashboard-metric span{font-size:.78rem}
  .client-admin .admin-ux-attention-item{grid-template-columns:1fr auto!important}
  .client-admin .admin-icon-action{width:38px;height:38px}
  .client-admin .admin-ux-referral-card{grid-template-columns:1fr!important}
  .client-admin .admin-ux-referral-actions{justify-items:start}
  .client-admin .admin-ux-referral-actions .admin-icon-actions{justify-content:flex-start}
  .client-admin table.data-table.responsive td{grid-template-columns:minmax(82px,31%) minmax(0,1fr);gap:.45rem}
}
@media(max-width:820px){
  .client-admin table.data-table.responsive td:not([data-label]){grid-template-columns:1fr}
  .client-admin table.data-table.responsive td:not([data-label])::before{display:none}
}
.client-admin .business-page-mobile-toggle{display:none;width:100%;min-height:48px;padding:.65rem .75rem;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface);color:var(--text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;font:inherit}
.client-admin .business-page-mobile-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){
  .client-admin .business-page-sidebar{border:0!important;background:transparent!important}
  .client-admin .business-page-sidebar-title{display:none}
  .client-admin .business-page-mobile-toggle{display:grid}
  .client-admin .business-page-sidebar-list{display:none!important;border:1px solid var(--border);border-top:0;background:var(--surface)}
  .client-admin .page-section-nav-open .business-page-sidebar-list{display:block!important}
  .client-admin .business-profile-return{display:block;margin:0 0 6px;padding:8px 2px}
  .client-admin .business-page-sidebar-link{min-height:44px;padding:.7rem .75rem!important}
  .client-admin .business-page-subnav{padding:0 .75rem .5rem}
}

/* R10 0.11.13-r31 — retained platform-admin client password control only. */
.admin-client-password-form {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 1rem 1.25rem;
  align-items: end;
}
.admin-client-password-form > label {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}
.admin-client-password-form input,
.admin-client-password-form select {
  width: 100%;
  max-width: none;
  margin-top: auto;
}
.admin-client-password-action {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.admin-client-password-action .field-help { margin: 0; }
@media (max-width: 1000px) {
  .admin-client-password-form { grid-template-columns: 1fr; }
  .admin-client-password-action { grid-column: auto; align-items: flex-start; flex-direction: column; }
}


/* R10 0.11.13-r32 — adaptive admin composition audit: pair peers, full-width standalone work, full-width data. */
.layout-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
  margin:0 0 1.5rem;
}
.layout-pair > .panel,
.layout-pair > form.panel { margin:0; min-width:0; height:100%; }
.layout-pair > :only-child,
.two-column > :only-child,
.analytics-two-column > :only-child { grid-column:1 / -1; }
.two-column > :last-child:nth-child(odd),
.business-admin-status-grid > :last-child:nth-child(odd),
.provider-test-grid > :last-child:nth-child(odd) { grid-column:1 / -1; }

/* Settings pages: a single working section always uses the content column; compact peers may share a row. */
.settings-overview,
.client-address-form { max-width:none; width:100%; }
.settings-content > .layout-pair,
.settings-content > .page-heading + .layout-pair { margin-top:18px; }
.settings-content > .layout-pair + .panel { margin-top:18px; }
.client-account-pair .stack-form input,
.client-account-pair .stack-form select,
.client-account-pair .stack-form textarea { max-width:none; }
.account-security-panel { width:100%; }

.admin-body .settings-form-balanced {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  align-items:start;
}
.admin-body .settings-form-balanced > .settings-section { margin:0!important; min-width:0; height:100%; }
.admin-body .settings-form-balanced > .settings-section-wide,
.admin-body .settings-form-balanced > .settings-actions { grid-column:1 / -1; }
.admin-body .settings-form-balanced > .settings-actions { margin-top:0; }

/* Data-heavy sections always consume their complete working panel. */
.admin-body .table-panel,
.client-admin .table-panel,
.admin-body .table-wrap,
.client-admin .table-wrap { width:100%; max-width:none; min-width:0; }
.admin-body .table-panel > .data-table,
.client-admin .table-panel > .data-table,
.admin-body .table-wrap > .data-table,
.client-admin .table-wrap > .data-table { width:100%; min-width:100%; }
.admin-body .data-table th,
.admin-body .data-table td,
.client-admin .data-table th,
.client-admin .data-table td { padding-left:.85rem; padding-right:.85rem; }
.admin-body .data-table .numeric,
.client-admin .data-table .numeric { text-align:right; white-space:nowrap; }

/* The platform activity graph is a primary full-width visual, not a short strip. */
.admin-body .admin-analytics-chart-panel { width:100%; }
.admin-body .admin-analytics-chart-panel .analytics-line-chart { min-height:0; }
.admin-body .admin-analytics-chart-panel .analytics-line-chart svg {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
}

/* Standalone operational work should never inherit a half-column simply because it followed a paired row. */
.admin-body #privacy-requests,
.admin-body #failed-jobs { width:100%; }

@media (max-width:980px) {
  .layout-pair,
  .admin-body .settings-form-balanced { grid-template-columns:1fr; }
  .admin-body .settings-form-balanced > .settings-section-wide,
  .admin-body .settings-form-balanced > .settings-actions { grid-column:auto; }
  .two-column > :last-child:nth-child(odd),
  .business-admin-status-grid > :last-child:nth-child(odd),
  .provider-test-grid > :last-child:nth-child(odd) { grid-column:auto; }
}

/* R10 0.11.13-r33 — client polish, public-page composition, professional receipts and installable mobile dashboard. */

/* Review platform marks — use recognisable brand marks rather than letter placeholders. */
.review-platform-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  padding:7px;
  box-sizing:border-box;
  border:1px solid #d7dfdc;
  background:#fff;
  color:#14211e;
  overflow:hidden;
  vertical-align:middle;
}
.review-platform-mark svg{display:block;width:100%;height:100%}
.review-platform-mark .review-platform-wordmark,
.review-platform-mark .tripadvisor-mark{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:800 8px/1 Arial,sans-serif;letter-spacing:-.04em;white-space:nowrap}
.review-platform-mark .checkatrade-wordmark{font-size:7px;color:#142f41}
.review-platform-mark .checkatrade-wordmark strong{color:#ee4a65}
.review-platform-mark .amazon-wordmark{font-size:8px;color:#111;position:relative}
.review-platform-mark .amazon-wordmark span{position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);color:#ff9900;font-size:13px}
.review-platform-mark .yell-wordmark{background:#ffe000;color:#121212;font-size:10px;padding:3px 4px}
.review-platform-mark .reviewsio-wordmark{font-size:6px;letter-spacing:-.02em;color:#111}
.review-platform-mark .tripadvisor-mark{font-size:0;gap:1px}
.review-platform-mark .tripadvisor-mark i{width:9px;height:9px;border:2px solid #111;border-radius:50%;position:relative}
.review-platform-mark .tripadvisor-mark i::after{content:"";position:absolute;width:2px;height:2px;border-radius:50%;background:#111;inset:0;margin:auto}
.review-platform-mark .tripadvisor-mark b{display:none}
.review-platform-mark-admin{width:44px;height:44px}
.review-platform-mark-public{width:38px;height:38px;padding:6px;border-color:#d1d9d6}
.review-destination-title{display:flex!important;align-items:center;gap:12px;min-width:0}
.review-destination-title>span:last-child{min-width:0}
.review-destination-button{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;text-align:left!important;padding:10px 13px!important}
.review-destination-button>span:nth-child(2){flex:1;min-width:0}
.review-button-arrow{margin-left:auto;font-size:1.05rem;line-height:1}

/* Client forms: primary actions stay compact unless the layout explicitly makes them full-width. */
.client-admin .button-compact{width:auto!important;min-width:0!important;min-height:42px!important;padding:.62rem .9rem!important;align-self:start!important;justify-self:start!important}
.client-admin .message-preview-block{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap}
.client-admin .message-preview-block>div{max-width:760px}
.client-admin .message-preview-block h3{margin:0 0 5px}
.client-admin .message-preview-block p{margin:0;color:var(--muted)}
.client-admin .message-preview-block form{margin:0;flex:0 0 auto}

/* Professional client invoice. */
.receipt-document{
  width:min(1080px,100%);
  margin:0 auto 2rem;
  background:#fff;
  color:#17221f;
  border:1px solid #cbd5d1;
  box-shadow:0 12px 32px rgba(17,31,27,.08);
  padding:0;
  overflow:hidden;
}
.receipt-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:24px 30px;background:#23544d;color:#fff;border:0}
.receipt-brand{min-width:0;display:flex;align-items:center}
.receipt-brand img{display:block;max-width:280px;max-height:72px;width:auto;height:auto;object-fit:contain}
.receipt-wordmark{display:block;font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.04em;color:#fff}
.receipt-title-block{text-align:right;display:grid;justify-items:end;gap:5px;color:#fff}
.receipt-title-block h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:0;color:#fff}
.receipt-title-block>strong{font-size:1rem;color:#fff}
.receipt-status{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid rgba(255,255,255,.7);background:#fff;color:#184d3d;font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.receipt-status.is-pending{background:#fff8e8;border-color:#fff8e8;color:#6c531c}
.receipt-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #cbd5d1;border-top:0;margin:0 30px 26px}
.receipt-summary>div{padding:15px 17px;border-right:1px solid #d7dfdc;display:grid;gap:3px;min-width:0}
.receipt-summary>div:last-child{border-right:0}
.receipt-summary span,.receipt-label{font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#61706b}
.receipt-summary strong{font-size:1rem;overflow-wrap:anywhere}
.receipt-summary-total{background:#eef4f1}
.receipt-summary-total strong{font-size:1.25rem;color:#173a34}
.receipt-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 30px 28px}
.receipt-parties>section{border:1px solid #cbd5d1;padding:18px 20px;min-height:138px}
.receipt-parties h2{font-size:1.25rem;margin:7px 0 10px;color:#17221f}
.receipt-parties p{margin:.4rem 0;color:#465650;line-height:1.45}
.receipt-parties p span{color:#61706b}
.receipt-charges{margin:0 30px}
.receipt-table-wrap{overflow-x:auto;border:1px solid #cbd5d1}
.receipt-table{width:100%!important;min-width:650px!important;border:0!important;margin:0!important}
.receipt-table th{background:#edf2ef!important;color:#25332f!important;border-bottom:1px solid #aebdb8!important;padding:11px 13px!important}
.receipt-table td{padding:13px!important;border-bottom:1px solid #e0e6e3!important}
.receipt-table tbody tr:last-child td{border-bottom:0!important}
.receipt-totals{width:min(440px,100%);margin:16px 0 0 auto;border-top:1px solid #b9c5c1}
.receipt-totals>div{display:grid;grid-template-columns:1fr auto;gap:24px;padding:9px 0;border-bottom:1px solid #d7dfdc}
.receipt-totals dt{font-weight:750;color:#4f5f5a}
.receipt-totals dd{margin:0;font-variant-numeric:tabular-nums}
.receipt-totals .receipt-grand-total{padding:13px 0;border-bottom:3px double #596c66;font-size:1.2rem;color:#173a34}
.receipt-totals .receipt-grand-total dt,.receipt-totals .receipt-grand-total dd{font-weight:900}
.receipt-payment-pending{margin:24px 30px 0;padding:16px 18px;border:1px solid #c5a760;background:#fff8e8}
.receipt-payment-pending h2{margin:0 0 5px;font-size:1.1rem}
.receipt-payment-pending p{margin:0}
.receipt-footer{margin:34px 30px 28px;padding-top:16px;border-top:1px solid #cbd5d1;color:#596963;font-size:.9rem}
.receipt-footer strong{color:#173a34}

/* Public Business Profile: full gallery width, better review conversion band and resilient long names. */
.mode-full .business-content>.gallery-section{width:100%!important;max-width:none!important;grid-column:1/-1!important}
.mode-full .gallery-section .public-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;width:100%!important;gap:14px!important}
.mode-full .gallery-section .public-gallery figure,
.mode-full.design-showcase .gallery-section .public-gallery figure,
.mode-full .gallery-section .public-gallery figure:first-child,
.mode-full.design-showcase .gallery-section .public-gallery figure:first-child{grid-column:auto!important;grid-row:auto!important;min-width:0!important;margin:0!important}
.mode-full .gallery-section .public-gallery figure img,
.mode-full .gallery-section .public-gallery figure:first-child img{display:block!important;width:100%!important;height:clamp(250px,28vw,430px)!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3!important;object-fit:cover!important}
.mode-full .reviews-section{width:100%!important;max-width:none!important;grid-column:1/-1!important;padding-block:clamp(44px,6vw,76px)!important}
.mode-full .reviews-section .review-callout{max-width:1180px!important;margin-inline:auto!important;display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)!important;gap:clamp(30px,6vw,80px)!important;align-items:center!important;text-align:left!important}
.mode-full .reviews-section .review-callout-copy h2{margin:0 0 12px!important}
.mode-full .reviews-section .review-callout-copy p{margin:0!important;max-width:48ch!important;font-size:clamp(1rem,1.8vw,1.2rem)!important;line-height:1.6!important;color:inherit!important;opacity:.88}
.mode-full .reviews-section .review-action-panel{background:#fff!important;color:#17221f!important;border:1px solid color-mix(in srgb,var(--client-brand,#234846) 28%,#cbd5d1)!important;padding:clamp(18px,3vw,28px)!important;box-shadow:10px 10px 0 color-mix(in srgb,var(--client-brand,#234846) 18%,transparent)!important}
.mode-full .reviews-section .review-action-eyebrow{display:block;margin-bottom:12px;font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#5a6a65}
.mode-full .reviews-section .review-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;justify-content:stretch!important}
.mode-full .reviews-section .review-destination-button{min-width:0!important;width:100%!important;min-height:62px!important;background:#fff!important;color:#17221f!important;border:2px solid color-mix(in srgb,var(--client-brand,#234846) 48%,#aab8b3)!important;text-decoration:none!important}
.mode-full .reviews-section .review-destination-button:hover,
.mode-full .reviews-section .review-destination-button:focus-visible{background:color-mix(in srgb,var(--client-brand,#234846) 8%,#fff)!important;border-color:var(--client-brand,#234846)!important}
.business-identity h1.business-name-long{font-size:clamp(2.8rem,4.5vw,5rem)!important;max-width:16ch!important}
.business-identity h1.business-name-very-long{font-size:clamp(2.45rem,3.9vw,4.35rem)!important;max-width:18ch!important}
.hero-layout-background .business-identity h1.business-name-long,
.hero-layout-background .business-identity h1.business-name-very-long{max-width:19ch!important}

/* PWA install invitation — only revealed by JS when installation is actually useful. */
.pwa-install-card{position:fixed;z-index:1045;right:18px;bottom:18px;width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px 14px;align-items:center;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:5px solid var(--brand);box-shadow:0 14px 34px rgba(10,24,20,.2)}
.pwa-install-card[hidden]{display:none!important}
.pwa-install-mark{width:52px;height:52px;display:grid;place-items:center;background:#fff;border:1px solid var(--border)}
.pwa-install-mark img{display:block;width:46px;height:46px;object-fit:contain}
.pwa-install-copy{min-width:0}
.pwa-install-copy strong{display:block;font-size:1rem;margin-bottom:3px}
.pwa-install-copy p{margin:0;font-size:.88rem;line-height:1.4;color:var(--muted)}
.pwa-install-actions{grid-column:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pwa-install-actions .button{margin:0}
.pwa-install-ios-help{grid-column:1/-1;margin:0;padding:10px 11px;background:var(--surface-soft,#edf2ef);border:1px solid var(--border);font-size:.88rem;line-height:1.45}

/* Mobile QR: code first, chooser beneath it, no business logo/name block, fit common phone viewports. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  img,svg,video,canvas{max-width:100%}
  .client-admin :is(.content-wrap,.settings-content,.panel,.table-wrap,.form-grid),
  .admin-body :is(.content-wrap,.panel,.table-wrap,.form-grid){min-width:0}
  .client-admin :is(.panel,.settings-content,.content-wrap) :is(p,a,td,th,label,span),
  .admin-body :is(.panel,.content-wrap) :is(p,a,td,th,label,span){overflow-wrap:anywhere}
  .client-admin .message-preview-block{display:grid;grid-template-columns:1fr;align-items:start;gap:12px;margin-top:20px;padding-top:17px}
  .client-admin .message-preview-block form{justify-self:start}
  .receipt-document{margin-bottom:5rem;box-shadow:none}
  .receipt-header{gap:16px;padding:18px 16px}
  .receipt-brand img{max-width:160px;max-height:50px}
  .receipt-summary{margin-inline:16px}
  .receipt-parties{margin-inline:16px}
  .receipt-charges{margin-inline:16px}
  .receipt-payment-pending{margin-inline:16px}
  .receipt-footer{margin-inline:16px}
  .receipt-title-block h1{font-size:2rem}
  .receipt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .receipt-summary>div{border-bottom:1px solid #d7dfdc}
  .receipt-summary>div:nth-child(2n){border-right:0}
  .receipt-parties{grid-template-columns:1fr}
  .receipt-footer{display:grid;grid-template-columns:1fr}

  .mode-full .gallery-section .public-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mode-full .gallery-section .public-gallery figure img,
  .mode-full .gallery-section .public-gallery figure:first-child img{height:clamp(190px,54vw,310px)!important}
  .mode-full .reviews-section .review-callout{grid-template-columns:1fr!important;gap:24px!important}
  .mode-full .reviews-section .review-actions{grid-template-columns:1fr 1fr!important}
  .business-identity h1.business-name-long{font-size:clamp(2.65rem,11vw,4rem)!important;max-width:18ch!important}
  .business-identity h1.business-name-very-long{font-size:clamp(2.35rem,9.5vw,3.6rem)!important;max-width:20ch!important}

  .client-quick-overlay[data-quick-modal="qr"]{align-items:flex-start!important;padding:4px!important}
  .client-qr-dialog{width:calc(100% - 2px)!important;max-width:430px!important;max-height:calc(100dvh - 8px)!important;min-height:0!important;padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;margin:auto!important}
  .client-qr-dialog>header{order:0!important;margin:0!important;padding:0 0 5px!important;min-height:42px!important;align-items:center!important}
  .client-qr-dialog>header h2{font-size:1.22rem!important;margin:0!important}
  .client-qr-dialog>header p{display:none!important}
  .client-qr-dialog .client-quick-close{width:40px!important;height:40px!important;min-height:40px!important}
  .client-qr-dialog .quick-qr-stage{order:1!important;border:0!important;padding:0!important;min-height:0!important;display:grid!important;place-items:center!important;flex:1 1 auto!important;background:#fff!important}
  .client-qr-dialog .quick-qr-stage article{gap:0!important;width:100%!important}
  .client-qr-dialog .quick-qr-logo,
  .client-qr-dialog .quick-qr-business,
  .client-qr-dialog .quick-qr-stage h3,
  .client-qr-dialog .quick-qr-stage p,
  .client-qr-dialog .quick-qr-stage a{display:none!important}
  .client-qr-dialog .quick-qr-code{width:min(76vw,300px,calc(100dvh - 185px))!important;height:auto!important;max-height:calc(100dvh - 185px)!important;padding:2px!important;margin:0 auto!important;aspect-ratio:1!important}
  .client-qr-dialog .quick-qr-picker{order:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;margin:7px 0 0!important;flex:0 0 auto!important}
  .client-qr-dialog .quick-qr-picker button{min-height:42px!important;font-size:.9rem!important;padding:5px 6px!important}
  .client-qr-dialog .quick-qr-more{display:none!important}
  .pwa-install-card{left:8px;right:8px;bottom:calc(64px + env(safe-area-inset-bottom));width:auto;grid-template-columns:46px minmax(0,1fr);padding:11px;gap:9px 10px}
  .pwa-install-mark{width:46px;height:46px}.pwa-install-mark img{width:40px;height:40px}
  .pwa-install-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .pwa-install-actions .button{min-height:42px}
}

@media(max-width:480px){
  .mode-full .gallery-section .public-gallery{grid-template-columns:1fr!important}
  .mode-full .gallery-section .public-gallery figure img,
  .mode-full .gallery-section .public-gallery figure:first-child img{height:clamp(220px,72vw,330px)!important}
  .mode-full .reviews-section .review-actions{grid-template-columns:1fr!important}
  .receipt-header{display:grid;grid-template-columns:1fr}
  .receipt-title-block{text-align:left;justify-items:start}
  .receipt-summary{grid-template-columns:1fr}
  .receipt-summary>div{border-right:0}
}

/* Print the receipt as a clean document rather than printing the client dashboard shell. */
@media print{
  @page{size:A4 portrait;margin:12mm}
  html,body{background:#fff!important;color:#111!important;width:auto!important;height:auto!important;overflow:visible!important}
  .app-header,.business-context-strip,.app-nav,.client-quick-bar,.client-quick-overlay,.pwa-install-card,.settings-sidebar,.settings-mobile-toggle,.page-heading.no-print,.notice,.no-print{display:none!important}
  .client-admin .app-main,.client-admin .settings-layout,.client-admin .settings-content,.client-admin .content-wrap,.client-admin .content-wrap.wide{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important}
  .receipt-document{width:100%!important;max-width:186mm!important;margin:0 auto!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;font-size:9.25pt!important;line-height:1.32!important;overflow:hidden!important}
  .receipt-header{padding:5mm 6mm!important;background:#23544d!important;color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .receipt-brand img{max-width:58mm!important;max-height:15mm!important}
  .receipt-wordmark,.receipt-title-block,.receipt-title-block h1,.receipt-title-block>strong{color:#fff!important}
  .receipt-title-block h1{font-size:21pt!important}
  .receipt-status{min-height:0!important;padding:1.2mm 2.3mm!important;background:#fff!important;color:#184d3d!important;border-color:#fff!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .receipt-summary{margin:0 6mm 5mm!important}
  .receipt-summary>div{padding:3mm 3.2mm!important}
  .receipt-summary strong{font-size:9.5pt!important}
  .receipt-summary-total strong{font-size:11pt!important}
  .receipt-parties{gap:4mm!important;margin:0 6mm 5mm!important}
  .receipt-parties>section{min-height:0!important;padding:3.6mm 4mm!important}
  .receipt-parties h2{font-size:11pt!important;margin:1.4mm 0 2mm!important}
  .receipt-parties p{margin:1mm 0!important;line-height:1.3!important}
  .receipt-charges{margin:0 6mm!important}
  .receipt-summary,.receipt-parties>section,.receipt-table-wrap{border-color:#aeb9b5!important}
  .receipt-summary-total,.receipt-table th{background:#f0f3f2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .receipt-table-wrap{overflow:visible!important}
  .receipt-table{min-width:0!important;width:100%!important;table-layout:fixed!important}
  .receipt-table th,.receipt-table td{padding:2.2mm 2mm!important;font-size:8.75pt!important;line-height:1.25!important}
  .receipt-totals{width:75mm!important;margin-top:3mm!important}
  .receipt-totals>div{padding:2mm 0!important}
  .receipt-totals .receipt-grand-total{padding:2.8mm 0!important;font-size:11pt!important}
  .receipt-payment-pending{margin:4mm 6mm 0!important;padding:3mm 4mm!important}
  .receipt-footer{margin:7mm 6mm 5mm!important;padding-top:3mm!important;font-size:8.75pt!important}
  .receipt-header,.receipt-summary,.receipt-parties,.receipt-charges,.receipt-totals,.receipt-payment-pending,.receipt-footer{break-inside:avoid;page-break-inside:avoid}
  a{color:inherit!important;text-decoration:none!important}
}

/* R10 0.11.13-r34 — client Settings install-app page. */
.settings-install-callout .admin-ux-panel-heading{align-items:center;gap:20px}
.settings-install-callout .admin-ux-panel-heading .button{flex:0 0 auto;margin:0}
.pwa-settings-panel{display:grid;gap:24px}
.pwa-settings-hero{display:grid;grid-template-columns:86px minmax(0,1fr);gap:20px;align-items:center}
.pwa-settings-icon{width:86px;height:86px;display:grid;place-items:center;background:#fff;border:1px solid var(--border)}
.pwa-settings-icon img{display:block;width:74px;height:74px;object-fit:contain}
.pwa-settings-hero h2{margin:0 0 7px;font-size:1.45rem}
.pwa-settings-hero p{margin:0;max-width:72ch;color:var(--muted);line-height:1.55}
.pwa-settings-status{padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface-soft,#edf2ef);font-weight:700}
.pwa-settings-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pwa-settings-actions .button{margin:0}
.pwa-settings-help{padding:18px;border:1px solid var(--border);background:var(--surface-soft,#edf2ef)}
.pwa-settings-help h3{margin:0 0 10px;font-size:1.05rem}
.pwa-settings-help ol{margin:0;padding-left:1.35rem;display:grid;gap:7px}
.pwa-settings-help p{margin:0;line-height:1.55}
.pwa-settings-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border)}
.pwa-settings-benefits>div{padding:16px;display:grid;gap:4px;border-right:1px solid var(--border)}
.pwa-settings-benefits>div:last-child{border-right:0}
.pwa-settings-benefits strong{font-size:.95rem}
.pwa-settings-benefits span{color:var(--muted);font-size:.9rem;line-height:1.45}
.pwa-settings-panel.is-installed .pwa-settings-status{border-left-color:#2f725f}

@media(max-width:760px){
  .settings-install-callout .admin-ux-panel-heading{display:grid;grid-template-columns:1fr;align-items:start}
  .settings-install-callout .admin-ux-panel-heading .button{justify-self:start}
  .pwa-settings-panel{gap:18px}
  .pwa-settings-hero{grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:start}
  .pwa-settings-icon{width:64px;height:64px}.pwa-settings-icon img{width:54px;height:54px}
  .pwa-settings-hero h2{font-size:1.2rem}
  .pwa-settings-actions .button{width:100%}
  .pwa-settings-benefits{grid-template-columns:1fr}
  .pwa-settings-benefits>div{border-right:0;border-bottom:1px solid var(--border)}
  .pwa-settings-benefits>div:last-child{border-bottom:0}
}

/* R10 0.11.13-r35 — explicit PWA install trigger and mobile install guide. */
.settings-install-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.settings-install-actions .button{margin:0}
.pwa-install-main-button{min-width:220px}
.pwa-settings-action-note{margin:0;max-width:72ch;color:var(--muted);line-height:1.5}
.pwa-install-modal[hidden]{display:none!important}
.pwa-install-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:18px}
.pwa-install-modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(4,12,10,.68);cursor:pointer}
.pwa-install-modal-dialog{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100dvh - 36px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--border);border-left:5px solid var(--brand);box-shadow:0 24px 70px rgba(0,0,0,.32);padding:22px;outline:none}
.pwa-install-modal-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.pwa-install-modal-dialog>header h2{margin:0 0 5px;font-size:1.45rem}
.pwa-install-modal-dialog>header p{margin:0;color:var(--muted);line-height:1.45}
.pwa-install-device-cue{margin:18px 0;padding:16px;display:flex;align-items:center;gap:14px;background:var(--surface-soft,#edf2ef);border:1px solid var(--border)}
.pwa-install-device-cue strong{font-size:1rem}
.pwa-cue-share{width:54px;height:54px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border)}
.pwa-cue-share svg{width:30px;height:34px}
.pwa-cue-menu{width:54px;height:54px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);font-size:2rem;font-weight:800;line-height:1}
.pwa-install-modal-body{font-size:.96rem;line-height:1.55}
.pwa-install-modal-body ol{margin:0;padding-left:1.35rem;display:grid;gap:11px}
.pwa-install-modal-body p{margin:14px 0 0}
.pwa-install-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.pwa-install-modal-actions .button{margin:0}
html.pwa-install-modal-open,html.pwa-install-modal-open body{overflow:hidden}

@media(max-width:760px){
  .settings-install-actions{display:grid;grid-template-columns:1fr;width:100%}
  .settings-install-actions .button{width:100%;justify-content:center}
  .pwa-install-main-button{min-width:0;width:100%}
  .pwa-settings-actions{display:grid;grid-template-columns:1fr;align-items:start}
  .pwa-settings-action-note{font-size:.9rem}
  .pwa-install-modal{padding:8px;align-items:end}
  .pwa-install-modal-dialog{width:100%;max-height:calc(100dvh - 16px);padding:18px 16px 16px;border-left-width:4px}
  .pwa-install-modal-dialog>header h2{font-size:1.25rem}
  .pwa-install-device-cue{margin:14px 0;padding:13px}
  .pwa-cue-share,.pwa-cue-menu{width:48px;height:48px;flex:0 0 48px}
  .pwa-cue-share svg{width:27px;height:31px}
  .pwa-install-modal-body{font-size:.94rem}
  .pwa-install-modal-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .pwa-install-modal-actions .button{width:100%;justify-content:center}
}


/* R10 0.11.13-r36 — configurable installed-app/PWA branding and launch screen. */
.pwa-branding-section{margin-top:18px}
.pwa-branding-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.pwa-branding-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:28px;align-items:start;margin-top:20px}
.pwa-branding-fields{display:grid;gap:22px;min-width:0}
.pwa-enable-row{align-items:flex-start;padding:16px;border:1px solid var(--border);background:var(--surface-muted)}
.pwa-enable-row span{display:grid;gap:4px}.pwa-enable-row small{font-size:.86rem;font-weight:400;color:var(--muted);line-height:1.45}
.pwa-icon-upload{max-width:520px}.pwa-icon-media-preview{min-height:150px}.pwa-icon-media-preview img{width:120px;height:120px;object-fit:contain}
.pwa-branding-field-grid{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr);gap:18px}.pwa-branding-field-grid>label{display:grid;gap:7px;align-content:start}.pwa-branding-field-grid .field-hint{margin:0;min-height:2.6em}
.pwa-colour-control{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}.pwa-colour-control input[type=color]{width:52px;height:44px;padding:3px;cursor:pointer}.pwa-colour-control input[type=text],.pwa-colour-control input:not([type]){min-width:0}
.pwa-splash-preview-wrap{position:sticky;top:18px;display:grid;gap:8px;justify-items:center;text-align:center}.pwa-splash-preview-wrap>p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4;max-width:30ch}
.pwa-splash-preview-phone{--pwa-preview-bg:#1A201F;width:min(100%,300px);aspect-ratio:9/16;position:relative;overflow:hidden;background:var(--pwa-preview-bg);border:8px solid #111;border-radius:28px;box-shadow:0 16px 38px rgba(0,0,0,.24)}
.pwa-splash-preview-artwork{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pwa-splash-preview-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:28px;color:#fff;background:var(--pwa-preview-bg)}
.pwa-splash-preview-fallback[hidden]{display:none!important}.pwa-splash-preview-icon{width:42%;max-width:120px;aspect-ratio:1;object-fit:contain}.pwa-splash-preview-fallback strong{font-size:1.45rem}.pwa-splash-preview-fallback span{font-size:.76rem;color:#c7d0cd;line-height:1.35}

.pwa-launch-splash{display:none;position:fixed;inset:0;z-index:5000;background:var(--pwa-launch-bg,#1A201F);overflow:hidden;opacity:1;transition:opacity .24s ease}
html.pwa-launch-splash-active,html.pwa-launch-splash-active body{overflow:hidden!important;background:var(--pwa-launch-bg,#1A201F)!important}
html.pwa-launch-splash-active .pwa-launch-splash{display:grid;place-items:center}
.pwa-launch-splash.is-leaving{opacity:0;pointer-events:none}
.pwa-launch-splash-artwork{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pwa-launch-splash-fallback{width:min(78vw,440px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;color:#fff;padding:30px}
.pwa-launch-splash-icon{width:min(46vw,230px);aspect-ratio:1;object-fit:contain}.pwa-launch-splash-wordmark{display:block;max-width:min(78vw,430px);max-height:90px;object-fit:contain}.pwa-launch-splash-name{font-size:clamp(2rem,9vw,3.3rem);line-height:1;font-weight:850}.pwa-launch-splash-tagline{font-size:clamp(.95rem,4vw,1.25rem);line-height:1.4;color:#cbd5d1;max-width:32ch}
@media(max-width:900px){.pwa-branding-layout{grid-template-columns:1fr}.pwa-splash-preview-wrap{position:static}.pwa-branding-field-grid{grid-template-columns:1fr}.pwa-branding-field-grid .field-hint{min-height:0}}
@media(max-width:600px){.pwa-splash-preview-phone{width:min(86vw,300px)}.pwa-branding-section .branding-actions .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.pwa-launch-splash{transition:none}}

/* R10 0.11.13-r38 — installed-app refresh controls. */
.pwa-refresh-control{margin-top:26px;padding-top:22px;border-top:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:24px;align-items:start}
.pwa-refresh-copy h3{margin:0 0 7px;font-size:1.12rem}.pwa-refresh-copy p{margin:0;color:var(--muted);line-height:1.5}.pwa-refresh-copy .pwa-refresh-version{margin-top:10px;color:var(--text)}
.pwa-refresh-version code{display:inline-block;padding:2px 6px;border:1px solid var(--border);background:var(--surface-muted);font-size:.88rem}
.pwa-refresh-form{display:grid;gap:8px;justify-items:start;padding:16px;border:1px solid var(--border);background:var(--surface-muted)}.pwa-refresh-form .button{margin:0}.pwa-refresh-form small{color:var(--muted);line-height:1.45}
@media(max-width:800px){.pwa-refresh-control{grid-template-columns:1fr}.pwa-refresh-form{justify-items:stretch}.pwa-refresh-form .button{width:100%;justify-content:center}}

/* R10 0.11.13-r39 — repeated-block alignment audit.
   Keep intentional page composition intact; only align peers that share a row. */
@media (min-width: 721px) {
  /* Platform Admin → Settings → Branding: labels, guidance, previews, upload controls and remove rows share a clean baseline. */
  .branding-grid {
    align-items: stretch;
  }
  .branding-grid > .branding-field {
    display: grid;
    grid-template-rows: auto minmax(3.1rem, auto) auto minmax(2.25rem, auto);
    align-content: start;
    min-width: 0;
  }
  .branding-grid > .branding-field > .field-hint {
    min-height: 3.1rem;
  }
  .branding-grid > .branding-field .platform-branding-upload {
    display: grid;
    grid-template-rows: 112px minmax(46px, auto);
    align-content: start;
    gap: var(--ui-gap-sm);
  }
  .branding-grid > .branding-field .platform-branding-upload-preview {
    height: 112px;
    min-height: 112px;
    max-height: 112px;
  }
  .branding-grid > .branding-field .file-upload-row {
    min-height: 46px;
    align-content: center;
  }
  .branding-grid > .branding-field .logo-remove-slot {
    min-height: 2.25rem;
    display: flex;
    align-items: flex-start;
  }

  /* Client Business Profile branding cards: different help-copy lengths no longer stagger previews or action buttons. */
  .brand-media-grid > .brand-media-card {
    display: grid;
    grid-template-rows: minmax(5.5rem, auto) 180px minmax(0, 1fr) auto;
    align-content: start;
  }
  .brand-media-grid .brand-media-heading {
    min-height: 5.5rem;
  }
  .brand-media-grid .brand-media-preview {
    height: 180px;
    min-height: 180px;
    max-height: 180px;
  }
  .brand-media-grid .compact-media-form {
    height: 100%;
  }
  .brand-media-grid .compact-media-form > .button {
    margin-top: auto;
    align-self: flex-start;
  }

  /* Provider test cards are peers, so the send controls finish on one baseline. */
  .provider-test-grid > .provider-test-card {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    align-content: start;
  }
  .provider-test-grid > .provider-test-card > .button {
    align-self: end;
    margin-top: 0;
  }

  /* Marketing image editor: keep image previews and chooser rows aligned even when explanatory copy wraps differently. */
  .marketing-image-grid-editor .marketing-image-card-copy {
    min-height: 4.75rem;
  }
  .marketing-image-grid-editor .file-upload-row {
    min-height: 44px;
  }

  /* PWA paired controls already share a row; make the control itself land on the same baseline as its peer. */
  .pwa-branding-field-grid > label {
    grid-template-rows: auto minmax(2.7em, auto) auto;
  }
  .pwa-branding-field-grid > label > .field-hint {
    min-height: 2.7em;
  }

  /* Two related booking connection blocks should read as one row rather than two independently staggered columns. */
  .booking-sync-grid {
    align-items: stretch;
  }
  .booking-sync-grid > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
  }
  .booking-sync-grid > div > h3 {
    margin-top: 0;
  }
  .booking-sync-grid > div > p:first-of-type {
    min-height: 3.2em;
  }
  .booking-sync-grid .booking-sync-actions,
  .booking-sync-grid > div > .button-row {
    margin-top: auto;
  }

  /* General paired form systems: equal-height grid cells with controls anchored consistently. */
  .content-form-grid,
  .provider-form-grid,
  .settings-grid,
  .form-grid,
  .message-template-grid,
  .simple-page-editor-grid,
  .client-admin .admin-ux-form-grid {
    align-items: stretch;
  }
  .content-form-grid > label,
  .provider-form-grid > label,
  .message-template-grid > label,
  .simple-page-editor-grid > label,
  .client-admin .admin-ux-form-grid > label {
    min-width: 0;
    height: 100%;
  }
}

@media (max-width: 720px) {
  /* On phones, natural vertical flow is more useful than desktop baseline reservation. */
  .branding-grid > .branding-field {
    display: flex;
    flex-direction: column;
  }
  .branding-grid > .branding-field > .field-hint,
  .brand-media-grid .brand-media-heading,
  .marketing-image-grid-editor .marketing-image-card-copy,
  .pwa-branding-field-grid > label > .field-hint,
  .booking-sync-grid > div > p:first-of-type {
    min-height: 0;
  }
  .branding-grid > .branding-field .platform-branding-upload {
    grid-template-rows: auto auto;
  }
  .branding-grid > .branding-field .platform-branding-upload-preview {
    height: auto;
    min-height: 112px;
    max-height: 180px;
  }
  .brand-media-grid > .brand-media-card {
    display: flex;
    flex-direction: column;
  }
  .brand-media-grid .brand-media-preview {
    height: auto;
    min-height: 112px;
    max-height: 180px;
  }
  .booking-sync-grid > div {
    display: block;
  }
}

/* R10 0.11.13-r41 — app-first mobile client experience. Desktop layouts remain unchanged. */
.dashboard-mobile-home,
.dashboard-mobile-intro {
  display:none;
}

@media (max-width:820px) {
  /* The installed/mobile dashboard is a task summary, not the desktop dashboard squeezed into a phone. */
  .client-admin .dashboard-desktop-only,
  .client-admin .dashboard-desktop-intro {
    display:none !important;
  }
  .client-admin .dashboard-mobile-intro {
    display:block;
  }
  .client-admin .dashboard-mobile-home {
    display:grid;
    gap:12px;
    margin:0 0 12px;
  }
  .client-admin .dashboard-heading {
    margin-bottom:10px !important;
  }
  .client-admin .dashboard-heading h1 {
    margin-bottom:.25rem !important;
  }
  .client-admin .dashboard-heading .dashboard-mobile-intro {
    max-width:38ch;
  }
  .client-admin .mobile-home-panel {
    min-width:0;
    margin:0;
    padding:14px 12px;
    border:1px solid var(--border);
    background:var(--surface);
  }
  .client-admin .mobile-home-attention.has-attention {
    border-left:4px solid var(--admin-accent-amber);
  }
  .client-admin .mobile-home-attention.is-clear {
    border-left:4px solid var(--brand);
  }
  .client-admin .mobile-home-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.75rem;
    margin:0 0 .65rem;
  }
  .client-admin .mobile-home-heading > div {
    min-width:0;
  }
  .client-admin .mobile-home-heading h2 {
    margin:0;
    font-size:1.22rem;
    line-height:1.15;
  }
  .client-admin .mobile-home-kicker {
    display:block;
    margin:0 0 .18rem;
    color:var(--muted);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .client-admin .mobile-home-heading > a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:-9px -4px -6px 0;
    padding:0 .45rem;
    color:var(--link);
    font-weight:800;
    text-underline-offset:.18em;
    white-space:nowrap;
  }
  .client-admin .mobile-home-clear-copy {
    margin:0;
    color:var(--muted);
    line-height:1.45;
  }
  .client-admin .mobile-home-attention-list {
    border-top:1px solid var(--border-soft);
  }
  .client-admin .mobile-home-attention-item {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:.65rem;
    padding:12px 0;
    border-bottom:1px solid var(--border-soft);
  }
  .client-admin .mobile-home-attention-item:last-child {
    padding-bottom:0;
    border-bottom:0;
  }
  .client-admin .mobile-home-attention-copy {
    display:grid;
    gap:.12rem;
    min-width:0;
  }
  .client-admin .mobile-home-attention-copy strong {
    font-size:1rem;
  }
  .client-admin .mobile-home-attention-copy span,
  .client-admin .mobile-home-attention-copy small {
    color:var(--muted);
    line-height:1.35;
  }
  .client-admin .mobile-home-attention-copy small {
    font-size:.78rem;
  }
  .client-admin .mobile-home-attention-item .admin-icon-actions {
    gap:6px;
    flex-wrap:nowrap;
  }
  .client-admin .mobile-home-attention-item .admin-icon-action {
    width:42px;
    height:42px;
  }

  .client-admin .mobile-home-month {
    padding-bottom:12px;
  }
  .client-admin .mobile-home-metrics {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--border);
    border-left:1px solid var(--border);
  }
  .client-admin .mobile-home-metrics > a {
    display:grid;
    align-content:center;
    min-height:82px;
    padding:.7rem .8rem;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    color:var(--text);
    text-decoration:none;
  }
  .client-admin .mobile-home-metrics > a:active,
  .client-admin .mobile-home-metrics > a:focus-visible {
    background:var(--surface-muted);
  }
  .client-admin .mobile-home-metrics strong {
    display:block;
    margin-bottom:.28rem;
    font-size:1.65rem;
    line-height:1;
  }
  .client-admin .mobile-home-metrics span {
    color:var(--muted);
    font-size:.82rem;
    line-height:1.25;
  }

  .client-admin .mobile-home-activity-list {
    list-style:none;
    margin:0;
    padding:0;
    border-top:1px solid var(--border-soft);
  }
  .client-admin .mobile-home-activity-list li {
    display:grid;
    grid-template-columns:10px minmax(0,1fr);
    gap:.65rem;
    padding:10px 0;
    border-bottom:1px solid var(--border-soft);
  }
  .client-admin .mobile-home-activity-list li:last-child {
    padding-bottom:0;
    border-bottom:0;
  }
  .client-admin .mobile-home-activity-dot {
    width:8px;
    height:8px;
    margin-top:.4rem;
    background:var(--brand);
  }
  .client-admin .mobile-home-activity-list li > div {
    display:grid;
    gap:.08rem;
    min-width:0;
  }
  .client-admin .mobile-home-activity-list strong {
    line-height:1.3;
  }
  .client-admin .mobile-home-activity-list span,
  .client-admin .mobile-home-activity-list small {
    color:var(--muted);
    line-height:1.35;
  }
  .client-admin .mobile-home-activity-list small {
    font-size:.78rem;
  }

  .client-admin .mobile-home-shortcuts {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0;
  }
  .client-admin .mobile-home-shortcuts a {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:.6rem .7rem;
    border:1px solid var(--border);
    background:var(--surface);
    color:var(--text);
    font-weight:800;
    text-align:center;
    text-decoration:none;
  }
  .client-admin .mobile-home-shortcuts a:active,
  .client-admin .mobile-home-shortcuts a:focus-visible {
    border-color:var(--brand);
    background:var(--surface-muted);
    outline:3px solid var(--focus);
    outline-offset:1px;
  }

  /* Mobile touch targets and breathing room across the client app only. */
  .client-admin .app-main > .content-wrap.wide {
    padding-inline:10px !important;
  }
  .client-admin .button:not(.admin-icon-action) {
    min-height:48px;
    padding:.65rem .85rem;
  }
  .client-admin .button-small:not(.admin-icon-action) {
    min-height:44px;
  }
  .client-admin input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .client-admin select {
    min-height:48px;
    padding-top:.6rem;
    padding-bottom:.6rem;
  }
  .client-admin textarea {
    padding:.7rem .75rem;
    line-height:1.5;
  }
  .client-admin label {
    line-height:1.35;
  }
  .client-admin .button-row,
  .client-admin .wizard-actions,
  .client-admin .heading-actions,
  .client-admin .admin-ux-heading-actions {
    gap:.6rem !important;
  }
  .client-admin .admin-ux-panel-heading > a,
  .client-admin .admin-ux-text-action {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  /* Section/range tabs behave like app controls instead of wrapping into cramped rows. */
  .client-admin .admin-ux-section-tabs,
  .client-admin .analytics-range-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .client-admin .admin-ux-section-tabs::-webkit-scrollbar,
  .client-admin .analytics-range-tabs::-webkit-scrollbar {
    display:none;
  }
  .client-admin .admin-ux-section-tabs a,
  .client-admin .analytics-range-tab {
    flex:0 0 auto;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
  }

  /* The bottom bar is a primary thumb target in the installed app. */
  .client-admin .client-quick-bar {
    min-height:60px;
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
  .client-admin .client-quick-bar button {
    min-height:60px;
    padding:.7rem .35rem;
    font-size:1rem;
    touch-action:manipulation;
  }
  .client-admin .client-quick-dialog {
    padding:16px 14px calc(18px + env(safe-area-inset-bottom));
  }
  .client-admin .client-quick-close {
    width:44px;
    height:44px;
  }

  /* Pagination and disclosure controls remain easy to tap one-handed. */
  .client-admin .pagination-bar a,
  .client-admin details > summary {
    min-height:44px;
  }
}

@media (max-width:480px) {
  .client-admin .app-main > .content-wrap.wide {
    padding-inline:8px !important;
  }
  .client-admin .mobile-home-panel {
    padding:13px 11px;
  }
  .client-admin .mobile-home-attention-item {
    gap:.5rem;
  }
  .client-admin .mobile-home-attention-item .admin-icon-action {
    width:40px;
    height:40px;
  }
  .client-admin .mobile-home-shortcuts {
    gap:7px;
  }
}


/* R10 0.11.13-r42 — mobile client form-control containment audit.
   Desktop is intentionally untouched. The r26 mobile width rule must never turn
   native checkbox/radio controls into full-width flex/grid items. */
@media (max-width:820px) {
  .client-admin input[type="checkbox"],
  .client-admin input[type="radio"] {
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    padding:0 !important;
    flex:0 0 22px !important;
    box-sizing:border-box !important;
    accent-color:var(--brand);
  }

  /* Checkbox rows with explanatory copy must remain a compact two-item row.
     This prevents the control taking the row width and forcing its text into a
     one-character column, which caused the very tall blank cards on phones. */
  .client-admin .checkbox-row,
  .client-admin .check-row,
  .client-admin .booking-rule-check {
    align-items:flex-start !important;
    min-width:0;
    max-width:100%;
    height:auto !important;
    white-space:normal !important;
  }
  .client-admin .checkbox-row > input[type="checkbox"],
  .client-admin .checkbox-row > input[type="radio"],
  .client-admin .check-row > input[type="checkbox"],
  .client-admin .check-row > input[type="radio"],
  .client-admin .booking-rule-check > input[type="checkbox"],
  .client-admin .booking-rule-check > input[type="radio"] {
    margin:.12rem 0 0 !important;
  }
  .client-admin .checkbox-row > span,
  .client-admin .booking-rule-check > span {
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
  }

  /* Other checkbox/radio patterns in the client app use the same native-sized
     control even when they are not wrapped in checkbox-row/check-row. */
  .client-admin .builder-row-visibility input[type="checkbox"],
  .client-admin .builder-row-visibility input[type="radio"],
  .client-admin .checkbox-label input[type="checkbox"],
  .client-admin .checkbox-label input[type="radio"],
  .client-admin .theme-choice input[type="radio"] {
    flex:0 0 22px !important;
  }

  /* Keep forms and fieldsets on their natural content height and inside the
     phone viewport. This is defensive against desktop grid sizing leaking into
     one-column mobile forms. */
  .client-admin fieldset,
  .client-admin .stack-form,
  .client-admin .form-grid,
  .client-admin .checkbox-list,
  .client-admin .wizard-toggle-list {
    min-width:0 !important;
    max-width:100% !important;
  }
  .client-admin .stack-form {
    grid-auto-rows:max-content;
    align-content:start;
  }
  .client-admin .checkbox-list {
    align-content:start;
  }
}

/* R10 0.11.13-r48 — private Recommend Trade Reviews + manual Amazon reward fulfilment. */
.recommend-trade-reviews-intro .copy-row { margin-top:1rem; }
.recommend-share-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.metric-caption { display:block; margin-top:.35rem; color:var(--muted); font-size:.9rem; }
.gift-card-send-details { min-width:280px; }
.gift-card-send-form { min-width:min(520px,72vw); padding-top:.8rem; }
.gift-card-email-preview { border:1px solid var(--border-soft); background:var(--surface-muted); border-radius:var(--radius); padding:1rem; }
.gift-card-email-preview p { margin:.65rem 0; }
.gift-card-preview-label { display:block; color:var(--muted); font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.35rem; }
.gift-card-preview-code { border:2px solid #b89a3f; background:var(--surface); padding:.85rem 1rem; margin:.85rem 0; font-weight:800; overflow-wrap:anywhere; }
html[data-theme="dark"] .gift-card-preview-code { border-color:#d5b957; }
@media (max-width:820px) {
  .recommend-share-actions { display:grid; grid-template-columns:1fr; }
  .recommend-share-actions .button { width:100%; text-align:center; }
  .gift-card-send-details { min-width:0; }
  .gift-card-send-form { min-width:0; width:min(100%,88vw); }
}

/* R10 0.11.13-r49 — standalone Recommend Trade Reviews page and collision-safe layout. */
.recommend-page{display:grid;gap:18px;max-width:1480px}
.recommend-page>.panel,.recommend-page>.commercial-summary{margin:0}
.recommend-page .recommend-summary{gap:18px;margin:0}
.recommend-page .recommend-summary>.panel{margin:0;min-height:138px}
.recommend-trade-reviews-intro .copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;max-width:920px}
.recommend-trade-reviews-intro .copy-row input{min-width:0;width:100%}
.recommend-trade-reviews-intro .copy-row .button{margin:0;white-space:nowrap}
.recommend-share-actions{align-items:center}
.recommend-page .table-wrap{max-width:100%;overflow-x:auto}
.recommend-page .data-table{min-width:0;width:100%}
.recommend-how-it-works .plain-steps{margin-bottom:1rem}
@media(max-width:980px){
  .recommend-page{gap:12px}
  .recommend-page .recommend-summary{gap:12px}
}
@media(max-width:820px){
  .recommend-page{display:block}
  .recommend-page>.panel,.recommend-page>.commercial-summary{margin:0 0 10px!important}
  .recommend-trade-reviews-intro .copy-row{grid-template-columns:1fr;gap:8px}
  .recommend-trade-reviews-intro .copy-row .button{width:100%}
  .recommend-page .recommend-summary{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .recommend-page .recommend-summary>.panel{min-height:0;margin:0!important}
}

/* R10 0.11.13-r50 — full-width recommendation page, visible CTA and editable reward. */
.client-admin .recommend-page-heading,
.client-admin .recommend-page{
  width:100%;
  max-width:none!important;
}
.client-admin .recommend-page>.panel,
.client-admin .recommend-page>.commercial-summary{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.client-admin .recommend-trade-reviews-intro .copy-row{
  max-width:none;
}
.client-admin .desktop-recommend-link{
  margin-left:auto;
  margin-top:7px;
  margin-bottom:7px;
  padding:.48rem 1rem;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  border:2px solid var(--brand)!important;
  background:var(--brand);
  color:#fff!important;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  line-height:1;
  white-space:nowrap;
}
.client-admin .desktop-recommend-link:hover,
.client-admin .desktop-recommend-link.active{
  background:var(--brand-hover);
  border-color:var(--brand-hover)!important;
  color:#fff!important;
  text-decoration:none;
}
.admin-body .platform-referral-scheme-settings{width:100%;max-width:none}
.admin-body .platform-referral-reward-form{display:grid;grid-template-columns:minmax(240px,420px) auto;gap:14px;align-items:end;max-width:760px}
.admin-body .platform-referral-reward-form label{margin:0}
.admin-body .platform-referral-reward-form .button{margin:0;white-space:nowrap}
@media(max-width:820px){
  .admin-body .platform-referral-reward-form{grid-template-columns:1fr;max-width:none}
  .admin-body .platform-referral-reward-form .button{width:100%}
  .client-admin .mobile-nav-account .mobile-nav-recommend{
    color:#fff!important;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.035em;
  }
}

/* r51: reviews are a first-class part of the public Business Profile. */
.business-review-priority{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--client-brand) 9%,var(--surface));}
.business-review-priority-inner{min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.business-review-priority-mark{display:grid;place-items:center;width:46px;height:46px;background:var(--client-brand);color:var(--client-brand-text);font-size:22px;font-weight:900}
.business-review-priority-inner>div{display:grid;gap:2px}.business-review-priority-inner>div strong{font-size:1.15rem}.business-review-priority-inner>div span{color:var(--muted)}
@media(max-width:760px){
  .business-public-body .trust-card-grid{grid-template-columns:1fr!important}
  .mode-full .trust-card-grid{grid-template-columns:1fr!important}
  .business-public-body .key-fact-grid{grid-template-columns:1fr!important}
  .mode-full .key-fact-grid{grid-template-columns:1fr!important;background:transparent!important;border:0!important;gap:12px!important}
  .mode-full .key-fact{width:100%!important;min-width:0!important;border:1px solid var(--border)!important}
  .business-public-body .trust-card{min-width:0!important;width:100%!important}
  .mode-full .trust-card{grid-template-columns:1fr!important;min-width:0!important;width:100%!important;min-height:0!important}
  .mode-full .trust-card>div{min-width:0!important;width:100%!important}
  .mode-full .trust-card img{width:72px!important;height:72px!important;max-width:72px!important;max-height:72px!important}
  .mode-full .trust-card p,.mode-full .trust-card span,.mode-full .trust-card a{overflow-wrap:anywhere;word-break:normal}
  .mode-full .trust-subsection{width:100%!important;min-width:0!important}
  .business-review-priority-inner{grid-template-columns:auto minmax(0,1fr);padding-block:16px}
  .business-review-priority-inner>.business-button{grid-column:1/-1;width:100%;justify-content:center}
}

/* R10 0.11.13-r52 — full-width, one-page Business Profile setup. */
.client-admin .public-page-editor-heading{max-width:none;width:100%}
.client-admin .page-wizard-shell{grid-template-columns:230px minmax(0,1fr);max-width:none;width:100%}
.client-admin .page-wizard-main,.client-admin .page-wizard-main .wizard-panel{max-width:none;width:100%}
.client-admin .wizard-form,.client-admin .wizard-template-current,.client-admin .wizard-task-list,.client-admin .wizard-cover-editor{max-width:none}

.business-profile-one-page{display:grid;gap:18px;width:100%;max-width:none}
.business-profile-one-page>.panel,.business-profile-bottom-grid>.panel{margin:0;max-width:none}
.business-profile-setup-panel{min-width:0}
.profile-template-grid-inline{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin-bottom:0}
.profile-template-grid-inline .profile-template-card{min-height:0}
.profile-template-grid-inline .profile-template-real-preview{height:170px}
.profile-template-grid-inline .profile-template-copy{gap:.55rem}

.profile-sections-form{display:grid;gap:1rem}
.profile-section-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.profile-section-choice{margin:0!important;padding:1rem!important;border:1px solid var(--border)!important;background:var(--surface);min-height:92px}
.profile-section-choice:has(input:checked){border-color:var(--brand)!important;background:color-mix(in srgb,var(--brand) 7%,var(--surface))}
.profile-section-choice strong{display:block;margin-bottom:.25rem}
.profile-optional-sections{border-top:1px solid var(--border);padding-top:.25rem}
.profile-optional-sections>summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;padding:.85rem 0}
.profile-optional-sections>summary span{color:var(--muted);font-size:.9rem}
.profile-optional-sections[open]>summary{margin-bottom:.4rem}
.profile-section-choice-grid-optional{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel-actions{display:flex;justify-content:flex-end}

.business-profile-inline-editor{max-width:900px;padding:1rem;margin:0 0 1rem;border:1px solid var(--border);border-left:4px solid var(--brand);background:var(--surface-muted)}
.business-profile-inline-editor h3{margin-top:0}
.profile-content-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.profile-content-card{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;min-width:0;padding:1rem;border:1px solid var(--border);background:var(--surface)}
.profile-content-card-priority{border-top:5px solid var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--surface))}
.profile-content-card h3,.profile-content-card p{margin:0}.profile-content-card p{margin-top:.35rem;color:var(--muted)}
.profile-content-card-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-soft)}
.profile-content-card-footer>span{font-weight:750;color:var(--muted)}

.business-profile-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.business-profile-cover-preview{margin:1rem 0;min-height:180px;border:1px solid var(--border);background:var(--surface-muted);display:grid;place-items:center;overflow:hidden}
.business-profile-cover-preview img{display:block;width:100%;height:240px;object-fit:cover;object-position:center}
.business-profile-cover-preview .empty-state{border:0;background:transparent;margin:0}
.business-profile-publish-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border);margin:1rem 0}
.business-profile-publish-summary>div{padding:1rem;border-right:1px solid var(--border);display:grid;gap:.25rem}
.business-profile-publish-summary>div:last-child{border-right:0}
.business-profile-publish-summary span{font-size:.82rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.business-profile-publish-summary strong{font-size:1.05rem}

@media(max-width:1320px){
  .profile-template-grid-inline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-section-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-content-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .client-admin .page-wizard-shell{grid-template-columns:200px minmax(0,1fr)}
  .profile-template-grid-inline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-section-choice-grid,.profile-section-choice-grid-optional{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-profile-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .profile-template-grid-inline,.profile-section-choice-grid,.profile-section-choice-grid-optional,.profile-content-card-grid{grid-template-columns:1fr}
  .profile-optional-sections>summary{display:block}.profile-optional-sections>summary span{display:block;margin-top:.2rem}
  .panel-actions{justify-content:stretch}.panel-actions .button{width:100%}
  .business-profile-publish-summary{grid-template-columns:1fr}.business-profile-publish-summary>div{border-right:0;border-bottom:1px solid var(--border)}.business-profile-publish-summary>div:last-child{border-bottom:0}
  .profile-content-card-footer{align-items:stretch}.profile-content-card-footer .button{width:auto}
}

/* R60 transactional email template editor */
.email-template-editor{display:grid;gap:1rem}
.email-template-test-bar{display:flex;align-items:end;gap:1.25rem;justify-content:space-between}
.email-template-test-bar>label{margin:0;min-width:min(100%,320px)}
.email-template-token-list{font-size:.9rem;color:var(--muted)}
.email-template-token-list code{white-space:nowrap}
.email-template-card{margin:0}
.email-template-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.email-template-card-head h2{margin:0 0 .2rem}
.email-template-card-head span{color:var(--muted)}
.email-template-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:1.5rem;align-items:start}
.email-template-fields>label{display:block;margin-bottom:1rem;font-weight:600}
.email-template-fields textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.45;min-height:220px}
.email-template-preview{border:1px solid var(--border-soft);background:#f3f5f4}
.email-template-preview-label{padding:.65rem .8rem;border-bottom:1px solid var(--border-soft);font-weight:700;background:var(--surface)}
.email-template-preview iframe{display:block;width:100%;height:520px;border:0;background:#f3f5f4}
@media(max-width:900px){.email-template-grid{grid-template-columns:1fr}.email-template-test-bar{display:grid}.email-template-preview iframe{height:460px}}
.email-template-collapsible{padding:0;overflow:hidden}
.email-template-collapsible>summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;background:var(--surface);border-left:4px solid var(--brand);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.email-template-collapsible>summary::-webkit-details-marker{display:none}
.email-template-collapsible>summary:after{content:'+';font-size:1.35rem;font-weight:700;line-height:1;color:var(--muted)}
.email-template-collapsible[open]>summary:after{content:'−'}
.email-template-summary span{display:grid;gap:.2rem}.email-template-summary strong{font-size:1.05rem}.email-template-summary small{color:var(--muted);font-size:.88rem}
.email-template-expanded-head{padding:1rem 1.1rem 0}.email-template-collapsible>.email-template-grid{padding:0 1.1rem 1.1rem}

/* R63: first-login client setup wizard */
.onboarding-body { min-height: 100vh; background: var(--page); }
.onboarding-header { background: #234846; color: #fff; border-bottom: 4px solid rgba(0,0,0,.22); }
.onboarding-header-inner { width: min(calc(100% - 2rem), 1120px); min-height: 68px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.onboarding-brand { display: inline-flex; align-items: center; text-decoration: none; color: #fff; font-size: 1.15rem; }
.onboarding-brand img { display: block; width: auto; max-width: 190px; max-height: 44px; object-fit: contain; }
.onboarding-header-actions { display: flex; align-items: center; gap: .8rem; color: #fff; }
.onboarding-header-actions form { margin: 0; }
.onboarding-main { padding: clamp(1.25rem,3vw,2.5rem) 0 4rem; }
.onboarding-shell { width: min(calc(100% - 2rem), 1120px); margin: 0 auto; }
.onboarding-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.35rem; }
.onboarding-topline h1 { margin: .15rem 0 .4rem; font-size: clamp(2rem,4vw,3rem); }
.onboarding-topline p { margin: 0; color: var(--muted); font-size: 1.05rem; }
.onboarding-kicker { display: block; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--brand); font-size: .78rem; }
.onboarding-later { white-space: nowrap; margin-top: .4rem; font-weight: 700; }
.onboarding-progress { list-style: none; padding: 0; margin: 0 0 1.4rem; display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); border: 1px solid var(--border); background: var(--surface); }
.onboarding-progress li { position: relative; min-width: 0; padding: .7rem .55rem; display: flex; align-items: center; gap: .45rem; color: var(--muted); border-right: 1px solid var(--border-soft); }
.onboarding-progress li:last-child { border-right: 0; }
.onboarding-progress span { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 50%; font-weight: 800; font-size: .82rem; background: var(--surface-muted); }
.onboarding-progress b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .84rem; }
.onboarding-progress li.current { color: var(--text); box-shadow: inset 0 -4px 0 var(--brand); }
.onboarding-progress li.current span,.onboarding-progress li.done span { background: var(--brand); border-color: var(--brand); color: var(--brand-text); }
.onboarding-progress li.done { color: var(--text); }
.onboarding-card { background: var(--surface); border: 1px solid var(--border); border-left: 5px solid var(--brand); padding: clamp(1.1rem,2.5vw,2rem); }
.onboarding-step-head { max-width: 760px; margin-bottom: 1.5rem; }
.onboarding-step-head > span { display: block; color: var(--muted); font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .35rem; }
.onboarding-step-head h2 { font-size: clamp(1.65rem,3vw,2.25rem); margin-bottom: .4rem; }
.onboarding-step-head p { color: var(--muted); font-size: 1.02rem; margin: 0; }
.onboarding-form { margin: 0; }
.onboarding-grid { display: grid; gap: 0 1.25rem; }
.onboarding-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.onboarding-grid label { margin-bottom: 1rem; }
.onboarding-branding-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; align-items:start; max-width:640px; }
.onboarding-current-logo { border: 1px solid var(--border); background: var(--surface-muted); padding: 1rem; max-width: 520px; }
.onboarding-current-logo span { display: block; color: var(--muted); font-size: .78rem; font-weight: 800; margin-bottom: .65rem; }
.onboarding-current-logo img { display: block; max-width: 100%; width: auto; max-height: 120px; object-fit: contain; }
.onboarding-brand-colour-field { margin-top:1.5rem; }
.onboarding-address-form{max-width:900px}.onboarding-address-note{margin:.85rem 0 0;color:var(--muted);line-height:1.5}.onboarding-locked-address{max-width:900px;margin-bottom:.25rem}
.pwa-brand-colour-field { max-width:none; }
.onboarding-review-list { display: grid; gap: .8rem; }
.onboarding-review-row { display: grid; grid-template-columns: minmax(160px,.65fr) minmax(260px,1.4fr) minmax(180px,.8fr); gap: 1rem; padding: .9rem; border: 1px solid var(--border-soft); background: var(--surface-muted); }
.onboarding-review-row label { margin: 0; }
.onboarding-review-row select { width: 100%; }
.onboarding-switch { display: flex; align-items: flex-start; gap: .75rem; border: 1px solid var(--border); background: var(--surface-muted); padding: 1rem; margin-bottom: 1.25rem; cursor: pointer; }
.onboarding-switch input { width: 22px; height: 22px; margin-top: .1rem; flex: 0 0 auto; }
.onboarding-switch strong,.onboarding-switch small { display: block; }
.onboarding-switch small { color: var(--muted); margin-top: .2rem; font-weight: 400; }
.money-input { display: flex; align-items: center; max-width: 280px; }
.money-input > span { min-height: 44px; margin-top: .3rem; display: grid; place-items: center; border: 2px solid var(--border); border-right: 0; padding: 0 .65rem; background: var(--surface-muted); font-weight: 800; }
.money-input input { margin-left: 0; }
.onboarding-template-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
.onboarding-template-card { margin: 0; cursor: pointer; }
.onboarding-template-card input { position: absolute; opacity: 0; pointer-events: none; }
.onboarding-template-card > span { display: block; height: 100%; min-height: 150px; border: 2px solid var(--border); background: var(--surface); overflow: hidden; }
.onboarding-template-preview { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid var(--border); background: var(--surface-muted); }
.onboarding-template-preview img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.onboarding-template-copy { display: block; padding: 1rem; }
.onboarding-template-card strong,.onboarding-template-card small,.onboarding-template-card em { display: block; }
.onboarding-template-card strong { font-size: 1.15rem; margin-bottom: .45rem; }
.onboarding-template-card small { color: var(--muted); font-size: .92rem; font-weight: 400; margin-bottom: .7rem; }
.onboarding-template-card em { font-size: .78rem; color: var(--muted); font-style: normal; font-weight: 700; }
.onboarding-template-card input:checked + span { border-color: var(--brand); box-shadow: inset 0 0 0 2px var(--brand); background: var(--surface-muted); }
.onboarding-template-card input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.onboarding-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--border); margin-bottom: 1.5rem; }
.onboarding-summary > div { padding: .9rem 1rem; border-bottom: 1px solid var(--border-soft); }
.onboarding-summary > div:nth-child(odd) { border-right: 1px solid var(--border-soft); }
.onboarding-summary span,.onboarding-summary strong { display: block; }
.onboarding-summary span { color: var(--muted); font-size: .8rem; margin-bottom: .2rem; }
.onboarding-actions { display: flex; justify-content: flex-end; gap: .7rem; margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid var(--border-soft); }
.dashboard-onboarding-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; margin: 0 0 1rem; border: 1px solid var(--border); border-left: 5px solid var(--brand); background: var(--surface); }
.dashboard-onboarding-bar div { min-width: 0; }
.dashboard-onboarding-bar strong,.dashboard-onboarding-bar span { display: block; }
.dashboard-onboarding-bar span { color: var(--muted); font-size: .86rem; margin-top: .1rem; }

@media (max-width: 760px) {
  .onboarding-header-inner,.onboarding-shell { width: min(calc(100% - 1.2rem),1120px); }
  .onboarding-header-inner { min-height: 60px; }
  .onboarding-header-actions > span { display: none; }
  .onboarding-topline { display: block; }
  .onboarding-later { display: inline-block; margin-top: .75rem; }
  .onboarding-progress { grid-template-columns: repeat(7,1fr); }
  .onboarding-progress li { justify-content: center; padding: .55rem .2rem; border-right: 0; }
  .onboarding-progress b { display: none; }
  .onboarding-grid.two,.onboarding-branding-grid,.onboarding-template-grid,.onboarding-summary { grid-template-columns: 1fr; }
  .onboarding-review-row { grid-template-columns: 1fr; gap: .55rem; }
  .onboarding-summary > div:nth-child(odd) { border-right: 0; }
  .onboarding-actions { justify-content: stretch; }
  .onboarding-actions .button { flex: 1 1 0; }
  .dashboard-onboarding-bar { align-items: stretch; flex-direction: column; }
  .dashboard-onboarding-bar .button { width: 100%; }
}

.onboarding-header .button-secondary { background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }

/* r72: native TruWord Stripe Payment Element checkout and billing controls. */
.payment-element-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr); gap:1.5rem; align-items:start; }
.rr9-payment-page { padding-top:2rem; padding-bottom:3rem; }
.payment-element-card { max-width:none; }
.stripe-element-mount { min-height:165px; margin:1rem 0 1.25rem; }
.payment-renewal-note { margin:1rem 0 1.25rem; padding:1rem; background:var(--surface-muted); border-left:4px solid var(--brand); }
.payment-renewal-note p { margin:.35rem 0 0; }
.payment-submit { width:100%; }
.payment-security-note { margin:1rem 0 0; }
.payment-order-summary { position:sticky; top:1rem; }
.payment-summary-row { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--border-soft); }
.payment-summary-total { font-size:1.08rem; border-top:2px solid var(--border); margin-top:.25rem; }
.billing-payment-method { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:center; }
.billing-card-line { display:flex; flex-wrap:wrap; gap:.55rem 1rem; align-items:center; }
.billing-card-chip { display:inline-flex; align-items:center; min-height:34px; padding:.25rem .55rem; background:var(--surface-muted); border:1px solid var(--border); border-radius:var(--radius); font-weight:800; }
.billing-renewal-status { margin-top:.75rem; }
.admin-renewal-warning { color:var(--text); font-weight:700; }
@media (max-width:760px){
  .payment-element-layout { grid-template-columns:1fr; }
  .payment-order-summary { position:static; }
  .billing-payment-method { grid-template-columns:1fr; }
}

/* R10 0.11.13-r73 — Web Push controls. */
.push-device-status{margin:.75rem 0 0;color:var(--muted)}
.push-device-actions{display:flex;align-items:center;gap:.75rem}
.push-composer textarea{max-width:760px}
.push-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.push-stats{grid-template-columns:1fr}.push-device-actions{width:100%}.push-device-actions .button{width:100%}}

/* R10 0.11.13-r74 — mobile Settings uses a dedicated Settings home. Desktop Settings remains unchanged. */
.settings-mobile-home,.settings-mobile-back{display:none}
@media(max-width:760px){
  .client-admin .settings-sidebar{display:none!important}
  .client-admin .settings-mobile-back{display:inline-flex;align-items:center;min-height:42px;margin:0 0 10px;padding:.45rem .7rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:800;text-decoration:none}
  .client-admin .settings-mobile-back:hover{text-decoration:none;background:var(--surface-muted)}
  .client-admin .settings-mobile-home{display:grid;gap:12px;margin:0 0 16px}
  .client-admin .settings-mobile-group{border:1px solid var(--border);background:var(--surface)}
  .client-admin .settings-mobile-group h2{margin:0;padding:.62rem .78rem;border-bottom:1px solid var(--border);background:var(--surface-muted);font-size:.78rem;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:850}
  .client-admin .settings-mobile-group a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:50px;padding:.7rem .8rem;border-top:1px solid var(--border-soft);color:var(--text);text-decoration:none;font-weight:780}
  .client-admin .settings-mobile-group h2+a{border-top:0}
  .client-admin .settings-mobile-group a b{font-size:1.45rem;line-height:1;color:var(--muted);font-weight:500}
  .client-admin .settings-mobile-group a:active{background:var(--surface-muted)}
  .client-admin .settings-desktop-home-panel{display:none!important}
}

/* R10 0.11.13-r81 — flexible subscription payment choices. */
.payment-option-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.payment-option-card{display:block;position:relative;cursor:pointer}
.payment-option-card>input{position:absolute;opacity:0;pointer-events:none}
.payment-option-card>span{display:flex;min-height:116px;flex-direction:column;gap:6px;padding:14px 15px;border:1px solid var(--border);background:var(--surface);box-sizing:border-box}
.payment-option-card strong{font-size:.98rem}.payment-option-card small,.payment-option-card em{display:block;color:var(--muted);font-size:.86rem;line-height:1.35}.payment-option-card em{font-style:normal}
.payment-option-card>input:checked+span{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand);background:var(--surface-muted)}
.payment-option-card>input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.payment-option-actions{display:flex;flex-wrap:wrap;gap:10px}
.invoice-payment-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invoice-payment-details label{min-width:0}.copy-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.copy-field-row input{min-width:0}
@media(max-width:900px){.payment-option-list{grid-template-columns:1fr}.payment-option-card>span{min-height:0}}
@media(max-width:760px){.invoice-payment-details{grid-template-columns:1fr}.payment-option-actions{display:grid;grid-template-columns:1fr}.payment-option-actions .inline-form,.payment-option-actions .button{width:100%}}


/* R10 patch 0.11.13-r82: fix Billing renewal alignment and standardise client/admin field spacing. */
.billing-renewal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: 1.5rem 2rem;
  align-items: start;
  margin-top: 1rem;
}
.billing-renewal-grid-single {
  grid-template-columns: minmax(0, 1fr);
}
.billing-renewal-main,
.billing-renewal-side {
  min-width: 0;
}
.billing-renewal-main > .stack-form,
.billing-renewal-main > .notice { margin: 0; }
.billing-renewal-actions { margin-top: 1rem; }
.billing-renewal-side {
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 1rem;
}
.billing-renewal-side h3 { margin: 0 0 .75rem; }
.billing-payment-method {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.payment-option-list { margin: .15rem 0 0; }

/* Reserve a consistent helper-copy area so paired fields share a baseline without colliding. */
.settings-grid,
.form-grid,
.branding-grid {
  align-items: start;
}
.settings-field {
  display: grid;
  grid-template-rows: auto minmax(calc(1.4em * 2), auto) minmax(var(--ui-control-h), auto);
  gap: var(--ui-gap-xs);
  align-content: start;
  min-width: 0;
}
.settings-field .field-label,
.settings-field .field-hint,
.settings-field .field-hint-empty {
  margin: 0;
}
.settings-field .field-hint,
.settings-field .field-hint-empty {
  display: block;
  min-height: calc(1.4em * 2);
  line-height: 1.4;
}
.settings-field .field-hint-empty {
  visibility: hidden;
}
.settings-field > input,
.settings-field > select,
.settings-field > textarea,
.settings-field > .input-affix {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: none;
  align-self: stretch;
}
.form-grid > label {
  display: grid;
  grid-template-rows: auto minmax(calc(1.4em * 2), auto) minmax(var(--ui-control-h), auto);
  gap: var(--ui-gap-xs);
  align-content: start;
}
.form-grid > label > .hint {
  margin: 0;
  min-height: calc(1.4em * 2);
  line-height: 1.4;
}
.form-grid > label > input,
.form-grid > label > select,
.form-grid > label > textarea,
.form-grid > label > .slug-input {
  margin-top: 0;
}
@media (max-width: 900px) {
  .billing-renewal-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
}
@media (max-width: 640px) {
  .settings-field,
  .form-grid > label {
    grid-template-rows: auto auto minmax(var(--ui-control-h), auto);
  }
  .settings-field .field-hint,
  .settings-field .field-hint-empty,
  .form-grid > label > .hint {
    min-height: 0;
  }
}


/* R10 0.11.13-r129 — onboarding Finish alignment + unmistakable deferred-setup reminder. */

/* Finish is a static stage, not a giant circular control.
   The inner check icon keeps the same circle treatment as stages 1–6. */
.onboarding-progress li > .onboarding-stage-static{
  width:100%;
  height:auto;
  min-height:52px;
  padding:.65rem .55rem;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.onboarding-progress li > .onboarding-stage-static > span{
  width:26px;
  height:26px;
  flex:0 0 auto;
  border:1px solid var(--border);
  border-radius:50%;
  background:var(--surface-muted);
}
.onboarding-progress li.current > .onboarding-stage-static > span,
.onboarding-progress li.done > .onboarding-stage-static > span{
  background:var(--brand);
  border-color:var(--brand);
  color:var(--brand-text);
}

/* The old thin dashboard bar was too easy to miss after choosing "Do this later". */
.dashboard-onboarding-reminder{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:1rem 1.25rem;
  align-items:center;
  margin:0 0 1.5rem;
  padding:1.4rem 1.5rem;
  border:2px solid #234846;
  border-left:8px solid #234846;
  background:#e8f1ee;
  color:#10201c;
  box-shadow:0 3px 0 rgba(16,32,28,.14);
}
.dashboard-onboarding-reminder.is-just-deferred{
  border-width:3px;
  border-left-width:10px;
}
.dashboard-onboarding-reminder-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#234846;
  color:#fff;
  font-size:1.6rem;
  font-weight:900;
  line-height:1;
}
.dashboard-onboarding-reminder-copy{
  min-width:0;
}
.dashboard-onboarding-reminder-kicker{
  display:block;
  margin:0 0 .25rem;
  color:#234846;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.dashboard-onboarding-reminder h2{
  margin:0 0 .35rem;
  color:#10201c;
  font-size:clamp(1.35rem,2.4vw,1.8rem);
  line-height:1.15;
}
.dashboard-onboarding-reminder p{
  max-width:760px;
  margin:0;
  color:#344640;
  font-size:1rem;
  line-height:1.45;
}
.dashboard-onboarding-reminder-progress{
  display:flex;
  flex-wrap:wrap;
  gap:.25rem .8rem;
  margin-top:.7rem;
  font-size:.88rem;
}
.dashboard-onboarding-reminder-progress strong{
  color:#10201c;
}
.dashboard-onboarding-reminder-progress span{
  color:#52615c;
}
.dashboard-onboarding-reminder-action{
  align-self:stretch;
  display:flex;
  align-items:center;
}
.dashboard-onboarding-reminder-button{
  min-width:170px;
  min-height:48px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:.75rem 1.15rem!important;
  border:2px solid #234846!important;
  background:#234846!important;
  color:#fff!important;
  font-weight:900!important;
  text-decoration:none!important;
  white-space:nowrap;
}
.dashboard-onboarding-reminder-button:hover{
  background:#183c39!important;
  border-color:#183c39!important;
  color:#fff!important;
}

[data-theme="dark"] .dashboard-onboarding-reminder{
  border-color:#8fc3b8;
  border-left-color:#8fc3b8;
  background:#17302c;
  color:#edf2ef;
}
[data-theme="dark"] .dashboard-onboarding-reminder-icon{
  background:#8fc3b8;
  color:#10201c;
}
[data-theme="dark"] .dashboard-onboarding-reminder-kicker,
[data-theme="dark"] .dashboard-onboarding-reminder h2,
[data-theme="dark"] .dashboard-onboarding-reminder-progress strong{
  color:#edf2ef;
}
[data-theme="dark"] .dashboard-onboarding-reminder p,
[data-theme="dark"] .dashboard-onboarding-reminder-progress span{
  color:#c5d4cf;
}
[data-theme="dark"] .dashboard-onboarding-reminder-button{
  background:#edf2ef!important;
  border-color:#edf2ef!important;
  color:#10201c!important;
}
[data-theme="dark"] .dashboard-onboarding-reminder-button:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#10201c!important;
}

@media(max-width:760px){
  .onboarding-progress li > .onboarding-stage-static{
    justify-content:center;
    min-height:46px;
    padding:.55rem .2rem;
  }
  .dashboard-onboarding-reminder{
    grid-template-columns:auto minmax(0,1fr);
    padding:1.1rem;
    gap:.8rem 1rem;
  }
  .dashboard-onboarding-reminder-icon{
    width:42px;
    height:42px;
  }
  .dashboard-onboarding-reminder-action{
    grid-column:1 / -1;
    width:100%;
  }
  .dashboard-onboarding-reminder-button{
    width:100%;
  }
}

@media print{.settings-mobile-back{display:none!important}}


/* R10 0.11.13-r132 — invoice parties stay side-by-side in print/PDF preview.
   Print viewports can also match the mobile breakpoint; this explicitly
   restores the intended two-column document layout for paper/PDF output. */
@media print{
  .receipt-parties{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:4mm!important;
  }
  .receipt-parties>section{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}
