/*
Theme Name: Lost Wax Casting
Theme URI: https://lostwaxcasting.net
Author: Lost Wax Casting
Description: A clean, fast, SEO-first WordPress theme for lostwaxcasting.net — an investment (lost wax) casting foundry producing valve and pump castings, impellers, brackets, pipe fittings, housings and made-to-drawing precision parts. Frozen sticky navigation, catalog-archive ready, built to pair with the Investment Casting Finder & Catalog plugin. American English.
Version: 1.9.0
License: GPL-2.0+
Text Domain: lwc
*/

/* ═══════════════════════════════════════════════════════════════════════════
   PRECISION INDUSTRIAL SYSTEM — design tokens
   Bench-side professional: rigid grids, hairline outlines, tonal layering.
   Hierarchy comes from weight and border, not from shadow.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  /* — Core brand ————————————————————————————— */
  --lwc-primary:#000f22;              /* deep industrial blue  */
  --lwc-primary-2:#345076;            /* engineering blue      */
  --lwc-primary-container:#0a2540;
  --lwc-on-primary-container:#768dad;
  --lwc-accent:#C68119;               /* precision orange      */
  /* Same hue, darkened until white body text on it clears 4.5:1. The bright
     value above stays for eyebrows and marks on dark grounds, where it is
     already high contrast; solid buttons use this one. */
  --lwc-accent-btn:#9c6410;
  --lwc-accent-dim:#a86c12;
  --lwc-accent-soft:#ffb960;
  --lwc-success:#1B5E20;

  /* — Ink ————————————————————————————————————— */
  --lwc-ink:#191c1d;
  --lwc-ink-2:#43474d;                /* on-surface-variant    */
  --lwc-muted:#5b5f64;
  --lwc-outline:#74777e;

  /* — Surfaces (tonal layering, lowest → highest) ——————— */
  --lwc-surface:#ffffff;              /* container-lowest      */
  --lwc-bg:#f8f9fa;                   /* page surface          */
  --lwc-surface-1:#f3f4f5;
  --lwc-surface-2:#edeeef;
  --lwc-surface-3:#e7e8e9;
  --lwc-surface-4:#e1e3e4;            /* steel gray            */
  --lwc-inverse-surface:#2e3132;

  /* — Lines. Hairline only; 1px is the system default. ——— */
  --lwc-line:#D1D5DB;                 /* steel-border          */
  --lwc-line-soft:#c4c6ce;

  /* — Radii: milled metal, 4px base ————————————— */
  --lwc-r-sm:2px;
  --lwc-r:4px;
  --lwc-r-md:6px;
  --lwc-r-lg:8px;
  --lwc-r-xl:12px;
  --lwc-r-full:9999px;

  /* — Spacing: 8px base, 24px gutter, 80px section gap ——— */
  --lwc-space:8px;
  --lwc-gutter:24px;
  --lwc-margin:40px;
  --lwc-section-gap:80px;
  --lwc-maxw:1440px;

  /* — Elevation: reserved for overlays only ——————— */
  --lwc-shadow-overlay:0 24px 60px -24px rgba(0,15,34,.28);
  --lwc-shadow-raise:0 2px 6px -2px rgba(0,15,34,.10);

  --lwc-nav-h:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--lwc-ink);background:var(--lwc-surface);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--lwc-primary)}
img{max-width:100%;height:auto}
.lwc-container{max-width:1180px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
.lwc-skip{position:absolute;left:-9999px}
.lwc-skip:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:2000;border-radius:4px}

/* ── Top bar ─────────────────────────────────── */
.lwc-topbar{background:var(--lwc-primary);color:#fff;font-size:13px}
.lwc-topbar-inner{display:flex;justify-content:space-between;align-items:center;height:36px;flex-wrap:wrap;gap:8px}
.lwc-topbar a{color:#fff;text-decoration:none}
.lwc-tb-left a,.lwc-tb-left span{margin-right:14px;opacity:.92}
.lwc-tb-right a{font-weight:600}

/* ── FROZEN sticky header ────────────────────── */
.lwc-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--lwc-line);transition:box-shadow .2s}
.lwc-header.is-scrolled{box-shadow:0 1px 2px rgba(0,15,34,.06)}
.lwc-header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--lwc-nav-h)}
.lwc-logo a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--lwc-ink);font-weight:800;font-size:20px;letter-spacing:-.3px}
.lwc-logo .lwc-logo-mark{display:inline-block;width:26px;height:26px;border-radius:4px;background:linear-gradient(135deg,var(--lwc-primary),var(--lwc-primary-2));position:relative}
.lwc-logo .lwc-logo-mark::after{content:"";position:absolute;inset:7px;border:2px solid #fff;border-radius:50%;border-top-color:transparent;border-right-color:transparent}
.lwc-nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:4px;align-items:center}
.lwc-nav-menu li{position:relative}
.lwc-nav-menu a{display:block;padding:10px 14px;text-decoration:none;color:var(--lwc-ink);font-weight:600;font-size:14.5px;border-radius:4px}
.lwc-nav-menu a:hover{background:var(--lwc-bg);color:var(--lwc-primary)}
.lwc-nav-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--lwc-line);border-radius:4px;box-shadow:0 24px 60px -24px rgba(0,15,34,.28);min-width:220px;padding:6px;z-index:50}
.lwc-nav-menu li:hover>.sub-menu{display:block}
.lwc-nav-menu .sub-menu a{font-weight:500;font-size:14px}
.lwc-header-actions{display:flex;align-items:center;gap:10px}
.lwc-btn{display:inline-block;border:0;border-radius:4px;font-weight:700;font-size:14px;padding:10px 18px;cursor:pointer;text-decoration:none;font-family:inherit;transition:transform .12s}
.lwc-btn:hover{transform:translateY(-1px)}
.lwc-btn-primary{background:var(--lwc-accent);color:#fff}
.lwc-btn-outline{background:transparent;border:1.5px solid var(--lwc-line);color:var(--lwc-ink)}
.lwc-btn-sm{padding:8px 14px;font-size:13.5px}
.lwc-ham{display:none;flex-direction:column;gap:4px;width:40px;height:40px;border:1px solid var(--lwc-line);background:#fff;border-radius:4px;cursor:pointer;align-items:center;justify-content:center}
.lwc-ham span{display:block;width:20px;height:2px;background:var(--lwc-ink);border-radius:2px}
/* spacer so fixed header doesn't overlap content */
.lwc-header-spacer{height:var(--lwc-nav-h)}

/* ── Mobile drawer ───────────────────────────── */
.lwc-drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:1100;opacity:0;pointer-events:none;transition:opacity .2s}
.lwc-drawer-overlay.is-open{opacity:1;pointer-events:auto}
.lwc-drawer{position:fixed;top:0;right:0;height:100%;width:300px;max-width:84vw;background:#fff;z-index:1101;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column}
.lwc-drawer.is-open{transform:translateX(0)}
.lwc-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--lwc-line)}
.lwc-drawer-logo{font-weight:800}
.lwc-drawer-close{background:none;border:0;font-size:26px;cursor:pointer;line-height:1}
.lwc-drawer-menu{list-style:none;margin:0;padding:8px;overflow-y:auto}
.lwc-drawer-menu a{display:block;padding:12px 14px;text-decoration:none;color:var(--lwc-ink);font-weight:600;border-radius:4px}
.lwc-drawer-menu a:hover{background:var(--lwc-bg)}
@media(max-width:920px){
  .lwc-nav,.lwc-header-actions .lwc-btn{display:none}
  .lwc-ham{display:flex}
}

/* ── Footer ──────────────────────────────────── */
.lwc-footer{background:#000f22;color:#b9c3d1;margin-top:60px}
.lwc-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding:48px 0 32px}
@media(max-width:820px){.lwc-footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.lwc-footer-inner{grid-template-columns:1fr}}
.lwc-footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 14px}
.lwc-footer a{color:#b9c3d1;text-decoration:none;display:block;padding:4px 0;font-size:14px}
.lwc-footer a:hover{color:#fff}
.lwc-footer-brand{font-size:20px;font-weight:800;color:#fff;margin-bottom:10px}
.lwc-footer-tag{font-size:14px;line-height:1.6;max-width:340px}
.lwc-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ── Generic page ────────────────────────────── */
.lwc-page-wrap{max-width:860px;margin:0 auto;padding:40px 20px 60px}
.lwc-page-wrap.wide{max-width:1180px}
.lwc-page-title{font-size:clamp(28px,5vw,42px);font-weight:800;margin:0 0 18px;line-height:1.15}
.lwc-content h2{font-size:24px;margin:30px 0 12px}
.lwc-content h3{font-size:19px;margin:22px 0 10px}
.lwc-content p,.lwc-content li{font-size:16px;line-height:1.75;color:#43474d}
.lwc-content img{border-radius:6px}

/* ── Homepage ────────────────────────────────── */
.lwc-hero{background:linear-gradient(135deg,#000f22 0%,#345076 100%);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden;isolation:isolate}
.lwc-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(184,115,51,.25),transparent 40%);pointer-events:none;z-index:2}
.lwc-hero-inner{position:relative;z-index:3;max-width:760px}
.lwc-hero h1{font-size:clamp(30px,5vw,46px);font-weight:800;margin:0 0 16px;line-height:1.12}
.lwc-hero-inner>p{font-size:18px;opacity:.92;margin:0 0 26px}
.lwc-hero-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ── Homepage hero with photography ────────────────────────────────────── */
.lwc-hero.has-media{padding:clamp(56px,7vw,88px) 0 clamp(60px,7vw,92px)}
/* The photo sits behind everything; the scrim guarantees text contrast no
   matter how light or busy the image is. */
.lwc-hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.04);filter:saturate(.85)}
.lwc-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,rgba(16,26,40,.94) 0%,rgba(20,42,72,.88) 42%,rgba(24,52,88,.62) 70%,rgba(24,52,88,.45) 100%)}
.lwc-hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.lwc-hero-kicker{display:inline-block;margin-bottom:14px;padding:6px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#ffddb8}
.lwc-hero.has-media .lwc-hero-inner{max-width:none}
.lwc-hero.has-media h1{text-shadow:0 2px 22px rgba(6,14,26,.45)}
.lwc-hero-points{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:9px}
.lwc-hero-points li{position:relative;padding-left:26px;font-size:14.5px;color:rgba(255,255,255,.9)}
.lwc-hero-points li:before{content:"";position:absolute;left:2px;top:.44em;width:9px;height:9px;border-radius:50%;border:2px solid var(--lwc-accent)}
.lwc-btn-on-dark{color:#fff;border-color:rgba(255,255,255,.5)}
.lwc-btn-on-dark:hover{background:rgba(255,255,255,.1)}
/* Floating product cards. Purely decorative, so they drop out on narrow
   screens rather than squeezing the headline. */
.lwc-hero-cards{position:relative;min-height:300px}
.lwc-hero-card{margin:0;overflow:hidden;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:#fff;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-hero-card img{display:block;width:100%;height:100%;object-fit:cover}
.lwc-hero-card-a{aspect-ratio:4/3;transform:rotate(-1.6deg)}
.lwc-hero-card-b{position:absolute;right:-6px;bottom:-34px;width:52%;aspect-ratio:1/1;transform:rotate(3deg)}
@media(max-width:960px){
  .lwc-hero-grid{grid-template-columns:1fr;gap:0}
  .lwc-hero-cards{display:none}
  .lwc-hero-scrim{background:linear-gradient(180deg,rgba(16,26,40,.92),rgba(22,46,78,.86))}
}
.lwc-section{padding:54px 0}
.lwc-section-head{text-align:center;max-width:680px;margin:0 auto 34px}
.lwc-section-head h2{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 10px}
.lwc-section-head p{color:var(--lwc-muted);font-size:16px;margin:0}
.lwc-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.lwc-card{display:block;border:1px solid var(--lwc-line);border-radius:6px;padding:22px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
.lwc-card:hover{border-color:var(--lwc-primary);box-shadow:0 24px 60px -24px rgba(0,15,34,.28);transform:translateY(-2px)}
.lwc-card h3{margin:0 0 8px;font-size:17px;color:var(--lwc-ink)}
.lwc-card p{margin:0;color:var(--lwc-muted);font-size:14px;line-height:1.5}
.lwc-section-alt{background:var(--lwc-bg)}
.lwc-config-home{margin-top:10px}

/* posts */
.lwc-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.lwc-post-card{border:1px solid var(--lwc-line);border-radius:6px;overflow:hidden;background:#fff}
.lwc-post-card .thumb{aspect-ratio:16/9;background:var(--lwc-bg);display:block;overflow:hidden}
.lwc-post-card .thumb img{width:100%;height:100%;object-fit:cover}
.lwc-post-card .body{padding:18px}
.lwc-post-card h3{margin:0 0 8px;font-size:18px}
.lwc-post-card h3 a{text-decoration:none;color:var(--lwc-ink)}
.lwc-post-card .meta{font-size:13px;color:var(--lwc-muted);margin-bottom:8px}
.lwc-pagination{display:flex;gap:8px;justify-content:center;margin-top:36px}
.lwc-pagination .page-numbers{padding:8px 14px;border:1px solid var(--lwc-line);border-radius:4px;text-decoration:none;color:var(--lwc-ink)}
.lwc-pagination .current{background:var(--lwc-primary);color:#fff;border-color:var(--lwc-primary)}

/* contact form */
.lwc-form{display:grid;gap:14px;max-width:620px}
.lwc-form label{font-weight:600;font-size:14px;display:block;margin-bottom:5px}
.lwc-form input,.lwc-form textarea,.lwc-form select{width:100%;padding:11px 13px;border:1.5px solid var(--lwc-line);border-radius:4px;font-size:15px;font-family:inherit;background:#fff;color:var(--lwc-ink)}
.lwc-form input:focus,.lwc-form textarea:focus,.lwc-form select:focus{outline:none;border-color:var(--lwc-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.lwc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.lwc-form-row{grid-template-columns:1fr}}
.lwc-notice{padding:12px 16px;border-radius:4px;margin-bottom:18px;font-weight:600}
.lwc-notice.ok{background:#dff0e0;color:#1B5E20}
.lwc-notice.err{background:#ffdad6;color:#93000a}

/* ── Navbar refinements (logo sizing + roomier, left-clustered layout) ──── */
/* Give the header more room so 7 menu items never crowd or wrap */
.lwc-header .lwc-container{max-width:none;padding-left:max(20px,calc((100vw - 1280px)/2 + 20px));padding-right:clamp(28px,10.42vw,200px)}

/* Lock the logo size. Google Translate injects <font> tags and can otherwise
   blow up an unconstrained (webp) logo; the !important height pins it. */
.lwc-logo{display:flex;align-items:center;flex:0 0 auto}
.lwc-logo a{display:flex;align-items:center;gap:10px}
.lwc-logo img,
.lwc-logo .custom-logo,
.custom-logo-link img,
img.custom-logo{height:40px !important;width:auto !important;max-width:230px !important;display:block}

/* Keep the logo anchored while the complete menu + CTA form a right cluster. */
.lwc-header-inner{justify-content:flex-start;gap:24px}
.lwc-nav{flex:0 1 720px;min-width:0;margin-left:auto}
.lwc-nav-menu{flex-wrap:nowrap;justify-content:space-between;gap:clamp(4px,1vw,18px)}
.lwc-nav-menu>li>a{white-space:nowrap;padding:10px 10px;font-size:14.5px}
.lwc-header-actions{flex:0 0 auto;margin-left:0}

/* On smaller desktops, tighten spacing a little more before the mobile drawer
   takes over, so nothing wraps. */
@media(max-width:1100px){
  .lwc-header .lwc-container{padding-left:20px;padding-right:20px}
  .lwc-header-inner{gap:20px}
  .lwc-nav-menu>li>a{padding:10px 10px;font-size:14px}
}

/* ── Homepage: Calculator selector ─────────────────────────────────────── */
.lwc-calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.lwc-calc-card{display:block;padding:20px 18px;background:#fff;border:1px solid var(--lwc-line);border-radius:6px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.lwc-calc-card:hover{border-color:var(--lwc-primary);box-shadow:0 24px 60px -24px rgba(0,15,34,.28);transform:translateY(-2px);text-decoration:none}
.lwc-calc-ico{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(31,58,95,.08);color:var(--lwc-primary);margin-bottom:12px}
.lwc-calc-ico svg{width:22px;height:22px}
.lwc-calc-card h3{font-size:15.5px;font-weight:700;margin:0 0 6px;color:var(--lwc-primary);line-height:1.3}
.lwc-calc-card p{margin:0;font-size:13.5px;color:var(--lwc-muted);line-height:1.5}

/* ── Section heads with an inline CTA ──────────────────────────────────── */
.lwc-section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;max-width:none;text-align:left}
.lwc-section-head-row>div{max-width:640px}
.lwc-section-head-row h2{margin:0 0 10px}
.lwc-head-cta{flex:0 0 auto;white-space:nowrap;background:#fff}
.lwc-eyebrow{display:block;margin-bottom:8px;color:var(--lwc-accent);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lwc-eyebrow-live{display:flex;align-items:center;gap:7px}
.lwc-eyebrow-live:before{content:"";width:7px;height:7px;border-radius:50%;background:#1B5E20;box-shadow:0 1px 2px rgba(0,15,34,.06)}
@media(max-width:720px){
  .lwc-section-head-row{align-items:flex-start;flex-direction:column;gap:16px}
  .lwc-head-cta{display:none}
}

/* ── Homepage: image + feature-list split ──────────────────────────────── */
.lwc-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:44px;align-items:center}
.lwc-split-media{margin:0;overflow:hidden;border-radius:8px;border:1px solid var(--lwc-line);background:var(--lwc-bg);aspect-ratio:4/3;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-split-media img{display:block;width:100%;height:100%;object-fit:cover}
.lwc-feature{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--lwc-line)}
.lwc-feature:last-of-type{border-bottom:0}
.lwc-feature-n{flex:0 0 40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:rgba(31,58,95,.08);color:var(--lwc-primary);font-size:13px;font-weight:800}
.lwc-feature h3{margin:0 0 5px;font-size:17px}
.lwc-feature p{margin:0;color:var(--lwc-muted);font-size:14.5px;line-height:1.6}
@media(max-width:820px){.lwc-split{grid-template-columns:1fr;gap:26px}}

/* ── Homepage: Blog / News feeds ───────────────────────────────────────── */
.lwc-feed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.lwc-feed-card{overflow:hidden;border:1px solid var(--lwc-line);border-radius:6px;background:#fff;transition:transform .15s,border-color .15s,box-shadow .15s}
.lwc-feed-card:hover{transform:translateY(-3px);border-color:#c4c6ce;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-feed-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.lwc-feed-thumb{display:block;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,#f8f9fa,#D1D5DB)}
.lwc-feed-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lwc-feed-card:hover .lwc-feed-thumb img{transform:scale(1.045)}
.lwc-feed-body{display:flex;flex:1;flex-direction:column;padding:15px 16px 18px}
.lwc-feed-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px;font-size:12px;color:var(--lwc-muted)}
.lwc-feed-tag{padding:3px 9px;border-radius:999px;background:rgba(31,58,95,.08);color:var(--lwc-primary);font-style:normal;font-weight:700;font-size:11.5px;letter-spacing:.02em}
.lwc-feed-title{font-size:16px;font-weight:700;line-height:1.42;color:var(--lwc-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lwc-feed-link:hover .lwc-feed-title{color:var(--lwc-primary-2)}
.lwc-feed-excerpt{margin-top:9px;font-size:13.5px;line-height:1.55;color:var(--lwc-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lwc-feed-more{display:none;text-align:center;margin:26px 0 0}
@media(max-width:1080px){.lwc-feed-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.lwc-feed-more{display:block}}
@media(max-width:520px){.lwc-feed-grid{grid-template-columns:1fr}}

/* ── Section with a photographic background ────────────────────────────── */
.lwc-section-photo{position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:var(--lwc-bg)}
.lwc-section-photo>.lwc-container{position:relative;z-index:2}
/* Near-opaque scrim: the photo reads as texture, the cards stay legible. */
.lwc-section-photo-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(244,246,249,.97),rgba(238,242,247,.99))}

/* ── Page hero (About / Contact) ───────────────────────────────────────── */
.lwc-page-hero{position:relative;overflow:hidden;background-size:cover;background-position:center;background-color:var(--lwc-primary);color:#fff;padding:clamp(52px,7vw,86px) 0}
.lwc-page-hero-sm{padding:clamp(42px,5.5vw,66px) 0}
.lwc-page-hero-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,24,38,.9) 0%,rgba(20,42,72,.84) 100%)}
.lwc-page-hero-inner{position:relative;z-index:2;max-width:850px;text-align:center}
.lwc-page-hero-inner>span{display:block;margin-bottom:9px;color:#ffddb8;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lwc-page-hero-inner h1{margin:0 0 15px;font-size:clamp(32px,5vw,52px);line-height:1.1;text-shadow:0 2px 22px rgba(6,14,26,.4)}
.lwc-page-hero-inner p{max-width:760px;margin:0 auto;font-size:17.5px;line-height:1.7;color:rgba(255,255,255,.88)}

/* ── Homepage: About module ───────────────────────────────────────────── */
.lwc-about-media{margin:0;overflow:hidden;border-radius:8px;border:1px solid var(--lwc-line);background:var(--lwc-bg);aspect-ratio:3/4;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-about-media img{display:block;width:100%;height:100%;object-fit:cover}
.lwc-about-grid{display:grid;grid-template-columns:.8fr 1.4fr 1fr;gap:36px;align-items:start}
.lwc-about-text p{font-size:15.5px;line-height:1.65;margin:0 0 14px;color:var(--lwc-ink)}
.lwc-about-text p:last-child{margin-bottom:0}
.lwc-about-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lwc-stat{padding:20px 16px;background:#fff;border:1px solid var(--lwc-line);border-radius:6px;text-align:center}
.lwc-stat-n{display:block;font-size:30px;font-weight:800;color:var(--lwc-primary);line-height:1.1}
.lwc-stat-l{display:block;font-size:12.5px;color:var(--lwc-muted);margin-top:6px;line-height:1.4}
@media(max-width:1020px){.lwc-about-grid{grid-template-columns:1fr 1fr;gap:30px}.lwc-about-media{grid-column:1 / -1;aspect-ratio:16/7}}
@media(max-width:760px){.lwc-about-grid{grid-template-columns:1fr;gap:24px}.lwc-about-media{aspect-ratio:16/9}}

/* ── Homepage: Contact module ─────────────────────────────────────────── */
.lwc-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.lwc-contact-card{padding:22px 20px;background:#fff;border:1px solid var(--lwc-line);border-radius:6px;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s}
.lwc-contact-card:hover{border-color:var(--lwc-primary);box-shadow:0 24px 60px -24px rgba(0,15,34,.28);transform:translateY(-2px)}
.lwc-contact-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(31,58,95,.08);color:var(--lwc-primary);margin:0 auto 12px}
.lwc-contact-ico svg{width:24px;height:24px}
.lwc-contact-card h3{font-size:15px;font-weight:700;margin:0 0 6px;color:var(--lwc-primary)}
.lwc-contact-card p{margin:0;font-size:14px;color:var(--lwc-muted);line-height:1.55}
.lwc-contact-card a{color:var(--lwc-primary);font-weight:600;text-decoration:none}
.lwc-contact-card a:hover{text-decoration:underline}

/* ── Blog archive and categories (aligned with the News experience) ── */
.lwc-blog-wrap{max-width:1200px;margin:0 auto;padding:30px 20px 64px}
.lwc-breadcrumb{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:0 0 20px;font-size:13px;color:var(--lwc-muted)}
.lwc-breadcrumb a{color:var(--lwc-muted);text-decoration:none}.lwc-breadcrumb a:hover{color:var(--lwc-primary)}
.lwc-blog-head{text-align:center;margin:0 0 26px}.lwc-blog-head h1{display:inline-block;position:relative;margin:0;padding-bottom:13px;font-size:clamp(28px,3vw,40px);line-height:1.2}
.lwc-blog-head h1:after{content:"";position:absolute;bottom:0;left:50%;width:64px;height:4px;border-radius:4px;background:var(--lwc-primary-2);transform:translateX(-50%)}
.lwc-blog-description{max-width:700px;margin:16px auto 0;color:var(--lwc-muted)}
.lwc-category-bar{margin:0 0 30px;padding:20px 0;border-top:1px solid var(--lwc-line);border-bottom:1px solid var(--lwc-line)}
.lwc-category-label{display:block;margin-bottom:11px;color:var(--lwc-muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.lwc-category-list{display:flex;flex-wrap:wrap;gap:8px}
.lwc-category-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--lwc-line);border-radius:999px;color:var(--lwc-ink);background:#fff;text-decoration:none;font-size:13px;line-height:1.2;transition:.15s}
.lwc-category-pill span{padding:1px 6px;border-radius:99px;background:var(--lwc-bg);color:var(--lwc-muted);font-size:11px}
.lwc-category-pill:hover{border-color:var(--lwc-primary);color:var(--lwc-primary)}.lwc-category-pill.is-active{border-color:var(--lwc-primary);background:var(--lwc-primary);color:#fff}.lwc-category-pill.is-active span{background:rgba(255,255,255,.15);color:#fff}
.lwc-blog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.lwc-blog-card{overflow:hidden;border:1px solid var(--lwc-line);border-radius:4px;background:#fff;transition:transform .15s,border-color .15s,box-shadow .15s}
.lwc-blog-card:hover{transform:translateY(-2px);border-color:#c4c6ce;box-shadow:0 1px 2px rgba(0,15,34,.06)}
.lwc-blog-card-link{display:flex;height:100%;flex-direction:column;color:inherit;text-decoration:none}
.lwc-blog-thumb{display:block;overflow:hidden;aspect-ratio:16/9;background:var(--lwc-bg)}.lwc-blog-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.lwc-blog-card:hover img{transform:scale(1.03)}
.lwc-blog-thumb-fallback{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f8f9fa,#D1D5DB)}
.lwc-blog-card-body{display:flex;flex:1;flex-direction:column;padding:15px 16px 18px}.lwc-blog-card-meta{font-size:12px;color:var(--lwc-muted);margin-bottom:7px}
.lwc-blog-card-title{font-size:16px;line-height:1.4;font-weight:700;color:var(--lwc-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.lwc-blog-card-link:hover .lwc-blog-card-title{color:var(--lwc-primary-2)}
.lwc-blog-card-excerpt{font-size:13.5px;line-height:1.55;color:var(--lwc-muted);margin-top:9px}
.lwc-blog-empty{text-align:center;padding:54px 20px;color:var(--lwc-muted)}
.lwc-blog-pagination .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:36px}.lwc-blog-pagination>.page-numbers{display:inline-block;margin:36px 3px 0}
.lwc-blog-pagination .page-numbers{padding:8px 13px;border:1px solid var(--lwc-line);border-radius:4px;color:var(--lwc-ink);text-decoration:none}.lwc-blog-pagination .current{background:var(--lwc-primary);border-color:var(--lwc-primary);color:#fff}
@media(max-width:1100px){.lwc-blog-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.lwc-blog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.lwc-blog-grid{grid-template-columns:1fr}}

/* ── Single article ── */
.lwc-article-wrap{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.lwc-article-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:start}
.lwc-article-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 110px)}
.lwc-toc{flex:0 0 auto;padding:6px 4px;border:1px solid var(--lwc-line);border-radius:4px;background:#fff;font-size:14px}.lwc-toc[hidden]{display:none}.lwc-toc-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:0;background:none;color:var(--lwc-ink);font:inherit;font-weight:600;cursor:pointer}.lwc-toc-head i{width:8px;height:8px;margin-right:4px;border-right:2px solid var(--lwc-muted);border-bottom:2px solid var(--lwc-muted);transform:rotate(45deg);transition:transform .2s}.lwc-toc.is-collapsed .lwc-toc-head i{transform:rotate(-45deg)}
.lwc-toc-list{max-height:42vh;overflow:auto}.lwc-toc.is-collapsed .lwc-toc-list{display:none}.lwc-toc-list a{display:block;padding:5px 12px;border-left:2px solid transparent;color:var(--lwc-muted);text-decoration:none;line-height:1.4}.lwc-toc-list a:hover{color:var(--lwc-ink)}.lwc-toc-list a.is-active{border-left-color:var(--lwc-primary-2);color:var(--lwc-primary-2);font-weight:600}.lwc-toc-list .level-3{padding-left:26px;font-size:13px}.lwc-toc-list .level-4{padding-left:38px;font-size:13px}.lwc-toc-list .level-5{padding-left:50px;font-size:12px}
.lwc-related{padding:14px;border:1px solid var(--lwc-line);border-radius:4px;background:#fff;overflow:auto}.lwc-related h2{font-size:14px;margin:0 0 8px}.lwc-related a{display:flex;gap:10px;padding:10px 2px;border-top:1px solid var(--lwc-line);color:var(--lwc-ink);text-decoration:none}.lwc-related a span{flex:0 0 52px}.lwc-related img{width:52px;height:52px;object-fit:cover;border-radius:4px}.lwc-related strong{font-size:13.5px;line-height:1.4}.lwc-related small{display:block;margin-top:3px;color:var(--lwc-muted);font-weight:400}
.lwc-article h1{font-size:clamp(28px,3vw,40px);line-height:1.22;margin:0 0 13px}.lwc-article-meta{display:flex;gap:8px;align-items:center;color:var(--lwc-muted);font-size:14px;padding-bottom:18px;border-bottom:1px solid var(--lwc-line)}
.lwc-article-featured{margin:24px 0}.lwc-article-featured img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:4px}
.lwc-article-content{font-size:16.5px;line-height:1.78;color:#43474d}.lwc-article-content h2,.lwc-article-content h3,.lwc-article-content h4,.lwc-article-content h5{line-height:1.3;margin:1.6em 0 .55em;scroll-margin-top:90px}.lwc-article-content img{border-radius:4px}
.lwc-article-categories{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;padding-top:18px;border-top:1px solid var(--lwc-line)}.lwc-article-categories>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lwc-muted)}.lwc-article-categories a{padding:6px 12px;border:1px solid var(--lwc-line);border-radius:99px;color:var(--lwc-ink);font-size:13px;text-decoration:none}
@media(max-width:900px){.lwc-article-layout{grid-template-columns:1fr;grid-template-areas:"toc" "article" "related"}.lwc-article-aside{display:contents;position:static;max-height:none}.lwc-toc{grid-area:toc;position:sticky;top:0;z-index:20}.lwc-toc-list{max-height:45vh}.lwc-related{grid-area:related}.lwc-article{grid-area:article}}

/* ── About factory page ── */
.lwc-about-page{max-width:1180px;margin:0 auto;padding:8px 20px 64px}.lwc-about-page>.lwc-about-intro{border-top:0}.lwc-about-hero{max-width:850px;margin:0 auto 56px;text-align:center}.lwc-about-hero>span,.lwc-about-kicker{display:block;margin-bottom:8px;color:var(--lwc-accent);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.lwc-about-hero h1{margin:0 0 16px;font-size:clamp(34px,5vw,54px);line-height:1.08}.lwc-about-hero p{max-width:760px;margin:0 auto;color:var(--lwc-muted);font-size:18px;line-height:1.7}
/* Photo blocks inside the About page. */
.lwc-about-figure{margin:22px 0 0;overflow:hidden;border-radius:6px;border:1px solid var(--lwc-line);background:var(--lwc-bg);aspect-ratio:4/3;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-about-figure img{display:block;width:100%;height:100%;object-fit:cover}
.lwc-about-figure-tall{margin:0 0 20px;aspect-ratio:16/10}
.lwc-about-intro{display:grid;grid-template-columns:.85fr 1.35fr;gap:64px;padding:48px 0;border-top:1px solid var(--lwc-line)}.lwc-about-intro h2,.lwc-about-standard h2,.lwc-about-cta h2{margin:0;font-size:clamp(26px,3vw,36px);line-height:1.2}.lwc-about-intro p,.lwc-about-standard p{margin:0 0 15px;color:#43474d;line-height:1.75}
.lwc-about-capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:8px 0 56px}.lwc-about-capabilities article{padding:24px 20px;border:1px solid var(--lwc-line);border-radius:6px;background:#fff}.lwc-about-capabilities strong{color:var(--lwc-accent);font-size:13px}.lwc-about-capabilities h3{margin:9px 0 8px;font-size:18px}.lwc-about-capabilities p{margin:0;color:var(--lwc-muted);font-size:14px;line-height:1.65}
.lwc-about-standard{display:grid;grid-template-columns:1.35fr .8fr;gap:56px;padding:44px;border-radius:8px;background:var(--lwc-bg)}.lwc-about-standard h2{margin-bottom:18px}.lwc-about-standard ul{margin:0;padding:0;list-style:none}.lwc-about-standard li{padding:14px 0 14px 28px;border-bottom:1px solid var(--lwc-line);position:relative}.lwc-about-standard li:before{content:"✓";position:absolute;left:0;color:var(--lwc-primary);font-weight:800}
.lwc-about-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:54px;padding-top:44px;border-top:1px solid var(--lwc-line)}.lwc-about-cta>div{max-width:720px}.lwc-about-cta h2{margin-bottom:10px}.lwc-about-cta p{margin:0;color:var(--lwc-muted)}.lwc-about-cta .lwc-btn{flex:0 0 auto}
@media(max-width:900px){.lwc-about-capabilities{grid-template-columns:repeat(2,1fr)}.lwc-about-intro,.lwc-about-standard{grid-template-columns:1fr;gap:28px}}@media(max-width:580px){.lwc-about-page{padding-top:34px}.lwc-about-capabilities{grid-template-columns:1fr}.lwc-about-standard{padding:26px 20px}.lwc-about-cta{align-items:flex-start;flex-direction:column}}

/* ── Contact page and verification ── */
.lwc-contact-page{max-width:1120px;margin:0 auto;padding:40px 20px 64px}.lwc-contact-head{max-width:720px;margin:0 auto 34px;text-align:center}.lwc-contact-head>span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lwc-accent)}.lwc-contact-head h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:8px 0 12px}.lwc-contact-head p{color:var(--lwc-muted);margin:0}
.lwc-contact-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:30px;align-items:start}.lwc-contact-form-card,.lwc-contact-aside{padding:28px;border:1px solid var(--lwc-line);border-radius:6px;background:#fff;box-shadow:0 24px 60px -24px rgba(0,15,34,.28)}
.lwc-contact-form-card .lwc-form{max-width:none}.lwc-form label span{color:#ba1a1a}.lwc-form textarea{resize:vertical;min-height:140px}.lwc-contact-aside{background:var(--lwc-bg)}.lwc-contact-aside h3{margin-top:0;color:var(--lwc-primary)}
.lwc-verification{margin:3px 0 0;padding:16px;border:1px solid var(--lwc-line);border-radius:4px;background:#f8f9fa}.lwc-verification legend{padding:0 6px;font-size:13px;font-weight:700;color:var(--lwc-primary)}
.lwc-human-check{display:flex!important;align-items:center;gap:9px;margin:0 0 14px!important}.lwc-human-check input{width:18px!important;height:18px;margin:0}.lwc-human-check span{color:var(--lwc-ink)!important}
.lwc-captcha-row{display:flex;align-items:flex-end;gap:14px}.lwc-captcha-row img{flex:0 0 170px;border:1px solid var(--lwc-line);border-radius:4px}.lwc-captcha-row>div{max-width:180px}.lwc-verification>p{margin:10px 0 0;color:var(--lwc-muted);font-size:12px}
.lwc-form-submit{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.lwc-form-submit span{font-size:12px;color:var(--lwc-muted)}
@media(max-width:760px){.lwc-contact-grid{grid-template-columns:1fr}.lwc-contact-form-card,.lwc-contact-aside{padding:20px}.lwc-captcha-row{align-items:stretch;flex-direction:column}.lwc-captcha-row>div{max-width:none}}


/* ═══════════════════════════════════════════════════════════════════════════
   PRECISION INDUSTRIAL SYSTEM — component layer
   Everything below re-expresses the existing components in the redesign's
   language. No selectors are added or removed, so markup and behavior are
   untouched; only the visual treatment changes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Grid: fixed 1280px, 40px desktop margin, 16px mobile ──────────────── */
.lwc-container{max-width:var(--lwc-maxw);padding:0 var(--lwc-margin)}
.lwc-page-wrap{max-width:880px;padding:56px var(--lwc-margin) var(--lwc-section-gap)}
.lwc-page-wrap.wide,
.lwc-blog-wrap,
.lwc-article-wrap,
.lwc-about-page,
.lwc-contact-page{max-width:var(--lwc-maxw);padding-left:var(--lwc-margin);padding-right:var(--lwc-margin)}
@media(max-width:640px){
  .lwc-container,.lwc-page-wrap,.lwc-page-wrap.wide,.lwc-blog-wrap,
  .lwc-article-wrap,.lwc-about-page,.lwc-contact-page{padding-left:16px;padding-right:16px}
}

/* ── Typography scale ──────────────────────────────────────────────────── */
body{background:var(--lwc-bg);font-size:16px;line-height:24px}
/* Headings inherit their color so dark bands (hero, page hero, footer) keep
   the white text their own rules set. */
h1,h2,h3,h4,h5,h6{font-weight:700}
.lwc-content h1,.lwc-content h2,.lwc-content h3,.lwc-content h4,
.lwc-section-head h2,.lwc-page-title,.lwc-card h3,.lwc-feature h3{color:var(--lwc-ink)}
.lwc-hero,.lwc-hero h1,.lwc-page-hero,.lwc-page-hero-inner h1{color:#fff}
.lwc-page-title,
.lwc-hero h1,
.lwc-page-hero-inner h1,
.lwc-about-hero h1{font-size:clamp(32px,4.6vw,48px);line-height:1.16;letter-spacing:-.02em;font-weight:700}
.lwc-section-head h2,
.lwc-about-intro h2,.lwc-about-standard h2,.lwc-about-cta h2{font-size:clamp(24px,2.6vw,32px);line-height:1.25;letter-spacing:-.015em;font-weight:700}
.lwc-content p,.lwc-content li{font-size:16px;line-height:1.75;color:var(--lwc-ink-2)}
.lwc-content h2{font-size:24px;line-height:32px;font-weight:600}
.lwc-content h3{font-size:18px;line-height:28px;font-weight:600}

/* Technical stamps: ISO / DIN / ANSI markings and section eyebrows. */
.lwc-eyebrow,
.lwc-about-kicker,
.lwc-about-hero>span,
.lwc-page-hero-inner>span,
.lwc-contact-head>span,
.lwc-category-label,
.lwc-article-categories>span{font-size:12px;font-weight:700;line-height:16px;letter-spacing:.1em;text-transform:uppercase}

/* Part numbers and material grades stay unambiguous. */
.lwc-hero-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;border-radius:var(--lwc-r-sm);
  background:rgba(198,129,25,.16);border:1px solid rgba(255,185,96,.45);color:var(--lwc-accent-soft)}

/* ── Sections: 80px breaks signal a change of context ──────────────────── */
.lwc-section{padding:var(--lwc-section-gap) 0}
.lwc-section-alt{background:var(--lwc-surface-1);border-top:1px solid var(--lwc-line);border-bottom:1px solid var(--lwc-line)}
/* Section heads sit left on the grid rather than centered. */
.lwc-section-head{margin:0 0 var(--lwc-gutter);max-width:720px;text-align:left}
.lwc-section-head p{font-size:16px;line-height:24px;color:var(--lwc-ink-2)}
@media(max-width:720px){.lwc-section{padding:56px 0}}

/* ── Header: taller, squarer, active item underlined ───────────────────── */
.lwc-header{background:var(--lwc-bg);backdrop-filter:none;border-bottom:1px solid var(--lwc-line)}
.lwc-header.is-scrolled{box-shadow:0 1px 0 var(--lwc-line)}
.lwc-nav-menu a{border-radius:0;font-size:16px;font-weight:500;color:var(--lwc-ink-2);
  padding:10px 4px;border-bottom:2px solid transparent}
.lwc-nav-menu a:hover{background:none;color:var(--lwc-primary-2);border-bottom-color:var(--lwc-line-soft)}
.lwc-nav-menu .current-menu-item>a,
.lwc-nav-menu .current_page_item>a,
.lwc-nav-menu .current-menu-ancestor>a{color:var(--lwc-primary-2);font-weight:700;border-bottom-color:var(--lwc-primary-2)}
.lwc-nav-menu .sub-menu{border-radius:var(--lwc-r);padding:4px;box-shadow:var(--lwc-shadow-overlay)}
.lwc-nav-menu .sub-menu a{border-bottom:0;padding:9px 12px}
.lwc-nav-menu .sub-menu a:hover{background:var(--lwc-surface-2)}
.lwc-topbar{background:var(--lwc-primary);font-size:12px;letter-spacing:.02em}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.lwc-btn{border-radius:var(--lwc-r);font-size:14px;font-weight:700;letter-spacing:.01em;
  padding:12px 20px;line-height:20px;transition:background-color .15s,border-color .15s,color .15s}
.lwc-btn:hover{transform:none}
/* Primary = the industrial blue workhorse. */
.lwc-btn-primary{background:var(--lwc-accent);color:#fff;border:1px solid var(--lwc-accent)}
.lwc-btn-primary:hover{background:var(--lwc-accent-dim);border-color:var(--lwc-accent-dim)}
/* Ghost = secondary navigation, hairline border. */
.lwc-btn-outline{border:1px solid var(--lwc-line);background:var(--lwc-surface);color:var(--lwc-primary)}
.lwc-btn-outline:hover{border-color:var(--lwc-primary-2);color:var(--lwc-primary-2)}
.lwc-btn-sm{padding:9px 14px;font-size:13px}
.lwc-btn:focus-visible{outline:2px solid var(--lwc-primary-2);outline-offset:2px}
.lwc-btn-on-dark{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.lwc-btn-on-dark:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}

/* ── Hero: photograph behind a hard directional scrim ──────────────────── */
/* The photo is a CSS fallback only — a hero image set in Site Settings still
   renders as an inline style on .lwc-hero-media and wins over this. */
.lwc-hero,
.lwc-hero.has-media{background:var(--lwc-primary) url("https://lostwaxcasting.net/wp-content/uploads/2026/06/banner.webp") center/cover no-repeat;
  padding:var(--lwc-section-gap) 0}
.lwc-hero-media{transform:none;filter:saturate(.7) contrast(1.05)}
.lwc-hero-scrim{background:linear-gradient(90deg,rgba(0,15,34,.94) 0%,rgba(0,15,34,.82) 46%,rgba(0,15,34,.42) 100%)}
.lwc-hero h1{margin-bottom:var(--lwc-gutter);text-shadow:none}
.lwc-hero.has-media h1{text-shadow:none}
/* Scoped to the hero's own copy. The finder now lives in the hero's second
   column, and an unscoped `.lwc-hero p` was resizing and fading the text
   inside its result cards. */
.lwc-hero-inner>p{font-size:18px;line-height:28px;opacity:.86;max-width:620px}
/* Belt and braces: nothing in the hero's typography reaches into the tool. */
.lwc-hero-tool p,.lwc-hero-tool li,.lwc-hero-tool span{opacity:1}
.lwc-hero-tool p{max-width:none}
.lwc-hero-points li{font-size:14px;letter-spacing:.02em}
.lwc-hero-points li:before{border-radius:0;border:0;width:8px;height:8px;background:var(--lwc-accent)}
.lwc-hero-card{border-radius:var(--lwc-r);border:1px solid rgba(255,255,255,.18);box-shadow:var(--lwc-shadow-overlay)}
.lwc-hero-card-a,.lwc-hero-card-b{transform:none}
@media(max-width:720px){.lwc-hero,.lwc-hero.has-media{padding:56px 0}}

/* ── Cards: white, hairline, no shadow; hover shifts the border ────────── */
.lwc-card,
.lwc-calc-card,
.lwc-contact-card,
.lwc-post-card,
.lwc-feed-card,
.lwc-blog-card,
.lwc-stat,
.lwc-about-capabilities article{border:1px solid var(--lwc-line);border-radius:var(--lwc-r);
  background:var(--lwc-surface);box-shadow:none;transition:border-color .15s}
.lwc-card:hover,
.lwc-calc-card:hover,
.lwc-contact-card:hover,
.lwc-feed-card:hover,
.lwc-blog-card:hover{border-color:var(--lwc-primary-2);box-shadow:none;transform:none}
.lwc-card h3,.lwc-calc-card h3,.lwc-contact-card h3{font-size:16px;font-weight:700;color:var(--lwc-ink)}
.lwc-card p,.lwc-calc-card p,.lwc-contact-card p{font-size:14px;line-height:20px;color:var(--lwc-ink-2)}
.lwc-card-grid,.lwc-calc-grid{gap:var(--lwc-gutter)}
/* Macro product photography scales inside its frame on hover. */
.lwc-feed-thumb,.lwc-blog-thumb,.lwc-post-card .thumb{background:var(--lwc-surface-2);border-bottom:1px solid var(--lwc-line)}
.lwc-feed-card:hover .lwc-feed-thumb img,
.lwc-blog-card:hover img{transform:scale(1.05)}
.lwc-feed-thumb,.lwc-blog-thumb-fallback{background-image:none;background-color:var(--lwc-surface-2)}

/* Icon plates read as milled squares, not soft circles. */
.lwc-calc-ico,.lwc-contact-ico,.lwc-feature-n{border-radius:var(--lwc-r-sm);
  background:var(--lwc-surface-2);color:var(--lwc-primary-2);border:1px solid var(--lwc-line)}
.lwc-contact-ico{margin-left:0;margin-right:auto}
.lwc-contact-card{text-align:left}

/* ── Stats and feature rows ────────────────────────────────────────────── */
.lwc-stat{text-align:left;padding:var(--lwc-gutter)}
.lwc-stat-n{font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--lwc-primary)}
.lwc-stat-l{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lwc-muted)}
.lwc-feature{padding:var(--lwc-gutter) 0}
.lwc-feature-n{font-size:12px;letter-spacing:.05em}
.lwc-feature h3{font-size:16px;font-weight:600}
.lwc-feature p{font-size:14px;line-height:20px;color:var(--lwc-ink-2)}

/* ── Split / media frames ──────────────────────────────────────────────── */
.lwc-split-media,.lwc-about-media,.lwc-about-figure,.lwc-about-figure-tall{
  border-radius:var(--lwc-r);border:1px solid var(--lwc-line);box-shadow:none}
.lwc-content img,.lwc-article-content img,.lwc-article-featured img{border-radius:var(--lwc-r)}

/* ── Chips, tags and pills ─────────────────────────────────────────────── */
.lwc-feed-tag,
.lwc-category-pill,
.lwc-article-categories a{border-radius:var(--lwc-r-sm);font-size:12px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;background:var(--lwc-surface-2);
  color:var(--lwc-primary-2);border:1px solid var(--lwc-line);padding:4px 8px}
.lwc-category-pill{padding:6px 12px}
.lwc-category-pill span{border-radius:var(--lwc-r-sm);background:var(--lwc-surface-4);color:var(--lwc-muted)}
.lwc-category-pill:hover{border-color:var(--lwc-primary-2);background:var(--lwc-surface-3)}
.lwc-category-pill.is-active{background:var(--lwc-primary);border-color:var(--lwc-primary);color:#fff}
.lwc-category-bar{border-color:var(--lwc-line)}

/* ── Forms: dense, rectangular, 2px focus ring in engineering blue ─────── */
.lwc-form{gap:var(--lwc-gutter)}
.lwc-form label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lwc-ink-2);margin-bottom:6px}
.lwc-form input,.lwc-form textarea,.lwc-form select{border:1px solid var(--lwc-line);
  border-radius:var(--lwc-r);font-size:14px;line-height:20px;padding:11px 12px;background:var(--lwc-surface)}
.lwc-form input:focus,.lwc-form textarea:focus,.lwc-form select:focus{
  border-color:var(--lwc-primary-2);box-shadow:inset 0 0 0 1px var(--lwc-primary-2)}
.lwc-notice{border-radius:var(--lwc-r);border:1px solid var(--lwc-line);font-size:14px}
.lwc-notice.ok{background:#e8f2e9;border-color:#b9d3bb;color:var(--lwc-success)}
.lwc-notice.err{background:#ffdad6;border-color:#f2b8b3;color:#93000a}
.lwc-verification{border-radius:var(--lwc-r);background:var(--lwc-surface-1)}
.lwc-verification legend{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.lwc-captcha-row img{border-radius:var(--lwc-r)}
.lwc-contact-form-card,.lwc-contact-aside{border-radius:var(--lwc-r);box-shadow:none;border:1px solid var(--lwc-line)}
.lwc-contact-aside{background:var(--lwc-surface-1)}

/* ── Data tables: steel header, zebra rows, hard dividers ──────────────── */
.lwc-content table,.lwc-article-content table{width:100%;border-collapse:collapse;
  border:1px solid var(--lwc-line);font-size:14px}
.lwc-content th,.lwc-article-content th{background:var(--lwc-surface-4);color:var(--lwc-ink);
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  text-align:left;padding:12px;border-bottom:1px solid var(--lwc-line-soft)}
.lwc-content td,.lwc-article-content td{padding:12px;border-bottom:1px solid var(--lwc-line)}
.lwc-content tbody tr:nth-child(even),
.lwc-article-content tbody tr:nth-child(even){background:var(--lwc-bg)}

/* ── Pagination ────────────────────────────────────────────────────────── */
.lwc-pagination .page-numbers,
.lwc-blog-pagination .page-numbers{border-radius:var(--lwc-r);border:1px solid var(--lwc-line);
  font-size:14px;font-weight:600;background:var(--lwc-surface)}
.lwc-pagination .current,.lwc-blog-pagination .current{background:var(--lwc-primary);
  border-color:var(--lwc-primary);color:#fff}

/* ── Article ───────────────────────────────────────────────────────────── */
.lwc-article-content{font-size:18px;line-height:28px;color:var(--lwc-ink-2)}
.lwc-article-content h2{font-size:24px;line-height:32px;font-weight:600;color:var(--lwc-ink)}
.lwc-toc,.lwc-related{border-radius:var(--lwc-r);border:1px solid var(--lwc-line)}
.lwc-toc-head{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.lwc-toc-list a.is-active{border-left-color:var(--lwc-primary-2);color:var(--lwc-primary-2)}
.lwc-related img{border-radius:var(--lwc-r-sm)}
.lwc-blog-head h1:after{background:var(--lwc-accent);border-radius:0;height:3px}

/* ── About page ────────────────────────────────────────────────────────── */
.lwc-about-standard{border-radius:var(--lwc-r);background:var(--lwc-surface-1);
  border:1px solid var(--lwc-line)}
.lwc-about-standard li:before{color:var(--lwc-accent)}
.lwc-about-capabilities strong{font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--lwc-accent)}
.lwc-about-capabilities h3{font-size:18px;font-weight:600}

/* ── Photographic section band ─────────────────────────────────────────── */
.lwc-section-photo{background-color:var(--lwc-surface-1)}
.lwc-section-photo-scrim{background:linear-gradient(180deg,rgba(248,249,250,.96),rgba(243,244,245,.99))}
.lwc-page-hero{background-color:var(--lwc-primary);padding:var(--lwc-section-gap) 0}
.lwc-page-hero-scrim{background:linear-gradient(90deg,rgba(0,15,34,.94),rgba(0,15,34,.62))}
.lwc-page-hero-inner{text-align:left;margin:0}
.lwc-page-hero-inner p{margin:0;font-size:18px;line-height:28px;color:rgba(255,255,255,.82)}
.lwc-page-hero-inner>span{color:var(--lwc-accent-soft)}

/* ── Footer: light steel plate, per the redesign ───────────────────────── */
.lwc-footer{background:var(--lwc-surface-2);color:var(--lwc-ink-2);margin-top:0;
  border-top:1px solid var(--lwc-line)}
.lwc-footer-inner{padding:var(--lwc-section-gap) 0 var(--lwc-gutter)}
.lwc-footer h4{color:var(--lwc-ink);font-size:12px;font-weight:700;letter-spacing:.1em}
.lwc-footer a{color:var(--lwc-ink-2)}
.lwc-footer a:hover{color:var(--lwc-primary-2)}
.lwc-footer-brand{color:var(--lwc-ink);font-size:20px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lwc-footer-tag{color:var(--lwc-muted)}
.lwc-footer-bottom{border-top:1px solid var(--lwc-line);color:var(--lwc-muted);font-size:12px}

/* ═══════════════════════════════════════════════════════════════════════════
   Homepage revisions
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hero: the finder occupies the right column ────────────────────────── */
.lwc-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:56px;align-items:center}
@media(max-width:1360px){.lwc-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:44px}}
.lwc-hero-tool{position:relative;z-index:3;min-width:0}
/* The panel is a frosted plate over the photograph, not a floating card. */
.lwc-hero-tool .fff-config{background:rgba(0,15,34,.82);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:4px}
.lwc-hero-tool .fff-config-inner{padding:24px}
.lwc-hero-tool .fff-config-title{font-size:24px;line-height:32px;font-weight:600}
.lwc-hero-tool .fff-config-sub{font-size:14px;line-height:20px}
.lwc-hero-tool .fff-config-head{margin-bottom:16px}
@media(max-width:1080px){
  .lwc-hero-grid{grid-template-columns:1fr;gap:40px}
  .lwc-hero-tool{max-width:620px}
}
/* The finder's own stylesheet lays the hero column out two-up (six fields,
   long option labels). Deliberately not overridden here — theme and plugin CSS
   load in an order WordPress does not guarantee, so the rule lives in one
   place only. */

/* ── Category cards now carry a product photo ──────────────────────────── */
.lwc-card-media{display:flex;flex-direction:column;padding:0;overflow:hidden}
.lwc-card-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lwc-surface-2);
  border-bottom:1px solid var(--lwc-line)}
/* Catalog photos are product shots on white, so they are contained rather
   than cropped — a cover crop cuts the head off a bolt. */
.lwc-card-thumb img{display:block;width:100%;height:100%;object-fit:contain;
  background:#fff;padding:10px;transition:transform .35s}
.lwc-card-media:hover .lwc-card-thumb img{transform:scale(1.05)}
/* Categories with no illustrated product yet get a milled steel plate. */
.lwc-card-thumb:empty{background:repeating-linear-gradient(135deg,#edeeef 0 10px,#e7e8e9 10px 20px)}
.lwc-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.lwc-card-media h3{margin:0 0 6px}
.lwc-card-media p{flex:1;margin:0 0 14px}
.lwc-card-cta{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--lwc-primary-2)}

/* ── Calculators: a fixed 4-up rail, so eight tools fill two even rows ─── */
.lwc-calc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.lwc-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lwc-calc-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════════════════════
   Factory modules — production process grid and facility strip
   ═══════════════════════════════════════════════════════════════════════════ */

.lwc-factory-head{max-width:760px;margin:0 0 var(--lwc-gutter)}
.lwc-factory-head h2{font-size:clamp(24px,2.6vw,32px);line-height:1.25;letter-spacing:-.015em;margin:0 0 10px}
.lwc-factory-head p{margin:0;font-size:16px;line-height:24px;color:var(--lwc-ink-2)}

/* Three across on desktop: the six stages read as two rows of three, which
   keeps the process legible as a sequence rather than a wall. */
.lwc-factory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--lwc-gutter);list-style:none;margin:0;padding:0;counter-reset:none}
.lwc-factory-step{display:flex;flex-direction:column;border:1px solid var(--lwc-line);
  border-radius:var(--lwc-r);background:var(--lwc-surface);overflow:hidden;
  transition:border-color .15s}
.lwc-factory-step:hover{border-color:var(--lwc-primary-2)}
.lwc-factory-media{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;
  background:var(--lwc-surface-2);border-bottom:1px solid var(--lwc-line)}
.lwc-factory-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lwc-factory-step:hover .lwc-factory-media img{transform:scale(1.04)}
/* The stage number is stamped on the photo like a plate marking. */
.lwc-factory-n{position:absolute;left:0;bottom:0;padding:6px 12px;
  background:var(--lwc-primary);color:#fff;font-size:12px;font-weight:700;
  letter-spacing:.1em;font-variant-numeric:tabular-nums}
.lwc-factory-body{display:flex;flex:1;flex-direction:column;padding:20px}
.lwc-factory-body h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--lwc-ink)}
.lwc-factory-body p{margin:0;font-size:14px;line-height:20px;color:var(--lwc-ink-2)}
/* The control line is the technical claim, so it gets the stamp treatment and
   a rule that separates it from the prose above. */
.lwc-factory-control{margin-top:14px !important;padding-top:12px;
  border-top:1px solid var(--lwc-line);font-size:12px !important;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--lwc-primary-2) !important;
  line-height:16px !important}

.lwc-factory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--lwc-gutter);margin-top:var(--lwc-gutter)}
.lwc-factory-stats .lwc-stat-n{font-size:26px}

/* Compact variant on product pages: four stages, tighter type, no stats. */
.lwc-factory-compact{margin:40px 0 8px;padding-top:32px;border-top:1px solid var(--lwc-line)}
.lwc-factory-compact .lwc-factory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lwc-factory-compact .lwc-factory-body{padding:16px}
.lwc-factory-compact .lwc-factory-body h3{font-size:16px}
.lwc-factory-compact .lwc-factory-media{aspect-ratio:4/3}

@media(max-width:1080px){
  .lwc-factory-grid,
  .lwc-factory-compact .lwc-factory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lwc-factory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .lwc-factory-grid,
  .lwc-factory-compact .lwc-factory-grid{grid-template-columns:1fr}
}

/* ── Facility strip ────────────────────────────────────────────────────── */
.lwc-factory-strip{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:40px;align-items:center;margin-top:var(--lwc-section-gap);
  padding-top:48px;border-top:1px solid var(--lwc-line)}
.lwc-factory-strip-copy h2{margin:0 0 10px;font-size:clamp(22px,2.2vw,28px);
  line-height:1.25;letter-spacing:-.015em}
.lwc-factory-strip-copy p{margin:0;font-size:16px;line-height:24px;color:var(--lwc-ink-2)}
.lwc-factory-strip-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.lwc-factory-strip-media figure{margin:0;aspect-ratio:3/4;overflow:hidden;
  border:1px solid var(--lwc-line);border-radius:var(--lwc-r);background:var(--lwc-surface-2)}
.lwc-factory-strip-media img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .lwc-factory-strip{grid-template-columns:1fr;gap:26px;margin-top:56px}
  .lwc-factory-strip-media{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lwc-factory-strip-media figure{aspect-ratio:4/3}
}

/* On the About page the module sits between two existing bands, so it carries
   its own vertical rhythm rather than relying on a section wrapper. */
.lwc-about-page .lwc-factory{padding:8px 0 56px}

/* Guide and application pages put the module in a column beside a sidebar, so
   four stages across would be roughly 160px each. Two-up there instead. */
.fsp-main .lwc-factory-compact .lwc-factory-grid,
.fap-main .lwc-factory-compact .lwc-factory-grid,
.fff-article-body .lwc-factory-compact .lwc-factory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){
  .fsp-main .lwc-factory-compact .lwc-factory-grid,
  .fap-main .lwc-factory-compact .lwc-factory-grid,
  .fff-article-body .lwc-factory-compact .lwc-factory-grid{grid-template-columns:1fr}
}

/* ═══════════════════════════════════════════════════════════════════════════
   The shared page masthead
   One header for every page type except the front page: eyebrow, H1,
   standfirst and breadcrumb over a workshop photograph.
   ═══════════════════════════════════════════════════════════════════════════ */

.lwc-phead{position:relative;overflow:hidden;isolation:isolate;
  background:var(--lwc-primary) center/cover no-repeat;
  padding:clamp(44px,5vw,68px) 0;color:#fff}
.lwc-phead-lg{padding:clamp(56px,6.5vw,88px) 0}
.lwc-phead-sm{padding:clamp(32px,3.5vw,48px) 0}
/* Directional scrim: dense on the left where the text sits, opening up on the
   right so the photograph is still legible as a photograph. */
.lwc-phead-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,15,34,.95) 0%,rgba(0,15,34,.86) 45%,rgba(0,15,34,.55) 100%)}
.lwc-phead-inner{position:relative;z-index:2;text-align:left}
/* Measure, not full bleed — a 1440px-wide line of body copy is unreadable. */
.lwc-phead-inner>*{max-width:840px}
.lwc-phead h1{margin:0;color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.14;
  letter-spacing:-.02em;font-weight:700}
.lwc-phead .lwc-eyebrow{color:var(--lwc-accent-soft);margin-bottom:10px}
.lwc-phead-sub{margin:16px 0 0;font-size:18px;line-height:28px;color:rgba(255,255,255,.84)}
.lwc-phead-sm .lwc-phead-sub{font-size:16px;line-height:24px;margin-top:12px}

/* Breadcrumb sits above the eyebrow, in the same technical-stamp register. */
.lwc-phead-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.04em;
  color:rgba(255,255,255,.62)}
.lwc-phead-crumb a{color:rgba(255,255,255,.62);text-decoration:none}
.lwc-phead-crumb a:hover{color:#fff;text-decoration:underline}
.lwc-phead-crumb span{color:rgba(255,255,255,.9)}
.lwc-phead-crumb i{font-style:normal;color:rgba(255,255,255,.32)}
@media(max-width:640px){
  .lwc-phead-sub{font-size:16px;line-height:24px}
  .lwc-phead-crumb{margin-bottom:14px}
}

/* Content that follows the masthead needs its own top breathing room, since
   the old inline titles used to provide it. */
.lwc-phead + .lwc-page-wrap,
.lwc-phead + .lwc-blog-wrap,
.lwc-phead + .lwc-article-wrap,
.lwc-phead + .lwc-about-page,
.lwc-phead + .lwc-contact-page,
.lwc-phead + .fff-page,
.lwc-phead + .nhx-container,
.lwc-phead + .nhxa-wrap{padding-top:40px}

/* The old per-page title blocks are retired. Any that survive in a template
   under a different code path are neutralised here so no page shows two. */
.lwc-blog-head,
.fff-breadcrumb.is-hidden,
.lwc-page-hero{display:none}

/* Plugin page wrappers adopt the site grid so their content lines up with the
   masthead above them rather than sitting in a narrower private column. */
.fff-page,.fsp-page,.fap-page,.nhx-container{max-width:var(--lwc-maxw);
  margin-left:auto;margin-right:auto;padding-left:var(--lwc-margin);padding-right:var(--lwc-margin)}
@media(max-width:640px){
  .fff-page,.fsp-page,.fap-page,.nhx-container{padding-left:16px;padding-right:16px}
}

/* ── Space between the mega nav and the hero ───────────────────────────────
   The gap was closed by zeroing the header spacer, which was wrong: the site
   header is position:fixed, and that spacer is the only thing reserving its
   height in the flow. With it at 0 the secondary navigation slid up
   underneath the fixed header and covered the bottom of the logo.

   The spacer is restored, and sized to land the next element exactly at the
   header's bottom edge. The topbar sits before the header in the document but
   the fixed header is drawn over it, so its 36px of flow is already spent —
   hence the subtraction. theme.js measures the real header and overrides this
   at runtime; the calc is the no-JS fallback. */
:root{--lwc-topbar-h:36px}
.lwc-header-spacer{height:calc(var(--lwc-nav-h) - var(--lwc-topbar-h))}
/* The dead band came from the nav's own margins, not from the spacer. */
.scnb-root{margin-top:0 !important}
.scnb-root.scnb-has-initial-clearance{margin-top:0 !important}
.scnb-root + .lwc-hero,
.scnb-root + .lwc-phead{margin-top:0}
.lwc-hero:first-child,.lwc-phead:first-child{margin-top:0}

/* ── Footer ────────────────────────────────────────────────────────────── */
/* Back to the dark plate, with a workshop photograph behind it so the page
   closes on the factory rather than on flat gray. */
.lwc-footer{position:relative;isolation:isolate;background:var(--lwc-primary);
  color:rgba(255,255,255,.72);border-top:0;margin-top:0}
.lwc-footer::before{content:"";position:absolute;inset:0;z-index:-2;
  background:url("https://lostwaxcasting.net/wp-content/uploads/2026/08/48-bolt-production-line-wide-shot.webp") center/cover no-repeat}
.lwc-footer::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(0,15,34,.94),rgba(0,15,34,.985))}
.lwc-footer h4{color:#fff}
.lwc-footer a{color:rgba(255,255,255,.72)}
.lwc-footer a:hover{color:#fff}
.lwc-footer-brand{color:#fff}
.lwc-footer-tag{color:rgba(255,255,255,.6)}
.lwc-footer-bottom{border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55)}


/* ── Solid accent buttons ──────────────────────────────────────────────────
   White on the bright precision orange measures 3.20:1 — below the 4.5:1 that
   14px bold button text needs. The button fill drops to the darker step; the
   eyebrow / marking colour is unchanged. */
.lwc-btn-primary{background:var(--lwc-accent-btn);border-color:var(--lwc-accent-btn)}
.lwc-btn-primary:hover{background:var(--lwc-accent-dim);border-color:var(--lwc-accent-dim)}

/* ═══════════════════════════════════════════════════════════════════════════
   Sticky chrome: one height, used by everything that has to clear it
   ═══════════════════════════════════════════════════════════════════════════

   Three things compete for the top of the viewport: this theme's fixed header,
   the secondary mega-navigation (sticky, from its own plugin), and the sticky
   sidebars on content pages. Each used to carry its own hardcoded offset — the
   nav stuck at 0 underneath the fixed header, and sidebars stuck at 84–90px,
   which was less than the two of them together. So sidebars, and any heading
   scrolled to from a table of contents, ended up behind the navigation.

   --lwc-header-h  this theme's fixed header. Also read by the mega-nav plugin,
                   which now parks itself directly below it instead of at 0.
   --scnb-reserved-h  published by that plugin: the height it occupies when
                   sticky, 0 when it is not present or not sticky.
   --lwc-chrome-h  the total. Everything that must clear the chrome uses this. */
:root{
  --lwc-header-h:var(--lwc-nav-h);
  --lwc-chrome-h:calc(var(--lwc-header-h) + var(--scnb-reserved-h, 0px));
}

/* Every sticky sidebar in the theme and its plugins clears the chrome, and is
   bounded so a long panel scrolls inside itself instead of running off the
   bottom of the viewport with its last items unreachable. */
.lwc-article-aside,
.fff-side,
.fsp-side,
.fap-side,
.nhx-aside{position:sticky;top:calc(var(--lwc-chrome-h) + 16px);
  max-height:calc(100vh - var(--lwc-chrome-h) - 32px);
  overflow-y:auto;overscroll-behavior:contain;
  display:flex;flex-direction:column;gap:16px;
  scrollbar-width:thin}
.lwc-article-aside::-webkit-scrollbar,
.fff-side::-webkit-scrollbar,
.fsp-side::-webkit-scrollbar,
.fap-side::-webkit-scrollbar{width:6px}
.lwc-article-aside::-webkit-scrollbar-thumb,
.fff-side::-webkit-scrollbar-thumb,
.fsp-side::-webkit-scrollbar-thumb,
.fap-side::-webkit-scrollbar-thumb{background:var(--lwc-line);border-radius:3px}

/* Panels inside a scrolling sidebar must not also scroll internally, or the
   inner list steals the wheel and the panels below it cannot be reached. */
.fff-side .fff-toc-list,
.fsp-side .fsp-toc-list,
.fap-side .fap-toc-list,
.lwc-article-aside .lwc-toc-list{max-height:none;overflow:visible}
.fff-side>*,.fsp-side>*,.fap-side>*,.lwc-article-aside>*{flex:0 0 auto}

/* Anchor targets stop under the chrome instead of behind it. */
:target{scroll-margin-top:calc(var(--lwc-chrome-h) + 16px)}
h1[id],h2[id],h3[id],h4[id],h5[id],
.fff-main [id],.fsp-main [id],.fap-main [id],
.lwc-article-content [id],.nhx-article [id],
section[id],.lwc-factory[id]{scroll-margin-top:calc(var(--lwc-chrome-h) + 16px)}
html{scroll-padding-top:calc(var(--lwc-chrome-h) + 16px)}

/* Below the mega nav's mobile breakpoint the bar becomes a button, the sticky
   sidebars collapse into the flow, and only the header is pinned. */
@media(max-width:900px){
  .lwc-article-aside,.fff-side,.fsp-side,.fap-side,.nhx-aside{
    position:static;max-height:none;overflow:visible}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Header: one centered cluster, larger logo
   The logo used to be pinned to the far left with the menu pushed to a right
   cluster by `margin-left:auto`, which left a wide empty gap between them on
   desktop. Logo, menu and CTA now sit together as one centered group.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{--lwc-nav-h:108px}  /* 80px logo + 14px breathing room each side */

.lwc-header .lwc-container{max-width:var(--lwc-maxw);
  padding-left:var(--lwc-margin);padding-right:var(--lwc-margin);margin:0 auto}
.lwc-header-inner{justify-content:center;gap:clamp(20px,3vw,48px)}
/* margin-left:auto was what pushed the menu away from the logo. */
.lwc-nav{flex:0 1 auto;margin-left:0}
.lwc-nav-menu{flex-wrap:nowrap;justify-content:center;gap:clamp(6px,1.4vw,26px)}
.lwc-header-actions{flex:0 0 auto}

/* Twice the previous height. !important stays because Google Translate injects
   <font> wrappers that otherwise let an unconstrained webp logo blow up. */
.lwc-logo img,
.lwc-logo .custom-logo,
.custom-logo-link img,
img.custom-logo{height:80px !important;width:auto !important;max-width:420px !important}

@media(max-width:1280px){
  :root{--lwc-nav-h:92px}
  .lwc-logo img,.lwc-logo .custom-logo,
  .custom-logo-link img,img.custom-logo{height:64px !important;max-width:320px !important}
  .lwc-header-inner{gap:20px}
}
@media(max-width:920px){
  :root{--lwc-nav-h:76px}
  /* Menu and CTA are in the drawer here, so the logo goes back to the left. */
  .lwc-header-inner{justify-content:space-between}
  .lwc-logo img,.lwc-logo .custom-logo,
  .custom-logo-link img,img.custom-logo{height:52px !important;max-width:240px !important}
}
