.piv-sub{border:0;padding:0;margin:auto;border-radius:12px;overflow:auto;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:#fffdf9;color:#2b1d14;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.piv-sub[open]{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);animation:piv-sub-in .25s ease-out}
.piv-sub::backdrop{background:rgba(30,20,12,.55)}
.piv-sub__img{position:relative;min-height:340px;background:#3a2618}
.piv-sub__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;display:block}
.piv-sub__body{position:relative;padding:34px 28px 22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.piv-sub__x{position:absolute;top:8px;right:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#6b5848;border-radius:50%;cursor:pointer;padding:0}
.piv-sub__x:hover{background:rgba(43,29,20,.08);color:#2b1d14}
.piv-sub .piv-sub__title{font-family:var(--font-heading-family,Georgia,serif);font-size:26px;line-height:1.2;font-weight:500;letter-spacing:0;margin:0 0 10px;color:#2b1d14;text-transform:none}
.piv-sub .piv-sub__title .piv-sub__sub{display:block;margin-top:4px;font-size:19px;line-height:1.3;font-weight:400;color:#4a3a2d}
.piv-sub .piv-sub__text{font-family:var(--font-body-family,system-ui,sans-serif);font-size:15px;line-height:1.55;margin:0 0 16px;color:#4a3a2d}
.piv-sub__form{margin:0}
.piv-sub .piv-sub__input{display:block;width:100%;box-sizing:border-box;height:44px;border:1px solid #cdbfae;border-radius:8px;background:#fff;padding:0 12px;font:400 15px/1 var(--font-body-family,system-ui,sans-serif);color:#2b1d14;margin:0;box-shadow:none}
.piv-sub .piv-sub__input::placeholder{color:#8a7766;opacity:1}
.piv-sub .piv-sub__input:focus{outline:2px solid #ba5626;outline-offset:1px;border-color:#ba5626}
.piv-sub .piv-sub__btn{display:block;width:100%;height:44px;margin:8px 0 0;border:0;border-radius:8px;background:#ba5626;color:#fff;font:500 15px/1 var(--font-body-family,system-ui,sans-serif);letter-spacing:0;cursor:pointer;padding:0 20px}
.piv-sub .piv-sub__btn:hover{background:#a24a20}
.piv-sub .piv-sub__btn:focus-visible{outline:2px solid #2b1d14;outline-offset:2px}
.piv-sub .piv-sub__btn[disabled]{opacity:.7;cursor:default}
.piv-sub__msg{min-height:0;margin:8px 0 0;font:400 13px/1.4 var(--font-body-family,system-ui,sans-serif);color:#a32d2d}
.piv-sub__msg:empty{display:none}
.piv-sub .piv-sub__fine{font:400 12px/1.5 var(--font-body-family,system-ui,sans-serif);color:#6b5848;margin:12px 0 0}
.piv-sub__fine a{color:inherit;text-decoration:underline}
.piv-sub .piv-sub__no{display:block;border:0;background:none;padding:6px 0 0;margin:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.piv-sub .piv-sub__no:hover{color:#2b1d14}
.piv-sub__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.piv-sub__done[hidden]{display:none}
.piv-sub__done{text-align:left}
@keyframes piv-sub-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .piv-sub[open]{grid-template-columns:1fr}
  .piv-sub__img{min-height:0;height:104px}
  .piv-sub__img img{object-position:62% 38%}
  .piv-sub__body{padding:20px 20px 16px}
  .piv-sub .piv-sub__title{font-size:24px}
  .piv-sub .piv-sub__title .piv-sub__sub{font-size:17px}
  .piv-sub__x{background:rgba(255,253,249,.9);top:8px;right:8px}
}
@media (prefers-reduced-motion:reduce){.piv-sub[open]{animation:none}}
