.hero{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    color:#fff;
    background:
            radial-gradient(circle at 10% 20%, rgba(99,184,212,.15), transparent 22%),
            radial-gradient(circle at 85% 78%, rgba(233,134,84,.14), transparent 20%),
            linear-gradient(135deg, #0a5268 0%, #0b5c72 40%, #0a4d61 100%);
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:34px 34px;
    opacity:.12;
    pointer-events:none;
}
.hero-wrap{
    position:relative;
    z-index:1;
    padding:120px 0 56px;
}
.hero-grid{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:34px;
    align-items:end;
}
.hero-copy{
    padding:32px 0 12px;
}
.hero-copy .eyebrow{
    color:#b7e5f2;
}
.hero-copy h1{
    margin:0;
    max-width:620px;
    font-size:clamp(52px, 7vw, 90px);
    line-height:.94;
    letter-spacing:-.05em;
    font-weight:800;
}
.hero-lead{
    max-width:620px;
    margin:24px 0 0;
    font-size:18px;
    line-height:1.85;
    color:rgba(255,255,255,.84);
}
.hero-actions{
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}
.hero-stats{
    margin-top:38px;
    max-width:760px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:18px;
}
.stat{
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.15);
}
.stat strong{
    display:block;
    font-size:40px;
    line-height:1;
    margin-bottom:10px;
    color:var(--yellow-soft);
}
.stat span{
    display:block;
    font-size:15px;
    line-height:1.8;
    color:rgba(255,255,255,.82);
}
.stat span em{
    font-style:normal;
    color:var(--yellow-soft);
    font-weight:700;
}

.hero-side{
    display:grid;
    gap:18px;
}
.floating-card{
    border-radius:34px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
    overflow:hidden;
    box-shadow:0 28px 80px rgba(0,0,0,.12);
}
.visual-panel{
    min-height:390px;
    position:relative;
    padding:28px;
    display:flex;
    align-items:flex-end;
    background:
            linear-gradient(180deg, rgba(1,63,82,.10), rgba(1,63,82,.28)),
            url('/images/hero-almamind.webp') center center / cover no-repeat;
}
.visual-panel::before{
    content:"";
    position:absolute;
    inset:20px;
    border-radius:26px;
    border:1px dashed rgba(255,255,255,.22);
}
.visual-badge{
    position:relative;
    z-index:1;
    min-width:160px;
    max-width:280px;
    padding:16px 18px;
    border-radius:20px;
    background:rgba(1,63,82,.58);
}
.visual-badge strong{
    display:block;
    margin-bottom:8px;
    font-size:11px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.22em;
    color:rgba(255,255,255,.72);
}
.visual-badge span{
    font-size:16px;
    font-weight:700;
}

.split-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.split-link{
    border-radius:28px;
    padding:26px 22px 24px;
    min-height:244px;
    display:flex;
    flex-direction:column;
    box-shadow:var(--shadow-soft);
}
.split-link__inner{
    display:flex;
    flex-direction:column;
    min-height:100%;
    flex:1;
}

.split-link__content{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.split-link h2{
    margin:0;
    font-size:32px;
    line-height:1.02;
    letter-spacing:-.03em;
    color:var(--deep);
}
.split-link p{
    margin:14px 0 0;
    font-size:15px;
    line-height:1.75;
    color:#456471;
}
.split-link--life{
    background:linear-gradient(180deg, #fff2ea 0%, #fde8dc 100%);
}
.split-link--formazione{
    background:linear-gradient(180deg, #f3fbfe 0%, #e5f6fb 100%);
}

.payoff-shell{
    max-width:1120px;
    margin:0 auto;
    padding:42px 48px;
    border:1px solid rgba(99,184,212,.18);
    border-radius:34px;
}
.payoff{
    position:relative;
    text-align:center;
    max-width:980px;
    margin:0 auto;
    padding:18px 34px;
}
.payoff h2{
    margin:0;
    font-size:clamp(40px, 5vw, 72px);
    line-height:1.08;
    letter-spacing:-.05em;
    color:var(--deep);
    font-weight:800;
}
.payoff h2 em{
    color:var(--orange);
    font-style:italic;
    font-weight:500;
}
.payoff p{
    margin:28px auto 0;
    max-width:980px;
    font-size:19px;
    line-height:1.9;
    color:var(--muted);
}
.payoff-corner{
    position:absolute;
    width:42px;
    height:42px;
    pointer-events:none;
}
.payoff-corner--start{
    top:-6px;
    left:6px;
    border-top:3px solid rgba(99,184,212,.55);
    border-left:3px solid rgba(99,184,212,.28);
    opacity:.95;
}
.payoff-dot{
    position:absolute;
    width:10px;
    height:10px;
    border-radius:50%;
    pointer-events:none;
}
.payoff-dot--start{
    top:18px;
    left:40px;
    background:radial-gradient(circle at 30% 30%, rgba(244,176,138,.75) 0%, rgba(233,134,84,.55) 65%, rgba(233,134,84,.18) 100%);
    box-shadow:0 0 18px rgba(233,134,84,.14);
}
.payoff-corner--end{
    right:6px;
    bottom:-6px;
    border-right:3px solid rgba(99,184,212,.55);
    border-bottom:3px solid rgba(99,184,212,.28);
    opacity:.9;
}
.payoff-dot--end{
    right:40px;
    bottom:18px;
    background:radial-gradient(circle at 30% 30%, rgba(244,176,138,.75) 0%, rgba(233,134,84,.55) 65%, rgba(233,134,84,.18) 100%);
    box-shadow:0 0 18px rgba(233,134,84,.14);
}

.duo-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.duo-card{
    position:relative;
    border-radius:34px;
    padding:34px;
    border:1px solid rgba(1,63,82,.06);
    box-shadow:var(--shadow-card);
    overflow:hidden;
}
.duo-card--f{
    background:linear-gradient(180deg, #f5fbfe 0%, #edf7fb 100%);
}
.duo-card--a{
    background:linear-gradient(180deg, #fff8f4 0%, #fef1e7 100%);
}
.duo-card::before{
    content:"";
    position:absolute;
    top:22px;
    right:22px;
    width:36px;
    height:36px;
    border-top:3px solid var(--sky);
    border-right:3px solid var(--sky);
    opacity:.85;
}
.duo-card::after{
    content:"";
    position:absolute;
    top:42px;
    right:46px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--orange);
}
.duo-card h3{
    margin:0;
    font-size:38px;
    line-height:1.06;
    letter-spacing:-.04em;
    color:var(--deep);
}
.duo-card p{
    margin:20px 0 0;
    color:var(--muted);
    font-size:17px;
    line-height:1.9;
}
.duo-card ul{
    margin:24px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:14px;
}
.duo-card li{
    position:relative;
    padding-left:18px;
    color:#42616e;
    font-size:15px;
    line-height:1.75;
}
.duo-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    width:8px;
    height:8px;
    border-radius:50%;
}
.duo-card--f li::before{background:var(--sky)}
.duo-card--a li::before{background:var(--orange)}

.highlight-band{
    position:relative;
    overflow:hidden;
    background:
            radial-gradient(circle at 12% 18%, rgba(99,184,212,.10), transparent 22%),
            radial-gradient(circle at 88% 76%, rgba(233,134,84,.08), transparent 18%),
            linear-gradient(135deg, #013f52 0%, #0b5368 100%);
    padding-top:110px;
    padding-bottom:110px;
}
.highlight-band::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:32px 32px;
    opacity:.08;
    pointer-events:none;
}
.section-title{
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:end;
    margin-bottom:24px;
}
.section-title h2{
    margin:0;
    max-width:980px;
    font-size:clamp(34px, 4vw, 58px);
    line-height:1.06;
    letter-spacing:-.04em;
}
.section-title p{
    margin:14px 0 0;
    max-width:760px;
    font-size:16px;
    line-height:1.85;
}
.highlight-band .section-title h2{color:#fff}
.highlight-band .section-title p{color:rgba(255,255,255,.76)}
.section-link{
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}
.highlight-band .section-link{
    color:var(--yellow-soft);
    opacity:.96;
}
.filter-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:24px;
}
.highlight-band .filter-chip{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.94);
}
.highlight-band .filter-chip:hover{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.22);
}
.cards{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:18px;
}
.card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow-card);
}
.card-media{
    height:170px;
    padding:16px;
    display:flex;
    align-items:flex-end;
}
.card-media.formazione{
    background:linear-gradient(180deg, #eef9fd 0%, #dff2f7 100%);
}
.card-media.life{
    background:linear-gradient(180deg, #fff3eb 0%, #ffe4d6 100%);
}
.card-media-inner{
    width:100%;
    height:100%;
    border-radius:18px;
    border:1px solid rgba(1,63,82,.10);
    background:rgba(255,255,255,.48);
    display:flex;
    align-items:flex-end;
    padding:14px;
    color:#56717c;
    font-size:13px;
}
.card-body{
    padding:20px;
}
.type{
    margin-top:16px;
    font-size:11px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.2em;
    font-weight:800;
    color:#89a0a9;
}
.card-body h4{
    margin:10px 0 0;
    font-size:28px;
    line-height:1.04;
    letter-spacing:-.03em;
    color:var(--deep);
}
.card-body p{
    margin:16px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.8;
}
.extra{
    margin-top:14px;
    color:var(--deep);
    font-size:12px;
    font-weight:800;
}
.meta{
    display:grid;
    gap:6px;
    margin-top:16px;
    color:#496570;
    font-size:13px;
}
.card-body a{
    display:inline-flex;
    margin-top:18px;
    font-size:14px;
    font-weight:800;
    color:var(--deep);
}

.section-method{
    padding-top:84px;
    padding-bottom:84px;
}
.method-shell{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg, #f3f8fa 0%, #eef5f8 100%);
    border:1px solid rgba(1,63,82,.08);
    border-radius:34px;
    padding:34px;
    box-shadow:var(--shadow-card);
}
.method-shell::before{
    content:"";
    position:absolute;
    left:-80px;
    top:210px;
    width:420px;
    height:320px;
    background:linear-gradient(90deg, rgba(99,184,212,.30) 0%, rgba(99,184,212,.20) 38%, rgba(99,184,212,0) 100%);
    filter:blur(18px);
    transform:rotate(-6deg);
    pointer-events:none;
    z-index:0;
}
.method-shell::after{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(233,134,84,.16) 80%, rgba(233,134,84,.05) 10%, rgba(233,134,84,0.4) 72%);
    pointer-events:none;
    z-index:0;
}
.method-top,
.method-cards{
    position:relative;
    z-index:1;
}
.method-top{
    max-width:980px;
}
.method-top h2{
    margin:0;
    font-size:clamp(36px, 4.3vw, 64px);
    line-height:1.04;
    letter-spacing:-.04em;
    color:var(--deep);
}
.method-top p{
    margin:18px 0 0;
    max-width:900px;
    color:var(--muted);
    font-size:16px;
    line-height:1.9;
}
.method-cards{
    margin-top:28px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:18px;
}
.method-card{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(1,63,82,.08);
    border-radius:24px;
    padding:24px;
}
.method-card h3{
    margin:0;
    font-size:22px;
    line-height:1.2;
    color:var(--deep);
    letter-spacing:-.02em;
}
.method-card p{
    margin:12px 0 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.8;
}

.cta-panel--final{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:28px;
    align-items:center;
    padding:42px;
    border-radius:36px;
    background:
            radial-gradient(circle at top left, rgba(99,184,212,.12), transparent 24%),
            radial-gradient(circle at bottom right, rgba(233,134,84,.10), transparent 20%),
            linear-gradient(135deg, #013f52 0%, #0b5368 100%);
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(255,255,255,.08);
    color:var(--white);
}
.cta-panel--final .eyebrow{
    color:var(--yellow-soft);
}
.cta-panel--final h3{
    margin:0;
    font-size:clamp(36px, 4.4vw, 62px);
    line-height:1.04;
    letter-spacing:-.04em;
    color:var(--white);
}
.cta-panel--final p{
    margin:18px 0 0;
    max-width:760px;
    color:rgba(255,255,255,.80);
    font-size:17px;
    line-height:1.9;
}
.cta-contact{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    color:rgba(255,255,255,.88);
    font-size:15px;
    font-weight:600;
}
.cta-contact a{
    color:var(--yellow-soft);
}
.cta-contact span{
    color:rgba(255,255,255,.38);
}
.cta-actions{
    display:flex;
    flex-direction:column;
    gap:14px;
    justify-self:end;
    width:100%;
    max-width:280px;
}
.cta-actions .btn{
    width:100%;
}
#evidenza [hidden] { display: none !important; }
#evidenza button.filter-chip { font-family: inherit; cursor: pointer; }
#evidenza button.filter-chip[aria-pressed="true"] { background: #fff; color: #07485a; }
#evidenza .home-evidenza-media { display: block; color: inherit; text-decoration: none; overflow: hidden; }
#evidenza .home-evidenza-media img { display: block; width: 100%; height: 170px; object-fit: cover; }
#evidenza .home-evidenza-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 170px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 20px;
    background: linear-gradient(135deg, #125166 0%, #61b5d0 100%);
    color: #fff;
    text-align: center;
}
#evidenza .life .home-evidenza-placeholder {
    background: linear-gradient(135deg, #dcaa8c 0%, #9bbcc1 48%, #62b7cf 100%);
}
#evidenza .home-evidenza-placeholder span {
    padding: 16px;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1.5px;
}
#evidenza .card-body h4 .home-evidenza-title { font: inherit; color: inherit; text-decoration: none; }
#evidenza .home-evidenza-title:hover { text-decoration: underline; }
#evidenza a:focus-visible, #evidenza button:focus-visible { outline: 3px solid #efcf70; outline-offset: 3px; }

/* Immagini a filo card in evidenza */
#evidenza .card {
    overflow: hidden;
}

#evidenza .home-evidenza-media {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 26px 26px 0 0;
    overflow: hidden;
}

#evidenza .home-evidenza-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    border: 0;
    border-radius: 0;
}

/* placeholder segue la card */
#evidenza .home-evidenza-placeholder {
    height: auto;
    aspect-ratio: 4 / 3;
    border: 0;
    border-radius: 0;
}