/* PODRILO HOMES — About page (page-about.php). Scoped under .pd-about. */

/* ---------- Hero ---------- */
.pd-about-hero { padding-block: clamp(4rem, 7vw, 6rem) clamp(4.5rem, 8vw, 7rem); }
.pd-about-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}
.pd-about-hero h1 { max-width: 13ch; margin: 1.1rem 0 1.4rem; }
.pd-about-facts { margin: 2.4rem 0 0; border-top: 1px solid rgba(255, 255, 255, .16); }
.pd-about-fact {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 1rem;
  align-items: baseline;
  padding: .85rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.pd-about-fact dt {
  color: #8eb8ff;
  font-family: var(--font-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pd-about-fact dd { margin: 0; color: rgba(255, 255, 255, .82); font-size: .94rem; }

/* ---------- Split sections ---------- */
.pd-about-split,
.pd-about-product {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}
.pd-about-split h2 { margin: 1.1rem 0 1.4rem; max-width: 18ch; }
.pd-about-product + .pd-about-product {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(3rem, 6vw, 5rem);
  border-top: 1px solid var(--color-border);
}
.pd-about-product--flip .pd-about-product__media { order: -1; }
.pd-about-product--flip .pd-about-product__copy { order: 1; }

.pd-about-tag {
  margin: 0 0 1rem;
  color: var(--color-blue-600);
  font-family: var(--font-data);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pd-about h3 { letter-spacing: -.02em; }

/* ---------- Small lists ---------- */
.pd-about-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1.8rem; }
.pd-about-list-grid--single { grid-template-columns: 1fr; max-width: 420px; }
.pd-about-list__title {
  margin: 0 0 .2rem;
  color: var(--color-ink-900);
  font-family: var(--font-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.pd-about-list { margin: .8rem 0 0; padding: 0; list-style: none; }
.pd-about-list li {
  display: flex;
  gap: .65rem;
  padding: .5rem 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-slate-600);
  font-size: .92rem;
  line-height: 1.5;
}
.pd-about-list li::before {
  flex: none;
  width: 6px;
  height: 6px;
  margin-top: .55em;
  border-radius: 1px;
  background: var(--color-blue-600);
  content: "";
}
.pd-about-note {
  margin: 1.6rem 0 0;
  padding: .95rem 1.15rem;
  border-left: 2px solid var(--color-blue-600);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--color-white);
  color: var(--color-slate-600);
  font-size: .85rem;
  line-height: 1.65;
  max-width: 66ch;
}

/* ---------- Order flow ---------- */
.pd-about-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .16); }
.pd-about-step {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 1.2rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.pd-about-step__num {
  padding-top: .3rem;
  color: var(--color-cyan-500);
  font-family: var(--font-data);
  font-size: .78rem;
  letter-spacing: .08em;
}
.pd-about-step h3 { margin: 0 0 .35rem; font-size: 1.12rem; letter-spacing: -.01em; }
.pd-about-step p { margin: 0; color: rgba(255, 255, 255, .55); font-size: .92rem; max-width: 62ch; }
.pd-about-footnote { margin: 1.8rem 0 0; color: rgba(255, 255, 255, .45); font-size: .85rem; max-width: 72ch; }

/* ---------- What you receive ---------- */
.pd-about-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}
.pd-about-group { padding: 1.8rem; border-right: 1px solid var(--color-border); }
.pd-about-group:last-child { border-right: 0; }
.pd-about-group__label {
  margin: 0;
  color: var(--color-blue-600);
  font-family: var(--font-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.pd-about-group ul { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.pd-about-group li {
  padding: .6rem 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-slate-600);
  font-size: .9rem;
  line-height: 1.55;
}
.pd-about-group li:last-child { border-bottom: 0; }
.pd-about-callout {
  margin: 1.6rem 0 0;
  padding: 1.05rem 1.25rem;
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-warning);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-slate-600);
  font-size: .9rem;
  line-height: 1.65;
  max-width: 80ch;
}
.pd-about-callout strong { color: var(--color-ink-900); font-weight: 600; }

/* ---------- Who we work with ---------- */
.pd-about-audience__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.pd-about-audience__row {
  display: grid;
  grid-template-columns: 90px minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 1.2rem;
  align-items: baseline;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--color-border);
}
.pd-about-audience__num {
  color: var(--color-blue-600);
  font-family: var(--font-data);
  font-size: .78rem;
  letter-spacing: .08em;
}
.pd-about-audience__row h3 { margin: 0; font-size: 1.12rem; }
.pd-about-audience__row p { margin: 0; color: var(--color-slate-600); font-size: .92rem; line-height: 1.6; }

/* ---------- Markets ---------- */
.pd-about-markets__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
}
.pd-about-market { padding: 2rem; border-right: 1px solid var(--color-border); }
.pd-about-market:last-child { border-right: 0; }
.pd-about-market h3 { margin: 0 0 .7rem; font-size: 1.25rem; }
.pd-about-market p { margin: 0; color: var(--color-slate-600); font-size: .95rem; line-height: 1.65; max-width: 52ch; }

/* ---------- Next step ---------- */
.pd-about-next { padding-block: clamp(4.5rem, 8vw, 7rem); }
.pd-about-next__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}
.pd-about-next h2 { margin: 1.1rem 0 1.4rem; max-width: 16ch; }
.pd-about-next__action { margin: 2rem 0 0; }
.pd-about-checklist__title {
  margin: 0 0 .2rem;
  color: #8eb8ff;
  font-family: var(--font-data);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.pd-about-checklist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.6rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .16);
}
.pd-about-checklist li {
  display: flex;
  gap: .65rem;
  padding: .7rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
  line-height: 1.5;
}
.pd-about-checklist li::before {
  flex: none;
  width: 6px;
  height: 6px;
  margin-top: .55em;
  border-radius: 1px;
  background: var(--color-cyan-500);
  content: "";
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .pd-about-hero__grid,
  .pd-about-split,
  .pd-about-product,
  .pd-about-next__grid { grid-template-columns: 1fr; }
  .pd-about-hero__media { order: -1; }
  .pd-about-product--flip .pd-about-product__media { order: -1; }
  .pd-about-product--flip .pd-about-product__copy { order: 0; }
  .pd-about-product .pd-about-product__media { order: -1; }
  .pd-about-groups { grid-template-columns: 1fr; }
  .pd-about-group { border-right: 0; border-bottom: 1px solid var(--color-border); }
  .pd-about-group:last-child { border-bottom: 0; }
  .pd-about-markets__grid { grid-template-columns: 1fr; }
  .pd-about-market { border-right: 0; border-bottom: 1px solid var(--color-border); }
  .pd-about-market:last-child { border-bottom: 0; }
  .pd-about-audience__row { grid-template-columns: 64px 1fr; }
  .pd-about-audience__row p { grid-column: 2; }
}
@media (max-width: 640px) {
  .pd-about-fact { grid-template-columns: 1fr; gap: .2rem; }
  .pd-about-list-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .pd-about-step { grid-template-columns: 56px 1fr; gap: .9rem; }
  .pd-about-checklist { grid-template-columns: 1fr; }
}
/* ---------- Hero artwork (generated graphic, no photograph yet) ---------- */
.pd-about-hero__media svg { display: block; width: 100%; height: auto; border-radius: var(--radius-lg); }

/* ---------- Photo slot modifiers ---------- */
.pd-pmedia-grid--single { grid-template-columns: 1fr; }
.pd-pmedia-grid--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ---------- Production and quality control ---------- */
.pd-about-qc {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.pd-about-qc .pd-pmedia-grid { margin-top: .4rem; }

/* ---------- Responsibilities (dark section) ---------- */
.pd-about-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}
.pd-about-role {
  padding: 1.6rem 1.7rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .03);
}
.pd-about-roles .pd-about-group__label { color: #8eb8ff; }
.pd-about-role ul { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.pd-about-role li {
  padding: .6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .78);
  font-size: .92rem;
  line-height: 1.6;
}
.pd-about-role li:last-child { border-bottom: 0; }

/* ---------- Responsive additions ---------- */
@media (max-width: 960px) {
  .pd-about-qc { grid-template-columns: 1fr; }
  .pd-about-roles { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .pd-pmedia-grid--pair { grid-template-columns: 1fr; }
  .pd-about-role { padding: 1.2rem 1.3rem; }
}/* ---------- Market cards with a project image ---------- */
.pd-about-market__media { overflow: hidden; margin-bottom: 1.3rem; border-radius: var(--radius-md); background: var(--color-navy-950); }
.pd-about-market__image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }