/*
 Theme Name:   Divi Child
 Theme URI:    https://elegantthemes.com
 Description:  Tema Child ottimizzato per Divi 5
 Author:       Il Tuo Nome
 Author URI:   https://sistemi360.eu
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://gnu.org
*/

/* Inserisci qui il tuo CSS personalizzato per Divi 5 */

/* =========================================================
   Landing "Alfio Moretti" — da aggiungere in coda a style.css del tema child
   Prefisso classi: am-
   ========================================================= */
:root{
  --am-ink:#0f172a; --am-night:#0d1b30; --am-deep:#0f2a5a;
  --am-blue:#2563eb; --am-blue-d:#1d4ed8; --am-cyan:#0e7490; --am-cyan-l:#67e8f9;
  --am-green:#10b981; --am-amber:#f59e0b; --am-violet:#7c3aed;
  --am-bg:#f5f7fa; --am-line:#e2e8f0; --am-mute:#475569; --am-mute-d:#b6c2d4;
  --am-font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --am-r:16px;
}
html{scroll-behavior:smooth}

/* ---------- Base sezione / riga / moduli ---------- */
.et_pb_section.am-sec{padding:clamp(64px,9vw,120px) 0;background:#fff;color:var(--am-ink);font-family:var(--am-font);font-size:17px;line-height:1.65;overflow:clip}
.et_pb_section.am-soft{background:var(--am-bg)}
.et_pb_section.am-dark{background:var(--am-night);color:#fff}
.am-sec .et_pb_row{width:min(1160px,calc(100% - 48px));max-width:none;padding:0;margin:0 auto}
.am-sec .et_pb_column{width:100%;margin:0;float:none}
.am-sec .et_pb_module{margin:0}
.am-sec h1,.am-sec h2,.am-sec h3{font-family:var(--am-font);color:inherit;padding:0;margin:0;letter-spacing:-.02em;text-wrap:balance}
.am-sec h1{font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;font-weight:800}
.am-sec h2{font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.12;font-weight:750}
.am-sec h3{font-size:1.2rem;line-height:1.3;font-weight:700}
.am-sec p{padding:0;margin:0;color:var(--am-mute)}
.am-dark p{color:var(--am-mute-d)}
.am-sec a:focus-visible{outline:3px solid var(--am-cyan-l);outline-offset:3px;border-radius:6px}

.am-eyebrow{display:block;margin-bottom:16px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--am-cyan)}
.am-dark .am-eyebrow{color:var(--am-cyan-l)}
.am-head{max-width:780px;margin-bottom:clamp(36px,5vw,64px)!important}
.am-head p,.am-lead{margin-top:20px!important;font-size:1.15rem}
.am-center{margin-inline:auto!important}
.am-sec .am-center,.am-sec .am-center .et_pb_text_inner{text-align:center}

/* ---------- CTA ---------- */
.am-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.am-center .am-actions{justify-content:center}
a.am-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:2px solid var(--am-blue);background:var(--am-blue);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s}
a.am-btn:hover{background:var(--am-blue-d);border-color:var(--am-blue-d);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(37,99,235,.7)}
a.am-btn--ghost{background:transparent;border-color:currentColor;color:inherit}
a.am-btn--ghost:hover{background:rgba(127,127,127,.12);border-color:currentColor;box-shadow:none}

/* ---------- Griglie (classe sulla colonna Divi) ---------- */
.et_pb_column.am-grid{display:grid;gap:24px}
.et_pb_column.am-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.et_pb_column.am-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.et_pb_column.am-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.et_pb_column.am-split{grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,80px);align-items:center}

/* ---------- Hero ---------- */
.et_pb_section.am-hero{padding:0;position:relative;min-height:min(820px,100svh);display:flex;flex-direction:column}
.am-hero .et_pb_row,.am-hero .et_pb_column{position:static;display:flex;flex-direction:column;flex:1}
.am-hero .et_pb_text{position:relative;z-index:2}
.am-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 0}
.am-brand{font-weight:800;font-size:1.1rem;letter-spacing:-.01em;color:#fff;text-decoration:none}
.am-brand small{display:block;font-size:.72rem;font-weight:500;letter-spacing:.02em;color:var(--am-mute-d)}
.am-top a.am-btn{min-height:44px;padding:0 20px;font-size:.92rem}
.am-hero-copy{max-width:600px;margin:auto 0!important;padding:48px 0 96px}
.am-hero-copy .am-lead{font-size:1.25rem;max-width:520px}
.am-hero-img{position:absolute!important;inset:0 0 0 auto;width:66%;z-index:1}
.am-hero-img .et_pb_image_wrap,.am-hero-img img{display:block;width:100%;height:100%}
.am-hero-img img{object-fit:cover;object-position:right center}
.am-hero-img .et_pb_image_wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%)}

/* ---------- Problema ---------- */
.am-pain ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.am-pain li{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--am-line);border-radius:12px;font-weight:600;font-size:.98rem;line-height:1.35}
.am-pain li::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--am-amber)}
.am-pain li:nth-child(3n+2)::before{background:var(--am-blue)}
.am-pain li:nth-child(3n)::before{background:var(--am-green)}

/* ---------- Trasformazione (flusso) ---------- */
.et_pb_section.am-flow-sec{background:linear-gradient(180deg,var(--am-night),var(--am-deep))}
.am-flow ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;counter-reset:am}
.am-flow li{position:relative;padding:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--am-r)}
.am-flow li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-23px;width:16px;height:16px;border-top:2px solid var(--am-cyan-l);border-right:2px solid var(--am-cyan-l);transform:translateY(-50%) rotate(45deg)}
.am-flow small{display:block;margin:18px 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--am-cyan-l)}
.am-flow p{margin-top:8px!important;font-size:.95rem;line-height:1.5}
.am-viz{display:block;height:96px;border-radius:10px;background-color:rgba(255,255,255,.05);background-repeat:no-repeat}
.am-viz--raw{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.22) 0 1px,transparent 1px 12px),repeating-linear-gradient(90deg,rgba(255,255,255,.22) 0 1px,transparent 1px 30px)}
.am-viz--gear{background-image:linear-gradient(90deg,var(--am-cyan-l),var(--am-blue)),linear-gradient(90deg,var(--am-green),var(--am-cyan-l)),linear-gradient(90deg,var(--am-amber),var(--am-green));background-size:78% 6px,56% 6px,88% 6px;background-position:16px 28px,16px 46px,16px 64px}
.am-viz--agg{background-image:linear-gradient(var(--am-blue),var(--am-blue)),linear-gradient(var(--am-cyan-l),var(--am-cyan-l)),linear-gradient(var(--am-green),var(--am-green)),linear-gradient(var(--am-amber),var(--am-amber));background-size:16% 40%,16% 62%,16% 50%,16% 78%;background-position:10% 86%,36% 86%,62% 86%,88% 86%}
.am-viz--doc{background-image:linear-gradient(var(--am-ink),var(--am-ink)),linear-gradient(#cbd5e1,#cbd5e1),linear-gradient(#cbd5e1,#cbd5e1),linear-gradient(var(--am-blue),var(--am-blue)),linear-gradient(#fff,#fff);background-size:30% 8%,34% 5%,26% 5%,34% 22%,46% 84%;background-position:50% 22%,50% 38%,42% 48%,50% 74%,50% 50%}
.am-flow-img{width:100%;max-width:none;margin-top:clamp(36px,5vw,64px)!important}
.am-flow-img .et_pb_image_wrap{display:block;width:100%}
.am-flow-img img{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:center 60%;border-radius:20px;border:1px solid rgba(255,255,255,.14)}

/* ---------- Prima / Dopo ---------- */
.am-ba{column-gap:clamp(24px,5vw,64px)!important;row-gap:20px!important;position:relative}
.am-shot img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:20px}
.am-shot--before img{filter:saturate(.75)}
.am-shot--after img{box-shadow:0 30px 60px -30px rgba(37,99,235,.55)}
.am-tag{display:block;width:fit-content;margin-bottom:10px;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.12em;background:#fde8c8;color:#7c4a03}
.am-tag--after{background:#d1fae5;color:#065f46}
.am-cap p{margin-top:8px!important}

/* ---------- Come funziona ---------- */
.am-step{position:relative;padding-top:28px;border-top:2px solid var(--am-line)}
.am-step::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--am-blue);box-shadow:0 0 0 5px #fff}
.am-soft .am-step::before{box-shadow:0 0 0 5px var(--am-bg)}
.am-num{display:block;margin-bottom:12px;font-size:2.4rem;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--am-blue)}
.am-step p,.am-card p{margin-top:10px!important;font-size:1rem}

/* ---------- Card vantaggi / target ---------- */
.am-card{position:relative;padding:30px 28px;background:#fff;border:1px solid var(--am-line);border-radius:var(--am-r);transition:transform .25s,box-shadow .25s,border-color .25s}
.am-card:hover{transform:translateY(-4px);border-color:#cbd5e1;box-shadow:0 22px 44px -28px rgba(15,23,42,.45)}
.am-card::before{content:"";display:block;width:40px;height:6px;margin-bottom:22px;border-radius:3px;background:var(--am-blue)}
.am-grid>.am-card:nth-child(4n+2)::before{background:var(--am-cyan)}
.am-grid>.am-card:nth-child(4n+3)::before{background:var(--am-green)}
.am-grid>.am-card:nth-child(4n)::before{background:var(--am-amber)}
.am-card--who{background:var(--am-night);border-color:transparent;color:#fff}
.am-card--who p{color:var(--am-mute-d)}

/* ---------- Personalizzazione ---------- */
.am-chain{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:0;counter-reset:am}
.am-chain li{position:relative;padding:0 0 18px 44px;font-weight:600;counter-increment:am}
.am-chain li::before{content:counter(am);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--am-blue);color:#fff;font-size:.82rem;font-weight:800;z-index:1}
.am-chain li:not(:last-child)::after{content:"";position:absolute;left:14px;top:26px;bottom:0;width:2px;background:var(--am-line)}
.am-pic img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:24px}

/* ---------- CTA finale e footer ---------- */
.et_pb_section.am-cta{background:radial-gradient(900px 420px at 50% 0,rgba(37,99,235,.38),transparent 70%),var(--am-night)}
.am-cta .am-head{margin-bottom:0!important}
.et_pb_section.am-foot{padding:36px 0;background:#08111f;font-size:.92rem}
.am-foot .et_pb_text_inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.am-foot nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.am-foot nav a{color:var(--am-mute-d);text-decoration:none;padding:6px 0}
.am-foot nav a:hover{color:#fff;text-decoration:underline}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .et_pb_column.am-grid-4,.et_pb_column.am-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .et_pb_column.am-split{grid-template-columns:1fr}
  .am-flow ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .am-flow li:nth-child(2)::after{display:none}
  .am-hero-img{width:100%;opacity:.38}
  .am-hero-img .et_pb_image_wrap{-webkit-mask-image:linear-gradient(180deg,transparent 15%,#000 70%);mask-image:linear-gradient(180deg,transparent 15%,#000 70%)}
  .am-pic{max-width:520px}
}
@media (max-width:640px){
  .et_pb_section.am-sec{font-size:16px}
  .am-sec .et_pb_row{width:calc(100% - 40px)}
  .et_pb_column.am-grid-4,.et_pb_column.am-grid-3,.et_pb_column.am-grid-2{grid-template-columns:1fr}
  .am-pain ul,.am-flow ol{grid-template-columns:1fr}
  .am-flow li:not(:last-child)::after{display:block;top:auto;right:auto;left:50%;bottom:-23px;transform:translateX(-50%) rotate(135deg)}
  .am-ba-1{order:1}.am-ba-3{order:2;margin-bottom:20px!important}.am-ba-2{order:3}.am-ba-4{order:4}
  .am-shot img{aspect-ratio:4/3}
  .am-flow-img img{aspect-ratio:4/3}
  .am-brand small{display:none}
  .am-hero-copy{padding:32px 0 72px}
  .am-actions a.am-btn{flex:1 1 100%}
  .am-top .am-actions a.am-btn,.am-top a.am-btn{flex:none}
  .am-foot .et_pb_text_inner{flex-direction:column;align-items:flex-start}
}

/* ---------- Movimento leggero (solo CSS, nessun JS) ---------- */
@keyframes am-in{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes am-in-l{from{opacity:0;translate:-36px 0}to{opacity:1;translate:0 0}}
@keyframes am-in-r{from{opacity:0;translate:36px 0}to{opacity:1;translate:0 0}}
@keyframes am-zoom{from{opacity:0;scale:1.06}to{opacity:1;scale:1}}
@keyframes am-drift{to{translate:0 70px}}
@keyframes am-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.am-flow li{transition:translate .25s,border-color .25s,background-color .25s}
.am-flow li:hover{translate:0 -4px;border-color:rgba(103,232,249,.55);background-color:rgba(255,255,255,.09)}
@media (prefers-reduced-motion:no-preference){
  /* Ingresso dell'hero al caricamento */
  .am-top{animation:am-in .6s cubic-bezier(.2,.7,.2,1) both}
  .am-hero-copy .et_pb_text_inner>*{animation:am-in .8s cubic-bezier(.2,.7,.2,1) both}
  .am-hero-copy .et_pb_text_inner>:nth-child(2){animation-delay:.12s}
  .am-hero-copy .et_pb_text_inner>:nth-child(3){animation-delay:.24s}
  .am-hero-copy .et_pb_text_inner>:nth-child(4){animation-delay:.36s}
  .am-hero-img img{animation:am-zoom 1.4s cubic-bezier(.2,.7,.2,1) both}
  /* Comparsa progressiva legata allo scroll */
  @supports (animation-timeline:view()){
    .am-hero-img img{animation:am-zoom 1.4s cubic-bezier(.2,.7,.2,1) both,am-drift linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}
    .am-sec:not(.am-hero):not(.am-foot) .et_pb_module{animation:am-in linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
    .am-sec .am-grid>.et_pb_module:nth-child(2n){animation-range:entry 10% entry 55%}
    .am-sec .am-grid>.et_pb_module:nth-child(3n){animation-range:entry 20% entry 65%}
    .am-sec:not(.am-hero):not(.am-foot) .am-ba-1{animation-name:am-in-l}
    .am-sec:not(.am-hero):not(.am-foot) .am-ba-2,.am-sec:not(.am-hero):not(.am-foot) .am-pic{animation-name:am-in-r}
    .am-viz{animation:am-wipe linear both;animation-timeline:view();animation-range:entry 30% cover 35%}
  }
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  a.am-btn,.am-card,.am-flow li{transition:none}
}

/* ---------- Zoom lento continuo sulle immagini grandi ---------- */
.am-flow-img .et_pb_image_wrap,.am-shot .et_pb_image_wrap,.am-pic .et_pb_image_wrap{display:block;width:100%;overflow:hidden;border-radius:20px}
.am-pic .et_pb_image_wrap{border-radius:24px}
.am-flow-img .et_pb_image_wrap{border:1px solid rgba(255,255,255,.14)}
.am-flow-img img{border:0}
.am-shot--after img{box-shadow:none}
.am-shot--after .et_pb_image_wrap{box-shadow:0 30px 60px -30px rgba(37,99,235,.55)}
/* rotate(.02deg): evita lo zoom a scatti di Firefox, che altrimenti allinea le immagini al pixel intero */
@keyframes am-breathe{from{transform:scale(1) rotate(.02deg) translateZ(0)}to{transform:scale(1.07) rotate(.02deg) translateZ(0)}}
.am-hero-img img,.am-flow-img img,.am-shot img,.am-pic img{will-change:transform;backface-visibility:hidden}
@media (prefers-reduced-motion:no-preference){
  .am-flow-img img,.am-shot img,.am-pic img{animation:am-breathe 16s ease-in-out infinite alternate}
  .am-shot--after img{animation-delay:-8s}
  .am-hero-img img{transform-origin:right center;animation:am-zoom 1.4s cubic-bezier(.2,.7,.2,1) both,am-breathe 20s ease-in-out 1.4s infinite alternate}
  @supports (animation-timeline:view()){
    .am-hero-img img{animation:am-zoom 1.4s cubic-bezier(.2,.7,.2,1) both,am-drift linear both,am-breathe 20s ease-in-out 1.4s infinite alternate;animation-timeline:auto,scroll(root),auto;animation-range:normal,0 100vh,normal}
  }
}

/* ---------- Pagine di testo (policy) ---------- */
.et_pb_section.am-slim{padding:0}
.am-prose{max-width:760px}
.am-sec .am-prose h1{font-size:clamp(2rem,4.4vw,3.2rem)}
.am-sec .am-prose h2{font-size:1.5rem;margin-top:44px}
.am-prose p,.am-prose ul{margin-top:16px!important}
.am-prose ul{padding-left:1.2em;list-style:disc;color:var(--am-mute)}
.am-prose a{color:var(--am-blue-d);text-decoration:underline}
.am-sec .am-prose p.am-note{margin-top:28px!important;padding:22px 24px;border-left:4px solid var(--am-green);border-radius:0 12px 12px 0;background:var(--am-bg);color:var(--am-ink);font-size:1.1rem;font-weight:600}

/* ---------- Pagina Contatti ---------- */
.am-sec .am-card h2{font-size:1.3rem}
.am-sec a.am-contact-link{display:inline-block;margin-top:6px;font-size:clamp(1.25rem,2.6vw,1.7rem);font-weight:800;letter-spacing:-.01em;color:var(--am-blue-d);text-decoration:none;overflow-wrap:anywhere}
.am-sec a.am-contact-link:hover{text-decoration:underline}
.am-contact-info{margin-top:clamp(36px,5vw,56px)!important}
.am-sec .am-contact-info h2{margin-top:0}

/* ---------- Modulo di contatto ---------- */
.et_pb_column.am-split.am-split--top{align-items:start}
.am-sec p.am-geo{display:inline-block;margin-top:20px!important;padding:8px 16px;border-radius:999px;background:#e0f2fe;color:#0c4a6e;font-size:.95rem;font-weight:600}
.am-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:24px}
.am-field{display:flex;flex-direction:column;gap:6px}
.am-field--full{grid-column:1/-1}
.am-form label{font-size:.92rem;font-weight:600;color:var(--am-ink)}
.am-form input[type=text],.am-form input[type=email],.am-form input[type=tel],.am-form textarea{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--am-ink);font:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.am-form textarea{resize:vertical;min-height:140px}
.am-form input:focus-visible,.am-form textarea:focus-visible{outline:0;border-color:var(--am-blue);box-shadow:0 0 0 3px rgba(37,99,235,.25)}
.am-check{flex-direction:row;align-items:flex-start;gap:10px}
.am-check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--am-blue)}
.am-form .am-check label{font-weight:500;color:var(--am-mute)}
.am-form a{color:var(--am-blue-d);text-decoration:underline}
.am-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button.am-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:2px solid var(--am-blue);background:var(--am-blue);color:#fff;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s}
button.am-btn:hover{background:var(--am-blue-d);border-color:var(--am-blue-d);transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(37,99,235,.7)}
button.am-btn:focus-visible{outline:3px solid var(--am-cyan);outline-offset:3px}
.am-form-msg{display:none;margin-top:20px;padding:16px 18px;border-radius:12px;font-weight:500}
.am-form-msg:target{display:block}
.am-form-msg--ok{background:#d1fae5;color:#065f46}
.am-form-msg--ko{background:#fee2e2;color:#991b1b}
#inviato:target~.am-form{display:none}
.am-sec .am-side h2{margin-top:28px}
.am-sec .am-side h2:first-child{margin-top:0}
.am-sec .am-card.am-form-card::before,.am-sec .am-card.am-side::before{background:var(--am-blue)}
.am-card.am-form-card:hover,.am-card.am-side:hover{transform:none;box-shadow:none;border-color:var(--am-line)}
@media (max-width:640px){.am-form{grid-template-columns:1fr}.am-form button.am-btn{width:100%}}

/* ---------- Header e menu ---------- */
html{scroll-padding-top:88px}
.am-sec .et_pb_module.am-top{position:fixed;top:0;left:0;right:0;z-index:999;background-color:rgba(13,27,48,.96);border-bottom:1px solid rgba(255,255,255,.1);animation:none}
.am-hero .et_pb_column,.am-slim .et_pb_column{z-index:1000}
.admin-bar .am-sec .et_pb_module.am-top{top:32px}
.am-sec .am-bar{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:12px 0;gap:20px}
.am-brand{display:flex;align-items:center;gap:12px;line-height:1.25}
.am-logo{flex:none;width:48px;height:48px;transition:rotate .5s cubic-bezier(.2,.7,.2,1)}
.am-brand:hover .am-logo{rotate:-10deg}
.am-nav{display:flex;gap:2px;margin-left:auto}
.am-nav a{position:relative;padding:10px 11px;color:#dbe4f0;font-size:.95rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s}
.am-nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--am-cyan-l),var(--am-green));transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.am-nav a:hover,.am-nav a:focus-visible{color:#fff}
.am-nav a:hover::after,.am-nav a:focus-visible::after{transform:scaleX(1)}
.am-brand small,.am-bar a.am-bar-cta{white-space:nowrap}
.am-burger{display:none}
.et_pb_section.am-hero{padding-top:74px}
.et_pb_section.am-slim{min-height:74px}
/* Sulla landing l'header parte trasparente e diventa pieno scorrendo */
@keyframes am-head{from{background-color:rgba(13,27,48,0);border-bottom-color:transparent}}
@supports (animation-timeline:scroll()){
  .am-hero .et_pb_module.am-top{animation:am-head linear both;animation-timeline:scroll(root);animation-range:0 160px}
}
@media (max-width:1260px){
  .am-bar .am-nav,.am-bar a.am-bar-cta{display:none}
  .am-burger{display:block;margin-left:auto}
  .am-burger summary{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:12px;cursor:pointer;list-style:none}
  .am-burger summary::-webkit-details-marker{display:none}
  .am-burger summary:focus-visible{outline:3px solid var(--am-cyan-l);outline-offset:3px}
  .am-burger summary span{position:relative;width:20px;height:2px;background:#fff;box-shadow:0 6px 0 #fff,0 -6px 0 #fff;transition:rotate .25s,box-shadow .2s}
  .am-burger summary span::after{content:"";position:absolute;inset:0;background:#fff;rotate:90deg;opacity:0;transition:opacity .2s}
  .am-burger[open] summary span{rotate:45deg;box-shadow:none}
  .am-burger[open] summary span::after{opacity:1}
  .am-burger nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:8px 24px 24px;background:#0d1b30;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 24px 40px -20px rgba(0,0,0,.6)}
  .am-burger nav a:not(.am-btn){padding:15px 2px;color:#fff;font-size:1.1rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
  .am-burger nav a.am-btn{margin-top:20px;min-height:52px;font-size:1rem}
}
@media (max-width:782px){.admin-bar .am-sec .et_pb_module.am-top{top:46px}}
@media (prefers-reduced-motion:reduce){.am-logo,.am-nav a::after,.am-burger summary span{transition:none}}

/* ---------- Casi pratici ---------- */
.et_pb_section.am-case-head{padding-bottom:clamp(48px,6vw,80px)}
.am-case-head .am-head{margin-bottom:0!important}
/* Titolo sopra, poi il testo scorre attorno all'immagine, sempre a destra (float) */
.et_pb_column.am-grid.am-case{display:block}
.am-case::after{content:"";display:block;clear:both}
.am-sec .am-case>.am-case-img{float:right;width:54%;max-width:none;margin:6px 0 30px clamp(28px,4vw,48px)}
.am-sec .et_pb_module.am-case-title{display:block;padding-bottom:clamp(24px,3vw,36px)}
.am-sec .am-case-title h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.am-sec .am-case-txt h3:first-child{margin-top:0}
.am-sec .et_pb_module.am-case-txt{display:block}
.am-case-txt h3,.am-case-txt ul{display:flow-root}
.am-case-img .et_pb_image_wrap{display:block;width:100%;overflow:hidden;border-radius:20px;box-shadow:0 30px 60px -34px rgba(15,23,42,.6)}
.am-case-img img{display:block;width:100%;height:auto;aspect-ratio:7/4;object-fit:cover;will-change:transform;backface-visibility:hidden}
.am-case-num{margin-bottom:12px;font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--am-cyan)}
.am-sec .am-case-txt h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.am-sec .am-case-txt h3{margin-top:26px;padding-left:14px;border-left:4px solid var(--am-amber);font-size:1.05rem}
.am-sec .am-case-txt h3.am-sol{border-left-color:var(--am-blue)}
.am-sec .am-case-txt h3.am-res{border-left-color:var(--am-green)}
.am-case-txt p,.am-case-txt ul{margin-top:8px!important;font-size:1rem}
.am-case-txt ul{padding-left:1.2em;list-style:disc;color:var(--am-mute)}
@media (max-width:780px){.am-sec .am-case>.am-case-img{float:none;width:100%;margin:0 0 26px}}
@media (prefers-reduced-motion:no-preference){.am-case-img img{animation:am-breathe 16s ease-in-out infinite alternate}}

/* ---------- Prima / Dopo: problemi e miglioramenti ---------- */
.am-sec .am-cap h4{margin:28px 0 0;padding:0;font-family:var(--am-font);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--am-mute)}
.am-sec ul.am-pd{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.am-sec ul.am-pd li{position:relative;padding:14px 16px 14px 48px;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:var(--am-mute);font-size:.97rem;line-height:1.5}
.am-pd li strong{display:block;color:var(--am-ink)}
.am-pd li::before{content:"";position:absolute;left:16px;top:17px;width:18px;height:18px;border-radius:50%;background:var(--am-amber)}
.am-pd li::after{content:"";position:absolute;left:21px;top:25px;width:8px;height:2px;background:#fff}
.am-sec ul.am-pd--ok li{border-color:#a7f3d0;background:#ecfdf5}
.am-pd--ok li::before{background:var(--am-green)}
.am-pd--ok li::after{left:23px;top:21px;width:4px;height:8px;background:none;border:solid #fff;border-width:0 2px 2px 0;rotate:45deg}
.am-sec .et_pb_module.am-closing{padding-top:clamp(36px,5vw,56px)}
.am-sec .am-closing p{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:700;color:var(--am-ink)}

/* ---------- Casi pratici: E il tuo caso? ---------- */
/* Due immagini a incastro: la seconda copre l'angolo inferiore destro della prima e vi sfuma dentro */
.et_pb_column.am-grid.am-tuo{grid-template-columns:repeat(20,minmax(0,1fr));grid-template-rows:2fr 1fr 2fr;gap:0}
.am-tuo>.am-shot:nth-child(1){grid-column:1/14;grid-row:1/3}
.am-tuo>.am-shot:nth-child(2){grid-column:8/21;grid-row:2/4;z-index:2}
.am-tuo .am-shot img{aspect-ratio:7/4}
.am-tuo>.am-shot:nth-child(2) .et_pb_image_wrap{-webkit-mask-image:radial-gradient(ellipse 82% 76% at 0 0,transparent 26%,#000 100%);mask-image:radial-gradient(ellipse 82% 76% at 0 0,transparent 26%,#000 100%)}
/* Alone chiaro sulla zona di sovrapposizione */
.am-tuo::after{content:"";grid-column:8/14;grid-row:2/3;z-index:3;pointer-events:none;background:radial-gradient(ellipse 75% 85% at 45% 45%,rgba(255,255,255,.34),rgba(255,255,255,0) 100%)}
@media (max-width:640px){.am-tuo>.am-shot:nth-child(1){grid-column:1/18}.am-tuo>.am-shot:nth-child(2){grid-column:4/21}.am-tuo::after{grid-column:4/18}}
.am-sec .et_pb_module.am-tuo-txt{max-width:820px;padding-top:clamp(32px,4vw,52px)}
.am-sec .am-tuo-txt p{margin-top:18px;font-size:1.15rem}
.am-sec .am-tuo-txt p:first-child{margin-top:0}
.am-dark .am-tuo-txt strong{color:#fff}

/* ---------- Menu in maiuscoletto ---------- */
.am-nav a,.am-burger nav a:not(.am-btn){font-variant-caps:small-caps;letter-spacing:.03em}
.am-nav a{font-size:.97rem;padding:10px 8px}
.am-nav a::after{left:8px;right:8px}
.am-sec .am-bar{gap:14px}

/* ---------- Contatti: intestazione con immagine, modulo in evidenza, recapiti su fondo scuro ---------- */
.et_pb_section.am-page-hero{position:relative;padding:clamp(56px,7vw,100px) 0}
.am-page-hero .et_pb_row,.am-page-hero .et_pb_column{position:static}
.am-page-hero .et_pb_text{position:relative;z-index:2}
.am-page-hero .am-head{max-width:600px;margin-bottom:0!important}
.am-sec .et_pb_module.am-page-hero-img{position:absolute;inset:0 0 0 auto;width:60%;max-width:none;z-index:1}
.am-page-hero-img .et_pb_image_wrap{display:block;width:100%;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 50%);mask-image:linear-gradient(90deg,transparent,#000 50%)}
.am-page-hero-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.am-sec.am-dark p.am-geo{background:rgba(103,232,249,.14);color:#a5f3fc}
.am-sec .am-card.am-form-card{padding:clamp(26px,3.4vw,44px);border:0;box-shadow:0 0 0 1px var(--am-line),0 34px 70px -44px rgba(15,23,42,.55)}
.am-sec .am-card.am-form-card:hover{box-shadow:0 0 0 1px var(--am-line),0 34px 70px -44px rgba(15,23,42,.55)}
.am-sec .am-card.am-side{padding:clamp(22px,2.6vw,34px) clamp(24px,3vw,38px);border:0;background:linear-gradient(160deg,var(--am-night),var(--am-deep));color:#fff}
.am-sec .am-card.am-side::before{display:none}
.am-ci{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.am-ci-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(103,232,249,.14);color:var(--am-cyan-l)}
.am-ci-ic svg{display:block;width:22px;height:22px}
.am-ci-tx{min-width:0}
.am-sec .am-side .am-ci h2{margin:2px 0 0;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--am-mute-d)}
.am-sec .am-side a.am-contact-link{margin-top:2px;color:#fff;font-size:clamp(1.05rem,1.7vw,1.3rem)}
.am-sec .am-side .am-ci p{margin-top:4px!important;color:#e2e8f0;font-size:1rem}
.am-fine{padding-top:18px;font-size:.9rem;color:var(--am-mute-d)}
@media (max-width:980px){.am-sec .et_pb_module.am-page-hero-img{width:100%}.am-page-hero-img .et_pb_image_wrap{opacity:.22;-webkit-mask-image:linear-gradient(180deg,transparent,#000 80%);mask-image:linear-gradient(180deg,transparent,#000 80%)}}

/* ---------- Chi sono ---------- */
.am-sec ol.am-time{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.am-sec ol.am-time li{position:relative;padding:18px 8px 0 0;border-top:2px solid rgba(255,255,255,.2);color:#fff;font-size:.92rem;font-weight:700;line-height:1.35}
.am-time li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--am-cyan-l)}
.am-time li:last-child::before{background:var(--am-green);box-shadow:0 0 0 5px rgba(16,185,129,.28)}
.am-time small{display:block;margin-bottom:4px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--am-cyan-l)}
.am-sec .et_pb_module.am-time-wrap{padding-top:clamp(36px,5vw,56px)}
.am-fact{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--am-line);color:var(--am-mute)}
.am-fact b{flex:none;min-width:128px;font-size:1.9rem;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--am-blue)}
.am-sec .am-facts h3{margin-top:26px;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--am-mute)}
.am-sec ul.am-chips{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.am-sec ul.am-chips li{padding:7px 14px;border:1px solid var(--am-line);border-radius:999px;background:var(--am-bg);color:var(--am-ink);font-size:.92rem;font-weight:600;line-height:1.3}
.am-sec .am-card.am-facts:hover{transform:none;box-shadow:none;border-color:var(--am-line)}
.am-sec p.am-quote{margin-top:30px!important;margin-bottom:14px;padding-left:22px;border-left:4px solid var(--am-cyan);color:var(--am-ink);font-size:clamp(1.25rem,2.4vw,1.75rem);font-weight:750;line-height:1.3;letter-spacing:-.02em}
.am-sec .am-prose strong{color:var(--am-ink)}
.am-sec .am-closing:not(.am-center) p{max-width:820px}
.am-sec .am-card.am-mode{padding:clamp(28px,3.4vw,44px)}
.am-sec .am-card.am-mode::before{display:none}
.am-sec .am-card.am-mode:hover{transform:none}
.am-sec .am-mode h3{font-size:1.5rem}
.am-sec .am-mode h4{margin:26px 0 0;padding:0;font-family:var(--am-font);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--am-mute)}
.am-tag--src{background:#dbeafe;color:#1e40af}
.am-sec .am-mode p.am-mode-end{margin-top:22px!important;color:var(--am-ink);font-weight:700}
.am-sec ul.am-pd li:not(:has(strong)){color:var(--am-ink);font-weight:600}
@media (max-width:980px){.am-sec ol.am-time{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:30px}}
@media (max-width:520px){.am-sec ol.am-time{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Con sette voci di menu il sottotitolo accanto al logo compare solo sugli schermi larghi */
@media (max-width:1480px){.am-top .am-brand small{display:none}}

/* ---------- Footer a colonne ---------- */
.et_pb_section.am-foot{position:relative;padding:0;background:#08111f;font-size:.95rem}
.et_pb_section.am-foot::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--am-blue),var(--am-cyan-l),var(--am-green))}
.am-foot .et_pb_text_inner{display:block}
.am-ft{display:grid;grid-template-columns:1.7fr .9fr 1.3fr .9fr;gap:clamp(28px,4vw,56px);padding:clamp(48px,6vw,76px) 0 clamp(32px,4vw,48px)}
.am-ft p{margin:0;padding:0}
.am-ft-brand .am-logo{width:56px;height:56px}
.am-foot .am-brand small{display:block}
.am-ft-desc{max-width:340px;margin-top:18px;color:var(--am-mute-d);line-height:1.6}
.am-foot .am-ft nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.am-ft-t{margin-bottom:10px;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--am-cyan-l)}
.am-foot .am-ft nav a,.am-ft nav span{display:block;padding:6px 0;color:#dbe4f0;text-decoration:none;transition:color .2s,translate .2s}
.am-foot .am-ft nav a:hover{color:#fff;text-decoration:none;translate:4px 0}
.am-ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem;color:var(--am-mute-d)}
.am-foot .am-ft-bottom a{color:var(--am-mute-d);text-decoration:none}
.am-foot .am-ft-bottom a:hover{color:#fff}
@media (max-width:980px){.am-ft{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.am-ft{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.am-foot .am-ft nav a{transition:none}}

/* ---------- Pulsante Torna su (inserito da functions.php) ---------- */
a.am-totop{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,32px);z-index:998;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--am-blue);color:#fff;text-decoration:none;box-shadow:0 14px 30px -12px rgba(37,99,235,.85);opacity:0;visibility:hidden;translate:0 14px;transition:opacity .3s,translate .3s,visibility .3s,background-color .2s}
a.am-totop.is-on{opacity:1;visibility:visible;translate:0 0}
a.am-totop.is-on:hover{background:var(--am-blue-d);translate:0 -3px}
a.am-totop:focus-visible{outline:3px solid var(--am-cyan-l);outline-offset:3px}
@media (prefers-reduced-motion:reduce){a.am-totop{transition:none}}

.am-fact--now b{color:var(--am-green)}
.am-fact--now span{color:var(--am-ink);font-weight:600}
