/* ══ SPEC CARDS (reused product-grid pattern) ══ */
.spec-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; }
@media(max-width:800px){ .spec-grid{ grid-template-columns:1fr; } }
.spec-card{ padding:1.9rem 1.8rem; overflow:hidden; }
.spec-card .spec-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.8rem; }
.spec-card h4{ font-size:1.08rem; font-weight:700; text-transform:none; font-family:var(--font-body); }
.spec-card .icon-wrap{ width:46px; height:46px; border-radius:.8rem; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 30% 20%, var(--surface-2), var(--surface)); border:1px solid var(--border); }
.spec-card .icon-wrap svg{ width:26px; height:26px; }
.spec-card-photo{ width:calc(100% + 3.6rem); max-width:none; margin:-1.9rem -1.8rem 1.2rem; height:190px; object-fit:cover; border-radius:1.1rem 1.1rem 0 0; display:block; }
.spec-card p{ font-size:.92rem; color:var(--ink-soft); margin-bottom:1rem; }
.spec-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.spec-tag{ font-family:var(--font-mono); font-size:.7rem; font-weight:600; padding:.35rem .7rem; border-radius:.35rem; background:var(--surface-2); color:var(--ink-soft); }
.product-group-head{ margin:0 0 1.4rem; }
.product-group-head .kicker{ margin-bottom:.5rem; }
.product-group-head h3{ font-size:1.3rem; font-weight:700; font-family:var(--font-display); text-transform:none; }
.product-group{ margin-bottom:2.6rem; }
.product-group:last-child{ margin-bottom:0; }
.spec-grid-3{ grid-template-columns:repeat(3,1fr); }
@media(max-width:900px){ .spec-grid-3{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .spec-grid-3{ grid-template-columns:1fr; } }

/* ══ SINGLE-ITEM PRODUCT FEATURE (avoids an orphan half-width card) ══ */
.spec-feature{ display:grid; grid-template-columns:1fr 1.15fr; align-items:stretch; }
.spec-feature-photo{ width:100%; height:100%; min-height:260px; object-fit:cover; display:block; }
.spec-feature-body{ padding:2.3rem 2.5rem; display:flex; flex-direction:column; justify-content:center; }
.spec-feature-body h4{ font-size:1.32rem; font-weight:700; font-family:var(--font-body); margin-bottom:.7rem; }
.spec-feature-body p{ font-size:.98rem; color:var(--ink-soft); line-height:1.72; margin-bottom:1.2rem; }
@media(max-width:760px){
  .spec-feature{ grid-template-columns:1fr; }
  .spec-feature-photo{ min-height:220px; }
  .spec-feature-body{ padding:1.7rem 1.8rem 2rem; }
}

/* ══ ABOUT / FOOTPRINT TWO-COL ══ */
.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
@media(max-width:860px){ .split{ grid-template-columns:1fr; } }
.split h2{ margin-bottom:1.1rem; }
.split p{ color:var(--ink-soft); font-size:.98rem; line-height:1.72; margin-bottom:1.1rem; }
.split p:last-child{ margin-bottom:0; }
.split-photo{ width:100%; height:100%; min-height:280px; object-fit:cover; border-radius:1.2rem; border:1px solid var(--border); }
.callout-badge{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1rem; border-radius:2rem; background:var(--surface-2); border:1px solid var(--border); font-family:var(--font-mono); font-size:.78rem; font-weight:700; color:var(--accent-ink); margin-top:.4rem; }

/* ══ PROCESS CAROUSEL (shares .cbc engine with careers.html's "Why Join
   Us" carousel; .car-card/.car-icon are that component's card skin,
   copied here so this page doesn't need to pull in all of
   careers-content.css for six rules) ══ */
.car-card {
  position: relative;
  padding: 2.2rem 1.8rem;
  border-radius: 1.4rem;
  background: linear-gradient(155deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .5));
  border: 1px solid rgba(255, 255, 255, .7);
  box-shadow: 0 1px 2px rgba(20, 22, 28, .04), 0 16px 36px rgba(20, 22, 28, .07);
  overflow: hidden;
  isolation: isolate;
  contain: layout paint style;
  backface-visibility: hidden;
  transition: transform .45s cubic-bezier(.16, .84, .44, 1), box-shadow .45s ease, border-color .45s ease;
}
.car-card:hover, .car-card:focus-within { will-change: transform; }
.car-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: linear-gradient(135deg, var(--accent-hot), var(--accent), var(--accent-deep));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.car-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 54px rgba(20, 22, 28, .14), 0 0 40px rgba(255, 106, 31, .14);
}
.car-card:hover::before { opacity: 1; }
.car-icon {
  width: 56px;
  height: 56px;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(155deg, var(--surface-2), var(--surface));
  border: 1px solid var(--border);
  color: var(--accent);
  margin-bottom: 1.2rem;
  transition: transform .4s cubic-bezier(.16, .84, .44, 1), border-color .4s ease, box-shadow .4s ease;
}
.car-card:hover .car-icon { transform: scale(1.1) rotate(-6deg); border-color: var(--accent); box-shadow: 0 10px 24px rgba(255, 106, 31, .22); }
.car-icon svg { width: 28px; height: 28px; }
.car-card h3 { font-size: 1.2rem; margin-bottom: .6rem; }
.car-card p { color: var(--ink-soft); font-size: .95rem; line-height: 1.65; }
html[data-theme="dark"] .car-card {
  background: linear-gradient(155deg, rgba(27, 31, 38, .85), rgba(18, 21, 26, .5));
  border-color: rgba(255, 255, 255, .1);
}

/* career-benefits-carousel.css's mobile card proportions (230-280px wide
   inside a 420px-tall track) were tuned for "Why Join Us" copy and read
   as a thin, stretched sliver for this section's shorter process text —
   widen the card and cut the track down to what the content actually
   needs, scoped to this page's carousel instance only. */
@media (max-width: 640px) {
  #cbcCarousel .cbc-slide { width: min(300px, 84vw); margin-left: calc(min(300px, 84vw) / -2); }
  #cbcCarousel .cbc-track { height: 350px; }
}
@media (max-width: 420px) {
  #cbcCarousel .cbc-slide { width: min(260px, 86vw); margin-left: calc(min(260px, 86vw) / -2); }
  #cbcCarousel .cbc-track { height: 380px; }
}

/* ══ QUALITY FEATURE CARDS ══ */
.qa-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; margin-bottom:2.2rem; }
@media(max-width:760px){ .qa-grid{ grid-template-columns:1fr; } }
.qa-card{ padding:2rem; }
.qa-card .icon-wrap{ width:52px; height:52px; border-radius:.9rem; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 30% 20%, var(--surface-2), var(--surface)); border:1px solid var(--border); margin-bottom:1.1rem; }
.qa-card .icon-wrap svg{ width:28px; height:28px; }
.qa-card h4{ font-size:1.12rem; margin-bottom:.6rem; }
.qa-card p{ color:var(--ink-soft); font-size:.92rem; line-height:1.65; }
.dispatch-note{ max-width:76ch; margin:0 auto; text-align:center; color:var(--ink-soft); font-size:.96rem; line-height:1.7; }
.dispatch-note strong{ color:var(--accent-ink); }

/* ══ CONTACT SPLIT ══ */
.contact-split{ display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; align-items:start; margin-top:2.6rem; }
@media(max-width:860px){ .contact-split{ grid-template-columns:1fr; } }

.contact-info-panel{ padding:0; }
.contact-info-head{
  padding:1.7rem 2rem 1.5rem;
  background:linear-gradient(135deg, var(--accent) 0%, var(--accent-deep) 100%);
  position:relative; overflow:hidden;
}
.contact-info-head::after{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 85% 0%, rgba(255,255,255,.25), transparent 55%);
}
.contact-info-head .kicker-sm{ font-family:var(--font-mono); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-bottom:.4rem; position:relative; }
.contact-info-head h3{ font-size:1.3rem; font-weight:700; color:#fff; position:relative; }
.contact-info-body{ padding:.3rem 2rem 1.6rem; }

.contact-info-row{ display:flex; align-items:flex-start; gap:1.1rem; padding:1.2rem 0; border-bottom:1px solid var(--border); transition:padding-left .25s ease; }
.contact-info-row:last-child{ border-bottom:none; padding-bottom:0; }
.contact-info-row:hover{ padding-left:.3rem; }
.contact-info-row > div{ min-width:0; }
.contact-info-row .icon-wrap{
  width:44px; height:44px; border-radius:.85rem; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(255,106,31,.16), rgba(255,106,31,.04));
  border:1px solid rgba(255,106,31,.25);
}
.contact-info-row .icon-wrap svg{ width:20px; height:20px; }
.contact-info-row h5{ font-family:var(--font-mono); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:.35rem; }
.contact-info-row a{
  font-size:1.02rem; color:var(--accent-ink); font-weight:700; text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor); background-size:0 1.5px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .25s ease; overflow-wrap:break-word;
}
.contact-info-row a:hover{ background-size:100% 1.5px; }
.contact-info-row p{ font-size:.98rem; color:var(--ink); font-weight:500; line-height:1.55; }

.contact-info-footer{
  margin:0 2rem 1.8rem; padding:.9rem 1.1rem; border-radius:.9rem;
  background:var(--surface-2); border:1px solid var(--border);
  display:flex; align-items:center; gap:.7rem; font-size:.86rem; color:var(--ink-soft);
}
.contact-info-footer svg{ width:18px; height:18px; flex-shrink:0; color:#1E8449; }
html[data-theme="dark"] .contact-info-footer svg{ color:#8CE0A0; }

/* ══ FORM FIELDS (reused pattern) ══ */
.field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.3rem 1.5rem; }
@media(max-width:640px){ .field-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.3rem; }
.field label{ font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); }
.field input[type=text], .field input[type=email], .field input[type=tel], .field select, .field textarea{
  font-family:var(--font-body); font-size:var(--field-font-size); color:var(--ink);
  padding:.75rem .9rem; border:1.5px solid var(--border); border-radius:.6rem;
  background:var(--surface); transition:border-color .2s ease, box-shadow .2s ease; width:100%;
}
.field textarea{ resize:vertical; min-height:100px; font-family:var(--font-body); }
.field select{ cursor:pointer; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(255,106,31,.15); }
.field input:hover:not(:focus), .field select:hover:not(:focus), .field textarea:hover:not(:focus){ border-color:var(--accent-hot); }
.alu-form-submit{ border:none; cursor:pointer; width:100%; justify-content:center; }
.alu-form-submit:disabled{ opacity:.6; cursor:not-allowed; }
.alu-form-status{ display:none; text-align:center; margin-top:1rem; font-size:.86rem; font-weight:600; }
.alu-form-status.show{ display:block; }
.alu-form-status.error{ color:var(--accent-deep); }
.alu-form-status.success{ color:#1E8449; }
html[data-theme="dark"] .alu-form-status.success{ color:#8CE0A0; }

/* Extracted inline styles */
.aluminium-foil-il-1 { transition-delay:.05s }
.aluminium-foil-il-2 { transition-delay:.15s }
.aluminium-foil-il-3 { transition-delay:.25s }
.aluminium-foil-il-4 { transition-delay:.35s }
.aluminium-foil-il-5 { margin-bottom:1.4rem; }
.aluminium-foil-il-6 { padding:2rem; }
.aluminium-foil-il-7 { max-width:26ch; }
