/* ═══════════════════════════════════════════
   MATSON FOUNDRY — Global Styles
   Industrial Blue #1A497F + Forge Orange #D4691E
   ═══════════════════════════════════════════ */

:root {
    --primary: #1A497F; --primary-dark: #0F3360; --primary-deeper: #0B2545;
    --primary-light: #E8F1FA; --primary-lighter: #F0F6FC;
    --secondary: #D4691E; --secondary-light: #E8832E; --secondary-dark: #B85A18;
    --secondary-glow: rgba(212,105,30,.12);
    --accent-green: #2A8B52; --accent-green-light: rgba(42,139,82,.08);
    --gray-deep: #1E2A3A; --gray-dark: #141E2A; --gray-mid: #64748B;
    --gray-light: #9CA3AF; --gray-border: #E2E8F0;
    --white: #fff; --bg: #F8FAFB; --bg-warm: #F5F7FA;
    --text: #334155; --text-light: #64748B;
    --radius: 16px; --radius-sm: 10px;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth }
body {
    font-family:'Inter',sans-serif; background:var(--bg); color:var(--text);
    line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5 { font-family:'Space Grotesk',sans-serif; color:var(--gray-deep); line-height:1.2 }
a { text-decoration:none; color:inherit; transition:.25s }
img { max-width:100%; display:block; height:auto }
ul { list-style:none }
.container { max-width:1200px; margin:0 auto; padding:0 28px }

/* ───── HEADER ───── */
header {
    position:fixed; top:0; left:0; right:0; z-index:999;
    background:var(--primary); box-shadow:0 2px 20px rgba(15,51,96,.3);
}
.nav { display:flex; align-items:center; justify-content:space-between; padding:.9rem 0 }
.nav-logo { font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:700; color:var(--white); letter-spacing:-1px }
.nav-logo em { font-style:normal; color:var(--secondary-light); font-weight:400 }
.nav-links { display:flex; align-items:center; gap:.3rem; list-style:none }
.nav-links a, .nav-links button {
    color:rgba(255,255,255,.85); font-size:.88rem; font-weight:500; padding:.5rem .85rem;
    border-radius:8px; transition:all .25s; background:none; border:none; cursor:pointer;
    font-family:'Inter',sans-serif;
}
.nav-links a:hover, .nav-links button:hover { color:var(--white); background:rgba(255,255,255,.12) }
.nav-cta {
    background:var(--secondary)!important; color:var(--white)!important;
    font-weight:600!important; border-radius:8px!important; padding:.5rem 1.2rem!important;
    box-shadow:0 2px 10px rgba(212,105,30,.3)!important;
}
.nav-cta:hover { background:var(--secondary-light)!important; transform:translateY(-1px); box-shadow:0 4px 16px rgba(212,105,30,.4)!important }
.dd { position:relative }
.dd-menu {
    display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%);
    /* top:100% avoids a hover “dead zone”; extra padding-top replaces the old 8px visual gap */
    padding:.5rem; padding-top:calc(8px + .5rem);
    background:var(--white); border:1px solid var(--gray-border); border-radius:12px;
    min-width:220px; box-shadow:0 20px 50px rgba(0,0,0,.12);
}
.dd-menu a { display:block; padding:.6rem 1rem; border-radius:8px; font-size:.85rem; color:var(--text)!important; transition:.2s }
.dd-menu a:hover { background:var(--primary-light); color:var(--primary)!important; padding-left:1.3rem }
.dd:hover .dd-menu { display:block }
.dd button::after { content:' \25BE'; font-size:.7em; opacity:.6 }
.menu-btn { display:none; background:none; border:none; color:var(--white); font-size:1.5rem; cursor:pointer }
.close-btn { display:none }

/* ───── BREADCRUMB (subpages) ───── */
.breadcrumb { background:var(--bg); padding:.75rem 0; font-size:.85rem; color:var(--text-light); margin-top:0; border-bottom:1px solid var(--gray-border) }
.breadcrumb a { color:var(--primary); text-decoration:none; font-weight:500 }
.breadcrumb a:hover { color:var(--secondary); text-decoration:underline }
.breadcrumb span { color:var(--text); font-weight:500 }

/* ───── HERO (homepage) ───── */
.hero {
    min-height:100vh; display:flex; align-items:center; padding-top:80px;
    position:relative; overflow:hidden;
    background:url('../images/hero-casting.jpeg') center center / cover no-repeat;
}
.hero::before {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(11,37,69,.68) 0%,rgba(15,51,96,.55) 40%,rgba(26,73,127,.42) 100%); z-index:0;
}
.hero::after {
    content:''; position:absolute; bottom:-2px; left:0; right:0; height:140px;
    background:linear-gradient(to top,var(--bg),transparent); pointer-events:none; z-index:1;
}
.hero-grid { display:grid; grid-template-columns:1fr; place-items:center; position:relative; z-index:2; text-align:center }
.hero-content { position:relative; z-index:3; max-width:950px; margin:0 auto }
.hero-tag {
    display:inline-flex; align-items:center; gap:.5rem;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
    padding:.4rem 1rem; border-radius:40px; font-size:.78rem; font-weight:600;
    color:rgba(255,255,255,.9); margin-bottom:1.5rem; letter-spacing:.5px; backdrop-filter:blur(8px);
}
.hero-tag i { font-size:.5rem; color:var(--accent-green); animation:tagPulse 2s ease-in-out infinite }
@keyframes tagPulse { 0%,100%{opacity:.5} 50%{opacity:1} }
.hero h1 { font-size:3.6rem; font-weight:700; letter-spacing:-1.5px; margin-bottom:1.5rem; color:var(--white) }
.hero h1 span { color:var(--secondary-light) }
.hero-desc { font-size:1.1rem; color:rgba(255,255,255,.7); max-width:500px; margin-bottom:2.5rem; line-height:1.8 }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem }
.hero-metrics { display:flex; gap:3rem }
.metric { border-left:2px solid var(--secondary); padding-left:1rem }
.metric h4 { font-size:1.8rem; font-weight:700; color:var(--white) }
.metric p { font-size:.78rem; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:1px; margin-top:2px }
.hero-visual { display:none }

/* ───── HERO INNER (subpages) ───── */
.hero-inner {
    background:linear-gradient(160deg,var(--primary),var(--primary-dark),var(--primary-deeper));
    padding:7rem 0 4rem; text-align:center; position:relative; overflow:hidden;
}
.hero-inner::before {
    content:''; position:absolute; inset:0; opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.hero-inner h1 { color:var(--white); font-size:2.8rem; margin-bottom:.8rem; position:relative }
.hero-inner p { color:rgba(255,255,255,.65); font-size:1.1rem; max-width:600px; margin:0 auto; position:relative }

/* ───── BUTTONS ───── */
.btn {
    display:inline-flex; align-items:center; gap:.5rem; padding:.85rem 2rem;
    border-radius:10px; font-weight:600; font-size:.92rem;
    transition:all .3s cubic-bezier(.4,0,.2,1); border:none; cursor:pointer;
    font-family:'Inter',sans-serif; position:relative; overflow:hidden;
}
.btn-gold {
    background:var(--secondary); color:var(--white); box-shadow:0 4px 16px rgba(212,105,30,.25);
}
.btn-gold::before {
    content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent); transition:left .5s ease;
}
.btn-gold:hover::before { left:100% }
.btn-gold:hover { background:var(--secondary-light); transform:translateY(-3px); box-shadow:0 8px 28px rgba(212,105,30,.35) }
.btn-ghost { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.3) }
.btn-ghost:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); transform:translateY(-2px) }
.btn-outline-light {
    border:1.5px solid rgba(255,255,255,.3); color:var(--white); background:none;
    padding:.75rem 1.6rem; border-radius:10px; font-weight:600; font-size:.88rem;
    transition:all .3s; display:inline-flex; align-items:center; gap:.5rem;
}
.btn-outline-light:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); transform:translateY(-2px) }

/* ───── SECTIONS ───── */
.section { padding:6rem 0; position:relative }
.section--light { background:var(--white) }
.section--light h2, .section--light h3, .section--light h4 { color:var(--gray-deep) }
.section--dark2 { background:var(--bg-warm) }
.section-header { text-align:center; max-width:680px; margin:0 auto 4rem }
.section-tag {
    display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:2.5px;
    text-transform:uppercase; color:var(--primary); margin-bottom:.8rem;
    background:var(--primary-light); padding:.35rem 1rem; border-radius:30px;
}
.section-title { font-size:2.4rem; font-weight:700; margin-bottom:1rem; letter-spacing:-.5px; color:var(--gray-deep) }
.section-title::after {
    content:''; display:block; width:50px; height:3px; margin:.8rem auto 0;
    background:linear-gradient(to right,var(--secondary),var(--secondary-light)); border-radius:2px;
}
.feat-grid .section-title::after { margin:.8rem 0 0 0 }
.section-desc { color:var(--text-light); font-size:1rem; line-height:1.7 }

/* ───── CONTENT SECTIONS (subpages) ───── */
.content-section { padding:5rem 0 }
.content-section:nth-child(even) { background:var(--bg-warm) }
.content-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }
.content-grid.reverse { direction:rtl }
.content-grid.reverse > * { direction:ltr }
.content-img {
    border-radius:16px; overflow:hidden; height:380px; position:relative;
    background:linear-gradient(135deg,var(--primary-light),var(--primary-lighter));
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 16px 40px rgba(0,0,0,.08);
}
.content-img img { width:100%; height:100%; object-fit:cover }
.content-img i { font-size:4rem; color:var(--primary); opacity:.2 }
.content-text h2 { font-size:2rem; margin-bottom:1rem; color:var(--gray-deep) }
.content-text h2::after {
    content:''; display:block; width:40px; height:3px; margin-top:.6rem;
    background:linear-gradient(to right,var(--secondary),var(--secondary-light)); border-radius:2px;
}
.content-text p { color:var(--text-light); line-height:1.8; margin-bottom:1rem }
.content-text ul { margin:1rem 0 }
.content-text li { padding:.5rem 0 .5rem 1.8rem; position:relative; color:var(--text); font-size:.92rem; border-bottom:1px solid var(--gray-border); list-style:none }
.content-text li::before {
    content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
    width:8px; height:8px; border-radius:50%; background:var(--secondary);
}

/* ───── PRODUCT CARDS ───── */
.products-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem }
.p-card {
    background:var(--white); border:1px solid var(--gray-border);
    border-radius:var(--radius); overflow:hidden; transition:all .35s cubic-bezier(.4,0,.2,1);
    position:relative; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.p-card:hover {
    transform:translateY(-8px); border-color:var(--secondary);
    box-shadow:0 20px 50px rgba(0,0,0,.1),0 0 0 1px rgba(212,105,30,.1);
}
.p-card-img { height:200px; position:relative; overflow:hidden }
.p-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.4,0,.2,1) }
.p-card:hover .p-card-img img { transform:scale(1.06) }
.p-card-img::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:50%;
    background:linear-gradient(to top,rgba(255,255,255,.95),transparent); pointer-events:none;
}
.p-card-body { padding:1.5rem }
.p-card-body h3 { font-size:1.1rem; margin-bottom:.5rem; transition:.25s }
.p-card:hover .p-card-body h3 { color:var(--primary) }
.p-card-body p { font-size:.85rem; color:var(--text-light); margin-bottom:1rem; line-height:1.6 }
.p-card-link { color:var(--secondary); font-weight:600; font-size:.85rem; display:inline-flex; align-items:center; gap:.4rem; transition:.25s }
.p-card-link i { transition:.3s }
.p-card:hover .p-card-link i { transform:translateX(6px) }

/* ───── CARD GRID (subpage overview) ───── */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.5rem }
.card {
    background:var(--white); border:1px solid var(--gray-border); border-radius:var(--radius);
    overflow:hidden; transition:all .35s cubic-bezier(.4,0,.2,1);
    box-shadow:0 2px 8px rgba(0,0,0,.04); display:block;
}
.card:hover { transform:translateY(-6px); border-color:var(--secondary); box-shadow:0 16px 40px rgba(0,0,0,.1) }
.card-img {
    height:200px; background:linear-gradient(135deg,var(--primary-light),var(--primary-lighter));
    display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.card-img img { width:100%; height:100%; object-fit:cover }
.card-img i { font-size:2.5rem; color:var(--primary); opacity:.25 }
.card-body { padding:1.5rem }
.card-body h3 { font-size:1.1rem; margin-bottom:.5rem; color:var(--gray-deep) }
.card-body p { font-size:.85rem; color:var(--text-light); line-height:1.6; margin-bottom:1rem }
.card-link { color:var(--secondary); font-weight:600; font-size:.85rem; display:inline-flex; align-items:center; gap:.4rem; transition:.25s }
.card-link i { transition:.3s }
.card:hover .card-link i { transform:translateX(4px) }

/* ───── PROCESS STEPS ───── */
.process-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative }
.process-grid::before {
    content:''; position:absolute; top:36px; left:10%; right:10%; height:2px;
    background:linear-gradient(to right,transparent,var(--primary),var(--secondary),var(--primary),transparent); opacity:.2;
}
.step { text-align:center; padding:0 1rem; position:relative }
.step-num {
    width:72px; height:72px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    margin:0 auto 1.2rem; background:var(--white); border:2px solid var(--gray-border);
    font-family:'Space Grotesk'; font-size:1.1rem; font-weight:700; color:var(--primary);
    position:relative; z-index:2; transition:all .35s cubic-bezier(.4,0,.2,1);
    box-shadow:0 4px 12px rgba(0,0,0,.06);
}
.step:hover .step-num {
    border-color:var(--secondary); background:var(--secondary); color:var(--white);
    box-shadow:0 8px 24px rgba(212,105,30,.2); transform:scale(1.08);
}
.step h4 { font-size:.95rem; margin-bottom:.4rem; transition:.25s }
.step:hover h4 { color:var(--primary) }
.step p { font-size:.78rem; color:var(--text-light); line-height:1.5 }

/* ───── ENGINEERING FEATURE ───── */
.feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }
.feat-grid--reverse { direction:rtl }
.feat-grid--reverse > * { direction:ltr }
.feat-img {
    border-radius:20px; overflow:hidden; height:420px; position:relative;
    box-shadow:0 24px 60px rgba(26,73,127,.2);
}
.feat-img img { width:100%; height:100%; object-fit:cover; display:block }
.feat-list { list-style:none; margin-top:1.5rem }
.feat-list li {
    padding:.7rem 0; padding-left:2rem; position:relative; font-size:.92rem;
    border-bottom:1px solid var(--gray-border); color:var(--text);
}
.feat-list li::before {
    content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
    width:8px; height:8px; border-radius:50%; background:var(--secondary);
    box-shadow:0 0 6px rgba(212,105,30,.3);
}

/* ───── MATERIALS ───── */
.mat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem }
.mat-card {
    background:var(--white); border-radius:var(--radius); overflow:hidden;
    border:1px solid var(--gray-border); transition:all .35s cubic-bezier(.4,0,.2,1);
    position:relative; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.mat-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px; z-index:2;
    background:linear-gradient(to right,var(--primary),var(--secondary)); opacity:0; transition:.35s;
}
.mat-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.08); border-color:var(--secondary) }
.mat-card:hover::before { opacity:1 }
.mat-img { height:180px; overflow:hidden; position:relative }
.mat-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.4,0,.2,1) }
.mat-card:hover .mat-img img { transform:scale(1.06) }
.mat-card-body { padding:1.5rem 2rem }
.mat-card h3 { font-size:1.2rem; margin-bottom:.6rem; color:var(--gray-deep); transition:.25s }
.mat-card:hover h3 { color:var(--primary) }
.mat-card p { font-size:.88rem; color:var(--text-light); line-height:1.6; margin-bottom:1rem }
.mat-grades { display:flex; flex-wrap:wrap; gap:.4rem }
.mat-grades span {
    background:var(--bg); padding:.25rem .7rem; border-radius:6px;
    font-size:.75rem; font-weight:600; color:var(--text-light); transition:.2s;
}
.mat-card:hover .mat-grades span { background:var(--primary-light); color:var(--primary) }

/* ───── INDUSTRIES ───── */
.ind-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem }
.ind-card {
    border-radius:var(--radius); overflow:hidden; border:1px solid var(--gray-border);
    transition:all .35s cubic-bezier(.4,0,.2,1); position:relative;
    box-shadow:0 2px 6px rgba(0,0,0,.03);
}
.ind-img { height:100px; overflow:hidden; position:relative }
.ind-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.4,0,.2,1) }
.ind-card:hover .ind-img img { transform:scale(1.08) }
.ind-card::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:50%;
    background:linear-gradient(to top,var(--white),transparent); pointer-events:none;
}
.ind-card:hover { border-color:var(--primary); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.08) }
.ind-card-body { padding:1rem .8rem .9rem; text-align:center }
.ind-card h4 { font-size:.92rem; margin-bottom:.3rem; transition:.25s }
.ind-card:hover h4 { color:var(--primary) }
.ind-card p { font-size:.75rem; color:var(--text-light) }

/* ───── STATS ───── */
.stats-bar {
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    padding:3.5rem 0; position:relative; overflow:hidden;
}
.stats-bar::before {
    content:''; position:absolute; inset:0; opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.stats-row { display:flex; justify-content:space-between; flex-wrap:wrap; gap:2rem; position:relative; z-index:2 }
.stat-item { text-align:center; flex:1; min-width:140px }
.stat-item h3 { font-size:2.8rem; font-weight:700; color:var(--white); margin-bottom:.3rem }
.stat-item p { font-size:.82rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:1px }

/* ───── CERTS ───── */
.certs-section { background:var(--primary-lighter) }
.cert-row { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap }
.cert {
    text-align:center; padding:2rem 2.5rem; background:var(--white);
    border:1px solid var(--gray-border); border-radius:var(--radius);
    transition:all .35s cubic-bezier(.4,0,.2,1); box-shadow:0 2px 8px rgba(0,0,0,.04);
    position:relative; overflow:hidden;
}
.cert::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--accent-green); opacity:0; transition:.3s;
}
.cert:hover { border-color:var(--accent-green); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.08) }
.cert:hover::before { opacity:1 }
.cert h4 { font-size:1.5rem; color:var(--primary); margin-bottom:.3rem }
.cert p { font-size:.82rem; color:var(--text-light) }

/* ───── CTA ───── */
.cta {
    background:linear-gradient(145deg,var(--primary),var(--primary-dark),var(--primary-deeper));
    border-radius:24px; padding:4.5rem; text-align:center; position:relative; overflow:hidden;
    box-shadow:0 30px 60px rgba(26,73,127,.2);
}
.cta::before {
    content:''; position:absolute; inset:0; opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.cta::after {
    content:''; position:absolute; top:-50%; right:-20%; width:500px; height:500px;
    border-radius:50%; background:radial-gradient(circle,rgba(212,105,30,.12) 0%,transparent 60%);
}
.cta > * { position:relative; z-index:2 }
.cta h2 { font-size:2.2rem; margin-bottom:.8rem; color:var(--white) }
.cta p { color:rgba(255,255,255,.65); max-width:520px; margin:0 auto 2rem; font-size:1rem }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap }

/* ───── FOOTER ───── */
footer { background:var(--gray-deep); padding:4rem 0 0; position:relative }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem }
.footer-brand p { color:var(--gray-light); font-size:.88rem; line-height:1.7; margin-top:1rem }
.footer-col h4 { font-size:.85rem; font-weight:600; text-transform:uppercase; letter-spacing:1.5px; color:rgba(255,255,255,.8); margin-bottom:1.2rem }
.footer-col a { display:block; color:var(--gray-light); font-size:.88rem; margin-bottom:.7rem; transition:all .25s }
.footer-col a:hover { color:var(--secondary-light); padding-left:6px }
.footer-col a i { color:var(--secondary)!important }
.footer-bottom { background:var(--gray-dark); padding:1.5rem 0; text-align:center; font-size:.8rem; color:var(--gray-light); margin-top:3rem }
.footer-logo { font-family:'Space Grotesk'; font-size:1.4rem; font-weight:700; color:var(--white) }
.footer-logo em { font-style:normal; color:var(--secondary); font-weight:400 }

/* ───── SPECS TABLE ───── */
.specs-table { width:100%; border-collapse:collapse; margin:2rem 0; font-size:.9rem }
.specs-table th { background:var(--primary-light); color:var(--primary); text-align:left; padding:.8rem 1rem; font-weight:600 }
.specs-table td { padding:.7rem 1rem; border-bottom:1px solid var(--gray-border); color:var(--text) }
.specs-table tr:hover td { background:var(--bg-warm) }

/* ───── BLOG CARDS ───── */
.blog-card .card-body .blog-meta { font-size:.75rem; color:var(--gray-light); margin-bottom:.5rem }
.blog-card .card-body .blog-tag {
    display:inline-block; background:var(--primary-light); color:var(--primary);
    padding:.15rem .6rem; border-radius:4px; font-size:.7rem; font-weight:600; margin-bottom:.6rem;
}

/* ───── FEATURE BOXES ───── */
.feature-boxes { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1.5rem; margin-top:2rem }
.feature-box {
    background:var(--white); border:1px solid var(--gray-border); border-radius:var(--radius);
    padding:2rem; text-align:center; transition:all .3s;
}
.feature-box:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.06); border-color:var(--primary) }
.feature-box i { font-size:2rem; color:var(--primary); margin-bottom:1rem; display:block }
.feature-box h4 { font-size:1rem; margin-bottom:.5rem; color:var(--gray-deep) }
.feature-box p { font-size:.85rem; color:var(--text-light); line-height:1.5 }

/* ───── CERT CARDS ───── */
.cert-card {
    background:var(--white); border:1px solid var(--gray-border); border-radius:var(--radius);
    padding:2rem; text-align:center; position:relative; overflow:hidden; transition:all .35s;
}
.cert-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--accent-green); opacity:0; transition:.3s;
}
.cert-card:hover { transform:translateY(-4px); box-shadow:0 12px 30px rgba(0,0,0,.06); border-color:var(--accent-green) }
.cert-card:hover::before { opacity:1 }
.cert-card h4 { font-size:1.3rem; color:var(--primary); margin-bottom:.4rem }
.cert-card p { font-size:.85rem; color:var(--text-light) }

/* ───── CONTACT FORM ───── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start }
.contact-info { padding:2rem; background:var(--primary-light); border-radius:var(--radius) }
.contact-info h3 { font-size:1.5rem; margin-bottom:1rem; color:var(--primary) }
.contact-info p { margin-bottom:.8rem; color:var(--text) }
.contact-info i { color:var(--secondary); margin-right:.5rem }
.contact-form { padding:2rem; background:var(--white); border-radius:var(--radius); box-shadow:0 4px 20px rgba(0,0,0,.06) }
.contact-form h3 { font-size:1.5rem; margin-bottom:1.5rem; color:var(--gray-deep) }
.form-group { margin-bottom:1.5rem }
.form-group label { display:block; font-size:.85rem; font-weight:600; color:var(--text); margin-bottom:.5rem }
.form-group input, .form-group textarea, .form-group select {
    width:100%; padding:.8rem 1rem; border:1px solid var(--gray-border); border-radius:8px;
    font-size:.95rem; font-family:'Inter',sans-serif; transition:border-color .2s;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
    outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(26,73,127,.1);
}
.form-group textarea { min-height:120px; resize:vertical }

/* ───── RESPONSIVE ───── */
@media (max-width:1024px) {
    .products-grid { grid-template-columns:repeat(2,1fr) }
    .process-grid { grid-template-columns:repeat(3,1fr); gap:1.5rem }
    .process-grid::before { display:none }
    .ind-grid { grid-template-columns:repeat(3,1fr) }
}
@media (max-width:768px) {
    .menu-btn { display:block }
    .nav-links {
        display:none; position:fixed; top:0; left:0; right:0; bottom:0;
        background:var(--primary-dark); flex-direction:column;
        justify-content:center; align-items:center; gap:1rem; z-index:1000;
    }
    .nav-links.active { display:flex }
    .nav-links .close-btn { position:absolute; top:1.5rem; right:1.5rem; font-size:2rem; color:var(--white); cursor:pointer; background:none; border:none }
    .dd-menu { position:static; transform:none; background:transparent; border:none; box-shadow:none; padding:0; min-width:auto }
    .dd-menu a { color:rgba(255,255,255,.7)!important }
    .dd-menu a:hover { background:rgba(255,255,255,.1); color:var(--white)!important }
    .dd:hover .dd-menu { display:none }
    .dd.active .dd-menu { display:block }
    .hero-grid { grid-template-columns:1fr }
    .hero h1 { font-size:2.4rem }
    .hero-visual { height:300px }
    .hero-metrics { gap:1.5rem }
    .hero-inner { padding:6rem 0 3rem }
    .hero-inner h1 { font-size:2rem }
    .feat-grid, .feat-grid--reverse { grid-template-columns:1fr }
    .feat-grid--reverse { direction:ltr }
    .content-grid, .content-grid.reverse { grid-template-columns:1fr; direction:ltr }
    .content-img { height:260px }
    .products-grid { grid-template-columns:1fr }
    .mat-grid { grid-template-columns:1fr }
    .ind-grid { grid-template-columns:repeat(2,1fr) }
    .process-grid { grid-template-columns:repeat(2,1fr) }
    .card-grid { grid-template-columns:1fr }
    .contact-grid { grid-template-columns:1fr }
    .footer-grid { grid-template-columns:1fr 1fr }
    .section { padding:4rem 0 }
    .section-title { font-size:1.8rem }
    .cta { padding:3rem 1.5rem; border-radius:0; margin:0 -28px }
}
@media (max-width:480px) {
    .ind-grid { grid-template-columns:1fr }
    .footer-grid { grid-template-columns:1fr }
    .stats-row { flex-direction:column; align-items:center }
    .process-grid { grid-template-columns:1fr }
    .hero-btns { flex-direction:column; align-items:center }
}

/* ═══ Resource article pages (casting-design, comparison tools) ═══ */
.resource-hero-tag {
    display:inline-flex; align-items:center; gap:.5rem;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.22);
    padding:.4rem 1rem; border-radius:999px; font-size:.78rem; font-weight:600;
    letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.92);
    margin-bottom:1rem; backdrop-filter:blur(8px); position:relative;
}
.resource-hero-tag i { color:var(--secondary-light); font-size:.7rem; }
.resource-hero-chips {
    display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center;
    margin-top:1.25rem; position:relative;
}
.resource-chip {
    display:inline-flex; align-items:center; gap:.45rem;
    padding:.45rem .95rem; border-radius:999px; font-size:.82rem; font-weight:500;
    color:rgba(255,255,255,.9); background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.18);
}
.resource-chip i { color:var(--secondary-light); font-size:.85rem; opacity:.95; }
.resource-hero-metrics {
    display:flex; flex-wrap:wrap; gap:1rem; justify-content:center;
    margin-top:1.5rem; position:relative;
}
.resource-hero-metric {
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
    border-radius:12px; padding:.85rem 1.15rem; min-width:150px; text-align:center;
}
.resource-hero-metric-value {
    display:block; font-family:'Space Grotesk',sans-serif; font-weight:700;
    font-size:1rem; color:var(--white); line-height:1.25;
}
.resource-hero-metric-label {
    display:block; font-size:.72rem; color:rgba(255,255,255,.65);
    text-transform:uppercase; letter-spacing:.06em; margin-top:.35rem;
}

.resource-lead-grid {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px);
    gap:2rem; align-items:start;
}
.resource-toc {
    background:var(--white); border:1px solid var(--gray-border);
    border-radius:var(--radius); padding:1.25rem 1.35rem;
    box-shadow:0 4px 24px rgba(15,51,96,.06); position:sticky; top:5.5rem;
}
.resource-toc-title {
    font-family:'Space Grotesk',sans-serif; font-size:.72rem; font-weight:700;
    letter-spacing:.12em; text-transform:uppercase; color:var(--primary);
    margin-bottom:1rem;
}
.resource-toc-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.35rem; }
.resource-toc-list a {
    display:block; padding:.5rem .65rem; border-radius:8px; font-size:.88rem;
    color:var(--text); font-weight:500; border:1px solid transparent;
    transition:background .2s,color .2s,border-color .2s;
}
.resource-toc-list a:hover {
    background:var(--primary-light); color:var(--primary-dark);
    border-color:rgba(26,73,127,.12);
}

.content-text .resource-aeo {
    box-shadow:0 8px 32px rgba(15,51,96,.07);
    border:1px solid rgba(26,73,127,.1); border-left-width:4px;
}
.content-text .resource-lead-grid .resource-aeo { margin-bottom:0; }

.resource-figure {
    margin:1.75rem 0; border-radius:var(--radius); overflow:hidden;
    background:var(--white); border:1px solid var(--gray-border);
    box-shadow:0 12px 40px rgba(0,0,0,.08); line-height:0;
}
.resource-figure img.article-img { margin:0; border-radius:0; width:100%; }
.resource-figure-caption {
    padding:.75rem 1rem; font-size:.85rem; color:var(--text-light);
    line-height:1.5; background:var(--bg-warm); border-top:1px solid var(--gray-border);
}

.resource-table-shell {
    background:var(--white); border:1px solid var(--gray-border);
    border-radius:var(--radius); box-shadow:0 4px 24px rgba(0,0,0,.05);
    overflow:hidden;
}
.resource-table-shell .table-scroll { margin:0; }
.content-text .resource-table-shell table { margin:0; }
.content-text .resource-table-shell tbody tr:hover td { background:var(--primary-lighter); }

.content-text table {
    width:100%; border-collapse:collapse; margin:1.25rem 0; font-size:.9rem;
}
.content-text th, .content-text td {
    border:1px solid var(--gray-border); padding:.65rem .85rem; text-align:left; vertical-align:top;
}
.content-text th { background:var(--bg-warm); color:var(--gray-deep); font-weight:600; }
.table-scroll {
    overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1rem 0 1.25rem;
}
.content-img.content-img--figure {
    height:auto; min-height:280px; padding:1rem; max-width:900px; margin:2rem auto;
}
.content-img.content-img--figure img { width:100%; height:auto; object-fit:contain; }
.content-img.content-img--vertical { height:auto; max-width:560px; margin:2rem auto; }
.content-img.content-img--vertical img { width:100%; height:auto; object-fit:contain; }

.content-text ul.resource-stat-grid {
    list-style:none; margin:1.25rem 0 1.5rem; padding:0;
    display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem;
}
.content-text ul.resource-stat-grid li {
    padding:1rem 1.1rem; border:1px solid var(--gray-border);
    border-radius:var(--radius-sm); background:var(--white);
    box-shadow:0 2px 12px rgba(0,0,0,.04); border-bottom:1px solid var(--gray-border);
}
.content-text ul.resource-stat-grid li::before { display:none; }
.content-text ul.resource-stat-grid li strong {
    display:block; font-size:.8rem; text-transform:uppercase; letter-spacing:.04em;
    color:var(--primary); margin-bottom:.35rem;
}

.content-text ul.resource-checklist li { padding-left:2rem; }
.content-text ul.resource-checklist li::before {
    content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900;
    width:auto; height:auto; border-radius:0; background:none;
    color:var(--accent-green); font-size:.75rem; top:1.1rem; left:.15rem;
}

.resource-faq-item {
    padding:1.15rem 1.25rem; border:1px solid var(--gray-border);
    border-radius:var(--radius-sm); background:var(--white);
    margin-bottom:.85rem; box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.resource-faq-item:last-child { margin-bottom:0; }
.resource-faq-item h3 { margin-top:0; margin-bottom:.5rem; font-size:1.05rem; }
.article-faq h2 + .resource-faq-item h3 { margin-top:0; }
.content-text.article-faq .resource-faq-item h3 { margin-top:0; }
.content-text h2[id] { scroll-margin-top:5.5rem; }
.article-faq h2 { margin-bottom:1.25rem; }
.article-faq .resource-faq-item p { margin-bottom:0; color:var(--text-light); line-height:1.8; }

.resource-dual-intro {
    display:grid; grid-template-columns:repeat(2,1fr); gap:1.75rem; align-items:stretch;
}
.resource-intro-card {
    position:relative; padding:1.75rem 1.85rem; border-radius:var(--radius);
    border:1px solid var(--gray-border); background:var(--white);
    box-shadow:0 8px 32px rgba(0,0,0,.06); overflow:hidden;
}
.resource-intro-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:4px;
    background:linear-gradient(90deg,var(--primary),var(--secondary));
}
.resource-intro-card--sand::before {
    background:linear-gradient(90deg,#475569,#94A3B8);
}
.resource-intro-icon {
    display:inline-flex; width:2.5rem; height:2.5rem; align-items:center;
    justify-content:center; border-radius:10px; background:var(--primary-light);
    color:var(--primary); margin-bottom:1rem; font-size:1.1rem;
}
.resource-intro-card--sand .resource-intro-icon { background:var(--bg-warm); color:var(--gray-deep); }
.resource-intro-card h2 { font-size:1.45rem; margin-bottom:.85rem; }
.resource-intro-card p { margin-bottom:0; }

@media (max-width:900px) {
    .resource-lead-grid { grid-template-columns:1fr; }
    .resource-toc { position:static; }
    .resource-dual-intro { grid-template-columns:1fr; }
}

/* === Table Styles (Article) === */
.content-grid table,
.content-section .container table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 0.875rem;
    line-height: 1.6;
}
.content-grid table th,
.content-section .container table th {
    background: var(--primary-dark);
    color: var(--white);
    padding: 10px 12px;
    text-align: left;
    font-weight: 600;
}
.content-grid table td,
.content-section .container table td {
    padding: 8px 12px;
    border-bottom: 1px solid var(--gray-border);
}
.content-grid table tr:nth-child(even),
.content-section .container table tr:nth-child(even) {
    background: #f8f9fa;
}
