/*
Theme Name: Seven Si Tech
Author: Seven Si Tech
Description: Tema multipagina personalizzato con configuratore dimostrativo.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: seven-si-tech
*/
  
:root{--ink:#0a0c0e;--panel:#111417;--line:#292e33;--paper:#f2f1ec;--acid:#c8ff3d;--orange:#ff5a1f;--muted:#8e969c;--background:#0a0c0e;--foreground:#f2f1ec;--card:#111417;--card-foreground:#f2f1ec;--primary:#c8ff3d;--primary-foreground:#0a0c0e;--secondary:#20252a;--secondary-foreground:#f2f1ec;--muted-foreground:#8e969c;--accent:#ff5a1f;--accent-foreground:#fff;--destructive:#ef4444;--border:#292e33;--input:#292e33;--ring:#c8ff3d;--radius:.25rem}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}.topbar{height:80px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20;background:#0a0c0eee;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:-.04em;font-size:20px}.brand>span:last-child>span{color:var(--acid)}.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:var(--acid);color:var(--ink);clip-path:polygon(0 0,100% 0,75% 100%,0 100%)}.nav{display:flex;gap:34px}.nav a{color:#b5bbc0;text-decoration:none;font-size:14px}.nav a:hover{color:var(--acid)}.header-cta,.primary{border:0;background:var(--acid);color:var(--ink);font-weight:700;padding:13px 18px;display:flex;align-items:center;gap:10px}.menu-button{display:none;background:none;border:0;color:#fff}.hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{padding:95px 5vw 80px 8vw;position:relative;z-index:2}.eyebrow{font:12px "Courier New",monospace;letter-spacing:.16em;color:#aab1b5;display:flex;align-items:center;gap:10px}.eyebrow span{width:25px;height:2px;background:var(--orange)}h1{font-size:clamp(62px,7vw,112px);line-height:.88;letter-spacing:-.07em;margin:30px 0 28px;max-width:850px}h1 em,.research h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #dce1e3}.hero-copy>p{max-width:590px;color:#a6adb2;font-size:18px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.primary{padding:17px 21px}.text-link{color:#fff;text-decoration:none;display:flex;align-items:center;gap:9px;font-size:14px;border-bottom:1px solid #4c5358;padding-bottom:4px}.trust-row{display:flex;gap:25px;margin-top:48px;color:#7f888e;font-size:12px}.trust-row span{display:flex;gap:7px;align-items:center}.trust-row svg{width:14px;color:var(--acid)}.hero-visual{position:relative;border-left:1px solid var(--line);background:radial-gradient(circle at 45% 45%,#273039 0,#121518 42%,#090b0d 72%);overflow:hidden;min-height:620px}.grid-plane{position:absolute;inset:0;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:38px 38px;transform:perspective(500px) rotateX(58deg) scale(1.5);transform-origin:bottom;opacity:.65}.part{position:absolute;border:1px solid #677178;box-shadow:inset 0 0 50px #ffffff08,0 25px 55px #000;transform:rotate(-13deg) skewY(5deg);background:linear-gradient(145deg,#434b50,#191e22 60%,#31383c);animation:float 5s ease-in-out infinite}.part:before,.part:after{content:"";position:absolute;border:1px solid #7e898f;background:#0c0f11}.part span{position:absolute;right:8px;bottom:6px;font:10px monospace;color:var(--acid)}.part-one{width:260px;height:155px;left:22%;top:27%;clip-path:polygon(0 18%,17% 0,100% 10%,90% 100%,12% 90%)}.part-one:before{width:70px;height:70px;border-radius:50%;left:88px;top:39px}.part-one:after{width:26px;height:26px;border-radius:50%;left:110px;top:61px;background:#23292d}.part-two{width:175px;height:100px;right:7%;bottom:22%;animation-delay:-2s;clip-path:polygon(8% 0,100% 10%,88% 100%,0 80%)}.part-two:before{width:38px;height:38px;border-radius:50%;left:57px;top:27px}.scan-line{position:absolute;left:8%;right:5%;top:40%;height:1px;background:var(--orange);box-shadow:0 0 18px var(--orange);animation:scan 4s ease-in-out infinite}.metric{position:absolute;border-left:2px solid var(--acid);background:#0b0e11dd;padding:12px 16px;box-shadow:0 10px 30px #0008}.metric small{font:10px monospace;letter-spacing:.12em;color:#778087;display:block}.metric strong{display:flex;align-items:center;gap:6px;font-size:18px;margin-top:5px}.metric i{font-style:normal;font-size:11px;color:#7f888d}.metric-a{left:8%;bottom:13%}.metric-b{right:5%;top:14%}.metric-b strong{color:var(--acid)}.axis{position:absolute;right:5%;bottom:5%;font:10px/1.7 monospace;color:#687178}
.quote-wrap{background:var(--paper);color:var(--ink);padding:90px 7vw 110px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}.section-head>div{display:flex;align-items:center;gap:20px}.section-head h2{font-size:clamp(32px,4vw,55px);letter-spacing:-.045em;margin:0}.section-head p{color:#697078;max-width:300px}.index{font:12px monospace;background:var(--orange);color:white;padding:6px 7px;align-self:flex-start}.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid #c8c9c4;background:#fff;box-shadow:0 30px 80px #29292914}.process-list{background:#e8e7e2}.process{width:100%;min-height:88px;border:0;border-bottom:1px solid #cacbc7;background:transparent;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;text-align:left;padding:15px 22px;color:#5d6469}.process>svg:first-child{width:22px}.process>svg:last-child{width:16px;opacity:0}.process span{display:flex;flex-direction:column;gap:5px}.process b{color:#25292c}.process small{font-size:12px}.process.active{background:var(--ink);color:var(--acid)}.process.active b{color:#fff}.process.active>svg:last-child{opacity:1}.configurator{padding:36px 40px}.config-top{display:flex;gap:18px;align-items:center;border-bottom:1px solid #ddd;padding-bottom:25px}.process-code{font:700 13px monospace;background:var(--acid);padding:14px 10px}.config-top small,.estimate small{font:10px monospace;color:#858b8f;letter-spacing:.1em}.config-top h3{margin:5px 0 0;font-size:25px}.field{margin-top:27px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}.select-wrap{position:relative}.select-wrap select{width:100%;appearance:none;padding:14px;border:1px solid #c8cac6;background:#f7f7f4;font-size:15px}.select-wrap svg{position:absolute;right:14px;top:14px;width:17px;pointer-events:none}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{border:1px solid #cbd0cb;background:#fff;padding:8px 11px;font-size:12px}.chips button.selected{background:var(--ink);color:white;border-color:var(--ink)}.quantity label{display:flex;justify-content:space-between}.quantity input{accent-color:var(--orange);width:100%}.quantity>div{display:flex;justify-content:space-between;color:#969b9d;font-size:11px}.estimate{margin-top:28px;background:#101316;color:#fff;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.estimate>div{display:flex;flex-direction:column}.estimate strong{font-size:35px;color:var(--acid)}.estimate span{font-size:11px;color:#8d959b}.estimate button{border:0;background:var(--orange);color:white;padding:14px 16px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px}.estimate button svg{width:15px}
.capabilities{padding:100px 7vw}.section-head.light p{color:#818990}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.cap{min-height:400px;border-right:1px solid var(--line);padding:35px;position:relative;transition:.3s}.cap:last-child{border:0}.cap:hover{background:#13171a}.cap:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acid)}.cap-no{position:absolute;right:25px;top:25px;font:11px monospace;color:#596168}.cap>svg{color:var(--orange);margin:35px 0 55px}.cap h3{font-size:25px;margin:0 0 16px}.cap p{color:#8f979c;line-height:1.65}.cap ul{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}.cap li{font:10px monospace;border:1px solid #343b40;padding:7px;color:#aeb5b9}.research{background:var(--orange);color:#0a0c0e;padding:110px 7vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.research .index{background:var(--ink)}.research .eyebrow{color:#28140d;margin-top:30px}.research .eyebrow span{background:var(--ink)}.research h2{font-size:clamp(43px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:23px 0}.research h2 em{-webkit-text-stroke:1px #141414}.research-intro>p{max-width:530px;line-height:1.65}.research-intro>a{display:inline-flex;color:#0a0c0e;font-weight:700;text-decoration:none;gap:10px;border-bottom:2px solid #0a0c0e;padding-bottom:5px;margin-top:20px}.research-stack{border-top:1px solid #0a0c0e}.research-stack article{display:grid;grid-template-columns:58px 1fr 30px;gap:22px;padding:28px 0;border-bottom:1px solid #0a0c0e;align-items:center}.lab-icon{height:58px;border:1px solid #0a0c0e;display:grid;place-items:center}.research-stack small{font:10px monospace;letter-spacing:.1em}.research-stack h3{font-size:23px;margin:7px 0}.research-stack p{margin:0;line-height:1.5;opacity:.72}.sectors{overflow:hidden;background:var(--acid);color:var(--ink);padding:18px 0}.sector-track{display:flex;width:max-content;animation:marquee 25s linear infinite}.sector-track span{font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.sector-track i{font-style:normal;color:var(--orange);margin:0 35px}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:70px 7vw;border-bottom:1px solid var(--line)}.stats>div{display:flex;align-items:center;gap:18px;border-right:1px solid var(--line);justify-content:center}.stats>div:last-child{border:0}.stats strong{font-size:38px;color:var(--acid);letter-spacing:-.05em}.stats span{font-size:12px;line-height:1.4;color:#899197;text-transform:uppercase}.final-cta{padding:75px 7vw;display:flex;align-items:end;justify-content:space-between;background:#171b1e}.final-cta small{font:11px monospace;color:var(--orange);letter-spacing:.15em}.final-cta h2{font-size:clamp(40px,5vw,75px);margin:12px 0 0;letter-spacing:-.05em}.final-cta button{border:0;background:var(--acid);padding:18px 23px;font-weight:700;display:flex;align-items:center;gap:12px}footer{padding:38px 7vw;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;align-items:center}footer p,footer small{color:#6f787e;font-size:12px}footer>div{display:flex;gap:22px}footer>div a{color:#9aa2a7;text-decoration:none;font-size:12px}@keyframes float{50%{transform:translateY(-15px) rotate(-13deg) skewY(5deg)}}@keyframes scan{0%,100%{top:25%;opacity:.2}50%{top:70%;opacity:1}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.nav,.header-cta{display:none}.menu-button{display:block}.nav.open{display:flex;position:absolute;top:80px;left:0;right:0;background:#0a0c0e;flex-direction:column;padding:25px 5vw;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw}.hero-visual{min-height:460px;border-left:0;border-top:1px solid var(--line)}.quote-grid,.research{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr}.cap{min-height:330px;border-right:0;border-bottom:1px solid var(--line)}.stats{grid-template-columns:1fr 1fr;gap:35px}.stats>div:nth-child(2){border:0}footer{grid-template-columns:1fr 1fr}.section-head{align-items:start;gap:20px}}
@media(max-width:600px){.topbar{height:68px}.hero-copy{padding:55px 6vw}.hero{min-height:auto}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.trust-row{flex-direction:column;gap:10px;margin-top:35px}.hero-visual{min-height:370px}.part-one{left:12%;transform:scale(.8) rotate(-13deg)}.quote-wrap,.capabilities,.research{padding:70px 5vw}.section-head{display:block}.section-head>div{align-items:flex-start}.section-head p{margin-left:48px}.process-list{display:flex;overflow:auto}.process{min-width:195px;grid-template-columns:32px 1fr;padding:13px}.process>svg:last-child{display:none}.configurator{padding:26px 20px}.estimate{align-items:stretch;flex-direction:column}.cap{padding:28px}.research{gap:55px}.research-stack article{grid-template-columns:48px 1fr}.research-stack article>svg{display:none}.stats{padding:50px 5vw;grid-template-columns:1fr}.stats>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:25px;justify-content:flex-start}.final-cta{align-items:flex-start;flex-direction:column;gap:30px;padding:60px 6vw}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
:root{--ink:#0b2f2b;--panel:#123c36;--line:#365b53;--paper:#fff;--acid:#38a735;--orange:#a51f1e;--background:#0b2f2b;--foreground:#fff;--card:#123c36;--card-foreground:#fff;--primary:#38a735;--primary-foreground:#071c19;--secondary:#19483e;--accent:#a51f1e;--border:#365b53;--input:#365b53;--ring:#38a735}
.topbar{background:#061710ee}.brand{gap:10px;font-size:18px}.brand img{width:54px;height:34px;object-fit:cover;object-position:center}.brand b{color:var(--acid)}footer .brand img{width:62px;height:38px}

.topbar .brand-full{flex-shrink:0}.topbar .brand-full img{display:block;width:125px;height:auto;max-height:72px;object-fit:contain}.topbar .brand-full{background:transparent}@media(max-width:600px){.topbar .brand-full img{width:105px;max-height:58px}.nav.open{top:68px}}

/* Brand palette: dark green, leaf green, white and red. */
.topbar{background:#0b2f2bf5}.nav a,.hero-copy>p,.section-head.light p,.cap p{color:#c0d2cb}
.eyebrow,.trust-row{color:#bbd0c8}.trust-row svg{color:#61c55c}
.primary,.header-cta,.final-cta button{color:#071c19}
.primary:hover,.header-cta:hover,.final-cta button:hover{background:#61c55c}
.text-link{border-color:#78968a}
.hero-visual{background:radial-gradient(circle at 45% 45%,#285c4d 0,#143e35 42%,#082722 72%)}
.part{background:linear-gradient(145deg,#52796b,#1a4035 60%,#315a49);border-color:#799e8a}
.part:before,.part:after{background:#092d25;border-color:#8aaf99}.part-one:after{background:#224b3c}
.metric{background:#0b2f2bee}.metric small,.metric i,.axis{color:#b7cdc1}
.metric-b strong,.part span{color:#76d26c}
.process-list{background:#eef4ef}.process{border-color:#c5d6cb;color:#416353}.process b{color:#0b2f2b}
.process.active{background:#0b2f2b;color:#76d26c}.process.active b{color:#fff}
.quote-grid{border-color:#c5d6cb;box-shadow:0 30px 80px #0b2f2b14}
.section-head p{color:#466557}.config-top{border-color:#d1ded4}
.config-top small,.estimate small{color:#496b59}.process-code{color:#071c19}
.select-wrap select{background:#f4f8f4;border-color:#aec8b6;color:#0b2f2b}
.chips button{border-color:#b7cdbd;color:#0b2f2b}.chips button.selected{color:#fff}
.quantity>div{color:#56725f}.estimate{background:#0b2f2b}.estimate small,.estimate span{color:#c0d2cb}
.estimate strong{color:#76d26c}.estimate button{background:#a51f1e}
.cap:hover{background:#123c36}.cap>svg{color:#61c55c}.cap-no{color:#aac7b8}
.cap li{color:#c8ded0;border-color:#466b58}
.research{background:#a51f1e;color:#fff}.research .index{background:#fff;color:#a51f1e}
.research .eyebrow{color:#fff}.research .eyebrow span{background:#fff}
.research h2 em{-webkit-text-stroke:1px #fff}.research-intro>a{color:#fff;border-color:#fff}
.research-stack,.research-stack article,.lab-icon{border-color:#ffffff80}
.research-stack p{opacity:1;color:#ffe9e7}
.sectors{color:#071c19}.sector-track i{color:#0b2f2b}
.stats strong{color:#76d26c}.stats span{color:#c0d2cb}
.final-cta{background:#123c36}.final-cta small{color:#76d26c}
footer p,footer small,footer>div a{color:#b8cfc1}
footer .brand-full img{display:block;width:160px;height:auto;object-fit:contain}
@media(max-width:900px){.nav.open{background:#0b2f2b}}
.hero-visual .scan-line{animation:none;pointer-events:none;z-index:3;background:#e0443e;box-shadow:0 0 12px #e0443e99}
.hero-visual .scan-horizontal{left:0;right:0;height:1px}
.hero-visual .scan-vertical{top:0;bottom:0;right:auto;width:1px;height:auto}
.hero-visual .axis{z-index:4;pointer-events:none;font-variant-numeric:tabular-nums;background:#0b2f2be6;padding:8px 10px}

.hero-visual .additive-part{position:absolute;display:block;object-fit:contain;height:auto;pointer-events:none;user-select:none;filter:drop-shadow(0 18px 16px #001a1580);animation:additive-float 5s ease-in-out infinite}
.hero-visual .additive-bracket{width:58%;max-width:350px;left:9%;top:22%}
.hero-visual .additive-lattice{width:49%;max-width:310px;right:2%;bottom:17%;animation-delay:-2.5s}
@keyframes additive-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}

.hero-visual .drawing-layer,.hero-visual .metal-layer{position:absolute;inset:0;pointer-events:none}
.hero-visual .metal-layer{background:#0b2f2b;z-index:2}
.component-stage{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:min(82%,440px);aspect-ratio:6/7}
.drawing-crop{overflow:hidden;filter:invert(1);mix-blend-mode:screen}
.drawing-crop img{position:absolute;width:213.333333%;max-width:none;height:auto;left:-56.666667%;top:-120.714286%;user-select:none}
.component-render{position:absolute;left:6%;top:9%;width:82%;height:82%;object-fit:fill;user-select:none}
.hero-visual .metric{z-index:4}.hero-visual .metric-a{bottom:5%;left:5%}.hero-visual .metric-b{top:5%;right:5%}
.scene-caption{position:absolute;left:5%;top:6%;z-index:4;font:11px/1.5 monospace;letter-spacing:.08em;color:#d8e8de;pointer-events:none}
.scene-caption span{display:block;margin-top:5px;color:#a9c7b9;letter-spacing:0;font:12px Arial,sans-serif}
@media(max-width:600px){.hero-visual{min-height:510px}.component-stage{width:min(85%,340px)}.scene-caption{top:5%;font-size:10px}.hero-visual .metric-b{top:auto;bottom:5%;right:5%}.hero-visual .metric-a{display:none}.hero-visual .axis{bottom:19%}}
.component-render{filter:url(#metal-background-key)}
.formula-student{padding:90px 7vw;border-bottom:1px solid var(--line)}.formula-intro{max-width:760px;font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:36px}.formula-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.formula-teams article{padding:32px;border:1px solid var(--line);background:var(--panel)}.formula-teams .team-university{font-size:14px;color:var(--acid);margin:0 0 12px}.formula-teams h3{font-size:28px;margin:0 0 18px}.formula-teams article>p:last-child{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:0}@media(max-width:700px){.formula-student{padding:60px 5vw}.formula-teams{grid-template-columns:1fr}.formula-teams article{padding:24px}}
.team-logo{height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}.team-logo img{display:block;max-width:100%;width:180px;height:180px;object-fit:contain}
.formula-student .section-head>div{flex-wrap:wrap}.formula-competition-logo{width:160px;height:90px;object-fit:contain;flex-shrink:0;background:#fff;padding:10px}@media(max-width:600px){.formula-competition-logo{width:130px;height:74px}}
.formula-teams article{position:relative;transition:background .3s}.formula-teams article:hover{background:#123c36}.formula-teams article:hover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acid)}@media(prefers-reduced-motion:reduce){.formula-teams article{transition:none}}
.formula-teams article:hover,.formula-teams article:focus-within{background:#205b4d}.formula-teams article:focus-within::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acid);pointer-events:none}.formula-teams article:hover::after{pointer-events:none}.team-link{color:inherit;text-decoration:none}.team-link::after{content:"";position:absolute;inset:0;z-index:1}.team-link:focus-visible{outline:none}.team-link:focus-visible::after{outline:2px solid var(--acid);outline-offset:4px}
.formula-teams article{background:var(--ink)}.formula-teams article:hover,.formula-teams article:focus-within{background:#205b4d}.formula-competition-logo{background:transparent;padding:0}
/* Mobile and tablet layout. */
@media(max-width:900px){
  .topbar{gap:16px;padding-inline:5vw}.menu-button{min-width:48px;min-height:48px;display:grid;place-items:center}
  .nav.open{top:100%;gap:0;padding:12px 5vw;box-shadow:0 16px 24px #0003}.nav a{display:block;padding:15px 8px;font-size:16px}
  .hero-copy,.configurator,.research-intro,.research-stack,.formula-teams article{min-width:0}
  .hero-visual{touch-action:pan-y}.process-list{min-width:0}.process{flex-shrink:0}
  .section-head{flex-wrap:wrap}.section-head h2{overflow-wrap:anywhere}.research-stack article>div{min-width:0}
  .final-cta{gap:24px;flex-wrap:wrap}.chips button{min-height:44px;font-size:14px}.field label{font-size:14px}
  .select-wrap select{font-size:16px;min-height:48px}.quantity input{min-height:44px}
  .hero-visual .metric-b{top:auto;bottom:5%;right:5%}.scene-caption{right:5%}
}
@media(max-width:600px){
  .hero-copy{padding:44px 6vw}.hero h1{font-size:clamp(48px,13vw,76px);line-height:.98}
  .eyebrow{font-size:12px;letter-spacing:.08em}.hero-actions{width:100%}.hero-actions .primary{justify-content:center;width:100%;min-height:48px}
  .trust-row{gap:12px;font-size:14px}.hero-visual{min-height:460px}.component-stage{width:min(80%,300px);top:49%}
  .scene-caption{font-size:11px;line-height:1.5}.scene-caption span{font-size:13px;max-width:260px}
  .hero-visual .axis{bottom:5%;left:5%;right:auto;font-size:12px}.hero-visual .metric-b{padding:10px;max-width:48%}
  .quote-wrap,.capabilities,.research,.formula-student{padding:56px 5vw}.section-head>div{gap:12px;min-width:0}.section-head h2{font-size:clamp(28px,8vw,40px)}
  .section-head p{margin-left:0;font-size:16px}.index{flex-shrink:0}.quote-grid{min-width:0}.process-list{max-width:100%;scroll-snap-type:x proximity}.process{width:240px;min-width:240px;scroll-snap-align:start}.process small{font-size:13px}
  .configurator{padding:24px 16px}.config-top{gap:12px;align-items:flex-start}.config-top h3{font-size:22px;overflow-wrap:anywhere}.process-code{flex-shrink:0}.estimate{padding:18px}.estimate button{min-height:48px;font-size:14px;justify-content:center}.estimate span{font-size:12px}
  .cap{min-height:0;padding:28px 24px}.cap>svg{margin:12px 0 28px}.cap li{font-size:12px}.research h2{font-size:clamp(34px,10vw,48px)}.research-stack article{gap:14px;grid-template-columns:40px minmax(0,1fr)}.lab-icon{height:40px}.research-stack h3{font-size:21px}.research-stack p{font-size:16px}
  .formula-teams{gap:18px}.formula-teams h3{font-size:25px;overflow-wrap:anywhere}.formula-student .section-head>div{display:grid;grid-template-columns:auto minmax(0,1fr)}.formula-competition-logo{grid-column:2;width:130px;height:80px}.team-logo{height:170px}.team-logo img{width:160px;height:160px}.formula-intro{font-size:16px}
  .stats{gap:24px}.stats strong{font-size:36px}.stats span{font-size:14px}.final-cta h2{font-size:clamp(34px,10vw,48px)}.final-cta button{width:100%;justify-content:center;min-height:48px}
  footer{padding:32px 6vw;gap:14px}footer p,footer small,footer>div a{font-size:14px}footer>div a{padding-block:12px}footer>div{gap:16px}
}
.drawing-crop{filter:none;mix-blend-mode:normal}@media(max-width:600px){.formula-student .section-head>div{width:100%;grid-template-columns:26px minmax(0,1fr) 82px;gap:10px;align-items:center}.formula-student .section-head h2{font-size:clamp(23px,6vw,32px);overflow-wrap:normal}.formula-student .formula-competition-logo{grid-column:3;grid-row:1;width:82px;height:60px}.formula-student .index{grid-column:1;grid-row:1}.formula-student h2{grid-column:2;grid-row:1}}
@media(max-width:600px){.topbar{display:grid;grid-template-columns:minmax(48px,1fr) auto minmax(48px,1fr);column-gap:8px}.topbar .brand-full{grid-column:2;grid-row:1;justify-self:center}.topbar .menu-button{grid-column:3;grid-row:1;justify-self:end}footer .brand-full{justify-self:center;justify-content:center}}

/* Multipage navigation and editorial layouts. */
.topbar{height:auto;min-height:88px;gap:20px;padding:8px 4vw}.nav{gap:22px}.nav a{white-space:nowrap;font-size:14px}.nav a[aria-current="page"]{color:#76d26c;box-shadow:0 2px #76d26c;padding-bottom:6px}.header-cta{text-decoration:none;font-size:13px;white-space:nowrap}.page-heading{padding:70px 7vw 48px;border-bottom:1px solid var(--line)}.page-heading>a,.page-heading>span{font-size:14px;color:#bbd0c8}.page-heading h1{font-size:clamp(40px,5.5vw,76px);line-height:1.05;max-width:1000px;margin:32px 0 0}.page-content{padding:64px 7vw}.lead{font-size:clamp(20px,2.4vw,30px);line-height:1.5;max-width:920px;margin:0 0 40px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.overview-card{display:block;min-width:0;padding:30px;border:1px solid var(--line);color:white;text-decoration:none;background:var(--ink)}a.overview-card:hover{background:var(--panel)}.overview-card small{color:#76d26c}.overview-card h3,.overview-card h2{font-size:26px;line-height:1.2}.overview-card p{color:#c0d2cb;font-size:16px;line-height:1.65}.overview-card a{color:#76d26c}.overview-card>svg{margin-top:18px;color:#76d26c}.contact-content .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-note{margin-top:32px;padding:24px;border-left:3px solid #76d26c;background:var(--panel)}.preview-note p{line-height:1.6;color:#c0d2cb}.page-heading~.research{padding-top:64px}footer{border-top:1px solid var(--line)}
@media(max-width:1200px){.topbar .header-cta{display:none}.nav{gap:18px}}
@media(max-width:900px){.topbar{min-height:80px}.nav.open{display:flex}.overview-grid{grid-template-columns:1fr}.page-heading{padding:45px 6vw}.page-content{padding:48px 6vw}.contact-content .overview-grid{grid-template-columns:1fr}}
@media(max-width:600px){.topbar{min-height:72px}.page-heading h1{font-size:40px}.overview-card{padding:24px}}
/* Center the desktop navigation independently of the logo and contact action. */
@media(min-width:901px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px}.topbar .brand{justify-self:start}.topbar .nav{grid-column:2;justify-self:center}.topbar .header-cta{grid-column:3;justify-self:end}.topbar .nav a{padding-inline:0}}
.contact-details{margin-top:32px;padding:30px;border-left:3px solid #76d26c;background:var(--panel)}.contact-details h2{margin-top:0;font-size:26px}.contact-details p{color:#c0d2cb;line-height:1.6}.contact-details address{display:flex;flex-wrap:wrap;gap:12px 32px;font-style:normal}.contact-details a{display:inline-flex;align-items:center;min-height:44px;color:#fff;overflow-wrap:anywhere}.contact-details a:hover{color:#76d26c}.contact-details a:focus-visible{outline:2px solid #76d26c;outline-offset:4px}
@media(max-width:600px){.contact-details{padding:24px}.contact-details address{flex-direction:column;gap:4px}}
.coming-soon{display:inline-block;padding:7px 12px;margin:0 0 12px;border:1px solid #76d26c;color:#a3e59c;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.process:disabled{cursor:not-allowed;opacity:.65}.process:disabled:hover{background:transparent}.process:disabled small{white-space:normal}
.availability-note{font-size:14px;line-height:1.6;color:#c0d2cb;margin-top:14px}
.resin-colors{border:0;padding:0;margin:0 0 28px;min-width:0}.resin-colors legend{font-weight:600;font-size:14px}.resin-colors p{font-size:14px;color:#c0d2cb;line-height:1.5}.color-swatches{display:flex;flex-wrap:wrap;gap:12px}.color-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:60px;padding:8px;cursor:pointer;font-size:12px}.color-option input{position:absolute;opacity:0;width:44px;height:44px;top:4px;left:50%;transform:translateX(-50%);cursor:pointer}.color-dot{display:block;width:36px;height:36px;border-radius:50%;border:1px solid #8da69d;box-shadow:0 0 0 3px var(--ink)}.color-option input:checked + .color-dot{outline:3px solid #76d26c;outline-offset:3px}.color-option input:focus-visible + .color-dot{outline:3px dashed white;outline-offset:4px}
/* Compact swatches with a generous clickable area. */
.color-swatches{gap:6px}.color-option{min-width:52px;min-height:58px;padding:8px 6px;gap:8px;font-size:11px}.color-dot{width:24px;height:24px;border:1px solid #8da69d80;box-shadow:none}.color-option input:checked + .color-dot{outline:1px solid #a3d59c;outline-offset:4px}.color-option input:focus-visible + .color-dot{outline:2px dashed white;outline-offset:4px}
/* Align the color field with the material and application fields. */
.configurator .resin-colors{margin:27px 0 0;padding:0;border:0;width:100%;min-width:0;color:var(--ink)}
.configurator .resin-colors legend{padding:0;margin:0 0 10px;font-size:13px;font-weight:700;line-height:1.4}
.configurator .resin-colors p{margin:0;font-size:12px;line-height:1.5;color:#5d6469}
.configurator .color-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:8px;margin:14px 0 12px;max-width:520px}
.configurator .color-option{min-width:0;min-height:60px;padding:8px 2px;gap:8px;font-size:11px;line-height:1.3;color:#43514b;text-align:center}
.configurator .color-dot{width:24px;height:24px;border:1px solid #9ca9a2;flex-shrink:0}
.configurator .color-option input:checked + .color-dot{outline:1px solid #277037;outline-offset:4px}
.configurator .color-option input:focus-visible + .color-dot{outline:2px dashed #0b2f2b;outline-offset:4px}
.configurator .resin-colors p[aria-live]{min-height:18px;color:#43514b}
@media(max-width:900px){.configurator .resin-colors legend{font-size:14px}}
@media(max-width:600px){.configurator .color-swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;max-width:100%}}
.cad-upload{margin-top:27px;padding:20px;border:1px dashed #a5b0a9;border-radius:6px;background:#f7f7f4;min-width:0}.cad-upload h4{margin:0 0 10px;font-size:14px}.cad-upload p{font-size:13px;line-height:1.5;color:#53635a}.cad-upload label{display:block;font-size:13px;margin:16px 0 10px;font-weight:600}.cad-upload input{width:100%;font-size:13px;min-height:44px}.cad-upload input::file-selector-button{padding:10px 14px;border:1px solid #a5b0a9;border-radius:4px;background:white;color:#0b2f2b;margin-right:10px;cursor:pointer}.cad-file-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:13px;overflow-wrap:anywhere}.cad-file-summary strong{min-width:0;max-width:100%}.cad-file-summary button{padding:10px;border:1px solid #a5b0a9;background:white}.cad-upload .cad-note{font-size:12px;margin-bottom:0}.cad-upload .cad-error{color:#a51f1e}
.simulator{max-width:960px;margin:auto;padding:48px 6vw;background:#fff;color:#0b2f2b;min-height:100vh}.simulator a{color:#277037}.simulator>p,.simulation-result p{line-height:1.6}.simulator-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.simulator input[type=number]{width:100%;padding:12px;border:1px solid #a5b0a9;font-size:16px}.simulation-result{margin-top:32px;padding:24px;background:#eef3ed}.simulation-result strong{font-size:20px}@media(max-width:600px){.simulator-grid{grid-template-columns:1fr}}
/* Quantity scale: red for small quantities, green for large quantities. */
.quantity input[type="range"]{appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;accent-color:#38a735}
.quantity input[type="range"]::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:linear-gradient(to right,#a51f1e 0%,#d56b32 35%,#c4ad42 60%,#38a735 100%)}
.quantity input[type="range"]::-moz-range-track{height:7px;border-radius:999px;background:linear-gradient(to right,#a51f1e 0%,#d56b32 35%,#c4ad42 60%,#38a735 100%)}
.quantity input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;margin-top:-6px;border-radius:50%;background:#fff;border:2px solid #0b2f2b;box-shadow:0 1px 4px #0002}
.quantity input[type="range"]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid #0b2f2b;box-shadow:0 1px 4px #0002}
.quantity input[type="range"]:focus-visible{outline:2px solid #277037;outline-offset:4px;border-radius:6px}
.quantity input[type="range"]::-webkit-slider-runnable-track{background:var(--quantity-color);transition:background .15s ease}
.quantity input[type="range"]::-moz-range-track{background:var(--quantity-color);transition:background .15s ease}
.quantity input[type="range"]::-webkit-slider-thumb{border-color:var(--quantity-color)}
.quantity input[type="range"]::-moz-range-thumb{border-color:var(--quantity-color)}
/* Keep the selected-process heading consistent for long names. */
.config-top{min-height:82px;align-items:center}.config-top>div{min-width:0;flex:1}.config-top .process-code{flex:0 0 64px;text-align:center}.config-top h3{font-size:clamp(18px,2vw,25px);line-height:1.2;white-space:nowrap;letter-spacing:-.035em}
@media(max-width:600px){.config-top{min-height:76px;gap:10px}.config-top .process-code{flex-basis:50px;padding:12px 5px}.config-top h3{font-size:clamp(14px,4vw,22px)}.config-top small{font-size:9px;letter-spacing:.04em}}
/* Consistent technology cards. */
.capabilities .section-head{align-items:center;gap:24px}.capabilities .section-head h2{font-size:clamp(28px,3.2vw,44px);line-height:1.15}.capabilities .section-head p{font-size:15px;line-height:1.6;margin:0;max-width:300px}
.capabilities .cap-grid{gap:20px;border:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.capabilities .cap{display:flex;flex-direction:column;min-width:0;min-height:0;padding:28px;border:1px solid var(--line);background:transparent;transition:background .2s}
.capabilities .cap:last-child{border:1px solid var(--line)}.capabilities .cap:hover{background:var(--panel)}
.cap-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.cap-heading svg{width:26px;height:26px;color:#76d26c;stroke-width:1.5}.cap-heading span{font:12px monospace;color:#9eb8ac}
.capabilities .cap h3{font-size:22px;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:0 0 16px;min-height:58px}
.capabilities .cap p{font-size:15px;line-height:1.65;margin:0;color:#c0d2cb;min-height:100px}
.capabilities .cap ul{gap:7px;margin:20px 0 24px;min-height:34px;align-content:start}.capabilities .cap li{font:12px inherit;font-family:inherit;font-size:12px;line-height:1.3;padding:7px 9px;border:1px solid var(--line);color:#c0d2cb}
.cap-detail{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:13px;line-height:1.65;color:#c0d2cb;min-height:100px}.cap-detail strong{font-size:13px;font-weight:600;color:#a3e59c}
@media(max-width:1100px) and (min-width:761px){.capabilities .cap{padding:22px}.capabilities .cap h3{font-size:20px}.capabilities .cap p{min-height:125px}}
@media(max-width:760px){.capabilities .cap-grid{grid-template-columns:1fr;gap:16px}.capabilities .cap h3,.capabilities .cap p,.capabilities .cap ul,.capabilities .cap-detail{min-height:0}.capabilities .cap h3{font-size:22px}.capabilities .section-head{flex-direction:column;align-items:flex-start}.capabilities .section-head p{margin:16px 0 0;max-width:none}}
.technology-gallery{overflow:hidden}.technology-rail{--card-width:min(380px,78vw);position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px max(0px,calc((100% - var(--card-width))/2)) 32px;scrollbar-width:thin;scrollbar-color:#76d26c var(--ink)}.technology-card{flex:0 0 var(--card-width);min-width:0;scroll-snap-align:center;border:1px solid var(--line);background:var(--ink);display:flex;flex-direction:column;transform:scale(.94);opacity:.65;transition:transform .25s,opacity .25s,background .25s,border-color .25s}.technology-card.is-centered{transform:scale(1);opacity:1;background:var(--panel);border-color:#76d26c}.technology-photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#123c36}.technology-photo img{display:block;width:100%;height:100%;object-fit:cover}.technology-photo>span{position:absolute;bottom:10px;left:12px;background:#082721dc;color:white;padding:4px 7px;font-size:10px}.technology-body{padding:24px;display:flex;flex:1;flex-direction:column}.technology-card-top{display:flex;justify-content:space-between;align-items:center;color:#9ed795;margin-bottom:18px}.technology-card h3{font-size:23px;line-height:1.3;min-height:60px;margin:0 0 14px;letter-spacing:-.025em}.technology-card p{font-size:15px;line-height:1.65;color:#c0d2cb;margin:0 0 20px}.technology-card ul{display:flex;gap:8px;list-style:none;padding:0;margin:auto 0 20px;flex-wrap:wrap}.technology-card li{font-size:12px;border:1px solid var(--line);padding:6px 9px}.technology-note{border-top:1px solid var(--line);padding-top:16px;font-size:13px;line-height:1.6;color:#c0d2cb;min-height:80px}.technology-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:20px}.technology-controls button{width:44px;height:44px;display:grid;place-items:center;background:transparent;color:white;border:1px solid var(--line);cursor:pointer}.technology-controls button:disabled{opacity:.3;cursor:default}.technology-controls button:hover:not(:disabled){background:var(--panel);border-color:#76d26c}.technology-controls span{font-size:13px;font-variant-numeric:tabular-nums}.technology-controls button:focus-visible,.technology-rail:focus-visible{outline:2px solid #76d26c;outline-offset:4px}@media(max-width:600px){.technology-rail{gap:12px}.technology-body{padding:20px}.technology-card h3{font-size:21px}}@media(prefers-reduced-motion:reduce){.technology-card{transition:none}}
.appointment-details address{display:block;font-style:normal;line-height:1.7;color:#fff}.appointment-links{display:flex;flex-wrap:wrap;gap:12px 32px}.appointment-details h2{line-height:1.3}@media(max-width:600px){.appointment-links{flex-direction:column;gap:4px}}
.office-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;margin-top:40px;padding:32px;background:var(--panel);border:1px solid var(--line);align-items:center}.office-copy h2{margin:0 0 20px;font-size:28px;line-height:1.3}.office-copy address{font-style:normal;font-size:17px;line-height:1.8;color:#e0ebe5}.office-directions{display:inline-flex;align-items:center;gap:10px;margin-top:24px;color:#a3e59c;min-height:44px;font-size:14px}.office-map{min-width:0;border:1px solid var(--line);overflow:hidden;background:var(--ink)}.office-map iframe{display:block;width:100%;height:320px;border:0}.office-map>a{display:block;padding:12px 16px;font-size:13px;color:#c0d2cb;line-height:1.5}.office-section a:focus-visible{outline:2px solid #76d26c;outline-offset:4px}@media(max-width:760px){.office-section{grid-template-columns:1fr;padding:24px;gap:24px}.office-map iframe{height:280px}.office-copy address{font-size:16px}}
/* Compact office panel and consistent contact-section hover treatment. */
.contact-content .office-section{padding:24px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:28px}
.contact-content .office-copy h2{font-size:24px;margin-bottom:12px}.contact-content .office-copy address{font-size:15px;line-height:1.7}.contact-content .office-directions{margin-top:12px}.contact-content .office-map iframe{height:230px}.contact-content .office-map>a{padding:9px 12px;font-size:12px}
.contact-content .overview-card,.contact-content .contact-details,.contact-content .office-section{position:relative;background:var(--ink);border:1px solid var(--line);transition:background-color .2s ease,border-color .2s ease}
.contact-content .overview-card::after,.contact-content .contact-details::after,.contact-content .office-section::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#76d26c;transform:scaleX(0);transform-origin:left;transition:transform .2s ease;pointer-events:none}
.contact-content .overview-card:hover,.contact-content .overview-card:focus-within,.contact-content .contact-details:hover,.contact-content .contact-details:focus-within,.contact-content .office-section:hover,.contact-content .office-section:focus-within{background:var(--panel);border-color:#527b66}
.contact-content .overview-card:hover::after,.contact-content .overview-card:focus-within::after,.contact-content .contact-details:hover::after,.contact-content .contact-details:focus-within::after,.contact-content .office-section:hover::after,.contact-content .office-section:focus-within::after{transform:scaleX(1)}
@media(max-width:760px){.contact-content .office-section{grid-template-columns:1fr;padding:20px;gap:20px}.contact-content .office-map iframe{height:220px}}
@media(prefers-reduced-motion:reduce){.contact-content .overview-card,.contact-content .contact-details,.contact-content .office-section,.contact-content .overview-card::after,.contact-content .contact-details::after,.contact-content .office-section::after{transition:none}}
.estimate .evaluation-unavailable{display:flex;flex-direction:column;gap:10px;max-width:280px}.estimate .evaluation-unavailable button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.3);box-shadow:none}.estimate .evaluation-unavailable>span{font-size:12px;line-height:1.5;color:#d1dbd5}.estimate .evaluation-unavailable button:disabled:hover{transform:none}@media(max-width:600px){.estimate .evaluation-unavailable{max-width:none;width:100%}}
.cnc-specification input{width:100%;min-height:48px;padding:14px;border:1px solid #c8cac6;background:#f7f7f4;font-family:inherit;font-size:15px;color:var(--ink);box-sizing:border-box}.cnc-specification input:focus-visible{outline:2px solid #277037;outline-offset:2px}@media(max-width:600px){.cnc-specification input{font-size:16px}}

[hidden]{display:none!important}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-bar .topbar{top:0}button,input,select{font-family:inherit}
.contact-details .contact-phones{display:flex;flex-direction:column;gap:4px}.contact-details .contact-phones a{display:flex;flex-wrap:wrap;gap:8px;min-height:44px}.contact-details .contact-phones a span{white-space:nowrap}

.contact-content .contact-details>address{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.contact-content .contact-details>address>.contact-phones{display:flex;flex-direction:column;gap:4px}
