:where([data-pv], [data-pv-result]) {--navy:#001f3f;--blue:#179bd7;--pale:#c7e7f5;--green:#beefa4;--bg:#f7fbfc;--panel:#e8f4f8;--text:#173349}:where([data-pv], [data-pv-result]) * {box-sizing:border-box}:where([data-pv], [data-pv-result]) [hidden] {display:none!important}:where([data-pv], [data-pv-result]) input,:where([data-pv], [data-pv-result]) select,:where([data-pv], [data-pv-result]) button {font:inherit}:where([data-pv], [data-pv-result]) .pv-head {height:108px;background:#fff;border-bottom:4px solid var(--blue)}:where([data-pv], [data-pv-result]) .pv-head>div,:where([data-pv], [data-pv-result]) .pv-foot>div {width:min(1020px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}:where([data-pv], [data-pv-result]) .pv-brand {display:flex;align-items:center;gap:14px;color:var(--navy);text-decoration:none;font-size:22px}:where([data-pv], [data-pv-result]) .pv-logo {max-height:62px;width:auto}:where([data-pv], [data-pv-result]) .pv-mark {display:grid;place-items:center;width:54px;height:54px;background:var(--blue);color:#fff;font-size:46px;font-style:normal}:where([data-pv], [data-pv-result]) .pv-menu {display:none}:where([data-pv], [data-pv-result]) .pv-hero {width:min(1020px,calc(100% - 40px));margin:34px auto}:where([data-pv], [data-pv-result]) .pv-slider {position:relative;aspect-ratio:2.25;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--blue))}:where([data-pv], [data-pv-result]) .pv-slider article {position:absolute;inset:0;opacity:0;transition:.5s}:where([data-pv], [data-pv-result]) .pv-slider article.on {opacity:1}:where([data-pv], [data-pv-result]) .pv-slider img {width:100%;height:100%;object-fit:cover}:where([data-pv], [data-pv-result]) .pv-slider article>p {position:absolute;bottom:0;left:0;max-width:55%;margin:0;padding:20px 28px;background:#001f3fe5;color:#fff}:where([data-pv], [data-pv-result]) .fallback>div {height:100%;padding:8%;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:radial-gradient(circle at 78% 25%,var(--green) 0 20%,transparent 20%),linear-gradient(120deg,var(--navy),var(--blue))}:where([data-pv], [data-pv-result]) .fallback b {font-size:44px}:where([data-pv], [data-pv-result]) .pv-choice {width:min(760px,calc(100% - 40px));margin:42px auto 70px;display:grid;grid-template-columns:1fr 1fr;gap:62px}:where([data-pv], [data-pv-result]) .pv-choice button {min-height:112px;border:0;border-radius:14px;background:var(--navy);color:#fff;font-size:27px;font-weight:700}:where([data-pv], [data-pv-result]) .pv-choice b {display:inline-grid;place-items:center;width:62px;height:62px;margin-right:25px;border-radius:50%;background:#fff;color:var(--blue);font-size:50px}:where([data-pv], [data-pv-result]) .pv-flows {width:min(1020px,calc(100% - 40px));margin:30px auto 70px}:where([data-pv], [data-pv-result]) .return {border:0;background:none;color:var(--blue);font-weight:700}:where([data-pv], [data-pv-result]) .steps {list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}:where([data-pv], [data-pv-result]) .steps li {padding:12px;background:#d6dde1;color:#82919c;font-weight:700}:where([data-pv], [data-pv-result]) .steps li.now {background:var(--navy);color:#fff}:where([data-pv], [data-pv-result]) .steps li.done {background:var(--pale);color:var(--navy)}:where([data-pv], [data-pv-result]) .steps b {font-size:25px;margin-right:10px}:where([data-pv], [data-pv-result]) .panel {margin:28px 0;padding:42px 48px;background:var(--panel);border-radius:14px}:where([data-pv], [data-pv-result]) .intro {font-size:24px;color:var(--navy)}:where([data-pv], [data-pv-result]) .pill {display:table;padding:9px 21px;border-radius:14px;background:var(--navy);color:#fff;font-size:23px}:where([data-pv], [data-pv-result]) .wide,:where([data-pv], [data-pv-result]) .full input {width:100%;height:54px;border:0;padding:0 16px}:where([data-pv], [data-pv-result]) .amount-title {margin-top:30px}:where([data-pv], [data-pv-result]) .amounts {display:flex;flex-wrap:wrap;gap:18px}:where([data-pv], [data-pv-result]) .amounts label {position:relative}:where([data-pv], [data-pv-result]) .amounts input[type=radio] {position:absolute;opacity:0}:where([data-pv], [data-pv-result]) .amounts span {display:block;padding:16px 28px;border-radius:14px;background:var(--pale);font-weight:700}:where([data-pv], [data-pv-result]) .amounts input:checked+span {background:var(--green);box-shadow:inset 0 0 0 3px var(--blue)}:where([data-pv], [data-pv-result]) .amounts .custom {display:flex;align-items:center;gap:12px;flex:1 1 100%}:where([data-pv], [data-pv-result]) .amounts .custom span {background:none;box-shadow:none;padding-left:0}:where([data-pv], [data-pv-result]) .amounts .custom input[type=number] {position:static;opacity:1;width:280px;height:52px;border:0;padding:0 16px}:where([data-pv], [data-pv-result]) .minimum {margin-top:34px}:where([data-pv], [data-pv-result]) .inline {border:0;padding:0;display:flex;align-items:center;gap:20px;margin:20px 0}:where([data-pv], [data-pv-result]) .inline legend {float:left;margin-right:25px;font-weight:700}:where([data-pv], [data-pv-result]) input[type=radio],:where([data-pv], [data-pv-result]) input[type=checkbox] {width:22px;height:22px;accent-color:var(--blue)}:where([data-pv], [data-pv-result]) .full small {display:block;color:#8296a5}:where([data-pv], [data-pv-result]) .payments {border:0;padding:0;margin-top:30px}:where([data-pv], [data-pv-result]) .payments label {display:flex;align-items:center;gap:8px;margin:12px 0}:where([data-pv], [data-pv-result]) .payments b {padding:5px;background:#fff;color:var(--blue)}:where([data-pv], [data-pv-result]) .existing {border:0;padding:0;display:flex;align-items:center;gap:14px}:where([data-pv], [data-pv-result]) .existing legend {float:left;margin-right:25px;font-size:24px;color:var(--navy)}:where([data-pv], [data-pv-result]) .existing input {position:absolute;opacity:0}:where([data-pv], [data-pv-result]) .existing label span {display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff}:where([data-pv], [data-pv-result]) .existing input:checked+span {background:var(--navy);color:#fff}:where([data-pv], [data-pv-result]) .row {display:grid;grid-template-columns:210px 1fr;gap:20px;margin:14px 0}:where([data-pv], [data-pv-result]) .row>span {text-align:right;padding-top:13px;font-size:21px;color:var(--navy);font-weight:700}:where([data-pv], [data-pv-result]) .row>input,:where([data-pv], [data-pv-result]) .grid input,:where([data-pv], [data-pv-result]) .address input,:where([data-pv], [data-pv-result]) .address select {width:100%;height:54px;border:0;padding:0 16px}:where([data-pv], [data-pv-result]) .grid {display:grid;grid-template-columns:1fr 1fr;gap:12px}:where([data-pv], [data-pv-result]) .grid .wide {grid-column:1/-1}:where([data-pv], [data-pv-result]) .muted span {color:#8296a5}:where([data-pv], [data-pv-result]) .address>* {margin-bottom:12px}:where([data-pv], [data-pv-result]) .address-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:12px}:where([data-pv], [data-pv-result]) .address-toggle {display:block;margin:20px 0}:where([data-pv], [data-pv-result]) .notes {margin-top:30px;border-top:1px solid #ccd;padding-top:20px;line-height:1.7}:where([data-pv], [data-pv-result]) .notice {padding:15px;background:#fff;border-left:4px solid var(--blue)}:where([data-pv], [data-pv-result]) .captcha {display:flex;align-items:center;justify-content:center;gap:15px;margin-top:30px}:where([data-pv], [data-pv-result]) .captcha input {height:50px;border:0}:where([data-pv], [data-pv-result]) .captcha strong {padding:12px;background:#fff;border:2px dashed var(--blue)}:where([data-pv], [data-pv-result]) .required {text-align:right;color:#8296a5}:where([data-pv], [data-pv-result]) .actions {display:flex;justify-content:center;gap:22px}:where([data-pv], [data-pv-result]) .actions button {border:0;border-radius:14px;padding:13px 25px;font-weight:700}:where([data-pv], [data-pv-result]) .actions .primary {background:var(--navy);color:#fff}:where([data-pv], [data-pv-result]) .error {padding:15px;background:#ffe5e5;color:#9b1c1c}:where([data-pv], [data-pv-result]) .summary dl {display:grid;grid-template-columns:180px 1fr}:where([data-pv], [data-pv-result]) .summary dt,:where([data-pv], [data-pv-result]) .summary dd {padding:10px;border-bottom:1px solid #ccd}:where([data-pv], [data-pv-result]) .summary dd {margin:0}:where([data-pv], [data-pv-result]) .confirm {display:block;margin-top:20px}:where([data-pv], [data-pv-result]) .centre {text-align:center}:where([data-pv], [data-pv-result]) .success {display:grid;place-items:center;width:70px;height:70px;margin:auto;border-radius:50%;background:var(--green);font-size:40px}:where([data-pv], [data-pv-result]) .pv-foot {height:190px;background:#fff;border-top:4px solid var(--blue)}:where([data-pv], [data-pv-result]) .pv-foot p {font-size:14px}:where([data-pv], [data-pv-result]) .pv-foot nav {display:flex;gap:14px}:where([data-pv], [data-pv-result]) .pv-foot a {color:var(--blue)}
@media(max-width:760px){:where([data-pv], [data-pv-result]) .pv-head {height:88px}:where([data-pv], [data-pv-result]) .pv-head>div {width:calc(100% - 26px)}:where([data-pv], [data-pv-result]) .pv-logo {max-height:50px;max-width:230px}:where([data-pv], [data-pv-result]) .pv-menu {display:block;border:0;background:none}:where([data-pv], [data-pv-result]) .pv-menu span {display:block;width:30px;height:4px;margin:5px;background:var(--navy)}:where([data-pv], [data-pv-result]) .pv-hero {width:calc(100% - 28px)}:where([data-pv], [data-pv-result]) .pv-slider {aspect-ratio:1/1.18}:where([data-pv], [data-pv-result]) .pv-choice {grid-template-columns:1fr;gap:18px;width:calc(100% - 36px)}:where([data-pv], [data-pv-result]) .pv-choice button {min-height:82px}:where([data-pv], [data-pv-result]) .pv-flows {width:calc(100% - 24px)}:where([data-pv], [data-pv-result]) .steps li {text-align:center;padding:10px}:where([data-pv], [data-pv-result]) .steps span {display:none}:where([data-pv], [data-pv-result]) .panel {padding:34px 18px;border-radius:14px}:where([data-pv], [data-pv-result]) .intro {text-align:center}:where([data-pv], [data-pv-result]) .amounts {gap:10px}:where([data-pv], [data-pv-result]) .amounts span {padding:14px}:where([data-pv], [data-pv-result]) .amounts .custom {display:grid;grid-template-columns:1fr 1fr}:where([data-pv], [data-pv-result]) .amounts .custom input[type=number] {width:100%}:where([data-pv], [data-pv-result]) .inline,:where([data-pv], [data-pv-result]) .existing {flex-wrap:wrap}:where([data-pv], [data-pv-result]) .inline legend,:where([data-pv], [data-pv-result]) .existing legend {float:none;flex-basis:100%}:where([data-pv], [data-pv-result]) .row {grid-template-columns:1fr;gap:6px}:where([data-pv], [data-pv-result]) .row>span {text-align:left;padding:0}:where([data-pv], [data-pv-result]) .grid {grid-template-columns:1fr}:where([data-pv], [data-pv-result]) .address-grid {grid-template-columns:1fr 1fr}:where([data-pv], [data-pv-result]) .captcha {flex-wrap:wrap}:where([data-pv], [data-pv-result]) .summary dl {grid-template-columns:105px 1fr}:where([data-pv], [data-pv-result]) .pv-foot {height:auto}:where([data-pv], [data-pv-result]) .pv-foot>div {padding:30px 0;display:grid;gap:10px}}
/* v0.2 measured alignment overrides */
:where([data-pv], [data-pv-result]) .pv-choice {width:670px;max-width:calc(100% - 40px);grid-template-columns:305px 305px;gap:60px}
:where([data-pv], [data-pv-result]) .pv-choice button {width:305px;height:105px;min-height:105px;padding:0 34px;display:flex;align-items:center;justify-content:flex-start;border-radius:14px;font-size:23px;line-height:1}
:where([data-pv], [data-pv-result]) .pv-choice button b {flex:0 0 58px;width:58px;height:58px;margin:0 34px 0 0;line-height:1}
:where([data-pv], [data-pv-result]) .panel {padding:44px 54px;border-radius:14px;overflow:visible}
:where([data-pv], [data-pv-result]) .inline {min-height:44px;gap:18px 28px}
:where([data-pv], [data-pv-result]) .inline label {display:inline-flex;align-items:center;gap:8px;line-height:1.35;margin:0}
:where([data-pv], [data-pv-result]) .inline input[type=radio],:where([data-pv], [data-pv-result]) .payments input[type=radio] {appearance:none!important;-webkit-appearance:none!important;width:22px!important;height:22px!important;min-width:22px!important;margin:0!important;border:2px solid #7e858b!important;border-radius:50%!important;background:#fff!important;box-shadow:none!important}
:where([data-pv], [data-pv-result]) .inline input[type=radio]:checked,:where([data-pv], [data-pv-result]) .payments input[type=radio]:checked {border-color:var(--blue)!important;background:var(--blue)!important;box-shadow:inset 0 0 0 5px #fff!important}
:where([data-pv], [data-pv-result]) .donor-type {padding:0 0 4px 0}
:where([data-pv], [data-pv-result]) .row {grid-template-columns:220px minmax(0,1fr);align-items:start;gap:22px;margin:18px 0}
:where([data-pv], [data-pv-result]) .row>span {padding-top:13px;line-height:1.3}
:where([data-pv], [data-pv-result]) .row>input,:where([data-pv], [data-pv-result]) .grid input,:where([data-pv], [data-pv-result]) .address input,:where([data-pv], [data-pv-result]) .address select,:where([data-pv], [data-pv-result]) .wide,:where([data-pv], [data-pv-result]) .full input {display:block!important;width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;line-height:1.3!important}
:where([data-pv], [data-pv-result]) .grid {gap:14px}
:where([data-pv], [data-pv-result]) .address>select {max-width:240px!important;margin-bottom:14px!important}
:where([data-pv], [data-pv-result]) .address [data-hk]>.address-grid {margin-bottom:14px}
:where([data-pv], [data-pv-result]) .address [data-hk]>input,:where([data-pv], [data-pv-result]) .address [data-hk]>select,:where([data-pv], [data-pv-result]) .address [data-overseas]>input,:where([data-pv], [data-pv-result]) .address [data-overseas]>select {display:block!important;margin:0 0 14px!important}
:where([data-pv], [data-pv-result]) .address-grid {gap:14px}
:where([data-pv], [data-pv-result]) .address-grid input,:where([data-pv], [data-pv-result]) .address-grid select {margin:0!important}
:where([data-pv], [data-pv-result]) .address-row {margin-top:24px;margin-bottom:24px}
:where([data-pv], [data-pv-result]) .existing {min-height:52px}
:where([data-pv], [data-pv-result]) .existing label {display:inline-flex;align-items:center;margin:0}
:where([data-pv], [data-pv-result]) .existing label span {line-height:1}
:where([data-pv], [data-pv-result]) .payment-support {margin-top:32px;padding-top:4px}
:where([data-pv], [data-pv-result]) .payment-support h3 {margin:0 0 17px;color:var(--navy);font-size:20px;font-weight:700}
:where([data-pv], [data-pv-result]) .payment-support .pay-badges {display:flex;flex-wrap:wrap;align-items:center;gap:12px}
:where([data-pv], [data-pv-result]) .payment-support .pay-badges b {display:inline-flex;align-items:center;min-height:42px;padding:8px 12px;background:#fff;color:var(--blue);font-size:17px;line-height:1;font-weight:800}
:where([data-pv], [data-pv-result]) .payment-support p {margin:16px 0 0;color:#62798b;font-size:14px;line-height:1.6}
:where([data-pv], [data-pv-result]) .captcha {gap:18px;margin-top:34px}
:where([data-pv], [data-pv-result]) .captcha label {display:flex;align-items:center;gap:12px}
:where([data-pv], [data-pv-result]) .captcha input {width:150px!important;height:50px!important;margin:0!important}
:where([data-pv], [data-pv-result]) .actions button {min-width:128px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;line-height:1;margin:0}
@media(max-width:760px){:where([data-pv], [data-pv-result]) .pv-choice {width:calc(100% - 36px);max-width:none;grid-template-columns:1fr;gap:18px}:where([data-pv], [data-pv-result]) .pv-choice button {width:100%;height:82px;min-height:82px;padding:0 24px;font-size:23px}:where([data-pv], [data-pv-result]) .pv-choice button b {flex-basis:52px;width:52px;height:52px;margin-right:25px}:where([data-pv], [data-pv-result]) .panel {padding:34px 18px}:where([data-pv], [data-pv-result]) .row {grid-template-columns:1fr;gap:8px;margin:20px 0}:where([data-pv], [data-pv-result]) .inline {gap:14px 20px}:where([data-pv], [data-pv-result]) .inline legend {margin-bottom:2px}:where([data-pv], [data-pv-result]) .address [data-hk]>input,:where([data-pv], [data-pv-result]) .address [data-hk]>select,:where([data-pv], [data-pv-result]) .address [data-overseas]>input,:where([data-pv], [data-pv-result]) .address [data-overseas]>select {margin-bottom:12px!important}:where([data-pv], [data-pv-result]) .address-grid {gap:12px}:where([data-pv], [data-pv-result]) .payment-support .pay-badges {gap:9px}:where([data-pv], [data-pv-result]) .payment-support .pay-badges b {font-size:15px;padding:8px 10px}:where([data-pv], [data-pv-result]) .captcha label {flex-wrap:wrap}}

/* v0.3 flow and field corrections */
:where([data-pv], [data-pv-result]) .amounts .custom>span {min-width:290px;justify-content:flex-start!important;padding:0!important;border-radius:0!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important;font-size:19px;font-weight:500}
:where([data-pv], [data-pv-result]) .amounts .custom input[type=radio]:checked+span {background:transparent!important;box-shadow:none!important}
:where([data-pv], [data-pv-result]) .amounts .custom input[type=number] {flex:0 1 360px;border-radius:0!important}
:where([data-pv], [data-pv-result]) .annual-choice {margin-top:28px}
:where([data-pv], [data-pv-result]) [data-annual-details] {margin-top:8px}
:where([data-pv], [data-pv-result]) [data-annual-details] .inline {margin:14px 0}
:where([data-pv], [data-pv-result]) .annual-name {display:block;margin:14px 0 4px 220px}
:where([data-pv], [data-pv-result]) .annual-name small {display:block;margin-bottom:8px;color:#8296a5;font-size:16px;line-height:1.5}
:where([data-pv], [data-pv-result]) .annual-name input {display:block;width:100%;height:54px;border:0;border-radius:0;padding:0 16px;background:#fff}
:where([data-pv], [data-pv-result]) .notes {display:block;margin:38px 0 0;padding:28px 0 4px;border-top:1px solid rgba(0,31,63,.18);line-height:1.7}
:where([data-pv], [data-pv-result]) .notes h3 {margin:0 0 20px;color:var(--navy);font-size:24px}
:where([data-pv], [data-pv-result]) .notes>p {margin:0 0 25px;max-width:none}
:where([data-pv], [data-pv-result]) .notes .inline {display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:36px;row-gap:12px;margin:20px 0 30px}
:where([data-pv], [data-pv-result]) .notes .inline legend {float:none;width:auto;margin:0;font-weight:700}
:where([data-pv], [data-pv-result]) .notes .inline label {display:inline-flex;align-items:center;gap:8px;margin:0 22px 0 0}
:where([data-pv], [data-pv-result]) .notes>label {display:flex;align-items:center;gap:10px;margin:0}
:where([data-pv], [data-pv-result]) .actions [data-return] {display:inline-flex}
@media(max-width:760px){:where([data-pv], [data-pv-result]) .amounts .custom {grid-template-columns:1fr 1.2fr}:where([data-pv], [data-pv-result]) .amounts .custom>span {min-width:0;font-size:16px}:where([data-pv], [data-pv-result]) .annual-name {margin-left:0}:where([data-pv], [data-pv-result]) .notes {padding-top:24px}:where([data-pv], [data-pv-result]) .notes .inline {grid-template-columns:1fr;column-gap:0}:where([data-pv], [data-pv-result]) .notes .inline legend {margin-bottom:2px}:where([data-pv], [data-pv-result]) .notes .inline label {margin-right:14px}}

/* v0.4 reference-DOM geometry */
@media(min-width:761px){
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .panel {width:960px;margin:30px auto;padding:50px 40px;border-radius:14px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-branch],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-new] {width:880px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing {width:880px;min-height:37px;margin:0 0 30px;gap:10px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing legend {flex:0 0 auto;width:200px;margin:0 20px 0 0;font-size:25px;line-height:25px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing label span {width:32px;height:37px;font-size:20px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type {width:880px;min-height:30px;margin:25px 0 30px;padding:0;gap:10px 20px;font-size:20px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .salutation {width:880px;min-height:30px;margin:0 0 30px;gap:10px;font-size:20px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .salutation legend {flex:0 0 auto;margin:0 10px 0 0;line-height:30px;text-align:left}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row {width:880px;grid-template-columns:220px 660px;gap:0;margin:0;align-items:start}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row>span {width:220px;padding:0 20px 0 0;text-align:right;font-size:25px;line-height:25px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid {width:660px;grid-template-columns:320px 320px;grid-auto-rows:42px;column-gap:10px;row-gap:10px;padding:0 10px 10px 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row>input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address select {height:42px!important;min-height:42px!important;padding:0 10px!important;font-size:20px!important;line-height:20px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row>input {width:650px!important;margin:0 10px 10px 0!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid input {width:320px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid .wide {width:650px!important;grid-column:1/-1}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-row {margin:0 0 10px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address {width:660px;padding:0 10px 0 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address>select {width:155px!important;max-width:155px!important;margin:0 0 10px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid {width:650px;grid-template-columns:repeat(4,155px);grid-auto-rows:42px;gap:10px;margin:0 0 10px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid select {width:155px!important;margin:0!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address [data-hk]>input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address [data-hk]>select,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address [data-overseas]>input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address [data-overseas]>select {width:650px!important;margin:0 0 10px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline {width:880px;min-height:25px;margin:0 0 10px;gap:0;font-size:20px;line-height:25px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language legend,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice legend,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline legend {flex:0 0 220px;width:220px;margin:0;padding:0 20px 0 0;text-align:right;font-size:25px;line-height:25px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language label,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice label,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline label {margin:0 20px 0 0;font-size:20px;line-height:25px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details] {width:880px;margin:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name {width:660px;margin:0 0 0 220px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name small {width:650px;margin:0 0 10px;font-size:20px;line-height:20px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name input {width:650px;height:42px;padding:0 10px;font-size:20px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .notes {width:880px;margin:40px 0 0;padding:25px 0 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .amounts {width:860px;margin-left:20px;column-gap:23px;row-gap:30px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .amounts>label:not(.custom) {flex:0 0 172px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .amounts>label:not(.custom)>span {display:flex;width:172px;height:57px;align-items:center;justify-content:center;padding:0}
:where([data-pv], [data-pv-result]) .amounts .custom {display:flex;flex:1 0 100%;align-items:center;gap:18px;margin:0}
:where([data-pv], [data-pv-result]) .amounts .custom>span {flex:0 0 auto;min-width:0;font-size:20px;line-height:20px}
:where([data-pv], [data-pv-result]) .amounts .custom input[type=number] {flex:0 0 239px;width:239px;height:42px;padding:10px;font-size:20px}
}

@media(max-width:760px){
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .panel {width:auto;margin:28px 0;padding:34px 18px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-branch],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-new],:where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .salutation,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .notes,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .amounts {width:100%}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row {grid-template-columns:1fr;gap:8px;margin:20px 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row>span {width:auto;padding:0;text-align:left;font-size:20px;line-height:1.3}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid {grid-template-columns:1fr;grid-auto-rows:54px;gap:10px;padding:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .row>input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .grid .wide,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address select,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name input {width:100%!important;height:54px!important;margin:0 0 10px!important;font-size:16px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address {padding:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid {width:100%;grid-template-columns:1fr 1fr;grid-auto-rows:54px;gap:10px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid input,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-grid select {width:100%!important;height:54px!important}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline {display:flex;flex-wrap:wrap;gap:14px 20px;margin:20px 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .language legend,:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-choice legend,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-annual-details]>.inline legend {flex:1 0 100%;width:auto;padding:0;text-align:left;font-size:20px;line-height:1.3}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name {margin:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name small {width:auto;font-size:16px;line-height:1.5}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .amounts {margin-left:0}
:where([data-pv], [data-pv-result]) .amounts .custom {display:flex;gap:8px}
:where([data-pv], [data-pv-result]) .amounts .custom>span {flex:0 0 auto;min-width:0;font-size:16px}
:where([data-pv], [data-pv-result]) .amounts .custom input[type=number] {flex:1 1 auto;width:auto;min-width:0;height:52px}
}

/* v0.4.1 merge the monthly amount and donor regions like the reference */
@media(min-width:761px){
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined {width:960px;margin:30px auto;background:var(--panel);border-radius:14px;overflow:hidden}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel {width:960px;margin:0;padding:50px 40px;background:transparent;border-radius:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel:first-child {padding-bottom:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel:nth-child(2) {padding-top:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel:first-child .minimum {margin-bottom:15px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined .donor-type {margin:20px 0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined .salutation {margin-bottom:20px}
}
@media(max-width:760px){
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined {width:auto;margin:28px 0;background:var(--panel);border-radius:14px;overflow:hidden}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel {width:auto;margin:0;padding:34px 18px;background:transparent;border-radius:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel:first-child {padding-bottom:0}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined>.panel:nth-child(2) {padding-top:0}
}

/* v0.4.2 final measured vertical correction */
@media(min-width:761px){
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address [data-hk]>.address-grid {margin-bottom:10px}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .address-row {margin-bottom:8px}
}

/* v0.4.3: reference-aligned monthly donor conditionals */
@media(min-width:761px){
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing {justify-content:flex-start}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing legend {width:240px;min-width:240px;flex:0 0 240px;margin-right:20px;white-space:nowrap;text-align:left}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name {margin:0 0 24px 220px!important}
}
@media(max-width:760px){
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .existing legend {width:auto;min-width:0;white-space:normal;text-align:left}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .annual-name {margin-bottom:20px!important}
}
/* v0.4.4 confirmation alignment */
:where([data-pv], [data-pv-result]) .confirm {display:flex!important;align-items:center!important;gap:10px}
:where([data-pv], [data-pv-result]) .confirm input[type="checkbox"] {margin:0!important;flex:0 0 auto}
/* v0.4.6 monthly existing reference geometry */
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] [data-company]:not([hidden]) {display:flex;flex-direction:column}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] [data-company]>.row:first-child {order:2}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] [data-company]>.row:nth-child(2) {order:1}
:where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-existing-notice {background:transparent!important;border:0!important;padding:0!important}
@media(min-width:761px){
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] {margin-top:7px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] [data-individual]>.row>span,:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] [data-company]>.row:nth-child(2)>span {visibility:hidden}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline input[type="radio"] {width:25px;height:25px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline>label:first-of-type {margin-left:5px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha {display:flex;align-items:center;justify-content:flex-start;width:880px;height:42px;margin:0 auto!important}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha label {display:grid;grid-template-columns:220px 120px;align-items:center;width:340px;margin:0}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha label span {text-align:left}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha label input {width:120px!important;height:42px!important;margin:0!important}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha strong {display:block;width:90px;height:42px;line-height:42px;margin:0 0 0 10px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-existing-notice {width:960px;margin:24px auto 0!important;line-height:1.45;text-align:left}
}
/* v0.4.7 monthly existing pixel correction */
@media(min-width:761px){
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] {margin-top:0;padding-top:7px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type {position:relative;top:2px;column-gap:29px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type>label {gap:3px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type>label:first-of-type {margin-left:5px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .donor-type input[type="radio"],:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline input[type="radio"] {width:25px!important;min-width:25px!important;height:25px!important}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline {display:grid;grid-template-columns:220px max-content max-content;column-gap:0;align-items:center;position:relative;top:-1px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline>legend {grid-column:1;grid-row:1}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline>label {display:inline-flex;align-items:center;gap:3px;margin:0}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline>label:first-of-type {grid-column:2;grid-row:1;margin-left:5px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .language>label:nth-of-type(2) {grid-column:3;grid-row:1;margin-left:9px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .annual-choice>label:nth-of-type(2) {grid-column:3;grid-row:1;margin-left:7px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined:has([data-existing]:not([hidden])) .captcha label {gap:0!important;column-gap:0!important}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-existing-notice {margin-top:74px!important}
}
/* v0.4.8 monthly existing final coordinates */
@media(min-width:761px){
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .inline {top:0}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .language>label:nth-of-type(2),:where([data-pv], [data-pv-result]) [data-flow="monthly"] [data-existing] .annual-choice>label:nth-of-type(2) {margin-left:5px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-combined .panel>div:has(>[data-existing]:not([hidden])) {padding-bottom:4px}
  :where([data-pv], [data-pv-result]) [data-flow="monthly"] .monthly-existing-notice {margin-top:80px!important}
}

/* v0.4.9 captcha and monthly existing-donor note: measured from reference DOM */
:where([data-pv], [data-pv-result]) [data-step="1"] .captcha {
  display: grid !important;
  grid-template-columns: 220px 120px 10px 75px minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: start !important;
  gap: 0 !important;
  width: 100% !important;
  height: 62px !important;
  min-height: 62px !important;
  margin: 0 !important;
}

:where([data-pv], [data-pv-result]) [data-step="1"] .captcha > label {
  display: contents !important;
}

:where([data-pv], [data-pv-result]) [data-step="1"] .captcha > label > span {
  grid-column: 1;
  box-sizing: border-box;
  align-self: start;
  padding: 0 20px 0 0 !important;
  color: #179BD7 !important;
  font-family: "Microsoft JhengHei", "Microsoft Jhenghei", Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 25px !important;
  text-align: right !important;
  white-space: nowrap;
}

:where([data-pv], [data-pv-result]) [data-step="1"] .captcha input[name="captcha"] {
  grid-column: 2;
  box-sizing: border-box !important;
  width: 120px !important;
  min-width: 120px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 1px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: "Microsoft JhengHei", "Microsoft Jhenghei", Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 40px !important;
}

:where([data-pv], [data-pv-result]) [data-step="1"] .captcha .captcha-image {
  grid-column: 4;
  display: block;
  box-sizing: border-box;
  width: 75px !important;
  height: 45px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  cursor: pointer;
}

:where([data-pv], [data-pv-result]) [data-step="1"] > .monthly-existing-notice,:where([data-pv], [data-pv-result]) [data-step="1"] .monthly-existing-notice {
  box-sizing: border-box;
  width: auto !important;
  min-height: 54px;
  margin: 30px 30px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #179BD7 !important;
  font-family: "Microsoft JhengHei", "Microsoft Jhenghei", Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 18px !important;
}

:where([data-pv], [data-pv-result]) [data-step="1"] > .monthly-existing-notice + .actions {
  margin-top: 30px !important;
}

@media (max-width: 767px) {
  :where([data-pv], [data-pv-result]) [data-step="1"] .captcha {
    grid-template-columns: minmax(92px, 1fr) 105px 8px 75px !important;
  }

  :where([data-pv], [data-pv-result]) [data-step="1"] .captcha > label > span {
    padding-right: 12px !important;
    font-size: 18px !important;
    line-height: 24px !important;
  }

  :where([data-pv], [data-pv-result]) [data-step="1"] .captcha input[name="captcha"] {
    width: 105px !important;
    min-width: 105px !important;
  }

  :where([data-pv], [data-pv-result]) [data-step="1"] > .monthly-existing-notice,:where([data-pv], [data-pv-result]) [data-step="1"] .monthly-existing-notice {
    min-height: 0;
    margin: 22px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
}

/* v0.5.0 SNTD palette lock */
:where([data-pv], [data-pv-result]) {
  --sntd-deep-blue: #001F3F;
  --sntd-pale-blue: #C7E7F5;
  --sntd-light-green: #BEEFA4;
  --sntd-bright-blue: #179BD7;
}

:where([data-pv], [data-pv-result]) [data-step="1"] .captcha .captcha-image:focus-visible {
  outline: 3px solid var(--sntd-bright-blue);
  outline-offset: 2px;
}

/* v0.5.2 match annual receipt label colour */
:where([data-pv], [data-pv-result]) [data-step="1"] .captcha > label > span,:where([data-pv], [data-pv-result]) [data-step="1"] > .monthly-existing-notice,:where([data-pv], [data-pv-result]) [data-step="1"] .monthly-existing-notice {
  color: #1E293B !important;
}

/* v0.5.3 captcha heading typography alignment */
:where([data-pv], [data-pv-result]) [data-step="1"] .captcha > label > span {
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 25px !important;
  letter-spacing: normal !important;
  color: #1E293B !important;
}

/* 0.5.4: official single-donation desktop geometry, isolated from monthly flow */
@media (min-width: 1100px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel { padding-left: 70px !important; padding-right: 70px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel * { box-sizing: border-box; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel input:not([type="radio"]):not([type="checkbox"]),:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel select { height: 42px !important; font-size: 20px !important; line-height: 42px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel input[type="radio"] { width: 25px !important; height: 25px !important; min-width: 25px !important; margin: 0 5px 0 0 !important; }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts { display: grid !important; grid-template-columns: repeat(3, 180px) !important; column-gap: 15px !important; row-gap: 42px !important; width: 880px !important; height: auto !important; padding-left: 20px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > label:not(.custom) { width: 180px !important; height: 60px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > label:not(.custom) > span { display: flex !important; align-items: center !important; justify-content: center !important; width: 180px !important; height: 60px !important; padding: 0 !important; font-size: 20px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > .custom { grid-column: 1 / -1 !important; display: flex !important; align-items: center !important; gap: 23px !important; width: 426px !important; height: 42px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > .custom > input[type="radio"] { position: absolute !important; opacity: 0 !important; pointer-events: none !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > .custom > span { flex: 0 0 164px !important; width: 164px !important; font-size: 20px !important; line-height: 24px !important; white-space: nowrap !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .amounts > .custom > input[type="number"] { flex: 0 0 239px !important; width: 239px !important; margin: 0 !important; }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline { display: flex !important; align-items: center !important; gap: 0 !important; width: 880px !important; min-height: 42px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > legend,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > legend { flex: 0 0 185px !important; width: 185px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > label,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > label { flex: 0 0 73px !important; margin: 0 !important; }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] > .row,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] > .row { display: grid !important; grid-template-columns: 220px 650px !important; column-gap: 0 !important; align-items: start !important; width: 880px !important; margin-bottom: 10px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] > .row > span,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] > .row > span { width: 220px !important; padding-right: 20px !important; font-family: "Noto Sans TC", sans-serif !important; font-size: 25px !important; font-weight: 700 !important; line-height: 25px !important; text-align: right !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] > .row > .grid,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] > .row > .grid { display: grid !important; grid-template-columns: 320px 320px !important; gap: 10px !important; width: 650px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] > .row > .grid > .wide,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] > .row > .grid > .wide { grid-column: 1 / -1 !important; width: 650px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] > .row > .address,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] > .row > .address { width: 650px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address > select:first-child { width: 240px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address-grid { display: grid !important; grid-template-columns: repeat(4, 155px) !important; gap: 10px !important; width: 650px !important; margin-top: 10px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address-grid > * { width: 155px !important; min-width: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-hk],:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-overseas] { width: 650px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-hk] > input,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-hk] > select,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-overseas] > input,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address [data-overseas] > select { display: block !important; width: 650px !important; margin-top: 10px !important; }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.donor-type,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language { display: flex !important; align-items: center !important; gap: 0 !important; width: 880px !important; min-height: 42px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing > legend { flex: 0 0 255px !important; width: 255px !important; font-size: 25px !important; line-height: 25px !important; white-space: nowrap !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing > label { flex: 0 0 50px !important; width: 50px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.donor-type { padding-left: 5px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.donor-type > label { flex: 0 0 128px !important; width: 128px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation > legend { flex: 0 0 65px !important; width: 65px !important; font-size: 20px !important; line-height: 25px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation > label { flex: 0 0 73px !important; width: 73px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > legend { flex: 0 0 220px !important; width: 220px !important; padding-right: 20px !important; font-family: "Noto Sans TC", sans-serif !important; font-size: 25px !important; font-weight: 700 !important; line-height: 25px !important; text-align: right !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > label { flex: 0 0 73px !important; width: 73px !important; margin: 0 !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > label:first-of-type { margin-left: 5px !important; }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha { grid-template-columns: 220px 120px 75px !important; column-gap: 10px !important; width: 880px !important; }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha > strong { width: 220px !important; padding-right: 20px !important; font-family: "Noto Sans TC", sans-serif !important; font-size: 25px !important; font-weight: 700 !important; line-height: 25px !important; text-align: right !important; }
}
/* 0.5.5: complete single-donation DOM alignment */
@media (min-width: 1100px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel input:not([type="radio"]):not([type="checkbox"]),:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel select {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .row,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .row {
    display: grid !important;
    grid-template-columns: 220px 650px !important;
    column-gap: 0 !important;
    align-items: start !important;
    width: 880px !important;
    margin-bottom: 10px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .row > span,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .row > span {
    width: 220px !important;
    padding: 0 20px 0 0 !important;
    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 25px !important;
    text-align: right !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .row > .grid,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .row > .grid {
    display: grid !important;
    grid-template-columns: 320px 320px !important;
    gap: 10px !important;
    width: 650px !important;
    min-width: 650px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .row > .grid > .wide,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .row > .grid > .wide,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .row > input:not([type="radio"]):not([type="checkbox"]),:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .row > input:not([type="radio"]):not([type="checkbox"]) {
    grid-column: 2 !important;
    width: 650px !important;
    min-width: 650px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing > label,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation > label,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > label,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > label,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > label {
    height: 25px !important;
    min-height: 25px !important;
    padding: 0 !important;
    line-height: 25px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > label:first-of-type {
    margin-left: 5px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .address-grid {
    grid-auto-rows: 42px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha {
    display: grid !important;
    grid-template-columns: 220px 120px 85px !important;
    grid-template-rows: 45px !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-items: center !important;
    width: 880px !important;
    height: 45px !important;
    min-height: 45px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha > label {
    display: contents !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha > label > span {
    grid-column: 1 !important;
    width: 220px !important;
    padding: 0 20px 0 0 !important;
    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 25px !important;
    text-align: right !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha > label > input {
    grid-column: 2 !important;
    width: 120px !important;
    min-width: 120px !important;
    margin: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] .captcha > canvas {
    grid-column: 3 !important;
    width: 75px !important;
    height: 45px !important;
    margin: 0 0 0 10px !important;
  }
}
/* 0.5.6: single receipt alignment and final radio/grid corrections */
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-receipt] {
  display: none !important;
}
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-receipt].is-open {
  display: block !important;
}

@media (min-width: 1100px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .minimum,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > legend,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > legend {
    margin: 0 !important;
    padding: 0 !important;
    color: #001F3F !important;
    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    white-space: nowrap !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type .minimum {
    width: 880px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: 880px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > legend,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > legend {
    flex: 0 0 185px !important;
    width: 185px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type > fieldset.inline > label {
    flex: 0 0 73px !important;
    width: 73px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 25px !important;
    white-space: nowrap !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] > .panel:first-of-type [data-receipt] > fieldset.inline > label {
    flex: 0 0 125px !important;
    width: 125px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 25px !important;
    white-space: nowrap !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.existing > legend {
    margin: 0 !important;
    padding: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.salutation > legend {
    width: 65px !important;
    height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] fieldset.language > legend {
    margin: 0 !important;
    padding: 0 20px 0 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-existing] .grid > input.wide,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-step="1"] [data-new] .grid > input.wide {
    grid-column-start: 1 !important;
    grid-column-end: 3 !important;
  }
}
/* 0.5.7: reference-style collapsible new-address control for existing single donors */
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle {
  position: relative;
  display: grid !important;
  grid-template-columns: 220px 42px;
  grid-template-rows: 25px 18px;
   width: 880px;
  min-height: 43px;
  margin: 10px 0 18px;
  padding: 0 !important;
  color: #8A99A8;
  cursor: pointer;
  user-select: none;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__title,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__hint {
  grid-column: 1;
  padding-right: 20px;
  text-align: right;
  white-space: nowrap;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__title {
  grid-row: 1;
  font-family: "Noto Sans TC", sans-serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 25px;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__hint {
  grid-row: 2;
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__arrow {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: start;
  width: 0;
  height: 0;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 22px solid #8A99A8;
  transition: transform 180ms ease;
  transform-origin: 50% 45%;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle.is-open .existing-address-toggle__arrow {
  transform: rotate(180deg);
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle:focus-visible {
  outline: 3px solid #179BD7;
  outline-offset: 6px;
  border-radius: 4px;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle > input[type="checkbox"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-panel[hidden] {
  display: none !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-panel:not([hidden]) {
  animation: smhExistingAddressReveal 220ms ease-out both;
}

@keyframes smhExistingAddressReveal {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1099px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle {
    grid-template-columns: minmax(0, 1fr) 38px;
    width: 100%;
  }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__title,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__hint {
    padding-right: 12px;
    text-align: left;
  }
}
/* 0.5.8: single new-donor spacing and reference field order */
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] {
  margin-top: 26px !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] fieldset.salutation > label:last-of-type {
  flex: 0 0 100px !important;
  width: 100px !important;
  white-space: nowrap !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] fieldset.salutation > label:last-of-type input {
  flex: 0 0 25px;
}

@media (max-width: 1099px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] {
    margin-top: 20px !important;
  }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] fieldset.salutation > label:last-of-type {
    flex-basis: auto !important;
    width: auto !important;
  }
}
/* 0.5.9: evenly space the single-donation new-donor heading, type and salutation. */
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] {
  margin-top: 38px !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] .sntd-new-donor-title,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] .sntd-new-donor-type {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] .sntd-new-donor-salutation {
  margin-top: 0 !important;
}

@media (max-width: 1099px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] {
    margin-top: 30px !important;
  }
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] .sntd-new-donor-title,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-new] .sntd-new-donor-type {
    margin-bottom: 24px !important;
  }
}

/* 0.6.0: correctly scope the reference spacing to the single-donation branch. */
:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > h2.pill {
  margin: 38px 0 28px !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > fieldset.donor-type {
  margin: 0 !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > [data-new] {
  margin-top: 28px !important;
}

:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > [data-new] > fieldset.salutation {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > h2.pill {
    margin-top: 30px !important;
    margin-bottom: 24px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="single"] [data-branch] > [data-new] {
    margin-top: 24px !important;
  }
}

/* 0.6.2: mobile donor rhythm and captcha title alignment. */
@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) form[data-kind="monthly"] fieldset.existing {
    row-gap: 20px !important;
    margin: 0 0 24px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="monthly"] [data-branch] > h2.pill {
    margin: 0 0 24px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind="monthly"] [data-branch] > fieldset.donor-type {
    margin: 0 0 24px !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] .captcha {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    gap: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] .captcha > label {
    display: grid !important;
    grid-template-columns: max-content minmax(65px, 140px) !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] .captcha > label > span,:where([data-pv], [data-pv-result]) form[data-kind="monthly"] fieldset.annual-choice > legend {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #001F3F !important;
    font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] .captcha > label > input {
    width: 100% !important;
    min-width: 65px !important;
    margin: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] .captcha > strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
}

/* 0.6.3: requested mobile title size. */
@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) form[data-kind] .captcha > label > span,:where([data-pv], [data-pv-result]) form[data-kind="monthly"] fieldset.annual-choice > legend {
    font-size: 20px !important;
  }
}

/* 0.7.0: reference-sized desktop and mobile carousel. */
:where([data-pv], [data-pv-result]) .pv-hero {
  width: min(960px, calc(100% - 40px)) !important;
  margin: 34px auto !important;
}

:where([data-pv], [data-pv-result]) .pv-slider {
  position: relative !important;
  width: 100% !important;
  height: 400px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #001F3F !important;
  isolation: isolate;
}

:where([data-pv], [data-pv-result]) .pv-slider article[data-slide] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 500ms ease, visibility 500ms ease;
}

:where([data-pv], [data-pv-result]) .pv-slider article[data-slide].on {
  z-index: 1;
  opacity: 1 !important;
  visibility: visible;
  pointer-events: auto;
}

:where([data-pv], [data-pv-result]) .pv-slide-picture,:where([data-pv], [data-pv-result]) .pv-slide-picture .bannerImg {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

:where([data-pv], [data-pv-result]) .pv-slide-picture .bannerImg {
  max-width: 960px !important;
  max-height: 400px !important;
  margin: 0 auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

:where([data-pv], [data-pv-result]) .pv-slider .arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 64px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: linear-gradient(90deg, rgba(0,31,63,.58), rgba(0,31,63,0));
  font-size: 56px;
  font-weight: 300;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(0,0,0,.45);
  cursor: pointer;
  opacity: .82;
}

:where([data-pv], [data-pv-result]) .pv-slider .arrow.prev { left: 0; }
:where([data-pv], [data-pv-result]) .pv-slider .arrow.next {
  right: 0;
  background: linear-gradient(270deg, rgba(0,31,63,.58), rgba(0,31,63,0));
}
:where([data-pv], [data-pv-result]) .pv-slider .arrow:hover,:where([data-pv], [data-pv-result]) .pv-slider .arrow:focus-visible { opacity: 1; }
:where([data-pv], [data-pv-result]) .pv-slider .arrow:focus-visible,:where([data-pv], [data-pv-result]) .pv-slider .dots button:focus-visible {
  outline: 3px solid #BEEFA4;
  outline-offset: -5px;
}

:where([data-pv], [data-pv-result]) .pv-slider .dots {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
}

:where([data-pv], [data-pv-result]) .pv-slider .dots button {
  width: 12px;
  height: 12px;
  min-width: 12px;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(0,31,63,.42);
  box-shadow: 0 1px 3px rgba(0,0,0,.32);
  cursor: pointer;
}

:where([data-pv], [data-pv-result]) .pv-slider .dots button.on {
  background: #179BD7;
  box-shadow: 0 0 0 3px rgba(255,255,255,.78);
}

@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) .pv-hero {
    width: min(400px, calc(100% - 28px)) !important;
    margin: 24px auto 30px !important;
  }

  :where([data-pv], [data-pv-result]) .pv-slider {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  :where([data-pv], [data-pv-result]) .pv-slide-picture .bannerImg {
    max-width: 400px !important;
    max-height: 400px !important;
    object-fit: cover !important;
  }

  :where([data-pv], [data-pv-result]) .pv-slider .arrow {
    width: 46px;
    font-size: 42px;
  }

  :where([data-pv], [data-pv-result]) .pv-slider .dots {
    bottom: 12px;
    gap: 8px;
  }

  :where([data-pv], [data-pv-result]) .pv-slider .dots button {
    width: 10px;
    height: 10px;
    min-width: 10px;
  }

  :where([data-pv], [data-pv-result]) .pv-slider article[data-slide] > p {
    right: 0;
    max-width: none;
    padding: 13px 50px 36px;
    font-size: 15px;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where([data-pv], [data-pv-result]) .pv-slider article[data-slide] { transition: none; }
}

/* 0.7.1: requested 20px mobile field titles. */
@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) form[data-kind] [data-existing] .existing-donor-number > span,:where([data-pv], [data-pv-result]) form[data-kind] [data-existing] .row.muted > span,:where([data-pv], [data-pv-result]) form[data-kind] fieldset.language > legend,:where([data-pv], [data-pv-result]) form[data-kind="single"] [data-existing] .existing-address-toggle__title,:where([data-pv], [data-pv-result]) form[data-kind] .captcha > label > span {
    font-size: 20px !important;
  }
}

/* Shared Stripe return screen. The wrapper neutralises theme content/sidebar flex rules
 * (notably Astra) without changing the donation form rendered inside normal page content. */
.smh-result-shell {
  width: 100% !important;
  max-width: none !important;
  flex: 1 1 100% !important;
  min-width: 0;
}
.smh-result-shell > .pv-result-page[data-pv-result] {
  width: min(1020px, calc(100% - 40px)) !important;
  max-width: 1020px !important;
  margin: 30px auto 70px !important;
  padding: 0 !important;
  float: none !important;
  color: var(--text);
  font-family: "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}
.smh-result-shell > .pv-result-page[data-pv-result] > .steps {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
}
.smh-result-shell > .pv-result-page[data-pv-result] > .pv-result-panel {
  width: 100% !important;
  max-width: none !important;
  min-height: 360px;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
:where([data-pv-result]) .pv-result-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: var(--green);
  color: var(--navy);
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
:where([data-pv-result]).is-pending .pv-result-icon { background: #fff0b8; }
:where([data-pv-result]).is-failed .pv-result-icon { background: #fde2e2; color: #9b1c1c; }
:where([data-pv-result]) .pv-result-panel h1 { margin: 0 0 12px; color: var(--navy); }
:where([data-pv-result]) .pv-result-panel > p { max-width: 760px; margin: 0 0 18px; }
:where([data-pv-result]) .pv-result-order strong { overflow-wrap: anywhere; word-break: break-word; }
:where([data-pv-result]) .pv-result-return {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 12px;
  padding: 13px 28px;
  border-radius: 14px;
  background: var(--navy);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
}
:where([data-pv-result]) .pv-result-return:hover,
:where([data-pv-result]) .pv-result-return:focus-visible { background: #003a70; color: #fff !important; }
:where([data-pv-result]) .pv-result-return:focus-visible { outline: 3px solid rgba(23, 155, 215, .35); outline-offset: 3px; }
:where([data-pv], [data-pv-result]) .pv-flow.is-redirecting button[type=submit] {cursor:wait;opacity:.8}
@media (max-width: 760px) {
  .smh-result-shell > .pv-result-page[data-pv-result] {
    width: calc(100% - 24px) !important;
    margin: 22px auto 44px !important;
  }
  .smh-result-shell > .pv-result-page[data-pv-result] > .steps { margin-bottom: 18px !important; }
  .smh-result-shell > .pv-result-page[data-pv-result] > .pv-result-panel { min-height: 330px; padding: 34px 20px; }
  :where([data-pv-result]) .pv-result-page .steps li { text-align: center; padding: 10px; }
  :where([data-pv-result]) .pv-result-page .steps span { display: none; }
  :where([data-pv-result]) .pv-result-panel h1 { font-size: clamp(28px, 8vw, 36px); }
  :where([data-pv-result]) .pv-result-order { width: 100%; }
}
/* Donation submissions retain a non-interactive spam trap, without a CAPTCHA. */
:where([data-pv], [data-pv-result]) .pv-honeypot {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}


/* 1.5.20: keep mobile amounts and donor fields inside their container. */
@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .amounts > .custom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    gap: 10px !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .amounts > .custom > span,:where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .amounts > .custom > input[type="number"] {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    flex: none !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .amounts > .custom > span {
    white-space: normal !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .row > .grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  :where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .row > .grid > input {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}


/* 1.6.0: selectable online/offline payments, scoped to donation forms. */
:where([data-pv], [data-pv-result]) .payment-options { min-width: 0; border: 0; padding: 0; margin: 0; }
:where([data-pv], [data-pv-result]) .payment-options legend { float: none; width: 100%; margin: 0 0 12px; padding: 0; font-size: 20px; font-weight: 700; color: #001F3F; }
:where([data-pv], [data-pv-result]) .payment-options label { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0; width: 100%; color: #001F3F; }
:where([data-pv], [data-pv-result]) .payment-options input[type="radio"] { flex: 0 0 22px; margin-top: 4px; }
:where([data-pv], [data-pv-result]) .payment-options label > span { min-width: 0; max-width: 100%; }
:where([data-pv], [data-pv-result]) .payment-options small { display: block; margin-top: 8px; font-size: 14px; line-height: 1.6; color: #536B7D; }
:where([data-pv], [data-pv-result]) .payment-options .pay-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
:where([data-pv], [data-pv-result]) .payment-options .pay-badges b { max-width: 100%; overflow-wrap: anywhere; }
:where([data-pv], [data-pv-result]) .pv-payment-instructions { width: 100%; min-width: 0; margin: 20px 0; }
:where([data-pv], [data-pv-result]) .pv-payment-instructions > div { display: grid; grid-template-columns: minmax(100px, 180px) minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid #C7E7F5; }
:where([data-pv], [data-pv-result]) .pv-payment-instructions dt { margin: 0; font-weight: 700; color: #001F3F; }
:where([data-pv], [data-pv-result]) .pv-payment-instructions dd { min-width: 0; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #001F3F; }
:where([data-pv], [data-pv-result]) .pv-offline-result p { line-height: 1.7; }
:where([data-pv], [data-pv-result]) .pv-result-return { display: inline-block; padding: 12px 24px; color: #fff; background: #001F3F; border-radius: 14px; text-decoration: none; }
@media (max-width: 760px) {
  :where([data-pv], [data-pv-result]) .pv-payment-instructions > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  :where([data-pv], [data-pv-result]) .payment-options label { gap: 10px; }
}

/* Keep the optional English name within the responsive name grid. */
:where([data-pv], [data-pv-result]) form[data-kind] [data-step] .panel .row > .grid > input.wide {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Summary entries are semantic dt/dd pairs wrapped by the safe DOM renderer. */
:where([data-pv], [data-pv-result]) .summary [data-summary] > div { display: contents; }
:where([data-pv], [data-pv-result]) .summary dd { min-width: 0; overflow-wrap: anywhere; }

/* Independent payment-selection prompts and completion copy. */
:where([data-pv]) .payment-options .pv-selection-message { max-width: 52rem; padding: 10px 14px; border-left: 3px solid #179BD7; background: #C7E7F5; color: #001F3F; white-space: pre-line; overflow-wrap: anywhere; }
:where([data-pv]) .payment-options .pv-selection-message[hidden] { display: none !important; }
:where([data-pv]) .pv-offline-result [data-offline-message],
:where([data-pv-result]) .pv-result-panel [data-completion-message] { white-space: pre-line; overflow-wrap: anywhere; }

/* Full-width Stripe completion, matching offline results. */
[data-pv-result] .pv-offline-result { text-align: left; }
[data-pv-result] .pv-offline-result [data-completion-message] { max-width: none !important; width: 100%; margin: 24px 0; white-space: pre-line; overflow-wrap: anywhere; line-height: 1.7; }
[data-pv-result] .pv-offline-result .pill { max-width: 100%; overflow-wrap: anywhere; }
[data-pv-result] .pv-offline-result .pv-payment-instructions dd { min-width: 0; overflow-wrap: anywhere; }
/* Mobile language alignment and desktop-proportioned banners. */
@media (max-width: 760px) {
  [data-pv] form[data-kind] [data-step] fieldset.language {
    display: block !important; width: 100% !important; min-width: 0 !important;
    height: auto !important; min-height: 0 !important; max-height: none !important;
    margin: 24px 0 !important; padding: 0 !important; text-align: left !important;
  }
  [data-pv] form[data-kind] [data-step] fieldset.language > legend {
    float: none !important; display: block !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important; height: auto !important;
    margin: 0 0 12px !important; padding: 0 !important; text-align: left !important;
    font-size: 20px !important; line-height: 1.4 !important; white-space: normal !important;
  }
  [data-pv] form[data-kind] [data-step] fieldset.language > label {
    display: inline-flex !important; align-items: center !important;
    width: auto !important; height: auto !important; gap: 8px !important;
    margin: 0 20px 0 0 !important; padding: 0 !important;
  }
  [data-pv] .pv-slider { height: auto !important; aspect-ratio: 960 / 400 !important; }
  [data-pv] .pv-slide-picture .bannerImg { max-width: none !important; max-height: none !important; }
}
/* Full-bleed mobile carousel only; donation buttons retain their own width. */
@media (max-width: 760px) {
  [data-pv] .pv-hero {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}