/* =====================================================================
   Monoline: design enhancements (loaded after style.css on every page)
   Additive only. Delete the <link> to this file to see the original look.
   ===================================================================== */
:root{--r-lg:20px;--r-md:14px;--sh-1:0 1px 2px rgba(10,10,10,.05),0 6px 18px rgba(10,10,10,.06);--sh-2:0 2px 4px rgba(10,10,10,.06),0 18px 40px rgba(10,10,10,.12);--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:96px;-webkit-text-size-adjust:100%}
::selection{background:var(--red);color:#fff}
body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:6px}

/* navigation: calmer shadow, clearer active page */
.nav{box-shadow:0 10px 34px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.05)}
.nav ul a{position:relative;transition:color .2s}
.nav ul a.on::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:var(--red)}
.nav .pill{box-shadow:0 6px 16px rgba(225,6,0,.35)}

/* buttons */
.pill{transition:gap .25s var(--ease),transform .2s var(--ease),box-shadow .2s,background .2s}
.pill:hover{transform:translateY(-1px)}
.pill.r:hover{background:#c40500;box-shadow:0 8px 20px rgba(225,6,0,.35)}

/* section headings: a short red rule under centred titles */
.c>h2::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--red);margin:18px auto 0}
.c>.eb{margin-bottom:14px}

/* cards */
.card{border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.card:hover{box-shadow:var(--sh-2)}
img{max-width:100%;height:auto}

/* forms */
.fm input,.fm select,.fm textarea{border-radius:10px;transition:border-color .2s,box-shadow .2s}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(225,6,0,.15)}

/* footer */
.cta{background:linear-gradient(180deg,#0a0a0a 0%,#111 100%)}
.foot{border-top:3px solid var(--red);padding-top:52px}
.foot .logo i{background:var(--red)}
.foot>div:first-child p{max-width:34ch;margin-top:0;color:rgba(255,255,255,.72)}
.foot h4{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.foot a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--red)}
.footer-social a{display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;transition:background .2s,border-color .2s}
.footer-social a:hover{background:var(--red);border-color:var(--red);text-decoration:none}
.footer-social svg{width:18px;height:18px;fill:#fff}
.cta>p{border-top:1px solid rgba(255,255,255,.12);margin:0 auto;max-width:1200px;padding:22px 38px;color:rgba(255,255,255,.6);font-size:13px}
@media (max-width:1000px){.foot{grid-template-columns:1fr 1fr;gap:34px}}
@media (max-width:560px){.foot{grid-template-columns:1fr;padding:40px 22px 28px}.cta>p{padding:20px 22px}}

/* ---------- Technology page: direct YouTube videos, no animation ---------- */
.tx-vid-direct{display:block;margin:0;padding:0;background:none;border:0;max-width:none}
.tx-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);overflow:hidden;background:#000;box-shadow:var(--sh-2);border:1px solid var(--line)}
.tx-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tx-yt{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--red);font-weight:600;font-size:14px;text-decoration:none}
.tx-yt:hover{text-decoration:underline;text-underline-offset:4px}
.tx-yt-card{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:200px;margin:0;padding:26px;border-radius:var(--r-md);background:#0a0a0a;color:#fff;border:1px solid #272727;font-size:16px;text-align:center;transition:border-color .2s,background .2s}
.tx-yt-card svg{width:46px;height:46px;fill:var(--red);flex:none}
.tx-yt-card:hover{border-color:var(--red);background:#151515;text-decoration:none}
/* every animation and motion effect is switched off on the technology page */
body[data-page="technology"] *,body[data-page="technology"] *::before,body[data-page="technology"] *::after{animation:none!important}
body[data-page="technology"] .rv{opacity:1!important;transform:none!important;transition:none!important}
body[data-page="technology"]{scroll-behavior:auto}

/* ---------- Landing pages (welding, cladding, 3D printer) ---------- */
.lp-hero{background:radial-gradient(900px 420px at 85% 10%,rgba(225,6,0,.28),transparent 60%),#0a0a0a;color:#fff;padding:140px 0 70px}
.lp-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.lp-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:-.02em;margin:0 0 4px;font-weight:500}
.lp-hero .eb{color:#c9c9c9}
.lp-hero .lead{color:#d6d6d6;font-size:18px;max-width:58ch}
.lp-hero .lead b{color:#fff}
.lp-bc{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#a3a3a3;margin-bottom:22px}
.lp-bc a{color:#d6d6d6;text-decoration:none}.lp-bc a:hover{color:#fff;text-decoration:underline}
.lp-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0 0}
.lp-facts li{padding:7px 13px;border:1px solid #333;border-radius:99px;font-size:13px;color:#e8e8e8;background:rgba(255,255,255,.04)}
.lp-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.lp-act .pill:not(.r){background:#fff;color:#0a0a0a}
.lp-heroimg{display:grid;place-items:center;padding:24px;border-radius:var(--r-lg);background:radial-gradient(circle at 50% 40%,#2a0705,#0e0e0e 70%);border:1px solid #2a2a2a}
.lp-heroimg img{width:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.6))}
.lp-s{padding:84px 0}
.lp-alt{background:var(--card)}
.lp-s .c{margin-bottom:44px}
.lp-s .c .lead{margin-top:16px}
.lp-narrow{max-width:900px}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px}
.lp-one{grid-template-columns:minmax(0,760px);justify-content:center}
.lp-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-1);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.lp-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:var(--sh-2)}
.lp-ph{position:relative;aspect-ratio:4/3;background:radial-gradient(circle at 50% 40%,#2a0705,#0e0e0e 75%)}
.lp-ph img{position:absolute;inset:7%;width:86%;height:86%;object-fit:contain}
.lp-b{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px}
.lp-tag{font:500 11px "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.lp-b h3{margin:8px 0 8px;font-size:24px;line-height:1.15}
.lp-b p{margin:0 0 12px;color:var(--mute);font-size:15px}
.lp-b ul{margin:0 0 18px;padding-left:18px;font-size:14.5px;color:var(--ink)}
.lp-b li{margin:0 0 5px}
.lp-b .lp-act{margin-top:auto}
.lp-b .lp-act .pill:not(.r){background:var(--ink);color:var(--bg)}
.lp-tw{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}
.lp-t{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.lp-t caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lp-t th,.lp-t td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.lp-t thead th{background:#0a0a0a;color:#fff;font-weight:600;white-space:nowrap}
.lp-t tbody th{font-weight:600;color:var(--ink);background:var(--card);width:26%}
.lp-t tbody tr:last-child th,.lp-t tbody tr:last-child td{border-bottom:0}
.lp-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.lp-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:14px}
.lp-steps li{counter-increment:s;position:relative;padding:16px 18px 16px 62px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg)}
.lp-steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-weight:600}
.lp-steps b{display:block;margin-bottom:3px;font-size:16px}
.lp-steps span{color:var(--mute);font-size:14.5px}
.lp-vid{position:sticky;top:110px}
.lp-more{margin:26px 0 0;text-align:center}
.lp-more a{color:var(--red);font-weight:600;text-decoration:none}.lp-more a:hover{text-decoration:underline;text-underline-offset:4px}
.lp-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.lp-c{padding:26px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);box-shadow:var(--sh-1)}
.lp-c i{font:500 13px "IBM Plex Mono",monospace;color:var(--red);font-style:normal}
.lp-c h3{margin:10px 0 8px;font-size:20px}
.lp-c p{margin:0;color:var(--mute);font-size:15px}
.lp-chips{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0}
.lp-chips li{padding:10px 18px;border:1px solid var(--line);border-radius:99px;background:var(--card);font-size:14.5px}
.lp-faq{display:grid;gap:10px}
.lp-q{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);overflow:hidden}
.lp-q summary{cursor:pointer;list-style:none;padding:18px 54px 18px 20px;font-weight:600;position:relative}
.lp-q summary::-webkit-details-marker{display:none}
.lp-q summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--red);font-weight:400}
.lp-q[open] summary::after{content:"–"}
.lp-q[open]{border-color:var(--red)}
.lp-q p{margin:0;padding:0 20px 20px;color:var(--mute)}
.lp-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.lp-rl{display:block;padding:22px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s var(--ease)}
.lp-rl:hover{border-color:var(--red);transform:translateY(-3px)}
.lp-rl b{display:block;font-size:18px;margin-bottom:4px}
.lp-rl span{color:var(--mute);font-size:14.5px}
@media (max-width:900px){
  .lp-hero{padding:118px 0 50px}
  .lp-hero-in,.lp-split{grid-template-columns:1fr}
  .lp-heroimg{order:-1}
  .lp-s{padding:60px 0}
  .lp-vid{position:static}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
