/* Sapphire Canvas V1 — sapphire-project.com. Public and governed backoffice surfaces. */
.canvas-page,
.canvas-bo {
    --canvas-font: "Manrope", "Segoe UI", sans-serif;
    --canvas-serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --canvas-ink: #0b2230;
    --canvas-ink-soft: #173846;
    --canvas-text: #1d3540;
    --canvas-muted: #60727a;
    --canvas-faint: #788a90;
    --canvas-line: #d9e2e3;
    --canvas-line-strong: #bdcdce;
    --canvas-paper: #fbfcfa;
    --canvas-mist: #eef4f2;
    --canvas-white: #fff;
    --canvas-teal: #147d78;
    --canvas-teal-bright: #3fc4b9;
    --canvas-teal-soft: #ddf2ee;
    --canvas-gold: #c8a35c;
    --canvas-gold-soft: #f4ead7;
    --canvas-green: #23724f;
    --canvas-green-soft: #e1f2e8;
    --canvas-amber: #916117;
    --canvas-amber-soft: #fbefd8;
    --canvas-red: #a44250;
    --canvas-red-soft: #f9e8eb;
    --canvas-shadow: 0 24px 64px rgba(6, 29, 41, .11);
    --canvas-shadow-soft: 0 14px 38px rgba(11, 40, 51, .075);
    box-sizing: border-box;
    color: var(--canvas-text);
    font-family: var(--canvas-font);
}
.canvas-page *, .canvas-page *::before, .canvas-page *::after,
.canvas-bo *, .canvas-bo *::before, .canvas-bo *::after { box-sizing: border-box; }
.canvas-page :is(h1, h2, h3, p, ol, ul, dl, dd, figure, blockquote),
.canvas-bo :is(h1, h2, h3, p, ol, ul, dl, dd, figure) { margin-block-start: 0; }
.canvas-page a, .canvas-bo a { color: inherit; }
.canvas-page img, .canvas-bo img { display: block; max-width: 100%; }
.canvas-page :focus-visible,
.canvas-bo :focus-visible,
.canvas-bo-preview-dialog :focus-visible,
.canvas-bo-media-dialog :focus-visible { outline: 3px solid var(--canvas-teal); outline-offset: 3px; }
.canvas-page [hidden], .canvas-bo [hidden] { display: none !important; }

/* Public composition */
.canvas-page { background: var(--canvas-paper); min-width: 0; overflow: clip; }
.canvas-page__intro { margin-inline: auto; max-width: 1280px; padding: clamp(48px, 7vw, 98px) clamp(22px, 4vw, 58px) clamp(30px, 4vw, 54px); }
.canvas-page__title-visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.canvas-page__intro h1 { color: var(--canvas-ink); font-size: clamp(2.65rem, 6vw, 5.8rem); font-weight: 780; letter-spacing: -.06em; line-height: .94; margin: 8px 0 18px; max-width: 14ch; }
.canvas-page__intro p { color: var(--canvas-muted); font-size: clamp(1.06rem, 1.6vw, 1.3rem); line-height: 1.7; margin: 0; max-width: 66ch; }
.canvas-page__sections { display: grid; min-width: 0; }
.canvas-section { background: var(--canvas-paper); color: var(--canvas-text); min-width: 0; padding-block: clamp(62px, 8vw, 116px); position: relative; }
.canvas-section[data-theme="mist"] { background: var(--canvas-mist); }
.canvas-section[data-theme="ink"],
.canvas-section[data-theme="signature"] { background: var(--canvas-ink); color: #ecf7f6; }
.canvas-section[data-theme="gold"] { background: var(--canvas-gold-soft); }
.canvas-shell { margin-inline: auto; max-width: 1280px; padding-inline: clamp(22px, 4vw, 58px); position: relative; }
.canvas-kicker { color: var(--canvas-teal); display: inline-block; font-size: .7rem; font-weight: 850; letter-spacing: .14em; line-height: 1.3; margin-block-end: 10px; text-transform: uppercase; }
[data-theme="ink"] .canvas-kicker, [data-theme="signature"] .canvas-kicker { color: #65d9cf; }
.canvas-section h2 { color: var(--canvas-ink); font-size: clamp(2.15rem, 4.4vw, 4.5rem); font-weight: 770; letter-spacing: -.055em; line-height: 1; margin: 0; text-wrap: balance; }
[data-theme="ink"] h2, [data-theme="signature"] h2 { color: #fff; }
.canvas-section h3 { color: var(--canvas-ink); font-size: 1.18rem; font-weight: 760; letter-spacing: -.025em; line-height: 1.25; }
.canvas-lede, .canvas-section__head > p { color: var(--canvas-muted); font-size: clamp(1.04rem, 1.5vw, 1.25rem); line-height: 1.72; margin-block: 18px 0; max-width: 62ch; }
[data-theme="ink"] :is(.canvas-lede, .canvas-section__head > p),
[data-theme="signature"] :is(.canvas-lede, .canvas-section__head > p) { color: #b9d1d5; }
.canvas-section__head { display: grid; margin-block-end: clamp(28px, 4vw, 50px); max-width: 850px; }
.canvas-section__head--compact { align-items: end; grid-template-columns: minmax(0, 1fr); }
.canvas-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 11px; margin-block-start: 28px; }
.canvas-button { align-items: center; border: 1px solid var(--canvas-line-strong); border-radius: 999px; display: inline-flex; font-size: .88rem; font-weight: 790; justify-content: center; min-height: 48px; padding: 10px 20px; text-decoration: none; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.canvas-button:hover { transform: translateY(-2px); }
.canvas-button--primary { background: var(--canvas-teal); border-color: var(--canvas-teal); box-shadow: 0 14px 28px rgba(20, 125, 120, .2); color: #fff !important; }
.canvas-button--quiet { background: rgba(255, 255, 255, .78); color: var(--canvas-ink); }
[data-theme="ink"] .canvas-button--quiet, [data-theme="signature"] .canvas-button--quiet { background: rgba(255, 255, 255, .06); border-color: rgba(198, 226, 226, .25); color: #eaf6f5; }

.canvas-hero { background: linear-gradient(138deg, #061923, #0b2b38 58%, #0d3c45); isolation: isolate; min-height: min(820px, calc(100vh - 80px)); overflow: hidden; padding-block: clamp(72px, 10vw, 140px); }
.canvas-hero::before { background: radial-gradient(circle at 78% 30%, rgba(63, 196, 185, .22), transparent 30%), radial-gradient(circle at 16% 92%, rgba(200, 163, 92, .14), transparent 27%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.canvas-hero::after { background-image: linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px); background-size: 42px 42px; content: ""; inset: 0; mask-image: linear-gradient(90deg, transparent, #000 50%, #000); pointer-events: none; position: absolute; }
.canvas-hero__grid { align-items: center; display: grid; gap: clamp(42px, 6vw, 82px); grid-template-columns: minmax(0, 1.28fr) minmax(330px, .72fr); z-index: 1; }
.canvas-hero h2 { color: #fff; font-size: clamp(3rem, 5.1vw, 5.55rem); font-weight: 760; letter-spacing: -.065em; line-height: .93; max-width: 12ch; }
.canvas-hero .canvas-lede { color: #b9d0d5; max-width: 54ch; }
.canvas-hero__media { border: 1px solid rgba(150, 219, 213, .2); border-radius: clamp(24px, 4vw, 44px); box-shadow: 0 32px 90px rgba(1, 13, 20, .38); margin: 0; overflow: hidden; position: relative; transform: rotate(1.2deg); }
.canvas-hero__media::after { border: 1px solid rgba(255,255,255,.18); border-radius: inherit; content: ""; inset: 12px; pointer-events: none; position: absolute; }
.canvas-hero__media img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.canvas-hero__media figcaption, .canvas-split__media figcaption { background: rgba(5, 27, 37, .86); inset: auto 14px 14px; color: #e4f0f1; font-size: .75rem; line-height: 1.45; padding: 9px 12px; position: absolute; }

.canvas-narrative__grid { align-items: start; display: grid; gap: clamp(42px, 7vw, 110px); grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr); }
.canvas-narrative header { position: sticky; inset-block-start: 90px; }
.canvas-prose { color: #3f555e; font-family: var(--canvas-serif); font-size: clamp(1.1rem, 1.65vw, 1.34rem); line-height: 1.83; }
.canvas-prose .canvas-lede { color: var(--canvas-ink); font-family: var(--canvas-font); font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 580; letter-spacing: -.025em; line-height: 1.5; }
.canvas-prose__note { border-inline-start: 3px solid var(--canvas-gold); margin-block: 34px; padding-inline-start: 24px; }
.canvas-prose__note h3 { font-family: var(--canvas-font); margin-block-end: 8px; }

.canvas-split__grid { align-items: center; display: grid; gap: clamp(42px, 7vw, 96px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.canvas-split[data-variant="media-start"] .canvas-split__media { grid-column: 1; grid-row: 1; }
.canvas-split[data-variant="media-start"] .canvas-split__copy { grid-column: 2; }
.canvas-split__media { border-radius: 30px; box-shadow: var(--canvas-shadow); margin: 0; overflow: hidden; position: relative; }
.canvas-split__media img { aspect-ratio: 5 / 4; object-fit: cover; width: 100%; }
.canvas-check-list { display: grid; gap: 12px; list-style: none; margin-block: 28px 0; padding: 0; }
.canvas-check-list li { background: rgba(255,255,255,.72); border: 1px solid var(--canvas-line); border-radius: 13px; display: grid; gap: 3px; padding: 14px 16px 14px 46px; position: relative; }
.canvas-check-list li::before { background: var(--canvas-teal-soft); border-radius: 50%; color: var(--canvas-teal); content: "✓"; display: grid; font-weight: 900; height: 24px; inset: 15px auto auto 13px; place-items: center; position: absolute; width: 24px; }
.canvas-check-list span { color: var(--canvas-muted); font-size: .88rem; line-height: 1.5; }

.canvas-metrics { overflow: hidden; }
.canvas-metrics::after { border: 1px solid rgba(97, 220, 209, .12); border-radius: 50%; content: ""; height: 440px; inset: -220px -150px auto auto; position: absolute; width: 440px; }
.canvas-metrics__grid { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; position: relative; z-index: 1; }
.canvas-metrics__grid > div { border-inline-start: 1px solid rgba(198, 224, 226, .17); display: grid; min-height: 170px; padding: 24px clamp(18px, 3vw, 34px); }
.canvas-metrics__grid dt { color: #84a5aa; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.canvas-metrics__grid dd { color: #fff; font-size: clamp(2.4rem, 4.4vw, 4.9rem); font-weight: 780; letter-spacing: -.06em; line-height: 1; margin: auto 0 8px; }
.canvas-metrics__grid span { color: #aac2c6; font-size: .82rem; }

.canvas-card-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.canvas-card { background: rgba(255,255,255,.82); border: 1px solid var(--canvas-line); border-radius: 19px; box-shadow: var(--canvas-shadow-soft); display: flex; flex-direction: column; min-height: 260px; overflow: hidden; padding: clamp(20px, 2.7vw, 30px); position: relative; }
.canvas-card::after { background: linear-gradient(90deg, var(--canvas-teal), var(--canvas-teal-bright)); content: ""; height: 3px; inset: auto 0 0; opacity: 0; position: absolute; transform: scaleX(.3); transition: opacity .18s ease, transform .18s ease; }
.canvas-card:hover::after, .canvas-card.is-featured::after { opacity: 1; transform: scaleX(1); }
.canvas-card__index { color: var(--canvas-teal); font-size: .72rem; font-weight: 850; letter-spacing: .1em; }
.canvas-card h3 { font-size: 1.35rem; margin: auto 0 10px; }
.canvas-card p { color: var(--canvas-muted); line-height: 1.65; margin-block-end: 18px; }
.canvas-card a { color: var(--canvas-teal); font-size: .86rem; font-weight: 800; text-decoration: none; }

.canvas-table-wrap { border: 1px solid var(--canvas-line); border-radius: 18px; overflow-x: auto; }
.canvas-table-wrap table { border-collapse: collapse; min-width: 680px; width: 100%; }
.canvas-table-wrap :is(th, td) { border-block-end: 1px solid var(--canvas-line); padding: 16px 18px; text-align: start; }
.canvas-table-wrap thead th { background: var(--canvas-ink); color: #fff; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.canvas-table-wrap tbody th { color: var(--canvas-ink); font-weight: 750; }
.canvas-table-wrap tr.is-featured { background: var(--canvas-teal-soft); }

.canvas-steps__list { counter-reset: canvas-step; display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.canvas-steps__list li { align-items: start; display: grid; gap: 22px; grid-template-columns: 58px minmax(0, 1fr); min-height: 132px; position: relative; }
.canvas-steps__list li:not(:last-child)::before { background: var(--canvas-line-strong); content: ""; inline-size: 1px; inset: 54px auto 0 28px; position: absolute; }
.canvas-steps__list > li > span { background: var(--canvas-ink); border: 6px solid var(--canvas-paper); border-radius: 50%; box-shadow: 0 0 0 1px var(--canvas-line); color: #fff; display: grid; font-size: .8rem; font-weight: 850; height: 56px; place-items: center; width: 56px; }
.canvas-steps__list h3 { margin-block: 6px 7px; }
.canvas-steps__list p { color: var(--canvas-muted); line-height: 1.65; max-width: 72ch; }

.canvas-logos__grid { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 30px 0 0; padding: 0; }
.canvas-logos__grid li { align-items: center; background: #fff; border: 1px solid var(--canvas-line); border-radius: 14px; display: flex; justify-content: center; min-height: 104px; padding: 18px; }
.canvas-logos__grid a { display: contents; }
.canvas-logos__grid img { filter: grayscale(1); max-height: 46px; object-fit: contain; opacity: .7; transition: filter .18s ease, opacity .18s ease; }
.canvas-logos__grid li:hover img { filter: none; opacity: 1; }
.canvas-logos__grid span { color: var(--canvas-muted); font-size: .82rem; font-weight: 800; letter-spacing: .06em; text-align: center; text-transform: uppercase; }

.canvas-quotes { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.canvas-quotes figure { background: rgba(255,255,255,.055); border: 1px solid rgba(177, 219, 218, .15); border-radius: 20px; margin: 0; padding: clamp(24px, 3vw, 38px); }
.canvas-quotes blockquote { color: #f1f9f8; font-family: var(--canvas-serif); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.55; margin: 0 0 24px; }
.canvas-quotes blockquote::before { color: var(--canvas-gold); content: "“"; font-size: 3rem; line-height: 0; margin-inline-end: 5px; vertical-align: -.35em; }
.canvas-quotes figcaption { display: grid; gap: 3px; }
.canvas-quotes figcaption strong { color: #fff; }
.canvas-quotes figcaption span { color: #8faeb2; font-size: .82rem; }

.canvas-faq__grid { align-items: start; display: grid; gap: clamp(36px, 7vw, 96px); grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); }
.canvas-faq__items { display: grid; gap: 9px; }
.canvas-faq details { background: rgba(255,255,255,.8); border: 1px solid var(--canvas-line); border-radius: 13px; overflow: hidden; }
.canvas-faq summary { align-items: center; color: var(--canvas-ink); cursor: pointer; display: flex; font-weight: 740; gap: 18px; justify-content: space-between; list-style: none; min-height: 64px; padding: 15px 18px; }
.canvas-faq summary::-webkit-details-marker { display: none; }
.canvas-faq summary span { color: var(--canvas-teal); font-size: 1.35rem; transition: transform .18s ease; }
.canvas-faq details[open] summary span { transform: rotate(45deg); }
.canvas-faq details p { border-block-start: 1px solid var(--canvas-line); color: var(--canvas-muted); line-height: 1.7; margin: 0; padding: 16px 18px 19px; }

.canvas-cta { background: var(--canvas-paper); }
.canvas-cta__panel { align-items: center; background: linear-gradient(135deg, #08202c, #0d3942); border: 1px solid rgba(91, 208, 199, .24); border-radius: clamp(24px, 4vw, 42px); box-shadow: var(--canvas-shadow); color: #fff; display: grid; gap: 34px; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; padding: clamp(30px, 5vw, 66px); position: relative; }
.canvas-cta__panel::after { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; height: 360px; inset: -170px -110px auto auto; position: absolute; width: 360px; }
.canvas-cta__panel > * { position: relative; z-index: 1; }
.canvas-cta h2 { color: #fff; font-size: clamp(2rem, 4vw, 4rem); }
.canvas-cta p { color: #b8d0d4; line-height: 1.7; margin: 15px 0 0; max-width: 58ch; }
.canvas-cta .canvas-actions { justify-content: end; margin: 0; }

.canvas-contacts__grid { align-items: start; display: grid; gap: clamp(42px, 7vw, 96px); grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); }
.canvas-contacts__list { border-block-start: 1px solid var(--canvas-line); margin: 0; }
.canvas-contacts__list > div { align-items: baseline; border-block-end: 1px solid var(--canvas-line); display: grid; gap: 20px; grid-template-columns: minmax(100px, .55fr) minmax(0, 1.45fr); padding-block: 17px; }
.canvas-contacts dt { color: var(--canvas-faint); font-size: .7rem; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.canvas-contacts dd { color: var(--canvas-ink); font-size: 1.04rem; font-weight: 700; }
.canvas-contacts dd span { color: var(--canvas-muted); display: block; font-size: .78rem; font-weight: 450; margin-block-start: 4px; }
.canvas-contacts a { color: var(--canvas-teal); }

.canvas-catalog__grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.canvas-catalog article { background: #fff; border: 1px solid var(--canvas-line); border-radius: 20px; box-shadow: var(--canvas-shadow-soft); overflow: hidden; }
.canvas-catalog article > img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.canvas-catalog article > div { padding: 24px; }
.canvas-catalog h3 { font-size: 1.35rem; margin-block: 4px 9px; }
.canvas-catalog h3 a { text-decoration: none; }
.canvas-catalog p { color: var(--canvas-muted); line-height: 1.62; margin: 0; }
.canvas-wiki-spaces__grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.canvas-wiki-spaces__grid li { align-items: start; background: #fff; border: 1px solid var(--canvas-line); border-radius: 20px; box-shadow: var(--canvas-shadow-soft); display: grid; gap: 17px; grid-template-columns: 42px minmax(0, 1fr); min-height: 210px; padding: clamp(22px, 3vw, 30px); }
.canvas-wiki-spaces__position { align-items: center; background: var(--canvas-ink); border-radius: 12px; color: #fff; display: inline-flex; font-size: .72rem; font-weight: 820; height: 42px; justify-content: center; width: 42px; }
.canvas-wiki-spaces h3 { font-size: clamp(1.22rem, 2vw, 1.55rem); margin: 7px 0 10px; }
.canvas-wiki-spaces__grid p { color: var(--canvas-muted); line-height: 1.62; margin: 0; }
.canvas-tempus-services__grid, .canvas-tempus-specialists__grid, .canvas-prismview-scenes__grid { list-style: none; margin: 0; padding: 0; }
.canvas-tempus-services__grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.canvas-business-card { background: rgba(255,255,255,.88); border: 1px solid var(--canvas-line); border-block-start: 3px solid var(--canvas-teal); border-radius: 18px; box-shadow: var(--canvas-shadow-soft); display: flex; flex-direction: column; min-height: 250px; overflow: hidden; padding: clamp(22px, 3vw, 30px); }
.canvas-business-card__meta { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.canvas-business-card__position { align-items: center; background: var(--canvas-teal-soft); border-radius: 999px; color: var(--canvas-teal); display: inline-flex; flex: 0 0 auto; font-size: .7rem; font-weight: 850; height: 34px; justify-content: center; min-width: 34px; padding-inline: 8px; }
.canvas-business-card__label, .canvas-scene-card__label { color: var(--canvas-teal); font-size: .67rem; font-weight: 840; letter-spacing: .1em; text-transform: uppercase; }
.canvas-business-card__copy { display: grid; margin-block-start: auto; padding-block-start: 34px; }
.canvas-business-card h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); margin: 0 0 10px; }
.canvas-business-card p, .canvas-specialist-card p, .canvas-scene-card p { color: var(--canvas-muted); line-height: 1.65; margin: 0; }
.canvas-business-card__action { align-items: center; align-self: start; color: var(--canvas-teal) !important; display: inline-flex; font-size: .8rem; font-weight: 820; gap: 8px; margin-block-start: 18px; text-decoration: none; }
.canvas-business-card__action span { font-size: 1.05rem; transition: transform .18s ease; }
.canvas-business-card__action:hover span { transform: translateX(3px); }
[dir="rtl"] .canvas-business-card__action span { transform: scaleX(-1); }
[dir="rtl"] .canvas-business-card__action:hover span { transform: scaleX(-1) translateX(3px); }
.canvas-tempus-specialists__grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.canvas-specialist-card { align-items: start; background: rgba(255,255,255,.82); border: 1px solid var(--canvas-line); border-radius: 18px; display: grid; gap: clamp(18px, 3vw, 28px); grid-template-columns: 58px minmax(0, 1fr); min-height: 190px; padding: clamp(22px, 3vw, 30px); }
.canvas-specialist-card__mark { align-items: center; background: linear-gradient(145deg, var(--canvas-ink), var(--canvas-teal)); border: 5px solid var(--canvas-teal-soft); border-radius: 50%; color: #fff; display: inline-flex; font-size: .72rem; font-weight: 850; height: 58px; justify-content: center; width: 58px; }
.canvas-specialist-card__copy { display: grid; }
.canvas-specialist-card h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); margin: 8px 0 9px; }
.canvas-prismview-scenes { isolation: isolate; overflow: hidden; }
.canvas-prismview-scenes::after { background: radial-gradient(circle, rgba(63,196,185,.19), transparent 68%); content: ""; height: 680px; inset: -270px -240px auto auto; pointer-events: none; position: absolute; width: 680px; z-index: -1; }
.canvas-prismview-scenes__grid { display: grid; gap: 14px; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.canvas-scene-card { background: rgba(255,255,255,.055); border: 1px solid rgba(181,221,219,.17); border-radius: 22px; display: grid; grid-column: span 4; grid-template-rows: auto 1fr; min-height: 390px; overflow: hidden; position: relative; }
.canvas-scene-card:first-child { grid-column: span 8; }
.canvas-scene-card::after { border: 1px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; height: 190px; inset: auto -92px -104px auto; position: absolute; width: 190px; }
.canvas-scene-card__media { align-items: center; aspect-ratio: 16 / 10; background: linear-gradient(135deg, rgba(63,196,185,.16), rgba(8,27,38,.92)); display: flex; justify-content: center; margin: 0; overflow: hidden; position: relative; }
.canvas-scene-card:first-child .canvas-scene-card__media { aspect-ratio: 2 / 1; }
.canvas-scene-card__media::after { background: linear-gradient(180deg, transparent 48%, rgba(7,23,33,.58)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.canvas-scene-card__media img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.canvas-scene-card:hover .canvas-scene-card__media img { transform: scale(1.025); }
.canvas-scene-card__position { color: var(--canvas-gold); font-family: var(--canvas-serif); font-size: clamp(2.6rem, 5vw, 5rem); line-height: .8; opacity: .9; }
.canvas-scene-card__copy { align-self: end; max-width: 62ch; padding: clamp(22px, 3vw, 30px); position: relative; z-index: 1; }
.canvas-scene-card h3 { color: #fff; font-size: clamp(1.35rem, 2.5vw, 2rem); margin: 8px 0 10px; }
.canvas-scene-card p { color: #abc3c7; }
.canvas-prismview-scenes__heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; }
.canvas-prismview-scenes__heading .canvas-section__head { margin-block-end: 28px; }
.canvas-scene-slider__controls { align-items: center; display: none; gap: 8px; margin-block-end: 28px; }
.canvas-prismview-scenes.is-enhanced .canvas-scene-slider__controls { display: flex; }
.canvas-scene-slider__controls button { align-items: center; background: rgba(255,255,255,.065); border: 1px solid rgba(181,221,219,.22); border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; height: 44px; justify-content: center; transition: background .2s ease, border-color .2s ease, transform .2s ease; width: 44px; }
.canvas-scene-slider__controls button:hover { background: rgba(63,196,185,.16); border-color: rgba(140,229,212,.62); transform: translateY(-1px); }
.canvas-scene-slider__controls button:disabled { cursor: default; opacity: .38; transform: none; }
.canvas-scene-slider__controls button:focus-visible, .canvas-scene-slider__track:focus-visible { outline: 3px solid var(--canvas-gold); outline-offset: 4px; }
.canvas-scene-slider__controls p { align-items: center; color: var(--canvas-muted); direction: ltr; display: flex; font-variant-numeric: tabular-nums; gap: 5px; margin: 0 4px; min-width: 3.6rem; }
.canvas-scene-slider__controls [data-canvas-scene-current] { color: #fff; font-weight: 800; }
.canvas-scene-slider__track { display: flex; gap: clamp(14px, 2vw, 24px); list-style: none; margin: 0; overflow-x: auto; overscroll-behavior-inline: contain; padding-block: 3px 22px; padding-inline: 0 max(0px, calc((100vw - min(1180px, calc(100vw - 40px))) / 2)); scroll-behavior: smooth; scroll-padding-inline: 2px; scroll-snap-type: inline mandatory; scrollbar-color: rgba(140,229,212,.55) rgba(255,255,255,.07); scrollbar-width: thin; touch-action: pan-x pan-y; }
.canvas-prismview-scenes.is-enhanced .canvas-scene-slider__track { cursor: grab; }
.canvas-scene-slider__track.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
.canvas-scene-slider__track .canvas-scene-card { flex: 0 0 min(78vw, 780px); grid-column: auto; min-height: 520px; scroll-snap-align: start; }
.canvas-scene-slider__track .canvas-scene-card:first-child { grid-column: auto; }
.canvas-scene-slider__track .canvas-scene-card__media, .canvas-scene-slider__track .canvas-scene-card:first-child .canvas-scene-card__media { aspect-ratio: 16 / 9; }
.canvas-prismview-scenes:dir(rtl) .canvas-scene-slider__controls i { transform: scaleX(-1); }
.canvas-scene-slider__track[data-canvas-scene-track] { -webkit-overflow-scrolling: touch; }

[data-theme="ink"] :is(.canvas-business-card, .canvas-specialist-card), [data-theme="signature"] :is(.canvas-business-card, .canvas-specialist-card) { background: rgba(255,255,255,.055); border-color: rgba(181,221,219,.17); }
[data-theme="ink"] :is(.canvas-business-card h3, .canvas-specialist-card h3), [data-theme="signature"] :is(.canvas-business-card h3, .canvas-specialist-card h3) { color: #fff; }
[data-theme="ink"] :is(.canvas-business-card p, .canvas-specialist-card p), [data-theme="signature"] :is(.canvas-business-card p, .canvas-specialist-card p) { color: #abc3c7; }
[data-theme="ink"] .canvas-business-card__action, [data-theme="signature"] .canvas-business-card__action { color: #65d9cf !important; }
.canvas-empty { min-height: 55vh; text-align: center; }
.canvas-provider-section .canvas-section__head { margin-block-end: clamp(28px, 4vw, 48px); }
.canvas-provider-grid { display: grid; gap: clamp(16px, 2.2vw, 26px); grid-template-columns: repeat(12, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.canvas-provider-card { background: color-mix(in srgb, var(--canvas-surface) 94%, transparent); border: 1px solid color-mix(in srgb, var(--canvas-ink) 13%, transparent); border-radius: 22px; display: flex; flex-direction: column; grid-column: span 4; min-height: 250px; overflow: hidden; padding: clamp(24px, 3vw, 34px); position: relative; transition: border-color .2s ease, transform .2s ease; }
.canvas-provider-card:hover { border-color: color-mix(in srgb, var(--canvas-gold) 55%, transparent); transform: translateY(-3px); }
.canvas-provider-card__order { color: var(--canvas-gold); font-family: var(--canvas-serif); font-size: clamp(1.7rem, 2.8vw, 2.5rem); font-variant-numeric: tabular-nums; line-height: 1; margin-block-end: auto; }
.canvas-provider-card h3 { color: var(--canvas-ink); font-size: clamp(1.3rem, 2vw, 1.75rem); line-height: 1.12; margin: 42px 0 10px; }
.canvas-provider-card p { color: var(--canvas-muted); line-height: 1.65; margin: 0; }
.canvas-provider-card__action { align-items: center; color: var(--canvas-gold); display: inline-flex; font-weight: 800; margin-block-start: 22px; text-decoration: none; }
.canvas-provider-card__action:focus-visible { outline: 3px solid var(--canvas-gold); outline-offset: 4px; }
.canvas-provider-card.is-featured { border-color: color-mix(in srgb, var(--canvas-gold) 65%, transparent); grid-column: span 6; }
.canvas-provider-section--crm .canvas-provider-cta { align-items: center; background: color-mix(in srgb, var(--canvas-ink) 96%, transparent); border-radius: 28px; display: grid; gap: 30px; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(30px, 6vw, 72px); }
.canvas-provider-section--crm .canvas-section__head { margin: 0; }
.canvas-provider-section--crm .canvas-section__head :is(h2, p) { color: #fff; }
.canvas-provider-section--crm .canvas-button { white-space: nowrap; }
.canvas-empty .canvas-shell { max-width: 760px; }
.canvas-empty h1 { color: var(--canvas-ink); font-size: clamp(2.2rem, 5vw, 4.4rem); letter-spacing: -.05em; line-height: 1; }
.canvas-empty p { color: var(--canvas-muted); line-height: 1.7; }

/* Keep the executive public composition inside the dark Sapphire site language. */
.canvas-page[data-theme="executive"] {
    --canvas-executive-bg: color-mix(in srgb, var(--canvas-ink) 72%, #040b11);
    --canvas-executive-surface: color-mix(in srgb, var(--canvas-ink-soft) 46%, #07131c);
    --canvas-executive-surface-alt: color-mix(in srgb, var(--canvas-ink-soft) 62%, #081722);
    --canvas-executive-panel: rgba(18, 45, 58, .78);
    --canvas-executive-line: rgba(165, 204, 214, .17);
    --canvas-executive-heading: #f3f8fa;
    --canvas-executive-text: #d6e3e8;
    --canvas-executive-muted: #9eb4bd;
    --canvas-surface: var(--canvas-executive-panel);
    background: var(--canvas-executive-bg);
    color: var(--canvas-executive-text);
    color-scheme: dark;
}
.canvas-page[data-theme="executive"] .canvas-section:not(.canvas-hero) { background: var(--canvas-executive-surface); color: var(--canvas-executive-text); }
.canvas-page[data-theme="executive"] .canvas-page__sections > .canvas-section:nth-child(odd):not(.canvas-hero) { background: var(--canvas-executive-surface-alt); }
.canvas-page[data-theme="executive"] .canvas-section:not(.canvas-hero) :is(h1, h2, h3) { color: var(--canvas-executive-heading); }
.canvas-page[data-theme="executive"] .canvas-section:not(.canvas-hero) :is(.canvas-lede, .canvas-section__head > p, .canvas-prose, .canvas-card p, .canvas-steps__list p, .canvas-faq details p, .canvas-catalog p, .canvas-wiki-spaces__grid p, .canvas-business-card p, .canvas-specialist-card p, .canvas-contacts dd span, .canvas-empty p, .canvas-provider-card p) { color: var(--canvas-executive-muted); }
.canvas-page[data-theme="executive"] .canvas-prose .canvas-lede,
.canvas-page[data-theme="executive"] .canvas-contacts dd,
.canvas-page[data-theme="executive"] .canvas-table-wrap tbody th,
.canvas-page[data-theme="executive"] .canvas-faq summary { color: var(--canvas-executive-heading); }
.canvas-page[data-theme="executive"] :is(.canvas-card, .canvas-check-list li, .canvas-faq details, .canvas-logos__grid li, .canvas-catalog article, .canvas-wiki-spaces__grid li, .canvas-business-card, .canvas-specialist-card, .canvas-provider-card) {
    background: var(--canvas-executive-panel);
    border-color: var(--canvas-executive-line);
    box-shadow: 0 18px 46px rgba(1, 9, 15, .2);
}
.canvas-page[data-theme="executive"] :is(.canvas-table-wrap, .canvas-contacts__list, .canvas-contacts__list > div, .canvas-faq details p) { border-color: var(--canvas-executive-line); }
.canvas-page[data-theme="executive"] .canvas-table-wrap { background: rgba(5, 18, 27, .34); }
.canvas-page[data-theme="executive"] .canvas-table-wrap :is(th, td) { border-color: var(--canvas-executive-line); }
.canvas-page[data-theme="executive"] .canvas-table-wrap tr.is-featured { background: rgba(63, 196, 185, .1); }
.canvas-page[data-theme="executive"] .canvas-steps__list li:not(:last-child)::before { background: var(--canvas-executive-line); }
.canvas-page[data-theme="executive"] .canvas-steps__list > li > span { border-color: var(--canvas-executive-surface); box-shadow: 0 0 0 1px var(--canvas-executive-line); }
.canvas-page[data-theme="executive"] .canvas-button--quiet { background: rgba(255, 255, 255, .065); border-color: var(--canvas-executive-line); color: var(--canvas-executive-heading); }
.canvas-page[data-theme="executive"] .canvas-cta__panel { box-shadow: 0 26px 70px rgba(1, 9, 15, .34); }

/* Backoffice visual composer */
.canvas-bo { container-type: inline-size; display: grid; gap: 17px; min-width: 0; width: 100%; }
body:has(.canvas-bo) .sapphire-admin-workspace { background: radial-gradient(circle at 85% 8%, rgba(54, 178, 168, .08), transparent 31%), linear-gradient(180deg, #081b25, #0c2530); }
.canvas-bo button, .canvas-bo input, .canvas-bo select, .canvas-bo textarea { font: inherit; }
.canvas-bo button, .canvas-bo select { cursor: pointer; }
.canvas-bo__hero { align-items: end; background: radial-gradient(circle at 88% 6%, rgba(63, 196, 185, .22), transparent 31%), radial-gradient(circle at 10% 120%, rgba(200, 163, 92, .13), transparent 30%), linear-gradient(138deg, #061923, #0a2c38); border: 1px solid rgba(89, 190, 183, .2); border-radius: 24px; box-shadow: 0 24px 58px rgba(3, 21, 31, .24); color: #fff; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) auto; min-height: 150px; overflow: hidden; padding: clamp(22px, 3vw, 32px); position: relative; }
.canvas-bo__hero::after { border: 1px solid rgba(142, 220, 215, .11); border-radius: 50%; box-shadow: inset 0 0 0 38px rgba(63,196,185,.03), inset 0 0 0 80px rgba(255,255,255,.015); content: ""; height: 310px; inset: auto -80px -145px auto; position: absolute; width: 310px; }
.canvas-bo__hero > * { position: relative; z-index: 1; }
.canvas-bo__hero--compact { min-height: 108px; padding-block: 20px; }
.canvas-bo__eyebrow, .canvas-bo-kicker { color: #65d9cf; display: inline-flex; gap: 7px; align-items: center; font-size: .66rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.canvas-bo-kicker { color: var(--canvas-teal); }
.canvas-bo__hero h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.15rem); font-weight: 800; letter-spacing: -.05em; line-height: 1; margin: 8px 0; }
.canvas-bo__hero p { color: #b9d0d5; line-height: 1.55; margin: 0; max-width: 760px; }
.canvas-bo__hero-actions, .canvas-bo-composer-head__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; justify-content: end; }
.canvas-bo-button, .canvas-bo-icon-button, .canvas-bo-preview-modes button, .canvas-bo-media-dialog button { align-items: center; background: #fff; border: 1px solid var(--canvas-line-strong); border-radius: 10px; color: var(--canvas-ink); display: inline-flex; font-weight: 740; gap: 7px; justify-content: center; min-height: 40px; padding: 8px 13px; text-decoration: none; }
.canvas-bo-button:hover, .canvas-bo-icon-button:hover { background: var(--canvas-teal-soft); border-color: rgba(20,125,120,.42); color: var(--canvas-teal); }
.canvas-bo-button--primary { background: linear-gradient(135deg, var(--canvas-teal), var(--canvas-ink-soft)); border-color: var(--canvas-teal); box-shadow: 0 11px 24px rgba(17,106,103,.2); color: #fff !important; }
.canvas-bo-button--success { background: var(--canvas-green); border-color: var(--canvas-green); color: #fff !important; }
.canvas-bo-button--quiet { background: #f5f8f7; color: var(--canvas-muted); }
.canvas-bo-button--glass { background: rgba(5, 29, 39, .44); border-color: rgba(172, 223, 220, .23); color: #e9f5f4 !important; }
.canvas-bo-button--small { min-height: 34px; padding: 6px 10px; }
.canvas-bo-icon-button { flex: 0 0 auto; height: 36px; min-height: 36px; padding: 6px; width: 36px; }
.canvas-bo-icon-button--danger { color: var(--canvas-red); }
.canvas-bo-alert { border: 1px solid var(--canvas-line); border-inline-start-width: 5px; border-radius: 11px; padding: 12px 15px; }
.canvas-bo-alert--success { background: var(--canvas-green-soft); border-inline-start-color: var(--canvas-green); color: #17583b; }
.canvas-bo-alert--error { background: var(--canvas-red-soft); border-inline-start-color: var(--canvas-red); color: #7e303d; }
.canvas-bo__nav { background: rgba(250,252,251,.94); border: 1px solid rgba(195,211,212,.9); border-radius: 14px; box-shadow: 0 10px 28px rgba(8,36,47,.08); display: flex; gap: 4px; inset-block-start: 10px; max-width: 100%; overflow-x: auto; padding: 7px; position: sticky; scrollbar-width: thin; z-index: 60; }
.canvas-bo__nav a { align-items: center; border-radius: 9px; color: var(--canvas-muted); display: inline-flex; font-size: .86rem; font-weight: 700; gap: 7px; min-height: 40px; padding: 8px 11px; text-decoration: none; white-space: nowrap; }
.canvas-bo__nav a:hover { background: var(--canvas-teal-soft); color: var(--canvas-teal); }
.canvas-bo__nav a.is-active { background: var(--canvas-ink-soft); box-shadow: 0 8px 18px rgba(7,37,51,.18); color: #fff; }
.canvas-bo__workspace { background: #edf3f2; border-radius: 20px; box-shadow: inset 0 1px rgba(255,255,255,.9); min-width: 0; padding: clamp(15px, 2vw, 24px); }
.canvas-bo__status { background: var(--canvas-ink); border-radius: 10px; box-shadow: 0 18px 44px rgba(4,24,36,.22); color: #fff; inset: auto 22px 22px auto; max-width: 390px; padding: 11px 14px; position: fixed; z-index: 1900; }
.canvas-bo__status:empty { display: none; }
.canvas-bo__status[data-kind="success"] { background: var(--canvas-green); }
.canvas-bo__status[data-kind="error"] { background: #8b3441; }
.canvas-bo-view { animation: canvas-bo-enter .25s ease both; display: grid; gap: 17px; min-width: 0; }
@keyframes canvas-bo-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.canvas-bo-view__head { align-items: flex-start; display: flex; gap: 20px; justify-content: space-between; }
.canvas-bo-view__head h3 { color: var(--canvas-ink); font-size: clamp(1.5rem, 2.7vw, 2.2rem); font-weight: 810; letter-spacing: -.04em; margin: 3px 0 5px; }
.canvas-bo-view__head p { color: var(--canvas-muted); line-height: 1.55; margin: 0; max-width: 800px; }
.canvas-bo-panel { background: #fbfdfc; border: 1px solid var(--canvas-line); border-radius: 16px; box-shadow: 0 12px 34px rgba(11,45,55,.055); min-width: 0; padding: 19px; }
.canvas-bo-panel--flush { overflow: hidden; padding: 0; }
.canvas-bo-panel--sticky { inset-block-start: 76px; position: sticky; }
.canvas-bo-panel__head { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; margin-block-end: 15px; }
.canvas-bo-panel__head h3 { color: var(--canvas-ink); font-size: 1.08rem; margin: 2px 0 3px; }
.canvas-bo-panel__head p { color: var(--canvas-muted); font-size: .82rem; margin: 0; max-width: 630px; }
.canvas-bo-count { align-items: center; background: var(--canvas-teal-soft); border: 1px solid #c5e5e0; border-radius: 999px; color: var(--canvas-teal); display: inline-flex; flex: 0 0 auto; font-size: .72rem; font-weight: 850; justify-content: center; min-height: 29px; min-width: 29px; padding: 4px 8px; }
.canvas-bo-state { align-items: center; background: #edf1f1; border: 1px solid #d8e0e1; border-radius: 999px; color: var(--canvas-muted); display: inline-flex; font-size: .64rem; font-weight: 800; gap: 4px; letter-spacing: .035em; min-height: 24px; padding: 3px 8px; text-transform: uppercase; white-space: nowrap; }
.canvas-bo-state--draft, .canvas-bo-state--incomplete, .canvas-bo-state--warning, .canvas-bo-state--leased { background: var(--canvas-amber-soft); border-color: #eed9af; color: var(--canvas-amber); }
.canvas-bo-state--review, .canvas-bo-state--pending { background: #e8f0f8; border-color: #cbddeb; color: #286188; }
.canvas-bo-state--published, .canvas-bo-state--complete, .canvas-bo-state--completed, .canvas-bo-state--healthy, .canvas-bo-state--active { background: var(--canvas-green-soft); border-color: #c8e7d4; color: var(--canvas-green); }
.canvas-bo-state--archived, .canvas-bo-state--failed, .canvas-bo-state--error { background: var(--canvas-red-soft); border-color: #eccbd1; color: var(--canvas-red); }
.canvas-bo-metrics { display: grid; gap: 11px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.canvas-bo-metric { background: #fff; border: 1px solid var(--canvas-line); border-block-start: 3px solid var(--canvas-teal); border-radius: 13px; display: grid; gap: 5px; min-height: 108px; padding: 15px; text-decoration: none; }
.canvas-bo-metric span { color: var(--canvas-muted); font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.canvas-bo-metric strong { color: var(--canvas-ink); font-size: 1.85rem; line-height: 1; margin-block-start: auto; }
.canvas-bo-metric small { color: var(--canvas-faint); font-size: .72rem; }
.canvas-bo-dashboard-grid { display: grid; gap: 15px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.canvas-bo-records { display: grid; gap: 7px; }
.canvas-bo-record { align-items: center; background: #fff; border: 1px solid var(--canvas-line); border-radius: 11px; color: inherit; display: grid; gap: 11px; grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 64px; padding: 10px 12px; text-decoration: none; }
.canvas-bo-record__mark { background: var(--canvas-teal-soft); border-radius: 10px; color: var(--canvas-teal); display: grid; height: 40px; place-items: center; width: 40px; }
.canvas-bo-record > span:nth-child(2) { display: grid; min-width: 0; }
.canvas-bo-record strong { color: var(--canvas-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-record small { color: var(--canvas-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-page-tree { display: grid; }
.canvas-bo-page-row { align-items: center; border-block-end: 1px solid var(--canvas-line); display: grid; gap: 10px; grid-template-columns: 38px minmax(180px, 1fr) auto auto auto; min-height: 66px; padding-block: 9px; padding-inline: calc(14px + (var(--canvas-depth) * 16px)) 14px; }
.canvas-bo-page-row.is-selected { background: var(--canvas-teal-soft); }
.canvas-bo-tree-spacer { align-items: center; color: var(--canvas-faint); display: flex; height: 36px; justify-content: center; width: 36px; }
.canvas-bo-page-row__copy { display: grid; min-width: 0; }
.canvas-bo-page-row__copy strong { color: var(--canvas-ink); }
.canvas-bo-page-row__copy small { color: var(--canvas-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-coverage { color: var(--canvas-muted); font-size: .72rem; font-weight: 750; }
.canvas-bo-row-actions { display: flex; gap: 5px; }
.canvas-bo-empty { align-items: center; color: var(--canvas-muted); display: flex; flex-direction: column; justify-content: center; min-height: 260px; padding: 32px; text-align: center; }
.canvas-bo-empty > i { color: var(--canvas-teal); font-size: 2rem; margin-block-end: 10px; }
.canvas-bo-empty h3 { color: var(--canvas-ink); margin-block: 0 7px; }
.canvas-bo-empty p { line-height: 1.55; margin: 0; max-width: 560px; }
.canvas-bo-empty--denied { background: #fff; border: 1px solid var(--canvas-line); border-radius: 18px; min-height: 430px; }

.canvas-bo-composer-head { align-items: end; }
.canvas-bo-save-state { color: var(--canvas-muted); font-size: .72rem; }
.canvas-bo-save-state.is-dirty { color: var(--canvas-amber); font-weight: 760; }
.canvas-bo-locales { background: rgba(255,255,255,.82); border: 1px solid var(--canvas-line); border-radius: 13px; display: flex; gap: 5px; max-width: 100%; overflow-x: auto; padding: 6px; }
.canvas-bo-locale { align-items: center; border: 1px solid transparent; border-radius: 9px; color: var(--canvas-muted); display: inline-flex; gap: 8px; min-height: 40px; padding: 7px 10px; text-decoration: none; white-space: nowrap; }
.canvas-bo-locale.is-active { background: var(--canvas-ink-soft); color: #fff; }
.canvas-bo-locale.is-active .canvas-bo-state { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.12); color: #d9e9e8; }
.canvas-bo-composer { align-items: start; display: grid; gap: 13px; grid-template-columns: minmax(236px, 278px) minmax(430px, 1fr) minmax(300px, 350px); min-width: 0; }
.canvas-bo-composer__rail { display: grid; gap: 10px; min-width: 0; }
.canvas-bo-drawer { background: #fff; border: 1px solid var(--canvas-line); border-radius: 14px; box-shadow: 0 10px 26px rgba(10,42,52,.05); overflow: clip; }
.canvas-bo-drawer > summary { align-items: center; color: var(--canvas-ink); cursor: pointer; display: flex; font-weight: 760; gap: 10px; justify-content: space-between; list-style: none; min-height: 50px; padding: 10px 12px; }
.canvas-bo-drawer > summary::-webkit-details-marker { display: none; }
.canvas-bo-drawer > summary > span:first-child { align-items: center; display: inline-flex; gap: 7px; }
.canvas-bo-drawer__body { border-block-start: 1px solid var(--canvas-line); max-height: min(49vh, 520px); overflow-y: auto; padding: 9px; scrollbar-width: thin; }
.canvas-bo-mini-tree { display: grid; gap: 3px; }
.canvas-bo-mini-tree__row { align-items: center; border-radius: 8px; color: inherit; display: grid; gap: 8px; grid-template-columns: 20px minmax(0, 1fr); min-height: 43px; padding-block: 6px; padding-inline: calc(7px + (var(--canvas-depth) * 11px)) 7px; text-decoration: none; }
.canvas-bo-mini-tree__row:hover, .canvas-bo-mini-tree__row.is-selected { background: var(--canvas-teal-soft); color: var(--canvas-teal); }
.canvas-bo-mini-tree__row > span { display: grid; min-width: 0; }
.canvas-bo-mini-tree__row strong, .canvas-bo-mini-tree__row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-mini-tree__row strong { font-size: .78rem; }
.canvas-bo-mini-tree__row small { color: var(--canvas-muted); font-size: .64rem; }
.canvas-bo-search { align-items: center; background: #f6f9f8; border: 1px solid var(--canvas-line); border-radius: 9px; display: grid; gap: 7px; grid-template-columns: 20px minmax(0,1fr); margin-block-end: 8px; padding-inline: 8px; }
.canvas-bo-search input { background: transparent; border: 0; color: var(--canvas-ink); min-height: 38px; min-width: 0; outline: 0; width: 100%; }
.canvas-bo-palette { display: grid; gap: 7px; }
.canvas-bo-palette-card { background: #fbfdfc; border: 1px solid var(--canvas-line); border-radius: 10px; padding: 10px; }
.canvas-bo-palette-card > div { align-items: center; display: grid; gap: 8px; grid-template-columns: 34px minmax(0,1fr); }
.canvas-bo-palette-card__icon { background: var(--canvas-teal-soft); border-radius: 8px; color: var(--canvas-teal); display: grid; height: 34px; place-items: center; width: 34px; }
.canvas-bo-palette-card strong, .canvas-bo-palette-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-palette-card strong { color: var(--canvas-ink); font-size: .78rem; }
.canvas-bo-palette-card small { color: var(--canvas-muted); font-size: .63rem; }
.canvas-bo-palette-card p { color: var(--canvas-muted); display: -webkit-box; font-size: .7rem; line-height: 1.45; margin: 7px 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.canvas-bo-palette-card form { display: grid; gap: 9px; }
.canvas-bo-palette-card form > .canvas-bo-button { justify-self: end; }
.canvas-bo-stage, .canvas-bo-inspector { background: #fff; border: 1px solid var(--canvas-line); border-radius: 15px; box-shadow: 0 12px 32px rgba(8,39,50,.06); min-width: 0; }
.canvas-bo-stage__head, .canvas-bo-inspector__head { align-items: flex-start; border-block-end: 1px solid var(--canvas-line); display: flex; gap: 14px; justify-content: space-between; padding: 15px; }
.canvas-bo-stage__head h3, .canvas-bo-inspector__head h3 { color: var(--canvas-ink); font-size: 1rem; margin: 2px 0 0; }
.canvas-bo-inspector__head p { color: var(--canvas-muted); font-size: .64rem; margin: 3px 0 0; overflow-wrap: anywhere; }
.canvas-bo-section-list { background: linear-gradient(180deg, #f4f7f6, #edf2f1); display: grid; gap: 9px; min-height: 570px; padding: 12px; }
.canvas-bo-section-card { align-items: stretch; background: #fff; border: 1px solid var(--canvas-line); border-radius: 12px; box-shadow: 0 8px 20px rgba(9,39,48,.045); display: grid; gap: 9px; grid-template-columns: 36px 72px minmax(0,1fr) auto; min-height: 94px; overflow: hidden; padding: 9px; }
.canvas-bo-section-card.is-selected { border-color: rgba(20,125,120,.56); box-shadow: 0 0 0 2px rgba(20,125,120,.1), 0 10px 22px rgba(9,39,48,.07); }
.canvas-bo-section-card__handle { align-items: center; color: var(--canvas-faint); display: flex; flex-direction: column; font-size: .65rem; gap: 4px; justify-content: center; }
.canvas-bo-section-card__thumb { aspect-ratio: 1; background: var(--canvas-mist); border-radius: 9px; height: 72px; object-fit: cover; width: 72px; }
.canvas-bo-section-card__thumb--empty { color: var(--canvas-teal); display: grid; font-size: 1.25rem; place-items: center; }
.canvas-bo-section-card__copy { align-self: center; display: grid; min-width: 0; padding-block: 3px; text-decoration: none; }
.canvas-bo-section-card__copy > strong { color: var(--canvas-ink); font-size: .89rem; margin-block: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-section-card__copy > small { color: var(--canvas-muted); display: -webkit-box; font-size: .7rem; line-height: 1.35; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.canvas-bo-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-block-start: 7px; }
.canvas-bo-section-card__actions { align-content: center; display: grid; gap: 4px; grid-template-columns: repeat(2, 36px); }
.canvas-bo-section-card__actions form { margin: 0; }
.canvas-bo-inspector { inset-block-start: 73px; max-height: calc(100vh - 94px); overflow-y: auto; position: sticky; scrollbar-width: thin; }
.canvas-bo-inspector-form { display: grid; gap: 14px; padding: 14px; }
.canvas-bo-inspector-fields { display: grid; gap: 12px; }
.canvas-bo-field { display: grid; gap: 6px; min-width: 0; }
.canvas-bo-field > span, .canvas-bo-field__label { color: #405a64; font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .045em; }
.canvas-bo-field__label { align-items: center; display: flex; gap: 6px; justify-content: space-between; }
.canvas-bo-field__label em { color: var(--canvas-red); font-style: normal; }
.canvas-bo-field__label small { background: var(--canvas-teal-soft); border-radius: 999px; color: var(--canvas-teal); font-size: .58rem; padding: 2px 6px; }
.canvas-bo-input, .canvas-bo-field :is(input:not([type="submit"]), select, textarea) { background: #fff; border: 1px solid var(--canvas-line-strong); border-radius: 9px; color: var(--canvas-ink); min-height: 40px; min-width: 0; padding: 8px 10px; width: 100%; }
.canvas-bo-field textarea, textarea.canvas-bo-input { min-height: 96px; resize: vertical; }
.canvas-bo-field > small { color: var(--canvas-muted); font-size: .64rem; line-height: 1.45; }
.canvas-bo-field__error { color: var(--canvas-red); font-size: .66rem; }
.canvas-bo-inspector-form__actions { display: flex; justify-content: stretch; }
.canvas-bo-inspector-form__actions .canvas-bo-button { width: 100%; }
.canvas-bo-workflow { border-block-start: 1px solid var(--canvas-line); display: grid; gap: 11px; padding: 14px; }
.canvas-bo-workflow h3 { color: var(--canvas-ink); font-size: .92rem; margin: 2px 0 0; }
.canvas-bo-workflow dl { display: grid; gap: 0; margin: 0; }
.canvas-bo-workflow dl > div { border-block-end: 1px solid var(--canvas-line); display: grid; gap: 8px; grid-template-columns: 1fr auto; padding-block: 7px; }
.canvas-bo-workflow dt { color: var(--canvas-muted); font-size: .67rem; }
.canvas-bo-workflow dd { color: var(--canvas-ink); font-size: .7rem; font-weight: 720; }
.canvas-bo-workflow form { display: grid; gap: 8px; }
.canvas-bo-readonly { align-items: start; color: var(--canvas-muted); display: grid; gap: 9px; grid-template-columns: 30px minmax(0,1fr); padding: 14px; }
.canvas-bo-readonly i { background: var(--canvas-mist); border-radius: 8px; color: var(--canvas-teal); display: grid; height: 30px; place-items: center; }
.canvas-bo-readonly p { font-size: .72rem; line-height: 1.5; margin: 0; }
.canvas-bo-muted { color: var(--canvas-muted); font-size: .75rem; }

.canvas-bo-preview-dialog, .canvas-bo-media-dialog { background: rgba(3,18,26,.74); border: 0; height: 100%; margin: 0; max-height: none; max-width: none; padding: clamp(12px, 2vw, 24px); width: 100%; }
.canvas-bo-preview-dialog::backdrop, .canvas-bo-media-dialog::backdrop { background: rgba(3,18,26,.74); backdrop-filter: blur(7px); }
.canvas-bo-preview-dialog__surface, .canvas-bo-media-dialog > div { background: #edf2f1; border: 1px solid rgba(185,216,213,.35); border-radius: 20px; box-shadow: 0 35px 100px rgba(0,0,0,.38); display: grid; height: 100%; margin: auto; max-width: 1740px; overflow: hidden; }
.canvas-bo-preview-dialog__surface > header, .canvas-bo-media-dialog header { align-items: center; background: var(--canvas-ink); color: #fff; display: flex; gap: 18px; justify-content: space-between; padding: 12px 16px; }
.canvas-bo-preview-dialog h3, .canvas-bo-media-dialog h3 { color: #fff; font-size: 1rem; margin: 2px 0 0; }
.canvas-bo-preview-modes { display: flex; gap: 5px; }
.canvas-bo-preview-modes button { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.13); color: #dcebea; min-height: 36px; }
.canvas-bo-preview-modes button.is-active { background: var(--canvas-teal); border-color: var(--canvas-teal); color: #fff; }
.canvas-bo-preview-frame { align-items: start; display: flex; justify-content: center; overflow: auto; padding: 18px; }
.canvas-bo-preview-frame > * { background: #fff; box-shadow: 0 14px 50px rgba(5,27,36,.15); min-height: 100%; transition: width .2s ease; width: 100%; }
.canvas-bo-preview-frame[data-preview-mode="mobile"] > * { border: 8px solid #162c36; border-radius: 26px; max-width: 390px; overflow: hidden; width: 390px; }
.canvas-bo-preview-loading { color: var(--canvas-muted); display: grid; min-height: 380px; place-items: center; }

.canvas-bo-media-layout { align-items: start; display: grid; gap: 15px; grid-template-columns: minmax(0,1fr) minmax(300px,360px); }
.canvas-bo-media-grid { display: grid; gap: 11px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.canvas-bo-media-card { background: #fff; border: 1px solid var(--canvas-line); border-radius: 13px; overflow: hidden; }
.canvas-bo-media-card.is-selected { border-color: var(--canvas-teal); box-shadow: 0 0 0 2px rgba(20,125,120,.12); }
.canvas-bo-media-card__preview { aspect-ratio: 16 / 10; background: var(--canvas-mist); border: 0; display: grid; overflow: hidden; padding: 0; place-items: center; width: 100%; }
.canvas-bo-media-card__preview img { height: 100%; object-fit: cover; width: 100%; }
.canvas-bo-media-card__preview--pending { color: var(--canvas-muted); font-size: .72rem; gap: 6px; }
.canvas-bo-media-card__copy { display: grid; gap: 5px; padding: 11px; }
.canvas-bo-media-card__copy strong { color: var(--canvas-ink); font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-media-card__copy small, .canvas-bo-media-card__copy code { color: var(--canvas-muted); font-size: .64rem; overflow-wrap: anywhere; }
.canvas-bo-form { display: grid; gap: 12px; }
.canvas-bo-form--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.canvas-bo-form--grid .canvas-bo-field--wide, .canvas-bo-form--grid .canvas-bo-form__actions { grid-column: 1 / -1; }
.canvas-bo-form__actions { align-items: center; display: flex; justify-content: end; }
.canvas-bo-locale-editor .canvas-bo-drawer__body { max-height: none; padding: 16px; }
.canvas-bo-snapshot { border-radius: 0; border-inline: 0; box-shadow: none; }
.canvas-bo-snapshot .canvas-bo-drawer__body { max-height: none; padding: 14px; }
.canvas-bo-media-dialog > div { height: auto; max-height: calc(100vh - 48px); max-width: 1100px; }
.canvas-bo-media-dialog figure { display: grid; margin: 0; min-height: 0; overflow: auto; }
.canvas-bo-media-dialog figure img { margin: auto; max-height: calc(100vh - 150px); object-fit: contain; }
.canvas-bo-media-dialog figcaption { background: #fff; color: var(--canvas-muted); padding: 12px 16px; }
.canvas-bo-reusable-list { display: grid; }
.canvas-bo-reusable-card { align-items: center; border-block-end: 1px solid var(--canvas-line); display: grid; gap: 12px; grid-template-columns: 42px minmax(0,1fr) auto auto; min-height: 78px; padding: 11px 14px; }
.canvas-bo-reusable-card__copy { display: grid; min-width: 0; }
.canvas-bo-reusable-card__copy > strong { color: var(--canvas-ink); }
.canvas-bo-reusable-card__copy code { color: var(--canvas-muted); font-size: .64rem; overflow-wrap: anywhere; }
.canvas-bo-reusable-card__impact { display: grid; text-align: center; }
.canvas-bo-reusable-card__impact strong { color: var(--canvas-ink); font-size: 1.1rem; }
.canvas-bo-reusable-card__impact small { color: var(--canvas-muted); font-size: .62rem; }
.canvas-bo-reusable-card__summary { color: var(--canvas-muted); font-size: .72rem; grid-column: 2 / -1; margin: -4px 0 6px; }
.canvas-bo-impact-form { display: flex; justify-content: end; margin-block-start: 15px; }
.canvas-bo-audit-list { display: grid; }
.canvas-bo-audit-list article { align-items: start; border-block-end: 1px solid var(--canvas-line); display: grid; gap: 12px; grid-template-columns: 130px 42px minmax(0,1fr) auto; padding: 13px 15px; }
.canvas-bo-audit-list time { color: var(--canvas-muted); font-size: .68rem; padding-block-start: 12px; }
.canvas-bo-audit-list article > span:nth-child(3) { display: grid; }
.canvas-bo-audit-list p { color: var(--canvas-muted); font-size: .73rem; line-height: 1.45; margin: 5px 0 0; }
.visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

@container (max-width: 1180px) {
    .canvas-bo-composer { grid-template-columns: minmax(220px, 260px) minmax(420px, 1fr); }
    .canvas-bo-inspector { grid-column: 1 / -1; max-height: none; position: static; }
    .canvas-bo-inspector-fields { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@container (max-width: 860px) {
    .canvas-bo__hero, .canvas-bo-composer-head { align-items: start; grid-template-columns: 1fr; }
    .canvas-bo__hero-actions, .canvas-bo-composer-head__actions { justify-content: start; }
    .canvas-bo-metrics, .canvas-bo-dashboard-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-bo-composer { grid-template-columns: 1fr; }
    .canvas-bo-composer__rail { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-bo-inspector { grid-column: auto; }
    .canvas-bo-media-layout { grid-template-columns: 1fr; }
    .canvas-bo-panel--sticky { position: static; }
}
@container (max-width: 620px) {
    .canvas-bo__workspace { padding: 11px; }
    .canvas-bo-view__head { display: grid; }
    .canvas-bo-metrics, .canvas-bo-dashboard-grid, .canvas-bo-composer__rail, .canvas-bo-inspector-fields, .canvas-bo-media-grid, .canvas-bo-form--grid { grid-template-columns: 1fr; }
    .canvas-bo-page-row { grid-template-columns: 34px minmax(0,1fr) auto; }
    .canvas-bo-page-row :is(.canvas-bo-coverage, .canvas-bo-row-actions) { display: none; }
    .canvas-bo-section-card { grid-template-columns: 32px 54px minmax(0,1fr); }
    .canvas-bo-section-card__thumb { height: 54px; width: 54px; }
    .canvas-bo-section-card__actions { display: flex; grid-column: 2 / -1; justify-content: end; }
    .canvas-bo-reusable-card { grid-template-columns: 40px minmax(0,1fr) auto; }
    .canvas-bo-reusable-card :is(.canvas-bo-reusable-card__impact, .canvas-bo-button) { grid-column: 2 / -1; justify-self: start; }
    .canvas-bo-audit-list article { grid-template-columns: 42px minmax(0,1fr); }
    .canvas-bo-audit-list :is(time, .canvas-bo-state) { grid-column: 2; }
    .canvas-bo-preview-modes button span { display: none; }
}

/* Composer actions must win over the shell's generic Bootstrap button skin. */
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions {
    align-items: center;
}
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-section-action {
    display: inline-flex;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-button {
    width: auto;
    min-width: 0;
    min-height: 28px;
    padding: 5px 8px;
    border: 1px solid rgba(111, 190, 196, .28);
    border-radius: 8px;
    color: #d9eff0;
    background: rgba(8, 35, 47, .88);
    box-shadow: none;
    font-size: .63rem;
    font-weight: 760;
    line-height: 1.05;
}
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-button:hover,
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-button:focus-visible {
    border-color: rgba(91, 219, 204, .58);
    color: #fff;
    background: rgba(22, 85, 88, .9);
}
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-section-card__edit {
    margin-inline-end: auto;
    border-color: rgba(91, 219, 204, .5);
    color: #f3fffd;
    background: linear-gradient(135deg, rgba(30, 145, 136, .94), rgba(19, 103, 105, .96));
}
.canvas-bo .canvas-bo-section-card .canvas-bo-section-card__actions .canvas-bo-button--danger {
    border-color: rgba(244, 171, 171, .34);
    color: #ffd6d6;
    background: rgba(105, 37, 47, .54);
}
/* Composer uses the page scrollbar; cards expose readable actions and drag order. */
.canvas-bo-composer .canvas-bo-drawer__body {
    max-height: none;
    overflow: visible;
}
.canvas-bo-composer > .canvas-bo-inspector {
    position: static;
    inset-block-start: auto;
    max-height: none;
    overflow: visible;
}
.canvas-bo-section-card {
    grid-template-columns: 36px 64px minmax(0, 1fr);
}
.canvas-bo-section-card__thumb {
    width: 64px;
    height: 64px;
}
.canvas-bo-section-card__handle[draggable="true"] {
    cursor: grab;
}
.canvas-bo-section-card__handle[draggable="true"]:active,
.canvas-bo-section-card.is-dragging .canvas-bo-section-card__handle {
    cursor: grabbing;
}
.canvas-bo-section-card.is-dragging {
    opacity: .48;
}
.canvas-bo-section-card.is-drop-before {
    box-shadow: inset 0 3px var(--canvas-teal-bright), var(--canvas-shadow-soft);
}
.canvas-bo-section-card.is-drop-after {
    box-shadow: inset 0 -3px var(--canvas-teal-bright), var(--canvas-shadow-soft);
}
.canvas-bo-section-card__actions {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    padding-block-start: 2px;
}
.canvas-bo-section-card__actions form {
    margin: 0;
}
.canvas-bo-section-card__actions input[type="submit"],
.canvas-bo-section-card__actions button {
    width: auto;
    height: auto;
    min-height: 32px;
    padding: 6px 10px;
    font-size: .66rem;
    font-weight: 760;
    line-height: 1.15;
    background-image: none !important;
}
.canvas-bo-section-action--archive input[type="submit"] {
    border-color: rgba(244, 171, 171, .28);
    color: var(--canvas-red);
    background: var(--canvas-red-soft);
}
.canvas-bo-section-pager {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border-block-start: 1px solid var(--canvas-line);
    color: var(--canvas-muted);
    font-size: .7rem;
    font-weight: 760;
}
.canvas-bo-section-pager > :first-child {
    justify-self: start;
}
.canvas-bo-section-pager > :last-child {
    justify-self: end;
}
@container (max-width: 620px) {
    .canvas-bo-section-card {
        grid-template-columns: 32px 52px minmax(0, 1fr);
    }
    .canvas-bo-section-card__thumb {
        width: 52px;
        height: 52px;
    }
    .canvas-bo-section-card__actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }
    .canvas-bo-section-card__actions form,
    .canvas-bo-section-card__actions input[type="submit"] {
        flex: 1 1 auto;
    }
    .canvas-bo-section-pager {
        grid-template-columns: 1fr 1fr;
    }
    .canvas-bo-section-pager > span {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
    }
}

@media (max-width: 900px) {
    .canvas-provider-card, .canvas-provider-card.is-featured { grid-column: span 6; }
    .canvas-page__intro h1 { max-width: none; }
    .canvas-hero { min-height: auto; }
    .canvas-hero__grid, .canvas-narrative__grid, .canvas-split__grid, .canvas-faq__grid, .canvas-contacts__grid, .canvas-cta__panel { grid-template-columns: 1fr; }
    .canvas-narrative header { position: static; }
    .canvas-split[data-variant="media-start"] :is(.canvas-split__media, .canvas-split__copy) { grid-column: auto; grid-row: auto; }
    .canvas-card-grid, .canvas-catalog__grid, .canvas-wiki-spaces__grid, .canvas-tempus-services__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-scene-card { grid-column: span 6; }
    .canvas-scene-card:first-child { grid-column: span 12; }
    .canvas-metrics__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-quotes { grid-template-columns: 1fr; }
    .canvas-cta .canvas-actions { justify-content: start; }
}
@media (max-width: 600px) {
    .canvas-provider-card, .canvas-provider-card.is-featured { grid-column: 1 / -1; min-height: 220px; }
    .canvas-provider-section--crm .canvas-provider-cta { align-items: stretch; grid-template-columns: 1fr; }
    .canvas-provider-section--crm .canvas-button { text-align: center; white-space: normal; width: 100%; }
    .canvas-page__intro { padding-block-start: 40px; }
    .canvas-page__intro h1 { font-size: clamp(2.35rem, 14vw, 4rem); }
    .canvas-section { padding-block: 58px; }
    .canvas-section h2 { font-size: clamp(2rem, 11vw, 3.25rem); }
    .canvas-hero h2 { font-size: clamp(2.65rem, 14vw, 4.2rem); }
    .canvas-hero__media { transform: none; }
    .canvas-card-grid, .canvas-catalog__grid, .canvas-wiki-spaces__grid, .canvas-tempus-services__grid, .canvas-tempus-specialists__grid, .canvas-metrics__grid, .canvas-logos__grid { grid-template-columns: 1fr; }
    .canvas-scene-card, .canvas-scene-card:first-child { grid-column: span 12; }
    .canvas-prismview-scenes__heading { align-items: start; flex-direction: column; gap: 0; }
    .canvas-prismview-scenes:not(.is-enhanced) .canvas-scene-slider__track { flex-direction: column; overflow: visible; padding: 0; }
    .canvas-prismview-scenes:not(.is-enhanced) .canvas-scene-slider__track .canvas-scene-card { flex-basis: auto; min-height: 390px; width: 100%; }
    .canvas-scene-slider__track .canvas-scene-card { flex-basis: min(86vw, 520px); min-height: 430px; }
    .canvas-metrics__grid > div { border-block-start: 1px solid rgba(198,224,226,.17); border-inline-start: 0; min-height: 130px; }
    .canvas-card { min-height: 220px; }
    .canvas-contacts__list > div { gap: 8px; grid-template-columns: 1fr; }
    .canvas-actions { align-items: stretch; flex-direction: column; }
    .canvas-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .canvas-page *, .canvas-page *::before, .canvas-page *::after,
    .canvas-bo *, .canvas-bo *::before, .canvas-bo *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.canvas-preview-route { background: var(--canvas-ink, #07161b); color: var(--canvas-paper, #f5fbfb); margin: 0; min-height: 100vh; }
.canvas-preview-route__notice { align-items: center; backdrop-filter: blur(18px); background: rgba(7,22,27,.92); border-block-end: 1px solid rgba(198,224,226,.18); display: flex; gap: 12px; inset-block-start: 0; justify-content: center; padding: 10px 20px; position: sticky; z-index: 20; }
.canvas-preview-route__notice strong { color: var(--canvas-accent, #8ce5d4); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.canvas-preview-route__notice span { color: rgba(245,251,251,.7); font-size: .82rem; }
.canvas-bo-history-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.canvas-bo-history-list > li { align-items: start; background: rgba(255,255,255,.035); border: 1px solid var(--canvas-bo-border); border-radius: 14px; display: grid; gap: 12px; padding: 13px; }
.canvas-bo-history-list > li > div { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.canvas-bo-history-list small { color: var(--canvas-bo-muted); flex-basis: 100%; }
.canvas-bo-history-list form { display: grid; gap: 9px; }
.canvas-bo-schedule { border: 1px solid var(--canvas-line); border-radius: 12px; overflow: hidden; }
.canvas-bo-schedule > summary { align-items: center; color: var(--canvas-ink); cursor: pointer; display: flex; font-size: .72rem; font-weight: 800; gap: 8px; list-style: none; padding: 10px 11px; }
.canvas-bo-schedule > summary::-webkit-details-marker { display: none; }
.canvas-bo-schedule__body { border-block-start: 1px solid var(--canvas-line); display: grid; gap: 10px; padding: 11px; }
.canvas-bo-schedule__body > p { margin: 0; }
.canvas-bo-schedule__when { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) minmax(104px, .72fr); }
.canvas-bo-scheduled-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.canvas-bo-scheduled-card { background: var(--canvas-white); border: 1px solid var(--canvas-line); border-inline-start: 3px solid #83a9c3; border-radius: 12px; display: grid; gap: 11px; min-width: 0; padding: 12px; }
.canvas-bo-scheduled-card--leased { border-inline-start-color: var(--canvas-amber); }
.canvas-bo-scheduled-card--completed { border-inline-start-color: var(--canvas-green); }
.canvas-bo-scheduled-card--failed { border-inline-start-color: var(--canvas-red); }
.canvas-bo-scheduled-card--cancelled { border-inline-start-color: var(--canvas-faint); opacity: .82; }
.canvas-bo-scheduled-card > header { align-items: start; display: flex; gap: 9px; justify-content: space-between; }
.canvas-bo-scheduled-card > header > div { display: grid; gap: 3px; min-width: 0; }
.canvas-bo-scheduled-card code { color: var(--canvas-muted); font-size: .61rem; overflow-wrap: anywhere; }
.canvas-bo-scheduled-card dl { display: grid; gap: 7px; margin: 0; }
.canvas-bo-scheduled-card dl > div { align-items: start; display: grid; gap: 5px; grid-template-columns: minmax(84px, .7fr) minmax(0, 1.3fr); }
.canvas-bo-scheduled-card dt { color: var(--canvas-muted); font-size: .62rem; }
.canvas-bo-scheduled-card dd { color: var(--canvas-ink); display: grid; font-size: .68rem; gap: 2px; min-width: 0; text-align: end; }
.canvas-bo-scheduled-card dd small { color: var(--canvas-muted); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.canvas-bo-job-note { align-items: start; background: var(--canvas-amber-soft); border-radius: 9px; color: var(--canvas-amber); display: flex; font-size: .66rem; gap: 7px; margin: 0; padding: 8px 9px; }
.canvas-bo-scheduled-card__cancel { border-block-start: 1px solid var(--canvas-line); display: grid; gap: 8px; padding-block-start: 10px; }
.canvas-bo-scheduled-card__cancel textarea { min-height: 64px; }
.canvas-bo-schedule-pager { display: flex; gap: 8px; justify-content: space-between; padding-block-start: 4px; }
.canvas-bo-empty--compact { min-height: 120px; padding: 18px 12px; }
.canvas-bo-linked { border-inline-start: 3px solid var(--canvas-teal); }
.canvas-bo-propagations { margin-block-start: 16px; }
.canvas-bo-propagation-list { display: grid; gap: 11px; list-style: none; margin: 0; padding: 14px; }
.canvas-bo-propagation-card { background: var(--canvas-white); border: 1px solid var(--canvas-line); border-inline-start: 3px solid #83a9c3; border-radius: 13px; display: grid; gap: 11px; min-width: 0; padding: 13px; }
.canvas-bo-propagation-card--leased { border-inline-start-color: var(--canvas-amber); }
.canvas-bo-propagation-card--completed { border-inline-start-color: var(--canvas-green); }
.canvas-bo-propagation-card--failed { border-inline-start-color: var(--canvas-red); }
.canvas-bo-propagation-card--cancelled { border-inline-start-color: var(--canvas-faint); opacity: .84; }
.canvas-bo-propagation-card > header { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.canvas-bo-propagation-card > header > div { display: grid; gap: 3px; min-width: 0; }
.canvas-bo-propagation-card code { color: var(--canvas-muted); font-size: .61rem; overflow-wrap: anywhere; }
.canvas-bo-propagation-summary { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 0; }
.canvas-bo-propagation-summary > div { background: var(--canvas-mist); border-radius: 9px; display: grid; gap: 3px; padding: 8px 9px; }
.canvas-bo-propagation-summary dt { color: var(--canvas-muted); font-size: .61rem; }
.canvas-bo-propagation-summary dd { color: var(--canvas-ink); font-size: .7rem; font-weight: 800; margin: 0; min-width: 0; overflow-wrap: anywhere; }
.canvas-bo-propagation-summary dd small { color: var(--canvas-muted); font-size: .57rem; }
.canvas-bo-target-counts { display: grid; gap: 7px; grid-template-columns: repeat(7, minmax(58px,1fr)); }
.canvas-bo-target-counts > span { align-items: center; background: color-mix(in srgb, var(--canvas-mist) 72%, transparent); border: 1px solid var(--canvas-line); border-radius: 9px; display: grid; justify-items: center; min-width: 0; padding: 7px 4px; }
.canvas-bo-target-counts strong { color: var(--canvas-ink); font-size: .8rem; }
.canvas-bo-target-counts small { color: var(--canvas-muted); font-size: .56rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.canvas-bo-job-error { align-items: start; background: color-mix(in srgb, var(--canvas-red) 9%, var(--canvas-white)); border-radius: 9px; color: var(--canvas-red); display: flex; font-size: .66rem; gap: 8px; margin: 0; padding: 9px; }
.canvas-bo-job-error > span { display: grid; gap: 3px; min-width: 0; }
.canvas-bo-job-error small { color: var(--canvas-muted); overflow-wrap: anywhere; }
.canvas-bo-propagation-card__cancel { border-block-start: 1px solid var(--canvas-line); display: grid; gap: 8px; padding-block-start: 10px; }
.canvas-bo-propagation-card__cancel textarea { min-height: 64px; }
.canvas-bo-propagation-pager { display: flex; gap: 8px; justify-content: space-between; padding: 0 14px 14px; }
@container (max-width: 620px) {
    .canvas-bo-schedule__when { grid-template-columns: 1fr; }
    .canvas-bo-scheduled-card dl > div { grid-template-columns: 1fr; }
    .canvas-bo-scheduled-card dd { text-align: start; }
    .canvas-bo-schedule-pager { align-items: stretch; flex-direction: column; }
    .canvas-bo-propagation-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-bo-target-counts { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .canvas-bo-propagation-pager { align-items: stretch; flex-direction: column; }
}

/* Match the established Tempus dark backoffice hierarchy. */
.canvas-bo {
    --canvas-ink: #f3f8f9;
    --canvas-ink-soft: #0b2634;
    --canvas-text: #dbe8eb;
    --canvas-muted: #a6b9c4;
    --canvas-faint: #8299a4;
    --canvas-line: rgba(145, 190, 200, .17);
    --canvas-line-strong: rgba(67, 194, 178, .42);
    --canvas-paper: #0b2634;
    --canvas-mist: rgba(13, 43, 56, .58);
    --canvas-white: #0b2634;
    --canvas-teal: #8ee0d8;
    --canvas-teal-bright: #43c2b2;
    --canvas-teal-soft: rgba(20, 122, 120, .2);
    --canvas-gold: #e3c381;
    --canvas-gold-soft: rgba(180, 127, 42, .2);
    --canvas-green: #9aefb6;
    --canvas-green-soft: rgba(72, 160, 105, .18);
    --canvas-amber: #e3c381;
    --canvas-amber-soft: rgba(180, 127, 42, .2);
    --canvas-red: #f4abab;
    --canvas-red-soft: rgba(184, 79, 96, .2);
    --canvas-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 22px 48px rgba(3, 15, 24, .2);
    --canvas-shadow-soft: inset 0 1px rgba(255, 255, 255, .025), 0 16px 34px rgba(2, 12, 20, .22);
    --canvas-bo-border: var(--canvas-line);
    --canvas-bo-muted: var(--canvas-muted);
    --sapphire-admin-surface: rgba(5, 24, 35, .58);
    --sapphire-admin-surface-strong: rgba(7, 27, 39, .92);
    --sapphire-admin-surface-soft: rgba(13, 43, 56, .58);
    --sapphire-admin-border: var(--canvas-line);
    --sapphire-admin-text: var(--canvas-ink);
    --sapphire-admin-text-strong: var(--canvas-ink);
    --sapphire-admin-muted: var(--canvas-muted);
    --sapphire-admin-shadow-md: none;
    padding: 22px;
    border: 1px solid var(--canvas-line);
    border-radius: 28px;
    color: var(--canvas-text);
    color-scheme: dark;
    background:
        radial-gradient(circle at 92% -8%, rgba(45, 178, 163, .13), transparent 30%),
        radial-gradient(circle at 2% 108%, rgba(211, 167, 84, .08), transparent 28%),
        linear-gradient(145deg, #06131f, #071522 42%, #0b202c);
    box-shadow: var(--canvas-shadow);
}
.canvas-bo__hero {
    min-height: 0;
    border-color: var(--canvas-line);
    background:
        radial-gradient(circle at 88% 0%, rgba(45, 178, 163, .15), transparent 30%),
        radial-gradient(circle at 8% 120%, rgba(211, 167, 84, .1), transparent 32%),
        linear-gradient(145deg, #071522, #0a202d 60%, #10313e);
    box-shadow: var(--canvas-shadow-soft);
}
.canvas-bo__nav {
    position: relative;
    inset-block-start: auto;
    padding: 8px;
    border-color: var(--canvas-line);
    border-radius: 18px;
    background: rgba(5, 24, 35, .58);
    box-shadow: inset 0 1px rgba(255, 255, 255, .02);
}
.canvas-bo__nav a {
    flex: 0 0 auto;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #aec1cb;
}
.canvas-bo__nav a:hover {
    border-color: rgba(74, 199, 181, .28);
    color: #e9f7f5;
    background: rgba(74, 199, 181, .08);
}
.canvas-bo__nav a.is-active {
    border-color: rgba(89, 214, 195, .42);
    color: #fff;
    background: linear-gradient(135deg, #1c9d90, #147a78);
    box-shadow: 0 9px 20px rgba(8, 76, 73, .26);
}
.canvas-bo__workspace {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.canvas-bo-kicker,
.canvas-bo-field > span,
.canvas-bo-field__label {
    color: var(--canvas-gold);
}
.canvas-bo-view__head h3,
.canvas-bo-panel__head h3,
.canvas-bo-empty h3,
.canvas-bo-record strong,
.canvas-bo-page-row__copy strong,
.canvas-bo-drawer > summary,
.canvas-bo-palette-card strong,
.canvas-bo-stage__head h3,
.canvas-bo-inspector__head h3,
.canvas-bo-section-card__copy > strong,
.canvas-bo-workflow h3,
.canvas-bo-workflow dd,
.canvas-bo-media-card__copy strong,
.canvas-bo-reusable-card__copy > strong,
.canvas-bo-reusable-card__impact strong {
    color: var(--canvas-ink);
}
.canvas-bo-view__head p,
.canvas-bo-panel__head p,
.canvas-bo-record small,
.canvas-bo-page-row__copy small,
.canvas-bo-inspector__head p,
.canvas-bo-section-card__copy > small,
.canvas-bo-media-card__copy :is(small, code),
.canvas-bo-reusable-card__copy code,
.canvas-bo-reusable-card__impact small,
.canvas-bo-reusable-card__summary {
    color: var(--canvas-muted);
}
.canvas-bo-button,
.canvas-bo-icon-button,
.canvas-bo-section-card__actions input[type="submit"] {
    border-color: var(--canvas-line);
    color: #c7e7e5;
    background-color: rgba(13, 43, 56, .88);
    box-shadow: none;
}
.canvas-bo-button:hover,
.canvas-bo-icon-button:hover,
.canvas-bo-section-card__actions input[type="submit"]:hover {
    border-color: rgba(92, 219, 202, .48);
    color: #fff;
    background-color: rgba(20, 76, 82, .74);
}
.canvas-bo-button--primary {
    border-color: rgba(67, 194, 178, .42);
    color: #fff;
    background: linear-gradient(135deg, #299f94, #176f70);
    box-shadow: 0 10px 22px rgba(13, 100, 97, .22);
}
.canvas-bo-button--quiet,
.canvas-bo-button--glass {
    border-color: var(--canvas-line);
    color: #bed5dc !important;
    background: rgba(13, 43, 56, .82);
}
.canvas-bo-panel,
.canvas-bo-metric,
.canvas-bo-drawer,
.canvas-bo-stage,
.canvas-bo-inspector,
.canvas-bo-palette-card,
.canvas-bo-section-card,
.canvas-bo-media-card,
.canvas-bo-empty--denied,
.canvas-bo-scheduled-card,
.canvas-bo-propagation-card {
    border-color: var(--canvas-line);
    background: linear-gradient(145deg, rgba(16, 49, 62, .94), rgba(8, 29, 41, .97));
    box-shadow: var(--canvas-shadow-soft);
}
.canvas-bo-metric {
    border-block-start-color: var(--canvas-teal-bright);
}
.canvas-bo-record,
.canvas-bo-locales,
.canvas-bo-search,
.canvas-bo-section-list,
.canvas-bo-media-card__preview,
.canvas-bo-propagation-summary > div,
.canvas-bo-target-counts > span {
    border-color: var(--canvas-line);
    color: var(--canvas-text);
    background: rgba(5, 24, 35, .58);
}
.canvas-bo-record:hover,
.canvas-bo-page-row:hover,
.canvas-bo-mini-tree__row:hover,
.canvas-bo-palette-card:hover {
    border-color: rgba(92, 219, 202, .42);
    background: rgba(20, 76, 82, .38);
}
.canvas-bo-page-row.is-selected,
.canvas-bo-mini-tree__row.is-selected {
    color: var(--canvas-teal);
    background: rgba(20, 122, 120, .2);
}
.canvas-bo-locale.is-active {
    color: #fff;
    background: linear-gradient(135deg, #1c9d90, #147a78);
}
.canvas-bo-state {
    border-color: rgba(120, 191, 244, .2);
    color: #78bff4;
    background: rgba(48, 115, 180, .2);
}
.canvas-bo-state--draft,
.canvas-bo-state--incomplete,
.canvas-bo-state--warning,
.canvas-bo-state--leased {
    border-color: rgba(227, 195, 129, .24);
    color: var(--canvas-amber);
    background: var(--canvas-amber-soft);
}
.canvas-bo-state--published,
.canvas-bo-state--complete,
.canvas-bo-state--completed,
.canvas-bo-state--healthy,
.canvas-bo-state--active {
    border-color: rgba(154, 239, 182, .22);
    color: var(--canvas-green);
    background: var(--canvas-green-soft);
}
.canvas-bo-state--archived,
.canvas-bo-state--failed,
.canvas-bo-state--error {
    border-color: rgba(244, 171, 171, .24);
    color: var(--canvas-red);
    background: var(--canvas-red-soft);
}
.canvas-bo-input,
.canvas-bo-field :is(input:not([type="submit"]), select, textarea) {
    border-color: var(--canvas-line-strong);
    color: var(--canvas-ink);
    background: rgba(4, 19, 29, .72);
    box-shadow: inset 0 1px rgba(255, 255, 255, .02);
}
.canvas-bo :is(input, textarea)::placeholder {
    color: rgba(166, 185, 196, .68);
}
.canvas-bo :is(input, select, textarea):focus {
    border-color: rgba(67, 194, 178, .72);
    outline: 3px solid rgba(67, 194, 178, .12);
    background: rgba(4, 19, 29, .9);
    box-shadow: none;
}
.canvas-bo select option {
    color: var(--canvas-ink);
    background: #071b27;
}
.canvas-bo-schedule,
.canvas-bo-history-list > li {
    border-color: var(--canvas-line);
    color: var(--canvas-text);
    background: rgba(5, 24, 35, .58);
}
.canvas-bo-job-note {
    color: var(--canvas-amber);
    background: var(--canvas-amber-soft);
}
.canvas-bo-job-error {
    color: var(--canvas-red);
    background: var(--canvas-red-soft);
}
.canvas-bo-media-dialog figcaption {
    color: var(--canvas-muted);
    background: #071b27;
}
@container (max-width: 620px) {
    .canvas-bo {
        padding: 14px;
        border-radius: 22px;
    }
    .canvas-bo__hero {
        border-radius: 18px;
    }
}
