:root{
    --ink:#0e1b2c;
    --ink-soft:#33475f;
    --muted:#5b6b7f;
    --bg:#ffffff;
    --bg-soft:#f4f7fb;
    --line:#e3e9f1;
    --brand:#0f4c81;
    --brand-dark:#0a355c;
    --accent:#e8a33d;
    --accent-soft:#fdf3e2;
    --radius:16px;
    --shadow:0 10px 30px rgba(15,76,129,.08);
    --shadow-lg:0 24px 60px rgba(15,76,129,.14);
    --maxw:1160px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Sora',Inter,sans-serif;line-height:1.15;letter-spacing:-.02em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
    color:var(--brand);background:rgba(15,76,129,.08);
    padding:6px 14px;border-radius:999px;margin-bottom:18px;
  }
  .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,.85);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .logo{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:800;font-size:1.15rem;color:var(--ink)}
  .logo-img{height:40px;width:auto;display:block}
  .logo-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);display:grid;place-items:center;color:#fff;font-size:1rem}
  .nav-links{display:flex;align-items:center;gap:32px}
  .nav-links a{font-size:.92rem;font-weight:500;color:var(--ink-soft);transition:color .2s}
  .nav-links a:hover{color:var(--brand)}
  .nav-links a.nav-cta{
    background:var(--brand);color:#fff;font-weight:600;font-size:.9rem;
    padding:10px 20px;border-radius:10px;transition:background .2s,transform .2s;
  }
  .nav-cta:hover{background:var(--brand-dark);transform:translateY(-1px)}
  .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.3s}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:linear-gradient(rgba(7,20,34,.82),rgba(7,20,34,.72)),url('images/hero-steel.webp') center/cover no-repeat;
    padding:96px 0 88px;
  }
  .hero::before{
    content:"";position:absolute;top:-160px;right:-120px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(15,76,129,.35),transparent 65%);
  }
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;position:relative}
  .hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:800;margin:0 0 22px;color:#fff}
  .hero h1 .accent{color:#ffb84d}
  .hero p.lead{font-size:1.12rem;color:rgba(255,255,255,.88);max-width:520px;margin-bottom:34px}
  .hero .eyebrow{color:#ffb84d}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
  .btn{
    display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;
    padding:14px 26px;border-radius:12px;transition:.2s;cursor:pointer;border:none;
  }
  .btn-primary{background:var(--brand);color:#fff}
  .btn-primary:hover{background:var(--brand-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(4px)}
  .btn-ghost:hover{border-color:#ffb84d;color:#ffb84d;background:rgba(255,255,255,.18)}
  .hero-stats{display:flex;gap:40px;margin-top:44px;flex-wrap:wrap}
  .stat .num{font-family:'Sora',sans-serif;font-size:1.9rem;font-weight:800;color:#ffb84d}
  .stat .lbl{font-size:.85rem;color:rgba(255,255,255,.78)}
  .hero-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow-lg);padding:28px;position:relative;
  }
  .hero-card .card-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
  .hero-card .avatar{width:44px;height:44px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-weight:700}
  .hero-card .who{font-weight:600;font-size:.95rem}
  .hero-card .role{font-size:.8rem;color:var(--muted)}
  .metric{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
  .metric:last-child{border-bottom:none}
  .metric .m-label{font-size:.88rem;color:var(--ink-soft)}
  .metric .m-val{font-weight:700;font-size:.95rem}
  .bar{height:8px;border-radius:6px;background:var(--bg-soft);margin-top:8px;overflow:hidden}
  .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand),#2f7fc4)}

  /* ---------- Sections ---------- */
  section{padding:96px 0}
  .section-head{max-width:640px;margin-bottom:56px}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .section-head h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;margin-bottom:16px}
  .section-head p{color:var(--muted);font-size:1.05rem}

  /* About */
  .about{background:var(--bg-soft)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .about-visual{position:relative}
  .about-visual .panel{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:var(--shadow);padding:26px;
  }
  .about-visual .panel h4{font-size:1.05rem;margin-bottom:14px}
  .check-list{list-style:none}
  .check-list li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;color:var(--ink-soft);font-size:.95rem}
  .check-list li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:.8rem;margin-top:2px}
  .about-copy p{color:var(--muted);margin-bottom:18px}
  .about-copy .lead{color:var(--ink-soft);font-size:1.1rem;font-weight:500}

  /* Services */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .service{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:30px;transition:transform .25s,box-shadow .25s,border-color .25s;
  }
  .service:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
  .service .icon{
    width:52px;height:52px;border-radius:13px;display:grid;place-items:center;
    background:var(--accent-soft);color:var(--accent);font-size:1.4rem;margin-bottom:20px;
  }
  .service:nth-child(2) .icon{background:rgba(15,76,129,.1);color:var(--brand)}
  .service:nth-child(3) .icon{background:#e8f4ee;color:#1f8a5b}
  .service h3{font-size:1.15rem;margin-bottom:10px}
  .service p{color:var(--muted);font-size:.94rem}
  .service .tag{display:inline-block;margin-top:16px;font-size:.78rem;font-weight:600;color:var(--brand)}

  /* Steel Products */
  .products{background:var(--bg-soft)}
  .products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .product{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;
    display:flex;flex-direction:column;
  }
  .product:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
  .product .p-img{height:150px;overflow:hidden;position:relative;background:var(--bg-soft)}
  .product .p-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .product:hover .p-img img{transform:scale(1.06)}
  .product .p-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
  .product h3{font-size:1.02rem;margin-bottom:8px}
  .product ul{list-style:none;margin:0}
  .product ul li{font-size:.85rem;color:var(--muted);padding:3px 0;display:flex;gap:8px;align-items:flex-start}
  .product ul li::before{content:"\2022";color:var(--accent);font-weight:700}
  .product .p-tag{margin-top:auto;padding-top:12px;font-size:.78rem;font-weight:600;color:var(--brand)}

  /* Services (image cards) */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .svc-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;
    display:flex;flex-direction:column;
  }
  .svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
  .svc-card .s-img{height:190px;overflow:hidden;position:relative;background:var(--bg-soft)}
  .svc-card .s-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
  .svc-card:hover .s-img img{transform:scale(1.06)}
  .svc-card .s-body{padding:22px;display:flex;flex-direction:column;flex:1}
  .svc-card h3{font-size:1.12rem;margin-bottom:8px}
  .svc-card p{color:var(--muted);font-size:.92rem;flex:1}
  .svc-card .s-tag{margin-top:14px;font-size:.8rem;font-weight:600;color:var(--brand)}


  /* Our Clients */
  .clients{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 10% 10%, rgba(232,163,61,.12), transparent 28%),
      radial-gradient(circle at 90% 90%, rgba(15,76,129,.16), transparent 30%),
      #0b1522;
    color:#fff;
  }
  .clients .section-head h2{color:#fff}
  .clients .section-head p{color:rgba(255,255,255,.72)}
  .clients .eyebrow{
    color:#e8a33d;
    background:rgba(232,163,61,.10);
  }
  .client-brochure{margin:28px auto 34px;max-width:1100px;border:1px solid rgba(220,164,61,.45);border-radius:18px;padding:10px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:0 12px 40px rgba(0,0,0,.22)}
  .client-brochure img{display:block;width:100%;height:auto;border-radius:12px}
  .brochure-note{margin:10px 4px 2px;text-align:center;color:var(--muted,#9da6b5);font-size:.82rem}
  .clients-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:18px;
  }
  .client-card{
    min-height:170px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:18px 14px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(232,163,61,.42);
    border-radius:14px;
    box-shadow:0 12px 32px rgba(0,0,0,.18);
    transition:transform .25s, box-shadow .25s, border-color .25s;
  }
  .client-card:hover{
    transform:translateY(-5px);
    border-color:var(--accent);
    box-shadow:0 18px 40px rgba(0,0,0,.28);
  }
  .client-logo-wrap{
    width:132px;
    height:74px;
    display:grid;
    place-items:center;
    margin-bottom:13px;
  }
  .client-logo-wrap img{
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .client-name{
    color:var(--ink);
    font-family:'Sora',Inter,sans-serif;
    font-size:.78rem;
    line-height:1.35;
    font-weight:700;
    max-width:205px;
  }
  @media(max-width:1100px){
    .clients-grid{grid-template-columns:repeat(4,1fr)}
  }
  @media(max-width:960px){
    .clients-grid{grid-template-columns:repeat(3,1fr)}
  }
  @media(max-width:680px){
    .clients-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .client-card{min-height:155px;padding:14px 10px}
    .client-logo-wrap{width:116px;height:66px}
    .client-name{font-size:.72rem}
  }

  /* CTA band */
  .cta-band{
    background:var(--brand);border-radius:24px;color:#fff;text-align:center;
    padding:64px 40px;position:relative;overflow:hidden;
  }
  .cta-band::before{content:"";position:absolute;top:-80px;right:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.08)}
  .cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px}
  .cta-band p{color:rgba(255,255,255,.85);max-width:520px;margin:0 auto 30px}
  .btn-light{background:#fff;color:var(--brand)}
  .btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}

  /* Contact */
  .contact{background:var(--bg-soft)}
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
  .contact-info h3{font-size:1.3rem;margin-bottom:14px}
  .contact-info p{color:var(--muted);margin-bottom:28px}
  .info-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
  .info-item .ic{width:42px;height:42px;flex:none;border-radius:11px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand)}
  .info-item .t{font-weight:600;font-size:.95rem}
  .info-item .d{color:var(--muted);font-size:.9rem}
  .info-item .d a.contact-link{color:var(--brand);font-weight:600;text-decoration:none;transition:color .2s}
  .info-item .d a.contact-link:hover{color:var(--brand-dark);text-decoration:underline}
  form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px;color:var(--ink-soft)}
  .field input,.field textarea{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;
    font-family:inherit;font-size:.95rem;color:var(--ink);background:#fbfcfe;transition:border-color .2s,box-shadow .2s;
  }
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,76,129,.12);background:#fff}
  .field textarea{resize:vertical;min-height:120px}
  .form-note{font-size:.8rem;color:var(--muted);margin-top:12px}
  .form-success{
    display:none;margin-top:14px;padding:12px 16px;border-radius:10px;
    background:#e8f4ee;color:#1f8a5b;font-size:.9rem;font-weight:500;
  }

  /* Footer */
  footer{background:var(--brand-dark);color:#c7d3e0;padding:56px 0 32px}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
  .footer-brand .logo{color:#fff;margin-bottom:14px}
  .footer-logo{display:inline-flex;background:#fff;padding:8px 12px;border-radius:10px;width:fit-content}
  .footer-logo .logo-img{height:34px}
  .footer-brand p{font-size:.9rem;color:#9fb0c2;max-width:320px}
  .footer-col h4{color:#fff;font-size:.95rem;margin-bottom:16px}
  .footer-col a{display:block;font-size:.9rem;color:#9fb0c2;padding:5px 0;transition:color .2s}
  .footer-col a:hover{color:#fff}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#8fa1b5}

  /* ---------- Responsive ---------- */
  @media(max-width:960px){
    .hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .products-grid{grid-template-columns:repeat(3,1fr)}
    .svc-grid{grid-template-columns:repeat(2,1fr)}
    .hero{padding:64px 0}
    .hero-card{max-width:520px}
    .footer-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:680px){
    .nav-links{
      position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;
      align-items:flex-start;padding:24px;gap:20px;border-bottom:1px solid var(--line);
      transform:translateY(-120%);transition:transform .3s;box-shadow:var(--shadow);
    }
    .nav-links.open{transform:translateY(0)}
    .nav-links a{font-size:1.05rem}
    .menu-toggle{display:block}
    .services-grid{grid-template-columns:1fr}
    .products-grid{grid-template-columns:repeat(2,1fr)}
    .svc-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .hero-stats{gap:24px}
    .footer-grid{grid-template-columns:1fr}
    section{padding:72px 0}
  }

/* Quote form submission states */
#contactForm button:disabled { opacity: .65; cursor: wait; }
.form-success.error { background: rgba(180, 40, 40, .10); }


/* =========================================================
   JMES INTERNATIONAL METALLIC STEEL THEME
   Visual-only enhancement: existing content/assets preserved.
   ========================================================= */
:root{
  --steel-950:#05080b;
  --steel-900:#0a0f14;
  --steel-850:#10171d;
  --steel-800:#151d24;
  --steel-750:#1d272f;
  --steel-700:#26323a;
  --steel-500:#71808a;
  --steel-300:#b9c3c8;
  --steel-100:#edf1f3;
  --gold:#d5a447;
  --gold-hi:#f0c96b;
  --metal-line:rgba(220,228,232,.13);
  --metal-glow:rgba(213,164,71,.22);
  --ink:#e9eef1;
  --ink-soft:#c3cdd2;
  --muted:#9eabb2;
  --bg:#0a0f13;
  --bg-soft:#10171d;
  --line:rgba(220,228,232,.13);
  --brand:#c79a42;
  --brand-dark:#8f6b2c;
  --accent:#e0b458;
  --accent-soft:rgba(224,180,88,.12);
  --shadow:0 18px 45px rgba(0,0,0,.28);
  --shadow-lg:0 28px 80px rgba(0,0,0,.42);
}

/* Global steel surface */
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 20% 0%,rgba(255,255,255,.045),transparent 28%),
    linear-gradient(135deg,#070b0e 0%,#11181e 48%,#080c10 100%);
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.22;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 5px),
    linear-gradient(105deg,transparent 0 45%,rgba(255,255,255,.025) 50%,transparent 55%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;
  background:radial-gradient(circle 180px at var(--mx,50%) var(--my,20%),rgba(214,173,91,.09),transparent 70%);
  mix-blend-mode:screen;
}

/* brushed metal utility */
header,section,footer,.hero-card,.service,.product,.svc-card,form,.about-visual .panel,.cta-band{
  position:relative;
}
header::after,section::after,footer::after,.hero-card::after,.service::after,.product::after,.svc-card::after,form::after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(112deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 1px,transparent 1px,transparent 6px);
  opacity:.5;
}

/* Header */
header{
  background:rgba(7,11,14,.88);
  border-bottom:1px solid rgba(220,228,232,.16);
  box-shadow:0 8px 35px rgba(0,0,0,.35);
}
.nav{height:78px}
.logo{color:#fff}
.nav-links a{color:#bfc9ce}
.nav-links a:hover{color:var(--gold-hi)}
.nav-links a.nav-cta{
  background:linear-gradient(135deg,#d5a447,#98732e);
  color:#090d10;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 7px 22px rgba(0,0,0,.3);
}
.nav-cta:hover{background:linear-gradient(135deg,#f0c96b,#b88935);color:#080b0d;box-shadow:0 10px 28px rgba(213,164,71,.25)}
.menu-toggle span{background:#e7ecef}

/* Hero = first impression */
.hero{
  min-height:calc(100vh - 78px);
  display:flex;align-items:center;
  background:
    linear-gradient(90deg,rgba(3,7,10,.94) 0%,rgba(5,10,14,.72) 52%,rgba(5,9,12,.82) 100%),
    linear-gradient(rgba(7,10,12,.28),rgba(7,10,12,.4)),
    url('images/hero-steel.webp') center/cover no-repeat;
  padding:110px 0 100px;
}
.hero::after{
  content:"";position:absolute;inset:auto 0 0;height:190px;pointer-events:none;
  background:linear-gradient(transparent,rgba(5,8,10,.95));
}
.hero::before{
  top:8%;right:-5%;width:650px;height:650px;
  background:
    radial-gradient(circle,rgba(224,180,88,.14) 0 4%,transparent 5% 42%,rgba(180,190,196,.05) 43%,transparent 64%),
    repeating-conic-gradient(from 0deg,rgba(255,255,255,.025) 0 2deg,transparent 2deg 8deg);
  animation:metalPulse 8s ease-in-out infinite;
}
.hero-grid{z-index:2}
.hero h1{color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.55)}
.hero h1 .accent{color:var(--gold-hi)}
.hero p.lead{color:#d0d9dd}
.hero .eyebrow{
  color:var(--gold-hi);background:rgba(213,164,71,.10);
  border:1px solid rgba(213,164,71,.28);
}
.hero-stats{border-top:1px solid rgba(255,255,255,.13);padding-top:24px}
.stat .num{color:var(--gold-hi)}
.stat .lbl{color:#aeb9bf}
.hero-card{
  background:linear-gradient(145deg,rgba(30,39,46,.94),rgba(8,12,15,.94));
  border:1px solid rgba(224,180,88,.24);
  box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08);
  color:#edf2f4;
  backdrop-filter:blur(12px);
}
.hero-card .avatar{background:rgba(213,164,71,.12);color:var(--gold-hi);border:1px solid rgba(213,164,71,.25)}
.hero-card .role,.metric .m-label{color:#9eabb2}
.metric{border-color:rgba(255,255,255,.09)}
.bar{background:#222d34}
.bar i{background:linear-gradient(90deg,#8e6a2d,#f0c96b,#9b7634)}

/* Metallic section surfaces */
section{background:linear-gradient(135deg,#0a0f13,#11191f 48%,#090d11)}
section:nth-of-type(even){background:linear-gradient(135deg,#11181e,#080d11 52%,#141d23)}
.about,.products,.contact{background:
  linear-gradient(135deg,rgba(255,255,255,.018),transparent 35%),
  repeating-linear-gradient(115deg,rgba(255,255,255,.014) 0,rgba(255,255,255,.014) 1px,transparent 1px,transparent 7px),
  #10171d;
}
.section-head h2{color:#f1f5f6}
.section-head p{color:#aeb9bf}
.eyebrow{
  color:var(--gold-hi);background:rgba(213,164,71,.10);
  border:1px solid rgba(213,164,71,.22);
}
.about-copy p{color:#aeb9bf}
.about-copy .lead{color:#d2dadd}
.about-visual .panel{
  background:linear-gradient(145deg,#1a232a,#0c1217);
  border-color:rgba(255,255,255,.10);
  box-shadow:var(--shadow);
}
.check-list li{color:#c0cbd0}
.check-list li::before{background:rgba(213,164,71,.13);color:var(--gold-hi);border:1px solid rgba(213,164,71,.2)}

/* Chequered sheet sections */
.about::before,.products::before,.contact::before,.clients::before{
  content:"";position:absolute;right:0;top:0;width:38%;height:100%;opacity:.08;pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.2),transparent 42%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 2px,transparent 2px 18px),
    repeating-linear-gradient(-45deg,rgba(255,255,255,.28) 0 2px,transparent 2px 18px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000);
  mask-image:linear-gradient(90deg,transparent,#000 30%,#000);
}

/* Cards */
.service,.product,.svc-card{
  background:linear-gradient(145deg,#1a232a 0%,#0c1217 100%);
  border:1px solid rgba(220,228,232,.11);
  box-shadow:0 14px 38px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.045);
  color:#edf1f3;
}
.service:hover,.product:hover,.svc-card:hover{
  transform:translateY(-9px);
  border-color:rgba(224,180,88,.48);
  box-shadow:0 26px 55px rgba(0,0,0,.45),0 0 0 1px rgba(224,180,88,.07);
}
.service h3,.product h3,.svc-card h3{color:#f0f4f5}
.service p,.product ul li,.svc-card p{color:#aab6bc}
.service .icon{background:rgba(213,164,71,.12);color:var(--gold-hi);border:1px solid rgba(213,164,71,.22)}
.service:nth-child(2) .icon,.service:nth-child(3) .icon{background:rgba(213,164,71,.10);color:var(--gold-hi)}
.product .p-img,.svc-card .s-img{background:#080c0f}
.product .p-img::after,.svc-card .s-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.18) 48%,transparent 66%);
  transform:translateX(-120%);transition:transform .7s ease;
}
.product:hover .p-img::after,.svc-card:hover .s-img::after{transform:translateX(120%)}
.product .p-tag,.service .tag,.svc-card .s-tag{color:var(--gold-hi)}
.product ul li::before{color:var(--gold-hi)}

/* Clients keep existing client identities/cards, but steel presentation */
.clients{
  background:
    linear-gradient(rgba(6,10,13,.94),rgba(9,14,18,.96)),
    repeating-linear-gradient(110deg,rgba(255,255,255,.03) 0 1px,transparent 1px 7px),
    #080d11;
}
.client-brochure{
  background:linear-gradient(145deg,#1c252c,#080d11);
  border-color:rgba(213,164,71,.32);
}
.client-card{
  background:linear-gradient(145deg,#f8fafb,#cbd3d7);
  border-color:rgba(213,164,71,.35);
  box-shadow:0 14px 36px rgba(0,0,0,.35);
}
.client-card:hover{border-color:var(--gold-hi);box-shadow:0 22px 48px rgba(0,0,0,.48)}
.client-name{color:#151c21}

/* CTA */
.cta-band{
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),transparent 42%),
    repeating-linear-gradient(110deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px),
    linear-gradient(135deg,#252f36,#0b1014);
  border:1px solid rgba(213,164,71,.30);
  box-shadow:var(--shadow-lg);
}
.cta-band::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;
  background:
    repeating-linear-gradient(45deg,#fff 0 2px,transparent 2px 18px),
    repeating-linear-gradient(-45deg,#fff 0 2px,transparent 2px 18px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 70%);
  mask-image:linear-gradient(90deg,transparent,#000 70%);
}
.cta-band h2,.cta-band p{position:relative;z-index:1}

/* Contact / RFQ */
.contact-info h3{color:#f1f5f6}
.contact-info p,.info-item .d{color:#aeb9bf}
.info-item .t{color:#dce3e6}
.info-item .ic{
  background:linear-gradient(145deg,#1d272e,#0a0f13);
  border-color:rgba(255,255,255,.12);
  color:var(--gold-hi);
}
.info-item .d a.contact-link{color:var(--gold-hi)}
form{
  background:linear-gradient(145deg,#1a232a,#0b1014);
  border-color:rgba(220,228,232,.12);
  box-shadow:var(--shadow-lg),inset 0 1px rgba(255,255,255,.05);
}
.field label{color:#cbd4d8}
.field input,.field textarea{
  color:#eef2f3;background:#080d11;border-color:rgba(220,228,232,.16);
}
.field input:focus,.field textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(213,164,71,.12),0 0 22px rgba(213,164,71,.08);
  background:#0b1115;
}
.form-note{color:#8f9da5}
.form-success{background:rgba(70,170,110,.12);color:#a7e0bb;border:1px solid rgba(100,200,135,.18)}
.form-success.error{background:rgba(190,60,60,.12);color:#ffb0b0}

/* Buttons - metallic shine */
.btn{
  position:relative;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}
.btn::after,.nav-cta::after{
  content:"";position:absolute;top:-80%;left:-35%;width:24%;height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transform:rotate(20deg) translateX(-240px);
  transition:transform .65s ease;
}
.btn:hover::after,.nav-cta:hover::after{transform:rotate(20deg) translateX(620px)}
.btn-primary{
  background:linear-gradient(135deg,#d9ad50,#9a742e);
  color:#080b0d;
}
.btn-primary:hover{background:linear-gradient(135deg,#f0c96b,#b78a38);color:#070a0c;transform:translateY(-3px);box-shadow:0 15px 34px rgba(213,164,71,.22)}
.btn-ghost{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.25)}
.btn-ghost:hover{background:rgba(213,164,71,.10);border-color:var(--gold-hi);color:var(--gold-hi)}
.btn-light{background:linear-gradient(135deg,#eef2f3,#b9c2c6);color:#10161a}
.btn-light:hover{background:#fff;color:#0b1014}

/* Footer */
footer{
  background:
    linear-gradient(135deg,#05080a,#11181d 52%,#05080a),
    repeating-linear-gradient(110deg,rgba(255,255,255,.018) 0 1px,transparent 1px 7px);
  border-top:1px solid rgba(213,164,71,.18);
}
.footer-col a{color:#9ba9b1}
.footer-col a:hover{color:var(--gold-hi)}
.footer-bottom{border-color:rgba(255,255,255,.10);color:#77868f}

/* Scroll reveal */
.reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-on-scroll.revealed{opacity:1;transform:none}

/* Floating metallic cursor glow */
.metal-cursor{
  position:fixed;width:150px;height:150px;border-radius:50%;pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(220,180,90,.13),rgba(220,180,90,.035) 35%,transparent 70%);
  opacity:0;transition:opacity .25s ease;
}
body.cursor-active .metal-cursor{opacity:1}

/* Motion */
@keyframes metalPulse{
  0%,100%{transform:scale(.94) rotate(0deg);opacity:.7}
  50%{transform:scale(1.03) rotate(8deg);opacity:1}
}
@keyframes metalShine{
  from{transform:translateX(-130%)}
  to{transform:translateX(130%)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal-on-scroll{opacity:1;transform:none}
}

/* Mobile: retain the same metallic language */
@media(max-width:680px){
  .nav-links{background:rgba(7,11,14,.98);border-color:rgba(255,255,255,.12)}
  .nav-links a{color:#d0d8dc}
  .about::before,.products::before,.contact::before,.clients::before{width:65%;opacity:.055}
  .hero{min-height:auto;padding:86px 0 74px}
}

/* =========================================================
   JMES LOGO VISIBILITY / METALLIC HEADER FINISH
   ========================================================= */
.logo{
  min-width:0;
  padding:6px 10px;
  border-radius:12px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(0,0,0,.22));
  border:1px solid rgba(224,180,88,.18);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 5px 18px rgba(0,0,0,.24);
}
.logo-img{
  height:52px;
  width:auto;
  max-width:250px;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(213,164,71,.16));
}
.logo:hover .logo-img{
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.8)) drop-shadow(0 0 12px rgba(240,201,107,.28));
}
.footer-logo{
  background:linear-gradient(135deg,#0b1116,#1b252c)!important;
  border:1px solid rgba(224,180,88,.28);
  padding:8px 12px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.28);
}
.footer-logo .logo-img{height:42px}
@media(max-width:680px){
  .logo{padding:5px 8px;border-radius:10px}
  .logo-img{height:42px;max-width:190px}
  .footer-logo .logo-img{height:36px}
}

/* ===== JMES Premium Metallic Theme & Motion ===== */
:root{
  --ink:#e9edf2;
  --ink-soft:#c4cbd4;
  --muted:#9ba6b2;
  --bg:#111418;
  --bg-soft:#1a1f25;
  --line:rgba(205,215,226,.18);
  --brand:#b8c1cb;
  --brand-dark:#8e9aa7;
  --accent:#d7ad62;
  --accent-soft:rgba(215,173,98,.12);
  --shadow:0 12px 34px rgba(0,0,0,.28);
  --shadow-lg:0 24px 64px rgba(0,0,0,.42);
}
body{
  background:radial-gradient(ellipse at 15% 0%,rgba(215,173,98,.07),transparent 34%),#111418;
  color:var(--ink);
}
header{
  background:rgba(15,18,22,.9);
  border-bottom:1px solid rgba(215,173,98,.28);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.logo,.nav-links a{color:#eef1f4}
.nav-links a:hover{color:var(--accent)}
.nav-links a.nav-cta,.btn-primary{
  color:#17191c;
  background:linear-gradient(120deg,#8e969f 0%,#f3f5f7 24%,#aeb7c0 48%,#e0bd7c 72%,#9a7b46 100%);
  background-size:220% 100%;
  box-shadow:0 6px 20px rgba(215,173,98,.16);
  animation:metallicShimmer 7s ease-in-out infinite;
}
.nav-links a.nav-cta:hover,.btn-primary:hover{
  color:#0d0f12;filter:brightness(1.08);transform:translateY(-2px);
}
.menu-toggle span{background:#e9edf2}
.hero{
  background:linear-gradient(110deg,rgba(8,10,13,.94),rgba(22,27,33,.82) 54%,rgba(8,10,13,.82)),url('images/hero-steel.webp') center/cover no-repeat;
}
.hero::before{
  background:radial-gradient(circle,rgba(215,173,98,.2),rgba(174,187,200,.08) 34%,transparent 68%);
  animation:softPulse 8s ease-in-out infinite alternate;
}
.hero h1 .accent,.hero .eyebrow,.hero-stats .num{color:#e8c889}
.eyebrow{color:#e8c889;background:rgba(215,173,98,.12);border:1px solid rgba(215,173,98,.24)}
.hero-card,.client-card,.product-card,.service-card,.contact-card,.quote-card,.card,.metric-card{
  color:var(--ink);background:linear-gradient(145deg,#262c33 0%,#191e24 48%,#252a30 100%);
  border:1px solid rgba(192,202,213,.22);box-shadow:var(--shadow);
}
.hero-card{border-color:rgba(215,173,98,.36)}
.hero-card .avatar{background:linear-gradient(145deg,#f1d9a4,#9c7a42);color:#17191c}
.metric,.client-card,.product-card,.service-card{border-color:rgba(192,202,213,.18)}
.metric .m-label,.hero-card .role,.stat .lbl{color:#b8c1cb}
.bar{background:#343b43}.bar i{background:linear-gradient(90deg,#8e969f,#e8c889,#f5f6f7)}
section:not(.hero){background:transparent}
section:nth-of-type(even):not(.hero){background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(215,173,98,.025))}
section h2,section h3{color:#f0f2f5}
section p,section li,.section-head p{color:#b8c1cb}
.client-card{background:linear-gradient(145deg,#292f36,#171b20 70%,#242a30);border:1px solid rgba(215,173,98,.32)}
.client-card:before{border-color:rgba(255,255,255,.06)}
.client-logo-wrap img{background:#f7f8fa;padding:8px}
input,select,textarea{color:#eef1f4!important;background:#171b20!important;border:1px solid #515b66!important;border-radius:10px}
input::placeholder,textarea::placeholder{color:#8f9aa6!important}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(215,173,98,.55);border-color:#d7ad62!important}
footer{background:#090b0e!important;color:#aeb7c0;border-top:1px solid rgba(215,173,98,.28)}
footer a:hover{color:#e8c889}
hr{border-color:var(--line)}
.btn-ghost{border-color:rgba(220,226,233,.45);color:#f3f5f7}
.btn-ghost:hover{border-color:#e8c889;color:#e8c889}
/* Motion: subtle, polished, and responsive to reduced-motion settings */
@keyframes metallicShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes softPulse{from{transform:scale(.94);opacity:.62}to{transform:scale(1.08);opacity:1}}
@keyframes gentleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes sheenSweep{0%{transform:translateX(-140%) skewX(-18deg)}55%,100%{transform:translateX(160%) skewX(-18deg)}}
.hero-card{animation:gentleFloat 7s ease-in-out infinite}
.client-card,.product-card,.service-card{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}
.client-card:hover,.product-card:hover,.service-card:hover{transform:translateY(-5px);border-color:rgba(232,200,137,.7);box-shadow:0 18px 40px rgba(0,0,0,.34)}
.btn,.nav-cta{position:relative;overflow:hidden}
.btn::after,.nav-cta::after{content:"";position:absolute;inset:0 auto 0 0;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-140%) skewX(-18deg);animation:sheenSweep 6.5s ease-in-out infinite;pointer-events:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Performance and accessibility refinements */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
img { height: auto; }

/* JMES responsive polish: mobile, tablet and desktop */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-wrap: anywhere; }
.container { width: 100%; }
button, a, input, select, textarea { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #e8c889; outline-offset: 3px;
}
@media (max-width: 960px) {
  .container { padding-left: 22px; padding-right: 22px; }
  .nav { gap: 12px; }
  .logo-img { max-width: 220px; }
  .hero-grid { gap: 30px; }
  .contact-grid { gap: 28px; }
  .footer-grid { gap: 26px; }
}
@media (max-width: 680px) {
  .container { padding-left: 16px; padding-right: 16px; }
  header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .nav { height: 66px; gap: 8px; }
  .logo { padding: 4px 6px; max-width: calc(100% - 54px); }
  .logo-img { height: 36px; max-width: min(66vw, 190px); }
  .menu-toggle { display: block; flex: 0 0 42px; min-width: 42px; min-height: 42px; border: 1px solid rgba(215,173,98,.45); border-radius: 9px; }
  .menu-toggle span { background: #e8c889; margin-left: auto; margin-right: auto; }
  .nav-links { inset: 66px 0 auto 0; max-height: calc(100dvh - 66px); overflow-y: auto; padding: 18px 20px 22px; gap: 6px; }
  .nav-links a { display: block; width: 100%; padding: 12px 10px; font-size: 1rem; }
  .nav-links a.nav-cta { text-align: center; margin-top: 6px; }
  .hero { padding: 56px 0 48px; background-position: center; }
  .hero h1 { font-size: clamp(2rem, 8.5vw, 2.75rem); line-height: 1.08; overflow-wrap: normal; }
  .hero p.lead { font-size: 1rem; line-height: 1.65; margin-bottom: 24px; }
  .hero-actions { gap: 10px; }
  .hero-actions .btn { flex: 1 1 145px; justify-content: center; text-align: center; padding: 13px 14px; }
  .hero-stats { gap: 18px; margin-top: 28px; }
  .hero-stats > * { min-width: 90px; }
  .hero-card { width: 100%; padding: 20px; animation: none; }
  section { padding: 52px 0; }
  .section-head { margin-bottom: 26px; }
  .section-head h2, section h2 { font-size: clamp(1.55rem, 6vw, 2rem); line-height: 1.18; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-card { min-width: 0; }
  .product-card h3, .product h3 { font-size: .98rem; line-height: 1.25; }
  .product-card p, .product p { font-size: .86rem; }
  .p-img { height: clamp(115px, 34vw, 170px); }
  .services-grid, .svc-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-card, .svc-card { min-width: 0; }
  .s-img { height: 190px; }
  .about-grid, .hero-grid, .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .about-visual, .about-grid > *, .contact-grid > * { min-width: 0; }
  .cta-band { padding: 38px 18px; border-radius: 16px; }
  .cta-band h2 { font-size: clamp(1.5rem, 6vw, 1.9rem); }
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  form { padding: 20px 16px; }
  .field input, .field textarea, .field select { min-height: 46px; font-size: 16px; }
  .field textarea { min-height: 120px; }
  form button, .contact form .btn { width: 100%; min-height: 46px; }
  .clients-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .client-card { min-width: 0; min-height: 125px; padding: 10px; }
  .client-logo-wrap { height: 80px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; align-items: flex-start; font-size: .8rem; }
  .metal-cursor { display: none !important; }
  .btn::after, .nav-cta::after { animation: none; }
}
@media (max-width: 380px) {
  .container { padding-left: 12px; padding-right: 12px; }
  .logo-img { max-width: 62vw; height: 33px; }
  .products-grid { gap: 9px; }
  .product-card h3, .product h3 { font-size: .9rem; }
  .hero-actions .btn { flex-basis: 100%; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid > :first-child { grid-column: auto; }
}
