/* Shared public presentation. Operational status colours retain their own rules. */
.public-site {
    --experience-blue: #edf5ff;
    --experience-teal: #eaf7f2;
    --experience-violet: #f2effb;
    --experience-sand: #fff4e4;
    --v26-radius: 16px;
}
.public-site :is(h1,h2,h3,h4) {
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
    text-wrap: pretty;
}
.public-site :is(h1,h2) { text-wrap: balance; }
@media(min-width:701px) {
    .public-site :is(h1,h2,h3,h4) { hyphens: manual !important; }
}
.public-site :is(main,section,article,aside,nav,form) { min-width: 0; }
.public-site main :is(p,li,dd,a,strong) { overflow-wrap: anywhere; }
.public-site :is(a,button,summary,input,select,textarea):focus-visible {
    outline: 3px solid #087278;
    outline-offset: 4px;
}
.public-site :is(.public-nav,.public-footer) :is(a,button,summary):focus-visible {
    outline: 3px solid #c27a27;
    outline-offset: 4px;
}
.public-site :is(.button,.secondary-button) {
    border-radius: 10px;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    min-height: 46px;
}
.public-site :is(.button,.secondary-button) svg { flex-shrink: 0; }
.public-site :is(.notice-panel,.sector-audience,.faq-knowledge-status,.faq-system-explainer,.faq-source-register) {
    border: 1px solid #c9dfe5;
    border-radius: 16px;
    background: var(--experience-blue);
    color: #173d55;
}
.public-site :is(.notice-panel,.sector-audience,.faq-knowledge-status) p { color: #38546a; }
.public-site :is(.notice-panel,.sector-audience,.faq-knowledge-status,.faq-system-explainer,.faq-source-register) :is(h2,h3,strong,.eyebrow) { color: #173d55; }
.public-site :is(.versorgia-feature-grid,.platform-principles,.platform-activation-grid,.migration-bridge-grid,.migration-object-grid,.interface-layer-grid,.technology-layer-grid,.implementation-proof-grid,.company-responsibility-grid,.company-capacity-grid,.company-continuity-grid,.energy-accounting-grid) > article,
.public-site :is(.process-grid,.sector-ease-grid) > div,
.public-site :is(.category-card,.resource-group,.source-system-card,.partner-card,.pricing-formula-grid > article,.faq-directory-link,.sector-directory.sector-directory-grid > a) {
    --card-wash: var(--experience-blue);
    background: linear-gradient(135deg,var(--card-wash),#fff 92%);
    border: 1px solid #cddde7;
    border-top: 3px solid #6a9cbf;
    border-radius: 16px;
    box-shadow: 0 5px 18px rgb(8 43 77 / 3%);
    min-width: 0;
}
.public-site :is(.versorgia-feature-grid,.platform-principles,.platform-activation-grid,.migration-bridge-grid,.migration-object-grid,.interface-layer-grid,.technology-layer-grid,.implementation-proof-grid,.company-responsibility-grid,.company-capacity-grid,.company-continuity-grid,.energy-accounting-grid) > article:nth-child(3n + 2),
.public-site :is(.process-grid,.sector-ease-grid) > div:nth-child(3n + 2),
.public-site :is(.category-card,.resource-group,.source-system-card,.partner-card,.pricing-formula-grid > article,.faq-directory-link,.sector-directory.sector-directory-grid > a):nth-child(3n + 2) {
    --card-wash: var(--experience-teal);
    border-top-color: #55a18f;
}
.public-site :is(.versorgia-feature-grid,.platform-principles,.platform-activation-grid,.migration-bridge-grid,.migration-object-grid,.interface-layer-grid,.technology-layer-grid,.implementation-proof-grid,.company-responsibility-grid,.company-capacity-grid,.company-continuity-grid,.energy-accounting-grid) > article:nth-child(3n),
.public-site :is(.process-grid,.sector-ease-grid) > div:nth-child(3n),
.public-site :is(.category-card,.resource-group,.source-system-card,.faq-directory-link,.sector-directory.sector-directory-grid > a):nth-child(3n) {
    --card-wash: var(--experience-violet);
    border-top-color: #9c8bc5;
}
.public-site .faq-item { border-radius: 12px; border-color: #d1dee7; }
.public-site .faq-item[open] { background: #f1f7fc; border-color: #98b8ce; }
.public-site .faq-directory-section-heading { border-radius: 12px; background: #f4f8fc; padding: 18px; }
.public-site .home-direct-answer { border-radius: 18px; background: var(--experience-teal); }
.public-site .home-visual-story { border-radius: 16px; }
.public-site .table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border-radius: 12px; }
.public-site .table-wrap :is(th,td) { white-space: normal; overflow-wrap: anywhere; }
.public-site .public-footer-evidence { gap: 12px; border: 0; }
.public-site .public-footer-evidence a,
.public-site .public-footer-evidence a:first-child,
.public-site .public-footer-evidence a:nth-child(3) {
    background: #edf5fb;
    border: 1px solid #d2e2ed;
    border-radius: 14px;
}
.public-site .public-footer-evidence a:nth-child(2n) { background: #eaf5f2; }

/* Accessibility corrections for shared public surfaces. */
.public-site .public-desktop-nav > a.active:not(.button) { color: #0b4f78; }
.public-site .faq-knowledge-status :is(span,small) { color: #38546a; }
.public-site .migration-source-links a small { color: #b8c8d6; }
.public-site .public-footer .public-footer-brand p,
.public-site .public-footer .public-footer-bottom p { color: #38546a; }
.public-site .public-footer .public-footer-main nav > strong { color: #173d55; }
.public-site.partner-site .public-footer .public-footer-brand p,
.public-site.partner-site .public-footer .public-footer-bottom p { color: #b8c8d6; }
.public-site.partner-site .public-footer .public-footer-main nav > strong { color: #fff; }
.demo-site .demo-module .category-label { color: #087260; }
.demo-site .demo-status-panel .category-label { color: #9ce9dc; }
.public-site .product-proof-followup {
    margin-top: 24px;
    position: relative;
    z-index: 2;
}
@media(max-width:1320px) {
    .public-site .public-nav > .public-desktop-nav { display: none !important; }
    .public-site .public-mobile-menu { display: block !important; }
}
@media(max-width:700px) {
    .public-site .migration-source-links a small { color: #38546a; }
}

/* Each guide category carries the same tint from directory to article. */
[data-guide-tone="0"] { --guide-wash:#edf5ff; --guide-line:#c9dced; --guide-accent:#286291; }
[data-guide-tone="1"] { --guide-wash:#eaf7f2; --guide-line:#bddfd3; --guide-accent:#246957; }
[data-guide-tone="2"] { --guide-wash:#f2effb; --guide-line:#d6ceed; --guide-accent:#64518c; }
[data-guide-tone="3"] { --guide-wash:#fff4e4; --guide-line:#ead6b6; --guide-accent:#866126; }
.guide-site .guide-hero {
    padding: 34px;
    background: linear-gradient(115deg,var(--guide-wash),#fff);
    border: 1px solid var(--guide-line);
    border-radius: 22px;
}
.guide-site .guide-hero:has(.guide-meta) { max-width: none; }
.guide-site .guide-hero h1 { color: #123747; }
.guide-site .guide-hero .eyebrow { color: var(--guide-accent); }
.guide-site .guide-stats { border-color: var(--guide-line); }
.guide-site .guide-stats strong { color: var(--guide-accent); }
.guide-site .guide-category-section { padding-top: 24px; border-top: 3px solid var(--guide-line); }
.guide-site .guide-category-section .eyebrow { color: var(--guide-accent); }
.guide-site .guide-card {
    background: linear-gradient(145deg,var(--guide-wash),#fff);
    border: 1px solid var(--guide-line);
    border-top: 3px solid var(--guide-accent);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgb(8 43 77 / 3%);
}
.guide-site .guide-card h3 a { color: #173e54; }
.guide-site .guide-card:hover { border-color: var(--guide-accent); box-shadow: 0 7px 22px rgb(8 43 77 / 8%); }
.guide-site .guide-topics a { min-height: 40px; display: inline-flex; align-items: center; }
.guide-site .guide-sidebar { padding: 22px; border: 1px solid var(--guide-line); border-radius: 16px; background: var(--guide-wash); }
.guide-site .guide-sidebar nav { border-left: 0; padding-left: 0; }
.guide-site .guide-contents > summary { cursor: pointer; font-weight: 750; line-height: 1.5; color: #173b47; }
.guide-site .guide-contents[open] > summary { margin-bottom: 18px; }
.guide-site .guide-sidebar .guide-back { margin-left: 0; }
.guide-site .guide-short-answer { background: #eaf7f2; border-color: #277a68; border-radius: 16px; }
.guide-site .guide-example { background: #fff4e4; border-color: #e8d1ad; border-radius: 16px; }
.guide-site #checkliste { background: #f2effb; border: 1px solid #dbd3ec; padding: 28px 30px; border-radius: 16px; }
.guide-site .guide-checklist { margin-bottom: 0; }
.guide-site .guide-checklist li::marker { color: #64518c; }
.guide-site .guide-next { background: #edf5ff; border: 1px solid #c9dced; border-radius: 16px; }
.guide-site .guide-question { padding: 0; margin: 10px 0; border: 1px solid #d1dee7; border-radius: 12px; background: #fff; }
.guide-site .guide-question summary { padding: 18px; }
.guide-site .guide-question[open] { background: #f4f8fc; }
.guide-site .guide-question p { padding: 0 18px 20px; }
.guide-site .guide-question summary:focus-visible { outline-offset: -3px; border-radius: 12px; }
@media(max-width:700px) {
    .guide-site .guide-hero { padding: 24px 20px; border-radius: 18px; }
    .guide-site .guide-hero h1 { font-size: clamp(1.8rem,6.7vw,2.2rem); }
    .guide-site .guide-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
    .guide-site .guide-stats strong { font-size: 1.6rem; }
    .guide-site .guide-stats span { line-height: 1.45; }
    .guide-site #checkliste { padding: 22px; }
    .guide-site .guide-sidebar { position: static; }
    .public-site .public-actions { flex-wrap: wrap; }
    .public-site .public-mobile-menu summary { min-height: 44px; min-width: 44px; }
}
@media(prefers-reduced-motion:reduce) {
    html:has(.public-site) { scroll-behavior: auto; }
    .public-site *, .public-site *::before, .public-site *::after { animation: none !important; transition: none !important; }
}
@media print {
    .public-site .guide-main { color: #000; }
    .public-site .guide-main :is(.guide-hero,.guide-short-answer,.guide-example,#checkliste) { background: #fff; }
}
