@import url("./assets/fonts/catalog/fonts.css");
/*
 * Phoenix 10 — стили конструктора страницы и демо-страницы посетителя (r2).
 * Шрифты, фокус и палитра — как у основного демо-кабинета (02):
 * Golos/Raleway из локальных assets/fonts, focus-visible #d98300.
 */
@font-face{font-family:Golos;src:url('./assets/fonts/golostext-1.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Golos;src:url('./assets/fonts/golostext-3.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Golos;src:url('./assets/fonts/golostext-5.woff2') format('woff2');font-weight:600 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Golos;src:url('./assets/fonts/golostext-7.woff2') format('woff2');font-weight:600 800;font-display:swap}
@font-face{font-family:Raleway;src:url('./assets/fonts/raleway-11.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Raleway;src:url('./assets/fonts/raleway-14.woff2') format('woff2');font-weight:700;font-display:swap}

:root {
  --navy:#1c2654; --blue:#304aa0; --gold:#ffcf54; --ink:#222b43;
  --muted:#5d6578; --line:#dbe1eb; --cream:#fff8ee; --red:#ef2f49;
  --green:#2e7d4f; --focus:#d98300; --radius:20px; --radius-sm:14px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin:0; color:var(--ink);
  font-family:Golos, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size:16px; line-height:1.5; background:#f2f4f9;
  -webkit-tap-highlight-color: transparent;
}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:Raleway, Golos, sans-serif;line-height:1.2}
button, input, select, textarea { font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
button:not(:focus-visible), a:not(:focus-visible), input:not(:focus-visible),
select:not(:focus-visible), textarea:not(:focus-visible) { -webkit-tap-highlight-color: transparent; }
img { max-width:100%; display:block; }
a { color: var(--blue); }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.pb-page :focus-visible { outline:3px solid var(--focus); outline-offset:3px; border-radius:6px; }

.demo-ribbon {
  margin:0; padding:10px max(16px, calc((100vw - 1160px)/2));
  background:var(--cream); border-bottom:1px solid #eadfc4; color:#6b5a33;
  font-size:13px; line-height:1.5;
}

/* ---------------------------------------------------------------- каркас редактора */

.bldr-shell { max-width:1160px; margin:0 auto; padding:16px 20px 48px; }
.bldr-loading { padding:64px 24px; text-align:center; color:var(--muted); }

.bldr-header { display:flex; flex-direction:column; gap:12px; padding:2px 0 14px; }
.bldr-title { margin:0; font-size:24px; }
.bldr-sub { margin:0; color:var(--muted); font-size:14px; }

.bldr-partners { display:flex; flex-wrap:wrap; gap:8px; }
.partner-chip {
  min-height:44px; padding:8px 16px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line); background:#fff; font-size:14px; font-weight:600;
}
.partner-chip[aria-pressed="true"] { background:var(--navy); color:#fff; border-color:var(--navy); }

.bldr-warn {
  margin:0 0 14px; padding:12px 14px; border-radius:var(--radius-sm);
  background:#fff4f5; border:1px solid #f3c2c9; color:#8a1f2e; font-size:14px;
}

.bldr-grid { display:grid; grid-template-columns:minmax(0, 470px) minmax(0, 1fr); gap:24px; align-items:start; }
@media (max-width: 920px) { .bldr-grid { grid-template-columns:1fr; } }

/* Режимы: на телефоне показываем либо редактор, либо предпросмотр;
   на десктопе «Предпросмотр» разворачивает предпросмотр на всю ширину. */
.bldr-grid.mode-edit .preview-column { display:none; }
.bldr-grid.mode-preview .editor-column { display:none; }
@media (min-width: 921px) {
  .bldr-grid.mode-edit .preview-column { display:block; }
  .bldr-grid.mode-edit { grid-template-columns:minmax(0,470px) minmax(0,1fr); }
  .bldr-grid.mode-preview { grid-template-columns:minmax(0,1fr); }
}

/* панель редактора */
.editor-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); }

.editor-toolbar {
  position:sticky; top:0; z-index:5;
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  padding:12px 16px; background:#fff; border-radius:var(--radius) var(--radius) 0 0;
  border-bottom:1px solid var(--line);
}
.editor-toolbar .btn { height:44px; }
.editor-toolbar .spacer { margin-left:auto; }

.mode-switch { display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; }
.mode-switch .btn { border:none; border-radius:0; height:44px; }
.mode-switch .btn + .btn { border-left:1px solid var(--line); }
.mode-switch .btn[aria-pressed="true"] { background:var(--navy); color:#fff; }

@media (max-width: 480px) {
  .editor-toolbar { gap:6px; padding:10px 12px; }
  .editor-toolbar .btn { padding:8px 10px; font-size:13px; }
  .mode-switch .btn { padding:8px 12px; font-size:13px; }
}

.btn {
  min-height:44px; height:44px; padding:8px 16px; border-radius:var(--radius-sm); cursor:pointer;
  border:1px solid var(--line); background:#fff; font-weight:600; font-size:14px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  text-decoration:none; vertical-align:middle; text-align:center;
}
.btn:hover { background:#f6f8fd; }
.btn:disabled { opacity:.45; cursor:default; }
.btn-primary { background:var(--gold); border-color:#e0b23e; color:var(--ink); }
.btn-primary:hover { background:#ffd76e; }
.btn-navy { background:var(--navy); border-color:var(--navy); color:#fff; }
.btn-navy:hover { background:#28356b; }
.btn-danger { color:var(--red); border-color:#f3c2c9; }
.btn-danger:hover { background:#fff4f5; }
.btn-quiet { border-color:transparent; background:transparent; color:var(--muted); }
.btn-quiet:hover { background:#f0f3fa; color:var(--ink); }
.btn-small { min-height:44px; height:44px; padding:6px 12px; font-size:13px; }

.editor-body { padding:14px 16px 16px; }

.field { display:flex; flex-direction:column; gap:6px; margin:0 0 12px; }
.field > label { font-weight:600; font-size:14px; display:flex; align-items:center; min-height:24px; }
.field .hint { color:var(--muted); font-size:13px; margin:0; line-height:1.45; }
.field input[type="text"], .field textarea, .field select {
  width:100%; min-height:44px; padding:9px 12px; border:1px solid var(--line); border-radius:10px;
  background:#fff; font-size:15px; line-height:1.45;
}
.field textarea { min-height:96px; resize:vertical; }
.field .checkbox-row { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:600; font-size:14px; cursor:pointer; }
.field input[type="checkbox"] { width:20px; height:20px; accent-color:var(--blue); }

.add-section { margin-bottom:14px; border:1px dashed #b9c3d8; border-radius:var(--radius-sm); background:#fafbfe; }
.add-section summary {
  list-style:none; cursor:pointer; padding:0 14px; font-weight:600; font-size:15px;
  display:flex; align-items:center; gap:10px; min-height:48px;
}
.add-section summary::-webkit-details-marker { display:none; }
.add-section summary::before { content:"+"; font-size:20px; line-height:1; color:var(--blue); }
.add-section[open] summary::before { content:"–"; }
.add-menu { display:flex; flex-wrap:wrap; gap:8px; padding:0 14px 14px; }

.extra-settings { margin:14px 0; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fafbfe; }
.extra-settings summary {
  list-style:none; cursor:pointer; padding:0 14px; font-weight:600; font-size:14px; color:var(--muted);
  display:flex; align-items:center; gap:8px; min-height:44px;
}
.extra-settings summary::-webkit-details-marker { display:none; }
.extra-settings summary::after { content:"▾"; color:#9aa4bd; }
.extra-settings[open] summary::after { content:"▴"; }
.extra-settings .theme-row { padding:4px 14px 12px; }

/* панель оформления (r4, r6: первым блоком редактора) */
.extra-top { margin:0 0 14px; }
.extra-top .design-panel { padding:12px 14px 14px; }
.sub-design { border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; }
.sub-design summary {
  list-style:none; cursor:pointer; padding:0 12px; min-height:44px;
  display:flex; align-items:center; font-weight:600; font-size:13.5px; color:var(--muted);
}
.sub-design summary::-webkit-details-marker { display:none; }
.sub-design summary::after { content:"▾"; margin-left:auto; color:#9aa4bd; }
.sub-design[open] summary::after { content:"▴"; }
.sub-design .sub-design-body { padding:2px 12px 12px; }
.design-panel { padding:4px 14px 14px; display:flex; flex-direction:column; gap:14px; }
.design-group > .row-label { display:block; margin-bottom:6px; }
.tpl-row { display:flex; gap:8px; flex-wrap:wrap; }
.tpl-card {
  flex:1 1 120px; max-width:150px; cursor:pointer; text-align:center;
  border:1px solid var(--line); border-radius:12px; background:#fff; padding:8px;
  display:flex; flex-direction:column; gap:6px; align-items:center;
}
.tpl-card[aria-pressed="true"] { border-color:var(--blue); box-shadow:0 0 0 2px #eef2ff; }
.tpl-thumb { width:100%; height:64px; border-radius:6px; overflow:hidden; position:relative; }
.tpl-thumb .t-hero { position:absolute; inset:0; }
.tpl-thumb .t-name { position:absolute; left:6px; top:8px; height:7px; border-radius:2px; background:currentColor; }
.tpl-thumb .t-line { position:absolute; left:6px; right:6px; height:1.5px; background:currentColor; opacity:.35; }
.tpl-thumb .t-btn { position:absolute; right:6px; bottom:6px; width:22px; height:8px; background:currentColor; opacity:.7; }
.tpl-thumb .t-photo { position:absolute; right:6px; top:6px; width:26px; height:30px; background:currentColor; opacity:.22; border-radius:3px; }
.tpl-name { font-size:12.5px; font-weight:600; color:var(--ink); }
.color-row { display:flex; gap:10px; flex-wrap:wrap; }
.color-field { display:flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:10px; padding:6px 8px; background:#fff; }
.color-field input[type="color"] { width:38px; height:38px; border:none; padding:0; background:none; cursor:pointer; }
.color-field span { font-size:12.5px; color:var(--muted); font-weight:600; }
.design-warn { color:#8a6d1f; font-size:13px; margin:0; }
.pro-brief { border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px 14px; }
.pro-brief h4 { margin:0 0 6px; font-size:14px; }
.pro-brief p { margin:0 0 6px; font-size:13px; color:var(--muted); line-height:1.5; }
.pro-brief p:last-child { margin-bottom:0; }

.pro-toggle { border:1px dashed #b9c3d8; border-radius:var(--radius-sm); background:#fff; }
.pro-toggle summary {
  list-style:none; cursor:pointer; padding:0 14px; min-height:48px;
  display:flex; align-items:center; font-weight:600; font-size:14.5px; color:var(--navy);
}
.pro-toggle summary::-webkit-details-marker { display:none; }
.pro-toggle summary::after { content:"▾"; margin-left:auto; color:#9aa4bd; }
.pro-toggle[open] summary::after { content:"▴"; }
.pro-toggle .pro-brief { border:none; border-top:1px solid var(--line); border-radius:0 0 var(--radius-sm) var(--radius-sm); margin:0 10px 10px; }

/* миниатюры композиций */
.tpl-thumb-editorial .t-hero { background:currentColor; opacity:.06; }
.tpl-thumb-editorial .t-name { width:46%; }
.tpl-thumb-editorial .t-line:nth-of-type(4) { top:26px; }
.tpl-thumb-editorial .t-line { top:22px; }
.tpl-thumb-calm .t-hero { background:currentColor; opacity:.05; }
.tpl-thumb-calm .t-photo { left:50%; top:6px; transform:translateX(-50%); width:30px; height:30px; border-radius:50%; }
.tpl-thumb-calm .t-name { left:50%; transform:translateX(-50%); width:40%; top:44px; }
.tpl-thumb-calm .t-line { display:none; }
.tpl-thumb-calm .t-btn { left:50%; transform:translateX(-50%); right:auto; bottom:8px; }
.tpl-thumb-contrast .t-hero { background:currentColor; opacity:.85; }
.tpl-thumb-contrast .t-name,
.tpl-thumb-contrast .t-btn { background:#fff; }
.tpl-thumb-contrast .t-name { width:52%; z-index:1; }
.tpl-thumb-contrast .t-photo { z-index:1; background:#fff; opacity:.35; }
.tpl-thumb-contrast .t-line { display:none; }
.tpl-thumb .t-btn { border-radius:2px; }
.tpl-btns-rounded-thumb .t-btn { border-radius:99px; }

.theme-row, .device-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 14px; }
.choice-btn {
  min-height:44px; height:44px; padding:8px 14px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line); background:#fff; font-size:13.5px; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center;
}
.choice-btn[aria-pressed="true"] { background:#eef2ff; border-color:var(--blue); color:var(--blue); }
.row-label { font-size:13px; font-weight:600; color:var(--muted); margin-right:2px; }

/* список разделов */
.sec-list { display:flex; flex-direction:column; gap:10px; }
.sec-card { border:1px solid var(--line); border-radius:16px; background:#fff; }
.sec-card.dragging { opacity:.5; }
.sec-card.drop-above { box-shadow:0 -3px 0 0 var(--blue); }
.sec-card.drop-below { box-shadow:0 3px 0 0 var(--blue); }
.sec-head { display:flex; align-items:center; gap:10px; padding:8px 12px; flex-wrap:wrap; }
.drag-handle { color:#9aa4bd; font-size:18px; cursor:grab; user-select:none; padding:0 2px; }
.sec-num {
  flex-shrink:0; width:26px; height:26px; border-radius:50%; background:#eef1f8;
  color:var(--muted); font-size:12.5px; font-weight:700; display:flex; align-items:center; justify-content:center;
}
.sec-name { font-weight:700; font-size:14.5px; font-family:Golos, sans-serif; }
.sec-sum { color:var(--muted); font-size:13px; flex-basis:100%; margin:0; padding-left:2px; }
.sec-actions { display:flex; gap:6px; margin-left:auto; flex-wrap:wrap; }
.sec-form { border-top:1px solid var(--line); padding:14px 12px 6px; background:#fafbfe; border-radius:0 0 16px 16px; }

.hidden-box { margin-top:16px; padding:12px 14px; border-radius:16px; background:#f7f8fc; border:1px solid var(--line); }
.hidden-box h3 { margin:0 0 8px; font-size:14px; color:var(--muted); font-family:Golos, sans-serif; }
.hidden-row { display:flex; align-items:center; gap:10px; padding:6px 0; flex-wrap:wrap; }
.hidden-row .name { font-weight:600; font-size:14px; }
.hidden-row .btn { margin-left:auto; }

.items-edit { display:flex; flex-direction:column; gap:10px; margin-bottom:12px; }
.item-edit { border:1px solid var(--line); border-radius:12px; padding:10px; background:#fff; }
.item-edit .field { margin-bottom:8px; }
.item-edit .field:last-of-type { margin-bottom:0; }

/* редактор ссылок блока «Контакты» (r3) */
.socials-edit { margin-bottom:14px; }
.socials-edit .field-label { font-weight:600; font-size:14px; margin:0 0 2px; }
.socials-edit > .hint { margin:0 0 10px; }
.socials-edit .btn { margin-top:2px; }
.row-err { color:var(--red); font-size:13px; line-height:1.45; margin:6px 0 8px; }
.item-edit .row-err { margin:6px 0 0; }
.item-edit .row-err:empty { display:none; }

.save-status { min-height:24px; font-size:13.5px; padding:4px 2px; display:flex; align-items:center; }
.save-status.ok { color:var(--green); }
.save-status.err { color:var(--red); }

/* Применить — обычный блок в потоке, ничего не перекрывает */
.apply-bar {
  margin-top:16px; padding:14px 16px;
  background:#fafbfe; border:1px solid var(--line); border-radius:var(--radius-sm);
  display:flex; flex-direction:column; gap:8px;
}
.apply-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.apply-note { margin:0; font-size:13px; color:var(--muted); }

/* предпросмотр */
.preview-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px; }
.preview-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.preview-title { margin:0; font-size:15px; }
.preview-sub { margin:0 0 0 auto; font-size:12.5px; color:var(--muted); }
.preview-stage {
  background:#e7ebf3; border-radius:16px; padding:18px 10px; overflow-x:hidden;
  display:flex; justify-content:center;
}
.preview-canvas { width:100%; max-width:840px; transition:max-width .2s ease; }
.preview-canvas.is-phone { max-width:390px; }

/* ---------------------------------------------------------------- демо-страница (общий рендер, r4) */
/* Всё оформление страниц живёт в .pb-page/.pb-host и CSS-переменных
   --pb-bg/--pb-text/--pb-accent; глобальные стили редактора не затрагиваются. */

.pb-page {
  --pb-bg:#f4f2ec; --pb-text:#232733; --pb-accent:#2c4a86; --pb-on-accent:#ffffff; --pb-link:#2c4a86;
  border-radius:18px; padding:0; background:var(--pb-bg); color:var(--pb-text);
  min-height:320px; overflow-wrap:break-word;
  container-type: inline-size; /* адаптив по ширине самой страницы, не редактора */
}
.pb-page a { color:var(--pb-link); }

.pb-fh-golos h1, .pb-fh-golos h2, .pb-fh-golos h3 { font-family:Golos, sans-serif; }
.pb-fh-raleway h1, .pb-fh-raleway h2, .pb-fh-raleway h3 { font-family:Raleway, Golos, sans-serif; }
.pb-fh-serif h1, .pb-fh-serif h2, .pb-fh-serif h3 { font-family:Georgia, "Times New Roman", serif; }
.pb-fh-mono h1, .pb-fh-mono h2, .pb-fh-mono h3 { font-family:"SF Mono", "Cascadia Mono", Consolas, monospace; }
.pb-fb-golos, .pb-fb-golos .pb-text, .pb-fb-golos .pb-note { font-family:Golos, system-ui, sans-serif; }
.pb-fb-raleway, .pb-fb-raleway .pb-text { font-family:Raleway, Golos, sans-serif; }
.pb-fb-serif .pb-text, .pb-fb-serif .pb-note { font-family:Georgia, serif; }
.pb-fb-mono .pb-text, .pb-fb-mono .pb-note { font-family:"SF Mono", Consolas, monospace; }

/* Кнопки: форма и вид задаются композицией */
.pb-page .pb-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:11px 22px; font-weight:700; font-size:15px;
  text-decoration:none; cursor:pointer; border:1px solid transparent;
  font-family:inherit; color:var(--pb-text);
}
.pb-btns-square .pb-btn { border-radius:4px; }
.pb-btns-rounded .pb-btn { border-radius:999px; }
.pb-page .pb-btn-service { min-height:44px; height:44px; padding:8px 16px; font-size:14px; }
/* Залитые акцентом элементы всегда несут вычисленный on-accent:
   белый или тёмный — по контрасту пары, единый токен из рендерера. */
.pb-page .pb-btn-hero,
.pb-page .pb-btn-booking,
.pb-page .pb-service .pb-btn-service { background:var(--pb-accent); color:var(--pb-on-accent); }
.pb-btn-link { background:transparent; border-color:currentColor; color:var(--pb-link); }
.pb-link-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.pb-link-list .pb-btn-link { width:100%; }

/* Медиа-фото первого экрана: крупное, форма по настройке */
.pb-media { flex-shrink:0; width:150px; height:150px; object-fit:cover; }
.pb-media-rect { border-radius:8px; }
.pb-media-circle { border-radius:50%; }
.pb-media-empty {
  display:flex; align-items:center; justify-content:center;
  font-size:44px; font-weight:700; font-family:Golos, sans-serif; letter-spacing:.02em;
}

/* --- первый экран --- */
.pb-eyebrow {
  margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--pb-accent);
}
.pb-name { margin:0 0 6px; font-size:clamp(28px, 11cqw, 44px); line-height:1.08; color:var(--pb-text); }
.pb-role { margin:0 0 8px; font-size:15px; color:var(--pb-text); opacity:.72; }
.pb-tagline { margin:6px 0 0; font-size:15px; }
.pb-hero-summary { margin:10px 0 0; font-size:15px; line-height:1.6; max-width:52ch; opacity:.85; }
.pb-profile-head .pb-btn-hero { margin-top:16px; }
.pb-profile-center { display:flex; flex-direction:column; align-items:center; text-align:center; }
.pb-profile-center .pb-hero-summary { margin-left:auto; margin-right:auto; }

/* --- секции --- */
.pb-block { padding:22px 20px; }
.pb-sp-compact .pb-block { padding-top:16px; padding-bottom:16px; }
.pb-sp-airy .pb-block { padding-top:34px; padding-bottom:34px; }
.pb-h { margin:0 0 12px; font-size:20px; color:var(--pb-text); }
.pb-text { margin:0 0 10px; font-size:15px; line-height:1.65; color:var(--pb-text); }
.pb-text:last-child { margin-bottom:0; }
.pb-note { margin:0; color:var(--pb-text); opacity:.65; font-size:14px; line-height:1.55; }
.pb-note-error { color:#8a1f2e; opacity:1; }
.pb-note-center { text-align:center; margin-top:10px; }

.pb-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.pb-chip {
  padding:7px 13px; font-size:13.5px; font-weight:600;
  background:transparent; border:1px solid var(--pb-accent); color:var(--pb-accent);
}
.pb-btns-rounded .pb-chip { border-radius:999px; }
.pb-btns-square .pb-chip { border-radius:4px; }

.pb-service-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.pb-service {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:15px 17px; background:rgba(255,255,255,.55);
  border:1px solid color-mix(in srgb, var(--pb-text) 14%, transparent); flex-wrap:wrap;
}
.pb-btns-rounded .pb-service { border-radius:16px; }
.pb-btns-square .pb-service { border-radius:4px; }
.pb-service-info { min-width:0; }
.pb-service-title { font-weight:700; font-size:15px; color:var(--pb-text); }
.pb-service-meta { color:var(--pb-text); opacity:.62; font-size:13.5px; margin-top:3px; }
.pb-service .pb-btn-service { background:var(--pb-accent); color:#fff; }

.pb-contact-list { list-style:none; margin:0 0 6px; padding:0; display:flex; flex-direction:column; gap:4px; }
.pb-contact-link {
  display:inline-flex; align-items:center; min-height:44px; padding:6px 2px;
  font-size:15px; text-underline-offset:4px; color:var(--pb-link);
}

.pb-photo-img { border-radius:8px; width:100%; }
.pb-btns-rounded .pb-photo-img { border-radius:16px; }
.pb-photo-caption { margin:8px 0 0; color:var(--pb-text); opacity:.62; font-size:13.5px; text-align:center; }
.pb-photo-empty {
  border-radius:8px; border:1px dashed color-mix(in srgb, var(--pb-text) 30%, transparent);
  min-height:140px; display:flex; align-items:center; justify-content:center;
  color:var(--pb-text); opacity:.6; font-size:14px;
}

/* FAQ — раскрывающиеся вопросы */
.pb-faq-item {
  border-top:1px solid color-mix(in srgb, var(--pb-text) 16%, transparent);
  padding:4px 0;
}
.pb-faq-item:last-child { border-bottom:1px solid color-mix(in srgb, var(--pb-text) 16%, transparent); }
.pb-faq-q {
  list-style:none; cursor:pointer; min-height:48px; display:flex; align-items:center;
  gap:10px; font-size:15.5px; font-weight:600; color:var(--pb-text);
}
.pb-faq-q::-webkit-details-marker { display:none; }
.pb-faq-q::after { content:"+"; margin-left:auto; font-size:20px; font-weight:400; color:var(--pb-accent); }
.pb-faq-item[open] .pb-faq-q::after { content:"–"; }
.pb-faq-a { margin:0 0 12px; font-size:14.5px; line-height:1.62; color:var(--pb-text); opacity:.85; }

/* ================== композиция «Редакционная» ================== */
.pb-tpl-editorial { max-width:760px; margin:0 auto; }
.pb-tpl-editorial .pb-profile { padding:34px 20px 26px; display:flex; gap:26px; align-items:flex-start; }
.pb-tpl-editorial .pb-media { width:170px; height:200px; }
.pb-tpl-editorial .pb-name { font-size:clamp(34px, 12cqw, 52px); letter-spacing:-.01em; }
.pb-tpl-editorial .pb-block { border-top:1px solid color-mix(in srgb, var(--pb-text) 22%, transparent); position:relative; }
.pb-tpl-editorial .pb-block:first-child { border-top:none; }
.pb-tpl-editorial .pb-h {
  display:flex; align-items:baseline; gap:12px; font-size:13px; letter-spacing:.14em;
  text-transform:uppercase; font-weight:700;
}
.pb-tpl-editorial .pb-h::before { content:""; width:26px; height:2px; background:var(--pb-accent); align-self:center; }
.pb-tpl-editorial .pb-text { font-size:16px; line-height:1.7; }
.pb-tpl-editorial .pb-service { background:transparent; }
@container (max-width: 480px) {
  .pb-tpl-editorial .pb-profile { flex-direction:column; }
  .pb-tpl-editorial .pb-media { width:130px; height:150px; }
}

/* ================== композиция «Спокойная» ================== */
.pb-tpl-calm { max-width:640px; margin:0 auto; }
.pb-tpl-calm .pb-profile { padding:44px 20px 30px; }
.pb-tpl-calm .pb-media { width:160px; height:160px; }
.pb-tpl-calm .pb-name { font-size:clamp(24px, 9cqw, 34px); }
.pb-tpl-calm .pb-block { text-align:left; }
.pb-tpl-calm .pb-h { font-size:18px; font-weight:600; }
.pb-tpl-calm .pb-service {
  background:rgba(255,255,255,.6); border:none;
  box-shadow:0 1px 2px rgba(30,40,40,.05);
}
.pb-tpl-calm .pb-btn { box-shadow:0 2px 10px rgba(30,60,55,.12); }

/* ================== композиция «Контрастная» ================== */
/* Хиро целиком на акценте: весь текст — вычисленный on-accent без
   ухудшающих контраст opacity; CTA инвертирован (on-accent фон). */
.pb-tpl-contrast .pb-profile {
  background:var(--pb-accent); color:var(--pb-on-accent);
  padding:40px 22px; display:flex; gap:26px; align-items:center; flex-wrap:wrap;
}
.pb-tpl-contrast .pb-profile .pb-eyebrow { color:var(--pb-on-accent); }
.pb-tpl-contrast .pb-profile .pb-name,
.pb-tpl-contrast .pb-profile .pb-role,
.pb-tpl-contrast .pb-profile .pb-tagline,
.pb-tpl-contrast .pb-profile .pb-hero-summary { color:var(--pb-on-accent); opacity:1; }
.pb-tpl-contrast .pb-media { width:170px; height:170px; }
.pb-tpl-contrast .pb-btn-hero { background:var(--pb-on-accent); color:var(--pb-accent); }
.pb-tpl-contrast .pb-h { font-size:22px; }
.pb-tpl-contrast .pb-block:nth-of-type(2n) { background:color-mix(in srgb, var(--pb-accent) 6%, var(--pb-bg)); }
.pb-tpl-contrast .pb-service { background:#fff; }
.pb-tpl-contrast .pb-chip { background:var(--pb-accent); color:var(--pb-on-accent); border-color:transparent; }
@container (max-width: 480px) {
  .pb-tpl-contrast .pb-profile { flex-direction:column; text-align:center; }
  .pb-tpl-contrast .pb-profile-head .pb-btn-hero { margin-left:auto; margin-right:auto; }
}

/* ---------------------------------------------------------------- режим посетителя */

.client-shell { max-width:760px; margin:0 auto; padding:22px 16px 60px; }
.client-topline { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.client-topline .brand { font-weight:800; color:var(--navy); font-size:15px; text-decoration:none; display:inline-flex; gap:8px; align-items:center; }
.client-topline a.back { font-size:13.5px; color:var(--blue); }
.client-note {
  margin:16px 0 0; padding:10px 14px; border-radius:var(--radius-sm);
  background:#f0f3fa; color:var(--muted); font-size:13px; line-height:1.5;
}

/* Night UX integration: one editing task at a time, with desktop live preview. */
.editor-design[hidden],.editor-content[hidden]{display:none}
.editor-toolbar .mode-switch .btn{min-height:44px}
.apply-bar{margin:12px 0 18px}
.apply-row .btn-primary{min-width:200px}
@media(max-width:480px){
  .editor-toolbar .mode-switch{display:flex;width:100%}
  .editor-toolbar .mode-switch .btn{flex:1;min-width:0;font-size:13px;padding:8px}
  .apply-row .btn-primary{width:100%;min-width:0}
  .sec-actions{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr}
  .sec-actions .btn{min-height:44px;height:auto}
  .preview-panel{padding:10px}
  .preview-stage{padding:10px 6px}
}

/* Personal design options: dimensions and local photo background are independent. */
.pb-page{width:100%;max-width:var(--pb-page-max,680px);margin-inline:auto}
.pb-page.pb-look-cards{padding:12px}
.pb-page.pb-look-cards>.pb-block:not(.pb-profile){margin:12px 0;border:1px solid color-mix(in srgb,var(--pb-text) 14%,var(--pb-bg));border-radius:16px;background:var(--pb-bg)}
.pb-page.pb-has-bg{padding:12px}
.pb-page.pb-has-bg>.pb-block{margin:12px 0;border-radius:16px;background:var(--pb-bg)}
.pb-page.pb-has-bg>.pb-profile-contrast{background:var(--pb-accent)}

.design-warn[hidden]{display:none}

/* Editing affordance is only rendered in the private editor preview. */
.pb-edit-block-btn{display:flex;align-items:center;justify-content:center;min-height:44px;margin:14px 0 0;padding:9px 14px;border:1px dashed var(--pb-link);border-radius:8px;background:var(--pb-bg);color:var(--pb-link);font:600 12px/1.4 Golos,system-ui,sans-serif;cursor:pointer}

.pb-free{padding:12px!important;overflow:visible}
.pb-free-stage{position:relative;width:100%;max-width:390px;margin:auto;isolation:isolate;border-radius:12px}
.pb-free-element{position:absolute;box-sizing:border-box;max-width:100%;margin:0;overflow-wrap:anywhere;line-height:1.4}
.pb-free-text{white-space:pre-wrap;padding:4px}
.pb-free-photo{object-fit:cover;border-radius:12px}
.pb-free-button,.pb-free-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;border-radius:12px}
.pb-free-button{min-height:44px;text-decoration:none;font-weight:600}
.pb-free-shape{border-radius:14px}
.free-editor-canvas{max-width:390px;margin:16px auto;touch-action:pan-y;border:1px solid #d6dbe3;border-radius:12px;overflow:hidden}
.free-editor-canvas .pb-free{padding:0!important}
.free-editor-canvas .pb-free-element{cursor:move;touch-action:none;user-select:none}
.free-editor-canvas [data-selected=true]{outline:2px dashed #304aa0;outline-offset:2px}
.free-elements,.free-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.free-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.free-fields .field:has(textarea),.free-fields .field:has(input[type=file]){grid-column:1/-1}
.free-fields .field{min-width:0;margin:0}
.free-fields input{max-width:100%;min-width:0}

/* Visual editing keeps precision controls optional. */
.free-editor-canvas .pb-free-stage{background-image:linear-gradient(to right,#304aa00b 1px,transparent 1px),linear-gradient(to bottom,#304aa00b 1px,transparent 1px);background-size:20px 20px}
.free-resize-handle{position:absolute;z-index:30;transform:translate(-75%,-75%);width:32px;height:32px;padding:0;border:4px solid white;border-radius:50%;background:#304aa0;box-shadow:0 0 0 1px #304aa0;cursor:nwse-resize;touch-action:none}
.free-resize-handle:focus:not(:focus-visible){outline:none}
.free-resize-handle:focus-visible{outline:3px solid #be8c20;outline-offset:3px}
.free-arrange,.free-precise{grid-column:1/-1}
.free-arrange{display:flex;flex-wrap:wrap;gap:8px}
.free-arrange .btn,.free-elements .btn,.free-tools .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.free-precise{border-top:1px solid #e1e5ed;padding-top:12px}
.free-precise summary{padding:10px 0;cursor:pointer;font-weight:600}
.free-precise>.free-fields{padding-top:12px}
.free-resize-handle{width:44px;height:44px;border:0;box-shadow:none;background:transparent;transform:translate(-60%,-60%)}
.free-resize-handle::after{content:'';display:block;position:absolute;inset:11px;border:3px solid white;border-radius:50%;background:#304aa0;box-shadow:0 0 0 1px #304aa0}
/* Standard block library and local Premium design brief. */
.block-library,.premium-panel{border:1px solid var(--line);border-radius:16px;margin-bottom:16px;background:#fff;overflow:hidden}
.block-library>summary,.premium-panel>summary{min-height:56px;display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;font-weight:700;list-style:none}
.block-library>summary::before{content:'+';font-size:24px;font-weight:400;line-height:1}
.block-library[open]>summary::before{content:'−'}
.block-library-body,.premium-brief{padding:0 16px 16px}
.library-categories{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.library-categories .btn[aria-pressed=true],.style-choices .btn[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
/* Catalogue previews use the public renderer, not schematic placeholders. */
.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;max-height:680px;max-height:min(680px,72svh);overflow:auto;overscroll-behavior:contain;padding:3px 4px 6px;scrollbar-gutter:stable}
.library-item{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;position:relative;transition:border-color .15s}
.library-item:hover{border-color:#304aa0}.library-item:focus-within{border-color:#304aa0}
.library-window{position:relative;height:320px;min-height:320px;background:#f1f3f7;overflow:hidden;pointer-events:none;user-select:none;flex:none;padding:0;border-bottom:1px solid var(--line)}
.library-frame{position:absolute;left:12px;top:12px;width:390px;height:1px;border:0;transform-origin:top left;pointer-events:none;background:transparent}
.library-caption{padding:16px;border-top:1px solid var(--line);background:#fff}
.library-caption>strong{font-size:15px;line-height:1.4}.library-caption>p{font-size:13px;line-height:1.5;color:#60677a;margin:6px 0 12px}
.library-add{min-height:44px;width:100%;justify-content:center;background:#f3f5fa}
.library-add::after{content:'';position:absolute;inset:0;cursor:pointer}.library-add:focus-visible{outline:2px solid #304aa0;outline-offset:2px}

.block-content>summary,.block-style>summary,.service-appearance details>summary{min-height:44px;align-content:center;cursor:pointer;font-weight:600}
.block-style{border-top:1px solid var(--line);padding-top:8px;margin-top:12px}
.block-content>.field{margin-top:12px}.block-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.block-style-grid .field{margin:0;min-width:0}.block-style-grid label{font-size:12px}
.block-style-grid input[type=color]{width:64px;height:44px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
.style-range{display:flex;align-items:center;gap:8px;min-width:0}.style-range input{min-width:0;width:100%;height:44px;accent-color:#304aa0}.style-range output{min-width:36px;font-size:12px;white-space:nowrap}
.style-choices{display:flex;flex-wrap:wrap;gap:6px}.style-choices .btn{padding:6px 10px}
.block-style-grid .field:has(.style-choices){grid-column:1/-1}
.service-appearance{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.service-appearance details{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:8px 0}
.service-appearance input[type=file]{max-width:100%;font-size:12px}
.premium-panel{border-color:#d9bd70;background:#fffdf5}
.premium-panel>summary{background:#202b55;color:#fff;flex-wrap:wrap;gap:8px 10px}
.premium-panel>summary svg{width:22px;height:22px;fill:#f5ce6a;flex:none}
.premium-panel>summary small{display:block;width:100%;font-weight:400;font-size:12px;color:#f5e5b4;padding-left:32px}
.premium-brief{padding-top:16px}.premium-packages{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.premium-package{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;padding:14px;border:1px solid #ddd4bb;border-radius:12px;background:#fff;cursor:pointer;align-content:start}
.premium-package:has(input:checked){border-color:#304aa0;box-shadow:0 0 0 1px #304aa0}
.premium-package input{accent-color:#304aa0;align-self:center}.premium-package strong{font:700 24px/1.2 system-ui,sans-serif}.premium-package b,.premium-package span{grid-column:2;font-size:13px;line-height:1.5}
.premium-brief .field{margin:16px 0}.premium-brief .btn{min-height:44px}
/* Real public blocks remain live text, photos and working service links. */
.pb-page .pb-variant-profile-portrait{display:flex;flex-direction:column;align-items:center;text-align:center}
.pb-variant-profile-portrait .pb-media{width:120px;height:120px;border-radius:50%}.pb-variant-profile-portrait .pb-profile-head{width:100%}
.pb-variant-profile-card{box-shadow:0 12px 32px #22365c0a}.pb-variant-profile-card .pb-media{border-radius:18px}
.pb-variant-text-quote{border-left:4px solid var(--pb-accent)!important}.pb-variant-text-quote p{font-size:21px;line-height:1.6}
.pb-variant-services-cards .pb-service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.pb-variant-services-cards .pb-service{flex-direction:column;align-items:stretch;padding:16px;border:1px solid #dce2ed;border-radius:16px}
.pb-variant-services-cards .pb-btn-service{align-self:flex-start;margin-top:8px}
.pb-service-image,.pb-service-symbol{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:10px}
.pb-service-symbol{fill:none;stroke:var(--pb-accent);stroke-width:1.8;padding:6px}
.pb-variant-links-grid .pb-link-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pb-variant-links-grid .pb-btn-link{min-height:72px;white-space:normal;text-align:center}
.pb-variant-links-stack .pb-btn-link{min-height:52px}.pb-variant-photo-wide .pb-photo-img{border-radius:0}
@media(max-width:480px){.premium-packages{grid-template-columns:1fr}.block-style-grid{grid-template-columns:1fr}.library-categories .btn{font-size:12px;padding:6px 9px}}

.pb-money{font-family:system-ui,-apple-system,"Helvetica Neue",sans-serif;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}

@media(max-width:480px){
 .pb-host .editor-commandbar .editor-toolbar>.btn[data-act=undo],.pb-host .editor-commandbar .editor-toolbar>.btn.btn-quiet{min-height:44px;height:44px;padding:8px}
}
.service-appearance input[type=file]{min-height:44px;width:100%;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}
.service-appearance input[type=file]::file-selector-button{min-height:34px;padding:4px 10px;margin-right:8px;border:0;border-radius:6px;background:#e8edf8;color:#202b55;font:inherit;cursor:pointer}

.drag-handle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;cursor:grab}.drag-handle svg{width:20px;height:24px;fill:currentColor;pointer-events:none}

.block-library>summary:focus-visible,.premium-panel>summary:focus-visible,.block-content>summary:focus-visible,.block-style>summary:focus-visible{outline:2px solid #304aa0;outline-offset:-3px;border-radius:8px}
.block-style-grid input[type=range]:focus-visible,.block-style-grid input[type=color]:focus-visible,.service-appearance input[type=file]:focus-visible{outline:2px solid #304aa0;outline-offset:2px}
.premium-package:has(input:focus-visible){outline:2px solid #304aa0;outline-offset:3px}
.pb-colored-block .pb-service{background:transparent}
.pb-page .pb-colored-block .pb-name,.pb-page .pb-colored-block .pb-role,.pb-page .pb-colored-block .pb-tagline,.pb-page .pb-colored-block .pb-hero-summary,.pb-page .pb-colored-block .pb-eyebrow{color:var(--pb-text);opacity:1}
.premium-panel>summary:focus-visible{outline-color:#f5ce6a}

/* Additional standard compositions; shared by catalogue, editor and visitor. */
.pb-page .pb-variant-profile-split{display:flex;flex-direction:row;align-items:center;gap:20px}
.pb-variant-profile-split .pb-media{width:28%;height:130px;flex-shrink:0;border-radius:60px}
.pb-variant-profile-split .pb-profile-head{flex:1;min-width:0}.pb-variant-profile-split .pb-name{font-size:clamp(24px,9cqw,36px)}
.pb-page .pb-variant-profile-banner{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.pb-variant-profile-banner .pb-media{width:96px;height:96px;border-radius:50%}
.pb-variant-profile-banner .pb-name,.pb-variant-profile-banner .pb-role,.pb-variant-profile-banner .pb-hero-summary,.pb-variant-profile-banner .pb-eyebrow{color:inherit}
.pb-variant-about-minimal .pb-h{font-size:28px;letter-spacing:-.02em}
.pb-variant-about-accent{border-left:4px solid var(--pb-accent)!important}
.pb-variant-methods-list .pb-chips{display:flex;flex-direction:column;gap:0;align-items:stretch}
.pb-variant-methods-list .pb-chip{padding:14px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--pb-text) 20%,transparent);border-radius:0;background:transparent;color:inherit}
.pb-variant-services-editorial .pb-service{padding:20px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--pb-text) 20%,transparent);border-radius:0}
.pb-variant-services-soft .pb-service{padding:20px;border:0;border-radius:20px;background:#ffffffb8}
.pb-text-list{padding-left:28px;margin:0;display:grid;gap:16px}.pb-text-list li{padding-left:8px;line-height:1.6}
.pb-text-list li::marker{font-weight:700;color:var(--pb-accent)}
.pb-variant-text-checklist .pb-text-list{list-style-type:'✓  '}
.pb-variant-text-banner .pb-h{font-size:28px}.pb-variant-text-banner .pb-text{font-size:18px}
.pb-variant-photo-framed .pb-photo-img{border-radius:0}.pb-variant-photo-caption .pb-photo-caption{font-size:20px;line-height:1.5;text-align:left;font-weight:600}
.pb-variant-faq-cards .pb-faq-item{padding:0 16px;background:color-mix(in srgb,var(--pb-accent) 6%,var(--pb-bg));border:0;border-radius:12px;margin:12px 0}
.pb-variant-faq-minimal .pb-faq-q{font-weight:500}.pb-variant-faq-minimal .pb-h{font-size:24px}
.pb-variant-booking-panel .pb-note{color:inherit;opacity:.8}
.pb-variant-contacts-card .pb-contact-list{display:grid;gap:12px}.pb-variant-contacts-card .pb-contact-link{display:block;padding:12px 0}

.block-library-body>input[type=search]{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:14px}
.block-library-body>input[type=search]:focus-visible{outline:2px solid #304aa0;outline-offset:2px}

/* Design inspector: page defaults first, optional per-block overrides second. */
.design-sections .design-group{padding:24px 0;border-top:1px solid var(--line);margin:0}
.design-panel h3{font-size:18px;margin:0 0 12px;line-height:1.4}.design-sections .sub-design-body{padding:0}
.color-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.color-field{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}
.color-control{display:flex;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}
.color-control input[type=color]{width:32px;height:32px;padding:0;border:0;background:none;flex:none}.color-control .color-hex{width:100%;min-width:0;border:0;padding:0;font:13px system-ui;box-shadow:none;background:transparent}
.font-search,.font-custom select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.font-pairs{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;max-height:540px;overflow:auto;padding:3px}
.font-pair{display:flex;flex-direction:column;gap:12px;text-align:left;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);cursor:pointer}
.font-pair[aria-pressed=true]{border-color:#304aa0;box-shadow:inset 0 0 0 1px #304aa0;background:#f7f9ff}
.font-pair-meta{font:12px/1.5 Golos,system-ui;color:var(--muted)}.font-pair>strong{font-size:24px;line-height:1.2;font-weight:700}.font-pair-copy{font-size:15px;line-height:1.6}
.font-custom{margin-top:16px}.font-custom>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.font-custom .field{margin-top:12px}
.block-color-control{display:flex;align-items:center;gap:8px}.block-color-control input[type=color]{width:44px;height:44px;padding:4px;flex:none}.color-inherit{min-height:44px!important}
.pb-page{font-family:var(--pb-body-font,Golos,system-ui)}
.pb-page :is(h1,h2,h3,.pb-service-title,.pb-faq-q){font-family:var(--pb-heading-font,Raleway,Golos)!important;color:var(--pb-heading,var(--pb-text))!important}
.pb-page :is(.pb-text,.pb-note,.pb-role,.pb-tagline,.pb-hero-summary,.pb-chip,.pb-photo-caption,.pb-faq-a,.pb-service-meta){font-family:var(--pb-body-font,Golos,system-ui)}
.pb-page :is(.pb-note,.pb-service-meta,.pb-photo-caption){color:var(--pb-muted,var(--pb-text))}
.pb-page :is(.pb-btn-hero,.pb-btn-service,.pb-btn-booking,.pb-btn-link){background:var(--pb-button,var(--pb-accent));color:var(--pb-button-text,var(--pb-on-accent))}
.pb-page .pb-btn{font-family:var(--pb-body-font,Golos,system-ui)}
.pb-page :is(.pb-service,.pb-faq-item){background:var(--pb-surface,transparent);border-color:var(--pb-border)}
.pb-page .pb-service-symbol{color:var(--pb-icon,var(--pb-accent))}.pb-page :is(.pb-contact-link,.pb-text a){color:var(--pb-link)}
.pb-page .pb-service{border-color:var(--pb-border)}
@media(max-width:480px){.color-row{grid-template-columns:1fr 1fr}.design-sections .design-group{padding:20px 0}.font-pair{padding:16px}.font-pair>strong{font-size:23px}.font-pair-meta{overflow-wrap:anywhere}}

.pb-page .pb-eyebrow{color:var(--pb-heading,var(--pb-text))}
.pb-page .pb-chip{color:var(--pb-text);border-color:var(--pb-border);background:var(--pb-surface)}
.pb-page .pb-text-list li::marker{color:var(--pb-icon)}
@media(max-width:600px){
 .pb-host .editor-commandbar .editor-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px 8px}
 .pb-host .editor-commandbar .editor-toolbar .mode-switch{grid-column:1/-1;width:100%}
 .pb-host .editor-commandbar .editor-toolbar>.btn{width:100%;margin:0}
 .pb-host .editor-commandbar .apply-note{display:none}
 .pb-host .editor-commandbar .apply-bar{padding:6px 8px}
 .pb-host .editor-commandbar .apply-row .btn-primary{min-width:110px}
 .pb-host .editor-commandbar .editor-toolbar>.btn.btn-quiet{font-size:11px}
}

/* Direct canvas editing and a context inspector, without nested block forms. */
.element-inspector[hidden]{display:none}.element-inspector{scroll-margin-top:250px}.element-inspector>h2{font-size:20px;margin:0 0 8px}.inspector-context{font-size:13px;color:var(--muted);margin:0 0 16px}
.element-inspector>.field{margin-top:16px}.element-inspector .field select{min-height:44px;max-width:100%;font:inherit}
.element-inspector input[type=color]{width:100%;height:44px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}
.inspector-back{margin-bottom:12px}.inspector-moves{display:flex;gap:8px;margin-top:20px}.inspector-block-settings{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.inspector-block-settings>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-weight:600}
.bldr-grid.canvas-mode{grid-template-columns:minmax(0,1fr) 340px}.canvas-mode .preview-column{display:block!important;grid-column:1;grid-row:1;min-width:0}.canvas-mode .editor-column{grid-column:2;grid-row:1;min-width:0}
.canvas-mode .preview-panel{position:sticky;top:220px}.canvas-mode .editor-panel{position:sticky;top:220px;max-height:calc(100svh - 240px);overflow:auto}
.canvas-mode .preview-stage{max-height:calc(100svh - 300px);overflow:auto;overscroll-behavior:contain}
.canvas-mode .preview-canvas [data-edit-key]{cursor:pointer}.canvas-mode .preview-canvas [data-edit-key]:hover:not(:has([data-edit-key]:hover)){outline:1px dashed #6b80c4;outline-offset:3px}
.canvas-mode .preview-canvas .is-selected-element{outline:2px solid #304aa0!important;outline-offset:4px;border-radius:4px}
.canvas-mode .preview-canvas .pb-btn{cursor:pointer}
@media(max-width:920px){
 .bldr-grid.canvas-mode{grid-template-columns:minmax(0,1fr)}.canvas-mode .preview-column{grid-column:1;grid-row:1}.canvas-mode .editor-column{display:none;grid-column:1;grid-row:1}
 .canvas-mode.has-selection .editor-column{display:block}.canvas-mode.has-selection .preview-column{display:none!important}
 .canvas-mode .preview-panel,.canvas-mode .editor-panel{position:static;max-height:none;overflow:visible}.canvas-mode .preview-stage{max-height:none;overflow:visible}
 .canvas-mode .preview-stage{padding:12px}.canvas-mode .preview-canvas.is-phone{max-width:100%}
}
@media(max-width:600px){.pb-host .editor-commandbar .mode-switch{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.pb-host .editor-commandbar .mode-switch .btn{font-size:11px!important;padding:6px 3px!important;min-width:0}}

.element-inspector .inspector-color{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:4px 6px;background:#fff}
.element-inspector .inspector-color input[type=color]{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:6px}
.element-inspector .inspector-color .color-hex{width:80px;min-width:0;flex:1;border:0;background:transparent;padding:4px;font:13px system-ui}
.element-inspector .inspector-color .btn{height:36px;min-height:44px;padding:4px 6px;font-size:11px}

.pb-page .pb-money{font-family:inherit;font-variant-numeric:lining-nums tabular-nums}

.inspector-header{position:sticky;top:0;z-index:2;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:0 0 12px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.inspector-header>h2{font-size:17px;line-height:1.35;margin:0}.inspector-header>.inspector-context{margin:0;font-size:12px;line-height:1.4}.inspector-header>.inspector-back{grid-column:2;grid-row:1/span 2;margin:0}

@media(min-width:921px){
 .bldr-grid.canvas-mode{height:calc(100svh - var(--workbench-top,240px));min-height:360px;align-items:stretch}
 .canvas-mode .editor-column,.canvas-mode .preview-column{height:100%;min-height:0}
 .canvas-mode .preview-panel{position:static;height:100%;display:flex;flex-direction:column;overflow:hidden}
 .canvas-mode .preview-stage{flex:1;min-height:0;max-height:none;overflow:auto}
 .canvas-mode .editor-panel{position:static;height:100%;max-height:none;overflow:auto}
}

.preview-canvas{transition:none}

.inspector-start{width:100%;margin-top:12px}.block-library{scroll-margin-top:240px}

/* Inspector rhythm: groups20px, fields16px, labels8px, panel padding16px. */
.pb-host .editor-panel .editor-body{padding:16px}
.element-inspector{display:flex;flex-direction:column;gap:20px}
.element-inspector>*{flex:none;min-width:0;margin-top:0;margin-bottom:0}
.element-inspector>.field{margin:0;gap:8px}
.element-inspector .inspector-header{margin:-16px 0 0;padding:16px 0;gap:6px 12px}
.element-inspector .inspector-context{margin:0}
.element-inspector .inspector-moves,.element-inspector .inspector-block-settings{margin:0}
.pb-host .editor-panel .field{gap:8px}
.pb-host .editor-panel .field>label{min-height:20px;line-height:1.5;font-size:13px}
.pb-host .editor-panel .field>.hint{margin:0;line-height:1.5}
.editor-content{display:flex;flex-direction:column;gap:20px}
.editor-content>.premium-panel,.editor-content>.block-library,.editor-content>.hidden-box{margin:0}
.hidden-box:empty{display:none}.sec-list{gap:16px}.sec-head{padding:12px 16px;row-gap:8px}.sec-form{padding:16px}
.block-content>.field{margin:16px 0}.block-content>.field:last-child{margin-bottom:0}
.block-style{padding-top:12px;margin-top:16px}.block-style-grid{gap:16px;margin-top:12px}
.block-style>.btn{margin-top:16px}.block-style>.design-warn:not([hidden]){margin:12px 0 0}
.block-style-grid .field{margin:0}.style-choices{gap:8px}
.service-appearance{padding-top:16px;margin-top:20px}.service-appearance details{padding:12px;margin:12px 0}
.inspector-block-settings{padding-top:16px}
.block-content>summary,.block-style>summary,.inspector-block-settings>summary,.font-custom>summary,.service-appearance details>summary{display:flex;align-items:center;gap:8px;min-height:44px;line-height:1.4;list-style:none}
.block-content>summary::-webkit-details-marker,.block-style>summary::-webkit-details-marker,.inspector-block-settings>summary::-webkit-details-marker,.font-custom>summary::-webkit-details-marker,.service-appearance details>summary::-webkit-details-marker{display:none}
.block-content>summary::after,.block-style>summary::after,.inspector-block-settings>summary::after,.font-custom>summary::after,.service-appearance details>summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:auto;flex:none}
.block-content[open]>summary::after,.block-style[open]>summary::after,.inspector-block-settings[open]>summary::after,.font-custom[open]>summary::after,.service-appearance details[open]>summary::after{transform:rotate(225deg)}
.design-panel .color-field{border:0;padding:0;align-items:stretch;background:transparent;gap:8px}
.design-panel .color-control{height:48px;min-width:0}.color-row>.btn{grid-column:1/-1;margin-top:4px}
.design-panel .design-group{min-width:0}.design-panel .design-group>.hint{margin:8px 0 16px;line-height:1.5}
.premium-brief{display:flex;flex-direction:column;gap:16px;padding:16px}
.premium-brief>.field,.premium-brief>.premium-packages,.premium-brief>p{margin:0}
.preview-panel{padding:16px}.preview-head{margin-bottom:16px;gap:12px}.preview-head>.preview-title,.preview-head>.preview-sub{margin:0}
.preview-panel>.device-row{margin:0 0 16px;gap:8px}.preview-stage{padding:16px}
.inspector-start{margin:0}.inspector-header>.inspector-back{margin:0}

@media(max-width:920px){.element-inspector .inspector-header{top:calc(var(--workbench-top,248px) - 16px)}}

.pb-host .editor-panel input[type=range]{margin:0;min-height:44px}

.pb-host .editor-commandbar .editor-toolbar>.btn[data-act=undo],.pb-host .editor-commandbar .editor-toolbar>.btn.btn-quiet{min-height:44px;height:44px;padding:8px}

/* Colour swatches must not inherit the inspector's full-width input rule. */
.block-style-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.element-inspector .block-color-control input[type=color]{width:44px;min-width:44px;flex:0 0 44px}
.block-color-control{min-width:0}.block-color-control .color-inherit{width:auto;min-width:0;flex:1;white-space:normal;line-height:1.4}

/* Mobile editor: two clear action rows, not a floating three-storey panel. */
.pb-host input[type=file][hidden]{display:none!important}
.pb-host .field>label:has(input[type=checkbox]){display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5}
.pb-host .field input[type=checkbox]{width:20px!important;height:20px!important;min-height:20px!important;padding:0;flex:0 0 20px;margin:0;accent-color:var(--navy)}
.pb-host .editor-panel .hint:empty{display:none}
.pb-host .editor-design{border:0;background:transparent}
.pb-host .editor-design>.design-panel{padding:0;gap:24px}
.pb-host .design-panel .sub-design-body{padding:0;gap:0}
.pb-host .design-panel .design-group{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin:0 0 16px}
.pb-host .design-panel .design-group:last-child{margin-bottom:0}
.pb-host .design-panel .design-group>h3,.pb-host .design-panel .design-group>.row-label{font-size:16px;line-height:1.5;color:var(--ink);margin:0 0 16px}
.design-option-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 24px;min-width:0}
.design-option-row>.row-label{grid-column:1/-1;font-size:13px;line-height:1.5;margin:0}
.design-option-row .choice-btn{min-width:0;min-height:44px;border-radius:10px;padding:8px;font-size:13px;white-space:normal;line-height:1.4}
.design-option-row[aria-label='Ширина страницы']{grid-template-columns:repeat(3,minmax(0,1fr))}
.pb-host .font-pairs{max-height:none;overflow:visible;padding:2px;margin-top:16px}
.pb-host .block-style-grid>.block-color-field{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 156px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.pb-host .block-color-field>label{margin:0;line-height:1.5;font-weight:500}
.pb-host .block-color-control{gap:8px}.pb-host .block-color-control input[type=color]{width:44px;min-width:44px;height:44px;flex:0 0 44px;padding:3px}
.pb-host .block-color-control .color-inherit{border:1px solid var(--line);border-radius:8px;min-height:44px!important;padding:6px;font-size:11px;background:#fff}
@media(max-width:600px){
 .pb-host .editor-commandbar{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8px;padding:8px;border-radius:12px;margin-bottom:16px}
 .pb-host .editor-commandbar .editor-toolbar,.pb-host .editor-commandbar .apply-bar,.pb-host .editor-commandbar .apply-row{display:contents}
 .pb-host .editor-commandbar .mode-switch{grid-column:1/-1;min-width:0;border-radius:8px}
 .pb-host .editor-commandbar .editor-toolbar .mode-switch .btn{font-size:12px!important;padding:8px 4px!important;border-radius:0}
 .pb-host .editor-commandbar .editor-toolbar>.btn,.pb-host .editor-commandbar .apply-row>.btn-primary{margin:0;min-width:0;width:100%;min-height:44px;height:44px;padding:8px;font-size:12px}
 .pb-host .editor-commandbar .editor-toolbar>.spacer,.pb-host .editor-commandbar .apply-note{display:none}
 .pb-host .editor-commandbar .save-status{grid-column:1/-1;line-height:1.5;padding:0 4px}
 .pb-host .editor-commandbar .save-status:empty{display:none}
 .pb-host .editor-panel .editor-body{padding:12px}
 .pb-host .design-panel .design-group{padding:16px;border-radius:12px}
 .pb-host .design-panel .tpl-row{display:grid;grid-template-columns:1fr;gap:8px}
 .pb-host .design-panel .tpl-card{display:grid;grid-template-columns:76px minmax(0,1fr);max-width:none;width:100%;padding:10px;align-items:center;gap:12px;text-align:left}
 .pb-host .design-panel .tpl-thumb{height:48px}.pb-host .design-panel .tpl-name{font-size:14px}
 .pb-host .design-panel .color-row{grid-template-columns:1fr;gap:12px}
 .pb-host .design-panel .color-field{display:grid;grid-template-columns:minmax(0,1fr) 148px;gap:12px;align-items:center;font-size:13px}
 .pb-host .design-panel .color-control{height:44px;padding:4px 8px}.pb-host .design-panel .color-control input[type=color]{width:28px;height:28px}
 .pb-host .element-inspector .inspector-header{position:static;margin:0;padding:0 0 16px}
 .pb-host .sec-form{padding:16px}.pb-host .block-color-field{grid-template-columns:minmax(0,1fr) 144px}
 .pb-host .design-panel input[type=file]{font-size:12px;min-width:0;max-width:100%;padding:8px}
 .pb-host .design-panel input[type=file]::file-selector-button{font:inherit;border:0;border-radius:6px;padding:8px;background:#edf0f8;color:var(--navy);margin-right:8px}
}
@media(max-width:600px){
 .pb-host .editor-commandbar>.apply-bar .apply-row{display:contents}
 .pb-host .editor-commandbar>.apply-bar .save-status{grid-column:1/-1;width:100%;white-space:normal}
 .pb-host .editor-commandbar .editor-toolbar>.btn.btn-quiet{font-size:12px}
}
.pb-host .editor-design>.design-panel>.design-group{margin:0}
@media(max-width:600px){.pb-host .editor-commandbar{gap:6px}.pb-host .editor-commandbar .apply-row>.btn-primary{font-size:13px}}
@media(max-width:600px){.pb-host>.bldr-shell{padding-left:0;padding-right:0}}
@media(max-width:600px){
 /* Keep iOS from zooming the page when editing a small HEX or search field. */
 .pb-host .editor-panel input:not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]):not([type=file]),.pb-host .editor-panel select,.pb-host .editor-panel textarea{font-size:16px}
}

/* Owner decision: visual editing is a desktop workflow. */
.desktop-editor-note{display:none}
.pb-host .editor-commandbar{display:flex;align-items:center;gap:12px;padding:8px 12px;flex-wrap:nowrap}
.pb-host .editor-commandbar .editor-toolbar,.pb-host .editor-commandbar .apply-bar,.pb-host .editor-commandbar>.apply-bar .apply-row{display:contents}
.pb-host .editor-commandbar .mode-switch{flex:0 0 auto;margin:0;border-radius:8px}
.pb-host .editor-commandbar .mode-switch .btn{min-height:44px;padding:8px 12px;font-size:13px;line-height:1.4}
.pb-host .editor-commandbar .editor-toolbar>.btn[data-act=undo]{width:auto;margin:0;font-size:13px;padding:8px 12px}
.pb-host .editor-commandbar>.apply-bar .btn-primary{margin:0 0 0 auto;min-width:112px;width:auto;min-height:44px;padding:8px 16px;font-size:13px}
.pb-host .editor-feedback{display:flex;flex-wrap:wrap;gap:4px 16px;margin:-8px 0 16px;font-size:12px;line-height:1.5;color:var(--muted)}
.pb-host .editor-feedback .apply-note{margin:0;font:inherit}.pb-host .editor-feedback .save-status{font:inherit;padding:0;min-height:0}
@media(max-width:1199px),(hover:none) and (pointer:coarse){
 .pb-host:has(>.desktop-editor-note)>*:not(.desktop-editor-note){display:none!important}
 .pb-host>.desktop-editor-note{display:flex;flex-direction:column;align-items:flex-start;gap:16px;border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff;max-width:540px;margin:0 auto}
 .desktop-editor-note h2{font-size:22px;line-height:1.3}.desktop-editor-note p{font-size:15px;line-height:1.6;color:var(--muted)}
 .desktop-editor-note .btn{min-height:44px;padding:10px 16px;line-height:1.4;white-space:normal;text-align:center;max-width:100%}
}

/* Designer examples remain ordinary editable PageBlocks documents. */
.pb-page:is(.pb-art-atelier,.pb-art-botanical){max-width:560px;border-radius:0;margin:0 auto;overflow:hidden}
.pb-page:is(.pb-art-atelier,.pb-art-botanical)>.pb-block{padding:36px 28px;border:0;border-radius:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-profile{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:32px 28px 36px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-profile-head{display:contents}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-eyebrow{order:0;font-size:10px;letter-spacing:.2em;margin:0 0 16px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-name{order:1;font-size:clamp(36px,11cqw,62px);font-weight:500;line-height:1.02;letter-spacing:-.05em;margin:0 0 14px;max-width:100%}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-role{order:2;font-size:11px;letter-spacing:.08em;line-height:1.7;margin:0 0 28px;opacity:1}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-media{order:3;width:100%;height:auto;aspect-ratio:4/5;max-height:none;border-radius:0;object-fit:cover;object-position:center 36%;margin:0 0 28px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-tagline{order:4;font-family:var(--pb-heading-font);font-size:clamp(25px,7.5cqw,40px);line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-hero-summary{order:5;max-width:none;font-size:13px;line-height:1.85;margin:0 0 24px;opacity:1}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-btn-hero{order:6;width:100%;margin:0;min-height:52px;font-size:12px;font-weight:600;letter-spacing:.02em;border-radius:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-h{display:block;font-size:clamp(23px,6.8cqw,34px);line-height:1.2;font-weight:500;text-transform:none;letter-spacing:-.03em;margin:0 0 24px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-h::before{display:block;width:32px;height:1px;margin:0 0 20px;background:var(--pb-border)}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-text{font-size:14px;line-height:1.9;margin:0 0 18px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-service-list{display:flex;flex-direction:column;gap:16px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-service{display:flex;align-items:stretch;flex-direction:column;gap:18px;border:1px solid var(--pb-border);padding:24px;background:var(--pb-surface);border-radius:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-service-title{font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.02em}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-service-meta{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:12px;line-height:1.5}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-money{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.03em}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-btn-service{align-self:stretch;min-height:48px;height:auto;font-size:12px;border-radius:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-faq-item{border:0;border-bottom:1px solid var(--pb-border);border-radius:0;padding:0;background:transparent;margin:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-faq-q{padding:20px 0;font-family:var(--pb-body-font)!important;font-size:13px;font-weight:500;line-height:1.65}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-faq-a{font-size:13px;line-height:1.8;padding:0 0 20px;margin:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-photo{padding:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-photo-img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-photo-caption{padding:18px 28px;margin:0;font-size:12px;font-style:italic}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-booking{background:var(--pb-button);padding:40px 28px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-booking .pb-btn{min-height:52px;width:100%;border:1px solid var(--pb-button-text);color:var(--pb-button-text);background:transparent;border-radius:0;font-size:13px}
.pb-page.pb-art-botanical .pb-name{font-weight:400;letter-spacing:-.045em}
.pb-page.pb-art-botanical .pb-media{border-radius:160px 160px 4px 4px;outline:1px solid var(--pb-border);outline-offset:7px;margin-top:8px;margin-bottom:36px}
.pb-page.pb-art-botanical .pb-about{background:var(--pb-button);--pb-heading:#f2eee8;--pb-text:#f2eee8}
.pb-page.pb-art-botanical .pb-links .pb-btn-link{display:flex;justify-content:space-between;text-align:left;min-height:56px;padding:16px 0;border:0;border-bottom:1px solid var(--pb-border);background:transparent;color:var(--pb-link);font-size:12px;border-radius:0}
.pb-page.pb-art-botanical .pb-links .pb-btn-link::after{content:'↗';font-size:18px;margin-left:12px}
.pb-page.pb-art-botanical .pb-contact-list{display:flex;flex-wrap:wrap;gap:12px}.pb-page.pb-art-botanical .pb-contact-link{font-size:13px;line-height:1.7}
.pb-page.pb-art-botanical .pb-contacts .pb-text{white-space:pre-line;font-size:13px}
.pb-page.pb-art-atelier .pb-name{text-transform:uppercase;font-weight:600;letter-spacing:-.055em}
.pb-page.pb-art-atelier .pb-methods{background:var(--pb-surface)}
.pb-page.pb-art-atelier .pb-methods .pb-text{padding:0 0 12px;border-bottom:1px solid var(--pb-border)}
.premium-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.premium-examples>h3{grid-column:1/-1;margin:0;font-size:18px}
.premium-example{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff;text-decoration:none;color:var(--ink);min-width:0}
.premium-example>img{width:100%;height:280px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line)}
.premium-example>strong{font-size:15px;line-height:1.4}.premium-example>span{font-size:12px;color:var(--muted);line-height:1.6}.premium-example>b{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;background:var(--navy);color:#fff;border-radius:8px;margin-top:auto}
.design-showcase{max-width:900px;margin:auto;padding:32px 24px;display:flex;flex-direction:column;gap:24px}.design-showcase>h1{font-size:clamp(28px,5vw,48px);line-height:1.15}.design-showcase>p{line-height:1.7}.design-showcase .premium-example>img{height:420px}
@media(max-width:600px){.premium-examples{grid-template-columns:1fr}.design-showcase{padding:24px 16px}.design-showcase .premium-example>img{height:400px}}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-meta-separator{display:none}
.pb-page.pb-art-botanical .pb-eyebrow{font-family:"Catalogue-tenorsans","Catalogue-montserrat",sans-serif}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-booking .pb-note{color:var(--pb-button-text);opacity:.9;font-size:11px;line-height:1.7;margin-top:16px}
.pb-page.pb-art-botanical .pb-contacts .pb-note{white-space:pre-line;font-size:13px;line-height:1.9}
.premium-example>img,.design-showcase .premium-example>img{width:min(100%,220px);height:auto;aspect-ratio:366/900;object-fit:cover;object-position:top;align-self:center;border-radius:12px}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-service-meta{opacity:1;color:var(--pb-muted)}
.pb-page:is(.pb-art-atelier,.pb-art-botanical) .pb-profile>.pb-edit-block-btn{order:7;align-self:flex-start;margin-top:16px}
.pb-page.pb-art-botanical .pb-contacts>a{display:flex;align-items:center;min-height:44px;width:fit-content;margin:4px 0}

/* Art-directed microsites: editable content, bespoke composition. */
.pb-page:has(.pb-designer-hero){max-width:880px;container-type:inline-size;isolation:isolate}
.pb-page:has(.pb-designer-hero)>.pb-block{padding:48px 36px}
.pb-page .pb-designer-hero{display:block!important;padding:24px 36px 40px!important;position:relative}
.pb-designer-identity{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--pb-border);padding-bottom:20px;margin-bottom:32px}
.pb-page .pb-monogram{font:400 38px/1 var(--pb-heading-font);color:var(--pb-icon);letter-spacing:-.12em;min-width:52px}
.pb-page .pb-identity-copy .pb-name{font:500 21px/1.18 var(--pb-heading-font);letter-spacing:-.02em;margin:0 0 5px;max-width:none}
.pb-page .pb-identity-copy .pb-role{font:400 10px/1.5 var(--pb-body-font,inherit);letter-spacing:.06em;margin:0}
.pb-designer-cover{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:28px}
.pb-page .pb-cover-copy .pb-eyebrow{font-size:9px;letter-spacing:.2em;color:var(--pb-link);margin:0 0 16px}
.pb-page .pb-cover-copy .pb-tagline{font:500 clamp(28px,6.5cqw,58px)/1.05 var(--pb-heading-font);letter-spacing:-.045em;margin:0 0 22px;max-width:10em}
.pb-page .pb-cover-copy .pb-hero-summary{font-size:12px;line-height:1.8;max-width:none;margin:0 0 24px}
.pb-page .pb-cover-copy .pb-btn-hero{width:100%;min-height:48px;font-size:11px;border-radius:50px;padding:14px 20px;white-space:normal;text-align:center;line-height:1.4}
.pb-designer-portrait{position:relative;align-self:stretch;min-width:0;display:flex;align-items:center}
.pb-page .pb-designer-portrait .pb-media{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;max-height:none;margin:0;outline:0;border-radius:48% 48% 5px 5px;z-index:1}
.pb-designer-orbit{position:absolute;inset:4% -6% -2%;border:1px solid var(--pb-border);border-radius:50%;transform:rotate(12deg);pointer-events:none;z-index:0}
.pb-page.pb-art-botanical{--pb-body-font:'Catalogue-montserrat',sans-serif;background:#f7f7f5}
.pb-page.pb-art-botanical .pb-designer-hero{background:#f7f7f5}
.pb-page.pb-art-botanical .pb-cover-copy .pb-tagline{color:var(--pb-text);font-weight:600}
.pb-page.pb-art-botanical .pb-monogram{font-family:'Catalogue-playfairdisplay',serif}
.pb-page.pb-art-botanical .pb-service{border-radius:24px;padding:28px;box-shadow:0 10px 32px #005c4d08;border-color:#d8dace;position:relative;overflow:hidden}
.pb-page.pb-art-botanical .pb-service:nth-child(2){background:var(--pb-button);color:var(--pb-button-text);--pb-muted:var(--pb-button-text);--pb-heading:var(--pb-button-text)}
.pb-page.pb-art-botanical .pb-service:nth-child(2) .pb-btn-service{background:var(--pb-surface);color:var(--pb-button);border-color:var(--pb-surface)}
.pb-page:has(.pb-designer-hero) .pb-service-list{counter-reset:services;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
.pb-page:has(.pb-designer-hero) .pb-service{counter-increment:services;display:flex;flex-direction:column;min-width:0;gap:24px}
.pb-page:has(.pb-designer-hero) .pb-service::before{content:'/ 0' counter(services);font:11px/1.4 'Catalogue-montserrat',sans-serif;letter-spacing:.1em;color:inherit;opacity:.7}
.pb-page:has(.pb-designer-hero) .pb-service-title{font-family:var(--pb-heading-font);font-size:25px;line-height:1.15;color:inherit}
.pb-page:has(.pb-designer-hero) .pb-service-info{flex:1}
.pb-page:has(.pb-designer-hero) .pb-service-meta{margin-top:20px;gap:8px}
.pb-page:has(.pb-designer-hero) .pb-money{font:500 27px/1.2 'Catalogue-montserrat',sans-serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.04em;color:inherit}
.pb-service-description{font-size:11px;line-height:1.8;margin:18px 0 0;color:inherit}
.pb-page:has(.pb-designer-hero) .pb-btn-service{min-height:46px;height:auto;line-height:1.4;padding:12px 20px;border-radius:50px;display:flex;align-items:center;justify-content:center}
.pb-page:has(.pb-designer-hero) .pb-services .pb-service:first-child:last-child{grid-column:1/-1}
.pb-page:has(.pb-designer-hero) .pb-service:nth-child(3):last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 24px}
.pb-page:has(.pb-designer-hero) .pb-service:nth-child(3):last-child::before{grid-column:1/-1}
.pb-page:has(.pb-designer-hero) .pb-service:nth-child(3):last-child .pb-btn-service{min-width:140px}
.pb-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pb-topic-card{border:1px solid var(--pb-border);border-radius:18px;padding:22px;min-width:0;background:var(--pb-surface)}
.pb-topic-index{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--pb-border);border-radius:50%;font-size:10px;line-height:1;margin-bottom:20px;color:var(--pb-link)}
.pb-topic-card h3{font:500 23px/1.2 var(--pb-heading-font);margin:0 0 12px;color:var(--pb-heading)}
.pb-topic-card p{font-size:11px;line-height:1.75;margin:0}
.pb-page:has(.pb-designer-hero) .pb-about{position:relative;padding-block:48px 56px}
.pb-page.pb-art-botanical .pb-about{border-radius:32px 32px 0 0;background:var(--pb-button)}
.pb-page:has(.pb-designer-hero) .pb-about .pb-h{max-width:15em;font-size:clamp(26px,5cqw,40px)}
.pb-page:has(.pb-designer-hero) .pb-about .pb-text{font-size:12px;max-width:52em;line-height:1.9}
.pb-page.pb-art-botanical .pb-variant-text-topics{background:#eeeae3}
.pb-page:has(.pb-designer-hero) .pb-links .pb-btn-link{display:flex;align-items:center;justify-content:space-between;padding:16px 0;min-height:52px;background:transparent;color:var(--pb-link);border:0;border-bottom:1px solid var(--pb-border);font-size:12px;text-align:left;border-radius:0}
.pb-page:has(.pb-designer-hero) .pb-links .pb-btn-link::after{content:'↗';font-size:18px;margin-left:16px}
.pb-page:has(.pb-designer-hero) .pb-contacts{background:var(--pb-surface)}
.pb-page:has(.pb-designer-hero) .pb-contacts>a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;margin:4px 0;overflow-wrap:anywhere}
.pb-page:has(.pb-designer-hero) .pb-booking{padding-block:32px 40px;text-align:center}
.pb-page:has(.pb-designer-hero) .pb-btn-booking{border-radius:50px;min-height:52px;display:flex;align-items:center;justify-content:center;padding:14px 24px;line-height:1.4}
/* Elena: a different editorial identity, not a recoloured Tatiana. */
.pb-page.pb-art-atelier:not(.pb-art-personal){background:#f0eaf1}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-hero{background:#302737;color:#fff8ee}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-name,.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-role{color:#fff8ee}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-tagline{color:#f6d6b8;font-size:clamp(32px,7.5cqw,66px);font-weight:400}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-eyebrow{color:#f6d6b8}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-hero-summary{color:#eee5f0}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait{transform:rotate(5deg);margin:18px 4px 24px}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait .pb-media{border-radius:130px 130px 4px 4px;border:6px solid #f7eee2;box-shadow:12px 18px 0 #ab888b33;aspect-ratio:4/5;filter:saturate(.7)}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-orbit{inset:-12% -5%;border-color:#d7ba9b77;transform:rotate(-25deg)}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-btn-hero{background:#f2c9a6;color:#302737;border-color:#f2c9a6}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-about{padding-right:20%;background:#f5f0e9}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-about::after{content:'«';position:absolute;right:24px;top:22px;font:180px/1 var(--pb-heading-font);color:#ae92994d;pointer-events:none}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-photo{position:relative;padding:0!important;height:260px;overflow:hidden}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%;border-radius:0}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-photo figcaption{position:absolute;bottom:20px;left:24px;right:24px;background:#fff8eef0;color:#302737;padding:14px 20px;font:24px/1.2 var(--pb-heading-font);border-radius:50px;backdrop-filter:blur(8px)}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-service{border-radius:4px 30px 4px 4px;background:#302737;color:#fff8ee;border-color:#302737}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-service .pb-service-meta{color:#fff8ee}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-service .pb-btn-service{background:#f2c9a6;color:#302737;border-color:#f2c9a6}
.pb-page.pb-art-personal{--pb-body-font:'Catalogue-inter',sans-serif;background:#f2eee5}
.pb-page.pb-art-personal .pb-cover-copy .pb-tagline{font-weight:500;font-size:clamp(36px,8cqw,68px);color:#a23920}
.pb-page.pb-art-personal .pb-designer-portrait .pb-media{filter:grayscale(1);border-radius:140px 140px 8px 8px;aspect-ratio:4/5}
.pb-page.pb-art-personal .pb-monogram{color:#a23920;letter-spacing:-.12em}
.pb-page.pb-art-personal .pb-service{border:1px solid #d9d4c9;border-radius:12px;background:#f9f6ef}
.pb-page.pb-art-personal .pb-service .pb-btn-service{border-radius:8px}
@container(max-width:560px){
 .pb-page .pb-designer-hero{padding:24px 24px 32px!important}
 .pb-page:has(.pb-designer-hero)>.pb-block{padding:36px 24px}
 .pb-designer-identity{margin-bottom:28px;padding-bottom:18px}
 .pb-designer-cover{grid-template-columns:1fr;gap:24px}
 .pb-page .pb-cover-copy{display:contents}
 .pb-page .pb-cover-copy .pb-eyebrow{grid-row:1;margin:0;font-size:9px}
 .pb-page .pb-cover-copy .pb-tagline{grid-row:2;font-size:clamp(34px,10cqw,48px);margin:0;max-width:10em}
 .pb-page .pb-cover-copy .pb-hero-summary{grid-row:3;margin:0;font-size:12px;max-width:90%}
 .pb-designer-portrait{grid-row:4;width:74%;justify-self:end;max-width:270px;margin:0 7% 0 0}
 .pb-page .pb-designer-portrait .pb-media{aspect-ratio:1/1.08;object-position:center 28%;border-radius:46% 46% 3px 3px}
 .pb-page .pb-cover-copy .pb-btn-hero{grid-row:5;margin-top:0}
 .pb-page:has(.pb-designer-hero) .pb-service-list{grid-template-columns:1fr}
 .pb-page:has(.pb-designer-hero) .pb-service:nth-child(3):last-child{display:flex}
 .pb-topic-card{padding:18px 14px;border-radius:14px}
 .pb-topic-card h3{font-size:21px}
 .pb-topic-card p{font-size:10px}
 .pb-topic-index{width:30px;height:30px;margin-bottom:16px}
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait{margin:0 10% 12px 0;width:72%;justify-self:end;max-width:250px}
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-tagline{font-size:clamp(38px,11cqw,54px)}
 .pb-page.pb-art-personal .pb-cover-copy .pb-tagline{font-size:clamp(40px,12cqw,56px)}
}
@media(prefers-reduced-motion:no-preference){.pb-page:has(.pb-designer-hero) .pb-btn{transition:transform .2s,box-shadow .2s}.pb-page:has(.pb-designer-hero) .pb-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #18252018}}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-identity-copy .pb-name{color:#fff8ee;text-transform:none}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-monogram{color:#dfb99a}
.pb-page.pb-art-botanical .pb-services .pb-service:nth-child(2) .pb-btn-service{color:#005c4d;background:#fffdf9}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-hero{--pb-heading:#fff8ee;--pb-text:#fff8ee;--pb-muted:#eee5f0;--pb-link:#f2c9a6}
.pb-page.pb-art-botanical .pb-services .pb-service:nth-child(2) .pb-btn-service{--pb-button-text:#005c4d}
/* Premium editorial cover: portrait becomes the composition, not another card. */
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-hero{padding:24px 0 0!important}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-identity{margin:0 28px 24px}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-cover{display:grid;grid-template-columns:minmax(0,1fr);gap:0;position:relative}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait{grid-area:1/1;position:relative;transform:none;margin:0;width:100%;height:640px;max-width:none;justify-self:stretch}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait .pb-media{height:100%;aspect-ratio:auto;border:0;border-radius:0;box-shadow:none;object-position:center 36%;filter:saturate(.65)}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-orbit{display:none}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy{grid-area:1/1;grid-row:1;display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch;position:relative;z-index:2;padding:180px 36px 36px;background:linear-gradient(180deg,transparent 15%,#30273712 32%,#302737eb 75%,#302737 100%);pointer-events:none}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy>*{pointer-events:auto}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-eyebrow{display:none}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-tagline{font-size:clamp(38px,8cqw,64px);font-weight:400;line-height:1.04;margin:0 0 20px;max-width:9em;color:#ffdfc2;grid-row:auto}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-hero-summary{font-size:12px;max-width:32em;margin:0 0 24px;grid-row:auto;color:#fff8ee}
.pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-btn-hero{max-width:350px;min-height:50px;margin:0;grid-row:auto;font-size:12px}
@container(max-width:560px){
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-portrait{height:620px;margin:0;width:100%;max-width:none}
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy{padding:220px 24px 28px}
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-cover-copy .pb-tagline{font-size:clamp(36px,10.5cqw,48px)}
 .pb-page.pb-art-atelier:not(.pb-art-personal) .pb-designer-identity{margin-inline:24px}
}
.pb-page:has(.pb-designer-hero) .pb-service-description{font-size:13px;line-height:1.75}
.pb-page:has(.pb-designer-hero) .pb-topic-card p{font-size:12px;line-height:1.7}
.pb-page:has(.pb-designer-hero) .pb-cover-copy .pb-hero-summary{font-size:13px;line-height:1.8}
.pb-page:has(.pb-designer-hero) .pb-btn-service,.pb-page:has(.pb-designer-hero) .pb-btn-hero{font-size:13px}
.pb-page:has(.pb-designer-hero) .pb-links .pb-btn-link{font-size:14px}
.pb-page:has(.pb-designer-hero) .pb-about .pb-text{font-size:14px}
/* Denis: his actual homepage, not the appointment sidebar portrait. */
.pb-page.pb-art-personal .pb-personal-hero{position:relative;display:flex!important;align-items:flex-end;min-height:660px;height:min(900px,calc(100svh - 32px));padding:0!important;background:#071219;--pb-heading:#f2eee5;--pb-text:#f2eee5;overflow:hidden}
.pb-page.pb-art-personal .pb-personal-hero>.pb-media{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center 5%;border:0;border-radius:0;outline:0;margin:0;filter:grayscale(12%) brightness(.78)}
.pb-page.pb-art-personal .pb-personal-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,#071219f5 0%,#07121980 45%,#07121910 75%,transparent 100%);pointer-events:none}
.pb-personal-hero-copy{position:relative;z-index:1;width:100%;padding:240px 40px 48px;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}
.pb-personal-hero-copy>*{pointer-events:auto}
.pb-page.pb-art-personal .pb-personal-hero .pb-name{font:700 clamp(48px,11cqw,100px)/.95 'Catalogue-cormorant',serif;letter-spacing:-.03em;text-transform:none;color:#f2eee5;margin:0 0 12px;max-width:none;order:0}
.pb-page.pb-art-personal .pb-personal-hero .pb-role{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#dfaa8e;margin:0 0 22px;line-height:1.5;order:1}
.pb-page.pb-art-personal .pb-personal-hero .pb-tagline{font:italic 400 clamp(21px,4cqw,32px)/1.22 'Catalogue-cormorant',serif;color:#e7e2d7;letter-spacing:0;white-space:pre-line;max-width:24em;margin:0 0 24px;order:2}
.pb-page.pb-art-personal .pb-personal-hero .pb-hero-summary{font:400 11px/1.7 'Catalogue-inter',sans-serif;color:#d4d2cd;border-top:1px solid #f2eee530;width:100%;padding-top:16px;margin:0 0 24px;order:3}
.pb-page.pb-art-personal .pb-personal-hero .pb-btn-hero{min-height:50px;width:fit-content;padding:14px 26px;line-height:1.4;font-size:13px;border:0;border-radius:50px;background:#f2eee5;color:#071219;font-weight:500;order:4;margin:0}
.pb-page.pb-art-personal .pb-hero-footnote{font:400 11px/1.5 'Catalogue-inter',sans-serif;color:#d4d2cd;margin:12px 0 0;order:5}
.pb-page.pb-art-personal .pb-designer-orbit{display:none}
@container(max-width:560px){.pb-personal-hero-copy{padding:240px 24px 32px}.pb-page.pb-art-personal .pb-personal-hero .pb-name{font-size:clamp(44px,13cqw,66px)}.pb-page.pb-art-personal .pb-personal-hero{min-height:670px;max-height:880px}.pb-page.pb-art-personal .pb-personal-hero .pb-tagline{font-size:23px}.pb-page.pb-art-personal .pb-personal-hero .pb-role{margin-bottom:12px}}
/* Keep Tatiana's source portrait silhouette; no added arch mask or orbit. */
.pb-page.pb-art-botanical .pb-designer-portrait .pb-media{border-radius:0;outline:0}
.pb-page.pb-art-botanical .pb-designer-orbit{display:none}
.pb-page.pb-art-personal .pb-personal-hero{flex-direction:row!important;align-items:flex-end!important}
/* Premium packages: quantity and money have independent, stable lines. */
.pb-package-intro{font:400 14px/1.8 var(--pb-body-font);color:var(--pb-muted);max-width:48em;margin:0 0 28px;white-space:pre-line}
.pb-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.pb-package-grid:has(>.pb-package-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.pb-package-card{display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden;background:var(--pb-surface);border:1px solid var(--pb-border);border-radius:12px}
.pb-package-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;border:0;flex-shrink:0}
.pb-package-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;padding:24px 20px 22px}
.pb-package-title{font:500 26px/1.15 var(--pb-heading-font);letter-spacing:-.02em;color:var(--pb-heading);margin:0 0 18px;min-height:2.3em;overflow-wrap:break-word}
.pb-package-count{font:500 12px/1.5 var(--pb-body-font);text-transform:uppercase;letter-spacing:.08em;color:var(--pb-muted);margin:0 0 9px}
.pb-package-price{font:600 clamp(23px,3.4cqw,31px)/1.2 var(--pb-body-font);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.04em;color:var(--pb-heading);white-space:nowrap;margin:0 0 8px;max-width:100%}
.pb-package-unit{font:400 12px/1.6 var(--pb-body-font);color:var(--pb-muted);margin:0 0 18px;white-space:nowrap}
.pb-package-description{font:400 13px/1.8 var(--pb-body-font);color:var(--pb-text);margin:10px 0 24px;flex:1}
.pb-package-badge{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);font:500 10px/1.4 var(--pb-body-font);letter-spacing:.03em;padding:7px 10px;background:var(--pb-surface);color:var(--pb-heading);border-radius:4px;box-shadow:0 2px 12px #0000000a}
.pb-package-cta{display:flex;align-items:center;justify-content:center;min-height:46px;line-height:1.4;width:100%;padding:12px 14px;margin-top:auto;font:500 12px/1.4 var(--pb-body-font);border:1px solid var(--pb-button);background:var(--pb-button);color:var(--pb-button-text);border-radius:var(--pb-btn-radius,12px);text-align:center;text-decoration:none}
.pb-art-personal .pb-package-card{border-radius:2px}.pb-art-personal .pb-package-image{filter:grayscale(1)}
.pb-art-personal .pb-package-title{font-size:30px;font-weight:600}.pb-art-personal .pb-package-cta{border-radius:50px}
.pb-art-botanical .pb-package-card{background:#fffdf9;border-color:#d3bf9e66}.pb-art-botanical .pb-package-image{aspect-ratio:4/3}.pb-art-botanical .pb-package-body{padding:26px 20px}
.pb-art-atelier:not(.pb-art-personal) .pb-package-card{border-radius:4px}.pb-art-atelier:not(.pb-art-personal) .pb-package-image{aspect-ratio:4/3}
.package-edit-fields{display:grid;gap:18px;padding-top:20px}.package-edit-fields .field{margin:0}.package-edit-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
@container(max-width:620px){.pb-package-grid,.pb-package-grid:has(>.pb-package-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);gap:24px}.pb-package-body,.pb-art-botanical .pb-package-body{padding:26px 24px}.pb-package-title{min-height:0;font-size:30px;margin-bottom:22px}.pb-package-price{font-size:32px}.pb-package-description{font-size:14px;line-height:1.85}.pb-package-count{font-size:12px}.pb-package-unit{font-size:13px}.pb-package-cta{font-size:13px;min-height:48px}.pb-package-intro{font-size:14px;line-height:1.8}.pb-package-badge{font-size:11px}}

/* Three complete identities in the designer portfolio. */
.design-showcase .premium-examples{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.design-showcase .premium-example{padding:24px;gap:18px;border-radius:18px;background:#fffdf9}
.design-showcase .premium-example>img{width:min(100%,220px);border:6px solid #20232b;border-radius:28px;box-shadow:0 18px 35px #20232b16;aspect-ratio:390/900}
.design-showcase .premium-example>strong{font-size:19px;line-height:1.35}
.design-showcase .premium-example>span{font-size:14px}
.design-showcase{max-width:1120px}
@media(max-width:860px){.design-showcase .premium-examples{grid-template-columns:1fr}.design-showcase .premium-example{padding:28px}.design-showcase .premium-example>img{width:240px}}

@container(max-width:560px){.pb-page .pb-topic-card h3{font-size:18px;line-height:1.25;overflow-wrap:normal;hyphens:auto}}
@container(max-width:350px){.pb-page .pb-topic-grid{grid-template-columns:minmax(0,1fr)}}

.pb-package-price.pb-price-pending{font-size:20px;white-space:normal;letter-spacing:0;line-height:1.4}
.pb-package-card:not(:has(>.pb-package-image)) .pb-package-badge{position:static;margin:0 0 16px}
/* The original portrait is shown in full; no extra crop or mask. */
.pb-page.pb-art-botanical .pb-designer-portrait .pb-media{display:block;aspect-ratio:auto;height:auto;width:100%;max-height:none;object-fit:contain;border-radius:0;object-position:center;margin:0}
.pb-carousel{width:100%;min-width:0;margin-top:24px}
.pb-carousel-track{display:flex;gap:16px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--pb-border) transparent;padding:0 0 12px;align-items:stretch}
.pb-carousel-slide{box-sizing:border-box;flex:0 0 100%;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--pb-border);border-radius:12px;overflow:hidden;background:var(--pb-surface);color:var(--pb-text)}
.pb-carousel-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--pb-bg)}
.pb-carousel-image.pb-image-contain{object-fit:contain;aspect-ratio:auto;max-height:520px}
.pb-carousel-copy{padding:28px;display:flex;flex-direction:column;gap:18px;flex:1}
.pb-carousel-title{font:500 clamp(24px,5cqw,36px)/1.2 var(--pb-heading-font);color:var(--pb-heading);margin:0}
.pb-carousel-text{font:400 15px/1.85 var(--pb-body-font);white-space:pre-line;margin:0}
.pb-carousel-caption{font:400 12px/1.65 var(--pb-body-font);color:var(--pb-muted);margin:0;padding-top:12px;border-top:1px solid var(--pb-border)}
.pb-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}
.pb-carousel-counter{font:400 12px/1.5 var(--pb-body-font);font-variant-numeric:lining-nums tabular-nums;color:var(--pb-muted)}
.pb-carousel-nav{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:84px;padding:10px 16px;background:transparent;border:1px solid var(--pb-border);border-radius:24px;color:var(--pb-heading);font:500 12px/1.4 var(--pb-body-font);cursor:pointer}
.pb-carousel-nav:disabled{opacity:.35;cursor:default}.pb-carousel-nav:focus:not(:focus-visible),.pb-carousel-track:focus:not(:focus-visible){outline:none}.pb-carousel-nav:focus-visible,.pb-carousel-track:focus-visible{outline:2px solid var(--pb-link);outline-offset:3px}
.carousel-edit-image{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:8px}.carousel-edit-actions{display:flex;flex-wrap:wrap;gap:10px}
.pb-faq-item{margin-block:0 12px}.pb-faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:16px 0;cursor:pointer;list-style:none;line-height:1.5}.pb-faq-q::-webkit-details-marker{display:none}.pb-faq-q::after{content:'+';display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;line-height:1;font-size:24px;font-weight:400}.pb-faq-item[open]>.pb-faq-q::after{content:'−'}.pb-faq-a{margin:0;padding:0 0 20px;font:400 14px/1.85 var(--pb-body-font);white-space:pre-line}
.pb-variant-faq-accordion .pb-faq-item{border-bottom:1px solid var(--pb-border)}
.pb-package-cta:link,.pb-package-cta:visited{color:var(--pb-button-text)}
@media(prefers-reduced-motion:no-preference){
 .pb-motion-editorial .pb-designer-hero .pb-name,.pb-motion-editorial .pb-designer-hero .pb-tagline,.pb-motion-editorial .pb-designer-hero .pb-btn-hero{animation:pb-enter .85s both cubic-bezier(.2,.7,.2,1)}
 .pb-motion-editorial .pb-designer-hero .pb-tagline{animation-delay:.12s}.pb-motion-editorial .pb-designer-hero .pb-btn-hero{animation-delay:.24s}
 .pb-motion-editorial .pb-designer-hero>.pb-media,.pb-motion-editorial .pb-designer-portrait .pb-media{animation:pb-photo-settle 1.5s both cubic-bezier(.2,.7,.2,1)}
 .pb-motion-editorial .pb-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
 .pb-motion-editorial .pb-reveal.pb-in-view{opacity:1;transform:none}
 .pb-motion-editorial .pb-package-image{transition:transform .65s ease}.pb-motion-editorial .pb-package-card:hover .pb-package-image{transform:scale(1.025)}
 @keyframes pb-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
 @keyframes pb-photo-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
}
@media(max-width:560px){.pb-carousel-copy{padding:24px}.pb-carousel-text{font-size:14px}}
.premium-example-tier{display:inline-flex;align-items:center;min-height:30px;font-size:12px;font-weight:600;color:var(--navy)}
