/* Shared foundation. Page-family sheets own their grids and functional states. */
.ak-harmony-site {
    --ak-brand-navy: #20374f;
    --ak-brand-terracotta: #b45632;
    --ak-brand-hover: #974426;
    --ak-brand-link: #994625;
    --ak-brand-soft: #fdf7f4;
    --ak-pro-ink: var(--ak-brand-navy);
    --ak-pro-muted: #5f6975;
    --ak-pro-line: #e6ded8;
    --ak-pro-blue: var(--ak-brand-terracotta);
    --ak-pro-paper: #fff;
    --ak-pro-ground: #fbf8f5;
    background: var(--ak-pro-ground);
    color: var(--ak-pro-ink);
    font-family: var(--askaide-font-sans);
}
.ak-harmony-site .ak-harmony-page {
    background: var(--ak-pro-ground);
    color: var(--ak-pro-ink);
    min-width: 0;
}
.ak-harmony-site .akf-logo .ask { color: var(--ak-pro-ink); }
.ak-harmony-site :is(.akh-logo,.akf-logo) { direction: ltr; unicode-bidi: isolate; }
.ak-harmony-site .akf-logo .aide {
    color: var(--ak-pro-blue);
    background: none;
    -webkit-text-fill-color: currentColor;
}
.ak-harmony-site .akf-logo .idot::after { background: var(--ak-pro-blue); }
.ak-harmony-site :is(.akh-cta,.akh-drawer .dr-cta,.akf-news button) {
    -webkit-text-fill-color: currentColor !important;
}
.ak-harmony-site :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea) {
    font-family: var(--askaide-font-sans) !important;
}
.ak-harmony-site .ak-harmony-page :is(h1,h2,h3,h4,h5,h6) {
    overflow-wrap: break-word;
}
.ak-harmony-site :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--ak-pro-blue) !important;
    outline-offset: 3px;
}
.ak-harmony-site .ak-harmony-page :is(input[type="checkbox"],input[type="radio"]) {
    accent-color: var(--ak-pro-blue);
}
.ak-harmony-site .ak-harmony-page :is(input,textarea)::placeholder {
    opacity: 1;
}
/* Accessible, quiet error pages share the catalogue components. */
.ak-harmony-site .ak-error-wrap {
    max-width: 920px;
    min-height: 55vh;
    margin: 0 auto;
    padding: 48px 24px 64px;
}
.ak-harmony-site .ak-error-card {
    padding: clamp(24px,4vw,40px);
    background: var(--ak-pro-paper);
    border: 1px solid var(--ak-pro-line);
    border-radius: 14px;
}
.ak-harmony-site .ak-error-card h1 { margin-bottom: 16px; }
.ak-harmony-site .ak-error-card p { max-width: 65ch; }
.ak-harmony-site .ak-error-card form { margin: 28px 0; grid-template-columns: minmax(0,1fr) auto; }
.ak-harmony-site .ak-error-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 26px; }
.ak-harmony-site .ak-error-links a { display: inline-flex; align-items: center; min-height: 44px; }
html[data-theme="dark"] .ak-harmony-site {
    --ak-pro-ink: #edf1f8;
    --ak-pro-muted: #bdc6d7;
    --ak-pro-line: #343f52;
    --ak-pro-blue: #93a8ff;
    --ak-pro-paper: #182131;
    --ak-pro-ground: #101724;
}
@media (max-width: 600px) {
    .ak-harmony-site .ak-error-wrap { padding: 24px 16px 40px; }
    .ak-harmony-site .ak-error-card { padding: 20px; }
    .ak-harmony-site .ak-error-card form { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .ak-harmony-site { scroll-behavior: auto; }
    .ak-harmony-site :is(.akh,.akf,.ak-harmony-page) *,
    .ak-harmony-site :is(.akh,.akf,.ak-harmony-page) *::before,
    .ak-harmony-site :is(.akh,.akf,.ak-harmony-page) *::after {
        scroll-behavior: auto !important;
    }
}

/* Supplied Askaide identity. Intrinsic dimensions reserve space before decoding. */
.ak-harmony-site .akh-logo,.ak-harmony-site .akf-logo{align-items:center;flex:none;line-height:0}
.ak-harmony-site .ak-brand-picture{display:block;max-width:100%;line-height:0}
.ak-harmony-site .akh-logo .ak-brand-image{display:block;width:120px;height:auto;max-width:none;max-height:56px;object-fit:contain}
.ak-harmony-site .akf-logo .ak-brand-image{display:block;width:240px;height:auto;max-width:100%;object-fit:contain}
@media(max-width:380px){.ak-harmony-site .akh-logo .ak-brand-image{width:104px}.ak-harmony-site .akh-in{gap:8px}}

/* Keep the legacy catalogue token as an alias of the approved brand action color. */
.ak-harmony-site .ak-pro a:not(.ak-pro-btn):not([aria-current]){color:var(--ak-brand-link)}
.ak-harmony-site .ak-pro h3 a{color:var(--ak-pro-ink)}
.ak-harmony-site .akh a.akh-cta:hover,.ak-harmony-site .akf-news button:hover{background:var(--ak-brand-hover);filter:none}
