/* ========================================================================== 
   EudorIA — identity overlay v2.
   Tema istituzionale chiaro, con il rosso riservato al marchio e agli accenti.
   Caricato dopo eudoria-website.css su tutte le pagine.
   ========================================================================== */

:root {
    --eu-radius: 18px;
    --eu-shadow: 0 18px 44px -28px rgba(8, 32, 59, 0.38);
    --eu-spec-red: #b4232c;
    --eu-spec-vio: #5f7892;
    --eu-spec-blu: #1f5f99;
    --eu-spectrum: linear-gradient(90deg, #b4232c 0%, #5f7892 52%, #1f5f99 100%);
}

/* niente numerazione decorativa */
.eu-service-number { display: none; }
.eu-home-trust-points article > span { display: none; }

/* eyebrow con filo sobrio monocolore (lo spettro pieno era troppo carico) */
.eu-eyebrow { position: relative; display: inline-block; }
.eu-eyebrow::after {
    content: "";
    display: block;
    height: 2px;
    width: 36px;
    margin-top: 10px;
    border-radius: 1px;
    background: #cdd6e4;
}

/* "IA" nel titolo: rosso brand, come il logo */
.eu-ia { color: var(--eu-red, #bd1118); }

/* hero: energia di colore, testo intatto */
.eu-hero { position: relative; overflow: hidden; }
.eu-hero::before,
.eu-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.eu-hero::before {
    top: -240px; right: -140px;
    width: 620px; height: 620px;
    background: radial-gradient(closest-side, rgba(31, 95, 153, 0.10), transparent 72%);
}
.eu-hero::after {
    bottom: -280px; left: -160px;
    width: 560px; height: 560px;
    background: radial-gradient(closest-side, rgba(95, 120, 146, 0.08), transparent 72%);
}
.eu-hero > * { position: relative; z-index: 1; }

/* Fallback scuro: il visual editoriale resta definito nel foglio principale. */
.eu-hero-card {
    background-color: #0b2747;
}

/* ---- FRAMEWORK Esigenze/Scelte/Soluzioni (stile THINK/CREATE/MAXIMIZE) ---- */
.eu-triad { display: flex; flex-direction: column; gap: 0; }
.eu-triad article {
    display: flex;
    align-items: center;
    gap: 26px;
    padding: 26px 0;
    border-top: 1px solid var(--eu-line, #dfe4eb);
}
.eu-triad article:last-child { border-bottom: 1px solid var(--eu-line, #dfe4eb); }
.eu-triad-badge {
    flex: none;
    width: 58px; height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.35rem;
    color: #fff;
}
.eu-triad article:nth-child(1) .eu-triad-badge { background: #0d2440; }
.eu-triad article:nth-child(2) .eu-triad-badge { background: #0d2440; }
.eu-triad article:nth-child(3) .eu-triad-badge { background: #0d2440; }
.eu-triad h3 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 800; letter-spacing: -0.02em; }
.eu-triad h3 span { text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.72em; margin-left: 10px; color: var(--eu-muted, #5b6575); font-weight: 700; }
.eu-triad p { margin: 0; color: var(--eu-muted, #5b6575); max-width: 62ch; }

/* ---- BANDA NUMERI su scuro ---- */
.eu-stats-band {
    background:
        radial-gradient(900px 420px at 88% -10%, rgba(95, 151, 201, 0.14), transparent 60%),
        linear-gradient(135deg, #0b2747 0%, #123a5f 100%);
    color: #eef3f9;
    padding: clamp(64px, 8vw, 110px) 0;
}
.eu-stats-band .eu-eyebrow { color: #9fb4d8; }
.eu-stats-band h2 { color: #f5f8fc; margin: 0 0 44px; max-width: 640px; }
.eu-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 36px 28px;
}
.eu-stat b {
    display: block;
    font-size: clamp(2.4rem, 4.6vw, 3.6rem);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    color: #f5f8fc;
    margin-bottom: 10px;
}
.eu-stat span { color: #b9c6dd; font-size: 0.98rem; }

@media (max-width: 720px) {
    .eu-triad article { align-items: flex-start; }
    .eu-triad-badge { width: 48px; height: 48px; font-size: 1.15rem; }
}

/* sezione metodo: filo leggero al posto della barra rossa */
#metodo.eu-section-muted::before {
    width: 2px;
    background: #cdd6e4;
}

/* ===== Pagina Servizi: griglia capacità + tier card (namespaced, palette sobria) ===== */
.eu-servizi-hero h1{
    max-width:18ch;
    font-size:clamp(2.75rem,4.8vw,4.4rem);
    letter-spacing:-.045em;
}
.eu-svc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;align-items:center}
.eu-svc-ghost{font-weight:600;text-decoration:none;color:#0f1b2d;border-bottom:2px solid transparent}
.eu-svc-ghost:hover{border-bottom-color:currentColor}

.eu-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e4e9f1;border:1px solid #e4e9f1;border-radius:12px;overflow:hidden;margin-top:36px}
.eu-svc-grid article{background:#fff;padding:26px 24px;display:grid;gap:8px;align-content:start;transition:background .18s ease}
.eu-svc-grid article:hover{background:#f6f8fc}
.eu-svc-grid .eu-svc-tag{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:#8a97a8;font-weight:600}
.eu-svc-grid h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em;margin:0;color:#0f1b2d}
.eu-svc-grid p{color:#46566b;font-size:.96rem;margin:0}
@media(max-width:840px){.eu-svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.eu-svc-grid{grid-template-columns:1fr}}

.eu-tiers-section{background:#f5f7fa;border-top:1px solid #e4e9f1;border-bottom:1px solid #e4e9f1}
.eu-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;margin-top:38px}
@media(max-width:1000px){.eu-tiers{grid-template-columns:1fr 1fr;max-width:720px;margin-inline:auto}}
@media(max-width:560px){.eu-tiers{grid-template-columns:1fr;max-width:460px}}
.eu-tier{background:#fff;border:1px solid #e4e9f1;border-radius:12px;padding:28px 24px 30px;display:flex;flex-direction:column;gap:16px;box-shadow:0 1px 2px rgba(15,27,45,.04),0 10px 26px -18px rgba(15,27,45,.14);position:relative}
.eu-tier-eyebrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.eu-tier-name{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#0f1b2d}
.eu-tier-sector{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#5b6b82;border:1px solid #d3dbe8;padding:3px 9px;border-radius:4px}
/* metalli desaturati, appena accennati */
.eu-tier.is-bronze .eu-tier-name{color:#8a6f55}
.eu-tier.is-silver .eu-tier-name{color:#6b7789}
.eu-tier.is-gold .eu-tier-name{color:#8f7c4c}
.eu-tier h3{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;margin:0;color:#0f1b2d}
.eu-tier .eu-tier-who{color:#46566b;font-size:.94rem;margin:0}
.eu-tier-human{font-size:1rem;line-height:1.5;color:#0f1b2d;font-weight:600;margin:0;letter-spacing:-.005em}
.eu-tier-rule{height:1px;background:#e4e9f1}
.eu-tier-inherits{font-size:.85rem;color:#46566b;font-weight:600;margin:0}
.eu-tier ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.eu-tier li{display:grid;grid-template-columns:16px 1fr;gap:9px;font-size:.94rem;color:#0f1b2d}
.eu-tier li .ck{color:#5b6b82;font-weight:700;line-height:1.5}
.eu-tier li b{font-weight:600}
.eu-tier li small{display:block;color:#6c7c92;font-size:.82rem;font-style:italic;line-height:1.4;margin-top:2px}
.eu-tier-foot{margin-top:auto;font-size:.84rem;color:#6c7c92}
/* Platinum: card scura monocromatica, sobria */
.eu-tier.is-platinum{background:#0f1f33;border:1px solid #21344b;box-shadow:0 18px 44px -24px rgba(15,27,45,.5)}
.eu-tier.is-platinum .eu-tier-name{color:#cfd8e6}
.eu-tier.is-platinum h3{color:#fff}
.eu-tier.is-platinum .eu-tier-who{color:#9fb1cc}
.eu-tier.is-platinum .eu-tier-human{color:#f2f6fb}
.eu-tier.is-platinum .eu-tier-rule{background:#26374f}
.eu-tier.is-platinum .eu-tier-sector{color:#9fb1cc;border-color:#31465f}
.eu-tier.is-platinum .eu-tier-inherits{color:#cdd9ee}
.eu-tier.is-platinum li{color:#e7eef8}
.eu-tier.is-platinum li .ck{color:#8fa3bd}
.eu-tier.is-platinum .eu-tier-foot{color:#9fb1cc}
.eu-tier-badge{position:absolute;top:-10px;left:24px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#dfe7f2;padding:4px 10px;border-radius:4px;background:#16283e;border:1px solid #31465f}
.eu-tiers-note{margin-top:32px;font-size:.92rem;color:#46566b;max-width:74ch}
.eu-tiers-note b{color:#0f1b2d}

/* blocco umano: "una persona, non un ticket" */
.eu-human-block{background:#fff;border:1px solid #e4e9f1;border-radius:14px;padding:clamp(28px,4vw,44px);display:grid;gap:26px;box-shadow:0 1px 2px rgba(15,27,45,.04),0 10px 26px -18px rgba(15,27,45,.12)}
.eu-human-block .eu-human-lead{max-width:60ch}
.eu-human-block .eu-human-lead h2{margin:0 0 14px;color:#0f1b2d}
.eu-human-block .eu-human-lead p{margin:0;color:#46566b;font-size:1.06rem;line-height:1.6}
.eu-human-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid #e4e9f1;padding-top:26px}
@media(max-width:760px){.eu-human-points{grid-template-columns:1fr;gap:18px}}
.eu-human-points article{display:grid;gap:6px}
.eu-human-points h3{margin:0;font-size:1.02rem;font-weight:700;color:#0f1b2d;letter-spacing:-.01em}
.eu-human-points p{margin:0;color:#46566b;font-size:.94rem;line-height:1.5}

/* ===== Tema istituzionale chiaro ===== */
#wrapwrap.eu-website-shell {
    --eu-bg: #f7f9fc;
    --eu-surface: #ffffff;
    --eu-ink: #13263d;
    --eu-muted: #5b6878;
    --eu-line: #dfe6ee;
    --eu-navy: #0b2747;
    --eu-blue: #1f5f99;
    --eu-red: #b4232c;
    --eu-soft: #eef3f7;
    --eu-shadow: 0 18px 44px rgba(8, 32, 59, 0.07);
    --eu-radius: 18px;
}

.eu-site-header {
    border-bottom-color: rgba(223, 230, 238, 0.9);
    background: rgba(250, 252, 254, 0.94);
}

.eu-hero {
    background:
        radial-gradient(circle at 84% 8%, rgba(31, 95, 153, 0.10), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
}

.eu-button-primary {
    box-shadow: 0 12px 28px rgba(11, 39, 71, 0.14);
}

.eu-button-primary:hover {
    background: #123a5f;
}

.eu-service-card,
.eu-home-trust-points article {
    box-shadow: 0 10px 28px rgba(8, 32, 59, 0.055);
}

.eu-service-card:hover {
    box-shadow: 0 16px 34px rgba(8, 32, 59, 0.085);
}

/* Tecnologie: superficie chiara, loghi e contenuti invariati. */
.eu-tech-section {
    color: var(--eu-ink);
    border-top: 1px solid var(--eu-line);
    border-bottom: 1px solid var(--eu-line);
    background: linear-gradient(180deg, #f2f6fa 0%, #f9fbfd 54%, #eef4f8 100%);
}

.eu-tech-section::before {
    background-image:
        linear-gradient(rgba(11, 39, 71, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(11, 39, 71, 0.035) 1px, transparent 1px);
}

.eu-tech-heading h2,
.eu-oss-heading h3 {
    color: var(--eu-navy);
}

.eu-tech-heading > p,
.eu-oss-heading > p {
    color: var(--eu-muted);
}

.eu-vendor-grid li {
    border-color: var(--eu-line);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 26px rgba(8, 32, 59, 0.055);
}

.eu-tech-practice {
    border-color: var(--eu-line);
    background: rgba(255, 255, 255, 0.72);
}

.eu-tech-practice span {
    color: #31465d;
}

.eu-tech-practice span + span,
.eu-tech-practice span:nth-child(3),
.eu-tech-practice span:nth-child(4) {
    border-color: var(--eu-line);
}

.eu-tech-note {
    color: #6a7684;
}

.eu-oss-block {
    border-top-color: var(--eu-line);
}

.eu-oss-grid li {
    border-color: rgba(191, 204, 218, 0.9);
    color: #34485e;
    background: rgba(255, 255, 255, 0.68);
}

/* Piattaforme: gerarchia tramite superfici e bordi, non grandi campiture scure. */
.eu-platform-section {
    color: var(--eu-ink);
    border-top: 1px solid var(--eu-line);
    border-bottom: 1px solid var(--eu-line);
    background:
        radial-gradient(circle at 88% 4%, rgba(31, 95, 153, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f1f5f9 100%);
}

.eu-platform-section::before {
    background-image:
        linear-gradient(rgba(11, 39, 71, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(11, 39, 71, 0.03) 1px, transparent 1px);
}

.eu-platform-heading h2,
.eu-platform-card-intel h3,
.eu-platform-card-soc h3 {
    color: var(--eu-navy);
}

.eu-platform-heading > p {
    color: var(--eu-muted);
}

.eu-platform-card {
    border-color: var(--eu-line);
    box-shadow: 0 12px 32px rgba(8, 32, 59, 0.06);
}

.eu-platform-card-path {
    background:
        radial-gradient(circle at 94% 2%, rgba(180, 35, 44, 0.055), transparent 34%),
        #ffffff;
    box-shadow: 0 12px 32px rgba(8, 32, 59, 0.06);
}

.eu-platform-card-intel {
    color: var(--eu-ink);
    background: linear-gradient(145deg, #eef4fa 0%, #e5edf5 100%);
    box-shadow: 0 12px 32px rgba(8, 32, 59, 0.06);
}

.eu-platform-card-soc {
    color: var(--eu-ink);
    background: rgba(255, 255, 255, 0.88);
}

.eu-platform-card-intel .eu-platform-list li::before {
    background: var(--eu-blue);
}

.eu-platform-card-soc .eu-button-light {
    color: #ffffff !important;
    background: var(--eu-navy);
    box-shadow: 0 12px 28px rgba(11, 39, 71, 0.14);
}

.eu-data-promise {
    border-color: var(--eu-line);
    background: #eaf1f7;
}

.eu-data-promise-mark {
    color: var(--eu-blue);
    border-color: rgba(31, 95, 153, 0.32);
}

.eu-data-promise p {
    color: var(--eu-muted);
}

.eu-data-promise strong {
    color: var(--eu-navy);
}

/* Fondi secondari neutri: il rosso resta un accento, non una campitura. */
.eu-home-trust,
.eu-home-careers,
.eu-application-thanks {
    background:
        radial-gradient(circle at 88% 8%, rgba(31, 95, 153, 0.055), transparent 28%),
        var(--eu-soft);
}

.eu-contact-section {
    background: linear-gradient(180deg, #ffffff 0%, var(--eu-bg) 100%);
}

.eu-legal-hero,
.eu-trust-hero,
.eu-careers-hero {
    background:
        radial-gradient(circle at 84% 10%, rgba(31, 95, 153, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, var(--eu-soft) 100%);
}

.eu-ethics-hero {
    background:
        linear-gradient(90deg, rgba(11, 39, 71, 0.035) 1px, transparent 1px) 0 0 / 80px 80px,
        radial-gradient(circle at 82% 12%, rgba(31, 95, 153, 0.07), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, var(--eu-bg) 100%);
}

/* Servizi: fotografia del data center fornita dal committente. */
.eu-servizi-hero .eu-container {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 52px;
    align-items: stretch;
}

.eu-servizi-hero .eu-container > * {
    grid-column: 1;
}

.eu-servizi-hero .eu-container::after {
    content: "";
    grid-column: 2;
    grid-row: 1 / span 4;
    min-height: 440px;
    border: 1px solid var(--eu-line);
    border-radius: var(--eu-radius);
    background:
        linear-gradient(180deg, rgba(10, 22, 36, 0) 0%, rgba(10, 22, 36, 0.08) 100%),
        image-set(
            url("/static/img/editorial/eudoria-datacenter-768.webp") 1x,
            url("/static/img/editorial/eudoria-datacenter-1536.webp") 2x
        ) 50% 44% / cover no-repeat;
    box-shadow: var(--eu-shadow);
}

@media (max-width: 900px) {
    .eu-servizi-hero .eu-container {
        grid-template-columns: minmax(0, 1fr);
    }

    .eu-servizi-hero .eu-container::after {
        grid-column: 1;
        grid-row: auto;
        min-height: 260px;
        background:
            linear-gradient(180deg, rgba(10, 22, 36, 0) 0%, rgba(10, 22, 36, 0.08) 100%),
            image-set(
                url("/static/img/editorial/eudoria-datacenter-mobile-768.webp") 1x,
                url("/static/img/editorial/eudoria-datacenter-mobile-1536.webp") 2x
            ) 50% 50% / cover no-repeat;
    }
}
