:root {

    /* -- COLORI ------------------------------------------------ */
    --navy: #374167;
    --fume: #4c5886e8;
    --slate: #4c5886;
}
/* COLOR */
.b-fume { background: var(--fume); }
.navy { color: var(--navy); }


/* MENU BU */
.subnav{ background-color: var(--indigo); }

/* SOLUZIONI */
.soluzioni { padding-top: var(--space-12); background-repeat: no-repeat !important; background-position: right top !important; }
h2.soluzioni__title { font-size: var(--fs-65); line-height: 1.2; margin-bottom: var(--space-4); }
.soluzioni__grid { --radius: clamp(3.5rem, calc(2.14vw + 3.07rem), 5rem); background: var(--mist); border-radius: var(--radius) var(--radius) 0 0; display: flex; flex-direction: column; /* min-height: calc(((var(--fs-40) * 1.5) + (var(--space-4) * 2)) * 2);*/}
.accordion.accordion--analisi, .accordion.accordion--strumenti {    border-radius: var(--radius) var(--radius) 0 0; }
.accordion.accordion--analisi { flex: 1; }
.accordion__inner { max-height: calc((var(--fs-40) * 1.5) + (var(--space-4) * 2)); overflow: hidden; }
button.accordion__btn { display: flex; align-items: center; gap: var(--space-2); width: 100%; border: none; text-align: left; background: transparent; cursor: pointer; padding: var(--space-4) var(--space-6); &::after { content: "\e145"; font-weight: 100; font-family: 'Material Symbols Outlined', sans-serif; color: var(--white); font-size: var(--fs-50);}}
button.accordion__btn--open::after { content: '\e15b'; }
.accordion--analisi { --analisi-body-pb: calc((var(--fs-40) + (var(--space-4) * 2)) / 1.3); }
.accordion--analisi .accordion__body { padding-bottom: var(--analisi-body-pb); }
h3.accordion__btn-text { font-size: var(--fs-40); line-height: 1.5; margin: 0;}
.analisi-grid { display: grid;  margin-inline: var(--space-6); position: relative; &::after { position: absolute; content: ""; width: 100%; height: 1px; left: 0; background: var(--white); bottom: calc(var(--analisi-body-pb) / -2); }}
.analisi-card { border-left: 9px solid var(--slate); padding-left: var(--space-2); }
h4.analisi-card__title { font-size: var(--fs-30); line-height: 1.2; margin: 0 0 var(--space-2); max-inline-size: 12ch;}
h4.analisi-card__title a, li.analisi-card__item a, p.strumento-card__name a, p.strumento-card__partner a { text-decoration: none; }
ul.analisi-card__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: calc(var(--space-2) / 2);}
li.analisi-card__item { font-size: var(--fs-25); }
.accordion--strumenti .accordion__body { padding-bottom: var(--space-4); }
.strumento-grid { margin-inline: var(--space-6); display: flex; flex-direction: column; gap: var(--space-6); }
.strumento-card { display: flex; align-items: baseline; gap: var(--space-1); position: relative; &:not(:last-child)::after { position: absolute; content: ""; width: 100%; height: 1px; background: var(--white); bottom: calc(-1 * (var(--space-6) / 2))}}
p.strumento-card__name { font-size: var(--fs-30); margin: 0; }
p.strumento-card__partner { font-size: var(--fs-15); margin: 0; }

/* CHI SIAMO */
.chi-siamo__content { padding-block: var(--space-10); }
p.chi-siamo__overtitle { font-size: var(--fs-20); line-height: 1.1; margin: 0 0 var(--space-1); }
.chi-siamo__title { font-size: var(--fs-55); line-height: 1.1; margin: 0 0 var(--space-4); }
p.chi-siamo__text {font-size: var(--fs-20); line-height: 1.5;}
p.chi-siamo__text:not(:last-child) { margin: 0 0 var(--space-3); }
p.chi-siamo__text:last-of-type { margin: 0; } 

/* VERIFICA */
section.verifica-esterna { padding-block: var(--space-6); position: relative; }
.verifica-esterna__container { position: relative; }
h2.verifica-esterna__title { font-size: var(--fs-30); margin: 0; }
section.verifica-esterna picture { position: absolute; }
picture.verifica-esterna__image img { width: 100%; height: auto; }

/* PARTNER */
section.partner { padding-block: var(--space-10); background-repeat: no-repeat !important; background-position: right bottom !important; }
p.partner__overtitle { font-size: var(--fs-20); line-height: 1.1; margin: 0 0 var(--space-1); }
h2.partner__title { font-size: var(--fs-55); line-height: 1.1; margin: 0 0 var(--space-4); }
p.partner__text { font-size: var(--fs-25); line-height: 1.5; margin: 0 0 var(--space-4);}
a.partner__cta { font-size: var(--fs-20); text-decoration: none; border: 3px solid var(--cobalt); border-radius: 5rem; display: flex; align-items: center; justify-content: center; box-sizing: border-box;}

/* REFERENTI */
.referenti { padding-block: var(--space-10); }
p.referenti__overtitle { font-size: var(--fs-20); line-height: 1.1; margin: 0 0 var(--space-1); }
h2.referenti__title { font-size: var(--fs-55); line-height: 1.1; margin: 0 0 calc(3 * var(--space-3)) }
.referenti__grid { display: grid; gap: calc(2 * var(--space-4)); }
.referente-card { text-align: center; }
.referente-card:not(:last-of-type) { position: relative; }
h3.referente-card__city { font-size: var(--fs-30);line-height: 1.1; margin: 0 0 var(--space-2); }
p.referente-card__name, p.referente-card__phone, p.referente-card__email { font-size: var(--fs-20); }
p.referente-card__name, p.referente-card__phone { margin: 0 0 0.5rem; }
p.referente-card__email { margin: 0; }

/* BLOG */
.blog { box-shadow: 0px 3px 20px #00000024; }

@media (max-width: 550px){

    /* SOLUZIONI */ 
    .soluzioni{ background: url('/media/backSoluzioni550.webp'), #6270A8; background-size: 30rem; }
    .strumento-grid > div:nth-of-type(4) > p:first-of-type { inline-size: fit-content; white-space: nowrap; }

    /* CHI SIAMO */ 
    .chi-siamo__media { background: url('/media/chiSiamoIVF550.webp'); height: calc(100vw / (550 / 428)); }

    /* VALUTAZIONE */
    section.verifica-esterna picture { display: none; }

    /* PARTNER */
    .partner{ background-size: 15rem !important; }
    a.partner__cta { width: 15rem; height: 3.5rem;}
}
@media (min-width: 551px) and (max-width: 766.9px){

    /* SOLUZIONI */
    .soluzioni{ background: url('/media/backSoluzioni767.webp'), #6270A8; }

    /* CHI SIAMO */ 
    .chi-siamo__media { background: url('/media/chiSiamoIVF551.webp'); height: calc(100vw / (700 / 545)); }    
    p.chi-siamo__text { max-inline-size: 43ch; }

    /* VALUTAZIONE */
    section.verifica-esterna picture { width: 11rem; bottom: -12rem; right: 2rem; }

    /* PARTNER */
    .partner{ background-size: 18rem !important; }
}
@media (min-width: 551px) and (max-width: 899.9px){

    /* SOLUZIONI */
    .soluzioni{ background-size: 40rem; }
    .analisi-grid { grid-template-columns: repeat(2, 1fr); }

    /* PARTNER */
    p.partner__text { max-inline-size: 49ch; }
    a.partner__cta { height: 4rem; }
}
@media (min-width: 551px) and (max-width: 1099.9px){

    /* PARTNER */
    p.partner__text { text-wrap: balance;}
    a.partner__cta { width: 18rem; }

}
@media (max-width: 766.9px){

    /* CHI SIAMO */
    .chi-siamo__media{ background-size: contain; }

    /* PARTNER */
    .partner{ background: url('/media/backPartner551.webp'), #8291C7; }

    /* REFERENTE */
    .referente-card:not(:last-child)::after { position: absolute; content: ""; width: 60%; height: 2px; background: white; bottom: calc(-1 * var(--space-4)); right: 0; left: 0; margin: auto; }
}

@media (min-width: 767px){

    /* SOLUZIONI */
    .soluzioni__grid { margin: auto; }

    /* CHI SIAMO */
    .chi-siamo { background-size: cover !important; background-position: right center !important; background-repeat: no-repeat !important; }
    p.chi-siamo__text:nth-of-type(2) { inline-size: 43ch; text-wrap: balance; }
    p.chi-siamo__text:last-of-type { inline-size: 33ch; }
}
@media (min-width: 767px) and (max-width: 899.9px){

    /* SOLUZIONI */
    .soluzioni{ background: url('/media/backSoluzioni767.webp'), #6270A8; }

    /* CHI SIAMO */
    .chi-siamo { background: url('/media/chiSiamoIVF767.webp'); }

    /* VALUTAZIONE */
    h2.verifica-esterna__title { inline-size: 61vw; }
    section.verifica-esterna picture { width: 16rem; top: 8rem; }

    /* PARTNER */
    .partner{ background: url('/media/backPartner767.webp'), #8291C7; }
}
@media (min-width: 767px) and (max-width: 1099.9px){

    /* SOLUZIONI */
    .soluzioni__grid { max-width: 93vw; }

}
@media (min-width: 767px) and (max-width: 1400px){

    /* VALUTAZIONE */
    section.verifica-esterna picture { right: -3rem;  }

    /* PARTNER */
    .partner{ background-size: 25rem !important; }

    /* REFERENTI */
    .referenti__grid { grid-template-columns: repeat(2, 1fr); }
    .referenti__grid > div:last-of-type{ grid-column: 1 / -1; }
    .referente-card:first-of-type::after { position: absolute; content: ""; height: 100%; width: 2px; background-color: white; top: 0; right: calc(-1 * var(--space-4)); }

}
@media (min-width: 900px) {

    /* PARTNER */
    a.partner__cta { height: 4.5rem; }
}
@media (min-width: 900px) and (max-width: 1099.9px){

    /* SOLUZIONI */
    .soluzioni{ background: url('/media/backSoluzioni900.webp'), #6270A8; }
    .analisi-grid { grid-template-columns: repeat(3, 1fr); }

    /* CHI SIAMO */
    .chi-siamo { background: url('/media/chiSiamoIVF900.webp'); }

    /* VALUTAZIONE */
    h2.verifica-esterna__title { inline-size: 54vw; text-wrap: balance; }
    section.verifica-esterna picture { width: 20rem; top: 3rem; }

    /* PARTNER */
    p.partner__text { inline-size: 56ch; }
}
@media (min-width: 900px) and (max-width: 1400px){

    /* SOLUZIONI */
    .soluzioni{ background-size: 60rem; }

    /* PARTNER */
    .partner{ background: url('/media/backPartner1100.webp'), #8291C7; }
}
@media (max-width: 1099.9px) {

    /* SOLUZIONI */
    .analisi-grid { row-gap: var(--space-6); }

}
@media (min-width: 1100px) {

    /* SOLUZIONI */
    .analisi-grid { grid-template-columns: repeat(4, 1fr); }

    /* VALUTAZIONE */
    section.verifica-esterna picture { width: 22rem; top: 0; }

    /* PARTNER */
    p.partner__text { max-inline-size: 64ch; }
    a.partner__cta { width: 22rem; }
}
@media (min-width: 1100px) and (max-width: 1400px){

    /* SOLUZIONI */
    .soluzioni{ background: url('/media/backSoluzioni1100.webp'), #6270A8; }
    .soluzioni__grid { max-width: 90vw; }

    /* CHI SIAMO */
    .chi-siamo { background: url('/media/chiSiamoIVF1100.webp'); }
    h2.verifica-esterna__title { inline-size: 52vw; }

}
@media (min-width: 1401px){

    /* SOLUZIONI */
    .soluzioni{ background: url('/media/backSoluzioni1401.webp'), #6270A8; background-size: 80rem !important; }
    .soluzioni__grid { max-width: min(87vw, 1300px); }

    /* CHI SIAMO */
    .chi-siamo {  background: url('/media/chiSiamoIVF1401.webp'); } 
    h2.verifica-esterna__title { inline-size: 49ch; text-wrap: balance; }
    section.verifica-esterna picture { right: -6rem; }

    /* PARTNER */
    .partner{ background: url('/media/backPartner1401.webp'), #8291C7; background-size: 35rem; }

    /* REFERENTI */
    .referenti__grid { grid-template-columns: repeat(3, 1fr); }
    .referente-card:not(:last-of-type)::after { position: absolute; content: ""; height: 100%; width: 2px; background-color: white; top: 0; right: calc(-1 * var(--space-4)); }
}