:root{
  --teal:#0f5070; --teal-deep:#0a3a52; --amber:#e8871e; --amber-soft:#f4b25a;
  --sage:#3e8e7e; --ivory:#f6f4ef; --surface:#fff; --surface-2:#efece5; --border:#e2ddd3;
  --ink:#16222b; --ink-soft:#4a5763; --ink-faint:#7c8894;
  --shadow:0 1px 2px rgba(16,34,43,.05),0 12px 34px rgba(16,34,43,.09);
  --shadow-sm:0 1px 3px rgba(16,34,43,.08);
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.15;text-wrap:balance;color:var(--ink)}
b{font-weight:600}

/* masthead */
.masthead{background:radial-gradient(120% 100% at 90% -10%,color-mix(in srgb,var(--amber) 16%,transparent),transparent 55%),linear-gradient(155deg,var(--teal),var(--teal-deep));color:#eaf1f5;padding:0 0 clamp(44px,6vw,72px)}
.mh-top{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:clamp(36px,6vw,64px)}
.mh-brand{display:flex;align-items:center;gap:12px;font-weight:700;color:#fff}
.mh-brand .m{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-family:var(--serif);font-size:18px}
.mh-brand .m b{color:var(--amber-soft)}
.mh-brand small{display:block;font-weight:400;font-size:11px;color:#a9c2ce;letter-spacing:.02em}
.mh-doc{font-family:var(--mono);font-size:12px;color:#a9c2ce;letter-spacing:.04em;text-transform:uppercase}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-soft);margin:0 0 16px}
.masthead h1{color:#fff;font-size:clamp(30px,5vw,52px);letter-spacing:-.01em;margin:0 0 18px;max-width:18ch}
.masthead .lead{font-size:clamp(16px,2vw,20px);color:#cbdae2;max-width:66ch;margin:0}
.masthead .lead b{color:#fff}

main{padding:clamp(40px,6vw,72px) 0}
section{margin-bottom:clamp(48px,7vw,88px)}
section:last-child{margin-bottom:0}

/* intro */
.intro-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:32px;align-items:start}
.intro-grid h2{font-size:clamp(22px,3vw,30px);margin:0 0 14px}
.intro-grid p{color:var(--ink-soft);margin:0 0 14px;max-width:62ch}
.intro-side{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-sm)}
.intro-side h3{font-size:17px;margin:0 0 14px}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ticks li{position:relative;padding-left:28px;font-size:14.5px;color:var(--ink-soft)}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;background:color-mix(in srgb,var(--sage) 16%,transparent);color:var(--sage);font-size:11px;font-weight:700;display:grid;place-items:center}
@media(max-width:820px){.intro-grid{grid-template-columns:1fr}}

.obiettivi{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.ob{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:var(--shadow-sm)}
.ob-ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--teal) 11%,transparent);color:var(--teal);font-size:20px;margin-bottom:12px}
.ob h4{font-size:16px;margin:0 0 6px}
.ob p{font-size:13.5px;color:var(--ink-soft);margin:0}
@media(max-width:860px){.obiettivi{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.obiettivi{grid-template-columns:1fr}}

/* section head */
.sec-head{border-top:2px solid var(--teal);padding-top:22px;margin-bottom:32px}
.sec-head .tag{display:inline-block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:5px 11px;border-radius:7px;color:#fff;margin-bottom:12px}
.tag-bo{background:var(--amber)}.tag-pl{background:var(--teal)}.tag-plan{background:var(--sage)}
.sec-head h2{font-size:clamp(24px,3.5vw,34px);margin:0 0 8px}
.sec-head>p{color:var(--ink-soft);margin:0;max-width:70ch}

/* comparative */
.cmp{margin-bottom:44px}
.cmp-head{margin-bottom:16px;max-width:78ch}
.cmp-head h3{font-size:20px;margin:0 0 6px}
.cmp-head p{color:var(--ink-soft);font-size:14.5px;margin:0}
.cmp-imgs{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.cmp-imgs.single{grid-template-columns:1fr;max-width:820px}
.shot{margin:0;position:relative;border-radius:13px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface)}
.shot.old{filter:saturate(.96)}
.shot img{width:100%;height:auto;max-height:520px;object-fit:cover;object-position:top}
.badge{position:absolute;top:12px;left:12px;z-index:2;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:7px;box-shadow:var(--shadow-sm)}
.b-old{background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--border)}
.b-new{background:var(--amber);color:#fff}
@media(max-width:760px){.cmp-imgs{grid-template-columns:1fr}}

/* piano */
.phases{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.ph{display:grid;grid-template-columns:52px 1fr;gap:20px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 24px;box-shadow:var(--shadow-sm)}
.ph-n{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:22px;color:#fff;background:linear-gradient(140deg,var(--teal),var(--teal-deep))}
.ph:first-child .ph-n{background:linear-gradient(140deg,var(--amber),var(--amber-soft))}
.ph h4{font-size:17px;margin:2px 0 6px}
.ph p{margin:0 0 8px;color:var(--ink-soft);font-size:14.5px;max-width:74ch}
.ph-gg{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--teal);background:color-mix(in srgb,var(--teal) 9%,transparent);padding:4px 11px;border-radius:7px}

.totale{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:stretch}
.tot-box{background:linear-gradient(140deg,var(--teal),var(--teal-deep));color:#fff;border-radius:16px;padding:28px 30px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
.tot-lab{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-soft)}
.tot-val{font-family:var(--serif);font-weight:700;font-size:clamp(30px,5vw,46px);line-height:1;font-variant-numeric:tabular-nums}
.tot-val small{font-size:16px;font-weight:400;color:#bcd0da;font-family:var(--sans);margin-left:6px}
.tot-note{font-size:13.5px;color:#cbdae2;margin-top:6px;max-width:52ch}
.tot-side{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow-sm)}
.tot-side h4{font-size:16px;margin:0 0 10px}
.tot-side p{font-size:13.5px;color:var(--ink-soft);margin:0}
@media(max-width:820px){.totale{grid-template-columns:1fr}.ph{grid-template-columns:44px 1fr;gap:14px;padding:16px 18px}.ph-n{width:44px;height:44px;font-size:18px}}

/* footer */
.foot{border-top:1px solid var(--border);background:var(--surface);padding:36px 0;margin-top:clamp(40px,6vw,72px)}
.foot-brand{font-family:var(--serif);font-weight:700;color:var(--teal);font-size:18px;margin-bottom:8px}
.foot p{color:var(--ink-faint);font-size:12.5px;max-width:80ch;margin:0}

/* nota metodologica */
.metodo{margin-bottom:clamp(40px,6vw,64px)}
.metodo-box{display:flex;gap:18px;align-items:flex-start;background:color-mix(in srgb,var(--teal) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 22%,var(--border));border-left:4px solid var(--teal);border-radius:14px;padding:22px 26px}
.metodo-ic{font-size:26px;color:var(--teal);flex:none;line-height:1}
.metodo-box h3{font-size:18px;margin:0 0 8px}
.metodo-box p{margin:0;color:var(--ink-soft);font-size:14.5px;max-width:82ch}

/* incluso / non incluso */
.incluso{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:34px}
.inc{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow-sm)}
.inc-yes{border-top:3px solid var(--sage)}
.inc-no{border-top:3px solid var(--ink-faint)}
.inc h4{font-size:16px;margin:0 0 14px;display:flex;align-items:center;gap:9px}
.inc-ic{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;font-size:14px;font-weight:700}
.inc-yes .inc-ic{background:color-mix(in srgb,var(--sage) 16%,transparent);color:var(--sage)}
.inc-no .inc-ic{background:var(--surface-2);color:var(--ink-faint)}
.inc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.inc li{font-size:14px;color:var(--ink-soft);padding-left:16px;position:relative}
.inc li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%}
.inc-yes li::before{background:var(--sage)}
.inc-no li::before{background:var(--ink-faint)}
@media(max-width:760px){.incluso{grid-template-columns:1fr}}

/* logo EWT nel masthead */
.mh-ewt{height:34px;width:auto;opacity:.95}
@media(max-width:520px){.mh-ewt{height:28px}}

/* card alternativa 35gg */
.tot-alt{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-top:3px solid var(--amber)}
.tot-lab-alt{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.tot-val-alt{font-family:var(--serif);font-weight:700;font-size:clamp(26px,4vw,38px);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.tot-val-alt small{font-size:15px;font-weight:400;color:var(--ink-faint);font-family:var(--sans);margin-left:6px}
.tot-alt p{font-size:13.5px;color:var(--ink-soft);margin:4px 0 0}

/* logo EWT a sinistra nel brand (sostituisce il quadrato P) */
.mh-brand .mh-ewt{height:40px;width:auto;opacity:1}
@media(max-width:520px){.mh-brand .mh-ewt{height:32px}}
.foot-copy{margin-top:12px!important;font-weight:600;color:var(--ink-soft)!important;letter-spacing:.02em}

/* solo "cosa comprende": card unica a piena larghezza */
.incluso{grid-template-columns:1fr}

/* card 35gg "pompata" — opzione premium in evidenza */
.tot-alt{background:linear-gradient(160deg,color-mix(in srgb,var(--amber) 8%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--amber) 35%,var(--border));border-top:4px solid var(--amber);box-shadow:0 2px 6px rgba(232,135,30,.12),0 14px 36px rgba(16,34,43,.10);position:relative}
.tot-alt::after{content:"CONSIGLIATA";position:absolute;top:16px;right:18px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff;background:var(--amber);padding:4px 9px;border-radius:6px}
.tot-alt p b{color:var(--ink);font-weight:600}

/* fix sovrapposizione badge CONSIGLIATA con etichetta */
.tot-alt{padding-top:44px}
.tot-alt::after{top:14px;right:16px}
.tot-lab-alt{padding-right:0;max-width:100%}
