/* Shared visual vocabulary; existing markup, content, data and handlers stay in place. */
:root {
    /* Dominant opaque background sampled from logo-brain-new.png. */
    --gw-header-background:#0e2d4f;
    --bs-primary:#30415c;
    --bs-primary-rgb:48,65,92;
    --bs-info:#65516c;
    --primary-color:#30415c;
    --secondary-color:#30415c;
}
body:not(.gw-ink) {
    background-color:#f7f5f0 !important;
    color:#263b4b;
    font-family:"Segoe UI",Arial,sans-serif;
}
body:not(.gw-ink) .navbar,
body:not(.gw-ink) .hub-nav { background:var(--gw-header-background) !important; }
body:not(.gw-ink) .navbar-brand,
body:not(.gw-ink) .navbar .nav-link { color:#fcfbf7 !important; }
.gw-brand {
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:#fcfbf7 !important;
    text-decoration:none;
    white-space:nowrap;
}
.gw-brand .logo-container {
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin:0;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
}
.gw-brand .logo-img { width:64px; height:64px; object-fit:contain; }
.gw-brand .gw-brand-title {
    font-family:"Aptos","Segoe UI",sans-serif;
    font-size:32px;
    font-weight:650;
    letter-spacing:-.7px;
    line-height:1.2;
    color:#fcfbf7;
}
.gw-public-header {
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px 20px;
    min-height:84px;
    padding:5px 20px;
    background:var(--gw-header-background);
    color:#fcfbf7;
    border-bottom:1px solid #30415c;
}
.gw-public-header .header-nav { margin-left:auto; }
.gw-public-header .header-nav > a:nth-child(2) {
    background:#ffffff16;
    border:1px solid #ffffff55;
    color:#fcfbf7;
}
.gw-public-header .header-nav > a:nth-child(2):hover { background:#ffffff30; }
.gw-public-skip {
    position:fixed;
    top:6px;
    left:12px;
    z-index:2000;
    transform:translateY(-150%);
    padding:8px 12px;
    background:#fffefa;
    color:#263b4b;
}
.gw-public-skip:focus { transform:translateY(0); }
@media(max-width:767px) {
    .gw-brand { gap:8px; }
    .gw-brand .logo-container, .gw-brand .logo-img { width:48px; height:48px; }
    .gw-brand .gw-brand-title { font-size:25px; }
    .gw-public-header { min-height:70px; padding:6px 16px; }
}
@media(max-width:520px) {
    .gw-public-header .header-nav { width:100%; justify-content:flex-end; padding:5px 0; }
}
body:not(.gw-ink) :is(h1,h2) { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
body:not(.gw-ink) .card,
body:not(.gw-ink) .tool-card {
    background:#fffefa;
    border-color:#d2d6d8;
    border-radius:7px;
    box-shadow:0 2px 12px #263b4b08;
}
body:not(.gw-ink) .card-header.bg-primary,
body:not(.gw-ink) .card-header.text-white,
body:not(.gw-ink) .stats-card { background:#30415c !important; color:#fffaf3 !important; }
body:not(.gw-ink) .btn { border-radius:5px; box-shadow:none; }
body:not(.gw-ink) .btn-primary,
body:not(.gw-ink) .btn-upgrade { background:#30415c; border-color:#30415c; color:#fffaf3; }
body:not(.gw-ink) .btn-info { background:#65516c; border-color:#65516c; color:#fffaf5; }
body:not(.gw-ink) .btn-outline-primary { color:#30415c; border-color:#30415c; }
body:not(.gw-ink) .btn-outline-primary:hover { color:#fff; background:#30415c; }
body:not(.gw-ink) .form-control,
body:not(.gw-ink) .form-select { border-color:#cbd2d6; border-radius:5px; background-color:#fffefa; }
body:not(.gw-ink) a:not(.btn):not(.navbar-brand):not(.nav-link):not(.dropdown-item):not(.tool-card) { color:#304b68; }
:is(button,a,input,select,textarea,[contenteditable]):focus-visible { outline:3px solid #a75b38; outline-offset:3px; }
/* FAQ, info and instructional pages keep every existing word and anchor. */
body:not(.gw-ink) :is(.info-container,.faq-container,.document-container) {
    background:#fffefa;
    border:1px solid #d2d6d8;
    border-radius:8px;
    box-shadow:0 6px 24px #253d4f0c;
}
body:not(.gw-ink) :is(.section-title,.faq-question) { color:#263b4b; }
body:not(.gw-ink) .step-number { background:#30415c; }
body:not(.gw-ink) .site-header { background:var(--gw-header-background); color:#fffaf3; border-color:#30415c; }
body:not(.gw-ink) .site-header :is(.brand,.header-nav a) { color:#fffaf3 !important; }
body:not(.gw-ink) :is(.faq-group,.contents,.safety-note) { border-color:#d2d6d8; }
/* Existing clinical warnings, error colours and disabled states are not recoloured. */
@media (prefers-reduced-motion:reduce) {
    body:not(.gw-ink) :is(.logo-img,.medical-logo,.btn-demo-sparkle)::before,
    body:not(.gw-ink) :is(.logo-img,.medical-logo,.btn-demo-sparkle) { animation:none !important; }
}
