/* Diamond Moving LLC — shared site styles */
:root{
  --char:#1D211F;
  --char-soft:#2B322E;
  --pine:#33513F;
  --pine-deep:#203327;
  --tape:#D9A22C;
  --tape-deep:#B3801A;
  --paper:#F2F0E8;
  --paper-dim:#E7E3D6;
  --line:rgba(29,33,31,0.14);
  --max:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--char);
  font-family:'Work Sans', Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Oswald','Arial Narrow',sans-serif;
  text-transform:uppercase;
  color:var(--char);
  margin:0;
  letter-spacing:0.01em;
}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--tape); color:var(--char); padding:10px 16px; z-index:100;
}
.skip-link:focus{left:16px; top:16px;}

/* signature hazard-tape divider */
.tape-strip{
  height:10px;
  background:repeating-linear-gradient(-45deg, var(--tape) 0 18px, var(--char) 18px 36px);
}

/* utility bar */
.utility{background:var(--char); color:var(--paper-dim); font-size:12.5px;}
.utility .wrap{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 24px; flex-wrap:wrap; gap:6px; max-width:var(--max);
}
.utility a{text-decoration:none; color:var(--paper-dim);}
.utility .tag{color:var(--tape); font-weight:600; letter-spacing:.04em;}

/* header */
header.site{background:var(--paper); border-bottom:2px solid var(--char);}
.site-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px; max-width:var(--max); margin:0 auto;
}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand-mark{width:38px; height:38px; flex-shrink:0;}
.brand-text h1,.brand-text p{font-size:21px; line-height:1; font-weight:700; margin:0; font-family:'Oswald',sans-serif; text-transform:uppercase; color:var(--char);}
.brand-text span{
  display:block; font-family:'JetBrains Mono',monospace; font-size:10.5px;
  letter-spacing:.14em; color:var(--pine-deep); margin-top:3px; text-transform:none;
}
nav.primary{display:flex; gap:26px;}
nav.primary a{
  font-family:'Oswald',sans-serif; font-size:14px; letter-spacing:.04em;
  text-transform:uppercase; text-decoration:none; color:var(--char); font-weight:500;
  padding-bottom:3px; border-bottom:2px solid transparent;
}
nav.primary a:hover, nav.primary a[aria-current="page"]{border-color:var(--tape);}
.call-btn{
  background:var(--pine); color:#fff; text-decoration:none; font-family:'Oswald',sans-serif;
  font-weight:600; font-size:14px; letter-spacing:.03em; padding:11px 20px;
  display:inline-flex; align-items:center; gap:8px;
}
.call-btn:hover{background:var(--pine-deep);}

/* breadcrumb */
.breadcrumb{
  max-width:var(--max); margin:0 auto; padding:14px 24px 0;
  font-family:'JetBrains Mono',monospace; font-size:12px; color:#6d766f;
}
.breadcrumb a{text-decoration:none; color:#6d766f;}
.breadcrumb a:hover{color:var(--pine-deep);}
.breadcrumb span.sep{margin:0 8px;}
.breadcrumb span.current{color:var(--char); font-weight:600;}

/* page hero (inner pages, smaller than home) */
.page-hero{background:var(--char); color:#fff; padding:44px 24px 40px;}
.page-hero .wrap{max-width:var(--max);}
.page-hero .kicker{
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.16em;
  color:var(--tape); text-transform:uppercase; display:block; margin-bottom:12px;
}
.page-hero h1{color:#fff; font-size:clamp(28px,4vw,42px); font-weight:700; max-width:22ch;}
.page-hero p{color:#C9CDC7; max-width:60ch; margin-top:14px; font-size:15.5px;}

/* home hero */
.hero{position:relative; background:var(--char); color:var(--paper); overflow:hidden;}
.hero-inner{
  max-width:var(--max); margin:0 auto; padding:72px 24px 56px;
  display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:start;
}
.hero .kicker{
  font-family:'JetBrains Mono',monospace; font-size:12.5px; letter-spacing:.16em;
  color:var(--tape); text-transform:uppercase; margin-bottom:18px; display:block;
}
.hero h1{color:#fff; font-size:clamp(34px,4.6vw,58px); font-weight:700; line-height:0.98;}
.hero h1 .accent{color:var(--tape);}
.hero p.lede{color:#C9CDC7; font-size:17px; max-width:48ch; margin-top:20px;}
.hero .actions{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}

.btn-solid{
  background:var(--tape); color:var(--char); text-decoration:none; font-family:'Oswald',sans-serif;
  font-weight:700; font-size:14.5px; letter-spacing:.03em; text-transform:uppercase; padding:15px 26px;
  border:none; cursor:pointer; display:inline-block;
}
.btn-solid:hover{background:#E8B140;}
.btn-ghost{
  border:1px solid #4c534d; color:#fff; text-decoration:none; font-family:'Oswald',sans-serif;
  font-weight:600; font-size:14.5px; letter-spacing:.03em; text-transform:uppercase; padding:14px 25px;
  display:inline-block;
}
.btn-ghost:hover{border-color:var(--tape); color:var(--tape);}

/* manifest card */
.manifest{background:var(--char-soft); border:1px solid #3a423d;}
.manifest .m-head{
  background:var(--pine-deep); color:var(--paper); font-family:'JetBrains Mono',monospace;
  font-size:11.5px; letter-spacing:.1em; padding:10px 16px; text-transform:uppercase;
  display:flex; justify-content:space-between;
}
.manifest ul{list-style:none; margin:0; padding:0;}
.manifest li{
  display:flex; justify-content:space-between; gap:10px; padding:13px 16px;
  border-top:1px dashed #444d47; font-size:13.5px; color:#D6D9D2;
}
.manifest li:first-child{border-top:none;}
.manifest li span.k{font-family:'JetBrains Mono',monospace; color:#8FA396;}
.manifest li span.v{font-weight:600; color:#fff; text-align:right;}

/* sections shared */
main{display:block;}
section{padding:60px 24px;}
.sec-head{
  display:flex; align-items:baseline; gap:16px; margin-bottom:34px;
  max-width:var(--max); margin-left:auto; margin-right:auto; flex-wrap:wrap;
}
.sec-head .num{
  font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--tape-deep);
  border:1px solid var(--tape-deep); padding:3px 8px;
}
.sec-head h2{font-size:28px; font-weight:600;}
.sec-head p{color:#4b544d; font-size:15px; margin:0 0 0 auto; max-width:38ch;}

/* services manifest list */
.services-list{max-width:var(--max); margin:0 auto; border-top:2px solid var(--char);}
.svc-row{
  display:grid; grid-template-columns:70px 1fr 1.4fr; gap:24px; padding:22px 0;
  border-bottom:1px solid var(--line); align-items:start;
}
.svc-row .code{font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--tape-deep); padding-top:3px;}
.svc-row h3{font-size:19px; font-weight:600;}
.svc-row p{margin:0; color:#454e48; font-size:14.5px;}

/* service detail cards (services page) */
.svc-cards{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.svc-card{background:#fff; border:1px solid var(--line); padding:28px 26px;}
.svc-card .code{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--tape-deep);}
.svc-card h3{font-size:19px; font-weight:600; margin:10px 0 10px;}
.svc-card p{margin:0; font-size:14.5px; color:#454e48;}
.svc-card ul{margin:14px 0 0; padding-left:18px; font-size:13.5px; color:#454e48;}
.svc-card li{margin-bottom:4px;}

/* pine band */
.band-pine{background:var(--pine-deep); color:#E7ECE7;}
.band-pine .sec-head h2{color:#fff;}
.band-pine .sec-head p{color:#AEC0B1;}
.band-pine .sec-head .num{color:var(--tape); border-color:var(--tape);}

/* route / locations */
.route-wrap{
  max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr;
  gap:48px; align-items:center;
}
.route-svg{width:100%; height:auto;}
.route-list{list-style:none; margin:0; padding:0; columns:2; gap:28px;}
.route-list li{
  font-family:'JetBrains Mono',monospace; font-size:14px; padding:7px 0;
  border-bottom:1px dashed rgba(255,255,255,0.15); break-inside:avoid;
}
.route-list li::before{content:"› "; color:var(--tape);}

/* locations grid (locations page) */
.loc-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.loc-card{background:#fff; border:1px solid var(--line); padding:22px 22px;}
.loc-card .zone{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--tape-deep); text-transform:uppercase;}
.loc-card h3{font-size:18px; font-weight:600; margin:8px 0 6px;}
.loc-card p{margin:0; font-size:13.5px; color:#454e48;}

/* reviews / receipt cards */
.reviews{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.receipt{background:#fff; border:1px solid var(--line); padding:26px 24px 22px; position:relative;}
.receipt::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:repeating-linear-gradient(-45deg, var(--tape) 0 8px, transparent 8px 16px);
}
.receipt .stars{color:var(--tape-deep); font-family:'JetBrains Mono',monospace; letter-spacing:2px; font-size:14px;}
.receipt p.quote{margin:14px 0 18px; font-size:14.5px; color:#333; font-style:italic;}
.receipt .meta{
  font-family:'JetBrains Mono',monospace; font-size:11.5px; color:#8b8f86;
  border-top:1px dashed var(--line); padding-top:12px; display:flex; justify-content:space-between;
}

/* about page */
.about-lead{
  max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:220px 1fr;
  gap:48px;
}
.about-lead .label{
  font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--tape-deep);
  font-weight:600; padding-top:6px; font-family:'JetBrains Mono',monospace;
}
.about-lead h2{font-size:28px; font-weight:600; margin-bottom:16px;}
.about-lead p{margin:0 0 14px; max-width:64ch; color:#333;}
.about-lead p:last-child{margin-bottom:0;}

.crew-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.crew-card{background:#fff; border:1px solid var(--line); padding:26px 24px; display:flex; gap:18px; align-items:flex-start;}
.crew-avatar{
  width:56px; height:56px; border-radius:50%; background:var(--pine-deep); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif;
  font-size:20px; flex-shrink:0;
}
.crew-card h3{font-size:17px; font-weight:600; margin-bottom:4px;}
.crew-card .role{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--tape-deep); margin-bottom:8px; display:block;}
.crew-card p{margin:0; font-size:13.5px; color:#454e48;}

.stat-strip{
  max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.stat{background:var(--paper); padding:26px 20px; text-align:center;}
.stat b{display:block; font-family:'Oswald',sans-serif; font-size:30px; color:var(--pine-deep);}
.stat span{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; color:#5d655f; text-transform:uppercase;}

/* CTA */
.cta{background:var(--char); color:#fff; padding:60px 24px;}
.cta-inner{
  max-width:var(--max); margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.cta h2{color:#fff; font-size:30px; max-width:20ch;}
.cta p{color:#B7BCB4; max-width:36ch; margin-top:10px;}

/* footer */
footer.site{background:var(--paper-dim); padding:40px 24px 30px; border-top:1px solid var(--line);}
.foot-grid{max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px;}
.foot-grid h4{font-size:14px; margin-bottom:14px; letter-spacing:.06em;}
.foot-grid p, .foot-grid a{font-size:13.5px; color:#4b544d; text-decoration:none; display:block; margin-bottom:8px;}
.foot-bottom{
  max-width:var(--max); margin:34px auto 0; padding-top:20px; border-top:1px solid var(--line);
  font-family:'JetBrains Mono',monospace; font-size:11.5px; color:#7c8279;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}

@media (max-width:860px){
  .hero-inner{grid-template-columns:1fr;}
  .route-wrap{grid-template-columns:1fr;}
  .reviews{grid-template-columns:1fr;}
  .svc-cards{grid-template-columns:1fr;}
  .loc-grid{grid-template-columns:1fr;}
  .crew-grid{grid-template-columns:1fr;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr; gap:24px;}
  .svc-row{grid-template-columns:50px 1fr;}
  .svc-row p{grid-column:2/3;}
  nav.primary{display:none;}
  .sec-head{flex-direction:column; align-items:flex-start;}
  .sec-head p{margin-left:0;}
  .about-lead{grid-template-columns:1fr; gap:14px;}
}