/* Second half of the landing: actual course material, tools and participation.
   Author, examples, free lesson and LMS are outside every selector below. */

/* Restore the established Synergy Sans treatment, including its original
   weight and spacing. The font file and public brand settings are unchanged. */
.landing-page .hero--assembly h1 { font-family: var(--brand-font); font-weight: 700; letter-spacing: -.035em; line-height: 1.06; }
.landing-page .hero--assembly .hero-meta { font-weight: 600; }
.landing-page .program-intro h2, .landing-page .format-intro h2, .landing-page .tools-heading h2, .landing-page .pricing-heading h2, .landing-page .faq-heading h2 { font-family: var(--brand-font); font-weight: 600; letter-spacing: -.045em; line-height: 1.12; }
.landing-page .lessons .lesson-title, .landing-page .lessons .lesson-number { font-weight: 600; }
.landing-page .format-notes h3, .landing-page .product-compare h3, .landing-page .price-card h3, .landing-page .price-card .price { font-weight: 600; }
.landing-page .product-compare h2 { letter-spacing: -.035em; line-height: 1.1; }

/* Course plans are two paper tickets on a calm blue field. */
.landing-page .pricing-section { position: relative; isolation: isolate; background: #14213f; color: #fff; padding-block: 72px 52px; overflow: clip; }
.landing-page .pricing-section::before { content: ''; position: absolute; pointer-events: none; z-index: -1; width: 850px; height: 850px; border: 1px solid #bccff02b; border-radius: 50%; top: 150px; left: -600px; box-shadow: 0 0 0 95px #bccff009, 0 0 0 190px #bccff006; }
.landing-page .pricing-heading { margin-bottom: 36px; }
.landing-page .pricing-heading h2 { color: #fff; }
.landing-page .pricing-heading .eyebrow { color: #cfdfb3; }
.landing-page .pricing-heading>p { color: #cfdaed; }
.landing-page .price-grid { gap: 28px; align-items: stretch; }
.landing-page .price-card { --ticket-pad: clamp(26px, 3.1vw, 44px); padding: var(--ticket-pad); border: 1px solid #d6dfe9; border-top: 0; background: #fcfdfb; color: #192a3b; border-radius: 5px; box-shadow: 0 12px 35px #030a1f25; }
.landing-page .price-card:first-child { border-top: 0; }
.landing-page .price-card-plus { background: #e8efdc; border-top: 0; border-color: #c9d7b7; }
.landing-page .price-top { padding-bottom: 18px; border-bottom: 1px solid #cbd6e1; align-items: center; }
.landing-page .price-card-plus .price-top { border-color: #bacba5; color: #48613a; }
.landing-page .price-card .plan-number { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #bdccdc; border-radius: 50%; color: #4b668a; font-size: .62rem; }
.landing-page .price-card-plus .plan-number { color: #536c41; border-color: #a6ba90; }
.landing-page .price-card h3 { margin-top: 9px; }
.landing-page .price-card .price { margin-top: 24px; font-size: clamp(61px, 5.8vw, 83px); letter-spacing: -.055em; }
.landing-page .price-card-plus .plan-description, .landing-page .price-card-plus .payment-note { color: #4d624a; }
.landing-page .price-card-plus .plan-features { color: #2d452e; }
.landing-page .price-card-plus .plan-features li::before { background: #cdddb7; color: #3d5d2d; }
.landing-page .price-card .price-divider { position: relative; height: 1px; border-top: 1px dashed #afbed0; background: none; overflow: visible; margin-block: 27px; }
.landing-page .price-card-plus .price-divider { border-color: #a9bd91; background: none; }
.landing-page .price-divider::before, .landing-page .price-divider::after { content: ''; position: absolute; top: -10px; width: 18px; height: 18px; border-radius: 50%; background: #14213f; border: 1px solid #aabbc655; }
.landing-page .price-divider::before { left: calc(-1 * var(--ticket-pad) - 10px); }
.landing-page .price-divider::after { right: calc(-1 * var(--ticket-pad) - 10px); }
.landing-page .price-card .button-dark { background: #244b7c; }
.landing-page .price-card .button-dark:hover { background: #193e6b; }
.landing-page .price-card .button-white { border-color: #23436c; background: #23436c; color: #fff; }
.landing-page .price-card .button-white:hover { background: #193752; }
.landing-page .price-card .plan-bottom { color: #56697d; }
.landing-page .price-card-plus .plan-bottom { color: #4d624a; }
.landing-page .pricing-format-note, .landing-page .pricing-format-note strong, .landing-page .pricing-footnotes { color: #c8d6ec; }
.landing-page .pricing-footnotes .text-button { color: #d5e2f4; }
.landing-page .pricing-section .bespoke-offer { border-color: #778eae66; color: #c2cde0; }
.landing-page .pricing-section .bespoke-copy>span { color: #aebed7; }
.landing-page .pricing-section .bespoke-copy h3 { color: #d3dff0; }
.landing-page .pricing-section .bespoke-copy p { color: #b5c4dd; }
.landing-page .pricing-section .bespoke-price { color: #c4d1e6; }
.landing-page .pricing-section .bespoke-action>a { color: #c4d1e6; border-color: #c4d1e670; }
.landing-page .pricing-section .bespoke-action>a:hover { color: #fff; border-color: #fff; }
.landing-page .pricing-section .bespoke-action>a:focus-visible { outline-color: #d9e8b9; }
.landing-page .pricing-footnotes a:focus-visible { outline-color: #d9e8b9; }

/* Guarantee is a quiet signed note between the plans and questions. */
.landing-page .guarantee-section { padding-block: 55px 35px; }
.landing-page .guarantee-card { position: relative; grid-template-columns: 63px minmax(0,1fr); padding: 35px 40px; border: 1px solid #bac9dc; background: #edf2f8; color: #213a5c; border-radius: 4px; }
.landing-page .guarantee-icon { width: 58px; height: 58px; background: transparent; color: #547348; border: 1px solid #a7b891; border-radius: 50%; box-shadow: 0 0 0 5px #dce5d3; }
.landing-page .guarantee-content h2 { color: #243d60; font-size: clamp(26px, 2.6vw, 37px); }
.landing-page .guarantee-content>p { color: #50617a; }
.landing-page .guarantee-footer { border-color: #bdcce0; color: #4e637d; }

/* Questions get an editorial index; the native accordions remain intact. */
.landing-page .faq-section { gap: clamp(40px, 7vw, 105px); }
.landing-page .faq-list { counter-reset: finish-question; border-top: 1px solid #afc0d7; }
.landing-page .faq-list details { border: 0; border-bottom: 1px solid #b9c8db; border-radius: 0; background: transparent; }
.landing-page .faq-list details[open] { background: #eef3fa; }
.landing-page .faq-list summary { position: relative; min-height: 80px; padding: 23px 14px 23px 53px; font-size: 1rem; font-weight: 600; counter-increment: finish-question; }
.landing-page .faq-list summary::before { content: '0' counter(finish-question); position: absolute; left: 14px; top: 27px; font-size: .61rem; color: #6280a3; font-weight: 500; }
.landing-page .faq-list summary .accordion-sign { background: transparent; border: 1px solid #afc0d6; }
.landing-page .faq-list summary .accordion-sign::before, .landing-page .faq-list summary .accordion-sign::after { height: 1px; top: 9px; left: 5px; }
.landing-page .faq-list details>p { padding: 0 30px 25px 53px; color: #53647e; font-size: .89rem; line-height: 1.8; }

@media (max-width: 1000px) {
  .landing-page .price-grid { gap: 20px; }
}
@media (max-width: 760px) {
  .landing-page .pricing-section { padding-block: 50px 40px; }
  .landing-page .price-grid { grid-template-columns: minmax(0,1fr); }
  .landing-page .price-card { --ticket-pad: 27px; padding: var(--ticket-pad); }
  .landing-page .price-card h3 { font-size: clamp(26px,7.5vw,32px); }
  .landing-page .price-card .price { font-size: 65px; }
  .landing-page .pricing-heading>p { font-size: .86rem; }
  .landing-page .pricing-footnotes p { font-size: .75rem; }
  .landing-page .guarantee-section { padding-block: 35px 20px; }
  .landing-page .guarantee-card { grid-template-columns: minmax(0,1fr); padding: 27px; gap: 24px; }
  .landing-page .guarantee-icon { width: 45px; height: 45px; }
  .landing-page .guarantee-content h2 { font-size: 27px; }
  .landing-page .guarantee-content>p { font-size: .87rem; }
  .landing-page .guarantee-footer { align-items: flex-start; flex-direction: column; gap: 15px; font-size: .76rem; }
  .landing-page .faq-section { grid-template-columns: minmax(0,1fr); gap: 29px; }
  .landing-page .faq-list summary { min-height: 78px; padding: 22px 7px 22px 38px; font-size: .93rem; }
  .landing-page .faq-list summary::before { left: 5px; top: 26px; }
  .landing-page .faq-list details>p { padding: 0 13px 23px 38px; font-size: .86rem; }
}
@media print {
  .landing-page .pricing-section { background: #fff; color: #172033; }
}

/* An actual teaching fragment replaces the recurring miniature page drawings. */
.landing-page .format-section { align-items: start; gap: clamp(45px, 6vw, 95px); }
.landing-page .format-intro p { font-size: .96rem; line-height: 1.75; }
.landing-page .course-excerpt { margin: 30px 0 0; padding: 22px 0 0; border-top: 2px solid #254a77; max-width: 500px; }
.landing-page .course-excerpt figcaption { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 15px; font-size: .64rem; line-height: 1.5; color: #67768b; }
.landing-page .course-excerpt figcaption>span:first-child { color: #284d78; font-weight: 600; }
.landing-page .course-excerpt-title { display: block; font-size: 1.08rem; line-height: 1.45; letter-spacing: -.02em; color: #253f5c; font-weight: 600; }
.landing-page .course-excerpt dl { margin: 20px 0 0; }
.landing-page .course-excerpt dl>div { display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 15px; padding: 11px 0; border-top: 1px solid #d6dfe9; }
.landing-page .course-excerpt dt { font-size: .68rem; line-height: 1.6; color: #61748c; }
.landing-page .course-excerpt dd { margin: 0; font-size: .8rem; line-height: 1.7; color: #34485e; }
.landing-page .course-excerpt-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; margin-top: 15px; }
.landing-page .course-excerpt-footer button { display: inline-flex; align-items: center; gap: 18px; min-height: 38px; padding: 6px 0; color: #28507c; background: none; border: 0; border-bottom: 1px solid #9fb4cc; font-size: .73rem; font-weight: 600; }
.landing-page .course-excerpt-footer button>span { font-size: 1.1rem; font-weight: 400; }
.landing-page .course-excerpt-footer button:hover { color: #132f52; border-color: #254a77; }
.landing-page .course-excerpt-footer [role=status] { max-width: 280px; color: #53694a; font-size: .69rem; line-height: 1.6; }
.landing-page .format-notes { gap: 0; padding-top: 0; }
.landing-page .format-notes article, .landing-page .format-notes article:nth-child(2) { padding: 29px 0 29px 65px; border: 0; border-top: 1px solid #b9c8db; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
.landing-page .format-notes article::before { left: 0; top: 30px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #b8c7da; border-radius: 50%; font-size: .65rem; font-weight: 600; }
.landing-page .format-notes article:nth-child(2)::before { color: #546e43; border-color: #aebf9a; }
.landing-page .format-notes .note-label { font-size: .66rem; }
.landing-page .format-notes h3 { margin-block: 12px; font-size: 1.5rem; font-weight: 600; }
.landing-page .format-notes p { font-size: .9rem; line-height: 1.75; }

/* The tools are a readable equipment list, with costs on a separate row. */
.landing-page .tools-section { background: #14203a; }
.landing-page .tools-section::before { content: none; }
.landing-page .tools-heading { grid-template-columns: 1fr .98fr; align-items: start; gap: 30px 70px; }
.landing-page .tools-heading>p { margin: 0; padding: 0; border: 0; color: #d5deef; font-size: .91rem; line-height: 1.8; max-width: 510px; }
.landing-page .tools-grid { display: block; margin-top: 36px; border: 0; border-radius: 0; overflow: visible; }
.landing-page .tools-grid article, .landing-page .tools-grid article:nth-child(2), .landing-page .tools-grid article:nth-child(3), .landing-page .tools-grid article:nth-child(4) { display: grid; grid-template-columns: minmax(180px,.85fr) minmax(0,1.08fr) minmax(0,1fr); align-items: start; gap: 26px; min-height: 0; grid-column: auto; padding: 29px 0; border: 0; border-top: 1px solid #596d8d; border-radius: 0; background: transparent; }
.landing-page .tools-grid article:nth-child(4) { padding: 28px 25px; background: #dfe8d0; border: 0; }
.landing-page .tools-grid article strong { max-width: none; font-size: clamp(18px,1.5vw,22px); line-height: 1.45; }
.landing-page .tools-grid article p { margin: 0; font-size: .86rem; line-height: 1.75; }
.landing-page .tools-grid .tool-card-head { margin: 0; gap: 12px; }
.landing-page .tools-grid .tool-label { max-width: 135px; font-size: .64rem; }
.landing-page .tools-grid .tool-icon { width: 34px; height: 34px; border-radius: 50%; transform: none; }
.landing-page .tools-grid article:nth-child(2) .tool-icon, .landing-page .tools-grid article:nth-child(3) .tool-icon { border-radius: 50%; transform: none; }
.landing-page .tools-grid article:nth-child(4) strong { color: #213c2d; }
.landing-page .tools-grid article:nth-child(4) p { color: #455d47; }
.landing-page .tools-grid article:nth-child(4) .tool-label { color: #526b43; }
.landing-page .tools-grid article:nth-child(4) .tool-icon { color: #48623a; border-color: #9daf8c; }

/* The comparison uses the actual deliverables; no decorative substitute pages. */
.landing-page .product-compare { padding-block: 72px 43px; }
.landing-page .product-compare .section-heading { max-width: 820px; }
.landing-page .product-compare-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border: 1px solid #bfccdc; border-radius: 4px; overflow: hidden; }
.landing-page .product-compare-grid article { position: relative; display: flex; flex-direction: column; padding: 32px 35px 35px; background: #f1f5fa; border: 0; border-radius: 0; }
.landing-page .product-compare-grid .product-compare-paid { background: #e9efdf; border: 0; border-left: 1px solid #c1ceb2; }
.landing-page .product-compare-grid article::before { content: ''; display: block; width: 55px; height: 3px; margin-bottom: 23px; background: #315881; }
.landing-page .product-compare-grid .product-compare-paid::before { background: #718d54; }
.landing-page .product-compare-grid article>.eyebrow { font-size: .65rem; }
.landing-page .product-compare-grid h3 { margin: 17px 0 6px; font-size: clamp(25px,2.3vw,32px); line-height: 1.2; font-weight: 600; letter-spacing: -.035em; }
.landing-page .product-compare-grid ul { flex: 1; list-style: none; margin: 18px 0 22px; padding: 0; }
.landing-page .product-compare-grid li { margin: 0; padding: 10px 0; border-bottom: 1px solid #cbd7e5; font-size: .87rem; line-height: 1.6; }
.landing-page .product-compare-grid .product-compare-paid li { border-color: #c7d3ba; }
.landing-page .product-compare-grid .text-button { align-self: flex-start; margin-top: auto; font-size: .81rem; }

/* The numbers describe the actual review allowances in the two plans. */
.landing-page .course-review-count { display: flex; align-items: center; gap: 15px; height: 75px; margin: 18px 0 9px; color: #355b84; }
.landing-page .course-review-count>b { font-size: 59px; line-height: 1; letter-spacing: -.045em; font-weight: 600; }
.landing-page .course-review-count>span { max-width: 170px; font-size: .72rem; line-height: 1.65; }
.landing-page .course-review-count>i { flex: 1; height: 1px; margin-left: 7px; background: #c0cfdf; }
.landing-page .price-card-plus .course-review-count { color: #4e6c3a; }
.landing-page .price-card-plus .course-review-count>i { background: #a8be91; }
.landing-page .faq-heading { position: sticky; top: 25px; align-self: start; padding-bottom: 0; padding-right: 0; }

@media(max-width:1000px){
  .landing-page .tools-heading { gap: 30px; }
  .landing-page .tools-grid article, .landing-page .tools-grid article:nth-child(2), .landing-page .tools-grid article:nth-child(3), .landing-page .tools-grid article:nth-child(4) { grid-template-columns: minmax(155px,.8fr) minmax(0,1fr) minmax(0,1fr); gap: 22px; }
  .landing-page .tools-grid article strong { font-size: 18px; }
  .landing-page .tools-grid .tool-label { font-size: .59rem; }
  .landing-page .course-excerpt dl>div { grid-template-columns: 89px minmax(0,1fr); gap: 12px; }
}
@media(max-width:760px){
  .landing-page .format-section { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .landing-page .course-excerpt { margin-top: 26px; max-width: none; }
  .landing-page .course-excerpt dl>div { grid-template-columns: 94px minmax(0,1fr); }
  .landing-page .format-notes article, .landing-page .format-notes article:nth-child(2) { padding: 25px 0 25px 55px; }
  .landing-page .format-notes article::before { top: 27px; width: 30px; height: 30px; }
  .landing-page .format-notes h3 { font-size: 1.3rem; }
  .landing-page .tools-heading { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .landing-page .tools-grid { margin-top: 30px; }
  .landing-page .tools-grid article, .landing-page .tools-grid article:nth-child(2), .landing-page .tools-grid article:nth-child(3), .landing-page .tools-grid article:nth-child(4) { grid-template-columns: minmax(0,1fr); gap: 15px; padding: 25px 0; }
  .landing-page .tools-grid article:nth-child(4) { padding: 25px 22px; }
  .landing-page .tools-grid .tool-label { max-width: none; font-size: .64rem; }
  .landing-page .tools-grid article strong { font-size: 20px; }
  .landing-page .tools-grid article p { font-size: .87rem; }
  .landing-page .product-compare { padding-block: 50px 30px; }
  .landing-page .product-compare-grid { grid-template-columns: minmax(0,1fr); }
  .landing-page .product-compare-grid article { padding: 27px 25px; }
  .landing-page .product-compare-grid .product-compare-paid { border-left: 0; border-top: 1px solid #c1ceb2; }
  .landing-page .product-compare-grid h3 { font-size: 26px; }
  .landing-page .course-review-count { gap: 12px; }
  .landing-page .course-review-count>b { font-size: 55px; }
  .landing-page .course-review-count>span { max-width: 145px; font-size: .67rem; }
  .landing-page .faq-heading { position: static; padding: 0; }
}
@media(max-width:380px){
  .landing-page .course-excerpt dl>div { grid-template-columns: 76px minmax(0,1fr); gap: 12px; }
  .landing-page .course-excerpt dt { font-size: .64rem; }
  .landing-page .course-excerpt dd { font-size: .77rem; }
  .landing-page .course-excerpt figcaption { font-size: .6rem; gap: 10px; }
  .landing-page .product-compare-grid article { padding-inline: 23px; }
}
@media print{
  .landing-page .course-excerpt-footer button, .landing-page .course-excerpt-footer [role=status] { display: none; }
  .landing-page .faq-heading { position: static; }
}
