/* Vaste: staging-only mobile-first industrial concept. */
body.vp-body { margin:0; background:#111a20; }
.vp { --vp-dark:#111a20; --vp-slate:#202d35; --vp-steel:#aebbc2; --vp-light:#edf1ef; --vp-orange:#ff783c; color:var(--vp-light); background:var(--vp-dark); font:400 16px/1.6 'Segoe UI',Arial,sans-serif; overflow:clip; }
.vp *, .vp *::before, .vp *::after { box-sizing:border-box; }
.vp a { color:inherit; }
.vp :focus-visible { outline:3px solid var(--vp-orange); outline-offset:4px; }
.vp h1,.vp h2,.vp h3 { color:inherit; margin-top:0; font-family:'Arial Narrow','Segoe UI',Arial,sans-serif; font-weight:800; letter-spacing:-.045em; line-height:1.05; }
.vp h1 em,.vp h2 em { color:var(--vp-orange); font-style:normal; }
.vp p { margin-top:0; }
.vp__skip { position:absolute; left:1rem; top:-100px; z-index:30; padding:.6rem 1rem; background:#fff; color:#111a20 !important; }
.vp__skip:focus { top:1rem; }
.vp__concept { display:flex; justify-content:space-between; gap:1rem; padding:.42rem 1rem; background:var(--vp-orange); color:#182026; font-size:.59rem; font-weight:750; letter-spacing:.05em; }
.vp__concept a { flex:none; text-underline-offset:.2rem; }
.vp__header { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:78px; padding:1rem; background:#111a20; border-bottom:1px solid #3c4b53; }
.vp__brand { display:flex; align-items:center; gap:.65rem; text-decoration:none; font-size:1.2rem; font-weight:900; letter-spacing:.12em; line-height:.85; }
.vp__brand small { display:block; margin-top:.48rem; color:#abb8bd; font:700 .49rem/1 'Courier New',monospace; letter-spacing:.23em; }
.vp__brand-mark { display:flex; align-items:end; gap:3px; width:2.15rem; height:2.15rem; padding:4px; border:1px solid #98a8ae; transform:skewX(-13deg); }
.vp__brand-mark i { display:block; width:5px; background:var(--vp-orange); }
.vp__brand-mark i:nth-child(1) { height:40%; }.vp__brand-mark i:nth-child(2) { height:70%; }.vp__brand-mark i:nth-child(3) { height:100%; }
.vp__header nav { display:flex; align-items:center; gap:1.5rem; font-size:.78rem; font-weight:700; }
.vp__header nav a { text-decoration:none; }
.vp__header nav a:not(.vp__nav-cta) { display:none; }
.vp__nav-cta { padding:.65rem .7rem; border:1px solid var(--vp-orange); color:var(--vp-orange) !important; white-space:nowrap; }
.vp__nav-cta:hover,.vp__button:hover { background:#ff985f; color:#111a20 !important; }
.vp__hero { position:relative; display:flex; flex-direction:column; justify-content:end; min-height:700px; background:#131e25; }
.vp__hero-image { position:absolute; inset:0 0 40px; }
.vp__hero-image img { width:100%; height:100%; object-fit:cover; object-position:67% center; }
.vp__hero-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,18,23,.1) 5%,rgba(10,18,23,.8) 55%,#111a20 95%); }
.vp__image-code { position:absolute; right:1rem; top:1rem; z-index:1; padding:.2rem .4rem; border:1px solid #ffffff8c; color:#fff; font:600 .52rem 'Courier New',monospace; letter-spacing:.08em; }
.vp__hero-copy { position:relative; z-index:1; padding:8rem 1rem 3.5rem; }
.vp__eyebrow,.vp__kicker,.vp__hero-strip,.vp__service-grid article>span,.vp__material-list,.vp__drawing-top,.vp__drawing-bottom,.vp__detail>span,.vp__piece-grid figcaption>span,.vp__process li>span,.vp__request-summary>span { font:700 .64rem/1.4 'Courier New',monospace; letter-spacing:.09em; text-transform:uppercase; }
.vp__eyebrow { display:flex; align-items:center; gap:.7rem; color:#d3dee1; margin-bottom:1.6rem; }
.vp__eyebrow span { color:var(--vp-orange); font-size:.7rem; }
.vp__hero h1 { max-width:920px; margin:0 0 1.6rem; font-size:clamp(3rem,11.5vw,5rem); }
.vp__hero-copy>p:not(.vp__eyebrow) { max-width:37rem; color:#dbe4e6; font-size:.99rem; line-height:1.65; }
.vp__hero-actions { display:flex; align-items:flex-start; flex-direction:column; gap:1.3rem; margin-top:2rem; }
.vp__button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.4rem; width:min(100%,19rem); padding:1rem; background:var(--vp-orange); color:#162128 !important; font-size:.83rem; font-weight:800; text-decoration:none; transition:background .2s; }
.vp__text-link { font-size:.78rem; font-weight:700; text-underline-offset:.3rem; }
.vp__hero-strip { position:relative; z-index:1; display:grid; gap:.35rem; padding:.9rem 1rem; background:#27343d; color:#c8d3d7; }
.vp__hero-strip span + span { border-top:1px solid #5f707a; padding-top:.35rem; }
.vp__services,.vp__materials,.vp__blueprint,.vp__pieces,.vp__process,.vp__request { padding:5rem 1rem; }
.vp__kicker { margin:0 0 1.4rem; color:var(--vp-orange); }
.vp__section-head { display:grid; gap:.8rem; margin-bottom:2.7rem; }
.vp__section-head h2,.vp__materials h2,.vp__blueprint h2,.vp__process h2,.vp__request h2 { margin:0 0 1rem; font-size:clamp(2.6rem,9.4vw,5.2rem); }
.vp__section-head>p:last-child,.vp__materials>div>p:last-child,.vp__blueprint-head>p:last-child,.vp__request-heading>p:last-child { max-width:37rem; margin:0; color:#b4c1c6; line-height:1.7; }
.vp__service-grid { display:grid; gap:1px; background:#3c4b52; border:1px solid #3c4b52; }
.vp__service-grid article { display:flex; flex-direction:column; min-height:275px; padding:1.6rem; background:#202d35; }
.vp__service-grid article>span { color:var(--vp-orange); }
.vp__service-grid h3 { margin:2.5rem 0 .8rem; font-size:1.7rem; }
.vp__service-grid p { max-width:23rem; margin:0 0 2rem; color:#c4ced1; font-size:.92rem; }
.vp__service-grid a { width:fit-content; margin-top:auto; border-bottom:1px solid #a5afb3; padding-bottom:.3rem; font-size:.78rem; font-weight:700; text-decoration:none; }
.vp__service-grid a:hover { color:var(--vp-orange); }
.vp__materials { background:#dce2e1; color:#1d2a31; }
.vp__materials .vp__kicker { color:#a43d18; }
.vp__materials h2 em { color:#a43d18; }
.vp__materials>div>p:last-child { color:#48585e; }
.vp__material-list { display:grid; gap:1rem; margin-top:3rem; }
.vp__material-list>div { display:grid; grid-template-columns:3.5rem 1fr; align-items:center; gap:.2rem 1rem; padding:1rem 0; border-top:1px solid #aab6b8; }
.vp__material-list small { grid-column:2; color:#59676b; font:400 .73rem 'Segoe UI',Arial,sans-serif; letter-spacing:0; text-transform:none; }
.vp__material-swatch { grid-row:1/3; display:block; width:3.3rem; height:3.3rem; border:1px solid #8c9b9f; box-shadow:inset 1px 1px #ffffffa9; }
.vp__material-swatch--al { background:repeating-linear-gradient(120deg,#dce2e2 0 2px,#c6d0d2 3px 4px,#aab7ba 5px 7px); }
.vp__material-swatch--steel { background:repeating-linear-gradient(110deg,#65747a 0 3px,#94a0a3 4px 5px,#526067 6px 9px); }
.vp__material-swatch--inox { background:repeating-linear-gradient(112deg,#bcc6c7 0 1px,#e1e6e4 2px 3px,#89989c 4px 7px); }
.vp__blueprint { background:#15222a; }
.vp__blueprint-board { display:grid; gap:1rem; margin-top:2.6rem; }
.vp__drawing { min-width:0; border:1px solid #5e6e77; background:#1d2d36; }
.vp__drawing-top,.vp__drawing-bottom { display:flex; justify-content:space-between; gap:.4rem; padding:.75rem; color:#aebec5; }
.vp__drawing-top { border-bottom:1px solid #50616a; }.vp__drawing-bottom { border-top:1px solid #50616a; }
.vp__drawing svg { display:block; width:100%; height:auto; }
.vp__toolpath { stroke-dasharray:100; stroke-dashoffset:0; }
.vp__detail { display:flex; flex-direction:column; min-height:340px; padding:1.4rem; background:#273740; border:1px solid #5e6e77; }
.vp__detail>span { color:var(--vp-orange); }
.vp__exploded { position:relative; height:150px; margin:1rem 0; }
.vp__exploded span { position:absolute; display:block; transform:skewY(-15deg); box-shadow:10px 10px 0 #0c171d65; }
.vp__explode-one { width:130px; height:58px; left:8%; top:67px; border:10px solid #aebcc3; background:#3e4d55; }
.vp__explode-two { width:65px; height:65px; left:47%; top:33px; border:13px solid #ced8d9; border-radius:50%; background:#33424a; }
.vp__explode-three { width:75px; height:20px; left:72%; top:62px; background:#ff783c; }
.vp__detail h3 { margin:auto 0 .7rem; font-size:1.8rem; }
.vp__detail p { margin:0; color:#c3d0d4; font-size:.9rem; }
.vp__piece-grid { display:grid; gap:2rem; }
.vp__piece-grid figure { margin:0; }
.vp__piece-grid img { display:block; width:100%; aspect-ratio:1.22/1; object-fit:cover; filter:saturate(.8); }
.vp__piece-grid figcaption { display:grid; gap:.5rem; padding:1.1rem 0; border-bottom:1px solid #5d6b72; }
.vp__piece-grid figcaption>span { color:var(--vp-orange); }
.vp__piece-grid figcaption p { max-width:29rem; margin:0; color:#c6d1d4; font-size:.9rem; }
.vp__process { background:#e0e5e4; color:#1b292f; }
.vp__process .vp__kicker { color:#a43d18; }.vp__process h2 em { color:#a43d18; }
.vp__process ol { margin:3rem 0 0; padding:0; list-style:none; border-top:1px solid #9aabad; }
.vp__process li { display:grid; grid-template-columns:2rem 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid #9aabad; }
.vp__process li>span { color:#a43d18; }
.vp__process h3 { margin:0 0 .5rem; font-size:1.35rem; }
.vp__process li p { max-width:28rem; margin:0; color:#4b5b5f; font-size:.9rem; }
.vp__request { background:#19262d; }
.vp__request-layout { display:grid; gap:1rem; margin-top:2.5rem; }
.vp__request-options { display:grid; align-content:start; }
.vp__request-options button { display:grid; grid-template-columns:2rem 1fr auto; gap:1rem; align-items:center; width:100%; min-height:5rem; padding:1rem; border:0; border-top:1px solid #64747a; background:transparent; color:#e6eeef; text-align:left; font:750 1rem 'Segoe UI',Arial,sans-serif; cursor:pointer; }
.vp__request-options button:last-child { border-bottom:1px solid #64747a; }
.vp__request-options button span:first-child { color:#98a9af; font:700 .65rem 'Courier New',monospace; }
.vp__request-options button.is-selected,.vp__request-options button:hover { background:#30414a; color:#fff; }
.vp__request-options button.is-selected span:first-child { color:var(--vp-orange); }
.vp__request-summary { min-height:310px; padding:1.5rem; background:#dce3e2; color:#1b292f; }
.vp__request-summary>span { color:#af491e; }
.vp__request-summary h3 { margin:1.5rem 0 1rem; font-size:1.8rem; }
.vp__request-summary p { max-width:33rem; font-size:.94rem; }
.vp__request-summary ul { margin:1.5rem 0 0; padding-left:1.2rem; font-size:.85rem; }
.vp__request-summary li { padding:.25rem 0; }
.vp__request-cta { display:grid; gap:1.5rem; align-items:center; margin-top:3rem; padding:1.5rem; border:1px solid #596a72; }
.vp__request-cta strong { color:var(--vp-orange); }
.vp__request-cta p { max-width:43rem; margin:.4rem 0 0; color:#c0cdd0; font-size:.87rem; }
.vp__request-cta a { display:flex; justify-content:space-between; gap:1rem; width:min(100%,21rem); padding:1rem; background:var(--vp-orange); color:#162128; font-size:.83rem; font-weight:800; text-decoration:none; }
.vp__request-cta a:hover { background:#ff985f; }
.vp__footer { display:grid; gap:1rem; padding:2.5rem 1rem; background:#0d151a; font-size:.72rem; }
.vp__footer span { font-weight:900; letter-spacing:.14em; }.vp__footer p { margin:0; color:#b2c0c4; }.vp__footer a { width:fit-content; text-underline-offset:.2rem; }
@supports (view-timeline-name:--vp-draw) {
  .vp__blueprint-board { view-timeline-name:--vp-draw; view-timeline-axis:block; }
  .vp__toolpath { animation:vp-draw linear both; animation-timeline:--vp-draw; animation-range:entry 5% cover 55%; }
  @keyframes vp-draw { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
}
@media (min-width:720px) {
  .vp__concept,.vp__header,.vp__services,.vp__materials,.vp__blueprint,.vp__pieces,.vp__process,.vp__request,.vp__footer { padding-left:clamp(2rem,5vw,6rem); padding-right:clamp(2rem,5vw,6rem); }
  .vp__header { min-height:96px; }.vp__header nav a:not(.vp__nav-cta) { display:inline; }
  .vp__hero { min-height:690px; }.vp__hero-image { inset:0 0 43px; }.vp__hero-image img { object-position:center; }
  .vp__hero-image::after { background:linear-gradient(90deg,rgba(10,18,23,.96) 0%,rgba(10,18,23,.75) 43%,rgba(10,18,23,.08) 84%),linear-gradient(0deg,#111a20 0%,transparent 33%); }
  .vp__hero-copy { padding:6rem clamp(2rem,5vw,6rem) 5rem; }.vp__hero h1 { font-size:clamp(4.8rem,7.1vw,8.2rem); }
  .vp__hero-actions { flex-direction:row; align-items:center; gap:2rem; }
  .vp__hero-strip { display:flex; padding-inline:clamp(2rem,5vw,6rem); gap:2.5rem; white-space:nowrap; }.vp__hero-strip span + span { padding:0 0 0 2.5rem; border-top:0; border-left:1px solid #5f707a; }
  .vp__services,.vp__materials,.vp__blueprint,.vp__pieces,.vp__process,.vp__request { padding-top:clamp(7rem,10vw,11rem); padding-bottom:clamp(7rem,10vw,11rem); }
  .vp__section-head { grid-template-columns:.3fr 1.2fr .65fr; gap:2rem; align-items:end; margin-bottom:4rem; }
  .vp__section-head h2 { margin:0; }
  .vp__service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vp__service-grid article { min-height:390px; padding:2rem; }.vp__service-grid h3 { margin-top:5rem; }
  .vp__materials { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:end; }.vp__material-list { margin:0; }
  .vp__blueprint-head { display:grid; grid-template-columns:.3fr 1.2fr .65fr; gap:2rem; align-items:end; }.vp__blueprint h2 { margin:0; }
  .vp__blueprint-board { grid-template-columns:1.35fr .65fr; gap:1.5rem; margin-top:4rem; }.vp__detail { min-height:0; padding:2rem; }.vp__exploded { margin:3rem 0; }
  .vp__piece-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }.vp__piece-grid figure:nth-child(2) { margin-top:6rem; }
  .vp__piece-grid img { aspect-ratio:1.25/1; }
  .vp__process { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }.vp__process ol { margin:0; }
  .vp__request-heading { display:grid; grid-template-columns:.3fr 1.2fr .65fr; gap:2rem; align-items:end; }.vp__request h2 { margin:0; }
  .vp__request-layout { grid-template-columns:.9fr 1.1fr; gap:2rem; margin-top:4rem; }.vp__request-summary { padding:2.5rem; }
  .vp__request-cta { grid-template-columns:1fr auto; padding:2rem; }
  .vp__footer { grid-template-columns:1fr 1fr auto; align-items:end; }
}
@media (max-width:370px) {
  .vp__hero h1 { font-size:10.5vw; }.vp__concept { font-size:.51rem; }.vp__header nav { font-size:.69rem; }.vp__brand { font-size:1rem; }
  .vp__section-head h2,.vp__materials h2,.vp__blueprint h2,.vp__process h2,.vp__request h2 { font-size:8.3vw; }
}
@media (prefers-reduced-motion:reduce) {
  .vp *, .vp *::before, .vp *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .vp__toolpath { stroke-dashoffset:0 !important; }
}
