:root{
--text:#10131a;
--muted: rgba(16,19,26,.65);
--accent:#ff6600;
--blue:#0066cc;
--bg1:#f7fbff;
--bg2:#fff7f0;
--bg3:#ffffff;
--stroke:rgba(0,0,0,.08);
--muted2:rgba(16,19,26,.55);
--radius:18px;
}
*{box-sizing:border-box}
body{box-sizing:border-box;font-family:'Poppins',sans-serif;margin:0;padding:0;background-color:#F5F5F5;color:#333333;}
html{height:100%;}
.gbs-hero, .gbs-hero *{ box-sizing:border-box; }
.gbs-hero{width:100%;background:transparent;padding:0 !important;margin:0 !important;--headerH:260px;min-height:calc(100vh - var(--headerH));display:flex;align-items:center;}
.gbs-hero-inner{max-width:1600px;margin:0 auto;padding:0;width:100%;}
.gbs-content{display:grid;grid-template-columns:520px 1fr;gap:34px;align-items:center;}
@media (max-width: 980px){.gbs-content{ grid-template-columns:1fr; gap:22px; }}
.gbs-logo-area{position:relative;min-height:360px;display:grid;place-items:center;overflow:hidden;border-radius:0;transform:translate(40px, -40px);}
.gbs-logo-intro{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2;}
.gbs-logo-intro-word{font-family:'Poppins',sans-serif;font-weight:900;letter-spacing:-.08em;text-transform:uppercase;font-size:clamp(64px,6.5vw,140px);transform:translate3d(0,12vh,0) scale(7);color:var(--text);}
.gbs-logo-intro.play .gbs-logo-intro-word{animation:gbsLogoIntro 1.45s cubic-bezier(.2,1,.2,1) forwards;}
@keyframes gbsLogoIntro{0%{transform:translate3d(0,12vh,0) scale(7);opacity:1;}62%{transform:translate3d(0,0,0) scale(1.05);}100%{transform:translate3d(0,-6vh,0) scale(.32);opacity:0;}}
.gbs-logo-intro.hide{opacity:0;transition:opacity .3s ease;}
.gbs-logo-wrapper{cursor:pointer;transition:transform .45s cubic-bezier(.2,1,.2,1), filter .45s ease, opacity .45s ease;filter:drop-shadow(0 18px 40px rgba(0,0,0,.12));opacity:1;z-index:1;}
.gbs-logo-wrapper:hover{transform:translateY(-6px) scale(1.02);filter:drop-shadow(0 26px 60px rgba(0,0,0,.18));}
.gbs-logo-wrapper img{width:min(520px, 92%);height:auto;display:block;}
.gbs-logo-wrapper.is-hidden{opacity:0;pointer-events:none;}
.gbs-logo-wrapper.is-reveal{animation:gbsLogoLand .55s cubic-bezier(.2,1,.2,1) both;}
@keyframes gbsLogoLand{0%{opacity:0;transform:scale(.98);}100%{opacity:1;transform:scale(1);}}
.gbs-kicker{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.45px;color:rgba(16,19,26,.70);}
.gbs-dot{width:8px;height:8px;border-radius:999px;background:var(--accent);box-shadow:0 0 18px rgba(255,102,0,.35);}
.gbs-h1{margin:0;font-family:'Poppins',sans-serif;font-size:clamp(34px,3.2vw,60px);line-height:1.02;letter-spacing:-1px;font-weight:800;color:var(--text);}
.gbs-subline{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;font-size:clamp(18px,1.6vw,26px);font-weight:700;margin-top:10px;color:var(--text);}
.gbs-fixed{color:var(--text);}
.gbs-typewriter{color:var(--accent);font-weight:800;position:relative;min-width:280px;white-space:nowrap;}
.gbs-typewriter::after{content:"|";animation:gbsBlink .7s step-end infinite;color:var(--accent);}
@keyframes gbsBlink{50%{opacity:0;}}
.gbs-section-title{margin:18px 0 6px 0;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:rgba(16,19,26,.70);}
.gbs-desc{margin:0;font-size:15px;line-height:1.75;color:var(--muted);font-weight:500;max-width:720px;}
.gbs-hero,.gbs-hero h1,.gbs-hero .gbs-subline,.gbs-hero .gbs-fixed,.gbs-hero .gbs-kicker,.gbs-hero .gbs-section-title,.gbs-hero .gbs-desc{color:#10131a !important;}
.gbs-hero .gbs-typewriter,.gbs-hero .gbs-typewriter::after{color:#ff6600 !important;}
.gbs2-section{width:100%;padding:80px 24px;background:#F5F5F5;}
.gbs2-container{max-width:1100px;margin:0 auto;background:#fff;padding:50px;border-radius:32px;box-shadow:0 4px 24px rgba(0,0,0,.08);}
.gbs2-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.gbs2-illu{display:flex;align-items:center;justify-content:center;padding:20px;}
.gbs2-svg{width:100%;max-width:500px;height:auto;}
.gbs2-cards{display:flex;flex-direction:column;gap:24px;}
.gbs2-card{padding:32px;background:#F9FAFB;border-radius:16px;border:2px solid #E5E7EB;transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.gbs2-card:hover{transform:translateX(8px);box-shadow:0 8px 32px rgba(249,115,22,.15);border-color:#F97316;}
.gbs2-card-head{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.gbs2-icon{width:48px;height:48px;border-radius:12px;background:#F97316;flex:0 0 auto;}
.gbs2-title{margin:0;font-size:24px;font-weight:800;color:#4C00FF;}
.gbs2-text{margin:0;font-size:16px;line-height:1.7;color:#374151;font-weight:600;}
@media (max-width:1024px){.gbs2-grid{grid-template-columns:1fr;gap:40px;}.gbs2-container{padding:40px 30px;}}
@media (max-width:640px){.gbs2-section{padding:60px 16px;}.gbs2-container{padding:30px 20px;border-radius:24px;}.gbs2-card{padding:24px;}.gbs2-title{font-size:20px;}.gbs2-text{font-size:15px;}.gbs2-icon{width:40px;height:40px;}}
.gbs3-section{padding:60px 20px;background:transparent;border-radius:0;}
.gbs3-head{max-width:1400px;margin:0 auto 50px;text-align:center;}
.gbs3-head h2{font-size:3.2rem;font-weight:800;color:#F97316;margin:0 0 16px;line-height:1.1;}
.gbs3-head p{font-size:1.15rem;color:#666;max-width:780px;margin:0 auto;}
.gbs3-acc{max-width:1200px;margin:0 auto;display:flex;gap:20px;height:500px;}
.gbs3-item{flex:1;border-radius:32px;overflow:hidden;cursor:pointer;transition:flex 1.8s cubic-bezier(0.22,1,0.36,1) !important;position:relative;background:#f8f8f8;box-shadow:0 4px 20px rgba(0,0,0,.08);}
.gbs3-item:hover{flex:4;}
.gbs3-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;transition:opacity 1.8s cubic-bezier(0.22,1,0.36,1) !important;}
.gbs3-item:hover .gbs3-bg{opacity:.5;}
.gbs3-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.7));transition:all 1.8s cubic-bezier(0.22,1,0.36,1) !important;}
.gbs3-item:hover .gbs3-overlay{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.6));}
.gbs3-content{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:35px 25px 30px;z-index:2;}
.gbs3-icon{width:65px;height:65px;border-radius:999px;background:linear-gradient(135deg,#F97316,#ea580c);box-shadow:0 4px 20px rgba(249,115,22,.4);margin-bottom:15px;transition: all 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;}
.gbs3-item:hover .gbs3-icon{background:linear-gradient(135deg,#4C00FF,#3800cc);box-shadow:0 0 40px rgba(76,0,255,.6);transform:scale(1.15) rotate(360deg);}
.gbs3-title{font-size:1.6rem;font-weight:900;color:#F97316;margin:6px 0 14px;text-align:center;text-shadow:2px 2px 6px rgba(255,255,255,1);}
.gbs3-desc{opacity:0;transform:scale(.95);transition:opacity 1.2s ease, transform 1.2s ease !important;color:#333;font-size:.95rem;line-height:1.6;text-align:center;max-width:520px;visibility:hidden;}
.gbs3-item:hover .gbs3-desc{opacity:1;transform:scale(1);visibility:visible;transition-delay:.2s;}
.gbs3-link{margin-top:auto;display:inline-flex;align-items:center;gap:10px;padding:12px 28px;border-radius:50px;background:#F97316;color:#fff;font-weight:800;text-decoration:none;opacity:0;transform:scale(.9);transition:opacity 1.2s ease, transform 1.2s ease, background .25s ease !important;visibility:hidden;box-shadow:0 4px 20px rgba(249,115,22,.4);}
.gbs3-item:hover .gbs3-link{opacity:1;transform:scale(1);visibility:visible;transition-delay:.35s;}
.gbs3-link:hover{background:#4C00FF;transform:translateY(-2px) scale(1.05);}
@media (max-width:768px){.gbs3-acc{flex-direction:column;height:auto;}.gbs3-item{height:120px;}.gbs3-item:hover{height:450px;flex:none;}}
.cbm4-wrap{padding:60px 20px;background:transparent;}
.cbm4-card{width:calc(100% - 10px);max-width:none;margin:0 auto;}
.cbm4-hero{text-align:center;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid rgba(0,0,0,.06);}
.cbm4-brand{display:flex;align-items:center;justify-content:center;gap:12px;}
.cbm4-logo{width:48px;height:48px;border-radius:12px;background:#F97316;color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 12px 26px rgba(249,115,22,.20);}
.cbm4-h1{margin:0;font-size:clamp(38px,5vw,52px);font-weight:800;letter-spacing:-.6px;line-height:1;}
.cbm4-orange{color:#F97316;}.cbm4-black{color:#000;}
.cbm4-sub{margin:10px 0 0;font-size:14px;font-weight:500;color:rgba(0,0,0,.60);letter-spacing:.5px;}
.cbm4-tagline{margin-top:10px;display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:nowrap;color:rgba(0,0,0,.70);font-weight:600;}
.cbm4-stable{white-space:nowrap;}.cbm4-slot{display:inline-block;width:220px;text-align:left;}.cbm4-word{display:inline-block;color:#F97316;font-weight:900;white-space:nowrap;transition:opacity .35s ease, transform .35s ease;}.cbm4-word.out{opacity:0;transform:translateY(6px);}.cbm4-word.in{opacity:1;transform:translateY(0);}
.cbm4-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:stretch;}
.cbm4-box{border:1px solid rgba(0,0,0,.06);background:rgba(255,255,255,.78);border-radius:18px;padding:22px 20px;text-align:left;cursor:pointer;min-height:260px;transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .45s ease, background .45s ease;box-shadow:0 10px 24px rgba(0,0,0,.06);position:relative;overflow:hidden;}
.cbm4-box:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 14px 40px rgba(0,0,0,.08);}
.cbm4-box.is-active{background:rgba(255,255,255,.92);border-color:rgba(249,115,22,.22);transform:translateY(-6px);}
.cbm4-box::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 30% 20%,rgba(249,115,22,.12),transparent 55%);opacity:0;transition:opacity .45s ease;pointer-events:none;}
.cbm4-box.violet::before{background:radial-gradient(circle at 30% 20%,rgba(76,0,255,.10),transparent 55%);}
.cbm4-box.is-active::before{opacity:1;}
.cbm4-title{margin:0 0 10px;font-size:20px;font-weight:900;letter-spacing:-.2px;color:#F97316;}.cbm4-title.is-blue{color:#4C00FF;}.cbm4-box p{margin:0;font-size:14px;line-height:1.55;color:rgba(0,0,0,.62);font-weight:600;}
@media (max-width:980px){.cbm4-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.cbm4-card{padding:22px;}.cbm4-grid{grid-template-columns:1fr;}.cbm4-box{min-height:auto;}.cbm4-tagline{flex-wrap:wrap;}.cbm4-slot{width:auto;min-width:160px;}}
.cbm-sector{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);width:100%;--radius:32px;}
.cbm-sector .section{padding:84px 18px;background:radial-gradient(circle at 20% 15%, rgba(37,99,235,.10), transparent 55%),radial-gradient(circle at 85% 55%, rgba(249,115,22,.10), transparent 60%),linear-gradient(135deg, var(--bg1), var(--bg3) 45%, var(--bg2));border-radius:40px;overflow:hidden;}
.cbm-sector .wrap{max-width:1240px;margin:0 auto;}.cbm-sector .eyebrow{display:none !important;}
.cbm-sector .h1{font-size:clamp(30px,5.5vw,62px);line-height:1.05;letter-spacing:-1px;font-weight:800;margin:0 0 14px 0;color:var(--text);}
.cbm-sector .lead{max-width:980px;font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 32px 0;font-weight:500;}
.cbm-sector .grid{display:grid;grid-template-columns:420px 1fr;gap:34px;align-items:start;margin-top:22px;}
.cbm-sector .list{display:flex;flex-direction:column;gap:14px;}
.cbm-sector .item{border:1px solid var(--stroke);background:rgba(255,255,255,.70);border-radius:22px;padding:16px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text);text-decoration:none;cursor:pointer;transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;user-select:none;backdrop-filter:blur(6px);}
.cbm-sector .item:hover{border-color:rgba(37,99,235,.45);background:rgba(37,99,235,.05);transform:translateX(6px);}
.cbm-sector .item.is-active{border-color:rgba(37,99,235,.70);background:rgba(37,99,235,.08);box-shadow:0 0 0 1px rgba(37,99,235,.16) inset;}
.cbm-sector .item .label{font-weight:600;font-size:15.5px;letter-spacing:.1px;}
.cbm-sector .item .arrow{width:32px;height:32px;border-radius:16px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.65);font-size:16px;line-height:1;opacity:.92;transition:transform .18s ease,border-color .18s ease,background .18s ease;flex:0 0 auto;}
.cbm-sector .item:hover .arrow{transform:translate(2px,-2px);border-color:rgba(37,99,235,.35);background:rgba(37,99,235,.06);}.cbm-sector .item.is-active .arrow{border-color:rgba(37,99,235,.50);background:rgba(37,99,235,.08);}
.cbm-sector .panel{border:1px solid var(--stroke);border-radius:var(--radius);background:rgba(255,255,255,.72);overflow:hidden;min-height:560px;position:relative;backdrop-filter:blur(8px);}
.cbm-sector .panel::after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background:linear-gradient(180deg,rgba(37,99,235,.0),rgba(37,99,235,.75),rgba(37,99,235,.0));opacity:.35;pointer-events:none;}
.cbm-sector .panel-head{background:linear-gradient(135deg,#F97316 0%,#ea580c 100%);padding:30px 24px;}.cbm-sector .panel-title{margin:0;font-size:clamp(20px,2vw,32px);font-weight:700;letter-spacing:-.4px;text-align:center;color:#fff;}.cbm-sector .panel-body{padding:24px 26px 30px 34px;color:var(--muted);font-size:15.5px;line-height:1.65;}.cbm-sector .panel-body ul{margin:0;padding-left:18px;}.cbm-sector .panel-body li{margin:10px 0;}.cbm-sector .panel-body li strong{font-weight:800;}
.cbm-sector .panel-content{position:absolute;inset:0;opacity:0;transform:translateX(18px);transition:opacity .22s ease,transform .22s ease;pointer-events:none;}.cbm-sector .panel-content.is-visible{opacity:1;transform:translateX(0);pointer-events:auto;}
.cbm-sector .mobile-accordion{display:none;border:1px solid var(--stroke);border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);}.cbm-sector .acc-item{border-top:1px solid rgba(0,0,0,.06);}.cbm-sector .acc-item:first-child{border-top:0;}.cbm-sector .acc-head{padding:18px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;user-select:none;}.cbm-sector .acc-title{font-weight:700;font-size:16px;color:var(--text);}.cbm-sector .acc-btn{width:34px;height:34px;border-radius:16px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.65);transition:transform .18s ease,border-color .18s ease,background .18s ease;flex:0 0 auto;font-size:16px;line-height:1;opacity:.95;}.cbm-sector .acc-item.is-open .acc-btn{transform:rotate(180deg);border-color:rgba(37,99,235,.45);background:rgba(37,99,235,.08);}.cbm-sector .acc-body{padding:0 18px 18px 34px;color:var(--muted);font-size:15px;line-height:1.65;display:none;}.cbm-sector .acc-item.is-open .acc-body{display:block;}.cbm-sector .acc-body ul{margin:0;padding-left:18px;}.cbm-sector .acc-body li{margin:10px 0;}.cbm-sector .acc-body li strong{font-weight:800;}
@media (max-width:980px){.cbm-sector .grid{display:block;}.cbm-sector .list,.cbm-sector .panel{display:none !important;}.cbm-sector .mobile-accordion{display:block;}}
@media (prefers-reduced-motion:reduce){.cbm-sector .item,.cbm-sector .panel-content,.cbm-sector .acc-btn{transition:none !important;}.cbm-sector .item:hover{transform:none !important;}}
.container{max-width:1200px;margin:0 auto;padding:60px 24px;min-height:100%;display:flex;align-items:center;justify-content:center;}
.form-wrapper{width:100%;max-width:700px;background:#FFFFFF;border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,0.08);padding:48px;position:relative;overflow:hidden;}
.header{text-align:center;margin-bottom:40px;}.title{font-size:36px;font-weight:700;color:#333333;margin-bottom:12px;line-height:1.3;}.gradient-text{background:linear-gradient(135deg,#F97316 0%,#FB923C 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}.subtitle{font-size:16px;font-weight:400;color:#333333;line-height:1.6;opacity:.85;}.form-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:32px;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}.form-group{display:flex;flex-direction:column;}.form-label{font-size:14px;font-weight:600;color:#333333;margin-bottom:8px;}.form-input,.form-textarea{width:100%;padding:14px 16px;font-family:'Poppins',sans-serif;font-size:15px;color:#333333;background:#FFFFFF;border:2px solid #E5E5E5;border-radius:12px;transition:all .3s ease;outline:none;}.form-input:focus,.form-textarea:focus{border-color:#F97316;box-shadow:0 0 0 4px rgba(249,115,22,0.1);}.form-input::placeholder,.form-textarea::placeholder{color:#999999;}.form-textarea{resize:vertical;min-height:120px;}.btn-submit{width:100%;padding:16px 32px;font-family:'Poppins',sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;background:#F97316;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;}.btn-submit:hover:not(:disabled){background:#EA6A0F;transform:translateY(-2px);box-shadow:0 8px 20px rgba(249,115,22,0.3);}.btn-submit:active:not(:disabled){transform:translateY(0);}.btn-submit:disabled{opacity:.6;cursor:not-allowed;}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,0.3);border-top-color:#FFFFFF;border-radius:50%;animation:spin .8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}
.toast{position:fixed;top:24px;right:24px;background:#FFFFFF;padding:20px 24px;border-radius:16px;box-shadow:0 8px 32px rgba(76,0,255,0.2);border-left:5px solid #4C00FF;display:flex;align-items:flex-start;gap:16px;max-width:400px;transform:translateX(500px);opacity:0;transition:all .4s cubic-bezier(0.68,-0.55,0.265,1.55);z-index:1000;pointer-events:none;}.toast.show{transform:translateX(0);opacity:1;}.toast-icon{width:40px;height:40px;background:#4C00FF;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}.toast-content h3{font-size:16px;font-weight:600;color:#333333;margin-bottom:4px;}.toast-content p{font-size:14px;color:#666666;}
@media (max-width:768px){.container{padding:40px 20px;}.form-wrapper{padding:32px 24px;}.form-row{grid-template-columns:1fr;gap:24px;}.toast{top:16px;right:16px;left:16px;max-width:none;}}
@view-transition{navigation:auto;}

/* =========================================================
   GBS30 - Restyling moderno aggiunto
   Mantiene HTML e contenuti, migliora look, responsive e UX
   ========================================================= */
:root{
  --gbs-orange:#F97316;
  --gbs-orange-dark:#EA580C;
  --gbs-violet:#4C00FF;
  --gbs-blue:#2563EB;
  --gbs-ink:#10131A;
  --gbs-soft:#F7F8FC;
  --gbs-card:rgba(255,255,255,.78);
  --gbs-glass:rgba(255,255,255,.66);
  --gbs-border:rgba(16,19,26,.10);
  --gbs-shadow:0 24px 80px rgba(16,19,26,.10);
  --gbs-shadow-hover:0 34px 110px rgba(16,19,26,.16);
}

html{scroll-behavior:smooth;background:#F6F7FB;}
body{
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 8%, rgba(249,115,22,.16), transparent 30rem),
    radial-gradient(circle at 92% 20%, rgba(76,0,255,.12), transparent 32rem),
    linear-gradient(180deg,#FFFFFF 0%,#F6F7FB 48%,#FFF7F0 100%);
  color:var(--gbs-ink);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(16,19,26,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,19,26,.035) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.75), transparent 82%);
  pointer-events:none;
}
::selection{background:rgba(249,115,22,.22);color:var(--gbs-ink);}

section,.cbm-sector,.call-section{position:relative;}
.gbs-hero{padding:80px 24px 70px !important;min-height:92vh;}
.gbs-hero-inner{max-width:1280px;}
.gbs-content{
  grid-template-columns:minmax(320px,520px) minmax(0,1fr);
  padding:46px;
  border:1px solid var(--gbs-border);
  border-radius:38px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.52));
  box-shadow:var(--gbs-shadow);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.gbs-content::before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-90px;top:-120px;
  background:radial-gradient(circle,rgba(249,115,22,.16),transparent 68%);
  pointer-events:none;
}
.gbs-logo-area{transform:none;min-height:410px;border-radius:32px;background:radial-gradient(circle at 50% 50%, rgba(76,0,255,.08), transparent 62%);}
.gbs-logo-wrapper img{width:min(500px,92%);}
.gbs-kicker{
  padding:10px 14px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:0 10px 30px rgba(249,115,22,.08);
  margin-bottom:18px;
}
.gbs-h1{max-width:760px;text-wrap:balance;}
.gbs-subline{margin-top:16px;}
.gbs-desc{font-size:16px;max-width:760px;}
.gbs-typewriter{min-width:clamp(180px,24vw,320px);}

.gbs2-section,.gbs3-section,.cbm4-wrap,.call-section{padding:96px 24px;}
.gbs2-container,.form-wrapper,.cbm-sector .section{
  border:1px solid var(--gbs-border);
  box-shadow:var(--gbs-shadow);
  backdrop-filter:blur(16px);
}
.gbs2-container{
  max-width:1180px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.68));
}
.gbs2-card,.cbm4-box,.cbm-sector .item,.cbm-sector .panel,.cbm-sector .mobile-accordion{
  background:var(--gbs-card);
  box-shadow:0 16px 50px rgba(16,19,26,.06);
}
.gbs2-card,.cbm4-box,.gbs3-item,.cbm-sector .item,.form-wrapper{
  will-change:transform;
}
.gbs2-icon,.gbs3-icon,.cbm4-logo,.toast-icon{
  background:linear-gradient(135deg,var(--gbs-orange),#FB923C);
  box-shadow:0 14px 32px rgba(249,115,22,.28);
}
.gbs2-icon::after,.gbs3-icon::after,.cbm4-logo::after{
  content:"";
  display:block;
  width:45%;height:45%;
  margin:27% auto;
  border-radius:999px;
  background:rgba(255,255,255,.88);
}
.cbm4-logo::after{display:none;}
.gbs2-card:hover,.cbm4-box:hover{
  transform:translateY(-8px);
  box-shadow:var(--gbs-shadow-hover);
}

.gbs3-head h2,.cbm-sector .h1,.title{
  letter-spacing:-.04em;
  text-wrap:balance;
}
.gbs3-head p,.cbm-sector .lead,.subtitle{text-wrap:balance;}
.gbs3-acc{height:540px;max-width:1260px;}
.gbs3-item{
  border:1px solid rgba(16,19,26,.08);
  box-shadow:0 18px 60px rgba(16,19,26,.09);
}
.gbs3-item:hover{box-shadow:0 26px 90px rgba(16,19,26,.16);}
.gbs3-title{font-size:clamp(1.25rem,1.5vw,1.7rem);}
.gbs3-desc{font-weight:600;}
.gbs3-link,.btn-submit{
  position:relative;
  overflow:hidden;
}
.gbs3-link::before,.btn-submit::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transition:transform .7s ease;
}
.gbs3-link:hover::before,.btn-submit:hover::before{transform:translateX(120%);}

.cbm4-card{
  max-width:1280px;
  padding:48px;
  border:1px solid var(--gbs-border);
  border-radius:38px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.58));
  box-shadow:var(--gbs-shadow);
  backdrop-filter:blur(18px);
}
.cbm4-grid{gap:18px;}
.cbm4-box{border-radius:24px;padding:28px;}
.cbm4-title{font-size:22px;}
.cbm4-box p{font-size:14.5px;}
.cbm4-box.is-active{box-shadow:0 20px 70px rgba(249,115,22,.13);}

.cbm-sector{padding:0 24px 96px;}
.cbm-sector .section{max-width:1280px;margin:0 auto;background:
  radial-gradient(circle at 12% 10%, rgba(37,99,235,.15), transparent 44%),
  radial-gradient(circle at 88% 18%, rgba(249,115,22,.16), transparent 46%),
  linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,247,240,.84));
}
.cbm-sector .panel-head{background:linear-gradient(135deg,var(--gbs-orange),var(--gbs-orange-dark));}
.cbm-sector .panel-body li,.cbm-sector .acc-body li{padding-left:4px;}
.cbm-sector .item.is-active{box-shadow:0 14px 42px rgba(37,99,235,.10),0 0 0 1px rgba(37,99,235,.16) inset;}

.call-section{padding-top:0;}
.container{min-height:auto;}
.form-wrapper{
  max-width:760px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.72));
}
.form-input,.form-textarea{
  background:rgba(255,255,255,.76);
  border-color:rgba(16,19,26,.10);
}
.form-label{color:rgba(16,19,26,.76);}
.btn-submit{background:linear-gradient(135deg,var(--gbs-orange),#FB923C);box-shadow:0 16px 42px rgba(249,115,22,.24);}
.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#EA580C,var(--gbs-orange));}
.toast{backdrop-filter:blur(14px);}

.reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .75s ease, transform .75s cubic-bezier(.2,1,.2,1);}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0);}
.mouse-glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), rgba(249,115,22,.13), transparent 55%);}
.gbs2-container:hover .mouse-glow,.cbm4-card:hover .mouse-glow,.form-wrapper:hover .mouse-glow{opacity:1;}
.back-to-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;height:46px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--gbs-orange),var(--gbs-violet));
  box-shadow:0 14px 40px rgba(76,0,255,.20);
  cursor:pointer;
  opacity:0;
  transform:translateY(16px) scale(.94);
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
  z-index:999;
  font-size:20px;
  font-weight:900;
}
.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

@media (max-width:980px){
  .gbs-hero{padding-top:48px !important;}
  .gbs-content{padding:30px;grid-template-columns:1fr;text-align:center;}
  .gbs-logo-area{min-height:300px;}
  .gbs-subline{justify-content:center;}
  .gbs-desc{margin:0 auto;}
  .gbs2-section,.gbs3-section,.cbm4-wrap,.call-section{padding:72px 18px;}
  .cbm4-card{padding:30px;}
  .cbm-sector{padding:0 18px 72px;}
}
@media (max-width:768px){
  .gbs-content,.gbs2-container,.cbm4-card,.form-wrapper{border-radius:28px;}
  .gbs3-acc{gap:14px;}
  .gbs3-item{height:140px;}
  .gbs3-item:hover,.gbs3-item.is-open{height:470px;}
  .gbs3-desc,.gbs3-link{opacity:1;visibility:visible;transform:none;}
  .cbm-sector .section{border-radius:28px;}
}
@media (max-width:560px){
  .gbs-hero{padding:32px 14px 54px !important;}
  .gbs-content{padding:22px;}
  .gbs-logo-area{min-height:230px;}
  .gbs-kicker{font-size:12px;}
  .gbs-typewriter{min-width:auto;}
  .gbs2-section,.gbs3-section,.cbm4-wrap,.call-section{padding:56px 14px;}
  .cbm4-card{padding:22px;}
  .cbm4-brand{flex-wrap:wrap;}
  .cbm-sector{padding:0 14px 56px;}
  .back-to-top{right:14px;bottom:14px;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important;}
}
@media (max-width: 768px) {
  .gbs-hero {
    min-height: auto !important;
    padding: 28px 22px !important;
  }

  .gbs-hero-inner {
    padding: 0 !important;
    width: 100% !important;
  }

  .gbs-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 34px !important;
    padding: 42px 28px 52px !important;
  }

  .gbs-logo-area {
    min-height: 220px !important;
    transform: none !important;
  }

  .gbs-logo-wrapper img {
    width: min(220px, 62vw) !important;
  }

  .gbs-kicker {
    display: none !important;
  }

  .gbs-h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
    margin-top: 0 !important;
  }

  .gbs-subline {
    display: block !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    margin-top: 18px !important;
  }

  .gbs-typewriter {
    display: block !important;
    margin-top: 12px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
  }

  .gbs-section-title {
    margin-top: 34px !important;
  }

  .gbs-desc {
    font-size: 18px !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .gbs-content {
    padding: 38px 24px 48px !important;
  }

  .gbs-h1 {
    font-size: 39px !important;
  }

  .gbs-typewriter {
    font-size: 32px !important;
  }

  .gbs-desc {
    font-size: 17px !important;
  }
}
.gbs-logo-intro {
  display: none !important;
}

.gbs-logo-wrapper {
  opacity: 0;
  transform: scale(0.6);
  animation: gbsLogoFadeCenter 0.9s ease-out forwards;
  animation-delay: 0.2s;

  /* ❌ rimuove glow */
  filter: none !important;
}

/* posizione normale a sinistra */
.gbs-logo-area {
  display: flex;
  align-items: center;
  justify-content: center;
}

.gbs-logo-wrapper img {
  display: block;
}

/* animazione pulita frontale */
@keyframes gbsLogoFadeCenter {
  0% {
    opacity: 0;
    transform: scale(0.6);
  }

  70% {
    opacity: 1;
    transform: scale(1.04);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.gbs-logo-wrapper {
  filter: none !important;
}
@media (max-width: 768px) {
  .gbs3-section {
    padding: 56px 18px !important;
  }

  .gbs3-head {
    margin-bottom: 34px !important;
  }

  .gbs3-head h2 {
    font-size: 48px !important;
    line-height: 1 !important;
  }

  .gbs3-head p {
    font-size: 24px !important;
    line-height: 1.45 !important;
  }

  .gbs3-acc {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    gap: 22px !important;
  }

  .gbs3-item {
    flex: none !important;
    height: auto !important;
    min-height: 430px !important;
    border-radius: 28px !important;
    cursor: default !important;
  }

  .gbs3-item:hover {
    flex: none !important;
    height: auto !important;
  }

  .gbs3-bg {
    opacity: .45 !important;
  }

  .gbs3-overlay {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.72),
      rgba(255,255,255,.88)
    ) !important;
  }

  .gbs3-content {
    padding: 42px 28px 34px !important;
    justify-content: center !important;
  }

  .gbs3-icon {
    width: 96px !important;
    height: 96px !important;
    margin-bottom: 28px !important;
    transform: none !important;
    animation: none !important;
  }

  .gbs3-item:hover .gbs3-icon {
    transform: none !important;
  }

  .gbs3-title {
    font-size: 30px !important;
    margin-bottom: 24px !important;
  }

  .gbs3-desc {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    font-size: 22px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
  }

.gbs3-link {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  margin-top: 34px !important;
  padding: 14px 26px !important;
  border-radius: 40px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

  .gbs3-link span {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  .gbs3-item,
  .gbs3-bg,
  .gbs3-overlay,
  .gbs3-icon,
  .gbs3-desc,
  .gbs3-link {
    transition: none !important;
  }
}
@media (max-width: 768px) {
  .cbm4-brand {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
  }

  .cbm4-h1 {
    text-align: center !important;
  }

  .cbm4-sub {
    text-align: center !important;
  }

  .cbm4-tagline {
    justify-content: center !important;
    text-align: center !important;
    flex-wrap: wrap !important;
  }
}
@media (max-width: 768px) {
  .cbm4-slot {
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    display: block !important;
  }

  .cbm4-word {
    text-align: center !important;
    display: inline-block !important;
  }

  .cbm4-tagline {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
  }

  .cbm4-stable {
    text-align: center !important;
    white-space: normal !important;
  }
}
@media (max-width: 768px) {
  .gbs3-link span {
    display: none !important;
  }
}
 
/* Rimuove gli stacchi netti tra le sezioni */
.gbs2-section,
.gbs3-section,
.cbm4-wrap,
.cbm-sector .section {
  background: transparent !important;
}

/* Uniforma il fondo generale del sito */
body {
  background: #f8fafc !important;
}

/* Riduce gli spazi bianchi troppo evidenti tra blocchi */
.gbs2-section,
.gbs3-section,
.cbm4-wrap,
.cbm-sector .section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Sezione Vision/Mission: niente blocco grigio dietro */
.gbs2-section {
  padding-bottom: 50px !important;
}

/* Cosa Offriamo più attaccata alla sezione precedente */
.gbs3-section {
  padding-top: 50px !important;
}

/* CBM One senza stacco visivo */
.cbm4-wrap {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/* Oltre la Compliance senza banda diversa */
.cbm-sector .section {
  padding-top: 50px !important;
}
.gbs-hero .gbs-content {
  background: rgba(255, 255, 255, 0.28) !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow:
    0 20px 70px rgba(16, 19, 26, 0.025),
    inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

.gbs-hero .gbs-content::before {
  opacity: 0.35 !important;
}
.gbs-navbar {
  width: 100%;
  padding: 22px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(248,250,252,.82);
  backdrop-filter: blur(14px);
 position: fixed;
top: 0;
left: 0;
transition: transform .35s ease, opacity .35s ease;
  z-index: 999;
}

.gbs-nav-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #10131a;
  font-weight: 900;
  font-size: 26px;
}

.gbs-nav-logo img {
  width: 110px;
  height: auto;
  object-fit: contain;
}

.gbs-nav-links {
  display: flex;
  gap: 44px;
  align-items: center;
}

.gbs-nav-links a {
  color: #10131a;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
}

.gbs-nav-links a:hover {
  color: #F97316;
}

.gbs-nav-btn {
  padding: 14px 28px;
  border: 1px solid rgba(16,19,26,.25);
  border-radius: 999px;
  text-decoration: none;
  color: #10131a;
  font-weight: 800;
}

.gbs-nav-btn:hover {
  border-color: #F97316;
  color: #F97316;
}

@media (max-width: 768px) {
  .gbs-navbar {
    padding: 16px 22px;
  }

  .gbs-nav-logo span {
    font-size: 22px;
  }

  .gbs-nav-logo img {
    width: 38px;
    height: 38px;
  }

  .gbs-nav-links {
    display: none;
  }

  .gbs-nav-btn {
    padding: 10px 18px;
    font-size: 14px;
  }
}
html {
  scroll-padding-top: 90px;
}
#servizi,
#progetti,
#call {
  scroll-margin-top: 90px;
}
.gbs-navbar.nav-hidden {
  transform: translateY(-120%);
  opacity: 0;
  pointer-events: none;
}

body {
  padding-top: 96px;
}

/* ===== FOOTER GBS30 FIX ===== */

.gbs-footer-clean {
  width: 100%;
  margin-top: 70px;
  padding: 70px 24px 28px;

  background: linear-gradient(
    135deg,
    rgba(249,115,22,0.08),
    rgba(255,255,255,1)
  );

  overflow: hidden;
}

.gbs-footer-clean-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 !important;
  transform: none !important;
}

.footer-logo {
  width: clamp(90px, 11vw, 140px) !important;
  height: auto;
  display: block;
  margin: 0 0 18px !important;
}

.footer-title {
  margin: 0 !important;
  font-size: clamp(58px, 7vw, 96px);
  line-height: .9 !important;
  letter-spacing: -4px;
  font-weight: 900;
  color: #10131a;
}

.footer-slogan {
  margin: 18px 0 0 !important;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  color: #10131a;
}

.gbs-footer-data {
  justify-self: center;
  text-align: left;
  font-size: 16px;
  line-height: 1.75;
  font-weight: 700;
  color: #6f6f6f;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  max-width: 360px;
}

.gbs-footer-data p {
  margin: 0 0 12px;
}

.gbs-footer-social {
  margin-top: 22px;
  display: flex;
  gap: 22px;
  align-items: center;
}

.gbs-footer-social a {
  width: 28px;
  height: 28px;
  color: #777;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.gbs-footer-social svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}

.gbs-footer-copy {
  grid-column: 1 / -1;
  margin-top: 56px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #888;
}

/* MOBILE */
@media (max-width: 768px) {
  .gbs-footer-clean {
    margin-top: 50px;
    padding: 56px 20px 26px;
  }

  .gbs-footer-clean-inner {
    display: flex;
    flex-direction: column;
    gap: 34px;
    max-width: 100%;
  }

  .footer-logo {

  width: clamp(140px, 16vw, 220px) !important;

    margin-bottom: 16px !important;
  }

  .footer-title {
    font-size: clamp(54px, 18vw, 76px) !important;
    letter-spacing: -3px;
  }

  .footer-slogan {
    font-size: 18px !important;
    max-width: 260px;
  }

  .gbs-footer-data {
    width: 100%;
    max-width: 320px;
    text-align: center !important;
    font-size: 16px;
    overflow-wrap: anywhere;
  }

  .gbs-footer-social {
    justify-content: center;
  }

  .gbs-footer-copy {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.5;
  }
}
/* FORCE FOOTER LOGO SIZE */
.gbs-footer-clean .footer-logo {
  width: 220px !important;
  max-width: none !important;
  margin-bottom: 6px !important;
}

.gbs-footer-clean .footer-title {
  margin-top: 0 !important;
  line-height: 0.9 !important;
}
.gbs-footer-clean .footer-brand {
  gap: 0 !important;
}

.gbs-footer-clean .footer-logo {
  margin-bottom: -18px !important;
  display: block;
}

.gbs-footer-clean .footer-title {
  margin: 0 !important;
  line-height: 0.85 !important;
}
