
/*
Theme Name: Alessia Portfolio Theme
Theme URI: https://alessia.dev/
Author: Alessia Sbrogiò
Description: Portfolio WordPress responsive con stile editoriale chiaro, animazioni leggere e pannello accessibilità.
Version: 2.0
*/
:root{
  /* Palette presa da sbrogiowebdev.it */
  --primary-color:#2F62C9;
  --secondary-color:#8162EE;
  --accent-color:#EB28DB;
  --dark-color:#2B3351;
  --light-color:#f8fafc;
  --text-color:#2B3351;
  --cream:#f8fafc; --paper:#ffffff; --ink:var(--dark-color); --muted:#596178; --line:#e2e8f0;
  --rose:var(--accent-color); --rose-dark:var(--primary-color); --sage:#eef2ff; --sky:#e8edff; --butter:#fff4fd;
  --shadow:0 24px 70px rgba(47,98,201,.16); --radius:28px; --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth} body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden;font-size:16px}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 12% 8%, rgba(99,102,241,.16), transparent 30%),radial-gradient(circle at 88% 12%, rgba(236,72,153,.12), transparent 28%),radial-gradient(circle at 50% 100%, rgba(139,92,246,.14), transparent 34%)}
a{color:inherit}*:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px;border-radius:12px}
nav{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 28px),var(--max));z-index:1000;background:rgba(255,255,255,.88);backdrop-filter:blur(22px);border:1px solid rgba(226,232,240,.95);border-radius:999px;box-shadow:0 10px 35px rgba(50,37,29,.08);transition:.3s ease}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.75rem .9rem .75rem 1.25rem}.logo{text-decoration:none;font-weight:900;letter-spacing:-.04em;font-size:1.25rem}.logo span{font-weight:650;color:var(--rose-dark)}nav ul{display:flex;align-items:center;list-style:none;gap:.35rem}nav a{text-decoration:none;font-size:.95rem;font-weight:700;color:var(--ink);padding:.7rem .9rem;border-radius:999px;transition:.25s ease}nav a:hover, nav a[aria-current="true"]{background:rgba(99,102,241,.10);color:var(--rose-dark)}.contact-btn{background:var(--ink);color:white!important;box-shadow:0 10px 25px rgba(99,102,241,.28)}.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;border-radius:50%;position:relative}.menu-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:5px auto;border-radius:3px;transition:.25s ease}
section{padding:105px 5%}
.hero{
  min-height:100vh;
  position:relative;
  padding-top:130px;
  overflow:hidden;
  background:linear-gradient(135deg,#2d3748 0%,#1a202c 50%,#2d3748 100%);
  color:#fff;
}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.26) 0%,rgba(139,92,246,.20) 48%,rgba(236,72,153,.22) 100%);animation:gradientShift 15s ease infinite;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 18% 25%,rgba(99,102,241,.32) 0%,transparent 34%),radial-gradient(circle at 82% 70%,rgba(236,72,153,.24) 0%,transparent 38%),radial-gradient(circle at 50% 45%,rgba(139,92,246,.22) 0%,transparent 36%);animation:float 18s infinite ease-in-out;z-index:0}
@keyframes gradientShift{0%,100%{opacity:.55;transform:scale(1) rotate(0deg)}50%{opacity:.85;transform:scale(1.08) rotate(4deg)}}
.constellation-canvas{position:absolute;inset:0;z-index:1;filter:blur(34px) brightness(1.25);opacity:.65;pointer-events:none}
.hero-shell{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);align-items:center;gap:3.5rem;position:relative;z-index:2;min-height:calc(100vh - 130px)}
.hero-content,.hero-visual{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:900;color:var(--accent-color);margin-bottom:1rem}.hero .eyebrow{color:#f9a8d4}.hero h1{font-size:clamp(3.15rem,7.5vw,6.7rem);line-height:.92;letter-spacing:-.075em;max-width:900px;color:#fff;text-shadow:0 18px 60px rgba(0,0,0,.28)}.highlight{display:inline;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(236,72,153,.35))}.subtitle{font-size:clamp(1.18rem,2vw,1.65rem);font-weight:400;margin:1.45rem 0 .8rem;color:rgba(255,255,255,.92)}.hero-copy{max-width:700px;color:rgba(255,255,255,.76);font-size:1.06rem}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.btn,.email-btn,.project-link,.store-badge,.access-demo{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border:0;border-radius:999px;font-weight:900;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease, background .25s ease}.btn{padding:1rem 1.35rem;border:2px solid transparent;position:relative;overflow:hidden}.btn:hover,.email-btn:hover,.project-link:hover,.store-badge:hover,.access-demo:hover{transform:translateY(-4px)}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 12px 35px rgba(99,102,241,.42)}.btn-primary:hover{box-shadow:0 18px 45px rgba(236,72,153,.32)}.btn-secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.42);color:#fff;backdrop-filter:blur(12px)}.btn-secondary:hover{background:#fff;color:var(--dark-color)}
.hero-visual{min-height:540px}.browser-card{position:absolute;inset:40px 18px 78px 0;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.52);border-radius:34px;box-shadow:0 30px 90px rgba(0,0,0,.32);overflow:hidden;animation:float 5s ease-in-out infinite;color:var(--dark-color)}.browser-top{height:54px;background:#f1f5f9;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;padding:0 18px}.browser-top span{width:12px;height:12px;border-radius:50%;background:var(--primary-color)}.browser-top span:nth-child(2){background:var(--secondary-color)}.browser-top span:nth-child(3){background:var(--accent-color)}.browser-body{padding:32px}.mock-badge{display:inline-flex;padding:.38rem .7rem;border-radius:999px;background:#fdf2f8;color:var(--accent-color);font-weight:900;font-size:.75rem}.mock-title{height:64px;width:82%;border-radius:20px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));margin:22px 0}.mock-line{height:14px;width:66%;border-radius:999px;background:#cbd5e1;margin:12px 0}.mock-line.long{width:92%}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.mock-grid span{height:88px;border-radius:22px;background:linear-gradient(145deg,#eef2ff,#fff)}.floating-card{position:absolute;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.5);border-radius:24px;padding:1rem;box-shadow:0 20px 50px rgba(0,0,0,.26);max-width:220px;color:var(--dark-color);backdrop-filter:blur(18px)}.floating-card strong{display:block;color:var(--dark-color);font-size:1.05rem}.floating-card span{display:block;color:var(--text-color);font-size:.86rem;margin-top:.25rem}.card-one{right:0;top:0}.card-two{left:-8px;bottom:22px}.card-three{right:24px;bottom:0}.mini-label{display:inline-flex;background:rgba(99,102,241,.12);border-radius:999px;padding:.38rem .7rem;font-size:.75rem;font-weight:900;text-transform:uppercase;margin-bottom:1rem}.scroll-indicator{position:absolute;bottom:30px;left:50%;width:26px;height:42px;border:2px solid rgba(255,255,255,.45);border-radius:999px;z-index:3}.scroll-indicator::after{content:"";position:absolute;top:8px;left:50%;width:5px;height:5px;background:var(--accent-color);border-radius:50%;transform:translateX(-50%);animation:scrollDot 1.8s infinite}@keyframes scrollDot{0%,100%{transform:translate(-50%,0);opacity:.2}50%{transform:translate(-50%,14px);opacity:1}}
.section-soft{background:rgba(248,250,252,.72);border-block:1px solid rgba(226,232,240,.9)}.section-title{text-align:center;font-size:clamp(2.3rem,5vw,4.5rem);line-height:.95;letter-spacing:-.06em;margin:0 auto 3rem;max-width:850px}.section-title::after{content:"";display:block;width:80px;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--rose),var(--butter),var(--sky));margin:1rem auto 0}.about-content,.contact-container,.access-section{max-width:var(--max);margin:0 auto}.about-content{display:grid;grid-template-columns:420px 1fr;gap:3.5rem;align-items:center}.about-image{position:relative}.about-image::before{content:"";position:absolute;inset:20px -18px -18px 20px;background:var(--sky);border-radius:38px;z-index:0}.about-image img{position:relative;width:100%;display:block;border-radius:38px;box-shadow:var(--shadow);object-fit:cover}.about-text{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem;box-shadow:var(--shadow)}.about-text h3,.contact-info h3{font-size:clamp(2rem,3vw,3.2rem);letter-spacing:-.055em;line-height:1}.about-text p,.contact-info p,.access-copy p,.access-preview p{color:var(--muted);margin-top:1rem}.about-pills,.project-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.about-pills span,.tag{background:rgba(99,102,241,.09);border:1px solid rgba(99,102,241,.18);border-radius:999px;padding:.45rem .75rem;font-size:.84rem;font-weight:800}.services-grid,.projects-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.service-card,.project-card,.access-preview{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease, box-shadow .25s ease}.service-card{padding:1.6rem;min-height:260px}.service-card:hover,.project-card:hover{transform:translateY(-7px);box-shadow:0 30px 80px rgba(55,38,28,.16)}.service-card.featured{background:linear-gradient(160deg,#ffffff,#eef2ff)}.service-icon{width:56px;height:56px;border-radius:18px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:1.45rem;margin-bottom:1rem}.service-card h3,.project-card h3{font-size:1.55rem;letter-spacing:-.04em;line-height:1.1}.service-card p,.project-card p{color:var(--muted);margin-top:.75rem}.project-card{display:flex;flex-direction:column}.project-image{height:260px;background:linear-gradient(140deg,var(--sky),var(--paper));display:grid;place-items:center;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image img{transform:scale(1.05)}.nail-image{background:linear-gradient(140deg,#fff5f3,#eaf2f4)}.nail-icon{width:44%!important;height:auto!important;object-fit:contain!important}.project-content{padding:1.4rem}.store-badges{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.store-badge,.project-link{background:var(--ink);color:#fff;padding:.72rem .9rem;font-size:.9rem}.project-link{margin-top:1rem}.access-section{display:grid;grid-template-columns:1fr 360px;gap:1.5rem;align-items:stretch;background:var(--ink);color:#fff;border-radius:42px;padding:2.2rem;box-shadow:var(--shadow)}.access-section .eyebrow{color:var(--butter)}.access-copy h2{font-size:clamp(2rem,4vw,4rem);line-height:.96;letter-spacing:-.06em}.access-copy p{color:rgba(255,255,255,.75)}.access-preview{background:#fff;color:var(--ink);padding:1.5rem}.access-demo{background:var(--rose);padding:.9rem 1rem;color:var(--ink)}.contact{text-align:center}.contact-container{max-width:760px}.contact-info{background:linear-gradient(145deg,#ffffff,#f8fafc);border:1px solid var(--line);border-radius:42px;padding:2.2rem;box-shadow:var(--shadow)}.email-btn{background:var(--ink);color:#fff;padding:1rem 1.2rem;margin-top:1.4rem}.email-btn small{display:block;font-weight:600;opacity:.75}.email-icon{font-size:1.4rem}.contact-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.4rem}.contact-extra p{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:18px;padding:.8rem;margin:0;font-size:.9rem;color:var(--ink)}footer{padding:2.2rem 5%;background:var(--ink);color:#fff}.footer-content{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:1rem;align-items:center}.social-links{display:flex;gap:.8rem;flex-wrap:wrap}.social-links a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.5rem .8rem}.access-toggle{position:fixed;left:18px;bottom:18px;z-index:1200;background:var(--ink);color:white;border:0;border-radius:999px;padding:.95rem 1rem;font-weight:900;box-shadow:0 15px 35px rgba(0,0,0,.22);cursor:pointer}.accessibility-panel{position:fixed;left:18px;bottom:78px;z-index:1200;width:min(320px,calc(100vw - 36px));background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:1rem;box-shadow:var(--shadow)}.accessibility-panel h2{font-size:1.25rem}.accessibility-panel p{color:var(--muted);font-size:.9rem;margin:.25rem 0 .75rem}.accessibility-panel button{width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:.75rem;margin:.3rem 0;font-weight:850;cursor:pointer;text-align:left}.accessibility-panel button[aria-pressed="true"]{background:var(--ink);color:white}.reset-access{color:var(--rose-dark)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease, transform .75s ease}.reveal.active{opacity:1;transform:none}.particles-container{position:absolute;inset:0;pointer-events:none;z-index:1}.particle{position:absolute;border-radius:50%;background:rgba(99,102,241,.22);animation:particleFloat linear infinite}@keyframes particleFloat{0%{transform:translateY(0);opacity:0}15%,80%{opacity:1}100%{transform:translateY(-110vh) translateX(-20px);opacity:0}}
body.big-text{font-size:18px}body.high-contrast{--cream:#fff;--paper:#fff;--ink:#000;--muted:#1f1f1f;--line:#000;--rose:#ffd400;--rose-dark:#000;--sky:#fff;--sage:#fff;--butter:#ffd400}body.underline-links a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.reduce-motion .constellation-canvas{display:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.constellation-canvas{display:none}}
@media (max-width:920px){nav{top:10px}.menu-toggle{display:block}nav ul{position:absolute;top:64px;left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:.8rem;display:none;flex-direction:column;align-items:stretch}nav ul.active{display:flex}nav a{display:block}.hero{min-height:auto;padding-top:135px}.hero-shell{grid-template-columns:1fr}.hero-visual{min-height:460px}.browser-card{inset:25px 0 70px 0}.floating-card{position:relative;margin:.7rem 0;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}.card-one,.card-two,.card-three{max-width:none}.hero-card{max-width:430px;transform:none}.about-content,.access-section{grid-template-columns:1fr}.about-content{gap:1.5rem}.services-grid,.projects-grid{grid-template-columns:1fr 1fr}.contact-extra{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}.section-title{text-align:left}.section-title::after{margin-left:0}}
@media (max-width:640px){section{padding:78px 5%}.hero h1{font-size:3.25rem}.hero-visual{min-height:380px}.browser-body{padding:22px}.mock-grid span{height:62px}.services-grid,.projects-grid{grid-template-columns:1fr}.project-image{height:220px}.about-text,.contact-info,.access-section{padding:1.35rem;border-radius:28px}.hero-buttons{flex-direction:column}.btn{width:100%}.nav-container{padding:.6rem .7rem .6rem 1rem}.logo{font-size:1.08rem}}


/* Correzioni v4: palette ufficiale + hero più fedele all'originale */
:root{
  --primary-color:#2F62C9;
  --secondary-color:#8162EE;
  --accent-color:#EB28DB;
  --dark-color:#2B3351;
  --text-color:#2B3351;
  --cream:#f8fafc;
  --paper:#ffffff;
  --ink:#2B3351;
  --muted:#596178;
  --line:#e2e8f0;
  --rose:#EB28DB;
  --rose-dark:#2F62C9;
  --sky:#e8edff;
  --butter:#fff4fd;
}
body::before{background:radial-gradient(circle at 12% 8%, rgba(47,98,201,.14), transparent 30%),radial-gradient(circle at 88% 12%, rgba(235,40,219,.11), transparent 28%),radial-gradient(circle at 50% 100%, rgba(129,98,238,.13), transparent 34%)!important;}
.logo,.highlight{background:linear-gradient(135deg,#2F62C9,#EB28DB)!important;-webkit-background-clip:text!important;background-clip:text!important;}
nav a:hover,nav a[aria-current="true"]{background:rgba(47,98,201,.10)!important;color:#2F62C9!important;}
.contact-btn,.btn-primary,.email-btn,.store-badge,.project-link{background:linear-gradient(135deg,#2F62C9,#8162EE)!important;color:#fff!important;box-shadow:0 12px 32px rgba(47,98,201,.28)!important;}
.btn-primary:hover{box-shadow:0 18px 45px rgba(235,40,219,.28)!important;}
.hero{min-height:100vh!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:0 5%!important;background:linear-gradient(135deg,#2B3351 0%,#20273f 52%,#2B3351 100%)!important;color:#fff!important;}
.hero::before{background:linear-gradient(135deg,rgba(47,98,201,.22) 0%,rgba(129,98,238,.18) 50%,rgba(235,40,219,.20) 100%)!important;}
.hero::after{background-image:radial-gradient(circle at 20% 30%,rgba(47,98,201,.24) 0%,transparent 48%),radial-gradient(circle at 80% 70%,rgba(235,40,219,.18) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(129,98,238,.16) 0%,transparent 48%)!important;}
.hero-shell{display:block!important;max-width:950px!important;min-height:auto!important;margin:4rem auto 0!important;z-index:3!important;}
.hero-content{max-width:900px!important;margin:0 auto!important;padding:0 2rem!important;}
.hero .eyebrow{display:none!important;}
.hero h1{font-size:clamp(3rem,6vw,4.4rem)!important;line-height:1.15!important;letter-spacing:-.045em!important;margin-bottom:1rem!important;text-shadow:0 18px 55px rgba(0,0,0,.25)!important;}
.hero .subtitle{font-size:clamp(1.25rem,2vw,1.6rem)!important;font-weight:300!important;letter-spacing:.02em!important;margin-bottom:1rem!important;color:rgba(255,255,255,.94)!important;}
.hero-copy{font-size:1.08rem!important;line-height:1.8!important;max-width:650px!important;margin:0 auto 2.5rem!important;color:rgba(255,255,255,.82)!important;}
.hero-buttons{justify-content:center!important;margin-top:0!important;gap:1.5rem!important;}
.btn{padding:1rem 2.4rem!important;font-weight:700!important;border:2px solid transparent!important;}
.btn-secondary{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.85)!important;}
.btn-secondary:hover{background:#fff!important;color:#2B3351!important;}
.hero-visual{display:none!important;}
.constellation-canvas{filter:blur(40px) brightness(1.16)!important;opacity:.75!important;}
.scroll-indicator{left:50%!important;right:auto!important;transform:translateX(-50%)!important;}
.access-toggle{position:fixed!important;left:18px!important;right:auto!important;bottom:18px!important;z-index:99999!important;background:#2B3351!important;color:#fff!important;}
.accessibility-panel{position:fixed!important;left:18px!important;right:auto!important;bottom:78px!important;z-index:99998!important;}
.access-demo{background:#EB28DB!important;color:#fff!important;}
.service-icon,.access-section,footer{background:#2B3351!important;}
.service-card.featured{background:linear-gradient(160deg,#fff,#eef2ff)!important;border-color:rgba(47,98,201,.22)!important;}
.section-title::after,.mock-title{background:linear-gradient(90deg,#2F62C9,#8162EE,#EB28DB)!important;}
.about-pills span,.tag{background:rgba(47,98,201,.09)!important;border-color:rgba(47,98,201,.18)!important;}
@media (max-width:920px){.hero{padding-top:120px!important;padding-bottom:90px!important}.hero-shell{margin-top:0!important}.hero-content{padding:0!important}.hero h1{font-size:clamp(2.7rem,12vw,3.7rem)!important}.hero-visual{display:none!important}}

/* Revisione v5: palette più chiara, hero fedele ma più pulita, mobile e accessibilità */
:root{
  --primary-color:#4b78dc;
  --secondary-color:#987cf2;
  --accent-color:#f05be4;
  --dark-color:#2B3351;
  --text-color:#2B3351;
  --cream:#fbfcff;
  --paper:#ffffff;
  --ink:#2B3351;
  --muted:#66708a;
  --line:#e8ecf7;
  --rose:#f05be4;
  --rose-dark:#4b78dc;
  --sky:#eef3ff;
  --butter:#fff3fd;
}
body{background:#fbfcff!important;color:var(--ink)!important;overflow-x:hidden;}
body::before{background:radial-gradient(circle at 8% 8%, rgba(75,120,220,.12), transparent 30%),radial-gradient(circle at 90% 12%, rgba(240,91,228,.12), transparent 29%),radial-gradient(circle at 48% 92%, rgba(152,124,242,.10), transparent 36%)!important;}
.logo{background:linear-gradient(135deg,#111827 0%,#2B3351 28%,#8162EE 62%,#EB28DB 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.logo span{background:inherit!important;color:transparent!important;}
.highlight,.section-title::after,.mock-title{background:linear-gradient(90deg,#4b78dc,#987cf2,#f05be4)!important;-webkit-background-clip:text!important;background-clip:text!important;}

.hero{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:left!important;padding:130px 5% 80px!important;background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 48%,#fff6fd 100%)!important;color:var(--ink)!important;overflow:hidden!important;}
.hero::before{background:radial-gradient(circle at 78% 25%,rgba(240,91,228,.16),transparent 30%),radial-gradient(circle at 16% 80%,rgba(75,120,220,.14),transparent 30%)!important;opacity:1!important;}
.hero::after{background-image:linear-gradient(rgba(75,120,220,.06) 1px, transparent 1px),linear-gradient(90deg,rgba(240,91,228,.055) 1px, transparent 1px)!important;background-size:54px 54px!important;opacity:.8!important;}
.hero-shell{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,520px)!important;align-items:center!important;gap:clamp(2rem,5vw,5rem)!important;max-width:1180px!important;width:100%!important;margin:0 auto!important;position:relative!important;z-index:2!important;}
.hero-content{max-width:650px!important;margin:0!important;padding:0!important;text-align:left!important;}
.hero .eyebrow{display:inline-flex!important;color:#4b78dc!important;background:rgba(75,120,220,.08)!important;border:1px solid rgba(75,120,220,.14)!important;padding:.55rem .85rem!important;border-radius:999px!important;margin-bottom:1.1rem!important;}
.hero h1{font-size:clamp(3rem,6.2vw,5.7rem)!important;line-height:.96!important;letter-spacing:-.07em!important;margin-bottom:1.15rem!important;color:var(--ink)!important;text-shadow:none!important;}
.hero .subtitle{font-size:clamp(1.2rem,2vw,1.65rem)!important;font-weight:700!important;color:#4b78dc!important;margin-bottom:1rem!important;}
.hero-copy{font-size:1.05rem!important;line-height:1.75!important;max-width:610px!important;margin:0 0 2rem!important;color:var(--muted)!important;}
.hero-buttons{justify-content:flex-start!important;gap:1rem!important;flex-wrap:wrap!important;}
.btn{border-radius:999px!important;padding:1rem 1.45rem!important;}
.btn-primary,.contact-btn,.email-btn,.store-badge,.project-link{background:linear-gradient(135deg,#4b78dc,#987cf2)!important;color:#fff!important;box-shadow:0 16px 36px rgba(75,120,220,.22)!important;}
.btn-secondary{background:#fff!important;color:var(--ink)!important;border-color:rgba(75,120,220,.22)!important;box-shadow:0 12px 30px rgba(43,51,81,.08)!important;}
.btn-secondary:hover{background:linear-gradient(135deg,#fff,#fff4fd)!important;color:var(--ink)!important;}
.hero-visual{display:block!important;position:relative!important;min-height:470px!important;}
.device-wrap{position:absolute;inset:0;display:grid;place-items:center;}
.desktop-mock{width:min(100%,480px);height:300px;background:#fff;border:1px solid rgba(75,120,220,.14);border-radius:28px;box-shadow:0 30px 80px rgba(43,51,81,.14);overflow:hidden;transform:rotate(1.5deg);}
.browser-top{height:44px;background:#f4f6ff;border-bottom:1px solid rgba(75,120,220,.12);display:flex;align-items:center;gap:8px;padding:0 16px;}
.browser-top span{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#4b78dc,#f05be4);opacity:.8;}
.desktop-screen{padding:28px;}
.screen-kicker{width:125px;height:14px;border-radius:999px;background:rgba(240,91,228,.18);margin-bottom:18px;}
.screen-title{width:72%;height:42px;border-radius:16px;background:linear-gradient(90deg,#4b78dc,#987cf2,#f05be4);margin-bottom:18px;}
.screen-line{width:62%;height:12px;border-radius:999px;background:#dbe4ff;margin:10px 0;}.screen-line.long{width:88%;}
.screen-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px;}.screen-cards span{height:58px;border-radius:16px;background:linear-gradient(145deg,#eef3ff,#fff3fd);border:1px solid #e9edff;}
.phone-mock{position:absolute;right:2%;bottom:34px;width:138px;height:255px;background:#2B3351;border:8px solid #2B3351;border-radius:32px;box-shadow:0 26px 50px rgba(43,51,81,.22);transform:rotate(-5deg);}
.phone-speaker{width:42px;height:5px;background:rgba(255,255,255,.35);border-radius:999px;margin:8px auto;}
.phone-screen{height:216px;background:linear-gradient(160deg,#fff,#f7f2ff);border-radius:22px;padding:18px 14px;display:grid;gap:12px;align-content:start;}.phone-screen span{display:block;border-radius:14px;background:linear-gradient(135deg,rgba(75,120,220,.22),rgba(240,91,228,.16));}.phone-screen span:nth-child(1){height:52px}.phone-screen span:nth-child(2){height:74px}.phone-screen span:nth-child(3){height:38px}
.floating-card{background:rgba(255,255,255,.88)!important;backdrop-filter:blur(14px);border:1px solid rgba(75,120,220,.14)!important;color:var(--ink)!important;box-shadow:0 18px 50px rgba(43,51,81,.12)!important;}.card-one{top:34px!important;left:0!important}.card-two{right:0!important;bottom:20px!important}.card-three{display:none!important;}
.scroll-indicator{border-color:rgba(43,51,81,.35)!important;}.scroll-indicator::after{background:#4b78dc!important;}

.about-image{max-width:360px!important;justify-self:center!important;}.about-image img{border-radius:34px!important;box-shadow:0 22px 55px rgba(43,51,81,.13)!important;}.about-content{align-items:center!important;}

.service-card{background:#fff!important;border:1px solid rgba(75,120,220,.12)!important;box-shadow:0 18px 45px rgba(43,51,81,.07)!important;overflow:hidden!important;isolation:isolate!important;}
.service-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(240,91,228,.24),transparent 30%),linear-gradient(135deg,rgba(75,120,220,.10),rgba(240,91,228,.10));opacity:0;transition:opacity .35s ease;z-index:-1;}
.service-card:hover::before{opacity:1;}
.service-card:hover{transform:translateY(-8px)!important;border-color:rgba(240,91,228,.28)!important;box-shadow:0 24px 60px rgba(129,98,238,.18)!important;}
.service-icon{background:linear-gradient(135deg,#eef3ff,#fff2fd)!important;color:#4b78dc!important;border:1px solid rgba(75,120,220,.13)!important;box-shadow:none!important;}
.service-card:hover .service-icon{background:linear-gradient(135deg,#4b78dc,#f05be4)!important;color:#fff!important;}
.service-card.featured{background:#fff!important;border-color:rgba(240,91,228,.18)!important;}

.access-section{background:#2B3351!important;color:#fff!important;align-items:center!important;grid-template-columns:minmax(0,1fr) minmax(260px,360px)!important;}
.access-preview{align-self:center!important;text-align:left!important;}.access-demo{background:linear-gradient(135deg,#4b78dc,#f05be4)!important;color:#fff!important;}
.contact-extra{align-items:stretch!important;}.contact-extra p{display:flex!important;align-items:center!important;justify-content:center!important;min-height:58px!important;text-align:center!important;}
.projects-grid{justify-content:center!important;}.projects-grid .project-card{height:100%;}
.access-toggle{left:18px!important;right:auto!important;bottom:18px!important;display:inline-flex!important;gap:.55rem!important;align-items:center!important;background:linear-gradient(135deg,#2B3351,#8162EE)!important;border:1px solid rgba(255,255,255,.18)!important;padding:.8rem .95rem!important;}
.access-toggle span[aria-hidden="true"]{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);font-size:1.05rem;}.access-label{font-size:.9rem;}
.accessibility-panel{left:18px!important;right:auto!important;bottom:82px!important;}

@media (max-width:920px){
  .hero{padding:118px 5% 66px!important;min-height:auto!important;text-align:left!important;}
  .hero-shell{grid-template-columns:1fr!important;gap:2rem!important;}
  .hero-content{max-width:720px!important;}
  .hero-visual{min-height:330px!important;}
  .desktop-mock{width:min(92vw,520px);height:270px;transform:none;}
  .phone-mock{right:6%;bottom:0;width:120px;height:225px;}
  .services-grid,.projects-grid{grid-template-columns:1fr 1fr!important;}
  .access-section{grid-template-columns:1fr!important;border-radius:30px!important;}
}
@media (max-width:640px){
  section{padding:72px 5%!important;}
  .hero{padding:108px 5% 58px!important;}
  .hero h1{font-size:clamp(2.65rem,14vw,3.65rem)!important;}
  .hero-copy{font-size:1rem!important;}
  .hero-buttons{flex-direction:column!important;align-items:stretch!important;}
  .btn{width:100%!important;text-align:center!important;}
  .hero-visual{min-height:285px!important;}
  .desktop-mock{height:220px;border-radius:22px;}.desktop-screen{padding:20px;}.screen-title{height:32px}.screen-cards span{height:42px;}
  .phone-mock{width:96px;height:184px;border-width:6px;border-radius:26px;right:2%;}.phone-screen{height:154px;padding:12px 10px;gap:8px;}.phone-screen span:nth-child(1){height:38px}.phone-screen span:nth-child(2){height:52px}.phone-screen span:nth-child(3){height:28px}
  .floating-card{display:none!important;}
  .services-grid,.projects-grid{grid-template-columns:1fr!important;}
  .about-image{max-width:280px!important;}.about-content{gap:1.2rem!important;}
  .access-label{display:none!important;}.access-toggle{padding:.72rem!important;border-radius:999px!important;}.accessibility-panel{width:min(300px,calc(100vw - 36px))!important;}
  .footer-content{gap:.8rem!important;}
}

/* Revisione v6: hero più ordinata, bottoni animati, progetti compatti, footer professionale */
.hero h1,
.hero h1 .highlight{
  text-shadow:none!important;
  filter:none!important;
}
.hero{
  background:
    radial-gradient(circle at 86% 20%, rgba(240,91,228,.14), transparent 28%),
    radial-gradient(circle at 70% 72%, rgba(75,120,220,.13), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8faff 52%,#fff7fd 100%)!important;
}
.hero::after{
  background-image:
    radial-gradient(circle at 1px 1px, rgba(75,120,220,.13) 1px, transparent 0)!important;
  background-size:28px 28px!important;
  opacity:.45!important;
}
.device-wrap{
  transform:translateX(-8px);
}
.desktop-mock{
  width:min(100%,455px)!important;
  height:292px!important;
  transform:rotate(.7deg)!important;
  box-shadow:0 28px 70px rgba(43,51,81,.12)!important;
}
.phone-mock{
  right:0!important;
  bottom:52px!important;
  width:126px!important;
  height:235px!important;
  transform:rotate(-3deg)!important;
  box-shadow:0 22px 45px rgba(43,51,81,.18)!important;
}
.floating-card{
  padding:.95rem 1rem!important;
  border-radius:18px!important;
}
.card-one{left:4px!important;top:42px!important;}
.card-two{right:24px!important;bottom:30px!important;}
.about-image{max-width:330px!important;}
.about-text .about-pills span,
.btn-primary,
.btn-secondary,
.email-btn,
.project-link,
.store-badge{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease!important;
}
.about-text .about-pills span::before,
.btn-primary::before,
.btn-secondary::before,
.email-btn::before,
.project-link::before,
.store-badge::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(240,91,228,.35), transparent 32%),linear-gradient(135deg,rgba(75,120,220,.18),rgba(240,91,228,.18));
  opacity:0;
  transition:opacity .35s ease;
  z-index:-1;
}
.about-text .about-pills span:hover::before,
.btn-primary:hover::before,
.btn-secondary:hover::before,
.email-btn:hover::before,
.project-link:hover::before,
.store-badge:hover::before{opacity:1;}
.about-text .about-pills span:hover,
.btn-primary:hover,
.btn-secondary:hover,
.email-btn:hover,
.project-link:hover,
.store-badge:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 50px rgba(129,98,238,.18)!important;
}
.service-card .service-icon{font-size:1.65rem!important;}
.projects-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1.6rem!important;
  align-items:stretch!important;
  max-width:1080px!important;
  margin:0 auto!important;
}
.project-card{
  display:grid!important;
  grid-template-rows:230px 1fr!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:#fff!important;
  border:1px solid rgba(75,120,220,.12)!important;
  box-shadow:0 18px 45px rgba(43,51,81,.07)!important;
}
.project-image{
  height:230px!important;
  min-height:230px!important;
  background:linear-gradient(135deg,#eef3ff,#fff2fd)!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.project-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.project-content{
  display:flex!important;
  flex-direction:column!important;
  gap:.75rem!important;
  padding:1.45rem!important;
}
.project-content p{margin-bottom:0!important;}
.project-tags{margin-top:auto!important;}
.store-badges{margin-top:.35rem!important;}
.access-toggle{
  background:linear-gradient(135deg,#2B3351 0%,#8162EE 58%,#EB28DB 100%)!important;
  box-shadow:0 18px 45px rgba(43,51,81,.24)!important;
}
.access-toggle span[aria-hidden="true"]{
  font-size:1rem!important;
}
.site-footer,
footer{
  background:linear-gradient(135deg,#252d49 0%,#2B3351 55%,#3a3163 100%)!important;
  color:#fff!important;
  padding:0!important;
}
.footer-content{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:3rem 5%!important;
  display:grid!important;
  grid-template-columns:1.2fr 1fr!important;
  gap:2rem!important;
  align-items:start!important;
}
.footer-brand p{
  color:rgba(255,255,255,.74)!important;
  max-width:420px!important;
  line-height:1.7!important;
  margin-top:.8rem!important;
}
.footer-logo{
  display:inline-block!important;
  font-weight:900!important;
  font-size:1.35rem!important;
  letter-spacing:-.04em!important;
  background:linear-gradient(135deg,#fff 0%,#8162EE 58%,#EB28DB 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-decoration:none!important;
}
.footer-logo span{color:transparent!important;}
.footer-links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.7rem!important;
  justify-content:flex-end!important;
}
.footer-links a{
  color:#fff!important;
  text-decoration:none!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.08)!important;
  padding:.72rem .95rem!important;
  border-radius:999px!important;
  transition:transform .25s ease, background .25s ease!important;
}
.footer-links a:hover{transform:translateY(-3px)!important;background:rgba(255,255,255,.14)!important;}
.footer-copy{
  grid-column:1/-1!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  padding-top:1.3rem!important;
  color:rgba(255,255,255,.62)!important;
  font-size:.92rem!important;
  margin:0!important;
}
.contact-extra p{
  line-height:1.25!important;
  padding:.95rem!important;
}
@media (max-width:920px){
  .hero-visual{min-height:315px!important;}
  .desktop-mock{height:252px!important;}
  .phone-mock{bottom:12px!important;right:5%!important;width:112px!important;height:210px!important;}
  .card-one,.card-two{display:none!important;}
  .projects-grid{grid-template-columns:1fr!important;max-width:680px!important;}
  .project-card{grid-template-rows:220px 1fr!important;}
  .footer-content{grid-template-columns:1fr!important;}
  .footer-links{justify-content:flex-start!important;}
}
@media (max-width:640px){
  .hero-shell{gap:1.4rem!important;}
  .hero-visual{min-height:255px!important;}
  .desktop-mock{height:205px!important;width:min(94vw,420px)!important;}
  .phone-mock{width:86px!important;height:164px!important;right:0!important;bottom:0!important;}
  .phone-screen{height:136px!important;}
  .project-card{grid-template-rows:190px 1fr!important;border-radius:24px!important;}
  .project-image{height:190px!important;min-height:190px!important;}
  .footer-content{padding:2.4rem 5%!important;}
  .footer-links a{width:100%;text-align:center;}
}

/* Revisione v7: navbar visibile, hero mockup premium, micro-animazioni automatiche e mobile/performance */
nav{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:100000!important;
  top:16px!important;
  background:rgba(255,255,255,.94)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  border:1px solid rgba(75,120,220,.16)!important;
  box-shadow:0 14px 42px rgba(43,51,81,.12)!important;
}
.nav-container{min-height:58px!important;}
.logo,.logo span{
  background:linear-gradient(135deg,#111827 0%,#2B3351 34%,#8162EE 66%,#EB28DB 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}
nav ul{display:flex!important;}
.menu-toggle{display:none!important;}

.hero{
  background:
    radial-gradient(circle at 74% 18%,rgba(240,91,228,.13),transparent 28%),
    radial-gradient(circle at 86% 80%,rgba(75,120,220,.13),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f9fbff 50%,#fff8fe 100%)!important;
  padding-top:128px!important;
}
.hero::after{opacity:.28!important;background-size:32px 32px!important;}
.hero-shell{grid-template-columns:minmax(0,1fr) minmax(330px,500px)!important;gap:clamp(2rem,4vw,4.4rem)!important;}
.hero h1{font-size:clamp(3rem,6vw,5.35rem)!important;line-height:.98!important;}
.hero-copy{max-width:590px!important;}
.hero-visual{min-height:430px!important;}
.device-wrap{transform:none!important;perspective:1200px;}
.desktop-mock{
  width:min(100%,470px)!important;height:300px!important;
  border-radius:30px!important;background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(75,120,220,.14)!important;
  box-shadow:0 34px 80px rgba(43,51,81,.14), inset 0 1px 0 rgba(255,255,255,.9)!important;
  transform:rotateX(2deg) rotateY(-6deg) rotateZ(.5deg)!important;
}
.browser-top{height:42px!important;background:linear-gradient(180deg,#fff,#f4f6ff)!important;}
.desktop-screen{padding:24px!important;background:linear-gradient(135deg,#ffffff,#f8f9ff)!important;height:calc(100% - 42px);}
.screen-kicker{width:108px!important;height:12px!important;background:rgba(240,91,228,.16)!important;}
.screen-title{width:78%!important;height:50px!important;border-radius:18px!important;background:linear-gradient(135deg,#4b78dc 0%,#987cf2 55%,#f05be4 100%)!important;box-shadow:0 16px 38px rgba(129,98,238,.18)!important;}
.screen-line{height:10px!important;background:#dfe7ff!important;}
.screen-cards{grid-template-columns:1.1fr .9fr!important;margin-top:18px!important;}
.screen-cards span{height:58px!important;background:linear-gradient(145deg,#eef3ff,#fff4fd)!important;border:1px solid rgba(75,120,220,.10)!important;}
.screen-footer{display:flex;gap:8px;margin-top:12px;}
.screen-footer span{display:block;height:9px;flex:1;border-radius:999px;background:rgba(129,98,238,.16);}
.phone-mock{
  width:112px!important;height:220px!important;right:10px!important;bottom:18px!important;
  border:7px solid #2B3351!important;border-radius:30px!important;background:#2B3351!important;
  transform:rotateZ(4deg)!important;box-shadow:0 24px 52px rgba(43,51,81,.18)!important;
}
.phone-speaker{height:4px!important;width:34px!important;margin:7px auto!important;}
.phone-screen{height:190px!important;border-radius:21px!important;padding:14px 11px!important;gap:9px!important;background:linear-gradient(160deg,#fff,#f8f2ff)!important;}
.phone-screen span{border-radius:12px!important;background:linear-gradient(135deg,rgba(75,120,220,.20),rgba(240,91,228,.15))!important;}
.phone-hero{height:48px!important;}.phone-line{height:8px!important;width:78%;}.phone-card{height:56px!important;}.phone-pill{height:26px!important;width:68%;}
.floating-card{display:none!important;}

.about-image{max-width:310px!important;}
.about-image img{width:100%;height:auto;}
.about-text .about-pills span.is-auto-glow,
.btn-primary.is-auto-glow,
.btn-secondary.is-auto-glow{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 54px rgba(129,98,238,.20)!important;
  border-color:rgba(240,91,228,.34)!important;
}
.about-text .about-pills span.is-auto-glow::before,
.btn-primary.is-auto-glow::before,
.btn-secondary.is-auto-glow::before{opacity:1!important;}

.projects-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1.3rem!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
.project-card{
  display:grid!important;grid-template-rows:230px 1fr!important;
  min-height:0!important;border-radius:28px!important;overflow:hidden!important;
}
.project-image{height:230px!important;min-height:230px!important;background:#f4f7ff!important;}
.project-image img{object-fit:cover!important;object-position:center top!important;}
.project-content{padding:1.35rem!important;gap:.62rem!important;}
.project-content h3{line-height:1.05!important;}
.project-tags{display:flex!important;flex-wrap:wrap!important;gap:.45rem!important;}
.store-badges{display:flex!important;gap:.5rem!important;flex-wrap:wrap!important;}

.access-toggle{left:18px!important;right:auto!important;bottom:18px!important;border-radius:999px!important;}
.access-toggle span[aria-hidden="true"]{
  width:31px!important;height:31px!important;font-weight:900!important;font-size:.9rem!important;
  background:rgba(255,255,255,.18)!important;letter-spacing:-.04em!important;
}
.accessibility-panel{left:18px!important;right:auto!important;bottom:82px!important;}

.footer-content{grid-template-columns:auto 1fr!important;align-items:center!important;gap:1.5rem!important;}
.footer-brand p{max-width:520px!important;margin-bottom:0!important;}
.footer-links{flex-wrap:nowrap!important;justify-content:flex-end!important;white-space:nowrap!important;gap:.45rem!important;}
.footer-links a{padding:.64rem .78rem!important;font-size:.92rem!important;}
.footer-copy{grid-column:1/-1!important;text-align:left!important;}

@media (max-width:920px){
  nav{top:10px!important;width:min(calc(100% - 20px),var(--max))!important;border-radius:26px!important;}
  .menu-toggle{display:block!important;}
  nav ul{display:none!important;position:absolute!important;top:66px!important;left:0!important;right:0!important;background:#fff!important;border:1px solid rgba(75,120,220,.14)!important;border-radius:24px!important;box-shadow:0 20px 50px rgba(43,51,81,.14)!important;padding:.8rem!important;flex-direction:column!important;align-items:stretch!important;}
  nav ul.active{display:flex!important;}
  nav a{display:block!important;text-align:left!important;}
  .hero{padding:112px 5% 62px!important;}
  .hero-shell{grid-template-columns:1fr!important;gap:1.4rem!important;}
  .hero-visual{min-height:300px!important;}
  .desktop-mock{width:min(92vw,460px)!important;height:250px!important;transform:none!important;}
  .phone-mock{width:96px!important;height:186px!important;right:4%!important;bottom:0!important;}
  .phone-screen{height:158px!important;}
  .projects-grid{grid-template-columns:1fr!important;max-width:680px!important;}
  .footer-content{grid-template-columns:1fr!important;text-align:left!important;}
  .footer-links{justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:.35rem!important;scrollbar-width:thin;}
}
@media (max-width:640px){
  body{font-size:15.5px;}
  section{padding:70px 5%!important;}
  .nav-container{min-height:54px!important;padding:.55rem .7rem!important;}
  .hero h1{font-size:clamp(2.55rem,13vw,3.35rem)!important;letter-spacing:-.065em!important;}
  .hero-copy{font-size:.98rem!important;}
  .hero-buttons{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;}
  .btn{width:100%!important;min-height:50px!important;}
  .hero-visual{min-height:238px!important;}
  .desktop-mock{height:205px!important;border-radius:24px!important;}
  .desktop-screen{padding:18px!important;}
  .screen-title{height:38px!important;}.screen-cards span{height:42px!important;}.screen-footer{display:none;}
  .phone-mock{width:78px!important;height:150px!important;border-width:5px!important;border-radius:22px!important;}
  .phone-screen{height:126px!important;border-radius:16px!important;padding:10px 8px!important;gap:7px!important;}
  .phone-hero{height:34px!important}.phone-card{height:38px!important}.phone-pill{height:20px!important}
  .about-image{max-width:240px!important;}
  .project-card{grid-template-rows:178px 1fr!important;}
  .project-image{height:178px!important;min-height:178px!important;}
  .project-content{padding:1.05rem!important;}
  .footer-links{gap:.4rem!important;}
  .footer-links a{width:auto!important;text-align:center!important;flex:0 0 auto!important;}
  .access-label{display:none!important;}
}

/* Hotfix v8: spazio superiore sicuro per browser/mobile/admin bar */
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --nav-gap-top: max(18px, calc(var(--safe-top) + 14px));
  --nav-total-space: calc(var(--nav-gap-top) + 74px);
}
html{
  scroll-padding-top:calc(var(--nav-total-space) + 16px)!important;
}
body{
  padding-top:0!important;
}
nav{
  top:var(--nav-gap-top)!important;
}
.hero{
  padding-top:calc(var(--nav-total-space) + 36px)!important;
}
body.admin-bar nav{
  top:calc(var(--nav-gap-top) + 32px)!important;
}
body.admin-bar .hero{
  padding-top:calc(var(--nav-total-space) + 68px)!important;
}
@media (max-width:782px){
  :root{
    --nav-gap-top:max(14px, calc(var(--safe-top) + 12px));
    --nav-total-space:calc(var(--nav-gap-top) + 70px);
  }
  body.admin-bar nav{
    top:calc(var(--nav-gap-top) + 46px)!important;
  }
  body.admin-bar .hero{
    padding-top:calc(var(--nav-total-space) + 82px)!important;
  }
}
@media (max-width:640px){
  .hero{
    padding-top:calc(var(--nav-total-space) + 28px)!important;
  }
  nav{
    width:calc(100% - 18px)!important;
  }
}


/* Revisione v9: mockup realistico, pulsanti con colore automatico, progetti leggibili, icone coerenti e SEO/performance */
:root{
  --blue-soft:#5f86e5;
  --violet-soft:#9b83f4;
  --pink-soft:#f264e9;
  --dark-soft:#2B3351;
}
.hero{
  background:
    radial-gradient(circle at 82% 16%, rgba(242,100,233,.15), transparent 30%),
    radial-gradient(circle at 66% 76%, rgba(95,134,229,.14), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#fbfcff 48%,#fff7fe 100%)!important;
}
.hero-visual{contain:layout paint;}
.device-wrap{position:relative;min-height:390px;display:grid;place-items:center;}
.desktop-mock{
  width:min(100%,500px)!important;height:312px!important;border-radius:26px!important;
  background:#fff!important;border:1px solid rgba(95,134,229,.16)!important;
  box-shadow:0 32px 85px rgba(43,51,81,.13),0 8px 18px rgba(43,51,81,.06)!important;
  transform:rotateX(1deg) rotateY(-4deg) rotateZ(.3deg)!important;position:relative!important;
}
.desktop-mock::after{content:"";position:absolute;left:50%;bottom:-42px;width:150px;height:42px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(43,51,81,.12),rgba(43,51,81,.04));clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);filter:blur(.2px);}
.desktop-screen{background:linear-gradient(135deg,#ffffff 0%,#f6f8ff 100%)!important;}
.screen-title{background:linear-gradient(135deg,var(--blue-soft),var(--violet-soft) 58%,var(--pink-soft))!important;}
.phone-mock{
  width:128px!important;height:252px!important;right:2px!important;bottom:22px!important;
  border:5px solid #171b2b!important;border-radius:34px!important;background:#171b2b!important;
  padding:4px!important;transform:rotateZ(3deg)!important;
  box-shadow:0 26px 56px rgba(43,51,81,.22), inset 0 0 0 1px rgba(255,255,255,.10)!important;
}
.phone-mock::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:46px;height:14px;border-radius:999px;background:#111522;z-index:3;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);} 
.phone-speaker{display:none!important;}
.phone-screen{height:100%!important;border-radius:27px!important;padding:27px 10px 12px!important;gap:9px!important;background:linear-gradient(160deg,#fff 0%,#f7f1ff 100%)!important;overflow:hidden!important;}
.phone-status{display:block!important;height:6px!important;width:54px!important;border-radius:999px!important;background:rgba(43,51,81,.10)!important;align-self:flex-end!important;}
.phone-screen span{display:block!important;}
.phone-hero{height:54px!important;border-radius:16px!important;background:linear-gradient(135deg,rgba(95,134,229,.24),rgba(242,100,233,.18))!important;}
.phone-line{height:8px!important;width:72%!important;background:rgba(43,51,81,.10)!important;}
.phone-card{height:62px!important;background:#fff!important;border:1px solid rgba(95,134,229,.14)!important;box-shadow:0 10px 24px rgba(43,51,81,.08)!important;}
.phone-pill{height:24px!important;width:70%!important;background:linear-gradient(135deg,var(--blue-soft),var(--pink-soft))!important;}

.btn-primary,.btn-secondary,.about-text .about-pills span{
  transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease!important;
}
.btn-primary.is-auto-glow,.btn-secondary.is-auto-glow,.about-text .about-pills span.is-auto-glow{
  background:linear-gradient(135deg,var(--blue-soft),var(--violet-soft) 52%,var(--pink-soft))!important;
  color:#fff!important;border-color:transparent!important;box-shadow:none!important;transform:translateY(-2px)!important;
}
.btn-primary.is-auto-glow::before,.btn-secondary.is-auto-glow::before,.about-text .about-pills span.is-auto-glow::before{opacity:0!important;}
.btn-secondary:not(.is-auto-glow){background:#fff!important;color:var(--dark-soft)!important;border-color:rgba(95,134,229,.18)!important;}

.service-card{background:#fff!important;border-color:rgba(95,134,229,.13)!important;}
.service-card::before{background:radial-gradient(circle at var(--mx,50%) var(--my,0%),rgba(242,100,233,.22),transparent 32%),linear-gradient(135deg,rgba(95,134,229,.12),rgba(242,100,233,.11))!important;}
.service-icon{background:linear-gradient(135deg,#eef4ff,#fff2fd)!important;color:var(--dark-soft)!important;border:1px solid rgba(95,134,229,.16)!important;box-shadow:none!important;font-family:inherit!important;font-weight:900!important;}
.service-icon span{display:block;line-height:1;font-size:1.15rem;}
.service-card:hover .service-icon{background:linear-gradient(135deg,var(--blue-soft),var(--pink-soft))!important;color:#fff!important;border-color:transparent!important;}

.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.4rem!important;align-items:stretch!important;}
.project-card{grid-template-rows:auto 1fr!important;background:#fff!important;border:1px solid rgba(95,134,229,.13)!important;}
.project-image{height:300px!important;min-height:300px!important;padding:24px!important;background:linear-gradient(135deg,#f6f8ff 0%,#fff5fd 100%)!important;display:grid!important;place-items:center!important;overflow:hidden!important;}
.project-device{background:#fff;border:1px solid rgba(95,134,229,.15);box-shadow:0 22px 48px rgba(43,51,81,.12);overflow:hidden;}
.project-device-phone{height:248px;width:132px;border-radius:30px;border:6px solid #171b2b;padding:4px;background:#171b2b;}
.project-device-phone img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:22px!important;background:#fff!important;transform:none!important;}
.project-device-desktop{width:100%;max-width:410px;height:230px;border-radius:22px;padding:10px;background:#fff;}
.project-device-desktop img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center top!important;border-radius:14px!important;background:#fff!important;transform:none!important;}
.project-card:hover .project-image img{transform:none!important;}
.project-content{display:flex!important;flex-direction:column!important;min-height:260px!important;}
.store-badges,.project-link{margin-top:auto!important;}

.access-toggle{background:linear-gradient(135deg,var(--dark-soft),var(--violet-soft) 60%,var(--pink-soft))!important;}
.access-toggle span[aria-hidden="true"]{font-size:1rem!important;background:rgba(255,255,255,.17)!important;}

.footer-links{display:flex!important;flex-wrap:nowrap!important;white-space:nowrap!important;overflow:visible!important;}
.footer-copy{opacity:.72!important;font-size:.9rem!important;}

@media (max-width:920px){
  .device-wrap{min-height:280px;place-items:start center;}
  .desktop-mock{height:238px!important;}
  .phone-mock{width:96px!important;height:190px!important;right:5%!important;bottom:4px!important;}
  .phone-screen{padding:23px 8px 10px!important;}
  .phone-hero{height:38px!important}.phone-card{height:45px!important}.phone-pill{height:20px!important;}
  .project-image{height:270px!important;min-height:270px!important;}
  .project-content{min-height:auto!important;}
}
@media (max-width:640px){
  .hero{padding-bottom:46px!important;}
  .device-wrap{min-height:220px;}
  .desktop-mock{height:188px!important;width:min(92vw,360px)!important;border-radius:20px!important;}
  .desktop-mock::after{display:none;}
  .phone-mock{width:70px!important;height:138px!important;border-radius:22px!important;border-width:4px!important;right:0!important;bottom:0!important;}
  .phone-mock::before{width:28px;height:9px;top:5px;}
  .phone-screen{border-radius:18px!important;padding:18px 6px 7px!important;gap:6px!important;}
  .phone-status{height:4px!important;width:36px!important;}
  .phone-hero{height:28px!important;border-radius:10px!important}.phone-line{height:6px!important}.phone-card{height:28px!important}.phone-pill{height:16px!important;}
  .services-grid{gap:.85rem!important;}
  .project-image{height:230px!important;min-height:230px!important;padding:18px!important;}
  .project-device-desktop{height:170px!important;}
  .project-device-phone{height:190px;width:102px;border-radius:24px;}
  .footer-links{overflow-x:auto!important;padding-bottom:.35rem!important;}
}


/* Revisione v10: mockup telefono realistico, icone stile biglietto, progetti puliti */
.hero-visual{min-height:460px!important;overflow:visible!important;}
.device-wrap{min-height:430px!important;overflow:visible!important;position:relative!important;}
.phone-mock{
  width:168px!important;
  height:338px!important;
  right:-6px!important;
  bottom:18px!important;
  padding:5px!important;
  border:5px solid #151927!important;
  border-radius:42px!important;
  background:linear-gradient(145deg,#111522,#2B3351)!important;
  transform:rotateZ(4deg)!important;
  overflow:visible!important;
  box-shadow:0 30px 70px rgba(43,51,81,.28), inset 0 0 0 1px rgba(255,255,255,.12)!important;
}
.phone-mock::before{width:58px!important;height:17px!important;top:9px!important;background:#111522!important;border-radius:0 0 14px 14px!important;box-shadow:0 1px 0 rgba(255,255,255,.08)!important;}
.phone-mock::after{content:"";position:absolute;inset:3px;border-radius:38px;border:1px solid rgba(255,255,255,.16);pointer-events:none;z-index:4;}
.phone-screen{
  height:100%!important;
  border-radius:34px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  display:block!important;
}
.phone-site-scroll{
  min-height:145%;
  padding:34px 13px 14px;
  background:linear-gradient(160deg,#ffffff 0%,#f7f9ff 48%,#fff2fd 100%);
  animation:phoneSiteScroll 7s ease-in-out infinite;
}
.phone-site-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#2B3351;font-size:.72rem;letter-spacing:-.03em;}
.phone-site-header strong{background:linear-gradient(135deg,#2F62C9,#8162EE 56%,#EB28DB);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1rem;}
.phone-site-header span{width:18px;height:18px;border-radius:7px;background:#fff;border:1px solid rgba(95,134,229,.18);box-shadow:0 5px 14px rgba(43,51,81,.08);}
.phone-site-hero{display:grid;gap:6px;padding:14px 12px;border-radius:20px;background:linear-gradient(135deg,rgba(95,134,229,.16),rgba(242,100,233,.14));margin-bottom:12px;}
.phone-site-hero small{font-size:.5rem;color:#5f86e5;text-transform:uppercase;font-weight:800;letter-spacing:.08em;}
.phone-site-hero b{font-size:.86rem;line-height:1.08;color:#2B3351;}
.phone-site-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px;}
.phone-site-row span,.phone-site-products span{display:block!important;height:54px!important;border-radius:16px!important;background:#fff!important;border:1px solid rgba(95,134,229,.13)!important;box-shadow:0 8px 18px rgba(43,51,81,.07)!important;}
.phone-site-card{padding:12px;border-radius:18px;background:#fff;border:1px solid rgba(242,100,233,.13);box-shadow:0 10px 22px rgba(43,51,81,.08);margin-bottom:10px;}
.phone-site-card i{display:block;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#5f86e5,#f264e9);margin-bottom:8px;}
.phone-site-card p{height:7px;border-radius:999px;background:#dde5ff;margin:6px 0 0;}
.phone-site-card p:last-child{width:68%;}
.phone-site-products{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:11px;}
.phone-site-cta{height:30px;width:82%;border-radius:999px;background:linear-gradient(135deg,#5f86e5,#9b83f4 50%,#f264e9);box-shadow:0 10px 20px rgba(129,98,238,.22);}
@keyframes phoneSiteScroll{0%,18%{transform:translateY(0)}52%,72%{transform:translateY(-96px)}100%{transform:translateY(0)}}

.service-icon{
  width:76px!important;height:76px!important;border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(95,134,229,.18)!important;
  box-shadow:0 16px 34px rgba(43,51,81,.07)!important;
  display:grid!important;place-items:center!important;
}
.service-icon svg{width:44px;height:44px;stroke:url(#swdIconGradient);stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.service-card svg{filter:drop-shadow(0 6px 10px rgba(129,98,238,.12));}
.service-card:hover .service-icon{background:#fff!important;border-color:rgba(242,100,233,.28)!important;box-shadow:0 20px 44px rgba(129,98,238,.16)!important;}
.service-card:hover .service-icon svg{transform:scale(1.05);transition:transform .25s ease;}
.services::before{content:"";position:absolute;width:0;height:0;}
body::after{content:"";position:absolute;width:0;height:0;overflow:hidden;}

.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.7rem!important;max-width:1120px!important;}
.project-card{border-radius:32px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 22px 52px rgba(43,51,81,.08)!important;}
.project-image{height:320px!important;min-height:320px!important;padding:22px!important;background:radial-gradient(circle at 18% 12%,rgba(95,134,229,.14),transparent 32%),radial-gradient(circle at 88% 82%,rgba(242,100,233,.13),transparent 34%),linear-gradient(135deg,#f8faff,#fff7fe)!important;}
.project-photo-frame{
  width:100%!important;max-width:470px!important;height:260px!important;
  border-radius:26px!important;padding:10px!important;background:#fff!important;
  border:1px solid rgba(95,134,229,.16)!important;
  box-shadow:0 24px 54px rgba(43,51,81,.12)!important;
  transform:none!important;position:relative!important;
}
.project-photo-frame::before{content:"";display:block;height:18px;margin:-2px -2px 8px;border-radius:18px 18px 8px 8px;background:linear-gradient(180deg,#fff,#f3f6ff);border-bottom:1px solid rgba(95,134,229,.10);}
.project-photo-frame img{
  width:100%!important;height:calc(100% - 24px)!important;
  object-fit:contain!important;object-position:center!important;
  border-radius:16px!important;background:#fff!important;transform:none!important;
}
.project-app-frame{max-width:360px!important;height:260px!important;}
.project-app-frame img{object-fit:contain!important;padding:0!important;}
.project-site-frame{max-width:500px!important;}
.project-content{min-height:0!important;padding:1.5rem!important;}
.project-card:hover{transform:translateY(-6px)!important;}
.project-card:hover .project-photo-frame{box-shadow:0 28px 64px rgba(129,98,238,.14)!important;}

/* link footer più ordinati su una riga desktop */
.footer-links{align-items:center!important;}

@media (max-width:920px){
  .hero-visual{min-height:390px!important;}
  .device-wrap{min-height:360px!important;}
  .phone-mock{width:134px!important;height:270px!important;right:2%!important;bottom:2px!important;}
  .desktop-mock{width:min(88vw,450px)!important;height:245px!important;}
  .projects-grid{grid-template-columns:1fr!important;max-width:720px!important;}
  .project-image{height:300px!important;min-height:300px!important;}
}
@media (max-width:640px){
  .hero-visual{min-height:330px!important;}
  .device-wrap{min-height:300px!important;}
  .desktop-mock{height:200px!important;width:min(90vw,360px)!important;}
  .phone-mock{width:104px!important;height:210px!important;right:-2px!important;bottom:0!important;border-radius:30px!important;}
  .phone-mock::before{width:42px!important;height:12px!important;top:7px!important;}
  .phone-screen{border-radius:24px!important;}
  .phone-site-scroll{padding:27px 9px 10px;}
  @keyframes phoneSiteScroll{0%,18%{transform:translateY(0)}52%,72%{transform:translateY(-72px)}100%{transform:translateY(0)}}
  .service-icon{width:66px!important;height:66px!important;border-radius:20px!important;}
  .service-icon svg{width:38px;height:38px;}
  .project-image{height:250px!important;min-height:250px!important;padding:16px!important;}
  .project-photo-frame{height:205px!important;border-radius:22px!important;}
  .project-app-frame{max-width:320px!important;}
}


/* Revisione v11: hero più pulita, telefono realistico, icone stile biglietto e progetti corretti */
.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(235,40,219,.10), transparent 28%),
    radial-gradient(circle at 63% 78%, rgba(47,98,201,.10), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#fbfcff 56%,#fff9fe 100%)!important;
}
.hero::before,.hero::after{opacity:.18!important;}
.hero-visual{overflow:visible!important;}
.device-wrap{filter:none!important;}
.desktop-mock{
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 26px 60px rgba(43,51,81,.10)!important;
  border-color:rgba(47,98,201,.12)!important;
}
.desktop-screen{background:#fff!important;}
.floating-card{background:rgba(255,255,255,.88)!important;box-shadow:0 16px 42px rgba(43,51,81,.10)!important;}

/* telefono hero: bordo più sottile, meno “giocattolo”, contenuto più realistico */
.phone-mock{
  width:154px!important;
  height:316px!important;
  right:4px!important;
  bottom:18px!important;
  padding:3px!important;
  border:3px solid #1b2033!important;
  border-radius:34px!important;
  background:linear-gradient(145deg,#111522 0%,#272e48 100%)!important;
  transform:rotateZ(2.5deg)!important;
  box-shadow:0 24px 58px rgba(43,51,81,.22), inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.phone-mock::before{
  width:46px!important;height:13px!important;top:7px!important;
  border-radius:0 0 12px 12px!important;background:#111522!important;z-index:5!important;
}
.phone-mock::after{inset:2px!important;border-radius:31px!important;border-color:rgba(255,255,255,.14)!important;}
.phone-screen{border-radius:29px!important;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(17,21,34,.04)!important;}
.phone-site-scroll{
  min-height:152%!important;
  padding:29px 10px 12px!important;
  background:linear-gradient(180deg,#fff 0%,#f8faff 55%,#fff4fd 100%)!important;
  animation:phoneSiteScrollV11 6.3s ease-in-out infinite!important;
}
.phone-site-header{margin-bottom:11px!important;font-size:.62rem!important;}
.phone-site-header strong{font-size:.95rem!important;letter-spacing:-.05em!important;}
.phone-site-header span{width:17px!important;height:17px!important;border-radius:6px!important;position:relative!important;}
.phone-site-header span::before{content:"";position:absolute;inset:5px 4px;border-top:2px solid #8162EE;border-bottom:2px solid #8162EE;}
.phone-site-hero{
  gap:5px!important;padding:13px 10px 38px!important;border-radius:17px!important;margin-bottom:9px!important;
  background:linear-gradient(135deg,rgba(47,98,201,.12),rgba(235,40,219,.11)),url('swipswap-landing.webp') center top/cover no-repeat!important;
  position:relative!important;overflow:hidden!important;
}
.phone-site-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.38));z-index:0;}
.phone-site-hero small,.phone-site-hero b{position:relative;z-index:1;}
.phone-site-hero small{font-size:.46rem!important;color:#2F62C9!important;}
.phone-site-hero b{font-size:.74rem!important;max-width:92px!important;}
.phone-site-row{gap:6px!important;margin-bottom:8px!important;}
.phone-site-row span,.phone-site-products span{height:45px!important;border-radius:13px!important;background:linear-gradient(180deg,#fff,#f8faff)!important;}
.phone-site-card{padding:9px!important;border-radius:15px!important;margin-bottom:8px!important;}
.phone-site-card i{width:24px!important;height:24px!important;border-radius:9px!important;}
.phone-site-card p{height:6px!important;margin-top:5px!important;}
.phone-site-products{gap:6px!important;margin-bottom:9px!important;}
.phone-site-cta{height:25px!important;width:78%!important;}
@keyframes phoneSiteScrollV11{0%,15%{transform:translateY(0)}45%,68%{transform:translateY(-105px)}100%{transform:translateY(0)}}

/* icone servizi più simili al biglietto: linea sottile sfumata, niente icone scure/pesanti */
.service-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:86px!important;height:86px!important;border-radius:0!important;
}
.service-icon svg{width:62px!important;height:62px!important;stroke:url(#swdIconGradient)!important;stroke-width:3!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;filter:none!important;transition:transform .22s ease!important;}
.service-card:hover .service-icon{background:transparent!important;border:0!important;box-shadow:none!important;}
.service-card:hover .service-icon svg{transform:translateY(-3px) scale(1.04)!important;}

/* sezione progetti: foto pulite, niente mockup telefono brutto; SwipSwap telefono più basso */
.project-image{align-items:center!important;}
.project-photo-frame{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:24px!important;overflow:visible!important;}
.project-photo-frame::before{display:none!important;}
.project-photo-frame img{border-radius:22px!important;box-shadow:0 20px 48px rgba(43,51,81,.12)!important;border:1px solid rgba(47,98,201,.12)!important;}
.project-app-frame{height:285px!important;max-width:330px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;}
.project-app-frame img{
  height:250px!important;width:auto!important;max-width:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  transform:translateY(18px)!important;
}
.project-card:hover .project-app-frame img{transform:translateY(12px)!important;}
.project-site-frame{height:250px!important;max-width:500px!important;display:flex!important;align-items:center!important;}
.project-site-frame img{height:100%!important;width:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;background:#fff!important;}

@media (max-width:920px){
  .phone-mock{width:124px!important;height:256px!important;right:4%!important;bottom:0!important;border-radius:29px!important;}
  .phone-screen{border-radius:25px!important;}
  .phone-site-scroll{padding:25px 8px 10px!important;}
  @keyframes phoneSiteScrollV11{0%,15%{transform:translateY(0)}45%,68%{transform:translateY(-82px)}100%{transform:translateY(0)}}
  .project-app-frame{height:260px!important;}
  .project-app-frame img{height:235px!important;transform:translateY(16px)!important;}
}
@media (max-width:640px){
  .phone-mock{width:96px!important;height:198px!important;right:0!important;border-width:3px!important;border-radius:25px!important;}
  .phone-mock::before{width:34px!important;height:10px!important;top:6px!important;}
  .phone-screen{border-radius:21px!important;}
  .phone-site-scroll{padding:22px 7px 8px!important;}
  .phone-site-hero{padding:10px 8px 28px!important;border-radius:14px!important;}
  .phone-site-row span,.phone-site-products span{height:32px!important;}
  .phone-site-card{padding:7px!important;}
  .service-icon{width:72px!important;height:72px!important;}
  .service-icon svg{width:52px!important;height:52px!important;}
  .project-app-frame{height:215px!important;}
  .project-app-frame img{height:198px!important;transform:translateY(14px)!important;}
}

/* Revisione v12: telefono hero più realistico, progetti corretti, accessibilità più elegante, mobile più compatto */
.hero-shell{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr)!important;gap:clamp(2rem,5vw,4.8rem)!important;}
.hero-visual{min-height:440px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.device-wrap{width:100%!important;min-height:420px!important;display:block!important;position:relative!important;}
.desktop-mock{left:0!important;top:42px!important;}
.phone-mock{
  width:142px!important;height:292px!important;right:20px!important;bottom:34px!important;
  border:2px solid #181d2f!important;padding:4px!important;border-radius:32px!important;
  background:linear-gradient(145deg,#111522 0%,#252c45 70%,#111522 100%)!important;
  transform:rotateZ(1.8deg)!important;overflow:visible!important;
  box-shadow:0 25px 58px rgba(43,51,81,.22), 0 1px 0 rgba(255,255,255,.18) inset!important;
}
.phone-mock::before{width:42px!important;height:12px!important;top:8px!important;border-radius:0 0 12px 12px!important;background:#111522!important;z-index:8!important;}
.phone-mock::after{inset:3px!important;border-radius:28px!important;border:1px solid rgba(255,255,255,.14)!important;}
.phone-screen{border-radius:27px!important;background:#fff!important;overflow:hidden!important;display:block!important;}
.phone-site-scroll-v12{min-height:158%!important;padding:30px 10px 12px!important;background:linear-gradient(180deg,#fff 0%,#f7f9ff 56%,#fff5fd 100%)!important;animation:phoneSiteScrollV12 6.8s ease-in-out infinite!important;}
.phone-site-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:10px!important;}
.phone-site-nav strong{font-size:.88rem!important;letter-spacing:-.07em!important;background:linear-gradient(135deg,#2F62C9,#8162EE 54%,#EB28DB)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;}
.phone-site-nav span{width:18px!important;height:18px!important;border-radius:8px!important;background:#fff!important;border:1px solid rgba(47,98,201,.15)!important;box-shadow:0 6px 16px rgba(43,51,81,.08)!important;position:relative!important;}
.phone-site-nav span::before{content:"";position:absolute;left:5px;right:5px;top:5px;height:2px;border-radius:99px;background:#8162EE;box-shadow:0 4px 0 #8162EE,0 8px 0 #8162EE;}
.phone-web-preview{position:relative!important;overflow:hidden!important;min-height:92px!important;border-radius:18px!important;padding:12px 10px!important;background:linear-gradient(135deg,rgba(47,98,201,.13),rgba(235,40,219,.10)), url('swipswap-landing.webp') center top/cover no-repeat!important;margin-bottom:9px!important;box-shadow:0 10px 24px rgba(43,51,81,.08)!important;}
.phone-web-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.42));}
.phone-web-preview small,.phone-web-preview b,.phone-web-preview em{position:relative;z-index:1;display:block;}
.phone-web-preview small{font-size:.46rem!important;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:#2F62C9!important;margin-bottom:4px;}
.phone-web-preview b{font-size:.72rem!important;line-height:1.06!important;color:#2B3351!important;max-width:98px;}
.phone-web-preview em{width:46px;height:10px;border-radius:999px;background:linear-gradient(135deg,#2F62C9,#EB28DB);margin-top:8px;}
.phone-service-mini{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin-bottom:9px!important;}
.phone-service-mini span{display:block!important;height:42px!important;border-radius:13px!important;background:#fff!important;border:1px solid rgba(47,98,201,.12)!important;box-shadow:0 7px 16px rgba(43,51,81,.06)!important;position:relative!important;}
.phone-service-mini span::before{content:"";position:absolute;left:50%;top:10px;transform:translateX(-50%);width:18px;height:18px;border:2px solid #8162EE;border-radius:6px;}
.phone-service-mini span:nth-child(2)::before{border-radius:50%;border-color:#EB28DB;}
.phone-service-mini span:nth-child(3)::before{border-radius:2px;border-color:#2F62C9;transform:translateX(-50%) rotate(45deg);}
.phone-content-card{padding:10px;border-radius:16px;background:#fff;border:1px solid rgba(235,40,219,.12);box-shadow:0 10px 22px rgba(43,51,81,.08);margin-bottom:9px;}
.phone-content-card i{display:block;width:24px;height:24px;border-radius:9px;background:linear-gradient(135deg,#2F62C9,#EB28DB);margin-bottom:8px;}
.phone-content-card p{height:6px;border-radius:999px;background:#dfe6ff;margin:5px 0 0;}
.phone-content-card p:nth-of-type(2){width:84%;}.phone-content-card p:nth-of-type(3){width:64%;}
.phone-project-mini{height:74px;border-radius:17px;background:linear-gradient(135deg,#fff,#f3f6ff);border:1px solid rgba(47,98,201,.12);box-shadow:0 10px 22px rgba(43,51,81,.07);margin-bottom:9px;position:relative;overflow:hidden;}
.phone-project-mini::before{content:"";position:absolute;inset:10px;border-radius:12px;background:url('swipswap-app.webp') center 18%/cover no-repeat;filter:saturate(.95);}
.phone-site-cta{height:22px!important;width:70%!important;border-radius:999px!important;background:linear-gradient(135deg,#2F62C9,#8162EE 50%,#EB28DB)!important;}
@keyframes phoneSiteScrollV12{0%,16%{transform:translateY(0)}48%,70%{transform:translateY(-112px)}100%{transform:translateY(0)}}

/* icone servizi: tutte coerenti, sottili e più vicine allo stile del biglietto da visita */
.service-card{min-height:230px!important;padding:1.35rem!important;border-radius:24px!important;}
.service-icon{width:76px!important;height:76px!important;margin-bottom:1rem!important;display:grid!important;place-items:center!important;}
.service-icon svg{width:56px!important;height:56px!important;stroke-width:3.2!important;}
.service-card h3{font-size:1.16rem!important;}
.service-card p{font-size:.94rem!important;line-height:1.55!important;}
.service-card:hover{box-shadow:0 22px 52px rgba(129,98,238,.14)!important;}
.service-card:hover::before{opacity:.85!important;}

/* Progetti: immagini dentro i riquadri, non tagliate e non troppo basse */
.projects-grid{gap:1.15rem!important;align-items:stretch!important;}
.project-card{border-radius:24px!important;overflow:hidden!important;}
.project-image{height:265px!important;min-height:265px!important;padding:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#f8faff 0%,#fff6fd 100%)!important;}
.project-photo-frame{width:100%!important;max-width:460px!important;height:222px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;border-radius:22px!important;background:#fff!important;border:1px solid rgba(47,98,201,.12)!important;box-shadow:0 18px 42px rgba(43,51,81,.10)!important;padding:8px!important;}
.project-photo-frame img{box-shadow:none!important;border:0!important;border-radius:16px!important;background:#fff!important;}
.project-app-frame{max-width:230px!important;height:232px!important;padding:8px!important;border-radius:28px!important;background:linear-gradient(145deg,#151927,#2B3351)!important;border:0!important;box-shadow:0 20px 44px rgba(43,51,81,.16)!important;}
.project-app-frame img{width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;object-position:center 18%!important;border-radius:22px!important;transform:translateY(0)!important;}
.project-card:hover .project-app-frame img{transform:translateY(0)!important;}
.project-site-frame{height:222px!important;max-width:470px!important;padding:8px!important;}
.project-site-frame img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;}
.project-content{padding:1.25rem!important;}
.project-content p{line-height:1.55!important;}

/* Accessibilità: non più banner pesante, ma blocco leggero e professionale */
.access-section{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:1rem!important;align-items:center!important;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(248,250,255,.82))!important;border:1px solid rgba(47,98,201,.10)!important;border-radius:28px!important;padding:1.45rem!important;box-shadow:0 18px 45px rgba(43,51,81,.08)!important;}
.access-copy h2{font-size:clamp(1.75rem,3vw,2.8rem)!important;line-height:1.04!important;letter-spacing:-.045em!important;margin:0!important;}
.access-copy p{font-size:.98rem!important;margin-top:.75rem!important;}
.access-preview{box-shadow:none!important;border:1px solid rgba(47,98,201,.12)!important;border-radius:22px!important;padding:1rem!important;background:#fff!important;}
.access-preview p{font-size:.92rem!important;margin-top:.65rem!important;}
.access-demo{min-height:44px!important;padding:.82rem 1rem!important;background:linear-gradient(135deg,#2F62C9,#8162EE 55%,#EB28DB)!important;color:#fff!important;width:100%;}
.access-toggle{left:18px!important;right:auto!important;bottom:18px!important;padding:.58rem .72rem!important;box-shadow:0 12px 34px rgba(43,51,81,.22)!important;}
.access-toggle span[aria-hidden="true"]{font-size:.92rem!important;}
.accessibility-panel{left:18px!important;right:auto!important;bottom:78px!important;max-width:min(330px,calc(100vw - 36px))!important;}

/* Mobile: hero, immagini e box più compatti */
@media (max-width:920px){
  section{padding:82px 5%!important;}
  .hero-shell{grid-template-columns:1fr!important;gap:1.2rem!important;}
  .hero-visual{min-height:330px!important;}
  .device-wrap{min-height:315px!important;max-width:520px;margin:0 auto;}
  .desktop-mock{top:20px!important;width:min(88vw,430px)!important;height:226px!important;}
  .phone-mock{width:112px!important;height:232px!important;right:12px!important;bottom:0!important;border-radius:27px!important;}
  .phone-screen{border-radius:23px!important;}
  .phone-site-scroll-v12{padding:25px 8px 9px!important;}
  @keyframes phoneSiteScrollV12{0%,16%{transform:translateY(0)}48%,70%{transform:translateY(-82px)}100%{transform:translateY(0)}}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.95rem!important;}
  .service-card{min-height:210px!important;}
  .projects-grid{grid-template-columns:1fr!important;max-width:680px!important;}
  .project-image{height:245px!important;min-height:245px!important;}
  .project-photo-frame{height:205px!important;}
  .project-app-frame{max-width:205px!important;height:210px!important;}
  .access-section{grid-template-columns:1fr!important;padding:1.2rem!important;}
}
@media (max-width:640px){
  section{padding:64px 5%!important;}
  .hero{padding-bottom:38px!important;}
  .hero-visual{min-height:248px!important;}
  .device-wrap{min-height:238px!important;}
  .desktop-mock{width:100%!important;height:178px!important;border-radius:20px!important;top:18px!important;}
  .desktop-screen{padding:15px!important;}
  .screen-title{height:32px!important;}.screen-cards{gap:8px!important;}.screen-cards span{height:36px!important;}
  .phone-mock{width:78px!important;height:162px!important;right:0!important;bottom:0!important;border-radius:21px!important;padding:2px!important;}
  .phone-mock::before{width:28px!important;height:8px!important;top:5px!important;}
  .phone-screen{border-radius:18px!important;}
  .phone-site-scroll-v12{padding:18px 5px 6px!important;}
  .phone-web-preview{min-height:54px!important;border-radius:12px!important;padding:8px 6px!important;margin-bottom:5px!important;}
  .phone-web-preview small{font-size:.36rem!important}.phone-web-preview b{font-size:.5rem!important;max-width:62px!important}.phone-web-preview em{height:7px;width:32px;margin-top:5px;}
  .phone-service-mini{gap:4px!important;margin-bottom:5px!important}.phone-service-mini span{height:25px!important;border-radius:8px!important}.phone-service-mini span::before{width:11px;height:11px;top:6px;border-width:1.5px;}
  .phone-content-card{padding:6px!important;border-radius:10px!important;margin-bottom:5px!important}.phone-content-card i{width:15px;height:15px;border-radius:5px;margin-bottom:5px}.phone-content-card p{height:4px;margin-top:4px;}
  .phone-project-mini{height:42px!important;border-radius:10px!important;margin-bottom:5px!important}.phone-project-mini::before{inset:6px;border-radius:8px;}
  .phone-site-cta{height:14px!important;}
  @keyframes phoneSiteScrollV12{0%,16%{transform:translateY(0)}48%,70%{transform:translateY(-48px)}100%{transform:translateY(0)}}
  .services-grid{grid-template-columns:1fr!important;}
  .service-card{min-height:auto!important;padding:1.1rem!important;display:grid!important;grid-template-columns:64px 1fr!important;column-gap:.9rem!important;align-items:start!important;}
  .service-icon{width:58px!important;height:58px!important;margin:0!important;grid-row:1 / span 2;}
  .service-icon svg{width:46px!important;height:46px!important;}
  .service-card h3{margin-top:.2rem!important;}
  .project-image{height:218px!important;min-height:218px!important;padding:14px!important;}
  .project-photo-frame{height:188px!important;border-radius:19px!important;}
  .project-app-frame{height:188px!important;max-width:184px!important;border-radius:24px!important;}
  .project-content{padding:1.05rem!important;}
  .access-section{border-radius:22px!important;padding:1rem!important;}
  .access-copy h2{font-size:1.65rem!important;}
  .access-toggle{left:12px!important;bottom:12px!important;}
  .accessibility-panel{left:12px!important;bottom:68px!important;max-width:calc(100vw - 24px)!important;}
}

/* Revisione v13: telefono hero senza immagini, progetto SwipSwap più pulito, accessibilità leggibile */
.phone-web-preview{
  background:
    radial-gradient(circle at 18% 22%, rgba(47,98,201,.20), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(235,40,219,.18), transparent 32%),
    linear-gradient(160deg,#ffffff 0%,#f7f9ff 55%,#fff1fd 100%)!important;
  border:1px solid rgba(47,98,201,.12)!important;
}
.phone-web-preview::after{
  display:none!important;
}
.phone-web-preview::before{
  content:"";position:absolute;right:10px;bottom:10px;width:38px;height:26px;border-radius:9px;
  background:#fff;border:1px solid rgba(47,98,201,.13);box-shadow:0 8px 16px rgba(43,51,81,.08);
}
.phone-project-mini{
  background:
    linear-gradient(135deg,rgba(47,98,201,.10),rgba(235,40,219,.08)),
    #fff!important;
}
.phone-project-mini::before{
  background:linear-gradient(135deg,#2F62C9,#8162EE 55%,#EB28DB)!important;
  width:48px!important;height:24px!important;left:12px!important;right:auto!important;top:14px!important;bottom:auto!important;inset:auto!important;
  border-radius:999px!important;filter:none!important;
}
.phone-project-mini::after{
  content:"";position:absolute;left:12px;right:12px;bottom:12px;height:7px;border-radius:999px;background:rgba(43,51,81,.10);box-shadow:0 -13px 0 rgba(43,51,81,.08);
}

/* Progetto app: niente mockup brutto, immagine più centrata e leggibile */
.project-image-app{
  align-items:center!important;
  background:radial-gradient(circle at 20% 20%,rgba(47,98,201,.12),transparent 30%),radial-gradient(circle at 85% 75%,rgba(235,40,219,.12),transparent 34%),linear-gradient(135deg,#f8faff,#fff7fe)!important;
}
.project-app-frame{
  max-width:360px!important;
  width:100%!important;
  height:218px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid rgba(47,98,201,.12)!important;
  box-shadow:0 18px 42px rgba(43,51,81,.10)!important;
  padding:12px!important;
  overflow:hidden!important;
}
.project-app-frame img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:16px!important;
  background:#fff!important;
  transform:none!important;
}
.project-card:hover .project-app-frame img{transform:none!important;}

/* Banner accessibilità: contrasto corretto, niente bianco su bianco */
.access-section{
  background:linear-gradient(135deg,#eef4ff 0%,#fbf7ff 54%,#fff0fd 100%)!important;
  border:1px solid rgba(47,98,201,.18)!important;
  color:#2B3351!important;
}
.access-section .eyebrow{color:#8162EE!important;}
.access-copy h2{color:#2B3351!important;}
.access-copy p{color:#4b5573!important;}
.access-preview{
  background:#ffffff!important;
  border:1px solid rgba(129,98,238,.22)!important;
  color:#2B3351!important;
  box-shadow:0 14px 32px rgba(43,51,81,.08)!important;
}
.access-preview p{color:#4b5573!important;}
.access-demo{box-shadow:0 12px 28px rgba(129,98,238,.22)!important;}

@media (max-width:920px){
  .project-app-frame{height:205px!important;max-width:330px!important;}
  .access-section{gap:.9rem!important;}
}
@media (max-width:640px){
  .phone-web-preview::before{width:28px;height:18px;right:7px;bottom:7px;border-radius:7px;}
  .phone-project-mini::before{width:32px!important;height:16px!important;left:7px!important;top:9px!important;}
  .phone-project-mini::after{left:7px;right:7px;bottom:7px;height:4px;box-shadow:0 -8px 0 rgba(43,51,81,.08);}
  .project-app-frame{height:178px!important;max-width:295px!important;padding:10px!important;}
}


/* Revisione finale v14: pubblicazione, progetti, accessibilità, mobile, performance */
:root{--blue-soft:#5f86e5;--violet-soft:#9b85f4;--pink-soft:#f264e9;--ink-clean:#2B3351;}
html{scroll-padding-top:96px;}
img{max-width:100%;height:auto;}
nav{will-change:transform;}
.hero,.section-soft,.projects,.services,.access-section,.contact{content-visibility:auto;contain-intrinsic-size:1px 780px;}
.hero{content-visibility:visible;}

/* SwipSwap: niente telefono pesante, immagine leggibile e dentro il riquadro */
.projects-grid{align-items:stretch!important;}
.project-card{min-width:0!important;}
.project-image-app{height:310px!important;min-height:310px!important;padding:22px!important;background:linear-gradient(135deg,#f7faff 0%,#fff7fe 100%)!important;overflow:hidden!important;}
.swipswap-showcase{width:100%;height:100%;display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:18px;align-items:center;padding:18px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(95,134,229,.16);box-shadow:0 20px 46px rgba(43,51,81,.09);overflow:hidden;}
.swipswap-screen{height:230px;width:150px;justify-self:center;border-radius:24px;background:#fff;border:1px solid rgba(43,51,81,.08);box-shadow:0 18px 42px rgba(43,51,81,.12);overflow:hidden;padding:8px;}
.swipswap-screen img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border-radius:17px!important;background:#fff!important;transform:none!important;display:block;}
.swipswap-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.swipswap-info span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#8162EE;}
.swipswap-info strong{font-size:clamp(1.55rem,3vw,2.35rem);letter-spacing:-.06em;line-height:.9;color:#2B3351;}
.swipswap-info small{font-size:.92rem;line-height:1.35;color:#667085;max-width:210px;}
.project-card:hover .swipswap-screen img{transform:none!important;}
.project-site-frame img{object-fit:contain!important;object-position:center top!important;background:#fff!important;}

/* Banner accessibilità pulito: niente ombra spezzata, contrasto stabile */
.access-section{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#2B3351!important;color:#fff!important;border:0!important;box-shadow:none!important;filter:none!important;margin-top:92px!important;}
.access-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 14% 18%,rgba(95,134,229,.34),transparent 32%),radial-gradient(circle at 90% 75%,rgba(242,100,233,.28),transparent 34%),linear-gradient(135deg,#2B3351 0%,#33406a 58%,#463675 100%);}
.access-section::after{display:none!important;}
.access-section .eyebrow{color:#f8c9ff!important;}
.access-copy h2{color:#fff!important;}
.access-copy p{color:rgba(255,255,255,.78)!important;}
.access-preview{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:none!important;backdrop-filter:blur(10px);}
.access-preview p{color:rgba(255,255,255,.75)!important;}
.access-demo{background:#fff!important;color:#2B3351!important;box-shadow:none!important;}
.access-demo:hover{background:linear-gradient(135deg,#5f86e5,#f264e9)!important;color:#fff!important;}

/* Icone servizi più coerenti e leggere */
.service-card{overflow:hidden!important;}
.service-icon{background:#fff!important;border:1px solid rgba(95,134,229,.18)!important;box-shadow:0 12px 28px rgba(43,51,81,.06)!important;}
.service-icon svg{stroke-width:3!important;}
.service-card:hover{background:linear-gradient(135deg,#ffffff 0%,#f6f9ff 48%,#fff4fd 100%)!important;}
.service-card:hover .service-icon{background:linear-gradient(135deg,#eef4ff,#fff2fd)!important;box-shadow:0 18px 42px rgba(129,98,238,.14)!important;}

/* Mobile: box più piccoli, immagini stabili, niente overflow */
@media (max-width:920px){
  body{overflow-x:hidden;}
  .project-image-app{height:285px!important;min-height:285px!important;}
  .swipswap-showcase{grid-template-columns:145px 1fr;padding:16px;gap:16px;}
  .swipswap-screen{height:215px;width:138px;}
  .project-image{height:270px!important;min-height:270px!important;}
  .access-section{margin-top:70px!important;padding:1.45rem!important;border-radius:30px!important;}
  .access-preview{padding:1.15rem!important;}
}
@media (max-width:640px){
  html{scroll-padding-top:82px;}
  section{padding:58px 5%!important;}
  .hero{padding-top:108px!important;}
  .hero-buttons{gap:.7rem!important;}
  .service-card{grid-template-columns:58px 1fr!important;padding:1rem!important;border-radius:22px!important;}
  .service-icon{width:54px!important;height:54px!important;border-radius:17px!important;}
  .service-icon svg{width:36px!important;height:36px!important;}
  .project-card{border-radius:24px!important;}
  .project-image,.project-image-app{height:auto!important;min-height:0!important;padding:14px!important;}
  .swipswap-showcase{height:auto;min-height:190px;grid-template-columns:96px 1fr;gap:12px;border-radius:20px;padding:12px;}
  .swipswap-screen{height:168px;width:96px;border-radius:18px;padding:6px;}
  .swipswap-screen img{border-radius:13px!important;}
  .swipswap-info span{font-size:.62rem;letter-spacing:.12em;}
  .swipswap-info strong{font-size:1.5rem;}
  .swipswap-info small{font-size:.78rem;}
  .project-site-frame{height:180px!important;}
  .project-content{padding:1rem!important;}
  .project-tags{gap:.38rem!important;}
  .tag{font-size:.74rem!important;padding:.38rem .58rem!important;}
  .store-badges{gap:.45rem!important;}
  .store-badge,.project-link{font-size:.78rem!important;padding:.62rem .72rem!important;}
  .access-section{margin-top:56px!important;padding:1rem!important;border-radius:22px!important;gap:.85rem!important;}
  .access-copy h2{font-size:1.7rem!important;letter-spacing:-.04em!important;}
  .access-copy p,.access-preview p{font-size:.9rem!important;}
  .access-demo{width:100%;padding:.78rem .9rem!important;}
  footer{padding-bottom:88px!important;}
}


/* Revisione v15: progetti con mockup outline, nuova app in corso, mobile/SEO ready */
.section-subtitle{max-width:760px;margin:-2rem auto 2.5rem;text-align:center;color:var(--muted);font-size:1.02rem;line-height:1.7}.projects-grid-v15{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.25rem!important;align-items:stretch!important;max-width:1180px!important}.project-card-v15{border-radius:34px!important;overflow:hidden!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(95,134,229,.14)!important;box-shadow:0 18px 44px rgba(43,51,81,.08)!important;display:flex!important;flex-direction:column!important}.project-card-v15 .project-content{padding:1.35rem!important;display:flex!important;flex-direction:column!important;gap:.15rem!important;flex:1!important;min-height:auto!important}.project-card-v15 .project-content p:not(.eyebrow){font-size:.96rem!important;line-height:1.62!important}.project-showcase-v15{height:310px!important;min-height:310px!important;padding:24px!important;display:grid!important;place-items:center!important;background:radial-gradient(circle at 18% 15%,rgba(47,98,201,.12),transparent 34%),radial-gradient(circle at 85% 80%,rgba(235,40,219,.12),transparent 35%),linear-gradient(135deg,#f9fbff,#fff7fe)!important;overflow:hidden!important}.outline-phone{position:relative;width:146px;height:258px;border-radius:35px;padding:8px;background:linear-gradient(145deg,rgba(43,51,81,.9),rgba(17,21,34,.98));box-shadow:0 28px 54px rgba(43,51,81,.18),inset 0 0 0 1px rgba(255,255,255,.18);transform:rotate(-3deg)}.outline-phone::after{content:"";position:absolute;inset:-18px;border-radius:48px;border:1.5px solid rgba(129,98,238,.22);z-index:0;pointer-events:none}.phone-notch-v15{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:48px;height:14px;border-radius:0 0 12px 12px;background:#121625;z-index:4}.outline-phone-screen{position:relative;z-index:2;width:100%;height:100%;border-radius:28px;overflow:hidden;background:#fff}.outline-phone-screen img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 38%!important;transform:none!important;filter:none!important}.outline-browser{width:min(100%,365px);height:220px;border-radius:25px;background:#fff;border:1px solid rgba(95,134,229,.16);box-shadow:0 28px 58px rgba(43,51,81,.12);overflow:hidden;transform:rotate(1deg)}.outline-browser::after{content:"";display:block;width:78%;height:10px;border-radius:999px;margin:12px auto 0;background:linear-gradient(90deg,#2F62C9,#8162EE,#EB28DB);opacity:.8}.browser-top-v15{height:34px;display:flex;gap:7px;align-items:center;padding:0 14px;background:linear-gradient(180deg,#fff,#f4f7ff);border-bottom:1px solid rgba(95,134,229,.11)}.browser-top-v15 span{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#2F62C9,#EB28DB);opacity:.7}.outline-browser-screen{height:186px;background:#fff;overflow:hidden}.outline-browser-screen img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;transform:none!important}.coming-showcase-v15{background:radial-gradient(circle at 50% 40%,rgba(83,64,255,.18),transparent 42%),linear-gradient(135deg,#f8f7ff,#ffffff)!important}.coming-device{width:min(100%,270px);min-height:220px;border-radius:32px;padding:24px;background:#fff;border:1px solid rgba(83,64,255,.18);box-shadow:0 28px 58px rgba(83,64,255,.13);display:grid;place-items:center;position:relative;overflow:hidden}.coming-device::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(83,64,255,.07),transparent 55%)}.coming-logo-wrap{position:relative;width:96px;height:96px;border-radius:28px;display:grid;place-items:center;background:#5340FF;box-shadow:0 20px 38px rgba(83,64,255,.22);overflow:hidden}.coming-logo-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important}.coming-lines{position:relative;width:78%;display:grid;gap:8px;margin-top:18px}.coming-lines span{height:9px;border-radius:999px;background:rgba(83,64,255,.14)}.coming-lines span:nth-child(2){width:74%}.coming-lines span:nth-child(3){width:52%}.coming-badge{position:relative;margin-top:18px;background:#5340FF;color:#fff;border-radius:999px;padding:.55rem .85rem;font-weight:900;font-size:.82rem;box-shadow:0 12px 26px rgba(83,64,255,.22)}.project-coming-soon .eyebrow{color:#5340FF!important}.project-card-v15:hover{transform:translateY(-6px)!important;box-shadow:0 30px 70px rgba(43,51,81,.12)!important}.project-card-v15:hover img{transform:none!important}.project-card-v15 .project-tags{margin-top:auto!important}.project-card-v15 .store-badges,.project-card-v15 .project-link{margin-top:.9rem!important}@media(max-width:1040px){.projects-grid-v15{grid-template-columns:1fr 1fr!important}.project-coming-soon{grid-column:1/-1}.coming-device{max-width:360px}}@media(max-width:720px){.section-subtitle{text-align:left;margin:-1.5rem 0 2rem}.projects-grid-v15{grid-template-columns:1fr!important;gap:1rem!important}.project-showcase-v15{height:250px!important;min-height:250px!important;padding:18px!important}.outline-phone{width:122px;height:218px;border-radius:30px;padding:7px}.outline-phone-screen{border-radius:24px}.phone-notch-v15{width:40px;height:12px}.outline-browser{height:185px;border-radius:22px}.outline-browser-screen{height:151px}.coming-device{min-height:190px;border-radius:26px}.coming-logo-wrap{width:82px;height:82px;border-radius:24px}.project-card-v15 .project-content{padding:1.15rem!important}.access-section{box-shadow:0 18px 42px rgba(43,51,81,.14)!important}.access-preview{background:#ffffff!important;border:1px solid rgba(95,134,229,.15)!important}}


/* Revisione v16: testi chi sono, animazioni servizi corrette, accessibilità click, mobile publish check */
.about-text{padding:clamp(1.35rem,3vw,2.2rem)!important;}
.about-text p{line-height:1.72!important;}
.about-text p + p{margin-top:.85rem!important;}

/* Servizi: hover colorato reale rosa/blu, non solo ombra */
.service-card{position:relative!important;isolation:isolate!important;background:#fff!important;transition:transform .22s ease, border-color .22s ease, background .22s ease!important;}
.service-card::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(235,40,219,.24),transparent 34%),linear-gradient(135deg,rgba(47,98,201,.16),rgba(129,98,238,.10) 48%,rgba(235,40,219,.16))!important;opacity:0!important;transition:opacity .18s ease!important;pointer-events:none!important;}
.service-card:hover::before,.service-card:focus-within::before{opacity:1!important;}
.service-card > *{position:relative!important;z-index:1!important;}
.service-card:hover{border-color:rgba(235,40,219,.28)!important;background:#fff!important;transform:translateY(-5px)!important;}
.service-card:hover .service-icon{background:rgba(255,255,255,.86)!important;border-color:rgba(235,40,219,.24)!important;box-shadow:none!important;}
.service-icon svg{transition:transform .18s ease!important;}
.service-card:hover .service-icon svg{transform:translateY(-2px) scale(1.04)!important;}

/* Banner accessibilità: contrasto corretto anche su mobile */
.access-section{background:linear-gradient(135deg,#2B3351 0%,#354479 56%,#503b8f 100%)!important;color:#fff!important;box-shadow:none!important;}
.access-section *{position:relative;z-index:1;}
.access-preview{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;box-shadow:none!important;}
.access-demo{background:linear-gradient(135deg,#ffffff,#f7f3ff)!important;color:#2B3351!important;border:1px solid rgba(255,255,255,.36)!important;}
.access-demo:hover,.access-demo:focus-visible{background:linear-gradient(135deg,#5F86E5,#F264E9)!important;color:#fff!important;}

/* Progetti: testi e card più ordinate */
.project-card-v15 .project-content{min-height:280px!important;}
.project-card-v15 .project-content p:not(.eyebrow){margin-top:.55rem!important;}
.project-coming-soon .project-content{min-height:220px!important;}

@media(max-width:920px){
  .about-content{grid-template-columns:1fr!important;gap:1.2rem!important;}
  .about-image{max-width:300px!important;margin:0 auto!important;}
  .about-text{max-width:720px!important;margin:0 auto!important;}
  .project-card-v15 .project-content{min-height:auto!important;}
  .projects-grid-v15{grid-template-columns:1fr!important;}
  .project-showcase-v15{height:240px!important;min-height:240px!important;}
}
@media(max-width:640px){
  .about-text p{font-size:.95rem!important;line-height:1.62!important;}
  .about-pills span{font-size:.76rem!important;padding:.38rem .58rem!important;}
  .services-grid{gap:.75rem!important;}
  .service-card{grid-template-columns:54px 1fr!important;gap:.75rem!important;padding:.9rem!important;}
  .service-icon{width:50px!important;height:50px!important;}
  .service-icon svg{width:34px!important;height:34px!important;}
  .project-showcase-v15{height:218px!important;min-height:218px!important;padding:14px!important;}
  .outline-phone{width:112px!important;height:202px!important;}
  .outline-browser{width:100%!important;height:170px!important;}
  .outline-browser-screen{height:136px!important;}
  .access-section{background:linear-gradient(135deg,#2B3351,#433982)!important;}
  .access-preview{background:rgba(255,255,255,.14)!important;}
}


/* Revisione v18: sezione Chi sono più sintetica e foto leggermente più piccola */
.about-image{max-width:285px!important;}
.about-content{grid-template-columns:340px 1fr!important;}
.about-text p{line-height:1.65!important;}
.about-text p + p{margin-top:.7rem!important;}
@media(max-width:920px){
  .about-content{grid-template-columns:1fr!important;}
  .about-image{max-width:255px!important;}
}
@media(max-width:640px){
  .about-image{max-width:220px!important;}
}


/* Revisione v19: hero mobile più compatta, niente testo + immagine sotto */
.mobile-hero-photo{display:none!important;}
@media(max-width:640px){
  .hero{padding-top:96px!important;padding-bottom:34px!important;min-height:auto!important;}
  .hero-shell{display:block!important;}
  .hero-content{max-width:none!important;}
  .mobile-hero-photo{
    display:block!important;
    float:right!important;
    width:88px!important;
    height:88px!important;
    object-fit:cover!important;
    border-radius:26px!important;
    margin:.05rem 0 .7rem .85rem!important;
    border:2px solid rgba(255,255,255,.9)!important;
    box-shadow:0 16px 34px rgba(43,51,81,.14)!important;
    background:#fff!important;
  }
  .hero .eyebrow{font-size:.62rem!important;padding:.42rem .62rem!important;margin-bottom:.75rem!important;letter-spacing:.1em!important;}
  .hero h1{font-size:clamp(2.35rem,11.5vw,3.05rem)!important;line-height:1!important;margin-bottom:.75rem!important;letter-spacing:-.06em!important;}
  .hero .subtitle{font-size:1.04rem!important;margin-bottom:.55rem!important;}
  .hero-copy{font-size:.94rem!important;line-height:1.58!important;margin-bottom:1.1rem!important;}
  .hero-buttons{clear:both!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:.6rem!important;margin-top:.8rem!important;}
  .hero-buttons .btn{width:100%!important;padding:.78rem .7rem!important;font-size:.82rem!important;min-height:44px!important;}
  .hero-visual{display:none!important;}
}
@media(max-width:380px){
  .mobile-hero-photo{width:76px!important;height:76px!important;border-radius:22px!important;margin-left:.65rem!important;}
  .hero-buttons{grid-template-columns:1fr!important;}
}


/* Revisione v20: hero mobile visibile + SwipSwap outline più grande e pulito */
@media(max-width:640px){
  .mobile-hero-photo{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    position:relative!important;
    z-index:3!important;
    float:right!important;
    width:92px!important;
    height:92px!important;
    min-width:92px!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:24px!important;
    margin:.12rem 0 .7rem .85rem!important;
    border:2px solid rgba(255,255,255,.95)!important;
    background:#fff!important;
    box-shadow:0 14px 30px rgba(43,51,81,.16)!important;
  }
}

/* SwipSwap: telefono più grande, immagine intera, niente bordo/alone esterno */
.swipswap-phone-outline{
  width:176px!important;
  height:300px!important;
  padding:4px!important;
  border:3px solid #151927!important;
  border-radius:38px!important;
  background:#151927!important;
  box-shadow:0 24px 48px rgba(43,51,81,.16)!important;
  transform:rotate(-2deg)!important;
}
.swipswap-phone-outline::after{display:none!important;content:none!important;}
.swipswap-phone-outline .phone-notch-v15{
  width:42px!important;
  height:11px!important;
  top:7px!important;
  background:#151927!important;
  border-radius:0 0 10px 10px!important;
}
.swipswap-phone-outline .outline-phone-screen{
  border-radius:31px!important;
  background:#fff!important;
  padding:0!important;
}
.swipswap-phone-outline .outline-phone-screen img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.project-card-v15:first-child .project-showcase-v15{
  padding:12px!important;
  place-items:center!important;
}
@media(max-width:720px){
  .swipswap-phone-outline{
    width:158px!important;
    height:270px!important;
    border-width:3px!important;
    border-radius:34px!important;
  }
  .swipswap-phone-outline .outline-phone-screen{border-radius:28px!important;}
  .project-card-v15:first-child .project-showcase-v15{height:292px!important;min-height:292px!important;}
}
@media(max-width:420px){
  .mobile-hero-photo{width:84px!important;height:84px!important;min-width:84px!important;}
  .swipswap-phone-outline{
    width:148px!important;
    height:252px!important;
    transform:rotate(-1deg)!important;
  }
  .project-card-v15:first-child .project-showcase-v15{height:276px!important;min-height:276px!important;}
}

/* Revisione v21: hero mobile visibile + SwipSwap full-screen nel telefono */
@media (max-width:640px){
  .hero-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 86px!important;
    column-gap:.75rem!important;
    align-items:start!important;
  }
  .mobile-hero-photo{
    display:block!important;
    grid-column:2!important;
    grid-row:1 / span 3!important;
    float:none!important;
    width:86px!important;
    height:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    opacity:1!important;
    visibility:visible!important;
    object-fit:cover!important;
    object-position:center top!important;
    border-radius:24px!important;
    margin:.15rem 0 0!important;
    position:relative!important;
    z-index:10!important;
    border:2px solid #fff!important;
    background:#fff!important;
    box-shadow:0 14px 30px rgba(43,51,81,.16)!important;
  }
  .hero .eyebrow,.hero h1,.hero .subtitle{grid-column:1!important;}
  .hero-copy,.hero-buttons{grid-column:1 / -1!important;clear:none!important;}
  .hero-copy{margin-top:.45rem!important;}
}
@media (max-width:380px){
  .hero-content{grid-template-columns:minmax(0,1fr) 74px!important;column-gap:.55rem!important;}
  .mobile-hero-photo{width:74px!important;height:74px!important;min-width:74px!important;max-width:74px!important;border-radius:20px!important;}
}

.swipswap-phone-outline{
  width:188px!important;
  height:282px!important;
  padding:2px!important;
  border:2px solid #151927!important;
  border-radius:32px!important;
  background:#151927!important;
  box-shadow:0 22px 42px rgba(43,51,81,.13)!important;
  overflow:hidden!important;
}
.swipswap-phone-outline .phone-notch-v15{display:none!important;}
.swipswap-phone-outline .outline-phone-screen{
  width:100%!important;
  height:100%!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.swipswap-phone-outline .outline-phone-screen img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
}
.project-card-v15:first-child .project-showcase-v15{
  padding:10px!important;
  overflow:hidden!important;
}
@media(max-width:720px){
  .swipswap-phone-outline{width:176px!important;height:264px!important;border-radius:30px!important;}
  .swipswap-phone-outline .outline-phone-screen{border-radius:26px!important;}
  .project-card-v15:first-child .project-showcase-v15{height:292px!important;min-height:292px!important;}
}
@media(max-width:420px){
  .swipswap-phone-outline{width:166px!important;height:249px!important;border-radius:28px!important;}
  .swipswap-phone-outline .outline-phone-screen{border-radius:24px!important;}
  .project-card-v15:first-child .project-showcase-v15{height:276px!important;min-height:276px!important;}
}

/* Revisione v22: foto hero mobile/tablet visibile + SwipSwap centrato meglio nel telefono */
@media (max-width:920px){
  .hero-content{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    column-gap:.85rem!important;
    align-items:start!important;
  }
  .mobile-hero-photo{
    display:block!important;
    grid-column:2!important;
    grid-row:1 / span 3!important;
    float:none!important;
    width:92px!important;
    height:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    opacity:1!important;
    visibility:visible!important;
    object-fit:cover!important;
    object-position:center top!important;
    border-radius:24px!important;
    margin:.12rem 0 0!important;
    position:relative!important;
    z-index:20!important;
    border:2px solid #fff!important;
    background:#fff!important;
    box-shadow:0 14px 30px rgba(43,51,81,.16)!important;
  }
  .hero .eyebrow,.hero h1,.hero .subtitle{grid-column:1!important;min-width:0!important;}
  .hero-copy,.hero-buttons{grid-column:1 / -1!important;clear:none!important;}
}
@media (max-width:640px){
  .hero-content{grid-template-columns:minmax(0,1fr) 84px!important;column-gap:.7rem!important;}
  .mobile-hero-photo{width:84px!important;height:84px!important;min-width:84px!important;max-width:84px!important;border-radius:22px!important;}
}
@media (max-width:380px){
  .hero-content{grid-template-columns:minmax(0,1fr) 72px!important;column-gap:.55rem!important;}
  .mobile-hero-photo{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;border-radius:19px!important;}
}
.swipswap-phone-outline .outline-phone-screen img{
  object-fit:cover!important;
  object-position:58% center!important;
  transform:translateX(4px) scale(1.015)!important;
  transform-origin:center center!important;
}
.project-card:hover .swipswap-phone-outline .outline-phone-screen img{
  transform:translateX(4px) scale(1.015)!important;
}


/* Revisione v23: hero mobile con mockup PC/telefono + SwipSwap allineato a sinistra */
@media (max-width:920px){
  .mobile-hero-photo{
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
}
@media (max-width:640px){
  .hero-content{grid-template-columns:minmax(0,1fr) 108px!important;}
  .mobile-hero-photo{width:108px!important;height:84px!important;min-width:108px!important;max-width:108px!important;margin:.05rem 0 0!important;}
}
@media (max-width:380px){
  .hero-content{grid-template-columns:minmax(0,1fr) 92px!important;}
  .mobile-hero-photo{width:92px!important;height:72px!important;min-width:92px!important;max-width:92px!important;}
}
.swipswap-phone-outline{
  border-width:1px!important;
  padding:1px!important;
  background:#151927!important;
  box-shadow:0 18px 34px rgba(43,51,81,.10)!important;
}
.swipswap-phone-outline .outline-phone-screen{
  border-radius:27px!important;
}
.swipswap-phone-outline .outline-phone-screen img{
  object-position:left 58%!important;
  transform:none!important;
  object-fit:cover!important;
}
@media(max-width:720px){
  .swipswap-phone-outline{border-width:1px!important;padding:1px!important;}
  .swipswap-phone-outline .outline-phone-screen{border-radius:25px!important;}
}
@media(max-width:420px){
  .swipswap-phone-outline .outline-phone-screen{border-radius:23px!important;}
}

/* Revisione v24: foto mobile più piccola + SwipSwap stabile in hover */
@media (max-width:640px){
  .hero-content{grid-template-columns:minmax(0,1fr) 82px!important;column-gap:.6rem!important;}
  .mobile-hero-photo{width:82px!important;height:64px!important;min-width:82px!important;max-width:82px!important;margin:.02rem 0 0!important;}
}
@media (max-width:380px){
  .hero-content{grid-template-columns:minmax(0,1fr) 72px!important;column-gap:.5rem!important;}
  .mobile-hero-photo{width:72px!important;height:56px!important;min-width:72px!important;max-width:72px!important;}
}
@media (max-width:640px){
  .about-image{max-width:185px!important;margin:0 auto!important;}
  .about-image::before{inset:14px -10px -10px 14px!important;border-radius:26px!important;}
  .about-image img{border-radius:26px!important;}
}
@media (max-width:380px){
  .about-image{max-width:165px!important;}
}
.swipswap-phone-outline .outline-phone-screen img,
.project-card:hover .swipswap-phone-outline .outline-phone-screen img,
.project-card-v15:hover .swipswap-phone-outline .outline-phone-screen img{
  object-position:left 58%!important;
  transform:none!important;
  scale:1!important;
}
.swipswap-phone-outline .outline-phone-screen{
  background:#fff!important;
  overflow:hidden!important;
}

/* Revisione v25: hero mobile più nitida, landing SwipSwap più ampia, servizi illuminati in scroll */
.mobile-hero-photo{
  image-rendering:auto!important;
  filter:none!important;
  transform:translateZ(0)!important;
}
@media (max-width:920px){
  .mobile-hero-photo{
    width:132px!important;
    height:96px!important;
    min-width:132px!important;
    max-width:132px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .hero-content{grid-template-columns:minmax(0,1fr) 132px!important;column-gap:.75rem!important;}
}
@media (max-width:640px){
  .mobile-hero-photo{
    width:116px!important;
    height:84px!important;
    min-width:116px!important;
    max-width:116px!important;
  }
  .hero-content{grid-template-columns:minmax(0,1fr) 116px!important;}
}
@media (max-width:380px){
  .mobile-hero-photo{
    width:102px!important;
    height:74px!important;
    min-width:102px!important;
    max-width:102px!important;
  }
  .hero-content{grid-template-columns:minmax(0,1fr) 102px!important;}
}

.landing-showcase-v15{
  padding:16px!important;
  align-items:center!important;
}
.landing-showcase-v15 .outline-browser{
  width:100%!important;
  max-width:520px!important;
  height:248px!important;
  border-radius:26px!important;
  transform:none!important;
  box-shadow:0 22px 46px rgba(43,51,81,.10)!important;
}
.landing-showcase-v15 .outline-browser::after{display:none!important;}
.landing-showcase-v15 .browser-top-v15{height:32px!important;}
.landing-showcase-v15 .outline-browser-screen{
  height:216px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.landing-showcase-v15 .outline-browser-screen img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  transform:none!important;
}
@media(max-width:720px){
  .landing-showcase-v15{height:265px!important;min-height:265px!important;padding:14px!important;}
  .landing-showcase-v15 .outline-browser{height:224px!important;max-width:100%!important;border-radius:22px!important;}
  .landing-showcase-v15 .browser-top-v15{height:28px!important;}
  .landing-showcase-v15 .outline-browser-screen{height:196px!important;}
}
@media(max-width:420px){
  .landing-showcase-v15{height:238px!important;min-height:238px!important;padding:12px!important;}
  .landing-showcase-v15 .outline-browser{height:198px!important;}
  .landing-showcase-v15 .outline-browser-screen{height:170px!important;}
}

@media (max-width:900px){
  .service-card{
    transition:background .35s ease,border-color .35s ease,transform .25s ease,box-shadow .35s ease!important;
  }
  .service-card.is-scroll-lit{
    background:radial-gradient(circle at 20% 0%,rgba(95,134,229,.20),transparent 45%),radial-gradient(circle at 90% 20%,rgba(242,100,233,.18),transparent 44%),#fff!important;
    border-color:rgba(129,98,238,.30)!important;
    box-shadow:0 22px 52px rgba(129,98,238,.16)!important;
  }
  .service-card.is-scroll-lit .service-icon{
    background:linear-gradient(135deg,#5f86e5,#f264e9)!important;
    color:#fff!important;
    border-color:transparent!important;
  }
  .service-card.is-scroll-lit .service-icon svg *{
    stroke:#fff!important;
  }
}

/* Revisione v26: su mobile si illumina solo il box dei servizi, non le icone */
@media (max-width:900px){
  .service-card.is-scroll-lit .service-icon,
  .service-card.is-scroll-lit:hover .service-icon{
    background:#fff!important;
    color:inherit!important;
    border-color:rgba(95,134,229,.18)!important;
    box-shadow:0 12px 28px rgba(43,51,81,.06)!important;
  }
  .service-card.is-scroll-lit .service-icon svg,
  .service-card.is-scroll-lit .service-icon svg *,
  .service-card.is-scroll-lit:hover .service-icon svg,
  .service-card.is-scroll-lit:hover .service-icon svg *{
    stroke:currentColor!important;
    fill:none!important;
  }
  .service-card.is-scroll-lit .service-icon svg{
    transform:none!important;
  }
}


/* Revisione v27: ripristino caricamento/resa landing SwipSwap */
.landing-showcase-v15{
  min-height:280px!important;
  height:280px!important;
  padding:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.landing-showcase-v15 .outline-browser{
  display:block!important;
  width:min(100%,560px)!important;
  max-width:560px!important;
  min-width:0!important;
  height:246px!important;
  border:1.5px solid rgba(43,51,81,.14)!important;
  border-radius:24px!important;
  background:#fff!important;
  overflow:hidden!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.landing-showcase-v15 .outline-browser-screen{
  display:block!important;
  position:relative!important;
  height:214px!important;
  width:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
.landing-showcase-v15 .outline-browser-screen img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center top!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.project-card-v15:hover .landing-showcase-v15 .outline-browser-screen img{
  transform:none!important;
}
@media(max-width:720px){
  .landing-showcase-v15{height:252px!important;min-height:252px!important;padding:12px!important;}
  .landing-showcase-v15 .outline-browser{width:100%!important;height:214px!important;border-radius:20px!important;}
  .landing-showcase-v15 .browser-top-v15{height:27px!important;}
  .landing-showcase-v15 .outline-browser-screen{height:187px!important;}
}
@media(max-width:420px){
  .landing-showcase-v15{height:230px!important;min-height:230px!important;padding:10px!important;}
  .landing-showcase-v15 .outline-browser{height:194px!important;}
  .landing-showcase-v15 .outline-browser-screen{height:167px!important;}
}

/* Revisione v28: hero mobile più pulita, senza badge blu e senza immagine a destra */
@media (max-width:920px){
  .hero-content{
    display:block!important;
    grid-template-columns:1fr!important;
  }
  .hero .eyebrow,
  .mobile-hero-photo{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .hero h1,
  .hero .subtitle,
  .hero-copy,
  .hero-buttons{
    grid-column:auto!important;
  }
}
@media (max-width:640px){
  .hero{
    padding-top:94px!important;
    padding-bottom:38px!important;
  }
  .hero h1{
    margin-top:0!important;
  }
}

/* Revisione v29: titoli centrati su mobile + hero mobile più ariosa */
@media (max-width:920px){
  .section-title{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    max-width:760px!important;
  }
  .section-title::after{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .hero{
    padding-top:118px!important;
    padding-bottom:72px!important;
    min-height:620px!important;
  }
  .hero-shell{
    width:100%!important;
    max-width:760px!important;
    gap:0!important;
  }
  .hero-content{
    display:block!important;
    max-width:700px!important;
    margin:0 auto!important;
    text-align:left!important;
  }
  .hero h1{
    font-size:clamp(3.1rem,11vw,4.35rem)!important;
    line-height:1.02!important;
    margin-bottom:1.05rem!important;
  }
  .hero .subtitle{
    font-size:clamp(1.18rem,4.2vw,1.55rem)!important;
    line-height:1.35!important;
    margin-bottom:.9rem!important;
  }
  .hero-copy{
    font-size:1.04rem!important;
    line-height:1.72!important;
    max-width:620px!important;
    margin-bottom:1.7rem!important;
  }
  .hero-buttons{
    gap:.85rem!important;
  }
}
@media (max-width:640px){
  .hero{
    padding-top:112px!important;
    padding-bottom:64px!important;
    min-height:590px!important;
  }
  .hero-content{
    max-width:100%!important;
  }
  .hero h1{
    font-size:clamp(3rem,16vw,4rem)!important;
    line-height:1.03!important;
    letter-spacing:-.06em!important;
  }
  .hero .subtitle{
    font-size:1.18rem!important;
  }
  .hero-copy{
    font-size:1rem!important;
    line-height:1.7!important;
  }
  .hero-buttons{
    flex-direction:row!important;
    align-items:center!important;
    gap:.7rem!important;
  }
  .hero-buttons .btn{
    width:auto!important;
    flex:1 1 150px!important;
    min-height:50px!important;
    padding:.88rem 1rem!important;
  }
}
@media (max-width:390px){
  .hero{
    padding-top:104px!important;
    min-height:560px!important;
  }
  .hero h1{
    font-size:clamp(2.7rem,15vw,3.35rem)!important;
  }
  .hero-buttons{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .hero-buttons .btn{
    width:100%!important;
  }
}

/* Fix v31: sottotitolo progetti centrato su mobile e zip completo */
@media (max-width: 720px){
  #projects .section-subtitle{
    text-align: center !important;
    margin: -1.5rem auto 2rem !important;
    max-width: 92% !important;
  }
}


/* v32: mockup SwipSwap App coerente con il progetto Coming Soon */
.project-card-v15:first-child .project-showcase-v15{
  background:radial-gradient(circle at 50% 38%,rgba(47,98,201,.16),transparent 42%),linear-gradient(135deg,#f8faff,#fff7fe)!important;
  padding:22px!important;
}
.swipswap-app-device{
  width:min(100%,270px)!important;
  min-height:220px!important;
  border-radius:32px!important;
  padding:18px 22px 20px!important;
  background:#fff!important;
  border:1px solid rgba(47,98,201,.16)!important;
  box-shadow:0 28px 58px rgba(47,98,201,.12)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:hidden!important;
}
.swipswap-app-device::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(47,98,201,.07),rgba(235,40,219,.05) 55%,transparent)!important;
  pointer-events:none;
}
.swipswap-app-screen{
  position:relative!important;
  z-index:1!important;
  width:104px!important;
  height:104px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 20px 38px rgba(47,98,201,.18)!important;
  border:1px solid rgba(47,98,201,.12)!important;
}
.swipswap-app-screen img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:left 58%!important;
  transform:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.swipswap-device-lines{
  position:relative!important;
  z-index:1!important;
  width:78%!important;
  display:grid!important;
  gap:8px!important;
  margin-top:18px!important;
}
.swipswap-device-lines span{height:9px!important;border-radius:999px!important;background:rgba(47,98,201,.13)!important;}
.swipswap-device-lines span:nth-child(2){width:74%!important;background:rgba(129,98,238,.14)!important;}
.swipswap-device-lines span:nth-child(3){width:52%!important;background:rgba(235,40,219,.13)!important;}
.swipswap-device-badge{
  position:relative!important;
  z-index:1!important;
  margin-top:18px!important;
  background:linear-gradient(135deg,#2F62C9,#8162EE,#EB28DB)!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.55rem .85rem!important;
  font-weight:900!important;
  font-size:.82rem!important;
  box-shadow:0 12px 26px rgba(129,98,238,.22)!important;
}
.project-card-v15:hover .swipswap-app-screen img{transform:none!important;}
@media(max-width:720px){
  .project-card-v15:first-child .project-showcase-v15{height:250px!important;min-height:250px!important;padding:18px!important;}
  .swipswap-app-device{min-height:190px!important;border-radius:26px!important;padding:16px 18px!important;}
  .swipswap-app-screen{width:86px!important;height:86px!important;border-radius:24px!important;}
}


/* v34: progetti app uniformi, senza mockup telefono pesante */
.project-card-v15:first-child .project-showcase-v15,
.project-coming-soon .project-showcase-v15{
  background:radial-gradient(circle at 24% 18%,rgba(47,98,201,.14),transparent 34%),radial-gradient(circle at 86% 80%,rgba(235,40,219,.11),transparent 38%),linear-gradient(135deg,#f8faff 0%,#fff7fe 100%)!important;
  padding:24px!important;
  overflow:hidden!important;
}
.app-preview-card{
  width:min(100%,360px)!important;
  min-height:245px!important;
  border-radius:32px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid rgba(47,98,201,.14)!important;
  box-shadow:0 24px 58px rgba(43,51,81,.11)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:16px!important;
  position:relative!important;
  overflow:hidden!important;
}
.app-preview-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(47,98,201,.045),rgba(235,40,219,.04) 60%,transparent)!important;
  pointer-events:none;
}
.app-preview-visual{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:150px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#f5f7ff,#fff)!important;
  border:1px solid rgba(47,98,201,.11)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)!important;
}
.swipswap-app-visual img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 28%!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.coming-app-visual{
  background:linear-gradient(135deg,rgba(83,64,255,.13),rgba(83,64,255,.035))!important;
}
.coming-app-visual img{
  width:86px!important;
  height:86px!important;
  object-fit:contain!important;
  border-radius:22px!important;
  transform:none!important;
  box-shadow:0 18px 36px rgba(83,64,255,.18)!important;
}
.app-preview-meta{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:14px!important;
}
.app-preview-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:.48rem .78rem!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#2F62C9,#8162EE,#EB28DB)!important;
  color:#fff!important;
  font-size:.78rem!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 10px 24px rgba(129,98,238,.20)!important;
  white-space:nowrap!important;
}
.coming-preview-badge{
  background:#5340FF!important;
  box-shadow:0 10px 24px rgba(83,64,255,.22)!important;
}
.app-preview-lines{display:grid!important;gap:7px!important;min-width:0!important;}
.app-preview-lines span{height:8px!important;border-radius:999px!important;background:rgba(47,98,201,.12)!important;display:block!important;}
.app-preview-lines span:nth-child(2){width:78%!important;background:rgba(129,98,238,.13)!important;}
.app-preview-lines span:nth-child(3){width:54%!important;background:rgba(235,40,219,.12)!important;}
.project-card-v15:hover .app-preview-card{box-shadow:0 30px 70px rgba(129,98,238,.15)!important;}
.project-card-v15:hover .app-preview-visual img{transform:none!important;}
@media(max-width:720px){
  .project-card-v15:first-child .project-showcase-v15,
  .project-coming-soon .project-showcase-v15{height:255px!important;min-height:255px!important;padding:16px!important;}
  .app-preview-card{min-height:215px!important;border-radius:26px!important;padding:14px!important;gap:13px!important;}
  .app-preview-visual{height:132px!important;border-radius:20px!important;}
  .coming-app-visual img{width:74px!important;height:74px!important;}
  .app-preview-meta{grid-template-columns:1fr!important;gap:9px!important;}
  .app-preview-badge{width:max-content!important;}
}

/* v35: SwipSwap App nello stesso stile visuale del progetto Coming Soon */
.swipswap-preview-card .swipswap-app-visual{
  background:linear-gradient(135deg,rgba(47,98,201,.92) 0%,rgba(129,98,238,.92) 48%,rgba(235,40,219,.82) 100%)!important;
  border:0!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20),0 18px 38px rgba(129,98,238,.18)!important;
  place-items:stretch!important;
}
.swipswap-preview-card .swipswap-app-visual img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:left center!important;
  display:block!important;
  transform:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
  transform:none!important;
  object-position:left center!important;
}
@media(max-width:720px){
  .swipswap-preview-card .swipswap-app-visual{
    height:138px!important;
  }
  .swipswap-preview-card .swipswap-app-visual img{
    object-position:left center!important;
  }
}

/* v36: card app coerenti come mockup Coming Soon, badge centrato */
.project-card-v15:first-child .project-showcase-v15,
.project-coming-soon .project-showcase-v15{
  background:radial-gradient(circle at 18% 12%,rgba(47,98,201,.12),transparent 34%),radial-gradient(circle at 86% 84%,rgba(235,40,219,.12),transparent 38%),linear-gradient(135deg,#f7f9ff 0%,#fff7fd 100%)!important;
}
.swipswap-preview-card,
.coming-preview-card{
  width:min(100%,270px)!important;
  min-height:238px!important;
  border-radius:34px!important;
  padding:22px 20px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(95,134,229,.16)!important;
  box-shadow:0 26px 58px rgba(43,51,81,.10)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:20px!important;
}
.swipswap-preview-card::before,
.coming-preview-card::before{
  background:linear-gradient(135deg,rgba(83,64,255,.045),rgba(235,40,219,.035) 58%,transparent)!important;
}
.swipswap-preview-card .app-preview-visual,
.coming-preview-card .app-preview-visual{
  width:170px!important;
  height:170px!important;
  border-radius:31px!important;
  background:linear-gradient(135deg,rgba(83,64,255,.13),rgba(129,98,238,.08),rgba(235,40,219,.055))!important;
  border:1px solid rgba(83,64,255,.14)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62)!important;
  overflow:hidden!important;
  display:block!important;
  place-items:unset!important;
}
.coming-preview-card .coming-app-visual{
  display:grid!important;
  place-items:center!important;
}
.coming-preview-card .coming-app-visual img{
  width:92px!important;
  height:92px!important;
  object-fit:contain!important;
  border-radius:26px!important;
  box-shadow:0 20px 38px rgba(83,64,255,.20)!important;
}
.swipswap-preview-card .swipswap-app-visual{
  background:linear-gradient(135deg,#5140ff 0%,#7a5cff 48%,#e94adc 100%)!important;
  border:1px solid rgba(255,255,255,.42)!important;
}
.swipswap-preview-card .swipswap-app-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:left center!important;
  transform:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  display:block!important;
}
.project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img,
.project-card-v15:hover .coming-preview-card .coming-app-visual img{
  transform:none!important;
}
.swipswap-preview-card .app-preview-meta,
.coming-preview-card .app-preview-meta{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:0!important;
}
.swipswap-preview-card .app-preview-lines,
.coming-preview-card .app-preview-lines{display:none!important;}
.swipswap-preview-card .app-preview-badge,
.coming-preview-card .app-preview-badge{
  margin:0 auto!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:150px!important;
  padding:.72rem 1.15rem!important;
  font-size:.9rem!important;
  border-radius:999px!important;
}
@media(max-width:720px){
  .swipswap-preview-card,
  .coming-preview-card{width:min(100%,240px)!important;min-height:218px!important;border-radius:30px!important;padding:18px!important;gap:16px!important;}
  .swipswap-preview-card .app-preview-visual,
  .coming-preview-card .app-preview-visual{width:148px!important;height:148px!important;border-radius:28px!important;}
  .coming-preview-card .coming-app-visual img{width:78px!important;height:78px!important;border-radius:22px!important;}
  .swipswap-preview-card .app-preview-badge,
  .coming-preview-card .app-preview-badge{min-width:138px!important;font-size:.82rem!important;padding:.66rem 1rem!important;}
}

/* v37: SwipSwap App - abbasso leggermente l'immagine interna per non tagliare il titolo */
.swipswap-preview-card .swipswap-app-visual img{
  object-position:left 58%!important;
}
.project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
  object-position:left 58%!important;
  transform:none!important;
}
@media(max-width:720px){
  .swipswap-preview-card .swipswap-app-visual img,
  .project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
    object-position:left 58%!important;
  }
}

/* v38: SwipSwap App - immagine allineata al bordo superiore del box */
.swipswap-preview-card .swipswap-app-visual img,
.project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
  object-position:left top!important;
  transform:none!important;
}
@media(max-width:720px){
  .swipswap-preview-card .swipswap-app-visual img,
  .project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
    object-position:left top!important;
    transform:none!important;
  }
}

/* v39: revisione pre-pubblicazione desktop/mobile + sfumatura hero pulita */
.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(235,40,219,.14) 0%, rgba(235,40,219,.08) 24%, transparent 46%),
    radial-gradient(circle at 16% 72%, rgba(47,98,201,.13) 0%, rgba(47,98,201,.07) 25%, transparent 48%),
    radial-gradient(circle at 54% 48%, rgba(129,98,238,.10) 0%, transparent 42%),
    linear-gradient(135deg,#ffffff 0%,#f8faff 46%,#fff7fd 100%)!important;
  isolation:isolate!important;
}
.hero::before{
  background:
    linear-gradient(120deg, rgba(255,255,255,.86), rgba(255,255,255,.30) 44%, rgba(255,255,255,.78)),
    radial-gradient(circle at 78% 23%, rgba(235,40,219,.10), transparent 34%),
    radial-gradient(circle at 20% 82%, rgba(47,98,201,.10), transparent 36%)!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.hero::after{
  background-image:linear-gradient(rgba(47,98,201,.045) 1px, transparent 1px),linear-gradient(90deg,rgba(235,40,219,.038) 1px, transparent 1px)!important;
  background-size:56px 56px!important;
  opacity:.55!important;
  mix-blend-mode:normal!important;
}
.constellation-canvas,
.particles-container{
  display:none!important;
}
.hero-visual,
.device-wrap,
.desktop-mock,
.phone-mock{
  backface-visibility:hidden!important;
}
.desktop-mock,
.phone-mock{
  filter:none!important;
}
.desktop-mock::after{
  background:linear-gradient(180deg,rgba(43,51,81,.07),rgba(43,51,81,0))!important;
  opacity:.55!important;
}
.phone-mock{
  box-shadow:0 26px 58px rgba(43,51,81,.18), inset 0 0 0 1px rgba(255,255,255,.16)!important;
}

/* pubblicazione: immagini stabili e niente salti/zoom strani */
.project-card,
.service-card,
.about-text,
.contact-info,
.access-section{
  transform:translateZ(0)!important;
}
.project-card:hover .project-image img,
.project-card-v15:hover .project-image img,
.project-card-v15:hover .app-preview-visual img,
.project-card-v15:hover .outline-browser-screen img{
  transform:none!important;
}
.swipswap-preview-card .swipswap-app-visual img,
.project-card-v15:hover .swipswap-preview-card .swipswap-app-visual img{
  object-position:left top!important;
  transform:none!important;
}
.landing-showcase-v15 .outline-browser-screen img,
.project-card-v15:hover .landing-showcase-v15 .outline-browser-screen img{
  object-position:center top!important;
  transform:none!important;
}

/* pubblicazione mobile: layout più respirato e sezioni centrate */
@media(max-width:920px){
  html,body{overflow-x:hidden!important;}
  nav{width:calc(100% - 20px)!important;}
  .hero{
    min-height:auto!important;
    padding-top:118px!important;
    padding-bottom:70px!important;
  }
  .hero-shell{max-width:720px!important;}
  .hero-content{text-align:left!important;}
  .section-title,
  #projects .section-subtitle{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .projects-grid,
  .services-grid{align-items:stretch!important;}
  .project-content{min-height:auto!important;}
}
@media(max-width:640px){
  .hero{
    padding-top:108px!important;
    padding-bottom:58px!important;
  }
  .hero h1{
    font-size:clamp(2.82rem,15vw,3.75rem)!important;
    line-height:1.04!important;
  }
  .hero-copy{max-width:100%!important;}
  .hero-buttons{gap:.72rem!important;}
  .hero-buttons .btn{min-height:48px!important;}
  .services-grid,
  .projects-grid{gap:1rem!important;}
  .project-image{padding:14px!important;}
  .swipswap-preview-card,
  .coming-preview-card{width:min(100%,232px)!important;}
  .access-section{border-radius:28px!important;padding:1.35rem!important;}
  .footer-content{align-items:flex-start!important;}
}
@media(max-width:390px){
  .hero h1{font-size:clamp(2.55rem,14vw,3.25rem)!important;}
  .section-title{font-size:clamp(2.05rem,12vw,3rem)!important;}
}

/* v40: fix sfumatura hero - rimosso stacco/ombra scura sotto il mockup */
.hero-visual,
.device-wrap{
  background:transparent!important;
  filter:none!important;
  box-shadow:none!important;
}
.desktop-mock{
  box-shadow:0 24px 58px rgba(47,98,201,.10),0 10px 28px rgba(235,40,219,.055)!important;
  background:#fff!important;
}
.desktop-mock::after{
  display:none!important;
  content:none!important;
}
.phone-mock{
  box-shadow:0 22px 44px rgba(47,98,201,.12),0 10px 26px rgba(235,40,219,.08),inset 0 0 0 1px rgba(255,255,255,.14)!important;
}
.hero::before,
.hero::after{
  pointer-events:none!important;
}
