/*
Theme Name:   GeneratePress Child
Theme URI:    https://generatepress.com
Description:  Tema child personalizzato per GeneratePress.
Author:       Il tuo nome
Author URI:   https://staging.aresdifesa.it
Template:     generatepress
Version:      1.0.0
Text Domain:  generatepress-child
*/

/* ═══════════════════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════════════════ */

:root {
    --ares-ink:    #142334;
    --ares-muted:  #64748b;
    --ares-line:   rgba(18,38,63,.12);
    --ares-panel:  #f7f9fc;
    --ares-accent: #244764;
    --ares-gold:   #b68b3f;
}

/* ═══════════════════════════════════════════════════════════
   DARK LAYOUT BASE
═══════════════════════════════════════════════════════════ */

.home .site-content,
.home .inside-article,
.home .entry-content,
.ares-home-dark {
    background: #03101a;
}

.home,
body.home {
    background: #03101a;
}

/* overflow-x: hidden sul body su iOS Safari blocca lo scroll dell'intera pagina.
   Va applicato su un wrapper interno, non sul body/html. */
.ares-home-dark {
    overflow-x: clip; /* clip non crea un nuovo scroll container, hidden sì */
}

.home .site-content { padding: 0; }
.home .content-area,
.home .site-main     { margin: 0; }

.ares-home-dark {
    --ares-bg:          #03101a;
    --ares-bg-soft:     #071a27;
    --ares-card:        rgba(8,24,36,.86);
    --ares-border:      rgba(128,183,212,.2);
    --ares-text:        #e8f2f8;
    --ares-soft:        #9eb4c1;
    --ares-green:       #8cc63f;
    --ares-cyan:        #76c8ff;

    color: var(--ares-text);
    min-height: 100vh;
    padding: 28px 0 54px;
}

.ares-home-dark a { color: inherit; text-decoration: none; }

/* ═══════════════════════════════════════════════════════════
   CONTAINER
═══════════════════════════════════════════════════════════ */

.ares-home-top,
.ares-home-band,
.ares-newsletter-panel {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

/* ═══════════════════════════════════════════════════════════
   ATOMS
═══════════════════════════════════════════════════════════ */

.ares-section-kicker,
.ares-block-head h2 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 12px;
    color: #fff;
    font-size: .88rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.ares-section-kicker::before,
.ares-block-head h2::before {
    content: "";
    width: 4px;
    height: 16px;
    border-left: 2px solid var(--ares-green);
    border-right: 2px solid var(--ares-green);
    flex-shrink: 0;
}

.ares-eyebrow {
    display: inline-flex;
    margin-bottom: .5rem;
    color: var(--ares-green);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Fascia Premium in cima alla card articolo — stile analogo ad Aggiornato */
.ares-news-card__fresh--premium {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    width: 100%;
    padding: 0 12px;
    border: 0;
    border-bottom: 2px solid rgba(232, 184, 75, .58);
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, rgba(80, 55, 5, .92), rgba(50, 32, 4, .9));
    box-shadow: 0 10px 22px rgba(0, 0, 0, .2);
    color: #e8b84b;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.ares-news-card.has-premium-badge {
    padding-top: 44px;
}

/* Fascia Breaking — rosso */
.ares-news-card__fresh--breaking {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    width: 100%;
    padding: 0 12px;
    border: 0;
    border-bottom: 2px solid rgba(240, 112, 112, .58);
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, rgba(100, 20, 20, .92), rgba(65, 10, 10, .9));
    box-shadow: 0 10px 22px rgba(0, 0, 0, .2);
    color: #f07070;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.ares-news-card.has-breaking-badge {
    padding-top: 44px;
}

.ares-news-card__fresh {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    width: 100%;
    padding: 0 12px;
    border: 0;
    border-radius: 4px 4px 0 0;
    box-shadow: 0 10px 22px rgba(0,0,0,.2);
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .09em;
    line-height: 1;
    text-shadow: 0 1px 12px rgba(0,0,0,.45);
    text-transform: uppercase;
}

.ares-news-card:has(.ares-news-card__fresh) {
    padding-top: 44px;
}

.ares-news-card__fresh--premium {
    border-bottom: 2px solid rgba(232, 184, 75, .58);
}

.ares-news-card__fresh--breaking {
    border-bottom: 2px solid rgba(240, 112, 112, .58);
}

.ares-home-date {
    display: inline-flex;
    color: var(--ares-soft);
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-text-link {
    display: inline-flex;
    color: var(--ares-green);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-block-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

/* ═══════════════════════════════════════════════════════════
   CARD CHROME (shared between lead + news cards)
═══════════════════════════════════════════════════════════ */

.ares-lead-card,
.ares-news-card,
.ares-latest-rail,
.ares-map-panel,
.ares-term-card,
.ares-newsletter-panel {
    border: 1px solid var(--ares-border);
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-lead-card,
.ares-news-card {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.ares-lead-card__media,
.ares-news-card__media {
    position: absolute;
    inset: 0;
    background: #0a1b28;
}
.ares-lead-card__media::after,
.ares-news-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1,8,14,.06) 0%, rgba(1,8,14,.88) 100%);
}
.ares-lead-card__media img,
.ares-news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .78;
    transition: opacity .28s ease;
}
.ares-lead-card:hover .ares-lead-card__media img,
.ares-news-card:hover  .ares-news-card__media img { opacity: .88; }

.ares-lead-card__body,
.ares-news-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: end;
    min-height: 100%;
    padding: 18px;
}
.ares-lead-card__body { padding: 28px 42px; }

.ares-lead-card__title,
.ares-lead-card h2 {
    max-width: 620px;
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(2rem, 3.6vw, 3.35rem);
    line-height: 1.02;
    font-weight: 900;
}
.ares-lead-card p {
    max-width: 560px;
    margin: 0 0 16px;
    color: rgba(232,242,248,.8);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-news-card h3 {
    margin: 0 0 .55rem;
    color: #fff;
    font-size: .98rem;
    line-height: 1.28;
    font-weight: 760;
}
.ares-news-card p {
    margin: 0 0 .7rem;
    color: var(--ares-soft);
    font-size: .86rem;
    line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════
   1. TOP SECTION
   Layout: [hero large] [2×2 grid] [latest rail]
   Columns: 1.55fr  0.95fr  260px
═══════════════════════════════════════════════════════════ */

.ares-home-top {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(0,.95fr) 260px;
    grid-template-rows: 1fr;          /* single row, all columns equal height */
    gap: 10px;
    align-items: stretch;
    margin-bottom: 24px;
}

/* Hero fills its cell height */
.ares-lead-card {
    min-height: 480px;
    height: 100%;
}

/* 2×2 grid of top cards fills remaining height */
.ares-top-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(2, minmax(0,1fr));
    gap: 10px;
    height: 100%;
}

/* Top cards: generous height, no clipping */
.ares-top-card {
    min-height: 0;       /* let grid rows size them */
}
.ares-top-card .ares-news-card__body {
    padding: 14px 16px;
}

/* Latest rail */
.ares-latest-rail {
    border-radius: 4px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    overflow-y: auto;
}

.ares-latest-rail__item {
    display: grid;
    grid-template-columns: 96px minmax(0,1fr);
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(128,183,212,.13);
}
.ares-latest-rail__item time {
    color: #dce8ef;
    font-size: .76rem;
    line-height: 1.4;
}
.ares-latest-rail__item h3 {
    margin: 0;
    color: rgba(232,242,248,.86);
    font-size: .91rem;
    line-height: 1.38;
    font-weight: 560;
}
.ares-latest-rail .ares-text-link { margin-top: auto; padding-top: 14px; }

/* ═══════════════════════════════════════════════════════════
   BAND wrapper (sections below top)
═══════════════════════════════════════════════════════════ */

.ares-home-band {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(128,183,212,.12);
}

/* ═══════════════════════════════════════════════════════════
   2. NOTIZIE IN EVIDENZA — full width
   Grid: 1 wide card (spans 2 rows) + 5 compact
   Columns: 1.2fr 1fr 1fr 1fr
   Row 1: wide | c1 | c2
   Row 2: wide | c3 | c4
   + 1 extra card below, spans full width (optional)
═══════════════════════════════════════════════════════════ */

.ares-spotlight-grid--full {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
}

.ares-news-card--wide {
    grid-row: span 2;
    min-height: 380px;
}
.ares-news-card--wide h3 { font-size: 1.3rem; line-height: 1.18; }

.ares-news-card--compact { min-height: 165px; }
.ares-news-card--compact .ares-news-card__body { padding: 12px 14px; }

/* ═══════════════════════════════════════════════════════════
   3. DOMINI OPERATIVI — tab-bar + AJAX 4×2 grid
═══════════════════════════════════════════════════════════ */

/* ── Domain tabs con icone ────────────────────────────────── */

.ares-domain-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    width: 100%;
    gap: 6px;
    margin-bottom: 16px;
}

.ares-company-filter-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    width: 100%;
    gap: 6px;
    margin: 0 0 14px;
}

.ares-domain-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 0 14px 0 10px;
    border: 1px solid var(--ares-border);
    border-radius: 3px;
    background: transparent;
    color: var(--ares-soft);
    font-size: .78rem;
    font-weight: 760;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
    white-space: nowrap;
}
.ares-company-filter-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--ares-border);
    border-radius: 3px;
    background: transparent;
    color: var(--ares-soft);
    font-size: .76rem;
    font-weight: 820;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: color .15s, border-color .15s, background .15s;
    white-space: nowrap;
}
.ares-domain-tab:hover {
    color: #fff;
    border-color: rgba(140,198,63,.5);
    background: rgba(140,198,63,.06);
}
.ares-company-filter-tab:hover {
    color: #fff;
    border-color: rgba(140,198,63,.5);
    background: rgba(140,198,63,.06);
}
.ares-domain-tab.is-active {
    color: #fff;
    border-color: var(--ares-green);
    background: rgba(140,198,63,.12);
}
.ares-company-filter-tab.is-active {
    color: #fff;
    border-color: var(--ares-green);
    background: rgba(140,198,63,.12);
}
.ares-domain-tab.is-active .ares-domain-tab__icon {
    color: var(--ares-green);
}

.ares-domain-tab__icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: currentColor;
    transition: color .15s;
}

/* Domain grid */
.ares-domain-grid-wrap {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 14px;
}

.ares-domain-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    min-height: 200px;
    transition: opacity .2s ease;
}
.ares-domain-grid.is-loading { opacity: .4; pointer-events: none; }

.ares-domain-grid .ares-news-card { min-height: 195px; }

.ares-domain-empty {
    grid-column: 1 / -1;
    color: var(--ares-soft);
    font-size: .9rem;
    padding: 24px 0;
}

.ares-domain-footer {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 14px;
    justify-content: flex-end;
}

.ares-btn-hub {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    height: 38px;
    padding: 0 20px;
    border: 1px solid rgba(140,198,63,.45);
    border-radius: 2px;
    color: var(--ares-green);
    font-size: .8rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
    transition: background .15s, color .15s;
}
.ares-btn-hub:hover {
    background: rgba(140,198,63,.1);
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════
   4. DUAL BAND — Sistemi + Aziende, stessa riga
═══════════════════════════════════════════════════════════ */

.ares-dual-band {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 24px;
}
.ares-dual-band__col { min-width: 0; }

/* Term rails inside dual band */
.ares-term-rail--medium {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(155px, 1fr);
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: rgba(140,198,63,.35) rgba(4,16,26,.5);
}
.ares-term-rail--medium::-webkit-scrollbar       { height: 4px; }
.ares-term-rail--medium::-webkit-scrollbar-track { background: rgba(4,16,26,.5); border-radius: 2px; }
.ares-term-rail--medium::-webkit-scrollbar-thumb { background: rgba(140,198,63,.35); border-radius: 2px; }

/* Term card base */
.ares-term-card {
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 130px;
    border-radius: 4px;
    padding: 14px 16px;
    transition: border-color .18s, background .18s;
    text-decoration: none;
}
.ares-term-card:hover {
    border-color: rgba(140,198,63,.45);
    background: linear-gradient(180deg, rgba(14,36,52,.96), rgba(6,20,30,.98));
}
.ares-term-card span {
    color: var(--ares-green);
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.ares-term-card strong {
    color: #fff;
    font-size: .98rem;
    line-height: 1.18;
}
.ares-term-card em {
    color: var(--ares-soft);
    font-size: .8rem;
    font-style: normal;
    line-height: 1.35;
}
.ares-term-card small {
    margin-top: auto;
    color: rgba(158,180,193,.65);
    font-size: .72rem;
    font-weight: 700;
}

.ares-term-card__fresh {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    width: 100%;
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid rgba(140,198,63,.34);
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, rgba(36,70,33,.92), rgba(15,42,24,.9));
    box-shadow: 0 10px 22px rgba(0,0,0,.2);
    color: #9be05a;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.ares-term-card.has-recent-update,
.ares-term-card:has(.ares-term-card__fresh) {
    padding-top: 44px;
}

/* Variant accents */
.ares-term-card--sistema span { color: var(--ares-cyan); }
.ares-term-card--azienda span { color: var(--ares-green); }
.ares-term-card--forza-armata span { color: #f4c15d; }
.ares-term-card .ares-term-card__fresh { color: #9be05a; }

/* ═══════════════════════════════════════════════════════════
   5. MAPPA DEI PAESI — full width split
═══════════════════════════════════════════════════════════ */

.ares-map-section .ares-map-section__inner {
    display: grid;
    grid-template-columns: minmax(280px,.85fr) minmax(0,1fr);
    gap: 28px;
    align-items: center;
}

.ares-map-section__desc {
    color: var(--ares-soft);
    font-size: .94rem;
    line-height: 1.5;
    margin: 0 0 18px;
}

.ares-country-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-bottom: 18px;
}

.ares-country-chip {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 3px;
    background: rgba(8,22,34,.7);
    transition: border-color .15s, background .15s;
}
.ares-country-chip:hover {
    border-color: rgba(140,198,63,.4);
    background: rgba(12,32,48,.9);
}
.ares-country-chip__flag {
    display: inline-flex;
    width: 28px;
    height: 18px;
    flex: 0 0 28px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 2px;
    background: rgba(255,255,255,.08);
}
.ares-country-chip__flag img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ares-country-chip__text {
    display: grid;
    min-width: 0;
    flex: 1;
}
.ares-country-chip strong {
    color: #e8f2f8;
    font-size: .84rem;
    font-weight: 720;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ares-country-chip small {
    color: var(--ares-soft);
    font-size: .7rem;
    white-space: nowrap;
}

.ares-map-section__visual {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: rgba(5,18,28,.9);
    border: 1px solid var(--ares-border);
}
.ares-map-svg {
    display: block;
    width: 100%;
    height: auto;
}

/* ═══════════════════════════════════════════════════════════
   6. NEWSLETTER
═══════════════════════════════════════════════════════════ */

.ares-newsletter-panel {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);
    gap: 24px;
    align-items: center;
    margin-top: 30px;
    padding: 24px 28px;
    border-radius: 4px;
}
.ares-newsletter-panel span,
.ares-newsletter-panel strong {
    display: block;
    font-size: clamp(1.35rem,2.4vw,2rem);
    line-height: 1.05;
    text-transform: uppercase;
}
.ares-newsletter-panel strong { color: var(--ares-green); }
.ares-newsletter-panel p { margin: .65rem 0 0; color: var(--ares-soft); }

.ares-newsletter-panel__form {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
}
.ares-newsletter-panel__form input,
.ares-newsletter-panel__form button { min-height: 48px; border-radius: 0; }

.ares-newsletter-panel__form input {
    border: 1px solid var(--ares-border);
    background: rgba(2,10,18,.72);
    color: #fff;
    padding: 0 14px;
}
.ares-newsletter-panel__form input:focus {
    outline: 2px solid rgba(140,198,63,.55);
    outline-offset: -2px;
}
.ares-newsletter-panel__form button {
    border: 0;
    background: linear-gradient(180deg,#83bd45,#5e9632);
    color: #fff;
    padding: 0 22px;
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
    cursor: pointer;
    transition: filter .18s;
}
.ares-newsletter-panel__form button:hover    { filter: brightness(1.1); }
.ares-newsletter-panel__form button:disabled { opacity: .6; cursor: not-allowed; }

.ares-newsletter-feedback       { margin-top: .75rem; font-size: .85rem; font-weight: 600; }
.ares-newsletter-feedback--ok   { color: var(--ares-green); }
.ares-newsletter-feedback--error{ color: #ff7070; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — tablet ≤1100px
═══════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
    .ares-home-top {
        grid-template-columns: minmax(0,1.4fr) minmax(0,.9fr) 240px;
    }
}

@media (max-width: 960px) {
    /* Stack top section: hero full width, then 2×2, then latest */
    .ares-home-top {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }
    .ares-lead-card      { min-height: 420px; }
    .ares-top-grid       { grid-template-columns: repeat(2,1fr); grid-template-rows: auto; }
    .ares-top-card       { min-height: 210px; }
    .ares-latest-rail    { height: auto; max-height: none; overflow-y: visible; }

    /* Spotlight: 2 cols */
    .ares-spotlight-grid--full {
        grid-template-columns: 1fr 1fr;
    }
    .ares-news-card--wide { grid-row: span 1; min-height: 260px; }

    /* Domain grid: 2×4 */
    .ares-domain-grid { grid-template-columns: repeat(2,1fr); }
    .ares-domain-grid-wrap { padding-left: 0; padding-right: 0; }

    /* Dual band: stack */
    .ares-dual-band { grid-template-columns: 1fr; }

    /* Map: stack */
    .ares-map-section .ares-map-section__inner { grid-template-columns: 1fr; }
    .ares-map-section__visual { order: -1; }

    /* Newsletter: stack */
    .ares-newsletter-panel       { grid-template-columns: 1fr; }
    .ares-newsletter-panel__form { grid-template-columns: 1fr auto; }
}

@media (max-width: 640px) {
    .ares-home-dark { padding-top: 14px; }

    .ares-home-top,
    .ares-home-band,
    .ares-newsletter-panel {
        width: min(100% - 24px, 620px);
    }

    .ares-lead-card       { min-height: 460px; }
    .ares-lead-card__body { padding: 22px; }

    .ares-spotlight-grid--full {
        grid-template-columns: 1fr;
    }
    .ares-news-card--wide,
    .ares-news-card--compact { min-height: 230px; }

    .ares-domain-grid { grid-template-columns: 1fr 1fr; }
    .ares-domain-grid-wrap { padding-left: 0; padding-right: 0; }
    .ares-domain-tabs { grid-template-columns: repeat(auto-fit, minmax(46px, 1fr)); }
    .ares-company-filter-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ares-domain-tab span { display: none; }   /* solo icona su mobile stretto */
    .ares-domain-tab { padding: 0 10px; }
    .ares-company-filter-tab { padding: 0 8px; white-space: normal; }

    .ares-country-grid { grid-template-columns: repeat(2,1fr); }

    .ares-newsletter-panel__form { grid-template-columns: 1fr; }
    .ares-newsletter-panel__form button { width: 100%; }
}

/* Top area refinement: tighter, more predictable hero proportions */
@media (min-width: 961px) {
    .ares-home-top {
        --ares-top-height: clamp(405px, 35vw, 455px);
        grid-template-columns: minmax(0, 1.42fr) minmax(300px, .92fr) minmax(270px, .72fr);
        grid-template-rows: var(--ares-top-height);
        align-items: stretch;
    }

    .ares-lead-card,
    .ares-top-grid,
    .ares-latest-rail {
        height: var(--ares-top-height);
        min-height: 0;
    }

    .ares-lead-card__body {
        padding: 24px 32px;
    }

    .ares-lead-card__title,
    .ares-lead-card h2 {
        max-width: 560px;
        font-size: clamp(1.75rem, 2.75vw, 2.72rem);
        line-height: 1.04;
        margin-bottom: 10px;
    }

    .ares-lead-card p {
        max-width: 500px;
        font-size: .94rem;
        line-height: 1.48;
        margin-bottom: 12px;
    }

    .ares-section-kicker {
        margin-bottom: 10px;
    }

    .ares-top-grid {
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .ares-top-card {
        min-height: 0;
    }

    .ares-top-card .ares-news-card__body {
        padding: 12px 14px;
    }

    .ares-top-card .ares-eyebrow {
        margin-bottom: .35rem;
        font-size: .62rem;
    }

    .ares-top-card h3 {
        font-size: .9rem;
        line-height: 1.22;
        margin-bottom: .45rem;
    }

    .ares-latest-rail {
        overflow: hidden;
        padding: 16px;
    }

    .ares-latest-rail__item {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 10px;
        padding: 10px 0;
    }

    .ares-latest-rail__item time {
        font-size: .7rem;
    }

    .ares-latest-rail__item h3 {
        font-size: .84rem;
        line-height: 1.32;
    }
}

@media (min-width: 1180px) {
    .ares-home-top,
    .ares-home-band,
    .ares-newsletter-panel {
        width: min(1220px, calc(100% - 48px));
    }
}

/* Home top v2: hero left, four editorial tabs right, latest below */
@media (min-width: 961px) {
    .ares-home-top {
        --ares-top-height: clamp(420px, 34vw, 470px);
        grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
        grid-template-rows: var(--ares-top-height) auto;
        gap: 12px;
    }

    .ares-lead-card,
    .ares-top-grid {
        height: var(--ares-top-height);
        min-height: 0;
    }

    .ares-top-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    .ares-top-card {
        min-height: 0;
    }

    .ares-latest-rail {
        grid-column: 1 / -1;
        height: auto;
        min-height: 0;
        overflow: visible;
        display: grid;
        grid-template-columns: 190px repeat(3, minmax(0, 1fr)) auto;
        gap: 0;
        align-items: stretch;
        padding: 0;
    }

    .ares-latest-rail .ares-block-head {
        margin: 0;
        padding: 14px 16px;
        border-right: 1px solid rgba(128,183,212,.13);
        align-items: center;
    }

    .ares-latest-rail__item {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 10px;
        padding: 14px 16px;
        border-bottom: 0;
        border-right: 1px solid rgba(128,183,212,.13);
    }

    .ares-latest-rail__item:nth-of-type(n+4) {
        display: none;
    }

    .ares-latest-rail .ares-text-link {
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 14px 16px;
        white-space: nowrap;
    }
}

/* Spotlight v2: one lead + four compact cards, no orphan row */
.ares-spotlight-grid--full {
    grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(175px, 1fr));
}

.ares-spotlight-grid--full .ares-news-card--wide {
    grid-row: 1 / span 2;
    min-height: 360px;
}

/* Term cards with hub images/logos */
.ares-term-card {
    position: relative;
    overflow: hidden;
    min-height: 168px;
}

.ares-term-card__media {
    display: block;
    height: 72px;
    margin: -14px -16px 10px;
    background: rgba(118,200,255,.08);
    border-bottom: 1px solid rgba(128,183,212,.12);
}

.ares-term-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .88;
}

.ares-term-card--azienda .ares-term-card__media img {
    object-fit: contain;
    padding: 16px;
    background: rgba(255,255,255,.04);
}

@media (max-width: 960px) {
    .ares-latest-rail .ares-latest-rail__item:nth-of-type(n+4) {
        display: grid;
    }
}

@media (max-width: 640px) {
    .ares-spotlight-grid--full {
        grid-template-rows: none;
    }

    .ares-spotlight-grid--full .ares-news-card--wide {
        grid-row: auto;
    }
}

/* Industria & Aziende news: editorial block between systems and company hubs */
.ares-industry-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(170px, 1fr));
    gap: 10px;
    transition: opacity .2s ease;
}
.ares-industry-grid.is-loading { opacity: .4; pointer-events: none; }

.ares-industry-card--wide {
    grid-row: 1 / span 2;
    min-height: 350px;
}

.ares-industry-card--wide h3 {
    font-size: 1.28rem;
    line-height: 1.18;
}

.ares-industry-card--compact {
    min-height: 168px;
}

.ares-industry-card--compact .ares-news-card__body {
    padding: 12px 14px;
}

.ares-companies-band .ares-term-card--azienda {
    min-height: 180px;
}

.ares-forces-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(128,183,212,.16);
    border-radius: 4px;
    background:
        linear-gradient(135deg, rgba(12,34,48,.78), rgba(4,16,26,.96)),
        rgba(4,16,26,.94);
}

.ares-force-row {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) auto;
    align-items: start;
    gap: 10px;
    min-height: 122px;
    padding: 12px;
    border: 1px solid rgba(128,183,212,.14);
    border-radius: 3px;
    background: rgba(2,12,20,.42);
    transition: border-color .15s, background .15s, transform .15s;
}

.ares-force-row:hover {
    border-color: rgba(244,193,93,.42);
    background: rgba(12,30,42,.72);
    transform: translateY(-1px);
}

.ares-force-row__mark {
    width: 4px;
    height: 100%;
    min-height: 44px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f4c15d, rgba(140,198,63,.62));
    box-shadow: 0 0 14px rgba(244,193,93,.18);
}

.ares-force-row__body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.ares-force-row__title {
    color: #e8f2f8;
    font-size: .95rem;
    line-height: 1.12;
    font-weight: 850;
}

.ares-force-row__title:hover {
    color: #fff;
}

.ares-force-row__body em {
    color: var(--ares-soft);
    font-size: .74rem;
    line-height: 1.25;
    font-style: normal;
}

.ares-force-row__count {
    justify-self: end;
    padding: 5px 8px;
    border: 1px solid rgba(244,193,93,.24);
    border-radius: 999px;
    color: #f4c15d;
    font-size: .68rem;
    font-weight: 820;
    letter-spacing: .03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.ares-force-row__news {
    grid-column: 2 / -1;
    display: grid;
    gap: 6px;
    padding-top: 4px;
}

.ares-force-news {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: baseline;
    padding-top: 6px;
    border-top: 1px solid rgba(128,183,212,.1);
}

.ares-force-news span {
    min-width: 0;
    overflow: hidden;
    color: rgba(232,242,248,.9);
    font-size: .78rem;
    line-height: 1.24;
    font-weight: 740;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ares-force-news time {
    color: var(--ares-soft);
    font-size: .66rem;
    white-space: nowrap;
}

.ares-force-news:hover span {
    color: #fff;
}

.ares-aerospace-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(160px, 1fr));
    gap: 10px;
}

.ares-aerospace-news-card {
    min-height: 170px;
}

.ares-aerospace-news-card--wide {
    grid-row: 1 / span 2;
    min-height: 340px;
}

.ares-aerospace-news-card--wide h3 {
    font-size: 1.28rem;
    line-height: 1.16;
}

.ares-aerospace-news-card:not(.ares-aerospace-news-card--wide) .ares-news-card__body {
    padding: 12px 14px;
}

.ares-aerospace-band .ares-term-card {
    min-height: 160px;
    align-content: end;
    isolation: isolate;
    padding: 16px;
    background: linear-gradient(180deg, rgba(8,30,46,.94), rgba(3,14,24,.98));
}

.ares-aerospace-band .ares-term-card--focus {
    grid-row: 1 / span 2;
    min-height: 330px;
}

.ares-aerospace-band .ares-term-card--focus strong {
    font-size: 1.28rem;
    line-height: 1.14;
}

.ares-aerospace-band .ares-term-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 76% 14%, rgba(118,200,255,.2), transparent 34%),
        linear-gradient(180deg, rgba(11,36,55,.96), rgba(3,14,24,.98));
}

.ares-aerospace-band .ares-term-card__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    height: auto;
    margin: 0;
    border: 0;
    background: transparent;
}

.ares-aerospace-band .ares-term-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1,8,14,.1) 0%, rgba(1,8,14,.48) 50%, rgba(1,8,14,.95) 100%);
}

.ares-aerospace-band .ares-term-card__media img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    background: transparent;
    opacity: .84;
}

.ares-term-card--aerospazio span { color: var(--ares-cyan); }

.ares-aerospace-band .ares-term-card > span:not(.ares-term-card__media):not(.ares-term-card__fresh),
.ares-aerospace-band .ares-term-card strong,
.ares-aerospace-band .ares-term-card em,
.ares-aerospace-band .ares-term-card small {
    position: relative;
    z-index: 1;
    text-shadow: 0 1px 12px rgba(0,0,0,.45);
}

.ares-context-panels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ares-context-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 4px;
    background:
        linear-gradient(135deg, rgba(12,34,48,.92), rgba(4,16,26,.98)),
        rgba(4,16,26,.96);
}

.ares-context-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(140,198,63,.12), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(118,200,255,.13), transparent 32%);
}

.ares-context-panel--storia::before {
    background:
        linear-gradient(90deg, rgba(244,193,93,.13), transparent 34%),
        radial-gradient(circle at 88% 18%, rgba(140,198,63,.1), transparent 32%);
}

.ares-context-panel__head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 16px 12px;
    border-bottom: 1px solid rgba(128,183,212,.14);
}

.ares-context-panel__head h3 {
    margin: 0;
    color: #fff;
    font-size: 1rem;
    line-height: 1.1;
    font-weight: 880;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ares-context-panel__head a {
    flex: 0 0 auto;
    color: var(--ares-green);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ares-context-list {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    padding: 12px;
}

.ares-context-card {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    min-height: 82px;
    padding: 8px;
    border: 1px solid rgba(128,183,212,.14);
    border-radius: 3px;
    background: rgba(2,12,20,.44);
    transition: border-color .15s, background .15s, transform .15s;
}

.ares-context-card:hover {
    border-color: rgba(140,198,63,.42);
    background: rgba(7,24,36,.74);
    transform: translateY(-1px);
}

.ares-context-card--no-media {
    grid-template-columns: 1fr;
}

.ares-context-card__media {
    display: block;
    overflow: hidden;
    border-radius: 2px;
    background: rgba(255,255,255,.04);
}

.ares-context-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .84;
}

.ares-context-card__body {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
}

.ares-context-card strong {
    color: #e8f2f8;
    font-size: .92rem;
    line-height: 1.16;
    font-weight: 820;
}

.ares-context-card em {
    color: var(--ares-soft);
    font-size: .75rem;
    line-height: 1.25;
    font-style: normal;
}

.ares-context-card small {
    color: rgba(140,198,63,.88);
    font-size: .68rem;
    font-weight: 780;
    letter-spacing: .03em;
    text-transform: uppercase;
}

@media (max-width: 960px) {
    .ares-industry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .ares-industry-card--wide {
        grid-row: auto;
        min-height: 260px;
    }

    .ares-forces-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ares-aerospace-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .ares-aerospace-news-card--wide,
    .ares-aerospace-band .ares-term-card--focus {
        grid-row: auto;
        min-height: 240px;
    }

    .ares-context-panels {
        grid-template-columns: 1fr;
    }
}

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

    .ares-industry-card--wide,
    .ares-industry-card--compact {
        min-height: 230px;
    }

    .ares-forces-index {
        grid-template-columns: 1fr;
    }

    .ares-force-row {
        grid-template-columns: 10px minmax(0, 1fr);
        min-height: 62px;
    }

    .ares-force-row__count {
        justify-self: start;
        grid-column: 2;
    }

    .ares-force-row__news {
        grid-column: 2;
    }

    .ares-force-news {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .ares-force-news span {
        white-space: normal;
    }

    .ares-aerospace-grid {
        grid-template-columns: 1fr;
    }

    .ares-aerospace-news-card,
    .ares-aerospace-news-card--wide,
    .ares-aerospace-band .ares-term-card,
    .ares-aerospace-band .ares-term-card--focus {
        min-height: 165px;
    }

    .ares-aerospace-band .ares-term-card--focus strong {
        font-size: 1.08rem;
    }

    .ares-context-panel__head {
        padding: 14px 14px 10px;
    }

    .ares-context-card {
        grid-template-columns: 62px minmax(0, 1fr);
        min-height: 74px;
    }
}

/* Domini: latest temporal layer before the deeper selector */
.ares-domain-latest {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(165px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.ares-domain-latest-card--wide {
    grid-row: 1 / span 2;
    min-height: 340px;
}

.ares-domain-latest-card--wide h3 {
    font-size: 1.24rem;
    line-height: 1.18;
}

.ares-domain-latest-card:not(.ares-domain-latest-card--wide) {
    min-height: 165px;
}

.ares-domain-latest-card:not(.ares-domain-latest-card--wide) .ares-news-card__body {
    padding: 12px 14px;
}

.ares-domain-tabs {
    padding-top: 2px;
}

/* Sistemi e aziende: full-image hub cards with overlay text */
.ares-systems-band .ares-term-card,
.ares-companies-band .ares-term-card {
    min-height: 210px;
    align-content: end;
    isolation: isolate;
    padding: 16px;
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.96));
}

.ares-systems-band .ares-term-card::before,
.ares-companies-band .ares-term-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 70% 18%, rgba(118,200,255,.14), transparent 34%),
        linear-gradient(180deg, rgba(13,36,54,.95), rgba(4,16,26,.98));
}

.ares-systems-band .ares-term-card__media,
.ares-companies-band .ares-term-card__media {
    position: absolute;
    inset: 0;
    z-index: -2;
    height: auto;
    margin: 0;
    border: 0;
    background: transparent;
}

.ares-systems-band .ares-term-card__media::after,
.ares-companies-band .ares-term-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(1,8,14,.08) 0%, rgba(1,8,14,.42) 45%, rgba(1,8,14,.93) 100%);
}

.ares-systems-band .ares-term-card__media img,
.ares-companies-band .ares-term-card__media img,
.ares-term-card--azienda .ares-term-card__media img {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    background: transparent;
    opacity: .82;
}

.ares-companies-band .ares-term-card--azienda .ares-term-card__media img {
    object-fit: cover;
    padding: 0;
}

.ares-systems-band .ares-term-card > span:not(.ares-term-card__media):not(.ares-term-card__fresh),
.ares-companies-band .ares-term-card > span:not(.ares-term-card__media):not(.ares-term-card__fresh),
.ares-systems-band .ares-term-card strong,
.ares-companies-band .ares-term-card strong,
.ares-systems-band .ares-term-card em,
.ares-companies-band .ares-term-card em,
.ares-systems-band .ares-term-card small,
.ares-companies-band .ares-term-card small {
    position: relative;
    z-index: 1;
    text-shadow: 0 1px 12px rgba(0,0,0,.45);
}

.ares-systems-band .ares-term-card__fresh,
.ares-companies-band .ares-term-card__fresh {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
}

@media (max-width: 960px) {
    .ares-domain-latest {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .ares-domain-latest-card--wide {
        grid-row: auto;
        min-height: 250px;
    }
}

@media (max-width: 640px) {
    .ares-domain-latest {
        grid-template-columns: 1fr;
    }

    .ares-domain-latest-card--wide,
    .ares-domain-latest-card:not(.ares-domain-latest-card--wide) {
        min-height: 225px;
    }
}

/* Mobile: featured news as compact media-list cards */
@media (max-width: 840px) {
    .ares-spotlight-grid--full {
        gap: 10px;
        grid-template-columns: 1fr;
        grid-template-rows: none;
        align-items: start;
    }

    .ares-spotlight-grid--full .ares-news-card,
    .ares-spotlight-grid--full .ares-news-card--wide,
    .ares-spotlight-grid--full .ares-news-card--compact {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        align-items: stretch;
        grid-row: auto;
        min-height: 0;
        height: auto;
        aspect-ratio: auto;
        background: linear-gradient(180deg, rgba(10,29,43,.94), rgba(4,16,26,.96));
    }

    .ares-spotlight-grid--full .ares-news-card__media {
        position: relative;
        inset: auto;
        display: block;
        width: 100%;
        height: auto;
        min-height: 112px;
        aspect-ratio: auto;
    }

    .ares-spotlight-grid--full .ares-news-card__media::after {
        background: linear-gradient(90deg, rgba(1,8,14,.04), rgba(1,8,14,.28));
    }

    .ares-spotlight-grid--full .ares-news-card__media img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 112px;
        object-fit: cover;
    }

    .ares-spotlight-grid--full .ares-news-card__body {
        min-height: auto;
        height: auto;
        justify-content: center;
        padding: 12px 13px;
    }

    .ares-spotlight-grid--full .ares-news-card h3 {
        font-size: 1rem;
        line-height: 1.25;
        margin-bottom: .45rem;
    }

    .ares-spotlight-grid--full .ares-news-card--wide h3 {
        font-size: 1.02rem;
    }

    .ares-spotlight-grid--full .ares-news-card p {
        display: none;
    }

    .ares-spotlight-grid--full .ares-eyebrow {
        margin-bottom: .35rem;
        font-size: .61rem;
    }
}

@media (max-width: 420px) {
    .ares-spotlight-grid--full .ares-news-card,
    .ares-spotlight-grid--full .ares-news-card--wide,
    .ares-spotlight-grid--full .ares-news-card--compact {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .ares-spotlight-grid--full .ares-news-card__media,
    .ares-spotlight-grid--full .ares-news-card__body {
        min-height: 104px;
    }

    .ares-spotlight-grid--full .ares-news-card__media img {
        min-height: 104px;
    }
}
/* Nav backdrop: overlay che cattura tap fuori dal menu mobile */
.ares-nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 80;
    background: rgba(1,8,14,.48);
}
.ares-nav-backdrop.is-visible {
    display: block;
}

/* Site header */
.ares-site-header {
    position: sticky;
    top: 0;
    z-index: 90;
    border-bottom: 1px solid rgba(128,183,212,.16);
    background: linear-gradient(180deg, rgba(3,16,26,.98), rgba(3,16,26,.94));
    box-shadow: 0 1px 0 rgba(255,255,255,.03), 0 18px 34px rgba(0,0,0,.18);
    color: #e8f2f8;
}

.admin-bar .ares-site-header { top: 32px; }
.ares-site-header a { color: inherit; text-decoration: none; }

.ares-site-header__top {
    border-bottom: 1px solid rgba(128,183,212,.12);
    background: rgba(1,8,14,.42);
}

.ares-site-header__top-inner,
.ares-site-header__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.ares-site-header__top-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 34px;
}

.ares-site-header__date,
.ares-site-header__brief,
.ares-news-ticker__label,
.ares-header-brief {
    font-size: .68rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ares-site-header__date {
    color: var(--ares-soft, #9eb4c1);
}

.ares-site-header__brief,
.ares-header-brief {
    color: var(--ares-gold, #b68b3f);
}

.ares-news-ticker {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.ares-news-ticker__label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ares-green, #8cc63f);
}

.ares-news-ticker__label::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ares-green, #8cc63f);
    box-shadow: 0 0 12px rgba(140,198,63,.65);
}

.ares-news-ticker__track {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.ares-news-ticker__track a {
    position: relative;
    max-width: 34ch;
    overflow: hidden;
    color: rgba(232,242,248,.82);
    font-size: .78rem;
    font-weight: 650;
    text-overflow: ellipsis;
}

.ares-news-ticker__track a + a::before {
    content: "";
    position: absolute;
    left: -11px;
    top: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: rgba(182,139,63,.72);
}

.ares-site-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 22px;
    min-height: 76px;
}

.ares-site-header__brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 150px;
}

.ares-site-header__brand .custom-logo-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
}

.ares-site-header__brand .custom-logo {
    display: block;
    width: auto;
    max-width: 190px;
    max-height: 46px;
}

.ares-site-header__title {
    color: #fff;
    font-size: 1.16rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ares-site-header__tagline {
    margin: 6px 0 0;
    color: var(--ares-soft, #9eb4c1);
    font-size: .68rem;
    line-height: 1.2;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ares-site-header__navwrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
}

.ares-primary-nav { min-width: 0; }

.ares-primary-nav__menu,
.ares-primary-nav__menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-primary-nav__menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}

.ares-primary-nav__menu li { position: relative; }

.ares-primary-nav__menu a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 10px;
    border-radius: 3px;
    color: rgba(232,242,248,.84);
    font-size: .74rem;
    line-height: 1;
    font-weight: 820;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease;
}

.ares-primary-nav__menu > li > a:hover,
.ares-primary-nav__menu > li.current-menu-item > a,
.ares-primary-nav__menu > li.current_page_item > a,
.ares-primary-nav__menu > li.current-menu-ancestor > a {
    background: rgba(140,198,63,.1);
    color: #fff;
}

.ares-primary-nav__menu > li > a::after {
    content: "";
    width: 0;
    height: 2px;
    margin-left: 0;
    background: var(--ares-green, #8cc63f);
    transition: width .2s ease, margin-left .2s ease;
}

.ares-primary-nav__menu > li > a:hover::after,
.ares-primary-nav__menu > li.current-menu-item > a::after,
.ares-primary-nav__menu > li.current_page_item > a::after,
.ares-primary-nav__menu > li.current-menu-ancestor > a::after {
    width: 12px;
    margin-left: 8px;
}

.ares-primary-nav__menu .sub-menu,
.ares-primary-nav__menu .children {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 10;
    min-width: 220px;
    padding: 8px;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 4px;
    background: rgba(4,16,26,.98);
    box-shadow: 0 18px 34px rgba(0,0,0,.28);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.ares-primary-nav__menu li:hover > .sub-menu,
.ares-primary-nav__menu li:focus-within > .sub-menu,
.ares-primary-nav__menu li:hover > .children,
.ares-primary-nav__menu li:focus-within > .children {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ares-primary-nav__menu .sub-menu a,
.ares-primary-nav__menu .children a {
    justify-content: flex-start;
    width: 100%;
    min-height: 34px;
    padding: 0 10px;
    font-size: .72rem;
    white-space: nowrap;
}

.ares-header-brief {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(182,139,63,.42);
    border-radius: 3px;
    background: rgba(182,139,63,.1);
}

.ares-search-toggle,
.ares-nav-toggle {
    display: none;
}

.ares-search-toggle__button,
.ares-nav-toggle__button {
    display: none;
}

.ares-search-toggle__button {
    position: relative;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(128,183,212,.22);
    border-radius: 3px;
    background: rgba(8,24,36,.72);
    cursor: pointer;
}

.ares-search-toggle__button span:not(.screen-reader-text) {
    position: relative;
    width: 13px;
    height: 13px;
    border: 2px solid var(--ares-gold, #b68b3f);
    border-radius: 50%;
}

.ares-search-toggle__button span:not(.screen-reader-text)::after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -4px;
    width: 7px;
    height: 2px;
    border-radius: 1px;
    background: var(--ares-gold, #b68b3f);
    transform: rotate(45deg);
}

/* Search panel: gestito via JS con attributo hidden + body.ares-search-open */
.ares-search-panel {
    position: fixed;
    inset: 0;
    z-index: 80;
}

/* hidden nativo nasconde il panel; JS lo rimuove per aprirlo */
.ares-search-panel[hidden] {
    display: none;
}

.ares-search-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1,8,14,.72);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

.ares-search-panel__dialog {
    position: relative;
    width: min(720px, calc(100% - 32px));
    margin: 110px auto 0;
    padding: 24px;
    border: 1px solid rgba(128,183,212,.22);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.98), rgba(4,16,26,.98));
    box-shadow: 0 28px 70px rgba(0,0,0,.45);
}

.ares-search-panel__label {
    display: block;
    margin-bottom: 12px;
    color: #fff;
    font-size: 1rem;
    font-weight: 860;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.ares-search-panel__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.ares-search-panel__close::before,
.ares-search-panel__close::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 15px;
    width: 16px;
    height: 2px;
    background: rgba(232,242,248,.8);
}

.ares-search-panel__close::before { transform: rotate(45deg); }
.ares-search-panel__close::after { transform: rotate(-45deg); }

.ares-header-search__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    height: 48px;
    border: 1px solid rgba(128,183,212,.22);
    border-radius: 3px;
    overflow: hidden;
    background: rgba(8,24,36,.72);
}

.ares-header-search input {
    width: 100%;
    min-width: 0;
    height: 100%;
    border: 0;
    background: transparent;
    color: #e8f2f8;
    font-size: 1rem;
    font-weight: 650;
    outline: 0;
    padding: 0 14px;
}

.ares-header-search input::placeholder {
    color: rgba(158,180,193,.8);
}

.ares-header-search button {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 0;
    border-left: 1px solid rgba(128,183,212,.16);
    background: rgba(182,139,63,.12);
    cursor: pointer;
}

.ares-header-search button span {
    position: relative;
    width: 14px;
    height: 14px;
    border: 2px solid var(--ares-gold, #b68b3f);
    border-radius: 50%;
}

.ares-header-search button span::after {
    content: "";
    position: absolute;
    right: -6px;
    bottom: -4px;
    width: 7px;
    height: 2px;
    border-radius: 1px;
    background: var(--ares-gold, #b68b3f);
    transform: rotate(45deg);
}

@media (min-width: 981px) {
    .ares-search-toggle__button {
        display: grid;
    }

    /* Il link ricerca mobile non esiste su desktop */
    .ares-header-search-mobile {
        display: none;
    }
}

@media (max-width: 980px) {
    .ares-site-header__top-inner {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ares-site-header__brief {
        display: none;
    }

    .ares-site-header__inner {
        grid-template-columns: auto 42px;
        gap: 14px;
        min-height: 66px;
    }

    .ares-nav-toggle__button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        justify-self: end;
        width: auto;
        min-width: 76px;
        height: 42px;
        padding: 0 10px;
        border: 1px solid rgba(128,183,212,.22);
        border-radius: 3px;
        background: rgba(8,24,36,.78);
        cursor: pointer;
    }

    .ares-nav-toggle__button span:not(.screen-reader-text) {
        display: block;
    }

    .ares-nav-toggle__text {
        color: rgba(232,242,248,.88);
        font-size: .72rem;
        font-weight: 850;
        letter-spacing: .06em;
        text-transform: uppercase;
    }

    .ares-nav-toggle__button span:not(.screen-reader-text):not(.ares-nav-toggle__text) {
        display: none;
    }

    .ares-nav-toggle__button::after {
        content: "";
        width: 18px;
        height: 12px;
        background:
            linear-gradient(#e8f2f8, #e8f2f8) 0 0 / 18px 2px no-repeat,
            linear-gradient(#e8f2f8, #e8f2f8) 0 5px / 18px 2px no-repeat,
            linear-gradient(#e8f2f8, #e8f2f8) 0 10px / 18px 2px no-repeat;
    }

    .ares-site-header__navwrap {
        grid-column: 1 / -1;
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        bottom: auto;
        z-index: 95;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 12px 20px 24px;
        border-top: 1px solid rgba(128,183,212,.16);
        background:
            radial-gradient(circle at 88% 8%, rgba(118,200,255,.1), transparent 34%),
            linear-gradient(180deg, rgba(3,16,26,.98), rgba(1,8,14,.98));
        box-shadow: 0 24px 48px rgba(0,0,0,.34);
        max-height: calc(100dvh - 102px);
        overflow-y: auto;
        overscroll-behavior: contain;
        scroll-behavior: auto;
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
    }

    .ares-nav-toggle:checked ~ .ares-site-header__navwrap {
        display: flex;
    }

    .ares-primary-nav__menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    /* Li full-width dentro il grid */
    .ares-primary-nav__menu > li {
        display: flex;
        flex-direction: column;
    }

    .ares-primary-nav__menu > li > a {
        flex: 1;
        width: 100%;
        justify-content: center;
        min-height: 42px;
        border: 1px solid rgba(128,183,212,.14);
        background: rgba(8,24,36,.54);
        text-align: center;
    }

    .ares-primary-nav__menu .sub-menu,
    .ares-primary-nav__menu .children {
        position: static;
        display: none;
        min-width: 0;
        margin-top: 6px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    /* Sub-menu mobile: aperto via JS (.is-open) */
    .ares-primary-nav__menu .sub-menu.is-open,
    .ares-primary-nav__menu .children.is-open {
        display: block;
    }

    /* Pulsante toggle sub-menu mobile */
    .ares-submenu-toggle {
        position: absolute;
        top: 0;
        right: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border: 0;
        background: transparent;
        cursor: pointer;
        color: rgba(232,242,248,.7);
    }

    .ares-submenu-toggle span {
        display: block;
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg) translateY(-2px);
        transition: transform .2s ease;
    }

    .ares-submenu-toggle[aria-expanded="true"] span {
        transform: rotate(-135deg) translateY(-2px);
    }

    /* Su desktop nasconde il toggle, i sub-menu usano :hover/:focus-within */
    @media (min-width: 981px) {
        .ares-submenu-toggle { display: none; }
    }

    .ares-header-brief,
    .ares-search-toggle__button {
        display: flex;
        width: 100%;
    }

    /* Search button dentro il navwrap mobile: larghezza piena */
    .ares-search-toggle__button {
        display: flex;
        justify-content: center;
        width: 100%;
        height: 42px;
    }
}

@media (max-width: 600px) {
    .admin-bar .ares-site-header { top: 0; }

    .ares-site-header__top-inner,
    .ares-site-header__inner {
        width: min(100% - 28px, 1180px);
    }

    .ares-site-header__top-inner {
        grid-template-columns: 1fr;
        min-height: 36px;
    }

    .ares-site-header__date {
        display: none;
    }

    .ares-news-ticker {
        width: 100%;
    }

    .ares-news-ticker__track {
        min-width: 0;
    }

    .ares-news-ticker__track a {
        min-width: 0;
        max-width: none;
    }

    .ares-news-ticker__track a:nth-child(n+2) {
        display: none;
    }

    .ares-site-header__brand .custom-logo {
        max-width: 158px;
        max-height: 40px;
    }

    .ares-site-header__title { font-size: 1rem; }
    .ares-site-header__tagline { display: none; }
    .ares-primary-nav__menu { grid-template-columns: 1fr; }

    .ares-site-header__navwrap {
        padding: 14px 14px 22px;
    }

    .ares-search-panel__dialog {
        margin-top: 84px;
        padding: 20px;
    }
}

/* Mobile mega menu hard override */
@media (max-width: 980px) {
    .ares-site-header .ares-mega-menu__panel {
        position: static !important;
        display: none !important;
        width: 100% !important;
        padding: 8px 0 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .ares-site-header .ares-mega-menu.is-open .ares-mega-menu__panel {
        display: block !important;
    }

    .ares-site-header .ares-mega-menu__grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
        padding: 8px 0 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ares-site-header .ares-mega-menu__column {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
    }

    .ares-site-header .ares-mega-menu__column h3 {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__column ul,
    .ares-site-header .ares-mega-menu__column li {
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .ares-site-header .ares-mega-menu__column li + li {
        margin-top: 7px !important;
    }

    .ares-site-header .ares-mega-menu__column a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 46px !important;
        padding: 9px 12px !important;
        box-sizing: border-box !important;
        border: 1px solid rgba(128,183,212,.14) !important;
        background: rgba(8,24,36,.54) !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__column span,
    .ares-site-header .ares-mega-menu__column small {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
        white-space: normal !important;
    }
}

/* Final mobile mega menu override */
@media (max-width: 980px) {
    .ares-site-header .ares-mega-menu {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__trigger {
        pointer-events: none !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 42px !important;
        margin-top: 4px !important;
        border: 1px solid rgba(128,183,212,.16) !important;
        background: rgba(140,198,63,.08) !important;
    }

    .ares-site-header .ares-mega-menu__trigger::after {
        display: none !important;
    }

    .ares-site-header .ares-mega-menu__panel {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 520px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 8px 0 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .ares-site-header .ares-mega-menu__grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
        gap: 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ares-site-header .ares-mega-menu__column,
    .ares-site-header .ares-mega-menu__column ul,
    .ares-site-header .ares-mega-menu__column li,
    .ares-site-header .ares-mega-menu__column a {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ares-site-header .ares-mega-menu__column a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 48px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(128,183,212,.14) !important;
        background: rgba(8,24,36,.62) !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__column span,
    .ares-site-header .ares-mega-menu__column small,
    .ares-site-header .ares-mega-menu__column h3 {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

/* Final centering for mobile Explore section */
@media (max-width: 980px) {
    .ares-site-header .ares-mega-menu,
    .ares-site-header .ares-mega-menu__panel,
    .ares-site-header .ares-mega-menu__grid,
    .ares-site-header .ares-mega-menu__column,
    .ares-site-header .ares-mega-menu__column ul,
    .ares-site-header .ares-mega-menu__column li {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__panel {
        max-width: 520px !important;
    }

    .ares-site-header .ares-mega-menu__grid {
        align-items: center !important;
    }
}

/* Header mega menu */
.ares-mega-menu {
    position: relative;
}

.ares-mega-menu__trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 3px;
    background: rgba(8,24,36,.54);
    color: rgba(232,242,248,.88);
    font: inherit;
    font-size: .74rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
    cursor: pointer;
}

.ares-mega-menu__trigger::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid var(--ares-green, #8cc63f);
    border-bottom: 2px solid var(--ares-green, #8cc63f);
    transform: rotate(45deg) translateY(-2px);
}

.ares-mega-menu__panel {
    position: absolute;
    top: calc(100% + 14px);
    right: -92px;
    z-index: 30;
    width: min(920px, calc(100vw - 40px));
    padding-top: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.ares-mega-menu:focus-within .ares-mega-menu__panel,
.ares-mega-menu.is-open .ares-mega-menu__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ares-mega-menu__panel::before {
    content: "";
    position: absolute;
    top: 0;
    right: 112px;
    width: 14px;
    height: 14px;
    border-left: 1px solid rgba(128,183,212,.2);
    border-top: 1px solid rgba(128,183,212,.2);
    background: rgba(6,20,31,.98);
    transform: rotate(45deg);
}

.ares-mega-menu__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(210px, 1.15fr);
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(128,183,212,.2);
    border-radius: 4px;
    background:
        radial-gradient(circle at 88% 12%, rgba(118,200,255,.1), transparent 30%),
        linear-gradient(180deg, rgba(10,29,43,.98), rgba(4,16,26,.98));
    box-shadow: 0 26px 58px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-mega-menu__column {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(128,183,212,.12);
    border-radius: 4px;
    background: rgba(3,16,26,.38);
}

.ares-mega-menu__column h3 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 10px;
    color: #fff;
    font-size: .72rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ares-mega-menu__column h3::before {
    content: "";
    width: 3px;
    height: 14px;
    border-left: 2px solid var(--ares-green, #8cc63f);
    border-right: 2px solid var(--ares-green, #8cc63f);
}

.ares-mega-menu__column ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-mega-menu__column a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 32px;
    padding: 0 8px;
    border-radius: 3px;
    color: rgba(232,242,248,.84);
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 680;
}

.ares-mega-menu__column a:hover {
    background: rgba(140,198,63,.1);
    color: #fff;
}

.ares-mega-menu__column span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ares-mega-menu__column small {
    color: var(--ares-gold, #b68b3f);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ares-mega-menu__column--latest {
    background:
        linear-gradient(180deg, rgba(182,139,63,.1), rgba(3,16,26,.38));
}

.ares-mega-menu__column--latest a {
    min-height: 42px;
    align-items: start;
    padding-top: 7px;
    padding-bottom: 7px;
}

.ares-mega-menu__column--latest span {
    white-space: normal;
}

@media (max-width: 1100px) {
    .ares-mega-menu__panel {
        right: -54px;
        width: min(820px, calc(100vw - 32px));
    }

    .ares-mega-menu__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ares-mega-menu {
        width: 100%;
    }

    .ares-mega-menu__trigger {
        justify-content: center;
        width: 100%;
        min-height: 42px;
    }

    .ares-mega-menu__panel {
        position: static;
        display: none;
        width: 100%;
        padding-top: 8px;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .ares-mega-menu:focus-within .ares-mega-menu__panel {
        display: none;
    }

    .ares-mega-menu.is-open .ares-mega-menu__panel {
        display: block;
    }

    .ares-mega-menu__panel::before {
        display: none;
    }

    .ares-mega-menu__grid {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 8px 0 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .ares-mega-menu__column {
        width: 100%;
        padding: 10px 14px;
        box-sizing: border-box;
    }

    .ares-mega-menu__column h3 {
        display: flex;
        justify-content: center;
        width: 100%;
        text-align: center;
    }

    .ares-mega-menu__column ul,
    .ares-mega-menu__column li {
        width: 100%;
    }

    .ares-mega-menu__column ul {
        gap: 7px;
    }

    .ares-mega-menu__column a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 44px;
        box-sizing: border-box;
        border: 1px solid rgba(128,183,212,.14);
        background: rgba(8,24,36,.54);
        text-align: center;
    }

    .ares-mega-menu__column span,
    .ares-mega-menu__column small {
        display: block;
        width: 100%;
        max-width: none;
        min-width: 0;
        text-align: center;
        white-space: normal;
    }

    .ares-mega-menu__column small {
        margin-top: 2px;
    }
}

@media (max-width: 600px) {
    .ares-mega-menu {
        width: calc(100% + 28px);
        margin-left: -14px;
        margin-right: -14px;
    }

    .ares-mega-menu__trigger {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .ares-mega-menu__panel {
        width: 100%;
    }

    .ares-mega-menu__grid {
        padding-top: 8px;
    }

    .ares-mega-menu__column {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }
}

/* Final mobile mega menu override */
@media (max-width: 980px) {
    .ares-site-header .ares-mega-menu {
        width: 100% !important;
    }

    .ares-site-header .ares-mega-menu__trigger {
        pointer-events: none !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 42px !important;
        margin-top: 4px !important;
        border: 1px solid rgba(128,183,212,.16) !important;
        background: rgba(140,198,63,.08) !important;
    }

    .ares-site-header .ares-mega-menu__trigger::after,
    .ares-site-header .ares-mega-menu__panel::before {
        display: none !important;
    }

    .ares-site-header .ares-mega-menu__panel {
        position: static !important;
        display: block !important;
        width: 100% !important;
        padding: 8px 0 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .ares-site-header .ares-mega-menu__grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: none !important;
        gap: 10px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .ares-site-header .ares-mega-menu__column,
    .ares-site-header .ares-mega-menu__column ul,
    .ares-site-header .ares-mega-menu__column li,
    .ares-site-header .ares-mega-menu__column a {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .ares-site-header .ares-mega-menu__column a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 48px !important;
        padding: 10px 12px !important;
        border: 1px solid rgba(128,183,212,.14) !important;
        background: rgba(8,24,36,.62) !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__column span,
    .ares-site-header .ares-mega-menu__column small,
    .ares-site-header .ares-mega-menu__column h3 {
        width: 100% !important;
        max-width: none !important;
        text-align: center !important;
        justify-content: center !important;
    }
}

/* Final centering for mobile Explore section */
@media (max-width: 980px) {
    .ares-site-header .ares-mega-menu,
    .ares-site-header .ares-mega-menu__panel,
    .ares-site-header .ares-mega-menu__grid,
    .ares-site-header .ares-mega-menu__column,
    .ares-site-header .ares-mega-menu__column ul,
    .ares-site-header .ares-mega-menu__column li {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .ares-site-header .ares-mega-menu__panel {
        max-width: 520px !important;
    }

    .ares-site-header .ares-mega-menu__grid {
        align-items: center !important;
    }
}

.ares-site-header__account {
    align-items: center;
    display: flex;
    margin-left: 8px;
}

@media (max-width: 768px) {
    .ares-site-header__account {
        margin-left: 0;
        width: 100%;
    }
}

/* Domini operativi page */
body.page-domini-operativi,
body:has(.ares-domain-archive),
.site-content:has(.ares-domain-archive),
.inside-article:has(.ares-domain-archive),
.entry-content:has(.ares-domain-archive) {
    background: #03101a;
}

.site-content:has(.ares-domain-archive) {
    padding: 0;
}

.content-area:has(.ares-domain-archive),
.site-main:has(.ares-domain-archive) {
    margin: 0;
}

.ares-domain-archive {
    padding-top: 34px;
}

.ares-domain-archive__hero {
    padding-top: 8px;
}

.ares-domain-archive__title {
    max-width: 880px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-domain-archive__intro {
    max-width: 720px;
    margin: 14px 0 22px;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-domain-archive__tabs {
    margin-top: 22px;
}

.ares-domain-archive__top {
    margin-bottom: 28px;
}

.ares-domain-archive a {
    color: inherit;
    text-decoration: none;
}

.ares-domain-archive__sections {
    border-bottom: 0;
}

.ares-domain-magazine {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ares-domain-magazine-box {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-domain-magazine-box__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.ares-domain-magazine-box__head h3 {
    margin: 0;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-domain-magazine-box__body {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(190px, .88fr);
    gap: 10px;
    align-items: stretch;
}

.ares-domain-magazine-box__lead {
    min-height: 285px;
}

.ares-domain-magazine-box__rail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(128,183,212,.13);
    border-radius: 4px;
    background: rgba(2,10,18,.28);
}

.ares-domain-magazine-box__item {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border-bottom: 1px solid rgba(128,183,212,.13);
}

.ares-domain-magazine-box__item:last-child {
    border-bottom: 0;
}

.ares-domain-magazine-box__item time {
    color: var(--ares-soft);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-domain-magazine-box__item h4 {
    margin: 0;
    color: rgba(232,242,248,.9);
    font-size: .92rem;
    line-height: 1.28;
    font-weight: 680;
}

@media (max-width: 960px) {
    .ares-domain-magazine {
        grid-template-columns: 1fr;
    }

    .ares-domain-magazine-box__body {
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
    }
}

@media (max-width: 640px) {
    .ares-domain-archive {
        padding-top: 18px;
    }

    .ares-domain-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-domain-archive__intro {
        font-size: .94rem;
    }

    .ares-domain-magazine-box {
        padding: 13px;
    }

    .ares-domain-magazine-box__head {
        display: grid;
        gap: 8px;
    }

    .ares-domain-magazine-box__body {
        grid-template-columns: 1fr;
    }

    .ares-domain-magazine-box__lead {
        min-height: 240px;
    }
}

/* ===== ARES HUB PAGES INTEGRATION ===== */
/* ========================================================================== */
/* Hub pages consolidated CSS */
/* ========================================================================== */

/*
 * Ares hub pages CSS
 * Includes: shared hub hero, Domini, Sistemi, Aziende, Forza armata, Notizie.
 * Paste once at the end of the GeneratePress child theme style.css.
 */


/* ===== hub-hero-css.css ===== */

/* Shared editorial hero for Ares hub pages */
body:has(.ares-hub-hero) .entry-header,
body:has(.ares-hub-hero) .entry-title,
body:has(.ares-hub-hero) .page-header {
    display: none;
}

.ares-hub-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .36fr);
    gap: 28px;
    align-items: end;
    min-height: 300px;
    margin-bottom: 30px;
    padding: 34px 34px 30px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background:
        linear-gradient(135deg, rgba(118,200,255,.12), transparent 38%),
        linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.98));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}

.ares-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(140,198,63,.18) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, rgba(140,198,63,.10) 0 1px, transparent 1px 100%);
    background-size: 44px 44px;
    opacity: .12;
    pointer-events: none;
}

.ares-hub-hero::after {
    content: "";
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--ares-green) 12%, rgba(118,200,255,.72) 68%, transparent 100%);
    opacity: .9;
}

.ares-hub-hero__content,
.ares-hub-hero__meta {
    position: relative;
    z-index: 1;
}

.ares-hub-hero__content {
    max-width: 860px;
    min-width: 0;
}

.ares-hub-hero .ares-eyebrow {
    margin-bottom: 12px;
}

.ares-hub-hero .ares-news-archive__title,
.ares-hub-hero .ares-systems-archive__title,
.ares-hub-hero .ares-companies-archive__title,
.ares-hub-hero .ares-forces-archive__title,
.ares-hub-hero .ares-domain-archive__title {
    max-width: 980px;
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height: .94;
}

.ares-hub-hero .ares-news-archive__intro,
.ares-hub-hero .ares-systems-archive__intro,
.ares-hub-hero .ares-companies-archive__intro,
.ares-hub-hero .ares-forces-archive__intro,
.ares-hub-hero .ares-domain-archive__intro {
    max-width: 760px;
    margin-top: 16px;
    color: rgba(232,242,248,.78);
    font-size: 1.02rem;
    line-height: 1.62;
}

.ares-hub-hero__meta {
    display: grid;
    gap: 8px;
}

.ares-hub-hero__meta span {
    display: grid;
    gap: 3px;
    min-height: 72px;
    padding: 12px 14px;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 3px;
    background: rgba(2,10,18,.38);
    color: var(--ares-soft);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ares-hub-hero__meta strong {
    color: #fff;
    font-size: 1.42rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.ares-hub-hero__tabs {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    margin: 24px 0 0;
    padding-bottom: 6px;
    gap: 6px;
    overflow-x: scroll;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(140,198,63,.38) rgba(2,10,18,.34);
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}

.ares-hub-hero__tabs::-webkit-scrollbar {
    height: 4px;
}

.ares-hub-hero__tabs::-webkit-scrollbar-track {
    background: rgba(2,10,18,.34);
    border-radius: 2px;
}

.ares-hub-hero__tabs::-webkit-scrollbar-thumb {
    background: rgba(140,198,63,.38);
    border-radius: 2px;
}

.ares-hub-hero__tabs .ares-domain-tab {
    flex: 0 0 auto;
    width: auto;
    min-width: max-content;
    padding-left: 14px;
    padding-right: 14px;
    white-space: nowrap;
}

.ares-hub-hero__tabs .ares-domain-tab span {
    display: inline !important;
}

@media (min-width: 961px) {
    .ares-hub-hero__tabs {
        max-width: calc(100vw - 460px);
    }
}

@media (max-width: 640px) {
    .ares-hub-hero__tabs {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
    }
}

@media (max-width: 960px) {
    .ares-hub-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 28px;
    }

    .ares-hub-hero__meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .ares-hub-hero {
        padding: 22px;
    }

    .ares-hub-hero .ares-news-archive__title,
    .ares-hub-hero .ares-systems-archive__title,
    .ares-hub-hero .ares-companies-archive__title,
    .ares-hub-hero .ares-forces-archive__title,
    .ares-hub-hero .ares-domain-archive__title {
        font-size: clamp(2rem, 12vw, 3.25rem);
        line-height: 1;
    }

    .ares-hub-hero__meta {
        grid-template-columns: 1fr;
    }

    .ares-hub-hero__meta span {
        min-height: 0;
    }
}

/* Final overflow guard: keep hub pages inside the viewport even if older CSS was pasted above. */
html:has(.ares-hub-hero),
body:has(.ares-hub-hero) {
    background: #03101a;
}

body:has(.ares-hub-hero) {
    overflow-x: clip;
}

.ares-home-dark:has(.ares-hub-hero),
.ares-domain-archive:has(.ares-hub-hero) {
    max-width: 100%;
    overflow-x: clip;
}

.ares-hub-hero,
.ares-hub-hero__content,
.ares-hub-hero__tabs {
    box-sizing: border-box;
    min-width: 0;
}

.ares-hub-hero__tabs,
.ares-domain-archive__tabs.ares-hub-hero__tabs {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 640px) {
    .ares-hub-hero__tabs,
    .ares-domain-archive__tabs.ares-hub-hero__tabs {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* ===== domini-operativi-css.css ===== */

/* Pagina Domini operativi
   Da accodare al CSS del tema child, dopo le regole homepage. */

body.page-domini-operativi,
.page-domini-operativi .site-content,
.page-domini-operativi .inside-article,
.page-domini-operativi .entry-content,
.site-content:has(.ares-domain-archive),
.inside-article:has(.ares-domain-archive),
.entry-content:has(.ares-domain-archive) {
    background: #03101a;
}

.page-domini-operativi .site-content,
.site-content:has(.ares-domain-archive) {
    padding: 0;
}

.page-domini-operativi .content-area,
.page-domini-operativi .site-main,
.content-area:has(.ares-domain-archive),
.site-main:has(.ares-domain-archive) {
    margin: 0;
}

.ares-domain-archive {
    padding-top: 34px;
}

.ares-domain-archive__hero {
    padding-top: 8px;
}

.ares-domain-archive__title {
    max-width: 880px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-domain-archive__intro {
    max-width: 720px;
    margin: 14px 0 22px;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-domain-archive__tabs {
    margin-top: 22px;
}

.ares-domain-archive__tabs.ares-hub-hero__tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    max-width: 100%;
    gap: 6px;
    overflow-x: scroll !important;
    overflow-y: hidden;
    padding-bottom: 6px;
    scrollbar-width: thin;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}

.ares-domain-archive__tabs.ares-hub-hero__tabs .ares-domain-tab {
    flex: 0 0 auto !important;
    width: auto;
    min-width: max-content;
    padding-left: 14px;
    padding-right: 14px;
    white-space: nowrap;
}

.ares-domain-archive__tabs.ares-hub-hero__tabs .ares-domain-tab span {
    display: inline !important;
}

@media (min-width: 961px) {
    .ares-domain-archive__tabs.ares-hub-hero__tabs {
        max-width: calc(100vw - 460px);
    }
}

@media (max-width: 640px) {
    .ares-domain-archive__tabs.ares-hub-hero__tabs {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
    }
}

.ares-domain-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 10px;
}

.ares-domain-news-layout__lead {
    min-height: 420px;
}

.ares-domain-news-layout__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ares-domain-magazine {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.ares-domain-magazine-box {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-domain-magazine-box__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.ares-domain-magazine-box__head h3 {
    margin: 0;
    color: #fff;
    font-size: 1.25rem;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-domain-magazine-box__body {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(190px, .88fr);
    gap: 10px;
    align-items: stretch;
}

.ares-domain-magazine-box__lead {
    min-height: 285px;
}

.ares-domain-magazine-box__rail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(128,183,212,.13);
    border-radius: 4px;
    background: rgba(2,10,18,.28);
}

.ares-domain-magazine-box__item {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border-bottom: 1px solid rgba(128,183,212,.13);
}

.ares-domain-magazine-box__item:last-child {
    border-bottom: 0;
}

.ares-domain-magazine-box__item time {
    color: var(--ares-soft);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-domain-magazine-box__item h4 {
    margin: 0;
    color: rgba(232,242,248,.9);
    font-size: .92rem;
    line-height: 1.28;
    font-weight: 680;
}

.ares-domain-archive__top {
    margin-bottom: 28px;
}

.ares-domain-archive__top .wp-block-post-template {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-domain-archive__top > .wp-block-query,
.ares-domain-archive__top > .wp-block-query > .wp-block-post-template,
.ares-domain-archive__top > .wp-block-query > .wp-block-post-template > .wp-block-post {
    min-width: 0;
    height: 100%;
}

.ares-domain-archive__top .ares-lead-card {
    height: 100%;
}

.ares-domain-archive__top .ares-top-grid {
    display: block;
}

.ares-domain-archive__top .ares-top-grid > .wp-block-post-template {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(2, minmax(0,1fr));
    gap: 10px;
    height: 100%;
}

.ares-domain-archive__top .wp-block-post {
    margin: 0;
}

.ares-domain-archive .wp-block-post-featured-image {
    margin: 0;
}

.ares-domain-archive .wp-block-post-featured-image a {
    display: block;
    height: 100%;
}

.ares-domain-archive .wp-block-post-title {
    margin: 0;
}

.ares-domain-archive .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
}

.ares-domain-archive .taxonomy-category {
    gap: .35rem;
}

.ares-domain-archive .taxonomy-category a {
    color: inherit;
    text-decoration: none;
}

.ares-domain-archive__news-grid.wp-block-post-template {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-domain-archive__news-grid .wp-block-post {
    margin: 0;
}

.ares-domain-archive__sections {
    border-bottom: 0;
}

.ares-domain-archive__domain-columns {
    gap: 10px;
    margin-bottom: 10px;
}

.ares-domain-archive__domain-columns .wp-block-column {
    min-width: 0;
}

.ares-domain-archive__domain-columns .ares-term-card {
    min-height: 150px;
}

.ares-domain-archive__pagination {
    margin-top: 24px;
    gap: 8px;
}

.ares-domain-archive__pagination a,
.ares-domain-archive__pagination .page-numbers {
    min-height: 36px;
    min-width: 36px;
    padding: 8px 12px;
    border: 1px solid var(--ares-border);
    border-radius: 2px;
    color: var(--ares-soft);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}

.ares-domain-archive__pagination a:hover,
.ares-domain-archive__pagination .current {
    border-color: var(--ares-green);
    background: rgba(140,198,63,.12);
    color: #fff;
}

@media (max-width: 960px) {
    .ares-domain-archive__top {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ares-domain-archive__domain-columns {
        flex-wrap: wrap !important;
    }

    .ares-domain-news-layout,
    .ares-domain-magazine {
        grid-template-columns: 1fr;
    }

    .ares-domain-news-layout__side {
        min-height: 430px;
    }

    .ares-domain-magazine-box__body {
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
    }
}

@media (max-width: 640px) {
    .ares-domain-archive {
        padding-top: 18px;
    }

    .ares-domain-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-domain-archive__intro {
        font-size: .94rem;
    }

    .ares-domain-archive__news-grid.ares-domain-grid {
        grid-template-columns: 1fr;
    }

    .ares-domain-archive__domain-columns {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .ares-domain-news-layout__side,
    .ares-domain-magazine-box__body {
        grid-template-columns: 1fr;
    }

    .ares-domain-news-layout__side {
        min-height: 0;
    }

    .ares-domain-news-layout__lead,
    .ares-domain-magazine-box__lead {
        min-height: 240px;
    }

    .ares-domain-magazine-box {
        padding: 13px;
    }

    .ares-domain-magazine-box__head {
        display: grid;
        gap: 8px;
    }
}

/* ===== sistemi-css.css ===== */

/* Sistemi page */
body.page-sistemi,
body:has(.ares-systems-archive),
.site-content:has(.ares-systems-archive),
.inside-article:has(.ares-systems-archive),
.entry-content:has(.ares-systems-archive) {
    background: #03101a;
}

.site-content:has(.ares-systems-archive) {
    padding: 0;
}

.content-area:has(.ares-systems-archive),
.site-main:has(.ares-systems-archive) {
    margin: 0;
}

.ares-systems-archive {
    padding-top: 34px;
}

.ares-systems-archive a {
    color: inherit;
    text-decoration: none;
}

.ares-systems-archive__hero {
    padding-top: 8px;
}

.ares-systems-archive__title {
    max-width: 940px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-systems-archive__intro {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-systems-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ares-systems-catalog-card {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    justify-content: flex-end;
}

.ares-systems-catalog-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2,10,18,.12), rgba(2,10,18,.92));
    pointer-events: none;
}

.ares-systems-catalog-card .ares-term-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ares-systems-catalog-card .ares-term-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-systems-catalog-card > strong,
.ares-systems-catalog-card > em,
.ares-systems-catalog-card > small {
    position: relative;
    z-index: 2;
}

.ares-systems-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 10px;
}

.ares-systems-news-layout__lead {
    min-height: 420px;
}

.ares-systems-news-layout__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ares-systems-editorial-list {
    display: grid;
    gap: 10px;
}

.ares-systems-editorial-item {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.88), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-systems-editorial-item__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 3px;
    background: rgba(2,10,18,.45);
}

.ares-systems-editorial-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-systems-editorial-item__body {
    min-width: 0;
}

.ares-systems-editorial-item h3 {
    margin: 0;
    color: #fff;
    font-size: 1.18rem;
    line-height: 1.12;
    font-weight: 850;
}

.ares-systems-editorial-item p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--ares-soft);
    font-size: .9rem;
    line-height: 1.45;
}

.ares-systems-editorial-item__latest {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    color: rgba(232,242,248,.9);
}

.ares-systems-editorial-item__latest span {
    color: var(--ares-green);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ares-systems-editorial-item__latest strong {
    font-size: .86rem;
    line-height: 1.25;
    font-weight: 650;
}

@media (max-width: 960px) {
    .ares-systems-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ares-systems-news-layout {
        grid-template-columns: 1fr;
    }

    .ares-systems-news-layout__side {
        min-height: 430px;
    }

    .ares-systems-editorial-item {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .ares-systems-editorial-item > .ares-text-link {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .ares-systems-archive {
        padding-top: 18px;
    }

    .ares-systems-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-systems-archive__intro {
        font-size: .94rem;
    }

    .ares-systems-catalog-grid,
    .ares-systems-news-layout__side {
        grid-template-columns: 1fr;
    }

    .ares-systems-catalog-card {
        min-height: 250px;
    }

    .ares-systems-news-layout__side {
        min-height: 0;
    }

    .ares-systems-news-layout__lead {
        min-height: 240px;
    }

    .ares-systems-editorial-item {
        grid-template-columns: 1fr;
    }

    .ares-systems-editorial-item > .ares-text-link {
        grid-column: auto;
    }
}

/* ===== aziende-css.css ===== */

/* Industria e Aziende page */
body.page-aziende,
body:has(.ares-companies-archive),
.site-content:has(.ares-companies-archive),
.inside-article:has(.ares-companies-archive),
.entry-content:has(.ares-companies-archive) {
    background: #03101a;
}

.site-content:has(.ares-companies-archive) {
    padding: 0;
}

.content-area:has(.ares-companies-archive),
.site-main:has(.ares-companies-archive) {
    margin: 0;
}

.ares-companies-archive {
    padding-top: 34px;
}

.ares-companies-archive a {
    color: inherit;
    text-decoration: none;
}

.ares-companies-archive__hero {
    padding-top: 8px;
}

.ares-companies-archive__title {
    max-width: 980px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-companies-archive__intro {
    max-width: 780px;
    margin: 14px 0 0;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-companies-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ares-companies-catalog-card {
    position: relative;
    min-height: 270px;
    overflow: hidden;
    justify-content: flex-end;
    padding: 18px;
}

.ares-companies-catalog-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2,10,18,.08), rgba(2,10,18,.40) 45%, rgba(2,10,18,.94));
    pointer-events: none;
}

.ares-companies-catalog-card .ares-term-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ares-companies-catalog-card .ares-term-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-companies-catalog-card > strong {
    position: relative;
    z-index: 2;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 8px;
    padding: 6px 9px;
    border-left: 3px solid var(--ares-green);
    background: rgba(2,10,18,.72);
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 900;
    text-transform: uppercase;
}

.ares-companies-catalog-card > em,
.ares-companies-catalog-card > small {
    position: relative;
    z-index: 2;
}

.ares-companies-catalog-card > em {
    max-width: 92%;
    color: rgba(232,242,248,.86);
}

.ares-companies-catalog-card > small {
    color: var(--ares-green);
    font-weight: 850;
}

.ares-companies-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 10px;
}

.ares-companies-news-layout__lead {
    min-height: 420px;
}

.ares-companies-news-layout__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ares-companies-context-grid {
    display: grid;
    gap: 14px;
}

.ares-companies-context-box {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.90), rgba(4,16,26,.96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-companies-context-box__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.ares-companies-context-box__head h3 {
    margin: 0;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-companies-context-box__head p {
    max-width: 620px;
    margin: 7px 0 0;
    color: var(--ares-soft);
    font-size: .9rem;
    line-height: 1.45;
}

.ares-companies-context-box__body {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    gap: 10px;
    align-items: stretch;
}

.ares-companies-context-box__lead {
    min-height: 310px;
}

.ares-companies-context-box__rail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(128,183,212,.13);
    border-radius: 4px;
    background: rgba(2,10,18,.28);
}

.ares-companies-context-box__item {
    display: grid;
    gap: 5px;
    padding: 14px;
    border-bottom: 1px solid rgba(128,183,212,.13);
}

.ares-companies-context-box__item:last-child {
    border-bottom: 0;
}

.ares-companies-context-box__item time {
    color: var(--ares-soft);
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-companies-context-box__item h4 {
    margin: 0;
    color: rgba(232,242,248,.9);
    font-size: .94rem;
    line-height: 1.3;
    font-weight: 680;
}

.ares-companies-editorial-list {
    display: grid;
    gap: 10px;
}

.ares-companies-editorial-item {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.88), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-companies-editorial-item__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 3px;
    background: rgba(2,10,18,.45);
}

.ares-companies-editorial-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-companies-editorial-item__body {
    min-width: 0;
}

.ares-companies-editorial-item h3 {
    margin: 0;
    color: #fff;
    font-size: 1.18rem;
    line-height: 1.12;
    font-weight: 850;
}

.ares-companies-editorial-item p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--ares-soft);
    font-size: .9rem;
    line-height: 1.45;
}

.ares-companies-editorial-item__latest {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    color: rgba(232,242,248,.9);
}

.ares-companies-editorial-item__latest span {
    color: var(--ares-green);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ares-companies-editorial-item__latest strong {
    font-size: .86rem;
    line-height: 1.25;
    font-weight: 650;
}

@media (max-width: 960px) {
    .ares-companies-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ares-companies-news-layout {
        grid-template-columns: 1fr;
    }

    .ares-companies-context-box__body {
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
    }

    .ares-companies-news-layout__side {
        min-height: 430px;
    }

    .ares-companies-editorial-item {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .ares-companies-editorial-item > .ares-text-link {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .ares-companies-archive {
        padding-top: 18px;
    }

    .ares-companies-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-companies-archive__intro {
        font-size: .94rem;
    }

    .ares-companies-catalog-grid,
    .ares-companies-news-layout__side {
        grid-template-columns: 1fr;
    }

    .ares-companies-catalog-card {
        min-height: 250px;
    }

    .ares-companies-news-layout__side {
        min-height: 0;
    }

    .ares-companies-news-layout__lead {
        min-height: 240px;
    }

    .ares-companies-context-box {
        padding: 13px;
    }

    .ares-companies-context-box__head {
        display: grid;
        gap: 8px;
    }

    .ares-companies-context-box__body {
        grid-template-columns: 1fr;
    }

    .ares-companies-context-box__lead {
        min-height: 240px;
    }

    .ares-companies-editorial-item {
        grid-template-columns: 1fr;
    }

    .ares-companies-editorial-item > .ares-text-link {
        grid-column: auto;
    }
}

/* ===== forza-armata-css.css ===== */

/* Forza armata page */
body.page-forza-armata,
body:has(.ares-forces-archive),
.site-content:has(.ares-forces-archive),
.inside-article:has(.ares-forces-archive),
.entry-content:has(.ares-forces-archive) {
    background: #03101a;
}

.site-content:has(.ares-forces-archive) {
    padding: 0;
}

.content-area:has(.ares-forces-archive),
.site-main:has(.ares-forces-archive) {
    margin: 0;
}

.ares-forces-archive {
    padding-top: 34px;
}

.ares-forces-archive a {
    color: inherit;
    text-decoration: none;
}

.ares-forces-archive__hero {
    padding-top: 8px;
}

.ares-forces-archive__title {
    max-width: 940px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-forces-archive__intro {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-forces-archive__content {
    margin-top: 22px;
}

.ares-forces-archive__content-inner,
.ares-forces-archive__empty {
    padding: 22px 24px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.94));
    color: var(--ares-soft);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-forces-catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ares-forces-catalog-card {
    position: relative;
    min-height: 280px;
    overflow: hidden;
    justify-content: flex-end;
    padding: 18px;
}

.ares-forces-catalog-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(2,10,18,.08), rgba(2,10,18,.42) 45%, rgba(2,10,18,.94));
    pointer-events: none;
}

.ares-forces-catalog-card .ares-term-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.ares-forces-catalog-card .ares-term-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-forces-catalog-card__marks {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.ares-forces-catalog-card__marks img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    padding: 5px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 4px;
    background: rgba(2,10,18,.72);
}

.ares-forces-catalog-card > strong {
    position: relative;
    z-index: 2;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 8px;
    padding: 6px 9px;
    border-left: 3px solid #f4c15d;
    background: rgba(2,10,18,.72);
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.1;
    font-weight: 900;
    text-transform: uppercase;
}

.ares-forces-catalog-card > em,
.ares-forces-catalog-card > small {
    position: relative;
    z-index: 2;
}

.ares-forces-catalog-card > em {
    max-width: 92%;
    color: rgba(232,242,248,.86);
}

.ares-forces-catalog-card > small {
    color: #f4c15d;
    font-weight: 850;
}

.ares-forces-news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 10px;
}

.ares-forces-news-layout__lead {
    min-height: 420px;
}

.ares-forces-news-layout__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ares-forces-archive__count {
    color: var(--ares-soft);
    font-size: .74rem;
    font-weight: 760;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.ares-forces-editorial-list {
    display: grid;
    gap: 10px;
}

.ares-forces-editorial-item {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.88), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ares-forces-editorial-item__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 3px;
    background: rgba(2,10,18,.45);
}

.ares-forces-editorial-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-forces-editorial-item__body {
    min-width: 0;
}

.ares-forces-editorial-item h3 {
    margin: 0;
    color: #fff;
    font-size: 1.18rem;
    line-height: 1.12;
    font-weight: 850;
}

.ares-forces-editorial-item p {
    max-width: 760px;
    margin: 7px 0 0;
    color: var(--ares-soft);
    font-size: .9rem;
    line-height: 1.45;
}

.ares-forces-editorial-item__latest {
    display: grid;
    gap: 2px;
    margin-top: 10px;
    color: rgba(232,242,248,.9);
}

.ares-forces-editorial-item__latest span {
    color: #f4c15d;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ares-forces-editorial-item__latest strong {
    font-size: .86rem;
    line-height: 1.25;
    font-weight: 650;
}

@media (max-width: 960px) {
    .ares-forces-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ares-forces-news-layout {
        grid-template-columns: 1fr;
    }

    .ares-forces-news-layout__side {
        min-height: 430px;
    }

    .ares-forces-editorial-item {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .ares-forces-editorial-item > .ares-text-link {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .ares-forces-archive {
        padding-top: 18px;
    }

    .ares-forces-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-forces-archive__intro {
        font-size: .94rem;
    }

    .ares-forces-catalog-grid,
    .ares-forces-news-layout__side {
        grid-template-columns: 1fr;
    }

    .ares-forces-catalog-card {
        min-height: 250px;
    }

    .ares-forces-news-layout__side {
        min-height: 0;
    }

    .ares-forces-news-layout__lead {
        min-height: 240px;
    }

    .ares-forces-editorial-item {
        grid-template-columns: 1fr;
    }

    .ares-forces-editorial-item > .ares-text-link {
        grid-column: auto;
    }
}

/* ===== notizie-css.css ===== */

/* Notizie page */
body.page-notizie,
body:has(.ares-news-archive),
.site-content:has(.ares-news-archive),
.inside-article:has(.ares-news-archive),
.entry-content:has(.ares-news-archive) {
    background: #03101a;
}

.site-content:has(.ares-news-archive) {
    padding: 0;
}

.content-area:has(.ares-news-archive),
.site-main:has(.ares-news-archive) {
    margin: 0;
}

.ares-news-archive {
    padding-top: 34px;
}

.ares-news-archive a {
    color: inherit;
    text-decoration: none;
}

.ares-news-archive__hero {
    padding-top: 8px;
}

.ares-news-archive__title {
    max-width: 940px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 4.35rem);
    line-height: .98;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.ares-news-archive__intro {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--ares-soft);
    font-size: 1rem;
    line-height: 1.55;
}

.ares-news-archive-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 10px;
}

.ares-news-archive-featured__lead {
    min-height: 430px;
}

.ares-news-archive-featured__side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ares-news-editorial-list {
    display: grid;
    gap: 12px;
}

.ares-news-editorial-item {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: stretch;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.88), rgba(4,16,26,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.ares-news-editorial-item:hover {
    transform: translateY(-2px);
    border-color: rgba(140,198,63,.35);
    background: linear-gradient(180deg, rgba(13,35,51,.92), rgba(4,16,26,.96));
}

.ares-news-editorial-item__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 3px;
    background: rgba(2,10,18,.45);
}

.ares-news-editorial-item__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ares-news-editorial-item__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.ares-news-editorial-item h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.08rem, 1.55vw, 1.34rem);
    line-height: 1.12;
    font-weight: 850;
}

.ares-news-editorial-item p {
    max-width: 760px;
    margin: 7px 0 10px;
    color: var(--ares-soft);
    font-size: .93rem;
    line-height: 1.5;
}

.ares-news-editorial-item > .ares-text-link {
    align-self: center;
    white-space: nowrap;
}

.ares-news-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
}

.ares-news-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 36px;
    padding: 8px 12px;
    border: 1px solid var(--ares-border);
    border-radius: 2px;
    color: var(--ares-soft);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ares-news-pagination .page-numbers:hover,
.ares-news-pagination .page-numbers.current {
    border-color: var(--ares-green);
    background: rgba(140,198,63,.12);
    color: #fff;
}

.ares-news-archive__empty {
    padding: 24px;
    border: 1px solid var(--ares-border);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(10,29,43,.92), rgba(4,16,26,.94));
    color: var(--ares-soft);
}

@media (max-width: 960px) {
    .ares-news-archive-featured {
        grid-template-columns: 1fr;
    }

    .ares-news-archive-featured__side {
        min-height: 430px;
    }

    .ares-news-editorial-item {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .ares-news-editorial-item > .ares-text-link {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 640px) {
    .ares-news-archive {
        padding-top: 18px;
    }

    .ares-news-archive__title {
        font-size: clamp(2rem, 12vw, 3.15rem);
        line-height: 1;
    }

    .ares-news-archive__intro {
        font-size: .94rem;
    }

    .ares-news-archive-featured__side {
        grid-template-columns: 1fr;
    }

    .ares-news-archive-featured__side {
        min-height: 0;
    }

    .ares-news-archive-featured__lead {
        min-height: 240px;
    }

    .ares-news-editorial-item {
        grid-template-columns: 1fr;
    }

    .ares-news-editorial-item > .ares-text-link {
        grid-column: auto;
    }
}

/* === Header/Footer merged update from header-refactor === */
/* Final override: dedicated section header navigation */
.ares-section-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-section-nav__item {
    min-width: 0;
}

.ares-section-nav__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 42px;
    padding: 0 11px;
    border-radius: 3px;
    color: rgba(232,242,248,.84);
    text-decoration: none;
    transition: background .18s ease, color .18s ease;
}

.ares-section-nav__label {
    font-size: .74rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.ares-section-nav__description {
    display: block;
    max-width: 18ch;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    color: var(--ares-soft, #9eb4c1);
    font-size: .66rem;
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: 0;
    text-transform: none;
    opacity: 0;
    transition: max-height .18s ease, margin-top .18s ease, opacity .18s ease;
}

.ares-section-nav__link:hover,
.ares-section-nav__link:focus-visible,
.ares-section-nav__link[aria-current="page"] {
    background: rgba(140,198,63,.1);
    color: #fff;
    outline: 0;
}

.ares-section-nav__link[aria-current="page"] {
    box-shadow: inset 0 -2px 0 var(--ares-green, #8cc63f);
}

@media (max-width: 980px) {
    .ares-primary-nav {
        width: 100%;
    }

    .ares-section-nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        width: 100%;
    }

    .ares-section-nav__link {
        align-items: center;
        min-height: 54px;
        width: 100%;
        padding: 9px 12px;
        border: 1px solid rgba(128,183,212,.14);
        background: rgba(8,24,36,.56);
        box-sizing: border-box;
        text-align: center;
    }

    .ares-section-nav__label {
        font-size: .82rem;
    }

    .ares-section-nav__description {
        display: block;
        max-width: 32ch;
        max-height: none;
        margin-top: 5px;
        color: var(--ares-soft, #9eb4c1);
        font-size: .72rem;
        line-height: 1.25;
        font-weight: 650;
        letter-spacing: 0;
        text-transform: none;
        opacity: 1;
    }

    .ares-section-nav__link[aria-current="page"] {
        border-color: rgba(140,198,63,.36);
        background: rgba(140,198,63,.11);
        box-shadow: none;
    }
}

/* Last override: centered button-style primary sections */
.ares-site-header .ares-primary-nav {
    display: flex;
    justify-content: center;
    min-width: 0;
}

.ares-site-header .ares-section-nav {
    justify-content: center;
    gap: 7px;
    width: 100%;
}

.ares-site-header .ares-section-nav__link {
    align-items: center;
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid rgba(128,183,212,.18);
    border-radius: 3px;
    background: rgba(8,24,36,.54);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    text-align: center;
}

.ares-site-header .ares-section-nav__description {
    display: none;
}

.ares-site-header .ares-section-nav__link:hover,
.ares-site-header .ares-section-nav__link:focus-visible {
    border-color: rgba(140,198,63,.34);
    background: rgba(140,198,63,.1);
}

.ares-site-header .ares-section-nav__link[aria-current="page"] {
    border-color: rgba(140,198,63,.46);
    background: linear-gradient(180deg, rgba(140,198,63,.14), rgba(8,24,36,.62));
    box-shadow: inset 0 -2px 0 var(--ares-green, #8cc63f), inset 0 1px 0 rgba(255,255,255,.04);
}

@media (max-width: 980px) {
    .ares-site-header .ares-primary-nav {
        display: block;
        width: 100%;
    }

    .ares-site-header .ares-section-nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ares-site-header .ares-section-nav__link {
        min-height: 54px;
        width: 100%;
        padding: 9px 12px;
        box-sizing: border-box;
    }

    .ares-site-header .ares-section-nav__description {
        display: block;
        max-width: 32ch;
        max-height: none;
        margin-top: 5px;
        color: var(--ares-soft, #9eb4c1);
        font-size: .72rem;
        line-height: 1.25;
        font-weight: 650;
        opacity: 1;
    }
}

/* Last override: distribute header center nav between brand and actions */
@media (min-width: 981px) {
    .ares-site-header__inner {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .ares-site-header__navwrap {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto auto;
        align-items: center;
        gap: 12px;
        width: 100%;
        min-width: 0;
    }

    .ares-site-header .ares-primary-nav {
        display: flex;
        justify-content: center;
        width: 100%;
        min-width: 0;
    }

    .ares-site-header .ares-section-nav {
        justify-content: center;
        width: auto;
        max-width: 100%;
    }
}

/* Site footer */
.ares-site-footer {
    border-top: 1px solid rgba(128,183,212,.16);
    background:
        radial-gradient(circle at 82% 0%, rgba(118,200,255,.09), transparent 30%),
        linear-gradient(180deg, rgba(4,16,26,.98), rgba(1,8,14,.99));
    color: #e8f2f8;
}

.ares-site-footer a {
    color: inherit;
    text-decoration: none;
}

.ares-site-footer__inner {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 38px 0 30px;
}

.ares-site-footer__brand,
.ares-site-footer__section {
    min-width: 0;
}

.ares-site-footer__logo .custom-logo-link,
.ares-site-footer__brand .custom-logo-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
}

.ares-site-footer__logo .custom-logo,
.ares-site-footer__brand .custom-logo {
    display: block;
    width: auto;
    max-width: 190px;
    max-height: 46px;
}

.ares-site-footer__title {
    display: inline-flex;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ares-site-footer__brand p {
    max-width: 34ch;
    margin: 14px 0 18px;
    color: var(--ares-soft, #9eb4c1);
    font-size: .88rem;
    line-height: 1.55;
}

.ares-site-footer__brief {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(182,139,63,.42);
    border-radius: 3px;
    background: rgba(182,139,63,.1);
    color: var(--ares-gold, #b68b3f);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.ares-site-footer__section h2 {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
    color: #fff;
    font-size: .75rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ares-site-footer__section h2::before {
    content: "";
    width: 3px;
    height: 14px;
    border-left: 2px solid var(--ares-green, #8cc63f);
    border-right: 2px solid var(--ares-green, #8cc63f);
}

.ares-site-footer__section ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ares-site-footer__section a {
    display: grid;
    gap: 4px;
    min-height: 38px;
    padding: 9px 10px;
    border: 1px solid rgba(128,183,212,.12);
    border-radius: 3px;
    background: rgba(8,24,36,.42);
    box-sizing: border-box;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.ares-site-footer__section a:hover,
.ares-site-footer__section a:focus-visible {
    border-color: rgba(140,198,63,.34);
    background: rgba(140,198,63,.1);
    color: #fff;
    outline: 0;
}

.ares-site-footer__section span {
    min-width: 0;
    color: rgba(232,242,248,.9);
    font-size: .84rem;
    line-height: 1.25;
    font-weight: 750;
}

.ares-site-footer__section small {
    min-width: 0;
    color: var(--ares-soft, #9eb4c1);
    font-size: .7rem;
    line-height: 1.3;
    font-weight: 650;
}

.ares-site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 16px 0 22px;
    border-top: 1px solid rgba(128,183,212,.12);
    color: var(--ares-soft, #9eb4c1);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ares-site-footer__bottom a {
    color: var(--ares-green, #8cc63f);
}

@media (max-width: 980px) {
    .ares-site-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ares-site-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .ares-site-footer__inner,
    .ares-site-footer__bottom {
        width: min(100% - 28px, 1180px);
    }

    .ares-site-footer__inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 30px;
    }

    .ares-site-footer__brand,
    .ares-site-footer__section,
    .ares-site-footer__bottom {
        text-align: center;
    }

    .ares-site-footer__brand p {
        margin-left: auto;
        margin-right: auto;
    }

    .ares-site-footer__section h2,
    .ares-site-footer__brief,
    .ares-site-footer__logo .custom-logo-link,
    .ares-site-footer__brand .custom-logo-link,
    .ares-site-footer__title {
        margin-left: auto;
        margin-right: auto;
    }

    .ares-site-footer__bottom {
        flex-direction: column;
        justify-content: center;
    }
}
