/* Pleasant Valley Log Homes — archetype H, card stack.
   ONE column at every breakpoint. There is no `grid-template-columns` with more
   than one track anywhere in this file, no float, and no fixed pixel width on
   any element — which is the point: the live contact form has a field wider than
   its own page. Nothing here can be wider than its card.

   Warm sawn-fir paper with their own dark green and a mill-red accent. No JS. */

:root{
  --paper:#f4f1e8;
  --card:#fffdf7;
  --ink:#1c211b;
  --ink-soft:#4d5449;
  --pine:#1f3a26;
  --pine-2:#2c4f33;
  --mill:#b03a20;
  --edge:#ddd6c5;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --serif: Georgia, "Iowan Old Style", "Times New Roman", serif;
  --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:1.02rem;
  line-height:1.62;
  overflow-x:hidden;
}
a{color:var(--pine-2)}
a:focus-visible{outline:2px solid var(--mill);outline-offset:2px}

/* the stack — one column, always */
.stack{
  width:100%;
  max-width:38rem;
  margin:0 auto;
  padding:1rem .9rem 2.4rem;
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.card{
  width:100%;
  max-width:100%;
  background:var(--card);
  border:1px solid var(--edge);
  border-radius:3px;
  padding:1.2rem 1.1rem;
  margin:0;
}

/* brand card */
.card-brand{background:var(--pine);border-color:var(--pine);color:#f2efe4}
.est{
  margin:0 0 .5rem;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;color:#a9c3ab;
}
h1{
  margin:0 0 .7rem;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.72rem,7.4vw,2.5rem);line-height:1.15;color:#fff;
}
.tagline{
  margin:0;font-family:var(--serif);font-style:italic;
  font-size:1.02rem;line-height:1.5;color:#dfe7db;
}

/* call cards */
.card-call{
  display:block;text-decoration:none;
  background:var(--mill);border-color:var(--mill);color:#fff;
}
.card-call .ck{color:#f6d3c9}
.card-call strong{
  display:block;font-family:var(--mono);font-weight:700;
  font-size:clamp(1.4rem,6.6vw,1.9rem);line-height:1.2;color:#fff;
  margin:.15rem 0 .3rem;
}
.card-call .sub{display:block;font-size:.9rem;color:#f8ded7}

.ck{
  display:block;font-family:var(--mono);font-size:.69rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);
}

.num{
  margin:0 0 .3rem;font-family:var(--mono);font-size:.82rem;
  letter-spacing:.12em;color:var(--mill);
}
h2{
  margin:0 0 .8rem;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.28rem,5.4vw,1.68rem);line-height:1.22;
}
.card p{margin:0 0 1rem}
.card p:last-child{margin-bottom:0}

.aside{
  font-size:.88rem;line-height:1.6;color:var(--ink-soft);
  border-left:3px solid var(--edge);padding-left:.8rem;margin-top:1rem;
}

/* people — a plain list, one per row, never a grid */
.people{list-style:none;margin:0 0 1rem;padding:0}
.people li{
  padding:.6rem 0;border-bottom:1px solid var(--edge);
}
.people li:last-child{border-bottom:0}
.people strong{display:block;font-size:1.02rem;font-weight:700}
.role{
  display:block;font-size:.88rem;line-height:1.5;color:var(--ink-soft);
  margin-top:.1rem;
}

.lines{list-style:none;margin:0;padding:0}
.lines li{padding:.6rem 0;border-bottom:1px solid var(--edge)}
.lines li:last-child{border-bottom:0}
.lines strong{
  display:block;font-family:var(--mono);font-size:.82rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pine-2);
}
.lines span{display:block;font-size:.98rem}

.card-timber{background:#eef1e7}

/* placeholder frame */
.card-frame{padding:1.1rem}
.plate{
  display:flex;flex-direction:column;justify-content:flex-end;gap:.55rem;
  min-height:12rem;padding:.9rem;
  border:2px dashed #b9b19c;background:#efeade;
}
.tag{
  align-self:flex-start;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;
  background:var(--pine);color:#f2efe4;padding:.18rem .45rem;
}
.brief{font-size:.83rem;line-height:1.55;color:#5d6455}
figcaption{
  margin-top:.55rem;font-family:var(--mono);font-size:.79rem;
  color:var(--ink-soft);line-height:1.55;
}

.addr{font-size:.98rem;line-height:1.55}
.addr .ck{margin-bottom:.15rem}
.maplink{font-size:.92rem}

/* form — every control is width:100% inside its card and can never overflow */
.card-form form{display:block;width:100%;max-width:100%}
.card-form label{
  display:block;font-size:.86rem;font-weight:600;margin:0 0 .3rem;
}
.card-form input,
.card-form textarea{
  display:block;
  width:100%;
  max-width:100%;
  font-family:var(--sans);font-size:1rem;
  padding:.6rem .7rem;margin:0 0 1rem;
  background:#fff;color:var(--ink);
  border:1px solid #c6bfae;border-radius:2px;
  resize:vertical;
}
.card-form button{
  font-family:var(--sans);font-size:1rem;font-weight:700;
  background:var(--pine);color:#fff;border:0;border-radius:2px;
  padding:.72rem 1.25rem;cursor:pointer;
}

/* footer card */
.card-foot{background:transparent;border-color:transparent;padding-top:.6rem}
.footline{
  margin:0 0 .9rem;font-family:var(--mono);font-size:.82rem;
  color:var(--ink-soft);line-height:1.7;
}
.disclaimer{margin:0;font-size:.77rem;line-height:1.6;color:#6d7367}
