:root{
    /* Variabili pilotate dal DB: questi valori sono solo fallback tecnici */
    --font-heading: 'Inter', sans-serif;
    --font-body: 'Inter', system-ui, -apple-system, sans-serif;

    --bg:#101214;
    --bg-2:#171a1f;

    --text:#ECEFF3;
    --muted:#9AA4B2;
    --soft:var(--muted);

    --accent:#4F46E5;
    --accent-hover:#4338CA;

    --tech:#DCE7F3;

    /* Variabili strutturali condivise */
    --line:rgba(220,231,243,.20);
    --line-strong:rgba(220,231,243,.36);

    --panel:rgba(23,26,31,.90);
    --panel-solid:#171a1f;

    --radius:14px;
    --radius-sm:10px;

    --shadow:0 18px 48px rgba(0,0,0,.34);
    --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
    margin:0;
    font-family: var(--font-body);
    font-size: var(--f-size-body, 16px);
    color:var(--text);
    background:
        radial-gradient(circle at 18% 10%, rgba(140,107,81,.08), transparent 26%),
        radial-gradient(circle at 82% 22%, rgba(209,226,239,.06), transparent 20%),
        linear-gradient(180deg, var(--bg) 0%, #100D0C 45%, var(--bg) 100%);
    overflow-x:hidden;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.09) 0 1px, transparent 1px),
        radial-gradient(circle at 70% 60%, rgba(255,255,255,.05) 0 1px, transparent 1px),
        radial-gradient(circle at 40% 80%, rgba(255,255,255,.07) 0 1px, transparent 1px);
    background-size:260px 260px, 320px 320px, 420px 420px;
    opacity:.12;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.container{
    width:min(calc(100% - 32px), var(--max));
    margin:0 auto;
}

.container-placeholder{
    width:min(calc(100vw - 40px), 1760px);
    max-width:none;
    margin:0 auto;
}

.section{
    padding-top:var(--row-padding-top, 92px);
    padding-bottom:var(--row-padding-bottom, 92px);
    border-top:1px solid rgba(209,226,239,.10);
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-transform:uppercase;
    letter-spacing:.20em;
    font-size:.76rem;
    color:var(--tech);
    font-family: var(--font-heading);
    font-weight:700;
}

.eyebrow::before{
    content:"";
    width:26px;
    height:1px;
    background:var(--tech);
    box-shadow:none;
    border-radius:0;
}

.section-title{
    margin:14px 0 16px;
    font-size: var(--f-size-h2, 36px);
    line-height:.96;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
    color:#F3F1EC;
}

.section-intro{
    max-width:760px;
    color:var(--text);
    font-size:1.04rem;
    line-height:1.78;
}

.subsection-title{
    margin:14px 0 16px;
    font-size:1.55rem;
    font-family: var(--font-heading);
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border-radius:4px;
    font-weight:700;
    font-size:.95rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    transition:.22s ease;
    border:1px solid transparent;
    cursor:pointer;
    font-family: var(--font-heading);
}

.btn-primary{
    background:var(--accent);
    color:#F8F6F2;
    box-shadow:0 10px 28px rgba(140,107,81,.22);
}

.btn-primary:hover{
    background:var(--accent-hover);
    transform:translateY(-1px);
}

.btn-secondary{
    background:transparent;
    border-color:rgba(209,226,239,.28);
    color:var(--text);
}

.btn-secondary:hover{
    border-color:var(--tech);
    color:#fff;
    background:rgba(209,226,239,.04);
}

.site-header{
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(14px);
    background:rgba(15,11,10,.84);
    border-bottom:1px solid rgba(209,226,239,.12);
}

.nav{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.brand{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:220px;
}

.brand-title{
    font-size:1.08rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    color:#F2EFE9;
}

.brand-sub{
    color:var(--muted);
    font-size:.78rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:600;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.nav-menu a{
    color:var(--muted);
    font-size: var(--f-size-menu, 14px);
    letter-spacing:.08em;
    position:relative;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:600;
}

.nav-menu a:hover,
.nav-menu a.is-active{
    color:#fff;
}

.nav-menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-10px;
    width:0;
    height:1px;
    background:var(--accent);
    transition:width .25s ease;
}

.nav-menu a:hover::after,
.nav-menu a.is-active::after{
    width:100%;
}

/* HERO + CAROUSEL */

.hero{
    position:relative;
    min-height:calc(100vh - 82px);
    display:flex;
    align-items:center;
    overflow:hidden;
}

.hero-carousel{
    position:relative;
    width:100%;
    min-height:calc(100vh - 82px);
}

.hero-slide{
    position:absolute;
    inset:0;
    min-height:calc(100vh - 82px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 1.15s ease, visibility 1.15s ease;
}

.hero-slide.is-active{
    position:relative;
    z-index:2;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.hero-slide .hero-media{
    position:absolute;
    inset:0;
    z-index:0;
}

.hero-slide .hero-media picture,
.hero-slide .hero-media img{
    display:block;
    width:100%;
    height:100%;
}

.hero-slide .hero-media img{
    object-fit:cover;
    object-position:center center;
    opacity:.60;
    transform:scale(1.01);
}

.hero-slide .hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(90deg, rgba(5,8,12,.78) 0%, rgba(5,8,12,.36) 42%, rgba(5,8,12,.18) 100%),
        linear-gradient(180deg, rgba(5,8,12,.18) 0%, rgba(5,8,12,.44) 72%, rgba(5,8,12,.82) 100%);
}

.hero-slide > .container{
    position:relative;
    z-index:2;
    min-height:calc(100vh - 82px);
    display:flex;
    align-items:center;
}

.hero::after{
    content:"";
    position:absolute;
    right:-90px;
    bottom:14%;
    width:520px;
    height:2px;
    background:linear-gradient(90deg, rgba(209,226,239,.06), rgba(209,226,239,.7), rgba(140,107,81,.95), rgba(140,107,81,0));
    transform:rotate(-8deg);
    opacity:.9;
    pointer-events:none;
    z-index:4;
}

.hero-content{
    position:relative;
    z-index:2;
    width:min(100%, 860px);
    max-width:760px;
    padding:72px 0 118px;
}

.hero h1{
    margin:18px 0 16px;
    font-size: var(--f-size-h1, 56px);
    line-height:.90;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-family: var(--font-heading);
    font-weight:700;
    color:#F7F4EE;
}

.hero p{
    max-width:760px;
    font-size:clamp(1rem, 1.5vw, 1.18rem);
    color:var(--text);
    line-height:1.78;
    margin:0 0 30px;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:0 0 28px;
}

.hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:20px;
}

.meta-pill{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:0 16px;
    border-radius:2px;
    background:rgba(19,16,20,.72);
    border:1px solid rgba(209,226,239,.16);
    color:var(--tech);
    font-size:.88rem;
    font-family: var(--font-heading);
    letter-spacing:.06em;
    text-transform:uppercase;
}

.hero-carousel-ui{
    position:absolute;
    left:0;
    right:0;
    bottom:28px;
    z-index:6;
    pointer-events:none;
}

.hero-carousel-ui .container{
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-dots{
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:auto;
}

.hero-dot{
    width:12px;
    height:12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.45);
    background:rgba(255,255,255,.18);
    cursor:pointer;
    transition:transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
}

.hero-dot:hover{
    opacity:1;
    border-color:#fff;
}

.hero-dot.is-active{
    background:#ffffff;
    border-color:#ffffff;
    transform:scale(1.12);
}

.hero-nav{
    position:absolute;
    inset:0;
    z-index:7;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 22px;
    opacity:0;
    pointer-events:none;
    transition:opacity .24s ease;
}

.hero:hover .hero-nav,
.hero:focus-within .hero-nav,
.hero-carousel.is-hover .hero-nav{
    opacity:1;
}

.hero-nav-btn{
    width:58px;
    height:58px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(7,10,14,.22);
    color:#ffffff;
    font-size:24px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
    pointer-events:auto;
    box-shadow:0 12px 30px rgba(0,0,0,.18);
}

.hero-nav-btn:hover{
    transform:scale(1.03);
    background:rgba(255,255,255,.10);
    border-color:rgba(255,255,255,.34);
}

/* TIMELINE LIVE */

.timeline-section .section-intro{
    max-width:860px;
}

.timeline-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:28px;
}

.timeline-top__copy{
    flex:1 1 720px;
}

.timeline-top__cta{
    flex:0 0 auto;
}

.timeline-shell{
    position:relative;
    margin-top:8px;
    padding:34px;
    border-radius:10px;
    background:
        linear-gradient(180deg, rgba(19,16,20,.96), rgba(19,16,20,.86)),
        radial-gradient(circle at 82% 10%, rgba(209,226,239,.08), transparent 18%);
    border:1px solid rgba(209,226,239,.12);
    overflow:hidden;
}

.timeline-track-wrap{
    position:relative;
}

.timeline-track-line{
    position:absolute;
    left:0;
    right:0;
    top:34px;
    height:1px;
    background:linear-gradient(90deg, rgba(209,226,239,.18) 0%, rgba(209,226,239,.78) 45%, rgba(140,107,81,.58) 100%);
    pointer-events:none;
}

.timeline-track{
    position:relative;
    display:flex;
    gap:22px;
    overflow-x:auto;
    padding:0 2px 8px;
    scrollbar-width:thin;
    scrollbar-color:rgba(140,107,81,.65) rgba(209,226,239,.08);
}

.timeline-track::-webkit-scrollbar{
    height:8px;
}

.timeline-track::-webkit-scrollbar-thumb{
    background:rgba(140,107,81,.65);
    border-radius:999px;
}

.timeline-track::-webkit-scrollbar-track{
    background:rgba(209,226,239,.08);
}

.timeline-story{
    position:relative;
    flex:0 0 350px;
    max-width:350px;
    min-width:350px;
    --timeline-accent: var(--accent);
}

.timeline-story__rail{
    position:relative;
    height:68px;
    display:flex;
    align-items:center;
}

.timeline-story__node{
    width:16px;
    height:16px;
    border:1px solid rgba(209,226,239,.48);
    background:var(--panel-solid);
    border-radius:999px;
    box-shadow:0 0 0 4px rgba(140,107,81,.08);
    position:relative;
    z-index:2;
}

.timeline-story--past .timeline-story__node{
    background:var(--timeline-accent);
    border-color:var(--timeline-accent);
}

.timeline-story--current .timeline-story__node{
    background:var(--timeline-accent);
    border-color:var(--timeline-accent);
    box-shadow:0 0 0 6px color-mix(in srgb, var(--timeline-accent) 22%, transparent);
}

.timeline-story--future .timeline-story__node{
    background:#131014;
    border-style:dashed;
    border-color:rgba(209,226,239,.58);
}

.timeline-story__card{
    overflow:hidden;
    border-radius:10px;
    background:rgba(19,16,20,.92);
    border:1px solid rgba(209,226,239,.12);
    border-top:2px solid var(--timeline-accent);
    box-shadow:var(--shadow);
}

.timeline-story--highlight .timeline-story__card{
    box-shadow:0 24px 56px rgba(0,0,0,.42);
}

.timeline-story__media{
    aspect-ratio:16/9;
    overflow:hidden;
    background:#0e1016;
}

.timeline-story__media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.timeline-story__body{
    padding:18px;
}

.timeline-story__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}

.timeline-story__period,
.timeline-story__tag{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:2px;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-family: var(--font-heading);
}

.timeline-story__period{
    background:color-mix(in srgb, var(--timeline-accent) 16%, transparent);
    border:1px solid color-mix(in srgb, var(--timeline-accent) 40%, rgba(209,226,239,.12));
    color:#F6EEE8;
}

.timeline-story__tag{
    background:rgba(209,226,239,.08);
    border:1px solid rgba(209,226,239,.18);
    color:var(--tech);
}

.timeline-story__tag--status{
    color:#F3F1EC;
}

.timeline-story h3{
    margin:0 0 10px;
    font-size:1.22rem;
    line-height:1.2;
    font-family: var(--font-heading);
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#F3F1EC;
}

.timeline-story p{
    margin:0;
    color:var(--text);
    line-height:1.72;
    font-size:.96rem;
}

.timeline-story__link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:16px;
    color:var(--tech);
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
}

.timeline-story__link::after{
    content:"→";
    transition:transform .2s ease;
}

.timeline-story__link:hover{
    color:#fff;
}

.timeline-story__link:hover::after{
    transform:translateX(3px);
}

.timeline-empty{
    min-height:280px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px dashed rgba(209,226,239,.16);
    border-radius:10px;
    background:rgba(15,11,10,.32);
}

.timeline-empty__inner{
    max-width:620px;
    padding:28px;
}

.timeline-empty__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:2px;
    background:rgba(209,226,239,.08);
    border:1px solid rgba(209,226,239,.20);
    color:var(--tech);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-family: var(--font-heading);
}

.timeline-empty h3{
    margin:16px 0 12px;
    font-size:1.5rem;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-family: var(--font-heading);
    color:#F3F1EC;
}

.timeline-empty p{
    margin:0;
    color:var(--text);
    line-height:1.8;
    font-size:1rem;
}

/* HIGHLIGHT SECTION */

.section-highlight .section-intro{
    max-width:860px;
}

.highlight-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.highlight-top__copy{
    flex:1 1 720px;
}

.highlight-top__cta{
    flex:0 0 auto;
}

.highlight-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
    margin-top:6px;
}

.highlight-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow:hidden;
    border-radius:10px;
    background:linear-gradient(180deg, rgba(19,16,20,.95), rgba(19,16,20,.86));
    border:1px solid rgba(209,226,239,.12);
    box-shadow:var(--shadow);
}

.highlight-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:var(--highlight-accent, var(--accent));
    opacity:.95;
}

.highlight-card__media{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#0e1016;
}

.highlight-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.highlight-card__body{
    display:flex;
    flex-direction:column;
    gap:0;
    padding:22px;
    flex:1 1 auto;
}

.highlight-card__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.highlight-card__eyebrow{
    color:var(--tech);
    font-size:.84rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-family: var(--font-heading);
    font-weight:700;
}

.highlight-card__badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:2px;
    border:1px solid rgba(209,226,239,.18);
    background:rgba(209,226,239,.08);
    color:#F3F1EC;
    font-size:.74rem;
    font-family: var(--font-heading);
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.highlight-card__title{
    margin:0 0 10px;
    font-size:clamp(1.55rem, 2.1vw, 2.35rem);
    line-height:.98;
    font-weight:700;
    font-family: var(--font-heading);
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#F2EEE8;
}

.highlight-card__text{
    margin:0;
    color:var(--text);
    line-height:1.72;
    font-size:.96rem;
}

.highlight-card__link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:16px;
    color:var(--tech);
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
}

.highlight-card__link::after{
    content:"→";
    transition:transform .2s ease;
}

.highlight-card__link:hover{
    color:#fff;
}

.highlight-card__link:hover::after{
    transform:translateX(3px);
}

.highlight-empty{
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px dashed rgba(209,226,239,.16);
    border-radius:10px;
    background:rgba(15,11,10,.32);
}

.highlight-empty__inner{
    max-width:620px;
    padding:28px;
}

.highlight-empty__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:2px;
    background:rgba(209,226,239,.08);
    border:1px solid rgba(209,226,239,.20);
    color:var(--tech);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-family: var(--font-heading);
}

.highlight-empty h3{
    margin:16px 0 12px;
    font-size:1.5rem;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-family: var(--font-heading);
    color:#F3F1EC;
}

.highlight-empty p{
    margin:0;
    color:var(--text);
    line-height:1.8;
    font-size:1rem;
}

/* TEAM SECTION FIXED */

.team-section{
    --team-grid-gap:18px;
    --team-card-min-height:320px;
    --team-media-width:196px;
    --team-scroll-width:450px;
}

.team-section .section-intro{
    max-width:920px;
}

.team-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.team-top__copy{
    flex:1 1 760px;
}

.team-top__cta{
    flex:0 0 auto;
}

.team-grid{
    display:grid;
    gap:var(--team-grid-gap);
    margin-top:8px;
    align-items:stretch;
}

.team-card{
    position:relative;
    display:grid;
    grid-template-columns:minmax(140px, var(--team-media-width)) minmax(0, 1fr);
    min-height:var(--team-card-min-height);
    height:100%;
    overflow:hidden;
    border-radius:12px;
    background:linear-gradient(180deg, rgba(19,16,20,.96), rgba(19,16,20,.88));
    border:1px solid rgba(209,226,239,.12);
    box-shadow:var(--shadow);
    isolation:isolate;
}

.team-card::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:var(--accent);
    opacity:.95;
    z-index:2;
}

.team-card.is-featured{
    border-color:rgba(246,163,0,.22);
    box-shadow:0 22px 54px rgba(0,0,0,.40);
}

.team-card:only-child{
    width:100%;
    max-width:min(100%, 980px);
    justify-self:start;
}

.team-card__media{
    position:relative;
    z-index:1;
    min-width:0;
    min-height:100%;
    background:#0e1016;
    overflow:hidden;
    align-self:stretch;
}

.team-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.team-card__body{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:20px 22px;
    gap:0;
}

.team-card__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:10px;
}

.team-card__head-copy{
    display:grid;
    gap:4px;
    min-width:0;
    flex:1 1 auto;
}

.team-card__eyebrow{
    color:var(--tech);
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-family: var(--font-heading);
    font-weight:700;
    line-height:1.1;
}

.team-card__badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:2px;
    border:1px solid rgba(246,163,0,.24);
    background:rgba(246,163,0,.08);
    color:#ffd98b;
    font-size:.70rem;
    font-family: var(--font-heading);
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
    flex:0 0 auto;
}

.team-card__name{
    margin:0;
    font-size:clamp(1.55rem, 1.9vw, 2.2rem);
    line-height:.94;
    font-weight:700;
    font-family: var(--font-heading);
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#F2EEE8;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.team-card__role{
    color:#F3F1EC;
    font-size:.84rem;
    letter-spacing:.10em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
    line-height:1.2;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.team-card__micro{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 12px;
}

.team-card__micro span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 10px;
    border-radius:2px;
    background:rgba(209,226,239,.08);
    border:1px solid rgba(209,226,239,.14);
    color:var(--muted);
    font-size:.70rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-family: var(--font-heading);
    font-weight:700;
}

.team-card__text{
    margin:0;
    color:var(--text);
    line-height:1.62;
    font-size:.92rem;
    display:block;
    overflow:visible;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.team-card__contacts,
.team-card__links{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
}

.team-card__contacts{
    margin-top:auto;
    padding-top:16px;
}

.team-card__links{
    margin-top:8px;
}

.team-card__contact,
.team-card__link{
    display:flex;
    align-items:flex-start;
    gap:8px;
    min-height:38px;
    max-width:100%;
    padding:10px 12px;
    border-radius:2px;
    border:1px solid rgba(209,226,239,.16);
    background:rgba(15,11,10,.36);
    color:var(--tech);
    font-size:.70rem;
    letter-spacing:.10em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
    transition:.22s ease;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.3;
    word-break:break-word;
    overflow-wrap:anywhere;
}

.team-card__contact:hover,
.team-card__link:hover{
    color:#fff;
    border-color:rgba(209,226,239,.28);
    background:rgba(209,226,239,.06);
}

.team-layout--grid .team-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:1fr;
}

.team-layout--grid .team-card{
    --team-card-min-height:334px;
    --team-media-width:208px;
}

.team-layout--cards .team-grid,
.team-layout--compact .team-grid{
    grid-auto-flow:column;
    grid-auto-columns:minmax(340px, var(--team-scroll-width));
    overflow-x:auto;
    overflow-y:hidden;
    padding:4px 2px 12px;
    scrollbar-width:thin;
    scrollbar-color:rgba(140,107,81,.65) rgba(209,226,239,.08);
    scroll-snap-type:x proximity;
}

.team-layout--cards .team-grid::-webkit-scrollbar,
.team-layout--compact .team-grid::-webkit-scrollbar{
    height:8px;
}

.team-layout--cards .team-grid::-webkit-scrollbar-thumb,
.team-layout--compact .team-grid::-webkit-scrollbar-thumb{
    background:rgba(140,107,81,.65);
    border-radius:999px;
}

.team-layout--cards .team-grid::-webkit-scrollbar-track,
.team-layout--compact .team-grid::-webkit-scrollbar-track{
    background:rgba(209,226,239,.08);
}

.team-layout--cards .team-card,
.team-layout--compact .team-card{
    scroll-snap-align:start;
}

.team-layout--cards{
    --team-card-min-height:320px;
    --team-media-width:180px;
    --team-scroll-width:450px;
}

.team-layout--compact{
    --team-card-min-height:272px;
    --team-media-width:128px;
    --team-scroll-width:380px;
    --team-grid-gap:14px;
}

.team-layout--compact .team-card__body{
    padding:18px 18px 20px;
}

.team-layout--compact .team-card__name{
    font-size:clamp(1.28rem, 1.45vw, 1.72rem);
}

.team-layout--compact .team-card__role{
    font-size:.74rem;
}

.team-layout--compact .team-card__micro{
    gap:6px;
}

.team-layout--compact .team-card__text{
    font-size:.86rem;
    line-height:1.56;
}

.team-layout--compact .team-card__contacts,
.team-layout--compact .team-card__links{
    grid-template-columns:1fr;
}

.team-layout--compact .team-card__contact,
.team-layout--compact .team-card__link{
    min-height:32px;
    padding:8px 10px;
    font-size:.64rem;
}

.team-layout--editorial .team-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:1fr;
}

.team-layout--editorial .team-card{
    --team-card-min-height:320px;
    --team-media-width:190px;
}

.team-layout--editorial .team-card.is-featured,
.team-layout--editorial .team-card:first-child{
    grid-column:1 / -1;
    max-width:100%;
    width:100%;
    justify-self:start;
    --team-card-min-height:360px;
    --team-media-width:236px;
}

.team-layout--editorial .team-card.is-featured .team-card__name,
.team-layout--editorial .team-card:first-child .team-card__name{
    font-size:clamp(1.85rem, 2.3vw, 2.5rem);
}

.team-empty{
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border:1px dashed rgba(209,226,239,.16);
    border-radius:10px;
    background:rgba(15,11,10,.32);
}

.team-empty__inner{
    max-width:620px;
    padding:28px;
}

.team-empty__eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 12px;
    border-radius:2px;
    background:rgba(209,226,239,.08);
    border:1px solid rgba(209,226,239,.20);
    color:var(--tech);
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-family: var(--font-heading);
}

.team-empty h3{
    margin:16px 0 12px;
    font-size:1.5rem;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-family: var(--font-heading);
    color:#F3F1EC;
}

.team-empty p{
    margin:0;
    color:var(--text);
    line-height:1.8;
    font-size:1rem;
}

/* PLACEHOLDER SECTIONS */

.section-placeholder{
    position:relative;
}

.section-placeholder .section-intro{
    max-width:920px;
}

.placeholder-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom:28px;
}

.placeholder-top__copy{
    flex:1 1 820px;
}

.placeholder-top__cta{
    flex:0 0 auto;
}

.placeholder-banner,
.placeholder-block{
    position:relative;
    width:100%;
}

.placeholder-banner{
    min-height:620px;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(209,226,239,.14);
    background:
        linear-gradient(180deg, rgba(19,16,20,.96), rgba(19,16,20,.88)),
        radial-gradient(circle at 84% 18%, rgba(209,226,239,.08), transparent 18%);
    box-shadow:var(--shadow);
}

.placeholder-banner__bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center top;
    opacity:.46;
    transform:scale(1.01);
}

.placeholder-banner__overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(7,10,14,.82) 0%, rgba(7,10,14,.56) 44%, rgba(7,10,14,.36) 100%),
        linear-gradient(180deg, rgba(7,10,14,.10) 0%, rgba(7,10,14,.62) 100%);
}

.placeholder-banner__inner{
    position:relative;
    z-index:2;
    min-height:620px;
    display:flex;
    align-items:flex-end;
    padding:42px;
}

.placeholder-banner__content{
    width:min(100%, 860px);
}

.placeholder-banner__content > .eyebrow,
.placeholder-banner__content > .section-title,
.placeholder-banner__content > .subsection-title,
.placeholder-block__copy > .eyebrow,
.placeholder-block__copy > .section-title,
.placeholder-block__copy > .subsection-title,
.placeholder-banner__title{
    display:none !important;
}

.placeholder-banner__title{
    margin:14px 0 16px;
    font-size:clamp(2.7rem, 5vw, 5rem);
    line-height:.92;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-family: var(--font-heading);
    font-weight:700;
    color:#F7F4EE;
}

.placeholder-banner__intro{
    margin:0 0 18px;
    max-width:860px;
    color:#F0ECE6;
    font-size:1.06rem;
    line-height:1.82;
}

.placeholder-banner__body{
    max-width:920px;
    color:var(--text);
    font-size:1rem;
    line-height:1.88;
    white-space:normal;
}

.placeholder-banner__content > :first-child{
    margin-top:0;
}

.placeholder-banner__actions{
    margin-top:24px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.placeholder-block{
    display:block;
}

.placeholder-block__content{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(420px, .85fr);
    gap:28px;
    align-items:stretch;
    padding:28px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(19,16,20,.96), rgba(19,16,20,.88));
    border:1px solid rgba(209,226,239,.14);
    box-shadow:var(--shadow);
}

.placeholder-block__content:not(.has-media){
    grid-template-columns:1fr;
}

.placeholder-block__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:300px;
    gap:0;
}

.placeholder-block__body{
    color:var(--text);
    font-size:1.06rem;
    line-height:1.88;
    white-space:normal;
}

.placeholder-block__actions{
    margin-top:24px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
}

.placeholder-block__media{
    min-height:100%;
    border-radius:14px;
    overflow:hidden;
    background:#0b0f16;
    border:1px solid rgba(209,226,239,.14);
    display:flex;
    align-items:flex-start;
}

.placeholder-block__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    min-height:320px;
}

.section-placeholder--split .placeholder-block__content{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:center;
    min-height:520px;
}

.section-placeholder--grid .placeholder-block__content{
    grid-template-columns:minmax(0, 1fr) minmax(420px, .9fr);
    min-height:440px;
}

.section-placeholder--default .placeholder-block__content{
    grid-template-columns:minmax(0, 1.2fr) minmax(420px, .8fr);
}

.placeholder-items-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 360px));
    gap:18px;
    justify-content:start;
    margin-top:22px;
}

.section-placeholder--grid .placeholder-items-grid{
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    justify-content:stretch;
}

.section-placeholder--split .placeholder-items-grid{
    grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
    justify-content:stretch;
}

.section-placeholder--banner .placeholder-items-grid{
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    justify-content:stretch;
}

.placeholder-item{
    display:flex;
    flex-direction:column;
    min-height:100%;
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(19,16,20,.95), rgba(19,16,20,.88));
    border:1px solid rgba(209,226,239,.14);
    box-shadow:var(--shadow);
}

.placeholder-item__media{
    aspect-ratio:16/10;
    overflow:hidden;
    background:#0e1016;
}

.placeholder-item__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
}

.placeholder-item__body{
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:0;
    flex:1 1 auto;
}

.placeholder-item__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:12px;
}

.placeholder-item__eyebrow{
    color:var(--tech);
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-family: var(--font-heading);
    font-weight:700;
}

.placeholder-item__badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:2px;
    border:1px solid rgba(209,226,239,.18);
    background:rgba(209,226,239,.08);
    color:#F3F1EC;
    font-size:.72rem;
    font-family: var(--font-heading);
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.placeholder-item__title{
    margin:0 0 8px;
    font-size:1.48rem;
    line-height:1.02;
    font-weight:700;
    font-family: var(--font-heading);
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#F2EEE8;
}

.placeholder-item__meta{
    margin-bottom:10px;
    color:var(--muted);
    font-size:.82rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
}

.placeholder-item__text{
    margin:0;
    color:var(--text);
    line-height:1.72;
    font-size:.96rem;
}

.placeholder-item__bodytext{
    margin-top:12px;
    color:var(--text);
    line-height:1.75;
    font-size:.96rem;
    white-space:normal;
}

.placeholder-item__link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:16px;
    color:var(--tech);
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
}

.placeholder-item__link::after{
    content:"→";
    transition:transform .2s ease;
}

.placeholder-item__link:hover{
    color:#fff;
}

.placeholder-item__link:hover::after{
    transform:translateX(3px);
}

/* BLOG LIVE */

.updates-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin-top:34px;
}

.update-card{
    overflow:hidden;
    border-radius:8px;
    background:rgba(19,16,20,.92);
    border:1px solid rgba(209,226,239,.12);
    transition:.25s ease;
}

.update-card:hover{
    transform:translateY(-4px);
    border-color:rgba(140,107,81,.36);
}

.update-card .thumb{
    aspect-ratio:16/10;
    overflow:hidden;
}

.update-card .thumb a{
    display:block;
    width:100%;
    height:100%;
}

.update-card .thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    transition:transform .35s ease;
}

.update-card:hover .thumb img{
    transform:scale(1.03);
}

.update-card .body{
    padding:22px;
    display:flex;
    flex-direction:column;
    min-height:250px;
}

.update-date{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    color:var(--tech);
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.76rem;
    font-family: var(--font-heading);
    font-weight:700;
}

.update-date__sep{
    opacity:.55;
}

.update-card h3{
    margin:12px 0 12px;
    font-size:1.22rem;
    line-height:1.25;
    font-family: var(--font-heading);
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#F2EEE8;
}

.update-title-link{
    color:inherit;
    text-decoration:none;
}

.update-title-link:hover{
    color:#fff;
}

.update-card p{
    margin:0;
    color:var(--text);
    line-height:1.72;
    flex:1 1 auto;
}

.update-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:16px;
    color:var(--tech);
    font-size:.82rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-family: var(--font-heading);
    font-weight:700;
}

.update-link::after{
    content:"→";
    transition:transform .2s ease;
}

.update-link:hover{
    color:#fff;
}

.update-link:hover::after{
    transform:translateX(3px);
}

.update-link--muted{
    color:var(--muted);
    pointer-events:none;
}

.split{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:34px;
    align-items:center;
}

.panel{
    padding:32px;
    border-radius:10px;
    background:linear-gradient(180deg, rgba(19,16,20,.96), rgba(19,16,20,.86));
    border:1px solid rgba(209,226,239,.12);
    box-shadow:var(--shadow);
}

.image-panel{
    overflow:hidden;
    padding:0;
}

.image-panel img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    min-height:460px;
}

.copy p{
    color:var(--text);
    line-height:1.84;
    font-size:1.04rem;
    margin:0 0 18px;
}

.progress-card{
    margin-top:28px;
    padding:22px;
    border-radius:8px;
    background:rgba(15,11,10,.44);
    border:1px solid rgba(209,226,239,.12);
}

.progress-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
    font-family: var(--font-heading);
    text-transform:uppercase;
    letter-spacing:.05em;
}

.progress-head strong{
    font-size:1.05rem;
}

.progress-bar{
    height:8px;
    background:rgba(209,226,239,.10);
    overflow:hidden;
    border-radius:0;
}

.progress-fill{
    width:12.5%;
    height:100%;
    background:linear-gradient(90deg, var(--tech), var(--accent));
}

.progress-meta{
    margin-top:10px;
    color:var(--text);
    font-size:.95rem;
}

.cartolina-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
    margin-top:34px;
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.form-grid .full{
    grid-column:1 / -1;
}

.field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.field label{
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--tech);
    font-family: var(--font-heading);
    font-weight:700;
}

.field input,
.field textarea{
    width:100%;
    border:1px solid rgba(209,226,239,.16);
    background:rgba(15,11,10,.44);
    color:var(--text);
    border-radius:4px;
    padding:16px 18px;
    font:inherit;
    outline:none;
}

.field input:focus,
.field textarea:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(140,107,81,.12);
}

.field textarea{
    min-height:170px;
    resize:vertical;
}

.mini-list{
    display:grid;
    gap:12px;
    margin-top:18px;
}

.mini-item{
    display:flex;
    gap:12px;
    align-items:flex-start;
    color:var(--text);
    line-height:1.65;
}

.mini-item::before{
    content:"";
    flex:0 0 14px;
    height:1px;
    margin-top:.75em;
    background:var(--tech);
}

.press-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    margin-top:34px;
}

.press-card{
    padding:24px;
    border-radius:8px;
    background:rgba(19,16,20,.92);
    border:1px solid rgba(209,226,239,.12);
}

.press-card h3{
    margin:0 0 10px;
    font-size:1.12rem;
    font-family: var(--font-heading);
    text-transform:uppercase;
    letter-spacing:.04em;
}

.press-card p{
    margin:0 0 18px;
    color:var(--text);
    line-height:1.72;
}

.site-footer{
    border-top:1px solid rgba(209,226,239,.12);
    background:#131014;
    margin-top:80px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr 1fr;
    gap:26px;
    padding:42px 0;
}

.footer-title{
    margin:0 0 14px;
    font-size:1rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-family: var(--font-heading);
    font-weight:700;
    color:#F1EEE7;
}

.footer-copy,
.footer-links a,
.footer-contact{
    color:var(--text);
    line-height:1.8;
    font-size: var(--f-size-body, 16px);
}

.footer-links{
    display:grid;
    gap:8px;
}

.footer-links a:hover{
    color:var(--accent);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
    border-top:1px solid rgba(209,226,239,.10);
    padding:18px 0 28px;
    color:var(--muted);
    font-size: var(--f-size-caption, 12px);
    font-family: var(--font-heading);
    letter-spacing:.05em;
    text-transform:uppercase;
}

.footer-grid-project{
    grid-template-columns:1.2fr .9fr .9fr;
    align-items:start;
}

.footer-company{
    border-top:1px solid rgba(209,226,239,.10);
    margin-top:10px;
    padding:34px 0 10px;
    text-align:center;
}

.footer-company-title{
    margin:0 0 14px;
    font-size:1.5rem;
    font-family: var(--font-heading);
    font-weight:700;
    letter-spacing:.03em;
    color:#F1EEE7;
    text-transform:none;
}

.footer-company-meta{
    color:var(--text);
    line-height:1.9;
    font-size: var(--f-size-caption, 12px);
    max-width:980px;
    margin:0 auto;
}

.footer-company-links{
    display:flex;
    justify-content:center;
    gap:24px;
    flex-wrap:wrap;
    margin-top:18px;
}

.footer-company-links a{
    color:var(--muted);
    font-size:.95rem;
}

.footer-company-links a:hover{
    color:var(--accent);
}

@media (max-width: 1400px){
    .container-placeholder{
        width:min(calc(100vw - 32px), 1500px);
    }
}

@media (max-width: 1280px){
    .team-layout--grid .team-grid,
    .team-layout--editorial .team-grid{
        grid-template-columns:1fr 1fr;
    }

    .team-layout--cards{
        --team-scroll-width:420px;
    }

    .team-layout--compact{
        --team-scroll-width:360px;
    }

    .highlight-grid,
    .updates-grid,
    .press-grid,
    .footer-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .footer-grid-project{
        grid-template-columns:1fr;
    }
}

@media (max-width: 1180px){
    .timeline-story{
        min-width:320px;
        max-width:320px;
        flex-basis:320px;
    }

    .placeholder-block__content,
    .section-placeholder--split .placeholder-block__content,
    .section-placeholder--grid .placeholder-block__content,
    .section-placeholder--default .placeholder-block__content{
        grid-template-columns:1fr;
    }

    .placeholder-banner__inner{
        min-height:520px;
    }

    .team-card__contacts,
    .team-card__links{
        grid-template-columns:1fr;
    }

    .team-layout--cards{
        --team-scroll-width:400px;
    }

    .team-layout--compact{
        --team-scroll-width:340px;
    }

    .team-layout--editorial .team-card.is-featured,
    .team-layout--editorial .team-card:first-child{
        max-width:100%;
    }
}

@media (max-width: 920px){
    .nav{
        align-items:flex-start;
        flex-direction:column;
        padding:16px 0;
    }

    .nav-menu{
        justify-content:flex-start;
        gap:14px 18px;
    }

    .hero,
    .hero-carousel,
    .hero-slide,
    .hero-slide > .container{
        min-height:calc(100vh - 118px);
    }

    .hero-content{
        padding:84px 0 118px;
    }

    .hero-carousel-ui{
        bottom:24px;
    }

    .hero-nav{
        opacity:1;
        padding:0 14px;
    }

    .hero-nav-btn{
        width:48px;
        height:48px;
        font-size:20px;
        background:rgba(7,10,14,.30);
    }

    .split,
    .cartolina-grid{
        grid-template-columns:1fr;
    }

    .highlight-grid,
    .updates-grid,
    .press-grid,
    .footer-grid,
    .form-grid{
        grid-template-columns:1fr;
    }

    .team-top,
    .timeline-top,
    .highlight-top,
    .placeholder-top{
        align-items:flex-start;
    }

    .team-layout--grid .team-grid,
    .team-layout--editorial .team-grid{
        grid-template-columns:1fr;
    }

    .team-layout--cards{
        --team-scroll-width:360px;
    }

    .team-layout--compact{
        --team-scroll-width:320px;
    }

    .team-layout--grid .team-card,
    .team-layout--editorial .team-card,
    .team-layout--editorial .team-card.is-featured,
    .team-layout--editorial .team-card:first-child{
        max-width:100%;
    }

    .section{
        padding:72px 0;
    }

    .timeline-shell{
        padding:22px;
    }

    .timeline-story{
        min-width:300px;
        max-width:300px;
        flex-basis:300px;
    }

    .update-card .body{
        min-height:auto;
    }

    .placeholder-banner{
        min-height:460px;
    }

    .placeholder-banner__inner{
        min-height:460px;
        padding:26px;
    }

    .placeholder-banner__title{
        font-size:clamp(2.2rem, 8vw, 3.8rem);
    }

    .placeholder-block__content{
        padding:20px;
        gap:20px;
    }

    .placeholder-items-grid,
    .section-placeholder--grid .placeholder-items-grid,
    .section-placeholder--split .placeholder-items-grid,
    .section-placeholder--banner .placeholder-items-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 720px){
    .team-card,
    .team-layout--cards .team-card,
    .team-layout--compact .team-card,
    .team-layout--editorial .team-card,
    .team-layout--editorial .team-card.is-featured,
    .team-layout--editorial .team-card:first-child{
        grid-template-columns:1fr;
        min-height:0;
    }

    .team-card__media{
        aspect-ratio:4 / 5;
        min-height:280px;
        min-width:0;
        background:#0b0f16;
        display:flex;
        align-items:flex-start;
        justify-content:center;
    }

    .team-card__media img{
        width:100%;
        height:100%;
        object-fit:contain;
        object-position:center top;
        background:#0b0f16;
    }

    .team-card__body{
        padding:18px;
    }

    .team-layout--cards .team-grid,
    .team-layout--compact .team-grid{
        grid-auto-columns:minmax(300px, 82vw);
    }
}

@media (max-width: 560px){
    .container{
        width:min(calc(100% - 20px), var(--max));
    }

    .container-placeholder{
        width:min(calc(100vw - 20px), 100%);
    }

    .hero h1{
        font-size:2.7rem;
    }

    .section-title{
        font-size:2.2rem;
    }

    .hero-actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .hero-dots{
        gap:8px;
    }

    .hero-dot{
        width:10px;
        height:10px;
    }

    .hero-nav{
        padding:0 10px;
    }

    .hero-nav-btn{
        width:42px;
        height:42px;
        font-size:18px;
    }

    .timeline-shell{
        padding:18px;
    }

    .timeline-story{
        min-width:270px;
        max-width:270px;
        flex-basis:270px;
    }

    .timeline-track-line{
        top:28px;
    }

    .timeline-story__rail{
        height:58px;
    }

    .highlight-card__body{
        padding:18px;
    }

    .highlight-card__title{
        font-size:1.9rem;
    }

    .team-card__media{
        min-height:250px;
    }

    .team-card__name{
        font-size:1.5rem;
    }

    .team-layout--cards .team-grid,
    .team-layout--compact .team-grid{
        grid-auto-columns:minmax(270px, calc(100vw - 34px));
    }

    .placeholder-banner__inner{
        padding:18px;
    }

    .placeholder-block__content{
        padding:16px;
    }

    .placeholder-item__body{
        padding:18px;
    }

    .placeholder-item__title{
        font-size:1.28rem;
    }
}
/* PLACEHOLDER BANNER OVERRIDE v3 */
.section-placeholder--banner .placeholder-banner{
    min-height:680px;
    display:flex;
    align-items:stretch;
    isolation:isolate;
}

.section-placeholder--banner .placeholder-banner__bg{
    opacity:.62;
    background-position:center center;
    transform:scale(1.04);
}

.section-placeholder--banner .placeholder-banner__overlay{
    background:
        linear-gradient(90deg, rgba(6,8,12,.24) 0%, rgba(6,8,12,.08) 42%, rgba(6,8,12,.20) 100%),
        linear-gradient(180deg, rgba(6,8,12,.06) 0%, rgba(6,8,12,.28) 100%);
}

.section-placeholder--banner .placeholder-banner__inner{
    width:100%;
    min-height:680px;
    align-items:flex-end;
    justify-content:flex-start;
    padding:34px;
}

.section-placeholder--banner .placeholder-banner__content{
    width:min(100%, 640px);
    max-width:640px;
    padding:30px 32px;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(12,14,19,.86), rgba(12,14,19,.76));
    border:1px solid rgba(209,226,239,.18);
    box-shadow:0 24px 60px rgba(0,0,0,.32);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.section-placeholder--banner .placeholder-banner__intro{
    margin:0 0 12px;
    max-width:none;
    color:#F2EEE8;
    font-size:1.05rem;
    line-height:1.76;
}

.section-placeholder--banner .placeholder-banner__body{
    max-width:none;
    margin:0;
    color:var(--text);
    font-size:.98rem;
    line-height:1.80;
}

.section-placeholder--banner .placeholder-banner__intro:empty,
.section-placeholder--banner .placeholder-banner__body:empty,
.section-placeholder--banner .placeholder-banner__actions:empty{
    display:none;
}

.section-placeholder--banner .placeholder-banner__actions{
    margin-top:18px;
}

@media (max-width: 1180px){
    .section-placeholder--banner .placeholder-banner{
        min-height:620px;
    }

    .section-placeholder--banner .placeholder-banner__inner{
        min-height:620px;
        padding:28px;
    }

    .section-placeholder--banner .placeholder-banner__content{
        width:min(100%, 580px);
        max-width:580px;
        padding:26px 28px;
    }
}

@media (max-width: 920px){
    .section-placeholder--banner .placeholder-banner{
        min-height:520px;
    }

    .section-placeholder--banner .placeholder-banner__bg{
        background-position:center top;
        opacity:.58;
    }

    .section-placeholder--banner .placeholder-banner__overlay{
        background:
            linear-gradient(180deg, rgba(7,10,14,.18) 0%, rgba(7,10,14,.34) 48%, rgba(7,10,14,.74) 100%);
    }

    .section-placeholder--banner .placeholder-banner__inner{
        min-height:520px;
        padding:22px;
    }

    .section-placeholder--banner .placeholder-banner__content{
        width:100%;
        max-width:none;
        padding:22px;
        border-radius:16px;
    }
}

@media (max-width: 560px){
    .section-placeholder--banner .placeholder-banner{
        min-height:460px;
    }

    .section-placeholder--banner .placeholder-banner__inner{
        min-height:460px;
        padding:16px;
    }

    .section-placeholder--banner .placeholder-banner__content{
        padding:18px;
        border-radius:14px;
    }

    .section-placeholder--banner .placeholder-banner__intro,
    .section-placeholder--banner .placeholder-banner__body{
        font-size:.95rem;
        line-height:1.72;
    }
}


/* ==========================================================================
   2026-03-17 — placeholder banner + team bio overflow fix
   ========================================================================== */

.team-section{
    --team-card-width:448px;
    --team-card-height:304px;
}

.team-layout--grid{
    --team-card-height:304px;
    --team-media-width:132px;
}

.team-layout--cards,
.team-layout--slider{
    --team-card-width:448px;
    --team-card-height:304px;
    --team-media-width:140px;
}

.team-layout--compact,
.team-layout--mini{
    --team-card-width:372px;
    --team-card-height:248px;
    --team-media-width:108px;
}

.team-layout--editorial{
    --team-card-height:332px;
    --team-media-width:164px;
}

.team-card__body{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:0;
    overflow:hidden;
}

.team-card__micro{
    flex:0 0 auto;
    min-height:0;
}

.team-card__micro.is-empty,
.team-card__text.is-empty,
.team-card__footer.is-empty{
    display:none;
}

.team-card__text{
    flex:1 1 auto;
    min-height:0;
    -webkit-line-clamp:4;
}

.team-layout--grid .team-card__text,
.team-layout--editorial .team-card__text{
    -webkit-line-clamp:5;
}

.team-card__footer{
    margin-top:auto;
    min-height:0;
}

.team-card__contacts,
.team-card__links{
    align-items:flex-start;
}

.team-card__contact,
.team-card__link{
    padding:6px 10px;
    font-size:.68rem;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:break-word;
    line-height:1.18;
}

.team-layout--compact .team-card__text,
.team-layout--mini .team-card__text{
    -webkit-line-clamp:3;
}

.placeholder-layout--banner .placeholder-banner{
    background:#0d1017;
}

.placeholder-layout--banner .placeholder-banner__bg img{
    object-position:center center;
    opacity:.92;
    transform:scale(1.02);
}

.placeholder-layout--banner .placeholder-banner__overlay{
    background:
        linear-gradient(90deg, rgba(6,8,12,.24) 0%, rgba(6,8,12,.08) 42%, rgba(6,8,12,.20) 100%),
        linear-gradient(180deg, rgba(6,8,12,.06) 0%, rgba(6,8,12,.28) 100%);
}

.placeholder-layout--banner .placeholder-banner__panel{
    width:min(100%, 640px);
    background:linear-gradient(180deg, rgba(9,11,17,.94), rgba(9,11,17,.88));
    box-shadow:0 18px 48px rgba(0,0,0,.30);
}

.placeholder-layout--banner .placeholder-banner__footer{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:4px;
}

.placeholder-layout--banner .placeholder-block__slug{
    background:rgba(255,255,255,.02);
}

@media (max-width: 1180px){
    .team-layout--cards,
    .team-layout--slider{
        --team-card-width:416px;
    }

    .team-layout--compact,
    .team-layout--mini{
        --team-card-width:352px;
    }
}

@media (max-width: 920px){
    .team-card{
        min-height:260px;
        height:auto;
        grid-template-columns:112px minmax(0, 1fr);
    }

    .team-layout--editorial .team-card{
        grid-template-columns:132px minmax(0, 1fr);
    }

    .placeholder-layout--banner .placeholder-banner{
        min-height:440px;
    }

    .placeholder-layout--banner .placeholder-banner__inner{
        min-height:440px;
    }
}

@media (max-width: 560px){
    .team-card{
        min-height:236px;
    }
}

/* --- GESTIONE MENU MOBILE --- */

/* Nascondi il pulsante hamburger su Desktop */
.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
}

.menu-toggle .bar {
    height: 3px;
    width: 100%;
    background-color: var(--text, #ffffff);
    border-radius: 10px;
    transition: all 0.3s ease;
}

/* Mostra l'hamburger solo sotto i 768px (Mobile) */
@media (max-width: 768px) {
    .menu-toggle {
        display: flex; /* Appare su mobile */
    }

    .nav-menu {
        display: none; /* Nascondiamo il menu classico */
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background: rgba(15, 11, 10, 0.95); /* Sfondo scuro coprente */
        flex-direction: column;
        align-items: center;
        justify-content: center;
        z-index: 1000;
    }

    .nav-menu.is-open {
        display: flex; /* Appare quando clicchi l'hamburger */
    }

    .nav-menu a {
        font-size: 1.5rem;
        margin: 15px 0;
    }
}