@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-normal-0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-normal-0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-normal-0.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/sourceserif4-italic-1.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sourceserif4-normal-2.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sourceserif4-normal-2.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --petrol:#0A454E; --petrol-deep:#06333A; --petrol-soft:#14616D; --petrol-line:#1E6E79;
  --paper:#F2F5F5; --card:#FFFFFF; --ink:#16282C; --muted:#5A6E72; --rule:#D3DEDF;
  --brass:#B5822E; --brass-deep:#9C6E22; --brass-soft:#F5EBDA; --wa:#1F9D55;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --wrap:36rem; --wide:62rem;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);
  font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--sans);text-wrap:balance;margin:0;line-height:1.15;letter-spacing:-.018em}
p{margin:0 0 1em}
a{color:inherit}
strong{font-weight:600}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:1.25rem}
.wide{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:1.25rem}
section{padding-block:3rem}
.eyebrow{font-family:var(--sans);font-size:.6875rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--petrol-soft);margin:0 0 .8rem}
h2{font-size:1.5rem;font-weight:700;margin-bottom:1rem}
h3{font-size:1.125rem;font-weight:700;margin-bottom:.6rem}
.dots{position:relative;overflow:hidden}
.dots::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;
  background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.1px,transparent 1.2px);background-size:16px 16px}
.dots>*{position:relative}

.top{background:var(--petrol);padding-block:1.25rem 1.1rem;display:flex;justify-content:center}
.top img{width:9.5rem;height:auto}
@media (min-width:720px){.top{padding-block:1.6rem 1.4rem}.top img{width:11rem}}

.cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;
  font-family:var(--sans);font-weight:700;font-size:1.0625rem;line-height:1.25;text-align:center;
  padding:1.05rem 1.25rem;border:0;border-radius:4px;cursor:pointer;text-decoration:none;
  background:var(--brass);color:#fff;box-shadow:0 6px 18px rgba(181,130,46,.32);
  transition:transform .12s ease,background .12s ease}
.cta:hover{background:var(--brass-deep)}
.cta:active{transform:translateY(1px)}
.cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.cta[disabled]{background:#C9D3D4;box-shadow:none;cursor:not-allowed;color:#fff}
.wa-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);font-size:.875rem;
  font-weight:600;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.wa-link svg{flex:none}

footer{background:var(--petrol-deep);color:#9FC6CA;padding-block:2rem 5.5rem;
  font-family:var(--sans);font-size:.8125rem;line-height:1.7}
footer b{color:#fff;font-weight:600}
footer a{color:#9FC6CA}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (min-width:720px){
  section{padding-block:4.25rem}
  h2{font-size:1.875rem}
  footer{padding-block:2.5rem}
}

/* ---------- hero ---------- */
.hero{background:var(--petrol-deep);color:#DCEAEB;padding-block:1.9rem 0}
.hero .eyebrow{color:#8FC4C9}
.h1{font-family:var(--sans);font-weight:700;color:#fff;font-size:2rem;line-height:1.1;
  letter-spacing:-.025em;margin:0 0 .8rem;text-wrap:balance}
.sub{font-size:1.0625rem;color:#CBDEDF;margin:0 0 1.25rem}
.checks{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.6rem}
.checks li{display:grid;grid-template-columns:1.35rem 1fr;gap:.55rem;font-family:var(--sans);
  font-size:.9375rem;line-height:1.4;color:#EAF2F2}
.checks li b{color:#fff;font-weight:700}
.tick{width:1.35rem;height:1.35rem;border-radius:50%;background:var(--brass);display:grid;place-items:center;margin-top:.05rem}
.hero .micro{font-family:var(--sans);font-size:.8125rem;color:#9FC6CA;text-align:center;margin:.75rem 0 .35rem}
.hero .wa-row{text-align:center;color:#CFE3E4;margin:0 0 1.6rem}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;font-family:var(--sans);
  font-size:.78rem;color:#B9D5D7;padding-block:1rem;border-top:1px solid rgba(255,255,255,.1)}
.trust b{color:#fff;font-weight:700}
.trust .stars{color:#E3B76B;letter-spacing:.08em}
.hero-fig{margin:1.4rem 0 0;position:relative}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--petrol-deep)}
.ba div{position:relative}
.ba img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ba span{position:absolute;left:.5rem;bottom:.5rem;font-family:var(--sans);font-size:.625rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;background:rgba(6,51,58,.85);color:#fff;padding:.3rem .5rem;border-radius:2px}
.ba div:last-child span{background:var(--brass)}
.hero-fig .ba{border-radius:4px 4px 0 0;overflow:hidden}
.hero-fig figcaption{background:var(--card);color:var(--muted);font-family:var(--sans);font-size:.75rem;
  line-height:1.45;padding:.7rem .85rem;border-bottom:3px dashed var(--brass)}
.hero-grid{display:block}

/* ---------- results ---------- */
.results{background:var(--paper)}
.rail-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .6rem}
.rail-head p{font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--petrol-soft);margin:0}
.rail-head span{font-family:var(--sans);font-size:.7rem;color:var(--muted);white-space:nowrap}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:62%;gap:.55rem;overflow-x:auto;
  scroll-snap-type:x mandatory;padding-bottom:.6rem;margin-bottom:1.6rem;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin}
.frame{margin:0;background:var(--card);border:1px solid var(--rule);border-radius:4px;overflow:hidden;scroll-snap-align:start}
.frame img{width:100%;aspect-ratio:3/4;object-fit:cover}
.frame figcaption{font-family:var(--sans);font-size:.6875rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--petrol);padding:.5rem .6rem;border-top:1px solid var(--rule)}
.frame figcaption b{color:var(--brass);margin-right:.35rem}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.pair .frame img{aspect-ratio:4/5}
.cases{display:grid;gap:1.4rem;margin-bottom:.5rem}
.case-t{font-family:var(--sans);font-size:.9375rem;font-weight:700;margin:0 0 .55rem;color:var(--ink)}
.healed{background:var(--petrol);color:#DCEAEB;border-radius:6px;padding:1.4rem 1.1rem 1.1rem;margin-top:2rem}
.healed .eyebrow{color:#E3B76B}
.healed h3{color:#fff;font-size:1.3125rem;margin-bottom:.55rem}
.healed p{font-size:1rem;color:#CBDEDF}
.healed .frame{border-color:rgba(255,255,255,.15)}
.healed .frame figcaption{color:var(--petrol)}
.healed-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.healed-grid .frame img{aspect-ratio:1/1}

/* ---------- difference ---------- */
.diff{background:var(--card);border-block:1px solid var(--rule)}
.draw{margin:0 0 1.6rem}
.draw img{width:100%;border-radius:4px 4px 0 0}
.draw figcaption{font-family:var(--sans);font-size:.78rem;line-height:1.45;color:var(--muted);background:var(--paper);
  padding:.7rem .85rem;border-bottom:3px dashed var(--brass)}
.vid{margin:1.4rem auto 1.6rem;max-width:20rem}
.vid video{display:block;width:100%;height:auto;aspect-ratio:480/704;border-radius:6px;background:#0d2a2f;object-fit:cover}
.vid figcaption{font-family:var(--sans);font-size:.78rem;line-height:1.45;color:var(--muted);text-align:center;margin-top:.6rem}
.pt{padding-block:1.05rem;border-top:2px dashed var(--rule)}
.pt:first-of-type{border-top:0;padding-top:.2rem}
.pt h3{font-size:1.0625rem;margin-bottom:.35rem;color:var(--petrol)}
.pt p{margin:0;font-size:1rem}
.after-cta{margin-top:1.6rem}

/* ---------- matteo ---------- */
.mat{display:grid;gap:1.2rem;align-items:center}
.mat img{border-radius:4px;width:100%}
.mat .creds{font-family:var(--sans);font-size:.8125rem;color:var(--muted);margin:0}

/* ---------- reviews ---------- */
.revs{background:var(--petrol-deep);color:#DCEAEB}
.revs h2{color:#fff}
.revs .eyebrow{color:#8FC4C9}
.stars-lg{font-family:var(--sans);color:#E3B76B;font-size:1.05rem;letter-spacing:.1em;margin:-.4rem 0 1.3rem}
.stars-lg span{color:#B9D5D7;font-size:.8125rem;letter-spacing:0;margin-left:.4rem}
.rev{background:rgba(255,255,255,.06);border-left:3px solid var(--brass);border-radius:0 4px 4px 0;
  padding:1rem 1.05rem;margin:0 0 .8rem}
.rev p{font-style:italic;font-size:1rem;line-height:1.5;margin:0 0 .5rem;color:#EEF5F5}
.rev cite{font-family:var(--sans);font-style:normal;font-size:.78rem;font-weight:700;color:#E3B76B}
.revs .more{font-family:var(--sans);font-size:.8125rem;color:#9FC6CA;margin-top:1.1rem}

/* ---------- faq ---------- */
details{border-bottom:1px solid var(--rule)}
details:first-of-type{border-top:1px solid var(--rule)}
summary{font-family:var(--sans);font-weight:700;font-size:1rem;padding:1.05rem 2.2rem 1.05rem 0;
  cursor:pointer;list-style:none;position:relative;line-height:1.35;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.25rem;top:.8rem;font-size:1.45rem;font-weight:500;color:var(--brass);line-height:1}
details[open] summary::after{content:"\2212"}
summary:focus-visible{outline:2px solid var(--petrol);outline-offset:2px}
.ans{padding:0 0 1.1rem}
.ans p{margin:0;font-size:1rem}
.ans p+p{margin-top:.6rem}

/* ---------- form ---------- */
.book{background:var(--petrol-deep);color:#DCEAEB}
.book h2{color:#fff}
.book .lead{color:#CBDEDF;margin-bottom:1.5rem}
.promise{border:1px solid rgba(201,154,60,.45);border-radius:6px;padding:1.1rem 1.1rem .4rem;margin-bottom:1.25rem;background:rgba(255,255,255,.04)}
.promise-t{font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 .8rem}
.promise ul{list-style:none;margin:0;padding:0}
.promise li{font-family:var(--sans);display:flex;gap:.65rem;align-items:flex-start;margin:0 0 .85rem;color:#DCE8E8;font-size:.97rem;line-height:1.5}
.promise li b{color:#fff}
.promise .tick{flex:0 0 1.25rem;height:1.25rem;border-radius:50%;background:var(--brass);display:inline-flex;align-items:center;justify-content:center;margin-top:.15rem}
.card{background:var(--card);color:var(--ink);border-radius:6px;padding:1.4rem 1.15rem 1.3rem;
  border-top:4px solid var(--brass);box-shadow:0 18px 44px rgba(0,0,0,.28)}
.card-t{font-size:1.1875rem;color:var(--petrol);margin-bottom:1.1rem}
.steps-bar{display:flex;align-items:center;gap:.6rem;margin:0 0 1.2rem;font-family:var(--sans);
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bar{flex:1;height:4px;background:var(--rule);border-radius:2px;overflow:hidden}
.bar i{display:block;height:100%;width:50%;background:var(--brass);transition:width .3s ease}
fieldset{border:0;margin:0 0 1.15rem;padding:0}
legend{font-family:var(--sans);font-size:.9375rem;font-weight:700;margin:0 0 .6rem;padding:0;color:var(--petrol)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:block;font-family:var(--sans);font-size:.875rem;font-weight:600;line-height:1.25;
  padding:.7rem .85rem;border:1.5px solid var(--rule);border-radius:999px;background:#fff;color:var(--ink);
  cursor:pointer;transition:border-color .12s ease,background .12s ease}
.chip input:checked+span{background:var(--petrol);border-color:var(--petrol);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.field{margin-bottom:1rem}
.field label{display:block;font-family:var(--sans);font-size:.875rem;font-weight:700;margin-bottom:.4rem;color:var(--petrol)}
.field label small{font-weight:500;color:var(--muted)}
.field input{width:100%;font-family:var(--sans);font-size:1rem;padding:.9rem .85rem;
  border:1.5px solid var(--rule);border-radius:4px;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
.field input:focus{outline:0;border-color:var(--petrol);box-shadow:0 0 0 3px rgba(10,69,78,.14)}
.field input[aria-invalid="true"]{border-color:#B3322C}
.err{font-family:var(--sans);font-size:.78rem;color:#B3322C;margin:.35rem 0 0;display:none}
.err.on{display:block}
.back{background:none;border:0;font-family:var(--sans);font-size:.8125rem;color:var(--muted);
  text-decoration:underline;cursor:pointer;padding:.8rem 0 0;display:block;margin:0 auto}
.consent{margin:.2rem 0 1.1rem}
.chk{display:flex;gap:.65rem;align-items:flex-start;font-family:var(--sans);font-size:.8125rem;line-height:1.45;color:var(--ink);margin:0 0 .75rem;cursor:pointer}
.chk input{flex:0 0 auto;width:1.2rem;height:1.2rem;margin:.05rem 0 0;accent-color:var(--petrol);cursor:pointer}
.chk a{color:var(--petrol)}
.chk small{display:block;color:var(--muted);font-size:.75rem;margin-top:.15rem}
.consent .err{margin:-.4rem 0 .75rem 1.85rem}
.chk.bad{color:#B3322C}
.consent.note{margin:0 0 1rem!important}
.consent.note,.consent .note{font-family:var(--sans);font-size:.75rem;color:var(--muted);line-height:1.45;margin:.1rem 0 0}
.consent.note a,.consent .note a{color:var(--muted)}
.fine{font-family:var(--sans);font-size:.75rem;color:var(--muted);text-align:center;line-height:1.5;margin:.85rem 0 0}
.fine a{color:var(--muted)}
.book .wa-row{text-align:center;margin-top:1.4rem;color:#CFE3E4}
.sent{text-align:center;padding:1rem .4rem}
.sent .ok{width:3rem;height:3rem;border-radius:50%;background:var(--brass);color:#fff;display:grid;place-items:center;margin:0 auto .9rem;font-size:1.4rem}

/* ---------- foto a schermo intero ---------- */
img.zoomable{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:2147483000;background:#04191D;display:flex;align-items:center;justify-content:center;padding:3.4rem .4rem 4.4rem;-webkit-tap-highlight-color:transparent}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 12px 40px rgba(0,0,0,.45);cursor:default}
.lb button{position:absolute;z-index:2;display:grid;place-items:center;width:2.9rem;height:2.9rem;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;padding:0}
.lb button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.lb-x{top:.6rem;right:.6rem}
.lb-p{left:.45rem;top:50%;transform:translateY(-50%)}
.lb-n{right:.45rem;top:50%;transform:translateY(-50%)}
.lb-c{position:absolute;left:1rem;right:1rem;bottom:1.3rem;margin:0;text-align:center;color:#E3EEEF;font-family:var(--sans);font-size:.875rem;line-height:1.4}
.lb-i{position:absolute;top:1.3rem;left:1rem;margin:0;color:#9FC6CA;font-family:var(--sans);font-size:.8rem;letter-spacing:.05em}
html.lb-on,html.lb-on body{overflow:hidden}
.zoom-hint{font-family:var(--sans);font-size:.8125rem;color:var(--muted);margin:-.4rem 0 1.2rem}
/* ---------- sticky ---------- */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--petrol-deep);
  padding:.65rem 1rem;padding-bottom:calc(.65rem + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--petrol-line);transform:translateY(110%);transition:transform .28s ease;
  box-shadow:0 -6px 22px rgba(0,0,0,.22)}
.sticky.on{transform:translateY(0)}
.sticky .cta{padding:.85rem 1rem;font-size:.9375rem;box-shadow:none}

@media (max-width:380px){.h1{font-size:1.75rem}}
@media (min-width:720px){
  .h1{font-size:2.75rem}
  .hero{padding-block:3rem 0}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:start}
  .hero-fig{margin-top:.2rem}
  .hero .micro,.hero .wa-row{text-align:left}
  .trust{justify-content:flex-start;margin-top:2rem}
  .cta{width:auto;padding:1.1rem 2rem}
  .cta.block{width:100%}
  .rail{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);grid-auto-columns:auto;overflow:visible}
  .cases{max-width:30rem}
  .healed{padding:2rem 2rem 1.6rem}
  .healed-grid{grid-template-columns:repeat(4,1fr)}
  .mat{grid-template-columns:.8fr 1.2fr;gap:2rem}
  .card{padding:2rem 1.9rem}
  .sticky{display:none}
}

[hidden]{display:none!important}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
html{-webkit-text-size-adjust:100%}
