/* =========================================================
   Laminate Casework Manufacturing — page CSS (updated)
   TYPOGRAPHY UPDATE ONLY:
   - Font family: Roboto everywhere
   - Font sizes aligned to About Us rules
   - No layout / spacing / colors / borders / shadows changed
   ========================================================= */

/* ---------- Base ---------- */
body{
  background:#eef3f0;
  color:#31373a;
  font-size:16px;
  /*line-height:28px;*/
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

a, a:visited{
  color:#63bc63;
  text-decoration:none;
  transition:all 150ms ease-in;
}
a:hover, a:focus{ color:#71c271; }

*:focus{
  outline:2px solid #71c271;
  outline-offset:2px;
}

/*img{ max-width:100%; height:auto; display:block; }*/

/* ---------- Utility bar ---------- */
.topbar{
  background:#f9f9f9;
  border-bottom:1px solid #e6e6e6;
  color:#31373a;
  position:sticky;
  top:0;
  z-index:1040;
}
.topbar__inner{
  max-width:1200px;
  margin:0 auto;
  padding:6px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.topbar__brand{
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  font-weight:600;
}
.topbar__nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.topbar__nav a{
  color:#31373a;
  padding:4px 0;
  font-family:"Roboto", Arial, sans-serif;
}
.topbar__nav a:hover{
  color:#71c271;
  text-decoration:underline;
  text-underline-offset:3px;
}

.topbar__mobile{ display:none; position:relative; }
.topbar__mobile summary{
  cursor:pointer;
  list-style:none;
  user-select:none;
  padding:4px 0;
  font-family:"Roboto", Arial, sans-serif;
}
.topbar__mobile summary::-webkit-details-marker{ display:none; }
.topbar__mobile-list{
  position:absolute;
  right:0;
  top:100%;
  background:#f9f9f9;
  border:1px solid #f1f4f5;
  border-radius:8px;
  padding:8px 10px;
  margin-top:6px;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
}
.topbar__mobile-list a{
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
}
.topbar__mobile-list a:hover{ color:#71c271; }

@media (max-width:768px){
  .topbar__nav{ display:none; }
  .topbar__mobile{ display:block; }
  .topbar__inner{ padding:8px 12px; }
}

/* ---------- Header layering only (main nav remains in site CSS) ---------- */
.site-header{ position:relative; z-index:1030; }

/* ---------- Shared layout helpers ---------- */
.lcw-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}

.lcw-section{
  padding:44px 0;
}
.lcw-section--alt{
  background:#f0f0f0;
  border-top:1px solid #e8efec;
  border-bottom:1px solid #e8efec;
}

.lcw-section__header{ margin-bottom:18px; }
.lcw-section__title{
  margin:0 0 8px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:28px;
  line-height:36px;
}
.lcw-section__lead{
  margin:0;
  color:#5a6763;
  max-width:900px;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}

/* ---------- Hero ---------- */
/* =========================================================
   Hero (image provided by HTML)
   ========================================================= */
.lcw-hero {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  color: #fff;
}

/* The image layer */
.lcw-hero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.lcw-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Optional overlay for readability */
.lcw-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

/* Content stays above image + overlay */
.lcw-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
}

.lcw-hero__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 16px;
}
.lcw-eyebrow{
  margin:0 0 8px 0;
  color:#ffd54f;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:12px;
  line-height:18px;
}
.lcw-hero__title{
  margin:0 0 10px 0;
  color:#fff;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:38px;
  line-height:46px;
}
.lcw-hero__sub{
  margin:0 0 18px 0;
  max-width:760px;
  color:rgba(255,255,255,.92);
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}
.lcw-hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

@media (max-width:768px){
  .lcw-hero{ padding:54px 0; }
  .lcw-hero__title{
    font-size:30px;
    line-height:38px;
  }
}

/* ---------- Buttons ---------- */
.lcw-btn{
  display:inline-block;
  border-radius:3px;
  padding:11px 16px;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-size:13px;
  line-height:18px;
  text-decoration:none;
  transition:background 200ms ease, transform 150ms ease, color 200ms ease, border-color 200ms ease;
}
.lcw-btn--primary{
  background:#16412f;
  color:#fff;
  border:1px solid #16412f;
}
.lcw-btn--primary:hover{
  background:#6AA476;
  border-color:#6AA476;
  color:#fff;
  transform:translateY(-1px);
}
.lcw-btn--ghost{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.45);
}
.lcw-btn--ghost:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.65);
  color:#fff;
  transform:translateY(-1px);
}
/* Use on light backgrounds (Quote Checklist secondary button) */
.lcw-btn--dark{
  color:#16412f !important;
  border-color:#16412f !important;
}
.lcw-btn--dark:hover{
  background:rgba(22,65,47,.08) !important;
  transform:translateY(-1px);
}

/* ---------- What we build (deliverables pills) ---------- */
.lcw-deliverables{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.lcw-pill{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  padding:10px 14px;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-size:13px;
  line-height:18px;
  color:#31373a;
}

/* =========================================================
   Photo Strip (reusable)
   ========================================================= */
.lcw-photo-strip {
  padding: 18px 0;
}

.lcw-photo-strip__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lcw-photo {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,0.03);
}

.lcw-photo img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
}

/* 2-up on medium */
@media (max-width: 991px) {
  .lcw-photo-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lcw-photo img {
    height: 190px;
  }
}

/* 1-up on small */
@media (max-width: 575px) {
  .lcw-photo-strip__grid {
    grid-template-columns: 1fr;
  }
  .lcw-photo img {
    height: 200px;
  }
}


/* ---------- Industry use-cases ---------- */
.lcw-cases{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.lcw-case{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:18px;
}
.lcw-case h3{
  margin:0 0 10px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  line-height:18px;
}
.lcw-case ul{
  margin:0;
  padding-left:18px;
  color:#5a6763;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}
.lcw-case li{ margin:8px 0; line-height:1.65; }

@media (max-width:1100px){
  .lcw-cases{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .lcw-cases{ grid-template-columns:1fr; }
}

/* ---------- Quote checklist section ---------- */
.lcw-checklist{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:16px;
  align-items:stretch;
}
.lcw-checklist__box{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:18px;
}
.lcw-checklist__box h3{
  margin:0 0 10px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.10em;
  font-size:16px;
  line-height:24px;
}
.lcw-checklist__list{
  margin:0;
  padding-left:18px;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}
.lcw-checklist__list li{
  margin:10px 0;
  color:#31373a;
  line-height:1.7;
}
.lcw-checklist__list b{ font-weight:700; }
.lcw-checklist__actions{
  margin-top:14px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.lcw-checklist__media{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  overflow:hidden;
}
.lcw-checklist__media img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
}

@media (max-width:991px){
  .lcw-checklist{ grid-template-columns:1fr; }
  .lcw-checklist__media img{ min-height:240px; }
}

/* ---------- Program manufacturing ---------- */
.lcw-programs{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.lcw-program{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:18px;
}
.lcw-program h3{
  margin:0 0 8px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  line-height:18px;
}
.lcw-program p{
  margin:0;
  color:#5a6763;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:26px;
}

@media (max-width:1100px){
  .lcw-programs{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:640px){
  .lcw-programs{ grid-template-columns:1fr; }
}

/* =========================================================
   Program Proof Photo Strip (below Program Manufacturing)
   ========================================================= */
.lcw-photo-strip--program {
  padding: 28px 0;
}

.lcw-photo-strip--program .lcw-section__header {
  margin-bottom: 16px;
}

/* reuse your photo strip grid rules if you already added them */
.lcw-photo-strip__grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lcw-photo {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,0.03);
}

.lcw-photo img {
  display: block;
  width: 100%;
  height: 185px;
  object-fit: cover;
}

/* 2-up on medium */
@media (max-width: 991px) {
  .lcw-photo-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lcw-photo img { height: 200px; }
}

/* 1-up on small */
@media (max-width: 575px) {
  .lcw-photo-strip__grid { grid-template-columns: 1fr; }
  .lcw-photo img { height: 210px; }
}


/* ---------- Two-column cards (Materials, Logistics) ---------- */
.lcw-two-col{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.lcw-card{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:18px;
}
.lcw-card h3{
  margin:0 0 10px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  line-height:18px;
}
.lcw-list{
  margin:0;
  padding-left:18px;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}
.lcw-list li{
  margin:10px 0;
  color:#31373a;
  line-height:1.7;
}
.lcw-list b{ font-weight:700; }

@media (max-width:991px){
  .lcw-two-col{ grid-template-columns:1fr; }
}

/* ---------- Quality checkpoints ---------- */
.lcw-qc{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:14px;
}
.lcw-qc-item{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:16px;
}
.lcw-qc-item h3{
  margin:0 0 8px 0;
  color:#31373a;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  line-height:18px;
}
.lcw-qc-item p{
  margin:0;
  color:#5a6763;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:26px;
}
@media (max-width:1200px){
  .lcw-qc{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
@media (max-width:820px){
  .lcw-qc{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:520px){
  .lcw-qc{ grid-template-columns:1fr; }
}

/* ---------- FAQ ---------- */
.lcw-faq{
  margin-top:14px;
  display:grid;
  gap:12px;
}
.lcw-faq__item{
  background:#ffffff;
  border:1px solid #e8efec;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:14px 16px;
}
.lcw-faq__item summary{
  cursor:pointer;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  line-height:18px;
  color:#31373a;
  list-style:none;
}
.lcw-faq__item summary::-webkit-details-marker{ display:none; }
.lcw-faq__item summary::after{
  content:"+";
  float:right;
  color:#16412f;
  font-weight:900;
}
.lcw-faq__item[open] summary::after{ content:"–"; }

.lcw-faq__item p{
  margin:10px 0 0 0;
  color:#5a6763;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:26px;
}

/* ---------- CTA ---------- */
.lcw-cta{
  padding:46px 0;
  background:#16412f;
  color:#fff;
}
.lcw-cta__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.lcw-cta__copy h2{
  margin:0 0 6px 0;
  color:#ffd54f;
  font-family:"Roboto", Arial, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:26px;
  line-height:34px;
}
.lcw-cta__copy p{
  margin:0;
  color:rgba(255,255,255,.90);
  font-family:"Roboto", Arial, sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:28px;
}
.lcw-cta__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Full-bleed CTA banner */
.lcw-cta{
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}


/* ---------- Footer menu cleanup (optional; your global footer CSS may override) ---------- */
.footer-menu{
  list-style:none;
  padding:0;
  margin:10px 0 0 0;
}
.footer-menu li{ margin-bottom:6px; }
.footer-menu a{ text-decoration:none; }
