/* Curso: uma composição editorial, com o gesto e o aparelho em destaque. */
.course-page { background: #fbf8f2; }
.course-header { background: var(--brown-deep); color: var(--beige); }
.course-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 24px; border-bottom: 1px solid var(--rule-lite); }
.course-mark { font-family: var(--serif); font-size: 23px; font-style: italic; line-height: 1.2; }
.course-mark span { display: block; font-family: var(--sans); font-size: 10px; font-style: normal; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 5px; color: var(--gold-soft); }
.course-nav { display: flex; gap: 28px; font-size: 14px; }
.course-nav a { padding-block: 10px; }
.course-nav a:last-child { color: var(--gold-soft); }
.course-hero { position: relative; background: var(--brown-deep); color: var(--beige); overflow: hidden; }
.course-hero .wrap { display: grid; grid-template-columns: 1.12fr 1fr; gap: 64px; padding-block: 64px 80px; align-items: center; }
.course-hero .eyebrow { color: var(--gold-soft); }
.course-hero h1 { font-family: var(--serif); font-size: clamp(38px, 4.4vw, 65px); line-height: 1.07; letter-spacing: -.035em; font-weight: 500; }
.course-hero h1 em { color: var(--gold-soft); font-weight: 400; }
.course-lead { color: #e5d9c9; font-size: 18px; line-height: 1.7; margin-top: 26px; max-width: 48ch; }
.course-hero .hero-price { color: #e5d9c9; }
.course-hero .hero-price strong { color: #fff8ed; }
.course-hero .micro { color: #dbcdbb; }
.course-hero .text-link { color: #e6d7c1; margin-top: 14px; }
.course-portrait { margin: 0; position: relative; padding: 0 0 34px 28px; }
.course-portrait::before { content: ''; position: absolute; inset: 24px 24px 0 0; border: 1px solid #806443; }
.course-portrait img { position: relative; width: 100%; aspect-ratio: 4/4.7; object-fit: cover; object-position: center 38%; }
.course-portrait figcaption { position: absolute; bottom: 0; left: 0; width: 83%; background: #f4ecdf; color: var(--brown-deep); padding: 23px 25px; border-left: 3px solid var(--gold); }
.course-portrait figcaption span { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 4px; color: #705538; }
.course-portrait figcaption strong { font-family: var(--serif); font-size: 26px; font-weight: 500; }
.course-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.course-intro .body + .body { margin-top: 20px; }
.course-intro blockquote { font-family: var(--serif); font-size: clamp(27px, 2.8vw, 38px); line-height: 1.35; margin: 26px 0 0; color: var(--brown-deep); }
.course-intro blockquote em { color: var(--brown-mid); }
.course-section-head { max-width: 740px; margin-bottom: 42px; }
.course-section-head .body { margin-top: 20px; }
.lesson-path { counter-reset: lesson; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--rule); }
.lesson-path li { counter-increment: lesson; padding: 28px 28px 32px 0; border-bottom: 1px solid var(--rule); }
.lesson-path li:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--rule); }
.lesson-path li::before { content: '0' counter(lesson); display: block; color: var(--brown-mid); font-size: 14px; margin-bottom: 20px; }
.lesson-path h3 { font-family: var(--serif); font-size: 24px; line-height: 1.2; margin-bottom: 12px; }
.lesson-path p { font-size: 16px; line-height: 1.65; color: #644f3c; }
.protocol-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.protocol-index article { padding: 30px; border: 1px solid #745b40; background: #46301e; }
.protocol-index h3 { font-family: var(--serif); font-size: 26px; font-weight: 500; line-height: 1.2; padding-bottom: 18px; border-bottom: 1px solid #70593e; }
.protocol-index h3 span { float: right; font-family: var(--sans); font-size: 13px; line-height: 2; color: var(--gold-soft); }
.protocol-index ul { display: grid; gap: 12px; padding-top: 20px; }
.protocol-index li { font-size: 16px; color: #efe5d7; display: flex; gap: 14px; }
.protocol-index li::before { content: '·'; color: var(--gold-soft); }
.course-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.course-bonuses { border-top: 1px solid var(--rule); }
.course-bonuses article { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 25px 0; border-bottom: 1px solid var(--rule); }
.course-bonuses .n { font-size: 13px; color: var(--brown-mid); padding-top: 5px; }
.course-bonuses h3 { font-family: var(--serif); font-size: 24px; line-height: 1.25; margin-bottom: 8px; }
.course-bonuses p { font-size: 16px; color: #644f3c; line-height: 1.65; }
.course-author { display: grid; grid-template-columns: .75fr 1fr; align-items: center; gap: 74px; }
.course-author img { width: 100%; max-height: 570px; object-fit: cover; object-position: top; }
.course-author .body { margin-top: 22px; }
.course-author .list-check { margin-top: 25px; }
.course-checkout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: center; }
.course-checkout .body { margin-top: 20px; }
.course-checkout .list-check { margin-top: 24px; }
.course-price { border: 1px solid #947446; padding: 40px; text-align: center; background: #3c2c1d; }
.course-price .eyebrow { justify-content: center; color: var(--gold-soft); }
.course-price .priceclimax__amount { margin-block: 28px 22px; }
.course-price .priceclimax__num { font-size: clamp(76px, 8vw, 104px); }
.course-price .btn { margin-top: 28px; width: 100%; }
.course-price .micro { justify-content: center; color: #e5d5be; }
.course-guarantee { margin-top: 24px; padding-top: 24px; border-top: 1px solid #786143; color: #e8dbca; font-size: 15px; line-height: 1.65; text-align: left; }
.course-guarantee strong { display: block; color: var(--gold-soft); margin-bottom: 6px; font-size: 17px; }
.course-close { text-align: center; }
.course-close .body { margin: 24px auto 28px; }
.course-close .h-2 { max-width: 23ch; margin-inline: auto; }
.course-afterpurchase { padding: 16px 0; background: #ece0cd; color: var(--brown-deep); font-size: 14px; }
.course-afterpurchase .wrap { display: flex; gap: 16px; justify-content: space-between; align-items: center; }
.course-afterpurchase a { text-decoration: underline; white-space: nowrap; text-underline-offset: 4px; }
.course-access { text-align: center; }
.course-access p { margin: 18px auto 0; }
@media (max-width: 980px) {
  .course-hero .wrap { gap: 32px; }
  .course-hero h1 { font-size: 45px; }
  .course-intro, .course-split { gap: 36px; }
  .course-author, .course-checkout { gap: 36px; }
  .course-price { padding: 28px; }
}
@media (max-width: 760px) {
  .course-nav a:not(:last-child) { display: none; }
  .course-hero .wrap, .course-intro, .course-split, .course-author, .course-checkout { grid-template-columns: 1fr; }
  .course-hero .wrap { padding-block: 40px 52px; gap: 44px; }
  .course-hero h1 { font-size: clamp(36px, 7.5vw, 49px); }
  .course-lead { font-size: 17px; }
  .course-portrait { max-width: 450px; width: 100%; margin-inline: auto; }
  .course-portrait img { aspect-ratio: 4/4; }
  .course-portrait figcaption { padding: 18px 20px; }
  .course-portrait figcaption strong { font-size: 23px; }
  .lesson-path { grid-template-columns: 1fr 1fr; }
  .lesson-path li:not(:nth-child(3n+1)) { border-left: 0; padding-left: 0; }
  .lesson-path li { padding-right: 20px; }
  .lesson-path li:nth-child(2n) { border-left: 1px solid var(--rule); padding-left: 20px; padding-right: 0; }
  .protocol-index { grid-template-columns: 1fr; }
  .course-author img { max-width: 400px; margin-inline: auto; }
  .course-afterpurchase .wrap { display: block; }
  .course-afterpurchase a { display: inline-flex; padding-top: 9px; }
}
@media (max-width: 400px) {
  .course-mark { font-size: 19px; }
  .course-nav { font-size: 13px; }
  .course-header .wrap { gap: 12px; }
  .lesson-path { grid-template-columns: 1fr; }
  .lesson-path li:nth-child(2n) { border-left: 0; padding-left: 0; }
  .course-price { padding: 26px 20px; }
}
