.payment-section{background:#fff;padding-block:clamp(40px,5vw,72px)}.payment-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(40px,6vw,96px);max-width:1100px;display:grid}.payment-intro h1,.payment-result h1{letter-spacing:-.035em;font-size:clamp(36px,3.5vw,52px);line-height:1.25}.payment-intro .chapter,.payment-result .chapter{margin-bottom:24px}.payment-description{color:var(--muted);margin-top:24px;font-size:17px;line-height:1.8}.payment-help{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px 20px;margin-top:28px;padding-top:24px;font-size:16px;line-height:1.7;display:flex}.payment-help p{color:var(--muted);flex-basis:100%}.payment-help a,.payment-receipt{color:var(--color-tech-blue);text-underline-offset:4px;overflow-wrap:anywhere;text-decoration:underline}.payment-help a{align-items:center;min-height:44px;display:inline-flex}.payment-panel{border:1px solid var(--line);border-top:4px solid var(--color-tech-blue);border-radius:3px;min-width:0}.payment-panel-body{padding:clamp(24px,3vw,36px)}.payment-panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.payment-panel-heading h2{letter-spacing:-.02em;font-size:21px;line-height:1.5}.payment-mode{font:600 11px/1.5 var(--font-mono);color:var(--color-ultramarine);background:var(--color-pale-blue);border:1px solid var(--line);flex-shrink:0;padding:5px 8px}.payment-notice,.payment-message:not(:empty){border-left:2px solid var(--color-tech-blue);background:var(--color-pale-blue);color:var(--color-ultramarine);margin-bottom:24px;padding:12px 14px;font-size:15px;line-height:1.7}.payment-message[data-state=error]{color:#861331;background:#fff2f5;border-color:#a10c2a}#payment-form fieldset{border:0;min-width:0;margin:0;padding:0}.payment-field{margin-bottom:24px}.payment-field label{margin-bottom:10px;font-size:16px;font-weight:500;display:block}.payment-field input{width:100%;min-height:56px;color:var(--color-ink);background:#fff;border:1px solid #a8abbc;border-radius:2px;padding:12px 16px;font-size:18px}.payment-field input[aria-invalid=true]{border-color:#a10c2a}.payment-amount{position:relative}.payment-amount input{font-family:var(--font-sans);font-variant-numeric:tabular-nums;padding-right:70px;font-size:22px}.payment-amount span{color:var(--muted);pointer-events:none;font-size:16px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.payment-hint{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.8}.payment-balance{margin-top:24px}.payment-error{color:#a10c2a;margin-top:8px;font-size:14px;line-height:1.8}.payment-error:empty{display:none}.payment-primary{justify-content:center;gap:16px;width:100%;margin-top:12px}.payment-primary:disabled{cursor:wait;opacity:.6}.payment-primary svg{flex-shrink:0}.payment-panel-footer{border-top:1px solid var(--line);color:var(--muted);background:#f9fafb;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 24px;font-size:13px;display:flex}.payment-summary{border-top:1px solid var(--line);margin:24px 0}.payment-summary div{border-bottom:1px solid var(--line);padding:16px 0}.payment-summary dt{color:var(--muted);font-size:14px}.payment-summary dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:22px;font-weight:500}[data-payment-review] h3{font-size:26px;line-height:1.5}.payment-link-button{min-height:48px;color:var(--color-tech-blue);text-underline-offset:4px;background:0 0;border:0;padding:12px 0;font-size:16px;text-decoration:underline;display:block}.payment-result{max-width:780px}.payment-result>.payment-panel{margin-top:32px}.payment-result .payment-panel h2{font-size:clamp(26px,3vw,34px);line-height:1.4}.payment-result .payment-description{margin-top:16px}.payment-receipt{align-items:center;min-height:44px;display:inline-flex}@media (width<=800px){.payment-layout{grid-template-columns:1fr;gap:32px}.payment-intro .payment-help{margin-top:20px;padding-top:16px}}@media (prefers-reduced-motion:no-preference){.payment-intro{animation:payment-enter .5s var(--ease) both}@keyframes payment-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
