/* Scoped to [tpx_story_form]: header, footer and other pages keep their styles. */
.tpx-story{width:100%;color:#111;font:16px/1.6 Arial,Helvetica,sans-serif}
.tpx-story *,.tpx-story *::before,.tpx-story *::after{box-sizing:border-box}
.tpx-story h2{margin:0 0 6px;font:800 clamp(22px,2.4vw,27px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.03em;color:#111}
.tpx-story a{color:#ad0959;font-weight:700}
.tpx-story a:hover{color:#ed167d}
.tpx-story a:focus-visible,.tpx-story button:focus-visible,.tpx-story input:focus-visible,.tpx-story textarea:focus-visible{outline:3px solid #ed167d;outline-offset:2px}
.tpx-story-form fieldset{margin:0 0 30px;padding:0 0 28px;border:0;border-bottom:1px solid #e3e3de;min-width:0}
.tpx-story-form legend{padding:0;margin:0 0 14px;float:left;width:100%}
.tpx-story-form legend+*{clear:both}
.tpx-story-required{margin:0 0 22px;color:#555;font-size:14px}
.tpx-story-field{display:flex;flex-direction:column;gap:6px;margin:0 0 20px;min-width:0}
.tpx-story-field label{font-weight:800;font-size:15px}
.tpx-story-optional{font-weight:400;color:#666}
.tpx-story-hint{display:block;color:#555;font-size:14px;line-height:1.5}
.tpx-story-form input[type=text],.tpx-story-form input[type=email],.tpx-story-form input[type=url],.tpx-story-form textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bdbdb6;border-radius:0;background:#fff;color:#111;font:inherit}
.tpx-story-form textarea{min-height:260px;resize:vertical}
.tpx-story-form input[type=file]{width:100%;max-width:100%;padding:14px;border:1px dashed #bdbdb6;background:#fafaf8;font:inherit}
.tpx-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.tpx-story .has-error input,.tpx-story .has-error textarea{border:2px solid #ed167d}
.tpx-story-error{display:block;color:#ad0959;font-size:14px;font-weight:700}
.tpx-story-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 12px;align-items:start;margin:0 0 16px;padding:12px 14px;border:1px solid transparent}
.tpx-story-check input{width:20px;height:20px;margin:3px 0 0;accent-color:#ed167d}
.tpx-story-check label{font-size:15px;line-height:1.55}
.tpx-story-check .tpx-story-error{grid-column:2}
.tpx-story-check.has-error{border:2px solid #ed167d;background:#fff0f7}
.tpx-story-summary{margin:0 0 30px;padding:20px 22px;border:2px solid #ed167d;border-left-width:6px;background:#fff0f7}
.tpx-story-summary:focus{outline:3px solid #111;outline-offset:2px}
.tpx-story-summary ul{margin:10px 0 0;padding-left:20px}
.tpx-story-summary li{margin:0 0 6px}
.tpx-story-summary p{margin:12px 0 0}
.tpx-story-extra{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.tpx-story-submit button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:8px 23px;border:0;border-radius:1px;background:#dc1474;color:#fff;font:800 16px/1.5 Arial,Helvetica,sans-serif;cursor:pointer;transition:background-color .2s}
.tpx-story-submit button:hover{background:#ff2b91}
.tpx-story-submit p{margin:14px 0 0;color:#555;font-size:14px;max-width:620px}
.tpx-story-success{padding:28px;border:1px solid #deded9;border-top:4px solid #ed167d;background:#fff}
.tpx-story-success:focus{outline:none}
.tpx-story-kicker{margin:0 0 8px;color:#ad0959;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
@media (max-width:767px){.tpx-story-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tpx-story-submit button{transition:none}}
