body.program-sales > header { display:none; }
.program-sales-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 5%; border-bottom:1px solid currentColor; }
.program-sales-header .account-actions { display:flex; align-items:center; gap:18px; }
.program-sales-header a { text-decoration:none; }
.program-sales-header .brand { margin:0; }
.program-sales .program-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; }
.program-sales .program-hero > img { order:-1; width:100%; height:auto; max-height:650px; object-fit:contain; filter:none; opacity:1; }
.program-sales .program-hero .page-title { font-size:clamp(32px,4vw,62px); }
.program-sales .program-hero .offer-summary { max-width:58ch; line-height:1.8; }
.program-sales .program-hero .offer-learn { margin:18px 0; display:block; }
.program-sales .program-hero .hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.program-sales .offer-currency { font-size:12px; margin:8px 0 0; }
.program-details section { margin:26px 0; }
.program-details h3 { margin-bottom:10px; }
.program-details p { line-height:1.8; white-space:pre-line; }
#dialog:has(.program-details) { width:min(760px,calc(100vw - 32px)); max-height:85vh; overflow:auto; }
@media(max-width:700px) { .program-sales .program-hero { grid-template-columns:1fr; gap:24px; } .program-sales-header { padding:18px 5%; gap:12px; flex-wrap:wrap; } .program-sales-header .brand { font-size:25px; } .program-sales-header .account-actions { gap:12px; } }

/* Prominent account and purchase controls on the two sales pages. */
.program-sales-header .account-actions a {
 display:inline-flex; align-items:center; justify-content:center;
 min-height:58px; padding:15px 28px; border-radius:8px;
 font:700 20px/1.25 Arial,sans-serif; text-transform:none; letter-spacing:0;
}
.program-sales-header .account-actions a.text-link {
 background:#efeae2; color:#201e19; border:1px solid #efeae2;
}
.program-sales-header .account-actions a.text-link:hover { background:#fff; }
.program-sales-header .account-actions a:focus-visible,
.program-sales .program-hero button[data-action="purchase"]:focus-visible {
 outline:3px solid #fff; outline-offset:4px;
}
.program-sales .program-hero button[data-action="purchase"] {
 display:inline-flex; justify-content:center; align-items:center;
 min-height:70px; min-width:280px; max-width:100%;
 padding:20px 36px; border-radius:8px;
 font:800 26px/1.25 Arial,sans-serif; text-transform:none; letter-spacing:0;
 box-shadow:0 5px 16px #0003; white-space:normal;
}
.program-sales .program-hero .offer-currency {
 font:700 24px/1.4 Arial,sans-serif; color:inherit; margin:18px 0;
}
.program-sales .program-hero .offer-learn { font-size:18px; font-weight:600; }
@media(max-width:700px) {
 .program-sales-header .account-actions { flex-wrap:wrap; gap:10px; }
 .program-sales-header .account-actions a { min-height:50px; padding:13px 18px; font-size:18px; }
 .program-sales .program-hero button[data-action="purchase"] { width:100%; min-width:0; font-size:24px; }
 .program-sales .program-hero .hero-actions { align-items:stretch; }
}

.program-sales .program-hero .offer-buy {
 display:inline-flex; align-items:center; justify-content:center;
 min-height:54px; min-width:200px; max-width:100%; padding:14px 24px;
 border-radius:8px; font:700 20px/1.25 Arial,sans-serif;
 text-transform:none; letter-spacing:0; box-shadow:0 5px 16px #0003;
}
.program-sales .program-hero .offer-payment-note { font-size:13px; margin:10px 0 24px; }
.program-sales .program-hero .offer-buy:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:700px) { .program-sales .program-hero .offer-buy { width:100%; min-width:0; font-size:20px; } }

/* Separate registration action; the existing member/sign-in link is unchanged. */
.site-header { height:auto; min-height:98px; flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
.site-header > .signup-button {
 display:inline-flex; flex-direction:column; justify-content:center; gap:1px;
 flex-shrink:0; padding:10px 16px; min-height:66px; border-radius:8px;
 font:700 13px/1.2 Arial,sans-serif; text-transform:none; letter-spacing:0; text-align:center;
}
.site-header > .signup-button span { display:block; }
.site-header > .signup-button span:nth-child(2) { font-size:12px; }
@media(max-width:750px) {
 .site-header { min-height:77px; gap:10px; }
 .site-header > .signup-button { display:inline-flex; padding:8px 12px; min-height:60px; font-size:12px; }
 .site-header nav { top:100%; }
}
