@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
:root{--dark:#17252a;--dark2:#233136;--gold:#d8b473;--sand:#f1e5cd;--blue:#39afce;--ink:#17252a;--muted:#647276;--line:#d6dcdc;--white:#fff;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;font-size:17px;line-height:1.55;background:#fff}a{color:inherit;text-decoration:none}.site-header{height:86px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;border-bottom:1px solid rgba(23,37,42,.13);background:rgba(255,255,255,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font-weight:700;letter-spacing:.08em;font-size:1.15rem}.brand b{font:500 .72rem 'IBM Plex Mono';color:var(--gold);border-left:1px solid var(--line);padding-left:10px}.site-header nav{display:flex;gap:28px;font-size:.9rem;font-weight:500}.site-header nav a:hover,.langs a:hover{color:#9a7130}.langs{display:flex;gap:8px;margin-left:28px;font:500 .75rem 'IBM Plex Mono'}.menu{display:none}.hero{min-height:690px;max-width:var(--max);margin:auto;padding:92px 24px 70px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.kicker{font:500 .74rem 'IBM Plex Mono';letter-spacing:.13em;color:#9a7130;text-transform:uppercase;margin-bottom:18px}.hero h1,.detail-hero h1{font-size:clamp(3rem,6.2vw,6rem);line-height:.98;letter-spacing:-.055em;margin:0;max-width:830px}.hero-copy>p{font-size:1.15rem;color:var(--muted);max-width:680px;margin:30px 0}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.button{display:inline-flex;min-height:50px;padding:0 22px;align-items:center;justify-content:center;font-weight:600}.button.gold{background:var(--gold);color:var(--dark)}.text-link{font-weight:600}.factory-map{height:540px;position:relative;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle at center,rgba(57,175,206,.16),transparent 49%),linear-gradient(135deg,#f9fbfb,#fff);overflow:hidden}.factory-map:before,.factory-map:after{content:'';position:absolute;inset:12%;border:1px solid var(--line);border-radius:50%}.factory-map:after{inset:28%;border-style:dashed}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:135px;height:135px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-content:center;text-align:center;font-size:1.35rem;font-weight:700;z-index:3;box-shadow:0 20px 45px rgba(23,37,42,.25)}.core span{display:block;font:500 .7rem 'IBM Plex Mono';color:var(--gold)}.orbit{position:absolute;z-index:4;font:500 .7rem 'IBM Plex Mono';text-transform:uppercase;display:flex;align-items:center;gap:8px;background:#fff;padding:7px 10px;border:1px solid var(--line)}.orbit i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.o1{top:8%;left:39%}.o2{top:21%;right:5%}.o3{top:48%;right:2%}.o4{bottom:18%;right:8%}.o5{bottom:7%;left:42%}.o6{bottom:19%;left:4%}.o7{top:48%;left:1%}.o8{top:20%;left:8%}.signal{background:var(--dark);color:var(--gold);height:64px;display:flex;align-items:center;gap:30px;padding:0 max(24px,calc((100vw - var(--max))/2));font:500 .74rem 'IBM Plex Mono';letter-spacing:.12em}.signal-line{height:1px;background:linear-gradient(90deg,var(--gold),var(--blue));flex:1}.section{max-width:var(--max);margin:auto;padding:130px 24px}.section.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2,.dark-section h2,.results h2,.related h2,footer h2{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:0}.section.intro>p{font-size:1.25rem;color:var(--muted);margin:35px 0 0}.cards{max-width:var(--max);margin:0 auto 130px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.cards article{min-height:280px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cards article>span,.deep-links>a>span,.detail-grid li span{font:500 .72rem 'IBM Plex Mono';color:#9a7130}.cards h3{font-size:1.45rem;margin:72px 0 12px}.cards p{color:var(--muted);margin:0}.dark-section{background:var(--dark);color:#fff;padding:130px max(24px,calc((100vw - var(--max))/2));min-height:620px}.dark-section h2{max-width:950px}.dark-section>p{max-width:740px;color:#b7c0c3;font-size:1.2rem;margin:32px 0 70px}.chain{display:flex;align-items:center;width:100%;gap:15px;font:500 .82rem 'IBM Plex Mono'}.chain b,.chain strong{border:1px solid #4c575b;padding:18px 22px;white-space:nowrap}.chain strong{background:var(--gold);border-color:var(--gold);color:var(--dark)}.chain i{height:1px;background:var(--blue);flex:1}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{padding:20px 0;border-bottom:1px solid var(--line);font-weight:600;display:flex;gap:35px}.process li span{font:500 .72rem 'IBM Plex Mono';color:#9a7130}.results{background:var(--sand);padding:120px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:80px}.result-copy p{max-width:620px;color:#4c575b}.metrics{display:grid;grid-template-columns:1fr 1fr}.metrics div{min-height:150px;border-left:1px solid rgba(23,37,42,.25);border-bottom:1px solid rgba(23,37,42,.25);padding:25px}.metrics strong,.metrics span{display:block}.metrics strong{font-size:1.45rem}.metrics span{color:#59666a}.deep-links{max-width:var(--max);margin:0 auto;padding:120px 24px}.deep-links>a{display:grid;grid-template-columns:70px 1fr 40px;gap:20px;border-top:1px solid var(--line);padding:28px 0;align-items:center}.deep-links>a:last-child{border-bottom:1px solid var(--line)}.deep-links h3{font-size:1.55rem;margin:0}.deep-links p{margin:5px 0 0;color:var(--muted)}.deep-links b{font-size:1.5rem}.detail-hero{max-width:var(--max);margin:auto;padding:120px 24px 90px}.detail-hero p{font-size:1.3rem;color:var(--muted);max-width:720px;margin-top:30px}.detail-grid{max-width:var(--max);margin:auto;padding:20px 24px 130px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.detail-grid h2{font-size:2rem}.detail-grid p{font-size:1.15rem;color:var(--muted);margin:25px 0 35px}.detail-grid ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.detail-grid li{padding:25px 0;border-bottom:1px solid var(--line);display:flex;gap:30px;font-weight:600}.dark-section.compact{min-height:auto;padding-top:95px;padding-bottom:95px}.related{max-width:var(--max);margin:auto;padding:110px 24px}.related h2{font-size:3rem;margin-bottom:45px}.related a{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-weight:600}.related a:last-child{border-bottom:1px solid var(--line)}footer{background:var(--dark2);color:white;padding:100px max(24px,calc((100vw - var(--max))/2)) 45px;display:grid;grid-template-columns:1.4fr .6fr;gap:80px}footer h2{max-width:750px}footer p{color:#b7c0c3}footer .contact{align-self:end}footer a:hover{color:var(--gold)}
@media(max-width:900px){.site-header{height:72px}.site-header nav,.langs{display:none}.menu{display:block;border:0;background:transparent;font:500 .8rem 'IBM Plex Mono'}.site-header.open nav{display:flex;position:absolute;top:72px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding-top:60px}.factory-map{height:430px}.section.intro,.process,.results,.detail-grid,footer{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.chain{overflow-x:auto}.detail-grid{gap:45px}.dark-section{min-height:auto}.hero h1,.detail-hero h1{font-size:clamp(3rem,12vw,5.2rem)}}
@media(max-width:600px){body{font-size:16px}.brand b{display:none}.hero{min-height:auto;padding:55px 18px}.hero h1{font-size:3.5rem}.factory-map{height:350px}.orbit{font-size:.56rem;padding:5px}.core{width:104px;height:104px}.section,.dark-section,.results,.detail-hero,.detail-grid,.related{padding-left:18px;padding-right:18px}.section{padding-top:85px;padding-bottom:85px}.cards{grid-template-columns:1fr;padding:0 18px;margin-bottom:85px}.cards article{min-height:230px}.cards h3{margin-top:40px}.process{gap:45px}.metrics{grid-template-columns:1fr}.deep-links{padding:80px 18px}.deep-links>a{grid-template-columns:38px 1fr 20px}.deep-links p{display:none}.detail-hero{padding-top:80px}.detail-hero h1{font-size:3.2rem}.dark-section h2,.section h2,.results h2,footer h2{font-size:2.7rem}.chain{gap:8px}.chain b,.chain strong{padding:14px}.o1{top:5%;left:35%}.o2{top:21%;right:0}.o3{top:46%;right:0}.o4{bottom:16%;right:0}.o5{bottom:4%;left:36%}.o6{bottom:17%;left:0}.o7{top:46%;left:0}.o8{top:20%;left:0}footer{padding-top:75px}}

/* Official Oripan wordmark and long-title safeguards */
.brand{gap:13px}.brand .brand-logo{width:180px;height:45px;object-fit:contain;object-position:left center}.brand b{color:#9a7130;padding-left:13px}.hero-copy{min-width:0}.hero h1,.detail-hero h1{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:600px){.brand .brand-logo{width:145px;height:38px}}

/* A single restrained data-flow accent */
.signal-line{background:linear-gradient(90deg,rgba(216,180,115,.45) 0%,#d8b473 24%,#6a8fbc 52%,#39afce 72%,rgba(57,175,206,.42) 100%);background-size:220% 100%;animation:signal-flow 9s ease-in-out infinite;box-shadow:0 0 7px rgba(57,175,206,.12)}
@keyframes signal-flow{0%,100%{background-position:0% 50%;opacity:.72}50%{background-position:100% 50%;opacity:1}}
@media(prefers-reduced-motion:reduce){.signal-line{animation:none;background-position:50% 50%}}

/* Stronger brand presence and one refined moving data pulse */
.brand .brand-logo{width:235px!important;height:58px!important}
.signal-line{position:relative;height:2px;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,rgba(216,180,115,.38),rgba(106,143,188,.28),rgba(57,175,206,.38));background-size:100% 100%;animation:none;box-shadow:none}
.signal-line::after{content:"";position:absolute;inset:0 auto 0 0;width:20%;background:linear-gradient(90deg,transparent 0%,#d8b473 28%,#f1e5cd 48%,#39afce 72%,transparent 100%);transform:translateX(-125%);filter:drop-shadow(0 0 4px rgba(57,175,206,.55));will-change:transform;animation:signal-scan 6.8s cubic-bezier(.4,0,.2,1) infinite}
@keyframes signal-scan{0%{transform:translateX(-125%)}72%{transform:translateX(625%)}100%{transform:translateX(625%)}}
@media(max-width:600px){.brand .brand-logo{width:165px!important;height:42px!important}}
@media(prefers-reduced-motion:reduce){.signal-line::after{display:none;animation:none}}

/* v22 — mobile architecture becomes a vertical production flow */
@media(max-width:780px){
  #integration{padding-left:18px;padding-right:18px}
  .architecture-flow{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;min-height:0;overflow:visible;padding:8px 0 12px}
  .architecture-flow .arch-node{width:178px;min-width:0;min-height:96px}
  .architecture-flow .arch-ofs{width:198px;min-height:145px}
  .architecture-flow .arch-ofs img{width:112px}
  .architecture-flow .arch-link{width:2px;min-width:0;height:76px;flex:0 0 76px;background:linear-gradient(180deg,rgba(57,175,206,.14),var(--blue),rgba(57,175,206,.14))}
  .architecture-flow .arch-link:before{left:50%;right:auto;top:auto;bottom:1px;border-top:0;border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);transform:translateX(-50%) rotate(45deg)}
  .architecture-flow .arch-link:after{left:50%;top:0;transform:translate(-50%,-50%);animation:data-drop 4.6s cubic-bezier(.45,0,.2,1) infinite}
  .architecture-flow .arch-link.link-2:after{animation-delay:.8s}
  .architecture-flow .arch-link span{left:18px;top:50%;transform:translateY(-50%);white-space:nowrap;text-align:left}
  .architecture-flow .arch-field{width:100%;min-width:0;min-height:242px;padding:72px 9px 16px}
  .architecture-flow .existing-scada{top:13px;left:9px;right:9px;justify-content:center}
  .architecture-flow .hmi-network{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .architecture-flow .hmi-node{padding:8px 3px;min-height:58px}
  .architecture-flow .hmi-node b{font-size:.49rem;text-align:center}
  .architecture-flow .hmi-node small{font-size:.42rem}
  .architecture-flow .machine-node{width:55px;height:55px}
  @keyframes data-drop{0%{top:0;opacity:0}12%{opacity:1}76%{top:100%;opacity:1}88%,100%{top:100%;opacity:0}}
}
@media(max-width:380px){
  .architecture-flow .hmi-network{grid-template-columns:1fr}
  .architecture-flow .arch-field{padding-top:72px}
  .architecture-flow .hmi-branch{display:grid;grid-template-columns:1fr 28px 55px;align-items:center}
  .architecture-flow .hmi-branch>i{width:28px;height:1px;background:linear-gradient(90deg,var(--blue),rgba(57,175,206,.2))}
  .architecture-flow .hmi-branch>i:after{top:50%;left:0;animation:field-hop-horizontal 3s ease-in-out infinite}
  @keyframes field-hop-horizontal{0%{left:0;opacity:0}15%{opacity:1}75%{left:100%;opacity:1}90%,100%{left:100%;opacity:0}}
}
.nav-langs{display:none}
@media(max-width:900px){.site-header.open nav .nav-langs{display:flex;gap:18px;padding-top:18px;border-top:1px solid var(--line);font:500 .78rem 'IBM Plex Mono'}}

/* v21 — technical depth, evidence and real production stories */
.content-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:32px;font:500 .67rem 'IBM Plex Mono';letter-spacing:.05em;color:#748286}.content-meta span{display:inline-flex;align-items:center;gap:8px}.content-meta span:before{content:'';width:8px;height:8px;border-radius:50%;background:#61a84b;box-shadow:0 0 0 5px rgba(97,168,75,.1)}.content-meta time,.content-meta b{font-weight:500;color:#9a7130}
.knowledge-sections{max-width:var(--max);margin:0 auto 120px;padding:0 24px;border-top:1px solid var(--line)}.knowledge-sections article{display:grid;grid-template-columns:80px 1fr;padding:52px 0;border-bottom:1px solid var(--line)}.knowledge-sections article>span{font:500 .72rem 'IBM Plex Mono';color:#9a7130}.knowledge-sections article>div{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.knowledge-sections h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;letter-spacing:-.035em;margin:0}.knowledge-sections p{font-size:1.08rem;color:var(--muted);margin:0;max-width:720px}
.faq-section{max-width:var(--max);margin:auto;padding:115px 24px}.faq-section h2{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1;letter-spacing:-.045em;margin:0 0 55px}.faq-section details{border-top:1px solid var(--line);padding:0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{cursor:pointer;list-style:none;padding:24px 48px 24px 0;font-size:1.15rem;font-weight:600;position:relative}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:'+';position:absolute;right:8px;font:500 1.35rem 'IBM Plex Mono';color:#9a7130}.faq-section details[open] summary:after{content:'–'}.faq-section details p{max-width:820px;color:var(--muted);margin:0;padding:0 48px 26px 0}
.proof-section{position:relative;background:var(--dark);color:#fff;padding:120px max(24px,calc((100vw - var(--max))/2));overflow:hidden}.proof-section:before{content:'';position:absolute;width:660px;height:660px;border:1px solid rgba(57,175,206,.15);border-radius:50%;right:-260px;top:-360px;box-shadow:0 0 0 90px rgba(57,175,206,.02),0 0 0 180px rgba(216,180,115,.018)}.proof-head{position:relative;display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:55px}.proof-head h2{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:0}.proof-head p{color:#b7c0c3;font-size:1.1rem;margin:0}.proof-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px}.proof-card{min-height:310px;border:1px solid #465458;padding:34px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(57,175,206,.018));display:flex;flex-direction:column;transition:.35s ease}.proof-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 24px 58px rgba(0,0,0,.22)}.proof-card>span{font:500 .72rem 'IBM Plex Mono';letter-spacing:.12em;color:var(--gold)}.proof-card h3{font-size:1.7rem;line-height:1.15;margin:58px 0 16px;max-width:520px}.proof-card p{color:#b7c0c3;max-width:590px;margin:0}.proof-card b{margin-top:auto;padding-top:28px;font:500 .67rem 'IBM Plex Mono';letter-spacing:.06em;color:var(--blue)}
.story-hero{padding-bottom:70px}.story-index{max-width:var(--max);margin:0 auto;padding:0 24px 125px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-index article{padding:42px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7f9f9);display:flex;flex-direction:column}.story-index article>span,.case-flow section>span{font:500 .7rem 'IBM Plex Mono';letter-spacing:.1em;color:#9a7130}.story-index h2{font-size:2.1rem;line-height:1.08;letter-spacing:-.035em;margin:50px 0 16px}.story-index>article>p{color:var(--muted);font-size:1.05rem}.story-index dl{margin:30px 0}.story-index dl>div{padding:18px 0;border-top:1px solid var(--line)}.story-index dt{font-weight:600}.story-index dd{margin:7px 0 0;color:var(--muted)}.story-index .button{margin-top:auto;align-self:flex-start}
.case-study>header{max-width:var(--max);margin:auto;padding:115px 24px 90px}.case-study>header h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;max-width:1080px;margin:0}.case-study>header>p{font-size:1.3rem;color:var(--muted);max-width:780px;margin:32px 0 0}.case-flow{background:var(--dark);color:white;padding:100px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.case-flow section{min-height:390px;padding:36px;border:1px solid #455357;background:rgba(255,255,255,.018)}.case-flow h2{font-size:1.65rem;line-height:1.1;margin:70px 0 18px}.case-flow p{color:#b7c0c3;margin:0}.source-note{max-width:var(--max);margin:110px auto;padding:0 24px;display:grid;grid-template-columns:220px 1fr;gap:65px;align-items:center}.source-note img{width:100%;padding:38px;background:var(--dark);border:1px solid rgba(216,180,115,.55)}.source-note strong{font-size:1.5rem}.source-note p{color:var(--muted);max-width:720px}.source-note a{display:inline-block;margin-top:12px;color:#9a7130;font-weight:600;border-bottom:1px solid var(--gold)}
.case-flow .case-solution{grid-column:span 1}.case-solution ul{list-style:none;padding:22px 0 0;margin:24px 0 0;border-top:1px solid #455357}.case-solution li{position:relative;padding:7px 0 7px 18px;color:#d4dbdc;font-size:.88rem}.case-solution li:before{content:'';position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.story-identity{max-width:var(--max);margin:0 auto 110px;padding:0 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:start}.story-identity-copy h2{font-size:clamp(2.5rem,4.7vw,4.7rem);line-height:.98;letter-spacing:-.05em;margin:18px 0 28px;max-width:720px}.story-identity-copy>p{font-size:1.14rem;line-height:1.7;color:var(--muted);max-width:700px}.story-identity-copy>a{display:inline-block;margin-top:24px;color:#9a7130;font-weight:650;border-bottom:1px solid var(--gold)}.story-identity>aside{position:relative;background:var(--dark);color:#fff;padding:44px;overflow:hidden}.story-identity>aside:after{content:'';position:absolute;width:260px;height:260px;border:1px solid rgba(57,175,206,.18);border-radius:50%;right:-105px;top:-130px;box-shadow:0 0 0 55px rgba(57,175,206,.025),0 0 0 110px rgba(216,180,115,.018)}.story-identity blockquote{position:relative;z-index:1;font-size:clamp(1.65rem,2.6vw,2.55rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 55px;max-width:570px}.story-fact-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #455357}.story-fact-grid>div{padding:21px 14px 0 0}.story-fact-grid strong,.story-fact-grid span{display:block}.story-fact-grid strong{font:500 .62rem 'IBM Plex Mono';letter-spacing:.08em;color:var(--gold)}.story-fact-grid span{font-size:.82rem;color:#c6cfd1;margin-top:7px}.source-links{display:flex;gap:24px;flex-wrap:wrap}.source-note .kicker{margin-bottom:12px}.source-note .source-links a{margin-top:12px}
@media(max-width:900px){.knowledge-sections article>div,.proof-head,.story-identity{grid-template-columns:1fr;gap:42px}.proof-grid,.story-index,.case-flow{grid-template-columns:1fr}.case-flow section{min-height:260px}.source-note{grid-template-columns:150px 1fr;gap:35px}.site-header nav{gap:16px;font-size:.78rem}}
@media(max-width:600px){.knowledge-sections,.faq-section,.story-index,.case-study>header,.source-note,.story-identity{padding-left:18px;padding-right:18px}.knowledge-sections article{grid-template-columns:38px 1fr;padding:36px 0}.knowledge-sections p{font-size:1rem}.proof-section{padding:85px 18px}.proof-head{gap:25px}.proof-grid{grid-template-columns:1fr}.proof-card{min-height:280px;padding:26px}.story-index article{padding:28px}.story-index h2{font-size:1.75rem;margin-top:36px}.story-identity{margin-bottom:72px}.story-identity-copy h2{font-size:2.65rem}.story-identity>aside{padding:30px 24px}.story-fact-grid{grid-template-columns:1fr}.story-fact-grid>div{padding:16px 0;border-bottom:1px solid #455357}.case-flow{padding:70px 18px}.case-flow section{padding:28px;min-height:auto}.case-flow h2{margin-top:45px}.source-note{grid-template-columns:1fr}.source-note img{width:180px}.case-study>header h1{font-size:3rem}.content-meta{align-items:flex-start;flex-direction:column}}

/* Real OFS architecture: production SCADA plus decentralised HMI mini-SCADA */
#integration:after{content:'MES · SCADA · HMI'}
.architecture-flow{display:grid;grid-template-columns:112px minmax(90px,1fr) 176px minmax(90px,1fr) minmax(440px,1.75fr);align-items:center;gap:14px;margin-top:42px;min-height:250px}
.arch-node{position:relative;z-index:2;min-height:100px;border:1px solid #4c575b;background:rgba(23,37,42,.84);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.arch-node b{font-size:1rem}.arch-node small,.existing-scada small,.hmi-node small,.machine-node small{font:500 .48rem 'IBM Plex Mono';letter-spacing:.1em;color:#839397;text-align:center}
.arch-ofs{min-height:142px;border-color:rgba(216,180,115,.72);box-shadow:0 0 0 8px rgba(216,180,115,.04),0 20px 42px rgba(0,0,0,.25);animation:ofs-node-pulse 5s ease-in-out infinite}
.arch-ofs img{width:112px;height:auto}.arch-ofs small{max-width:145px;color:var(--gold);line-height:1.35}
.arch-link{position:relative;height:2px;background:linear-gradient(90deg,rgba(57,175,206,.12),var(--blue),rgba(57,175,206,.16))}
.arch-link:before{content:'';position:absolute;right:-1px;top:50%;width:8px;height:8px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:translateY(-50%) rotate(45deg)}
.arch-link:after{content:'';position:absolute;top:50%;left:0;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);box-shadow:0 0 0 6px rgba(216,180,115,.08),0 0 16px rgba(216,180,115,.6);animation:data-hop 4.6s cubic-bezier(.45,0,.2,1) infinite}
.arch-link.link-2:after{background:var(--blue);box-shadow:0 0 0 6px rgba(57,175,206,.08),0 0 16px rgba(57,175,206,.65);animation-delay:.8s}
.arch-link span{position:absolute;left:50%;top:15px;transform:translateX(-50%);font:500 .48rem 'IBM Plex Mono';letter-spacing:.08em;color:#7f9094;white-space:nowrap}
.arch-field{position:relative;min-height:250px;padding:72px 22px 18px;border:1px solid rgba(57,175,206,.18);background:linear-gradient(145deg,rgba(57,175,206,.055),rgba(23,37,42,.15));box-shadow:inset 0 0 42px rgba(57,175,206,.025)}
.arch-field:before{content:'';position:absolute;left:0;top:50%;width:100%;height:1px;background:linear-gradient(90deg,var(--blue),rgba(57,175,206,.04));opacity:.55}
.existing-scada{position:absolute;top:14px;right:18px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px dashed rgba(255,255,255,.2);background:rgba(23,37,42,.78)}
.existing-scada b{font:600 .56rem 'IBM Plex Mono';letter-spacing:.05em}.existing-scada small{color:var(--blue)}
.hmi-network{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hmi-branch{display:flex;flex-direction:column;align-items:center}.hmi-node{width:100%;min-height:60px;padding:10px 7px;border:1px solid rgba(57,175,206,.46);background:rgba(23,37,42,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.hmi-node b{font:600 .58rem 'IBM Plex Mono';letter-spacing:.03em}.hmi-node small{color:var(--blue)}
.hmi-branch>i{position:relative;width:1px;height:34px;background:linear-gradient(var(--blue),rgba(57,175,206,.2))}
.hmi-branch>i:after{content:'';position:absolute;top:0;left:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#61a84b;box-shadow:0 0 12px rgba(97,168,75,.8);animation:field-hop 3s ease-in-out infinite}
.hmi-branch:nth-child(2)>i:after{animation-delay:.65s;background:var(--gold);box-shadow:0 0 12px rgba(216,180,115,.75)}.hmi-branch:nth-child(3)>i:after{animation-delay:1.3s;background:var(--blue);box-shadow:0 0 12px rgba(57,175,206,.8)}
.machine-node{width:62px;height:62px;border-radius:50%;border:1px solid #4c575b;background:#17252a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.machine-node span{font:600 .72rem 'IBM Plex Mono';color:#fff}
@keyframes field-hop{0%{top:0;opacity:0}15%{opacity:1}75%{top:100%;opacity:1}90%,100%{top:100%;opacity:0}}
@media(max-width:1050px){.architecture-flow{grid-template-columns:96px minmax(65px,1fr) 150px minmax(65px,1fr) minmax(360px,1.6fr);gap:9px}.arch-ofs img{width:92px}.arch-field{padding-left:12px;padding-right:12px}.hmi-network{gap:8px}}
@media(max-width:780px){.architecture-flow{display:flex;overflow-x:auto;align-items:center;padding:12px 2px 30px;min-height:0}.arch-node{min-width:104px}.arch-ofs{min-width:150px}.arch-link{min-width:100px}.arch-field{min-width:460px}.existing-scada{right:12px}}
@media(prefers-reduced-motion:reduce){.arch-link:after,.hmi-branch>i:after,.arch-ofs{animation:none}.arch-link:after{left:50%}.hmi-branch>i:after{top:50%}}

/* Bakery production cycle */
.process{grid-template-columns:.78fr 1.22fr;align-items:center;gap:55px;overflow:visible}
.process-copy p{max-width:520px;margin:30px 0 0;color:var(--muted);font-size:1.05rem}
.process-cycle{position:relative;width:100%;max-width:680px;aspect-ratio:1;margin-left:auto;background:radial-gradient(circle at center,rgba(57,175,206,.12),transparent 31%),radial-gradient(circle at center,transparent 54%,rgba(216,180,115,.045) 55%,transparent 70%)}
.process-cycle svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.process-route{fill:none;stroke:rgba(216,180,115,.68);stroke-width:1.2}.process-route-inner{stroke:rgba(57,175,206,.24);stroke-dasharray:3 7}
.process-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:168px;height:168px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--dark);border:1px solid rgba(216,180,115,.65);box-shadow:0 0 0 16px rgba(57,175,206,.045),0 24px 55px rgba(23,37,42,.22);animation:process-core-pulse 6s ease-in-out infinite}
.process-core img{width:116px;height:auto}.process-core small{font:500 .5rem 'IBM Plex Mono';letter-spacing:.08em;color:var(--gold);text-align:center}
.process-step{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;min-width:142px;padding:10px 12px;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.95);border:1px solid var(--line);box-shadow:0 10px 28px rgba(23,37,42,.08);white-space:nowrap}
.process-step span{font:500 .61rem 'IBM Plex Mono';color:#9a7130}.process-step b{font-size:.77rem}.process-step:after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:var(--blue);right:-4px;top:50%;transform:translateY(-50%);box-shadow:0 0 0 4px rgba(57,175,206,.08)}
@keyframes process-core-pulse{0%,100%{box-shadow:0 0 0 16px rgba(57,175,206,.045),0 24px 55px rgba(23,37,42,.22)}50%{box-shadow:0 0 0 22px rgba(57,175,206,.075),0 30px 65px rgba(23,37,42,.27)}}
@media(max-width:900px){.process{grid-template-columns:1fr}.process-copy p{max-width:680px}.process-cycle{margin:20px auto 0}}
@media(max-width:600px){.process-cycle{max-width:none;aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;background:radial-gradient(circle at 50% 80px,rgba(57,175,206,.11),transparent 120px)}.process-cycle svg{display:none}.process-core{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;width:138px;height:138px;margin:0 auto 18px}.process-core img{width:94px}.process-step{position:relative;left:auto;top:auto;transform:none;min-width:0;white-space:normal}.process-step:after{display:none}}
@media(prefers-reduced-motion:reduce){.process-tracer{display:none}.process-core{animation:none}}

/* Clear transition from technology partners to OFS detail journeys */
.explore-section{position:relative;padding:125px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(155deg,#f7f9f9 0%,#eef3f3 100%);border-top:1px solid var(--line);overflow:hidden}
.explore-section:before{content:'';position:absolute;right:-160px;top:-220px;width:560px;height:560px;border:1px solid rgba(57,175,206,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(57,175,206,.025),0 0 0 140px rgba(216,180,115,.025)}
.explore-head{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end;margin-bottom:65px}
.explore-head h2{font-size:clamp(2.7rem,5vw,4.9rem);line-height:1;letter-spacing:-.045em;margin:0;max-width:760px}.explore-head>p{font-size:1.14rem;color:var(--muted);max-width:570px;margin:0 0 5px}
.explore-section .deep-links{position:relative;z-index:1;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.explore-section .deep-card{position:relative;min-height:335px;padding:30px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 105px 1fr auto;gap:0 20px;overflow:hidden;background:rgba(255,255,255,.92);border:1px solid var(--line);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.explore-section .deep-card:before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--blue));transform:scaleX(.32);transform-origin:left;transition:transform .45s ease}
.explore-section .deep-card:hover{transform:translateY(-5px);border-color:rgba(57,175,206,.48);box-shadow:0 22px 50px rgba(23,37,42,.11)}.explore-section .deep-card:hover:before{transform:scaleX(1)}
.deep-card .card-no{grid-column:1;font:500 .7rem 'IBM Plex Mono';color:#9a7130;letter-spacing:.08em}.card-graphic{grid-column:2;grid-row:1/3;position:relative;width:130px;height:105px;align-self:start}.card-copy{grid-column:1/-1;align-self:end}.deep-card h3{font-size:1.55rem;line-height:1.12;margin:17px 0 10px;max-width:490px}.deep-card .card-copy p{font-size:.94rem;line-height:1.5;margin:0;color:var(--muted);max-width:520px}
.deep-card>b{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:25px;padding-top:17px;border-top:1px solid var(--line);font-weight:500}.deep-card>b em{font:500 .62rem 'IBM Plex Mono';font-style:normal;letter-spacing:.1em;color:#8b6731}.deep-card>b span{font-size:1.35rem;transition:transform .3s ease}.deep-card:hover>b span{transform:translate(4px,-4px)}
.card-graphic i{position:absolute;display:block}.card-1 .card-graphic i{left:50%;top:50%;border:1px solid rgba(57,175,206,.55);border-radius:50%;transform:translate(-50%,-50%)}.card-1 .card-graphic i:nth-child(1){width:96px;height:96px}.card-1 .card-graphic i:nth-child(2){width:65px;height:65px;border-color:rgba(216,180,115,.8)}.card-1 .card-graphic i:nth-child(3){width:26px;height:26px;background:var(--dark);border-color:var(--dark);box-shadow:0 0 0 9px rgba(57,175,206,.08)}
.card-2 .card-graphic:before,.card-3 .card-graphic:before{content:'';position:absolute;left:12px;right:12px;top:52px;height:1px;background:linear-gradient(90deg,var(--gold),var(--blue))}.card-2 .card-graphic i{top:44px;width:17px;height:17px;border-radius:3px;background:var(--dark);box-shadow:0 0 0 6px rgba(57,175,206,.07)}.card-2 .card-graphic i:nth-child(1){left:8px;background:var(--gold)}.card-2 .card-graphic i:nth-child(2){left:56px}.card-2 .card-graphic i:nth-child(3){right:8px;background:var(--blue)}
.card-3 .card-graphic:before{top:54px;transform:rotate(-12deg);transform-origin:center;background:linear-gradient(90deg,var(--blue),var(--gold))}.card-3 .card-graphic i{width:13px;height:13px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(57,175,206,.08)}.card-3 .card-graphic i:nth-child(1){left:9px;top:66px}.card-3 .card-graphic i:nth-child(2){left:57px;top:48px;background:var(--gold)}.card-3 .card-graphic i:nth-child(3){right:8px;top:34px;background:#61a84b}
.card-4 .card-graphic{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding-bottom:14px}.card-4 .card-graphic:after{content:'';position:absolute;left:15px;right:15px;bottom:13px;height:1px;background:var(--line)}.card-4 .card-graphic i{position:relative;width:18px;z-index:1;background:linear-gradient(var(--blue),#91d4e4)}.card-4 .card-graphic i:nth-child(1){height:34px}.card-4 .card-graphic i:nth-child(2){height:58px;background:linear-gradient(var(--gold),#ead6ad)}.card-4 .card-graphic i:nth-child(3){height:82px;background:linear-gradient(#61a84b,#add29f)}
@media(max-width:900px){.explore-head{grid-template-columns:1fr;gap:28px}.explore-section .deep-links{grid-template-columns:1fr}}
@media(max-width:600px){.explore-section{padding:85px 18px}.explore-head h2{font-size:2.75rem}.explore-section .deep-card{min-height:310px;padding:24px}.card-graphic{width:105px;transform:scale(.82);transform-origin:right top}.explore-section .deep-links p{display:block}.deep-card h3{font-size:1.35rem}}

/* System module cards: the number becomes the visual identity */
.cards article{--card-accent:#d8b473;position:relative;overflow:hidden;min-height:330px;padding:30px 32px 34px;background:linear-gradient(145deg,#fff 0%,#fbfcfc 100%);transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.cards article:nth-child(2){--card-accent:#39afce}.cards article:nth-child(3){--card-accent:#61a84b}.cards article:nth-child(4){--card-accent:#6a8fbc}.cards article:nth-child(5){--card-accent:#c5964f}.cards article:nth-child(6){--card-accent:#60767d}
.cards article:before{content:'';position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--card-accent),transparent 74%);transform:scaleX(.38);transform-origin:left;transition:transform .45s ease}
.cards article:after{content:'';position:absolute;right:-55px;top:-60px;width:160px;height:160px;border:1px solid var(--card-accent);border-radius:50%;opacity:.09;box-shadow:0 0 0 30px var(--card-accent);transition:transform .55s ease,opacity .4s ease}
.cards article:hover{z-index:2;transform:translateY(-4px);background:#fff;box-shadow:0 22px 48px rgba(23,37,42,.1)}.cards article:hover:before{transform:scaleX(1)}.cards article:hover:after{transform:scale(.86);opacity:.14}
.cards article>span{position:relative;z-index:1;width:88px;height:88px;border:1px solid color-mix(in srgb,var(--card-accent) 52%,#d6dcdc);border-radius:50%;display:grid;place-items:center;font:500 1.7rem/1 'IBM Plex Mono';letter-spacing:-.04em;color:var(--card-accent)}
.cards article>span:before{content:'';position:absolute;inset:10px;border:1px dashed color-mix(in srgb,var(--card-accent) 43%,transparent);border-radius:50%}
.cards article>span:after{content:'';position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--card-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--card-accent) 12%,transparent),0 0 13px color-mix(in srgb,var(--card-accent) 55%,transparent);transform-origin:0 48px;animation:module-dot 9s linear infinite}
.cards article:nth-child(2)>span:after{animation-delay:-1.5s}.cards article:nth-child(3)>span:after{animation-delay:-3s}.cards article:nth-child(4)>span:after{animation-delay:-4.5s}.cards article:nth-child(5)>span:after{animation-delay:-6s}.cards article:nth-child(6)>span:after{animation-delay:-7.5s}
.cards h3{position:relative;z-index:1;margin:38px 0 12px;font-size:1.55rem}.cards p{position:relative;z-index:1}
@keyframes module-dot{to{transform:rotate(360deg)}}
@media(max-width:600px){.cards article{min-height:285px}.cards article>span{width:76px;height:76px;font-size:1.45rem}.cards article>span:after{transform-origin:0 42px}.cards h3{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.cards article>span:after{animation:none}}

/* Data section: operational dashboard rather than a flat table */
.results{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(57,175,206,.12),transparent 30%),radial-gradient(circle at 12% 85%,rgba(216,180,115,.2),transparent 34%),var(--sand);align-items:center}
.results:before{content:'DATA';position:absolute;right:-2%;bottom:-16%;z-index:0;font-size:clamp(9rem,19vw,19rem);font-weight:700;letter-spacing:-.07em;color:rgba(23,37,42,.025);line-height:1}
.result-copy,.results .metrics{position:relative;z-index:1}.result-copy p{font-size:1.04rem;max-width:650px;margin-top:28px}
.data-pulse{height:66px;max-width:390px;margin-top:36px;padding:0 12px;display:flex;align-items:center;gap:10px;border-top:1px solid rgba(23,37,42,.16);border-bottom:1px solid rgba(23,37,42,.16);background:linear-gradient(90deg,rgba(255,255,255,.28),transparent)}
.data-pulse i{display:block;width:4px;height:12px;background:var(--gold);box-shadow:18px 0 var(--blue),36px 0 #61a84b;animation:data-wave 2.8s ease-in-out infinite}.data-pulse i:nth-child(2){height:26px;animation-delay:-.45s}.data-pulse i:nth-child(3){height:42px;animation-delay:-.9s}.data-pulse i:nth-child(4){height:24px;animation-delay:-1.35s}.data-pulse i:nth-child(5){height:15px;animation-delay:-1.8s}
.results .metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metrics .metric-card{--metric-accent:#39afce;position:relative;min-height:230px;padding:25px 27px;border:1px solid rgba(23,37,42,.17);background:rgba(255,255,255,.5);backdrop-filter:blur(5px);overflow:hidden;transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
.metrics .metric-card:nth-child(2){--metric-accent:#d8b473}.metrics .metric-card:nth-child(3){--metric-accent:#61a84b}.metrics .metric-card:nth-child(4){--metric-accent:#6a8fbc}
.metrics .metric-card:before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--metric-accent),transparent);transform:scaleY(.34);transform-origin:top;transition:transform .45s ease}.metrics .metric-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.82);box-shadow:0 18px 42px rgba(23,37,42,.09)}.metrics .metric-card:hover:before{transform:scaleY(1)}
.metric-card strong{font-size:1.38rem;margin-top:9px}.metric-card span{font-size:.93rem;margin-top:3px}
.metric-visual{position:relative;width:118px;height:76px;margin-bottom:16px}
.metric-visual i{position:absolute;display:block}
.metric-1 .metric-visual:before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(57,175,206,.3)}.metric-1 .metric-visual i{bottom:17px;width:10px;background:var(--metric-accent);border-radius:6px;animation:metric-bars 2.2s ease-in-out infinite}.metric-1 .metric-visual i:nth-child(1){left:13px;height:22px}.metric-1 .metric-visual i:nth-child(2){left:42px;height:48px;animation-delay:-.7s}.metric-1 .metric-visual i:nth-child(3){left:71px;height:31px;animation-delay:-1.4s}
.metric-2 .metric-visual:before{content:'';position:absolute;left:15px;right:15px;top:37px;height:1px;background:linear-gradient(90deg,var(--blue),var(--gold),#61a84b)}.metric-2 .metric-visual i{top:29px;width:17px;height:17px;border-radius:50%;background:var(--metric-accent);box-shadow:0 0 0 6px rgba(216,180,115,.1)}.metric-2 .metric-visual i:nth-child(1){left:7px;background:var(--blue)}.metric-2 .metric-visual i:nth-child(2){left:50px}.metric-2 .metric-visual i:nth-child(3){right:7px;background:#61a84b}
.metric-3 .metric-visual i{width:36px;height:25px;border:1px solid var(--metric-accent);background:rgba(97,168,75,.11)}.metric-3 .metric-visual i:nth-child(1){left:8px;bottom:8px}.metric-3 .metric-visual i:nth-child(2){left:38px;bottom:26px}.metric-3 .metric-visual i:nth-child(3){left:68px;bottom:44px;background:var(--metric-accent);animation:module-rise 3s ease-in-out infinite}
.metric-4 .metric-visual:before,.metric-4 .metric-visual:after{content:'';position:absolute;left:56px;top:37px;border:1px solid var(--metric-accent);border-radius:50%;transform:translate(-50%,-50%)}.metric-4 .metric-visual:before{width:62px;height:62px;opacity:.55}.metric-4 .metric-visual:after{width:34px;height:34px;background:rgba(106,143,188,.12)}.metric-4 .metric-visual i{width:8px;height:8px;border-radius:50%;background:var(--metric-accent);box-shadow:0 0 0 5px rgba(106,143,188,.09)}.metric-4 .metric-visual i:nth-child(1){left:52px;top:3px}.metric-4 .metric-visual i:nth-child(2){left:22px;top:50px}.metric-4 .metric-visual i:nth-child(3){right:24px;top:50px}
@keyframes data-wave{0%,100%{transform:scaleY(.55);opacity:.55}50%{transform:scaleY(1.35);opacity:1}}@keyframes metric-bars{0%,100%{transform:scaleY(.55);transform-origin:bottom}50%{transform:scaleY(1);transform-origin:bottom}}@keyframes module-rise{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:900px){.results{grid-template-columns:1fr}.data-pulse{max-width:100%}}
@media(max-width:600px){.results .metrics{grid-template-columns:1fr}.metrics .metric-card{min-height:210px}.results:before{display:none}}
@media(prefers-reduced-motion:reduce){.data-pulse i,.metric-1 .metric-visual i,.metric-3 .metric-visual i:nth-child(3){animation:none}}

/* Story, third-dimension and technology proof */
.story-section{max-width:var(--max);margin:auto;padding:130px 24px;display:grid;grid-template-columns:1.18fr .82fr;gap:100px;align-items:start}.story-section h2,.dimension-section h2,.partners-section h2{font-size:clamp(2.6rem,5vw,4.9rem);line-height:1;letter-spacing:-.045em;margin:0}.story-lead>p{font-size:1.22rem;color:var(--muted);max-width:740px;margin:32px 0 0}.story-section aside{border-left:1px solid var(--line);padding-left:46px}.story-section blockquote{font-size:1.42rem;line-height:1.35;font-weight:600;margin:0 0 44px;color:var(--dark)}.story-facts{border-top:1px solid var(--line)}.story-facts div{padding:18px 0;border-bottom:1px solid var(--line)}.story-facts strong,.story-facts span{display:block}.story-facts strong{font:500 .76rem 'IBM Plex Mono';letter-spacing:.08em;text-transform:uppercase;color:#9a7130}.story-facts span{color:var(--muted);margin-top:3px}
.dimension-section{background:#f7f9f9;padding:125px max(24px,calc((100vw - var(--max))/2));position:relative;overflow:hidden}.dimension-head{max-width:920px}.dimension-head>p{font-size:1.2rem;color:var(--muted);max-width:720px;margin:30px 0 60px}.dimension-stage{height:390px;position:relative;display:grid;place-items:center;margin:10px 0 45px}.dimension-core{width:148px;height:148px;border-radius:50%;background:var(--dark);color:white;display:grid;place-content:center;text-align:center;z-index:3;box-shadow:0 24px 54px rgba(23,37,42,.22)}.dimension-core strong{font-size:2rem}.dimension-core span{font:500 .67rem 'IBM Plex Mono';color:var(--gold)}.dimension-rings{position:absolute;inset:0;display:grid;place-items:center}.dimension-rings i{position:absolute;border:1px solid #ccd5d6;border-radius:50%;width:270px;height:270px}.dimension-rings i:nth-child(2){width:440px;height:280px;border-color:rgba(216,180,115,.65)}.dimension-rings i:nth-child(3){width:650px;height:350px;border-color:rgba(57,175,206,.38);border-style:dashed;animation:ring-breathe 7s ease-in-out infinite}.dimension-pills{position:absolute;inset:0;z-index:4}.dimension-pills span{position:absolute;background:white;border:1px solid var(--line);padding:10px 14px;font:500 .7rem 'IBM Plex Mono';letter-spacing:.06em;box-shadow:0 8px 24px rgba(23,37,42,.07)}.dimension-pills span:nth-child(1){top:8%;left:20%}.dimension-pills span:nth-child(2){top:8%;right:18%}.dimension-pills span:nth-child(3){bottom:7%;left:21%}.dimension-pills span:nth-child(4){bottom:7%;right:20%}.dimension-cards{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.dimension-cards article{background:white;min-height:260px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.dimension-cards article>span{font:500 .72rem 'IBM Plex Mono';color:#9a7130}.dimension-cards h3{font-size:1.45rem;margin:52px 0 12px}.dimension-cards p{margin:0;color:var(--muted)}.dimension-line{margin-top:28px;font:500 .72rem 'IBM Plex Mono';letter-spacing:.13em;color:#9a7130;text-align:center}.partners-section{max-width:var(--max);margin:auto;padding:125px 24px;display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:end}.partners-section>div>p{font-size:1.15rem;color:var(--muted);max-width:720px;margin:30px 0 0}.partner-marks{display:grid;gap:14px}.partner-mark{min-height:118px;border:1px solid var(--line);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:white}.partner-mark strong{font-size:1.85rem;letter-spacing:-.03em}.partner-mark span{font:500 .67rem 'IBM Plex Mono';color:var(--muted);text-align:right}.partner-mark.p1 strong{color:#009999;letter-spacing:.03em}.partner-mark.p2 strong{font-weight:500;color:#555}.partner-mark.p2 strong:before{content:'■';display:inline-block;margin-right:10px;color:#f25022;text-shadow:12px 0 #7fba00,0 12px #00a4ef,12px 12px #ffb900;width:24px;height:24px;line-height:12px;font-size:11px;vertical-align:6px}
@keyframes ring-breathe{0%,100%{transform:scale(.98);opacity:.55}50%{transform:scale(1.02);opacity:1}}
@media(max-width:900px){.story-section,.partners-section{grid-template-columns:1fr;gap:55px}.story-section aside{padding-left:28px}.dimension-cards{grid-template-columns:1fr}.dimension-cards article{min-height:210px}.dimension-stage{transform:scale(.88);margin-left:-7%;margin-right:-7%}}
@media(max-width:600px){.story-section,.dimension-section,.partners-section{padding:85px 18px}.story-section h2,.dimension-section h2,.partners-section h2{font-size:2.75rem}.story-section aside{padding-left:20px}.dimension-stage{height:315px;transform:none;margin-left:0;margin-right:0}.dimension-rings i{width:190px;height:190px}.dimension-rings i:nth-child(2){width:290px;height:210px}.dimension-rings i:nth-child(3){width:390px;height:265px}.dimension-core{width:112px;height:112px}.dimension-pills span{font-size:.56rem;padding:7px}.dimension-pills span:nth-child(1){top:5%;left:0}.dimension-pills span:nth-child(2){top:5%;right:0}.dimension-pills span:nth-child(3){bottom:5%;left:0}.dimension-pills span:nth-child(4){bottom:5%;right:0}.partner-mark{align-items:flex-start;flex-direction:column}.partner-mark span{text-align:left}}
@media(prefers-reduced-motion:reduce){.dimension-rings i:nth-child(3){animation:none}}

/* Balanced hero title: no mid-word breaks */
.hero{grid-template-columns:1.08fr .92fr;gap:72px}
.hero h1{font-size:clamp(3.2rem,4.25vw,4.35rem);line-height:1.025;letter-spacing:-.05em;max-width:760px;overflow-wrap:normal;word-break:normal;hyphens:none}.hero h1>span{display:block;white-space:nowrap}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:54px}.hero h1{font-size:clamp(3.25rem,9vw,4.65rem);max-width:760px}}
@media(max-width:600px){.hero h1{font-size:2.75rem;line-height:1.04;letter-spacing:-.045em}.hero h1>span{white-space:normal}}

/* OFS concentric software map */
.system-orbit{isolation:isolate;background:radial-gradient(circle at 50% 50%,rgba(57,175,206,.16) 0,rgba(57,175,206,.08) 16%,rgba(216,180,115,.035) 36%,transparent 65%),linear-gradient(145deg,#fbfcfc,#fff)}.system-orbit:before,.system-orbit:after{display:none}.orbit-depth{position:absolute;inset:21%;border-radius:50%;background:radial-gradient(circle,rgba(23,37,42,.12),rgba(57,175,206,.06) 30%,transparent 68%);filter:blur(18px);z-index:0}.data-ring{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);z-index:1}.data-ring-1{width:46%;aspect-ratio:1;border:1px solid rgba(23,37,42,.18);animation:ring-turn 18s linear infinite}.data-ring-2{width:63%;aspect-ratio:1;border:1px solid rgba(216,180,115,.62);animation:ring-turn-reverse 26s linear infinite}.data-ring-3{width:76%;aspect-ratio:1;border:1px solid rgba(57,175,206,.48);animation:ring-turn 34s linear infinite}.data-ring:after{content:'';position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;transform:translateX(-50%);background:var(--blue);box-shadow:0 0 0 5px rgba(57,175,206,.09),0 0 15px rgba(57,175,206,.55)}.data-ring-1:after{background:var(--dark);box-shadow:0 0 0 4px rgba(23,37,42,.08)}.data-ring-2:after{background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.1),0 0 14px rgba(216,180,115,.5)}.orbit-core{width:126px;height:126px;padding:22px;background:var(--dark);box-shadow:0 18px 44px rgba(23,37,42,.25),0 0 0 12px rgba(255,255,255,.75);animation:core-breathe 5.5s ease-in-out infinite}.orbit-core img{display:block;width:100%;height:auto;object-fit:contain}.system-module{--x:50%;--y:50%;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:5;display:flex;align-items:center;gap:6px;max-width:126px;min-height:27px;padding:5px 8px;background:rgba(255,255,255,.94);border:1px solid rgba(214,220,220,.95);box-shadow:0 7px 18px rgba(23,37,42,.065);font:500 .59rem 'IBM Plex Mono';line-height:1.15;text-align:left;text-transform:uppercase;white-space:nowrap}.system-module i{width:6px;height:6px;flex:0 0 6px;border-radius:50%}.system-module.group-1 i{background:var(--dark)}.system-module.group-2 i{background:var(--gold)}.system-module.group-3 i{background:var(--blue)}.orbit-key{position:absolute;left:50%;bottom:3.2%;transform:translateX(-50%);z-index:6;display:flex;gap:16px;font:500 .54rem 'IBM Plex Mono';letter-spacing:.07em;color:var(--muted)}.orbit-key span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px}.orbit-key .key-1:before{background:var(--dark)}.orbit-key .key-2:before{background:var(--gold)}.orbit-key .key-3:before{background:var(--blue)}
@keyframes ring-turn{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ring-turn-reverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes core-breathe{0%,100%{box-shadow:0 18px 44px rgba(23,37,42,.24),0 0 0 10px rgba(255,255,255,.72)}50%{box-shadow:0 22px 54px rgba(23,37,42,.3),0 0 0 15px rgba(255,255,255,.82)}}
@media(max-width:900px){.system-module{font-size:.56rem}.orbit-key{bottom:2.3%}}
@media(max-width:600px){.orbit-core{width:88px;height:88px;padding:16px}.system-module{font-size:.44rem;min-height:22px;padding:4px 5px;gap:4px;max-width:94px}.system-module i{width:5px;height:5px;flex-basis:5px}.orbit-key{gap:8px;font-size:.42rem;bottom:1.5%}}
@media(prefers-reduced-motion:reduce){.data-ring,.orbit-core{animation:none}}

/* International industrial confederation */
.network-section{background:var(--dark);color:white;padding:115px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:end}.network-section h2{font-size:clamp(2.6rem,4.7vw,4.7rem);line-height:1;letter-spacing:-.045em;margin:0}.network-copy>p{color:#b7c0c3;font-size:1.12rem;max-width:660px;margin:30px 0 0}.network-members{position:relative;border-top:1px solid #48565a}.network-members:before{content:'';position:absolute;left:0;top:-1px;width:34%;height:2px;background:linear-gradient(90deg,var(--gold),var(--blue));animation:network-flow 5.8s ease-in-out infinite}.network-members>div{display:grid;grid-template-columns:42px 1fr auto;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid #48565a}.network-members span{font:500 .68rem 'IBM Plex Mono';color:var(--gold)}.network-members strong{font-size:1.18rem;letter-spacing:.03em}.network-members small{font:500 .61rem 'IBM Plex Mono';color:#98a8ac;text-align:right;letter-spacing:.04em}.network-members>div:first-child strong{color:var(--gold)}@keyframes network-flow{0%,100%{transform:translateX(0);opacity:.75}50%{transform:translateX(194%);opacity:1}}
@media(max-width:900px){.network-section{grid-template-columns:1fr;gap:55px}.network-members>div{grid-template-columns:34px 1fr}.network-members small{grid-column:2;text-align:left}}
@media(max-width:600px){.network-section{padding:85px 18px}.network-section h2{font-size:2.7rem}.network-members strong{font-size:1rem}.network-members small{font-size:.54rem}}
@media(prefers-reduced-motion:reduce){.network-members:before{animation:none}}

/* Confederation orbit colours: TU green, Sancassiano blue, Oripan gold */
.data-ring-1{border-color:rgba(97,168,75,.42)}
.data-ring-1:after{background:#61a84b;box-shadow:0 0 0 5px rgba(97,168,75,.11),0 0 14px rgba(97,168,75,.48)}

/* Second OFS map: branded centre and true elliptical data orbits */
.dimension-core{width:154px;height:154px;padding:29px;background:var(--dark);z-index:5}.dimension-core img{display:block;width:100%;height:auto;object-fit:contain}.dimension-orbits{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}.dimension-orbits .orbit-path{fill:none;vector-effect:non-scaling-stroke}.dimension-orbits .orbit-path.inner{stroke:#cbd4d5;stroke-width:1}.dimension-orbits .orbit-path.middle{stroke:rgba(216,180,115,.78);stroke-width:1.2}.dimension-orbits .orbit-path.outer{stroke:rgba(57,175,206,.55);stroke-width:1;stroke-dasharray:4 4}.dimension-orbits .orbit-halo{opacity:.11}.dimension-orbits .orbit-dot{opacity:1}.dimension-pills{z-index:6}
@media(max-width:600px){.dimension-core{width:112px;height:112px;padding:21px}.dimension-orbits{transform:scale(.96);transform-origin:center}}
@media(prefers-reduced-motion:reduce){.dimension-orbits .orbit-pulse{display:none}}

/* Animated ERP-to-production data flow */
#integration{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 48% 86%,rgba(57,175,206,.13),transparent 34%),radial-gradient(circle at 30% 20%,rgba(216,180,115,.07),transparent 30%),var(--dark)}#integration:before{content:'';position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 38%,black)}#integration:after{content:'ERP · MES · PLC';position:absolute;right:-2%;bottom:-10%;z-index:0;font-weight:700;font-size:clamp(5rem,11vw,11rem);letter-spacing:-.05em;color:rgba(255,255,255,.018);white-space:nowrap}#integration>*{position:relative;z-index:1}.integration-chain{margin-top:10px;min-height:110px;overflow:visible}.integration-chain .chain-node{width:124px;min-width:124px;min-height:82px;padding:15px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #4c575b!important;background:rgba(23,37,42,.72);box-shadow:0 12px 30px rgba(0,0,0,.14);font-size:.82rem;letter-spacing:.02em}.integration-chain .chain-node small{font:500 .5rem 'IBM Plex Mono';letter-spacing:.1em;color:#839397}.integration-chain .chain-ofs{background:rgba(23,37,42,.94)!important;border-color:rgba(216,180,115,.75)!important;box-shadow:0 0 0 7px rgba(216,180,115,.045),0 18px 38px rgba(0,0,0,.24);animation:ofs-node-pulse 5s ease-in-out infinite}.integration-chain .chain-ofs img{display:block;width:88px;height:auto}.integration-chain .chain-link{position:relative;height:2px;min-width:80px;background:linear-gradient(90deg,rgba(57,175,206,.2),var(--blue),rgba(57,175,206,.22));overflow:visible}.integration-chain .chain-link:before{content:'';position:absolute;right:-1px;top:50%;width:7px;height:7px;border-top:1px solid var(--blue);border-right:1px solid var(--blue);transform:translateY(-50%) rotate(45deg)}.integration-chain .chain-link:after{content:'';position:absolute;top:50%;left:0;width:9px;height:9px;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.08),0 0 14px rgba(216,180,115,.55);animation:data-hop 4.8s cubic-bezier(.45,0,.2,1) infinite}.integration-chain .link-2:after{background:var(--blue);box-shadow:0 0 0 5px rgba(57,175,206,.08),0 0 14px rgba(57,175,206,.6);animation-delay:.8s}.integration-chain .link-3:after{background:#61a84b;box-shadow:0 0 0 5px rgba(97,168,75,.09),0 0 14px rgba(97,168,75,.55);animation-delay:1.6s}.integration-chain .chain-link span{position:absolute;left:50%;top:15px;transform:translateX(-50%);font:500 .5rem 'IBM Plex Mono';letter-spacing:.08em;color:#75878c;white-space:nowrap}@keyframes data-hop{0%{left:0;opacity:0}12%{opacity:1}76%{left:100%;opacity:1}88%,100%{left:100%;opacity:0}}@keyframes ofs-node-pulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 7px rgba(216,180,115,.045),0 18px 38px rgba(0,0,0,.24)}50%{transform:translateY(-3px);box-shadow:0 0 0 11px rgba(216,180,115,.07),0 24px 48px rgba(0,0,0,.3)}}
@media(max-width:900px){.integration-chain{overflow-x:auto;padding:16px 4px 36px}.integration-chain .chain-node{width:110px;min-width:110px}.integration-chain .chain-link{min-width:120px}}
@media(max-width:600px){#integration:after{display:none}.integration-chain .chain-node{width:96px;min-width:96px;min-height:70px}.integration-chain .chain-ofs img{width:70px}.integration-chain .chain-link{min-width:90px}.integration-chain .chain-link span{font-size:.43rem}}
@media(prefers-reduced-motion:reduce){.integration-chain .chain-link:after,.integration-chain .chain-ofs{animation:none}.integration-chain .chain-link:after{left:50%}}

/* Final scale and unmistakable single-line draw */
.brand .brand-logo{width:285px!important;height:70px!important}
.signal-line{height:2px;overflow:hidden;background:rgba(216,180,115,.2)}
.signal-line::after{inset:0;width:100%;height:100%;background:linear-gradient(90deg,#d8b473 0%,#f1e5cd 35%,#6a8fbc 67%,#39afce 100%);transform:scaleX(0);transform-origin:left center;filter:none;box-shadow:0 0 8px rgba(57,175,206,.35);animation:signal-draw 6.4s cubic-bezier(.45,0,.2,1) infinite}
@keyframes signal-draw{0%{transform:scaleX(0);opacity:.9}72%{transform:scaleX(1);opacity:1}86%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@media(max-width:600px){.brand .brand-logo{width:190px!important;height:47px!important}}
@media(prefers-reduced-motion:reduce){.signal-line::after{display:none;animation:none}}

/* v22 final mobile override: no horizontal diagram or clipped OFS node */
@media(max-width:780px){
  #integration{padding-left:18px;padding-right:18px}
  .architecture-flow{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;min-height:0;overflow:visible;padding:8px 0 12px}
  .architecture-flow .arch-node{width:178px;min-width:0;min-height:96px}
  .architecture-flow .arch-ofs{width:198px;min-height:145px}
  .architecture-flow .arch-ofs img{width:112px}
  .architecture-flow .arch-link{width:2px;min-width:0;height:76px;flex:0 0 76px;background:linear-gradient(180deg,rgba(57,175,206,.14),var(--blue),rgba(57,175,206,.14))}
  .architecture-flow .arch-link:before{left:50%;right:auto;top:auto;bottom:1px;border-top:0;border-right:1px solid var(--blue);border-bottom:1px solid var(--blue);transform:translateX(-50%) rotate(45deg)}
  .architecture-flow .arch-link:after{left:50%;top:0;transform:translate(-50%,-50%);animation:data-drop 4.6s cubic-bezier(.45,0,.2,1) infinite}
  .architecture-flow .arch-link.link-2:after{animation-delay:.8s}
  .architecture-flow .arch-link span{left:18px;top:50%;transform:translateY(-50%);white-space:nowrap;text-align:left}
  .architecture-flow .arch-field{width:100%;min-width:0;min-height:242px;padding:72px 9px 16px}
  .architecture-flow .existing-scada{top:13px;left:9px;right:9px;justify-content:center}
  .architecture-flow .hmi-network{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .architecture-flow .hmi-node{padding:8px 3px;min-height:58px}
  .architecture-flow .hmi-node b{font-size:.49rem;text-align:center}
  .architecture-flow .hmi-node small{font-size:.42rem}
  .architecture-flow .machine-node{width:55px;height:55px}
}
@media(max-width:380px){
  .architecture-flow .hmi-network{grid-template-columns:1fr}
  .architecture-flow .arch-field{padding-top:72px}
  .architecture-flow .hmi-branch{display:grid;grid-template-columns:1fr 28px 55px;align-items:center}
  .architecture-flow .hmi-branch>i{width:28px;height:1px;background:linear-gradient(90deg,var(--blue),rgba(57,175,206,.2))}
  .architecture-flow .hmi-branch>i:after{top:50%;left:0;animation:field-hop-horizontal 3s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce) and (max-width:780px){.architecture-flow .arch-link:after,.architecture-flow .hmi-branch>i:after{animation:none}.architecture-flow .arch-link:after{top:50%}}

/* v23 — OFS flowing into two real production stories */
.proof-animation{position:absolute;z-index:2;left:max(24px,calc((100vw - var(--max))/2));top:92px;width:min(47vw,610px);height:250px;overflow:hidden}.proof-caption{position:absolute;left:0;top:0;font:500 .62rem 'IBM Plex Mono';letter-spacing:.14em;color:#74878b}.proof-animation svg{position:absolute;inset:22px 0 0;width:100%;height:220px;overflow:visible}.proof-route{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke}.proof-route.route-gold{stroke:rgba(216,180,115,.5)}.proof-route.route-blue{stroke:rgba(57,175,206,.45)}.proof-hub{position:absolute;left:43px;top:75px;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;padding:21px;background:#17252a;border:1px solid rgba(216,180,115,.58);box-shadow:0 0 0 10px rgba(216,180,115,.025),0 15px 38px rgba(0,0,0,.22);animation:proof-hub-breathe 5.5s ease-in-out infinite}.proof-hub img{width:100%;height:auto}.proof-plant{position:absolute;left:75%;width:150px;min-height:54px;padding:9px 12px;display:flex;align-items:center;gap:10px;border:1px solid #46575b;background:rgba(23,37,42,.92);box-shadow:0 12px 30px rgba(0,0,0,.16)}.proof-plant.plant-a{top:36px}.proof-plant.plant-b{bottom:18px}.proof-plant i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.08),0 0 13px rgba(216,180,115,.42)}.proof-plant.plant-b i{background:var(--blue);box-shadow:0 0 0 5px rgba(57,175,206,.08),0 0 13px rgba(57,175,206,.48)}.proof-plant b,.proof-plant small{display:block}.proof-plant b{font:600 .68rem 'IBM Plex Mono';letter-spacing:.07em}.proof-plant small{font:500 .48rem 'IBM Plex Mono';letter-spacing:.08em;color:#819296;margin-top:3px}.proof-head,.proof-grid{z-index:3}@keyframes proof-hub-breathe{0%,100%{box-shadow:0 0 0 9px rgba(216,180,115,.025),0 15px 38px rgba(0,0,0,.22)}50%{box-shadow:0 0 0 15px rgba(57,175,206,.04),0 21px 46px rgba(0,0,0,.28)}}
@media(max-width:900px){.proof-animation{position:relative;left:auto;top:auto;width:100%;max-width:620px;height:235px;margin:0 0 44px}.proof-head{margin-bottom:45px}.proof-plant{left:auto;right:0}}
@media(max-width:600px){.proof-animation{height:205px;margin-bottom:34px}.proof-caption{font-size:.54rem}.proof-animation svg{height:180px;top:18px}.proof-hub{left:4px;top:58px;width:86px;height:86px;padding:17px}.proof-plant{width:132px;min-height:48px;padding:8px}.proof-plant.plant-a{top:25px}.proof-plant.plant-b{bottom:10px}.proof-plant b{font-size:.58rem}.proof-plant small{font-size:.42rem}.proof-route{stroke-width:1.2}}
@media(prefers-reduced-motion:reduce){.proof-animation .proof-pulse{display:none}.proof-hub{animation:none}}

/* v24 — three restrained industrial foundations converging into OFS */
.partner-marks{align-self:stretch;grid-template-rows:minmax(320px,1fr) auto auto}.partner-foundation{position:relative;min-height:320px;padding:34px 34px 28px;border:1px solid var(--line);background:linear-gradient(145deg,#f9fbfb,#fff);overflow:hidden}.partner-foundation:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(23,37,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,37,42,.025) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.foundation-caption{position:relative;z-index:2;font:500 .62rem 'IBM Plex Mono';letter-spacing:.13em;color:#859296}.foundation-axis{position:absolute;z-index:2;left:34px;top:75px;bottom:70px;width:1px;background:linear-gradient(var(--gold),#009999,#00a4ef)}.foundation-axis i{position:absolute;left:50%;top:0;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.08),0 0 14px rgba(216,180,115,.45);animation:foundation-drop 7.2s cubic-bezier(.45,0,.2,1) infinite}.foundation-layers{position:relative;z-index:2;margin:28px 0 0 23px}.foundation-layer{position:relative;min-height:57px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:10px 12px 10px 18px;background:rgba(255,255,255,.74)}.foundation-layer:last-child{border-bottom:1px solid var(--line)}.foundation-layer>span{font:500 .56rem 'IBM Plex Mono';color:#9a7130}.foundation-layer b{font:600 .66rem 'IBM Plex Mono';letter-spacing:.05em}.foundation-layer small{font:500 .54rem 'IBM Plex Mono';letter-spacing:.08em;color:#849195}.foundation-layer>i{position:absolute;left:0;bottom:-1px;width:28%;height:2px;background:linear-gradient(90deg,var(--gold),transparent);animation:foundation-scan 7.2s ease-in-out infinite}.foundation-layer.layer-2>i{background:linear-gradient(90deg,#009999,transparent);animation-delay:1.1s}.foundation-layer.layer-3>i{background:linear-gradient(90deg,#00a4ef,transparent);animation-delay:2.2s}.foundation-result{position:relative;z-index:2;margin:18px 0 0 23px;display:flex;align-items:center;gap:14px}.foundation-result img{width:54px;height:36px;object-fit:contain;padding:7px;background:var(--dark)}.foundation-result span{font:500 .58rem 'IBM Plex Mono';letter-spacing:.09em;color:#9a7130}@keyframes foundation-drop{0%{top:0;opacity:0}10%{opacity:1}78%{top:100%;opacity:1}90%,100%{top:100%;opacity:0}}@keyframes foundation-scan{0%,12%{width:0;opacity:0}30%{width:45%;opacity:1}58%{width:100%;opacity:.8}76%,100%{width:100%;opacity:0}}
@media(max-width:600px){.partner-foundation{min-height:285px;padding:27px 20px 23px}.foundation-axis{left:20px;top:66px;bottom:61px}.foundation-layers{margin-left:14px}.foundation-layer{grid-template-columns:28px 1fr;padding-left:12px}.foundation-layer small{grid-column:2}.foundation-result{margin-left:14px}.foundation-layer b{font-size:.59rem}}
@media(prefers-reduced-motion:reduce){.foundation-axis i,.foundation-layer>i{animation:none}.foundation-axis i{top:50%}.foundation-layer>i{width:100%;opacity:.5}}

/* v26 — branded data arrow: Oripan gold → TU green → Sancassiano blue */
.signal{height:82px;gap:38px;overflow:hidden;background:linear-gradient(90deg,#17252a 0%,#18282d 54%,#17252a 100%);border-top:1px solid rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.055)}
.signal-copy{position:relative;z-index:2;flex:0 0 auto;color:#f8f4eb;font-weight:600;letter-spacing:.125em;text-shadow:0 1px 12px rgba(255,255,255,.08);white-space:nowrap}
.signal-copy:before{content:'';display:inline-block;width:7px;height:7px;margin-right:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.08),0 0 16px rgba(216,180,115,.5);vertical-align:1px;animation:signal-copy-pulse 3.6s ease-in-out infinite}
.signal-line{position:relative;flex:1;height:4px;overflow:visible;border-radius:999px;background:linear-gradient(90deg,#d8b473 0%,#d8b473 28%,#61a84b 43%,#61a84b 61%,#39afce 77%,#39afce 100%);box-shadow:0 0 12px rgba(216,180,115,.16),0 0 18px rgba(57,175,206,.12)}
.signal-line:before{content:'';position:absolute;z-index:3;left:0;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);background:#d8b473;box-shadow:0 0 0 6px rgba(216,180,115,.1),0 0 22px rgba(216,180,115,.95);animation:signal-packet 6.2s cubic-bezier(.42,0,.18,1) infinite}
.signal-line:after{content:'';position:absolute;z-index:2;left:0;top:50%;width:20%;height:2px;transform:translate(-105%,-50%);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95));filter:drop-shadow(0 0 5px rgba(255,255,255,.7));animation:signal-comet 6.2s cubic-bezier(.42,0,.18,1) infinite}
.signal-node{position:absolute;z-index:4;top:50%;width:9px;height:9px;border:2px solid #17252a;border-radius:50%;transform:translate(-50%,-50%)}
.signal-node:after{content:attr(data-label);position:absolute;left:50%;top:12px;transform:translateX(-50%);font:500 .47rem 'IBM Plex Mono';letter-spacing:.08em;color:#99a9ac;white-space:nowrap}
.node-oripan{left:2%;background:#d8b473;box-shadow:0 0 0 4px rgba(216,180,115,.08)}
.node-tu{left:51%;background:#61a84b;box-shadow:0 0 0 4px rgba(97,168,75,.08)}
.node-sancassiano{left:97%;background:#39afce;box-shadow:0 0 0 4px rgba(57,175,206,.09)}
.signal-arrow{position:absolute;z-index:5;right:-1px;top:50%;width:13px;height:13px;border-top:3px solid #39afce;border-right:3px solid #39afce;transform:translateY(-50%) rotate(45deg);filter:drop-shadow(0 0 5px rgba(57,175,206,.65))}
@keyframes signal-packet{0%{left:0;background:#d8b473;box-shadow:0 0 0 6px rgba(216,180,115,.1),0 0 22px rgba(216,180,115,.95);opacity:0}6%{opacity:1}37%{background:#d8b473}48%,66%{background:#61a84b;box-shadow:0 0 0 6px rgba(97,168,75,.11),0 0 22px rgba(97,168,75,.95)}78%,94%{background:#39afce;box-shadow:0 0 0 6px rgba(57,175,206,.12),0 0 24px rgba(57,175,206,1)}94%{left:100%;opacity:1}100%{left:100%;opacity:0}}
@keyframes signal-comet{0%{left:0;opacity:0}6%{opacity:.7}94%{left:100%;opacity:.8}100%{left:100%;opacity:0}}
@keyframes signal-copy-pulse{0%,100%{opacity:.68;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}
@media(max-width:800px){.signal{height:74px;gap:20px}.signal-copy{font-size:.61rem;white-space:normal;line-height:1.35;max-width:46%}.signal-node:after{display:none}.signal-copy:before{display:none}}
@media(max-width:480px){.signal{padding-left:18px;padding-right:18px;gap:14px}.signal-copy{max-width:49%;font-size:.55rem;letter-spacing:.08em}.signal-line{height:3px}.signal-node{width:8px;height:8px}.signal-arrow{width:11px;height:11px}}
@media(prefers-reduced-motion:reduce){.signal-line:before,.signal-line:after,.signal-copy:before{animation:none}.signal-line:before{left:51%;background:#61a84b;opacity:1}}

/* v27 — Company and contact: institutional depth without duplicating oripan.it */
@media(max-width:1250px) and (min-width:901px){.site-header nav{gap:15px;font-size:.76rem}.langs{margin-left:16px}.brand .brand-logo{width:225px!important}}
.company-hero{max-width:var(--max);margin:auto;padding:105px 24px 95px;display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.company-hero h1,.contact-hero h1{font-size:clamp(3.2rem,6vw,5.8rem);line-height:.97;letter-spacing:-.055em;margin:0;max-width:850px}.company-hero>div>p,.contact-hero>p{font-size:1.25rem;color:var(--muted);max-width:760px;margin:30px 0 0}.company-orbit{position:relative;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(57,175,206,.14),rgba(57,175,206,.04) 33%,transparent 65%)}.company-core{position:absolute;left:50%;top:50%;z-index:4;width:210px;height:132px;padding:34px 25px;transform:translate(-50%,-50%);display:grid;place-items:center;background:var(--dark);border:1px solid rgba(216,180,115,.68);box-shadow:0 22px 55px rgba(23,37,42,.25),0 0 0 13px rgba(216,180,115,.035)}.company-core img{width:100%;height:auto}.company-ring{position:absolute;left:50%;top:50%;border:1px solid;border-radius:50%;transform:translate(-50%,-50%);animation:ring-turn 24s linear infinite}.company-ring b{position:absolute;left:50%;top:-12px;transform:translateX(-50%);padding:3px 7px;background:#fff;font:600 .58rem 'IBM Plex Mono';font-style:normal}.company-ring:after{content:'';position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;transform:translateX(-50%)}.company-ring.ring-a{width:235px;height:235px;border-color:rgba(216,180,115,.65)}.company-ring.ring-a b{color:#9a7130}.company-ring.ring-a:after{background:var(--gold);box-shadow:0 0 14px var(--gold)}.company-ring.ring-b{width:340px;height:340px;border-color:rgba(97,168,75,.5);animation-direction:reverse;animation-duration:31s}.company-ring.ring-b b{color:#4c873d}.company-ring.ring-b:after{background:#61a84b;box-shadow:0 0 14px #61a84b}.company-ring.ring-c{width:445px;height:445px;border-color:rgba(57,175,206,.46);animation-duration:38s}.company-ring.ring-c b{color:#218da9}.company-ring.ring-c:after{background:var(--blue);box-shadow:0 0 14px var(--blue)}
.company-manifesto{background:var(--dark);color:#fff;padding:115px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.company-manifesto h2,.company-section-head h2,.company-confederation h2,.company-cta h2,.contact-services h2{font-size:clamp(2.5rem,4.7vw,4.8rem);line-height:1;letter-spacing:-.045em;margin:0}.company-manifesto>div>p,.company-confederation>div>p{color:#b7c0c3;font-size:1.1rem;max-width:690px;margin:30px 0 0}.company-pillars{border-top:1px solid #47575b}.company-pillars article{position:relative;padding:27px 20px 27px 60px;border-bottom:1px solid #47575b}.company-pillars article>span{position:absolute;left:0;top:31px;font:500 .62rem 'IBM Plex Mono';color:var(--gold)}.company-pillars h3{font-size:1.08rem;margin:0 0 6px}.company-pillars p{color:#aebabc;margin:0}.company-locations{max-width:var(--max);margin:auto;padding:120px 24px}.company-section-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:65px}.company-section-head>p{color:var(--muted);font-size:1.12rem;margin:0}.location-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.location-grid article{position:relative;min-height:330px;padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fff,#f7f9f9)}.location-grid article>span{font:500 .65rem 'IBM Plex Mono';color:#9a7130}.location-grid h3{font-size:2rem;margin:65px 0 10px}.location-grid b{font:500 .7rem 'IBM Plex Mono';letter-spacing:.04em;color:#728084}.location-grid p{color:var(--muted);max-width:540px;margin-top:25px}.company-history{background:var(--sand);padding:120px max(24px,calc((100vw - var(--max))/2))}.timeline-grid{border-top:1px solid rgba(23,37,42,.23)}.timeline-grid article{position:relative;display:grid;grid-template-columns:110px .7fr 1.3fr;gap:30px;align-items:start;padding:30px 0;border-bottom:1px solid rgba(23,37,42,.23)}.timeline-grid article>span{font:600 .78rem 'IBM Plex Mono';color:#8d672b}.timeline-grid h3{font-size:1.35rem;margin:0}.timeline-grid p{color:#59666a;margin:0}.timeline-grid article>i{position:absolute;left:104px;top:35px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(216,180,115,.16)}.company-confederation{background:var(--dark);color:white;padding:120px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center;overflow:hidden}.company-confederation>div>a{display:inline-block;margin-top:28px;color:var(--gold);border-bottom:1px solid var(--gold)}.conf-stack{position:relative}.conf-stack:before{content:'';position:absolute;left:25px;top:42px;bottom:42px;width:2px;background:linear-gradient(var(--gold),#61a84b,var(--blue))}.conf-stack article{position:relative;margin:12px 0 12px 55px;padding:25px 28px;border:1px solid #46565a;background:rgba(255,255,255,.025)}.conf-stack article>span{font:500 .61rem 'IBM Plex Mono';color:#8fa0a4}.conf-stack h3{font-size:1.2rem;margin:8px 0 3px}.conf-stack p{margin:0;color:#aebabc;font:500 .66rem 'IBM Plex Mono';letter-spacing:.05em}.conf-stack i{position:absolute;left:-35px;top:50%;width:11px;height:11px;border-radius:50%;transform:translate(-50%,-50%);background:var(--gold);box-shadow:0 0 0 6px rgba(216,180,115,.08),0 0 17px rgba(216,180,115,.5)}.conf-stack .conf-2 i{background:#61a84b;box-shadow:0 0 0 6px rgba(97,168,75,.08),0 0 17px rgba(97,168,75,.5)}.conf-stack .conf-3 i{background:var(--blue);box-shadow:0 0 0 6px rgba(57,175,206,.08),0 0 17px rgba(57,175,206,.55)}.company-cta{max-width:var(--max);margin:auto;padding:100px 24px;display:flex;align-items:end;justify-content:space-between;gap:40px}.company-cta h2{max-width:760px}
.contact-hero{max-width:var(--max);margin:auto;padding:115px 24px 90px}.contact-main{max-width:var(--max);margin:0 auto 110px;padding:0 24px;display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.contact-direct>a{display:grid;grid-template-columns:1fr auto;gap:8px;padding:24px 0;border-top:1px solid var(--line)}.contact-direct>a:last-child{border-bottom:1px solid var(--line)}.contact-direct span{grid-column:1;font:500 .61rem 'IBM Plex Mono';letter-spacing:.09em;color:#9a7130}.contact-direct strong{grid-column:1;font-size:1.45rem}.contact-direct b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.4rem}.contact-offices{border-top:1px solid var(--line)}.contact-offices>.kicker{padding-top:18px}.contact-offices article{display:grid;grid-template-columns:55px 1fr;padding:27px 0;border-bottom:1px solid var(--line)}.contact-offices article>span{font:500 .62rem 'IBM Plex Mono';color:#9a7130}.contact-offices h2{font-size:1.45rem;margin:0}.contact-offices p,.contact-offices small{grid-column:2}.contact-offices p{font-weight:600;margin:7px 0}.contact-offices small{color:var(--muted);font-size:.93rem}.contact-services{background:var(--dark);color:#fff;padding:100px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.contact-services>a{position:relative;min-height:330px;padding:32px;border:1px solid #46565a;display:flex;flex-direction:column;transition:.35s ease}.contact-services>a:hover{transform:translateY(-5px);border-color:var(--gold);background:rgba(255,255,255,.03)}.contact-services>a>span{font:500 .64rem 'IBM Plex Mono';color:var(--gold)}.contact-services h2{font-size:1.75rem;margin:65px 0 15px}.contact-services p{color:#aebabc;margin:0}.contact-services b{margin-top:auto;padding-top:30px;font:500 .64rem 'IBM Plex Mono';color:var(--blue)}
@media(max-width:900px){.company-hero,.company-manifesto,.company-confederation,.contact-main{grid-template-columns:1fr}.company-orbit{max-width:520px;width:100%;margin:auto}.company-section-head{grid-template-columns:1fr;gap:25px}.contact-services{grid-template-columns:1fr}.contact-services>a{min-height:250px}}
@media(max-width:600px){.company-hero,.company-locations,.company-history,.company-cta,.contact-hero,.contact-main{padding-left:18px;padding-right:18px}.company-hero{padding-top:75px;gap:35px}.company-hero h1,.contact-hero h1{font-size:2.85rem}.company-orbit{height:330px}.company-core{width:150px;height:95px;padding:25px 19px}.company-ring.ring-a{width:170px;height:170px}.company-ring.ring-b{width:245px;height:245px}.company-ring.ring-c{width:315px;height:315px}.company-manifesto,.company-confederation,.contact-services{padding:85px 18px}.location-grid{grid-template-columns:1fr}.location-grid article{min-height:285px;padding:28px}.timeline-grid article{grid-template-columns:64px 1fr;gap:18px}.timeline-grid article>div{grid-column:2}.timeline-grid article>i{left:59px}.timeline-grid p{margin-top:8px}.company-cta{align-items:flex-start;flex-direction:column}.contact-main{gap:55px}.contact-direct strong{font-size:1.12rem}.contact-offices article{grid-template-columns:38px 1fr}}
@media(prefers-reduced-motion:reduce){.company-ring{animation:none}}

/* v27 final refinements */
.timeline-grid article{grid-template-columns:110px 1fr}
.company-ring.ring-a b{animation:company-label-counter 24s linear infinite}.company-ring.ring-b b{animation:company-label-forward 31s linear infinite}.company-ring.ring-c b{animation:company-label-counter 38s linear infinite}
@keyframes company-label-counter{to{transform:translateX(-50%) rotate(-360deg)}}@keyframes company-label-forward{to{transform:translateX(-50%) rotate(360deg)}}
@media(max-width:600px){.timeline-grid article{grid-template-columns:64px 1fr}}
@media(prefers-reduced-motion:reduce){.company-ring b{animation:none}}
@media(max-width:1100px){.site-header{height:72px}.site-header nav,.langs{display:none}.menu{display:block;border:0;background:transparent;font:500 .8rem 'IBM Plex Mono'}.site-header.open nav{display:flex;position:absolute;top:72px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;border-bottom:1px solid var(--line)}.site-header.open nav .nav-langs{display:flex;gap:18px;padding-top:18px;border-top:1px solid var(--line);font:500 .78rem 'IBM Plex Mono'}}

/* v28 — three operating locations, official photography and 2026 Trento milestone */
.location-grid{grid-template-columns:repeat(3,1fr);border-top:0;background:var(--line);gap:1px}
.location-grid article{min-width:0;min-height:520px;padding:0;border:0;background:#fff;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.location-grid article:hover{z-index:2;transform:translateY(-7px);box-shadow:0 24px 55px rgba(23,37,42,.14)}
.location-grid figure{position:relative;aspect-ratio:16/10;margin:0;overflow:hidden;background:#dfe6e8}
.location-grid figure:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(23,37,42,.32),transparent 48%);pointer-events:none}
.location-grid figure img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.location-grid article:hover figure img{transform:scale(1.045);filter:saturate(1.06)}
.location-grid .location-copy{padding:29px 30px 34px}
.location-grid .location-copy>span{font:600 .66rem 'IBM Plex Mono';color:#9a7130}
.location-grid h3{font-size:1.75rem;margin:25px 0 10px}
.location-grid b{display:block;min-height:34px;font-size:.66rem;line-height:1.5}
.location-grid p{margin-top:20px;font-size:.96rem}
@media(max-width:1050px){.location-grid{grid-template-columns:1fr 1fr}.location-grid article:last-child{grid-column:1/-1}.location-grid article:last-child{display:grid;grid-template-columns:1fr 1fr;min-height:360px}.location-grid article:last-child figure{aspect-ratio:auto}.location-grid article:last-child .location-copy{align-self:center;padding:42px}}
@media(max-width:650px){.location-grid{grid-template-columns:1fr}.location-grid article,.location-grid article:last-child{grid-column:auto;display:block;min-height:0}.location-grid article:last-child figure{aspect-ratio:16/10}.location-grid .location-copy,.location-grid article:last-child .location-copy{padding:25px 24px 30px}.location-grid h3{margin-top:20px}.location-grid b{min-height:0}.location-grid article:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.location-grid article,.location-grid figure img{transition:none}}

/* v29 — lighter company orbit: open centre and legible milestone capsules */
.company-orbit{background:radial-gradient(circle,rgba(57,175,206,.11) 0,rgba(57,175,206,.035) 38%,transparent 69%)}
.company-core{width:178px;height:178px;padding:42px 20px;border:1px solid rgba(216,180,115,.58);border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(23,37,42,.12),0 0 0 10px rgba(216,180,115,.035);overflow:hidden}
.company-core:before{content:'';position:absolute;inset:9px;border:1px solid rgba(57,175,206,.16);border-radius:50%}
.company-core img{position:relative;z-index:1;width:100%;filter:none}
.company-ring{border-width:1.5px}
.company-ring b{top:-19px;min-width:58px;padding:6px 10px;border:1px solid currentColor;border-radius:999px;background:#17252a;color:#fff!important;box-shadow:0 7px 20px rgba(23,37,42,.18);font-size:.72rem;line-height:1;text-align:center;letter-spacing:.02em}
.company-ring:after{left:calc(50% - 43px);top:-5px;width:10px;height:10px;border:2px solid #fff}
.company-ring.ring-a b{border-color:var(--gold);box-shadow:0 7px 20px rgba(23,37,42,.16),0 0 0 3px rgba(216,180,115,.08)}
.company-ring.ring-b b{border-color:#61a84b;box-shadow:0 7px 20px rgba(23,37,42,.16),0 0 0 3px rgba(97,168,75,.08)}
.company-ring.ring-c b{border-color:var(--blue);box-shadow:0 7px 20px rgba(23,37,42,.16),0 0 0 3px rgba(57,175,206,.08)}
@media(max-width:600px){.company-core{width:130px;height:130px;padding:31px 15px}.company-ring b{top:-16px;min-width:49px;padding:5px 8px;font-size:.61rem}.company-ring:after{left:calc(50% - 36px);width:8px;height:8px}}

/* v30 — OFS three-dimensional solution: software, production, AI + Tutor */
.dimension-stage-3d{position:relative;height:560px;margin:0 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(57,175,206,.085),transparent 43%),linear-gradient(rgba(23,37,42,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(23,37,42,.025) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px;perspective:1200px;overflow:hidden}
.dimension-stage-3d:before,.dimension-stage-3d:after{content:'';position:absolute;left:50%;top:50%;border:1px solid rgba(23,37,42,.055);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.dimension-stage-3d:before{width:450px;height:450px}.dimension-stage-3d:after{width:330px;height:330px}
.dimension-space{position:absolute;z-index:2;left:50%;top:50%;width:760px;height:520px;transform:translate(-50%,-50%);transform-style:preserve-3d;animation:dimension-space-float 9s ease-in-out infinite}
.dimension-sphere{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 20px 28px rgba(23,37,42,.08))}
.dimension-sphere .sphere-halo{fill:url(#sphere-halo)}.dimension-sphere .sphere-shell{fill:rgba(255,255,255,.54);stroke:rgba(23,37,42,.16);stroke-width:1.2}.dimension-sphere .sphere-wire{fill:none;stroke:rgba(23,37,42,.09);stroke-width:1}.dimension-sphere .wire-b{transform-origin:380px 260px;transform:rotate(32deg)}
.dimension-axis{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(23,37,42,.08))}.axis-software{stroke:#d8b473}.axis-production{stroke:#39afce}.axis-quality{stroke:#61a84b;stroke-dasharray:7 5}.dimension-particle{stroke:#fff;stroke-width:2}.particle-software{fill:#d8b473}.particle-production{fill:#39afce}.particle-quality{fill:#61a84b}
.dimension-core-3d{position:absolute;left:50%;top:50%;width:174px;height:174px;padding:34px 22px;transform:translate(-50%,-50%) translateZ(70px);border:1px solid rgba(216,180,115,.75);background:radial-gradient(circle at 36% 28%,#253a40,#17252a 66%);box-shadow:0 28px 58px rgba(23,37,42,.28),0 0 0 13px rgba(255,255,255,.72),0 0 0 14px rgba(57,175,206,.14);overflow:hidden;animation:dimension-core-pulse 5s ease-in-out infinite}.dimension-core-3d:before{content:'';position:absolute;inset:-35% 48% 35% -20%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}.dimension-core-3d:after{content:'3D';position:absolute;right:20px;bottom:17px;color:var(--gold);font:600 .52rem 'IBM Plex Mono';letter-spacing:.12em}.dimension-core-3d img{position:relative;z-index:1;width:100%}
.dimension-axis-labels{position:absolute;z-index:7;inset:0;pointer-events:none}.dimension-axis-label{position:absolute;width:205px;min-height:75px;padding:15px 16px 13px 25px;border:1px solid var(--line);background:rgba(255,255,255,.94);box-shadow:0 14px 32px rgba(23,37,42,.09);backdrop-filter:blur(7px)}.dimension-axis-label i{position:absolute;left:0;top:0;bottom:0;width:4px}.dimension-axis-label b,.dimension-axis-label small{display:block}.dimension-axis-label b{font:650 .72rem 'IBM Plex Mono';letter-spacing:.07em}.dimension-axis-label small{margin-top:7px;color:#758387;font:500 .54rem 'IBM Plex Mono';letter-spacing:.06em}.axis-label-1{left:3%;top:15%}.axis-label-1 i{background:#d8b473}.axis-label-2{right:2%;top:43%}.axis-label-2 i{background:#39afce}.axis-label-3{left:8%;bottom:11%}.axis-label-3 i{background:#61a84b}
.dimension-depth{position:absolute;z-index:1;color:#a7b2b5;font:500 .55rem 'IBM Plex Mono';letter-spacing:.12em}.depth-a{left:50%;top:24px}.depth-b{right:24px;top:50%}.depth-c{left:50%;bottom:24px}
@keyframes dimension-space-float{0%,100%{transform:translate(-50%,-50%) rotateX(0deg) rotateY(-1deg)}50%{transform:translate(-50%,-51.5%) rotateX(2deg) rotateY(2deg)}}@keyframes dimension-core-pulse{0%,100%{box-shadow:0 28px 58px rgba(23,37,42,.28),0 0 0 13px rgba(255,255,255,.72),0 0 0 14px rgba(57,175,206,.14)}50%{box-shadow:0 32px 68px rgba(23,37,42,.31),0 0 0 13px rgba(255,255,255,.78),0 0 0 17px rgba(57,175,206,.1)}}
@media(max-width:900px){.dimension-stage-3d{height:530px;transform:none;margin-left:0;margin-right:0}.dimension-space{transform:translate(-50%,-50%) scale(.84);animation:none}.axis-label-1{left:1%}.axis-label-2{right:1%}.axis-label-3{left:3%}}
@media(max-width:600px){.dimension-stage-3d{height:470px;margin-bottom:40px;background-size:auto,30px 30px,30px 30px}.dimension-stage-3d:before{width:315px;height:315px}.dimension-stage-3d:after{width:220px;height:220px}.dimension-space{width:620px;height:425px;transform:translate(-50%,-52%) scale(.6);animation:none}.dimension-axis-label{width:47%;min-height:64px;padding:11px 10px 10px 17px}.dimension-axis-label b{font-size:.61rem}.dimension-axis-label small{font-size:.46rem;margin-top:5px}.axis-label-1{left:50%;top:9px;transform:translateX(-50%)}.axis-label-2{left:0;right:auto;top:auto;bottom:10px}.axis-label-3{left:auto;right:0;bottom:10px}.dimension-depth{display:none}.dimension-core-3d{width:174px;height:174px;padding:34px 22px}.dimension-line{line-height:1.65}}
@media(prefers-reduced-motion:reduce){.dimension-space,.dimension-core-3d{animation:none}.dimension-particle{display:none}}

/* v31 — bottom-home prototype: production point tracked jointly by MES and Quality AI */
.tracking-section{position:relative;overflow:hidden;padding:120px max(24px,calc((100vw - var(--max))/2));background:#17252a;color:#fff}.tracking-section:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,black 23%,black 83%,transparent)}.tracking-head{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.tracking-head h2{max-width:760px;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.98;letter-spacing:-.05em}.tracking-head>p{max-width:680px;margin:0;color:#b5c0c3;font-size:1.12rem}.tracking-stage{position:relative;z-index:2;height:290px;margin-top:75px;border-top:1px solid #415156;border-bottom:1px solid #415156;background:linear-gradient(90deg,rgba(216,180,115,.018),rgba(97,168,75,.02),rgba(57,175,206,.024));overflow:hidden}.tracking-caption{position:absolute;left:0;top:24px;font:600 .61rem 'IBM Plex Mono';letter-spacing:.13em;color:#d8b473}.tracking-line{position:absolute;left:4%;right:4%;top:50%;height:4px;transform:translateY(-50%);border-radius:999px;background:rgba(255,255,255,.11);box-shadow:0 0 0 1px rgba(255,255,255,.025)}.tracking-line i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#d8b473 0%,#d8b473 22%,#61a84b 48%,#61a84b 65%,#39afce 88%,#39afce 100%);box-shadow:0 0 16px rgba(57,175,206,.28);transform:scaleX(0);transform-origin:left;animation:tracking-progress 10s linear infinite}.tracking-stations{position:absolute;inset:0}.tracking-station{position:absolute;left:var(--pos);top:50%;width:1px;height:1px}.tracking-station>i{position:absolute;left:0;top:0;width:11px;height:11px;border:2px solid #17252a;border-radius:50%;transform:translate(-50%,-50%);background:#66777b;box-shadow:0 0 0 4px rgba(255,255,255,.025);animation:tracking-station-hit 10s linear infinite}.tracking-station>b{position:absolute;left:0;top:20px;transform:translateX(-50%);color:#93a2a6;font:500 .52rem 'IBM Plex Mono';letter-spacing:.08em;white-space:nowrap}.tracking-station:nth-child(even)>b{top:auto;bottom:20px}.tracking-station.station-1>i{animation-delay:.3s}.tracking-station.station-2>i{animation-delay:2.05s}.tracking-station.station-3>i{animation-delay:3.85s}.tracking-station.station-4>i{animation-delay:5.65s}.tracking-station.station-5>i{animation-delay:7.45s}.tracking-station.station-6>i{animation-delay:9.05s}.tracking-target{position:absolute;z-index:8;left:4%;top:50%;width:1px;height:1px;animation:tracking-target-travel 10s linear infinite}.tracking-ring{position:absolute;left:0;top:0;width:54px;height:54px;border:1px solid rgba(255,255,255,.72);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 7px rgba(255,255,255,.035),inset 0 0 16px rgba(255,255,255,.08);animation:tracking-ring-pulse 1.9s ease-in-out infinite}.tracking-ring:before,.tracking-ring:after{content:'';position:absolute;background:#fff}.tracking-ring:before{left:50%;top:-8px;width:1px;height:8px}.tracking-ring:after{top:50%;right:-8px;width:8px;height:1px}.tracking-axis{position:absolute;left:0;top:0;display:block;transform:translate(-50%,-50%)}.tracking-axis-mes{width:118px;height:2px;background:#39afce;box-shadow:0 0 10px rgba(57,175,206,.85)}.tracking-axis-ai{width:2px;height:118px;background:#61a84b;box-shadow:0 0 10px rgba(97,168,75,.75)}.tracking-axis>b{position:absolute;padding:4px 6px;border:1px solid currentColor;background:#17252a;font:600 .52rem 'IBM Plex Mono';letter-spacing:.08em;white-space:nowrap}.tracking-axis-mes>b{left:100%;top:50%;margin-left:8px;color:#66d0ec;transform:translateY(-50%)}.tracking-axis-ai>b{left:50%;top:100%;margin-top:8px;color:#83c973;transform:translateX(-50%)}.tracking-point{position:absolute;left:0;top:0;width:13px;height:13px;border:3px solid #17252a;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 0 5px rgba(216,180,115,.16),0 0 24px rgba(255,255,255,.95)}.tracking-arrow{position:absolute;z-index:5;right:3.6%;top:50%;width:14px;height:14px;border-top:3px solid #39afce;border-right:3px solid #39afce;transform:translateY(-50%) rotate(45deg);filter:drop-shadow(0 0 6px rgba(57,175,206,.7))}.tracking-legend{position:relative;z-index:2;display:flex;align-items:center;gap:30px;padding-top:24px;color:#98a7aa;font:500 .57rem 'IBM Plex Mono';letter-spacing:.09em}.tracking-legend span{display:flex;align-items:center;gap:8px}.tracking-legend i{width:19px;height:2px;background:#39afce}.tracking-legend span:nth-child(2) i{background:#61a84b}.tracking-legend>b{margin-left:auto;color:#d8b473;font:600 .57rem 'IBM Plex Mono'}
@keyframes tracking-target-travel{0%{left:4%;opacity:0}4%{opacity:1}94%{left:96%;opacity:1}98%,100%{left:96%;opacity:0}}@keyframes tracking-progress{0%{transform:scaleX(0);opacity:0}4%{opacity:1}94%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}@keyframes tracking-ring-pulse{0%,100%{width:48px;height:48px;opacity:.65}50%{width:60px;height:60px;opacity:1}}@keyframes tracking-station-hit{0%,9%{background:#fff;box-shadow:0 0 0 7px rgba(216,180,115,.12),0 0 20px rgba(216,180,115,.75)}10%,100%{background:#66777b;box-shadow:0 0 0 4px rgba(255,255,255,.025)}}
@media(max-width:900px){.tracking-head{grid-template-columns:1fr;gap:28px}.tracking-stage{margin-top:55px}}
@media(max-width:600px){.tracking-section{padding:85px 18px}.tracking-head h2{font-size:2.75rem}.tracking-stage{height:300px;margin-top:45px}.tracking-caption{font-size:.52rem}.tracking-station>b{font-size:.42rem;letter-spacing:.03em;max-width:62px;text-align:center;white-space:normal}.tracking-axis-mes{width:82px}.tracking-axis-ai{height:82px}.tracking-axis>b{font-size:.44rem;padding:3px 4px}.tracking-ring{width:45px;height:45px}.tracking-legend{gap:15px;flex-wrap:wrap}.tracking-legend>b{width:100%;margin-left:0}}

/* v33 — production tracking replaces the former sphere in section 05 */
.dimension-tracking-stage{height:330px;margin:65px 0 0;background:linear-gradient(90deg,rgba(216,180,115,.025),rgba(97,168,75,.03),rgba(57,175,206,.035)),#17252a;border:1px solid #415156;color:#fff;box-shadow:0 24px 55px rgba(23,37,42,.12)}
.dimension-tracking-legend{padding:20px 4px 48px;color:#78868a}
.dimension-tracking-legend>b{color:#9a7130}
@media(max-width:600px){.dimension-tracking-stage{height:315px;margin-top:42px}.dimension-tracking-legend{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){.tracking-target{left:52%;opacity:1;animation:none}.tracking-line i{transform:scaleX(.52);opacity:1;animation:none}.tracking-ring,.tracking-station>i{animation:none}.tracking-station>i{background:#8ca0a4}}

/* v32 — raised 3D tracking plane with readable systems on both sides */
.tracking-lock{position:absolute;left:0;top:-62px;width:1px;height:1px;transform-style:preserve-3d;transform:perspective(360px) rotateX(57deg) rotateZ(-20deg);filter:drop-shadow(12px 18px 13px rgba(0,0,0,.24))}.tracking-connector{position:absolute;left:0;top:-61px;width:1px;height:61px;border-left:1px dashed rgba(255,255,255,.34);transform-origin:bottom}.tracking-connector:before{content:'';position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 14px rgba(255,255,255,.85)}.tracking-lock .tracking-ring{border-width:2px;background:radial-gradient(circle,rgba(255,255,255,.09),transparent 65%)}.tracking-lock .tracking-axis-mes{background:#39afce;box-shadow:0 0 12px rgba(57,175,206,.95)}.tracking-lock .tracking-axis-ai{background:#61a84b;box-shadow:0 0 12px rgba(97,168,75,.88)}.tracking-side-label{position:absolute;top:-75px;padding:5px 8px;background:rgba(23,37,42,.94);font:650 .53rem 'IBM Plex Mono';letter-spacing:.08em;white-space:nowrap;box-shadow:0 8px 18px rgba(0,0,0,.2)}.tracking-side-mes{right:72px;color:#66d0ec;border:1px solid rgba(57,175,206,.72)}.tracking-side-ai{left:72px;color:#83c973;border:1px solid rgba(97,168,75,.72)}.tracking-side-mes:after,.tracking-side-ai:before{content:'';position:absolute;top:50%;width:33px;height:1px;opacity:.7}.tracking-side-mes:after{left:100%;background:#39afce}.tracking-side-ai:before{right:100%;background:#61a84b}.tracking-axis>b{display:none}
@media(max-width:600px){.tracking-lock{top:-55px;transform:perspective(300px) rotateX(58deg) rotateZ(-20deg)}.tracking-connector{top:-54px;height:54px}.tracking-side-label{top:-73px;padding:4px 5px;font-size:.41rem;letter-spacing:.035em}.tracking-side-mes{right:47px}.tracking-side-ai{left:47px}.tracking-side-mes:after,.tracking-side-ai:before{width:18px}}

/* v34 — tracking line in the upper process band; 3D solution restored in section 05 */
.tracking-signal{display:block;height:auto;padding:0 max(24px,calc((100vw - var(--max))/2));font:inherit;letter-spacing:normal;background:#17252a}
.signal-tracking-stage{height:220px;margin:0;border:0;background:linear-gradient(90deg,rgba(216,180,115,.025),rgba(97,168,75,.03),rgba(57,175,206,.035));color:#fff}
.signal-tracking-stage .tracking-caption{top:20px;color:#f1e5cd;font-size:.65rem}
@media(max-width:600px){.tracking-signal{padding:0 18px}.signal-tracking-stage{height:220px;margin:0}.signal-tracking-stage .tracking-caption{font-size:.48rem;letter-spacing:.08em}}

/* v35 — homepage art-directed unified hero */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home-premium .home-header{height:78px;position:relative;top:auto;background:#fff;border-bottom:0;padding:0 max(28px,calc((100vw - 1480px)/2));z-index:30}
.home-premium .home-brand{margin-right:auto}
.home-premium .home-brand .brand-logo{width:165px;height:52px;object-fit:contain;object-position:left center}
.home-premium .home-nav{margin-left:auto;display:flex;align-items:center;gap:56px;font:500 .69rem 'IBM Plex Mono',monospace;letter-spacing:.04em;color:#617075}
.home-premium .home-nav>a{display:flex;align-items:center;gap:7px}
.home-premium .home-nav>a:hover{color:#17252a}
.home-premium .home-nav .nav-divider{width:1px;height:28px;background:#9aa5a8;margin-left:18px}
.home-premium .home-nav .nav-contact{min-width:188px;height:42px;justify-content:center;border-radius:999px;background:#c9a45b;color:#17252a;font-weight:700;letter-spacing:.11em;box-shadow:inset 0 0 0 1px rgba(23,37,42,.04)}
.home-premium .home-nav .nav-contact:hover{background:#d8b473;color:#17252a}
.premium-hero{position:relative;max-width:1672px;margin:0 auto;background:#fff;overflow:hidden;isolation:isolate}
.premium-hero-art{position:relative;width:100%;line-height:0}
.premium-hero-art img{display:block;width:100%;height:auto}
.premium-hotspot{position:absolute;z-index:8;display:block;border-radius:4px}
.hotspot-system{left:5.75%;top:46.2%;width:12.1%;height:5.6%}
.hotspot-contact{left:19.2%;top:46.1%;width:17.7%;height:5.7%}
.premium-hotspot:focus-visible{outline:3px solid #39afce;outline-offset:3px;background:rgba(57,175,206,.08)}
.premium-flow-scan{position:absolute;z-index:5;left:7.4%;top:80.45%;width:15%;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),#59cae8,transparent);filter:drop-shadow(0 0 7px rgba(89,202,232,.95));mix-blend-mode:screen;opacity:.0;animation:premium-flow-travel 7.6s cubic-bezier(.45,0,.2,1) infinite;pointer-events:none}
@keyframes premium-flow-travel{0%{transform:translateX(-55%);opacity:0}7%{opacity:.82}86%{opacity:.82}100%{transform:translateX(505%);opacity:0}}
.hero-mobile{display:none}
@media(max-width:1100px){
  .home-premium .home-header{height:72px;padding:0 22px;border-bottom:1px solid rgba(23,37,42,.09)}
  .home-premium .home-brand .brand-logo{width:138px;height:45px}
  .home-premium .home-header .menu{display:block}
  .home-premium .home-nav{display:none!important}
  .home-premium .home-header.open .home-nav{display:flex!important;position:absolute;top:72px;left:0;right:0;padding:24px;background:#fff;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line);z-index:50}
  .home-premium .home-header.open .home-nav .nav-divider{display:none}
  .home-premium .home-header.open .home-nav .nav-contact{width:100%}
}
@media(max-width:760px){
  .premium-hero{display:none}
  .hero-mobile{display:grid}
}
@media(prefers-reduced-motion:reduce){.premium-flow-scan{display:none}}

/* v36 — premium hero centered full-width + visible live process animation */
.home-premium .home-header{width:100%;max-width:none;margin:0 auto;padding-left:max(34px,calc((100vw - 1540px)/2));padding-right:max(34px,calc((100vw - 1540px)/2))}
.home-premium .home-brand .brand-logo{width:148px!important;height:48px!important;object-fit:contain!important;object-position:left center!important}
.home-premium .home-nav{gap:38px}
.premium-hero{width:100%;max-width:none;margin:0;background:#fff;overflow:hidden}
.premium-hero-art{width:100%;max-width:none;margin:0 auto;overflow:hidden}
.premium-hero-art>img{width:100%;max-width:none;height:auto;display:block;object-fit:cover;object-position:50% 50%}
.premium-motion-layer{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;overflow:visible;mix-blend-mode:screen}
.premium-orbit-rotator{position:absolute;left:65.98%;top:29.08%;transform:translate(-50%,-50%);aspect-ratio:1/1;border-radius:50%;z-index:7;pointer-events:none}
.premium-orbit-rotator i{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%}
.orbit-r1{width:16.75%;animation:premium-orbit-spin 16s linear infinite}
.orbit-r2{width:22.10%;animation:premium-orbit-spin-reverse 23s linear infinite}
.orbit-r3{width:27.40%;animation:premium-orbit-spin 30s linear infinite}
.orbit-r4{width:34.10%;animation:premium-orbit-spin-reverse 35s linear infinite}
.orbit-r1 i,.orbit-r3 i{background:#66d9f5;box-shadow:0 0 0 5px rgba(102,217,245,.12),0 0 18px rgba(102,217,245,.72)}
.orbit-r2 i,.orbit-r4 i{background:#f1c873;box-shadow:0 0 0 5px rgba(241,200,115,.10),0 0 18px rgba(241,200,115,.7)}
@keyframes premium-orbit-spin{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes premium-orbit-spin-reverse{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0deg)}}
.premium-orbit-dots{display:none}.premium-progress-glow-layer{display:none!important;opacity:0}.premium-progress-glow.glow-main{fill:rgba(112,228,255,.30)}.premium-progress-glow.glow-core{fill:rgba(255,255,255,.88)}.premium-line-node{position:absolute;z-index:7;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:screen;animation:premium-line-node-pulse 2.8s ease-in-out infinite;pointer-events:none}.premium-line-node:before{content:"";position:absolute;inset:0;border-radius:50%;background:currentColor;opacity:.62}.premium-line-node:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(255,255,255,.55);opacity:.45}.premium-line-node.node-gold{color:#f1c873}.premium-line-node.node-cyan{color:#66d9f5}.premium-line-node.node-green{color:#7fda70}.premium-line-node.node-1{left:47.9%;top:38.9%;animation-delay:0s}.premium-line-node.node-2{left:26.74%;top:63.0%;animation-delay:.28s}.premium-line-node.node-3{left:41.80%;top:50.15%;animation-delay:.56s}.premium-line-node.node-4{left:34.57%;top:67.18%;animation-delay:.84s}.premium-line-node.node-5{left:53.58%;top:58.38%;animation-delay:1.12s}.premium-line-node.node-6{left:65.92%;top:63.93%;animation-delay:1.4s}.premium-line-node.node-7{left:79.07%;top:71.10%;animation-delay:1.68s}.premium-line-node.node-8{left:87.74%;top:63.70%;animation-delay:1.96s}.premium-line-node.node-9{left:87.80%;top:70.18%;animation-delay:2.24s}
.premium-flow-scan{display:none!important}
@keyframes premium-flow-travel-v36{0%{transform:translateX(-20%);opacity:0}5%{opacity:1}92%{opacity:1}100%{transform:translateX(830%);opacity:0}}
.premium-crosshair-live{position:absolute;z-index:7;left:87.7%;top:66.7%;width:55px;height:55px;border:1.5px solid rgba(235,248,250,.88);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 16px rgba(89,202,232,.45),inset 0 0 10px rgba(89,202,232,.25);animation:premium-crosshair-breathe 2.6s ease-in-out infinite;pointer-events:none}
.premium-crosshair-live:before,.premium-crosshair-live:after{content:'';position:absolute;left:50%;top:50%;background:#65d8f3;box-shadow:0 0 10px rgba(89,202,232,.8);transform-origin:center}.premium-crosshair-live:before{width:94px;height:1px;transform:translate(-50%,-50%) rotate(-12deg)}.premium-crosshair-live:after{width:1px;height:94px;transform:translate(-50%,-50%) rotate(-12deg)}
.premium-crosshair-live i{position:absolute;inset:8px;border:1px solid rgba(119,218,109,.8);border-radius:50%;animation:premium-spin 5s linear infinite}.premium-crosshair-live b{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 14px #fff,0 0 24px #66d9f5}
@keyframes premium-spin{to{transform:rotate(360deg)}}
@keyframes premium-crosshair-breathe{0%,100%{opacity:.72;scale:.92}50%{opacity:1;scale:1.08}}
.premium-node-pulse{position:absolute;z-index:7;top:81.15%;width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.95);transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(102,217,245,.6);animation:premium-node 2.8s ease-out infinite;pointer-events:none}.premium-node-pulse:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#fff}.pulse-1{left:6.5%;animation-delay:0s}.pulse-2{left:21.2%;animation-delay:.35s}.pulse-3{left:34.7%;animation-delay:.7s}.pulse-4{left:50.1%;animation-delay:1.05s}.pulse-5{left:66.3%;animation-delay:1.4s}.pulse-6{left:80.2%;animation-delay:1.75s}
@keyframes premium-node{0%{box-shadow:0 0 0 0 rgba(102,217,245,.55),0 0 12px rgba(255,255,255,.55)}55%{box-shadow:0 0 0 12px rgba(102,217,245,.08),0 0 20px rgba(255,255,255,.35)}100%{box-shadow:0 0 0 0 rgba(102,217,245,0),0 0 0 rgba(255,255,255,0)}}
@media(min-width:1673px){.premium-hero-art>img{width:100vw}}
@media(max-width:1250px) and (min-width:1101px){.home-premium .home-nav{gap:24px}.home-premium .home-nav .nav-contact{min-width:160px}}
@media(max-width:1100px){.home-premium .home-brand .brand-logo{width:138px!important;height:44px!important}.premium-motion-layer,.premium-crosshair-live,.premium-node-pulse,.premium-orbit-rotator,.premium-line-node{display:none}}
@media(prefers-reduced-motion:reduce){.premium-motion-layer,.premium-crosshair-live,.premium-node-pulse,.premium-flow-scan,.premium-orbit-rotator,.premium-line-node{display:none!important}}

@keyframes premium-line-node-pulse{0%,100%{opacity:.32;transform:translate(-50%,-50%) scale(.9)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1.12)}}

/* v49 — rebuilt hero motion: stable rings, luminous network nodes, lot progression */
.premium-system-motion{position:absolute;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;overflow:visible}
.network-node .node-wave{fill:none;stroke-width:1.4;filter:url(#nodeGlow)}
.network-node .node-core{stroke:rgba(255,255,255,.82);stroke-width:1.15;filter:url(#nodeGlow)}
.network-node.node-gold .node-wave{stroke:#f1c873}.network-node.node-gold .node-core{fill:#f1c873}
.network-node.node-cyan .node-wave{stroke:#66d9f5}.network-node.node-cyan .node-core{fill:#66d9f5}
.network-node.node-green .node-wave{stroke:#7fda70}.network-node.node-green .node-core{fill:#7fda70}
.stage-wave{fill:none;stroke:url(#lotGradient);stroke-width:1.6;filter:url(#nodeGlow)}
.lot-halo{fill:none;stroke:url(#lotGradient);stroke-width:4;opacity:.72;filter:url(#lotGlow)}
.lot-core{fill:#fff;stroke:#63d7f3;stroke-width:2;filter:url(#lotGlow)}
.lot-direction{fill:none;stroke:#83dff5;stroke-width:2;stroke-linecap:round;opacity:.72}
.lot-tag{fill:rgba(23,37,42,.92);stroke:rgba(255,255,255,.52);stroke-width:1}
.lot-label{fill:#fff;font:650 9px 'IBM Plex Mono',monospace;letter-spacing:1.25px}
.premium-hotspot{z-index:9}
.mobile-production-visual,.mobile-lot-flow{display:none}
.mobile-machine-visual{display:none}

@media(max-width:760px){
  .mobile-production-visual{display:none!important}
  .mobile-machine-visual{position:relative;display:block;width:100%;margin:0;background:#072637;overflow:hidden;box-shadow:0 28px 60px rgba(7,30,42,.26)}
  .mobile-machine-visual>img{display:block;width:100%;height:auto}
  .mobile-machine-visual:after{content:'';position:absolute;z-index:2;left:0;right:0;bottom:0;height:11%;background:linear-gradient(180deg,transparent,rgba(7,31,43,.38));pointer-events:none}
  .mobile-machine-motion{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}
  .mobile-machine-runner .runner-halo{fill:rgba(255,255,255,.22);stroke:#65ddf7;stroke-width:4}
  .mobile-machine-runner .runner-core{fill:#fff;stroke:#17252a;stroke-width:3}
  .mobile-machine-runner rect{fill:rgba(23,37,42,.94);stroke:rgba(255,255,255,.7);stroke-width:2}
  .mobile-machine-runner text{fill:#fff;font:700 15px 'IBM Plex Mono',monospace;letter-spacing:1.4px}
  .hero-mobile .factory-map{display:none}
  .mobile-production-visual{position:relative;display:block;width:100%;margin:0;background:#dceff3;border-bottom:1px solid rgba(57,175,206,.28);overflow:hidden;box-shadow:0 24px 55px rgba(23,37,42,.18)}
  .mobile-production-scene{display:block;width:100%;height:auto;min-height:560px}
  .mobile-scene-kicker{fill:#8a6227;font:700 10px 'IBM Plex Mono',monospace;letter-spacing:1.7px}
  .mobile-scene-sub{fill:#536b72;font:600 7.5px 'IBM Plex Mono',monospace;letter-spacing:1.2px}
  .mobile-core-title{fill:#e3c98f;font:800 25px Inter,sans-serif;letter-spacing:-1px}
  .mobile-core-sub{fill:#fff;font:600 5px 'IBM Plex Mono',monospace;letter-spacing:.65px}
  .mobile-orbit-pill rect,.mobile-stage-row rect{fill:rgba(255,255,255,.94);stroke:rgba(23,37,42,.13)}
  .mobile-orbit-pill text{fill:#17252a;font:700 8px 'IBM Plex Mono',monospace;letter-spacing:.25px}
  .mobile-orbit-pill .cyan{fill:#39afce}.mobile-orbit-pill .gold{fill:#d8b473}.mobile-orbit-pill .green{fill:#61a84b}
  .mobile-process-spine{fill:none;stroke:url(#mobileProcessGradient);stroke-width:4;stroke-linecap:round;filter:url(#mobileSceneGlow)}
  .mobile-stage-row path{fill:none;stroke:rgba(255,255,255,.72);stroke-width:1.2;stroke-dasharray:3 4}
  .mobile-stage-row text{fill:#17252a;font:750 8.5px 'IBM Plex Mono',monospace;letter-spacing:.45px}
  .mobile-stage-row .stage-no{fill:#a7762d;font-size:7px}
  .mobile-stage-nodes circle{fill:#fff;stroke:#17313d;stroke-width:3;filter:url(#mobileSceneGlow)}
  .mobile-batch-runner>circle:first-child{fill:#fff;stroke:#39afce;stroke-width:2}.mobile-batch-runner .batch-core{fill:#17252a}.mobile-batch-runner rect{fill:#17252a;stroke:rgba(255,255,255,.55)}.mobile-batch-runner text{fill:#fff;font:700 7px 'IBM Plex Mono',monospace;letter-spacing:.7px}
  .hero-mobile{padding:42px 22px 52px}
  .hero-mobile .hero-copy{max-width:none}
  .hero-mobile h1{font-size:clamp(2.9rem,14vw,4.2rem);line-height:.91;letter-spacing:-.06em}
  .hero-mobile h1 span{display:block}
  .hero-mobile p{font-size:1rem;line-height:1.55}
  .mobile-lot-flow{display:block;padding:0 18px 42px;background:#fff}
  .mobile-lot-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);padding-top:30px}
  .mobile-lot-track:before{content:'';position:absolute;left:8%;right:8%;top:35px;height:2px;background:linear-gradient(90deg,#d8b473 0%,#d8b473 25%,#75d86c 53%,#39afce 100%);box-shadow:0 0 12px rgba(57,175,206,.28)}
  .mobile-lot-track>span{position:relative;z-index:2;display:grid;justify-items:center;gap:12px;color:#6b777a;font:600 .43rem 'IBM Plex Mono',monospace;letter-spacing:.02em;text-align:center}
  .mobile-lot-track>span i{width:11px;height:11px;border:2px solid #fff;border-radius:50%;background:#17252a;box-shadow:0 0 0 1px rgba(23,37,42,.28),0 0 11px rgba(57,175,206,.28)}
  .mobile-lot-track>span:nth-child(1) i,.mobile-lot-track>span:nth-child(2) i{background:#d8b473}
  .mobile-lot-track>span:nth-child(3) i,.mobile-lot-track>span:nth-child(4) i{background:#75d86c}
  .mobile-lot-track>span:nth-child(5) i,.mobile-lot-track>span:nth-child(6) i{background:#39afce}
  .mobile-lot-track>em{position:absolute;z-index:4;left:8%;top:25px;width:21px;height:21px;border:2px solid #fff;border-radius:50%;background:#17252a;box-shadow:0 0 0 4px rgba(57,175,206,.12),0 0 16px rgba(57,175,206,.7);transform:translateX(-50%);animation:mobile-lot-progress 9s ease-in-out infinite}
  .mobile-lot-track>em small{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);padding:2px 5px;border-radius:8px;background:#17252a;color:#fff;font:600 .42rem 'IBM Plex Mono',monospace;letter-spacing:.06em;white-space:nowrap}
  @keyframes mobile-lot-progress{0%{left:8%}16%{left:24.8%}32%{left:41.6%}48%{left:58.4%}64%{left:75.2%}82%,94%{left:92%}100%{left:8%}}
}

@media(prefers-reduced-motion:reduce){
  .premium-system-motion .node-wave,.premium-system-motion .stage-wave,.premium-system-motion .lot-runner{display:none!important}
  .mobile-batch-runner{display:none}
  .mobile-lot-track>em{animation:none!important;left:58.4%}
}

/* v51 — OFS header mark enlarged at its real aspect ratio */
.home-premium .home-header{height:96px}
.home-premium .home-brand .brand-logo{width:142px!important;height:86px!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:1100px){
  .home-premium .home-header{height:82px}
  .home-premium .home-brand .brand-logo{width:110px!important;height:68px!important}
  .home-premium .home-header.open .home-nav{top:82px}
}

/* v53 — strong, clearly visible OFS masthead */
.home-premium .home-header{height:132px}
.home-premium .home-brand .brand-logo{width:220px!important;height:126px!important}
@media(max-width:1100px){
  .home-premium .home-header{height:96px}
  .home-premium .home-brand .brand-logo{width:150px!important;height:91px!important}
  .home-premium .home-header.open .home-nav{top:96px}
}

/* v54 — technical hero artwork and crisp mobile module architecture */
.mobile-module-labels{display:none}
@media(max-width:760px){
  .mobile-module-labels{position:absolute;z-index:4;inset:0;display:block;pointer-events:none}
  .mobile-module-labels span{position:absolute;display:flex;align-items:center;gap:5px;min-height:23px;padding:4px 7px;border:1px solid rgba(125,177,196,.58);border-radius:5px;background:rgba(244,250,252,.93);box-shadow:0 5px 16px rgba(0,18,30,.27),inset 0 1px rgba(255,255,255,.75);color:#102b38;font:750 clamp(.39rem,1.72vw,.54rem)/1.1 'IBM Plex Mono',monospace;letter-spacing:.025em;white-space:nowrap;backdrop-filter:blur(5px)}
  .mobile-module-labels span:before{content:'';flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#17252a;box-shadow:0 0 7px rgba(23,37,42,.42)}
  .mobile-module-labels .module-ai,.mobile-module-labels .module-traceability,.mobile-module-labels .module-erp,.mobile-module-labels .module-kpi{border-color:rgba(57,175,206,.72)}
  .mobile-module-labels .module-ai:before,.mobile-module-labels .module-traceability:before,.mobile-module-labels .module-erp:before,.mobile-module-labels .module-kpi:before{background:#26add2;box-shadow:0 0 8px rgba(38,173,210,.72)}
  .mobile-module-labels .module-warehouse,.mobile-module-labels .module-product,.mobile-module-labels .module-packaging,.mobile-module-labels .module-picking{border-color:rgba(216,180,115,.78)}
  .mobile-module-labels .module-warehouse:before,.mobile-module-labels .module-product:before,.mobile-module-labels .module-packaging:before,.mobile-module-labels .module-picking:before{background:#d8b473;box-shadow:0 0 8px rgba(216,180,115,.72)}
  .mobile-module-labels .module-quality,.mobile-module-labels .module-planning{border-color:rgba(97,168,75,.7)}
  .mobile-module-labels .module-quality:before,.mobile-module-labels .module-planning:before{background:#61a84b;box-shadow:0 0 8px rgba(97,168,75,.72)}
  .module-ai{top:2.7%;left:50%;transform:translateX(-50%)}
  .module-warehouse{top:8.8%;left:2.8%}.module-recipes{top:8.8%;right:2.8%}
  .module-maintenance{top:15.1%;left:1.7%}.module-traceability{top:15.1%;right:1.7%}
  .module-product{top:21.4%;left:1.7%}.module-erp{top:21.4%;right:1.7%}
  .module-costs{top:27.7%;left:2.8%}.module-planning{top:27.7%;right:2.8%}
  .module-quality{top:34%;left:2.8%}.module-packaging{top:34%;right:2.8%}
  .module-picking{top:40.3%;left:2.8%}.module-kpi{top:40.3%;right:2.8%}
  .mobile-machine-motion{z-index:5}
}
@media(max-width:390px){
  .mobile-module-labels span{gap:4px;min-height:21px;padding:3px 5px;font-size:.37rem;letter-spacing:0}
  .mobile-module-labels span:before{width:5px;height:5px}
}

/* v55 — compact international language flags */
.langs,.nav-langs,.home-lang-flags{align-items:center}
.langs a,.nav-langs a,.home-lang-flags a{display:inline-flex;align-items:center;gap:5px;padding:5px 6px;border:1px solid transparent;border-radius:5px;color:#627075;line-height:1}
.langs a:hover,.nav-langs a:hover,.home-lang-flags a:hover{border-color:rgba(23,37,42,.15);background:#f5f8f8;color:#17252a}
.langs a[aria-current="page"],.nav-langs a[aria-current="page"],.home-lang-flags a[aria-current="page"]{border-color:rgba(201,164,91,.7);background:rgba(216,180,115,.14);color:#17252a;font-weight:700}
.lang-flag{display:inline-block;width:21px;height:14px;flex:0 0 21px;border-radius:2px;box-shadow:0 0 0 1px rgba(23,37,42,.18),0 2px 5px rgba(23,37,42,.12);overflow:hidden}
.flag-it{background:linear-gradient(90deg,#009246 0 33.333%,#fff 33.333% 66.666%,#ce2b37 66.666%)}
.flag-de{background:linear-gradient(180deg,#171717 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666%)}
.flag-en{background:linear-gradient(90deg,transparent 41%,#fff 41% 59%,transparent 59%),linear-gradient(180deg,transparent 36%,#fff 36% 64%,transparent 64%),linear-gradient(90deg,transparent 46%,#c8102e 46% 54%,transparent 54%),linear-gradient(180deg,transparent 43%,#c8102e 43% 57%,transparent 57%),linear-gradient(33deg,transparent 43%,#fff 43% 49%,#c8102e 49% 52%,#fff 52% 58%,transparent 58%),linear-gradient(-33deg,transparent 43%,#fff 43% 49%,#c8102e 49% 52%,#fff 52% 58%,transparent 58%),#012169;background-size:100% 100%}
.home-premium .home-nav .home-lang-flags{display:flex;gap:2px;font:600 .62rem 'IBM Plex Mono',monospace;letter-spacing:.02em}
.home-premium .home-nav .home-lang-flags a{gap:4px;padding:5px}
.home-premium .home-nav .home-lang-flags .lang-flag{width:19px;height:13px;flex-basis:19px}
@media(max-width:1100px){
  .home-premium .home-header.open .home-nav .home-lang-flags{display:flex!important;width:100%;gap:10px;padding-top:18px;border-top:1px solid var(--line)}
  .site-header.open nav .nav-langs a{padding:7px 9px}
}

/* v65 — restored premium homes, compact sticky navigation and glass labels */
.site-header{
  transition:height .32s cubic-bezier(.2,.7,.2,1),background-color .32s ease,box-shadow .32s ease,border-color .32s ease;
  will-change:height;
}
.site-header .brand-logo,.site-header nav,.site-header .langs{
  transition:width .32s cubic-bezier(.2,.7,.2,1),height .32s cubic-bezier(.2,.7,.2,1),gap .32s ease,margin .32s ease,font-size .32s ease;
}
.site-header.is-compact{
  height:66px;
  background:rgba(255,255,255,.91);
  border-bottom-color:rgba(23,37,42,.1);
  box-shadow:0 10px 28px rgba(23,37,42,.1);
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.site-header.is-compact .brand .brand-logo{width:170px!important;height:43px!important}
.site-header.is-compact nav{gap:20px;font-size:.78rem}
.site-header.is-compact .langs{margin-left:20px}

.home-premium .home-header{
  position:sticky;
  top:0;
}
.home-premium .home-header.is-compact{
  height:68px;
  background:rgba(255,255,255,.91);
  border-bottom:1px solid rgba(23,37,42,.1);
}
.home-premium .home-header.is-compact .home-brand .brand-logo{width:122px!important;height:62px!important}
.home-premium .home-header.is-compact .home-nav{gap:22px;font-size:.72rem}

.dimension-axis-label{
  border-color:rgba(23,37,42,.14);
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 28px rgba(23,37,42,.075);
  backdrop-filter:blur(9px) saturate(118%);
  -webkit-backdrop-filter:blur(9px) saturate(118%);
}
.dimension-axis-label i{opacity:.88}
.dimension-axis-label small{color:#657579}

@media(max-width:1100px){
  .site-header.is-compact,.home-premium .home-header.is-compact{height:60px}
  .site-header.is-compact .brand .brand-logo,.home-premium .home-header.is-compact .home-brand .brand-logo{width:146px!important;height:54px!important}
  .site-header.is-compact.open nav,.home-premium .home-header.is-compact.open .home-nav{top:60px}
}
@media(max-width:600px){
  .site-header.is-compact,.home-premium .home-header.is-compact{height:58px}
  .site-header.is-compact .brand .brand-logo,.home-premium .home-header.is-compact .home-brand .brand-logo{width:128px!important;height:51px!important}
  .site-header.is-compact.open nav,.home-premium .home-header.is-compact.open .home-nav{top:58px}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.site-header .brand-logo,.site-header nav,.site-header .langs{transition:none}
}

/* v56 — multilingual animated premium hero */
.localized-premium-art{position:relative;line-height:normal}
.premium-copy-overlay{position:absolute;z-index:9;left:5.8%;top:7.1%;width:39.5%;color:#14252b}
.premium-copy-overlay .kicker{margin:0 0 13px;color:#a7762d;font-size:.7rem}
.premium-copy-overlay h1{max-width:720px;margin:0;font-size:clamp(3.1rem,4.55vw,5.25rem);line-height:.94;letter-spacing:-.055em}
.premium-copy-overlay p{max-width:670px;margin:23px 0 22px;color:#5d7077;font-size:clamp(.92rem,1.16vw,1.18rem);line-height:1.42}
.premium-copy-overlay .actions{gap:28px}
.premium-copy-overlay .button{min-height:49px;padding:0 25px;border:1px solid rgba(255,255,255,.78);box-shadow:0 8px 22px rgba(23,37,42,.12)}
.premium-copy-overlay .text-link{font-size:1rem}
.desktop-module-labels{position:absolute;z-index:9;inset:0;pointer-events:none}
.desktop-module-labels span{position:absolute;display:flex;align-items:center;gap:7px;min-height:31px;padding:6px 10px;border:1px solid rgba(126,169,183,.48);border-radius:5px;background:rgba(249,252,253,.94);box-shadow:0 7px 18px rgba(0,24,37,.24),inset 0 1px rgba(255,255,255,.85);color:#122b38;font:750 clamp(.48rem,.61vw,.65rem)/1 'IBM Plex Mono',monospace;letter-spacing:.015em;white-space:nowrap;transform:translateX(-50%);backdrop-filter:blur(5px)}
.desktop-module-labels span:before{content:'';width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#17252a;box-shadow:0 0 8px rgba(23,37,42,.42)}
.desktop-module-labels .module-ai,.desktop-module-labels .module-traceability,.desktop-module-labels .module-erp,.desktop-module-labels .module-kpi{border-color:rgba(57,175,206,.68)}
.desktop-module-labels .module-ai:before,.desktop-module-labels .module-traceability:before,.desktop-module-labels .module-erp:before,.desktop-module-labels .module-kpi:before{background:#27afd3;box-shadow:0 0 9px rgba(39,175,211,.8)}
.desktop-module-labels .module-warehouse,.desktop-module-labels .module-product,.desktop-module-labels .module-packaging,.desktop-module-labels .module-picking{border-color:rgba(216,180,115,.76)}
.desktop-module-labels .module-warehouse:before,.desktop-module-labels .module-product:before,.desktop-module-labels .module-packaging:before,.desktop-module-labels .module-picking:before{background:#d8b473;box-shadow:0 0 9px rgba(216,180,115,.8)}
.desktop-module-labels .module-quality,.desktop-module-labels .module-planning{border-color:rgba(97,168,75,.68)}
.desktop-module-labels .module-quality:before,.desktop-module-labels .module-planning:before{background:#61a84b;box-shadow:0 0 9px rgba(97,168,75,.8)}
.desktop-module-labels .module-ai{top:3.7%;left:65.6%}.desktop-module-labels .module-warehouse{top:8.8%;left:65.6%}
.desktop-module-labels .module-maintenance{top:15.1%;left:59.7%}.desktop-module-labels .module-recipes{top:15.1%;left:71.2%}
.desktop-module-labels .module-product{top:20.6%;left:54.9%}.desktop-module-labels .module-traceability{top:20.6%;left:75.7%}
.desktop-module-labels .module-costs{top:27.3%;left:52.5%}.desktop-module-labels .module-erp{top:27.3%;left:78.5%}
.desktop-module-labels .module-quality{top:37.1%;left:59.2%}.desktop-module-labels .module-planning{top:37.1%;left:72.2%}
.desktop-module-labels .module-picking{top:43.3%;left:59.7%}.desktop-module-labels .module-packaging{top:43.3%;left:72.5%}
.desktop-module-labels .module-kpi{top:49.6%;left:65.6%}
.desktop-stage-labels{position:absolute;z-index:9;inset:0;pointer-events:none;color:#eef7f8;font:700 clamp(.48rem,.7vw,.72rem) 'IBM Plex Mono',monospace;letter-spacing:.08em;text-shadow:0 2px 7px rgba(0,16,26,.9)}
.desktop-stage-labels span{position:absolute;top:84.7%;transform:translateX(-50%);white-space:nowrap}
.desktop-stage-labels .stage-1{left:7.6%}.desktop-stage-labels .stage-2{left:21.9%}.desktop-stage-labels .stage-3{left:35.1%}.desktop-stage-labels .stage-4{left:49.9%}.desktop-stage-labels .stage-5{left:65.3%}.desktop-stage-labels .stage-6{left:79.3%}
@media(max-width:1250px) and (min-width:761px){
  .premium-copy-overlay{left:4.8%;top:6.3%;width:41%}
  .premium-copy-overlay h1{font-size:clamp(2.7rem,4.45vw,4rem)}
  .premium-copy-overlay p{margin:15px 0;font-size:.87rem}
  .premium-copy-overlay .button{min-height:42px;padding:0 18px;font-size:.86rem}
  .premium-copy-overlay .text-link{font-size:.86rem}
  .desktop-module-labels span{min-height:25px;padding:4px 7px;font-size:.46rem;gap:5px}
  .desktop-module-labels span:before{width:6px;height:6px;flex-basis:6px}
}
@media(max-width:760px){
  .localized-premium-hero{display:none}
}

/* v58 — stronger sequential module activity, still one pulse at a time */
.desktop-module-labels span,.mobile-module-labels span{
  --module-seq:0;
  scale:1;
  transform-origin:center;
  translate:0 0;
  will-change:scale,filter,translate;
  animation:module-active-pulse 26s ease-in-out infinite;
  animation-delay:calc(var(--module-seq) * 2s)
}
.desktop-module-labels span:before,.mobile-module-labels span:before{
  scale:1;
  animation:module-dot-pulse 26s ease-in-out infinite;
  animation-delay:calc(var(--module-seq) * 2s)
}
.desktop-module-labels span:nth-child(1),.mobile-module-labels span:nth-child(1){--module-seq:0}
.desktop-module-labels span:nth-child(2),.mobile-module-labels span:nth-child(2){--module-seq:1}
.desktop-module-labels span:nth-child(3),.mobile-module-labels span:nth-child(3){--module-seq:2}
.desktop-module-labels span:nth-child(4),.mobile-module-labels span:nth-child(4){--module-seq:3}
.desktop-module-labels span:nth-child(5),.mobile-module-labels span:nth-child(5){--module-seq:4}
.desktop-module-labels span:nth-child(6),.mobile-module-labels span:nth-child(6){--module-seq:5}
.desktop-module-labels span:nth-child(7),.mobile-module-labels span:nth-child(7){--module-seq:6}
.desktop-module-labels span:nth-child(8),.mobile-module-labels span:nth-child(8){--module-seq:7}
.desktop-module-labels span:nth-child(9),.mobile-module-labels span:nth-child(9){--module-seq:8}
.desktop-module-labels span:nth-child(10),.mobile-module-labels span:nth-child(10){--module-seq:9}
.desktop-module-labels span:nth-child(11),.mobile-module-labels span:nth-child(11){--module-seq:10}
.desktop-module-labels span:nth-child(12),.mobile-module-labels span:nth-child(12){--module-seq:11}
.desktop-module-labels span:nth-child(13),.mobile-module-labels span:nth-child(13){--module-seq:12}
@keyframes module-active-pulse{
  0%,7.5%,100%{scale:1;translate:0 0;filter:brightness(1)}
  3.75%{scale:1.09;translate:0 -2px;filter:brightness(1.17) drop-shadow(0 9px 12px rgba(6,59,82,.34))}
}
@keyframes module-active-pulse-mobile{
  0%,7.5%,100%{scale:1;translate:0 0;filter:brightness(1)}
  3.75%{scale:1.075;translate:0 -1px;filter:brightness(1.16) drop-shadow(0 7px 9px rgba(6,59,82,.32))}
}
@keyframes module-dot-pulse{
  0%,7.5%,100%{scale:1;filter:brightness(1)}
  3.75%{scale:1.95;filter:brightness(1.42) drop-shadow(0 0 5px rgba(255,255,255,.9))}
}
@media(max-width:760px){
  .mobile-module-labels span{animation-name:module-active-pulse-mobile}
}
@media(prefers-reduced-motion:reduce){
  .desktop-module-labels span,.mobile-module-labels span,
  .desktop-module-labels span:before,.mobile-module-labels span:before{animation:none!important}
}

/* v60 — US market: bolder outcome-led home without visual excess */
html[lang="en"] .premium-copy-overlay{top:5.9%;width:41.5%}
html[lang="en"] .premium-copy-overlay .kicker{display:inline-flex;align-items:center;gap:10px;color:#8f6424;letter-spacing:.12em}
html[lang="en"] .premium-copy-overlay .kicker:before{content:'';width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,#d8b473,#39afce);box-shadow:0 0 10px rgba(57,175,206,.24)}
html[lang="en"] .premium-copy-overlay h1{max-width:760px;font-size:clamp(3.5rem,5.05vw,5.85rem);line-height:.88;letter-spacing:-.063em;text-wrap:balance}
html[lang="en"] .premium-copy-overlay p{max-width:690px;color:#435e68;font-weight:510}
html[lang="en"] .premium-copy-overlay .button,html[lang="en"] .hero-mobile .button{text-transform:uppercase;letter-spacing:.055em;font-weight:800;box-shadow:0 12px 28px rgba(163,116,36,.22),inset 0 0 0 1px rgba(255,255,255,.55)}
html[lang="en"] .premium-copy-overlay .text-link,html[lang="en"] .hero-mobile .text-link{font-weight:750;color:#102c39}
.us-value-bar{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:none;margin:0;background:#0d2732;color:#fff;overflow:hidden}
.us-value-bar:before{content:'';position:absolute;z-index:-1;left:-25%;top:0;width:24%;height:100%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(57,175,206,.13),transparent);animation:us-value-scan 9s ease-in-out infinite}
.us-value-bar article{position:relative;min-height:158px;padding:29px clamp(22px,3vw,58px);border-right:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;justify-content:center;transition:background .3s ease,transform .3s ease}
.us-value-bar article:last-child{border-right:0}
.us-value-bar article:hover{background:rgba(255,255,255,.035);transform:translateY(-2px)}
.us-value-bar span{position:absolute;right:20px;top:18px;color:#d8b473;font:650 .58rem 'IBM Plex Mono',monospace;letter-spacing:.12em}
.us-value-bar strong{font-size:clamp(1.1rem,1.45vw,1.55rem);line-height:1.05;text-transform:uppercase;letter-spacing:-.025em}
.us-value-bar small{display:block;margin-top:9px;color:#a9bec4;font-size:.88rem;line-height:1.35}
.us-outcome-cards article{background:linear-gradient(145deg,#fff 55%,#f3f8f9)}
.us-outcome-cards article:nth-child(3n+1){box-shadow:inset 0 3px #d8b473}
.us-outcome-cards article:nth-child(3n+2){box-shadow:inset 0 3px #6eaf59}
.us-outcome-cards article:nth-child(3n+3){box-shadow:inset 0 3px #39afce}
@keyframes us-value-scan{0%{left:-28%;opacity:0}12%{opacity:1}72%{opacity:1}100%{left:108%;opacity:0}}
@media(max-width:1250px) and (min-width:761px){
  html[lang="en"] .premium-copy-overlay{top:4.7%;width:43%}
  html[lang="en"] .premium-copy-overlay h1{font-size:clamp(3rem,4.8vw,4.4rem)}
  .us-value-bar article{min-height:142px;padding:25px 24px}
}
@media(max-width:760px){
  html[lang="en"] .hero-mobile{padding-top:36px}
  html[lang="en"] .hero-mobile h1{font-size:clamp(3.05rem,15vw,4.45rem);line-height:.87}
  html[lang="en"] .hero-mobile .kicker{color:#9a6d28}
  html[lang="en"] .hero-mobile .actions{gap:18px}
  .us-value-bar{grid-template-columns:1fr 1fr}
  .us-value-bar article{min-height:144px;padding:24px 18px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}
  .us-value-bar article:nth-child(2n){border-right:0}
  .us-value-bar article:nth-child(n+3){border-bottom:0}
  .us-value-bar strong{font-size:1rem}
  .us-value-bar small{font-size:.75rem}
}
@media(max-width:390px){
  .us-value-bar{grid-template-columns:1fr}
  .us-value-bar article,.us-value-bar article:nth-child(2n),.us-value-bar article:nth-child(n+3){min-height:112px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
  .us-value-bar article:last-child{border-bottom:0}
}
@media(prefers-reduced-motion:reduce){.us-value-bar:before{animation:none}}

/* v68 — clean white module names; one fast, readable 150% focus at a time */
@media(min-width:761px){
  .desktop-module-labels span{
    position:absolute;
    z-index:1;
    min-height:25px;
    padding:4px 8px;
    gap:6px;
    border-color:transparent!important;
    background-color:rgba(5,34,48,0);
    color:#fff;
    text-shadow:0 2px 7px rgba(0,18,29,.88);
    box-shadow:none;
    backdrop-filter:blur(0);
    -webkit-backdrop-filter:blur(0);
    opacity:.72;
    animation:module-orbit-focus 19.5s cubic-bezier(.3,.75,.25,1) infinite;
    animation-delay:calc(var(--module-seq) * 1.5s);
  }
  .desktop-module-labels span:before{
    width:6px;
    height:6px;
    flex-basis:6px;
    opacity:.7;
    box-shadow:none!important;
    animation:module-orbit-dot-focus 19.5s ease-in-out infinite;
    animation-delay:calc(var(--module-seq) * 1.5s);
  }
}
@keyframes module-orbit-focus{
  0%,7.7%,100%{z-index:1;opacity:.72;scale:1;translate:0 0;background-color:rgba(5,34,48,0);box-shadow:none;backdrop-filter:blur(0)}
  1.2%{z-index:20;opacity:.9;scale:1.12;background-color:rgba(5,34,48,.18)}
  3.85%{z-index:20;opacity:1;scale:1.5;translate:0 -1px;background-color:rgba(5,34,48,.88);box-shadow:0 10px 22px rgba(0,18,29,.30),inset 0 0 0 1px rgba(220,245,251,.42);backdrop-filter:blur(7px)}
  6.5%{z-index:20;opacity:.9;scale:1.12;background-color:rgba(5,34,48,.18);box-shadow:none}
}
@keyframes module-orbit-dot-focus{
  0%,7.7%,100%{opacity:.7;scale:1;filter:none}
  3.85%{opacity:1;scale:1.7;filter:brightness(1.25)}
}
@media(prefers-reduced-motion:reduce) and (min-width:761px){
  .desktop-module-labels span{opacity:.8;background-color:rgba(5,34,48,.28)}
}

/* v70 — larger resting labels and the same focus language on mobile */
@media(min-width:761px){
  .desktop-module-labels span{
    min-height:34px;
    padding:6px 12px;
    font-size:clamp(.76rem,.95vw,1.03rem);
    letter-spacing:.02em;
  }
}
@media(max-width:760px){
  .mobile-module-labels{z-index:6}
  .mobile-module-labels span{
    z-index:1;
    min-height:27px;
    padding:5px 8px;
    gap:5px;
    border-color:transparent!important;
    background-color:rgba(5,34,48,0);
    color:#fff;
    font-size:clamp(.54rem,2.42vw,.74rem);
    line-height:1.05;
    letter-spacing:.015em;
    text-shadow:0 2px 6px rgba(0,18,29,.96),0 0 2px rgba(0,18,29,.9);
    box-shadow:none;
    backdrop-filter:blur(0);
    -webkit-backdrop-filter:blur(0);
    opacity:.78;
    animation:module-orbit-focus 19.5s cubic-bezier(.3,.75,.25,1) infinite;
    animation-delay:calc(var(--module-seq) * 1.5s);
  }
  .mobile-module-labels span:before{
    width:6px;
    height:6px;
    flex-basis:6px;
    opacity:.72;
    box-shadow:none!important;
    animation:module-orbit-dot-focus 19.5s ease-in-out infinite;
    animation-delay:calc(var(--module-seq) * 1.5s);
  }
  .mobile-module-labels .module-ai{transform-origin:center center}
  .mobile-module-labels .module-warehouse,
  .mobile-module-labels .module-maintenance,
  .mobile-module-labels .module-product,
  .mobile-module-labels .module-costs,
  .mobile-module-labels .module-quality,
  .mobile-module-labels .module-picking{transform-origin:left center}
  .mobile-module-labels .module-recipes,
  .mobile-module-labels .module-traceability,
  .mobile-module-labels .module-erp,
  .mobile-module-labels .module-planning,
  .mobile-module-labels .module-packaging,
  .mobile-module-labels .module-kpi{transform-origin:right center}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){
  .mobile-module-labels span{opacity:.86;background-color:rgba(5,34,48,.28)}
}


/* v72 — ORIPAN MASTER BRAND ALIGNMENT
   mes.oripan.it keeps its indexed content/URLs but adopts the visual language of oripan.it. */
:root{
  --oripan-deep:#17252a;
  --oripan-gold:#d8b473;
  --oripan-line:#d9dedf;
  --oripan-soft:#f6f7f6;
}

/* Header: same corporate signature on every page */
.site-header,
.site-header.home-header{
  height:88px;
  padding-left:max(28px,calc((100vw - 1320px)/2));
  padding-right:max(28px,calc((100vw - 1320px)/2));
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(23,37,42,.12);
  box-shadow:none;
  backdrop-filter:blur(10px);
}
.brand,
.home-brand{gap:15px;min-width:0}
.brand .brand-logo,
.home-brand .brand-logo{
  width:150px!important;
  height:38px!important;
  object-fit:contain;
  object-position:left center;
}
.brand b,
.home-brand b{
  display:block;
  padding-left:15px;
  border-left:1px solid var(--oripan-line);
  color:#8c6a31;
  font:500 .68rem 'IBM Plex Mono',monospace;
  letter-spacing:.08em;
  white-space:nowrap;
}
.site-header nav,
.home-nav{
  gap:26px;
  align-items:center;
  font-size:.83rem;
  font-weight:500;
  letter-spacing:.01em;
}
.home-nav>a:not(.nav-contact){text-transform:none;letter-spacing:0}
.home-nav>a>span{font-size:.72em;opacity:.55;margin-left:3px}
.nav-contact{
  min-height:42px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(23,37,42,.22);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.nav-contact:hover{background:var(--oripan-deep);color:#fff!important;border-color:var(--oripan-deep)}
.nav-divider{height:28px!important;background:var(--oripan-line)!important}

/* Corporate typography and spacing */
body{color:var(--oripan-deep);background:#fff}
h1,h2,h3{font-weight:500}
.kicker{color:#8c6a31;letter-spacing:.12em}
.section{padding-top:118px;padding-bottom:118px}
.section h2,.dark-section h2,.results h2,.related h2,footer h2{font-weight:500}
.cards article,.deep-links>a,.detail-grid li{border-color:var(--oripan-line)}

/* CTA language mirrors the institutional site */
.button{border-radius:0;letter-spacing:.01em;transition:transform .2s ease,background .2s ease,color .2s ease}
.button.gold{background:var(--oripan-gold);color:var(--oripan-deep)}
.button:hover{transform:translateY(-1px)}
.text-link{border-bottom:1px solid rgba(23,37,42,.22);padding-bottom:2px}

/* Homepage: product-specialist content, corporate Oripan framing */
.home-premium .premium-hero{border-bottom:1px solid var(--oripan-line)}
.home-premium .premium-copy-overlay .kicker{color:#9a7130}
.home-premium .premium-copy-overlay h1{font-weight:500;letter-spacing:-.045em}
.home-premium .premium-copy-overlay p{font-weight:400}
.home-premium .home-system,
.home-premium .section,
.home-premium .deep-links{background:#fff}

/* Footer aligned to the Oripan corporate footer language */
footer{
  background:var(--oripan-deep);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
footer .kicker{color:var(--oripan-gold)}
footer .contact{border-left:1px solid rgba(255,255,255,.16);padding-left:38px}
footer a{transition:color .2s ease}
footer a:hover{color:var(--oripan-gold)}

@media(max-width:1100px){
  .site-header,.site-header.home-header{height:72px;padding-left:22px;padding-right:22px}
  .brand .brand-logo,.home-brand .brand-logo{width:132px!important;height:34px!important}
  .brand b,.home-brand b{font-size:.62rem;padding-left:11px}
  .site-header.open nav,.site-header.open .home-nav{top:72px;background:#fff;padding:24px 22px 28px;gap:18px}
  .site-header.open nav .nav-contact,.site-header.open .home-nav .nav-contact{width:max-content}
}
@media(max-width:600px){
  .site-header,.site-header.home-header{padding-left:16px;padding-right:16px}
  .brand .brand-logo,.home-brand .brand-logo{width:118px!important;height:30px!important}
  .brand b,.home-brand b{display:block;font-size:.56rem;letter-spacing:.05em}
  footer .contact{border-left:0;padding-left:0}
}


/* v73 — hero matched to oripan.it animation visual */
.oripan-match-hero{padding:24px 20px 26px;background:#0d1e25}
.oripan-match-stage{position:relative;max-width:1680px;margin:0 auto;background:#0d1e25;border-radius:0;overflow:hidden;aspect-ratio:2048/1523;box-shadow:0 28px 64px rgba(0,0,0,.26)}
.oripan-match-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.match-mask{position:absolute;background:#0d1e25;pointer-events:none}
.mask-left{left:5.1%;top:7%;width:24.2%;height:28%}
.mask-right{right:8.5%;top:45.6%;width:22.8%;height:15.8%}
.mask-bottom-left{left:4.4%;bottom:7%;width:41.5%;height:21.7%}
.mask-bottom-right{right:7.6%;bottom:7.1%;width:38%;height:21.2%}
.mask-top-right{right:0;top:0;width:14.5%;height:10.2%}
.match-copy{position:absolute;z-index:3;color:#fff;font-family:Inter,Arial,sans-serif;line-height:.92}
.match-copy-left{left:5.7%;top:8.6%;font-size:4.7vw;font-weight:300;color:rgba(255,255,255,.88)}
.match-copy-left span{display:block}.match-copy-left span+span{margin-top:.12em}
.match-copy-right{right:8.9%;top:44.8%;font-size:2.7vw;font-weight:300;line-height:1.03;text-align:center;color:#f1f5f7}
.match-copy-bottom-left{left:4.7%;bottom:8.3%;font-size:2.95vw;font-weight:300;line-height:1.02;color:#d9b76f}
.match-copy-bottom-right{right:7.8%;bottom:8%;width:38%;font-size:.94vw;line-height:1.55;color:#fff}
.match-copy-bottom-right p{margin:0 0 .85em 0}.match-copy-bottom-right p:last-child{margin-bottom:0}
.match-copy-bottom-right strong{font-weight:700}
.match-scroll{position:absolute;left:4.15%;top:59.8%;display:flex;flex-direction:column;align-items:center;gap:9px;color:#f3f6f6;font:500 .68vw/1 'IBM Plex Mono',monospace;letter-spacing:.22em}
.match-scroll span{writing-mode:vertical-rl;text-orientation:mixed}
.match-scroll i{display:block;width:1px;height:5.9vw;background:rgba(255,255,255,.45);position:relative}.match-scroll i:after{content:'';position:absolute;left:-4px;bottom:-2px;width:9px;height:9px;border-left:1px solid rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.6);transform:rotate(-45deg)}
.match-dot,.match-signal{position:absolute;z-index:4;pointer-events:none}
.match-dot{width:.95vw;height:.95vw;min-width:12px;min-height:12px;border-radius:50%;background:#d8b473;box-shadow:0 0 0 0 rgba(216,180,115,.55),0 0 14px rgba(216,180,115,.58);animation:matchDotPulse 3.2s ease-in-out infinite}
.dot-1{left:52%;top:14%;animation-delay:0s}.dot-2{left:38%;top:31.5%;animation-delay:.5s}.dot-3{left:77%;top:31%;animation-delay:1s}.dot-4{left:15.1%;top:45%;animation-delay:1.5s}.dot-5{left:72.5%;top:53%;animation-delay:2s}
.match-signal{height:3px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 24%,#59cae8 48%,rgba(255,255,255,.1) 100%);filter:drop-shadow(0 0 6px rgba(89,202,232,.85));opacity:.8;mix-blend-mode:screen;transform-origin:left center;animation:matchSignal 6.8s linear infinite}
.signal-1{left:25%;top:57.4%;width:20%;transform:rotate(25deg);animation-delay:0s}.signal-2{left:49%;top:46.3%;width:17%;transform:rotate(-35deg);animation-delay:1.6s}.signal-3{left:60.7%;top:55.2%;width:17%;transform:rotate(8deg);animation-delay:3.2s}
.match-accessible-copy{max-width:1320px;margin:26px auto 0;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 24px}.match-accessible-copy>div:first-child{min-width:220px;max-width:720px}
.match-accessible-copy .kicker{margin-bottom:10px}.match-accessible-copy h1{margin:0 0 12px;font-size:2.3rem;line-height:1.05}.match-accessible-copy p{max-width:900px;margin:0;color:#4c636a}.match-accessible-copy .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto}
@keyframes matchDotPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,180,115,.55),0 0 14px rgba(216,180,115,.58)}50%{transform:scale(1.2);box-shadow:0 0 0 12px rgba(216,180,115,0),0 0 22px rgba(216,180,115,.85)}}
@keyframes matchSignal{0%{opacity:0;transform:translateX(-30%) rotate(var(--r,0deg)) scaleX(.25)}12%{opacity:.95}55%{opacity:.95}100%{opacity:0;transform:translateX(85%) rotate(var(--r,0deg)) scaleX(1)}}
.signal-1{--r:25deg}.signal-2{--r:-35deg}.signal-3{--r:8deg}
.signal-1,.signal-2,.signal-3{transform:rotate(var(--r))}
@media (max-width:1024px){.oripan-match-hero{padding:12px 12px 18px}.oripan-match-stage{display:none}.match-accessible-copy{margin-top:0}.match-accessible-copy h1{font-size:2rem}}
@media (max-width:640px){.match-accessible-copy h1{font-size:1.55rem}.match-accessible-copy .actions{width:100%;margin-left:0}}
@media (prefers-reduced-motion:reduce){.match-dot,.match-signal{animation:none}}



/* v74 — clean Oripan hero image with animated overlays */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.oripan-clean-hero{padding:0 0 34px;background:#0d1e25;overflow:hidden}
.oripan-clean-stage{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:auto;min-height:0;aspect-ratio:2048/1235;background:#0d1e25;overflow:hidden;box-shadow:none}
.oripan-clean-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center center}
.clean-cta-wrap{max-width:1280px;margin:0 auto;padding:34px 20px 42px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:#fff}
.clean-cta-wrap h1{margin:0;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em;max-width:10ch}
.clean-cta-wrap p{margin:0;max-width:860px;color:#4c636a}
.clean-cta-wrap .actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:8px}
.clean-node,.clean-pulse,.clean-scan{position:absolute;pointer-events:none;z-index:4}
.clean-node{width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#d8b473;box-shadow:0 0 0 0 rgba(216,180,115,.55),0 0 16px rgba(216,180,115,.9);animation:cleanNodePulse 3.2s ease-in-out infinite}
.clean-node:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#fff;opacity:.78}
.clean-node.n1{left:63.3%;top:17.8%;animation-delay:0s}
.clean-node.n2{left:50.6%;top:35.6%;animation-delay:.55s}
.clean-node.n3{left:78.7%;top:35.6%;animation-delay:1.1s}
.clean-node.n4{left:13.1%;top:55.7%;animation-delay:1.65s}
.clean-node.n5{left:64.1%;top:50.9%;animation-delay:2.2s}
.clean-pulse{width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:1px solid rgba(255,255,255,.78);box-shadow:0 0 0 0 rgba(89,202,232,.38), inset 0 0 10px rgba(89,202,232,.2);animation:cleanPulseRing 3.8s ease-out infinite}
.clean-pulse.p1{left:50.6%;top:35.6%;animation-delay:0s}
.clean-pulse.p2{left:63.3%;top:17.8%;animation-delay:1.2s}
.clean-pulse.p3{left:78.7%;top:35.6%;animation-delay:2.2s}
.clean-scan{height:4px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.96) 30%,#63d6f2 56%,transparent 100%);filter:drop-shadow(0 0 8px rgba(99,214,242,.92));transform-origin:left center;opacity:0;mix-blend-mode:screen;animation:cleanTravel 7.4s linear infinite}
.clean-scan.s1{left:15.5%;top:56.3%;width:20.8%;--r:-28deg;transform:rotate(var(--r));animation-delay:0s}
.clean-scan.s2{left:35.7%;top:57.4%;width:22.6%;--r:-10deg;transform:rotate(var(--r));animation-delay:1.8s}
.clean-scan.s3{left:56.7%;top:49.1%;width:15.7%;--r:28deg;transform:rotate(var(--r));animation-delay:3.6s}
.clean-scan.s4{left:64.6%;top:37.6%;width:17.5%;--r:-7deg;transform:rotate(var(--r));animation-delay:5.2s}
@keyframes cleanNodePulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(216,180,115,.55),0 0 16px rgba(216,180,115,.9)}50%{transform:scale(1.22);box-shadow:0 0 0 11px rgba(216,180,115,0),0 0 24px rgba(216,180,115,1)}}
@keyframes cleanPulseRing{0%{transform:scale(.65);opacity:0}18%{opacity:.9}100%{transform:scale(1.28);opacity:0}}
@keyframes cleanTravel{0%{opacity:0;transform:translateX(-45%) rotate(var(--r)) scaleX(.2)}8%{opacity:1}60%{opacity:1}100%{opacity:0;transform:translateX(95%) rotate(var(--r)) scaleX(1)}}
@media (max-width:1024px){.oripan-clean-hero{padding:0 0 22px}.oripan-clean-stage{width:100%;margin-left:0;margin-right:0;height:auto;min-height:0;aspect-ratio:auto}.oripan-clean-image{height:auto}.clean-node,.clean-pulse,.clean-scan{display:none}.clean-cta-wrap{margin-top:20px;padding:0 12px}.clean-cta-wrap h1{font-size:2.7rem}}
@media (max-width:640px){.clean-cta-wrap h1{font-size:2.35rem}.clean-cta-wrap .actions{gap:14px}}
@media (prefers-reduced-motion:reduce){.clean-node,.clean-pulse,.clean-scan{animation:none}.clean-pulse,.clean-scan{display:none}}


/* v76 — full artwork visible, centered and no crop */
.oripan-clean-hero{background:#fff}
.clean-cta-wrap .kicker{color:#b28b45}
.clean-cta-wrap h1{color:#15252a}
.clean-cta-wrap p{color:#52666c;line-height:1.6}
.clean-cta-wrap .text-link{color:#15252a}
.clean-cta-wrap .button.gold{background:#d2ad5c;color:#17252a}
@media (min-width:1025px){
  .oripan-clean-stage{aspect-ratio:2048/1235}
  .oripan-clean-image{width:100%;height:100%;object-fit:contain}
}


/* v77 — dark results section to match other dark blocks */
.results{background:radial-gradient(circle at 82% 18%,rgba(57,175,206,.16),transparent 30%),radial-gradient(circle at 12% 85%,rgba(216,180,115,.16),transparent 34%),linear-gradient(180deg,#15242a 0%,#17252a 100%);color:#fff}
.results:before{color:rgba(255,255,255,.035)}
.results .kicker{color:#d8b473}
.results h2{color:#f4f7f8}
.results .result-copy p{color:#b7c0c3}
.data-pulse{border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(90deg,rgba(255,255,255,.08),transparent)}
.results .metrics .metric-card{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);box-shadow:none}
.results .metrics .metric-card:hover{background:rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.results .metric-card strong{color:#f4f7f8}
.results .metric-card span{color:#b7c0c3}
.results .metric-visual{border-color:rgba(255,255,255,.1)}
.results .metric-1 .metric-visual i,.results .metric-2 .metric-visual i,.results .metric-3 .metric-visual i,.results .metric-4 .metric-visual i{opacity:.95}



/* v78 — remove decorative effects; clean static presentation */
.clean-node,.clean-pulse,.clean-scan{display:none!important;animation:none!important}
.results{background:#17252a!important}
.results:before{display:none!important}
.data-pulse{display:none!important}
.results .metrics .metric-card{background:#1d2d33!important;backdrop-filter:none!important;box-shadow:none!important;transition:none!important}
.results .metrics .metric-card:hover{transform:none!important;background:#1d2d33!important;box-shadow:none!important}
.results .metrics .metric-card:before{display:none!important}
.metric-visual *{animation:none!important;filter:none!important;box-shadow:none!important}



/* v79 — premium animated hero inspired by the motion language on oripan.it */
.oripan-clean-hero{
  background:linear-gradient(180deg,#0d1e25 0%,#102229 52%,#ffffff 52.1%)!important;
  overflow:hidden;
}
.oripan-clean-stage{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 28%,rgba(57,175,206,.18),transparent 20%),
    radial-gradient(circle at 78% 18%,rgba(216,180,115,.16),transparent 18%),
    radial-gradient(circle at 58% 58%,rgba(57,175,206,.08),transparent 25%),
    linear-gradient(180deg,#0d1e25 0%,#11252d 100%)!important;
}
.oripan-clean-stage::before{
  content:"";
  position:absolute;
  inset:-10% -8%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 32%,rgba(57,175,206,.18),transparent 16%),
    radial-gradient(circle at 78% 34%,rgba(216,180,115,.14),transparent 15%),
    radial-gradient(circle at 50% 58%,rgba(255,255,255,.07),transparent 22%);
  filter:blur(18px);
  opacity:.9;
  animation:cleanAmbientFloat 15s ease-in-out infinite alternate;
}
.oripan-clean-stage::after{
  content:"";
  position:absolute;
  top:-18%;
  bottom:-18%;
  left:-32%;
  width:36%;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.02) 12%,rgba(255,255,255,.08) 36%,rgba(99,214,242,.32) 52%,rgba(255,255,255,.07) 66%,transparent 100%);
  mix-blend-mode:screen;
  transform:skewX(-18deg) translateX(-170%);
  filter:blur(1px);
  animation:cleanHeroSweep 9.6s ease-in-out infinite;
}
.oripan-clean-image{
  position:relative;
  z-index:2;
  animation:cleanHeroFloat 18s ease-in-out infinite;
  filter:drop-shadow(0 26px 42px rgba(0,0,0,.18));
}
.clean-cta-wrap{
  position:relative;
  z-index:4;
  margin-top:-14px;
  border-radius:30px 30px 0 0;
  box-shadow:0 -16px 40px rgba(6,18,24,.14);
}
.clean-node,.clean-pulse,.clean-scan{
  display:block!important;
  pointer-events:none;
  animation-play-state:running!important;
}
.clean-node{
  z-index:5;
  background:#d8b473!important;
  box-shadow:0 0 0 0 rgba(216,180,115,.48),0 0 18px rgba(216,180,115,.92)!important;
}
.clean-node::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  opacity:.95;
}
.clean-node::after{
  background:#fff!important;
}
.clean-pulse{
  z-index:4;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 0 0 0 rgba(89,202,232,.32), inset 0 0 10px rgba(89,202,232,.22)!important;
}
.clean-scan{
  z-index:4;
  height:5px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.95) 26%,#70daf3 54%,rgba(255,255,255,.25) 72%,transparent 100%)!important;
  filter:drop-shadow(0 0 8px rgba(112,218,243,.95));
  opacity:0;
}
@keyframes cleanHeroFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  35%{transform:translate3d(0,-.25%,0) scale(1.008)}
  70%{transform:translate3d(0,.18%,0) scale(1.012)}
}
@keyframes cleanAmbientFloat{
  0%{transform:translate3d(-1.2%,0,0) scale(1)}
  100%{transform:translate3d(1.6%,-1.2%,0) scale(1.06)}
}
@keyframes cleanHeroSweep{
  0%,14%{transform:skewX(-18deg) translateX(-170%);opacity:0}
  22%{opacity:.92}
  58%{opacity:.92}
  100%{transform:skewX(-18deg) translateX(410%);opacity:0}
}
@media (max-width:1024px){
  .oripan-clean-hero{background:#fff!important}
  .oripan-clean-stage::before,.oripan-clean-stage::after{display:none}
  .oripan-clean-image{animation:none}
  .clean-node,.clean-pulse,.clean-scan{display:none!important}
  .clean-cta-wrap{margin-top:20px;border-radius:0;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .oripan-clean-stage::before,.oripan-clean-stage::after,.oripan-clean-image,.clean-node,.clean-pulse,.clean-scan{animation:none!important}
  .oripan-clean-stage::after,.clean-node,.clean-pulse,.clean-scan{display:none!important}
}


/* v80 — calmer hero scale and more neutral breathing room */
@media (min-width:1025px){
  .oripan-clean-hero{
    padding-top:18px!important;
    background:linear-gradient(180deg,#0d1e25 0%,#102229 54%,#ffffff 54.1%)!important;
  }
  .oripan-clean-stage{
    width:min(92vw,1580px)!important;
    max-width:1580px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    aspect-ratio:2048/1235!important;
    min-height:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
    box-shadow:0 18px 48px rgba(3,15,22,.22)!important;
  }
  .oripan-clean-image{
    width:88%!important;
    height:88%!important;
    margin:3.2% auto 0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform-origin:center center!important;
  }
  .clean-cta-wrap{
    max-width:1180px!important;
    margin-top:18px!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding-top:28px!important;
  }
}
@media (min-width:1440px){
  .oripan-clean-stage{width:min(88vw,1540px)!important}
  .oripan-clean-image{width:84%!important;height:84%!important;margin-top:4.2%!important}
}


/* v81 — static wide hero, no decorative animation */
.oripan-clean-hero{
  background:#fff!important;
  padding:0 0 34px!important;
  overflow:hidden;
}
.oripan-clean-stage{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  background:#17272e!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.oripan-clean-stage::before,.oripan-clean-stage::after{display:none!important;content:none!important}
.oripan-clean-image{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
.clean-node,.clean-pulse,.clean-scan{display:none!important;animation:none!important}
.clean-cta-wrap{
  position:relative!important;
  z-index:2!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:34px 20px 42px!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
@media (max-width:1024px){
  .oripan-clean-stage{width:100%!important;margin-left:0!important;margin-right:0!important}
  .clean-cta-wrap{margin-top:0!important;padding:24px 14px 34px!important}
}


/* v81 — static wide hero with new file name */
.oripan-clean-hero{background:#fff!important;padding:0 0 28px!important;overflow:hidden}
.oripan-clean-stage{position:relative;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;height:auto!important;aspect-ratio:2048/960!important;background:#0d1e25!important;overflow:hidden!important;box-shadow:none!important;border-radius:0!important;isolation:auto!important}
.oripan-clean-stage::before,.oripan-clean-stage::after{display:none!important;content:none!important}
.oripan-clean-image{display:block;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center center!important;animation:none!important;filter:none!important;transform:none!important}
.clean-node,.clean-pulse,.clean-scan{display:none!important;animation:none!important}
.clean-cta-wrap{position:relative;z-index:2;margin-top:22px!important;padding:0 20px 42px!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
@media (max-width:1024px){.oripan-clean-stage{width:100%!important;margin-left:0!important;margin-right:0!important;aspect-ratio:2048/960!important}.clean-cta-wrap{padding:0 12px 34px!important;margin-top:18px!important}}
@media (prefers-reduced-motion:reduce){.oripan-clean-image,.clean-node,.clean-pulse,.clean-scan{animation:none!important}}

/* v82 - static wide hero, no effects */
.oripan-clean-hero{background:#fff!important;padding:0 0 28px!important;overflow:hidden!important}
.oripan-clean-stage{
  display:block!important;position:relative!important;width:100vw!important;
  max-width:none!important;margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;height:auto!important;
  min-height:0!important;aspect-ratio:auto!important;background:#17272d!important;
  overflow:hidden!important;box-shadow:none!important
}
.oripan-clean-stage::before,.oripan-clean-stage::after{display:none!important;content:none!important}
.oripan-clean-image{
  display:block!important;visibility:visible!important;opacity:1!important;
  position:relative!important;width:100%!important;height:auto!important;
  max-width:none!important;object-fit:contain!important;object-position:center center!important;
  transform:none!important;animation:none!important;filter:none!important
}
.clean-node,.clean-pulse,.clean-scan{display:none!important;animation:none!important}
.clean-cta-wrap{margin-top:0!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:1024px){
  .oripan-clean-stage{width:100%!important;margin-left:0!important;margin-right:0!important}
}
