.ch-pk { --pk-green:var(--ch-green,#29483a); --pk-line:var(--ch-line,#e7e3da); color:#27312c; font-family:"Open Sans",Arial,sans-serif; font-size:17px; line-height:1.65; max-width:1180px; margin:0 auto; }
.ch-pk *, .ch-pk *::before, .ch-pk *::after { box-sizing:border-box; }
.ch-pk [hidden] { display:none!important; }
.ch-pk .ch-pk__intro { max-width:760px; margin-bottom:32px; }
.ch-pk h2, .ch-pk h3, .ch-pk legend, .ch-pk button { font-family:Montserrat,Arial,sans-serif; color:var(--pk-green); font-weight:700; }
.ch-pk h2 { font-size:clamp(28px,3.5vw,44px); line-height:1.2; margin:0 0 20px; padding:0; }
.ch-pk h3 { font-size:21px; line-height:1.35; margin:0 0 12px; padding:0; }
.ch-pk p { margin:0 0 16px; padding:0; }
.ch-pk .ch-pk__kicker { color:#8a672d; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; }
.ch-pk__layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:start; }
.ch-pk fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }
.ch-pk legend { font-size:20px; line-height:1.4; margin-bottom:12px; padding:0; }
.ch-pk legend span { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border-radius:50%; background:#f3ebdd; color:#8a672d; font-size:15px; margin-right:8px; }
.ch-pk fieldset p, .ch-pk__privacy, .ch-pk__method { font-size:14px; color:#4f5a54; }
.ch-pk__pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:12px; }
.ch-pk label { display:block; font-size:14px; font-weight:600; }
.ch-pk input, .ch-pk select { display:block; width:100%; min-width:0; min-height:50px; margin-top:6px; border:1px solid #89968f; border-radius:8px; padding:12px; background:#fff; color:#27312c; font:inherit; font-size:17px; line-height:1.3; }
.ch-pk input[aria-invalid="true"] { border:2px solid #881910; }
.ch-pk .ch-pk__error { color:#881910; margin-top:8px; }
.ch-pk :is(input,select,button,summary,a):focus-visible, .ch-pk__result:focus { outline:3px solid #8a672d; outline-offset:4px; }
.ch-pk__actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.ch-pk button { cursor:pointer; min-height:48px; border:1px solid var(--pk-green); border-radius:999px; padding:12px 22px; background:var(--pk-green); color:#fff; font-size:14px; line-height:1.5; }
.ch-pk button:hover { background:#1f3a2f; color:#fff; }
.ch-pk button.ch-pk__secondary { background:transparent; color:var(--pk-green); }
.ch-pk button.ch-pk__secondary:hover { background:#f3ebdd; }
.ch-pk__result { background:#f8f5ee; border:1px solid var(--pk-line); border-top:4px solid #b18a4a; border-radius:14px; padding:28px; overflow-wrap:anywhere; }
.ch-pk .ch-pk__total { font-family:Montserrat,Arial,sans-serif; font-size:clamp(28px,3.5vw,42px); color:var(--pk-green); font-weight:700; line-height:1.2; margin-bottom:12px; }
.ch-pk .ch-pk__basis { font-size:14px; margin-bottom:28px; }
.ch-pk dl { margin:16px 0 24px; }
.ch-pk dl div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; padding:12px 0; border-bottom:1px solid var(--pk-line); }
.ch-pk dd { margin:0; font-weight:700; color:var(--pk-green); }
.ch-pk .ch-pk__reflection { margin-bottom:0; font-weight:600; }
.ch-pk__status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ch-pk__method { margin-top:24px; border-top:1px solid var(--pk-line); padding-top:16px; }
.ch-pk summary { cursor:pointer; font-weight:600; padding:8px 0; min-height:44px; }
.ch-pk details p { max-width:850px; margin-top:12px; }
@media(max-width:760px) { .ch-pk__layout { grid-template-columns:minmax(0,1fr); gap:20px; } .ch-pk__result { padding:22px; } }
@media(max-width:380px) { .ch-pk__pair { grid-template-columns:minmax(0,1fr); } .ch-pk button { width:100%; } }
@media print { .ch-pk__inputs,.ch-pk__method { display:none; } .ch-pk__layout { display:block; } .ch-pk__result { break-inside:avoid; } }

/* Explicit form geometry prevents Divi input rules from shifting paired fields. */
.ch-pk .ch-pk__pair { align-items:start; }
.ch-pk .ch-pk__pair label { margin:0!important; padding:0!important; line-height:1.5!important; }
.ch-pk .ch-pk__pair input[type="text"], .ch-pk .ch-pk__pair select {
  appearance:none!important; -webkit-appearance:none!important;
  height:54px!important; min-height:54px!important; width:100%!important;
  margin:8px 0 0!important; padding:12px 16px!important;
  border:1px solid #89968f!important; border-radius:8px!important;
  background-color:#fff!important; color:#27312c!important;
  font-family:"Open Sans",Arial,sans-serif!important; font-size:17px!important;
  font-weight:400!important; line-height:28px!important; box-shadow:none!important;
}
.ch-pk .ch-pk__pair select {
  padding-right:44px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2329483a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-position:right 16px center!important; background-repeat:no-repeat!important; background-size:16px!important;
}
.ch-pk .ch-pk__pair input[aria-invalid="true"] { border:2px solid #881910!important; }
.ch-pk .ch-pk__pair input::placeholder { color:#68746c; opacity:1; }
/* Consistent type scale and permanent gold border in both result states. */
.ch-pk { font-size:17px; line-height:1.65; }
.ch-pk .ch-pk__intro > p:not(.ch-pk__kicker) { font-size:18px; line-height:1.65; }
.ch-pk .ch-pk__result { border:2px solid #b18a4a; border-radius:14px; padding:28px; }
.ch-pk .ch-pk__result:focus { outline:none; }
.ch-pk .ch-pk__result:focus-visible { outline:3px solid #29483a; outline-offset:4px; }
.ch-pk .ch-pk__result h3 { font-family:Montserrat,Arial,sans-serif; font-size:21px!important; font-weight:700; line-height:1.35!important; }
.ch-pk .ch-pk__result p { font-size:16px; line-height:1.65; }
.ch-pk .ch-pk__result .ch-pk__kicker { font-size:12px; line-height:1.5; }
.ch-pk .ch-pk__result .ch-pk__total { font-size:clamp(30px,3.2vw,40px); font-weight:700; line-height:1.2; }
.ch-pk .ch-pk__result .ch-pk__basis { font-size:14px; line-height:1.6; }
.ch-pk .ch-pk__result dl { font-size:16px; line-height:1.5; }
.ch-pk .ch-pk__result dt { font-weight:400; }
.ch-pk .ch-pk__result dd { font-family:Montserrat,Arial,sans-serif; font-size:16px; font-weight:700; }
.ch-pk .ch-pk__result .ch-pk__reflection { font-size:16px; font-weight:600; line-height:1.6; }
.ch-pk fieldset legend { font-size:20px!important; line-height:1.4!important; }
.ch-pk .ch-pk__pair label { font-size:14px!important; font-weight:600!important; }
@media(max-width:760px) {
  .ch-pk .ch-pk__result { padding:22px; }
  .ch-pk .ch-pk__result h3 { font-size:20px!important; }
  .ch-pk fieldset legend { font-size:19px!important; }
  .ch-pk .ch-pk__intro > p:not(.ch-pk__kicker) { font-size:17px; }
}
/* Match the surrounding page: body 18px, subheadings 24px, sections 45px. */
.ch-pk { font-size:18px; line-height:1.7; }
.ch-pk h2 { font-size:45px; line-height:1.12; }
.ch-pk fieldset p, .ch-pk .ch-pk__result p, .ch-pk .ch-pk__result dl,
.ch-pk .ch-pk__result dd, .ch-pk .ch-pk__result .ch-pk__reflection,
.ch-pk .ch-pk__result .ch-pk__basis, .ch-pk .ch-pk__method { font-size:18px; line-height:1.7; }
.ch-pk .ch-pk__result h3, .ch-pk fieldset legend { font-size:24px!important; line-height:1.25!important; }
.ch-pk .ch-pk__pair label { font-size:16px!important; }
.ch-pk .ch-pk__pair input[type="text"], .ch-pk .ch-pk__pair select { font-size:18px!important; }
.ch-pk .ch-pk__privacy { font-size:16px; line-height:1.6; }
.ch-pk button { font-size:16px; }
.ch-pk .ch-pk__kicker, .ch-pk .ch-pk__result .ch-pk__kicker { font-size:13px; line-height:1.5; }
.ch-pk .ch-pk__result .ch-pk__total { font-size:40px; line-height:1.2; }
@media(max-width:760px) {
 .ch-pk h2 { font-size:32px; line-height:1.2; }
 .ch-pk fieldset p, .ch-pk .ch-pk__result p, .ch-pk .ch-pk__result dl,
 .ch-pk .ch-pk__result dd, .ch-pk .ch-pk__result .ch-pk__reflection,
 .ch-pk .ch-pk__result .ch-pk__basis, .ch-pk .ch-pk__method { font-size:17px; }
 .ch-pk .ch-pk__result h3, .ch-pk fieldset legend { font-size:21px!important; line-height:1.3!important; }
 .ch-pk .ch-pk__result .ch-pk__total { font-size:32px; }
}
