  :root{
    --ink:#0B0B0C;
    --ink-2:#151517;
    --panel:#1C1C1F;
    --paper:#EEEAE1;
    --paper-2:#E3DDCF;
    --steel:#4A5866;
    --steel-line: rgba(255,255,255,0.09);
    --amber:#D91E2B;
    --amber-2:#F23B3B;
    --text-hi:#F4F1EA;
    --text-mid:#9CA3AC;
    --text-on-paper:#1C1E22;
    --text-on-paper-mid:#5B5F63;
    --radius:2px;
    --maxw:1240px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--text-hi);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'JetBrains Mono',monospace;}
  .display{font-family:'Space Grotesk',sans-serif;}
  
  /* Elevate .wrap so content always sits above the background watermarks */
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px; position: relative; z-index: 2;}
  section{position:relative; overflow:hidden;} /* overflow hidden prevents watermarks from causing scrollbars */

  /* ---------- global dynamic backgrounds & animations ---------- */
  @keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  .dynamic-bg {
      background: linear-gradient(-45deg, #050608, var(--ink), #4a0d10, #7a1418, var(--ink), #050608);
      background-size: 400% 400%;
      animation: gradientShift 14s ease infinite;
    }
  @keyframes breathe {
    0% { width: 22px; opacity: 0.6; }
    50% { width: 38px; opacity: 1; background: var(--amber-2); }
    100% { width: 22px; opacity: 0.6; }
  }
  @keyframes buttonPulse {
    0% { box-shadow: 0 0 0 0 rgba(217,30,43,0.5); }
    70% { box-shadow: 0 0 0 10px rgba(217,30,43,0); }
    100% { box-shadow: 0 0 0 0 rgba(217,30,43,0); }
  }

  /* ---------- SCATTERED BACKGROUND WATERMARKS ---------- */
  .bg-watermark {
    position: absolute;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 13vw;
    font-weight: 700;
    line-height: 0.8;
    color: transparent;
    pointer-events: none; /* User can click right through it */
    z-index: 0; /* Deep in the background */
    white-space: nowrap;
    writing-mode: vertical-rl;
    user-select: none;
  }
  /* Stroke colors depending on section background */
  .bg-watermark.dark { -webkit-text-stroke: 1px rgba(255, 255, 255, 0.035); }
  .bg-watermark.light { -webkit-text-stroke: 1px rgba(0, 0, 0, 0.04); }
  
  /* Positioning */
  .bg-watermark.left { left: 0; transform: rotate(180deg); } /* rotate 180 so it reads bottom-to-top on the left */
  .bg-watermark.right { right: 0; }

  /* ---------- blueprint pattern ---------- */
  .blueprint-grid {
    position: absolute; inset: 0; pointer-events: none; z-index: 1;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: pulse-grid 6s infinite alternate ease-in-out;
  }
  @keyframes pulse-grid {
    0% { opacity: 0.4; transform: scale(1); }
    100% { opacity: 0.8; transform: scale(1.02); }
  }

  /* ---------- floating geometric elements ---------- */
  .float-shape {
    position: absolute; font-family: 'JetBrains Mono', monospace; font-size: 24px;
    color: var(--amber); opacity: 0.25; pointer-events: none; z-index: 10;
    animation: drift 18s linear infinite;
  }
  .float-shape.alt { animation-direction: reverse; animation-duration: 22s; color: var(--steel); opacity: 0.4; }
  @keyframes drift {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-40px) rotate(180deg); }
    100% { transform: translateY(0) rotate(360deg); }
  }
  @media (prefers-reduced-motion: reduce){ .blueprint-grid, .float-shape {animation:none;} }

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.16,.8,.3,1), transform .8s cubic-bezier(.16,.8,.3,1);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .stagger.in > *{opacity:1; transform:none;}
  .stagger > *{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
  .stagger.in > *:nth-child(1){transition-delay:.02s;}
  .stagger.in > *:nth-child(2){transition-delay:.12s;}
  .stagger.in > *:nth-child(3){transition-delay:.22s;}
  .stagger.in > *:nth-child(4){transition-delay:.32s;}
  .stagger.in > *:nth-child(5){transition-delay:.42s;}
  .stagger.in > *:nth-child(6){transition-delay:.52s;}

  /* ---------- nav ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(20,22,27,0.85);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--steel-line);
  }
  nav{
    max-width:var(--maxw); margin:0 auto; padding:18px 32px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:18px; letter-spacing:0.02em;}
  .logo .brand-mark{height:30px; width:auto; display:block; border-radius:3px;}
  .logo .mark{width:26px; height:26px; border:1.5px solid var(--amber); border-radius:50%; display:grid; place-items:center; position:relative;}
  .logo .mark::before{content:''; position:absolute; width:8px; height:8px; background:var(--amber); border-radius:50%;}
  .logo .mark::after{content:''; position:absolute; width:20px; height:1px; background:var(--amber); transform:rotate(45deg); transition:transform 0.4s ease;}
  .logo:hover .mark::after{transform:rotate(135deg);}
  .navlinks{display:flex; gap:34px; font-size:13.5px; color:var(--text-mid); font-weight:500;}
  .navlinks a{transition:color .2s; position:relative;}
  .navlinks a::after{content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--amber); transition:width .25s;}
  .navlinks a:hover{color:var(--text-hi);}
  .navlinks a:hover::after{width:100%;}
  .navcta{
    font-size:13px; font-weight:600; padding:10px 20px;
    border:1px solid var(--amber); color:var(--amber);
    letter-spacing:0.03em; transition:all .2s;
  }
  .navcta:hover{background:var(--amber); color:var(--ink); box-shadow: 0 0 15px rgba(217,30,43,0.3);}

  /* ---------- NAV MENU (rendered by nav.js from nav-config.js) ---------- */
  .nav-menu{display:flex; gap:34px;}
  .nav-item{position:relative;}
  .nav-item > a{display:inline-flex; align-items:center; gap:5px;}
  .nav-caret{font-size:9px; opacity:0.55; transition:transform .2s;}
  .nav-item.open > a .nav-caret, .nav-item:hover > a .nav-caret{transform:rotate(180deg);}
  .nav-dropdown{
    position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(6px);
    min-width:190px; background:var(--panel); border:1px solid var(--steel-line); border-top:2px solid var(--amber);
    border-radius:3px; padding:8px 0; box-shadow:0 24px 48px rgba(0,0,0,0.5);
    opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility .18s;
    z-index:200;
  }
  .nav-item:hover .nav-dropdown, .nav-item.open .nav-dropdown{
    opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
  }
  .nav-dropdown a{
    display:block; padding:9px 20px; font-size:13px; color:var(--text-mid); white-space:nowrap; transition:color .15s, background .15s;
  }
  .nav-dropdown a::after{display:none;}
  .nav-dropdown a:hover{color:var(--text-hi); background:rgba(217,30,43,0.1);}

  .nav-toggle{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:34px; padding:0; background:none; border:none; cursor:pointer;
  }
  .nav-toggle span{display:block; width:100%; height:2px; background:var(--text-hi); transition:transform .25s, opacity .25s;}
  body.mobile-nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.mobile-nav-open .nav-toggle span:nth-child(2){opacity:0;}
  body.mobile-nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-nav-panel {
  display: none; 
  position: fixed; 
  top: 65px; 
  left: 0; 
  right: 0; 
  /* Replace bottom: 0; with this: */
  height: calc(100vh - 65px);
  background: var(--ink); 
  border-top: 1px solid var(--steel-line);
  padding: 22px 24px 40px; 
  overflow-y: auto; 
  z-index: 99;
}
  body.mobile-nav-open .mobile-nav-panel{display:block;}
  .mobile-nav-list{display:flex; flex-direction:column;}
  .mobile-nav-item{border-bottom:1px solid var(--steel-line);}
  .mobile-nav-head{display:flex; align-items:center; justify-content:space-between; padding:16px 2px;}
  .mobile-nav-head > a{font-size:16px; font-weight:600; color:var(--text-hi);}
  .mobile-nav-expand{
    background:none; border:1px solid var(--steel-line); border-radius:50%; width:28px; height:28px;
    color:var(--text-mid); font-size:12px; transition:transform .2s, color .2s, border-color .2s;
  }
  .mobile-nav-item.open .mobile-nav-expand{transform:rotate(180deg); color:var(--amber-2); border-color:var(--amber);}
  .mobile-nav-sub{display:none; flex-direction:column; padding:0 0 14px 14px;}
  .mobile-nav-item.open .mobile-nav-sub{display:flex;}
  .mobile-nav-sub a{padding:9px 0; font-size:14px; color:var(--text-mid);}
  .mobile-nav-sub a:hover{color:var(--amber-2);}
  .mobile-nav-cta{
    display:block; text-align:center; margin-top:26px; padding:14px; font-size:14px; font-weight:600;
    color:var(--ink); background:var(--amber); border-radius:3px;
  }

  /* ---------- HERO ---------- */
  .hero{
    padding:168px 0 90px;
    position: relative;
  }
  .hero::before {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(1100px 500px at 78% 8%, rgba(217,30,43,0.12), transparent 60%);
    z-index: 2;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; position: relative;
  }
  .eyebrow-row{
    display:flex; align-items:center; gap:14px; margin-bottom:26px;
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.08em;
    color:var(--amber-2); text-transform:uppercase;
  }
  .eyebrow-row .dash{width:28px; height:1px; background:var(--amber); animation: breathe 3s ease-in-out infinite;}
  .hero h1{
    font-size:clamp(38px, 4.6vw, 62px); line-height:1.04; font-weight:700;
    letter-spacing:-0.015em; color:var(--text-hi); margin-bottom:22px;
  }
  .hero h1 em{font-style:normal; color:var(--amber-2);}
  .hero p.lead{
    font-size:17px; line-height:1.65; color:var(--text-mid); max-width:480px; margin-bottom:36px;
  }
  .hero-ctas{display:flex; gap:14px; margin-bottom:56px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--amber); color:var(--ink); font-weight:600; font-size:14px;
    padding:15px 26px; border-radius:var(--radius); transition:transform .2s, background .2s;
    display:inline-flex; align-items:center; gap:8px;
    animation: buttonPulse 2.5s infinite;
  }
  .btn-primary:hover{background:var(--amber-2); transform:translateY(-2px); animation: none;}
  .btn-ghost{
    border:1px solid var(--steel-line); color:var(--text-hi); font-weight:600; font-size:14px;
    padding:15px 26px; border-radius:var(--radius); transition:border-color .2s, background .2s;
  }
  .btn-ghost:hover{border-color:var(--amber); background:rgba(217,30,43,0.06);}
  .hero-stats{
    display:grid; grid-template-columns:repeat(3,auto); gap:38px;
    border-top:1px solid var(--steel-line); padding-top:28px;
  }
  .stat .num{font-family:'Space Grotesk',sans-serif; font-size:26px; font-weight:700; color:var(--text-hi); white-space:nowrap;}
  .stat .num span{color:var(--amber-2);}
  .stat .lbl{font-size:11.5px; color:var(--text-mid); margin-top:4px; letter-spacing:0.02em;}

  .hero-visual{position:relative;}
  .part-frame{
    position:relative; border:1px solid var(--steel-line); border-radius:4px;
    overflow:hidden; aspect-ratio:4/5; background:var(--panel);
  }
  .part-frame img{width:100%; height:100%; object-fit:cover; filter:saturate(0.85) contrast(1.08) brightness(0.92); transition:transform 1.2s ease;}
  .part-frame:hover img{transform:scale(1.06);}
  .part-frame::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(20,22,27,0.05) 30%, rgba(20,22,27,0.6) 100%);
  }
  .scan-line{
    position:absolute; left:0; right:0; height:2px; z-index:3;
    background:linear-gradient(90deg, transparent, var(--amber-2), transparent);
    box-shadow:0 0 12px 1px rgba(242,169,60,0.7);
    animation:scan 4.5s ease-in-out infinite;
  }
  @keyframes scan{
    0%{top:6%; opacity:0;}
    8%{opacity:1;}
    50%{top:92%; opacity:1;}
    58%{opacity:0;}
    100%{top:92%; opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){ .scan-line{animation:none; display:none;} }
  .callout{
    position:absolute; font-family:'JetBrains Mono',monospace; font-size:11.5px;
    color:var(--amber-2); display:flex; align-items:center; gap:8px; z-index:4;
    background:rgba(20,22,27,0.8); padding:4px 9px; border:1px solid rgba(217,30,43,0.4);
    backdrop-filter:blur(3px); white-space:nowrap; opacity:0; animation:fadein .6s ease forwards;
  }
  @keyframes fadein{ to{opacity:1;} }
  .callout.c1{top:12%; left:-16%; animation-delay:.6s;}
  .callout.c2{top:44%; right:-18%; animation-delay:1.0s;}
  .callout.c3{bottom:10%; left:-12%; animation-delay:1.4s;}
  .hero-visual-caption{
    margin-top:16px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-mid);
    display:flex; justify-content:space-between; letter-spacing:0.03em;
  }

  /* ---------- TRUST MARQUEE ---------- */
  .trust{
    background:var(--paper); padding:22px 0; border-bottom:1px solid rgba(0,0,0,0.08);
    overflow:hidden; white-space:nowrap; position:relative; z-index: 5;
  }
  .trust::before, .trust::after{
    content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2;
  }
  .trust::before{left:0; background:linear-gradient(90deg, var(--paper), transparent);}
  .trust::after{right:0; background:linear-gradient(270deg, var(--paper), transparent);}
  .marquee-track{
    display:flex;
    width:max-content;
    flex-wrap:nowrap;
    animation:marquee 26s linear infinite;
    will-change:transform;
  }
  .marquee-group{
    display:flex;
    flex:0 0 auto;
    flex-wrap:nowrap;
  }
  .marquee-group span{
    padding:0 40px;
    display:inline-flex;
    align-items:center;
    gap:40px;
    opacity:0.92;
    flex:0 0 auto;
  }
  .marquee-group span::after{content:'◆'; font-size:9px; color:var(--amber); opacity:0.6;}
  .cert-logo{height:36px; width:auto; display:block; object-fit:contain; flex:0 0 auto;}
  @keyframes marquee{
    from{transform:translate3d(0,0,0);}
    to{transform:translate3d(-50%,0,0);}
  }
  @media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;} }

  /* ---------- SECTION LABEL ---------- */
  .sec-head{max-width:640px; margin-bottom:56px; position: relative; z-index: 2;}
  .sec-eyebrow{
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--amber); margin-bottom:14px; display:flex; align-items:center; gap:10px;
  }
  .sec-eyebrow .dash{width:22px; height:1px; background:var(--amber); animation: breathe 3s ease-in-out infinite;}
  .sec-head h2{font-size:clamp(28px,3vw,40px); font-weight:700; letter-spacing:-0.01em; line-height:1.12;}
  .on-paper .sec-eyebrow{color:#B5701E;}

  /* ---------- ABOUT / INTRO (paper) ---------- */
  .about{background:var(--panel); color:var(--text-hi); padding:120px 0; border-bottom:1px solid var(--steel-line);}
  .about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;}
  .about-photo{position:relative; border-radius:4px; overflow:hidden; aspect-ratio:3/4; box-shadow:0 30px 60px -20px rgba(20,22,27,0.35);}
  .about-photo img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease; filter:saturate(0.9);}
  .about-photo:hover img{transform:scale(1.06);}
  .about-photo .tag{
    position:absolute; bottom:18px; left:18px; background:var(--ink); color:var(--text-hi);
    font-family:'JetBrains Mono',monospace; font-size:11px; padding:8px 12px; letter-spacing:0.03em;
    border-left:2px solid var(--amber); z-index:2;
  }
  .about-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(20,22,27,0.55) 100%);}
  .about-copy p{font-size:16.5px; line-height:1.75; color:var(--text-mid); margin-bottom:20px; max-width:560px;}
  .about-copy p strong{color:var(--text-on-paper); font-weight:600;}
  .fact-row{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:36px; border-top:1px solid var(--steel-line);}
  .fact{padding:22px 22px 0 0; border-right:1px solid var(--steel-line); transition: background 0.3s;}
  .fact:hover {background: rgba(0,0,0,0.02);}
  .fact:last-child{border-right:none;}
  .fact .n{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:24px; color:#000;}
  .fact .l{font-size:12px; color:#000; margin-top:4px;}

  /* ---------- SERVICES (dark, image cards) ---------- */
  .services{background:var(--ink); padding:120px 0;}
  .svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--steel-line); border:1px solid var(--steel-line);}
  .svc-card{
    position:relative; overflow:hidden; padding:40px 32px; min-height:340px;
    display:flex; flex-direction:column; justify-content:flex-end;
  }
  .svc-card .bgimg{position:absolute; inset:0; z-index:0;}
  .svc-card .bgimg img{width:100%; height:100%; object-fit:cover; transition:transform 1s ease, filter .4s ease; filter:grayscale(0.55) brightness(0.55);}
  .svc-card:hover .bgimg img{transform:scale(1.08); filter:grayscale(0.15) brightness(0.45);}
  .svc-card .bgimg::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,22,27,0.35) 0%, rgba(20,22,27,0.92) 78%);}
  .svc-card > *{position:relative; z-index:1;}
  .svc-card .idx{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--amber-2); margin-bottom:14px; opacity:0.85;}
  .svc-card h3{font-family:'Space Grotesk',sans-serif; font-size:21px; font-weight:600; margin-bottom:12px;}
  .svc-card p{font-size:14.5px; line-height:1.65; color:var(--text-mid); margin-bottom:18px;}
  .svc-card .lnk{font-size:13px; color:var(--amber-2); font-weight:600; display:inline-flex; align-items:center; gap:6px;}
  .svc-card .lnk::after{content:'→'; transition:transform .2s;}
  .svc-card:hover .lnk::after{transform:translateX(4px);}

  /* ---------- SPEC BAND (signature) ---------- */
  .drawing-band{background:var(--panel); padding:100px 0; border-top:1px solid var(--steel-line); border-bottom:1px solid var(--steel-line);}
  .drawing-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .drawing-copy h2{font-family:'Space Grotesk',sans-serif; font-size:clamp(24px,2.6vw,32px); font-weight:700; margin-top:10px; max-width:460px;}
  .drawing-tags{display:flex; flex-direction:column; gap:10px; margin-top:26px;}
  .drawing-tags span{font-size:11.5px; letter-spacing:0.04em; color:var(--amber-2); border-left:2px solid var(--amber); padding:6px 0 6px 12px;}
  .drawing-frame{background:var(--ink); border:1px solid var(--steel-line); border-radius:var(--radius); padding:16px; position:relative;}
  .drawing-frame::before{content:'TECHNICAL DRAWING · REF ONLY'; position:absolute; top:10px; right:16px; font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.08em; color:var(--text-mid);}
  .drawing-frame svg{width:100%; height:auto; display:block;}

  /* ---------- INDUSTRIES (paper) ---------- */
  .industries{background:var(--ink); color:var(--text-hi); padding:130px 0; position:relative;}
  .industries::before{content:''; position:absolute; inset:0; background:radial-gradient(900px 420px at 50% 0%, rgba(217,30,43,0.10), transparent 65%); pointer-events:none;}
  .industries .sec-eyebrow{color:var(--amber-2);}
  .industries .sec-head h2{color:var(--text-hi); text-transform:uppercase; letter-spacing:0.01em;}
  .ind-grid2{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:1;}
  .ind-card2{
    background:var(--panel); border:1px solid var(--steel-line); border-top:3px solid var(--amber);
    padding:34px 28px; position:relative; overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s;
  }
  .ind-card2:hover{transform:translateY(-8px); box-shadow:0 24px 50px rgba(0,0,0,0.45), 0 0 0 1px rgba(217,30,43,0.35); border-top-color:var(--amber-2);}
  .ind-card2 .ind-bg{position:absolute; inset:0; z-index:0; opacity:0; transition:opacity .45s ease;}
  .ind-card2 .ind-bg img{width:100%; height:100%; object-fit:cover; filter:grayscale(0.15) brightness(0.4);}
  .ind-card2 .ind-bg::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,11,12,0.55), rgba(11,11,12,0.94)), linear-gradient(160deg, rgba(217,30,43,0.28), transparent 60%);}
  .ind-card2:hover .ind-bg{opacity:1;}
  .ind-card2 .idx2, .ind-card2 h3, .ind-card2 p, .ind-icon{position:relative; z-index:1;}
  .ind-card2 .idx2{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-mid); letter-spacing:0.08em; margin-bottom:18px;}
  .ind-icon{
    width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
    background:rgba(217,30,43,0.12); border:1.5px solid var(--amber); margin-bottom:22px;
  }
  .ind-icon svg{width:28px; height:28px; stroke:var(--amber-2); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .ind-card2 h3{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; margin-bottom:12px; text-transform:uppercase; letter-spacing:0.02em; color:var(--text-hi);}
  .ind-card2 p{font-size:13.5px; line-height:1.65; color:var(--text-mid);}
  .ind-card2.featured{background:linear-gradient(160deg, rgba(217,30,43,0.16), var(--panel) 55%); border-top-color:var(--amber-2);}
  .ind-card2.cta2{display:flex; flex-direction:column; justify-content:space-between; background:var(--ink-2); border-style:dashed;}
  .ind-card2.cta2 .lnk{color:var(--amber-2); font-size:13px; font-weight:600; margin-top:20px; display:inline-flex; align-items:center; gap:6px;}
  /* ---------- FACILITY / TRANSFORMATION (dark, split) ---------- */
  .facility{background:var(--ink); padding:120px 0;}
  .fac-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
  .fac-photo{position:relative; border-radius:4px; overflow:hidden; aspect-ratio:5/6; box-shadow:0 30px 70px -20px rgba(0,0,0,0.6);}
  .fac-photo img{width:100%; height:100%; object-fit:cover; filter:saturate(0.85); transition:transform 1.2s ease;}
  .fac-photo:hover img{transform:scale(1.06);}
  .fac-stats{position:absolute; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(2,1fr); background:rgba(20,22,27,0.85); backdrop-filter:blur(4px); border-top:1px solid var(--steel-line);}
  .fac-stats div{padding:18px 20px; border-right:1px solid var(--steel-line);}
  .fac-stats div:nth-child(2n){border-right:none;}
  .fac-stats .n{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; color:var(--amber-2);}
  .fac-stats .l{font-size:10.5px; color:var(--text-mid); margin-top:2px;}

  .transform-list{display:flex; flex-direction:column; gap:0; border-top:1px solid var(--steel-line);}
  .t-row{display:grid; grid-template-columns:1fr 30px 1fr; align-items:center; padding:20px 0; border-bottom:1px solid var(--steel-line); gap:14px; transition:background .2s;}
  .t-row:hover{background:rgba(217,30,43,0.05);}
  .t-row .before{font-size:13.5px; color:var(--text-mid); text-decoration:line-through; text-decoration-color:var(--steel); opacity:0.75;}
  .t-row .arrow{font-family:'JetBrains Mono',monospace; color:var(--amber); text-align:center; font-size:14px;}
  .t-row .now{font-size:13.5px; color:var(--text-hi); font-weight:500;}

  /* ---------- VMS (light 3col) ---------- */
  .vms{background:var(--ink); color:var(--text-hi); padding:130px 0; border-top:1px solid var(--steel-line); border-bottom:1px solid var(--steel-line); position:relative;}
  .vms::before{content:''; position:absolute; inset:0; background:radial-gradient(900px 420px at 50% 0%, rgba(217,30,43,0.10), transparent 65%); pointer-events:none;}
  .vms .sec-head{position:relative; z-index:1;}
  .vms .sec-head h2{color:var(--text-hi);}
  .vms-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:1;}
  .vms-item{
    background:var(--panel); border:1px solid var(--steel-line); border-top:3px solid var(--amber);
    padding:38px 32px 34px; transition:transform .3s, box-shadow .3s, border-color .3s;
  }
  .vms-item:hover{transform:translateY(-8px); box-shadow:0 24px 50px rgba(0,0,0,0.45), 0 0 0 1px rgba(217,30,43,0.35); border-top-color:var(--amber-2);}
  .vms-item .vms-icon{
    width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
    background:rgba(217,30,43,0.12); border:1.5px solid var(--amber); margin-bottom:24px;
  }
  .vms-item .vms-icon svg{width:26px; height:26px; stroke:var(--amber-2); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
  .vms-item .tag{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; text-transform:uppercase; letter-spacing:0.02em; margin-bottom:14px; display:block; color:var(--text-hi);}
  .vms-item p{font-size:14.5px; line-height:1.75; color:var(--text-mid);}

  /* ---------- CTA BAND (photo bg) ---------- */
  .cta-band{
    padding:130px 0; position:relative; overflow:hidden; border-top:1px solid var(--steel-line);
  }
  .cta-band .bgimg{position:absolute; inset:0; z-index:0; opacity: 0.35;} 
  .cta-band .bgimg img{width:100%; height:100%; object-fit:cover; filter:grayscale(0.7) brightness(0.32) contrast(1.1);}
  .cta-band .bgimg::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,22,27,0.75), rgba(20,22,27,0.92));}
  .cta-band .wrap{position:relative; z-index:2; text-align:center;}
  .cta-band h2{font-family:'Space Grotesk',sans-serif; font-size:clamp(28px,4vw,46px); font-weight:700; max-width:720px; margin:0 auto 20px; line-height:1.15;}
  .cta-band p{color:var(--text-mid); font-size:16px; max-width:520px; margin:0 auto 38px;}
  .cta-band .hero-ctas{justify-content:center;}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--ink-2); border-top:1px solid var(--steel-line); padding:0; position:relative; overflow:hidden;
  }
  .foot-top{padding-top:76px; padding-bottom:54px; position:relative;}
  .foot-watermark{
    position:absolute; right:-1%; top:50%; transform:translateY(-50%);
    font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:7vw; line-height:1;
    letter-spacing:0.01em;
    color:transparent; -webkit-text-stroke:1px rgba(255,255,255,0.045); pointer-events:none; z-index:0;
    white-space:nowrap;
  }
  .foot-grid{display:grid; grid-template-columns:1.3fr 0.9fr 0.9fr 1.1fr; gap:40px; position:relative; z-index:1;}
  .foot-brand .logo{margin-bottom:18px;}
  .foot-brand p{font-size:13.5px; color:var(--text-mid); line-height:1.75; max-width:280px; margin-bottom:22px;}
  .foot-social{display:flex; gap:10px;}
  .foot-social a{
    width:34px; height:34px; border:1px solid var(--steel-line); border-radius:50%;
    display:grid; place-items:center; font-size:13px; color:var(--text-mid); transition:all .2s;
  }
  .foot-social a:hover{border-color:var(--amber); color:var(--amber-2); transform:translateY(-2px);}
  .foot-col h4{font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-mid); margin-bottom:20px;}
  .foot-col a{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text-hi); opacity:0.85; margin-bottom:13px; transition:opacity .2s, gap .2s; width:fit-content;}
  .foot-col a:hover{opacity:1; color:var(--amber-2); gap:12px;}
  .foot-col a::before{content:'—'; color:var(--amber); font-size:11px;}
  .foot-col a.foot-sublink{margin-left:16px; font-size:12.5px; opacity:0.65;}
  .foot-col a.foot-sublink::before{content:'·'; color:var(--text-mid);}
  .foot-contact-item{margin-bottom:16px;}
  .foot-contact-item .k{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--text-mid); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:4px;}
  .foot-contact-item .v{font-size:14px; color:var(--text-hi);}
  .foot-certs{
    display:flex; gap:14px; flex-wrap:wrap; align-items:center; padding:26px 0; border-top:1px solid var(--steel-line); border-bottom:1px solid var(--steel-line);
    position:relative; z-index:1;
  }
  .foot-certs .cert-chip{background:#fff; padding:8px 14px; border:1px solid var(--steel-line); border-radius:3px; display:flex; align-items:center;}
  .foot-certs .cert-chip img{height:28px; width:auto; display:block; object-fit:contain;}
  .foot-bottom{
      display:flex; justify-content:space-between; align-items:center; padding-top:24px; padding-bottom:30px; font-size:12px; color:var(--text-mid);
      flex-wrap:wrap; gap:12px; position:relative; z-index:1;
    }
  .foot-bottom .motto{color:var(--amber-2); letter-spacing:0.04em;}

  /* ---------- responsive ---------- */
  body.mobile-nav-open{overflow:hidden;}
  @media (max-width:960px){
    .navlinks{display:none;}
    .navcta{display:none;}
    nav{padding:16px 20px;}
    .nav-toggle{display:flex;}
    .hero-grid, .about-grid, .fac-grid{grid-template-columns:1fr; gap:44px;}
    .hero{padding-top:130px;}
    .hero-visual{order:-1;}
    .callout{display:none;}
    .hero-stats{grid-template-columns:repeat(2,1fr); row-gap:24px;}
    .svc-grid{grid-template-columns:1fr;}
    .ind-grid2{grid-template-columns:1fr 1fr;}
    .drawing-grid{grid-template-columns:1fr; gap:36px;}
    .fact-row{grid-template-columns:1fr;}
    .fact{border-right:none; border-bottom:1px solid var(--steel-line); padding-bottom:18px; margin-bottom:18px;}
    .vms-grid{grid-template-columns:1fr; gap:32px;}
    .foot-grid{grid-template-columns:1fr 1fr; gap:32px;}
    .foot-watermark{display:none;}
    .bg-watermark{display:none;} /* hide giant vertical text on mobile so it doesn't break layout */
  }
  @media (max-width:600px){
    .ind-grid2{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr;}
    .t-row{grid-template-columns:1fr 20px 1fr; gap:8px;}
  }

  a:focus-visible, button:focus-visible{outline:2px solid var(--amber); outline-offset:3px;}

  /* ---------- SHARED: INNER PAGE HERO BAND ---------- */
  .page-hero{
    padding:170px 0 70px; background:var(--ink); color:var(--text-hi); position:relative; overflow:hidden;
    border-bottom:1px solid var(--steel-line);
  }
  .page-hero .breadcrumb{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--text-mid); letter-spacing:0.05em;
    margin-bottom:18px; text-transform:uppercase;
  }
  .page-hero .breadcrumb a{color:var(--text-mid);}
  .page-hero .breadcrumb a:hover{color:var(--amber-2);}
  .page-hero h1{font-family:'Space Grotesk',sans-serif; font-size:clamp(32px,4.2vw,52px); font-weight:700; letter-spacing:-0.01em; max-width:760px;}
  .page-hero p.lead{font-size:16.5px; color:var(--text-mid); max-width:620px; margin-top:16px; line-height:1.7;}

  /* ---------- SHARED: DATA TABLE ---------- */
  .data-table-wrap{overflow-x:auto; border:1px solid var(--steel-line); border-radius:4px;}
  table.data-table{width:100%; border-collapse:collapse; min-width:560px; font-size:13.5px;}
  table.data-table th, table.data-table td{padding:13px 18px; text-align:left; border-bottom:1px solid var(--steel-line);}
  table.data-table th{
    font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.05em;
    color:var(--amber-2); background:var(--panel);
  }
  table.data-table td{color:var(--text-mid);}
  table.data-table tr:last-child td{border-bottom:none;}
  table.data-table tr:hover td{background:rgba(217,30,43,0.05); color:var(--text-hi);}
  table.data-table caption{caption-side:top; text-align:left; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--amber-2); text-transform:uppercase; letter-spacing:0.05em; padding:12px 18px; background:var(--ink-2);}

  /* ---------- SHARED: SIMPLE CONTENT SECTION ---------- */
  .content-section{padding:100px 0;}
  .content-section.on-ink{background:var(--ink); color:var(--text-hi);}
  .content-section.on-panel{background:var(--panel); color:var(--text-hi); border-top:1px solid var(--steel-line); border-bottom:1px solid var(--steel-line);}
  .content-section h2{font-family:'Space Grotesk',sans-serif; font-size:clamp(26px,3vw,36px); font-weight:700; margin-bottom:18px;}
  .content-section h3{font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; margin:30px 0 12px;}
  .content-section p{font-size:15.5px; line-height:1.8; color:var(--text-mid); max-width:760px; margin-bottom:16px;}
  .content-section p strong{color:var(--text-hi); font-weight:600;}
  .content-section ul.check-list{list-style:none; margin:18px 0 24px; max-width:700px;}
  .content-section ul.check-list li{
    padding:10px 0 10px 26px; border-bottom:1px solid var(--steel-line); position:relative; font-size:14.5px; color:var(--text-mid);
  }
  .content-section ul.check-list li::before{content:'—'; position:absolute; left:0; color:var(--amber);}
  .content-section .table-caption{font-size:12.5px; color:var(--text-mid); margin:-6px 0 20px;}

  /* ---------- SHARED: TWO COLUMN LAYOUT ---------- */
  .split-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .split-grid img{width:100%; border-radius:4px; aspect-ratio:4/3; object-fit:cover; box-shadow:0 30px 60px -20px rgba(0,0,0,0.55);}
  .split-grid.reverse{direction:rtl;}
  .split-grid.reverse > *{direction:ltr;}

  /* ---------- SHARED: PILL TAGS (certifications, badges) ---------- */
  .pill-row{display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 8px;}
  .pill{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.04em; color:var(--text-hi);
    background:var(--panel); border:1px solid var(--steel-line); border-left:3px solid var(--amber);
    padding:9px 16px; border-radius:2px;
  }

  /* ---------- SHARED: CERT LOGO GRID (About / Quality pages) ---------- */
  .cert-logo-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin:22px 0 8px;}
  .cert-logo-card{
    background:#fff; border:1px solid var(--steel-line); border-radius:4px; padding:18px;
    display:flex; align-items:center; justify-content:center; height:90px; transition:transform .2s;
  }
  .cert-logo-card:hover{transform:translateY(-4px);}
  .cert-logo-card img{max-width:100%; max-height:100%; object-fit:contain;}

  /* ---------- SHARED: TIMELINE (CSR / before-after) ---------- */
  .timeline{position:relative; max-width:780px; margin-top:20px;}
  .timeline::before{content:''; position:absolute; left:9px; top:6px; bottom:6px; width:1px; background:var(--steel-line);}
  .timeline-item{position:relative; padding:0 0 34px 34px;}
  .timeline-item::before{content:''; position:absolute; left:2px; top:4px; width:16px; height:16px; border-radius:50%; background:var(--panel); border:2px solid var(--amber);}
  .timeline-item h4{font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:700; color:var(--text-hi); margin-bottom:6px;}
  .timeline-item p{margin-bottom:0; font-size:14px;}

  /* ---------- SHARED: BEFORE/AFTER COMPARISON ROWS ---------- */
  .compare-table .before{color:var(--text-mid); text-decoration:line-through; opacity:0.6;}
  .compare-table .after{color:var(--amber-2); font-weight:600;}

  /* ---------- SHARED: ESG / ICON FEATURE GRID ---------- */
  .icon-feature-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin-top:24px;}
  .icon-feature{background:var(--panel); border:1px solid var(--steel-line); border-top:3px solid var(--amber); padding:26px 24px; border-radius:3px;}
  .icon-feature .fi{width:44px; height:44px; border-radius:50%; background:rgba(217,30,43,0.12); border:1.5px solid var(--amber); display:grid; place-items:center; margin-bottom:16px;}
  .icon-feature .fi svg{width:22px; height:22px; stroke:var(--amber-2); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
  .icon-feature h4{font-family:'Space Grotesk',sans-serif; font-size:15.5px; font-weight:700; color:var(--text-hi); margin-bottom:8px;}
  .icon-feature p{font-size:13.5px; color:var(--text-mid); margin-bottom:0;}

  /* ---------- SHARED: CONTACT FORM ---------- */
  .contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start;}
  .contact-info-item{padding:20px 0; border-bottom:1px solid var(--steel-line);}
  .contact-info-item .k{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-mid); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:6px;}
  .contact-info-item .v{font-size:15.5px; color:var(--text-hi);}
  .contact-info-item .v a{color:var(--text-hi);}
  .contact-info-item .v a:hover{color:var(--amber-2);}
  form.contact-form{display:flex; flex-direction:column; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .form-field{display:flex; flex-direction:column; gap:8px;}
  .form-field label{font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-mid);}
  .form-field input, .form-field select, .form-field textarea{
    background:var(--panel); border:1px solid var(--steel-line); color:var(--text-hi); padding:12px 14px;
    font-family:'Inter',sans-serif; font-size:14px; border-radius:3px; transition:border-color .2s;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:none; border-color:var(--amber);}
  .form-field textarea{resize:vertical; min-height:120px;}
  .form-submit{
    align-self:flex-start; font-size:13.5px; font-weight:600; padding:14px 30px; background:var(--amber);
    color:var(--ink); border:none; border-radius:3px; cursor:pointer; transition:background .2s, box-shadow .2s; letter-spacing:0.02em;
  }
  .form-submit:hover{background:var(--amber-2); box-shadow:0 0 20px rgba(217,30,43,0.35);}
  .form-note{font-size:12px; color:var(--text-mid); margin-top:-4px;}
  .form-success{display:none; padding:20px; border:1px solid var(--amber); border-left:3px solid var(--amber); background:rgba(217,30,43,0.08); color:var(--text-hi); font-size:14px; border-radius:3px;}

  /* ---------- SHARED: STAT STRIP (quick facts) ---------- */
  .quickfacts{display:flex; flex-wrap:wrap; gap:0; border:1px solid var(--steel-line); border-radius:4px; overflow:hidden; margin:22px 0 8px;}
  .quickfacts .qf-item{flex:1 1 160px; padding:18px 20px; border-right:1px solid var(--steel-line);}
  .quickfacts .qf-item:last-child{border-right:none;}
  .quickfacts .qf-item .k{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--text-mid); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:6px;}
  .quickfacts .qf-item .v{font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:700; color:var(--amber-2);}

  /* ---------- SHARED: SECTOR CARD (Industries page) ---------- */
  .sector-nav{display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 0;}
  .sector-nav a{
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.03em; color:var(--text-mid);
    border:1px solid var(--steel-line); padding:9px 16px; border-radius:20px; transition:all .2s;
  }
  .sector-nav a:hover{color:var(--ink); background:var(--amber); border-color:var(--amber);}
  .sector-band{padding:90px 0; border-bottom:1px solid var(--steel-line);}
  .sector-band:nth-child(even){background:var(--panel);}
  .sector-band .split-grid{align-items:center;}
  .sector-band .idx{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--amber-2); letter-spacing:0.05em; margin-bottom:10px;}

  @media (max-width:900px){
    .split-grid, .contact-grid{grid-template-columns:1fr; gap:36px;}
    .split-grid.reverse{direction:ltr;}
    .form-row{grid-template-columns:1fr;}
  }

  /* ---------- SHARED: TAB TOGGLE (Capabilities: Onsite / Outsourced processes) ---------- */
  .tab-toggle{display:flex; gap:0; margin:26px 0 0; border:1px solid var(--steel-line); border-radius:4px; overflow:hidden; width:fit-content;}
  .tab-toggle button{
    background:var(--panel); border:none; color:var(--text-mid); font-family:'JetBrains Mono',monospace;
    font-size:12px; letter-spacing:0.04em; padding:12px 22px; cursor:pointer; transition:background .2s, color .2s;
  }
  .tab-toggle button.active{background:var(--amber); color:var(--ink);}
  .tab-toggle button:not(:last-child){border-right:1px solid var(--steel-line);}
  .tab-panel{display:none; margin-top:20px;}
  .tab-panel.active{display:block;}

  /* ---------- SHARED: SPEC GRID (Capabilities: Specification of Machined Parts) ---------- */
  .spec-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--steel-line); border:1px solid var(--steel-line); margin-top:24px;}
  .spec-grid .spec-cell{background:var(--ink); padding:26px 22px; transition:background .2s;}
  .spec-grid .spec-cell:hover{background:var(--panel);}
  .spec-grid .spec-cell .k{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--text-mid); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:10px;}
  .spec-grid .spec-cell .v{font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; color:var(--amber-2);}
  @media (max-width:700px){ .spec-grid{grid-template-columns:1fr 1fr;} }

  /* ---------- SHARED: LINKED CALLOUT (cross-page "see full detail on X page" cards) ---------- */
  .linked-callout{
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    background:var(--panel); border:1px solid var(--steel-line); border-left:3px solid var(--amber);
    padding:24px 28px; border-radius:3px; margin-top:24px;
  }
  .linked-callout .lc-text .lc-k{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--amber-2); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:6px;}
  .linked-callout .lc-text h4{font-family:'Space Grotesk',sans-serif; font-size:16.5px; font-weight:700; color:var(--text-hi); margin-bottom:4px;}
  .linked-callout .lc-text p{font-size:13.5px; color:var(--text-mid); margin:0;}
  .linked-callout a.lc-link{
    font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--amber-2); white-space:nowrap;
    border:1px solid var(--amber); padding:10px 18px; border-radius:3px; transition:background .2s, color .2s;
  }
  .linked-callout a.lc-link:hover{background:var(--amber); color:var(--ink);}

  /* ---------- SHARED: DOCUMENT CARD (Quality Assurance: certificate PDFs) ---------- */
  .doc-card-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; margin-top:24px;}
  .doc-card{
    display:flex; align-items:center; gap:16px; background:var(--panel); border:1px solid var(--steel-line);
    border-left:3px solid var(--amber); padding:22px 24px; border-radius:3px; transition:transform .2s, border-color .2s;
  }
  .doc-card:hover{transform:translateY(-4px); border-left-color:var(--amber-2);}
  .doc-card .di{width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:rgba(217,30,43,0.12); border:1.5px solid var(--amber); display:grid; place-items:center;}
  .doc-card .di svg{width:20px; height:20px; stroke:var(--amber-2); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
  .doc-card .dt h4{font-family:'Space Grotesk',sans-serif; font-size:15px; font-weight:700; color:var(--text-hi); margin-bottom:4px;}
  .doc-card .dt span{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--amber-2); letter-spacing:0.04em;}
  
  
/* ===== Footer: big logo, no text ===== */
.foot-brand .logo .brand-mark { width: 100px; max-width: 100%; height: auto; display: block; }

/* ===== Footer: enquiries email (no leading dash) ===== */
.foot-contact-item .v a { display: inline; margin: 0; opacity: 1; width: auto; }
.foot-contact-item .v a::before { content: none; }
.foot-contact-item .v a:hover { color: var(--amber-2); }

/* ===== Footer: scrolling certificate strip (seamless, 4 copies) ===== */
.foot-marquee { background: #f0f0f2; overflow: hidden; width: 100%; padding: 20px 0; margin-top: 40px; white-space: nowrap; }
.foot-marquee-track { display: flex; flex-wrap: nowrap; width: max-content; animation: footMarquee 40s linear infinite; will-change: transform; }
.foot-marquee:hover .foot-marquee-track { animation-play-state: paused; }
.foot-marquee-group { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; gap: 64px; padding-right: 64px; }
.foot-marquee-group img { height: 56px; width: auto; flex: 0 0 auto; background: none; border: 0; padding: 0; mix-blend-mode: multiply; }
@keyframes footMarquee {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-25%,0,0); }
}
@media (prefers-reduced-motion: reduce) { .foot-marquee-track { animation: none; } }
