@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600;900&display=swap');

/*=======================================================================

Template Name: Naluftheme
 

/*=======================================================================
[01] General
=========================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600;900&display=swap');

/*GENERAL*/



body{margin: 0;padding: 0;color: var(--color-text);background: var(--color-bg);font-family: var(--font-body);font-weight: var(--font-body-weight);}
a{text-decoration: none!important;color: #1E70B7;}
a:hover{text-decoration: none!important;}
h1,h2,h3,h4,h5,h6{margin-bottom: 20px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);}
p{margin-bottom: 20px;}

img{width: 100%;height: 100%;object-fit: cover;}
.object-fit img{width: 100%!important;height: 100%!important;object-fit: cover!important;}

ul {list-style: outside none none;margin: 0;padding: 0;}

/*MARGIN*/
.m-0{margin: 0;}
.m-10{margin: 10;}
.m-20{margin: 20;}
.m-30{margin: 30;}
.m-40{margin: 40;}
.m-50{margin: 50;}

.mt-10{margin-top: 10px;}
.mt-20{margin-top: 20px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}

.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-50{margin-bottom: 50px;}

.mtb-10{margin: 10px 0;}
.mtb-20{margin: 20px 0;}
.mtb-30{margin: 30px 0;}
.mtb-40{margin: 40px 0;}
.mtb-50{margin: 50px 0;}

.m-center{margin: 0 auto!important;}
.m-20-auto{margin: 20px auto!important;}

/*PADDING*/
.p-0{padding: 0px;}
.p-10{padding: 10px;}
.p-20{padding: 20px;}
.p-30{padding: 30px;}
.p-40{padding: 40px;}
.p-50{padding: 50px;}
.p-60{padding: 60px;}

.pt-10{padding-top: 10px;}
.pt-20{padding-top: 20px;}
.pt-30{padding-top: 30px;}
.pt-40{padding-top: 40px;}
.pt-50{padding-top: 50px;}

.pb-10{padding-bottom: 10px;}
.pb-20{padding-bottom: 20px;}
.pb-30{padding-bottom: 30px;}
.pb-40{padding-bottom: 40px;}
.pb-50{padding-bottom: 50px;}

.ptb-10{padding: 10px 0;}
.ptb-20{padding: 20px 0;}
.ptb-30{padding: 30px 0;}
.ptb-40{padding: 40px 0;}
.ptb-50{padding: 50px 0;}

.plr-10{padding: 0 10px;}
.plr-20{padding: 0 20px;}
.plr-30{padding: 0 30px;}
.plr-40{padding: 0 40px;}
.plr-50{padding: 0 50px;}
.plr-180{padding: 0 180px;}


/*DISPLAY*/
.display-inline{display: inline-block;}
.display-block{display: block;}
.trecol{width: 30%;margin: 0 5px;}
.duecol{column-count: 2;column-gap: 20px; }
.w-100{width: 100%;}
.w-70{width: 70%;}

/*ALIGN*/
.right{text-align: right;}
.center{text-align: center;}

/*SIZE*/
.size-20{font-size: 20px;line-height: 20px;}
.size-12{font-size: 12px;}
.size-10{font-size: 10px;}
.size-8{font-size: 8px;}
.size-15{font-size: 15px;}
.size-25{font-size: 25px;}
.size-30{font-size: 30px;}
.size-40{font-size: 40px;}
.line-height-30{line-height: 30px;}

/*STYLE*/
.upp{text-transform: uppercase;}
.bold{font-weight: 700}
.radius-10{border-radius: 10px}

/*WEIGTH*/
.weight-200{font-weight: 200;}
.weight-300{font-weight: 300;}
.weight-600{font-weight: 600;}
.weight-900{font-weight: 600;}

/*HEIGHT*/
.height-200{height: 200px;}
.height-300{height: 300px;}
.height-400{height: 400px;}
.height-500{height: 500px;}
.height-600{height: 600px;}
.height-700{height: 700px;}

/*POSITION*/
.absolute{position: absolute;}
.bott-0{bottom: 0;}
.z-index-999{position: relative;z-index: 999;}

/*COLOR*/
.button-primary {background: var(--color-primary);color: #fff;}
.section-accent {background: var(--color-accent);}

/*HERO*/
.section {padding-block: var(--section-spacing, 96px);}
.bg-white {background: #fff;}
.bg-light {background: var(--color-light-bg);}
.bg-primary {background: var(--color-primary);color: #fff;}
.bg-dark {background: var(--color-dark-bg);color: #fff;}
.hero__subtitle {margin-bottom: 16px;font-size: 0.875rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-primary);}
.bg-primary .hero__subtitle,.bg-dark .hero__subtitle {color: var(--color-accent);}
.hero__title {margin-bottom: 24px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);font-size: clamp(2.5rem, 5vw, 5rem);line-height: 1;}
.hero__text {max-width: 620px;font-size: 1.125rem;line-height: 1.7;}
.text-center .hero__text,.hero--centered .hero__text {margin-inline: auto;}
.hero__media {position: relative;}
.hero__image {width: 100%;aspect-ratio: 4 / 5;object-fit: cover;border-radius: 24px;}
.hero {position: relative;overflow: hidden;}
.hero--background_image {min-height: 720px;display: flex;align-items: center;background-size: cover;background-position: center;color: #fff;}
.hero__overlay {position: absolute;inset: 0;background: rgba(0, 0, 0, 0.45);}
.hero--background_image .hero__content {position: relative;z-index: 2;}
.hero--background_image .hero__subtitle {color: var(--color-accent);}
.hero__image--wide {aspect-ratio: 16 / 7;}
.hero--centered .hero__image {border-radius: 32px;}

/*TESTO + IMMAGINE*/
.section-spacing-small {padding-block: 56px;}
.section-spacing-medium {padding-block: 88px;}
.section-spacing-large {padding-block: 120px;}
.section-eyebrow {margin-bottom: 14px;font-size: 0.85rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-primary);}
.bg-primary .section-eyebrow,.bg-dark .section-eyebrow {color: var(--color-accent);}
.section-title {margin-bottom: 24px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);font-size: clamp(2rem, 4vw, 3.75rem);line-height: 1.05;}
.section-text {font-size: 1.05rem;line-height: 1.75;}
.text-image__image {width: 100%;object-fit: cover;border-radius: 24px;}
.text-image__image--wide {aspect-ratio: 16 / 7;}

/*CARD STYLE*/
.card-item {height: 100%;overflow: hidden;border-radius: 24px;background: #fff;transition: transform 0.25s ease, box-shadow 0.25s ease;}
.card-item:hover {transform: translateY(-4px);}
.card-item__body {padding: 28px;}
.card-item__media {overflow: hidden;}
.card-item__image {width: 100%;aspect-ratio: 4 / 3;object-fit: cover;transition: transform 0.35s ease;}
.card-item:hover .card-item__image {transform: scale(1.04);}
.card-item__icon {width: 56px;height: 56px;margin-bottom: 20px;}
.card-item__icon img {width: 100%;height: 100%;object-fit: contain;}
.card-item__title {margin-bottom: 14px;font-family: var(--font-heading);font-size: 1.5rem;line-height: 1.15;}
.card-item__text {margin-bottom: 0;line-height: 1.7;}
.card-item__link {display: inline-flex;margin-top: 20px;font-weight: 600;color: var(--color-primary);text-decoration: none;    background: #333;
display: block;
padding: 20px;
text-align: center;
border-radius: 20px;color: #fff}
.card-item__link:hover {color: var(--color-accent);}
/* Varianti */
.card-item--simple {border: 1px solid rgba(0, 0, 0, 0.08);}
.card-item--image {box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);}
.card-item--icon {border: 1px solid rgba(0, 0, 0, 0.08);}
.card-item--premium {box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);}
.bg-light .card-item {background: #fff;}
.bg-primary .card-item,.bg-dark .card-item {color: var(--color-text);}

/*GALLERY*/
.gallery-block__grid {display: grid;gap: 24px;}

.gallery-block__grid--grid {grid-template-columns: repeat(3, 1fr);}

.gallery-block__grid--masonry {grid-template-columns: repeat(4, 1fr);grid-auto-flow: dense;}

.gallery-block__item {overflow: hidden;border-radius: 24px;}

.gallery-block__image {width: 100%;height: 100%;object-fit: cover;transition: transform 0.35s ease;}

.gallery-block__item:hover .gallery-block__image {transform: scale(1.04);}

/* Griglia classica */
.gallery-block__grid--grid .gallery-block__image 
aspect-ratio: 4 / 3;}

/* Effetto masonry simulato */
.gallery-block__grid--masonry .gallery-block__item {min-height: 260px;}

.gallery-block__grid--masonry .gallery-block__item--0,.gallery-block__grid--masonry .gallery-block__item--5 {grid-column: span 2;grid-row: span 2;}

.gallery-block__grid--masonry .gallery-block__item--1,
.gallery-block__grid--masonry .gallery-block__item--2,
.gallery-block__grid--masonry .gallery-block__item--3,
.gallery-block__grid--masonry .gallery-block__item--4 {
grid-column: span 1;grid-row: span 1;}

.gallery-block__image--slider {aspect-ratio: 16 / 7;object-fit: cover;border-radius: 24px;}

.gallery-slider .carousel-control-prev,.gallery-slider .carousel-control-next {width: 56px;}

/*PROCESS STEPS*/
.process-step {position: relative;}

.process-step--horizontal,.process-step--cards {padding: 32px;border-radius: 24px;background: #fff;}

.process-step--cards {box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);}

.process-step__number {display: inline-flex;align-items: center;justify-content: center;min-width: 52px;height: 52px;margin-bottom: 24px;padding-inline: 14px;border-radius: 999px;background: var(--color-primary);color: #fff;font-weight: 700;}

.process-step__title {margin-bottom: 12px;font-family: var(--font-heading);font-size: 1.35rem;line-height: 1.2;}

.process-step__text {margin-bottom: 0;line-height: 1.7;}

.process-timeline {position: relative;}

.process-timeline::before {content: "";position: absolute;top: 0;left: 25px;width: 2px;height: 100%;background: var(--color-primary);opacity: 0.25;}

.process-step--vertical {display: grid;grid-template-columns: 52px 1fr;gap: 28px;margin-bottom: 36px;}

.process-step--vertical .process-step__number {position: relative;z-index: 2;margin-bottom: 0;}

.process-step--vertical:last-child {margin-bottom: 0;}

.bg-primary .process-step--horizontal,
.bg-primary .process-step--cards,
.bg-dark .process-step--horizontal,
.bg-dark .process-step--cards {
color: var(--color-text);
}


.testo-form {
    padding: 80px 0;
}

.testo-form .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 24px;
}

.testo-form__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
    gap: 56px;
    align-items: start;
}

.testo-form__eyebrow {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent, #0ea5e9);
}

.testo-form__title {
    margin: 0 0 24px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.04em;
    color: var(--heading, #111827);
}

.testo-form__text {
    font-size: 18px;
    line-height: 1.75;
    color: var(--text, #475569);
}

.testo-form__text p {
    margin: 0 0 18px;
}

.testo-form__media,
.testo-form__map {
    margin-top: 32px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}

.testo-form__image {
    display: block;
    width: 100%;
    height: auto;
}

.testo-form__map iframe {
    display: block;
    width: 100%;
    min-height: 320px;
    border: 0;
}

.testo-form__form {
    position: sticky;
    top: 110px;
    padding: 32px;
    border-radius: 28px;
    background: var(--surface, #ffffff);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.14);
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.testo-form__form input,
.testo-form__form textarea,
.testo-form__form select {
    width: 100%;
    min-height: 48px;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    padding: 12px 14px;
}

.testo-form__form textarea {
    min-height: 130px;
}

.testo-form__form input[type="submit"],
.testo-form__form button {
    border: 0;
    background: var(--primary, #111827);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 900px) {
    .testo-form__grid {
        grid-template-columns: 1fr;
    }

    .testo-form__form {
        position: relative;
        top: auto;
    }
}

/*NUMBERS*/
.number-item {
    position: relative;
}

.number-item--boxed {
    padding: 36px 28px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}

.number-item__number {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 16px;
    line-height: 1;
}

.number-item__value {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
    color: var(--color-primary);
}

.number-item__suffix {
    margin-left: 4px;
    margin-top: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color-primary);
}

.number-item__label {
    margin-bottom: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
}

.number-item__text {
    margin-bottom: 0;
    line-height: 1.6;
    opacity: 0.8;
}

.numbers-block--inline .number-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bg-primary .number-item__value,
.bg-primary .number-item__suffix,
.bg-dark .number-item__value,
.bg-dark .number-item__suffix {
    color: var(--color-accent);
}

.bg-primary .number-item,
.bg-dark .number-item {
    color: #fff;
}

.bg-primary .number-item--boxed,
.bg-dark .number-item--boxed {
    color: var(--color-text);
}

/*CTA*/
.cta-block {
    position: relative;
}

.cta-block--full_width .container {
    max-width: 100%;
}

.cta-block--full_width .cta-block__content {
    padding-inline: 32px;
}

.cta-block__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 24px;
}

.bg-primary .cta-block,
.bg-dark .cta-block {
    color: #fff;
}

.bg-primary .btn-primary,
.bg-dark .btn-primary {
    background: #fff;
    color: var(--color-primary);
    border-color: #fff;
}

.bg-primary .btn-outline-primary,
.bg-dark .btn-outline-primary {
    color: #fff;
    border-color: #fff;
}

/*FAQ*/

.faq-accordion .accordion-item {
    margin-bottom: 16px;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

.faq-accordion .accordion-button {
    padding: 22px 26px;
    font-weight: 600;
    color: var(--color-text);
    background: #fff;
    box-shadow: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
    color: var(--color-primary);
    background: #fff;
}

.faq-accordion .accordion-body {
    padding: 0 26px 24px;
    line-height: 1.7;
}

.faq-item {
    height: 100%;
    padding: 28px;
    border-radius: 24px;
    background: #fff;
}

.faq-item__question {
    margin-bottom: 14px;
    font-family: var(--font-heading);
    font-size: 1.35rem;
}

.faq-item__answer {
    line-height: 1.7;
}

.bg-primary .faq-item,
.bg-dark .faq-item,
.bg-primary .accordion-item,
.bg-dark .accordion-item {
    color: var(--color-text);
}
.site-footer {
    padding-block: 72px 32px;
    background: var(--color-dark-bg);
    color: #fff;
}

.site-footer a {
    color: inherit;
    text-decoration: none;
}

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

.footer-logo {
    max-height: 125px;
    width: auto;
}
.footer-list li{display: inline-block;margin-right: 20px;}
.footer-text,
.footer-address {
    max-width: 360px;
    line-height: 1.7;
    opacity: 0.8;
}

.footer-title {
    margin-bottom: 20px;
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-accent);
}

.footer-menu,
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.footer-menu--vertical {
    flex-direction: column;
    gap: 12px;
}

.footer-list li {
    margin-bottom: 12px;
}

.footer-bottom {
    margin-top: 56px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.16);
    font-size: 0.9rem;
    opacity: 0.75;text-align: center;
}

/* Simple */
.site-footer--simple .footer-simple__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.site-footer--simple .footer-text {
    margin-inline: auto;
    margin-top: 16px;
}

.site-footer--simple .footer-menu {
    justify-content: center;
    margin-top: 32px;
}

/* Columns */
.site-footer--columns {
    padding-top: 88px;
}

/* Compact */
.site-footer--compact {
    padding-block: 32px;
}

.footer-compact__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.footer-social {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.footer-bottom--compact {
    margin-top: 28px;
}

/* Premium */
.site-footer--premium {
    padding-top: 96px;
}

.footer-premium__top {
    padding-bottom: 64px;
    margin-bottom: 64px;
    border-bottom: 1px solid rgba(255,255,255,0.16);
}

.footer-eyebrow {
    margin-bottom: 16px;
    color: var(--color-accent);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.footer-premium__title {
    margin: 0;
    max-width: 780px;
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 6vw, 5rem);
    line-height: 1;
}


.site-header {width: 100%;background: #e3d9c6;z-index: 50;}
.site-header.is-sticky {position: sticky;top: 0;}
.site-header.is-transparent {position: absolute;background: transparent;}
.header-inner {display: flex;align-items: center;justify-content: space-between;gap: 32px;padding-block: 20px;}
.site-logo img {max-height: 67px;width: auto;}
.menu,.footer-menu {display: flex;gap: 24px;list-style: none;padding: 0;margin: 0;}
.btn {display: inline-flex;align-items: center;justify-content: center;padding: 12px 22px;border-radius: 999px;text-decoration: none;font-weight: 600;}
.btn-primary {background: var(--color-primary);color: #fff;}

nav{}
nav ul{margin: 0;padding: 0;text-align: center;}
nav li{list-style: none;display: inline-block;text-transform: uppercase;margin: 20px 5px;}
nav li a{color: #333;text-decoration: none;padding: 20px;}
nav li a:hover{text-decoration: none!important;}




