/* TPS Design System 2026 — shared visual language for every page */
@font-face{font-family:"Manrope";src:url("fonts/tps-sans-regular.ttf") format("truetype");font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/tps-sans-bold.ttf") format("truetype");font-style:normal;font-weight:700 900;font-display:swap}
:root{
  --tps-bg:#02070d;
  --tps-bg-soft:#050d15;
  --tps-surface:#081522;
  --tps-surface-2:#0b1b2a;
  --tps-text:#f5f8fb;
  --tps-muted:#aebcca;
  --tps-line:#203144;
  --tps-blue:#1680ff;
  --tps-blue-hover:#49a0ff;
  --tps-max:1360px;
  --tps-radius:10px;
  --bg:var(--tps-bg);
  --bg-soft:var(--tps-bg-soft);
  --panel:var(--tps-surface);
  --text:var(--tps-text);
  --muted:var(--tps-muted);
  --accent:var(--tps-blue);
  --accent-strong:var(--tps-blue);
  --line:rgba(255,255,255,.11);
}
html{scroll-padding-top:112px;background:var(--tps-bg)}
body,body.chi-page,.careers-new{padding-top:112px!important;background:var(--tps-bg)!important;color:var(--tps-text);font-family:"Manrope","Segoe UI",Arial,sans-serif!important;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
img{max-width:100%}
.container,.chi-wrap,.careers-new .container{width:min(var(--tps-max),calc(100% - 64px))!important;max-width:var(--tps-max)!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
h1,h2,h3,.chi-hero h1,.chi-section h2,.careers-copy h1,.careers-join h2{font-family:"Manrope","Segoe UI",Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.035em!important;text-wrap:balance}
p{max-width:76ch}
h1,h2,h3,p,a,button,strong,span{overflow-wrap:normal;word-break:normal;hyphens:none}
p{text-wrap:pretty}
.eyebrow,.chi-kicker,.careers-overline,.careers-join-overline{color:var(--tps-blue)!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase}

/* One header everywhere */
.centrif-home-header{position:fixed!important;inset:0 0 auto!important;width:100%!important;height:112px!important;background:rgba(0,0,0,.97)!important;border-bottom:1px solid var(--tps-line)!important;box-shadow:0 8px 32px rgba(0,0,0,.22)!important;backdrop-filter:blur(12px);z-index:9999!important}
.centrif-head-inner{width:min(1480px,calc(100% - 48px))!important;max-width:1480px!important;height:100%!important;margin:auto!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:32px!important}
.centrif-logo{display:block!important;width:292px!important;height:96px!important;flex:0 0 auto!important}
.centrif-logo img{width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;object-position:left center!important}
.centrif-nav{display:flex!important;align-items:center!important;gap:28px!important}
.centrif-nav a{min-height:44px!important;display:inline-flex!important;align-items:center!important;color:#dce4eb!important;font-size:.94rem!important;font-weight:700!important;letter-spacing:-.01em!important;white-space:nowrap!important;transition:color .2s ease,border-color .2s ease,background .2s ease!important}
.centrif-nav a:hover,.centrif-nav a[aria-current="page"]{color:#fff!important}
.centrif-nav a[aria-current="page"]:not(.centrif-contact){box-shadow:inset 0 -2px var(--tps-blue)}
.centrif-nav .centrif-contact{min-height:46px!important;padding:0 20px!important;border:1px solid var(--tps-blue)!important;border-radius:6px!important;background:rgba(22,128,255,.08)!important;color:#fff!important}
.centrif-nav .centrif-contact:hover{background:var(--tps-blue)!important}

/* Shared controls */
.btn,.technology-cta,.careers-join-btn,.chi-cta a,.tps-home-about-link a{border-radius:6px!important;font-weight:800!important;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease!important}
.btn-primary{background:var(--tps-blue)!important;color:#fff!important;border-color:var(--tps-blue)!important}
.btn-primary:hover{background:var(--tps-blue-hover)!important;transform:translateY(-1px)}
.btn-secondary{border:1px solid var(--tps-line)!important;background:transparent!important;color:#fff!important}
.btn-secondary:hover{border-color:var(--tps-blue)!important;color:#fff!important}
.text-link,.technology-cta{color:var(--tps-blue)!important}
.text-link:hover,.technology-cta:hover{color:#005fcf!important}

/* Shared internal-page hero */
.page-hero,.other-hero,.request-hero{min-height:430px!important;padding:86px 0 74px!important;display:flex!important;align-items:center!important;background:radial-gradient(circle at 78% 18%,rgba(22,128,255,.16),transparent 30%),linear-gradient(135deg,#02070d,#071522)!important;border-bottom:1px solid var(--tps-line)!important}
.page-hero .container,.other-hero .container,.request-hero .container{width:min(1120px,calc(100% - 64px))!important;margin-left:auto!important;margin-right:auto!important;text-align:left!important}
.page-hero h1,.other-hero h1,.request-hero h1{max-width:980px!important;margin:14px 0 20px!important;color:#fff!important;font-size:clamp(3rem,6vw,5.8rem)!important;line-height:1.02!important;letter-spacing:-.05em!important}
.other-hero h1 span{color:var(--tps-blue)!important}
.page-hero p,.other-hero p,.request-hero p{max-width:760px!important;margin:0!important;color:#c3ced8!important;font-size:1.1rem!important;line-height:1.65!important}
.back-link{display:inline-flex!important;margin-bottom:20px!important;color:var(--tps-blue)!important;font-size:.86rem!important;font-weight:800!important;letter-spacing:.02em!important}
.hero-actions{margin-top:30px!important;gap:12px!important}

/* Shared section rhythm */
.section,.family-list,.other-families{padding:88px 0!important}
.section.light,.family-list,.other-families{background:#f4f7fa!important;color:#101923!important}
.section-heading{max-width:850px!important;margin-bottom:42px!important}
.section-heading h2,.other-heading h2{font-size:clamp(2.2rem,4vw,4rem)!important;line-height:1.08!important;color:#101923!important}
.section-heading>p:last-child,.other-heading>p:last-child{color:#526272!important;font-size:1rem!important}
.section.light p:not(.eyebrow),.family-list p:not(.eyebrow),.other-families p:not(.eyebrow){color:#526272!important;font-size:max(1rem,16px)!important;line-height:1.65!important}

/* Technology families and detail pages */
.technology-list{display:grid!important;gap:18px!important}
.technology-row{grid-template-columns:320px minmax(0,1fr)!important;overflow:hidden!important;border:1px solid #d7e0e8!important;border-radius:var(--tps-radius)!important;background:#fff!important;box-shadow:0 12px 30px rgba(20,42,65,.06)!important}
.technology-image{height:220px!important;background:#edf2f6!important}
.technology-image img{width:100%!important;height:100%!important;object-fit:contain!important}
.technology-image img.dosatrice-photo{object-fit:contain!important;object-position:center!important;background:#edf2f6!important}
.technology-image img.circolazione-photo{object-fit:contain!important;object-position:center!important;background:#edf2f6!important}
.technology-content{padding:32px!important}
.technology-content h3{color:#101923!important;font-size:1.55rem!important;line-height:1.18!important;margin-bottom:12px!important}
.technology-content p{color:#596979!important;font-size:1rem!important;line-height:1.65!important}
.technology-cta{display:inline-flex!important;margin-top:18px!important;font-size:.9rem!important}
.other-family-grid{gap:18px!important}
.other-family-card{border:1px solid #d7e0e8!important;border-radius:var(--tps-radius)!important;background:var(--tps-surface)!important}
.other-family-copy small,.other-family-copy a,.system-service small,.system-service a{color:var(--tps-blue)!important}
.other-family-card.no-photo{background:linear-gradient(135deg,#081522,#0b1b2a)!important}
.family-note{border-left-color:var(--tps-blue)!important;background:#e8f1fb!important;color:#30465b!important;border-radius:0 var(--tps-radius) var(--tps-radius) 0!important}
.system-service{background:var(--tps-surface)!important;border-color:var(--tps-line)!important;border-radius:var(--tps-radius)!important}
.detail-grid,.process-grid{gap:18px!important}
.detail-card,.process-card,.split-callout{border:1px solid #d7e0e8!important;border-radius:var(--tps-radius)!important;box-shadow:none!important}
.detail-card,.process-card{padding:28px!important}
.detail-card h3,.process-card h3{color:#101923!important}
.detail-card p,.process-card p,.split-callout p{color:#596979!important}
.split-callout{padding:38px!important;background:#fff!important}
.process-layout{display:block!important}
.photo-stack{display:none!important}
.process-list{border:1px solid #d7e0e8!important;border-radius:var(--tps-radius)!important;overflow:hidden!important;background:#fff!important}
.process-step{padding:25px 28px!important;border-bottom:1px solid #e0e7ed!important}
.process-step:last-child{border-bottom:0!important}
.process-step>span{color:var(--tps-blue)!important;font-weight:800!important}
.process-step h3{color:#101923!important}.process-step p{color:#596979!important}

/* Homepage uses the same palette */
.tps-home-company,.tps-home-claim-row strong,.tps-kicker,.home-v5-icon,.macro-category-icon,.benefit-icon,.title-dot,.tps-home-actions a b,.tps-home-about-link a b,.tps-pitstop-benefits span,.tps-management-copy em,.tps-pitstop-copy em,.tps-dashboard-logo,.tps-notification-copy b{color:var(--tps-blue)!important}
.tps-home-claim-row span,.tps-alert-dot{background:var(--tps-blue)!important}
.tps-home-actions a,.tps-hero-actions a,.tps-home-about-link a{border-color:rgba(255,255,255,.5)!important}
.tps-home-actions a:hover,.tps-hero-actions a:hover,.tps-home-about-link a:hover{border-color:var(--tps-blue)!important;background:rgba(22,128,255,.13)!important}
.tps-slider-dots button.is-active{background:var(--tps-blue)!important}
.macro-home-v3,.macro-section{background:#03090f!important;color:var(--tps-text)!important;padding-top:88px!important;padding-bottom:88px!important}
.macro-heading-v3{margin-bottom:42px!important}
.macro-heading-v3 h2,.macro-showcase-copy h3{color:var(--tps-text)!important}
.macro-heading-v3 p,.macro-showcase-copy p,.macro-benefit small{color:var(--tps-muted)!important}
.macro-showcase{gap:20px!important;background:transparent!important;border:0!important}
.macro-showcase-card{min-height:500px!important;grid-template-columns:1fr!important;grid-template-rows:auto 220px!important;background:linear-gradient(145deg,#07111b,#0a1927)!important;border:1px solid var(--tps-line)!important;border-radius:var(--tps-radius)!important;box-shadow:0 18px 44px rgba(0,0,0,.24)!important;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.macro-showcase-card:hover{transform:translateY(-4px);border-color:rgba(22,128,255,.72)!important;box-shadow:0 24px 54px rgba(0,0,0,.34)!important}
.macro-showcase-copy{padding:32px 32px 22px!important}
.macro-category-icon{color:var(--tps-blue)!important;border-color:rgba(22,128,255,.8)!important;margin-bottom:20px!important}
.macro-accent-line{color:var(--tps-blue)!important;margin:18px 0 16px!important}
.macro-showcase-copy p{max-width:34ch!important;margin-bottom:0!important}
.macro-showcase-copy>a{color:var(--tps-blue)!important;margin-top:24px!important;padding-top:0!important}
.macro-showcase-image{height:220px!important;padding:12px 28px 28px!important;align-items:center!important;background:linear-gradient(180deg,transparent,rgba(22,128,255,.055))!important}
.macro-showcase-image::before{background:var(--tps-blue)!important;opacity:.12!important}
.macro-showcase-image img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;mix-blend-mode:normal!important;filter:none!important}
.macro-benefits{margin-top:20px!important;border-color:var(--tps-line)!important;background:#06101a!important;border-radius:var(--tps-radius)!important}
.macro-benefit{padding:22px!important}
.macro-benefit strong{color:var(--tps-text)!important}
.benefit-icon{color:var(--tps-blue)!important;border-color:rgba(22,128,255,.65)!important}
.trust-strip{background:#06101a!important;border-color:var(--tps-line)!important}
.trust-strip span{color:#bdc9d3!important}
.home-v5-ribbon{background:var(--tps-blue)!important;color:#fff!important}
.careers-teaser-v2{background:var(--tps-bg-soft)!important}

/* Industrial applications: strong contrast on the light section */
#settori .sectors-grid h2{color:#101923!important}
#settori .sectors-grid>div>p:last-child{color:#536475!important;font-weight:500!important}
#settori .sector-list{gap:14px!important}
#settori .sector-list span{position:relative!important;display:flex!important;align-items:center!important;min-height:68px!important;padding:18px 20px 18px 46px!important;border:1px solid #cbd6df!important;border-radius:8px!important;background:#fff!important;color:#1d2b38!important;font-size:1rem!important;font-weight:750!important;line-height:1.3!important;box-shadow:0 8px 22px rgba(20,42,65,.06)!important}
#settori .sector-list span::before{content:"";position:absolute;left:20px;width:9px;height:9px;border-radius:50%;background:var(--tps-blue);box-shadow:0 0 0 5px rgba(22,128,255,.10)}

/* Final contact area: centred, without the oversized blue panel */
.cta-section{padding:88px 0!important;background:var(--tps-bg)!important;border-top:1px solid var(--tps-line)!important}
.cta-box{display:flex!important;flex-direction:column!important;align-items:center!important;gap:30px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--tps-text)!important;text-align:center!important}
.cta-box>div{display:flex!important;flex-direction:column!important;align-items:center!important}
.cta-box .eyebrow{color:var(--tps-blue)!important}
.cta-box h2{max-width:980px!important;margin:0 auto!important;color:var(--tps-text)!important;font-size:clamp(2.5rem,4.5vw,4.75rem)!important;line-height:1.03!important}
.cta-box>div>p:last-child{max-width:760px!important;margin:22px auto 0!important;color:var(--tps-muted)!important}
.cta-actions{width:100%!important;justify-content:center!important;align-items:center!important;gap:14px!important}
.cta-actions .btn{width:260px!important;min-width:260px!important}
.cta-actions .btn-light{background:#fff!important;color:#101923!important;border:1px solid #fff!important}
.cta-actions .btn-light:hover{background:#eaf3ff!important;border-color:#eaf3ff!important;color:#0b5fbd!important}
.cta-actions .btn-outline-light{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important}
.cta-actions .btn-outline-light:hover{border-color:var(--tps-blue)!important;color:var(--tps-blue-hover)!important}

/* PIT STOP: blue is the only emphasis color */
.method-section,.pit-method{background:var(--tps-bg-soft)!important}
.method-section:before{background:radial-gradient(circle at 85% 10%,rgba(22,128,255,.11),transparent 32%)!important}
.method-step .num,.pit-actions span,.pit-cycle-intro>span,.pit-cycle-steps b{color:var(--tps-blue)!important}
.pit-actions,.pit-cycle{border-color:var(--tps-line)!important;border-radius:var(--tps-radius)!important;overflow:hidden}
.pit-actions article{background:var(--tps-surface)!important}
.pit-actions article:nth-child(2){background:var(--tps-surface-2)!important}
.pit-actions article:nth-child(3){background:#0d2235!important}

/* About and careers follow the same system */
.chi-main,.careers-new{background:var(--tps-bg)!important}
.chi-hero,.careers-hero{background:radial-gradient(circle at 80% 20%,rgba(22,128,255,.15),transparent 32%),linear-gradient(135deg,#02070d,#071522)!important}
.chi-section,.careers-build,.careers-values,.careers-dream{border-color:var(--tps-line)!important}
.chi-dna article,.chi-flow div,.chi-person{background:var(--tps-surface)!important;border-color:var(--tps-line)!important;border-radius:var(--tps-radius)!important}
.chi-quote{border-color:var(--tps-blue)!important}
.careers-values article{border-color:var(--tps-line)!important}
.careers-line,.careers-values i{background:var(--tps-blue)!important}
.careers-blue,.careers-copy h1 span,.careers-build h2,.careers-dream h2 span,.careers-dream strong,.careers-traits b,.careers-icon,.careers-join h2 span{color:var(--tps-blue)!important}

/* Keep meaningful labels together and let complete sentences wrap naturally */
.tps-pitstop-question{font-size:clamp(1.15rem,1.35vw,1.35rem)!important;white-space:nowrap!important}
#settori .sector-list span{white-space:nowrap!important}

/* Contact form */
.request-grid{gap:64px!important}
.request-form{border:1px solid #d7e0e8!important;border-radius:var(--tps-radius)!important;background:#fff!important;box-shadow:0 18px 40px rgba(20,42,65,.08)!important}
.request-form label{color:#263544!important;font-size:.9rem!important;font-weight:700!important}
.request-form input,.request-form textarea{border:1px solid #cbd6df!important;border-radius:6px!important;background:#f8fafc!important;color:#101923!important}
.request-form input:focus,.request-form textarea:focus{outline:3px solid rgba(22,128,255,.17)!important;border-color:var(--tps-blue)!important}
.privacy-check{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;gap:11px!important;margin-top:2px!important;color:#526272!important;font-weight:500!important;line-height:1.5!important}
.privacy-check input{width:20px!important;height:20px!important;min-height:20px!important;margin:2px 0 0!important;accent-color:var(--tps-blue)!important}
.privacy-check a{color:#0b67c7!important;text-decoration:underline!important;text-underline-offset:3px!important}

/* One footer everywhere */
.footer{padding:58px 0 48px!important;background:#000!important;border-top:1px solid var(--tps-line)!important;color:#d8e1e8!important}
.footer-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:48px!important;align-items:start!important}
.footer .brand-logo{width:250px!important;height:auto!important;margin-bottom:14px!important}
.footer p,.footer span,.footer a{color:#aab7c2!important;font-size:.9rem!important;line-height:1.7!important}
.footer a:hover{color:#fff!important}
.footer strong{display:block!important;color:#fff!important;margin-bottom:10px!important}

@media(max-width:1180px){
  .centrif-head-inner{width:min(100% - 36px,1200px)!important}.centrif-logo{width:248px!important}.centrif-nav{gap:16px!important}.centrif-nav a{font-size:.84rem!important}.centrif-nav .centrif-contact{padding:0 14px!important}
}
@media(max-width:900px){
  html{scroll-padding-top:84px}.container,.chi-wrap,.careers-new .container{width:min(100% - 40px,var(--tps-max))!important}
  body,body.chi-page,.careers-new{padding-top:84px!important}.centrif-home-header{height:84px!important}.centrif-head-inner{width:calc(100% - 32px)!important}.centrif-logo{width:220px!important;height:72px!important}
  .centrif-nav{display:none!important}.centrif-home-header.mobile-open .centrif-nav{display:flex!important;position:absolute!important;top:84px!important;left:0!important;right:0!important;max-height:calc(100vh - 84px)!important;padding:18px 20px 26px!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;background:#02070d!important;border-bottom:1px solid var(--tps-line)!important;overflow:auto!important}.centrif-home-header.mobile-open .centrif-nav a{min-height:50px!important;padding:0 12px!important;font-size:1rem!important}.centrif-home-header.mobile-open .centrif-nav .centrif-contact{justify-content:center!important;margin-top:8px!important}
  .page-hero,.other-hero,.request-hero{min-height:370px!important;padding:68px 0 60px!important}.page-hero .container,.other-hero .container,.request-hero .container{width:calc(100% - 40px)!important}
  .section,.family-list,.other-families{padding:68px 0!important}.footer-grid{grid-template-columns:1fr!important}
  .macro-home-v3,.macro-section{padding-top:68px!important;padding-bottom:68px!important}.macro-heading-v3{margin-bottom:34px!important}.macro-showcase{gap:16px!important}.macro-showcase-card{min-height:450px!important}.macro-benefits{margin-top:16px!important}
}
@media(max-width:600px){
  .container,.chi-wrap,.careers-new .container{width:calc(100% - 32px)!important}.centrif-logo{width:196px!important}
  .page-hero h1,.other-hero h1,.request-hero h1{font-size:clamp(2.6rem,13vw,4.2rem)!important}.page-hero p,.other-hero p,.request-hero p{font-size:1rem!important}
  .section,.family-list,.other-families{padding:56px 0!important}.technology-content,.detail-card,.process-card{padding:22px!important}.split-callout{padding:26px!important}.request-grid{gap:36px!important}.footer{padding:46px 0 38px!important}
  .macro-home-v3,.macro-section{padding-top:56px!important;padding-bottom:56px!important}.macro-heading-v3 h2{font-size:clamp(2.35rem,12vw,3.25rem)!important}.macro-showcase-card{min-height:0!important;grid-template-rows:auto 190px!important}.macro-showcase-copy{padding:26px 24px 18px!important}.macro-showcase-image{height:190px!important;padding:8px 22px 24px!important}
  .cta-section{padding:64px 0!important}.cta-box{gap:26px!important}.cta-box h2{font-size:clamp(2.35rem,11vw,3.2rem)!important}.cta-actions{flex-direction:column!important}.cta-actions .btn{width:min(100%,360px)!important;min-width:0!important}
  .tps-pitstop-question{font-size:1.3rem!important;white-space:normal!important;text-wrap:balance}.tps-pitstop-benefits b{white-space:normal!important}#settori .sector-list span{white-space:normal!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
