@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#080b10;--panel:#101720;--panel2:#0d131b;--text:#f0f4f6;--muted:#9aa8b4;--cyan:#19c8df;--line:rgba(180,205,220,.16);--mono:"DM Mono",monospace;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.site-header{height:92px;padding:0 6.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);position:absolute;top:0;left:0;width:100%;z-index:20}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font-size:30px;font-weight:800;letter-spacing:-3px}.brand-mark span{color:var(--cyan)}.brand-caption{font:9px/1.5 var(--mono);letter-spacing:1.8px;color:#a7b3bd}.main-nav{display:flex;align-items:center;gap:38px;font:10px var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:#c3cbd1}.main-nav a{transition:color .25s}.main-nav a:hover,.text-link:hover{color:var(--cyan)}.nav-cta{border:1px solid rgba(25,200,223,.55);padding:13px 17px;color:var(--text)}.nav-cta span{color:var(--cyan);margin-left:14px}.menu-toggle{display:none;background:none;border:0}.section-wrap{padding-left:9vw;padding-right:9vw}.hero{min-height:800px;height:100svh;max-height:1050px;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:90px}.hero:before{content:"";position:absolute;width:65vw;height:65vw;max-width:900px;max-height:900px;right:-6%;top:7%;border-radius:50%;background:radial-gradient(circle,rgba(9,113,143,.17),rgba(8,11,16,0) 68%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(90,150,170,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(90,150,170,.055) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);opacity:.55}.hero-copy{position:relative;z-index:2;width:54%;padding-bottom:35px}.eyebrow,.section-index,.card-top,.visual-coordinate,.art-label,.hero-bottom,.contact-note,.fine-print,.footer-bottom,.back-top{font:10px var(--mono);letter-spacing:1.8px;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:12px;color:#a9bac4}.status-dot{display:inline-block;width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 13px var(--cyan)}.eyebrow-line{height:1px;width:45px;background:var(--cyan);opacity:.6}.hero h1{font-size:clamp(54px,7.3vw,108px);line-height:.99;letter-spacing:-.075em;margin:34px 0 26px;font-weight:700}.hero h1 em,.applications h2 em,.contact h2 em{font-style:normal;color:var(--cyan)}.hero-intro{max-width:460px;font-size:15px;line-height:1.9;color:#aebbc5}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 20px;border:0;font:10px var(--mono);letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}.button-primary{background:var(--cyan);color:#061116;transition:transform .25s,box-shadow .25s}.button-primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(25,200,223,.2)}.button span{font-size:16px}.text-link{font:10px var(--mono);letter-spacing:1px;color:#d5dce1}.text-link span{color:var(--cyan);margin-left:8px}.hero-art{position:absolute;right:4vw;top:15%;width:48%;height:70%;min-height:450px}.orbit{position:absolute;border:1px solid rgba(28,194,220,.2);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:90%;height:48%;top:25%;left:5%}.orbit-two{width:75%;height:70%;top:13%;left:13%;transform:rotate(55deg);border-color:rgba(28,194,220,.11)}.object-stage{position:absolute;inset:10% 8%;perspective:900px;display:grid;place-items:center}.hero-object{position:relative;width:min(31vw,360px);height:min(31vw,360px);transform:rotateX(-22deg) rotateY(-35deg) rotateZ(8deg);transform-style:preserve-3d;filter:drop-shadow(30px 38px 30px rgba(0,0,0,.55));animation:float 7s ease-in-out infinite}.object-face{position:absolute;border:1px solid rgba(105,238,255,.45);background:linear-gradient(145deg,rgba(28,185,212,.38),rgba(15,43,59,.9) 60%,rgba(9,20,31,.98));box-shadow:inset 0 0 35px rgba(37,210,232,.13)}.face-front{inset:0;border-radius:26px;transform:translateZ(35px)}.face-side{width:70px;height:100%;right:-70px;top:0;transform:rotateY(90deg);transform-origin:left;border-radius:0 17px 17px 0;background:linear-gradient(90deg,#102d3a,#07131e)}.face-top{height:70px;width:100%;top:-70px;transform:rotateX(90deg);transform-origin:bottom;border-radius:18px 18px 0 0;background:linear-gradient(130deg,#2b7180,#102d3c)}.object-cut{position:absolute;width:44%;height:44%;border:2px solid rgba(111,241,255,.55);border-radius:18px;left:28%;top:28%;transform:translateZ(38px);box-shadow:0 0 40px rgba(25,200,223,.17),inset 0 0 30px rgba(25,200,223,.15)}.object-shadow{position:absolute;width:60%;height:15%;bottom:15%;border-radius:50%;background:#000;filter:blur(30px);transform:rotate(-12deg)}.object-ring{position:absolute;width:76%;height:76%;border:1px solid rgba(25,200,223,.3);border-radius:50%;transform:rotateX(70deg) rotateZ(-24deg)}@keyframes float{0%,100%{transform:translateY(0) rotateX(-22deg) rotateY(-35deg) rotateZ(8deg)}50%{transform:translateY(-17px) rotateX(-18deg) rotateY(-29deg) rotateZ(5deg)}}.art-label{position:absolute;font-size:9px}.label-top{top:12%;left:12%}.label-bottom{bottom:13%;right:8%}.label-bottom span{color:var(--cyan);margin-right:10px}.crosshair{position:absolute;color:var(--cyan);font:18px var(--mono);opacity:.8}.crosshair-a{top:20%;right:13%}.crosshair-b{bottom:20%;left:9%}.hero-bottom{position:absolute;bottom:34px;left:9vw;right:9vw;display:flex;justify-content:space-between;font-size:9px}.scroll-cue b{font-size:15px;color:var(--cyan);margin-left:12px}.intro{padding-top:150px;padding-bottom:150px;border-top:1px solid var(--line)}.section-index{color:var(--cyan);font-size:10px}.section-index span{color:#61717e;margin:0 8px}.intro-content{display:grid;grid-template-columns:1.4fr .6fr;gap:9%;margin-top:55px}.intro h2,.applications h2,.manifesto h2,.contact h2{font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-.065em;margin:0;font-weight:600}.intro h2 span{color:#657580}.intro-aside{padding-top:9px}.intro-aside p,.applications-head>p,.manifesto-content>p,.contact-copy>p{font-size:14px;line-height:1.9;color:#a7b4be;margin:0 0 20px}.underlined-link{display:inline-block;margin-top:14px;padding-bottom:9px;border-bottom:1px solid var(--cyan);font:10px var(--mono);letter-spacing:1px;text-transform:uppercase}.underlined-link span{color:var(--cyan);margin-left:18px}.services{padding-top:95px;padding-bottom:150px;background:#0b1016}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.service-card{border:1px solid var(--line);background:linear-gradient(145deg,#111b25,#0c1219);min-width:0;transition:border-color .3s,transform .3s}.service-card:hover{border-color:rgba(25,200,223,.55);transform:translateY(-5px)}.card-top{display:flex;justify-content:space-between;padding:20px 21px 0;font-size:9px}.card-symbol{color:var(--cyan);font-size:18px}.service-visual{height:245px;position:relative;overflow:hidden;display:grid;place-items:center}.visual-coordinate{position:absolute;bottom:15px;left:18px;font-size:8px;color:#71838f}.stack{position:absolute;width:130px;height:95px;border:1px solid rgba(57,217,236,.55);background:linear-gradient(140deg,rgba(41,164,190,.45),rgba(12,31,44,.9));transform:skewY(-25deg) rotate(25deg);box-shadow:0 18px 40px #05080b}.stack-a{margin-top:-50px;margin-left:-20px}.stack-b{margin-top:0;margin-left:45px;opacity:.8}.stack-c{margin-top:48px;margin-left:-65px;opacity:.6}.wire-cube{width:130px;height:130px;border:1px solid var(--cyan);transform:rotate(35deg) skew(-5deg);box-shadow:inset 0 0 35px rgba(25,200,223,.15),0 0 35px rgba(25,200,223,.1);position:relative}.wire-cube:before,.wire-cube:after{content:"";position:absolute;inset:17px;border:1px solid rgba(25,200,223,.55);transform:rotate(45deg)}.wire-cube:after{inset:36px;transform:rotate(0)}.custom-part{width:150px;height:105px;position:relative;transform:rotate(-24deg);background:linear-gradient(145deg,#287b8c,#102a39);border:1px solid #4bd6e7;clip-path:polygon(0 20%,70% 0,100% 25%,100% 80%,30% 100%,0 75%);box-shadow:0 0 50px rgba(25,200,223,.2)}.custom-part i{position:absolute;width:13px;height:13px;border-radius:50%;border:2px solid #86eff7;background:#09151d}.custom-part i:nth-child(1){top:23px;left:25px}.custom-part i:nth-child(2){top:35px;right:25px}.custom-part i:nth-child(3){bottom:20px;left:65px}.card-copy{padding:0 21px 27px}.card-copy h3{font-size:20px;letter-spacing:-.04em;margin:0 0 12px}.card-copy p{font-size:12px;line-height:1.8;color:#9eacb7;margin:0}.applications{padding-top:145px;padding-bottom:145px}.applications-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.applications h2{margin-top:40px}.applications-head>p{max-width:280px;margin-bottom:5px}.application-item{display:grid;grid-template-columns:70px 1.2fr 1fr 30px;gap:20px;align-items:center;padding:25px 0;border-top:1px solid var(--line);transition:padding .25s,color .25s}.application-item:last-child{border-bottom:1px solid var(--line)}.application-item:hover{padding-left:12px;color:var(--cyan)}.app-number{font:10px var(--mono);color:var(--cyan)}.app-title{font-size:clamp(17px,2vw,23px);font-weight:600;letter-spacing:-.04em}.app-desc{font-size:11px;color:#8f9ca6}.app-arrow{font-size:20px;text-align:right}.fine-print{font-size:9px;line-height:1.8;margin-top:20px;letter-spacing:.6px}.manifesto{position:relative;overflow:hidden;padding-top:110px;padding-bottom:100px;background:#101923;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifesto-bg{position:absolute;right:-1vw;top:-9vw;font-size:32vw;font-weight:800;letter-spacing:-.12em;color:rgba(87,137,157,.045);pointer-events:none}.manifesto-content{display:flex;justify-content:space-between;align-items:end;position:relative;margin:65px 0 95px}.manifesto h2 span{color:var(--cyan)}.manifesto-content>p{max-width:260px;margin:0 4% 8px 20px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;position:relative}.step{border-top:1px solid rgba(25,200,223,.45);padding-top:18px}.step>span{font:10px var(--mono);color:var(--cyan)}.step h3{font-size:18px;margin:23px 0 9px}.step p{font-size:12px;line-height:1.8;color:#9eacb7;max-width:280px;margin:0}.contact{padding-top:150px;padding-bottom:150px;display:grid;grid-template-columns:1fr .8fr;gap:12%}.contact h2{font-size:clamp(48px,6.4vw,84px);margin:50px 0 25px}.contact-copy>p{max-width:400px}.contact-note{margin-top:60px;font-size:9px;display:flex;gap:12px;align-items:center}.contact-form{display:flex;flex-direction:column;gap:25px;padding-top:5px}.contact-form label{font:9px var(--mono);letter-spacing:1.5px;color:#9fadb7;display:flex;flex-direction:column;gap:12px}.contact-form input,.contact-form textarea,.contact-form select{background:transparent;border:0;border-bottom:1px solid rgba(180,205,220,.25);padding:12px 0;color:var(--text);outline:none;font:13px var(--sans);resize:vertical;border-radius:0}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--cyan)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5e6c77}.contact-form select{color:#8997a1}.contact-form select option{background:#101720;color:white}.form-submit{align-self:flex-start;margin-top:5px}.form-feedback{font-size:10px;line-height:1.7;color:#71818c;margin:-12px 0 0}.site-footer{padding:38px 6.2vw 22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px}.footer-brand .brand-mark{font-size:25px}.footer-brand .brand-caption{font-size:8px}.footer-center{text-align:center;font:8px var(--mono);letter-spacing:1.2px;color:#82909a}.back-top{text-align:right;font-size:9px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.section-wrap{padding-left:6vw;padding-right:6vw}.site-header{padding:0 6vw}.hero{min-height:780px}.hero-copy{width:60%}.hero-art{right:-9%;width:55%;opacity:.8}.hero h1{font-size:clamp(56px,8vw,80px)}.service-grid{grid-template-columns:1fr 1fr}.service-large{grid-column:span 2}.service-large .service-visual{height:280px}.contact{gap:7%}.hero-bottom{left:6vw;right:6vw}}
@media(max-width:650px){html{scroll-padding-top:70px}.site-header{height:72px}.brand-mark{font-size:27px}.brand-caption{font-size:7px;letter-spacing:1px}.menu-toggle{display:flex;flex-direction:column;gap:7px;padding:10px;z-index:3}.menu-toggle span{width:25px;height:1px;background:#eaf2f5;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{position:absolute;top:71px;left:0;width:100%;background:#0b1118;border-bottom:1px solid var(--line);padding:25px 7vw 30px;display:flex;flex-direction:column;align-items:flex-start;gap:24px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s}.main-nav.open{opacity:1;visibility:visible;transform:none}.hero{height:auto;min-height:830px;max-height:none;align-items:flex-start;padding-top:150px;padding-bottom:90px}.hero-copy{width:100%;padding-bottom:0}.eyebrow{font-size:8px;letter-spacing:1px}.hero h1{font-size:clamp(54px,15vw,78px);margin:28px 0 20px}.hero-intro{font-size:13px;max-width:360px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px;margin-top:28px}.button{padding:15px 16px;font-size:9px}.hero-art{top:auto;bottom:60px;right:-14%;width:83%;height:42%;min-height:280px;opacity:.55}.hero-object{width:190px;height:190px}.face-side{width:38px;right:-38px}.face-top{height:38px;top:-38px}.object-cut{border-radius:10px}.hero-bottom{bottom:20px;font-size:7px;letter-spacing:1px}.scroll-cue{display:none}.intro{padding-top:95px;padding-bottom:95px}.intro-content{grid-template-columns:1fr;gap:30px;margin-top:35px}.intro h2,.applications h2,.manifesto h2{font-size:clamp(42px,12vw,62px)}.intro-aside p{font-size:13px}.services{padding-top:75px;padding-bottom:90px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr;gap:12px}.service-large{grid-column:auto}.service-large .service-visual,.service-visual{height:210px}.applications{padding-top:95px;padding-bottom:95px}.applications-head{display:block;margin-bottom:35px}.applications h2{margin-top:30px}.applications-head>p{margin-top:25px}.application-item{grid-template-columns:32px 1fr 24px;gap:10px;padding:21px 0}.app-title{font-size:16px}.app-desc{grid-column:2;grid-row:2;font-size:10px}.app-arrow{grid-column:3;grid-row:1/3}.manifesto{padding-top:80px;padding-bottom:75px}.manifesto-content{display:block;margin:45px 0 55px}.manifesto-content>p{margin:25px 0 0}.steps{grid-template-columns:1fr;gap:28px}.step{padding-top:14px}.step h3{margin:13px 0 6px}.contact{padding-top:95px;padding-bottom:95px;grid-template-columns:1fr;gap:55px}.contact h2{font-size:clamp(52px,14vw,76px);margin:35px 0 20px}.contact-note{margin-top:35px}.contact-form{gap:22px}.site-footer{padding:30px 6vw 20px;grid-template-columns:1fr auto}.footer-center{display:none}.footer-bottom{font-size:7px;gap:10px;flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* P3D V2 — studio tridimensionale di un componente funzionale */
.hero-product{right:3.4vw;top:16%;width:49%;height:69%;min-height:450px;opacity:1}
.model-glow{position:absolute;inset:4%;background:radial-gradient(ellipse,rgba(18,163,192,.20),transparent 65%);filter:blur(25px);pointer-events:none}
.model-frame{position:absolute;inset:0 0 45px;border:1px solid rgba(45,189,214,.16);background:radial-gradient(ellipse at 50% 45%,rgba(13,51,68,.36),rgba(8,13,20,.02) 72%);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px)}
.model-frame:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(79,181,199,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(79,181,199,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black,transparent 73%);pointer-events:none}
.model-frame canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.model-frame canvas:active{cursor:grabbing}
.model-topline{position:absolute;top:20px;left:21px;right:21px;display:flex;align-items:center;gap:9px;font:9px var(--mono);letter-spacing:1.1px;color:#9fb3bd;z-index:2;pointer-events:none}
.model-topline>span:last-child{margin-left:auto;color:var(--cyan)}
.live-pulse{height:6px;width:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan)}
.model-cross{position:absolute;color:var(--cyan);font:17px var(--mono);pointer-events:none;opacity:.75}
.cross-one{top:17%;right:9%}.cross-two{bottom:20%;left:9%}
.model-spec{position:absolute;bottom:18px;font:8px/1.7 var(--mono);letter-spacing:1.2px;color:#8b9da9;pointer-events:none}
.spec-left{left:21px}.spec-right{right:21px;text-align:right;color:var(--cyan)}
.model-controls{position:absolute;bottom:2px;left:0;right:0;display:flex;align-items:center;gap:8px}
.model-instruction{margin-right:auto;font:9px var(--mono);letter-spacing:1px;color:#8098a5}
.mode-button{border:1px solid rgba(71,185,207,.26);background:transparent;color:#8ba6b1;padding:9px 12px;font:9px var(--mono);letter-spacing:.8px;cursor:pointer;transition:.2s}
.mode-button:hover,.mode-button.active{border-color:var(--cyan);color:var(--cyan);background:rgba(25,200,223,.08)}
@media(max-width:900px){.hero-product{right:-5%;width:54%}.model-instruction{font-size:8px}}
@media(max-width:650px){.hero-product{top:auto;right:0;bottom:55px;width:100%;height:39%;min-height:280px;opacity:1}.model-frame{bottom:40px}.model-topline{top:12px;left:12px;right:12px;font-size:7px}.model-spec{font-size:7px;bottom:10px}.spec-left{left:12px}.spec-right{right:12px}.model-controls{bottom:0}.model-instruction{font-size:7px}.mode-button{font-size:8px;padding:8px}.hero{min-height:900px}.hero-copy{z-index:3}.hero h1{font-size:clamp(52px,13vw,75px)}.hero-intro{max-width:350px}}

/* P3D V3 — true stacked mobile layout: the artwork cannot cover the copy. */
@media(max-width:650px){
  .hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;max-height:none;padding-top:130px;padding-bottom:46px;overflow:hidden}
  .hero-copy{position:relative;width:100%;padding:0;z-index:2}
  .hero-art.hero-product{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:clamp(310px,86vw,450px);min-height:0;margin-top:38px;opacity:1;flex-shrink:0;z-index:1}
  .hero-product .model-frame{inset:0 0 44px}
  .hero-product .model-glow{inset:0}
  .hero-bottom{position:relative;bottom:auto;left:auto;right:auto;width:100%;margin-top:30px;display:block;font-size:8px}
  .hero h1{font-size:clamp(48px,12.2vw,74px)}
  .hero-actions{margin-bottom:0}
}
@media(max-width:360px){
  .hero{padding-top:110px}
  .hero-art.hero-product{height:310px;margin-top:25px}
  .hero h1{font-size:46px}
  .model-topline{font-size:6px}
  .model-instruction{letter-spacing:0}
}

/* V5 — let the sculptural object breathe around the responsive hero headline. */
@media(min-width:651px) and (max-width:1100px){.hero h1{font-size:clamp(51px,6.4vw,82px)}.hero-copy{width:57%}.hero-product{width:46%;right:2%}}
@media(max-width:650px){.hero h1{font-size:clamp(42px,10.2vw,67px);line-height:1.08}.hero-product{margin-top:28px}.hero-art.hero-product{height:clamp(320px,88vw,440px)}}

/* V06: mail delivery via FormSubmit; keep the spam honeypot offscreen. */
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;left:-9999px!important;pointer-events:none!important}
