.tth-promo-page{max-width:1120px;margin:54px auto 72px;padding:0 24px;color:#302b3d}.tth-promo-hero{text-align:center;max-width:820px;margin:0 auto 30px}.tth-promo-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;color:#9a3b78;text-transform:uppercase}.tth-promo-hero h1{font-size:clamp(34px,4.2vw,52px);line-height:1.08;margin:9px 0 12px}.tth-promo-hero p{margin:0;color:#665e70;font-size:17px;line-height:1.6}.tth-promo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.tth-promo-card{border:1px solid #eadfeb;border-radius:26px;padding:32px;box-shadow:0 16px 40px rgba(64,37,73,.07)}.tth-promo-card-redeem{background:linear-gradient(145deg,#fff4f8,#faf5ff 62%,#fff9ea)}.tth-promo-card-how,.tth-promo-card-balance{background:#fff}.tth-promo-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#ffe5ef;color:#973c78;font-size:11px;font-weight:800;letter-spacing:.1em}.tth-promo-badge.secondary{background:#eee9ff;color:#554ca1}.tth-promo-card h2{font-size:29px;line-height:1.15;margin:14px 0 8px}.tth-promo-card p{color:#675f70;line-height:1.55}.tth-promo-card ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:9px;font-weight:650;color:#4c4253}.tth-promo-public-form{display:grid;gap:12px;margin-top:22px}.tth-promo-public-form label{font-size:14px;font-weight:800;color:#4c4253}.tth-promo-public-form input{display:block;width:100%;margin-top:7px;min-height:54px;padding:0 15px;border:1px solid #dacfe0;border-radius:14px;background:#fff;font-size:17px;box-sizing:border-box;text-transform:uppercase}.tth-promo-public-form button{min-height:52px;border:0;border-radius:14px;background:#9a3b78;color:#fff;font-size:16px;font-weight:800;cursor:pointer}.tth-promo-status{max-width:760px;margin:0 auto 22px;padding:14px 16px;border-radius:13px;text-align:center;font-weight:800}.tth-promo-status.is-success{background:#eef8f0;border:1px solid #cae7d0;color:#315f3d}.tth-promo-status.is-notice{background:#fff8e9;border:1px solid #f0dfb8;color:#735d2d}.tth-promo-status.is-error{background:#fff0f2;border:1px solid #efc7cf;color:#7a3443}.tth-promo-balance-number{font-size:58px;line-height:1;font-weight:800;color:#9a3b78;margin:18px 0 4px}.tth-promo-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.tth-promo-actions a:not(.button){font-weight:750;color:#8f3a72}.tth-promo-next{margin-top:24px;padding:26px 28px;border:1px solid #eadfeb;border-radius:22px;background:linear-gradient(135deg,#fff,#faf7ff);display:flex;justify-content:space-between;gap:24px;align-items:center}.tth-promo-next h2{margin:6px 0 6px;font-size:25px}.tth-promo-next p{margin:0;color:#675f70;max-width:720px}.tth-promo-callout{max-width:1120px;margin:24px auto;padding:18px 20px;border:1px solid #ebdce8;border-radius:18px;background:linear-gradient(135deg,#fff5fa,#f8f4ff);display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 28px rgba(64,37,73,.05)}.tth-promo-callout>div{display:flex;align-items:center;gap:13px}.tth-promo-callout-icon{width:38px;height:38px;border-radius:12px;background:#ffe3ee;display:grid;place-items:center;color:#983b78;font-size:22px}.tth-promo-callout strong,.tth-promo-callout span{display:block}.tth-promo-callout strong{font-size:17px}.tth-promo-callout>div>div>span{color:#685f70;margin-top:2px}.tth-promo-callout a{white-space:nowrap;font-weight:800;color:#8f3a72}.tth-promo-callout.is-compact{margin:14px auto;padding:14px 16px}.tth-promo-callout.is-compact>div>div>span{display:none}
@media(max-width:800px){.tth-promo-page{margin:30px auto 48px;padding:0 16px}.tth-promo-hero{text-align:left}.tth-promo-hero h1{font-size:34px}.tth-promo-grid{grid-template-columns:1fr}.tth-promo-card{padding:24px 20px;border-radius:22px}.tth-promo-next{align-items:flex-start;flex-direction:column;padding:22px 20px}.tth-promo-next .button{width:100%;text-align:center}.tth-promo-callout{margin:18px 16px;align-items:flex-start;flex-direction:column}.tth-promo-callout a{white-space:normal}}

/* v1.14.0 — warmer teacher-facing promo language gets a softer, simpler visual hierarchy. */
.tth-promo-card-redeem{border-width:2px}
.tth-promo-public-form button{box-shadow:0 5px 0 #6e2f58}
.tth-promo-public-form button:active{transform:translateY(3px);box-shadow:0 2px 0 #6e2f58}
.tth-promo-card-how ul li{line-height:1.45}
