:root{--ink:#11102a;--ink2:#191735;--paper:#f2f2ef;--white:#fbfbff;--brand:#38348d;--blue:#5d58d6;--red:#ed1c24;--muted:#aaa9bc;--line:rgba(255,255,255,.15);--font-main:"Manrope",Arial,sans-serif;--font-mono:"Space Mono",Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--font-main),sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,5vw,80px);transition:.35s}
.site-header.is-scrolled{height:68px;background:rgba(17,16,42,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.logo{position:relative;display:inline-block;width:max-content;padding-bottom:9px;line-height:.78}.logo-main{font-size:27px;font-weight:850;font-style:italic;letter-spacing:-2px}.logo-next{position:absolute;right:0;bottom:-1px;color:var(--red);font:700 7px var(--font-mono);letter-spacing:.08em}
.nav{display:flex;gap:clamp(24px,3vw,48px);font:400 11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.nav a{position:relative;color:#dcdaec}.nav a:after{content:"";position:absolute;height:2px;width:0;background:var(--red);left:0;bottom:-8px;transition:.25s}.nav a:hover:after{width:100%}
.header-cta{justify-self:end;border:1px solid var(--line);padding:11px 15px;border-radius:100px;font:400 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.header-cta span{color:#ff5b61;margin-left:8px}.header-cta:hover{border-color:var(--red)}
.menu-toggle{display:none;background:0;border:0;color:white;width:40px;height:40px}
.hero{min-height:100svh;position:relative;overflow:hidden;padding:150px clamp(24px,7vw,110px) 72px;display:flex;align-items:center;background:radial-gradient(circle at 72% 44%,#3b3788 0,#211e51 28%,var(--ink) 60%)}
.hero-grid{position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to right,#000,transparent 78%)}
.hero-copy{position:relative;z-index:2;width:66%;max-width:980px}.eyebrow,.section-index{font:400 10px var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:#d3d1e4;display:flex;align-items:center;gap:10px;margin-bottom:32px}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}
h1{font-size:clamp(48px,6.2vw,104px);line-height:.94;letter-spacing:-.065em;margin:0;font-weight:720}h1 em{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.72);font-style:normal}
.hero-lead{max-width:600px;font-size:clamp(17px,1.5vw,22px);line-height:1.55;color:#bfbdcf;margin:36px 0 0}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;gap:28px;padding:17px 21px;background:var(--red);font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.button span{transition:.2s}.button:hover span{transform:translate(3px,-3px)}.text-link{font:400 10px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid #77748f}.text-link span{color:#ff5b61;margin-left:10px}
.hero-system{position:absolute;z-index:1;width:min(42vw,630px);aspect-ratio:1;right:-4%;top:50%;transform:translateY(-48%);border-radius:50%}.orbit{position:absolute;inset:8%;border:1px solid rgba(125,120,255,.48);border-radius:50%;animation:spin 24s linear infinite}.orbit:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#817cff;top:15%;left:15%;box-shadow:0 0 22px #817cff}.orbit-b{inset:25%;animation-direction:reverse;animation-duration:14s;border-style:dashed}.orbit-b:after{background:var(--red);box-shadow:0 0 22px var(--red);top:auto;bottom:2%;left:45%}
.system-core{position:absolute;inset:37%;background:rgba(17,16,42,.88);border:1px solid rgba(237,28,36,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(45deg);box-shadow:0 0 65px rgba(93,88,214,.35)}.system-core b,.system-core small{transform:rotate(-45deg)}.system-core b{font-size:32px}.system-core small{font:9px var(--font-mono);color:#ff686d}.node{position:absolute;padding:10px 14px;background:#1a183d;border:1px solid rgba(255,255,255,.17);font:9px var(--font-mono);letter-spacing:.1em}.node-a{top:13%;left:50%}.node-b{right:8%;bottom:29%}.node-c{left:6%;bottom:30%}.status{position:absolute;right:15%;top:35%;font:9px var(--font-mono);color:#c1bed2;display:flex;gap:7px;align-items:center}.status i{width:6px;height:6px;border-radius:50%;background:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}.hero-foot{position:absolute;left:clamp(24px,7vw,110px);right:clamp(24px,7vw,110px);bottom:28px;display:flex;align-items:center;gap:20px;color:#85829c;font:9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.hero-foot i{height:1px;background:rgba(255,255,255,.15);flex:1}
.section{padding:clamp(90px,12vw,180px) clamp(24px,7vw,110px)}.section-index{color:#77758c;margin:0 0 58px}.intro{background:var(--paper);color:#201f35}.intro-main{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:start}.intro h2,.section-heading h2,.method h2,.contact h2{font-size:clamp(40px,5vw,78px);line-height:1.02;letter-spacing:-.055em;margin:0}.intro h2 span,.method h2 span{color:var(--brand)}.intro-copy{max-width:580px;border-top:1px solid #bdbcc2;padding-top:26px}.intro-copy p{font-size:clamp(16px,1.3vw,20px);line-height:1.65;margin:0 0 22px;color:#464558}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:110px;border-top:1px solid #c2c1c5}.metrics div{display:flex;flex-direction:column;padding:34px 30px 0 0;border-right:1px solid #c2c1c5}.metrics div+div{padding-left:30px}.metrics strong{font-size:clamp(44px,6vw,86px);letter-spacing:-.06em;line-height:1}.metrics span{color:#777681;font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin-top:16px}
.services{background:var(--ink)}.section-heading{display:grid;grid-template-columns:1fr minmax(250px,430px);gap:9vw;align-items:end;margin-bottom:80px}.section-heading .section-index{margin-bottom:30px}.section-heading>p{color:#aaa8bb;line-height:1.7;max-width:430px;margin:0}
.service-row{display:grid;grid-template-columns:70px 1.05fr 1.3fr 1fr 35px;gap:28px;align-items:center;padding:34px 0;border-top:1px solid var(--line);transition:.3s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:14px;background:linear-gradient(90deg,rgba(93,88,214,.18),transparent)}.service-number{color:#ff5e64;font:10px var(--font-mono)}.service-row h3{font-size:clamp(22px,2.2vw,35px);letter-spacing:-.035em;margin:0}.service-row p{margin:0;color:#9694a9;line-height:1.6;font-size:14px}.service-tags{color:#7e7b94;font:8px var(--font-mono);text-transform:uppercase;line-height:1.7}.service-arrow{font-size:25px;color:#747189;transition:.2s}.service-row:hover .service-arrow{color:#ff5e64;transform:translate(3px,-3px)}
.method{background:var(--brand);display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start}.method .section-index{color:#c1bee8}.method-sticky{position:sticky;top:120px}.method h2 span{color:#ff6b70}.method-sticky>p:last-child{max-width:430px;line-height:1.65;color:#e0def4;margin-top:35px}.method-step{position:relative;padding:40px 0 70px 85px;border-top:1px solid rgba(255,255,255,.3)}.method-step>span{position:absolute;left:0;top:45px;color:#ff7479;font:11px var(--font-mono)}.method-step h3{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.045em;margin:0 0 18px}.method-step p{color:#dedcf0;line-height:1.65;max-width:480px;margin:0}
.projects{background:#e7e7e5;color:#201f35}.projects .section-index{color:#74737c}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 28px}.project-visual{height:390px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#24205d;transition:.4s}.project-card:hover .project-visual{transform:translateY(-7px)}.project-visual span{font:700 clamp(76px,9vw,150px) var(--font-mono);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.58);position:relative;z-index:2}.project-visual i{position:absolute;width:70%;height:70%;border:1px solid rgba(255,255,255,.22);transform:rotate(20deg)}.project-visual i:after{content:"";position:absolute;inset:23%;border:1px solid rgba(255,255,255,.2);background:rgba(237,28,36,.12);transform:rotate(-35deg)}.project-2 .project-visual{background:#34306e}.project-3 .project-visual{background:#4d2027}.project-4 .project-visual{background:#252342}
.project-meta{display:flex;justify-content:space-between;border-top:1px solid #adacb1;padding-top:20px;margin-top:18px}.project-meta small{font:9px var(--font-mono);color:#76747e;letter-spacing:.1em;text-transform:uppercase}.project-meta h3{margin:8px 0 5px;font-size:27px;letter-spacing:-.04em}.project-meta p{margin:0;color:#706e79;font-size:13px}.project-meta>span{font-size:28px}
.contact{background:var(--ink2)}.contact .section-index{color:#77758e}.contact h2{font-size:clamp(54px,8vw,125px);max-width:1200px}.contact h2 em{color:#ff565c;font-style:normal}.contact-row{display:grid;grid-template-columns:1fr 1.7fr;gap:7vw;align-items:end;margin-top:70px;padding-bottom:70px;border-bottom:1px solid var(--line)}.contact-row p{color:#aaa8bc;line-height:1.7;max-width:420px;margin:0}.contact-row a{font-size:clamp(20px,3vw,44px);letter-spacing:-.04em;display:flex;justify-content:space-between;border-bottom:1px solid #68657d;padding-bottom:15px}.contact-row a span{color:#ff565c}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:60px}.contact-details span{color:#7f7d95;font:9px var(--font-mono);letter-spacing:.1em}.contact-details p{line-height:1.7;font-size:14px}
footer{min-height:180px;display:grid;grid-template-columns:1.3fr 1fr .7fr auto;gap:50px;align-items:center;padding:45px clamp(24px,7vw,110px);background:#080716;border-top:1px solid var(--line)}footer p,footer a{color:#89869d;font-size:11px;line-height:1.7}.footer-logo .logo-main{color:white;font-size:24px}footer>div{display:flex;gap:22px}footer>div a:hover{color:#ff5b61}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:70px}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;align-items:flex-end;justify-content:center;z-index:2}.menu-toggle span{display:block;width:24px;height:1px;background:white}.menu-toggle span:last-child{width:16px}.nav{position:fixed;inset:0;background:var(--ink);flex-direction:column;justify-content:center;align-items:center;font-size:20px;opacity:0;visibility:hidden;transition:.25s}.nav.is-open{opacity:1;visibility:visible}.hero{align-items:flex-start;padding-top:145px;min-height:850px}.hero-copy{width:100%}.hero-system{width:520px;right:-180px;top:76%;opacity:.65}.intro-main,.method{grid-template-columns:1fr}.intro-copy{margin-top:45px}.method-sticky{position:static}.service-row{grid-template-columns:45px 1fr 30px}.service-row p,.service-tags{grid-column:2/3}.service-arrow{grid-column:3;grid-row:1}.project-visual{height:300px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.section{padding:90px 22px}.hero{padding-left:22px;padding-right:22px;min-height:800px}h1{font-size:49px}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-foot{left:22px;right:22px}.intro-main br{display:none}.metrics{margin-top:65px;grid-template-columns:1fr}.metrics div,.metrics div+div{padding:24px 0;border-right:0;border-bottom:1px solid #c2c1c5}.section-heading{grid-template-columns:1fr;gap:28px;margin-bottom:50px}.service-row{gap:14px}.service-row p{font-size:13px}.method-step{padding-left:50px}.project-grid{grid-template-columns:1fr;gap:55px}.project-visual{height:260px}.contact-row{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.site-header{background:rgba(255,255,255,.95);border-bottom:1px solid rgba(17,16,42,.12);backdrop-filter:blur(18px)}.site-header.is-scrolled{background:rgba(255,255,255,.97);border-bottom-color:rgba(17,16,42,.15)}.header-logo{display:block;width:185px}.header-logo img{display:block;width:100%;height:auto}.nav a{color:#29273e}.header-cta{color:#29273e;border-color:rgba(17,16,42,.2)}.menu-toggle span{background:#38348d}
.site-header .nav a span{display:none}

/* Revisione densità e gerarchia della home. */
.method{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(45px,6vw,90px);padding-top:100px;padding-bottom:100px}
.method-steps{display:grid;grid-template-columns:1fr;gap:10px}
.method-step{min-height:150px;padding:26px 28px 25px 64px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.055)}
.method-step>span{left:24px;top:35px}
.method-step h3{font-size:clamp(27px,2.4vw,38px);margin-bottom:12px}
.method-step p{font-size:14px;line-height:1.55}
.method-sticky>p:last-child{margin-top:25px}

.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-visual{height:auto;aspect-ratio:16/10}
.project-visual span{font-size:clamp(62px,7vw,115px)}

.contact{padding-top:110px;padding-bottom:90px;background:linear-gradient(145deg,#111027 0,#181637 100%)}
.contact h2{max-width:980px}
.contact-row{grid-template-columns:minmax(230px,.65fr) minmax(430px,1.35fr);margin-top:55px;padding:32px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035)}
.contact-details{gap:14px;padding-top:14px}
.contact-details>div,.contact-details>.office-card{min-height:145px;padding:27px 28px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.contact-details>div:hover,.contact-details>.office-card:hover{transform:translateY(-4px);border-color:rgba(255,86,92,.48);background:rgba(255,255,255,.07)}
.contact-details span{display:block;margin-bottom:18px;color:#ff7378}
.contact-details p{margin:0;color:#e6e4ef;font-size:17px;line-height:1.65}
.contact-details a{color:#fff}
.office-card{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:20px;align-items:center;color:#fff}
.contact-details .office-copy{display:block;min-width:0;margin:0;color:inherit;font:inherit;letter-spacing:normal}.contact-details .office-copy>span{display:block;margin-bottom:18px;color:#ff7378;font:9px var(--font-mono);letter-spacing:.1em}
.contact-details .map-mini{position:relative;display:block;width:76px;aspect-ratio:1;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.23);background:linear-gradient(33deg,transparent 0 34%,rgba(126,167,202,.35) 34% 39%,transparent 39% 66%,rgba(126,167,202,.26) 66% 71%,transparent 71%),linear-gradient(145deg,#263f60,#1a2e4b);transition:transform .25s ease,border-color .25s ease}
.map-mini:before,.map-mini:after{content:"";position:absolute;width:120%;height:1px;left:-10%;background:rgba(255,255,255,.22);transform:rotate(-28deg)}
.map-mini:before{top:28%}.map-mini:after{bottom:25%;transform:rotate(24deg)}
.map-mini i{position:absolute;z-index:1;left:50%;top:47%;width:16px;height:16px;border:4px solid #ff686d;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 5px 14px rgba(0,0,0,.28)}
.office-card:hover .map-mini{transform:scale(1.06) rotate(2deg);border-color:#ff7378}

footer[data-shared-footer]{min-height:0;display:grid;grid-template-columns:1.35fr .7fr .85fr;gap:clamp(35px,6vw,90px);align-items:start;padding:64px clamp(24px,7vw,110px) 28px;background:#e9e9f1;color:#29273e;border-top:3px solid #ed1c24}
.footer-brand img{display:block;width:min(230px,100%);height:auto;mix-blend-mode:multiply}
.footer-brand p{max-width:330px;margin:25px 0 0;color:#625f74;font-size:13px;line-height:1.65}
.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-links>span,.footer-contact>span{margin-bottom:9px;color:#77748a;font:700 9px var(--font-mono);letter-spacing:.12em}
.footer-links a,.footer-contact a{color:#29273e;font-size:14px;line-height:1.35;transition:color .2s ease,transform .2s ease}
.footer-links a:hover,.footer-contact a:hover{color:#ed1c24;transform:translateX(3px)}
.footer-contact p{margin:7px 0 0;color:#625f74;font-size:12px}
.footer-legal{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:18px;padding-top:24px;border-top:1px solid rgba(44,41,72,.17);color:#77748a;font:9px var(--font-mono);letter-spacing:.07em}

@media(max-width:1100px){
  .method{grid-template-columns:1fr}.method-sticky{position:static}
  .project-grid{gap:18px}.project-meta{padding-left:0;padding-right:0}
}
@media(max-width:800px){
  .project-grid{grid-template-columns:1fr 1fr}
  .contact-row{grid-template-columns:1fr}
  footer[data-shared-footer]{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:600px){
  .method-steps,.project-grid{grid-template-columns:1fr}
  .method-step{min-height:0}
  .contact{padding-top:90px;padding-bottom:70px}
  .contact-row{padding:24px 20px}.contact-row a{font-size:20px;overflow-wrap:anywhere}
  .contact-details{grid-template-columns:1fr}.contact-details>div,.contact-details>.office-card{min-height:0}
  footer[data-shared-footer]{grid-template-columns:1fr;gap:38px;padding-top:50px}.footer-brand{grid-column:auto}.footer-legal{display:grid}
}
.archive-link{display:flex;justify-content:space-between;width:min(390px,100%);margin:55px 0 0 auto;padding:17px 20px;border:1px solid rgba(255,255,255,.25);font:700 10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.projects .archive-link{color:var(--brand);border-color:var(--brand)}.archive-link:hover{background:var(--red);border-color:var(--red);color:#fff}
.journal-home{background:#11102a}.journal-feature-static{display:grid;grid-template-columns:1.15fr .85fr;background:#191735;border:1px solid var(--line)}.journal-feature-static>a{min-height:430px;overflow:hidden}.journal-feature-static img{display:block;width:100%;height:100%;object-fit:cover;transition:.45s}.journal-feature-static:hover img{transform:scale(1.035)}.journal-feature-static>div{padding:52px;display:flex;flex-direction:column;justify-content:center}.journal-feature-static span,.journal-quick span{color:#ff6b70;font:9px var(--font-mono);letter-spacing:.1em}.journal-feature-static h3{font-size:clamp(32px,4vw,55px);line-height:1.03;letter-spacing:-.045em;margin:23px 0}.journal-feature-static p{color:#aaa8bb;line-height:1.7}.journal-feature-static div>a{margin-top:22px;color:#ff6b70;font:700 10px var(--font-mono);text-transform:uppercase}.journal-quick{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.journal-quick>a{padding:28px;background:#191735;border:1px solid var(--line);transition:.25s}.journal-quick>a:hover{transform:translateY(-5px);border-color:#5d58d6}.journal-quick h3{font-size:23px;line-height:1.2;margin:18px 0 0}
.journal-home{background:linear-gradient(145deg,#16263f 0,#1c3150 100%)}
.journal-feature-static,.journal-quick>a{background:#203856;border-color:rgba(164,194,226,.2)}
.journal-home .section-index{color:#91b4d8}
.journal-home .section-heading>p,.journal-feature-static p{color:#c0cede}
.journal-quick>a:hover{border-color:#79a8d5;background:#25415f}

/* Footer compatto: due sole aree, con collegamenti interni descrittivi. */
footer[data-shared-footer]{grid-template-columns:230px minmax(0,1fr) 250px;gap:clamp(35px,4vw,65px);padding-top:36px;padding-bottom:20px}
.footer-brand{display:block}
.footer-explore{display:block}
.footer-explore>span,.footer-contact>span{display:block;margin-bottom:20px;color:#77748a;font:700 9px var(--font-mono);letter-spacing:.12em}
.footer-explore>span{width:100%;padding-bottom:13px;border-bottom:1px solid rgba(44,41,72,.2)}
.footer-mark{display:block;width:min(210px,100%);margin:0}.footer-mark img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.footer-link-groups{display:grid;grid-template-columns:.55fr .75fr 1.35fr;gap:clamp(25px,4vw,60px)}
.footer-link-groups nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-link-groups b{margin-bottom:5px;color:#29273e;font:700 9px var(--font-mono);letter-spacing:.09em}
.footer-link-groups a{color:#625f74;font-size:12px;line-height:1.4;transition:color .2s ease,transform .2s ease}
.footer-link-groups a:hover{color:#ed1c24;transform:translateX(3px)}
.footer-contact{padding-left:30px;border-left:1px solid rgba(44,41,72,.17)}
.footer-legal{margin-top:4px;padding-top:20px}
@media(max-width:900px){footer[data-shared-footer]{grid-template-columns:180px 1fr}.footer-brand{grid-column:auto}.footer-contact{grid-column:1/-1;padding:25px 0 0;border-left:0;border-top:1px solid rgba(44,41,72,.17)}.footer-link-groups{grid-template-columns:repeat(2,1fr)}.footer-link-groups nav:last-child{grid-column:1/-1}}
@media(max-width:580px){footer[data-shared-footer]{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-link-groups{grid-template-columns:1fr}.footer-link-groups nav:last-child{grid-column:auto}.footer-mark{width:180px}}

/* Fascia partner tra contatti e footer. */
.partner-strip{padding:38px clamp(24px,7vw,110px) 44px;background:#f5f5f7;color:#29273e;border-top:1px solid rgba(44,41,72,.12);border-bottom:1px solid rgba(44,41,72,.15)}
.partner-strip-head{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:25px}
.partner-strip-head p{margin:0;color:#38348d;font:700 9px var(--font-mono);letter-spacing:.13em}
.partner-strip-head>span{color:#77748a;font-size:12px}
.partner-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(44,41,72,.13);border-left:1px solid rgba(44,41,72,.13)}
.partner-logo{min-height:82px;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid rgba(44,41,72,.13);border-bottom:1px solid rgba(44,41,72,.13);background:#fff;color:#29273e;font-size:18px;font-weight:700;letter-spacing:-.035em;transition:color .22s ease,background .22s ease,transform .22s ease}
.partner-logo:hover{position:relative;z-index:1;color:#38348d;background:#f0f1f8;transform:translateY(-2px)}
.partner-logo:focus-visible{position:relative;z-index:2;outline:3px solid #ed1c24;outline-offset:-3px}
.partner-logo img{display:block;width:auto;max-width:82%;height:auto;max-height:52px;object-fit:contain}
.partner-logo b{font-size:.58em;font-weight:700;letter-spacing:.03em;margin-left:5px;text-transform:uppercase}
.partner-aruba{font-style:italic;color:#202339}.partner-aruba b{color:#ed1c24}.partner-ovh{font-family:Arial,sans-serif;font-weight:800}.partner-ovh span{color:#5a55b7}.partner-edrive{font-size:22px;color:#31334b}.partner-edrive>span{color:#3978ae}.partner-microsoft{font-weight:600;letter-spacing:-.02em}.partner-openai{font-size:20px}.partner-anthropic{font-family:Georgia,serif;font-size:15px;letter-spacing:.06em}.partner-voip{color:#34306e}.partner-openapi{font-family:var(--font-mono);font-size:16px}.partner-cartesia{font-family:Georgia,serif;font-weight:500}.partner-cartesia b{color:#ed1c24}
@media(max-width:900px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.partner-strip{padding:32px 22px 36px}.partner-strip-head{align-items:flex-start;flex-direction:column;gap:8px}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo{min-height:72px;font-size:15px}}
@media(max-width:900px){.header-logo{width:165px}.journal-feature-static{grid-template-columns:1fr}.journal-feature-static>a{min-height:340px}}
@media(max-width:600px){.journal-feature-static>div{padding:32px 22px}.journal-feature-static>a{min-height:260px}.journal-quick{grid-template-columns:1fr}}

/* Testi descrittivi dei contatori più leggibili. */
.metrics span{
  color:#666573;
  font:600 clamp(12px,1vw,15px)/1.4 var(--font-mono);
  letter-spacing:.085em;
}
@media(max-width:600px){
  .metrics span{font-size:13px}
}

/* Servizi: composizione bento asimmetrica nello stile della versione Static. */
.service-list{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:290px 255px 270px;
  gap:14px;
}
.service-row{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  min-width:0;
  padding:30px;
  border:1px solid rgba(255,255,255,.15);
  background:#191735;
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.service-row:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:220px;
  height:220px;
  right:-110px;
  bottom:-130px;
  border:1px solid rgba(255,255,255,.12);
  transform:rotate(34deg);
  transition:transform .45s ease,border-color .3s ease;
}
.service-row:hover{
  padding-left:30px;
  border-color:rgba(118,112,255,.62);
  background:#211f49;
  transform:translateY(-4px);
  box-shadow:0 20px 45px rgba(3,2,18,.24);
}
.service-row:hover:before{transform:rotate(47deg) scale(1.08);border-color:rgba(237,28,36,.42)}
.service-row:nth-child(1){grid-column:1/6;grid-row:1/3;background:linear-gradient(145deg,#24215b,#17152f)}
.service-row:nth-child(2){grid-column:6/13;grid-row:1/2}
.service-row:nth-child(3){grid-column:6/10;grid-row:2/3;background:#24205d}
.service-row:nth-child(4){grid-column:10/13;grid-row:2/3;background:#302d72}
.service-row:nth-child(5){grid-column:1/8;grid-row:3/4;background:linear-gradient(120deg,#4b1e2a,#211735)}
.service-row:nth-child(6){grid-column:8/13;grid-row:3/4;background:#302d72}
.service-number{margin-bottom:auto}
.service-row h3{font-size:clamp(25px,2.4vw,39px);line-height:1.05;margin:22px 0 13px;max-width:430px}
.service-row p{max-width:520px;font-size:14px}
.service-tags{margin-top:18px;padding-right:42px;color:#aaa7c0}
.service-arrow{position:absolute;right:28px;bottom:25px}
.service-row:nth-child(1) h3{font-size:clamp(34px,3.4vw,55px);max-width:330px}
.service-row:nth-child(1) p{max-width:390px}
.service-row:nth-child(5) .service-number,.service-row:nth-child(5) .service-arrow{color:#ff777c}

@media(max-width:1050px){
  .service-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .service-row,.service-row:nth-child(n){grid-column:auto;grid-row:auto;min-height:285px}
  .service-row:nth-child(1),.service-row:nth-child(2){min-height:340px}
}
@media(max-width:600px){
  .service-list{display:grid;grid-template-columns:1fr;gap:12px}
  .service-row,.service-row:nth-child(n){min-height:270px;margin:0;padding:25px}
  .service-row:hover{padding-left:25px}
  .service-row:nth-child(1) h3{font-size:34px}
}

/* Navigazione mobile condivisa: pannello chiaro, leggibile e coerente col brand. */
@media(max-width:900px){
  .site-header{padding:0 22px;background:rgba(255,255,255,.97)}
  .site-header .header-logo{position:relative;z-index:3;width:158px}
  .site-header .nav{
    position:fixed;
    inset:0;
    z-index:1;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    padding:112px 24px 38px;
    overflow-y:auto;
    background:
      radial-gradient(circle at 100% 0,rgba(93,88,214,.16),transparent 40%),
      linear-gradient(145deg,#fbfbff 0,#f0f1fa 100%);
  }
  .site-header .nav:before{
    content:"NAVIGAZIONE";
    display:block;
    width:min(100%,420px);
    margin:0 auto 13px;
    color:#77748a;
    font:700 9px var(--font-mono);
    letter-spacing:.14em;
  }
  .site-header .nav a{
    display:flex;
    align-items:center;
    width:min(100%,420px);
    min-height:60px;
    margin:0 auto;
    border-bottom:1px solid rgba(44,41,72,.16);
    color:#29273e;
    font:600 clamp(18px,5vw,22px) var(--font-main);
    letter-spacing:-.02em;
    text-transform:none;
  }
  .site-header .nav a:first-of-type{border-top:1px solid rgba(44,41,72,.16)}
  .site-header .nav a:after{left:auto;right:0;bottom:auto;width:7px;height:7px;border-radius:50%;background:#ed1c24;opacity:0;transform:scale(.5)}
  .site-header .nav a:hover:after,.site-header .nav a:focus-visible:after{width:7px;opacity:1;transform:scale(1)}
  .site-header .nav a span{display:inline-block;width:48px;color:#ed1c24;font:700 9px var(--font-mono);letter-spacing:.1em}
  .menu-toggle{position:relative;z-index:3;padding:0}
  .menu-toggle span{transition:transform .25s ease,width .25s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{width:24px;transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{width:24px;transform:translateY(-4px) rotate(-45deg)}
}
@media(max-width:380px){
  .site-header .nav{padding-left:18px;padding-right:18px}
  .site-header .nav a{min-height:56px}
}

/* Movimento leggero delle fasi del Metodo. */
@media(hover:hover) and (pointer:fine){
  .method-step{
    transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease;
  }
  .method-step>span,.method-step h3,.method-step p{
    transition:color .3s ease,transform .3s ease;
  }
  .method-step:hover{
    transform:translateX(10px);
    background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,.025));
    border-color:rgba(255,255,255,.55);
    box-shadow:-4px 0 0 #ff6b70;
  }
  .method-step:hover>span{color:#fff;transform:translateX(4px)}
  .method-step:hover h3{color:#fff;transform:translateX(5px)}
  .method-step:hover p{color:#f1efff}
}

/* Screenshot reali dei prodotti in evidenza. */
.project-visual{aspect-ratio:32/19;background:#d9d9df}
.project-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
@media(hover:hover) and (pointer:fine){
  .project-card:hover .project-visual img{transform:scale(1.025);filter:saturate(1.06) contrast(1.02)}
}
