/* Products and pricing */
body[data-page=products] { --pc-dark:#143e2e; --pc-muted:#4c6758; --pc-line:#cedacf; --pc-pale:#eef3e9; --pc-gold:#e6c895; background:#fff; }
.pc-cover { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#11291f; }
.pc-cover-art { position:absolute; inset:0 0 0 auto; width:73%; z-index:-1; }
.pc-cover-art img { width:100%; height:100%; object-fit:cover; object-position:72% center; }
.pc-cover-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#11291f,rgba(17,41,31,.78) 15%,transparent 48%); }
.pc-cover-inner { display:flex; align-items:center; min-height:clamp(330px,30vw,425px); padding-block:40px; }
.pc-copy { width:48%; max-width:560px; }
.pc-copy h1 { color:#fff; font-size:clamp(42px,4.4vw,66px); line-height:1.12; letter-spacing:-.045em; margin:15px 0; }
.pc-copy p { color:#e0ece3; font-size:16px; text-wrap:balance; }
.pc-copy .pc-category { display:flex; align-items:center; gap:10px; color:#efd7aa; font-size:15px; font-weight:650; }
.pc-category::before { content:""; width:28px; height:2px; background:var(--pc-gold); }
.pc-cover nav { display:flex; align-items:center; gap:14px 24px; flex-wrap:wrap; margin-top:23px; }
.pc-cover nav a { color:white; font-size:14px; border-bottom:1px solid #91b5a0; }
.pc-cover nav a:first-child { color:#193929; background:var(--pc-gold); border:0; padding:10px 18px; font-weight:650; }
.pc-cover nav a:hover { text-decoration:underline; text-underline-offset:3px; }
.pc-caption { position:absolute; bottom:12px; right:2.5%; color:#f1edda; background:#10261cdb; padding:2px 8px; font-size:10px; }
.oc-directory { padding-block:clamp(32px,3.6vw,53px) 15px; }
.pc-directory-head { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:6px 18px; margin-bottom:18px; }
.pc-directory-head h2,.pc-published h2,#configuration .form-heading h2 { margin:0; font-size:clamp(27px,2.8vw,41px); color:var(--pc-dark); line-height:1.25; letter-spacing:-.045em; }
.pc-directory-head p { color:var(--pc-muted); font-size:14px; }
.oc-controls { background:#f0f4ec; border:1px solid var(--pc-line); padding:14px 17px; gap:12px; }
.oc-fields label { color:#315d43; }
.oc-fields input,.oc-fields select { border-radius:2px; font-size:14px; }
.oc-tabs button { border-radius:2px; font-size:14px; padding:8px 13px; }
.oc-tabs button span { margin-left:3px; font:600 11px/1.2 ui-monospace,monospace; opacity:.85; }
.oc-guide { margin:12px 0 18px; font-size:13px; }
.oc-group { margin:14px 0 27px; }
.oc-group-title { background:#164534; color:white; padding:12px 17px; border:0; }
.oc-group-title h3 { margin:0; font-size:21px; line-height:1.35; }
.oc-group-title p { margin-left:auto; color:#d4e5d8; }
.oc-product summary { grid-template-columns:minmax(0,1.45fr) minmax(0,.76fr) minmax(0,1fr) 24px; padding:15px 17px; gap:8px 18px; }
.oc-product summary:hover,.oc-product[open]>summary { background:#f1f5ed; }
.oc-name { font-size:17px; }
.pc-unit b { font-weight:550; color:#254b36; font-size:13px; line-height:1.4; display:block; }
.pc-unit small,.oc-rate small { font-size:12px; }
.oc-rate { line-height:1.4; }
.oc-product .oc-rate strong { font-size:16px; }
.oc-product .oc-plus { border-color:#99af9d; border-radius:2px; }
.oc-body { padding:10px 17px 18px; }
.oc-body .pc-purpose { color:#274d39; margin:5px 0 12px; font-size:15px; }
.pc-facts { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.24fr) minmax(0,1fr); gap:18px; background:#f3f5ed; padding:16px 19px; border-left:3px solid #b08e56; }
.pc-facts h4 { margin:0 0 5px; font-size:15px; color:#1e523c; }
.pc-facts p,.pc-facts ul { margin:0; color:#405b4c; font-size:13px; line-height:1.65; }
.pc-facts ul { padding-left:17px; }
.oc-body caption { padding:16px 0 6px; font-size:15px; }
.oc-body table th,.oc-body table td { white-space:normal; overflow-wrap:break-word; }
.oc-body table td:last-child a { font-weight:650; }
.pc-published { padding:clamp(30px,4vw,56px) 0; background:#f2f4ec; }
.pc-published h2 { margin-bottom:18px; }
.pc-rate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.pc-rate-grid article { padding:20px clamp(14px,2vw,28px); background:white; border:1px solid var(--pc-line); border-top:3px solid #27754e; }
.pc-rate-grid article+article { border-top-color:#a48754; }
.pc-rate-grid header { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px; }
.pc-rate-grid header h3 { font-size:23px; color:var(--pc-dark); }
.pc-rate-grid header span { font-size:12px; color:var(--pc-muted); }
.pc-rate-grid ul { list-style:none; padding:0; margin:12px 0; }
.pc-rate-grid li { border-top:1px solid #d4ded3; }
.pc-rate-grid li a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:9px 0; color:var(--pc-dark); }
.pc-rate-grid li a:hover { background:#f4f6ef; }
.pc-rate-grid li b,.pc-rate-grid small { display:block; }
.pc-rate-grid small { font-size:12px; color:var(--pc-muted); line-height:1.4; }
.pc-rate-grid strong { text-align:right; line-height:1.4; font-size:17px; font-variant-numeric:tabular-nums; }
.pc-rate-grid em,.pc-rate-grid i { font-size:12px; font-style:normal; }
.pc-rate-grid i { color:#886a3e; }
.pc-rate-grid article>p { font-size:13px; color:var(--pc-muted); }
#configuration { padding-block:clamp(32px,4.6vw,65px); }
#configuration .pricing-layout { margin-top:0; }
#configuration .form-heading h2 { font-size:clamp(23px,2.1vw,32px); }
.pc-config-help { display:block; margin-top:5px; font-size:12px; color:#516857; font-weight:450; }
@media(max-width:900px){
  .oc-controls { align-items:flex-start; }
  .oc-fields { flex:1; }
  .oc-fields label { flex:1; }
  .oc-fields select,.oc-fields input { width:100%; }
}
@media(max-width:680px){
  .pc-cover { display:flex; flex-direction:column; }
  .pc-cover-inner { order:-1; min-height:auto; padding-block:28px 13px; }
  .pc-copy { width:100%; }
  .pc-copy h1 { font-size:39px; }
  .pc-copy p { font-size:15px; }
  .pc-cover nav { margin-top:14px; }
  .pc-cover-art { position:relative; inset:auto; width:100%; height:clamp(160px,42vw,235px); z-index:0; }
  .pc-cover-art img { object-position:72% 57%; }
  .pc-cover-art::after { background:linear-gradient(#11291f,transparent 33%); }
  .pc-caption { bottom:5px; font-size:9px; }
  .oc-controls { padding:11px; }
  .oc-tabs button { padding:6px 9px; font-size:13px; }
  .oc-fields { grid-template-columns:1fr 1fr; }
  .oc-fields label { min-width:0; }
  .oc-group-title { padding:10px; }
  .oc-group-title h3 { font-size:19px; }
  .oc-product summary { grid-template-columns:minmax(0,1fr) auto 21px; gap:5px 9px; padding:12px 5px; }
  .oc-name { grid-column:1/3; font-size:16px; }
  .oc-product .oc-plus { grid-column:3; grid-row:1/3; width:20px; height:20px; }
  .pc-unit { grid-column:1; grid-row:2; }
  .pc-unit small,.pc-unit b { display:inline; font-size:11px; }
  .pc-unit small { margin-right:4px; }
  .oc-rate { grid-column:2; grid-row:2; max-width:150px; }
  .oc-product .oc-rate strong { font-size:13px; }
  .oc-product .oc-rate small { font-size:11px; }
  .oc-body { padding:8px 5px 16px; }
  .oc-body caption { display:block; width:100%; white-space:normal; overflow-wrap:anywhere; }
  #config-summary dt { flex-shrink:0; }
  #config-summary dd { min-width:0; overflow-wrap:anywhere; }
  .pc-facts,.pc-rate-grid { grid-template-columns:1fr; }
  .pc-facts { gap:12px; padding:12px 14px; }
  .pc-directory-head p { font-size:13px; }
}
