@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#0a1a2c;--navy:#081727;--blue:#1969a5;--lightblue:#7ac4e8;--mist:#f2f6f8;--muted:#657588;--white:#fff;--radius:17px;--container:1200px;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65;background:#fff;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #62b6fa;outline-offset:4px}img{display:block;max-width:100%}
.container{width:min(calc(100% - 60px),var(--container));margin-inline:auto}.skip-link{position:absolute;z-index:1000;top:-100px;left:15px;background:#fff;padding:10px 16px}.skip-link:focus{top:10px}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(255,255,255,.97);transition:box-shadow .25s,background .25s}.site-header.scrolled{box-shadow:0 6px 30px rgba(3,28,50,.09)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{flex:none}.brand img{width:206px;height:auto}.main-nav{display:flex;align-items:center;gap:36px}.main-nav>a{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.075em;transition:color .2s}.main-nav>a:hover{color:var(--blue)}.main-nav .nav-contact{background:var(--blue);padding:11px 19px;border-radius:3px;color:#fff}.main-nav .nav-contact:hover{color:#fff;background:#0d507f}.nav-toggle{display:none}
.hero{position:relative;min-height:min(860px,100svh);min-height:max(680px,100svh);display:grid;place-items:center;overflow:hidden;background:var(--navy);color:white;margin-top:86px}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,34,.95) 5%,rgba(5,18,34,.86) 42%,rgba(5,18,34,.48) 100%),url('https://www.daggiano.it/wp-content/uploads/revslider/Corporate-Hiring/corporate-hiring-cover.jpg') center/cover no-repeat;transform:scale(1.08);animation:hero-zoom 2.2s var(--ease) both}.hero::after{content:"";position:absolute;right:15%;top:0;height:100%;width:1px;background:rgba(255,255,255,.07);pointer-events:none}.hero-orb{position:absolute;z-index:1;border-radius:50%;pointer-events:none;filter:blur(2px)}.hero-orb-one{width:380px;height:380px;border:1px solid rgba(119,202,250,.2);right:-120px;top:18%;animation:orb-appear 2s 1s both}.hero-orb-two{width:160px;height:160px;border:1px solid rgba(119,202,250,.25);right:13%;bottom:8%;animation:orb-appear 2s 1.3s both}.hero-inner{position:relative;z-index:2;padding-top:80px;padding-bottom:120px}.hero-copy{max-width:930px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:800}.eyebrow{display:flex;align-items:center;gap:16px;color:#b2c8de;margin:0 0 27px}.eyebrow-line{height:1px;width:30px;background:#7eb4de}.hero-title,.display-heading,.contact-heading{font-family:Manrope,Arial,sans-serif;letter-spacing:-.062em;font-weight:800;line-height:1.07}.hero-title{font-size:clamp(3.15rem,6.5vw,7rem);margin:0 0 29px}.hero-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}.hero-line>span{display:block;transform:translateY(115%);animation:rise-in 1s var(--ease) forwards}.hero-line:nth-child(2)>span{animation-delay:.17s}.hero-line:nth-child(3)>span{animation-delay:.33s}.hero-accent{color:#87c9ed}.hero-description{font-size:clamp(1rem,1.3vw,1.15rem);max-width:595px;color:#c3d1de;margin:0 0 34px}.hero-actions,.contact-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 21px;font-weight:700;font-size:.83rem;text-transform:uppercase;letter-spacing:.07em;transition:transform .25s,background .25s;color:var(--navy)}.button:hover{transform:translateY(-4px)}.button-light{background:#fff}.button-light:hover{background:#d4edfa}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.button-outline:hover{background:rgba(255,255,255,.08)}.text-link{font-size:.84rem;text-transform:uppercase;font-weight:800;letter-spacing:.11em;border-bottom:1px solid currentColor;padding-bottom:8px;display:inline-flex;align-items:center;gap:30px}.text-link-light{color:#fff}.dark-link{color:var(--blue);margin-top:30px}.hero-index{position:absolute;right:0;bottom:30px;display:flex;align-items:center;gap:15px;color:#a5b5c7;letter-spacing:.17em;font-size:11px}.hero-index>span{height:1px;width:66px;background:#8292a1}.scroll-cue{z-index:3;position:absolute;left:max(30px,calc((100% - var(--container))/2));bottom:30px;color:#c0d3e6;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;display:flex;align-items:center;gap:18px}.scroll-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:24px;animation:bob 2.2s infinite}.hero-in{opacity:0;transform:translateY(20px);animation:fade-up .8s var(--ease) forwards}.hero-delay-1{animation-delay:.12s}.hero-delay-2{animation-delay:.63s}.hero-delay-3{animation-delay:.81s}
.section-pad{padding:120px 0}.section-number{color:var(--blue)}.intro-grid{display:grid;grid-template-columns:22% 1fr;gap:55px}.intro-grid>.section-kicker{margin-top:14px}.display-heading{font-size:clamp(2.65rem,5.2vw,5.7rem);margin:0}.display-heading span{color:var(--blue)}.intro-lead{font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.55;max-width:760px;margin:40px 0 20px;font-weight:600}.intro-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:#5a6775}.intro-cols p{margin-top:6px}
.services{background:var(--mist)}.section-header{max-width:950px;margin-bottom:56px}.section-header .section-kicker{margin-bottom:20px}.section-header>p:last-child{max-width:610px;color:#617082;margin:24px 0 0}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{background:#fff;overflow:hidden;border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,36,68,.035);transition:transform .4s,box-shadow .4s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(0,36,68,.11)}.service-image{position:relative;aspect-ratio:1.8;overflow:hidden;background:#cad8e3}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.service-card:hover img{transform:scale(1.055)}.service-id{position:absolute;bottom:0;left:0;background:var(--blue);color:white;font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;padding:9px 18px}.service-body{padding:28px 32px 34px}.service-tag{color:var(--blue);font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin:0 0 6px}.service-body h3{font-family:Manrope,sans-serif;font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.045em;margin:0 0 14px}.service-body>p:last-child{color:#637182;margin:0}
.portfolio{background:#fff}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:none}.portfolio-heading>p{max-width:325px!important;margin:0 0 5px!important}.portfolio-heading code{font-size:.87em}.filter-bar{display:flex;gap:14px;flex-wrap:wrap;border-bottom:1px solid #dfe6ed;margin-bottom:32px;padding-bottom:18px}.filter{cursor:pointer;background:transparent;border:0;padding:10px 14px;border-radius:5px;font-weight:700;color:#6c7b88}.filter:hover{color:var(--blue)}.filter.is-active{background:var(--navy);color:#fff}.filter-count{font-weight:500;font-size:.85em;opacity:.65}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;min-height:100px}.project-card{min-width:0;transition:transform .3s}.project-card>a{display:block}.project-image{position:relative;aspect-ratio:1.55;overflow:hidden;background:#e4edf3;border-radius:10px}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease),filter .4s}.project-card:hover .project-image img{transform:scale(1.09);filter:brightness(.68)}.project-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-35%);color:#fff;border:1px solid rgba(255,255,255,.65);padding:11px 17px;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s}.project-card:hover .project-overlay,.project-card:focus-within .project-overlay{opacity:1;transform:translate(-50%,-50%)}.project-info{padding:18px 2px}.project-category{display:block;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}.project-info h3{font:800 1.2rem/1.35 Manrope,Arial,sans-serif;letter-spacing:-.02em;margin:0}.empty-message{grid-column:1/-1;color:#657588;padding:30px 0}
.contact-banner{position:relative;background:var(--navy);color:#fff;overflow:hidden}.contact-banner::after{content:"";position:absolute;width:580px;height:580px;right:-250px;top:-150px;border:1px solid rgba(135,201,237,.15);border-radius:50%;box-shadow:0 0 0 100px rgba(135,201,237,.03),0 0 0 200px rgba(135,201,237,.03)}.contact-banner-inner{position:relative;z-index:2;padding:115px 0 120px}.contact-banner .section-number{color:#87c9ed}.contact-heading{font-size:clamp(2.8rem,6vw,6.8rem);margin:20px 0 20px;max-width:920px}.contact-heading em{font-style:normal;color:#87c9ed}.contact-banner p:not(.section-kicker){max-width:640px;color:#c3d1de}.contact-actions{margin-top:36px}
.site-footer{background:#071321;color:#d1dce7;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid p{color:#b0bdc8;font-size:.9rem}.footer-grid h2{font-size:.7rem;letter-spacing:.16em;color:#fff;text-transform:uppercase;margin:0 0 20px}.footer-brand{color:#fff!important;font:800 1.7rem Manrope,sans-serif!important;margin:0 0 8px}.footer-grid a:hover,.footer-bottom a:hover{color:#82c8e8}.footer-bottom{border-top:1px solid #203345;padding-top:25px;margin-top:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#9aaebf;font-size:.8rem}
.reveal{opacity:0;transform:translateY(33px);transition:opacity .75s var(--ease),transform .75s var(--ease);transition-delay:calc(var(--card-order,0) * 75ms)}.reveal.is-visible{opacity:1;transform:none}
@keyframes rise-in{to{transform:translateY(0)}}@keyframes hero-zoom{to{transform:scale(1)}}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@keyframes bob{50%{transform:translateY(7px)}}@keyframes orb-appear{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}

/* ------------------------------------------------------
   HERO V2 — animazioni leggere, senza librerie esterne.
   Tutte le parti decorative sono aria-hidden.
   ------------------------------------------------------ */
.hero{isolation:isolate}
/* Movimento molto lento della foto, senza salti o lampeggi. */
.hero-bg{animation:hero-kenburns 20s ease-in-out infinite alternate;will-change:transform}
.hero-grid{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.32;
  background-image:linear-gradient(rgba(138,204,241,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(138,204,241,.10) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(ellipse at 76% 50%,#000 4%,transparent 71%);
  animation:hero-grid-enter 2s .5s both}
.hero-light-sweep{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(108deg,transparent 20%,rgba(127,205,252,.06) 49%,transparent 65%);
  transform:translateX(-115%);animation:hero-sweep 2.1s .25s ease-out both}
/* Decorazione sul lato destro: orbite e punti luminosi con moti molto lenti. */
.hero-visual{position:absolute;z-index:1;right:clamp(20px,3.7vw,100px);top:50%;
  width:clamp(350px,38vw,555px);aspect-ratio:1;pointer-events:none;
  opacity:0;transform:translate3d(25px,-47%,0) scale(.92);
  animation:hero-visual-enter 1.5s .55s var(--ease) forwards}
.hero-glow{position:absolute;inset:12%;border-radius:50%;opacity:.75;
  background:radial-gradient(circle,rgba(31,125,184,.19) 0%,rgba(25,101,160,.08) 42%,transparent 68%);
  animation:hero-breathe 9s ease-in-out infinite alternate}
.hero-orbit{position:absolute;border:1px solid rgba(139,206,245,.28);border-radius:50%}
.hero-orbit-outer{inset:2%;border-top-color:rgba(150,221,255,.72);border-right-color:rgba(150,221,255,.10);animation:hero-rotate 36s linear infinite}
.hero-orbit-middle{inset:17%;border-style:dashed;border-color:rgba(147,205,242,.35);animation:hero-rotate-rev 48s linear infinite}
.hero-orbit-inner{inset:30%;border-color:rgba(152,215,248,.24);border-bottom-color:rgba(152,215,248,.68);animation:hero-rotate 26s linear infinite}
.orbit-node{position:absolute;top:12%;left:13%;width:9px;height:9px;border-radius:50%;background:#86d2ff;
  box-shadow:0 0 13px 4px rgba(105,200,255,.48)}
.hero-orbit-middle .orbit-node{width:6px;height:6px;top:82%;left:81%;background:#c9ecff;box-shadow:0 0 10px rgba(184,234,255,.8)}
.hero-core{position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(150,216,251,.42);background:radial-gradient(circle at 36% 28%,rgba(79,159,204,.24),rgba(4,24,43,.62));
  box-shadow:0 0 0 14px rgba(129,205,245,.025),0 0 44px rgba(31,147,209,.11)}
/* Simbolo grigio/bianco fornito per la V5, PNG trasparente locale. */
.hero-core-logo{display:block;width:91%;height:91%;object-fit:contain;filter:drop-shadow(0 0 7px rgba(101,189,248,.28));
  animation:hero-logo-enter 1.15s 1s var(--ease) both}
@keyframes hero-logo-enter{from{opacity:0;transform:scale(.78) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.hero-visual-marker{position:absolute;width:5px;height:5px;border-radius:50%;background:#d2f0ff;box-shadow:0 0 10px 2px rgba(160,221,255,.65)}
.hero-visual-marker-one{top:4%;right:33%}.hero-visual-marker-two{bottom:12%;left:6%;opacity:.5}
/* Titolo scandito per righe; accento tracciato da una linea luminosa. */
.hero-line>span{animation-duration:1.15s}
.hero-line:nth-child(2)>span{animation-delay:.18s}
.hero-line:nth-child(3)>span{animation-delay:.37s}
.hero-accent{position:relative;display:inline-block}
.hero-accent::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.045em;min-height:3px;
  background:linear-gradient(90deg,#84d0f8,rgba(132,208,248,.08));transform:scaleX(0);transform-origin:left center;
  animation:hero-underline 1.05s 1.22s var(--ease) forwards}
.hero-delay-1{animation-delay:.22s}.hero-delay-2{animation-delay:.91s}.hero-delay-3{animation-delay:1.14s}
.scroll-cue{animation:hero-appear 1s 1.7s both}
.hero-index{animation:hero-appear 1s 1.75s both}
.scroll-icon{animation:bob 2.2s 2s infinite}
@keyframes hero-kenburns{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-.7%,.25%,0)}}
@keyframes hero-grid-enter{from{opacity:0}to{opacity:.32}}
@keyframes hero-sweep{from{transform:translateX(-115%)}to{transform:translateX(120%)}}
@keyframes hero-visual-enter{to{opacity:.87;transform:translate3d(0,-50%,0) scale(1)}}
@keyframes hero-rotate{to{transform:rotate(360deg)}}
@keyframes hero-rotate-rev{to{transform:rotate(-360deg)}}
@keyframes hero-breathe{to{opacity:1;transform:scale(1.08)}}
@keyframes hero-underline{to{transform:scaleX(1)}}
@keyframes hero-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.hero-visual{right:-100px;opacity:.5;animation-name:hero-visual-enter-tablet}.hero-title{position:relative;z-index:2}
  @keyframes hero-visual-enter-tablet{to{opacity:.45;transform:translate3d(0,-50%,0) scale(1)}}}
@media(max-width:720px){.hero-visual{width:300px;right:-110px;top:47%;animation-name:hero-visual-enter-mobile}
  .hero-grid{opacity:.16;background-size:52px 52px}
  .hero-glow{opacity:.45}
  .hero-accent::after{height:2px;min-height:2px}
  @keyframes hero-visual-enter-mobile{to{opacity:.23;transform:translate3d(0,-50%,0) scale(1)}}}
@media(prefers-reduced-motion:reduce){
  .hero-bg{animation:none!important;transform:none!important}
  .hero-visual{animation:none!important;opacity:.42;transform:translateY(-50%)}
  .hero-grid{animation:none!important;opacity:.17}
  .hero-light-sweep{display:none}
  .hero-orbit,.hero-glow,.hero-visual-marker,.hero-core-logo,.hero-accent::after,.scroll-cue,.hero-index{animation:none!important}
  .hero-core-logo{opacity:1;transform:none}
  .hero-accent::after{transform:scaleX(1)}
  .scroll-cue,.hero-index{opacity:1;transform:none}
}

@media(max-width:950px){.main-nav{gap:22px}.main-nav>a{font-size:.75rem}.brand img{width:182px}.intro-grid{grid-template-columns:1fr;gap:12px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-heading{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){html{scroll-padding-top:70px}.container{width:min(calc(100% - 38px),var(--container))}.header-inner{min-height:72px}.brand img{width:161px}.site-header{min-height:72px}.nav-toggle{position:relative;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:43px;height:43px;background:transparent;border:0;cursor:pointer}.nav-toggle span{height:2px;width:25px;background:var(--navy);transition:transform .25s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:20px 19px 26px;background:#fff;box-shadow:0 20px 35px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:6px}.main-nav.is-open{display:flex}.main-nav>a{font-size:.85rem;padding:10px}.main-nav .nav-contact{margin-top:8px;text-align:center}.hero{margin-top:72px;min-height:calc(100svh - 72px);min-height:max(630px,calc(100svh - 72px))}.hero-bg{background-position:60% center}.hero-inner{padding-top:42px;padding-bottom:100px}.hero-title{font-size:clamp(2.65rem,11vw,5rem)}.hero-description{font-size:1rem}.hero-orb-one{right:-260px}.hero-index{right:0;bottom:30px}.scroll-cue{left:19px;bottom:28px}.hero-actions{gap:23px}.section-pad{padding:76px 0}.intro-cols{grid-template-columns:1fr;gap:2px}.intro-lead{margin-top:27px}.services-grid,.portfolio-grid{grid-template-columns:1fr}.services-grid{gap:18px}.service-body{padding:23px 23px 27px}.service-image{aspect-ratio:1.55}.section-header{margin-bottom:35px}.portfolio-heading>p{margin:12px 0 0!important}.portfolio-grid{gap:17px}.project-image{aspect-ratio:1.55}.project-info{padding-bottom:25px}.contact-banner-inner{padding:80px 0 88px}.contact-actions{gap:16px}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:flex;align-items:start;flex-direction:column}.site-footer{padding-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-line>span{transform:none}.hero-bg{transform:none}.hero-in,.reveal{opacity:1;transform:none}}


/* ======================================================
   V4 — CHI SIAMO: showcase originale in quattro scene.
   Solo CSS + JS, nessuna dipendenza e nessun file video.
   ====================================================== */
.intro-story-wrap{margin-top:76px}
.intro-story-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.intro-story-heading>span{font-size:.71rem;font-weight:800;letter-spacing:.19em;color:var(--blue)}
.intro-story-heading p{font-size:.9rem;color:#657588;margin:0}
.story-stage{position:relative;min-height:475px;overflow:hidden;isolation:isolate;border-radius:14px;color:#fff;background:linear-gradient(122deg,#091828 3%,#0c2540 52%,#105184 130%);box-shadow:0 24px 60px rgba(12,40,64,.13)}
.story-stage::before{content:"";position:absolute;z-index:-1;inset:-50%;background:radial-gradient(circle at 73% 43%,rgba(56,159,225,.17),transparent 30%),radial-gradient(circle at 88% 65%,rgba(132,202,238,.12),transparent 26%);pointer-events:none}
.story-ambient{position:absolute;pointer-events:none;inset:0;opacity:.27;background-image:linear-gradient(rgba(153,208,240,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(153,208,240,.12) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to right,transparent 25%,#000 95%)}
.story-slides{position:relative;height:392px}
.story-slide{position:absolute;inset:0;display:grid;grid-template-columns:45% 55%;align-items:center;gap:0;padding:35px 65px 20px 65px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);transition:opacity .75s ease,transform .75s var(--ease),visibility .75s}
.story-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);z-index:1;transition:opacity .8s ease,transform .8s var(--ease),visibility 0s}
.story-copy{z-index:2;max-width:455px}
.story-counter{display:inline-flex;align-items:center;gap:5px;font-size:.67rem;font-weight:800;letter-spacing:.13em;color:#92d6f8;text-transform:uppercase}
.story-counter span{color:#7296b5}
.story-copy h3{margin:15px 0 17px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(2.6rem,4.4vw,4.85rem);letter-spacing:-.075em;line-height:1.07}
.story-copy h3 span{color:#92d6f8}
.story-copy p{margin:0 0 23px;font-size:1rem;line-height:1.7;color:#c9d9e8;max-width:385px}
.story-detail{font-size:.71rem;letter-spacing:.04em;font-weight:700;color:#a9c9db}
.story-detail i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9adcf8;vertical-align:2px;margin-right:7px;box-shadow:0 0 12px #7ad2fa}
.story-visual{position:relative;width:100%;height:100%;display:grid;align-items:center;justify-items:center;perspective:800px}
.story-visual::before{content:"";position:absolute;width:min(95%,400px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(69,164,224,.25),transparent 68%);filter:blur(8px)}
.mock-browser{position:relative;width:min(100%,435px);height:270px;background:linear-gradient(160deg,rgba(255,255,255,.96),#dbeefa);border:1px solid rgba(255,255,255,.8);border-radius:13px;overflow:hidden;box-shadow:0 22px 44px rgba(0,8,20,.3),0 0 0 8px rgba(181,227,255,.05);color:#0d3050;transform:rotate(-4deg) translateY(4px);transition:transform 1s var(--ease)}
.story-slide.is-active .mock-browser{animation:story-mock-enter 1.35s var(--ease) both}
.mock-browser-bar{height:33px;padding:0 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #c9ddea;background:#f4f9fd}
.mock-dots{display:flex;gap:4px}.mock-dots i{width:6px;height:6px;background:#b3ccdc;border-radius:50%}.mock-dots i:first-child{background:#7fbade}
.mock-address{margin:auto;font-size:.59rem;letter-spacing:.07em;color:#647f94}.mock-menu{font-size:1rem;color:#587e98;font-weight:700}
.mock-site-content{height:189px;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:7px;padding:20px 19px;background:linear-gradient(120deg,#eaf5fd,#badff4)}
.mock-site-text{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.mock-site-text small,.mock-product-copy small,.mock-chart-head small,.mock-workspace small{font-size:.5rem;font-weight:800;letter-spacing:.18em;color:#2479ae}
.mock-site-text strong{font-size:clamp(1.25rem,2vw,1.9rem);line-height:1.13;letter-spacing:-.06em;font-family:Manrope,Arial,sans-serif}
.mock-pill{display:inline-flex;background:#125687;color:#fff;font-size:.47rem;font-weight:800;letter-spacing:.08em;padding:8px 10px;border-radius:3px}
.mock-site-graphic{position:relative;width:160px;height:160px;justify-self:center}
.mock-site-graphic span{position:absolute;border-radius:50%;border:22px solid #2f87bf;inset:7%;transform:rotate(-22deg) skew(6deg);box-shadow:0 12px 18px rgba(9,64,111,.13)}
.mock-site-graphic span:nth-child(2){inset:25%;border:12px solid #fff;background:#fff;box-shadow:none}
.mock-site-graphic span:nth-child(3){width:23px;height:23px;inset:auto 3% 14% auto;border:0;background:#92d4f2;box-shadow:0 6px 12px #5e9abc55}
.mock-site-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:12px 20px;background:#fff}.mock-site-bottom span{height:10px;border-radius:3px;background:#c0d8e8}.mock-site-bottom span:nth-child(2){background:#82badc}
.story-float{position:absolute;z-index:2;border:1px solid rgba(204,233,250,.3);background:rgba(17,65,102,.9);color:#e2f5ff;box-shadow:0 10px 30px rgba(0,15,28,.25);border-radius:7px;padding:10px 11px;font-size:.62rem;font-weight:800;letter-spacing:.09em;white-space:nowrap;backdrop-filter:blur(12px)}
.story-float b{color:#92d6f8;margin-left:5px}.story-float-one{top:9%;right:-2%;transform:rotate(8deg)}.story-float-two{bottom:11%;left:1%;transform:rotate(-6deg)}
.story-slide.is-active .story-float-one{animation:story-float-in 1s .45s both,story-drift 5s 1.5s ease-in-out infinite alternate}
.story-slide.is-active .story-float-two{animation:story-float-in 1s .65s both,story-drift 6s 1.7s ease-in-out infinite alternate-reverse}
/* E-commerce */
.mock-shop-content{height:calc(100% - 33px);display:grid;grid-template-columns:48% 52%;background:#e7f4fc}
.mock-product{position:relative;background:radial-gradient(circle at 50% 47%,#c2e6f8 0%,#86c3e9 65%,#4b9cd4 100%);display:grid;place-items:center}
.mock-product-shape{position:relative;width:90px;height:155px;filter:drop-shadow(9px 18px 9px rgba(25,79,113,.22))}.mock-product-cap{position:absolute;width:48px;height:18px;top:0;left:21px;border-radius:7px 7px 3px 3px;background:linear-gradient(120deg,#154971,#418abb)}.mock-product-body{position:absolute;top:18px;bottom:0;left:8px;right:8px;border-radius:20px 20px 12px 12px;background:linear-gradient(106deg,#fff,#d7e9f6 44%,#a5cde6 100%);box-shadow:inset -8px -6px 12px #699fbd33}.mock-product-body::after{content:"ESSENZA";position:absolute;top:57px;left:7px;right:7px;border-top:1px solid #88a8bc;border-bottom:1px solid #88a8bc;text-align:center;font-size:.45rem;letter-spacing:.16em;padding:12px 0;color:#477394}
.mock-product-copy{padding:22px 12px 18px 22px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:12px}.mock-product-copy strong{font-family:Manrope,Arial,sans-serif;font-size:1.5rem;letter-spacing:-.06em;line-height:1.1}.mock-product-copy>span:not(.mock-pill){font-size:.57rem;color:#6388a3}.mock-product-copy .mock-pill{font-size:.4rem}
/* Marketing */
.mock-analytics{background:#edf7fe}.mock-chart-head{padding:19px 24px 0;display:flex;flex-direction:column;gap:3px}.mock-chart-head strong{font:800 1.35rem Manrope,Arial,sans-serif;letter-spacing:-.055em}.mock-chart-grid{height:145px;margin:0 25px;position:relative;background:repeating-linear-gradient(0deg,transparent 0,transparent 28px,#c7dfe9 29px,#c7dfe9 30px)}
.mock-bars{height:100%;display:flex;align-items:end;justify-content:space-around;padding:12px 8px 0}.mock-bars i{width:21px;height:var(--h);background:linear-gradient(#7bc1ea,#1e79b3);border-radius:4px 4px 0 0;opacity:.8;transform-origin:bottom}
.story-slide.is-active .mock-bars i{animation:story-bars 1.25s .35s both}.mock-chart-line{position:absolute;inset:6px 0 18px;filter:drop-shadow(0 3px 4px #3b82ae44)}.mock-chart-line svg{width:100%;height:100%;overflow:visible}.mock-chart-tags{padding:4px 25px;display:flex;gap:8px}.mock-chart-tags span{font-size:.48rem;color:#236b9a;font-weight:800;background:#d0e9f8;padding:4px 8px;border-radius:3px}
/* Web app */
.mock-app{background:#f4f9fd}.mock-dashboard{display:grid;grid-template-columns:55px 1fr;height:calc(100% - 33px)}.mock-side{background:#123c61;padding:18px 0;display:flex;align-items:center;flex-direction:column;gap:14px}.mock-side i{width:19px;height:11px;border-radius:3px;background:#416f93}.mock-side i.is-on{height:19px;background:#91d6f9}.mock-workspace{padding:17px 20px}.mock-workspace strong{display:block;font:800 1.14rem Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:5px 0 12px}.mock-stat-row{display:flex;gap:8px}.mock-stat-row>span{flex:1;background:#dceef8;border:1px solid #c7e0f0;padding:8px;border-radius:5px}.mock-stat-row i{display:block;width:40%;height:5px;border-radius:2px;background:#76b9df}.mock-stat-row b{display:block;width:75%;height:10px;border-radius:2px;background:#2c83b7;margin-top:7px}.mock-list{margin-top:11px;border-radius:5px;overflow:hidden;border:1px solid #d3e5ef}.mock-list>span{display:flex;align-items:center;gap:10px;height:30px;padding:6px 9px;background:#fff;border-bottom:1px solid #dbe8ef}.mock-list>span:last-child{border-bottom:0}.mock-list i{width:12px;height:12px;border-radius:3px;background:#7fbee4}.mock-list b{height:6px;width:40%;background:#b9d4e5;border-radius:3px}.mock-list em{height:7px;width:25%;margin-left:auto;background:#badfce;border-radius:3px}
/* Interazione e progressione: pulsanti reali, nessun controllo fittizio. */
.story-controls{position:relative;z-index:5;display:flex;align-items:stretch;gap:15px;justify-content:space-between;padding:14px 24px 18px 65px;border-top:1px solid rgba(200,232,255,.12)}
.story-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;flex:1}
.story-tab,.story-toggle{border:0;background:transparent;color:#a9c1d4;cursor:pointer}
.story-tab{position:relative;text-align:left;font-size:.78rem;font-weight:700;padding:9px 12px;white-space:nowrap;transition:color .25s}.story-tab span{font-size:.65rem;margin-right:8px;color:#668ba9}.story-tab.is-active{color:#fff}.story-tab.is-active span{color:#92d6f8}.story-tab::before{content:"";position:absolute;top:0;left:12px;right:12px;height:2px;background:rgba(185,223,248,.24)}.story-tab::after{content:"";position:absolute;top:0;left:12px;right:12px;height:2px;background:#a7ddfa;transform-origin:left;transform:scaleX(0)}.story-stage.is-playing .story-tab.is-active::after{animation:story-progress 4.2s linear both}.story-tab:hover,.story-toggle:hover{color:#fff}
.story-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:79px;text-transform:uppercase;font-weight:800;font-size:.57rem;letter-spacing:.1em}.story-toggle-icon{font-size:1rem;line-height:1}
@keyframes story-progress{to{transform:scaleX(1)}}
@keyframes story-mock-enter{from{opacity:.15;transform:translateY(28px) rotate(-8deg) scale(.93)}to{opacity:1;transform:translateY(4px) rotate(-4deg) scale(1)}}
@keyframes story-float-in{from{opacity:0;translate:0 17px}to{opacity:1;translate:0 0}}
@keyframes story-drift{to{translate:0 -8px}}
@keyframes story-bars{from{transform:scaleY(.08)}to{transform:scaleY(1)}}
@media(max-width:1000px){.story-slide{padding:25px 36px 16px;grid-template-columns:45% 55%}.story-controls{padding-left:35px}.story-copy h3{font-size:clamp(2.4rem,4.9vw,4.1rem)}.story-visual{transform:scale(.88)}.story-float-one{right:-8%}}
@media(max-width:720px){
  .intro-story-wrap{margin-top:47px}.intro-story-heading{display:block}.intro-story-heading p{margin-top:5px}
  .story-stage{border-radius:11px;min-height:700px}
  .story-slides{height:568px}
  .story-slide{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:31px 22px 0;gap:13px}
  .story-copy{max-width:none;flex:none}.story-counter{font-size:.59rem}.story-copy h3{font-size:clamp(2.7rem,10vw,4.1rem);margin:9px 0 12px}
  .story-copy p{font-size:.89rem;line-height:1.55;min-height:62px;max-width:500px;margin-bottom:12px}.story-detail{font-size:.64rem}
  .story-visual{transform:none;flex:1;min-height:230px;max-height:260px}.mock-browser{height:217px;max-width:355px;width:86%;transform:rotate(-4deg) translateY(2px)}
  .mock-site-content{height:141px;padding:10px 12px}.mock-site-text{gap:6px}.mock-site-text strong{font-size:1.3rem}.mock-site-graphic{width:113px;height:113px}.mock-site-graphic span{border-width:16px}.mock-site-graphic span:nth-child(2){border-width:8px}.mock-site-bottom{padding:8px 15px}.mock-site-bottom span{height:7px}
  .mock-browser-bar{height:28px}.mock-shop-content{height:calc(100% - 28px)}.mock-product-shape{transform:scale(.73)}.mock-product-copy{padding:13px;gap:7px}.mock-product-copy strong{font-size:1.26rem}
  .mock-chart-head{padding:8px 16px 0}.mock-chart-head strong{font-size:1.12rem}.mock-chart-grid{height:116px}.mock-chart-tags{padding:4px 18px}.mock-workspace{padding:11px 13px}.mock-dashboard{height:calc(100% - 28px)}.mock-workspace strong{font-size:1rem;margin-bottom:9px}.mock-stat-row>span{padding:5px}.mock-list{margin-top:8px}.mock-list>span{height:25px}
  .story-float{font-size:.49rem;padding:7px}.story-float-one{top:0;right:0}.story-float-two{bottom:0;left:0}
  .story-controls{flex-direction:column;gap:8px;padding:12px 15px 15px}.story-tabs{grid-template-columns:1fr 1fr;gap:2px 8px}.story-tab{padding:12px 7px 7px;font-size:.75rem}.story-tab span{margin-right:6px}.story-tab::before,.story-tab::after{left:7px;right:7px}.story-toggle{align-self:flex-end;min-height:25px}
}
@media(max-width:390px){.story-stage{min-height:724px}.story-slides{height:582px}.story-copy h3{font-size:2.65rem}.story-copy p{min-height:83px}.story-visual{max-height:238px}.mock-browser{width:93%}.story-tab{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.story-slide,.story-slide.is-active,.story-visual .mock-browser,.story-float,.mock-bars i{animation:none!important;transition:none!important}.story-slide{transform:none}.story-tab::after{animation:none!important}.story-stage .story-tab.is-active::after{transform:scaleX(1)}}

/* V5: approfondimenti di servizio in due paragrafi leggibili */
.service-body .service-description{color:#637182;line-height:1.7;margin:0 0 13px}
.service-body .service-description:last-child{margin-bottom:0}
