  :root{
    --rust:#C4451C;
    --rust-dark:#9C3616;
    --charcoal:#2E2B28;
    --cream:#f8f5ec;
/*  --cream:#FAF6F0; */
    --cream-dim:#F2EAE0;
    --mustard:#E8A63D;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    background:var(--cream);
    color:var(--charcoal);
    font-family:'DM Mono', monospace;
    line-height:1.6;
  }
  a{color:inherit;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 32px;}

  header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:28px 0;
  }
  .logo{
    font-family:'DM Serif Display', serif;
    font-size:28px;
    letter-spacing:0.5px;
  }
  .powered-by{
    font-size:12px;
    color:var(--charcoal);
    opacity:0.65;
    text-decoration:none;
    border-bottom:1px solid transparent;
    transition:border-color 0.2s ease, opacity 0.2s ease;
  }
  .powered-by:hover{opacity:1; border-color:var(--charcoal);}

  .hero{
    padding:10px 0 48px;
    text-align:center;
  }
  .hero h1{
    font-family:'DM Serif Display', serif;
    font-size:56px;
    line-height:1.1;
    color:var(--rust);
  }
  .hero p{
    max-width:600px;
    margin:20px auto 0;
    font-size:16px;
    color:var(--charcoal);
    opacity:0.85;
  }
  .cta{
    display:inline-block;
    margin-top:32px;
    padding:14px 32px;
    background:var(--charcoal);
    color:var(--cream);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    border-radius:6px;
    transition:background 0.2s ease, transform 0.15s ease;
  }
  .cta:hover{background:var(--rust); transform:translateY(-2px);}
/*
  .split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    padding:32px 0 64px;
  }
  @media (max-width:640px){
    .split{grid-template-columns:1fr;}
    .hero h1{font-size:40px;}
  }
  .card{
    background:#fff;
    border-radius:14px;
    padding:32px;
    border:1px solid var(--cream-dim);
  }
  .card.fox{border-top:4px solid var(--rust);}
  .card.ox{border-top:4px solid var(--charcoal);}
  .card h2{
    font-family:'DM Serif Display', serif;
    font-size:26px;
    margin-bottom:6px;
  }
  .card.fox h2{color:var(--rust);}
  .card.ox h2{color:var(--charcoal);}
  .card .tag{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1px;
    opacity:0.6;
    margin-bottom:20px;
    display:block;
  }
  .card ul{list-style:none;}
  .card li{
    padding:12px 0;
    border-top:1px solid var(--cream-dim);
    font-size:14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    transition:padding-left 0.15s ease;
  }
  .card li:hover{padding-left:6px;}
  .card li:first-of-type{border-top:none;}
  .dot{
    width:6px;height:6px;border-radius:50%;
    flex-shrink:0;margin-right:10px;
  }
  .card.fox .dot{background:var(--mustard);}
  .card.ox .dot{background:var(--charcoal);}
  .li-inner{display:flex;align-items:center;}

*/
  .strip{
    background:var(--charcoal);
    color:var(--cream);
    padding:48px 0;
    text-align:center;
  }
  .strip p{
    font-family:'DM Serif Display', serif;
    font-size:22px;
    max-width:900px;
    margin:0 auto;
  }
  .strip a{
    color:var(--mustard);
    text-decoration:underline;
  } 

/* ============================================================
   OXFOX — INSTANCED SERVICE BOXES
   Replaces the old .split / .card rules (can leave old rules in
   place if other pages still use them — these are new class names).
   ============================================================ */

.services{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:48px;
  max-width:1400px;
  margin:0 auto;
  padding:32px 40px 80px;
}

.services-group{
  width:100%;
  min-width:0;
}

.group-head{
  margin-bottom:20px;
}

.group-head .tag{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  opacity:0.6;
  display:block;
  margin-bottom:6px;
}

.group-head h2{
  font-family:'DM Serif Display', serif;
  font-size:26px;
  margin-bottom:10px;
}

.group-ox .group-head h2{color:var(--charcoal);}
.group-fox .group-head h2{color:var(--rust);}

.group-key{
  font-size:13px;
  line-height:1.55;
  opacity:0.75;
  max-width:100%;
}

.service-boxes{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  width:100%;
}

.service-box{
  background:#fff;
  border-radius:14px;
  padding:36px 30px;
  border:1px solid var(--cream-dim);
  display:flex;
  flex-direction:column;
  gap:12px;
  aspect-ratio:1 / 1;
  overflow:hidden;
  transition:transform 0.15s ease, box-shadow 0.15s ease;
}

.service-box:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(46,43,40,0.08);
}

.box-eyebrow{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-weight:500;
}

.box-ox .box-eyebrow{color:var(--charcoal); opacity:0.55;}
.box-fox .box-eyebrow{color:var(--rust); opacity:0.85;}

.box-ox{border-top:3px solid var(--charcoal);}
.box-fox{border-top:3px solid var(--rust);}

.service-box h3{
  font-family:'DM Serif Display', serif;
  font-size:17px;
  line-height:1.25;
}

.box-ox h3{color:var(--charcoal);}
.box-fox h3{color:var(--rust);}

.service-box p{
  font-size:12.5px;
  line-height:1.55;
  opacity:0.75;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .services{grid-template-columns:1fr; gap:36px;}
}

@media (max-width:480px){
  .service-boxes{grid-template-columns:1fr;}
}

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .services{grid-template-columns:1fr; gap:36px;}
}

@media (max-width:480px){
  .service-boxes{grid-template-columns:1fr;}
}

footer{
  background:var(--charcoal);
  color:var(--cream);
  padding:32px 0 48px;
  text-align:center;
  font-size:12px;
  opacity:0.6;
}
