*{box-sizing:border-box}
:root{--ink:#0b0b0b;--muted:#5c6167;--line:#dadbdc;--blue:#1769e8;--soft:#f5f7fa}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.pricing-page .nav{position:sticky;top:0;inset:0 0 auto;color:#111;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.pricing-page .brand img{filter:none}
.pricing-nav{position:sticky;top:0;z-index:20;height:72px;padding:0 34px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.pricing-brand{display:flex;align-items:center;gap:10px;font-weight:780}.pricing-brand img{width:27px;height:27px;object-fit:contain}
.pricing-nav nav{display:flex;justify-content:center;gap:34px;font-weight:650}.pricing-nav nav a{padding:25px 0}.pricing-nav .is-current{border-bottom:2px solid #111}.login-link{justify-self:end;font-weight:700}
.pricing-hero{padding:52px 32px 30px;text-align:center}.eyebrow{margin:0 0 12px;color:#56606b;font-size:14px;font-weight:760;text-transform:uppercase;letter-spacing:.08em}
.pricing-hero h1{max-width:none;margin:0 auto 14px;font-size:clamp(42px,4.6vw,66px);line-height:1;letter-spacing:-.032em;font-weight:520;white-space:nowrap}.pricing-lead{margin:0;color:var(--muted);font-size:19px}.courseware-jump{display:inline-flex;margin-top:18px;padding-bottom:3px;border-bottom:1px solid #111;font-size:13px;font-weight:700}
.plan-grid{width:min(1440px,calc(100% - 64px));margin:0 auto;padding:24px 0 42px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.plan{position:relative;isolation:isolate;min-width:0;min-height:0;padding:20px;display:flex;flex-direction:column;border:1px solid #dfe3ec;border-radius:14px;background:#fff;box-shadow:0 1px 1px rgba(20,30,58,.03);transition:transform .24s ease,box-shadow .24s ease}.plan::after{position:absolute;z-index:-1;inset:-1px;border:1px solid transparent;border-radius:inherit;background:radial-gradient(circle 440px at var(--plan-x,50%) var(--plan-y,50%),#4ab3f4 0%,#6d7be9 19%,#9a66e5 35%,#ff7438 47%,rgba(255,255,255,.98) 72%,#fff 100%) border-box;content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .2s ease}.plan:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(29,42,79,.1)}.plan:hover::after,.plan:focus-within::after{opacity:1}
.plan-heading{min-height:134px;display:flex;flex-direction:column;gap:7px}.plan h2{margin:0 0 5px;font-size:26px;letter-spacing:-.025em}.plan-heading>div p{max-width:100%;margin:0;color:var(--muted);font-size:13px;line-height:1.3}.price{margin:0;white-space:nowrap}.price strong{font-size:30px}.price span{color:var(--muted);font-size:12px}
.plan-cta{min-height:40px;display:flex;align-items:center;justify-content:center;border:1.5px solid #111;border-radius:999px;color:#fff;background:#111;font-size:14px;font-weight:760;transition:.18s ease}.plan-cta:hover{border-color:#292929;color:#fff;background:#292929}.plan ul{margin:10px 0 0;padding:0;list-style:none}.plan li{padding:7px 0;border-top:1px solid var(--line);color:#454b51;font-size:12.5px;line-height:1.18}.plan .transaction-rate{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#111}.transaction-rate span{min-width:0}.transaction-rate strong{margin-left:auto;text-align:right;white-space:nowrap;font-size:12px;font-weight:760}
.payment-addons{width:min(1220px,calc(100% - 64px));margin:0 auto 72px;padding:34px;display:grid;grid-template-columns:minmax(0,.72fr) minmax(540px,1.28fr);gap:46px;align-items:center;border:1px solid #dfe3ec;border-radius:18px;background:linear-gradient(135deg,#fff 0 72%,#f3f5ff 100%)}.payment-addons-copy h2{max-width:560px;margin:0 0 14px;font-size:clamp(32px,3.4vw,50px);line-height:1.02;letter-spacing:-.04em;font-weight:560}.payment-addons-copy>p:last-child{max-width:550px;margin:0;color:#626b76;font-size:16px;line-height:1.45}.addon-details{display:grid;gap:14px}.addon-rate-card,.pass-through-card{overflow:hidden;border:1px solid #dfe3ec;border-radius:14px;background:#fff;box-shadow:0 15px 40px rgba(36,48,82,.07)}.addon-card-heading{padding:16px 18px 13px;border-bottom:1px solid #e4e6eb}.addon-card-heading p{margin:0 0 3px;color:#7a828c;font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.07em}.addon-card-heading h3{margin:0;font-size:17px;letter-spacing:-.015em}.addon-rate-card table{width:100%;border-collapse:collapse}.addon-rate-card th,.addon-rate-card td{padding:11px 18px;border-bottom:1px solid #eceef2;text-align:left;font-size:13px}.addon-rate-card tr:last-child td{border-bottom:0}.addon-rate-card th{color:#737b85;background:#fafbfc;font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.06em}.addon-rate-card th:last-child,.addon-rate-card td:last-child{text-align:right}.addon-rate-card td:last-child{color:#111;font-weight:780}.pass-through-help{margin:0;padding:13px 18px 4px;color:#707984;font-size:12px;line-height:1.4}.pass-through-grid{padding:7px 18px 15px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.pass-through-row{min-width:0;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eceef2;color:#303741;font-size:12px}.pass-through-row:nth-last-child(-n+2){border-bottom:0}.pass-through{display:flex;flex:0 0 auto;align-items:center;gap:7px;color:#66707a;font-size:10px;font-weight:700}.pass-through b{font-size:10px;white-space:nowrap}.pass-through i{position:relative;width:30px;height:18px;border-radius:999px;background:#d9dde4}.pass-through i::after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18);content:""}.pass-through.is-on i{background:#111}.pass-through.is-on i::after{left:15px}
.courseware-pricing{padding:68px max(32px,calc((100vw - 1240px)/2));background:linear-gradient(135deg,#f9fcff,#eaf4ff 54%,#eeeaff)}.courseware-intro{max-width:900px;margin-bottom:30px}.courseware-intro h2{margin:0 0 16px;font-size:clamp(40px,4.5vw,60px);line-height:1;letter-spacing:-.032em;font-weight:560}.courseware-intro>p:last-child{max-width:760px;margin:0;color:#4e5965;font-size:17px;line-height:1.42}
.educator-options{max-width:900px;display:grid;gap:16px;align-items:start}.educator-form{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:13px 14px;border:1px solid #cdd9e7;border-radius:8px;background:rgba(255,255,255,.92)}.educator-options h3{grid-column:1/-1;margin:0 0 4px;font-size:26px}.educator-options label{min-width:0;color:#313a44;font-size:13px;font-weight:680}.educator-options input,.educator-options select,.educator-options textarea{width:100%;margin-top:6px;padding:10px 12px;border:1px solid #aeb9c5;border-radius:5px;background:#fff}.educator-form>label{display:block;margin:0}.field-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.educator-options button{width:max-content;min-height:44px;margin-top:4px;padding:0 22px;border:0;border-radius:999px;color:#fff;background:#111;font-weight:760;cursor:pointer}.courseware-next{padding:18px 0;border-top:1px solid #cdd9e7}.courseware-next p{margin:0 0 12px;color:#4e5965}.courseware-next a{display:inline-flex;min-height:42px;padding:0 18px;align-items:center;border:1px solid #111;border-radius:999px;font-weight:740}.courseware-next[hidden]{display:none}
footer{padding:34px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);color:var(--muted)}footer strong{color:#111}
.pass-through-grid .pass-through-row{border-bottom:0}
@media(max-width:1100px){.plan-grid{width:calc(100% - 48px);grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pricing-nav{grid-template-columns:1fr auto}.pricing-nav nav{display:none}.plan{min-height:auto}.payment-addons{grid-template-columns:1fr;gap:28px}.educator-options{grid-template-columns:1fr}}
@media(max-width:600px){.pricing-nav{padding:0 20px}.pricing-hero{padding:72px 20px 44px}.pricing-hero h1{font-size:46px;white-space:normal}.plan-grid{width:calc(100% - 40px);grid-template-columns:1fr;padding:12px 0 50px}.plan-heading{min-height:0}.price{margin-bottom:24px}.payment-addons{width:calc(100% - 40px);margin-bottom:52px;padding:22px}.pass-through-grid{grid-template-columns:1fr}.pass-through-row:nth-last-child(2){border-bottom:1px solid #eceef2}.courseware-pricing{padding:58px 20px}.courseware-intro h2{font-size:42px}.educator-form{padding:20px;grid-template-columns:1fr}.educator-options h3,.field-grid{grid-column:1}.field-grid{grid-template-columns:1fr}.educator-options button{width:100%}footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.pass-through-grid .pass-through-row:first-child{border-bottom:1px solid #eceef2}}

/* Keep rates and merchant controls visually distinct: the rates are a flat
   disclosure table, while the toggles sit directly beneath the explanation. */
.payment-addons{position:relative;isolation:isolate;align-items:start;background:#fff;box-shadow:0 1px 1px rgba(20,30,58,.03)}
.payment-addons::after{position:absolute;z-index:-1;inset:-1px;border:1px solid transparent;border-radius:inherit;background:radial-gradient(circle 540px at var(--addon-x,50%) var(--addon-y,50%),#4ab3f4 0%,#6d7be9 19%,#9a66e5 35%,#ff7438 47%,rgba(255,255,255,.98) 72%,#fff 100%) border-box;content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .2s ease}.payment-addons:hover::after{opacity:1}
.payment-addons-copy .pass-through-card{margin-top:24px}
.addon-rate-card{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.addon-rate-card .addon-card-heading{padding:4px 0 14px}
.addon-rate-card table{border-top:0;border-bottom:1px solid #dfe3ec;background:#fff}
.addon-rate-card th,.addon-rate-card td{padding-left:0;padding-right:0}
.addon-rate-card th{background:#fff}
.pass-through-card{box-shadow:0 14px 34px rgba(36,48,82,.1)}
.pass-through-grid{grid-template-columns:1fr}
.pass-through-grid .pass-through-row:first-child{border-bottom:1px solid #eceef2}

/* The copy and controls remain open on the page; only the compact disclosure
   table receives the reactive card treatment. */
.payment-addons{padding:0;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:54px;border:0;border-radius:0;background:transparent;box-shadow:none}
.payment-addons::after{display:none}
.payment-addons-copy h2{max-width:680px}
.payment-addons-copy>p:last-child{max-width:650px}
.payment-addons-copy .pass-through-card{max-width:590px}
.addon-details{justify-items:end}
.addon-details{height:100%;align-self:stretch}
.addon-rate-card{position:relative;isolation:isolate;width:100%;max-width:520px;height:100%;padding:24px 24px 38px;display:flex;flex-direction:column;border:1px solid #dfe3ec;border-radius:16px;background:#fff;box-shadow:0 1px 1px rgba(20,30,58,.03)}
.addon-rate-card::after{position:absolute;z-index:-1;inset:-1px;border:1px solid transparent;border-radius:inherit;background:radial-gradient(circle 420px at var(--addon-x,50%) var(--addon-y,50%),#4ab3f4 0%,#6d7be9 19%,#9a66e5 35%,#ff7438 47%,rgba(255,255,255,.98) 72%,#fff 100%) border-box;content:"";pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .2s ease}.addon-rate-card:hover::after{opacity:1}
.addon-rate-card .addon-card-heading{padding:12px 0 0}
.addon-rate-card table{margin:auto 0}
@media(max-width:900px){.payment-addons{grid-template-columns:1fr}.addon-details{justify-items:stretch}.addon-rate-card{max-width:none}}
@media(max-width:600px){.payment-addons{padding:0}}
