/* Campaign-only layout. Shared navigation, form and site stylesheet stay intact. */
.page-concrete-campaign .concrete-hero{padding-bottom:0;background:linear-gradient(130deg,var(--midnight),var(--navy))}
.concrete-hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:68px;align-items:center;padding:38px 0 64px}
.page-concrete-campaign .page-title{font-size:clamp(2.6rem,4.7vw,4.1rem);text-transform:none;line-height:1.04;letter-spacing:-.035em;max-width:13ch}
.page-concrete-campaign .page-lead{font-size:1.1rem;max-width:48ch}
.concrete-call{margin-top:24px;font-size:.94rem;color:var(--sky)}
.concrete-call a{color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.concrete-finish-board{padding:26px;border:1px solid #5e6b8d;border-radius:var(--radius-lg);background:#253254;transform:rotate(-2deg);box-shadow:var(--shadow-lg)}
.concrete-board-label{display:flex;justify-content:space-between;gap:20px;color:var(--sky);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:22px}
.concrete-board-swatches{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.concrete-swatch{height:246px;border-radius:6px;border:1px solid #89909c;box-shadow:inset 0 0 36px #12163226}
.concrete-swatch--stamped{background-color:#c8c4bc;background-image:linear-gradient(90deg,transparent 48%,#8f8c86 49%,#eeeae0 50%,transparent 51%),linear-gradient(0deg,transparent 48%,#8f8c86 49%,#eeeae0 50%,transparent 51%);background-size:104px 76px,104px 76px;background-position:0 0,0 0}
.concrete-swatch--aggregate{background-color:#b4aca0;background-image:radial-gradient(ellipse at 30% 30%,#6f716d 0 3px,transparent 4px),radial-gradient(ellipse at 74% 70%,#e5ded1 0 4px,transparent 5px),radial-gradient(ellipse at 68% 23%,#71675d 0 2px,transparent 3px),radial-gradient(ellipse at 25% 83%,#8e8a83 0 3px,transparent 4px);background-size:27px 31px,37px 29px,31px 43px,39px 37px}
.concrete-board-names{display:grid;grid-template-columns:1fr 1fr;gap:12px;color:#fff;font-size:.86rem;font-weight:600;line-height:1.35;margin-top:16px}
.concrete-illustration-note{font-size:.72rem;color:var(--sky);margin-top:22px}
.concrete-trust{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #51607e;gap:24px;padding:27px 0 30px}
.concrete-trust li{display:grid;gap:2px}
.concrete-trust strong{color:#fff;font-size:1rem;font-weight:600}
.concrete-trust span{font-size:.84rem;color:var(--sky)}
.concrete-finishes .section-head{margin-bottom:36px;max-width:780px}
.concrete-finish-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.concrete-finish-card{display:flex;flex-direction:column;padding:32px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--white)}
.concrete-finish-top{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--text-soft);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}
.concrete-index{font-family:Montserrat,sans-serif;font-size:1.8rem;letter-spacing:-.06em;color:var(--accent-deep);font-weight:700}
.concrete-finish-card h3{font-size:1.6rem;max-width:19ch;line-height:1.16;margin:24px 0 18px}
.concrete-finish-card p{color:var(--text-soft);max-width:47ch}
.concrete-finish-note{padding-top:16px;font-size:.93rem}
.concrete-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;color:var(--accent-deep);font-weight:700;font-size:.95rem;text-decoration:underline;text-underline-offset:5px;line-height:1.5;padding:12px 0}
.concrete-text-link span{font-size:1.25rem;text-decoration:none}
.concrete-finish-card .concrete-text-link{margin-top:auto;padding-top:30px}
.concrete-finish-help{color:var(--text-soft);font-size:.95rem;margin-top:24px}
.concrete-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.concrete-scope .benefit-list{padding-top:8px;gap:22px}
.concrete-scope .concrete-text-link,.concrete-faq .concrete-text-link{margin-top:22px}
.concrete-faq .faq{margin-top:0}
.concrete-finish-board--single .concrete-board-swatches,.concrete-finish-board--single .concrete-board-names{grid-template-columns:1fr}
.concrete-swatch--layers{background:linear-gradient(180deg,#d9d5cc 0 38%,#9a968e 38% 39.5%,transparent 39.5% 74%,#8a7660 74% 100%),radial-gradient(circle at 30% 40%,#7d7a73 0 3px,transparent 4px) 0 0/22px 18px,radial-gradient(circle at 70% 70%,#a7a297 0 4px,transparent 5px) 0 0/29px 23px,#c2bdb2}
.concrete-swatch--warehouse{position:relative;background:linear-gradient(90deg,transparent 64%,#3d4456 64% 67%,transparent 67%),linear-gradient(90deg,#8f8c86 1px,transparent 1px) 0 0/25% 100%,linear-gradient(0deg,#8f8c86 1px,transparent 1px) 0 0/100% 33.4%,#cfccc5}
.concrete-swatch--warehouse::after{content:"";position:absolute;left:12%;bottom:14%;width:26%;height:30%;border:2px solid #6e6a63;background:#b9b5ad;border-radius:3px}
.concrete-finish-grid--four{grid-template-columns:repeat(2,1fr)}
.concrete-finish-grid--three{grid-template-columns:repeat(3,1fr)}
.concrete-finish-help a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){
  .concrete-hero-grid{gap:36px;grid-template-columns:1.05fr 1fr}
  .concrete-finish-board{padding:20px}
  .concrete-swatch{height:218px}
  .concrete-scope-grid{gap:40px}
  .page-concrete-campaign .page-hero-actions{gap:12px}
  .page-concrete-campaign .page-hero-actions .btn-lg{padding:14px 24px}
}
@media(max-width:780px){
  .concrete-hero-grid{grid-template-columns:1fr;padding:26px 0 40px;gap:38px}
  .page-concrete-campaign .page-title{font-size:clamp(2.6rem,8vw,3.6rem);max-width:16ch}
  .concrete-finish-board{transform:none;max-width:520px;width:100%}
  .concrete-swatch{height:190px}
  .concrete-trust{gap:18px;padding:25px 0}
  .concrete-trust strong{font-size:.86rem}
  .concrete-trust span{font-size:.76rem}
  .concrete-finish-grid,.concrete-scope-grid{grid-template-columns:1fr;gap:26px}
  .concrete-finish-card{padding:26px}
  .concrete-finish-card h3{max-width:none}
}
@media(max-width:420px){
  .concrete-trust{grid-template-columns:1fr}
  .concrete-trust li{grid-template-columns:1.2fr 1fr;gap:12px}
  .concrete-swatch{height:160px}
  .concrete-board-names{font-size:.8rem}
  .concrete-board-label{font-size:.65rem}
}
