.pm-launch{box-sizing:border-box;width:min(1160px,90%);margin:0 auto;color:#233c32;font:16px/1.55 Arial,Helvetica,sans-serif;scroll-margin-top:24px}
.pm-launch .pm-tag{font-size:11px;font-weight:700;letter-spacing:.13em}
.pm-launch h2{font-size:clamp(30px,3.5vw,48px);font-weight:580;line-height:1.07;letter-spacing:-.045em;margin:.25em 0}
.pm-launch a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.pm-launch[hidden]{display:none!important}.pm-launch{margin-top:24px;background:#193e32;color:#f5f8ed;border-radius:16px;display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(20px,4vw,65px);padding:clamp(22px,4vw,48px);align-items:center}
.pm-launch .pm-tag,.pm-launch .pm-launch-terms,.pm-launch-clock small{color:#d2e7d2}.pm-launch .pm-launch-terms{font-size:14px}.pm-launch h2,.pm-launch a{color:#fff}
.pm-launch-clock{border-left:1px solid #6a927c;padding-left:24px}.pm-launch-clock strong,.pm-launch-clock small{display:block}.pm-launch-clock strong{font-size:clamp(24px,3vw,38px);line-height:1.2;font-variant-numeric:tabular-nums;margin:.3em 0}
@media(max-width:720px){.pm-launch{grid-template-columns:minmax(0,1fr)}.pm-launch-clock{border-left:0;border-top:1px solid #6a927c;padding:16px 0 0}}
.pm-launch [hidden]{display:none!important}
.pm-launch-action{display:inline-block;border-radius:8px;padding:10px 16px;background:#e7f4a7}
.pm-launch a.pm-launch-action{color:#173d32;text-decoration:none}
.pm-launch-action:hover,.pm-launch-action:focus-visible{text-decoration:underline}
.pm-campaign-page{padding:clamp(20px,3vw,45px) 0;background:#fafbf5;color:#193e32}
.pm-campaign-intro,.pm-campaign-foot{width:min(1160px,90%);margin:auto;font:16px/1.5 Arial,Helvetica,sans-serif}
.pm-campaign-intro a,.pm-campaign-foot a{color:#214839;text-underline-offset:3px}
.pm-campaign-intro h1{color:#193e32;font-size:clamp(28px,4vw,58px);letter-spacing:-.052em;line-height:1.1;margin:24px 0}
.pm-campaign-foot{padding:20px 0;border-top:1px solid #b7c9bb}.pm-campaign-foot strong{margin-right:12px}
.pm-campaign-page .pm-estimate{margin-top:16px}

/* The included services and optional modules form one section on the product front. */
.pm-delivery {
  width: min(1160px, 90%);
  margin: 0 auto;
  padding: clamp(38px, 5vw, 70px) 0 24px;
  border-top: 1px solid #bdcabc;
  color: #21352b;
  font: 16px/1.55 Arial, Helvetica, sans-serif;
  scroll-margin-top: 24px;
}
.pm-delivery, .pm-delivery * { box-sizing: border-box; }
.pm-delivery .pm-tag, .pm-delivery-plate > span {
  font: 700 11px/1.4 ui-monospace, Menlo, monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.pm-delivery-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: 14px 36px;
  margin-bottom: 24px;
}
.pm-delivery .pm-delivery-intro h2 {
  margin: 6px 0 0;
  font-size: clamp(34px, 4.2vw, 61px);
  font-weight: 550;
  line-height: 1.03;
  letter-spacing: -.055em;
}
.pm-delivery .pm-delivery-intro > p { margin: 0; max-width: 51ch; color: #495f51; }
.pm-delivery-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pm-delivery-items article {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c8d2c4;
  border-radius: 8px;
  background: #fffdf7;
}
.pm-delivery-plate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 94px;
  padding: 9px clamp(14px, 1.7vw, 24px);
  border-bottom: 1px solid #c8d2c4;
  color: #304d3e;
  background: #edf1de;
}
.pm-delivery-items article:nth-child(2) .pm-delivery-plate { background-color: #dce8db; }
.pm-delivery-items article:nth-child(3) .pm-delivery-plate { background-color: #e9e6d8; }
.pm-delivery-plate svg { width: clamp(76px, 8.6vw, 114px); flex-shrink: 0; height: auto; }
.pm-delivery-copy { padding: clamp(16px, 1.7vw, 24px); }
.pm-delivery-items .pm-delivery-copy h3, .pm-delivery .pm-extras-head h3 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.1;
  font-weight: 550;
  letter-spacing: -.045em;
  margin: 0 0 12px;
}
.pm-delivery-items .pm-delivery-copy p { font-size: 15px; line-height: 1.58; margin: 0; color: #45564b; }
.pm-delivery-extras {
  margin-top: 16px;
  padding: clamp(18px, 2.2vw, 30px);
  background: #1d3127;
  color: #fffdf4;
  border-radius: 8px;
}
.pm-extras-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pm-delivery .pm-extras-head .pm-tag { color: #deff75; margin: 0 0 5px; }
.pm-delivery .pm-extras-head h3 { margin: 0; color: #fffdf4; }
.pm-delivery .pm-extras-head > a {
  display: inline-flex; align-items: center; gap: 12px; min-height: 44px;
  padding: 8px 15px; border-radius: 4px; background: #deff75; color: #172920;
  text-decoration: none; font-weight: 700; font-size: 14px;
}
.pm-delivery-extras ul {
  list-style: none; display: grid; grid-template-columns: repeat(5,minmax(0,1fr));
  padding: 15px 0 0; margin: 16px 0 0; gap: 10px 18px; border-top: 1px solid #55695b;
}
.pm-delivery-extras li { margin: 0; }
.pm-delivery-extras li strong { display: block; font-size: 14px; line-height: 1.35; }
.pm-delivery-extras li > span { display: block; margin-top: 3px; font-size: 12px; color: #c2d1c3; }
.pm-delivery .pm-delivery-extras li a, .pm-delivery .pm-extras-head > a:hover {
  color: inherit; text-decoration: underline; text-underline-offset: 3px;
}
.pm-delivery .pm-extras-head > a:hover { color: #172920; }
.pm-delivery-extras a:focus-visible { outline: 2px solid #fffdf4; outline-offset: 3px; }
@media (max-width: 900px) {
  .pm-delivery-plate { padding-inline: 12px; }
  .pm-delivery-extras ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .pm-delivery-intro, .pm-delivery-items { grid-template-columns: 1fr; }
  .pm-delivery-items { gap: 10px; }
  .pm-delivery-plate { min-height: 0; padding: 4px 16px; }
  .pm-delivery-plate svg { width: 72px; }
  .pm-delivery-items .pm-delivery-copy h3 { margin-bottom: 8px; }
  .pm-extras-head { align-items: flex-start; flex-direction: column; }
  .pm-delivery-extras ul { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 14px; }
}

/* Small source notes sit with the feature they describe, outside its purchase controls. */
.pm-study {
  margin-top: 16px;
  padding: 4px 0 4px 13px;
  border-left: 3px solid #93ab76;
  color: #364b3c;
  max-width: 70ch;
}
.pm-study > p, .pm-delivery-items .pm-study > p {
  margin: 0;
  color: inherit;
  font: 400 14px/1.52 Arial, Helvetica, sans-serif;
}
.pm-study strong { color: #203a2b; font-weight: 700; }
.pm-study > a, .pf-site .pm-study > a {
  display: inline-block;
  padding: 4px 0;
  color: #2f5942;
  font: 600 13px/1.4 Arial, Helvetica, sans-serif;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pm-study > a:focus-visible { outline: 2px solid #365536; outline-offset: 2px; }
.pm-design > .pm-study { margin-top: 24px; }

.pm-why {
  box-sizing: border-box;
  width: min(1160px, 90%);
  margin: clamp(32px, 5vw, 72px) auto;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  color: #203a2e;
  background: #eef1e5;
  border: 1px solid #b8c6ac;
  border-radius: 12px;
  overflow: hidden;
  font: 16px/1.5 Arial, Helvetica, sans-serif;
  scroll-margin-top: 24px;
}
.pm-why-intro, .pm-why-sheet { min-width: 0; padding: clamp(22px, 3.5vw, 48px); }
.pm-why-intro { background: #233f34; color: #f7f6ec; }
.pm-why .pm-why-label { margin: 0; font: 700 12px/1.45 ui-monospace, Menlo, monospace; }
.pm-why-intro .pm-why-label { color: #d9eea6; }
.pm-why .pm-why-intro h2 {
  margin: 18px 0; max-width: 16ch; color: inherit;
  font: 500 clamp(32px, 3.6vw, 52px)/1.05 Georgia, serif; letter-spacing: -.045em;
}
.pm-why .pm-why-intro > p:not(.pm-why-label) { margin: 12px 0 0; max-width: 45ch; color: #eef2e8; }
.pm-why ul { margin: 16px 0 0; padding: 0; list-style: none; }
.pm-why li { display: flex; align-items: flex-start; gap: 12px; border-top: 1px solid #c2ceb9; padding: 14px 0; }
.pm-why li > span { flex: 0 0 23px; text-align: center; border-radius: 50%; background: #d7e7b7; color: #263f2b; font-weight: 700; }
.pm-why .pm-why-sheet h3 { margin: 0 0 3px; color: #203a2e; font: 700 18px/1.3 Arial, Helvetica, sans-serif; letter-spacing: -.015em; }
.pm-why .pm-why-sheet li p { margin: 0; color: #3e5145; font-size: 15px; }
.pm-why .pm-why-link { display: inline-block; margin-top: 4px; padding: 5px 0; color: #254b34; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.pm-why-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 740px) { .pm-why { grid-template-columns: minmax(0, 1fr); } }
