/* Software29: tactile, responsive restyling. */
:root{--gold:#ffbe25;--ink:#122f40;--line:#dce5e8}
body,.s29-wrap{background:#fafbf8}
html{scroll-padding-top:95px}
.s29-header{background:rgba(250,251,248,.94)}
.s29-header__inner{height:86px}
.s29-brand__logo{height:auto;width:185px;max-width:100%}
.s29-ctahead{background:#14384f;color:white;border-radius:8px}
.s29-hero{background:radial-gradient(ellipse at 83% 42%,#dcebf180,transparent 53%),#fafbf8;padding:0}
.s29-hero__inner{padding:80px 24px 76px;gap:65px;align-items:center}
.s29-hero__title{font-size:clamp(42px,5.3vw,72px);line-height:1.04;letter-spacing:-.055em;margin:25px 0}
.s29-hero__lead{font-size:18px;line-height:1.7;max-width:460px}
.s29-pill{padding:0;background:transparent;border:0;box-shadow:none;gap:10px;text-transform:uppercase;letter-spacing:1.6px;font-size:11px}
.s29-pill__euro{width:8px;height:8px;background:var(--blue);border-radius:50%;font-size:0}
.s29-pill__text{font-size:11px}
.s29-btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:0 5px 0 #db9b16;border-radius:8px}
.s29-btn-primary:hover{background:#ffca4a;color:var(--navy);transform:translateY(-2px)}
.s29-btn-ghost{border:0;background:transparent}
.s29-hero__checks{gap:16px;font-size:12px}
.s29-check{font-size:12px}
.s29-world{position:relative;perspective:1100px;min-width:0;padding:32px 6px 45px;isolation:isolate}
.s29-orbit{position:absolute;inset:0;border:1px solid #bfd6e0;border-radius:50%;transform:rotate(-28deg);z-index:-1;pointer-events:none}
.s29-orbit.second{inset:35px -20px;transform:rotate(32deg);border-color:#d9e4e6}
.s29-scene{transform:rotateX(var(--rx,7deg)) rotateY(var(--ry,-12deg));transform-style:preserve-3d;transition:transform .22s ease-out;position:relative}
.s29-screen{border:1px solid #d6e1e6;border-radius:16px;background:white;box-shadow:9px 12px 0 #c3d4dd,14px 19px 0 #a5bdcb,25px 40px 60px #14384f20;overflow:hidden}
.s29-screenbar{display:flex;align-items:center;gap:5px;background:#f1f5f7;border-bottom:1px solid var(--line);padding:13px 16px;font-size:10px;color:#627c8b}
.s29-screenbar i{height:6px;width:6px;border-radius:50%;background:#a6bcc8}
.s29-screenbar span{margin:auto}
.s29-screenbody{display:grid;grid-template-columns:49px 1fr;min-height:284px}
.s29-screenrail{background:#14384f;display:flex;flex-direction:column;align-items:center;gap:23px;padding:20px 0;color:#d4e7f2;font-size:17px}
.s29-screenrail b{background:var(--gold);color:#14384f;border-radius:7px;padding:5px;font-size:13px}
.s29-workday{padding:24px 20px;min-width:0}
.s29-workday .s29-demo-label{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#647f8f}
.s29-workday__title{font-size:22px;margin:8px 0 5px;letter-spacing:-.7px}
.s29-workday p{font-size:11px;color:#647f8f;margin:0 0 22px}
.s29-appointment{display:flex;align-items:center;gap:12px;border-top:1px solid #e3ebef;padding:14px 0;font-size:11px}
.s29-appointment time{color:#647f8f;font-size:10px}
.s29-appointment strong{display:block;font-size:11px;margin-bottom:4px}
.s29-appointment small{color:#647f8f;font-size:10px}
.s29-appointment .s29-status{margin-left:auto;color:#277756;background:#eaf5ee;border-radius:50%;padding:3px 6px}
.s29-float-price{position:absolute;right:-12px;bottom:-34px;background:var(--gold);color:#14384f;border-radius:14px;padding:16px 23px;transform:translateZ(65px);box-shadow:4px 6px 0 #db9b16,12px 20px 30px #14384f18;display:flex;gap:12px;align-items:center}
.s29-float-price strong{font-size:52px;letter-spacing:-3px;line-height:1}
.s29-float-price span{font-size:11px;line-height:1.5}
.s29-float-label{position:absolute;top:-20px;left:-14px;background:white;border:1px solid var(--line);padding:13px 17px;border-radius:10px;transform:translateZ(45px);box-shadow:0 8px 20px #14384f0d;font-size:11px}
.s29-float-label b{color:#26744f;margin-right:6px}
.s29-world-caption{font-size:10px;color:#647f8f;text-align:center;margin:50px 0 0;letter-spacing:.6px}
.s29-section--soft{background:#f0f4f3}
.s29-section--white{background:#fafbf8}
.s29-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0 20px 0 0}
.s29-h2{letter-spacing:-.04em}
.s29-soft{border-radius:12px;background:#fff;box-shadow:0 3px 0 #e2e9eb;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out,box-shadow .2s,border-color .2s}
.s29-soft:hover{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px);box-shadow:0 8px 0 #e2e9eb,0 20px 36px #14384f10}
.s29-soft__icon{border-radius:12px;box-shadow:3px 3px 0 #d4e4ed;background:linear-gradient(145deg,#f0f7fb,#e0edf5)}
.s29-soft__price{background:#faf5e6;color:#795a12;font-size:11px}
.s29-software-intro{max-width:450px;color:var(--text);font-size:16px;line-height:1.6}
.s29-pricebox{box-shadow:8px 10px 0 #ffffff15,20px 25px 60px #0002;border-radius:16px}
.s29-finalcta__panel{border-radius:16px}
.s29-skip{position:fixed;top:-100px;left:16px;background:#14384f;color:#fff;padding:12px;z-index:100}
.s29-skip:focus{top:12px}
a:focus-visible,button:focus-visible{outline:3px solid #357fae;outline-offset:5px}
@media(min-width:981px){.s29-grid-software{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.s29-hero__inner{gap:45px;padding-top:48px}.s29-world{max-width:510px;width:100%;margin:auto}.s29-hero__title{font-size:56px}}
@media(max-width:600px){.s29-header__inner{height:72px}.s29-brand__logo{width:155px}.s29-hero__inner{padding:35px 22px 40px;gap:32px}.s29-hero__title{font-size:46px}.s29-hero__lead{font-size:16px}.s29-world{padding:26px 9px 20px}.s29-scene{transform:rotateX(3deg) rotateY(-5deg)}.s29-float-label{left:-4px;font-size:10px}.s29-float-price{right:0;padding:13px 17px}.s29-float-price strong{font-size:43px}.s29-workday{padding:19px 12px}.s29-workday__title{font-size:20px}.s29-screenbody{grid-template-columns:35px 1fr}.s29-orbit.second{inset:30px 0}.s29-card{padding:0}.s29-grid-software{grid-template-columns:1fr}.s29-world-caption{margin-top:52px}.s29-screen{box-shadow:5px 7px 0 #c3d4dd,8px 11px 0 #a5bdcb,12px 20px 30px #14384f15}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.s29-scene,.s29-soft,.s29-soft:hover{transform:none}}

/* An interactive showroom; scoped to the homepage. */
.s29-experience{--world-accent:#7acbff}
.s29-experience .s29-header{background:#0d2332f5;border-bottom:1px solid #ffffff15}
.s29-experience .s29-header .s29-brand__logo{content:url('../img/logo-software29-white-sm.png')}
.s29-experience .s29-navlinks a{color:#d3e1ea}
.s29-experience .s29-ctahead{background:#ffffff12;color:#fff;border:1px solid #ffffff25;box-shadow:none}
.s29-experience .s29-hero{background:radial-gradient(ellipse at 85% 45%,#204b60 0,transparent 52%),#0d2332;color:#fff;position:relative;isolation:isolate}
.s29-experience .s29-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,transparent,#000)}
.s29-experience .s29-hero__inner{padding-top:66px;padding-bottom:70px;gap:55px}
.s29-experience .s29-hero__title{color:#f6f8f8;font-size:clamp(48px,5.6vw,78px);line-height:1.02}
.s29-experience .s29-hero__title .s29-blue{color:var(--world-accent);transition:color .3s}
.s29-experience .s29-hero__lead{color:#b5c9d6;font-size:17px;max-width:410px}
.s29-experience .s29-pill__text{color:#c0d7e4}
.s29-experience .s29-pill__euro{background:var(--world-accent)}
.s29-experience .s29-hero .s29-btn-ghost{color:#e3edf3}
.s29-experience .s29-check{color:#b5c9d6}
.s29-experience .s29-orbit{border-color:#8bcced30;inset:-35px -5px;box-shadow:0 0 65px #7acbff08}
.s29-experience .s29-orbit.second{border-color:#ffffff13;inset:25px -28px}
.s29-experience .s29-world{color:#14384f;padding-top:48px}
.s29-experience .s29-screen{box-shadow:9px 12px 0 #38566a,14px 19px 0 #233e50,25px 40px 70px #0005}
.s29-experience .s29-screenrail{background:#15344a}
.s29-experience .s29-float-label{background:#234658;color:#ecf6ff;border-color:#658fa866;box-shadow:0 10px 30px #0002}
.s29-experience .s29-float-label b{color:var(--world-accent)}
.s29-experience .s29-float-price{background:var(--world-accent);box-shadow:4px 6px 0 #57819a,12px 20px 30px #0003;transition:background .3s}
.s29-experience .s29-world-caption{color:#94b2c4;margin-top:62px;font-size:9px}
.s29-world-summary{color:#e0edf5;text-align:center;font-size:14px;margin:13px 0 0;min-height:42px}
.s29-world-picker{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}
.s29-world-picker button{font:inherit;font-size:10px;display:flex;gap:9px;align-items:center;color:#afc8d7;background:#ffffff06;border:1px solid #ffffff25;border-radius:8px;padding:13px 14px;cursor:pointer;transition:background .2s,transform .2s}
.s29-world-picker button span{font-size:13px;font-weight:700}
.s29-world-picker button:hover{background:#ffffff12;transform:translateY(-2px)}
.s29-world-picker button[aria-pressed=true]{background:var(--world-accent);color:#102b3d;border-color:var(--world-accent);box-shadow:0 0 24px #7acbff12}
.s29-experience .s29-hero__cta{margin-top:24px}
.s29-catalog-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 26px}
.s29-catalog-filters button{font:inherit;font-size:14px;border:1px solid #d7e2e7;color:#426075;border-radius:30px;padding:11px 18px;background:transparent;cursor:pointer}
.s29-catalog-filters button[aria-pressed=true]{background:#15384f;color:#fff;border-color:#15384f}
.s29-catalog-filters button span{font-size:11px;opacity:.7;margin-left:5px}
.s29-filter-result{font-size:13px;color:#516b7c;margin-bottom:20px}
.s29-experience [hidden]{display:none!important}
.s29-experience .s29-soft{padding:30px;position:relative;overflow:hidden}
.s29-experience .s29-soft::after{content:'';position:absolute;width:100px;height:100px;background:#357fae06;border-radius:50%;right:-20px;top:-30px;pointer-events:none;transition:scale .3s}
.s29-experience .s29-soft:hover::after{scale:2.3}
.s29-experience .s29-soft__link{margin-top:28px}
.s29-experience .s29-soft__link svg{transition:translate .2s}
.s29-experience .s29-soft:hover .s29-soft__link svg{translate:5px 0}
.s29-experience .s29-burger{background:#fff;color:#14384f}
.s29-experience .s29-mobilemenu{background:#f8fbfd}
@media(max-width:980px){.s29-experience .s29-hero__inner{padding-top:40px}.s29-experience .s29-world{max-width:540px}.s29-experience .s29-hero__title{font-size:62px}}
@media(max-width:600px){.s29-experience .s29-hero__title{font-size:49px}.s29-experience .s29-hero__inner{padding-top:35px;padding-bottom:26px;gap:25px}.s29-experience .s29-hero__lead{font-size:16px}.s29-world-picker{gap:6px}.s29-world-picker button{padding:12px 11px}.s29-world-picker button span{font-size:12px}.s29-experience .s29-orbit.second{inset:30px 0}.s29-experience .s29-world{padding-top:30px}.s29-experience .s29-soft{padding:24px}.s29-catalog-filters{gap:8px}.s29-catalog-filters button{padding:10px 13px;font-size:12px}.s29-world-summary{font-size:12px}.s29-experience .s29-hero__checks{margin-top:24px}.s29-experience .s29-world-caption{margin-top:62px}}

/* 2026 refinement: clearer navigation and quieter, more useful cards. */
.s29-header{
  box-shadow:0 1px 0 rgba(20,56,79,.04);
  transition:box-shadow .2s ease,background .2s ease;
}
.s29-header.is-scrolled{box-shadow:0 12px 34px rgba(9,34,49,.12)}
.s29-header__inner{gap:22px}
.s29-navlinks{
  gap:4px;
  padding:5px;
  border:1px solid rgba(20,56,79,.08);
  border-radius:12px;
  background:rgba(20,56,79,.035);
}
.s29-navlinks a{
  position:relative;
  padding:9px 13px;
  border-radius:8px;
  font-size:14px;
  transition:color .18s ease,background .18s ease;
}
.s29-navlinks a:hover{background:#fff;color:var(--blue-dark)}
.s29-navlinks a[aria-current="location"],
.s29-navlinks a[aria-current="page"]{
  background:#fff;
  color:var(--navy);
  box-shadow:0 3px 12px rgba(20,56,79,.09);
}
.s29-navlinks a[aria-current="location"]::after,
.s29-navlinks a[aria-current="page"]::after{
  content:"";
  position:absolute;
  right:12px;
  bottom:4px;
  left:12px;
  height:2px;
  border-radius:2px;
  background:var(--gold);
}
.s29-ctahead{padding:12px 17px;border-radius:10px}
.s29-experience .s29-navlinks{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
}
.s29-experience .s29-navlinks a:hover,
.s29-experience .s29-navlinks a[aria-current="location"],
.s29-experience .s29-navlinks a[aria-current="page"]{
  background:rgba(255,255,255,.11);
  color:#fff;
  box-shadow:none;
}
.s29-experience .s29-ctahead{
  background:var(--gold);
  color:var(--navy);
  border-color:var(--gold);
  font-weight:800;
}

.s29-grid-benefit{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.s29-card{
  position:relative;
  min-height:245px;
  padding:26px 24px 24px;
  overflow:hidden;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(20,56,79,.09);
  border-radius:16px;
  box-shadow:0 8px 28px rgba(20,56,79,.045);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.s29-card::before{
  content:"";
  position:absolute;
  top:0;
  right:24px;
  left:24px;
  height:3px;
  border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--gold),var(--blue));
  opacity:.72;
}
.s29-card:hover{
  transform:translateY(-4px);
  border-color:rgba(53,127,174,.26);
  box-shadow:0 18px 38px rgba(20,56,79,.09);
}
.s29-card__icon{width:48px;height:48px;border-radius:12px}
.s29-card__title{font-size:20px;line-height:1.18;margin-top:26px}
.s29-card__text{font-size:15px;line-height:1.65;margin-top:11px}

.s29-software__head{align-items:center}
.s29-tag-gold{background:#fff7df;border-color:#f2d98d;color:#755400}
.s29-catalog-filters{
  gap:8px;
  margin:30px 0 13px;
  padding-bottom:2px;
}
.s29-catalog-filters button{
  min-height:42px;
  padding:9px 16px;
  border-color:#d6e1e7;
  background:#fff;
  font-weight:700;
  transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease;
}
.s29-catalog-filters button:hover{border-color:#8db4ca;transform:translateY(-1px)}
.s29-catalog-filters button[aria-pressed=true]{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
  box-shadow:0 7px 18px rgba(20,56,79,.16);
}
.s29-filter-result{margin:0 0 20px;padding-left:3px}
.s29-grid-software{gap:18px;margin-top:20px}
.s29-soft{
  position:relative;
  min-height:318px;
  padding:28px;
  overflow:hidden;
  border:1px solid #dfe8ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 0 #e6ecef,0 16px 34px rgba(20,56,79,.04);
  transform:none;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.s29-soft::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:4px;
  background:linear-gradient(90deg,var(--blue),#7fc6e8 62%,var(--gold));
  opacity:.72;
}
.s29-soft::after{
  width:150px;
  height:150px;
  right:-55px;
  top:-64px;
  background:radial-gradient(circle,rgba(53,127,174,.08),transparent 68%);
}
.s29-soft:hover{
  transform:translateY(-6px);
  border-color:#aac8d8;
  box-shadow:0 8px 0 #dce6eb,0 24px 44px rgba(20,56,79,.1);
}
.s29-soft:focus-visible{transform:translateY(-3px)}
.s29-soft__top{position:relative;z-index:1;align-items:flex-start}
.s29-soft__icon{
  width:50px;
  height:50px;
  border-radius:12px;
  box-shadow:none;
  background:#eaf4f9;
  border:1px solid #d7e8f1;
}
.s29-soft__price,
.s29-tag{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border:1px solid #efdda8;
  background:#fff8e7;
  color:#715514;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.015em;
}
.s29-soft__title{font-size:24px;line-height:1.14;margin-top:24px}
.s29-soft__logo{height:54px;margin-top:20px}
.s29-soft__sector{margin-top:7px;font-size:12px;line-height:1.35;letter-spacing:.065em}
.s29-soft__text{font-size:15px;line-height:1.62;margin-top:14px}
.s29-soft__link{
  padding-top:17px;
  margin-top:22px;
  border-top:1px solid #e9eff2;
  color:var(--navy);
}
.s29-soft__link svg{margin-left:auto}

.s29-step{
  border-radius:16px;
  box-shadow:0 5px 0 #e2e9eb;
  transition:transform .2s ease,box-shadow .2s ease;
}
.s29-step:hover{transform:translateY(-3px);box-shadow:0 8px 0 #dbe4e8}

@media(max-width:1080px){
  .s29-navlinks{gap:2px}
  .s29-navlinks a{padding:9px 10px;font-size:13px}
  .s29-grid-benefit{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:880px){
  .s29-header{position:sticky}
  .s29-header__inner{height:72px;padding:0 18px}
  .s29-mobilemenu{
    position:absolute;
    top:calc(100% + 10px);
    right:14px;
    left:14px;
    padding:10px;
    border:1px solid #d9e5eb;
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 60px rgba(9,34,49,.2);
  }
  .s29-mobilemenu a{
    padding:13px 12px;
    border-radius:9px;
    border-bottom:0;
    font-size:16px;
  }
  .s29-mobilemenu a:hover,
  .s29-mobilemenu a:focus-visible{background:#eef5f8;color:var(--navy)}
  .s29-mobilemenu .s29-mobilemenu__cta{margin-top:5px;background:var(--gold);color:var(--navy)}
  .s29-burger{border-radius:10px;box-shadow:0 3px 12px rgba(20,56,79,.08)}
  .s29-burger[aria-expanded=true]{background:var(--gold);border-color:var(--gold)}
}
@media(max-width:640px){
  .s29-section__inner{padding:54px 20px}
  .s29-grid-benefit{grid-template-columns:1fr;gap:13px;margin-top:30px}
  .s29-card{min-height:0;padding:23px 21px}
  .s29-card::before{right:21px;left:21px}
  .s29-card__title{margin-top:19px}
  .s29-software__head{align-items:flex-start}
  .s29-tag-gold{width:100%;justify-content:center;margin-top:4px}
  .s29-catalog-filters{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-right:-20px;
    padding:0 20px 9px 0;
    scrollbar-width:none;
    scroll-snap-type:x proximity;
  }
  .s29-catalog-filters::-webkit-scrollbar{display:none}
  .s29-catalog-filters button{flex:0 0 auto;scroll-snap-align:start}
  .s29-grid-software{gap:15px}
  .s29-experience .s29-soft{min-height:0;padding:24px 22px}
  .s29-soft__title{font-size:23px}
  .s29-soft__link{margin-top:20px}
}

/* Titolo della schermata demo in home: non è un titolo di sezione, quindi non usa h2. */
.s29-workday__title{display:block;font-weight:700}
