/* Offer and checkout refinements in the existing navy, warm-white identity. */
.pricing-page .offer-section { padding-top:68px; }
.pricing-page .offer-heading { align-items:end; margin-bottom:32px; }
.pricing-page .offer-heading h1 { font-size:clamp(38px,4.1vw,56px); font-weight:500; line-height:1.05; max-width:650px; margin-bottom:16px; text-wrap:balance; }
.pricing-page .offer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pricing-page .service-offer { padding:28px; }
.pricing-page .offer-intro h2 { font-size:32px; font-weight:500; line-height:1.1; margin:0 0 12px; }
.offer-intro .offer-label { font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; margin-bottom:18px; }
.pricing-page .offer-intro>p:last-child { min-height:52px; }
.pricing-page .offer-amount { font-size:42px; }
.pricing-page .offer-quote { min-height:184px; }
.pricing-page .advanced-offer { border-color:transparent; background:#f1f5f7; }
.pricing-page .quote-amount { font-size:36px; }
/* Shared content tracks align the offer details and purchase actions without
   empty spacer elements. Stacked mobile cards keep their natural height. */
@media(min-width:651px) {
  .pricing-page .offer-grid { row-gap:0; }
  .pricing-page .service-offer { display:grid; grid-template-rows:subgrid; grid-row:span 7; row-gap:0; }
  .pricing-page .offer-intro { grid-row:1; }
  .pricing-page .offer-quote { grid-row:2; min-height:0; }
  .pricing-page .offer-inclusions { grid-row:3; }
  .pricing-page .service-offer .offer-payment-note { grid-row:4; margin:0 0 12px; }
  .pricing-page .service-offer .button { grid-row:5; margin-top:0; align-self:stretch; }
  .pricing-page .offer-action-note { grid-row:6; }
  .pricing-page .offer-preview { grid-row:7; }
}
@media(min-width:651px) and (max-width:1000px) {
  .pricing-page .advanced-offer { margin-top:20px; }
}
.pricing-nav { display:flex; flex-wrap:wrap; gap:24px; font-size:14px; font-weight:600; }
.pricing-nav a { padding:12px 0; text-decoration:none; }
.pricing-nav a:hover { text-decoration:underline; }
.pricing-details, .student-note { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:80px; border-top:1px solid #d8e0e5; padding:64px 0; }
.pricing-details h2, .student-note h2 { font-size:clamp(30px,3vw,40px); font-weight:500; line-height:1.08; }
.pricing-details p, .student-note p { color:#536373; font-size:16px; }
.pricing-details .domain-examples { padding-left:20px; border-left:2px solid #49718a; font-size:clamp(16px,1.6vw,20px); color:#14263a; line-height:1.9; overflow-wrap:anywhere; }
.pricing-details .small-copy, .student-note .small-copy { font-size:14px; line-height:1.65; }
.delivery-steps { padding-left:22px; margin:0 0 20px; }
.delivery-steps li { padding-left:10px; margin-bottom:22px; }
.delivery-steps strong, .delivery-steps span { display:block; font-size:16px; }
.delivery-steps span { color:#536373; margin-top:4px; }
.student-note { background:#faf9f5; padding:44px; margin-bottom:64px; border:0; gap:60px; }
.student-note a { display:inline-block; min-height:44px; padding-top:8px; font-size:15px; font-weight:600; text-underline-offset:4px; }
.advanced-summary { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:24px 0; border-bottom:1px solid #d8e0e5; }
.advanced-summary p { margin:0; color:#536373; font-size:15px; }
.advanced-summary strong { display:block; color:#14263a; font-size:18px; margin-bottom:4px; }
.advanced-summary a { flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; font-size:15px; font-weight:600; text-underline-offset:4px; }
@media(max-width:1000px) { .pricing-page .offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .advanced-offer { grid-column:1/-1; } .pricing-page .advanced-offer .offer-quote { min-height:0; } .pricing-page .advanced-offer .offer-intro>p:last-child { min-height:0; } .pricing-details { gap:40px; } }
@media(max-width:650px) { .pricing-page .offer-grid { grid-template-columns:1fr; } .pricing-page .offer-quote { min-height:0; } .pricing-page .offer-intro>p:last-child { min-height:0; } .pricing-page .sales-nav-inner { flex-wrap:wrap; gap:10px; padding:16px 0 6px; } .pricing-nav { width:100%; justify-content:space-between; gap:16px; } .pricing-details,.student-note { grid-template-columns:1fr; gap:32px; width:calc(100% - 32px); padding:40px 0; } .student-note { padding:24px; } .advanced-summary { align-items:start; flex-direction:column; gap:12px; } }
.offer-section {
  --offer-ink: var(--sales-ink, #14263a);
  --offer-muted: var(--sales-muted, #5d6b77);
  --offer-line: var(--sales-line, #d8e0e5);
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0;
  scroll-margin-top: 32px;
}
.offer-heading { display:flex; align-items:end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.offer-heading h2 { font:500 clamp(34px,3.6vw,46px)/1.08 'Newsreader',Georgia,serif; letter-spacing:-.025em; margin:0 0 14px; }
.offer-heading p { color:var(--offer-muted); margin:0; max-width:58ch; font-size:16px; }
.offer-heading .sales-eyebrow { margin-bottom:12px; color:var(--offer-ink); font-size:12px; }
.billing-choice { border:0; padding:0; margin:0; min-width:0; }
.billing-choice legend { font-size:13px; font-weight:600; margin-bottom:8px; padding:0; }
.offer-heading .billing-choice { width:300px; max-width:100%; flex-shrink:0; }
.billing-options { display:flex; gap:4px; padding:4px; border:1px solid var(--sales-line,#d8e0e5); border-radius:4px; background:#fff; }
.billing-options label { position:relative; display:flex; align-items:center; justify-content:center; padding:11px 18px; min-width:0; min-height:46px; flex:1; cursor:pointer; border-radius:2px; }
.billing-options label:has(input:checked) { background:var(--sales-ink,#14263a); color:#fff; }
.billing-options label:has(input:focus-visible) { outline:3px solid #1266df; outline-offset:3px; }
.billing-options label:hover:not(:has(input:checked)) { background:#f3f5f6; }
.billing-options input { position:absolute; inset:0; width:100%!important; height:100%; min-height:0!important; padding:0!important; margin:0; opacity:0; cursor:pointer; }
.billing-options span { pointer-events:none; font-size:15px; font-weight:600; text-align:center; }
.billing-options small { display:block; font-size:12px; font-weight:600; line-height:1.4; }
.billing-choice:disabled .billing-options { opacity:.6; }
.billing-choice:disabled label { cursor:default; }
.offer-availability { margin:0 0 24px!important; padding-top:16px; border-top:1px solid var(--offer-line); color:var(--offer-muted); font-size:14px; line-height:1.5; }
.offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.service-offer { display:flex; flex-direction:column; padding:32px; border:1px solid var(--offer-line); background:#fff; }
.service-offer:first-child { background:var(--sales-paper,#f7f5ef); border-color:#d8d6ce; }
.offer-intro h3 { font:500 30px/1.1 'Newsreader',Georgia,serif; margin:0 0 10px; }
.offer-intro p { margin:0; font-size:16px; color:var(--offer-muted); }
.offer-quote { margin:26px 0 24px; }
.offer-amount { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; color:var(--offer-ink); font:500 48px/1.05 'Newsreader',Georgia,serif; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.offer-amount small { font:400 16px/1.4 'Hanken Grotesk',Arial,sans-serif; letter-spacing:0; color:var(--offer-muted); }
.offer-billed { margin:8px 0 0!important; color:var(--offer-ink); font-size:15px; font-weight:600; line-height:1.5; }
.start-rate { margin-top:24px; }
.offer-savings { margin:10px 0 0!important; font-size:15px; font-weight:600; line-height:1.4; color:#335b4c; }
.start-savings { margin:20px 0 0; color:#335b4c; font-size:15px; font-weight:600; line-height:1.6; }
.offer-setup { margin:16px 0 7px!important; color:var(--offer-ink); font-size:16px; }
.offer-setup strong { font-weight:600; }
.offer-due { margin:0!important; max-width:44ch; color:var(--offer-muted); font-size:14px; line-height:1.5; }
.offer-due strong { color:var(--offer-ink); font-weight:600; }
.offer-inclusions { list-style:none; padding:20px 0 0; margin:0 0 26px; border-top:1px solid var(--offer-line); }
.offer-inclusions li { position:relative; padding-left:22px; margin:0 0 9px; font-size:15px; line-height:1.5; }
.offer-inclusions li::before { content:'✓'; position:absolute; left:0; color:#49718a; font-size:13px; }
.service-offer .button { width:100%; min-height:48px; margin-top:auto; }
.offer-action-note { margin:10px 0 0!important; color:var(--offer-muted); font-size:12px; line-height:1.5; text-align:center; }
.service-offer .button:disabled { cursor: not-allowed; background: #e3e8ec; color: #43505a; border-color: #c8d0d6; opacity: 1; }
.offer-preview { display: block; text-align: center; padding: 12px 0; min-height: 44px; font-size: 14px; text-underline-offset: 3px; }
.offer-section .offer-next-note { max-width: 80ch; margin: 24px 0 0; font-size: 14px; line-height: 1.6; color: var(--offer-muted); }
.service-offer button.button { transition: none; }
.service-offer .offer-payment-note { margin: auto 0 12px; font-size: 13px; line-height: 1.5; color: var(--offer-muted); }
.service-offer .offer-payment-note + .button { margin-top: 0; }
.offer-retry { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--offer-ink); text-decoration: underline; text-underline-offset: 3px; font: inherit; font-size: 14px; cursor: pointer; }
.offer-footnote { max-width:85ch; margin:20px 0 0!important; font-size:13px; line-height:1.6; color:var(--offer-muted); }
.order-summary{margin:12px 0 0}.order-summary>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid #d8e0e5}.order-summary dt{font-size:14px}.order-summary dd{margin:0;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.order-summary .order-total{border:0;padding-top:20px}.order-total dt,.order-total dd{font-size:20px;color:#14263a}
.checkout-page .plan-options{display:grid;gap:8px;margin-top:10px}.checkout-page .purchase-panel .billing-choice{margin-top:16px}.checkout-page .purchase-panel form{margin-top:16px}.checkout-page .purchase-panel{background:#f7f5ef}.checkout-page .nav-shell{gap:20px}.checkout-page .nav-shell>a:last-child{font-size:14px;text-align:right}.checkout-page .start-layout{grid-template-columns:.85fr 1.15fr;gap:64px}
.editorial-feature{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:48px;max-width:1180px;margin:auto;padding:64px 24px 100px}.editorial-feature img{display:block;width:100%;height:auto;border:1px solid #d8e0e5}.editorial-feature h1{font:500 clamp(40px,5vw,62px)/1.06 'Newsreader',Georgia,serif;margin:12px 0 20px}.editorial-feature p{color:#536373}.editorial-feature .sales-actions{margin:28px 0}.editorial-feature .sales-actions .button{white-space:normal}.editorial-feature ul{padding-left:20px;line-height:2;color:#536373}

.checkout-page .workspace-main { padding-top:40px; }
.checkout-page .workspace-intro { margin-bottom:30px; }
.checkout-page .workspace-intro h1 { font-size:clamp(36px,4vw,48px); margin-bottom:12px; }
.checkout-page .workspace-intro>p:last-child { font-size:17px; }
.checkout-page .purchase-panel { padding:28px; }
.checkout-page .purchase-panel h2 { font:500 30px/1.1 'Newsreader',Georgia,serif; }
.checkout-page .purchase-panel form { gap:12px; }
.checkout-page .purchase-panel form>p { margin:0; }
.checkout-page .purchase-panel .purchase-checkout { margin-top:6px; }
.checkout-page .purchase-checkout .button { margin-top:6px; }
.checkout-page .plan-option:has(input:checked) { border-color:#14263a; box-shadow:inset 0 0 0 1px #14263a; }
.checkout-page .plan-option input { accent-color:#14263a; }
.checkout-page .order-total { padding-top:16px; }
.checkout-page .order-total dt { font-weight:600; }
@media(max-width:850px) {
  .offer-heading { display:block; }
  .offer-heading .billing-choice { margin-top:22px; max-width:320px; }
  .checkout-page .start-layout { grid-template-columns:1fr; gap:30px; }
  .editorial-feature { grid-template-columns:1fr; gap:32px; }
  .editorial-feature>div { grid-row:1; }
}
@media(max-width:600px) {
  .offer-section { width:calc(100% - 32px); padding:40px 0 48px; }
  .offer-heading { margin-bottom:18px; }
  .offer-heading h2 { font-size:36px; max-width:320px; margin-bottom:12px; }
  .offer-heading p { font-size:15px; }
  .offer-heading .billing-choice { width:100%; max-width:100%; margin-top:20px; }
  .offer-availability { font-size:13px; margin-bottom:18px!important; padding-top:14px; }
  .offer-grid { grid-template-columns:1fr; gap:16px; }
  .service-offer { padding:24px; }
  .offer-intro h3 { font-size:29px; }
  .offer-intro p { font-size:15px; }
  .offer-quote { margin:24px 0 20px; }
  .offer-amount { font-size:44px; gap:8px; }
  .offer-inclusions { padding-top:18px; margin-bottom:22px; }
  .offer-inclusions li { font-size:14px; }
  .offer-footnote { font-size:13px; margin-top:18px!important; }
  .editorial-feature { padding:40px 20px 64px; }
  .checkout-page .nav-shell { flex-wrap:wrap; justify-content:space-between; padding-block:16px; }
  .checkout-page .brand { font-size:25px; }
  .checkout-page .purchase-panel { padding:20px; }
  .billing-options label { padding:10px 8px; }
  .billing-options label:has(input[value="year"]) { flex:1.35; }
  .order-summary>div { gap:14px; }
  .order-summary dt { max-width:65%; }
}
@media(forced-colors:active) {
  .billing-options label { gap:8px; }
  .billing-options input { position:static; inset:auto; width:16px!important; height:16px; flex:none; opacity:1; appearance:auto; }
  .billing-options label:has(input:focus-visible) { outline-color:Highlight; }
}
