  /* ===== CNC landing section ===== */
  .cnc-landing { --cnc-purple: #5E4881; --annot-color: #fff; --annot-bg: #ffffff33; }

  /* annotation pill (shared across sections; only colour/bg vary per section) */
  .cnc-annot {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 4px 8px;
      border-radius: 6px; font-family: "Roboto", sans-serif; font-weight: 300; font-size: 16px; line-height: 1.5;
      color: var(--annot-color, #fff); background: var(--annot-bg, #ffffff33);
  }
  .cnc-landing .cnc-annot { margin-bottom: 24px; }
  .cnc-features .cnc-annot { margin-bottom: 16px; }

  /* hero */
  .cnc-hero {
      position: relative; background-size: cover; background-position: center;
      color: #fff; padding: 182px 0;
  }
  .cnc-hero__overlay {
      position: absolute; inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,0) 75%);
  }
  .cnc-hero .cnc-container { position: relative; z-index: 1; width: 100%; }
  .cnc-hero__content { max-width: 768px; }
  .cnc-hero__title { color: #fff; font-family: "Baloo 2", sans-serif; font-weight: 700; font-size: 56px; line-height: 1.2; letter-spacing: 0; margin: 0 0 20px; }
  .cnc-hero__desc { color: rgba(255,255,255,.9); font-family: "Roboto", sans-serif; font-weight: 400; font-size: 18px; line-height: 1.5; letter-spacing: 0; margin: 0 0 32px; max-width: 768px; }
  .cnc-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }
  /* shared button shape (Figma: 12/24 padding, 16 radius, 8 gap, 48 tall) */
  .cnc-hero__actions .btn--primary,
  .cnc-btn-ghost {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      width: auto; flex: 0 0 auto;   /* never stretch full-width (overrides theme .btn--primary) */
      padding: 12px 24px; border-radius: 16px;
      font-family: "Roboto", sans-serif; font-weight: 400;
      font-size: 16px; line-height: 1.5; letter-spacing: 0;
  }
  .cnc-btn-ghost {
      border: 1px solid rgba(255,255,255,.6); color: #fff; background: transparent;
      transition: background .15s;
  }
  .cnc-btn-ghost:hover { background: rgba(255,255,255,.12); color: #fff; }

  /* stats band */
  .cnc-stats { background: var(--cnc-purple); color: #fff; padding: 80px 0; }
  .cnc-stats__inner { display: flex; gap: 80px; align-items: flex-start; flex-wrap: wrap; }
  .cnc-stats__intro { flex: 1 1 0; padding: 57px 0; }
  .cnc-stats__title { color: #fff; font-family: "Baloo 2", sans-serif; font-weight: 700; font-size: 48px; line-height: 1.2; letter-spacing: 0; margin: 0 0 20px; }
  .cnc-stats__desc { color: rgba(255,255,255,.85); font-family: "Roboto", sans-serif; font-weight: 400; font-size: 18px; line-height: 1.5; letter-spacing: 0; margin: 0; }

  .cnc-stats__grid {
      flex: 1 1 0;
      display: grid; grid-template-columns: 1fr 1fr;
      column-gap: 32px; row-gap: 48px;
  }
  .cnc-stat { padding-left: 24px; border-left: 1px solid #fff; }
  .cnc-stat__value { display: block; font-family: "Roboto", sans-serif; font-weight: 600; font-size: 80px; line-height: 1.3; letter-spacing: 0; margin-bottom: 8px; }
  .cnc-stat__label { display: block; font-family: "Roboto", sans-serif; font-weight: 400; font-size: 20px; line-height: 1.4; letter-spacing: 0; color: rgba(255,255,255,.85); }



/* page-scoped container (replaces theme .site-block for this redesign page) */
.cnc-container {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 80px;
  padding-right: 80px;
}
@media (max-width: 1024px) {
  .cnc-stats__inner { flex-direction: column; gap: 48px; }
  .cnc-stats__intro { padding: 0; }
}
@media (max-width: 768px) {
  .cnc-container { padding-left: 24px; padding-right: 24px; }
  .cnc-hero { padding: 141px 0; }
  .cnc-hero__title { font-size: 48px; line-height: 1.2; }
  .cnc-hero__title br { display: none; }   /* no forced break after "jobs" on mobile */
  .cnc-hero__desc { font-size: 16px; }
  .cnc-hero__actions { align-items: flex-start; }
  .cnc-hero__actions .cnc-btn-ghost { display: none; }            /* hide secondary button on mobile */
  .cnc-hero__actions .btn--primary { width: auto; flex: 0 0 auto; } /* natural width, not stretched */
  .cnc-stats__title { font-size: 40px; line-height: 1.2; margin-bottom: 24px; }
  .cnc-stats__desc { font-size: 16px; }
  .cnc-stats__grid { grid-template-columns: 1fr; row-gap: 32px; }
  .cnc-stat__value { font-size: 56px; font-weight: 700; line-height: 1.3; }
  .cnc-stat__label { font-size: 18px; }
}

/* primary CTA (Figma orange) */
.cnc-hero__actions .btn--primary { background: #FF4A2D; border: none; color: #fff; }
.cnc-hero__actions .btn--primary:hover { background: #e8401f; color: #fff; }


/* ============================================================
   FEATURES — "Europe's manufacturing powerhouse" cards grid
   ============================================================ */
.cnc-features{
  background:#F0EFF1;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}

.cnc-features__header{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:768px;
  margin-left:auto;
  margin-right:auto;
}


.cnc-features__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:48px;
  line-height:1.2;
  letter-spacing:0;
  color:#2F2441;
  max-width:none;
  margin:0 0 24px;
}

.cnc-features__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  max-width:none;
  margin:0;
}

.cnc-features__grid{
  margin-top:80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}

.cnc-feat-card{
  background:#DFDAE6;
  border:1px solid #9485AB;
  border-radius:16px;
  padding:32px;
}
.cnc-feat-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#FF5A2C;
}
.cnc-feat-card__icon img{
  display:block;
  max-width:100%;
  height:auto;
}
.cnc-feat-card__title{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:32px;
  line-height:1.3;
  color:#2F2441;
  margin:24px 0 16px;
}
.cnc-feat-card__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

@media (max-width:1024px){
  .cnc-features__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .cnc-features{ padding:64px 0; }
  .cnc-features__title{ font-size:40px; }
  /* cards collapse into a swipe slider (native scroll-snap, next card peeks) */
  .cnc-features__grid{
    display:flex;
    margin-top:80px;
    gap:16px;
    margin-right:-24px;          /* bleed to the screen edge so the next card peeks */
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:4px;
  }
  .cnc-features__grid::-webkit-scrollbar{ display:none; }
  .cnc-feat-card{ flex:0 0 85%; scroll-snap-align:start; }
  .cnc-feat-card__title{ font-size:24px; }
}


/* ============================================================
   SALARIES — CNC operator salaries bento
   Colours are first-pass (close to mockup); send exact tokens to refine.
   ============================================================ */
.cnc-salaries{
  background:#fff;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}
.cnc-salaries .cnc-annot{ margin-bottom:24px; }

.cnc-sal__head{
  display:flex;
  align-items:flex-start;
  gap:80px;
  flex-wrap:wrap;
}
.cnc-sal__head-left{ flex:1 1 0; }
.cnc-sal__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1.2;
  color:#2F2441;
  margin:0;
}
.cnc-sal__desc{
  flex:1 1 0;
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

.cnc-sal__bento{
  margin-top:80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  align-items:start;
}
.cnc-sal-col{ display:flex; flex-direction:column; gap:32px; }

.cnc-sal-cell{
  border-radius:16px;
  padding:32px;
  overflow:hidden;
}
.cnc-sal-tall{ height:618px; }
.cnc-sal-photo{ height:250px; }
.cnc-sal-box{ height:336px; }

/* stat layout */
.cnc-sal-stat{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;   /* purple: value pinned to bottom */
}
.cnc-sal-cell--orange .cnc-sal-stat,
.cnc-sal-cell--light  .cnc-sal-stat{ justify-content:flex-start; }
.cnc-sal-cell--orange .cnc-sal-stat__label,
.cnc-sal-cell--light  .cnc-sal-stat__label{ margin-bottom:48px; }

.cnc-sal-stat__label{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:1.4;
}
.cnc-sal-stat__value{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:80px;
  line-height:1.2;
  text-align:right;
}
.cnc-sal-stat__sub{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.75;
  text-align:right;
}
.cnc-sal-divider{
  height:1px;
  border:none;
  background:currentColor;
  opacity:.2;
  margin:16px 0;
}

/* cell colours */
.cnc-sal-cell--purple{ background:#4C3F6B; color:#DFDAE6; }
.cnc-sal-cell--purple .cnc-sal-stat__label{ color:#DFDAE6; }
.cnc-sal-cell--purple .cnc-sal-stat__sub{ color:#DFDAE6; }

.cnc-sal-cell--orange{ background:#FF4A2D; color:#fff; }
.cnc-sal-cell--orange .cnc-sal-stat__label{ color:white; }
.cnc-sal-cell--orange .cnc-sal-stat__sub{ color:white; }

.cnc-sal-cell--light{ background:#ECEBF1; color:#2F2441; }
.cnc-sal-cell--light .cnc-sal-stat__label{ color:#2F2441; }
.cnc-sal-cell--light .cnc-sal-stat__value{ color:#2F2441; }
.cnc-sal-cell--light .cnc-sal-stat__sub{ color:#2F2441; }

/* photo cells */
.cnc-sal-cell--photo{ padding:0; background:#E7E4F0; }
.cnc-sal-cell--photo img{ width:100%; height:100%; object-fit:cover; display:block; }

@media (max-width:900px){
  .cnc-sal__bento{ grid-template-columns:1fr; }
  /* stacked: cards size to their content (no forced heights / empty gaps) */
  .cnc-sal-tall{ height:auto; }
  .cnc-sal-box{ height:auto; }
  .cnc-sal-photo{ height:220px; }
  /* flow stat content naturally instead of pinning the value to the bottom */
  .cnc-sal-stat{ justify-content:flex-start; }
  .cnc-sal-cell--purple .cnc-sal-stat__label{ margin-bottom:48px; }
}
@media (max-width:768px){
  .cnc-salaries{ padding:64px 0; }
  .cnc-sal__head{ flex-direction:column; gap:24px; }
  .cnc-sal__title{ font-size:40px; }
  .cnc-sal__bento{ margin-top:80px; }
}


/* ============================================================
   ROLE - "What does a CNC operator do?" (photo + responsibilities)
   ============================================================ */
.cnc-role{
  background:#DFDAE640;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}
.cnc-role .cnc-annot{ margin-bottom:16px; }

.cnc-role__head{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}
.cnc-role__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1.2;
  color:#2F2441;
  margin:0 0 24px;
}
.cnc-role__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

.cnc-role__body{
  margin-top:80px;
  display:grid;
  grid-template-columns:540px minmax(0, 1fr);
  gap:80px;
  align-items:stretch;
  padding-left:56px;
  padding-right:56px;
}
.cnc-role__photo{
  position:relative;
  align-self:start;
  border-radius:12px;
  overflow:hidden;
  background:#E7E4F0;
  height:507px;
}
.cnc-role__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; }

.cnc-role__features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;

  align-content:center;
  max-width:548px;
}
.cnc-role__check{ display:inline-flex; margin-bottom:24px; }
.cnc-role__check img{ width:40px; height:40px; display:block; }
.cnc-role__ftitle{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:26px;
  line-height:1.3;
  color:#2F2441;
  margin:0 0 16px;
}
.cnc-proc-step__num::after{ content:"."; }
.cnc-role__fdesc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

@media (max-width:1200px){
  .cnc-role__body{ grid-template-columns:1fr; gap:40px; }
  .cnc-role__photo{ height:auto; min-height:420px; }
  .cnc-role__features{ max-width:none; }
}
@media (max-width:768px){
  .cnc-role{ padding:64px 0; }
  .cnc-role__body{ padding-left:0; padding-right:0; }
  .cnc-role__title{ font-size:40px; }
  .cnc-role__features{
    display:flex;
    gap:16px;
    margin-right:-24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:4px;
  }
  .cnc-role__features::-webkit-scrollbar{ display:none; }
  .cnc-role__feature{ flex:0 0 85%; scroll-snap-align:start; }
}


/* ============================================================
   REQUIREMENTS - "Requirements & qualifications" (image-card grid)
   ============================================================ */
.cnc-req{
  background:#fff;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}
.cnc-req .cnc-annot{ margin-bottom:16px; }

.cnc-req__header{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:768px;
  margin-left:auto;
  margin-right:auto;
}
.cnc-req__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1.2;
  color:#2F2441;
  margin:0 0 24px;
}
.cnc-req__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

.cnc-req__grid{
  margin-top:80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.cnc-req-card{
  background:#DFDAE6;
  border:1px solid #9485AB;
  border-radius:16px;
  padding:24px;
}
.cnc-req-card__img{
  width:100%;
  aspect-ratio:341 / 182;
  object-fit:cover;
  border-radius:8px;
  display:block;
  margin-bottom:24px;
  background:#E7E4F0;
}
.cnc-req-card__title{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:32px;
  line-height:1.3;
  color:#2F2441;
  margin:0 0 12px;
}
.cnc-req-card__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}

@media (max-width:1024px){
  .cnc-req__grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .cnc-req{ padding:64px 0 42px; }
  .cnc-req__title{ font-size:40px; }
  .cnc-req__grid{
    display:flex;
    margin-top:80px;
    gap:16px;
    margin-right:-24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding-bottom:4px;
  }
  .cnc-req__grid::-webkit-scrollbar{ display:none; }
  .cnc-req-card{ flex:0 0 85%; scroll-snap-align:start; }
  .cnc-req-card__img{ aspect-ratio:auto; height:182px; }
}


/* ============================================================
   RELOCATION - "We handle the move" (purple block, icon cards)
   ============================================================ */
.cnc-reloc{
  background:#5E4881;
  color:#fff;
  padding:112px 0;
  --annot-color:#fff;
  --annot-bg:#ffffff26;
}
.cnc-reloc__header{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  max-width:680px;
  margin:0 auto;
}
.cnc-reloc .cnc-annot{ margin-bottom:16px; }
.cnc-reloc__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:48px;
  line-height:1.2;
  color:#fff;
  margin:0 0 20px;
}
.cnc-reloc__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0;
}
.cnc-reloc__desc strong{ font-weight:700; color:#fff; }

.cnc-reloc__grid{
  margin-top:80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.cnc-reloc-card{
  background:#ECE9F2;
  border:1px solid transparent;
  border-radius:16px;
  padding:32px;
}
.cnc-reloc-card__icon{ display:inline-flex; color:#FF4A2D; margin-bottom:24px; }
.cnc-reloc-card__icon svg{ width:48px; height:48px; display:block; }
.cnc-reloc-card__title{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:32px;
  line-height:1.3;
  color:#2F2441;
  margin:0 0 24px;
}
.cnc-reloc-card__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
}
.cnc-reloc-card__desc strong{ font-weight:700; color:#2F2441; }

/* variant (highlight) card */
.cnc-reloc-card--variant{ background:#5E488133; border-color:#9485AB; }
.cnc-reloc-card--variant .cnc-reloc-card__icon{ color:#9485AB; }
.cnc-reloc-card--variant .cnc-reloc-card__title{ color:#fff; }
.cnc-reloc-card--variant .cnc-reloc-card__desc,
.cnc-reloc-card--variant .cnc-reloc-card__desc strong{ color:rgba(255,255,255,.85); }
.cnc-reloc-card--variant .cnc-reloc-card__desc strong{ color:#fff; font-weight:700; }

@media (max-width:1024px){ .cnc-reloc__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){
  .cnc-reloc{ padding:64px 0; }
  .cnc-reloc__title{ font-size:40px; }
  .cnc-reloc-card__title{ font-size:24px; }
  .cnc-reloc__grid{ grid-template-columns:1fr; }
}


/* ============================================================
   PROCESS - "Start working ... in 4 Steps" (timeline)
   ============================================================ */
.cnc-proc{
  background:#fff;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}
.cnc-proc .cnc-annot{ margin-bottom:16px; }

.cnc-proc__body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}
.cnc-proc__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1.2;
  color:#2F2441;
  margin:0;
}
.cnc-proc__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  margin:24px 0 0;
  max-width:440px;
}

.cnc-proc__timeline{ display:flex; flex-direction:column; }
.cnc-proc-step{ position:relative; padding-left:56px; padding-bottom:40px; }
.cnc-proc-step:last-child{ padding-bottom:0; }
/* connector line spans the FULL height of each step, so stacked steps join into one continuous line */
.cnc-proc-step::before{
  content:"";
  position:absolute;
  left:6.5px;
  top:0;
  bottom:0;
  width:3px;
  background:var(--seg,#FF8673);
}
.cnc-proc-step:first-child::before{ top:-16px; }   /* longer lead-in dash above the first dot */
/* last step keeps a trailing line below the last dot */
.cnc-proc-step__dot{
  position:absolute;
  left:0;
  top:11px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--c1,#FF4A2D);
  box-shadow:0 0 0 6px #fff;
  z-index:1;
}
.cnc-proc-step__num{
  display:block;
  font-family:"Roboto",sans-serif;
  font-weight:300;
  font-size:36px;
  line-height:1.2;
  color:#2F2441;
  margin:0 0 16px;
}
.cnc-proc-step__title{
  font-family:"Roboto",sans-serif;
  font-weight:700;
  font-size:40px;
  line-height:1.3;
  color:#2F2441;
  margin:0 0 32px;
}
.cnc-proc-step__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  margin:0;
  max-width:420px;
}

@media (max-width:900px){
  .cnc-proc__body{ grid-template-columns:1fr; gap:48px; }
}
@media (max-width:768px){
  .cnc-proc{ padding:64px 0; }
  .cnc-proc__title{ font-size:40px; }
}


/* ============================================================
   ARTICLES - "Everything you need to know" (blog carousel)
   ============================================================ */
.cnc-art{
  background:#F0EFF1;
  color:#20242E;
  padding:112px 0;
  --annot-color:#3F3056;
  --annot-bg:#3F305626;
}
.cnc-art .cnc-annot{ margin-bottom:16px; }

.cnc-art__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:48px;
  flex-wrap:wrap;
}
.cnc-art__head-left{max-width:768px;}
.cnc-art__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:48px;
  line-height:1.2;
  color:#2F2441;
  margin:0;
}
.cnc-art__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:#2D2D2D;
  max-width:576px;
  margin:24px 0 0;
}
.cnc-art__viewall{
  flex:none;
  border:1px solid #2F2441;
  background:transparent;
  border-radius:16px;
  padding:8px 20px;
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:16px;
  color:#2F2441;
  text-decoration:none;
  white-space:nowrap;
  transition:background .15s;
  line-height:1.5;
}
.cnc-art__viewall:hover{ background:#9485AB1a; color:#2F2441; }

.cnc-art__track{
  margin-top:80px;
  margin-right:-80px;   /* bleed to the max-content (1440) right edge; header stays in the gutter */
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding-bottom:4px;
}
.cnc-art__track::-webkit-scrollbar{ display:none; }

.cnc-art-card{
  position:relative;
  flex:0 0 405px;
  height:501px;
  border-radius:16px;
  overflow:hidden;
  background:#2F2441 center/cover no-repeat;
  scroll-snap-align:start;
  display:block;
  text-decoration:none;
}
.cnc-art-card__overlay{
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.88) 0%, rgba(0,0,0,.45) 42%, rgba(0,0,0,0) 72%);
}
.cnc-art-card__body{ position:absolute; left:0; right:0; bottom:0; padding:32px; color:#fff; }
.cnc-art-card__meta{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.cnc-art-card__tag{
  border:1px solid #FAF7F5;
  border-radius:8px;
  padding:4px 8px;
  font-family:"Baloo 2",sans-serif;
  font-weight:400;
  font-size:14px;
  line-height:1.5;
  letter-spacing:0;
  text-transform:uppercase;
}
.cnc-art-card__read{ display:inline-flex; align-items:center; gap:8px; font-family:"Roboto",sans-serif; font-weight:400; font-size:14px; color:#FAF7F5; }
.cnc-art-card__read svg{ width:12px; height:12px; flex:none; }
.cnc-art-card__title{ font-family:"Roboto",sans-serif; font-weight:700; font-size:24px; line-height:1.2; color:#fff; margin:0 0 8px; }
.cnc-art-card__excerpt{ font-family:"Roboto",sans-serif; font-weight:400; font-size:16px; line-height:1.5; color:#FAF7F5; margin:0; }

.cnc-art__nav{ margin-top:80px; display:flex; justify-content:space-between; align-items:center; }
.cnc-art__dots{ display:flex; gap:8px; align-items:center; }
.cnc-art__dot{ width:8px; height:8px; border-radius:50%; background:#C9C3D6; border:none; padding:0; cursor:pointer; transition:width .2s, background .2s; }
.cnc-art__dot.is-active{ background:#2F2441; }
.cnc-art__arrows{ display:flex; gap:12px; }
.cnc-art__arrow{ width:44px; height:44px; border-radius:50%; border:1px solid #9485AB; background:#fff; color:#2F2441; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.cnc-art__arrow:hover{ background:#F0EFF1; }

@media (max-width:1024px){
  /* View all drops below the nav (bottom-right) from tablet down */
  .cnc-art .cnc-container{ display:flex; flex-direction:column; }
  .cnc-art__nav{ margin-top:32px; }
  .cnc-art__viewall{ align-self:flex-end; margin-top:48px; order:99; }
}
@media (max-width:768px){
  .cnc-art{ padding:64px 0; }
  .cnc-art__title{ font-size:40px; }
  .cnc-art__track{ margin-right:-24px; }
  .cnc-art-card{ flex-basis:300px; height:360px; }
}


/* ============================================================
   CTA - "Ready to start your CNC career" (image banner)
   ============================================================ */
.cnc-cta{
  position:relative;
  overflow:hidden;
  background:#2F2441 center/cover no-repeat;
  padding:112px 0;
  text-align:center;
}
.cnc-cta__overlay{ position:absolute; inset:0; background:#301B52B2; }
.cnc-cta .cnc-container{ position:relative; z-index:1; }
.cnc-cta__inner{ max-width:680px; margin:0 auto; color:#fff; }
.cnc-cta__title{
  font-family:"Baloo 2",sans-serif;
  font-weight:700;
  font-size:48px;
  line-height:1.2;
  color:#fff;
  margin:0 0 24px;
}
.cnc-cta__desc{
  font-family:"Roboto",sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  color:rgba(255,255,255,.85);
  margin:0 0 32px;
}
.cnc-cta__btn{
  display:inline-flex;
  align-items:center;
  border:1px solid white;
  border-radius:16px;
  padding:12px 24px;
  font-family:"Roboto",sans-serif;
  font-weight:600;
  font-size:16px;
  color:#fff;
  text-decoration:none;
  transition:background .15s;
  line-height:1.5
}
.cnc-cta__btn:hover{ background:rgba(255,255,255,.12); color:#fff; }

@media (max-width:768px){
  .cnc-cta{ padding:64px 0; }
  .cnc-cta__title{ font-size:36px; }
}
