/* ===== SISTEMA RIVELAZIONE SCROLL (sostituisce Framer useInView) ===== */
.csc-reveal { opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(0,0,.2,1) .2s, transform .8s cubic-bezier(0,0,.2,1) .2s; }
.csc-reveal--scale { transform:scale(.95); transition:opacity 1s ease-out, transform 1s ease-out; }
.csc-reveal--left { transform:translateX(-50px); transition:opacity .8s ease-out, transform .8s ease-out; }
.csc-reveal--up { transform:translateY(20px); transition:opacity .6s ease-out .3s, transform .6s ease-out .3s; }
.csc-reveal--right { transform:translateX(30px); transition:opacity .6s ease-out .2s, transform .6s ease-out .2s; }
.csc-reveal.in-view { opacity:1; transform:none; }

/* Container condiviso */
.csc-container { padding-left:20px; padding-right:20px; max-width:1600px; margin:0 auto; }
@media(min-width:640px){ .csc-container{ padding-left:32px; padding-right:32px; } }
@media(min-width:768px){ .csc-container{ padding-left:60px; padding-right:60px; } }
@media(min-width:1024px){ .csc-container{ padding-left:100px; padding-right:100px; } }

/* Icone inline */
.csc-ico14{ width:14px; height:14px; } .csc-ico16{ width:16px; height:16px; } .csc-ico20{ width:20px; height:20px; }
.csc-rot90{ transform:rotate(90deg); }

/* ===== ABOUT ===== */
.csc-about{ background:#f5f5f5; padding:40px 0; }
@media(min-width:768px){ .csc-about{ padding:48px 0; } }
@media(min-width:1024px){ .csc-about{ padding:64px 0; } }
.csc-about__text{ max-width:700px; color:#3183ba; font-weight:700; font-size:15px; line-height:1.3; margin:0; }
@media(min-width:768px){ .csc-about__text{ font-size:20px; } }
@media(min-width:1024px){ .csc-about__text{ font-size:28px; line-height:36px; } }

/* ===== MARQUEE ===== */
.csc-marquee{ position:relative; }
.csc-marquee__bg{ width:100%; height:auto; display:block; }
.csc-marquee__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.10); }
.csc-marquee__content{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:0 16px; }
.csc-marquee__title{ color:#fff; font-weight:700; text-align:center; font-size:16px; line-height:1.3; margin:0; }
@media(min-width:768px){ .csc-marquee__title{ font-size:28px; } }
@media(min-width:1024px){ .csc-marquee__title{ font-size:50px; line-height:45px; } }

/* ===== SOLUZIONI ===== */
.csc-sol{ background:#fff; overflow:hidden; padding:32px 0; }
@media(min-width:768px){ .csc-sol{ padding:40px 0; } }
@media(min-width:1024px){ .csc-sol{ padding:48px 0; } }
.csc-sol__grid{ display:grid; grid-template-columns:1fr; gap:24px; align-items:flex-start; }
@media(min-width:1024px){ .csc-sol__grid{ grid-template-columns:1fr 1fr; } }
.csc-sol__title{ color:#3183ba; font-weight:700; line-height:.9; font-size:28px; margin:0 0 12px; }
@media(min-width:768px){ .csc-sol__title{ font-size:40px; margin-bottom:16px; } }
@media(min-width:1024px){ .csc-sol__title{ font-size:64px; margin-bottom:20px; } }
.csc-sol__desc-wrap{ max-width:320px; }
.csc-sol__desc{ color:#000; font-weight:500; font-size:13px; line-height:1.5; margin:0 0 12px; }
@media(min-width:768px){ .csc-sol__desc{ font-size:15px; margin-bottom:16px; } }
@media(min-width:1024px){ .csc-sol__desc{ font-size:18px; line-height:26px; margin-bottom:20px; } }
.csc-sol__cta{ display:inline-flex; align-items:center; gap:8px; background:#3183ba; color:#fff; padding:8px 16px; border-radius:20px; font-size:13px; text-decoration:none; transition:background .2s; }
@media(min-width:768px){ .csc-sol__cta{ padding:10px 20px; font-size:15px; } }
.csc-sol__cta:hover{ background:rgba(49,131,186,.9); }
.csc-sol__right{ position:relative; }
.csc-sol__icons{ display:none; justify-content:flex-end; gap:24px; margin-bottom:12px; }
@media(min-width:768px){ .csc-sol__icons{ display:flex; } }
@media(min-width:1024px){ .csc-sol__icons{ gap:40px; margin-bottom:16px; } }
.csc-sol__icon{ height:12px; width:auto; object-fit:contain; opacity:.4; transform:scale(1); transition:all .3s; }
@media(min-width:1024px){ .csc-sol__icon{ height:16px; } }
.csc-sol__icon.active{ opacity:1; transform:scale(1.3); }
.csc-sol__illustr{ max-width:200px; margin:0 auto 16px; }
@media(min-width:768px){ .csc-sol__illustr{ max-width:280px; } }
@media(min-width:1024px){ .csc-sol__illustr{ max-width:340px; } }
.csc-sol__illustr img{ width:100%; object-fit:contain; }
.csc-sol__card{ background:#c5e4f3; border-radius:8px; padding:12px; max-width:280px; margin-left:auto; margin-top:-40px; position:relative; z-index:10; }
@media(min-width:768px){ .csc-sol__card{ padding:16px; margin-top:-56px; } }
@media(min-width:1024px){ .csc-sol__card{ margin-top:-64px; } }
.csc-sol__card-title{ font-size:10px; font-weight:600; color:#3183ba; letter-spacing:.025em; margin:0 0 6px; transition:opacity .3s; }
@media(min-width:768px){ .csc-sol__card-title{ font-size:11px; } }
.csc-sol__card-desc{ color:#3183ba; font-size:12px; font-style:italic; line-height:1.4; margin:0 0 8px; transition:opacity .3s; }
@media(min-width:768px){ .csc-sol__card-desc{ font-size:13px; margin-bottom:12px; } }
@media(min-width:1024px){ .csc-sol__card-desc{ font-size:14px; } }
.csc-sol__card-cta a, .csc-sol__card-cta button{ display:inline-flex; align-items:center; gap:4px; color:#3183ba; font-size:11px; font-weight:500; text-decoration:none; border:none; background:none; cursor:pointer; padding:0; }
@media(min-width:768px){ .csc-sol__card-cta a, .csc-sol__card-cta button{ font-size:12px; } }
.csc-sol__card-cta a:hover, .csc-sol__card-cta button:hover{ text-decoration:underline; }
.csc-sol__subdrop{ overflow:hidden; max-height:0; transition:max-height .2s; border-left:2px solid rgba(49,131,186,.3); padding-left:16px; margin-top:8px; display:flex; flex-direction:column; gap:4px; }
.csc-sol__subdrop.open{ max-height:160px; }
.csc-sol__subdrop a{ font-size:11px; color:#3183ba; text-decoration:none; }
@media(min-width:768px){ .csc-sol__subdrop a{ font-size:12px; } }
.csc-sol__subdrop a:hover{ text-decoration:underline; }
.csc-sol__chev-d{ width:12px; height:12px; transition:transform .2s; }
.csc-sol__card-cta button.open .csc-sol__chev-d{ transform:rotate(180deg); }
.csc-sol__dots{ display:flex; gap:6px; justify-content:center; margin-top:12px; }
.csc-sol__dot{ width:6px; height:6px; border-radius:50%; background:rgba(49,131,186,.3); border:none; cursor:pointer; padding:0; transition:background .2s; }
.csc-sol__dot.active{ background:#3183ba; }

/* ===== CTA ===== */
.csc-cta{ position:relative; overflow:hidden; }
.csc-cta__imgwrap{ position:relative; width:100%; min-height:480px; }
@media(min-width:640px){ .csc-cta__imgwrap{ min-height:520px; } }
@media(min-width:768px){ .csc-cta__imgwrap{ min-height:0; } }
.csc-cta__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(min-width:768px){ .csc-cta__bg{ position:relative; height:auto; object-fit:contain; } }
.csc-cta__content{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding-bottom:32px; }
@media(min-width:768px){ .csc-cta__content{ padding-bottom:48px; } }
@media(min-width:1024px){ .csc-cta__content{ padding-bottom:64px; } }
.csc-cta__inner{ display:flex; flex-direction:column; align-items:center; text-align:center; max-width:550px; padding:0 16px; }
.csc-cta__text{ color:#fff; font-weight:500; text-align:center; font-size:12px; line-height:1.5; margin:0 0 12px; }
@media(min-width:768px){ .csc-cta__text{ font-size:15px; margin-bottom:16px; } }
@media(min-width:1024px){ .csc-cta__text{ font-size:18px; line-height:26px; margin-bottom:20px; } }
.csc-cta__btn{ display:inline-flex; align-items:center; gap:8px; background:#fff; color:#3183ba; padding:8px 12px; border-radius:20px; font-size:12px; text-decoration:none; transition:all .2s; }
@media(min-width:768px){ .csc-cta__btn{ padding:8px 16px; font-size:14px; } }
@media(min-width:1024px){ .csc-cta__btn{ font-size:16px; } }
.csc-cta__btn:hover{ background:#3183ba; color:#fff; }

/* ===== SOSTENIBILITA ===== */
.csc-sost{ position:relative; overflow:hidden; }
.csc-sost__imgwrap{ position:relative; width:100%; min-height:440px; }
@media(min-width:640px){ .csc-sost__imgwrap{ min-height:500px; } }
@media(min-width:768px){ .csc-sost__imgwrap{ min-height:0; } }
.csc-sost__bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(min-width:768px){ .csc-sost__bg{ position:relative; height:auto; object-fit:contain; } }
.csc-sost__content{ position:absolute; inset:0; z-index:10; display:flex; flex-direction:column; align-items:center; text-align:center; padding:0 16px; }
.csc-sost__logo{ margin-top:auto; margin-bottom:40px; }
@media(min-width:768px){ .csc-sost__logo{ padding-top:16px; margin-bottom:56px; } }
@media(min-width:1024px){ .csc-sost__logo{ padding-top:24px; margin-bottom:80px; } }
.csc-sost__logo img{ height:40px; width:auto; object-fit:contain; }
@media(min-width:768px){ .csc-sost__logo img{ height:56px; } }
@media(min-width:1024px){ .csc-sost__logo img{ height:80px; } }
.csc-sost__textblock{ max-width:600px; margin-bottom:32px; }
@media(min-width:768px){ .csc-sost__textblock{ margin-bottom:48px; } }
@media(min-width:1024px){ .csc-sost__textblock{ margin-bottom:64px; } }
.csc-sost__text{ color:#fff; font-weight:500; font-size:13px; line-height:1.5; margin:0 0 12px; text-shadow:0 2px 8px rgba(0,0,0,.4); }
@media(min-width:768px){ .csc-sost__text{ font-size:15px; margin-bottom:16px; } }
@media(min-width:1024px){ .csc-sost__text{ font-size:18px; line-height:26px; margin-bottom:20px; } }
.csc-sost__btn{ display:inline-flex; align-items:center; gap:8px; background:#fff; color:#3183ba; padding:8px 16px; border-radius:20px; font-size:13px; text-decoration:none; transition:background .2s; }
@media(min-width:768px){ .csc-sost__btn{ font-size:14px; } }
@media(min-width:1024px){ .csc-sost__btn{ font-size:16px; } }
.csc-sost__btn:hover{ background:rgba(255,255,255,.9); }

/* ===== NEWS ===== */
.csc-news{ background:#fff; padding:80px 0; }
@media(min-width:768px){ .csc-news{ padding:120px 0; } }
.csc-news__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media(min-width:1024px){ .csc-news__grid{ grid-template-columns:repeat(4,1fr); gap:20px; } }
.csc-news__card{ text-decoration:none; display:block; }
.csc-news__meta{ margin-bottom:8px; }
.csc-news__title{ font-size:14px; font-weight:500; color:#000; line-height:1.3; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(min-width:768px){ .csc-news__title{ font-size:16px; } }
@media(min-width:1024px){ .csc-news__title{ font-size:18px; } }
.csc-news__card:hover .csc-news__title{ text-decoration:underline; }
.csc-news__date{ font-size:10px; font-weight:300; color:#3183ba; line-height:1.5; margin:4px 0 0; }
@media(min-width:768px){ .csc-news__date{ font-size:11px; } }
@media(min-width:1024px){ .csc-news__date{ font-size:12px; } }
.csc-news__img{ aspect-ratio:4/5; border-radius:40px; overflow:hidden; }
.csc-news__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.csc-news__card:hover .csc-news__img img{ transform:scale(1.05); }
.csc-news__all{ text-align:center; margin-top:32px; }
.csc-news__all a{ display:inline-flex; align-items:center; gap:8px; color:rgba(0,0,0,.6); font-size:13px; text-decoration:none; transition:color .2s; }
@media(min-width:768px){ .csc-news__all a{ font-size:15px; } }
.csc-news__all a:hover{ color:#3183ba; }

/* ===== NEWSLETTER ===== */
.csc-nl{ background:#f5f5f5; padding:80px 0; }
@media(min-width:768px){ .csc-nl{ padding:120px 0; } }
.csc-nl__grid{ display:grid; grid-template-columns:1fr; gap:48px; align-items:center; }
@media(min-width:1024px){ .csc-nl__grid{ grid-template-columns:1fr 1fr; gap:96px; } }
.csc-nl__title{ font-size:40px; line-height:1.15; font-weight:700; color:#3183ba; margin:0 0 8px; }
.csc-nl__sub{ font-size:28px; line-height:1.3; font-weight:500; color:#000; margin:0; }
.csc-nl__form{ display:flex; flex-direction:column; gap:24px; }
.csc-nl__form input[type=text], .csc-nl__form input[type=email]{ width:100%; background:transparent; border:none; border-bottom:1px solid rgba(115,115,115,.3); padding:12px 0; color:#000; font-size:16px; transition:border-color .2s; }
.csc-nl__form input::placeholder{ color:rgba(115,115,115,.6); }
.csc-nl__form input:focus{ border-bottom-color:#3183ba; outline:none; }
.csc-nl__privacy{ display:flex; align-items:flex-start; gap:12px; }
.csc-nl__privacy input{ width:16px; height:16px; accent-color:#3183ba; margin-top:2px; }
.csc-nl__privacy span{ color:#737373; font-size:14px; }
.csc-nl__privacy a{ color:#3183ba; text-decoration:none; }
.csc-nl__privacy a:hover{ text-decoration:underline; }
.csc-nl__submit{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; background:#3183ba; color:#fff; padding:12px 24px; border-radius:20px; border:none; font-size:16px; cursor:pointer; transition:background .2s; }
.csc-nl__submit:hover{ background:rgba(49,131,186,.9); }
.csc-nl__submit:disabled{ opacity:.5; }
