/* Shared UX refinements. Existing brand colours, content and routes are preserved. */
:root {
    --font-chakra-petch:"Chakra Petch","Chakra Petch Fallback";
    --font-ibm-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback";
    --font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback";
    --font-display:"Chakra Petch","Chakra Petch Fallback",sans-serif;
    --font-body:"IBM Plex Sans","IBM Plex Sans Fallback",sans-serif;
    --color-xdigit-link:#08749b;
}
/* Keep wide layout gutters distinct from a comfortable reading column. */
.container-xd.max-w-3xl { max-width:56rem; }
.container-xd.max-w-2xl { max-width:50rem; }
 :is(.bg-white,.bg-xdigit-gray-light) :is(a,p,time,dt,dd,li,span).text-xdigit-blue-light,
:is(.bg-white,.bg-xdigit-gray-light) :is(a,p,time).text-xdigit-cta,
.xdigit-article a { color:var(--color-xdigit-link); }
header nav[aria-label="Main"] { gap:clamp(.75rem,1.5vw,1.75rem); }
header nav[aria-label="Main"] a { font-size:.8125rem; }
header nav a[aria-current="page"] { color:var(--color-xdigit-blue); text-decoration:underline; text-decoration-color:var(--color-xdigit-cta); text-decoration-thickness:2px; text-underline-offset:.4em; }
[data-xdigit-mobile-toggle] { min-width:44px; min-height:44px; align-items:center; justify-content:center; cursor:pointer; }
#xdigit-mobile-nav { max-height:calc(100dvh - 5rem); overflow-y:auto; }
#xdigit-mobile-nav a { display:inline-flex; align-items:center; min-height:44px; }
#xdigit-mobile-nav ul { gap:.5rem; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible { outline:3px solid var(--color-xdigit-link); outline-offset:4px; }
.xdigit-skip-link { position:fixed; left:1rem; top:1rem; z-index:100; padding:.75rem 1rem; background:var(--color-xdigit-blue); color:white; transform:translateY(-200%); }
.xdigit-skip-link:focus { transform:translateY(0); }
#main:focus { outline:none; }
.xdigit-asic-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.5rem; }
.xdigit-asic-anchor { color:var(--color-xdigit-link); text-decoration:none; }
.xdigit-asic-end { padding:2rem 0 0; }
.xdigit-ip-diagram { height:auto; min-height:18rem; display:flex; align-items:center; }
.xdigit-ip-diagram img { width:100%; height:auto; max-height:32rem; object-fit:contain; }
.xdigit-jobs-fallback { display:inline-flex; margin-top:1.25rem; color:var(--color-xdigit-link); text-decoration:underline; text-underline-offset:.25em; }
.xdigit-hero-copy { max-width:44rem; }
.xdigit-hero-copy h1 { font-size:clamp(2.25rem,4.2vw,3.75rem); text-wrap:balance; }
@media(min-width:1024px) { [data-xdigit-mobile-toggle] { display:none; } }
@media(max-width:1023px) { [data-xdigit-mobile-toggle] { display:inline-flex; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Site-wide action buttons: homepage hero is the visual reference. */
:root {
    --xdigit-button-background: #2daae1;
    --xdigit-button-hover: #2488b4;
    --xdigit-button-text: #0a2a43;
}
.xdigit-button,
.xdigit-contact-link,
.xdigit-contact-form .wpforms-container button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    max-width: 100%;
    padding: 1rem 2rem;
    border: 0;
    border-radius: 0;
    background: var(--xdigit-button-background);
    color: var(--xdigit-button-text);
    font-family: var(--font-body);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.333333;
    letter-spacing: .025em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    white-space: normal;
    box-shadow: none;
    cursor: pointer;
    transition: background-color .2s ease;
}
.xdigit-button:hover,
.xdigit-contact-link:hover,
.xdigit-contact-form .wpforms-container button[type="submit"]:hover {
    background: var(--xdigit-button-hover);
    color: var(--xdigit-button-text);
    text-decoration: none;
    box-shadow: none;
}
.xdigit-button--compact { min-height: 44px; padding: .875rem 1.25rem; }
.xdigit-button--block { display: flex; width: 100%; }
.xdigit-button svg, .xdigit-contact-link svg { flex-shrink: 0; }
.xdigit-button:focus-visible,
.xdigit-contact-link:focus-visible,
.xdigit-contact-form .wpforms-container button[type="submit"]:focus-visible {
    outline: 3px solid var(--color-xdigit-link);
    outline-offset: 4px;
}
.xdigit-button:disabled,
.xdigit-button[aria-disabled="true"],
.xdigit-contact-form .wpforms-container button[type="submit"]:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.xdigit-pagination-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: .75rem;
    border: 1px solid #b8c7d4;
    border-radius: 0;
    color: var(--xdigit-button-text);
    font: 700 .75rem/1.333333 var(--font-body);
    text-decoration: none;
}
.xdigit-pagination-button:hover,
.xdigit-pagination-button.is-current {
    background: var(--xdigit-button-background);
    border-color: var(--xdigit-button-background);
    color: var(--xdigit-button-text);
}
@media (prefers-reduced-motion: reduce) {
    .xdigit-button, .xdigit-contact-link,
    .xdigit-contact-form .wpforms-container button[type="submit"] { transition: none; }
}
