/* PERFECTA Stock — sito chiaro, mobile-first */
:root{--bg:#faf7f2;--card:#fff;--ink:#15120f;--mut:#6b645c;--line:#e9e2d7;--flame:#ff5a1c;--flame-d:#e24a0e;--soft:#fff1ea;--ok:#1e9e5a;--r:20px;--sh:0 1px 2px rgba(21,18,15,.05),0 12px 32px -12px rgba(21,18,15,.14);--f:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--m:"IBM Plex Mono",ui-monospace,monospace;color-scheme:light}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f);background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px;overflow-x:hidden;padding-bottom:84px}
a{color:inherit}img{max-width:100%;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99;border-radius:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.mono,.eyebrow{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.eyebrow{color:var(--flame-d);font-weight:500;display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}
.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--flame)}
h1,h2,h3{letter-spacing:-.025em;line-height:1.08;font-weight:800}
h2{font-size:clamp(27px,7.2vw,42px)}h3{font-size:18px;line-height:1.2}
em{font-style:normal;color:var(--flame)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;font-weight:700;font-size:15px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .2s,background .2s}
.btn:active{transform:scale(.98)}
.btn-flame{background:var(--flame);color:#fff;box-shadow:0 10px 24px -8px rgba(255,90,28,.65)}.btn-flame:hover{background:var(--flame-d)}
.btn-ghost,.btn-line{background:#fff;color:var(--ink);border-color:var(--line)}.btn-ghost:hover,.btn-line:hover{border-color:var(--ink)}
.btn-ink{background:var(--ink);color:#fff}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:12px}

/* barra alta */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.scrolled{border-color:var(--line)}
.nav .wrap{display:flex;align-items:center;gap:16px;height:60px}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;margin-right:auto}
.logo-mark{width:30px;height:30px;border-radius:9px;background:var(--flame);color:#fff;font-weight:900;display:grid;place-items:center;font-size:17px}
.logo b{font-weight:800;letter-spacing:-.01em;font-size:17px}.logo i{font-style:normal;color:var(--flame);font-weight:800}.logo small{font-family:var(--m);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-left:6px}
.nav-links{display:none;gap:22px;font-size:14px;font-weight:600;color:var(--mut)}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--ink)}
.nav-login{font-size:14px;font-weight:600;text-decoration:none;color:var(--mut);display:none}

/* hero */
.hero{padding:26px 0 8px;position:relative}
.hero:before{content:"";position:absolute;inset:-40px 0 auto 0;height:520px;background:radial-gradient(60% 60% at 80% 0%,rgba(255,90,28,.14),transparent 70%),radial-gradient(50% 50% at 0% 30%,rgba(255,176,32,.12),transparent 70%);pointer-events:none;z-index:-1}
.hero .wrap{display:grid;gap:26px}
.pill-top{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 8px;font-size:12.5px;font-weight:600;color:var(--mut);box-shadow:var(--sh);margin-bottom:16px}
.pill-top b{background:var(--flame);color:#fff;border-radius:999px;padding:2px 8px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
h1{font-size:clamp(38px,11vw,66px);letter-spacing:-.035em;line-height:1.02}
.lead{margin-top:16px;font-size:17px;color:#3c362f;max-width:520px}.lead b{color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.cta-row .btn{flex:1 1 150px}
.checks{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-size:13px;font-weight:600;color:var(--mut)}
.checks span{display:inline-flex;align-items:center;gap:6px}.checks span:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5'/%3E%3C/svg%3E") center/100% no-repeat}
.hero-vis{position:relative;display:flex;justify-content:center;padding:10px 0 4px}

/* telefono */
.phone{position:relative;width:min(250px,64vw);aspect-ratio:780/1480;border-radius:34px;background:#15120f;padding:7px;box-shadow:0 30px 60px -20px rgba(21,18,15,.45),0 0 0 1px rgba(21,18,15,.5) inset}
.phone:before{content:"";position:absolute;top:13px;left:50%;transform:translateX(-50%);width:62px;height:16px;border-radius:12px;background:#15120f;z-index:2}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:28px;background:#f6f6f7}
.float{position:absolute;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 13px;box-shadow:var(--sh);font-size:12px;line-height:1.3;max-width:170px;animation:bob 6s ease-in-out infinite}
.float span{display:block;font-family:var(--m);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.float b{display:block;font-size:14px;margin-top:2px}
.float.warn{border-color:#ffd2bd;background:var(--soft)}.float.warn b{color:var(--flame-d)}
.f1{left:0;top:14%}.f2{right:0;top:44%;animation-delay:-2s}.f3{left:2%;bottom:8%;animation-delay:-4s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

/* strisce scorrevoli */
.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 18px 18px;margin:0 -18px;scrollbar-width:none;scroll-padding:0 18px}
.hscroll::-webkit-scrollbar{display:none}.hscroll>*{scroll-snap-align:start;flex:0 0 auto}
.strip{padding:22px 0 6px}.strip p{font-size:12px;color:var(--mut);margin-bottom:10px}
.pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 -18px;padding-inline:18px}.pills::-webkit-scrollbar{display:none}
.pill{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;white-space:nowrap}.pill small{color:var(--mut);font-weight:500;margin-left:4px}

/* sezioni */
.section{padding:46px 0 14px}
.sec-head{margin-bottom:22px;max-width:720px}.sec-head p{margin-top:12px;color:var(--mut);font-size:16.5px}
.steps{counter-reset:s}
.step{width:78vw;max-width:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh);counter-increment:s}
.step:before{content:"0" counter(s);font-family:var(--m);font-size:12px;color:var(--flame-d);font-weight:500;display:block;margin-bottom:26px;letter-spacing:.1em}
.step p{margin-top:8px;color:var(--mut);font-size:15px}
.step .time{display:inline-block;margin-top:14px;background:var(--soft);color:var(--flame-d);font-family:var(--m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;font-weight:500}
.fcard{width:74vw;max-width:290px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:6px}
.fcard .ic{width:42px;height:42px;border-radius:12px;background:var(--soft);display:grid;place-items:center;color:var(--flame-d);margin-bottom:10px}
.fcard .ic svg{width:22px;height:22px}.fcard p{color:var(--mut);font-size:14.5px}
.fcard .chip{margin-top:auto;padding-top:10px;font-weight:800;color:var(--ink);font-size:14px}.fcard .chip.warn{color:var(--flame-d)}.fcard .chip.ok{color:var(--ok)}

/* schermate */
.shots{padding-top:4px}.shot{width:210px;display:flex;flex-direction:column;align-items:center;gap:12px}
.shot .phone{width:210px;border-radius:30px}.shot .phone img{border-radius:24px}.shot span{font-weight:700;font-size:14px}
.shot small{display:block;text-align:center;color:var(--mut);font-size:12.5px;margin-top:-8px;max-width:200px}

/* cervello */
.cv{display:grid;gap:18px}
.cv-shot{position:relative;border-radius:var(--r);overflow:hidden;background:#0e0a1c;aspect-ratio:4/4.6;box-shadow:var(--sh);border:1px solid var(--line)}
.cv-shot iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}.cv-shot.on iframe{pointer-events:auto}
.cv-go{position:absolute;left:12px;right:12px;bottom:12px;min-height:46px;border-radius:14px;border:0;background:rgba(255,255,255,.94);font:700 14px var(--f);color:var(--ink);cursor:pointer}.cv-shot.on .cv-go{display:none}
.cv-txt ul{list-style:none;padding:0;display:grid;gap:12px;margin-bottom:18px}
.cv-txt li{padding-left:28px;position:relative;color:#3c362f;font-size:15.5px}.cv-txt li:before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;border-radius:50%;background:var(--flame) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5'/%3E%3C/svg%3E") center/100% no-repeat}.cv-txt li b{color:var(--ink)}

/* demo */
.demo{background:var(--ink);color:#fff;border-radius:28px;padding:26px 20px;margin:34px 0 6px;position:relative;overflow:hidden}
.demo:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,90,28,.55),transparent 70%)}
.demo>*{position:relative}.demo .eyebrow{color:#ffb08f}.demo h2 em{color:#ff8a5c}
.demo p{color:#cfc8bf;margin-top:10px;font-size:15.5px}
.demo-badge{display:inline-block;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:5px 11px;margin-bottom:14px;color:#ddd}
.demo .cta-row .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.tiles{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:20px -20px 0;padding:0 20px 4px}.tiles::-webkit-scrollbar{display:none}
.tile{flex:0 0 auto;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:11px 15px;font-weight:700;font-size:13.5px;white-space:nowrap;color:#fff}.tile:hover{background:rgba(255,255,255,.16)}

/* numeri */
.nums{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.num{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}.num b{display:block;font-size:34px;letter-spacing:-.03em;color:var(--flame);line-height:1}.num span{display:block;margin-top:8px;font-size:13.5px;color:var(--mut)}

/* prezzi */
.ptabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#efe9df;border-radius:16px;padding:5px;margin-bottom:14px}
.pt{border:0;background:transparent;border-radius:12px;padding:10px 4px;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--mut)}
.pt b{font-size:14.5px;color:var(--ink)}.pt span{font-family:var(--m);font-size:12px}
.pt.on{background:#fff;box-shadow:0 2px 10px rgba(21,18,15,.12)}.pt.on span{color:var(--flame-d);font-weight:500}
.pp{display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh)}.pp.on{display:block}
.pt-d{font-size:18px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.meta i{font-style:normal;background:var(--soft);color:var(--flame-d);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}
.inc{font-size:13.5px;color:var(--mut);margin-bottom:10px}
.pg{margin-top:14px}.pg em{display:block;font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.pg div{display:grid;gap:7px}.pg span{position:relative;padding-left:24px;font-size:14.5px}.pg span:before{content:"";position:absolute;left:0;top:3px;width:15px;height:15px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5'/%3E%3C/svg%3E") center/100% no-repeat}
.pp .btn{margin-top:20px;width:100%}
.price-note{font-size:12.5px;color:var(--mut);margin:12px 4px}
.cmp-d{margin-top:6px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.cmp-d summary{padding:16px 18px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.cmp-d summary:after{content:"+";font-size:20px;line-height:1;color:var(--flame)}.cmp-d[open] summary:after{content:"−"}.cmp-d summary::-webkit-details-marker{display:none}
.cmp-h{display:none}.cmp-s{overflow-x:auto;-webkit-overflow-scrolling:touch}.cmp table{border-collapse:collapse;min-width:560px;width:100%;font-size:13.5px}
.cmp th,.cmp td{padding:10px 12px;text-align:center;border-top:1px solid var(--line)}.cmp th:first-child,.cmp td:first-child{text-align:left}.cmp tbody th[scope=row]{text-align:left;font-weight:500;position:sticky;left:0;background:#fff;min-width:180px}
.cmp thead th{font-weight:800;position:sticky;top:0;background:#fff}.cmp .hot{color:var(--flame-d)}.cmp tr.grp th{background:#f6f1e9;text-align:left;font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);position:static}
.ck,.no{display:inline-block;width:18px;height:18px;border-radius:50%;vertical-align:middle}.ck{background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5'/%3E%3C/svg%3E") center/100% no-repeat}.no{background:#efe9df;position:relative}.no:after{content:"";position:absolute;left:5px;right:5px;top:8px;height:2px;background:#c9c0b3;border-radius:2px}.tx{font-weight:700;font-size:13px}

/* faq */
.faq{display:grid;gap:8px}.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.faq summary{padding:16px 18px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;font-size:15.5px;line-height:1.3}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:22px;line-height:1;color:var(--flame);flex:0 0 auto}.faq details[open] summary:after{content:"−"}
.faq details p{padding:0 18px 16px;color:var(--mut);font-size:15px}

/* contatto */
.contact{margin:44px 0 0;background:linear-gradient(160deg,#fff,var(--soft));border:1px solid #ffd9c8;border-radius:28px;padding:26px 20px;display:grid;gap:22px}
.contact p{color:var(--mut);margin-top:10px}
.form{display:grid;gap:10px}.form input,.form select,.form textarea{width:100%;min-height:50px;border-radius:14px;border:1.5px solid var(--line);background:#fff;padding:12px 14px;font:16px var(--f);color:var(--ink);outline:none}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--flame);box-shadow:0 0 0 3px rgba(255,90,28,.15)}
.form .hp{position:absolute;left:-9999px}.form-note{font-size:13px;color:var(--mut)}.form-note.ok{color:var(--ok);font-weight:700}.form-note.err{color:#c8321a;font-weight:600}
footer{padding:34px 0 20px;color:var(--mut);font-size:13.5px}footer .wrap{display:grid;gap:10px}footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}footer a{text-decoration:none;font-weight:600;color:var(--ink)}

/* barra azioni mobile */
.dock{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;display:flex;gap:8px;padding:8px;border-radius:20px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 18px 40px -12px rgba(21,18,15,.35);transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dock.on{transform:none}.dock a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;font-weight:700;font-size:15px;text-decoration:none}.dock .d1{background:var(--flame);color:#fff}.dock .d2{background:#f1ebe1}

.rv{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}.rv.in,.shot-mode .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.float{animation:none}html{scroll-behavior:auto}}

@media (min-width:760px){
 body{padding-bottom:0}.dock{display:none}
 .nav-links,.nav-login{display:flex}.wrap{padding:0 32px}.hscroll,.pills,.tiles{margin-inline:0;padding-inline:0;overflow:visible}
 .hero{padding:56px 0 20px}.hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}.phone{width:300px}
 .steps,.feat{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px}.step,.fcard{width:auto;max-width:none}
 .feat{grid-template-columns:repeat(3,1fr)}.hscroll.shots{overflow-x:auto;padding-bottom:18px}
 .cv{grid-template-columns:1.15fr 1fr;align-items:center;gap:36px}.cv-shot{aspect-ratio:4/3.4}
 .demo{padding:44px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center}.tiles{flex-wrap:wrap;margin:0}
 .nums{grid-template-columns:repeat(4,1fr)}.contact{grid-template-columns:1fr 1fr;padding:44px;gap:44px}
 .ppanes{display:block}.pp{padding:30px}.ptabs{max-width:460px}.faq{grid-template-columns:1fr 1fr;align-items:start}
 .section{padding:80px 0 20px}.sec-head{margin-bottom:34px}
}

.pp:not(.full) .pg~.pg~.pg{display:none}
.more{width:100%;margin-top:16px;min-height:46px;border-radius:12px;border:1.5px dashed var(--line);background:transparent;font:700 14px var(--f);color:var(--flame-d);cursor:pointer}
.pp.full .more{display:none}
@media (min-width:760px){.pp:not(.full) .pg~.pg~.pg{display:block}.more{display:none}}
