/* ============================================================
   AIRAFFITTI — Pagina SERVIZI (stesso Design System della Home)
   Richiede il wrapper .aa-home sul contenitore di pagina.
   ============================================================ */

/* --- Page hero --- */
.aa-home .page-hero { padding-block: clamp(7rem,13vh,9.5rem) clamp(2.8rem,5vw,4rem); border-bottom: 1px solid var(--linea); background: var(--bianco); }
.aa-home .page-hero .container { max-width: 74rem; }
.aa-home .page-hero h1, .aa-home .page-hero h1 .elementor-heading-title { font-size: clamp(2.2rem,5vw,3.6rem) !important; font-weight: 800 !important; letter-spacing: -.03em; line-height: 1.08; max-width: 20ch; margin: .3rem 0 1.3rem; }
.aa-home .page-hero .lead { font-size: 1.15rem; max-width: 46rem; }

/* --- Timeline "come funziona" --- */
.aa-home .container--sm { max-width: 54rem !important; margin-inline: auto; }
.aa-home .tl { position: relative; display: grid !important; gap: clamp(2rem,5vw,3.2rem); }
.aa-home .tl::before { content: ""; position: absolute; left: 2.05rem; top: .6rem; bottom: .6rem; width: 2px; background: linear-gradient(var(--beige), var(--linea)); }
.aa-home .tl__item { display: grid !important; grid-template-columns: 4.1rem 1fr; gap: 1.4rem; align-items: start; position: relative; padding: 0 !important; }
.aa-home .tl__num { width: 4.1rem; height: 4.1rem; border-radius: 50%; background: var(--bianco); border: 2px solid var(--beige); display: grid !important; place-items: center; position: relative; z-index: 1; flex: none; padding: 0 !important; }
.aa-home .tl__num .elementor-heading-title { font-size: 1.25rem !important; font-weight: 800 !important; color: var(--nero) !important; line-height: 1; }
.aa-home .tl__body { padding: 0 !important; }
.aa-home .tl__body h3, .aa-home .tl__body h3 .elementor-heading-title { font-size: 1.25rem !important; font-weight: 700 !important; margin-bottom: .4rem !important; }
.aa-home .tl__body .elementor-widget-text-editor { font-size: .92rem; color: var(--nero-soft); max-width: 38rem; }
.aa-home .tl__body strong { color: var(--nero); font-weight: 700; }
.aa-home .tl-note { text-align: center; margin-top: 2rem; color: var(--nero-soft); }
.aa-home .tl-note strong { color: var(--nero); }

/* --- Bento servizi (icone) --- */
.aa-home .fl__ic { width: 44px !important; height: 44px !important; min-width: 44px; border-radius: 12px; flex: none;
  display: grid !important; place-items: center; background: var(--beige-chiaro); color: var(--nero) !important;
  transition: background .25s ease, color .25s ease; padding: 0 !important; margin-bottom: .2rem; }
.aa-home .fl__ic .elementor-icon, .aa-home .fl__ic i, .aa-home .fl__ic svg { color: inherit !important; fill: currentColor; width: 20px; height: 20px; font-size: 20px; background: transparent !important; }
.aa-home .fl__ic .elementor-icon { display: inline-flex; }
.aa-home .bx:hover .fl__ic { background: var(--beige); color: var(--nero) !important; }
.aa-home .bx--hero { background: var(--nero) !important; border-color: var(--nero) !important; }
.aa-home .bx--hero h3, .aa-home .bx--hero h3 .elementor-heading-title { color: #fff !important; }
.aa-home .bx--hero .elementor-widget-text-editor, .aa-home .bx--hero p { color: rgba(255,255,255,.66) !important; }
.aa-home .bx--hero .fl__ic { background: rgba(201,177,138,.18); color: var(--beige) !important; }
.aa-home .bx--hero:hover { border-color: var(--beige) !important; box-shadow: 0 8px 24px rgba(201,177,138,.18); }
.aa-home .bx--hero:hover .fl__ic { background: var(--beige); color: var(--nero) !important; }
.aa-home .bx--hero .bx__num { color: var(--beige); }
/* Bento: griglia orizzontale (mancava il display:grid) */
.aa-home .servizi-bento { display: grid !important; gap: 1.4rem; grid-template-columns: 1fr; align-items: stretch; }
.aa-home .servizi-bento .bx { height: 100%; margin: 0; }
@media (min-width: 1000px) { .aa-home .servizi-bento { grid-template-columns: repeat(4,1fr); } .aa-home .servizi-bento .bx--hero { grid-column: span 2; } }
@media (min-width: 640px) and (max-width: 999px) { .aa-home .servizi-bento { grid-template-columns: repeat(2,1fr); } .aa-home .servizi-bento .bx--hero { grid-column: span 2; } }

/* --- Commissioni: plans-trust --- */
.aa-home .plans-trust { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 1.4rem 3.5rem; justify-content: center; margin-top: 2.4rem; }
.aa-home .plans-trust__i { text-align: center; padding: 0 !important; }
.aa-home .plans-trust__i .aa-pt-num, .aa-home .plans-trust__i .aa-pt-num .elementor-heading-title { display: block; font-size: 1.7rem !important; font-weight: 800 !important; letter-spacing: -.02em; }
.aa-home .plans-trust__i .aa-pt-lbl, .aa-home .plans-trust__i .aa-pt-lbl .elementor-heading-title { font-size: .74rem !important; font-weight: 600 !important; color: var(--nero-soft) !important; }

/* --- Piani prezzi --- */
.aa-home .plans { display: grid !important; gap: 1.2rem; margin-top: 3.2rem; grid-template-columns: 1fr; }
@media (min-width: 960px) { .aa-home .plans { grid-template-columns: 1fr 1.12fr 1fr; align-items: stretch; gap: 1.4rem; } }
.aa-home .plan { background: var(--bianco-puro); border: 1px solid var(--linea); border-radius: 22px; padding: 2.5rem 2.2rem;
  display: flex !important; flex-direction: column; gap: 1rem; position: relative;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-color .3s ease; }
.aa-home .plan:hover { transform: translateY(-6px); box-shadow: var(--sh-float); border-color: var(--beige); }
.aa-home .plan__name, .aa-home .plan__name .elementor-heading-title { font-size: .7rem !important; font-weight: 800 !important; letter-spacing: .18em; text-transform: uppercase; color: var(--beige-scuro) !important; }
.aa-home .plan__benefit, .aa-home .plan__benefit .elementor-heading-title { font-size: 1.3rem !important; font-weight: 800 !important; letter-spacing: -.015em; line-height: 1.25; }
.aa-home .plan__price { display: flex !important; flex-direction: row !important; align-items: baseline; gap: .7rem; padding-block: .4rem .2rem; min-height: 3.6rem; }
.aa-home .plan__num, .aa-home .plan__num .elementor-heading-title { font-size: clamp(2rem,2.6vw,2.9rem) !important; font-weight: 800 !important; letter-spacing: -.04em; line-height: 1; }
.aa-home .plan__pricelbl, .aa-home .plan__pricelbl .elementor-heading-title { font-size: .76rem !important; font-weight: 600 !important; color: var(--nero-soft) !important; max-width: 13ch; line-height: 1.35; text-align: left; }
.aa-home .plan__sub, .aa-home .plan__sub .elementor-widget-container { font-size: .88rem; color: var(--nero-soft); }
.aa-home .plan__list .elementor-icon-list-items { list-style: none; margin: .4rem 0 1.2rem; padding: 1.3rem 0 0; border-top: 1px solid var(--linea); display: grid; gap: .7rem; }
.aa-home .plan__list .elementor-icon-list-item { padding: 0 !important; margin: 0 !important; align-items: flex-start; }
.aa-home .plan__list .elementor-icon-list-icon { padding-top: 3px; }
.aa-home .plan__list .elementor-icon-list-icon svg, .aa-home .plan__list .elementor-icon-list-icon i { width: 15px; height: 15px; font-size: 13px; color: var(--beige-scuro); }
.aa-home .plan__list .elementor-icon-list-text { font-size: .88rem !important; color: var(--nero) !important; }
.aa-home .plan .aa-btn { margin-top: auto; }
.aa-home .plan .aa-btn .elementor-button { width: 100%; }
.aa-home .plan__note, .aa-home .plan__note .elementor-widget-container { font-size: .72rem; font-weight: 600; color: var(--nero-soft); text-align: center; margin-top: .5rem; }
/* piano featured (scuro) */
.aa-home .plan--feat { background: var(--nero) !important; border-color: var(--nero) !important; box-shadow: var(--sh-float); }
/* featured evidenziato ma STESSA altezza degli altri (nessuna sporgenza) */
@media (min-width: 960px) { .aa-home .plan--feat { padding-block: 2.5rem; box-shadow: 0 20px 50px -24px rgba(0,0,0,.4); } }
.aa-home .plan--feat .plan__benefit, .aa-home .plan--feat .plan__benefit .elementor-heading-title { color: #fff !important; }
.aa-home .plan--feat .plan__num, .aa-home .plan--feat .plan__num .elementor-heading-title { color: var(--beige) !important; }
.aa-home .plan--feat .plan__pricelbl, .aa-home .plan--feat .plan__sub, .aa-home .plan--feat .plan__note,
.aa-home .plan--feat .plan__pricelbl .elementor-heading-title { color: rgba(255,255,255,.6) !important; }
.aa-home .plan--feat .plan__list .elementor-icon-list-items { border-top-color: rgba(255,255,255,.16); }
.aa-home .plan--feat .plan__list .elementor-icon-list-text { color: rgba(255,255,255,.85) !important; }
.aa-home .plan--feat .plan__list .elementor-icon-list-icon svg, .aa-home .plan--feat .plan__list .elementor-icon-list-icon i { color: var(--beige); }
.aa-home .plan--feat:hover { border-color: var(--beige) !important; }
.aa-home .plan__badge { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); z-index: 3;
  display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; background: var(--beige); color: var(--nero) !important;
  font-size: .64rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; padding: .6em 1.5em; border-radius: 999px;
  box-shadow: 0 8px 24px rgba(201,177,138,.18); }
.aa-home .plan__badge, .aa-home .plan__badge .elementor-heading-title { color: var(--nero) !important; }
.aa-home .plan__badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--nero); }

/* --- Tabella confronto (pulita, bordi soft) --- */
.aa-home .cmp-wrap { overflow-x: auto; border: 1px solid var(--linea); border-radius: 20px; background: #fff; box-shadow: 0 16px 44px -22px rgba(20,24,30,.16); margin-top: 3.5rem; -webkit-overflow-scrolling: touch; }
.aa-home .cmp { width: 100%; border-collapse: collapse; min-width: 44rem; }
.aa-home .cmp th, .aa-home .cmp td { padding: 1.05rem 1.6rem; text-align: left; font-size: .95rem; vertical-align: middle; border-bottom: 1px solid #efeae1; }
/* separatori verticali leggerissimi */
.aa-home .cmp th:not(:first-child), .aa-home .cmp td:not(:first-child) { border-left: 1px solid #f4f0e8; }
.aa-home .cmp thead th { padding-block: 1.15rem; font-weight: 800; font-size: .8rem; letter-spacing: .07em; text-transform: uppercase; color: var(--nero); background: #faf8f3; border-bottom: 1px solid var(--linea); }
.aa-home .cmp tbody th { font-weight: 600; color: var(--nero); }
.aa-home .cmp tbody tr:hover td, .aa-home .cmp tbody tr:hover th { background: rgba(20,24,29,.018); }
.aa-home .cmp tbody tr:last-child th, .aa-home .cmp tbody tr:last-child td { border-bottom: 0; font-weight: 700; }
/* colonna "Completa" evidenziata: solo sfondo tenue + accento superiore (nessun bordo che sborda) */
.aa-home .cmp .brand { background: rgba(201,177,138,.07); }
.aa-home .cmp tbody tr:hover .brand { background: rgba(201,177,138,.11); }
.aa-home .cmp thead th.brand { color: var(--beige-scuro); background: rgba(201,177,138,.14); box-shadow: inset 0 3px 0 var(--beige); }
.aa-home .cmp td.brand { color: var(--nero); }
.aa-home .cmp td.no { color: #cbc4b6; }
.aa-home .cmp td:not(:first-child), .aa-home .cmp th:not(:first-child) { text-align: center; }
.aa-home .cmp td { font-size: 1rem; }
.aa-home .cmp tbody td:not(.no):not(:first-child) { color: var(--beige-scuro); font-weight: 700; }
.aa-home .cmp tbody tr:last-child td.brand { color: var(--beige-scuro); }
.aa-home .cmp caption { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
@media (max-width: 720px){ .aa-home .cmp-wrap{ position:relative; } .aa-home .cmp-wrap::after{ content:"\2192 scorri"; position:absolute; top:.55rem; right:.9rem; font-size:.64rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--beige-scuro); opacity:.65; pointer-events:none; } }

/* --- Fascia fiducia + mini --- */
.aa-home .fascia { background: linear-gradient(135deg,#F6F1E7,#FBF8F2); border: 1px solid rgba(201,177,138,.55); border-radius: 22px;
  padding: clamp(2.2rem,4vw,3.2rem) clamp(1.8rem,4vw,3.2rem); margin-top: 3.5rem; }
.aa-home .fascia--2col{ display:grid !important; gap:1.8rem clamp(2rem,5vw,4rem); grid-template-columns:1fr; align-items:center; }
@media(min-width:820px){ .aa-home .fascia--2col{ grid-template-columns:1.15fr .85fr; } }
.aa-home .fascia h3{ font-size:clamp(1.35rem,2.6vw,1.8rem); font-weight:800; letter-spacing:-.02em; margin:0 0 .8rem; line-height:1.15; }
.aa-home .fascia__l p{ font-size:1rem; color:var(--nero-soft); line-height:1.65; margin:0; max-width:38rem; }
.aa-home .fascia strong{ color:var(--nero); }
.aa-home .fascia__r{ display:grid; gap:.7rem; }
.aa-home .fmini{ display:flex; align-items:center; gap:.7rem; background:rgba(255,255,255,.65); border:1px solid rgba(201,177,138,.4); border-radius:13px; padding:.9rem 1.1rem; font-size:.92rem; font-weight:700; color:var(--nero); transition:transform .25s ease, box-shadow .25s ease; }
.aa-home .fmini:hover{ transform:translateY(-2px); box-shadow:0 12px 32px rgba(20,24,30,.06); }
.aa-home .fmini svg{ width:19px; height:19px; color:var(--beige-scuro); flex:0 0 auto; }
.aa-home .mini3 { display: grid !important; gap: 1rem; grid-template-columns: 1fr; margin-top: 1.8rem; }
@media (min-width: 700px) { .aa-home .mini3 { grid-template-columns: repeat(3,1fr); } }
.aa-home .mini { background: var(--bianco-puro); border: 1px solid var(--linea); border-radius: 14px;
  padding: 1.2rem 1.4rem; display: flex !important; flex-direction: row !important; gap: .8rem; align-items: center;
  font-size: .9rem; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease; }
.aa-home .mini:hover { transform: translateY(-3px); box-shadow: var(--sh-soft); }
.aa-home .mini .elementor-icon { color: var(--beige-scuro); flex: none; }
.aa-home .mini .elementor-icon svg, .aa-home .mini .elementor-icon i { width: 20px; height: 20px; font-size: 18px; }
.aa-home .mini .mini__t, .aa-home .mini .mini__t .elementor-heading-title { font-size: .9rem !important; font-weight: 700 !important; color: var(--nero) !important; }

/* Pagine con page-hero: il padding del hero gestisce la clearance dell'header (no doppio) */
body:has(.page-hero) { padding-top: 0 !important; }

/* Fix colore icone bento (esplicito, non inherit) */
.aa-home .fl__ic .elementor-icon, .aa-home .fl__ic svg, .aa-home .fl__ic i { color: var(--nero) !important; fill: var(--nero) !important; }
.aa-home .bx--hero .fl__ic .elementor-icon, .aa-home .bx--hero .fl__ic svg, .aa-home .bx--hero .fl__ic i { color: var(--beige) !important; fill: var(--beige) !important; }
.aa-home .bx:hover .fl__ic .elementor-icon, .aa-home .bx:hover .fl__ic svg, .aa-home .bx:hover .fl__ic i { color: var(--nero) !important; fill: var(--nero) !important; }
/* icone check (plan list, mini) color beige-scuro coerente */
.aa-home .plan__list .elementor-icon-list-icon svg, .aa-home .mini .elementor-icon svg { fill: currentColor !important; }
.aa-home .mini .elementor-icon, .aa-home .mini .elementor-icon svg { color: var(--beige-scuro) !important; fill: var(--beige-scuro) !important; }

/* ============================================================
   SERVIZI — Landing narrativa premium (alternanza chiaro/scuro)
   Stesso Design System della Home; ogni sezione trattata in modo
   distinto (dark timeline, light bento, dark prima/dopo, dark faq)
   per NON sembrare copiata dalla Home ma appartenere allo stesso brand.
   ============================================================ */

/* Azzera il gap di sezione del container root (come sulla Home) */
.aa-home.servizi { gap: 0 !important; row-gap: 0 !important; }
/* Ritmo verticale — sistema globale compatto e coerente (desktop/tablet/mobile dedicati) */
.aa-home .section { padding-block: clamp(56px, 5.6vw, 82px) !important; }                 /* ~76-82px desktop */
@media (max-width:1024px){ .aa-home .section { padding-block: clamp(50px, 6.2vw, 66px) !important; } } /* ~52-66px tablet */
@media (max-width:600px){ .aa-home .section { padding-block: clamp(40px, 12vw, 52px) !important; } }   /* ~45-52px mobile */
/* Ritmo interno commissioni più continuo */
.aa-home .fascia { margin-top: 2.6rem !important; }
@media (max-width:600px){ .aa-home .fascia { margin-top: 2rem !important; } }
/* Home: raccordo hero -> statistiche (meno vuoto sotto la hero) */
body.home .aa-home .trust { padding-top: clamp(2rem, 3.4vw, 3rem) !important; }
body.home .aa-home .mq-dk { padding-bottom: clamp(2rem, 3.4vw, 3rem) !important; }
/* CTA finale -> footer più raccordati (globale) */
.aa-ft .aa-ft__grid { padding-block: clamp(1.9rem, 3vw, 2.4rem) clamp(1.6rem, 2.4vw, 2rem) !important; }
/* Hero interni (Chi siamo, Contatti, Prenota...) più vicini alla prima sezione */
.aa-home .page-hero { padding-block: clamp(4.6rem, 7vw, 6rem) clamp(2rem, 3vw, 2.6rem) !important; }
@media (max-width:600px){ .aa-home .page-hero { padding-block: clamp(3.4rem, 11vw, 4.4rem) 1.6rem !important; } }
/* Fix mobile: CTA .btn nei callout/fascia finale (es. "Valuta il tuo immobile gratuitamente")
   era auto-width + nowrap => più larga della card e tagliata. Full-width + va a capo. */
@media (max-width:600px){
  .aa-home .callout .btn, .aa-home .srv-cta .btn, .aa-home .callout--dk .btn{
    width:100% !important; max-width:100% !important; box-sizing:border-box;
    white-space:normal !important; text-align:center; justify-content:center;
    font-size:.94rem !important; line-height:1.3; padding:14px 20px !important;
    white-space:nowrap !important; /* testo corto "Valuta gratuitamente": una riga */
  }
}

/* CTA callout "Valuta il tuo immobile gratuitamente": LIQUID GLASS scuro, testo leggibile */
.aa-home .callout .btn.btn--nero, .aa-home .callout .btn--nero.js-val, .aa-home .srv-cta .btn.btn--nero{
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 46%),
    linear-gradient(180deg, rgba(44,50,58,.80), rgba(15,19,25,.92)) !important;
  -webkit-backdrop-filter:blur(14px) saturate(150%); backdrop-filter:blur(14px) saturate(150%);
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(0,0,0,.25), 0 16px 34px -14px rgba(15,19,25,.55) !important;
  color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.28);
  transition:transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease, background .22s ease;
}
.aa-home .callout .btn.btn--nero:hover, .aa-home .srv-cta .btn.btn--nero:hover{
  transform:translateY(-2px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.24), rgba(255,255,255,0) 46%),
    linear-gradient(180deg, rgba(52,58,66,.86), rgba(19,23,29,.95)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34), 0 22px 42px -14px rgba(15,19,25,.62) !important;
}
.aa-home .callout .btn.btn--nero:focus-visible, .aa-home .srv-cta .btn.btn--nero:focus-visible{
  outline:2px solid rgba(201,177,138,.85) !important; outline-offset:3px;
}

/* FAQ Servizi (.faq): accordion premium — prima era lista con marker nativo ▶ */
.aa-home .faq{ display:grid; gap:.7rem; }
.aa-home .faq details{ border:1px solid var(--linea,#E4DECF); border-radius:14px; background:var(--bianco-puro,#fff); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.aa-home .faq details[open]{ box-shadow:0 10px 26px -18px rgba(20,24,29,.28); }
.aa-home .faq summary{ list-style:none; cursor:pointer; padding:1rem 1.2rem; font-weight:700; color:var(--nero,#14181D); display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.98rem; line-height:1.35; }
.aa-home .faq summary::-webkit-details-marker{ display:none; }
.aa-home .faq summary::marker{ content:""; font-size:0; }
.aa-home .faq summary::after{ content:"+"; font-size:1.4rem; line-height:1; font-weight:400; color:var(--beige-scuro,#A88F65); transition:transform .25s ease; flex:none; }
.aa-home .faq details[open] summary::after{ transform:rotate(45deg); }
.aa-home .faq .bd{ padding:0 1.2rem 1.1rem; }
.aa-home .faq .bd p{ margin:0; font-size:.92rem; line-height:1.6; color:var(--nero-soft,#5C636C); }
/* variante su sezione scura */
.aa-home .sec-dk .faq details, .aa-home .faq-dk .faq details{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14); }
.aa-home .sec-dk .faq summary, .aa-home .faq-dk .faq summary{ color:#fff; }
.aa-home .sec-dk .faq .bd p, .aa-home .faq-dk .faq .bd p{ color:rgba(253,252,249,.72); }

/* Articolo (magazine): fine articolo -> correlati -> CTA -> footer più raccordati */
body.single-post .mag__related { margin-top: 2.6rem !important; }
body.single-post .aa-final { margin-top: 2.4rem !important; padding-block: clamp(2.6rem, 4vw, 3rem) !important; }
@media (max-width:600px){ body.single-post .mag__related { margin-top: 2rem !important; } body.single-post .aa-final { margin-top: 1.8rem !important; } }

/* ---- Sezioni SCURE (base) ---- */
.aa-home .sec-dk { background: var(--nero,#14181D); color: var(--bianco); }
.aa-home .sec-dk .kicker, .aa-home .sec-dk .kicker .elementor-heading-title { color: var(--beige) !important; }
.aa-home .sec-dk h2, .aa-home .sec-dk h2 .elementor-heading-title,
.aa-home .sec-dk h3, .aa-home .sec-dk h3 .elementor-heading-title { color: var(--bianco) !important; }
.aa-home .sec-dk .lead, .aa-home .sec-dk .lead p, .aa-home .sec-dk .head p { color: rgba(253,252,249,.62) !important; }

/* ---- Sezioni CHIARE (variazioni sottili) ---- */
.aa-home .sec-white { background: var(--bianco); }
.aa-home .sec-cream { background: var(--bianco-chiaro, #F7F4EE); }

/* ============ 1. HERO scuro forte ============ */
.aa-home.servizi .srv-hero{ position: relative; overflow: hidden; border: 0 !important;
  background: #0b0e11 !important; color: var(--bianco); isolation: isolate;
  padding-block: clamp(7.5rem,12vh,9.5rem) clamp(3.5rem,6vw,5rem) !important; }
.aa-home.servizi .srv-hero::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(58% 42% at 50% -8%, rgba(201,177,138,.10), transparent 62%),
    radial-gradient(40% 44% at 90% 20%, rgba(201,177,138,.05), transparent 72%),
    radial-gradient(55% 60% at 6% 100%, rgba(201,177,138,.05), transparent 70%),
    linear-gradient(180deg, rgba(11,14,17,.35) 0%, rgba(11,14,17,.9) 100%); }
.aa-home.servizi .srv-hero::after{ content:""; position:absolute; inset:0; z-index:-1; opacity:.045; mix-blend-mode:soft-light; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:140px 140px; }
.aa-home.servizi .srv-hero .container{ max-width: 1184px; }
/* griglia hero 2 colonne: testo ~46% | visuale ~54% */
.aa-home.servizi .srv-hero__grid{ display:grid !important; grid-template-columns:1fr; gap:clamp(2.4rem,5vw,4rem); align-items:center; }
@media(min-width:960px){ .aa-home.servizi .srv-hero__grid{ grid-template-columns:minmax(0,46fr) minmax(0,54fr); } }
.aa-home.servizi .srv-hero__text{ min-width:0; }
.aa-home.servizi .srv-hero .kicker, .aa-home.servizi .srv-hero .kicker .elementor-heading-title{ color: var(--beige) !important; }
.aa-home.servizi .srv-hero h1, .aa-home.servizi .srv-hero h1 .elementor-heading-title{ color: var(--bianco) !important;
  font-size: clamp(2.2rem,3.6vw,3.4rem) !important; font-weight: 800 !important; letter-spacing: -.025em; line-height: 1.08; max-width: none; margin:.4rem 0 1.15rem; text-wrap: balance;
  text-shadow: 0 1px 1px rgba(0,0,0,.2), 0 12px 38px rgba(0,0,0,.4); }
.aa-home.servizi .srv-hero h1 em{ color: var(--beige); font-style: normal; text-shadow: 0 0 18px rgba(201,177,138,.16); }
.aa-home.servizi .srv-hero .lead, .aa-home.servizi .srv-hero .lead p{ color: rgba(253,252,249,.72) !important; font-size: 1.08rem; line-height: 1.65; max-width: 40rem; }
.aa-home.servizi .srv-hero .lead strong{ color:#fff; }
.aa-home.servizi .srv-hero .btn-row{ margin-top: 1.8rem; display:flex !important; flex-flow:row wrap; gap:.8rem; }
/* pulsante secondario su hero scuro = glass */
.aa-home.servizi .srv-hero .aa-btn-secondary .elementor-button{ background: rgba(255,255,255,.05); color:#fff; border-color: rgba(255,255,255,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.aa-home.servizi .srv-hero .aa-btn-secondary .elementor-button:hover{ background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.42); }
/* strip statistiche — riga ordinata */
.aa-home.servizi .srv-hero__stats{ display:grid !important; grid-template-columns:repeat(2,auto); gap:1.2rem 2.2rem; margin-top: 2.2rem; padding-top: 1.7rem; border-top: 1px solid rgba(255,255,255,.12); justify-content:start; }
@media(min-width:520px){ .aa-home.servizi .srv-hero__stats{ grid-template-columns:repeat(4,auto); } }
.aa-home.servizi .srv-hero__stats .st{ text-align:left; padding:0 !important; }
.aa-home.servizi .srv-hero__stats .st b{ display:block; font-size:1.45rem !important; font-weight:800 !important; color:var(--beige) !important; letter-spacing:-.02em; line-height:1; }
.aa-home.servizi .srv-hero__stats .st span{ font-size:.72rem !important; font-weight:500 !important; color:rgba(253,252,249,.6) !important; }

/* ---- colonna visuale (immagine + card vetro + chip) ---- */
.aa-home.servizi .srv-hero__visual{ min-width:0; position:relative; }
.aa-home.servizi .srv-hero__frame{ position:relative; border-radius:26px; overflow:hidden; aspect-ratio:4/3.4; box-shadow:0 40px 90px -40px rgba(0,0,0,.7); border:1px solid rgba(255,255,255,.08); }
@media(min-width:960px){ .aa-home.servizi .srv-hero__frame{ aspect-ratio:auto; height:clamp(380px,40vw,500px); } }
.aa-home.servizi .srv-hero__frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.aa-home.servizi .srv-hero__frame::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,14,17,0) 42%, rgba(11,14,17,.55) 100%); }
.aa-home.servizi .srv-hero__glass{ position:absolute; left:18px; bottom:18px; z-index:2; padding:1rem 1.2rem; border-radius:16px; background:rgba(17,20,24,.55); -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%); border:1px solid rgba(255,255,255,.14); box-shadow:0 12px 30px rgba(0,0,0,.35); max-width:min(72%,265px); }
.aa-home.servizi .srv-hero__glass .k{ display:block; font-size:.66rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(253,252,249,.6); }
.aa-home.servizi .srv-hero__glass b{ display:block; font-size:1.9rem; font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.1; margin:.15rem 0; }
.aa-home.servizi .srv-hero__glass b i{ font-style:normal; font-size:.85rem; font-weight:600; color:var(--beige); }
.aa-home.servizi .srv-hero__glass .s{ display:block; font-size:.72rem; color:rgba(253,252,249,.7); line-height:1.4; }
.aa-home.servizi .srv-hero__chip{ position:absolute; top:18px; right:18px; z-index:2; display:inline-flex; align-items:center; gap:.35rem; padding:.5rem .9rem; border-radius:999px; background:rgba(201,177,138,.94); color:#1a1408; font-size:.74rem; font-weight:700; box-shadow:0 8px 24px rgba(201,177,138,.18); }
.aa-home.servizi .srv-hero__chip span{ font-weight:800; }
@media(max-width:600px){ .aa-home.servizi .srv-hero__frame{ height:auto; aspect-ratio:4/3; } .aa-home.servizi .srv-hero__glass{ left:12px; bottom:12px; padding:.8rem 1rem; max-width:80%; } .aa-home.servizi .srv-hero__glass b{ font-size:1.6rem; } }

/* ============ 2. Perché scegliere — griglia value cards (chiaro) ============ */
.aa-home.servizi .srv-why{ display:grid !important; gap:1.1rem; grid-template-columns:1fr; }
@media(min-width:640px){ .aa-home.servizi .srv-why{ grid-template-columns:1fr 1fr; } }
@media(min-width:980px){ .aa-home.servizi .srv-why{ grid-template-columns:1fr 1fr 1fr; } }
.aa-home.servizi .srv-why .bx{ padding:1.9rem 1.7rem; gap:.5rem; }
.aa-home.servizi .srv-why .bx h3, .aa-home.servizi .srv-why .bx h3 .elementor-heading-title{ font-size:1.12rem !important; font-weight:800 !important; }
.aa-home.servizi .srv-why .bx .elementor-widget-text-editor, .aa-home.servizi .srv-why .bx p{ font-size:.9rem; color:var(--nero-soft); line-height:1.6; }

/* ============ 3. Come funziona — timeline SCURA ============ */
.aa-home.servizi .come-dk .tl::before{ background: linear-gradient(var(--beige), rgba(255,255,255,.12)); }
.aa-home.servizi .come-dk .tl__num{ background:#1e242b; border-color: var(--beige); }
.aa-home.servizi .come-dk .tl__num .elementor-heading-title{ color: var(--beige) !important; }
.aa-home.servizi .come-dk .tl__body h3, .aa-home.servizi .come-dk .tl__body h3 .elementor-heading-title{ color:#fff !important; }
.aa-home.servizi .come-dk .tl__body .elementor-widget-text-editor{ color: rgba(253,252,249,.6); }
.aa-home.servizi .come-dk .tl__body strong{ color:#fff; }
.aa-home.servizi .come-dk .tl-note{ color: rgba(253,252,249,.6); }
.aa-home.servizi .come-dk .tl-note strong{ color: var(--beige); }

/* ============ 5. Prima / Dopo (SCURA) ============ */
.aa-home.servizi .pd{ display:grid !important; gap:1.2rem; grid-template-columns:1fr; align-items:stretch; }
@media(min-width:820px){ .aa-home.servizi .pd{ grid-template-columns:1fr 1fr; gap:1.4rem; } }
.aa-home.servizi .pd__col{ border-radius:22px; padding:2rem 1.9rem; transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .3s ease; }
.aa-home.servizi .pd__before{ background:rgba(253,252,249,.035); border:1px solid rgba(253,252,249,.12); }
.aa-home.servizi .pd__after{ background:linear-gradient(160deg, rgba(201,177,138,.15), rgba(253,252,249,.03)); border:1px solid rgba(201,177,138,.34); }
.aa-home.servizi .pd__after:hover{ transform:translateY(-4px); border-color:var(--beige); }
.aa-home.servizi .pd h3{ font-size:1.15rem; font-weight:800; margin:0 0 1.2rem; display:flex; align-items:center; gap:.55rem; letter-spacing:-.01em; }
.aa-home.servizi .pd__before h3{ color:rgba(253,252,249,.82) !important; }
.aa-home.servizi .pd__after h3{ color:var(--beige) !important; }
.aa-home.servizi .pd h3 svg{ width:20px; height:20px; }
.aa-home.servizi .pd ul{ list-style:none; margin:0; padding:0; display:grid; gap:.8rem; }
.aa-home.servizi .pd li{ display:flex; gap:.7rem; font-size:.92rem; line-height:1.5; }
.aa-home.servizi .pd li svg{ width:18px; height:18px; flex:0 0 auto; margin-top:2px; }
.aa-home.servizi .pd__before li{ color:rgba(253,252,249,.66); }
.aa-home.servizi .pd__before li svg{ color:#9b8080; }
.aa-home.servizi .pd__after li{ color:rgba(253,252,249,.9); }
.aa-home.servizi .pd__after li svg{ color:var(--beige); }

/* ============ 7. FAQ SCURA ============ */
.aa-home .faq-dk .faq{ display:grid; gap:.7rem; max-width:50rem; margin-inline:auto; }
.aa-home .faq-dk .faq details{ background:rgba(253,252,249,.04); border:1px solid rgba(253,252,249,.12); border-radius:18px; overflow:hidden; transition:border-color .25s ease; }
.aa-home .faq-dk .faq details[open]{ border-color:rgba(201,177,138,.5); }
.aa-home .faq-dk .faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.4rem; font-size:1rem; font-weight:700; color:#fff; }
.aa-home .faq-dk .faq summary::-webkit-details-marker{ display:none; }
.aa-home .faq-dk .faq summary::after{ content:"+"; font-size:1.4rem; font-weight:300; color:var(--beige); line-height:1; transition:transform .3s cubic-bezier(.16,1,.3,1); }
.aa-home .faq-dk .faq details[open] summary::after{ content:"\2013"; transform:rotate(180deg); }
.aa-home .faq-dk .faq .bd{ padding:0 1.4rem 1.3rem; }
.aa-home .faq-dk .faq .bd p{ color:rgba(253,252,249,.62); font-size:.92rem; line-height:1.65; margin:0; }

/* ============ 8. CTA finale (callout scuro in sezione chiara) ============ */
.aa-home.servizi .srv-cta .callout--dk{ border:1px solid rgba(201,177,138,.2); }

/* header: su Servizi l'hero e' scuro -> testo header bianco al top (gestito da .srv-hero via JS) */
body:has(.srv-hero) { padding-top: 0 !important; }

/* --- Prenota Ora: opzioni consulenza --- */
.aa-home .pren-opts{ display:grid !important; gap:1.2rem; grid-template-columns:1fr; }
@media(min-width:720px){ .aa-home .pren-opts{ grid-template-columns:1fr 1fr; } }
.aa-home .pren-opt{ background:var(--bianco-puro,#fff); border:1px solid var(--linea); border-radius:22px; padding:2.2rem 2rem; display:flex; flex-direction:column; align-items:flex-start; gap:.6rem; box-shadow:0 12px 32px rgba(20,24,30,.06); transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .3s ease; }
.aa-home .pren-opt:hover{ transform:translateY(-5px); box-shadow:0 18px 44px rgba(20,24,30,.10); border-color:var(--beige); }
.aa-home .pren-opt__ic{ font-size:1.9rem; line-height:1; }
.aa-home .pren-opt h3{ font-size:1.2rem; font-weight:800; letter-spacing:-.01em; margin:.2rem 0 0; }
.aa-home .pren-opt p{ font-size:.92rem; color:var(--nero-soft); line-height:1.6; margin:0; }
.aa-home .pren-opt__btn{ margin-top:.8rem; align-self:stretch; }
.aa-home .pren-opt__btn.aa-btn-primary{ background:var(--beige); color:#1a1408; border:0; border-radius:15px; min-height:50px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; text-decoration:none; transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .25s ease; }
.aa-home .pren-opt__btn.aa-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,177,138,.18); background:#d6c1a0; }
.aa-home .pren-opt__btn.aa-btn-secondary{ background:#fff; color:var(--nero); border:1px solid var(--linea); border-radius:15px; min-height:50px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; transition:border-color .25s ease, transform .3s cubic-bezier(.16,1,.3,1); }
.aa-home .pren-opt__btn.aa-btn-secondary:hover{ border-color:var(--beige-scuro); transform:translateY(-2px); }
