/* ==========================================================
   SEKED LABS - Steel & Rust System
   Rebuilt and spacing-normalised
   ========================================================== */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@600;700;800&display=swap');

/* ---------- Tokens ---------- */
:root{
  --rust:#B15526;
  --rust-dark:#8F431E;
  --rust-tint:#FFF7F0;

  --steel-900:#2E3238;
  --steel-700:#4E5961;
  --steel-500:#78838C;
  --steel-300:#E1E4E8;
  --steel-100:#F8F9FA;

  --fs-body:15px;
  --lh-body:1.5;
  --page-max:clamp(720px,88vw,1200px);
  --page-pad:24px;

  --section-gap:28px;
  --card-gap:14px;
  --title-gap:14px;
  --copy-gap:18px;
}

/* ==========================================================
   BASE / RESET
   ========================================================== */
*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  min-height:100%;
  background:#fff;
  color:var(--steel-900);
  font-family:Inter, ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{
  color:var(--steel-900);
  text-decoration:none;
}

a:hover{color:var(--rust)}

.container{
  max-width:var(--page-max);
  margin:0 auto;
  padding:var(--page-pad);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

.page-main{flex:1}

/* ==========================================================
   TYPE
   ========================================================== */
h1,h2,h3{
  color:var(--steel-900);
  font-family:Manrope, Inter, ui-sans-serif, system-ui;
}

h1{
  font-weight:700;
  font-size:clamp(24px,2vw,28px);
  line-height:1.3;
  letter-spacing:-.01em;
  margin:0 0 16px;
}

h2{
  font-weight:700;
  font-size:clamp(18px,1.5vw,20px);
  line-height:1.35;
  letter-spacing:-.01em;
  margin:24px 0 12px;
}

h3{
  font-weight:600;
  font-size:16px;
  line-height:1.4;
  margin:20px 0 8px;
}

small{
  font-size:13px;
  line-height:1.5;
  color:var(--steel-700);
}

p{
  margin:0 0 16px;
  color:var(--steel-700);
}
/* ==========================================================
   NAV
   ========================================================== */
.nav{
  position:sticky;
  top:0;
  z-index:100;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  padding:12px 0;
  background:#fff;
  border-bottom:1px solid var(--steel-300);
}

.nav .brand{
  font-family:Manrope, Inter, ui-sans-serif, system-ui;
  font-weight:800;
  font-size:17px;
  letter-spacing:.04em;
  color:var(--steel-900);
  margin-right:auto;
}


.nav a{
  font:500 15px/1 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
}

.nav a:hover{color:var(--rust)}

/* ==========================================================
   PAGE TOP / HEADING BLOCKS
   ========================================================== */
.page-head{padding:24px 0 16px}

.section-title,
.page-head .section-title{
  font:800 21px/1.25 Manrope, Inter, ui-sans-serif, system-ui;
  letter-spacing:-.012em;
  color:var(--steel-900);
  margin:0 0 var(--title-gap);
  padding-bottom:12px;
  border-bottom:1px solid var(--steel-300);
}

.page-lead,
.page-intro,
.page-note{
  font:16px/1.5 Inter, ui-sans-serif, system-ui;
  color:var(--steel-700);
  max-width:none;
  margin:0 0 24px;
  white-space:normal;
}

.container > .h1:first-of-type{
  font:600 28px/1.25 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
  margin:24px 0 16px;
  padding-bottom:16px;
  border-bottom:1px solid var(--steel-300);
}

/* ==========================================================
   GENERIC CARDS
   ========================================================== */
.card,
.block-card{
  background:#fff;
  border:1px solid rgba(46,50,56,.08);
  border-radius:8px;
  padding:16px;
}

.card{
  box-shadow:none;
  font:14px/1.5 Inter, ui-sans-serif, system-ui;
}

/* ==========================================================
   HOMEPAGE HERO
   ========================================================== */
.hero{
  background:#fff;
  margin-bottom:2px;
}

@media (max-width:600px){
  .hero-headline br{
    display:none;
  }
}

.hero--plain{
  padding:40px 0 14px;
  text-align:center;
}

.hero-inner{
  max-width:clamp(720px,68vw,980px);
  margin:0 auto;
  text-align:center;
}

.hero-headline{
  font-family:Manrope, Inter, ui-sans-serif, system-ui;
  font-weight:800;
  font-size:clamp(42px,4.2vw,58px);
  line-height:1.02;
  letter-spacing:-.02em;
  margin:0 0 18px;
}

.hero-tagline{
  margin:0 auto 16px;
  color:var(--rust);
  font:800 clamp(17px,1.45vw,21px)/1.35 Manrope, Inter, ui-sans-serif, system-ui;
  letter-spacing:.01em;
}

.hero-lead{
  font:16px/1.5 Inter, ui-sans-serif, system-ui;
  color:var(--steel-700);
  max-width:680px;
  margin:0 auto 16px;
}

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 0 16px;
}

.hero-chip{
  background:#fff;
  border:1px solid var(--steel-300);
  border-radius:6px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
  font:500 13.5px/1.4 Inter, ui-sans-serif, system-ui;
  padding:.5rem .6rem;
  color:var(--steel-900);
}

.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin:0;
}

.btn-primary-solid,
.btn-outline{
  font:600 14px/1.3 Inter, ui-sans-serif, system-ui;
  padding:9px 14px;
  border-radius:6px;
  cursor:pointer;
  display:inline-block;
}

.btn-primary-solid{
  background:var(--rust);
  border:1px solid var(--rust);
  color:#fff;
  box-shadow:0 2px 6px rgba(177,85,38,.16);
}

.btn-primary-solid:hover{filter:brightness(.97)}

.btn-outline{
  background:#fff;
  border:1px solid var(--rust-dark);
  color:var(--rust);
  box-shadow:0 2px 4px rgba(177,85,38,.08);
}

.btn-outline:hover{
  color:var(--rust-dark);
  border-color:var(--rust-dark);
}

.section-divider{display:none}

/* ==========================================================
   HOMEPAGE SECTION WRAPPERS
   ========================================================== */
#primary-services,
.who-we-help,
#build-capabilities,
.process-band,
.jobs{
  margin:0 0 var(--section-gap);
}

#primary-services{padding:10px 0 6px}
.who-we-help{padding:4px 0 4px}
#build-capabilities{padding:2px 0 4px}
.process-band{padding:2px 0 4px}
.jobs{
  padding:2px 0 0;
  margin-bottom:36px;
}

/* ==========================================================
   TILE GRIDS
   ========================================================== */
.cap-tiles{
  margin:0;
  padding:0;
}

.tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  gap:var(--card-gap);
  margin:0;
  padding:0;
}

/* 2-column tile layout for selected sections */
.cap-tiles--two-col .tiles,
.capabilities-section--two-col .tiles{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

@media (max-width:720px){
  .cap-tiles--two-col .tiles,
  .capabilities-section--two-col .tiles{
    grid-template-columns:1fr;
  }
}

.tile{
  position:relative;
  background:#fff;
  border:1px solid rgba(46,50,56,.08);
  border-radius:8px;
  padding:16px;
  transition:border-color .2s;
}

.tile:hover{border-color:var(--rust)}

.tile--anchor{
  border-left:3px solid var(--rust);
  border-radius:6px;
  padding-left:13px;
}

.tile-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 8px;
}

.tile-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  color:var(--rust);
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  margin-top:1px;
}

.tile-eyebrow{
  font:600 14.5px/1.3 Inter, ui-sans-serif, system-ui;
  margin:0;
}

.tile-desc{
  font:13.5px/1.45 Inter, ui-sans-serif, system-ui;
  color:var(--steel-700);
  margin:0;
}

/* ==========================================================
   WHO WE WORK WITH
   ========================================================== */
.who-we-help-intro{
  margin:0 0 var(--copy-gap);
  max-width:none;
  color:var(--steel-700);
  font-size:14px;
  line-height:1.5;
}

.who-we-help-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--card-gap);
}

.who-we-help-card{
  background:#fff;
  border:1px solid rgba(46,50,56,.08);
  border-radius:8px;
  padding:16px;
  box-sizing:border-box;
}

.who-we-help-grid > .who-we-help-card:nth-child(odd){
  border-left:3px solid var(--rust);
}



.who-we-help-title{
  margin:0 0 8px;
  color:var(--steel-900);
  font-size:15px;
  line-height:1.35;
  font-weight:600;
}

.who-we-help-copy{
  margin:0;
  color:var(--steel-700);
  font-size:13.5px;
  line-height:1.5;
}

/* ==========================================================
   HOW IT WORKS
   ========================================================== */
.process-band .section-title{
  text-align:left;
  margin-bottom:16px;
}

.process-inline{
  list-style:none;
  padding:0 14px;
  margin:0 0 20px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  justify-items:start;
  align-items:start;
}

.process-inline-step{
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.process-inline-icon{
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:999px;
  border:2px solid var(--rust);
  color:var(--rust);
  margin-bottom:8px;
}

.process-inline-icon svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.process-inline-title{
  font:600 14.5px/1.3 Inter, ui-sans-serif, system-ui;
  margin:0 0 4px;
}

.process-inline-desc{
  font:13px/1.45 Inter, ui-sans-serif, system-ui;
  margin:0;
}

.leadtime-banner{
  background:var(--rust-tint);
  border:0;
  border-radius:0;
  box-shadow:none;
  width:100%;
  max-width:none;
  margin:16px 14px 0;
  padding:16px 18px;
  text-align:left;
}

.leadtime-head{
  font:600 16px/1.3 Inter, ui-sans-serif, system-ui;
  color:var(--rust);
  margin:0 0 8px;
}

.leadtime-copy{
  font:13.5px/1.5 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
  margin:0;
  max-width:none;
}

/* ==========================================================
   HOMEPAGE: SELECTED ENGINEERING PROJECTS
   ========================================================== */
.jobs-intro{
  margin:0 0 var(--copy-gap);
  color:var(--steel-700);
  font-size:14px;
  line-height:1.5;
  max-width:none;
}

.jobs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  margin:0;
}

.jobs-grid .job-card:last-child{
  grid-column:1 / -1;
  max-width:520px;
  justify-self:center;
}

.job-card{
  border:1px solid #eee;
  border-radius:12px;
  background:var(--steel-100);
  overflow:hidden;
  transition:transform .15s, box-shadow .15s, border-color .15s;
}

.job-card:hover{
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  border-color:var(--steel-300);
}

.job-thumb{
  aspect-ratio: 16 / 9;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  overflow:hidden;
}


.job-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  border-radius:8px;
}

.job-body{padding:14px 16px 16px}

.job-title{
  margin:0 0 6px;
  font:600 16px/1.4 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
}

.job-desc{
  margin:0;
  color:var(--steel-700);
  font-size:14px;
  line-height:1.5;
}

.jobs-cta{
  margin-top:10px;
  font-size:14px;
}

.jobs-cta a{color:var(--rust)}

.jobs-note{
  margin-top:12px;
  margin-bottom:0;
  color:var(--steel-700);
}

.jobs-note a{
  color:var(--rust);
  text-decoration:none;
}

.jobs-note a:hover{
  color:var(--rust-dark);
  text-decoration:underline;
}

/* ==========================================================
   MATERIALS PAGE
   ========================================================== */
#mat-filters{
  margin:0 0 16px !important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  font:14px/1.4 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
  position:relative;
}

#mat-filters .label{font-weight:500}

#mat-filters .chip{
  display:inline-block;
  cursor:pointer;
  font:500 14px/1 Inter, ui-sans-serif, system-ui;
  background:#fff;
  color:var(--steel-900);
  border:1px solid var(--steel-300);
  border-radius:999px;
  padding:8px 12px;
  box-shadow:0 1px 2px rgba(0,0,0,.03);
}

#mat-filters .chip.is-active{
  background:var(--rust-tint);
  border-color:var(--rust);
  box-shadow:0 1px 4px rgba(177,85,38,.12);
}

#mat-filters.is-stuck{
  position:sticky;
  top:calc(var(--nav-h,64px) + 8px);
  z-index:50;
  background:#fff;
  padding:10px 12px;
  margin:0 0 16px !important;
  border-bottom:1px solid rgba(0,0,0,.06);
  box-shadow:0 4px 10px rgba(0,0,0,.04);
  border-radius:6px;
}

.materials-search{
  margin:0 0 24px !important;
  max-width:100%;
  font-family:Inter, ui-sans-serif, system-ui;
}

.materials-search input[type="search"]{
  width:100% !important;
  border:1px solid var(--steel-300) !important;
  border-radius:6px !important;
  font-size:14px !important;
  line-height:1.4 !important;
  padding:10px 12px !important;
  color:var(--steel-900) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.02);
  outline:none;
}

.materials-search small{
  font-size:13px;
  line-height:1.4;
  color:var(--steel-700);
  margin-top:8px;
}

.materials-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:24px 0 56px;
}

.materials-grid .card{
  border:1px solid rgba(46,50,56,.08) !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:0 2px 4px rgba(0,0,0,.03);
  padding:20px 16px !important;
  min-height:180px;
}

.materials-grid .card h3{
  margin:0 0 12px;
  font:600 18px/1.35 Inter, ui-sans-serif, system-ui;
}

.materials-grid .card .caps{
  margin:0;
  padding-left:20px;
  list-style:disc;
  font:14px/1.5 Inter, ui-sans-serif, system-ui;
}

.materials-grid .card .caps li{margin-bottom:6px}
.materials-grid .card .caps li:last-child{margin-bottom:0}

.materials-grid .card p.muted{
  font-size:13px;
  line-height:1.4;
  color:var(--steel-700);
  margin:4px 0 0;
}

/* ==========================================================
   SOLUTIONS GRID
   ========================================================== */
.solutions-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:32px;
}

.solution-head{
  font:600 16px/1.4 Inter, ui-sans-serif, system-ui;
  margin:0 0 8px;
}

.solution-desc,
.solution-meta{
  font:14px/1.5 Inter, ui-sans-serif, system-ui;
  margin:0 0 8px;
}

.price-badge{
  display:inline-block;
  font:600 13px/1.2 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
  background:var(--rust-tint);
  border:1px solid var(--rust);
  border-radius:999px;
  padding:6px 10px;
  box-shadow:0 2px 4px rgba(177,85,38,.08);
  margin-right:8px;
  white-space:nowrap;
}

/* ==========================================================
   CONTACT FORM
   ========================================================== */
.quote-form-card{
  border:1px solid rgba(46,50,56,.08);
  border-radius:8px;
  background:#fff;
  padding:16px;
  box-shadow:none;
  font:14px/1.4 Inter, ui-sans-serif, system-ui;
}

.quote-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}

.quote-form-block{margin-bottom:16px}

.quote-form-card label{
  display:block;
  font:600 14px/1.4 Inter, ui-sans-serif, system-ui;
  margin:0 0 6px;
}

.quote-form-card input,
.quote-form-card select,
.quote-form-card textarea{
  width:100%;
  font:14px/1.4 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
  padding:10px;
  border:1px solid var(--steel-300);
  border-radius:6px;
  background:#fff;
}

.quote-form-card textarea{
  min-height:140px;
  resize:vertical;
}

.notice{
  display:none;
  background:#e6ffed;
  border:1px solid #b7eb8f;
  color:#1f4f2e;
  border-radius:8px;
  padding:12px 14px;
  font:600 14px/1.4 Inter, ui-sans-serif, system-ui;
  margin-bottom:16px;
}

.quote-form-actions-row{
  border-top:1px solid var(--steel-300);
  margin-top:16px;
  padding:16px 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  column-gap:12px;
  align-items:flex-start;
  font:14px/1.4 Inter, ui-sans-serif, system-ui;
}

.consent-col{
  display:flex;
  align-items:flex-start;
  margin-top:2px;
}

.consent-checkbox{
  margin:0;
  flex-shrink:0;
}

.consent-text{
  margin:2px 0 0;
  line-height:1.4;
  font-weight:400;
  cursor:pointer;
}

.consent-text a{
  color:var(--rust);
  font-weight:500;
  text-decoration:none;
}

.consent-text a:hover{color:var(--rust-dark)}

.submit-col{
  display:flex;
  justify-content:flex-end;
  margin-top:2px;
}

.quote-form-submit{
  background:var(--rust);
  border:1px solid var(--rust);
  color:#fff;
  white-space:nowrap;
  font:600 14px/1.3 Inter, ui-sans-serif, system-ui;
  padding:10px 16px;
  border-radius:6px;
  box-shadow:0 2px 6px rgba(177,85,38,.16);
  cursor:pointer;
}

.quote-form-submit:hover{filter:brightness(.97)}

.quote-form-submit.is-submitting,
.quote-form-submit:disabled{
  opacity:.6;
  cursor:not-allowed;
}

/* ==========================================================
   LAB SNAPSHOT
   ========================================================== */
.lab-snapshot{
  margin:32px 0;
  max-width:var(--page-max);
  margin-inline:auto;
}

.lab-shot{margin:0}

.lab-shot img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid #eee;
}

.lab-shot figcaption{
  font-size:.92rem;
  margin-top:8px;
}

/* ==========================================================
   FOOTERS
   ========================================================== */
.site-footer{
  margin-top:32px;
  padding:34px 0 28px;
  color:var(--steel-900);
  font-size:14px;
  line-height:1.5;
  background:#fff;
  border-top:1px solid var(--steel-300);
}

.footer-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  padding:10px 0 6px;
  row-gap:12px;
  column-gap:24px;
}

.footer-cta-head{
  font:700 18px/1.3 Manrope, system-ui, sans-serif;
  color:var(--steel-900);
  margin-bottom:2px;
}

.footer-cta-sub{
  font-size:15px;
  line-height:1.4;
  color:var(--steel-700);
}

.footer-cta-sub a{
  color:var(--rust);
  text-decoration:none;
  border-bottom:1px solid var(--rust);
}

.footer-cta-sub a:hover{
  opacity:.8;
}

.footer-cta-sub .arrow{
  display:inline-block;
  font-size:15px;
  line-height:1;
  margin-left:4px;
}

.footer-cta-right{
  text-align:right;
  min-width:220px;
  font-size:15px;
  line-height:1.35;
}

.footer-cta-phone{
  font-weight:500;
  color:var(--steel-900);
}

.footer-cta-email{
  display:block;
  color:var(--rust);
  text-decoration:none;
  border-bottom:1px solid var(--rust);
  width:fit-content;
  margin-left:auto;
}

.footer-cta-email:hover{
  opacity:.8;
}

.footer-sep{
  margin:18px 0 24px;
  border:0;
  border-top:1px solid var(--steel-300);
}

.footer-main{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr 0.85fr;
  column-gap:30px;
  row-gap:18px;
  align-items:start;
}

.footer-col{
  min-width:0;
  max-width:none;
}

.footer-col:last-child{
  justify-self:start;
  text-align:left;
}

.footer-head{
  font:600 14px/1 Manrope, system-ui, sans-serif;
  color:var(--steel-900);
  margin-bottom:12px;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.footer-logo-box{
  width:64px;
  height:64px;
  border:1px solid var(--steel-300);
  border-radius:6px;
  background:var(--steel-100);
  display:flex;
  align-items:center;
  justify-content:center;
  font:700 11px/1.2 Manrope, system-ui, sans-serif;
  color:var(--steel-900);
  text-align:center;
}

.footer-text{
  color:var(--steel-700);
  font-size:14px;
  line-height:1.45;
  margin-bottom:10px;
}

.footer-text.small{
  font-size:12px;
  margin-bottom:0;
}

.badge-line{
  font-size:13px;
  line-height:1.4;
  color:var(--steel-700);
  margin-bottom:8px;
}

.footer-badges{
  margin-bottom:12px;
}

.footer-social-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border:1px solid var(--steel-300);
  border-radius:4px;
  font:500 13px/1 Inter;
  color:var(--steel-900);
  text-decoration:none;
}

.social-link:hover{
  background:var(--steel-100);
}

.footer-links{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-links li{
  margin-bottom:6px;
  color:var(--steel-700);
}

.footer-links a{
  color:var(--steel-700);
  text-decoration:none;
  font-size:14px;
  line-height:1.4;
}

.footer-links a:hover{
  color:var(--steel-900);
  text-decoration:underline;
}

.footer-muted-link{
  display:block;
  font-size:13px;
  line-height:1.35;
  color:var(--steel-600,#6b6b6b);
}

.footer-muted-link:not(:last-child){
  margin-bottom:3px;
}

/* Legacy small footer */
.footer{
  margin-top:56px;
  padding:24px 0;
  text-align:left;
  font-family:Inter, ui-sans-serif, system-ui;
  font-size:13px;
  line-height:1.5;
  color:var(--steel-700);
}

.footer a{
  color:var(--steel-700);
}

.footer a:hover{
  color:var(--rust);
}

@media (max-width:980px){
  .footer-main{
    grid-template-columns:repeat(2, minmax(220px,1fr));
    column-gap:30px;
    row-gap:24px;
  }

  .footer-col:last-child{
    justify-self:start;
  }
}

@media (max-width:640px){
  .footer-main{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:22px;
  }

  .footer-cta-right{
    text-align:left;
    min-width:0;
  }

  .footer-cta-email{
    margin-left:0;
  }

  .footer-col:last-child{
    justify-self:start;
  }
}
/* ==========================================================
   CASE STUDIES
   ========================================================== */
.cap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:24px;
  margin-bottom:40px;
}

.cs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:48px;
}

.cs-card{
  position:relative;
  border:1px solid var(--steel-300);
  border-radius:8px;
  background:repeating-linear-gradient(-45deg,#fff 0px,#fff 8px,#f9fafb 8px,#f9fafb 16px);
  box-shadow:0 2px 4px rgba(0,0,0,.03);
  min-height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.cs-badge{
  display:inline-block;
  font-family:Inter, ui-sans-serif, system-ui;
  font-size:14px;
  font-weight:600;
  line-height:1.2;
  color:var(--steel-900);
  background:var(--rust-tint);
  border:1px solid var(--rust);
  border-radius:999px;
  box-shadow:0 2px 4px rgba(177,85,38,.08);
  padding:10px 16px;
  text-transform:uppercase;
  letter-spacing:.02em;
  white-space:nowrap;
}

/* ==========================================================
   BRANDING
   ========================================================== */
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:"Manrope", sans-serif;
  font-weight:800;
  font-size:20px;
  color:var(--steel-900);
  padding:0;
}

.brand-logo{
  height:64px;
  width:auto;
  display:block;
}

.brand-text{letter-spacing:.5px}

.footer-logo{
  height:46px;
  width:auto;
  display:block;
}

.footer-logo-text{
  font-family:Manrope, Inter, sans-serif;
  font-weight:700;
  font-size:15px;
  letter-spacing:.5px;
  color:var(--steel-900);
}

/* ==========================================================
   CAPABILITIES PAGE
   ========================================================== */
.capabilities-page{
  padding-top:0;
}

.hero--subpage{
  padding:34px 0 20px;
  margin-bottom:8px;
}

.hero-headline--subpage{
  font-size:clamp(34px, 3.2vw, 44px);
  line-height:1.1;
  margin:0 0 14px;
}

.hero-lead--subpage{
  max-width:760px;
  margin:0 auto;
  font:16px/1.5 Inter, ui-sans-serif, system-ui;
  color:var(--steel-700);
}

.capabilities-section{
  margin:0 0 30px;
}

.capabilities-section .section-title{
  margin:0 0 12px;
}

.capabilities-section .page-note{
  margin:0 0 24px;
  font-size:15px;
  line-height:1.5;
  color:var(--steel-700);
  max-width:none;
}


.capabilities-section .tiles,
.capabilities-section .cap-grid{
  margin-top:0;
}

.capabilities-section .cap-grid{
  margin-bottom:0;
}

.capabilities-section .tile-desc{
  font-size:14.5px;
  line-height:1.5;
}

.capabilities-section .block-card{
  padding:18px 18px 16px;
}

.capabilities-section .block-head{
  margin:0 0 12px;
  font:600 16px/1.35 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
}

.capabilities-section .block-card ul{
  margin:0;
  padding-left:18px;
}

.capabilities-section .block-card li{
  margin:0 0 8px;
  font-size:14px;
  line-height:1.5;
  color:var(--steel-900);
}

.capabilities-timing{
  margin:8px 0 32px;
  padding:20px 22px;
  background:var(--rust-tint);
  border-radius:0;
}

.capabilities-timing .leadtime-head{
  margin-bottom:10px;
}

.capabilities-timing p{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.5;
}

.capabilities-timing p:last-child{
  margin-bottom:0;
}

/* ==========================================================
   CREDIBILITY SPLIT SECTION
   ========================================================== */
.credibility-split{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(260px, .85fr);
  gap:clamp(22px, 3vw, 40px);
  align-items:center;
  margin:0 0 24px;
  padding:0;
}

.credibility-copy{
  min-width:0;
  max-width:none;
}

.credibility-eyebrow{
  margin:0 0 10px;
  color:var(--rust);
  font:600 13px/1.4 Inter, ui-sans-serif, system-ui;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.credibility-title{
  margin:0 0 14px;
  color:var(--steel-900);
  font:800 22px/1.2 Manrope, Inter, ui-sans-serif, system-ui;
  letter-spacing:-.01em;
  max-width:none;
}

.credibility-lead{
  margin:0 0 14px;
  color:var(--steel-900);
  font:500 16px/1.5 Inter, ui-sans-serif, system-ui;
  max-width:none;
}

.credibility-body{
  margin:0 0 18px;
  color:var(--steel-700);
  font:14px/1.5 Inter, ui-sans-serif, system-ui;
  max-width:none;
}

.credibility-points{
  display:grid;
  gap:10px;
}

.credibility-point{
  position:relative;
  padding-left:14px;
  color:var(--steel-900);
  font:500 14px/1.5 Inter, ui-sans-serif, system-ui;
}

.credibility-point::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--rust);
}

.credibility-media{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
}

.credibility-media img{
  display:block;
  width:100%;
  max-width:460px;
  height:auto;
  object-fit:contain;
  margin-top:0;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1000px){
  .materials-grid{grid-template-columns:repeat(2,1fr)}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .cap-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  .cs-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:760px){
  .credibility-split{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:24px;
  }

  .credibility-media{
    justify-content:flex-start;
  }

  .credibility-media img{
    max-width:440px;
  }
}
@media (max-width:720px){
  .quote-form-row{grid-template-columns:1fr}

  .quote-form-actions-row{
    grid-template-columns:1fr;
    row-gap:12px;
    align-items:flex-start;
  }

  .consent-col,
  .consent-text,
  .submit-col{margin-top:0}

  .submit-col{justify-content:flex-start}

  .jobs-grid{grid-template-columns:1fr}
  .who-we-help-grid{grid-template-columns:1fr}

  .process-inline{
    grid-template-columns:repeat(2, minmax(220px,1fr));
    padding:0 10px;
  }

  .leadtime-banner{
    margin:16px 10px 0;
  }
}

@media (max-width:600px){
  .materials-grid{grid-template-columns:1fr}
  .solutions-grid{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr}

  .hero-headline{
    font-size:clamp(30px,5vw,34px);
    line-height:1.15;
  }
}

@media (max-width:560px){
  .cs-grid{grid-template-columns:1fr}
}

@media (max-width:520px){
  .process-inline{
    grid-template-columns:1fr;
    padding:0;
  }

  .leadtime-banner{
    margin:16px 0 0;
  }
}

@media (max-width:480px){
  .footer-cta-right{
    text-align:left;
    margin-top:8px;
  }

  .footer-cta-email{
    margin-left:0;
  }
}

/* ==========================================================
   MATERIALS PAGE - CLEAN GROUPED VERSION
   ========================================================== */
.materials-page{
  padding-top:0;
}

.materials-section{
  margin:0 0 30px;
}

.materials-section .section-title{
  margin:0 0 12px;
}

.materials-section .page-note{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.5;
  color:var(--steel-700);
  max-width:none;
}

.materials-grid--simple{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:0 0 10px;
}

.materials-grid--simple .card{
  border:1px solid rgba(46,50,56,.08);
  border-radius:8px;
  background:#fff;
  box-shadow:none;
  padding:18px 16px 16px;
  min-height:unset;
}

.materials-grid--simple .card h3{
  margin:0 0 10px;
  font:600 18px/1.35 Inter, ui-sans-serif, system-ui;
  color:var(--steel-900);
}

.materials-grid--simple .card p{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.5;
  color:var(--steel-700);
}

.materials-grid--simple .card p:last-child{
  margin-bottom:0;
}

@media (max-width:1000px){
  .materials-grid--simple{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width:600px){
  .materials-grid--simple{
    grid-template-columns:1fr;
  }
}

.about-page{
  padding-top: 6px;
}

.about-page .h1{
  margin: 0 0 16px;
}

.about-page .page-lead{
  margin: 0 0 26px;
  max-width: none;
  font-size: 16px;
  line-height: 1.5;
}

.about-page .section-title{
  margin: 0 0 12px;
}

.about-page .block-card{
  padding: 18px 18px 16px;
  margin: 0 0 24px;
}

.about-page .block-card p:last-child{
  margin-bottom: 0;
}

.about-page .about-section{
  margin: 0 0 6px;
}

.about-page .about-section:last-of-type{
  margin-bottom: 18px;
}


/* ==========================================================
   CAPABILITIES PAGE - PREMIUM SHOWCASE
   ========================================================== */

.capability-showcase-section{
  margin-bottom:34px;
}

.capability-showcase{
  display:grid;
  gap:24px;
  margin-top:32px;
}
.capability-feature{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:0;
  align-items:stretch;
  overflow:hidden;
  min-height:280px;
  background:#fff;
  border:1px solid rgba(46,50,56,.10);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(46,50,56,.045);
}

.capability-feature--reverse .capability-feature-media{
  order:2;
}

.capability-feature--reverse .capability-feature-copy{
  order:1;
}

.capability-feature-media{
  height:auto;
  min-height:100%;
  background:#fff;
  overflow:hidden;
}

.capability-feature-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
}

/* Image crop tuning */
.capability-feature--cnc .capability-feature-media img{
  object-position:center 55%;
}

.capability-feature--electronics .capability-feature-media img{
  object-position:center 55%;
}

.capability-feature--laser .capability-feature-media img{
  object-position:center 55%;
}

.capability-feature--fdm .capability-feature-media img{
  object-position:center 55%;
}

.capability-feature-copy{
  padding:28px 30px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.capability-kicker{
  margin:0 0 9px;
  color:var(--rust);
  font:600 14px/1.35 Inter, ui-sans-serif, system-ui;
  letter-spacing:0;
  text-transform:none;
}

.capability-feature-copy h3{
  margin:0 0 11px;
  color:var(--steel-900);
  font:700 22px/1.22 Manrope, Inter, ui-sans-serif, system-ui;
  letter-spacing:-.01em;
}

.capability-feature-copy p{
  margin:0 0 14px;
  color:var(--steel-700);
  font:15px/1.5 Inter, ui-sans-serif, system-ui;
}

.capability-feature-copy ul{
  margin:0;
  padding-left:18px;
}

.capability-feature-copy li{
  margin:0 0 7px;
  color:var(--steel-900);
  font:14px/1.45 Inter, ui-sans-serif, system-ui;
}

.capability-feature-copy li:last-child{
  margin-bottom:0;
}

.capability-support-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin-top:22px;
}

.capability-support-card{
  background:#fff ;
  border:1px solid rgba(46,50,56,.10);
  border-left:3px solid var(--rust);
  border-radius:10px;
  padding:20px 20px 18px;
}

.capability-support-card h3{
  margin:0 0 8px;
  color:var(--steel-900);
  font:700 17px/1.35 Manrope, Inter, ui-sans-serif, system-ui;
}

.capability-support-card p{
  margin:0;
  color:var(--steel-700);
  font:14.5px/1.55 Inter, ui-sans-serif, system-ui;
}

@media (max-width:900px){
  .capability-feature,
  .capability-feature--reverse{
    grid-template-columns:1fr;
  }

  .capability-feature--reverse .capability-feature-media,
  .capability-feature--reverse .capability-feature-copy{
    order:initial;
  }

  .capability-feature-media{
    height:260px;
    min-height:260px;
  }

  .capability-feature-copy{
    padding:24px 22px 22px;
  }
}

@media (max-width:640px){
  .capability-feature-media{
    height:220px;
    min-height:220px;
  }

  .capability-feature-copy h3{
    font-size:20px;
  }

  .capability-support-grid{
    grid-template-columns:1fr;
  }
}

.about-workspace-split{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:24px;
  align-items:start;
  margin:16px 0 34px;
}

.about-workspace-copy p{
  font-size:15px;
  line-height:1.55;
  color:var(--steel-700);
  margin:0 0 12px;
}

.about-workspace-copy{
  padding-top:48px;
}

.about-workspace-copy p:last-child{
  margin-bottom:0;
}

.about-workspace{
  margin:0;
}

.about-workspace img{
  display:block;
  width:100%;
  max-height:420px;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
  border:1px solid rgba(46,50,56,.10);
  box-shadow:0 8px 24px rgba(46,50,56,.045);
}

.about-workspace figcaption{
  margin-top:8px;
  color:var(--steel-700);
  font:13.5px/1.45 Inter, ui-sans-serif, system-ui;
}

@media (max-width:800px){
  .about-workspace-split{
    grid-template-columns:1fr;
  }

  .about-workspace img{
    max-height:360px;
  }
}

/* ==========================================================
   CLEAN SECTION DIVIDERS - fixes half-cut heading lines
   ========================================================== */

.section-title{
  border-bottom:0 !important;
  padding-bottom:0 !important;
  margin-bottom:16px !important;
  position:relative;
}

.section-title::after{
  content:"";
  display:block;
  width:100%;
  height:2px;
  background:rgba(46,50,56,.10);
  margin-top:12px;
  border-radius:999px;
}

.capabilities-section .page-note,
.materials-section .page-note{
  max-width:none;
}

/* Button hover fixes */
.btn-primary-solid,
.btn-primary-solid:visited{
  color:#fff;
}

.btn-primary-solid:hover,
.btn-primary-solid:focus{
  color:#fff;
  background:var(--rust-dark);
  border-color:var(--rust-dark);
  filter:none;
}

.btn-outline,
.btn-outline:visited{
  color:var(--rust);
  background:#fff;
  border-color:var(--rust-dark);
}

.btn-outline:hover,
.btn-outline:focus{
  color:var(--rust-dark);
  background:#fff;
  border-color:var(--rust-dark);
  filter:none;
}

/* Materials card hover - match capabilities feel */
.materials-grid--simple .card{
  transition:border-color .2s, box-shadow .2s, transform .15s;
}
.materials-grid--simple .card:hover{
  border-color:var(--rust) !important;
  box-shadow:0 4px 14px rgba(177,85,38,.10);
  transform:translateY(-1px);
}

.job-link{
  display:inline-block;
  margin-top:12px;
  color:var(--rust);
  font-weight:600;
  font-size:14px;
  text-decoration:none;
}

.job-link:hover{
  color:var(--rust-dark);
  text-decoration:underline;
}

.cookie-banner{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:500;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  max-width:960px;
  margin:0 auto;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--steel-300);
  border-left:4px solid var(--rust);
  border-radius:10px;
  box-shadow:0 10px 30px rgba(46,50,56,.14);
}

.cookie-copy{
  min-width:0;
}

.cookie-copy strong{
  display:block;
  margin:0 0 4px;
  color:var(--steel-900);
  font:700 14px/1.35 Manrope, Inter, sans-serif;
}

.cookie-copy p{
  margin:0;
  color:var(--steel-700);
  font:14px/1.45 Inter, sans-serif;
}

.cookie-copy a{
  color:var(--rust);
  font-weight:600;
}

.cookie-actions{
  display:flex;
  gap:10px;
  flex-shrink:0;
}

@media (max-width:640px){
  .cookie-banner{
    left:12px;
    right:12px;
    bottom:12px;
    flex-direction:column;
    align-items:flex-start;
  }

  .cookie-actions{
    width:100%;
    flex-direction:column-reverse;
  }

  .cookie-actions .btn-primary-solid,
  .cookie-actions .btn-outline{
    width:100%;
    text-align:center;
  }
}


/* ==========================================================
   HOMEPAGE INTEGRATED HERO
   ========================================================== */

.hero--integrated{
  padding:42px 0 38px;
  margin-bottom:26px;
  text-align:left;
}

.hero-integrated-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.18fr) minmax(300px, .82fr);
  gap:clamp(30px, 5vw, 68px);
  align-items:center;
}

.hero-integrated-copy{
  min-width:0;
}

.hero-kicker{
  margin:0 0 10px;
  color:var(--rust);
  font:700 12.5px/1.4 Inter, ui-sans-serif, system-ui;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.hero--integrated .hero-headline{
  margin:0 0 18px;
  text-align:left;
  font-size:clamp(42px, 4.6vw, 62px);
  line-height:1.03;
  letter-spacing:-.025em;
}

.hero--integrated .hero-tagline{
  margin:0 0 18px;
  color:var(--rust);
  font:800 clamp(17px, 1.4vw, 20px)/1.35 Manrope, Inter, ui-sans-serif, system-ui;
  letter-spacing:.01em;
}

.hero--integrated .hero-lead{
  max-width:650px;
  margin:0 0 22px;
  text-align:left;
  font-size:16px;
  line-height:1.55;
}

.hero-ctas--left,
.hero-badges--left{
  justify-content:flex-start;
}

.hero--integrated .hero-ctas{
  margin:0 0 18px;
}

.hero--integrated .hero-badges{
  margin:0;
}

.hero-system-visual{
  margin:0;
  background:#fff;
  border:1px solid rgba(46,50,56,.05);
  border-radius:16px;
  padding:30px 30px 22px;
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.hero-system-visual img{
  display:block;
  width:100%;
  max-width:370px;
  height:auto;
  object-fit:contain;
  margin:0 auto 18px;
}

.hero-system-visual figcaption{
  margin:0;
  max-width:340px;
  color:var(--steel-700);
  font:13.5px/1.45 Inter, ui-sans-serif, system-ui;
  text-align:center;
}

@media (max-width:980px){
  .hero-integrated-grid{
    grid-template-columns:minmax(0, 1fr) minmax(260px, .78fr);
    gap:30px;
  }

  .hero--integrated .hero-headline{
    font-size:clamp(38px, 4.8vw, 54px);
  }

  .hero-system-visual{
    max-width:380px;
    padding:22px;
  }

  .hero-system-visual img{
    max-width:320px;
  }
}

@media (max-width:820px){
  .hero--integrated{
    padding:34px 0 30px;
  }

  .hero-integrated-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .hero-integrated-copy,
  .hero--integrated .hero-headline,
  .hero--integrated .hero-lead{
    text-align:center;
  }

  .hero--integrated .hero-lead{
    margin-left:auto;
    margin-right:auto;
  }

  .hero-ctas--left,
  .hero-badges--left{
    justify-content:center;
  }

  .hero-system-visual{
    max-width:480px;
    margin:0 auto;
  }
}

@media (max-width:600px){
  .hero--integrated .hero-headline{
    font-size:clamp(32px, 8vw, 40px);
    line-height:1.12;
  }

  .hero--integrated .hero-headline br{
    display:none;
  }

  .hero-system-visual{
    padding:18px;
  }
}
