/* Product offers use the same paper, chocolate and sculptural study objects as the hero. */
.landing-page .hero-title-composition {
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  padding: 23px 30px 20px;
  background: #2c211b;
  border-radius: 3px 16px 3px 3px;
  box-shadow: inset 0 2px 1px #a3856950, 0 5px 3px -2px #7a5338, 0 15px 25px -15px #48301d90;
  transform: rotate(-1deg);
}
.landing-page .landing-hero .hero-title-composition h1 {
  display: block;
  margin: 0;
  padding: 0;
  font-size: clamp(54px, 5.6vw, 78px);
  line-height: 1.02;
}
.landing-page .landing-hero .hero-title-composition h1 span:nth-child(n) {
  margin: 0;
  padding: 0;
  color: #fffaf4;
  background: none;
  box-shadow: none;
  transform: none;
  animation: none;
}
.landing-page .landing-hero .hero-title-composition .hero-signature {
  width: fit-content;
  margin: 9px 8px 0 auto;
  color: #efc4a8;
  font: italic 400 clamp(28px, 2.7vw, 36px)/1.25 'PT Serif', Georgia, serif;
  letter-spacing: -.015em;
  transform: rotate(-3deg);
  transform-origin: right center;
}
.landing-page .hero-title-composition .hero-signature::after {
  content: '';
  display: block;
  width: 68%;
  height: 4px;
  margin: 2px 0 0 auto;
  border-bottom: 1.5px solid #efc4a8;
  border-radius: 0 0 50% 50%;
  opacity: .65;
}
@media (max-width: 700px) {
  .landing-page .hero-title-composition { padding: 19px 20px 18px; }
  .landing-page .landing-hero .hero-title-composition h1 { font-size: clamp(36px, 10.5vw, 64px); }
  .landing-page .landing-hero .hero-title-composition .hero-signature { margin-top: 8px; font-size: clamp(25px, 6.8vw, 32px); }
}
.landing-page .landing-ribbon { background: #eed1c0; color: #3b2618; }
.landing-ribbon .ribbon-track { animation-duration: 70s; }
.landing-ribbon .ribbon-track > div { gap: 35px; padding-block: 17px; }
.landing-ribbon .ribbon-track span { font-size: 23px; }
.landing-ribbon .ribbon-window { margin-right: 0; }
.landing-page .landing-ribbon:hover .ribbon-track,
.landing-page .landing-ribbon:focus-within .ribbon-track { animation-play-state: running; }
.landing-page .async-package-slip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 80px;
  gap: 14px 12px;
  margin: 20px 0 24px;
  padding: 22px;
  background: linear-gradient(135deg, #fffaf5, #f3dfcc);
  border-radius: 12px 26px 12px 12px;
  box-shadow: inset 0 2px 1px #fffdf9, 0 5px 2px -1px #c6a284, 0 13px 20px -12px #65432b66;
}
.landing-page .async-package-slip .format-includes { grid-area: 1 / 1; align-self: center; }
.landing-page .async-package-slip > strong { grid-column: 1 / -1; padding-top: 13px; border-top: 1px solid #d6b99f; font-size: 15px; line-height: 1.5; }
.package-study-object { grid-area: 1 / 2; width: 80px; aspect-ratio: 1; align-self: center; background: url('assets/study-objects-3d.png') left center / 300% 100% no-repeat; }
.landing-page .self-study-options { margin-top: 40px; padding-top: 0; border: 0; }
.landing-page .self-study-options > h3 { max-width: 24ch; font: italic 800 clamp(38px, 3.4vw, 48px)/1.08 'Roboto Condensed', sans-serif; text-transform: uppercase; letter-spacing: -.015em; margin: 0 0 28px; color: #2f1b0e; }
.self-study-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.landing-page .study-offer { display: flex; flex-direction: column; min-width: 0; padding: 27px 30px; border-radius: 14px; text-decoration: none; box-shadow: inset 0 2px 1px #ffffff30, 0 6px 2px -1px #b28a6a, 0 16px 25px -18px #472e1c77; }
.landing-page .study-offer-trainer { background: #342218; color: #fffaf5; }
.landing-page .study-offer-history { background: #eed1c0; color: #2f1b0e; }
.study-offer-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 74px; }
.landing-page .study-offer h4 { margin: 0; font: italic 800 34px/1.08 'Roboto Condensed', sans-serif; letter-spacing: -.02em; }
.study-offer-object { display: block; flex: 0 0 78px; width: 78px; aspect-ratio: 1; background: url('assets/study-objects-3d.png') center / 300% 100% no-repeat; }
.study-offer-object-book { background-position: left center; }
.landing-page .study-offer > p { font-size: 16px; line-height: 1.6; margin: 12px 0 22px; max-width: 38ch; color: inherit; }
.study-offer-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: auto; font-variant-numeric: tabular-nums; }
.landing-page .study-offer-price strong { font: 800 44px/1.1 'Manrope', sans-serif; letter-spacing: -.04em; white-space: nowrap; }
.study-offer-price del { flex-basis: 100%; font-size: 20px; color: #70503d; text-decoration-thickness: 2px; }
.study-offer-price > span { font-size: 15px; }
.study-offer-action { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 21px; margin-top: 24px; border-top: 1px solid #9f7a63; font-size: 16px; font-weight: 700; }
.study-offer-action > .icon { width: 22px; height: 22px; flex: none; }
.landing-page .study-offer:hover .study-offer-action { text-decoration: underline; text-underline-offset: 5px; }
.landing-page .study-offer:focus-visible { outline-offset: 8px; }
.landing-page .landing-benefits > .section-intro { align-items: center; gap: 38px; }
.learning-title-plaque { display: grid; grid-template-columns: minmax(0,1fr) 100px; align-items: center; gap: 20px; padding: 25px 30px; background: linear-gradient(145deg, #4e3525, #2f1b0e); color: #fffaf5; border-radius: 12px 30px 12px 12px; box-shadow: inset 0 2px 1px #b7957766, 0 6px 2px -1px #a77c58, 0 18px 28px -19px #38221388; }
.landing-page .learning-title-plaque h2 { font-size: clamp(30px, 3vw, 45px); line-height: 1.1; color: inherit; }
.learning-title-object { width: 100px; aspect-ratio: 1; background: url('assets/study-objects-3d.png') right center / 300% 100% no-repeat; }

/* Teacher portrait, credentials and real results form one tactile composition. */
.landing-page .landing-teacher {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(240px, .7fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(35px, 5vw, 74px);
  width: calc(100% - 80px);
  max-width: 1480px;
  margin: 58px auto;
  padding: 46px 54px;
  background: #efdbc8;
  border-radius: 16px 46px 16px 16px;
  box-shadow: inset 0 2px 2px #fff9ef, 0 15px 32px -20px #59392280;
}
.landing-page .landing-teacher::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 9px -10px -9px 12px;
  background: #d8b596;
  border-radius: inherit;
  transform: rotate(.6deg);
}
.landing-page .landing-teacher::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #efdbc8;
  border-radius: inherit;
}
.teacher-portrait-stack { position: relative; min-width: 0; padding: 3px 16px 18px 0; }
.landing-page .teacher-portrait-frame { width: 100%; max-width: 390px; box-shadow: 4px 15px 24px #4c321d30; }
.landing-page .teacher-portrait-frame img { aspect-ratio: 4/4.8; }
.teacher-study-object { position: absolute; right: -28px; bottom: -7px; width: 155px; aspect-ratio: 1; background: url('assets/study-objects-3d.png') left center / 300% 100% no-repeat; filter: drop-shadow(3px 10px 9px #4e2a1429); pointer-events: none; }
.landing-page .teacher-intro-copy { padding: 0; min-width: 0; }
.landing-page .teacher-intro-copy h2 { margin: 0 0 15px; font-size: clamp(44px, 4.8vw, 66px); line-height: 1.02; }
.landing-page .teacher-intro-copy p { margin: 0 0 19px; max-width: 54ch; font-size: 20px; line-height: 1.65; color: #5b3c28; }
.landing-page .teacher-intro-copy .teacher-subjects { margin-bottom: 19px; font-weight: 700; color: #382519; font-size: 21px; }
.landing-page .teacher-credentials { display: flex; gap: 26px; margin: 22px 0 25px; padding: 0; }
.landing-page .teacher-credentials li { padding: 0; border: 0; }
.landing-page .teacher-credentials strong { font-size: 20px; color: #3f291a; }
.landing-page .teacher-credentials span { font-size: 15px; color: #684a35; line-height: 1.5; }
.landing-page .teacher-results { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 22px 27px; border: 0; border-radius: 12px; background: #3b271a; color: #fff7ef; box-shadow: 3px 11px 18px #5b361d25; }
.landing-page .teacher-results > span { display: grid; gap: 2px; padding: 0; }
.landing-page .teacher-results > span + span { padding-left: 24px; border-left: 1px solid #8f6b50; }
.landing-page .teacher-results strong { margin: 0; color: #f3d3b8; font: italic 800 66px/1 'Roboto Condensed', sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -.025em; }
.landing-page .teacher-results > span > span { font-size: 17px; line-height: 1.5; }

.landing-page .landing-formats { padding-bottom: 62px; background: #fffaf5; }
.landing-page .landing-formats .section-intro > p { font-size: 20px; line-height: 1.65; }
.landing-page .format-choice-grid .format-description,
.landing-page .format-choice-grid .format-includes { font-size: 20px; line-height: 1.65; }
.landing-page .format-choice-grid .format-option-course { background: #f3e5d7; }
.landing-page .format-choice-grid .format-gift-with-object { gap: 18px; min-height: 120px; margin: 24px 0 28px; padding: 10px 17px 10px 4px; background: #fffaf5; border-radius: 12px; box-shadow: 2px 9px 18px #6c3e221a; font-size: 23px; line-height: 1.3; }
.landing-page .format-gift-with-object img { width: 112px; height: 112px; filter: drop-shadow(2px 9px 7px #6c3e222c); }
.landing-page .format-gift-with-object small { display: inline-block; margin-top: 7px; font-size: 16px; line-height: 1.5; color: #684630; }

/* Independent products have their own background and a separate heading. */
.landing-page .landing-self-study { max-width: none; padding-block: 62px 70px; background: #e7c7ac; box-shadow: inset 0 9px 22px -20px #53311b; }
.landing-page .landing-self-study .self-study-options { max-width: 1480px; margin: 0 auto; padding: 0; }
.self-study-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 40px; margin-bottom: 35px; }
.landing-page .self-study-intro h2 { margin: 0; font: italic 800 clamp(38px, 3.8vw, 54px)/1.07 'Roboto Condensed', sans-serif; text-transform: uppercase; letter-spacing: -.02em; }
.landing-page .self-study-intro > p { max-width: 46ch; margin: 0; font-size: 20px; line-height: 1.65; color: #5a3a25; }
.landing-page .study-offer { padding: 29px 31px; }
.landing-page .study-offer-history { background: #fffaf5; }
.landing-page .study-offer-heading { display: grid; grid-template-columns: minmax(0, 1fr) 145px; gap: 15px; min-height: 145px; }
.landing-page .study-offer h4 { font-size: clamp(31px, 3vw, 40px); line-height: 1.1; }
.landing-page .study-offer-object { width: 145px; }
.landing-page .study-offer > p { margin-top: 10px; font-size: 20px; max-width: 42ch; }

.landing-page .journey-invitation-group { display: grid; grid-template-columns: minmax(0,1fr) 115px; align-items: center; gap: 8px; margin: 0 0 16px; }
.landing-page .journey-rail .journey-invitation { margin: 0; max-width: 12ch; font-size: 30px; }
.journey-start-arrow { display: block; width: 115px; height: 125px; object-fit: contain; transform: rotate(-10deg); filter: drop-shadow(3px 7px 5px #100a064d); pointer-events: none; }
.landing-page .journey-rail-note { margin-top: 0; padding-top: 24px; }

.landing-page .landing-faq { align-items: start; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 46px; padding-top: 65px; padding-bottom: 65px; background: #f1dfce; }
.landing-page .landing-faq > .section-intro { position: relative; margin: 0; padding: 32px 32px 12px; background: #fffaf5; border-radius: 12px 32px 12px 12px; box-shadow: 4px 13px 24px #5b391e1a; }
.landing-page .landing-faq .section-intro p { max-width: 30ch; margin-top: 22px; font-size: 20px; line-height: 1.65; }
.faq-study-object { display: block; width: min(100%, 310px); aspect-ratio: 1; margin: 8px auto 0; background: url('assets/study-objects-3d.png') right center / 300% 100% no-repeat; filter: drop-shadow(3px 11px 9px #4e2a141c); }
.landing-page .landing-faq .faq summary { font-size: 20px; line-height: 1.5; padding-block: 21px; }
.landing-page .landing-faq .faq details > p { font-size: 20px; line-height: 1.7; }

@media (max-width: 900px) {
  .landing-page .landing-benefits > .section-intro { grid-template-columns: 1fr; gap: 27px; }
  .landing-page .learning-title-plaque { max-width: 620px; }
  .landing-page .landing-teacher { width: calc(100% - 48px); padding: 35px; gap: 36px; grid-template-columns: minmax(200px,.75fr) minmax(0,1.2fr); }
  .landing-page .teacher-intro-copy p { font-size: 18px; }
  .landing-page .teacher-intro-copy .teacher-subjects { font-size: 19px; }
  .teacher-study-object { width: 125px; right: -18px; }
  .landing-page .teacher-results { padding: 20px; }
  .landing-page .teacher-results strong { font-size: 58px; }
  .landing-page .teacher-results > span > span { font-size: 15px; }
  .landing-page .teacher-credentials { gap: 18px; }
  .landing-page .teacher-credentials span { font-size: 13px; }
  .landing-page .study-offer-heading { grid-template-columns: minmax(0,1fr) 108px; min-height: 120px; }
  .landing-page .study-offer-object { width: 108px; }
  .landing-page .study-offer h4 { font-size: 31px; }
  .self-study-intro { grid-template-columns: 1fr; gap: 18px; }
  .landing-page .journey-invitation-group { grid-template-columns: minmax(0,1fr) 88px; }
  .landing-page .journey-rail .journey-invitation { font-size: 26px; }
  .journey-start-arrow { width: 88px; height: 110px; }
  .landing-page .landing-faq { gap: 30px; }
  .landing-page .landing-faq > .section-intro { padding: 26px 25px 10px; }
}
@media (max-width: 620px) {
  .self-study-offers { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .landing-page .self-study-options > h3 { font-size: 32px; margin-bottom: 24px; }
  .landing-page .study-offer { padding: 23px; }
  .landing-page .study-offer h4 { font-size: 31px; }
  .landing-page .study-offer > p { font-size: 15px; }
  .landing-page .study-offer-price strong { font-size: 38px; }
  .study-offer-object { flex-basis: 65px; width: 65px; }
  .landing-page .async-package-slip { grid-template-columns: minmax(0,1fr) 60px; padding: 18px; }
  .package-study-object { width: 60px; }
  .landing-page .async-package-slip > strong { font-size: 14px; }
  .learning-title-plaque { grid-template-columns: minmax(0,1fr) 65px; gap: 10px; padding: 23px 20px; }
  .landing-page .learning-title-plaque h2 { font-size: 30px; }
  .learning-title-object { width: 65px; }
  .landing-page .hero-title-composition { width: 100%; }
  .landing-page .landing-hero .hero-title-composition .hero-signature { margin-right: 0; }
  .landing-page .landing-teacher { grid-template-columns: 1fr; gap: 25px; width: calc(100% - 36px); margin-block: 36px; padding: 30px 24px; border-radius: 12px 30px 12px 12px; }
  .teacher-portrait-stack { width: min(100%,300px); justify-self: center; padding: 0 14px 15px 0; }
  .landing-page .teacher-portrait-frame { max-width: none; }
  .teacher-study-object { width: 120px; right: -18px; bottom: -3px; }
  .landing-page .teacher-intro-copy h2 { font-size: 43px; margin-bottom: 13px; }
  .landing-page .teacher-intro-copy p { font-size: 16px; line-height: 1.7; margin-bottom: 18px; }
  .landing-page .teacher-intro-copy .teacher-subjects { font-size: 18px; }
  .landing-page .teacher-credentials { gap: 16px; margin: 20px 0 23px; }
  .landing-page .teacher-credentials strong { font-size: 18px; }
  .landing-page .teacher-credentials span { font-size: 13px; }
  .landing-page .teacher-results { padding: 19px 18px; }
  .landing-page .teacher-results > span + span { padding-left: 17px; }
  .landing-page .teacher-results strong { font-size: 55px; }
  .landing-page .teacher-results > span > span { font-size: 14px; }
  .landing-page .landing-formats { padding-bottom: 43px; }
  .landing-page .landing-formats .section-intro > p { font-size: 16px; }
  .landing-page .format-choice-grid .format-description,
  .landing-page .format-choice-grid .format-includes { font-size: 16px; }
  .landing-page .format-choice-grid .format-gift-with-object { gap: 10px; min-height: 98px; padding: 9px 12px 9px 1px; margin: 23px 0 26px; font-size: 20px; }
  .landing-page .format-gift-with-object img { width: 88px; height: 88px; }
  .landing-page .format-gift-with-object small { margin-top: 5px; font-size: 14px; }
  .landing-page .landing-self-study { padding-block: 44px 48px; }
  .self-study-intro { margin-bottom: 27px; gap: 18px; }
  .landing-page .self-study-intro h2 { font-size: 36px; }
  .landing-page .self-study-intro > p { font-size: 16px; }
  .landing-page .study-offer { padding: 25px 23px; }
  .landing-page .study-offer-heading { grid-template-columns: minmax(0,1fr) 98px; gap: 10px; min-height: 110px; }
  .landing-page .study-offer-object { width: 98px; }
  .landing-page .study-offer h4 { font-size: 30px; }
  .landing-page .study-offer > p { font-size: 16px; }
  .landing-page .journey-invitation-group { grid-template-columns: 95px minmax(0,1fr); gap: 13px; margin-bottom: 15px; }
  .landing-page .journey-rail .journey-invitation { grid-column: 2; font-size: 27px; max-width: none; margin: 0; }
  .journey-start-arrow { grid-column: 1; grid-row: 1; width: 95px; height: 105px; }
  .landing-page .landing-faq { grid-template-columns: 1fr; padding-block: 45px; gap: 26px; }
  .landing-page .landing-faq > .section-intro { display: grid; grid-template-columns: minmax(0,1fr) 100px; column-gap: 8px; padding: 24px 22px; }
  .landing-page .landing-faq .section-intro h2 { grid-column: 1; font-size: 34px; }
  .landing-page .landing-faq .section-intro p { grid-column: 1 / -1; font-size: 16px; margin-top: 14px; max-width: none; }
  .faq-study-object { grid-column: 2; grid-row: 1; width: 112px; margin: 0 0 0 -9px; }
  .landing-page .landing-faq .faq summary { font-size: 16px; padding-block: 18px; }
  .landing-page .landing-faq .faq details > p { font-size: 16px; }
}
