/* ====================================================================
   PROGETTO DETAIL — A (editorial) + momento B (full-bleed nel mezzo)
   Stile coerente con /collezioni/ e /progetti/ indice
   Body texture noise visibile attraverso le sezioni (no bg opaco)
   ==================================================================== */

.pd-page {
    padding-top: 0;
}

/* ============ 1. HERO TIPOGRAFICO (no foto, stile collezioni) ============ */

.pd-hero {
    padding: 64px 32px 64px;
}

.pd-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.pd-hero-kicker {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin: 0 0 28px;
    text-transform: uppercase;
}

.pd-hero-title {
    font-family: var(--font-uppercase);
    font-size: clamp(40px, 6.5vw, 88px);
    font-weight: 400;
    color: var(--text);
    line-height: 0.98;
    letter-spacing: -2px;
    margin: 0;
    text-transform: uppercase;
    max-width: 1100px;
}

.pd-hero-foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 56px;
    gap: 48px;
    flex-wrap: wrap;
}

.pd-hero-intro {
    font-family: var(--font-ui);
    font-size: 16px;
    font-weight: 400;
    color: var(--text-soft);
    line-height: 1.65;
    margin: 0;
    max-width: 820px;
}

.pd-hero-meta {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.6px;
    color: var(--text-muted);
    text-transform: uppercase;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.pd-hero-meta-strong { color: var(--text); }
.pd-hero-meta-sep { color: var(--text-muted); }

@media (max-width: 720px) {
    .pd-hero { padding: 48px 24px 48px; }
    .pd-hero-foot { flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 36px; }
    .pd-hero-meta { white-space: normal; flex-wrap: wrap; }
}

/* ============ 2. FOTO COVER (sotto hero, contenuta 3:2) ============ */

.pd-cover {
    max-width: 1200px;
    margin: 0 auto 64px;
    padding: 0 32px;
}

.pd-cover-img-wrap {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.pd-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 720px) {
    .pd-cover { padding: 0 24px; margin-bottom: 48px; }
    .pd-cover-img-wrap { aspect-ratio: 4 / 3; }
}

/* ============ 3. SCHEDA DEL PROGETTO (8 voci, 2 colonne tabellari) ============ */

.pd-scheda {
    max-width: 1200px;
    margin: 0 auto 96px;
    padding: 0 32px;
}

.pd-scheda .pd-section-kicker {
    margin-bottom: 24px;
}

.pd-scheda-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 64px;
    border-top: 0.5px solid var(--line);
}

.pd-scheda-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 0.5px solid var(--line);
    align-items: baseline;
}

/* Forza Riferimento nella seconda colonna (riga 4 destra, dove prima c'era Documentazione) */
.pd-scheda-row--right {
    grid-column: 2;
}

/* Mobile: 1 sola colonna, il modifier non serve più */
@media (max-width: 720px) {
    .pd-scheda-row--right { grid-column: auto; }
}

.pd-scheda-label {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.6px;
    color: var(--text-muted);
    text-transform: uppercase;
}

.pd-scheda-value {
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 400;
    color: var(--text);
    line-height: 1.4;
}

@media (max-width: 720px) {
    .pd-scheda { padding: 0 24px; margin-bottom: 64px; }
    .pd-scheda-grid { grid-template-columns: 1fr; column-gap: 0; }
    .pd-scheda-row { grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; }
}

/* ============ 4. GALLERIA — duo + full-bleed (momento B) + duo ============ */

.pd-galleria { margin: 0 0 96px; }

/* Duo: 2 foto verticali fianco a fianco */
.pd-foto-duo {
    max-width: 1200px;
    margin: 0 auto 24px;
    padding: 0 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.pd-foto-duo-item {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.pd-foto-duo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.pd-foto-duo-item:hover .pd-foto-duo-img {
    transform: scale(1.02);
}

/* MOMENTO B — foto full-bleed 80vh edge-to-edge */
.pd-foto-full-bleed {
    width: 100%;
    height: 80vh;
    min-height: 480px;
    max-height: 800px;
    overflow: hidden;
    margin: 24px 0;
}

.pd-foto-full-bleed-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%; /* privilegia parte alta — i lampadari di solito sono in alto */
    display: block;
    transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.pd-foto-full-bleed:hover .pd-foto-full-bleed-img {
    transform: scale(1.015);
}

/* Full-contained: 16:9 contenuta, fallback per ultima foto */
.pd-foto-full-contained {
    max-width: 1200px;
    margin: 24px auto;
    padding: 0 32px;
}

.pd-foto-full-contained-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

@media (max-width: 720px) {
    .pd-foto-duo { padding: 0 24px; grid-template-columns: 1fr; gap: 16px; }
    .pd-foto-full-bleed { height: 60vh; min-height: 360px; }
    .pd-foto-full-contained { padding: 0 24px; }
}

/* ============ 5. APPROFONDIMENTO ============ */

.pd-approfondimento {
    max-width: 720px;
    margin: 0 auto 96px;
    padding: 0 32px;
}

.pd-approfondimento-inner {
    border-top: 0.5px solid var(--line);
    padding-top: 48px;
}

.pd-section-kicker {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin: 0 0 24px;
    text-transform: uppercase;
}

.pd-approfondimento-text {
    font-family: var(--font-ui);
    font-size: 17px;
    font-weight: 400;
    color: var(--text);
    line-height: 1.75;
    margin: 0;
    white-space: pre-line;
}

@media (max-width: 720px) {
    .pd-approfondimento { padding: 0 24px; margin-bottom: 64px; }
    .pd-approfondimento-text { font-size: 16px; }
}

/* ============ 6. PRODOTTI CORRELATI — Card compatte 140×140 ============ */

.pd-correlati {
    max-width: 1200px;
    margin: 0 auto 96px;
    padding: 0 32px;
}

.pd-correlati-head {
    margin-bottom: 32px;
}

.pd-correlati-title-section {
    font-family: var(--font-uppercase);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: -0.6px;
    color: var(--text);
    margin: 8px 0 0;
    text-transform: uppercase;
    line-height: 1.1;
}

.pd-correlati-grid {
    display: grid;
    gap: 24px;
}

.pd-correlati-cols-1 {
    grid-template-columns: minmax(0, 560px);
    justify-content: start;
}

.pd-correlati-cols-2 {
    grid-template-columns: 1fr 1fr;
}

/* Card: layout orizzontale foto-sx + info-dx */
.pd-correlati-card {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    padding: 20px;
    border: 0.5px solid var(--line);
    text-decoration: none;
    color: inherit;
    align-items: center;
    transition: border-color 0.2s ease, transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.pd-correlati-card:hover {
    border-color: var(--text);
}

/* Foto prodotto: quadrata 140×140 */
.pd-correlati-img-wrap {
    width: 140px;
    aspect-ratio: 1;
    overflow: hidden;
    flex-shrink: 0;
}

.pd-correlati-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.pd-correlati-card:hover .pd-correlati-img {
    transform: scale(1.04);
}

/* Testo: kicker + titolo + descrizione + CTA */
.pd-correlati-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.pd-correlati-meta {
    font-family: var(--font-uppercase);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1.4px;
    color: var(--text-muted);
    margin: 0;
    text-transform: uppercase;
}

.pd-correlati-prod-title {
    font-family: var(--font-uppercase);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: -0.3px;
    color: var(--text);
    margin: 0;
    text-transform: uppercase;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pd-correlati-descr {
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 400;
    color: var(--text-muted);
    line-height: 1.4;
    margin: 4px 0 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pd-correlati-cta {
    font-family: var(--font-uppercase);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1.6px;
    color: var(--text);
    text-transform: uppercase;
    border-bottom: 0.5px solid var(--text);
    padding-bottom: 2px;
    align-self: flex-start;
    transition: letter-spacing 0.3s ease;
}

.pd-correlati-card:hover .pd-correlati-cta {
    letter-spacing: 2px;
}

@media (max-width: 720px) {
    .pd-correlati { padding: 0 24px; margin-bottom: 64px; }
    .pd-correlati-cols-2 { grid-template-columns: 1fr; gap: 16px; }
    .pd-correlati-card {
        grid-template-columns: 100px 1fr;
        gap: 16px;
        padding: 16px;
    }
    .pd-correlati-img-wrap { width: 100px; }
    .pd-correlati-title-section { font-size: 22px; }
    .pd-correlati-prod-title { font-size: 16px; }
    .pd-correlati-descr { display: none; }
}

/* ============ 7. CTA SU MISURA — Doppia CTA editorial (Alt B) ============ */

.pd-cta {
    max-width: 1200px;
    margin: 0 auto 96px;
    padding: 64px 32px 0;
    border-top: 0.5px solid var(--line);
}

.pd-cta-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 96px;
    align-items: center;
}

/* Copy a sinistra */
.pd-cta-copy {
    display: flex;
    flex-direction: column;
}

.pd-cta-kicker {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 2px;
    color: var(--text-muted);
    margin: 0 0 24px;
    text-transform: uppercase;
}

.pd-cta-title {
    font-family: var(--font-uppercase);
    font-size: clamp(40px, 5.5vw, 64px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -2px;
    color: var(--text);
    margin: 0 0 24px;
    text-transform: uppercase;
}

.pd-cta-title-em {
    font-family: "Fraunces", Georgia, serif;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -1px;
    text-transform: lowercase;
    /* Slight optical adjustment - Fraunces italic richiede leggera regolazione */
    font-optical-sizing: auto;
}

.pd-cta-text {
    font-family: var(--font-ui);
    font-size: 16px;
    color: var(--text-soft);
    line-height: 1.7;
    margin: 0;
    max-width: 420px;
}

/* Card CTA a destra */
.pd-cta-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pd-cta-card {
    display: block;
    padding: 32px;
    border: 0.5px solid var(--line);
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
                background 0.2s ease,
                border-color 0.2s ease;
}

/* Primaria: scura piena */
.pd-cta-card-primary {
    background: var(--text);
    color: var(--bg);
    border-color: var(--text);
}

.pd-cta-card-primary:hover {
    background: #000;
    border-color: #000;
}

/* Secondaria: bordo, transparente */
.pd-cta-card-secondary {
    background: transparent;
    color: var(--text);
}

.pd-cta-card-secondary:hover {
    border-color: var(--text);
}

/* Numero ordinale */
.pd-cta-card-num {
    font-family: var(--font-uppercase);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1.6px;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.pd-cta-card-primary .pd-cta-card-num { opacity: 0.6; }
.pd-cta-card-secondary .pd-cta-card-num { color: var(--text-muted); }

/* Titolo card */
.pd-cta-card-title {
    font-family: var(--font-uppercase);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: -0.5px;
    margin: 0 0 12px;
    text-transform: uppercase;
    line-height: 1.1;
}

/* Testo card */
.pd-cta-card-text {
    font-family: var(--font-ui);
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 20px;
}

.pd-cta-card-primary .pd-cta-card-text { color: rgba(250, 250, 247, 0.75); }
.pd-cta-card-secondary .pd-cta-card-text { color: var(--text-muted); }

/* Link CTA con underline animato */
.pd-cta-card-link {
    font-family: var(--font-uppercase);
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    border-bottom: 0.5px solid currentColor;
    padding-bottom: 2px;
    transition: letter-spacing 0.3s ease;
    display: inline-block;
}

.pd-cta-card:hover .pd-cta-card-link {
    letter-spacing: 2.2px;
}

/* Mobile */
@media (max-width: 900px) {
    .pd-cta {
        padding: 48px 24px 0;
        margin-bottom: 64px;
    }
    .pd-cta-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .pd-cta-text {
        max-width: none;
    }
    .pd-cta-card {
        padding: 24px;
    }
    .pd-cta-card-title {
        font-size: 20px;
    }
}



/* ============ 8. NAV PREV/NEXT — Strisce full-bleed (Alt B) ============ */

.pd-nav {
    margin: 0;
    padding: 0;
}

/* Strisce 50/50 senza max-width (sono full-bleed edge-to-edge) */
.pd-nav-strisce {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    width: 100%;
}

/* Singola striscia: aspect 16:9, foto in background, overlay scuro, testo bianco */
.pd-nav-stripe {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    text-decoration: none;
    color: var(--bg);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 40px;
    background: #2a2520; /* fallback se foto non carica */
    transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Foto cover in background, fills entirely */
.pd-nav-stripe-bg-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.pd-nav-stripe-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    filter: brightness(0.9);
}

.pd-nav-stripe:hover .pd-nav-stripe-bg {
    transform: scale(1.04);
    filter: brightness(1.0);
}

/* Overlay scuro per leggibilità del testo */
.pd-nav-stripe-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(0,0,0,0.15) 0%,
        rgba(0,0,0,0.10) 40%,
        rgba(0,0,0,0.65) 100%);
    z-index: 1;
    transition: background 0.3s ease;
}

.pd-nav-stripe:hover .pd-nav-stripe-overlay {
    background: linear-gradient(180deg,
        rgba(0,0,0,0.20) 0%,
        rgba(0,0,0,0.15) 40%,
        rgba(0,0,0,0.75) 100%);
}

/* Contenuto testuale sopra l'overlay */
.pd-nav-stripe-content {
    position: relative;
    z-index: 2;
}

/* Variante "next": testo allineato a destra */
.pd-nav-stripe-next {
    align-items: flex-end;
}

.pd-nav-stripe-next .pd-nav-stripe-content {
    text-align: right;
}

.pd-nav-stripe-label {
    font-family: var(--font-uppercase);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 1.6px;
    color: rgba(250, 250, 247, 0.85);
    margin: 0 0 12px;
    text-transform: uppercase;
    transition: letter-spacing 0.3s ease;
}

.pd-nav-stripe:hover .pd-nav-stripe-label {
    letter-spacing: 2.2px;
}

.pd-nav-stripe-title {
    font-family: var(--font-uppercase);
    font-size: clamp(20px, 2.4vw, 32px);
    font-weight: 400;
    letter-spacing: -0.6px;
    color: var(--bg);
    margin: 0 0 12px;
    text-transform: uppercase;
    line-height: 1.05;
    /* Limita a 2 righe per non far esplodere strisce con titoli lunghi */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.pd-nav-stripe-meta {
    font-family: var(--font-uppercase);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 1.4px;
    color: rgba(250, 250, 247, 0.75);
    margin: 0;
    text-transform: uppercase;
}

.pd-nav-stripe-sep {
    opacity: 0.6;
}

/* Link archivio sotto le strisce */
.pd-nav-archive {
    text-align: center;
    padding: 48px 32px;
    border-bottom: 0.5px solid var(--line);
}

.pd-nav-archive-link {
    text-decoration: none;
    font-family: var(--font-uppercase);
    font-size: 11px;
    letter-spacing: 1.8px;
    color: var(--text);
    text-transform: uppercase;
    border-bottom: 0.5px solid var(--text);
    padding: 4px 0;
    transition: letter-spacing 0.3s ease;
    display: inline-block;
}

.pd-nav-archive-link:hover {
    letter-spacing: 2.4px;
}

/* Mobile: strisce stackate verticalmente */
@media (max-width: 720px) {
    .pd-nav-strisce {
        grid-template-columns: 1fr;
    }
    .pd-nav-stripe {
        aspect-ratio: 5 / 3;
        padding: 28px;
    }
    .pd-nav-stripe-title {
        font-size: 22px;
    }
    .pd-nav-archive {
        padding: 32px 24px;
    }
}

/* ===== Back link + Il modello (card A) — 23/09/2026 ===== */
.pd-back{display:inline-block;margin-bottom:20px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut,#8a8074);transition:color .2s}
.pd-back:hover{color:var(--key,#9a3a2e)}
.pd-modello{max-width:1200px;margin:clamp(40px,6vh,72px) auto 0;padding:0 clamp(20px,3vw,44px)}
.pd-modello-card{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--line,rgba(28,22,16,.13));border-radius:16px;overflow:hidden;background:#fff}
.pd-modello-card--coll{grid-template-columns:1fr}
.pd-modello-img{position:relative;min-height:clamp(300px,40vh,420px);background:#2a2119;display:block}
.pd-modello-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pd-modello-img:hover img{transform:scale(1.04)}
.pd-modello-body{padding:clamp(28px,3.5vw,48px);display:flex;flex-direction:column;justify-content:center}
.pd-modello-k{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--key,#9a3a2e)}
.pd-modello-name{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:800;font-size:clamp(1.6rem,2.6vw,2.4rem);letter-spacing:-.03em;margin:12px 0 4px;color:var(--ink,#1c1610);line-height:1}
.pd-modello-sub{color:#5a4f42;margin-bottom:22px;font-size:1rem}
.pd-modello-specs{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;border-top:1px solid var(--line,rgba(28,22,16,.13));padding-top:20px}
.pd-modello-specs .l{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut,#8a8074);margin-bottom:3px}
.pd-modello-specs .v{color:var(--ink,#1c1610);font-size:.98rem;font-weight:500}
.pd-modello-cta{margin-top:24px}
.pd-modello-cta a{display:inline-flex;align-items:center;gap:8px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink,#1c1610);border-bottom:2px solid var(--key,#9a3a2e);padding-bottom:5px}
@media(max-width:820px){.pd-modello-card{grid-template-columns:1fr}.pd-modello-img{min-height:48vh}}

/* ================= LAYOUT Z — galleria-first (23/09/2026) ================= */
.pdz{display:grid;grid-template-columns:440px 1fr;gap:0;align-items:start}
.pdz-side{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;padding:clamp(28px,3vw,48px);border-right:1px solid var(--line,rgba(28,22,16,.13));overflow-y:auto}
.pdz-back{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut,#8a8074);transition:color .2s}
.pdz-back:hover{color:var(--key,#9a3a2e)}
.pdz-side-in{margin-top:34px;padding-top:0}
.pdz-kicker{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--key,#9a3a2e);margin-bottom:14px}
.pdz-title{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:800;font-size:clamp(1.7rem,2.4vw,2.5rem);letter-spacing:-.03em;line-height:1;color:var(--ink,#1c1610);margin-bottom:16px}
.pdz-lead{color:#5a4f42;font-size:1rem;line-height:1.5;margin-bottom:26px;max-width:40ch}
.pdz-facts{display:grid;gap:14px;border-top:1px solid var(--line,rgba(28,22,16,.13));padding-top:20px}
.pdz-facts .r{display:flex;flex-direction:column;gap:2px}
.pdz-facts .l{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut,#8a8074)}
.pdz-facts .v{color:var(--ink,#1c1610);font-weight:500;font-size:1rem}
.pdz-mod{display:flex;align-items:center;gap:14px;margin-top:24px;border-top:1px solid var(--line,rgba(28,22,16,.13));padding-top:20px;text-decoration:none;transition:opacity .2s}
.pdz-mod:hover{opacity:.75}
.pdz-mod img{width:64px;aspect-ratio:3/4;object-fit:cover;border-radius:6px;flex:0 0 auto;background:#2a2119}
.pdz-mod-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.pdz-mod-k{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--key,#9a3a2e)}
.pdz-mod-n{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:.01em;text-transform:uppercase;color:var(--ink,#1c1610);line-height:1.05}
.pdz-mod-go{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut,#8a8074);margin-top:2px}
.pdz-quote{display:inline-block;margin-top:26px;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink,#1c1610);border-bottom:2px solid var(--key,#9a3a2e);padding-bottom:5px;align-self:flex-start}
.pdz-gal{display:flex;flex-direction:column;background:#e9e2d5}
.pdz-gal picture{display:block}
.pdz-gal img{width:100%;display:block;object-fit:cover}
.pdz-gal picture+picture img{margin-top:4px}
@media(max-width:900px){
  .pdz{grid-template-columns:1fr}
  .pdz-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line,rgba(28,22,16,.13))}
  .pdz-side-in{margin-top:24px;padding-top:24px}
  .pdz-gal img{margin-top:0}.pdz-gal picture+picture img{margin-top:4px}
}

/* modale su-misura */
.bvm3{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:24px;overflow:auto} .bvm3.is-open{display:flex} .bvm3-ov{position:absolute;inset:0;background:rgba(20,14,8,.62);animation:bvm3fade .3s} .bvm3-md{position:relative;width:min(1100px,100%);display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 60px 120px -50px rgba(0,0,0,.6);animation:bvm3up .6s cubic-bezier(.2,.7,.2,1);font-family:'Space Grotesk',system-ui,sans-serif;color:#3a2f22;max-height:calc(100vh - 48px)} .bvm3-x{position:absolute;right:16px;top:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(28,22,16,.13);background:#fff;cursor:pointer;z-index:3} .bvm3-x::before,.bvm3-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.3px;background:#1c1610;transform:translate(-50%,-50%) rotate(45deg)} .bvm3-x::after{transform:translate(-50%,-50%) rotate(-45deg)} .bvm3 .k{font-family:'Archivo';font-weight:700;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:#9a3a2e;display:block;margin:0 0 12px} .bvm3-L{position:relative;background:#1c1610;color:#f4efe7;padding:40px 40px 34px;display:flex;flex-direction:column;overflow:hidden} .bvm3-L img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;filter:sepia(.2) saturate(.9)} .bvm3-L::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,8,.95) 0,rgba(20,14,8,.5) 60%,rgba(20,14,8,.35) 100%)} .bvm3-L>*{position:relative;z-index:2} .bvm3-L .k{color:#e6b8a7} .bvm3-L h2{font-family:'Space Grotesk';font-weight:500;font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.025em;line-height:1.08;color:#f4efe7;max-width:16ch;margin:0} .bvm3-L p{margin:14px 0 0;color:rgba(244,239,231,.85);max-width:36ch;font-size:.98rem;line-height:1.5} .bvm3-L .steps{margin-top:auto;padding-top:26px;border-top:1px solid rgba(244,239,231,.2);display:grid;gap:10px} .bvm3-L .steps div{display:grid;grid-template-columns:34px 1fr;gap:10px;font-size:.88rem;color:rgba(244,239,231,.85)} .bvm3-L .steps b{font-family:'Archivo';font-weight:700;font-size:.56rem;letter-spacing:.18em;color:#e6b8a7;padding-top:4px} .bvm3-R{padding:40px 44px 36px;position:relative;overflow:auto} .bvm3-R h3{font-family:'Space Grotesk';font-weight:500;font-size:1.4rem;letter-spacing:-.02em;color:#1c1610;margin:0} .bvm3-R .sub{color:#8a8074;font-size:.92rem;margin-top:4px} .bvm3-R .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px} .bvm3-R .row.one{grid-template-columns:1fr} .bvm3-R .f label{display:block;font-family:'Archivo';font-weight:700;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:#8a8074;margin-bottom:6px} .bvm3-R .f input,.bvm3-R .f textarea{width:100%;border:0;border-bottom:1px solid rgba(28,22,16,.13);padding:9px 0;outline:none;background:none;font:inherit;font-size:1rem;color:#1c1610;border-radius:0;transition:border-color .2s} .bvm3-R .f input:focus,.bvm3-R .f textarea:focus{border-color:#1c1610} .bvm3-R .f textarea{min-height:92px;resize:vertical} .bvm3-R .f .opt{font-weight:400;font-size:.56rem;letter-spacing:.14em;text-transform:none} .bvm3-R .pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px} .bvm3-R .pills button{padding:9px 14px;border-radius:999px;border:1px solid rgba(28,22,16,.13);background:none;font:inherit;font-size:.86rem;color:#1c1610;cursor:pointer;transition:all .2s} .bvm3-R .pills button.on{background:#1c1610;color:#f4efe7;border-color:#1c1610} .bvm3-R .help{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px} .bvm3-R .help button{padding:6px 10px;border-radius:999px;border:1px dashed rgba(28,22,16,.25);background:none;font:inherit;font-size:.76rem;color:#5a4f42;cursor:pointer} .bvm3-R .help button:hover{border-style:solid;border-color:#1c1610;color:#1c1610} .bvm3-R .drop{margin-top:22px;border:1px dashed rgba(28,22,16,.3);border-radius:12px;padding:16px 18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:background .2s,border-color .2s} .bvm3-R .drop:hover{background:#faf7f2;border-color:#1c1610} .bvm3-R .drop .ic{width:38px;height:38px;border-radius:50%;border:1px solid rgba(28,22,16,.13);display:grid;place-items:center;font-size:1.1rem;color:#1c1610;flex:0 0 auto} .bvm3-R .drop b{display:block;font-weight:500;color:#1c1610;font-size:.95rem} .bvm3-R .drop small{color:#8a8074;font-size:.8rem} .bvm3-R .drop .files{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto} .bvm3-R .drop .files span{padding:4px 8px;border-radius:6px;background:#efe8dc;font-size:.72rem} .bvm3-R .bt{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap} .bvm3-R .bt button{padding:16px 26px;border-radius:999px;background:#1c1610;color:#f4efe7;border:0;font-family:'Archivo';font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .2s} .bvm3-R .bt button:hover{background:#9a3a2e} .bvm3-R .bt button:disabled{opacity:.6;cursor:wait} .bvm3-R .bt small{font-size:.76rem;color:#8a8074;max-width:34ch;line-height:1.35} .bvm3-R .fb{margin-top:12px;font-size:.88rem;color:#9a3a2e;min-height:1.2em} .bvm3-R .ok{display:none;position:absolute;inset:0;background:#fff;padding:60px 44px;flex-direction:column;justify-content:center} .bvm3-md.sent .ok{display:flex} .bvm3-R .ok h3{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.025em;line-height:1.1} .bvm3-R .ok p{margin:14px 0 0;color:#4a4034;max-width:40ch} .bvm3-R .ok .next{margin-top:26px;display:grid;gap:10px;font-size:.92rem;color:#4a4034} .bvm3-R .ok .next b{font-family:'Archivo';font-weight:700;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:#9a3a2e;margin-right:10px} .bvm3-R .ok .more{display:inline-block;width:max-content;margin-top:26px;font-family:'Archivo';font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#1c1610;border-bottom:1px solid #1c1610;padding-bottom:4px;text-decoration:none} @keyframes bvm3fade{from{opacity:0}to{opacity:1}} @keyframes bvm3up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}} 
/* fascia portfolio (da progetti.css) */
.folio2{--cream:#f4efe7;--ink:#1c1610;--rose:#e6b8a7;--ez:cubic-bezier(.2,.7,.2,1);background:#0d0906;color:#f4efe7;padding:clamp(60px,10vh,120px) 0;margin-top:clamp(80px,13vh,160px)} .folio2-in{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center} .folio2 .k{color:var(--rose);display:block;margin-bottom:14px} .folio2 h2{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.035em;line-height:1;color:var(--cream);max-width:20ch;margin:0 auto} .folio2 p{margin:16px auto 0;max-width:52ch;color:rgba(244,239,231,.82);font-size:1.02rem} .folio2-fan{position:relative;display:block;height:clamp(380px,54vh,580px);margin:40px auto 0;max-width:900px} .folio2-fan .pg{position:absolute;top:0;left:50%;width:min(40%,300px);aspect-ratio:537/760;object-fit:cover;border-radius:8px;box-shadow:0 40px 75px -35px rgba(0,0,0,.8);transition:transform .6s var(--ez);will-change:transform;background:#2a2119} .folio2-fan .pg1{transform:translateX(-50%) translateX(-150px) rotate(-9deg);z-index:1} .folio2-fan .pg2{transform:translateX(-50%) rotate(0);z-index:3} .folio2-fan .pg3{transform:translateX(-50%) translateX(150px) rotate(9deg);z-index:1} .folio2-fan:hover .pg1{transform:translateX(-50%) translateX(-225px) rotate(-13deg)} .folio2-fan:hover .pg3{transform:translateX(-50%) translateX(225px) rotate(13deg)} .folio2-fan:hover .pg2{transform:translateX(-50%) translateY(-10px)} .folio2-badge{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);z-index:4;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);background:rgba(13,9,6,.7);backdrop-filter:blur(4px);padding:8px 14px;border-radius:999px;border:1px solid rgba(244,239,231,.2)} .folio2-cta{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:44px} .folio2-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;background:var(--cream);color:var(--ink)!important;font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:transform .25s,background .25s} .folio2-btn:hover{transform:translateY(-2px);background:#fff} .folio2-btn span{color:var(--ink)} .folio2-alt{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(244,239,231,.5);padding-bottom:4px} .folio2-alt:hover{border-color:var(--cream)} .folio2-fan{height:52vh} /* ===== Sfondo scheda progetto uguale al footer (#f1e9dc) — 23/09/2026 ===== */
html.palette-f:has(.pdz){--bg:#f1e9dc !important;--bg-soft:#f1e9dc !important}
html:has(.pdz) body{background:#f1e9dc !important}
body:has(.pdz){background:#f1e9dc !important}
.pd-page,.pdz,.pdz-gal{background:#f1e9dc !important}

@media(max-width:900px){.folio2-fan{height:52vh}.folio2-fan .pg{width:56%}.folio2-fan .pg1{transform:translateX(-50%) translateX(-70px) rotate(-8deg);opacity:.55}.folio2-fan .pg3{transform:translateX(-50%) translateX(70px) rotate(8deg);opacity:.55}}

/* ===== Il modello — card bianca (opzione E) 23/09/2026 ===== */
.pdz-modcard{display:flex;gap:16px;align-items:center;background:#fff;border-radius:14px;padding:16px;margin-top:24px;text-decoration:none;box-shadow:0 12px 32px -18px rgba(40,30,20,.28);transition:transform .25s,box-shadow .25s}
.pdz-modcard:hover{transform:translateY(-2px);box-shadow:0 18px 40px -18px rgba(40,30,20,.35)}
.pdz-modcard-ph{width:88px;aspect-ratio:3/4;flex:0 0 auto;border-radius:8px;overflow:hidden;background:#fff}
.pdz-modcard-ph img{width:100%;height:100%;object-fit:contain}
.pdz-modcard-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.pdz-modcard-k{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--key,#9a3a2e)}
.pdz-modcard-n{font-family:'Archivo',system-ui,sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:.01em;text-transform:uppercase;color:var(--ink,#1c1610);line-height:1.05}
.pdz-modcard-sub{font-size:.82rem;color:var(--mut,#8a8074);line-height:1.35;margin-top:2px}
.pdz-modcard-go{font-family:'Archivo',system-ui,sans-serif;font-weight:700;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink,#1c1610);margin-top:6px}
.pdz-modcard--coll{display:block}

@media(max-width:760px){.bvm3{padding:0;align-items:flex-end}.bvm3-md{grid-template-columns:1fr;border-radius:22px 22px 0 0;max-height:100vh}.bvm3-L{padding:28px 24px}.bvm3-L .steps{display:none}.bvm3-R{padding:28px 24px}.bvm3-R .row{grid-template-columns:1fr}}
