/* ADAMAS Hero v0.2.13 - minimal single-row desktop menu adjustment from v0.2.12 */

.adamas-hero {
    --adamas-base: #ffffff;
    --adamas-surface: #f1f4ed;
    --adamas-gold: #e8bd46;
    --adamas-gold-hover: #fbd479;
    --adamas-button-ink: #151b15;
    --adamas-ink: #1d281b;
    --adamas-copy: #4d5748;
    --adamas-muted: #56624f;
    --adamas-accent: #53663c;
    --adamas-line: rgba(29,40,27,.12);
    --adamas-strong-line: rgba(29,40,27,.24);
    --adamas-separator: rgba(29,40,27,.35);
    --adamas-header-line: rgba(29,40,27,.10);
    --adamas-header-fill: linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.54));
    --adamas-header-blur: 6px;
    --adamas-shadow: 0 14px 32px rgba(13,19,14,.06);
    --adamas-secondary-fill: rgba(29,40,27,.025);
    --adamas-hover-fill: rgba(29,40,27,.07);
    --adamas-stat-fill: linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.86));
    --adamas-stat-alt: linear-gradient(145deg,rgba(237,243,229,.94),rgba(255,255,255,.86));
    --adamas-stat-hover: linear-gradient(145deg,rgba(255,255,255,.98),rgba(243,246,237,.88));
    --adamas-copy-scrim: transparent;
    --adamas-detail-ink: var(--adamas-ink);
    --adamas-detail-accent: var(--adamas-accent);
    --adamas-menu-surface: rgba(255,255,255,.98);
    --adamas-media-overlay: linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.94) 20%,rgba(255,255,255,.89) 36%,rgba(255,255,255,.84) 49%,rgba(255,255,255,.35) 60%,rgba(255,255,255,.14) 73%,rgba(255,255,255,.05) 88%,rgba(255,255,255,0) 100%);
    --adamas-media-overlay-stacked: linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.93) 28%,rgba(255,255,255,.85) 48%,rgba(255,255,255,.72) 72%,rgba(255,255,255,.62) 100%);
    --adamas-atmosphere: radial-gradient(circle at 72% 32%,rgba(83,102,60,.025),transparent 35%),linear-gradient(to bottom,transparent 76%,rgba(255,255,255,.18));

    position: relative;
    width: 100%;
    min-height: 860px;
    overflow: hidden;
    color: var(--adamas-ink);
    font-family: "Sora", "Roboto", Arial, sans-serif;
    background: var(--adamas-base);
}


/* Deep olive is the dark mode. The light palette above is the default. */
.adamas-hero[data-theme="dark"] {
    --adamas-base: #151b15;
    --adamas-surface: #232d22;
    --adamas-ink: #f4f1e6;
    --adamas-copy: rgba(244,241,230,.76);
    --adamas-muted: rgba(244,241,230,.72);
    --adamas-accent: #e8bd46;
    --adamas-line: rgba(244,241,230,.12);
    --adamas-strong-line: rgba(244,241,230,.24);
    --adamas-separator: rgba(244,241,230,.35);
    --adamas-header-line: rgba(244,241,230,.10);
    --adamas-header-fill: linear-gradient(135deg,rgba(13,19,14,.86),rgba(21,27,21,.72));
    --adamas-header-blur: 11px;
    --adamas-shadow: 0 14px 32px rgba(0,0,0,.14);
    --adamas-secondary-fill: rgba(244,241,230,.025);
    --adamas-hover-fill: rgba(244,241,230,.08);
    --adamas-stat-fill: linear-gradient(145deg,rgba(21,27,21,.86),rgba(21,27,21,.76));
    --adamas-stat-alt: linear-gradient(145deg,rgba(35,45,34,.88),rgba(21,27,21,.78));
    --adamas-stat-hover: linear-gradient(145deg,rgba(35,45,34,.94),rgba(21,27,21,.86));
    --adamas-copy-scrim: linear-gradient(90deg,rgba(21,27,21,.72),rgba(21,27,21,.64));
    --adamas-menu-surface: rgba(13,19,14,.97);
    --adamas-media-overlay: linear-gradient(90deg,rgba(21,27,21,.94) 0%,rgba(21,27,21,.88) 30%,rgba(21,27,21,.58) 48%,rgba(15,24,15,.30) 66%,rgba(15,24,15,.22) 100%);
    --adamas-media-overlay-stacked: linear-gradient(110deg,rgba(21,27,21,.80) 0%,rgba(21,27,21,.48) 48%,rgba(15,24,15,.26) 100%);
    --adamas-atmosphere: radial-gradient(circle at 72% 32%,rgba(177,191,154,.035),transparent 35%),linear-gradient(to bottom,transparent 76%,rgba(13,19,14,.20));
}

/* Floating labels use the olive-mode cream/gold treatment over media.
   With no selected media, they fall back to the current theme's ink. */
.adamas-hero:has(> .adamas-hero-media) {
    --adamas-detail-ink: #f4f1e6;
    --adamas-detail-accent: #e8bd46;
}

/* Actual image/video element. Using a real media element avoids URL parsing
   differences between Joomla Media Manager providers and SPPB routes. */
.adamas-hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
}

/* Theme-aware overlay for both image and video modes. */
.adamas-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: var(--adamas-media-overlay);
}

/* A restrained olive atmosphere above the media overlay. */
.adamas-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: var(--adamas-atmosphere);
}

.adamas-hero,
.adamas-hero *,
.adamas-hero *::before,
.adamas-hero *::after {
    box-sizing: border-box;
}

/* Floating header */
.adamas-hero-header {
    position: absolute;
    top: 26px;
    left: 0;
    right: 0;
    z-index: 40;
    width: 100%;
    background: transparent;
    border: 0;
}

.adamas-hero-header-inner {
    position: relative;
    max-width: 1380px;
    margin: 0 auto;
    padding: 18px 28px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    grid-template-areas:
        "logo utility utility"
        "nav nav alert";
    column-gap: 40px;
    row-gap: 17px;
    align-items: center;
    border: 1px solid var(--adamas-header-line);
    border-radius: 4px;
    background: var(--adamas-header-fill);
    box-shadow: var(--adamas-shadow);
    backdrop-filter: blur(var(--adamas-header-blur));
    -webkit-backdrop-filter: blur(var(--adamas-header-blur));
}

/* Stronger text colour keeps the lighter glass header legible. */
.adamas-hero:not([data-theme="dark"]) .adamas-hero-header-inner {
    --adamas-copy: var(--adamas-ink);
    --adamas-muted: var(--adamas-ink);
}

/* Logo */
.adamas-hero-logo {
    grid-area: logo;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    color: var(--adamas-ink);
    text-decoration: none;
}

.adamas-hero-logo img {
    display: block;
    width: 210px;
    max-height: 56px;
    object-fit: contain;
    object-position: left center;
    filter: none;
    opacity: 1;
}

.adamas-hero-logo-fallback {
    font-size: 23px;
    line-height: 1;
    font-weight: 800;
    font-style: italic;
    letter-spacing: -.04em;
}

/* Utility */
.adamas-hero-utility {
    grid-area: utility;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.adamas-hero-language {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.adamas-hero-language a {
    color: var(--adamas-muted);
    text-decoration: none;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: color .2s ease;
}

.adamas-hero-language a:hover,
.adamas-hero-language a.is-active {
    color: var(--adamas-ink);
}

.adamas-hero-separator {
    color: var(--adamas-separator);
    font-size: 11px;
    font-weight: 300;
}

/* Social - intentionally naked */
.adamas-hero-social {
    display: flex;
    align-items: center;
    gap: 14px;
}

.adamas-hero-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--adamas-muted);
    background: transparent;
    border: 0;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.adamas-hero-social a:hover {
    color: var(--adamas-accent);
    transform: translateY(-1px);
}

.adamas-hero-social svg {
    display: block;
    width: 15px;
    height: 15px;
}


/* Theme and utility controls stay naked, with usable keyboard/touch targets. */
.adamas-hero-utility { min-width: 0; max-width: 100%; }
.adamas-hero-tools,
.adamas-hero-social-block {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 4px;
    max-width: 100%;
}
.adamas-hero-social-block { gap: 12px; }
.adamas-hero .adamas-hero-tool {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 32px;
    margin: 0;
    padding: 4px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--adamas-muted);
    font: inherit;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    transition: color .2s ease, transform .2s ease;
}
.adamas-hero .adamas-hero-tool:hover {
    background: transparent;
    color: var(--adamas-accent);
    transform: translateY(-1px);
}
.adamas-hero-tool svg { display: block; width: 18px; height: 18px; }
.adamas-theme-icon-dark { display: inline-flex; }
.adamas-theme-icon-light { display: none; }
.adamas-hero[data-theme="dark"] .adamas-theme-icon-dark { display: none; }
.adamas-hero[data-theme="dark"] .adamas-theme-icon-light { display: inline-flex; }
.adamas-hero [hidden] { display: none !important; }
.adamas-hero :is(a,button):focus-visible {
    outline: 2px solid var(--adamas-accent);
    outline-offset: 4px;
}
.adamas-hero-social a { min-width: 24px; min-height: 32px; }

/* Main nav */
.adamas-hero-nav {
    grid-area: nav;
    display: block;
    min-width: 0;
    margin: 0;
}

.adamas-hero :is(.adamas-nav-list,.adamas-nav-submenu) {
    list-style: none;
    margin: 0;
    padding: 0;
}

.adamas-hero .adamas-nav-item { position: relative; margin: 0; padding: 0; }
.adamas-hero .adamas-nav-row { display: flex; align-items: center; gap: 5px; }
.adamas-hero-nav > .adamas-nav-list {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px 31px;
}

/* The navigation spans all space before Alert, independently of utilities.
   Keep both each title and the complete desktop menu on one line. */
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item { flex: 0 0 auto; }
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row { white-space: nowrap; }
.adamas-hero-nav .adamas-nav-row { min-height: 30px; }
.adamas-hero-nav :is(.adamas-nav-link,.adamas-nav-label) {
    position: relative;
    color: var(--adamas-copy);
    text-decoration: none;
    font-size: 10px;
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: .065em;
    text-transform: uppercase;
    transition: color .2s ease;
}

/* Only main menu titles are enlarged; submenu typography stays unchanged. */
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label),
.adamas-hero-mobile-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label) {
    font-size: 12px;
}

/* One row baseline for links, headings and separator buttons alike. */
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row {
    position: relative;
}
/* Clear older link/button pseudo-lines; the row owns the single underline. */
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label)::after {
    content: none !important;
    display: none !important;
}
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row::after {
    content: "";
    display: none !important;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: var(--adamas-accent);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}

.adamas-hero-nav :is(.adamas-nav-link,.adamas-nav-label):hover,
.adamas-hero-nav .is-active > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label),
.adamas-hero-nav .is-submenu-open > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label) {
    color: var(--adamas-ink);
}

.adamas-hero-nav > .adamas-nav-list > [data-nav-active="1"] > .adamas-nav-row::after {
    display: block !important;
    opacity: 1;
    visibility: visible;
}
@media (hover:hover) and (pointer:fine) {
    .adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row:hover::after {
        display: block !important;
        opacity: 1;
        visibility: visible;
    }
}

.adamas-hero .adamas-nav-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
    padding: 0;
    min-height: 30px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--adamas-copy);
    font-family: inherit;
    cursor: pointer;
    appearance: none;
}
.adamas-hero .adamas-nav-caret { padding: 0 3px; }
.adamas-hero .adamas-nav-chevron {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    transition: transform .2s ease;
}
.adamas-hero [aria-expanded="true"] > .adamas-nav-chevron { transform: rotate(180deg); }
.adamas-hero .adamas-nav-heading { display: inline-block; }
.adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 60;
    width: max-content;
    min-width: 230px;
    max-width: min(360px,calc(100vw - 32px));
    max-height: min(480px,60vh);
    overflow: auto;
    overscroll-behavior: contain;
    padding: 10px 14px;
    border: 1px solid var(--adamas-line);
    border-radius: 3px;
    background: var(--adamas-menu-surface);
    box-shadow: var(--adamas-shadow);
}
.adamas-hero-nav .adamas-nav-submenu .adamas-nav-row { min-height: 40px; }
.adamas-hero-nav .adamas-nav-submenu :is(.adamas-nav-link,.adamas-nav-label) {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 0;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    overflow-wrap: anywhere;
}
.adamas-hero-nav .adamas-nav-submenu .adamas-nav-submenu {
    margin: 0 0 6px 4px;
    padding-left: 14px;
    border-left: 1px solid var(--adamas-line);
}
.adamas-hero-nav .adamas-nav-submenu .adamas-nav-row:hover { color: var(--adamas-accent); }

/* Alert */
.adamas-hero-alert {
    grid-area: alert;
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 45px;
    padding: 0 21px;
    border-radius: 3px;
    color: var(--adamas-button-ink);
    background: var(--adamas-gold);
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: transform .2s ease, background .2s ease;
}

.adamas-hero-alert svg {
    width: 15px;
    height: 15px;
}

.adamas-hero-alert:hover {
    color: var(--adamas-button-ink);
    background: var(--adamas-gold-hover);
    transform: translateY(-1px);
}

/* Hero body */
.adamas-hero-content {
    position: relative;
    z-index: 10;
    max-width: 1380px;
    min-height: 860px;
    margin: 0 auto;
    padding: 205px 32px 76px;
    display: grid;
    grid-template-columns: minmax(0,1.16fr) minmax(430px,.84fr);
    align-items: center;
    gap: 78px;
}

.adamas-hero-copy {
    position: relative;
    isolation: isolate;
    max-width: 735px;
}

/* The accepted dark mode retains its feathered copy scrim. In light mode,
   the full-width media gradient supplies contrast without a white panel. */
.adamas-hero-copy::before {
    content: "";
    position: absolute;
    inset: -32px -38px;
    z-index: -1;
    background: var(--adamas-copy-scrim);
    filter: blur(24px);
    pointer-events: none;
}

.adamas-hero:not([data-theme="dark"]) .adamas-hero-copy::before {
    content: none;
}

.adamas-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 23px;
    color: var(--adamas-accent);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.adamas-hero-kicker::before {
    content: "";
    width: 39px;
    height: 2px;
    background: var(--adamas-accent);
}

.adamas-hero-title {
    margin: 0;
    font-size: clamp(42px,4.2vw,65px);
    line-height: .99;
    font-weight: 800;
    font-style: italic;
    letter-spacing: -.047em;
    text-transform: uppercase;
}

.adamas-hero-title .soft,
.adamas-hero-title .accent {
    display: block;
}

.adamas-hero-title .soft { color: var(--adamas-ink); }
.adamas-hero-title .accent { color: var(--adamas-accent); }

.adamas-hero-description {
    max-width: 650px;
    margin: 28px 0 0;
    color: var(--adamas-copy);
    font-size: 15px;
    line-height: 1.82;
    font-weight: 300;
}

.adamas-hero-description strong {
    color: var(--adamas-ink);
    font-weight: 600;
}

/* CTA */
.adamas-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 35px;
}

.adamas-hero-btn {
    min-height: 48px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    transition: all .22s ease;
}

.adamas-hero-btn svg {
    width: 15px;
    height: 15px;
}

.adamas-hero-btn-primary {
    color: var(--adamas-button-ink);
    background: var(--adamas-gold);
}

.adamas-hero-btn-primary:hover {
    color: var(--adamas-button-ink);
    background: var(--adamas-gold-hover);
    transform: translateY(-2px);
}

.adamas-hero-btn-secondary {
    color: var(--adamas-ink);
    border: 1px solid var(--adamas-strong-line);
    background: var(--adamas-secondary-fill);
}

.adamas-hero-btn-secondary:hover {
    color: var(--adamas-ink);
    background: var(--adamas-hover-fill);
    border-color: var(--adamas-accent);
    transform: translateY(-2px);
}

/* Stats */
.adamas-hero-panel {
    width: 100%;
    max-width: 510px;
    margin-left: auto;
}

.adamas-hero-panel-label {
    width: fit-content;
    max-width: 100%;
    margin-bottom: 16px;
    color: var(--adamas-detail-ink);
    background: transparent;
    box-shadow: none;
    text-shadow: none;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .24em;
    text-transform: uppercase;
}

.adamas-hero-stat-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: 1px solid var(--adamas-strong-line);
    border-left: 1px solid var(--adamas-line);
    border-radius: 0;
}

.adamas-hero-stat {
    position: relative;
    min-height: 154px;
    padding: 26px 25px 23px;
    border-right: 1px solid var(--adamas-line);
    border-bottom: 1px solid var(--adamas-line);
    border-radius: 0;
    background: var(--adamas-stat-fill);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    overflow: hidden;
    transition: background .22s ease;
}

.adamas-hero-stat::before {
    content: "";
    position: absolute;
    top: 0;
    left: 25px;
    width: 38px;
    height: 2px;
    background: var(--adamas-accent);
}

.adamas-hero-stat:nth-child(2),
.adamas-hero-stat:nth-child(3) {
    background: var(--adamas-stat-alt);
}

.adamas-hero-stat:hover {
    background: var(--adamas-stat-hover);
}

.adamas-hero-stat-icon {
    margin-bottom: 22px;
    color: var(--adamas-accent);
}

.adamas-hero-stat-icon svg {
    width: 21px;
    height: 21px;
}

.adamas-hero-stat-number {
    color: var(--adamas-ink);
    font-size: 34px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.045em;
}

.adamas-hero-stat-label {
    margin-top: 8px;
    color: var(--adamas-muted);
    font-size: 9px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.adamas-hero-promise {
    display: flex;
    align-items: center;
    gap: 13px;
    width: fit-content;
    max-width: 100%;
    margin-top: 14px;
    padding: 11px 4px 0;
    color: var(--adamas-detail-ink);
    background: transparent;
    box-shadow: none;
    text-shadow: none;
}

.adamas-hero-promise svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    color: var(--adamas-detail-accent);
}

.adamas-hero-promise span {
    font-size: 9px;
    line-height: 1.6;
    font-weight: 600;
}

/* Mobile menu */
.adamas-hero-menu-toggle,
.adamas-hero-mobile-nav {
    display: none;
}

.adamas-hero-menu-toggle {
    color: var(--adamas-ink);
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.adamas-hero-menu-toggle svg {
    width: 22px;
    height: 22px;
}

.adamas-menu-icon-close { display: none; }
.adamas-hero-header-inner.is-menu-open .adamas-menu-icon-open { display: none; }
.adamas-hero-header-inner.is-menu-open .adamas-menu-icon-close { display: inline-flex; }

@media (max-width:1160px) {
    .adamas-hero-nav > .adamas-nav-list { column-gap: 20px; }
    .adamas-hero-nav > .adamas-nav-list > .adamas-nav-item > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label) { font-size: 11px; }
    .adamas-hero-content {
        grid-template-columns: minmax(0,1fr) 410px;
        gap: 48px;
    }
}

@media (max-width:980px) {
    /* The light stacked gradient supports ink-coloured floating labels.
       Dark mode retains its accepted cream/gold labels over the media. */
    .adamas-hero:not([data-theme="dark"]) {
        --adamas-detail-ink: var(--adamas-ink);
        --adamas-detail-accent: var(--adamas-accent);
    }
    .adamas-hero::after { background: var(--adamas-media-overlay-stacked); }
    .adamas-hero-header { top: 18px; }
    .adamas-hero-header-inner {
        grid-template-columns: minmax(0,1fr) auto;
        grid-template-areas:
            "logo utility"
            "menu alert";
    }
    .adamas-hero-nav { display: none; }
    .adamas-hero-menu-toggle {
        grid-area: menu;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        width: fit-content;
    }
    .adamas-hero-mobile-nav {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        z-index: 50;
        padding: 16px 20px;
        flex-direction: column;
        gap: 0;
        border: 1px solid var(--adamas-line);
        border-radius: 3px;
        background: var(--adamas-menu-surface);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        max-height: 60vh;
        overflow: auto;
        overscroll-behavior: contain;
    }
    .adamas-hero-header-inner.is-menu-open .adamas-hero-mobile-nav { display: flex; }
    .adamas-hero-mobile-nav .adamas-nav-row { min-height: 44px; }
    .adamas-hero-mobile-nav :is(.adamas-nav-link,.adamas-nav-label) {
        flex: 1 1 auto;
        min-width: 0;
        padding: 12px 0;
        color: var(--adamas-copy);
        text-decoration: none;
        font-size: 10px;
        line-height: 1.55;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }
    .adamas-hero-mobile-nav > .adamas-nav-list > .adamas-nav-item + .adamas-nav-item { border-top: 1px solid var(--adamas-line); }
    .adamas-hero-mobile-nav .adamas-nav-caret { min-width: 44px; min-height: 44px; justify-content: center; }
    .adamas-hero-mobile-nav :is(.adamas-nav-link,.adamas-nav-label):hover,
    .adamas-hero-mobile-nav .is-active > .adamas-nav-row > :is(.adamas-nav-link,.adamas-nav-label) { color: var(--adamas-accent); }
    .adamas-hero-mobile-nav .adamas-nav-submenu { margin: 0 0 6px 4px; padding-left: 14px; border-left: 1px solid var(--adamas-line); }
    .adamas-hero-mobile-nav .adamas-nav-submenu :is(.adamas-nav-link,.adamas-nav-label) {
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: none;
    }
    .adamas-hero-content {
        grid-template-columns: 1fr;
        padding: 180px 32px 70px;
        gap: 55px;
    }
    .adamas-hero-panel {
        max-width: 650px;
        margin-left: 0;
    }
}

@media (max-width:680px) {
    .adamas-hero { min-height: auto; }
    .adamas-hero-header { top: 14px; }
    .adamas-hero-header-inner {
        margin: 0 14px;
        padding: 15px 20px;
        row-gap: 14px;
        border-radius: 4px;
    }
    .adamas-hero-logo img { width: 165px; }
    .adamas-hero-language { display: none; }
    .adamas-hero-utility > .adamas-hero-separator { display: none; }
    .adamas-hero-social { gap: 11px; }
    .adamas-hero-alert {
        min-height: 40px;
        padding: 0 14px;
        font-size: 8px;
    }
    .adamas-hero-content { padding: 165px 20px 60px; }
    .adamas-hero-title { font-size: 42px; }
    .adamas-hero-description { font-size: 13px; }
    .adamas-hero-actions { flex-direction: column; }
    .adamas-hero-btn { width: 100%; }
    .adamas-hero-stat {
        min-height: 138px;
        padding: 21px 19px;
    }
    .adamas-hero-stat::before {
        left: 19px;
        width: 31px;
    }
    .adamas-hero-stat-number { font-size: 27px; }
    .adamas-hero-stat-label { font-size: 8px; }
}

@media (max-width:430px) {
    .adamas-hero-logo img { width: 145px; }
    .adamas-hero-social { gap: 8px; }
    .adamas-hero-social svg { width: 13px; height: 13px; }
    .adamas-hero-alert svg { display: none; }
    .adamas-hero-title { font-size: 37px; }
    .adamas-hero-stat-number { font-size: 24px; }
}


/* Extra tools move below the logo as the header gets narrower. */
@media (max-width:900px) {
    .adamas-hero-header-inner {
        grid-template-areas: "logo alert" "utility menu";
        column-gap: 18px;
    }
    .adamas-hero-utility {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 4px 10px;
    }
    .adamas-hero-menu-toggle { justify-self: end; }
    .adamas-hero-content { padding-top: 215px; }
}
@media (max-width:680px) {
    .adamas-hero-content { padding-top: 215px; }
    .adamas-hero-social { gap: 6px; }
    .adamas-hero-social-block { gap: 8px; }
}
@media (max-width:430px) {
    .adamas-hero-header-inner { column-gap: 12px; }
    .adamas-hero-tools { gap: 2px; }
    .adamas-hero .adamas-hero-tool { min-width: 26px; padding: 3px; }
    .adamas-hero-social { gap: 4px; }
    .adamas-hero-social a { min-width: 22px; }
}

@media (prefers-reduced-motion:reduce) {
    .adamas-hero *,
    .adamas-hero *::before,
    .adamas-hero *::after {
        transition: none !important;
        scroll-behavior: auto !important;
    }

    .adamas-hero-video {
        display: none;
    }
}

/* Header-only keeps the accepted header design and removes hero height/media.
   Without JavaScript it remains a readable header in normal document flow. */
.adamas-hero[data-display-mode="header"] {
    min-height: 0;
    overflow: visible;
    padding: var(--adamas-header-top,26px) 0 16px;
    background: linear-gradient(90deg,var(--adamas-base),var(--adamas-surface) 54%,var(--adamas-base));
}
.adamas-hero[data-display-mode="header"]::before,
.adamas-hero[data-display-mode="header"]::after { content: none; }
.adamas-hero[data-display-mode="header"] > .adamas-hero-header {
    position: relative;
    top: auto;
}
.adamas-hero[data-display-mode="header"] .adamas-hero-header-inner {
    width: calc(100% - 48px);
    margin: 0 auto;
}
.adamas-hero[data-display-mode="header"] .adamas-hero-logo,
.adamas-hero[data-display-mode="header"] .adamas-hero-logo img { max-width: 100%; }

/* JS places this root directly under body, outside Page Builder transforms
   and overflow clipping. A matching spacer stays in its original position. */
.adamas-hero[data-display-mode="header"][data-header-floating="1"] {
    position: fixed;
    top: var(--adamas-header-top,26px);
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 0;
    background: transparent;
    pointer-events: none;
}
.adamas-hero[data-header-floating="1"] > .adamas-hero-header { pointer-events: auto; }
.adamas-header-spacer {
    display: block;
    width: 100%;
    background: linear-gradient(90deg,#ffffff,#f1f4ed 54%,#ffffff);
}
.adamas-header-spacer[data-theme="dark"] {
    background: linear-gradient(90deg,#151b15,#232d22 54%,#151b15);
}
.adamas-header-spacer[hidden] { display: none !important; }
html.adamas-has-floating-header { scroll-padding-top: var(--adamas-header-clearance,180px); }

@media (max-width:980px) {
    .adamas-hero[data-display-mode="header"] { padding-top: var(--adamas-header-top-mobile,14px); }
    .adamas-hero[data-display-mode="header"][data-header-floating="1"] {
        top: var(--adamas-header-top-mobile,14px);
        padding: 0;
    }
}
@media (max-width:680px) {
    .adamas-hero[data-display-mode="header"] .adamas-hero-header-inner { width: calc(100% - 28px); }
}

/* Full hero keeps its media/content in place; only this menu host floats.
   It shares the original theme and responsive header styles. */
.adamas-hero-floating-host {
    position: fixed;
    top: 26px;
    left: 0;
    right: 0;
    z-index: 1000;
    min-height: 0;
    overflow: visible;
    padding: 0;
    background: transparent;
    pointer-events: none;
}
.adamas-hero-floating-host::before,
.adamas-hero-floating-host::after { content: none; }
.adamas-hero-floating-host > .adamas-hero-header {
    position: relative;
    top: auto;
    pointer-events: auto;
}
@media (max-width:980px) {
    .adamas-hero-floating-host { top: 18px; }
}
@media (max-width:680px) {
    .adamas-hero-floating-host { top: 14px; }
}
