html {
    scroll-behavior: smooth;
    scroll-padding-top: 7rem;
}

body {
    --theme-accent: #2563eb;
    --theme-accent-hover: #60a5fa;
    --theme-accent-soft: #eff6ff;
    --theme-accent-text: #1d4ed8;
    --theme-dark: #0f172a;
    --theme-dark-deep: #020617;
    --theme-hero-start: #020617;
    --theme-hero-mid: #0f172a;
    --theme-hero-end: #1e3a8a;
    --theme-nav-font-weight: 500;
    --theme-section-heading-font-weight: 600;
    --theme-card-heading-font-weight: 500;
    --theme-hero-heading-font-weight: 700;
    --theme-section-heading-size: clamp(1.65rem, 2.25vw, 2.35rem);
    --theme-card-heading-size: 1.05rem;
    --theme-article-h2-size: clamp(1.5rem, 2.1vw, 1.9rem);
    --theme-article-h3-size: clamp(1.15rem, 1.55vw, 1.35rem);
    --theme-label-letter-spacing: .02em;
    --theme-label-text-transform: none;
    --a11y-content-scale: 100%;
    --a11y-font-size: 100%;
    --a11y-line-height: normal;
    --a11y-letter-spacing: normal;
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px rgb(245 158 11 / .18);
}

.skip-link {
    outline-offset: 4px;
}

body.a11y-readable-font {
    font-family: Arial, Verdana, Tahoma, system-ui, sans-serif;
}

body.a11y-large-text {
    font-size: 112.5%;
}

body.a11y-content-scaled #main-content {
    font-size: var(--a11y-content-scale);
}

body.a11y-font-adjusted {
    font-size: var(--a11y-font-size);
}

body.a11y-line-height-adjusted :where(main, header, footer) :where(p, li, a, button, dt, dd, label, input, textarea, select) {
    line-height: var(--a11y-line-height) !important;
}

body.a11y-letter-spacing-adjusted :where(main, header, footer) :where(p, li, a, button, h1, h2, h3, h4, h5, h6, dt, dd, label) {
    letter-spacing: var(--a11y-letter-spacing) !important;
}

body.a11y-underline-links main a,
body.a11y-underline-links footer a {
    text-decoration: underline;
    text-underline-offset: .22em;
}

body.a11y-highlight-headings :where(main, header, footer) :where(h1, h2, h3, h4, h5, h6) {
    border-radius: .35rem;
    outline: 2px solid #f59e0b;
    outline-offset: .15rem;
    background: rgb(255 247 237 / .85);
}

body.a11y-screen-reader-mode :where(a, button, input, textarea, select, summary) {
    outline-offset: 4px;
}

body.a11y-reading-mode :where(.announcement-bar, .hero-carousel__media, .hero-carousel__overlay) {
    display: none !important;
}

body.a11y-reading-mode :where(main section, article, .hero-carousel) {
    background: #ffffff !important;
    color: #111827 !important;
}

body.a11y-reading-mode :where(main, .hero-carousel__viewport, .hero-carousel__inner) {
    min-height: auto !important;
}

body.a11y-invert-colors {
    background: #000000 !important;
    filter: invert(1) hue-rotate(180deg);
}

body.a11y-invert-colors :where(img, picture, video, iframe, canvas, svg) {
    filter: invert(1) hue-rotate(180deg);
}

body.a11y-monochrome {
    filter: grayscale(1);
}

body.a11y-low-saturation {
    filter: saturate(.45);
}

body.a11y-high-saturation {
    filter: saturate(1.85);
}

body.a11y-reduce-motion *,
body.a11y-reduce-motion *::before,
body.a11y-reduce-motion *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
}

body[data-scroll-animations="true"] .scroll-reveal {
    opacity: 0;
    transform: translate3d(0, var(--scroll-reveal-distance), 0);
    transition:
        opacity var(--scroll-reveal-duration) cubic-bezier(.22, 1, .36, 1),
        transform var(--scroll-reveal-duration) cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--scroll-reveal-delay, 0ms);
    will-change: opacity, transform;
}

body[data-scroll-animation-style="fade"] .scroll-reveal {
    transform: none;
}

body[data-scroll-animation-style="slide_left"] .scroll-reveal {
    transform: translate3d(calc(-1 * var(--scroll-reveal-distance)), 0, 0);
}

body[data-scroll-animation-style="slide_right"] .scroll-reveal {
    transform: translate3d(var(--scroll-reveal-distance), 0, 0);
}

body[data-scroll-animation-style="zoom_up"] .scroll-reveal {
    transform: translate3d(0, var(--scroll-reveal-distance), 0) scale(.96);
}

body[data-scroll-animations="true"] .scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

body[data-scroll-animations="false"] .scroll-reveal,
body.a11y-reduce-motion .scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body[data-scroll-animations="true"] .scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

body.a11y-high-contrast {
    --theme-accent: #005fcc;
    --theme-accent-hover: #003f88;
    --theme-accent-soft: #e8f1ff;
    --theme-accent-text: #003f88;
    background: #ffffff !important;
    color: #111827 !important;
}

body.a11y-dark-contrast {
    --theme-accent: #60a5fa;
    --theme-accent-hover: #93c5fd;
    --theme-accent-soft: #111827;
    --theme-accent-text: #bfdbfe;
    background: #000000 !important;
    color: #ffffff !important;
}

body.a11y-dark-contrast :where(.site-header, .site-nav__panel, .site-search-modal__panel, main section, article, footer, .accessibility-toolbar__panel) {
    border-color: #ffffff !important;
    background: #000000 !important;
    color: #ffffff !important;
}

body.a11y-dark-contrast :where(a, button, p, span, h1, h2, h3, h4, h5, h6, dt, dd, li, label) {
    color: #ffffff !important;
}

body.a11y-light-contrast {
    --theme-accent: #003f88;
    --theme-accent-hover: #002c5f;
    --theme-accent-soft: #e8f1ff;
    --theme-accent-text: #002c5f;
    background: #ffffff !important;
    color: #000000 !important;
}

body.a11y-light-contrast :where(.site-header, .site-nav__panel, .site-search-modal__panel, main section, article, footer, .accessibility-toolbar__panel) {
    border-color: #000000 !important;
    background: #ffffff !important;
    color: #000000 !important;
}

body.a11y-light-contrast :where(a, button, p, span, h1, h2, h3, h4, h5, h6, dt, dd, li, label) {
    color: #000000 !important;
}

body.a11y-high-contrast :where(.site-header, .site-nav__panel, .site-search-modal__panel, .accessibility-toolbar__panel) {
    border-color: #111827 !important;
    background: #ffffff !important;
    color: #111827 !important;
}

body.a11y-high-contrast :where(.announcement-bar, footer, .hero-carousel, .hero-carousel__panel--solid) {
    background: #000000 !important;
    color: #ffffff !important;
}

body.a11y-high-contrast :where(a) {
    color: #005fcc;
}

body.a11y-high-contrast footer :where(a, p, dt, dd),
body.a11y-high-contrast .announcement-bar :where(a, p, span, strong),
body.a11y-high-contrast .hero-carousel :where(a, p, h1, h2, span) {
    color: #ffffff !important;
}

body.cookie-consent-open {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

body[data-theme="computers_antoniou_classic"] {
    --theme-accent: #e30613;
    --theme-accent-hover: #ff1f2f;
    --theme-accent-soft: #fff1f2;
    --theme-accent-text: #b8000b;
    --theme-dark: #161616;
    --theme-dark-deep: #070707;
    --theme-hero-start: #050505;
    --theme-hero-mid: #191919;
    --theme-hero-end: #e30613;
    background: #f7f7f8;
}

.animate-fade-up {
    animation: fade-up .55s ease both;
}

@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

header.sticky {
    box-shadow: 0 1px 0 rgba(15, 23, 42, .06);
}

.announcement-bar {
    background: var(--theme-dark);
    color: #ffffff;
}

.announcement-bar__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    text-align: center;
}

.announcement-bar__items {
    grid-column: 2;
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    justify-content: center;
}

.announcement-bar__item {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    justify-content: center;
    min-width: 0;
    text-align: center;
}

.announcement-bar__item p {
    margin: 0;
}

.announcement-bar__item[hidden] {
    display: none;
}

.announcement-bar__item strong {
    color: #ffffff;
}

.announcement-bar__item span {
    color: rgba(255, 255, 255, .82);
}

.announcement-bar__link {
    grid-column: 3;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;
}

.announcement-bar__dismiss {
    display: inline-grid;
    width: 1.5rem;
    height: 1.5rem;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
    cursor: pointer;
}

@media (max-width: 640px) {
    .announcement-bar__inner {
        grid-template-columns: 1fr;
    }

    .announcement-bar__items,
    .announcement-bar__link {
        grid-column: 1;
        justify-self: center;
    }
}

.site-header {
    box-shadow: 0 1px 0 rgba(15, 23, 42, .06), 0 .8rem 2rem rgba(15, 23, 42, .04);
}

.site-nav__list,
.site-nav__dropdown-list {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.site-nav__details {
    position: relative;
}

.site-nav__summary,
.site-nav__link {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-radius: 1rem;
    padding: .72rem .85rem;
    color: rgb(51 65 85);
    cursor: pointer;
    font-weight: var(--theme-nav-font-weight);
    text-decoration: none;
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

.site-nav__summary::-webkit-details-marker {
    display: none;
}

.site-nav__summary-main,
.site-nav__link-main,
.site-nav__mega-link-title {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .45rem;
}

.site-nav__summary:hover,
.site-nav__summary:focus-visible,
.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__details[open] > .site-nav__summary {
    background: var(--theme-accent-soft);
    color: var(--theme-accent-text);
    outline: none;
}

.site-nav__icon {
    color: var(--theme-accent-text);
    font-size: .68rem;
    font-weight: var(--theme-nav-font-weight);
    letter-spacing: var(--theme-label-letter-spacing);
    text-transform: var(--theme-label-text-transform);
}

.site-nav__badge {
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-accent) 12%, white);
    color: var(--theme-accent-text);
    padding: .18rem .45rem;
    font-size: .66rem;
    font-weight: var(--theme-nav-font-weight);
}

.site-nav__chevron {
    color: rgb(148 163 184);
    font-size: .85rem;
    transition: transform .16s ease;
}

.site-nav__details[open] > .site-nav__summary .site-nav__chevron {
    transform: rotate(180deg);
}

.site-nav__panel {
    margin-top: .35rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 1.25rem;
    background: #ffffff;
    padding: .55rem;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .12);
}

.site-nav__mega-grid {
    display: grid;
    gap: 1rem;
}

.site-nav__column-title {
    padding: .35rem .45rem;
    color: rgb(100 116 139);
    font-size: .76rem;
    font-weight: var(--theme-card-heading-font-weight);
    letter-spacing: var(--theme-label-letter-spacing);
    text-transform: var(--theme-label-text-transform);
}

.site-nav__mega-links {
    display: grid;
    gap: .35rem;
}

.site-nav__mega-link {
    display: grid;
    gap: .28rem;
    border-radius: 1rem;
    padding: .75rem;
    color: rgb(30 41 59);
    text-decoration: none;
    transition: background-color .16s ease, transform .16s ease;
}

.site-nav__mega-link:hover,
.site-nav__mega-link:focus-visible,
.site-nav__mega-link--featured {
    background: rgb(248 250 252);
    outline: none;
}

.site-nav__mega-link:hover {
    transform: translateY(-1px);
}

.site-nav__mega-link-description,
.site-nav__link-description {
    color: rgb(100 116 139);
    font-size: .86rem;
    font-weight: 500;
    line-height: 1.45;
}

.site-header__search-trigger,
.site-header__plain-link,
.site-header__cta {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: var(--theme-nav-font-weight);
    text-decoration: none;
}

.site-header__search-trigger {
    width: auto;
    gap: .55rem;
    border: 1px solid rgb(226 232 240);
    background: linear-gradient(180deg, #ffffff 0%, rgb(248 250 252) 100%);
    padding: 0 .55rem;
    color: rgb(15 23 42);
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), 0 .4rem 1rem rgb(15 23 42 / .06);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.site-header__search-trigger:hover,
.site-header__search-trigger:focus-visible {
    border-color: color-mix(in srgb, var(--theme-accent) 34%, rgb(226 232 240));
    box-shadow: inset 0 1px 0 rgb(255 255 255 / .9), 0 .7rem 1.35rem rgb(15 23 42 / .1);
    transform: translateY(-1px);
}

.site-header__search-icon {
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    place-items: center;
    border-radius: 999px;
    background: var(--theme-accent-soft);
    color: var(--theme-accent-text);
    font-size: .85rem;
    line-height: 1;
}

.site-header__shortcut {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
    color: rgb(100 116 139);
    font-size: .68rem;
    font-weight: 600;
}

.site-header__shortcut kbd {
    min-width: 1.35rem;
    border: 1px solid rgb(203 213 225);
    border-radius: .4rem;
    background: #ffffff;
    padding: .08rem .28rem;
    color: rgb(71 85 105);
    font-family: inherit;
    line-height: 1.35;
    text-align: center;
}

.site-header__plain-link {
    color: rgb(51 65 85);
    padding: 0 .65rem;
}

.site-header__cta {
    background: var(--theme-accent);
    color: #ffffff;
    padding: 0 1rem;
    box-shadow: 0 .75rem 1.5rem color-mix(in srgb, var(--theme-accent) 22%, transparent);
}

.site-mobile-nav {
    position: absolute;
    right: 1rem;
    left: 1rem;
    top: calc(100% + .35rem);
    z-index: 50;
}

.site-mobile-nav__inner {
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    border: 1px solid rgb(226 232 240);
    border-radius: 1.4rem;
    background: #ffffff;
    padding: .85rem;
    box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .18);
}

.site-mobile-nav__search {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 1px solid rgb(226 232 240);
    border-radius: 1rem;
    background: linear-gradient(180deg, #ffffff 0%, rgb(248 250 252) 100%);
    padding: .8rem .9rem;
    color: rgb(15 23 42);
    cursor: pointer;
    font-weight: var(--theme-nav-font-weight);
}

.site-mobile-nav__search-label {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .55rem;
}

.site-mobile-nav__search-label > span[aria-hidden="true"] {
    display: grid;
    width: 1.45rem;
    height: 1.45rem;
    place-items: center;
    border-radius: 999px;
    background: var(--theme-accent-soft);
    color: var(--theme-accent-text);
    font-size: .82rem;
}

.site-mobile-nav__actions {
    display: grid;
    gap: .65rem;
    margin-top: .85rem;
}

.site-search-open {
    overflow: hidden;
}

.site-search-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: start center;
    padding: clamp(4rem, 9vh, 7rem) 1rem 1rem;
}

.site-search-modal[hidden] {
    display: none;
}

.site-search-modal__backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 0%, rgb(255 255 255 / .26), transparent 34rem),
        rgba(15, 23, 42, .58);
    backdrop-filter: blur(10px);
}

.site-search-modal__panel {
    position: relative;
    width: min(100%, 48rem);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 2rem 6rem rgba(15, 23, 42, .28);
}

.site-search-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid rgb(226 232 240);
    background: linear-gradient(180deg, rgb(248 250 252) 0%, #ffffff 100%);
    padding: 1.15rem 1.25rem .95rem;
}

.site-search-modal__title {
    color: rgb(15 23 42);
    font-size: 1.2rem;
    font-weight: var(--theme-card-heading-font-weight);
}

.site-search-modal__hint,
.site-search-modal__empty {
    color: rgb(100 116 139);
    font-size: .9rem;
    line-height: 1.55;
}

.site-search-modal__close {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    place-items: center;
    border-radius: 999px;
    background: rgb(241 245 249);
    color: rgb(15 23 42);
    cursor: pointer;
    font-size: 1.4rem;
    transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.site-search-modal__close:hover {
    background: var(--theme-accent-soft);
    color: var(--theme-accent-text);
    transform: rotate(90deg);
}

.site-search-modal__input-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    margin: 1.15rem 1.25rem 1rem;
    border: 1px solid rgb(203 213 225);
    border-radius: .9rem;
    background: rgb(248 250 252);
    padding: .25rem .35rem .25rem .9rem;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.site-search-modal__input-wrap input {
    width: 100%;
    border: 0;
    background: transparent;
    padding: .75rem 0;
    color: rgb(15 23 42);
    outline: none;
}

.site-search-modal__input-wrap:focus-within {
    border-color: var(--theme-accent);
    background: #ffffff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent) 16%, transparent);
}

.site-search-modal__input-icon {
    color: var(--theme-accent-text);
    font-size: 1rem;
}

.site-search-modal__input-shortcut {
    border: 1px solid rgb(203 213 225);
    border-radius: .45rem;
    background: #ffffff;
    padding: .18rem .45rem;
    color: rgb(100 116 139);
    font-family: inherit;
    font-size: .72rem;
    font-weight: 700;
}

.site-search-modal__results {
    display: grid;
    gap: .5rem;
    max-height: min(32rem, 58vh);
    overflow-y: auto;
    padding: 0 1.25rem 1.25rem;
}

.site-search-modal__empty {
    display: grid;
    min-height: 7rem;
    place-items: center;
    border: 1px dashed rgb(203 213 225);
    border-radius: .9rem;
    background: rgb(248 250 252);
    padding: 1rem;
    text-align: center;
}

.site-search-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    border: 1px solid rgb(226 232 240);
    border-radius: .9rem;
    background: #ffffff;
    padding: .85rem .95rem;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.site-search-result:hover,
.site-search-result:focus-visible {
    border-color: color-mix(in srgb, var(--theme-accent) 34%, rgb(226 232 240));
    background: rgb(248 250 252);
    box-shadow: 0 .65rem 1.3rem rgb(15 23 42 / .08);
    outline: none;
    transform: translateY(-1px);
}

.site-search-result__content {
    display: grid;
    min-width: 0;
    gap: .25rem;
}

.site-search-result__type {
    width: fit-content;
    border-radius: 999px;
    background: var(--theme-accent-soft);
    color: var(--theme-accent-text);
    padding: .16rem .5rem;
    font-size: .72rem;
    font-weight: var(--theme-card-heading-font-weight);
    letter-spacing: var(--theme-label-letter-spacing);
    text-transform: var(--theme-label-text-transform);
}

.site-search-result__title {
    color: rgb(15 23 42);
    font-weight: var(--theme-card-heading-font-weight);
}

.site-search-result__excerpt {
    color: rgb(100 116 139);
    font-size: .9rem;
    line-height: 1.5;
}

.site-search-result__arrow {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 999px;
    background: rgb(241 245 249);
    color: rgb(100 116 139);
    transition: background-color .16s ease, color .16s ease, transform .16s ease;
}

.site-search-result:hover .site-search-result__arrow,
.site-search-result:focus-visible .site-search-result__arrow {
    background: var(--theme-accent);
    color: #ffffff;
    transform: translateX(.12rem);
}

.public-footer__menus {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
    gap: 1.25rem;
}

.weekly-hours-list {
    display: grid;
    gap: .35rem;
}

.weekly-hours-row {
    display: grid;
    grid-template-columns: minmax(5.5rem, max-content) minmax(0, 1fr);
    gap: .75rem;
    align-items: baseline;
}

.weekly-hours-row dt,
.weekly-hours-row dd {
    margin: 0;
}

.public-footer__hours-list .weekly-hours-row {
    display: block;
}

.public-footer__hours-list .weekly-hours-row + .weekly-hours-row {
    margin-top: .65rem;
}

.public-footer__hours-list dd {
    margin-top: .08rem;
}

.cookie-consent {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    left: 5.75rem;
    z-index: 60;
    pointer-events: none;
}

.cookie-consent--bottom_left {
    right: auto;
    max-width: min(44rem, calc(100vw - 6.75rem));
}

.cookie-consent--bottom_right {
    right: 1rem;
    left: auto;
    max-width: min(44rem, calc(100vw - 2rem));
}

.cookie-consent__launcher {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    z-index: 61;
    display: grid;
    width: 3.65rem;
    height: 3.65rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: transparent;
    padding: 0;
    cursor: pointer;
    filter: drop-shadow(0 .85rem 1.6rem rgb(15 23 42 / .24));
    pointer-events: auto;
    transition: filter .16s ease, transform .16s ease;
}

.cookie-consent__launcher:hover {
    filter: drop-shadow(0 1rem 1.9rem rgb(15 23 42 / .3));
    transform: translateY(-1px);
}

.cookie-consent__launcher:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 4px;
}

.cookie-consent__launcher-icon,
.cookie-consent__launcher-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.cookie-consent__launcher-bg {
    fill: #2f7cff;
}

.cookie-consent__launcher-cut,
.cookie-consent__launcher-dot {
    fill: #ffffff;
}

.cookie-consent__banner {
    display: grid;
    max-width: 56rem;
    gap: 1rem;
    align-items: center;
    border: 1px solid rgb(203 213 225);
    border-radius: .9rem;
    background: rgb(255 255 255 / .98);
    padding: 1rem;
    color: rgb(15 23 42);
    box-shadow: 0 1.25rem 3.5rem rgb(15 23 42 / .2);
    pointer-events: auto;
}

.cookie-consent--bottom .cookie-consent__banner {
    margin-inline: auto;
}

.cookie-consent__banner[hidden],
.cookie-consent__modal[hidden] {
    display: none;
}

.cookie-consent__title,
.cookie-consent__dialog-title,
.cookie-consent__category-title {
    margin: 0;
    color: rgb(15 23 42);
    font-weight: 800;
    letter-spacing: 0;
}

.cookie-consent__title {
    font-size: 1.05rem;
}

.cookie-consent__text,
.cookie-consent__dialog-text,
.cookie-consent__category-text {
    margin: .35rem 0 0;
    color: rgb(71 85 105);
    line-height: 1.6;
}

.cookie-consent__policy {
    display: inline-flex;
    margin-top: .5rem;
    color: var(--theme-accent-text);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .22em;
}

.cookie-consent__actions,
.cookie-consent__dialog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.cookie-consent__actions {
    justify-content: flex-end;
}

.cookie-consent__button,
.cookie-consent__close {
    cursor: pointer;
    font-weight: 800;
}

.cookie-consent__button {
    min-height: 2.65rem;
    border: 1px solid rgb(203 213 225);
    border-radius: 999px;
    background: #ffffff;
    padding: .65rem 1rem;
    color: rgb(15 23 42);
    transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.cookie-consent__button:hover {
    border-color: var(--theme-accent);
    transform: translateY(-1px);
}

.cookie-consent__button--primary {
    border-color: var(--theme-accent);
    background: var(--theme-accent);
    color: #ffffff;
}

.cookie-consent__button--ghost {
    background: rgb(248 250 252);
}

.cookie-consent__modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgb(15 23 42 / .56);
    pointer-events: auto;
}

.cookie-consent__dialog {
    width: min(100%, 42rem);
    max-height: min(44rem, calc(100vh - 2rem));
    overflow-y: auto;
    border: 1px solid rgb(226 232 240);
    border-radius: 1rem;
    background: #ffffff;
    color: rgb(15 23 42);
    box-shadow: 0 1.5rem 4rem rgb(15 23 42 / .35);
}

.cookie-consent__dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem;
    border-bottom: 1px solid rgb(226 232 240);
}

.cookie-consent__dialog-title {
    font-size: 1.35rem;
}

.cookie-consent__close {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgb(241 245 249);
    color: rgb(15 23 42);
    font-size: 1.35rem;
}

.cookie-consent__categories {
    display: grid;
    gap: .75rem;
    padding: 1.25rem;
}

.cookie-consent__category {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid rgb(226 232 240);
    border-radius: .8rem;
    background: rgb(248 250 252);
    padding: 1rem;
}

.cookie-consent__switch {
    position: relative;
    display: inline-flex;
    width: 3.25rem;
    height: 1.85rem;
    flex: 0 0 auto;
}

.cookie-consent__switch input {
    position: absolute;
    opacity: 0;
}

.cookie-consent__switch span {
    width: 100%;
    border-radius: 999px;
    background: rgb(203 213 225);
    transition: background-color .16s ease;
}

.cookie-consent__switch span::after {
    position: absolute;
    top: .22rem;
    left: .24rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 .15rem .45rem rgb(15 23 42 / .18);
    content: "";
    transition: transform .16s ease;
}

.cookie-consent__switch input:checked + span {
    background: var(--theme-accent);
}

.cookie-consent__switch input:checked + span::after {
    transform: translateX(1.35rem);
}

.cookie-consent__switch input:focus-visible + span {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
}

.cookie-consent__switch input:disabled + span {
    opacity: .78;
}

.cookie-consent__more-info {
    margin: 0 1.25rem 1.25rem;
    border: 1px solid rgb(226 232 240);
    border-radius: .8rem;
    background: #ffffff;
    padding: 1rem;
}

.cookie-consent__more-info-title {
    margin: 0;
    color: rgb(15 23 42);
    font-weight: 800;
}

.cookie-consent__more-info-text {
    margin: .4rem 0 0;
    color: rgb(71 85 105);
    line-height: 1.65;
}

.cookie-consent__dialog-actions {
    justify-content: flex-end;
    padding: 1.25rem;
    border-top: 1px solid rgb(226 232 240);
}

.accessibility-toolbar {
    position: fixed;
    right: 1rem;
    top: 50%;
    bottom: auto;
    z-index: 70;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: .65rem;
    max-width: calc(100vw - 2rem);
    transform: translateY(-50%);
}

.accessibility-toolbar__toggle,
.accessibility-toolbar__actions button,
.accessibility-toolbar__range button,
.accessibility-toolbar__icon-button,
.accessibility-toolbar__close {
    cursor: pointer;
    font-weight: 800;
}

.accessibility-toolbar__toggle {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-height: 3.2rem;
    border: 1px solid rgb(15 23 42 / .18);
    border-radius: 999px;
    background: #ffffff;
    padding: .45rem 1rem .45rem .45rem;
    color: rgb(15 23 42);
    box-shadow: 0 1rem 2.5rem rgb(15 23 42 / .18);
    transition: transform .16s ease, box-shadow .16s ease;
}

.accessibility-toolbar__toggle:hover {
    transform: translateY(-1px);
    box-shadow: 0 1.15rem 2.75rem rgb(15 23 42 / .22);
}

.accessibility-toolbar__toggle--icon-only {
    width: 3.75rem;
    min-height: 3.75rem;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
}

.accessibility-toolbar__toggle--icon-only:hover {
    box-shadow: none;
}

.accessibility-toolbar__toggle-icon {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    line-height: 1;
}

.accessibility-toolbar__toggle--icon-only .accessibility-toolbar__toggle-icon {
    width: 3.65rem;
    height: 3.65rem;
    filter: drop-shadow(0 .75rem 1.35rem rgb(15 23 42 / .28));
}

.accessibility-toolbar__toggle-icon svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.accessibility-toolbar__toggle-icon svg > circle:first-child {
    fill: #2f7cff;
}

.accessibility-toolbar__toggle-head {
    fill: #ffffff;
}

.accessibility-toolbar__toggle-figure {
    fill: none;
    stroke: #ffffff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.2;
}

.accessibility-toolbar__panel {
    width: min(100%, 28.5rem);
    max-height: min(46rem, calc(100vh - 2rem));
    overflow-y: auto;
    border: 1px solid rgb(255 255 255 / .08);
    border-radius: 1.5rem;
    background: #202020;
    color: #ffffff;
    box-shadow: 0 1.5rem 4rem rgb(0 0 0 / .38);
}

.accessibility-toolbar__panel[hidden] {
    display: none;
}

.accessibility-toolbar__head,
.accessibility-toolbar__footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: 1.05rem;
}

.accessibility-toolbar__head {
    border-bottom: 0;
}

.accessibility-toolbar__head-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.accessibility-toolbar__title {
    margin: 0;
    max-width: 13rem;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.12;
}

.accessibility-toolbar__icon-button,
.accessibility-toolbar__close {
    display: grid;
    width: 3rem;
    height: 3rem;
    min-height: 3rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    font-size: 1.55rem;
}

.accessibility-toolbar__close {
    background: #2f7cff;
}

.accessibility-toolbar__icon-button {
    background: transparent;
}

.accessibility-toolbar__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
    padding: 0 .45rem .85rem;
}

.accessibility-toolbar__actions button {
    display: grid;
    min-height: 4.9rem;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .7rem;
    border: 1px solid rgb(255 255 255 / .04);
    border-radius: .35rem;
    background: #303030;
    padding: .85rem 1rem;
    color: #f8fafc;
    text-align: left;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.accessibility-toolbar__actions button[aria-pressed="true"] {
    border-color: #2f7cff;
    background: #15345f;
    color: #ffffff;
}

.accessibility-toolbar__actions button:hover {
    background: #383838;
}

.accessibility-toolbar__action-icon {
    display: grid;
    width: 2.1rem;
    min-width: 2.1rem;
    min-height: 2.1rem;
    place-items: center;
    color: #ffffff;
    font-size: 1.35rem;
    line-height: 1;
}

.accessibility-toolbar__adjustments {
    display: grid;
    gap: .45rem;
    padding: 0 .45rem .65rem;
}

.accessibility-toolbar__range {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(7.5rem, .9fr) 3.7rem 3rem 3rem;
    align-items: center;
    overflow: hidden;
    border-radius: .55rem;
    background: #303030;
}

.accessibility-toolbar__range label {
    padding: .9rem 1rem;
    color: #ffffff;
    font-weight: 800;
    line-height: 1.2;
}

.accessibility-toolbar__range input[type="range"] {
    width: 100%;
    accent-color: #2f7cff;
}

.accessibility-toolbar__range output {
    justify-self: center;
    color: #ffffff;
    font-weight: 800;
}

.accessibility-toolbar__range button {
    display: grid;
    height: 100%;
    min-height: 4.25rem;
    place-items: center;
    border: 0;
    border-left: 1px solid rgb(255 255 255 / .04);
    background: #353535;
    color: #ffffff;
    font-size: 1.25rem;
}

.accessibility-toolbar__range button:hover {
    background: #404040;
}

.accessibility-toolbar__footer {
    justify-content: center;
    padding-top: .35rem;
    border-top: 1px solid rgb(255 255 255 / .06);
}

.accessibility-toolbar__footer a {
    color: #bfdbfe;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .2em;
}

body[data-theme="computers_antoniou_classic"] header.sticky {
    border-bottom-color: rgba(227, 6, 19, .22);
    background: rgba(255, 255, 255, .94);
}

.site-logo {
    max-width: min(54vw, 18rem);
    object-fit: contain;
}

body[data-theme="computers_antoniou_classic"] .site-logo {
    height: 3rem;
}

#primary-navigation a {
    text-decoration: none;
}

.site-logo-link,
.site-logo-link .font-black {
    font-weight: var(--theme-nav-font-weight) !important;
}

main section:first-child h1 {
    letter-spacing: 0;
}

main section h1.font-black,
main section h1.font-bold,
main section h2.font-black,
main section h2.font-bold {
    font-size: var(--theme-section-heading-size) !important;
    font-weight: var(--theme-section-heading-font-weight) !important;
}

main section h3.font-black,
main section h3.font-bold,
main section h4.font-black,
main section h4.font-bold,
main section summary.font-black,
main section summary.font-bold,
main section dt.font-black,
main section dt.font-bold,
.public-footer__grid .font-black,
.public-footer__grid .font-bold {
    font-size: var(--theme-card-heading-size);
    font-weight: var(--theme-card-heading-font-weight) !important;
}

main section p.font-black.uppercase,
main section p.font-bold.uppercase,
.hero-carousel__eyebrow,
.hero-carousel__badge {
    font-weight: var(--theme-card-heading-font-weight) !important;
    letter-spacing: var(--theme-label-letter-spacing) !important;
    text-transform: var(--theme-label-text-transform) !important;
}

details summary::-webkit-details-marker {
    display: none;
}

details[open] summary span[aria-hidden="true"] {
    transform: rotate(45deg);
}

.group\/menu:hover > div,
.group\/menu:focus-within > div {
    pointer-events: auto;
}

.hero-carousel {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--theme-dark-deep);
    color: #ffffff;
}

.hero-carousel__viewport {
    position: relative;
    min-height: clamp(34rem, 78vh, 48rem);
}

.hero-carousel__viewport--compact {
    min-height: clamp(28rem, 62vh, 38rem);
}

.hero-carousel__viewport--tall {
    min-height: clamp(40rem, 88vh, 56rem);
}

.hero-carousel__slide {
    position: absolute;
    inset: 0;
    isolation: isolate;
    overflow: hidden;
}

.hero-carousel__slide[hidden] {
    display: none;
}

.hero-carousel__media,
.hero-carousel__overlay {
    position: absolute;
    inset: 0;
}

.hero-carousel__media {
    z-index: 0;
    display: block;
    background: var(--theme-dark-deep);
}

.hero-carousel__media--fallback {
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--theme-accent) 34%, transparent), transparent 34%),
        linear-gradient(135deg, var(--theme-hero-start) 0%, var(--theme-hero-mid) 58%, var(--theme-hero-end) 100%);
}

.hero-carousel__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-carousel__overlay {
    z-index: 1;
}

.hero-carousel__overlay--dark {
    background: linear-gradient(90deg, rgb(2 6 23 / .86) 0%, rgb(2 6 23 / var(--hero-overlay-opacity, .6)) 44%, rgb(2 6 23 / .2) 100%);
}

.hero-carousel__slide--right .hero-carousel__overlay--dark {
    background: linear-gradient(270deg, rgb(2 6 23 / .86) 0%, rgb(2 6 23 / var(--hero-overlay-opacity, .6)) 44%, rgb(2 6 23 / .2) 100%);
}

.hero-carousel__slide--center .hero-carousel__overlay--dark {
    background: radial-gradient(circle at center, rgb(2 6 23 / var(--hero-overlay-opacity, .6)) 0%, rgb(2 6 23 / .58) 42%, rgb(2 6 23 / .32) 100%);
}

.hero-carousel__overlay--brand {
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--theme-accent) 44%, transparent), transparent 36%),
        linear-gradient(90deg, rgb(2 6 23 / .82) 0%, rgb(15 23 42 / var(--hero-overlay-opacity, .6)) 48%, rgb(15 23 42 / .24) 100%);
}

.hero-carousel__slide--right .hero-carousel__overlay--brand {
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--theme-accent) 44%, transparent), transparent 36%),
        linear-gradient(270deg, rgb(2 6 23 / .82) 0%, rgb(15 23 42 / var(--hero-overlay-opacity, .6)) 48%, rgb(15 23 42 / .24) 100%);
}

.hero-carousel__slide--center .hero-carousel__overlay--brand {
    background:
        radial-gradient(circle at center, color-mix(in srgb, var(--theme-accent) 42%, transparent), transparent 38%),
        rgb(2 6 23 / var(--hero-overlay-opacity, .6));
}

.hero-carousel__overlay--soft {
    background: linear-gradient(90deg, rgb(2 6 23 / var(--hero-overlay-opacity, .6)) 0%, rgb(2 6 23 / .34) 48%, rgb(2 6 23 / .12) 100%);
}

.hero-carousel__slide--right .hero-carousel__overlay--soft {
    background: linear-gradient(270deg, rgb(2 6 23 / var(--hero-overlay-opacity, .6)) 0%, rgb(2 6 23 / .34) 48%, rgb(2 6 23 / .12) 100%);
}

.hero-carousel__slide--center .hero-carousel__overlay--soft {
    background: rgb(2 6 23 / var(--hero-overlay-opacity, .6));
}

.hero-carousel__inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    max-width: 80rem;
    margin: 0 auto;
    padding: 6rem 1rem 10.5rem;
    align-items: center;
}

.hero-carousel__content-wrap--left {
    justify-content: flex-start;
}

.hero-carousel__content-wrap--center {
    justify-content: center;
}

.hero-carousel__content-wrap--right {
    justify-content: flex-end;
}

.hero-carousel__content {
    max-width: var(--hero-content-max-width, 42rem);
    text-shadow: 0 1.2rem 3rem rgb(2 6 23 / .55);
}

.hero-carousel__content--center {
    text-align: center;
}

.hero-carousel__content--right {
    text-align: right;
}

.hero-carousel__panel--glass,
.hero-carousel__panel--solid {
    border: 1px solid rgb(255 255 255 / .18);
    border-radius: 1.5rem;
    padding: clamp(1.25rem, 3vw, 2.25rem);
    text-shadow: none;
    box-shadow: 0 1.5rem 4rem rgb(2 6 23 / .24);
}

.hero-carousel__panel--glass {
    background: rgb(15 23 42 / .52);
    backdrop-filter: blur(18px);
}

.hero-carousel__panel--solid {
    background: rgb(15 23 42 / .88);
}

.hero-carousel__eyebrow,
.hero-carousel__badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgb(255 255 255 / .18);
    background: rgb(255 255 255 / .12);
    padding: .55rem .9rem;
    color: #dbeafe;
    font-size: .72rem;
    font-weight: var(--theme-card-heading-font-weight);
    letter-spacing: var(--theme-label-letter-spacing);
    line-height: 1.2;
    text-transform: var(--theme-label-text-transform);
}

.hero-carousel__content--center .hero-carousel__eyebrow,
.hero-carousel__content--center .hero-carousel__badge,
.hero-carousel__content--right .hero-carousel__eyebrow,
.hero-carousel__content--right .hero-carousel__badge {
    margin-left: auto;
}

.hero-carousel__title {
    max-width: 15ch;
    margin: 1.2rem 0 0;
    color: #ffffff;
    font-size: var(--hero-title-size, clamp(2.2rem, 4.2vw, 3.9rem));
    font-weight: var(--theme-hero-heading-font-weight);
    letter-spacing: 0;
    line-height: 1;
}

.hero-carousel__content--center .hero-carousel__title,
.hero-carousel__content--right .hero-carousel__title {
    margin-left: auto;
}

.hero-carousel__subtitle {
    max-width: 42rem;
    margin: 1.4rem 0 0;
    color: rgb(241 245 249 / .92);
    font-size: clamp(1rem, 2vw, 1.3rem);
    line-height: 1.7;
}

.hero-carousel__content--center .hero-carousel__subtitle,
.hero-carousel__content--right .hero-carousel__subtitle {
    margin-left: auto;
}

.hero-carousel__badge {
    margin-top: 1.35rem;
    color: #ffffff;
}

.hero-carousel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 2rem;
}

.hero-carousel__content--center .hero-carousel__actions {
    justify-content: center;
}

.hero-carousel__content--right .hero-carousel__actions {
    justify-content: flex-end;
}

.hero-carousel__button {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
    padding: .8rem 1.2rem;
    color: #ffffff;
    font-size: .92rem;
    font-weight: var(--theme-nav-font-weight);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.hero-carousel__button:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.hero-carousel__button--primary {
    background: var(--theme-accent);
    box-shadow: 0 1rem 2rem rgb(2 6 23 / .22);
}

.hero-carousel__button--primary:hover {
    background: var(--theme-accent-hover);
}

.hero-carousel__button--secondary {
    border: 1px solid rgb(255 255 255 / .24);
    background: rgb(255 255 255 / .12);
    backdrop-filter: blur(12px);
}

.hero-carousel__button--secondary:hover {
    background: rgb(255 255 255 / .2);
}

.hero-carousel__navigation {
    position: absolute;
    z-index: 5;
    right: 1rem;
    bottom: 2rem;
    left: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    max-width: 80rem;
    margin: 0 auto;
    align-items: center;
    gap: 1rem;
    pointer-events: none;
}

.hero-carousel__dots,
.hero-carousel__controls {
    display: flex;
    gap: .55rem;
    align-items: center;
}

.hero-carousel__dots {
    grid-column: 2;
    justify-content: center;
}

.hero-carousel__controls {
    grid-column: 3;
    justify-content: flex-end;
}

.hero-carousel__dot {
    width: .75rem;
    height: .75rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .42);
    cursor: pointer;
    transition: width .2s ease, background-color .2s ease;
}

.hero-carousel__dot,
.hero-carousel__control {
    pointer-events: auto;
}

.hero-carousel__dot[aria-selected="true"] {
    width: 2rem;
    background: var(--theme-accent);
}

.hero-carousel__control {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, .24);
    background: rgba(15, 23, 42, .38);
    color: #ffffff;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: var(--theme-nav-font-weight);
    transition: background-color .2s ease, transform .2s ease;
}

.hero-carousel__control:hover {
    background: rgba(15, 23, 42, .58);
    transform: translateY(-1px);
}

.public-footer__grid {
    grid-template-columns: 1fr;
}

.article-content {
    color: rgb(51 65 85);
    font-size: 1.075rem;
    line-height: 1.85;
}

.article-content > * + * {
    margin-top: 1.2rem;
}

.article-content h2,
.article-content h3 {
    color: rgb(15 23 42);
    font-weight: var(--theme-section-heading-font-weight);
    line-height: 1.18;
}

.article-content h2 {
    margin-top: 2.5rem;
    font-size: var(--theme-article-h2-size);
}

.article-content h3 {
    margin-top: 2rem;
    font-size: var(--theme-article-h3-size);
}

.article-content a {
    color: rgb(29 78 216);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .18em;
}

.article-content ul,
.article-content ol {
    padding-left: 1.35rem;
}

.article-content ul {
    list-style: disc;
}

.article-content ol {
    list-style: decimal;
}

.article-content blockquote {
    border-left: .25rem solid var(--theme-accent);
    padding-left: 1rem;
    color: rgb(71 85 105);
    font-weight: 700;
}

.article-content img {
    width: 100%;
    border-radius: 1rem;
}

.article-content .rich-media-image {
    margin: 2rem 0;
}

.article-content .rich-media-image img {
    display: block;
}

.article-content .rich-media-image figcaption {
    margin-top: .65rem;
    color: rgb(100 116 139);
    font-size: .92rem;
    line-height: 1.55;
    text-align: center;
}

.article-content .rich-media-image--center {
    max-width: 42rem;
    margin-right: auto;
    margin-left: auto;
}

.article-content .rich-media-image--left,
.article-content .rich-media-image--right {
    max-width: 24rem;
}

.article-content .rich-media-image--left {
    margin-right: auto;
}

.article-content .rich-media-image--right {
    margin-left: auto;
}

.article-content table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: .75rem;
    font-size: .95rem;
}

.article-content th,
.article-content td {
    border: 1px solid rgb(226 232 240);
    padding: .75rem;
    text-align: left;
}

.article-content th {
    background: rgb(248 250 252);
    color: rgb(15 23 42);
}

@media (min-width: 768px) {
    .public-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1280px) {
    .public-footer__grid--compact {
        grid-template-columns: 1.15fr .9fr .9fr .9fr .95fr;
    }

    .public-footer__grid--columns {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .public-footer__grid--wide {
        grid-template-columns: 1.15fr 1fr 1fr .9fr 1.25fr;
    }

    .public-footer__menus {
        grid-column: span 2;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .public-footer__hours-list dd {
        white-space: nowrap;
    }
}

@media (min-width: 1024px) {
    .site-nav__list {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: .15rem;
    }

    .site-nav__summary,
    .site-nav__link {
        width: auto;
        padding: .65rem .82rem;
        white-space: nowrap;
    }

    .site-nav__details[open] > .site-nav__panel {
        display: block;
    }

    .site-nav__panel {
        position: absolute;
        top: calc(100% + .75rem);
        left: 0;
        display: none;
        margin-top: 0;
        min-width: 17rem;
        max-width: calc(100vw - 2rem);
        max-height: min(70vh, 38rem);
        overflow: auto;
        overscroll-behavior: contain;
        padding: .75rem;
        transform: translateX(var(--menu-panel-shift, 0px));
    }

    .site-nav__details--mega_menu > .site-nav__panel {
        left: 50%;
        width: min(72rem, calc(100vw - 2rem));
        transform: translateX(calc(-50% + var(--menu-panel-shift, 0px)));
    }

    .site-nav__mega-grid {
        grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
    }

    .site-nav__dropdown-list .site-nav__link,
    .site-nav__dropdown-list .site-nav__summary {
        width: 100%;
        white-space: normal;
    }

}

@media (min-width: 1024px) and (max-width: 1420px) {
    .site-header > div {
        gap: .5rem;
    }

    .site-header .site-logo {
        max-width: min(42vw, 14rem);
    }

    .site-nav__summary,
    .site-nav__link {
        padding-inline: .5rem;
    }

    .site-header__search-trigger {
        width: auto;
        min-width: 2.85rem;
        padding: 0 .55rem;
    }

    .site-header__cta {
        padding-inline: .75rem;
    }
}

@media (min-width: 1024px) and (max-width: 1399px) {
    .site-header .site-nav,
    .site-header__actions {
        display: none !important;
    }

    .site-header .js-mobile-menu-toggle {
        display: inline-flex !important;
    }

    .site-mobile-nav:not(.hidden) {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .cookie-consent,
    .cookie-consent--bottom_left,
    .cookie-consent--bottom_right {
        right: .75rem;
        bottom: 5.25rem;
        left: .75rem;
        max-width: none;
    }

    .cookie-consent__launcher {
        bottom: .75rem;
        left: .75rem;
        width: 3.5rem;
        height: 3.5rem;
    }

    .cookie-consent__banner,
    .cookie-consent__category {
        grid-template-columns: 1fr;
    }

    .cookie-consent__actions,
    .cookie-consent__dialog-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cookie-consent__button {
        width: 100%;
        justify-content: center;
    }

    .accessibility-toolbar {
        right: .75rem;
        left: .75rem;
        top: 50%;
        bottom: auto;
        flex-direction: column;
        align-items: flex-end;
        max-width: none;
        transform: translateY(-50%);
    }

    .accessibility-toolbar__panel {
        width: 100%;
    }

    .accessibility-toolbar__toggle {
        max-width: 100%;
    }

    .accessibility-toolbar__actions {
        grid-template-columns: 1fr;
    }

    .accessibility-toolbar__range {
        grid-template-columns: 1fr 1fr 3.5rem 3rem 3rem;
    }

    .accessibility-toolbar__range label {
        grid-column: 1 / -1;
        padding-bottom: .2rem;
    }

    .hero-carousel__viewport,
    .hero-carousel__viewport--compact,
    .hero-carousel__viewport--tall {
        min-height: 38rem;
    }

    .hero-carousel__inner {
        padding-top: 4.5rem;
        padding-bottom: 11rem;
    }

    .hero-carousel__content,
    .hero-carousel__content--right {
        max-width: 100%;
        text-align: left;
    }

    .hero-carousel__content--center {
        text-align: center;
    }

    .hero-carousel__content--right .hero-carousel__eyebrow,
    .hero-carousel__content--right .hero-carousel__badge,
    .hero-carousel__content--right .hero-carousel__title,
    .hero-carousel__content--right .hero-carousel__subtitle {
        margin-left: 0;
    }

    .hero-carousel__title {
        max-width: 13ch;
        font-size: var(--hero-title-size-mobile, clamp(1.9rem, 9vw, 2.65rem));
    }

    .hero-carousel__actions,
    .hero-carousel__content--right .hero-carousel__actions {
        justify-content: flex-start;
    }

    .hero-carousel__content--center .hero-carousel__actions {
        justify-content: center;
    }

    .hero-carousel__button {
        width: 100%;
    }

    .hero-carousel__navigation {
        bottom: 1.25rem;
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .hero-carousel__dots,
    .hero-carousel__controls {
        grid-column: 1;
        justify-content: center;
    }
}

.contact-card {
    border: 1px solid rgb(226 232 240);
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
}

.contact-input {
    border-radius: 1rem;
    border: 1px solid rgb(203 213 225);
    background: #ffffff;
    padding: .75rem 1rem;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.contact-input:focus {
    border-color: var(--theme-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--theme-accent) 18%, transparent);
}

body[data-theme="computers_antoniou_classic"] .bg-blue-500,
body[data-theme="computers_antoniou_classic"] .bg-blue-600,
body[data-theme="computers_antoniou_classic"] .bg-blue-700 {
    background-color: var(--theme-accent) !important;
}

body[data-theme="computers_antoniou_classic"] .hover\:bg-blue-400:hover,
body[data-theme="computers_antoniou_classic"] .hover\:bg-blue-500:hover {
    background-color: var(--theme-accent-hover) !important;
}

body[data-theme="computers_antoniou_classic"] .hover\:bg-blue-50:hover {
    background-color: var(--theme-accent-soft) !important;
}

body[data-theme="computers_antoniou_classic"] .text-blue-100 {
    color: #ffe4e6 !important;
}

body[data-theme="computers_antoniou_classic"] .text-blue-700,
body[data-theme="computers_antoniou_classic"] .text-blue-800,
body[data-theme="computers_antoniou_classic"] .hover\:text-blue-800:hover {
    color: var(--theme-accent-text) !important;
}

body[data-theme="computers_antoniou_classic"] .border-blue-400,
body[data-theme="computers_antoniou_classic"] .hover\:border-blue-400:hover {
    border-color: var(--theme-accent) !important;
}

body[data-theme="computers_antoniou_classic"] .focus\:ring-blue-200:focus,
body[data-theme="computers_antoniou_classic"] .focus\:ring-blue-600:focus {
    --tw-ring-color: rgba(227, 6, 19, .45) !important;
}

body[data-theme="computers_antoniou_classic"] .shadow-blue-950\/20,
body[data-theme="computers_antoniou_classic"] .shadow-blue-950\/30 {
    --tw-shadow-color: rgba(17, 17, 17, .28) !important;
}

body[data-theme="computers_antoniou_classic"] .bg-slate-950 {
    background-color: var(--theme-dark) !important;
}

body[data-theme="computers_antoniou_classic"] main section:first-child > .absolute.inset-0 {
    background:
        radial-gradient(circle at top left, rgba(227, 6, 19, .34), transparent 34%),
        linear-gradient(135deg, var(--theme-hero-start) 0%, var(--theme-hero-mid) 58%, #370006 100%) !important;
}

body[data-theme="computers_antoniou_classic"] main section:first-child aside {
    border-color: rgba(255, 255, 255, .18);
    background: rgba(255, 255, 255, .09);
}

@media (max-width: 1023px) {
    #primary-navigation {
        max-height: calc(100vh - 6rem);
        overflow-y: auto;
    }
}
