
  :root{
    --navy:#0b2545; --blue:#1565c0; --blue-d:#0d4a8f; --bg:#f5f7fa;
    --card:#fff; --line:#e3e9f0; --text:#33424f; --muted:#6b7a89;
    --accent:#c8963e; /* refined warm gold — pairs elegantly with navy */
  }
  *{box-sizing:border-box;margin:0;padding:0;font-style:normal !important;font-synthesis:none !important;}
  body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);line-height:1.7;overflow-x:hidden;text-rendering:optimizeLegibility;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
  section{padding:90px 0;}

  /* type */
  .eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:rgba(21,101,192,.07);padding:8px 18px;border-radius:40px;margin-bottom:16px;border:1px solid rgba(21,101,192,.1);}
  h2{font-size:38px;line-height:1.15;color:var(--navy);font-weight:700;letter-spacing:-.005em;margin-bottom:12px;}
  h3{font-size:21px;color:var(--navy);font-weight:700;margin-bottom:10px;font-style:normal;}
  h4{font-size:17px;color:var(--navy);font-weight:700;margin-bottom:6px;font-style:normal;}
  p{color:var(--muted);font-size:15.5px;line-height:1.75;font-style:normal;}
  a{color:var(--blue);text-decoration:none;font-weight:600;font-style:normal;}
  .lead{font-size:17.5px;color:var(--text);max-width:720px;line-height:1.68;margin-left:auto;margin-right:auto;}
  /* shared centered section intro */
  .sec-head{text-align:center;max-width:780px;margin:0 auto 48px;padding:0 20px;}
  .sec-head .lead{margin-top:12px;}
  .sub{display:block;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;}
  .enterprise-card .sub{text-align:left;}
  .equip-showcase h3,.tenets-intro h3{text-align:center;}

  /* buttons */
  .btn{display:inline-flex;align-items:center;gap:7px;padding:14px 30px;border-radius:40px;font-weight:700;font-size:14.5px;transition:.22s ease;cursor:pointer;border:none;text-decoration:none;}
  .btn-primary{background:var(--blue);color:#fff;box-shadow:0 4px 14px rgba(21,101,192,.28);}
  .btn-primary:hover{background:var(--blue-d);transform:translateY(-2px);box-shadow:0 7px 20px rgba(21,101,192,.38);}
  .btn-gold{background:linear-gradient(135deg,#d4a84a,#c08a2e);color:#fff;box-shadow:0 4px 14px rgba(200,150,62,.3);}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(200,150,62,.45);}
  .btn-outline{background:#fff;color:var(--blue);border:1.5px solid var(--blue);}
  .btn-outline:hover{background:rgba(21,101,192,.05);transform:translateY(-2px);}

  /* ===== HERO ===== */
  .hero{background:linear-gradient(175deg,#eef3f9 0%,#f0f4fa 45%,#f5f7fa 100%);padding:70px 0 85px;position:relative;overflow:hidden;}
  .hero::before{content:'';position:absolute;top:-120px;right:-80px;width:420px;height:420px;background:radial-gradient(circle,rgba(21,101,192,.06) 0%,transparent 70%);pointer-events:none;}
  .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1;}
  .hero-copy{}
  .hero h1{font-size:46px;line-height:1.12;color:var(--navy);font-weight:700;letter-spacing:-.015em;margin:8px 0 20px;}
  .hero .lead{margin-bottom:28px;}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px;}
  .trust{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--muted);font-weight:600;}
  .trust span{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.72);padding:6px 13px;border-radius:30px;border:1px solid var(--line);}
  .trust svg{flex:none;}
  .hero-media{position:relative;}
  .hero-media img{width:100%;border-radius:20px;box-shadow:0 24px 56px rgba(11,37,69,.16);display:block;}
  .hero-badge{position:absolute;left:-16px;bottom:24px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 14px 34px rgba(11,37,69,.32);z-index:2;max-width:200px;}
  .hero-badge b{display:block;font-size:32px;line-height:1;color:var(--accent);font-weight:800;}
  .hero-badge small{display:block;font-size:11.5px;letter-spacing:.03em;opacity:.92;margin-top:4px;font-weight:600;}
  .hero-badge .est{display:block;font-size:10.5px;letter-spacing:.02em;opacity:.65;margin-top:5px;font-style:normal;}

  /* ===== STAT BAND ===== */
  .statband{background:var(--navy);color:#fff;overflow:hidden;display:flex;align-items:center;min-height:160px;}
  .statband .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:56px 24px;}
  .stat{text-align:center;padding:28px 16px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;}
  .stat:not(:last-child)::after{content:'';position:absolute;right:0;top:22%;height:56%;width:1px;background:rgba(255,255,255,.13);}
  .stat b{display:block;font-size:44px;color:#fff;font-weight:900;line-height:1.1;margin-bottom:4px;}
  .stat span{font-size:14px;color:#c9d8ea;letter-spacing:.05em;display:block;line-height:1.4;}

  /* ===== WHY CHOOSE US ===== */
  .wcu-header{text-align:center;margin-bottom:48px;}

  /* Enterprise Overview — wide card */
  .enterprise-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 6px 28px rgba(11,37,69,.07);margin-bottom:48px;display:grid;grid-template-columns:1.1fr .9fr;gap:0;}
  .enterprise-card .ec-text{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;}
  .enterprise-card .ec-text h3{font-size:23px;margin-bottom:14px;}
  .enterprise-card .ec-text p{margin-bottom:10px;line-height:1.75;}
  .enterprise-card img{width:100%;height:100%;object-fit:cover;min-height:320px;}

  /* Production Equipment */
  .equip-showcase{margin-bottom:48px;}
  .equip-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px;}
  .equip-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.25s;box-shadow:0 4px 18px rgba(11,37,69,.05);}
  .equip-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(11,37,69,.13);}
  .equip-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
  .equip-card .ecap{padding:16px 18px;text-align:center;}
  .equip-card .ecap b{font-size:14.5px;color:var(--navy);font-weight:700;display:block;}
  .equip-card .ecap small{font-size:12px;color:var(--muted);}

  /* Business Tenets — feature cards */
  .tenets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;}
  .tenet-card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s;box-shadow:0 4px 18px rgba(11,37,69,.04);}
  .tenet-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(11,37,69,.11);}
  .tenet-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
  .tenet-card .tc-body{padding:24px 24px;}
  .tenet-card .tc-body h4{font-size:16.5px;margin-bottom:8px;}
  .tenet-card .tc-body p{font-size:14.2px;line-height:1.68;}

  /* ===== SERVICES ===== */
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
  .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:36px 28px;transition:.22s;box-shadow:0 5px 18px rgba(11,37,69,.03);position:relative;overflow:hidden;}
  .card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--accent));opacity:0;transition:.22s;}
  .card:hover::before{opacity:1;}
  .card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,37,69,.1);}
  .ic{width:56px;height:56px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0;}
  .ic svg{width:27px;height:27px;}

  /* ===== PROCESS — 3+2 LAYOUT ===== */
  .process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
  .process-row2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:760px;margin:28px auto 0;}
  .step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px 24px;position:relative;box-shadow:0 5px 18px rgba(11,37,69,.03);transition:.2s;}
  .step:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(11,37,69,.09);}
  .step .num{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#1976d2);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:14px;box-shadow:0 4px 16px rgba(21,101,192,.28);}
  .step h4{font-size:16px;}
  .days{display:inline-block;font-size:12px;font-weight:800;color:var(--blue);background:rgba(21,101,192,.08);padding:4px 12px;border-radius:30px;margin:6px 0 12px;}
  .bar{height:6px;background:#e8ecf3;border-radius:6px;overflow:hidden;margin:8px 0 14px;}
  .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--accent));border-radius:6px;transition:width .6s ease;}
  .step p{font-size:14px;line-height:1.68;}

  /* ===== CERTIFICATIONS — centered, explicit sizing ===== */
  .certs{background:linear-gradient(180deg,#fafbfd 0%,#eff4fa 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;}
  .certs .certs-head{text-align:center;margin-bottom:40px;}
  .certs .certs-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:22px;}
  .cert-item{text-align:center;transition:.25s;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 18px;box-shadow:0 4px 18px rgba(11,37,69,.04);width:195px;flex:0 0 auto;}
  .cert-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(11,37,69,.11);}
  .cert-item .cert-img{width:100%;height:190px;display:flex;align-items:center;justify-content:center;}
  .cert-item img{width:100%;height:190px;object-fit:contain;border-radius:8px;display:block;}
  .cert-item span{display:block;font-size:13px;color:var(--navy);margin-top:12px;font-weight:700;letter-spacing:.02em;}

  /* ===== PRODUCT CATEGORIES ===== */
  .prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
  .prod{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 8px 28px rgba(11,37,69,.09);transition:.28s;display:block;text-decoration:none;}
  .prod:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(11,37,69,.2);}
  .prod img{width:100%;height:100%;object-fit:cover;transition:.4s cubic-bezier(.2,.8,.2,1);}
  .prod:hover img{transform:scale(1.07);}
  .prod .ov{position:absolute;left:0;right:0;bottom:0;padding:22px 18px;color:#fff;background:linear-gradient(0deg,rgba(11,37,69,.95) 0%,rgba(11,37,69,.6) 65%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;}
  .prod .ov b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;}
  .prod .ov small{font-size:12.5px;opacity:.86;font-weight:500;}
  .prod-tag{position:absolute;top:16px;left:16px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px;}

  /* ===== FINISHES GALLERY — light elegant bg instead of heavy navy ===== */
  .finishes{background:linear-gradient(175deg,#eef3fa 0%,#e8eef6 50%,#f0f4fa 100%);color:var(--navy);overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .finishes .eyebrow{background:rgba(200,150,62,.1);color:var(--accent);border-color:rgba(200,150,62,.2);}
  .finishes h2{color:var(--navy);}
  .finishes p{color:var(--muted);}
  .finish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
  .finish-card{border-radius:18px;overflow:hidden;position:relative;aspect-ratio:3/4;box-shadow:0 8px 28px rgba(11,37,69,.1);transition:.25s;background:var(--card);border:1px solid var(--line);}
  .finish-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(11,37,69,.18);}
  .finish-card img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s;}
  .finish-card:hover img{transform:scale(1.05);}
  .finish-card .fcap{position:absolute;left:0;right:0;bottom:0;padding:18px 16px;background:linear-gradient(0deg,rgba(11,37,69,.92),transparent 70%);}
  .finish-card .fcap b{display:block;font-size:15.5px;font-weight:800;color:#fff;}
  .finish-card .fcap small{font-size:12px;color:#c9d6e8;}

  /* ===== STAY IN TOUCH ===== */
  .touch{background:linear-gradient(135deg,var(--navy) 0%,#143d6b 55%,#0d3060 100%);color:#fff;border-radius:22px;padding:60px 44px;text-align:center;position:relative;overflow:hidden;}
  .touch::before{content:'';position:absolute;top:-60px;right:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(200,150,62,.08) 0%,transparent 70%);pointer-events:none;}
  .touch::after{content:'';position:absolute;bottom:-80px;left:-40px;width:220px;height:220px;background:radial-gradient(circle,rgba(21,101,192,.1) 0%,transparent 70%);pointer-events:none;}
  .touch h2{color:#fff;position:relative;z-index:1;}
  .touch p{color:#bcd0e8;max-width:560px;margin:14px auto 30px;position:relative;z-index:1;line-height:1.7;}
  .subform{display:flex;gap:14px;max-width:500px;margin:0 auto;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;}
  .subform input{flex:1;min-width:230px;padding:15px 20px;border-radius:40px;border:none;font-size:15px;outline:none;background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);}
  .subform input::placeholder{color:rgba(255,255,255,.5);}
  .subform input:focus{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);}
  .subform .btn-gold{white-space:nowrap;}

  /* ===== FOOTER MINI ===== */
  .mini-foot{background:var(--navy);color:#a9c0db;font-size:13px;padding:26px 0;text-align:center;border-top:1px solid rgba(255,255,255,.06);}
  .mini-foot a{color:#8fb3d8;}

  @media(max-width:960px){
    .hero-grid,.enterprise-card,.cards3,.equip-row,.tenets-grid,.prod-grid,.finish-grid{grid-template-columns:1fr 1fr;}
    .process-grid{grid-template-columns:1fr 1fr;}
    .process-row2{grid-template-columns:1fr 1fr;max-width:100%;}
    .statband .wrap{grid-template-columns:repeat(2,1fr);gap:30px;padding:40px 24px;}
    .stat::after{display:none!important;}
    .hero h1{font-size:36px;}
    .enterprise-card{grid-template-columns:1fr;}
    .enterprise-card img{min-height:240px;}
    section{padding:68px 0;}
    .certs .wrap{grid-template-columns:repeat(3,1fr);}
    .cert-item{width:160px;padding:16px 12px;}
    .cert-item .cert-img,.cert-item img{height:140px;}
  }
  @media(max-width:580px){
    .hero-grid,.enterprise-card,.cards3,.equip-row,.tenets-grid,.prod-grid,.finish-grid,.process-grid,.process-row2{grid-template-columns:1fr;}
    h2{font-size:28px;}
    .touch{padding:40px 24px;}
    .certs .wrap{gap:14px;}
    .cert-item{width:150px;padding:14px 10px;}
    .cert-item .cert-img,.cert-item img{height:130px;}
    section{padding:52px 0;}
  }

/* ===== homepage overrides (beat Astra + full-bleed) ===== */
.home .entry-content,
.home .ast-article-single{ max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.home .ast-row{ display:block !important; }
.home .content-area{ width:100% !important; }
.home .entry-title,
.home .ast-single-post .entry-header,
.home .entry-header{ display:none !important; }
.home .sidebar-main,
.home .ast-sidebar,
.home #secondary,
.home .ast-sidebar-primary{ display:none !important; }
.home h1,.home h2,.home h3,.home h4,.home p,.home a{ font-family:inherit; }
.home h2{ font-size:38px !important; line-height:1.15 !important; color:var(--navy) !important; font-weight:700 !important; letter-spacing:-.005em !important; margin-bottom:12px !important; }
.home h3{ font-size:21px !important; color:var(--navy) !important; font-weight:700 !important; margin-bottom:10px !important; }
.home h4{ font-size:17px !important; color:var(--navy) !important; font-weight:700 !important; margin-bottom:6px !important; }
.home p{ color:var(--muted) !important; font-size:15.5px !important; line-height:1.75 !important; }
.home .hero h1{ font-size:46px !important; line-height:1.12 !important; color:var(--navy) !important; font-weight:700 !important; letter-spacing:-.015em !important; }
.home section{ padding:90px 0; }
.home .wrap{ max-width:1140px; margin:0 auto; padding:0 24px; }




/* Newsletter eyebrow white on dark */
.touch .eyebrow{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;}

/* Product grid guard */
.prod-grid a.prod{display:block;text-decoration:none;}
.prod-grid p{margin:0;padding:0;}


/* ===== WPAUTOP DEFENSE & HEADER FIXES ===== */



/* Touch/Newsletter section: dark bg */
.touch-section{background:linear-gradient(135deg,#0b2545 0%,#143d6b 55%,#0d3060 100%)!important;padding:80px 0!important;}
.touch-section .touch{background:transparent!important;padding:0!important;border-radius:0;}
.touch-section .eyebrow{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;}
.touch-section h2{color:#fff!important;}
.touch-section p{color:#bcd0e8!important;max-width:560px;margin:14px auto 30px!important;}
.touch-section .subform{display:flex;gap:14px;max-width:500px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.touch-section .subform input{flex:1;min-width:230px;padding:15px 20px;border-radius:40px;border:none;font-size:15px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);outline:none;cursor:pointer;}
.touch-section .subform input::placeholder{color:rgba(255,255,255,.5);}
.touch-section .subform input:focus{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);}
/* Mock email input (kses-safe — uses <a> instead of <input>) */
.email-mock{flex:1;min-width:230px;padding:15px 20px;border-radius:40px;font-size:15px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.18);text-decoration:none;display:inline-block;transition:.2s;}
.email-mock:hover{background:rgba(255,255,255,.2);color:#fff;}
.touch-section .subform .btn-gold{white-space:nowrap;}

/* Product grid: neutralize wpautop damage */
.prod-grid p{margin:0!important;padding:0!important;display:contents!important;}
.prod-grid br{display:none!important;}
.prod-grid a.prod{display:block!important;text-decoration:none!important;overflow:hidden!important;}

/* Product grid: aggressive wpautop neutralization */
.prod-grid{display:grid !important;grid-template-columns:repeat(4,1fr)!important;gap:20px !important;}
.prod-grid > *{margin:0 !important;padding:0 !important;}
.prod-grid > p,.prod-grid > br{display:none !important;}
.prod-grid > a.prod{display:block !important;text-decoration:none !important;overflow:hidden !important;position:relative !important;border-radius:18px !important;box-shadow:0 8px 28px rgba(11,37,69,.09) !important;aspect-ratio:4/5 !important;transition:.28s !important;}
.prod-grid > a.prod:hover{transform:translateY(-6px)!important;box-shadow:0 22px 50px rgba(11,37,69,.2)!important;}
.prod-grid > a.prod img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.prod-grid > a.prod .ov{position:absolute;left:0;right:0;bottom:0;padding:22px 18px;color:#fff;background:linear-gradient(0deg,rgba(11,37,69,.95) 0%,rgba(11,37,69,.6) 65%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;}
.prod-grid > a.prod .ov b{display:block;font-size:17px;font-weight:800;letter-spacing:-.01em;}
.prod-grid > a.prod .ov small{font-size:12.5px;opacity:.86;font-weight:500;}
.prod-grid > a.prod .prod-tag{position:absolute;top:16px;left:16px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:20px;z-index:2;}

/* Service icons via CSS background-image (kses-safe) */
.ic-design{background-image:url("data:image/svg+xml utf8,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.586 7.586"/><circle cx="11" cy="11" r="2"/></svg>");background-size:27px;background-repeat:no-repeat;background-position:center;}
.ic-tracking{background-image:url("data:image/svg+xml utf8,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>");background-size:27px;background-repeat:no-repeat;background-position:center;}
.ic-inspection{background-image:url("data:image/svg+xml utf8,<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></svg>");background-size:27px;background-repeat:no-repeat;background-position:center;}

/* Force center all sub-section headings */
.equip-showcase > h3, .tenets-intro > h3{text-align:center !important;}
.equip-showcase > p, .tenets-intro > p{text-align:center !important;margin-left:auto !important;margin-right:auto !important;}

/* Product cards: ensure images show */
.prod-grid .prod img{opacity:1 !important;visibility:visible !important;display:block !important;width:100% !important;height:auto !important;object-fit:cover !important;}
.prod-grid .prod{position:relative !important;overflow:hidden !important;display:block !important;}

/* Finish cards: same */
.finish-card img{opacity:1 !important;visibility:visible !important;}

.ic img{display:block;width:27px;height:27px;vertical-align:middle;}

/* Sub-section headings must be centered */
.equip-showcase > h3,
.tenets-intro > h3 { text-align:center !important; }
.equip-showcase > p[class],
.tenets-intro > p[class] { text-align:center !important; max-width:820px !important; margin-left:auto !important; margin-right:auto !important; }

/* Product grid — clean (wpautop now disabled for this page) */
.prod-grid { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:20px !important; }
.prod-grid .prod { display:block !important; position:relative !important; overflow:hidden !important;
  border-radius:18px !important; box-shadow:0 8px 28px rgba(11,37,69,.09) !important;
  aspect-ratio:4/5 !important; transition:.28s !important; text-decoration:none !important; }
.prod-grid .prod:hover { transform:translateY(-6px) !important; box-shadow:0 22px 50px rgba(11,37,69,.2) !important; }
.prod-grid .prod img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important;
  opacity:1 !important; visibility:visible !important; }
.prod-grid .prod .ov { position:absolute !important; left:0 !important; right:0 !important; bottom:0 !important;
  padding:20px 18px !important; color:#fff !important;
  background:linear-gradient(0deg,rgba(11,37,69,.94) 0%,rgba(11,37,69,.58) 70%,transparent 100%) !important; }
.prod-grid .prod .ov b { display:block !important; font-size:17px !important; font-weight:800 !important; letter-spacing:-.01em !important; }
.prod-grid .prod .ov small { font-size:12.5px !important; opacity:.86 !important; font-weight:500 !important; }
.prod-grid .prod .prod-tag { position:absolute !important; top:16px !important; left:16px !important;
  background:var(--accent) !important; color:#fff !important; font-size:10.5px !important; font-weight:800 !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; padding:5px 12px !important; border-radius:20px !important; z-index:2 !important; }

/* Finish cards */
.finish-card img { opacity:1 !important; visibility:visible !important; width:100% !important; height:100% !important; object-fit:cover !important; }



/* Finishes gallery: ensure everything centered with good contrast */
.finishes{text-align:center !important;}
.finishes > .wrap > *{text-align:center !important;}
.finishes h2{text-align:center !important;color:var(--navy) !important;}
.finishes p{text-align:center !important;color:var(--text) !important;max-width:720px;margin-left:auto !important;margin-right:auto !important;}
.finishes .sec-head{text-align:center !important;}
/* Fix finishes eyebrow visibility on light bg */
.finishes .eyebrow{color:var(--accent) !important;background:rgba(200,150,62,.1) !important;border-color:rgba(200,150,62,.2) !important;}

/* Footer: lighter links on dark background */
.home .site-footer a{color:#ffffff !important;text-decoration:none !important;}
.home .site-footer a:hover{color:#e6f0fa !important;}
/* Hide admin bar notice on frontend if visible */
.home .tnp-footer, home .tnp-admin{display:none !important;}

/* Hide Newsletter plugin form on homepage (we have our own touch-section) */
.home .touch-section ~ .tnp-subscribe,
.home .touch-section ~ form[action*="admin-ajax.php"],
.home .tnp-subscribe,
.home #newsletter-subscribe,
.home div[id^="newsletter"] { display:none !important; }
/* Hide WordPress "Visible only to administrators" notice on homepage */
.home .wp-admin-notice,
.home [class*="admin-only"],
.home #wpadminbar { display:none !important; }

/* Footer: all links white on dark bg */
.home .site-footer a,
.home .site-footer .__cf_email__,
.home .ast-footer-social-1-wrap a,
.home footer a,
.home .site-footer-primary-section-3 a,
.home .widget_text a{color:#ffffff !important;text-decoration:none !important;}
.home .site-footer a:hover,
.home footer a:hover,
.home .site-footer .__cf_email__:hover{color:#e6f0fa !important;}

/* Hide any ghost/residual elements near touch-section on homepage */
.home .touch-section + div,
.home .touch-section ~ .djb-foot-sub,
.home .touch-section ~ form,
.home .touch-section ~ .tnp-subscribe,
.home section.touch-section + * + *,
.home #newsletter-subscribe,
.home div[id^="tnp"],
.home .tnp-footer{display:none !important;}
/* Ensure touch-section itself has no overflow ghosts */
.home .touch-section{overflow:hidden;position:relative;z-index:1;}
.home .touch-section .subform{max-width:100%;flex:none;display:flex;gap:14px;justify-content:center;align-items:center;}
.home .touch-section .email-mock{min-width:280px;text-align:center;}

/* Product categorization: force center alignment */
.prod-grid{text-align:center !important;}
.prod-grid > a{text-align:left !important;}


/* ===== FOOTER EMAIL: FORCE WHITE (v15) ===== */
.home footer a,
.home .site-footer a,
.home .ast-footer-copyright a,
.home .ast-footer-social-1-wrap a,
.home .widget_text a,
.home footer .__cf_email__,
.home .site-footer .__cf_email__,
.home footer a[href*="cdn-cgi"],
.home .site-footer a[href*="email-protection"],
.home #ast-footer-copyright a,
.home .ast-small-footer a{
  color:#ffffff !important;
  text-decoration:none !important;
}
.home footer a:hover,
.home .site-footer a:hover,
.home .site-footer .__cf_email__:hover,
.home footer .__cf_email__:hover,
.home .ast-small-footer a:hover{
  color:#d0e8ff !important;
}
.home footer span[style*="color"],
.home .site-footer span[style*="color"]{
  color:#ffffff !important;
}


/* ===== FOOTER EMAIL WHITE v16 - CORRECT SELECTOR ===== */
/* The email ryan@djbprint.com is inside <h2 class="widget-title"> 
   inside .widget_text widget in footer-widget-area */
.home footer h2,
.home .site-footer h2,
.home .widget-title,
.home footer .widget-title,
.home .site-footer .widget-title,
.home .footer-widget-area h2,
.home .footer-widget-area .widget-title,
.home .widget_text h2,
.home .widget_text .widget-title{
  color:#ffffff !important;
}

/* FOOTER EMAIL SIZE SHRINK (v17) - ryan@djbprint.com H2 too big */
.home .widget-title,
.home footer .widget-title,
.home .site-footer .widget-title,
.home .footer-widget-area .widget-title,
.home .widget_text .widget-title{
  font-size:18px !important;
  line-height:1.45 !important;
  font-weight:600 !important;
}

/* ===== v17 FIXES (2026-08-17) ===== */

/* FIX 1: Newsletter email input too long — cap at ~320px */
.home .touch-section .subform{
  max-width:420px !important;
}
.home .touch-section .subform input,
.home .touch-section .email-mock{
  flex:0 1 300px !important;
  min-width:200px !important;
}

/* FIX 2: Product Categorization cards centered */
.home .prod-grid{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:960px !important;
}
/* Also ensure the product section heading is centered */
.home .prod-section,
.home [class*="categoriz"]:not(.prod-grid){
  text-align:center !important;
}
.home .prod-section h2,
.home .prod-section p{
  text-align:center !important;
}

/* FIX 3: Stats columns evenly centered */
.home .statband .wrap{
  justify-items:center !important;
}
.home .stat{
  padding-left:20px !important;
  padding-right:20px !important;
  gap:8px !important;
}
.home .stat b{
  font-size:40px !important;
  line-height:1 !important;
}

/* ===== v17 FIXES ROUND 2 (2026-08-17) ===== */

/* FIX 1: Newsletter — force same row, no wrap */
.home .touch-section .subform{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px !important;
  max-width:480px !important;
  justify-content:center !important;
}
.home .touch-section .subform input,
.home .touch-section .email-mock{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:320px !important;
}

/* FIX 2: Product Categorization — aggressive centering */
/* The structure is: <section><div class=wrap><h2>...</h2><div class=prod-grid>... */
.home section:has(.prod-grid),
.home [class*="prod"]:has(.prod-grid){
  text-align:center !important;
}
.home .prod-grid{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:920px !important;
  width:auto !important;
  /* Ensure grid itself doesn't stretch full width of parent .wrap */
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:18px !important;
}
/* Also target the parent .wrap inside product section to center its children */
.home section .wrap:has(.prod-grid){
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.home section .wrap:has(.prod-grid) h2,
.home section .wrap:has(.prod-grid) p{
  text-align:center !important;
}

/* FIX 3: Stats — force exact equal columns, tight alignment */
.home .statband{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.home .statband .wrap{
  display:flex !important;       /* override grid */
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:0 !important;
  padding:48px 30px !important;
  width:100% !important;
  max-width:1200px !important;
  margin:0 auto !important;
}
.home .stat{
  flex:1 1 0% !important;        /* equal width columns */
  text-align:center !important;
  padding:0 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  position:relative !important;
}
.home .stat b{
  font-size:38px !important;
  line-height:1 !important;
  margin-bottom:2px !important;
}
.home .stat span{
  font-size:13px !important;
  line-height:1.35 !important;
}
/* Hide old grid ::after separator in flex mode */
.home .stat::after{display:none !important;}

/* ============================================================
   MOBILE RESPONSIVE FIXES — 2026-08-20
   Scoped to max-width:768px only. Does NOT touch PC layout.
   ============================================================ */
@media (max-width:768px){

  /* 1) FOOTER: was stretched very tall on mobile.
         Tighten vertical padding and kill any min-height stretch. */
  .home .site-footer{ padding:0 !important; }
  .home .site-primary-footer-wrap,
  .home .ast-builder-grid-row-container.site-primary-footer-wrap{
    padding-top:26px !important;
    padding-bottom:26px !important;
    min-height:auto !important;
  }
  .home .ast-builder-footer-grid-columns.site-primary-footer-inner-wrap{
    padding:0 !important;
    min-height:auto !important;
    align-items:flex-start !important;
  }
  .home .site-footer-section,
  .home .footer-widget-area{
    padding:12px 0 !important;
    min-height:auto !important;
  }
  .home .mini-foot{ padding:18px 0 !important; }

  /* 2) PRODUCT GRID: was forced to 4 columns everywhere (text got cut on
         phones). Drop to 2 clean columns on mobile. */
  .home .prod-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:12px !important;
    max-width:100% !important;
  }
  .home .prod-grid > a.prod,
  .home .prod-grid .prod{
    aspect-ratio:3/4 !important;
  }
  .home .prod-grid .ov{ padding:14px 12px !important; }
  .home .prod-grid .ov b{ font-size:14px !important; }
  .home .prod-grid .ov small{ font-size:11px !important; line-height:1.3 !important; }
  .home .prod-grid .prod-tag{ top:10px !important; left:10px !important; padding:4px 9px !important; font-size:9px !important; }

  /* 3) STAT BAND: was forced to a single flex row (4 cramped, ugly).
         Use a tidy 2x2 grid on mobile. */
  .home .statband .wrap{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:22px 0 !important;
    padding:32px 14px !important;
  }
  .home .stat{
    flex:none !important;
    padding:4px 8px !important;
    gap:4px !important;
  }
  .home .stat b{ font-size:30px !important; line-height:1 !important; margin-bottom:2px !important; }
  .home .stat span{ font-size:12px !important; line-height:1.3 !important; }

  /* 4) HEADINGS a touch smaller so they don't hug edges */
  .home h2{ font-size:26px !important; }
  .home .sec-head{ margin-bottom:32px !important; }
  .home section{ padding:48px 0 !important; }
}

/* Hide decorative radial-gradient blobs in touch-section on homepage */
.home .touch-section .touch::before,
.home .touch-section .touch::after{display:none !important;}

/* ============================================================
   FOOTER HEIGHT — make the footer narrow (PC + mobile)
   The footer currently has too much vertical padding; shrink it.
   ============================================================ */
.home .site-footer{ padding:0 !important; margin:0 !important; }

/* Primary footer (social / logo / email) */
.home .site-primary-footer-wrap,
.home .ast-builder-grid-row-container.site-primary-footer-wrap{
  padding-top:10px !important;
  padding-bottom:10px !important;
  min-height:auto !important;
}
.home .ast-builder-footer-grid-columns.site-primary-footer-inner-wrap{
  padding:0 !important;
  min-height:auto !important;
  align-items:center !important;
}
.home .site-footer-section,
.home .footer-widget-area{
  padding:0 !important;
  min-height:auto !important;
}
.home .footer-widget-area .widget{
  margin:0 !important;
  padding:0 !important;
}
.home .site-footer h2.widget-title,
.home .site-footer .widget-title{
  margin:0 0 2px !important;
  font-size:17px !important;
  line-height:1.4 !important;
}
.home .site-footer p,
.home .site-footer .widget_text p{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.home .site-footer .ast-footer-social-1-wrap{
  margin:0 !important;
  padding:0 !important;
}
.home .site-footer .ast-footer-social-1-wrap li{
  margin:0 4px !important;
}

/* Below footer (copyright / Get a Free Quote / buttons) */
.home .site-below-footer-wrap,
.home .ast-builder-grid-row-container.site-below-footer-wrap{
  padding-top:8px !important;
  padding-bottom:8px !important;
  min-height:auto !important;
}
.home .site-below-footer-inner-wrap{
  padding:0 !important;
  min-height:auto !important;
}

.home .mini-foot{ padding:14px 0 !important; }

/* Mobile: even tighter */
@media (max-width:768px){
  .home .site-primary-footer-wrap,
  .home .ast-builder-grid-row-container.site-primary-footer-wrap{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .home .site-below-footer-wrap,
  .home .ast-builder-grid-row-container.site-below-footer-wrap{
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
  .home .site-footer h2.widget-title,
  .home .site-footer .widget-title{
    font-size:16px !important;
  }
}
