/* A & R SERVICES, LLC — demonstration rebuild. Not the live site.
   Archetype F. No nav bar, nothing sticky or fixed. No grid for imagery.
   Palette: dark lake-slate ground, birch paper text, hi-vis machine green
   reserved exclusively for call actions. No serif anywhere. */

:root{
  --ground:#0e2129;
  --ground-2:#132d37;
  --ground-3:#0a1a20;
  --paper:#eaf2f1;
  --paper-dim:#a9c1c6;
  --paper-faint:#6f8f97;
  --line:#22434f;
  --line-soft:#1a343e;
  --hi:#b8e02c;
  --hi-dark:#8fb01a;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ground);
  color:var(--paper);
  font-family:var(--sans);
  font-size:1.06rem;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--paper)}
p{margin:0 0 1em}

/* ---------- masthead ---------- */

.mast{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2rem,7vw,4.5rem) clamp(1.1rem,5vw,2.5rem) clamp(1.6rem,5vw,3rem);
  border-bottom:1px solid var(--line);
}
.eyebrow{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--paper-faint);
  line-height:1.9;
  margin-bottom:1.4em;
}
.mast h1{
  margin:0 0 .5rem;
  font-size:clamp(1.85rem,6.6vw,3.1rem);
  line-height:1.08;
  letter-spacing:-.015em;
  font-weight:800;
}
.mast h1 span{color:var(--paper-faint);font-weight:500}
.lede{
  max-width:34rem;
  font-size:clamp(1.02rem,2.4vw,1.16rem);
  color:var(--paper-dim);
  margin-bottom:1.9em;
}

.callbox{margin:0 0 2rem}
a.call{
  display:inline-block;
  background:var(--hi);
  color:#0b1a10;
  font-weight:800;
  font-size:1.1rem;
  letter-spacing:.01em;
  text-decoration:none;
  padding:.85rem 1.5rem;
  border-radius:2px;
}
a.call:hover{background:var(--hi-dark)}
a.mail{
  display:inline-block;
  margin-left:.9rem;
  font-family:var(--mono);
  font-size:.86rem;
  color:var(--paper-dim);
  word-break:break-all;
}
.addr{
  font-family:var(--mono);
  font-size:.82rem;
  color:var(--paper-faint);
  margin:.9rem 0 0;
}

.facts{
  display:flex;
  flex-wrap:wrap;
  gap:1.6rem 2.6rem;
  margin:0 0 2.4rem;
  padding:1.1rem 0 0;
  border-top:1px solid var(--line-soft);
}
.facts div{min-width:8rem}
.facts dt{
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--paper-faint);
}
.facts dd{margin:.25rem 0 0;font-weight:700;font-size:.98rem}

.contents-h{
  font-family:var(--mono);
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--paper-faint);
  margin-bottom:.7em;
}
.contents ol{
  margin:0;
  padding-left:1.4rem;
  columns:2;
  column-gap:2rem;
  font-size:.94rem;
}
.contents li{margin:0 0 .35em;break-inside:avoid;color:var(--paper-faint)}
.contents a{color:var(--paper-dim);text-decoration:none;border-bottom:1px solid var(--line)}
.contents a:hover{color:var(--paper);border-bottom-color:var(--hi)}

/* ---------- creed ---------- */

.creed{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2.2rem,6vw,3.6rem) clamp(1.1rem,5vw,2.5rem);
  border-bottom:1px solid var(--line);
}
.creed h2{
  margin:0 0 1.5rem;
  font-size:.72rem;
  font-family:var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--paper-faint);
  font-weight:600;
}
.creed-grid{display:flex;flex-wrap:wrap;gap:1.8rem 2.4rem}
.creed-grid > div{flex:1 1 15rem;min-width:0}
.creed-grid h3{
  margin:0 0 .45rem;
  font-size:1.16rem;
  letter-spacing:-.01em;
}
.creed-grid p{color:var(--paper-dim);font-size:.97rem;margin:0}
.creed-note{
  margin:1.9rem 0 0;
  font-family:var(--mono);
  font-size:.78rem;
  line-height:1.8;
  color:var(--paper-faint);
  max-width:40rem;
}

/* ---------- service blocks ---------- */

.svc{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2.4rem,6.5vw,4rem) clamp(1.1rem,5vw,2.5rem);
  border-bottom:1px solid var(--line);
}
.svc:nth-of-type(even){background:var(--ground-2)}
.num{
  font-family:var(--mono);
  font-size:.78rem;
  letter-spacing:.2em;
  color:var(--hi);
  margin:0 0 .5em;
}
.svc h2{
  margin:0 0 .8rem;
  font-size:clamp(1.4rem,4.4vw,2.05rem);
  line-height:1.15;
  letter-spacing:-.015em;
}
.svc > p{max-width:38rem;color:var(--paper-dim)}

.spec{
  list-style:none;
  margin:1.6rem 0 0;
  padding:1rem 0 0;
  border-top:1px solid var(--line-soft);
  font-family:var(--mono);
  font-size:.82rem;
  line-height:1.9;
  color:var(--paper-dim);
}
.spec li{margin:0}
.spec span{
  display:inline-block;
  min-width:6.5rem;
  color:var(--paper-faint);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
}

/* ---------- photo plates awaiting real images (no grid, one per block) ---------- */

.plate{margin:2rem 0 0}
.ph{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:.4rem;
  min-height:min(58vw,22rem);
  padding:1.1rem;
  border:2px dashed var(--line);
  border-radius:3px;
  background:
    repeating-linear-gradient(135deg,
      rgba(184,224,44,.05) 0 10px,
      transparent 10px 20px),
    var(--ground-3);
}
.ph-tag{
  align-self:flex-start;
  font-family:var(--mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#0b1a10;
  background:var(--hi);
  padding:.2rem .55rem;
  border-radius:2px;
}
.ph-txt{
  font-family:var(--mono);
  font-size:.86rem;
  color:var(--paper-dim);
}
.plate figcaption{
  margin:.85rem 0 0;
  max-width:38rem;
  font-size:.88rem;
  line-height:1.72;
  color:var(--paper-faint);
}
.plate figcaption b{color:var(--paper-dim)}
code{
  font-family:var(--mono);
  font-size:.84em;
  color:var(--paper-dim);
  background:var(--ground-3);
  padding:.05em .35em;
  border-radius:2px;
}

.inline-call{
  margin:1.9rem 0 0;
  font-family:var(--mono);
  font-size:.86rem;
  color:var(--paper-faint);
}
.inline-call a{
  color:var(--hi);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--hi-dark);
  padding-bottom:1px;
  margin-left:.3em;
}
.inline-call a:hover{color:#fff;border-bottom-color:#fff}

/* ---------- service area ---------- */

.area{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2.6rem,7vw,4.4rem) clamp(1.1rem,5vw,2.5rem);
  border-bottom:1px solid var(--line);
}
.area h2{
  margin:0 0 1rem;
  font-size:clamp(1.5rem,5vw,2.3rem);
  letter-spacing:-.015em;
}
.area-lede{max-width:38rem;color:var(--paper-dim)}
.area-lede b{color:var(--paper)}

.county{
  padding:1.5rem 0;
  border-top:1px solid var(--line-soft);
}
.county h3{
  margin:0 0 .55rem;
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--hi);
  font-weight:600;
}
.towns{
  margin:0;
  max-width:44rem;
  font-size:.99rem;
  line-height:1.9;
  color:var(--paper-dim);
}
.towns b{color:var(--paper)}
.county-call{
  margin:.7rem 0 0;
  font-family:var(--mono);
  font-size:.8rem;
  color:var(--paper-faint);
}
.county-call a{
  color:var(--hi);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--hi-dark);
  margin-left:.3em;
}
.area-note{
  margin:2rem 0 0;
  padding-top:1.2rem;
  border-top:1px solid var(--line-soft);
  font-family:var(--mono);
  font-size:.82rem;
  color:var(--paper-faint);
}

/* ---------- quote ---------- */

.quote{
  max-width:62rem;
  margin:0 auto;
  padding:clamp(2.6rem,7vw,4.4rem) clamp(1.1rem,5vw,2.5rem);
}
.quote h2{
  margin:0 0 .7rem;
  font-size:clamp(1.5rem,5vw,2.3rem);
  letter-spacing:-.015em;
}
.quote > p{max-width:34rem;color:var(--paper-dim)}

.qform{max-width:32rem;margin:2rem 0 0}
.qform label{
  display:block;
  margin:0 0 1.1rem;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--paper-faint);
}
.qform label .eg{
  display:block;
  margin-top:.35rem;
  font-family:var(--sans);
  font-size:.85rem;
  letter-spacing:normal;
  text-transform:none;
  color:var(--paper-dim);
}
.qform input,.qform textarea{
  display:block;
  width:100%;
  margin-top:.4rem;
  padding:.8rem .9rem;
  background:var(--ground-3);
  border:1px solid var(--line);
  border-radius:2px;
  color:var(--paper);
  font-family:var(--sans);
  font-size:1rem;
  letter-spacing:normal;
  text-transform:none;
}
.qform input:focus,.qform textarea:focus{outline:2px solid var(--hi);outline-offset:1px}
.qform textarea{resize:vertical}
.qform button{
  background:var(--hi);
  color:#0b1a10;
  border:0;
  border-radius:2px;
  font-family:var(--sans);
  font-size:1.02rem;
  font-weight:800;
  padding:.85rem 1.5rem;
  cursor:pointer;
}
.qform button:hover{background:var(--hi-dark)}
.formnote{
  margin:.9rem 0 0;
  font-family:var(--mono);
  font-size:.72rem;
  color:var(--paper-faint);
}

.quote-direct{
  margin:2.6rem 0 0;
  padding-top:1.6rem;
  border-top:1px solid var(--line-soft);
}

/* ---------- footer ---------- */

.foot{
  background:var(--ground-3);
  border-top:1px solid var(--line);
  padding:clamp(2rem,6vw,3.2rem) clamp(1.1rem,5vw,2.5rem);
}
.foot > *{max-width:62rem;margin-left:auto;margin-right:auto}
.foot-brand{font-weight:700;margin-bottom:.5em}
.foot-line{
  font-family:var(--mono);
  font-size:.83rem;
  color:var(--paper-dim);
  margin-bottom:.9em;
}
.foot-line a{color:var(--hi);text-decoration:none}
.foot-copy{
  font-family:var(--mono);
  font-size:.75rem;
  color:var(--paper-faint);
  margin-bottom:1.6em;
}
.disclaimer{
  font-size:.8rem;
  line-height:1.75;
  color:var(--paper-faint);
  border-top:1px solid var(--line-soft);
  padding-top:1.3rem;
  margin:0;
}
.disclaimer b{color:var(--paper-dim)}

/* ---------- narrow ---------- */

@media (max-width:640px){
  .contents ol{columns:1}
  a.mail{display:block;margin:.9rem 0 0}
  .spec span{display:block;min-width:0}
}
