.tpp{--tpp-blue:#0433ff;max-width:1100px;margin:0 auto;padding:clamp(24px,5vw,70px);color:#111;background:#fff;overflow-wrap:anywhere}.tpp *{box-sizing:border-box;min-width:0}.tpp h1{font-size:clamp(28px,4vw,52px);line-height:1.3;letter-spacing:-.03em}.tpp h2{font-size:clamp(21px,2.5vw,30px)}.tpp p,.tpp li{line-height:1.9}.tpp-kicker{color:#ff4b00;font-weight:800;letter-spacing:.12em}.tpp-lead{font-size:clamp(19px,2vw,26px)}.tpp section{border-top:2px solid #111;padding:28px 0;margin-top:32px}.tpp label{display:block;margin:16px 0}.tpp input:not([type=checkbox]),.tpp textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #999;border-radius:0;background:#fafafa;color:#111}.tpp textarea{min-height:140px;resize:vertical}.tpp button{font:inherit;font-weight:700;background:var(--tpp-blue);color:white;border:0;padding:14px 22px;min-height:44px;cursor:pointer;max-width:100%}.tpp button:focus-visible,.tpp a:focus-visible,.tpp input[type=checkbox]:focus-visible{outline:3px solid #ff4b00;outline-offset:2px}.tpp-note{border-left:5px solid var(--tpp-blue);background:#f3f5ff;padding:16px}.tpp article{border:1px solid #ccc;padding:20px;margin:20px 0}.tpp [hidden]{display:none!important}
.tpp select{display:block;width:100%;min-height:44px;font:inherit;padding:10px 12px;border:1px solid #999;background:#fafafa;color:#111;border-radius:0}
/* Keep the orange focus indicator exactly inside each rectangular field. An
 * outside outline-offset looked detached from tall textareas in Chrome. */
.tpp input:not([type=checkbox]):focus-visible,.tpp textarea:focus-visible,.tpp select:focus-visible{outline:0;border-color:#ff4b00;box-shadow:inset 0 0 0 2px #ff4b00}
@media(forced-colors:active){.tpp input:not([type=checkbox]):focus-visible,.tpp textarea:focus-visible,.tpp select:focus-visible{outline:2px solid Highlight;outline-offset:-2px;box-shadow:none}}
.tpp .tpp-rule-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:24px 0;font-size:15px;line-height:1.8}.tpp-rule-table caption{text-align:left;font-weight:800;padding:0 0 12px;color:#0433ff}.tpp-rule-table th,.tpp-rule-table td{padding:14px;border:1px solid #d5d5d5;text-align:left;vertical-align:top;overflow-wrap:anywhere}.tpp-rule-table th:first-child{width:32%}.tpp-rule-table thead{background:#111;color:#fff}.tpp-rule-table tbody th{background:#f5f5f2;font-weight:700}@media(max-width:480px){.tpp .tpp-rule-table{font-size:14px}.tpp-rule-table th,.tpp-rule-table td{padding:10px 8px}.tpp-rule-table th:first-child{width:34%}}

/* Keep the plugin-owned page consistent with the site's neutral header. */
.takumi-partners-page .takumi-header .takumi-brand,
.takumi-partners-page .takumi-header .takumi-brand:link,
.takumi-partners-page .takumi-header .takumi-brand:visited,
.takumi-partners-page .takumi-header .takumi-brand:hover,
.takumi-partners-page .takumi-header .takumi-brand:focus-visible,
.takumi-partners-page .takumi-header .takumi-menu a,
.takumi-partners-page .takumi-header .takumi-menu a:link,
.takumi-partners-page .takumi-header .takumi-menu a:visited,
.takumi-partners-page .takumi-header .takumi-menu a:hover,
.takumi-partners-page .takumi-header .takumi-menu a:focus-visible{color:#111!important}
.takumi-partners-page .takumi-header .takumi-header-cta,
.takumi-partners-page .takumi-header .takumi-header-cta:link,
.takumi-partners-page .takumi-header .takumi-header-cta:visited,
.takumi-partners-page .takumi-header .takumi-header-cta:hover,
.takumi-partners-page .takumi-header .takumi-header-cta:focus-visible{color:#fff!important}

/* Make the per-customer reward cap and real examples understandable at a glance. */
.tpp-reward-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}
.tpp-reward-examples article{display:flex;min-width:0;flex-direction:column;margin:0;padding:22px;border:1px solid #bfc4cc;border-top:5px solid var(--tpp-blue);background:#fafbff}
.tpp-reward-examples article:nth-child(2){border-top-color:#ff4b00;background:#fffaf7}
.tpp-reward-examples article>span{font-size:11px;font-weight:900;letter-spacing:.12em;color:var(--tpp-blue)}
.tpp-reward-examples article:nth-child(2)>span{color:#c43a00}
.tpp-reward-examples h3{margin:14px 0 10px;font-size:18px}
.tpp-reward-examples article>p{display:grid;grid-template-columns:max-content max-content 1fr;gap:9px;align-items:baseline;margin:0 0 14px;padding:12px 0;border-block:1px solid #d6d9df;line-height:1.3}
.tpp-reward-examples article>p b{font-size:18px}.tpp-reward-examples article>p i{color:#666;font-style:normal}.tpp-reward-examples article>p strong{justify-self:end;color:var(--tpp-blue);font-size:24px;white-space:nowrap}
.tpp-reward-examples small{margin-top:auto;color:#454950;font-size:13px;line-height:1.75}
.tpp-cap-example{grid-column:1/-1;display:grid;grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);gap:20px;padding:18px 22px;background:#111;color:#fff;border-left:6px solid #ff4b00}
.tpp-cap-example b{font-size:17px}.tpp-cap-example span{color:#ddd;line-height:1.75}
@media(max-width:680px){.tpp-reward-examples{grid-template-columns:1fr}.tpp-cap-example{grid-column:auto;grid-template-columns:1fr;gap:8px}.tpp-reward-examples article>p{grid-template-columns:max-content max-content 1fr}.tpp-reward-examples article>p strong{font-size:21px}}

/* A plain-language introduction; rates and eligibility remain policy-owned. */
.tpp-intro .tpp-lead{margin:20px 0 16px;font-weight:700;line-height:1.6;text-wrap:balance}
.tpp-intro .tpp-lead strong{display:inline-block;max-width:100%;font-weight:900;text-wrap:balance}
.tpp-intro .tpp-lead strong>span{display:inline-block;max-width:100%;}
.tpp-intro__summary{margin:0 0 24px;color:#383b40;font-size:15px}
.tpp .tpp-intro__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:24px 0;padding:22px 0;border-block:1px solid #d5d5d5}
.tpp-intro__steps li{display:flex;gap:12px;margin:0;padding:0;line-height:1.6}
.tpp-intro__steps li>span{flex:0 0 auto;white-space:nowrap;color:var(--tpp-blue);font-size:13px;font-weight:900;padding-top:2px}
.tpp-intro__steps b{display:block;font-size:16px;line-height:1.6}
.tpp-intro__steps small{display:block;margin-top:6px;font-size:13px;line-height:1.8;color:#50545b}
.tpp-intro__condition{margin:0;padding-left:14px;border-left:3px solid #ff4b00;font-size:14px;color:#41454b}
.tpp-intro__action{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:24px 0 0}
.tpp-intro__action>span{font-size:13px;color:#50545b}
.tpp .tpp-start-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:12px 20px;background:var(--tpp-blue);color:#fff;font-size:15px;font-weight:800;text-decoration:none}
.tpp .tpp-start-link:hover{background:#111;color:#fff}
#tpp-register{scroll-margin-top:130px}
@media(max-width:680px){.tpp .tpp-intro__steps{grid-template-columns:1fr;gap:18px}.tpp-intro__action{align-items:stretch;flex-direction:column}.tpp .tpp-start-link{width:100%}}

/* Registration and first-profile flow: each action has its own clear space. */
.tpp-auth-stack{display:grid;gap:18px;align-items:start;margin-top:20px}
.tpp-auth-stack .tpp-auth-form{margin:0}
.tpp-auth-stack .tpp-auth-form button{display:inline-flex;align-items:center;justify-content:center}
.tpp-direct-login-status{margin:0 0 12px;padding:14px 16px;border-left:5px solid var(--tpp-blue);background:#f3f5ff;font-weight:700}
.tpp-register-help{margin:18px 0 0;color:#4c5057;font-size:14px}
.tpp-profile-setup label small{display:block;margin-top:7px;color:#555b64;font-size:13px;line-height:1.7}
.tpp-required,.tpp-optional{display:inline-block;margin-left:8px;padding:2px 7px;vertical-align:middle;font-size:11px;font-weight:800;line-height:1.5}
.tpp-required{background:#111;color:#fff}.tpp-optional{border:1px solid #aeb4bd;color:#4b515a}
@media(max-width:480px){.tpp-auth-stack .tpp-auth-form button{width:100%}.tpp-required,.tpp-optional{margin-left:5px}}
