/* Revision: specific weekly work, compact inclusions, and a full-width outcome map. */
.route-section .section-heading { max-width: 850px; }
.route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.route-card { min-height: 290px; padding: 30px 32px; }
.route-card h3 { margin: 18px 0 12px; font-size: clamp(1.3rem, 2vw, 1.65rem); }
.route-card > p:not(.route-practice) { color: var(--muted); font-size: .9rem; line-height: 1.58; margin: 0; flex: 1; }
.route-card .route-practice {
  border-top: 1px solid var(--line);
  margin: 22px 0 0;
  padding-top: 15px;
  color: #544a44;
  font-size: .84rem;
  line-height: 1.5;
}
.route-practice strong { display: block; margin-bottom: 4px; color: #a65f2e; font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; }
.route-footnote { margin-top: 26px; max-width: 690px; }

.includes-section { background: #e6ebe1; padding-top: 72px; padding-bottom: 72px; }
.includes-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 26px; }
.includes-heading .eyebrow { white-space: nowrap; }
.includes-heading h2 { max-width: 690px; font-size: clamp(2rem, 3.4vw, 3.6rem); margin: 0; }
.includes-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; padding: 0; margin: 0; list-style: none; }
.includes-list li { display: flex; align-items: center; min-height: 54px; padding: 12px 16px; border: 1px solid #c6d1c2; border-radius: 12px; background: #fcfdf9af; font-size: .83rem; font-weight: 700; }
.includes-list li::before { content: '✳'; margin-right: 12px; color: #799073; font-size: .95rem; }

.results-intro { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 9vw; }
.results-copy h2 { max-width: 700px; }
.results-copy > p:not(.eyebrow) { max-width: 620px; color: var(--muted); }
.results-intro .results-list { margin-top: 0; }
.map-document {
  position: relative;
  margin-top: 64px;
  padding: 42px 46px 30px;
  border: 1px solid #e0d4c5;
  border-radius: 22px;
  background: #fffdfa;
  box-shadow: 14px 15px 0 #e4d6c6;
}
.map-document::before { content: ''; position: absolute; inset: 0 0 auto; height: 11px; border-radius: 22px 22px 0 0; background: #d9e2d4; }
.map-document-header { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; }
.map-document-header h3 { margin: 20px 0 8px; font-size: clamp(2rem, 4vw, 3.7rem); }
.map-document-header p { max-width: 650px; color: var(--muted); font-size: .9rem; }
.map-document-mark { font-size: 4rem; line-height: 1; color: var(--accent); }
.map-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 26px 0; }
.map-fields span { min-height: 95px; display: flex; align-items: end; border: 1px solid #e5dbd0; border-radius: 11px; padding: 14px; background: #fbf7f1; font-size: .85rem; font-weight: 700; line-height: 1.35; }
.map-fields span::before { content: '○'; align-self: flex-start; margin-right: 9px; color: var(--accent); font-size: 1rem; }
.map-document-footer { border-top: 1px solid var(--line); padding-top: 17px; margin: 0; color: var(--muted); font-size: .77rem; }
.price-card .button { margin-top: 28px; }

@media (max-width: 900px) {
  .route-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 0; }
  .results-intro { grid-template-columns: 1fr; gap: 30px; }
  .map-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .includes-heading { display: block; }
  .includes-heading h2 { margin-top: 0; }
  .includes-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-document { margin-top: 42px; padding: 35px 24px 24px; box-shadow: 8px 9px 0 #e4d6c6; }
  .map-document-mark { font-size: 2.8rem; }
}
@media (max-width: 500px) {
  .route-card { padding: 25px 23px; }
  .route-card h3 { margin: 17px 0 10px; }
  .route-card .route-practice { margin-top: 20px; }
  .includes-section { padding-top: 55px; padding-bottom: 55px; }
  .includes-list { grid-template-columns: 1fr; gap: 7px; }
  .includes-list li { min-height: 45px; padding: 8px 14px; }
  .map-document-header h3 { font-size: 2.25rem; }
  .map-fields { gap: 7px; }
  .map-fields span { min-height: 92px; padding: 10px; font-size: .75rem; }
  .map-fields span::before { margin-right: 5px; }
}

/* Visual rhythm: typography, loop, weekly cards, program strip, personal document. */
.button-primary {
  justify-content: center;
  background: #9a5c34;
  color: #fff;
  box-shadow: 0 10px 24px #9a5c3426;
}
.button-primary:hover { background: #824b2b; }
.button-primary:focus-visible { outline-color: #dba67d; }
.hero h1 { max-width: 750px; }

.recognition-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #d9cdc0;
  border-bottom: 1px solid #d9cdc0;
}
.recognition-grid p {
  min-height: 118px;
  display: flex;
  align-items: center;
  padding: 23px 38px 23px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: clamp(1.02rem, 1.5vw, 1.3rem);
  font-weight: 600;
  line-height: 1.45;
}
.recognition-grid p::before { content: none; }
.recognition-grid p:nth-child(even) { border-left: 1px solid #d9cdc0; padding-left: 38px; padding-right: 0; }
.recognition-grid p:nth-child(n+3) { border-top: 1px solid #d9cdc0; }

.cycle-flow { display: grid; grid-template-columns: minmax(0, 1fr) 215px; max-width: 950px; margin-top: 47px; }
.cycle-sequence { list-style: none; margin: 0; padding: 0; }
.cycle-sequence li {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  min-height: 112px;
  padding: 18px 0;
  border-top: 1px solid #ffffff42;
}
.cycle-sequence li:last-child { border-bottom: 1px solid #ffffff42; }
.cycle-sequence li:not(:last-child)::after {
  content: '↓';
  position: absolute;
  left: 13px;
  bottom: -17px;
  z-index: 1;
  padding: 0 3px;
  background: #32332d;
  color: #e6bd9b;
  font-size: 1.45rem;
  line-height: 1;
}
.cycle-index { align-self: center; color: #e6bd9b; font-size: .78rem; font-weight: 800; }
.cycle-sequence strong { display: block; font-size: clamp(1.18rem, 2vw, 1.55rem); line-height: 1.3; font-weight: 600; }
.cycle-sequence small { display: block; margin-top: 5px; color: #c9cac0; font-size: .82rem; line-height: 1.45; }
.cycle-return { position: relative; min-height: 448px; color: #e6bd9b; }
.cycle-return svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cycle-return span { position: absolute; top: 50%; left: 53px; width: 120px; transform: translateY(-50%); color: #e6bd9b; font-size: .8rem; line-height: 1.45; }
.cycle-conclusion { max-width: 850px; margin-top: 32px; padding-top: 27px; border-top: 1px solid #ffffff42; }
.cycle-conclusion p { font-size: 1.06rem; }

.includes-list { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
.includes-list li {
  min-height: 82px;
  align-items: flex-start;
  padding: 2px 16px;
  border: 0;
  border-left: 1px solid #b8c7b3;
  border-radius: 0;
  background: transparent;
  font-size: .84rem;
  line-height: 1.45;
}
.includes-list li:first-child { border-left: 0; padding-left: 0; }
.includes-list li::before { content: none; }

.results-copy > .results-philosophy { margin: 26px 0 10px; color: var(--ink); font-size: 1.35rem; font-weight: 700; line-height: 1.35; }
.map-document { box-shadow: 15px 16px 0 #e4d6c6, 0 20px 55px #4835250b; }
.map-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 38px; }
.map-fields span {
  min-height: 63px;
  align-items: center;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid #e2d8ce;
  border-radius: 0;
  background: transparent;
  font-size: .9rem;
}
.map-fields span::before { align-self: center; margin-right: 13px; }

/* Replace the image file when a closer portrait is ready; a 4:5 crop works here. */
.about-photo img { object-position: var(--about-image-position, center 40%); }
.about-section { align-items: start; gap: 5vw 8vw; }
.education-inline {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: .85fr 1.45fr 1fr;
  gap: 38px;
  align-items: start;
  margin-top: 20px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.education-intro h3 { max-width: 270px; margin-bottom: 10px; font-size: 1.35rem; }
.education-intro p { margin: 0; color: var(--muted); font-size: .84rem; }
.credentials-list { list-style: none; margin: 0; padding: 0; }
.credentials-list li { padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .82rem; line-height: 1.4; font-weight: 650; }
.credentials-list li:first-child { padding-top: 0; }
.credentials-documents { display: flex; gap: 16px; align-items: start; }
.credentials-documents a { display: block; width: 118px; color: var(--ink); text-decoration: none; font-size: .68rem; font-weight: 700; line-height: 1.35; }
.credentials-documents a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.credentials-documents img { width: 118px; height: 96px; object-fit: contain; padding: 4px; background: #fffdfa; border: 1px solid #e2d8ce; border-radius: 5px; }
.credentials-documents span { display: block; margin-top: 8px; }

.fit-grid { gap: 48px; }
.fit-card { padding: 27px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.fit-card-soft { padding-left: 38px; border-left: 1px solid var(--line); }
.fit-card h3 { margin-bottom: 12px; }
.fit-icon { display: none; }

.price-card > .price-installments {
  margin: 24px 0 0;
  padding-top: 17px;
  border-top: 1px solid var(--line);
  color: #574e48;
  font-size: .87rem;
  line-height: 1.55;
}
.price-installments strong { display: inline; margin: 0; font-size: .94rem; line-height: inherit; letter-spacing: 0; }
.price-card .button { margin-top: 24px; }

@media (max-width: 900px) {
  .includes-list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 18px; }
  .includes-list li:nth-child(3n+1) { border-left: 0; padding-left: 0; }
  .education-inline { grid-template-columns: 1fr 1.5fr; }
  .credentials-documents { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .recognition-grid p { min-height: 130px; padding-right: 20px; }
  .recognition-grid p:nth-child(even) { padding-left: 20px; }
  .cycle-flow { grid-template-columns: minmax(0, 1fr) 110px; }
  .cycle-sequence li { grid-template-columns: 35px minmax(0, 1fr); gap: 10px; min-height: 118px; }
  .cycle-return { min-height: 472px; }
  .cycle-return span { left: 33px; width: 72px; font-size: .68rem; }
  .includes-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 0; }
  .includes-list li { min-height: 72px; padding: 12px 13px; border-top: 1px solid #b8c7b3; }
  .includes-list li:nth-child(3n+1) { border-left: 1px solid #b8c7b3; padding-left: 13px; }
  .includes-list li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .education-inline { grid-template-columns: 1fr; gap: 21px; margin-top: 0; }
  .credentials-documents { grid-column: auto; }
  .fit-card-soft { padding-left: 0; border-left: 0; }
}
@media (max-width: 500px) {
  .hero h1 { font-size: clamp(2.65rem, 10.3vw, 3.55rem); }
  .recognition-grid { grid-template-columns: 1fr; }
  .recognition-grid p, .recognition-grid p:nth-child(even) { min-height: 0; padding: 19px 0; border: 0; border-top: 1px solid #d9cdc0; font-size: 1.05rem; }
  .recognition-grid p:first-child { border-top: 0; }
  .cycle-flow { grid-template-columns: minmax(0, 1fr) 74px; margin-top: 32px; }
  .cycle-sequence li { min-height: 116px; }
  .cycle-sequence strong { font-size: 1.08rem; }
  .cycle-sequence small { font-size: .7rem; }
  .cycle-return { min-height: 464px; }
  .cycle-return span { display: none; }
  .cycle-flow::after { content: '↺ мозг запоминает: это помогло'; grid-column: 1 / -1; margin-top: 15px; color: #e6bd9b; font-size: .82rem; }
  .includes-list li { min-height: 75px; font-size: .76rem; }
  .results-copy > .results-philosophy { font-size: 1.18rem; }
  .map-fields { grid-template-columns: 1fr; }
  .map-fields span { min-height: 52px; font-size: .83rem; }
  .credentials-documents { gap: 20px; }
  .credentials-documents a, .credentials-documents img { width: 112px; }
  .fit-grid { gap: 20px; }
}

/* Feedback round: olive actions, free-form thoughts and a circular anxiety cycle. */
.button-primary { background: #566a4f; box-shadow: 0 10px 24px #566a4f26; }
.button-primary:hover { background: #46583f; }
.button-primary:focus-visible { outline-color: #a9c19f; }
.final-card .button-light { justify-content: center; box-shadow: 0 10px 24px #0002; }

.recognition-thoughts { position: relative; height: 610px; margin-top: 15px; }
.recognition-thoughts p {
  position: absolute;
  margin: 0;
  max-width: 390px;
  font-weight: 650;
  line-height: 1.38;
  letter-spacing: -.025em;
}
.recognition-thoughts p:nth-child(1) { top: 2%; left: 1%; max-width: 340px; color: #2c2926; font-size: 1.53rem; transform: rotate(-2deg); }
.recognition-thoughts p:nth-child(2) { top: 7%; left: 60%; max-width: 385px; color: #837970; font-size: 1.2rem; transform: rotate(1.5deg); }
.recognition-thoughts p:nth-child(3) { top: 27%; left: 27%; max-width: 385px; color: #544d47; font-size: 1.17rem; transform: rotate(1deg); }
.recognition-thoughts p:nth-child(4) { top: 40%; left: 65%; max-width: 365px; color: #985c38; font-size: 1.29rem; transform: rotate(-1.5deg); }
.recognition-thoughts p:nth-child(5) { top: 51%; left: 2%; max-width: 345px; color: #81766d; font-size: 1.17rem; transform: rotate(1.4deg); }
.recognition-thoughts p:nth-child(6) { top: 65%; left: 37%; max-width: 390px; color: #332e29; font-size: 1.33rem; transform: rotate(-1deg); }
.recognition-thoughts p:nth-child(7) { top: 83%; left: 8%; max-width: 375px; color: #978a7f; font-size: 1.02rem; transform: rotate(-1deg); }
.recognition-thoughts p:nth-child(8) { top: 83%; left: 77%; max-width: 255px; color: #566a4f; font-size: 1.53rem; transform: rotate(1.7deg); }
.recognition-summary { margin-top: 5px; }

.cycle-orbit { position: relative; width: min(100%, 1000px); height: 580px; margin: 48px auto 0; }
.cycle-orbit-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; color: #d7ae8d; }
.cycle-orbit-lines path { fill: none; stroke: currentColor; stroke-width: 2; marker-end: url(#orbit-arrow); }
.cycle-orbit-steps { margin: 0; padding: 0; list-style: none; }
.cycle-node {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 11px 15px;
  background: #32332d;
  text-align: center;
}
.cycle-node span { color: #e6bd9b; font-size: .7rem; font-weight: 800; letter-spacing: .14em; }
.cycle-node strong { color: #fffdfa; font-size: clamp(1.13rem, 1.7vw, 1.4rem); font-weight: 650; line-height: 1.25; }
.cycle-node small { color: #c9c9be; font-size: .78rem; line-height: 1.4; }
.cycle-node-one { top: 0; left: 50%; width: 350px; transform: translateX(-50%); }
.cycle-node-two { top: 48%; left: 86%; width: 215px; transform: translate(-50%, -50%); }
.cycle-node-three { bottom: 0; left: 50%; width: 360px; transform: translateX(-50%); }
.cycle-node-four { top: 48%; left: 14%; width: 210px; transform: translate(-50%, -50%); }
.cycle-core { position: absolute; top: 48%; left: 50%; width: 230px; margin: 0; transform: translate(-50%, -50%); color: #e6bd9b; text-align: center; font-family: var(--serif); font-size: 1.27rem; font-style: italic; line-height: 1.35; }
.cycle-core strong { font-weight: 400; }
.cycle-conclusion { margin-top: 13px; }

.includes-section { padding-top: 90px; padding-bottom: 90px; }
.includes-heading { display: block; margin-bottom: 42px; }
.includes-heading h2 { max-width: 820px; margin: 0; }
.includes-stages { display: grid; grid-template-columns: .95fr 1.3fr .95fr; gap: 42px; }
.includes-stage { padding-top: 17px; border-top: 1px solid #aebfac; }
.includes-stage span { display: block; margin-bottom: 13px; color: #667763; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.includes-stage strong { display: block; max-width: 330px; font-size: 1.2rem; font-weight: 750; line-height: 1.3; }
.includes-stage p { max-width: 380px; margin: 12px 0 0; color: #626c60; font-size: .86rem; line-height: 1.55; }

.results-list li { padding-left: 30px; }
.results-list li::before { content: '✳'; top: 11px; color: #718468; font-size: 1rem; }
.map-document { box-shadow: 0 20px 50px #48352515; }
.map-document::before { content: none; }
.map-fields span:nth-last-child(-n+2) { border-bottom: 0; }
.map-document-footer { padding-top: 0; border-top: 0; }

.education-inline { display: block; margin-top: 20px; padding-top: 32px; }
.education-inline > h3 { margin: 0 0 25px; font-size: 1.45rem; }
.education-content { display: grid; grid-template-columns: 1.3fr .85fr; gap: 45px; align-items: start; }
.credentials-list li { font-size: .88rem; }
.credentials-documents { justify-content: flex-start; }
.education-ongoing { max-width: 700px; margin: 27px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .88rem; }

@media (max-width: 980px) {
  .recognition-thoughts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 31px 45px; height: auto; }
  .recognition-thoughts p, .recognition-thoughts p:nth-child(n) { position: static; max-width: none; }
  .recognition-thoughts p:nth-child(even) { transform: translateY(16px) rotate(1.5deg); }
  .cycle-orbit { height: 540px; }
  .cycle-node-two { left: 84%; }
  .cycle-node-four { left: 16%; }
}
@media (max-width: 760px) {
  .includes-stages { grid-template-columns: 1fr; gap: 28px; }
  .includes-stage { padding-top: 16px; }
  .includes-stage span { margin-bottom: 7px; }
  .cycle-orbit { height: 540px; margin-top: 30px; }
  .cycle-node-one { width: 235px; }
  .cycle-node-two { left: 84%; width: 160px; }
  .cycle-node-three { width: 245px; }
  .cycle-node-four { left: 16%; width: 155px; }
  .cycle-node strong { font-size: .97rem; }
  .cycle-node small { font-size: .67rem; }
  .cycle-core { width: 120px; font-size: .95rem; }
  .education-content { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 600px) {
  .recognition-thoughts { display: flex; flex-direction: column; align-items: stretch; gap: 29px; margin: 8px 0 42px; }
  .recognition-thoughts p, .recognition-thoughts p:nth-child(n) { width: 84%; max-width: none; transform: none; }
  .recognition-thoughts p:nth-child(2), .recognition-thoughts p:nth-child(5), .recognition-thoughts p:nth-child(8) { align-self: flex-end; }
  .recognition-thoughts p:nth-child(4), .recognition-thoughts p:nth-child(7) { margin-left: 8%; }
  .recognition-thoughts p:nth-child(1) { font-size: 1.28rem; }
  .recognition-thoughts p:nth-child(8) { font-size: 1.35rem; }
  .cycle-orbit { height: 510px; }
  .cycle-node { gap: 3px; padding: 8px 4px; }
  .cycle-node-one { top: 1%; width: 220px; }
  .cycle-node-two { top: 46%; left: 81%; width: 126px; }
  .cycle-node-three { bottom: 0; width: 245px; }
  .cycle-node-four { top: 46%; left: 19%; width: 125px; }
  .cycle-node strong { font-size: .89rem; }
  .cycle-node small { font-size: .61rem; }
  .cycle-core { top: 53%; width: 92px; font-size: .78rem; }
  .map-fields span:nth-last-child(-n+2) { border-bottom: 1px solid #e2d8ce; }
  .map-fields span:last-child { border-bottom: 0; }
}

/* Make the review blocks easier to scan while keeping their open visual rhythm. */
.recognition-thoughts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: minmax(128px, auto);
  column-gap: 8%;
  row-gap: 10px;
  height: auto;
  margin: 12px 0 18px;
}
.recognition-thoughts p,
.recognition-thoughts p:nth-child(n) {
  position: static;
  width: auto;
  max-width: 440px;
  margin: 0;
  align-self: center;
  transform: none;
}
.recognition-thoughts p:nth-child(even) { padding-top: 22px; }
.recognition-thoughts p:nth-child(7) { color: #756a61; }
.recognition-intro { display: block; max-width: 800px; margin-bottom: 30px; }
.recognition-intro h2 { margin-bottom: 13px; }
.recognition-intro .heading-aside { max-width: 640px; margin: 0; font-size: 1rem; line-height: 1.6; }
.recognition-question { margin: 34px 0 16px; font-family: Sora, Manrope, Arial, sans-serif; font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
.recognition-question + .recognition-summary { margin-top: 0; }

.cycle-core {
  top: 13%;
  left: 1%;
  width: 185px;
  transform: none;
  color: #d7ae8d;
  text-align: left;
  font-family: Manrope, Arial, sans-serif;
  font-size: .82rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.45;
}
.cycle-core::before { content: '↺'; display: block; margin-bottom: 4px; font-family: Arial, sans-serif; font-size: 1.4rem; line-height: 1; }

.includes-section { padding-top: 60px; padding-bottom: 62px; }
.includes-heading { margin-bottom: 27px; }
.includes-stages { gap: 28px; }
.includes-stage { min-height: 94px; }
.includes-stage span { margin-bottom: 9px; }

.credentials-documents { gap: 20px; }
.credentials-documents a { width: 156px; font-size: .73rem; }
.credentials-documents img { width: 156px; height: 126px; }

.faq-section { background: #e6ebe1; padding-top: 84px; padding-bottom: 90px; }
.faq-inner { width: min(100%, var(--container)); margin: auto; }
.faq-section .section-heading { margin-bottom: 24px; }
.faq-list { border-top: 1px solid #b9c5b5; }
.faq-item { border-bottom: 1px solid #b9c5b5; }
.faq-item summary {
  position: relative;
  display: block;
  padding: 23px 50px 23px 0;
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; position: absolute; right: 5px; top: 18px; color: #566a4f; font-size: 1.65rem; font-weight: 400; }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:focus-visible { outline: 3px solid #566a4f; outline-offset: 4px; }
.faq-item p { max-width: 750px; margin: -4px 0 24px; color: #535f50; font-size: .94rem; }

@media (max-width: 980px) {
  .recognition-thoughts { column-gap: 6%; }
  .recognition-thoughts p:nth-child(n) { max-width: none; }
}
@media (max-width: 760px) {
  .cycle-core { top: 17%; left: 1%; width: 120px; font-size: .72rem; }
  .cycle-node strong { font-size: 1.04rem; }
  .cycle-node small { font-size: .75rem; }
  .includes-stages { gap: 18px; }
  .includes-stage { min-height: 0; }
}
@media (max-width: 600px) {
  .recognition-intro { margin-bottom: 25px; }
  .recognition-intro .heading-aside { font-size: .94rem; }
  .recognition-thoughts { display: flex; flex-direction: column; gap: 23px; margin: 9px 0 34px; }
  .recognition-thoughts p:nth-child(n) { width: 94%; align-self: flex-start; }
  .recognition-thoughts p:nth-child(even) { align-self: flex-end; padding-top: 0; }
  .recognition-thoughts p:nth-child(4), .recognition-thoughts p:nth-child(7) { margin-left: 0; }
  .recognition-question { margin: 20px 0 14px; font-size: 2.55rem; }
  .cycle-orbit { height: 550px; margin-bottom: 64px; }
  .cycle-node-one { width: 250px; }
  .cycle-node-two { left: 82%; width: 132px; }
  .cycle-node-three { width: 260px; }
  .cycle-node-four { left: 18%; width: 132px; }
  .cycle-node strong { font-size: 1rem; }
  .cycle-node small { font-size: .78rem; }
  .cycle-core { top: auto; bottom: -62px; left: 0; width: 100%; font-size: .78rem; text-align: center; }
  .cycle-core::before { display: inline; margin: 0 6px 0 0; font-size: 1.05rem; }
  .credentials-documents a { width: 145px; }
  .credentials-documents img { width: 145px; height: 118px; }
  .faq-section { padding-top: 66px; padding-bottom: 70px; }
  .faq-item summary { font-size: .98rem; padding-right: 34px; }
}

/* Each diploma photo and its qualification form one clickable item. */
.credential-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 900px;
}
.credential-card {
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffdfa;
  color: var(--ink);
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.credential-card:hover {
  border-color: #aebfa8;
  box-shadow: 0 14px 32px #48352512;
  transform: translateY(-2px);
}
.credential-card:focus-visible { outline: 3px solid #566a4f; outline-offset: 4px; }
.credential-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 225px;
  padding: 13px;
  border-radius: 12px;
  background: #f2eee8;
}
.credential-card-media img { width: 100%; height: 100%; object-fit: contain; }
.credential-card-caption { display: flex; flex-direction: column; gap: 6px; padding: 0 3px 4px; }
.credential-card-caption strong { font-size: 1.08rem; line-height: 1.35; }
.credential-card-caption > span:not(.credential-card-open) { color: var(--muted); font-size: .82rem; }
.credential-card-open { display: inline-flex; gap: 7px; align-items: center; margin-top: 10px; color: #566a4f; font-size: .82rem; font-weight: 800; }
.credential-card:hover .credential-card-open { text-decoration: underline; text-underline-offset: 4px; }
.education-ongoing { max-width: 900px; }

@media (max-width: 760px) {
  .credential-cards { grid-template-columns: 1fr; max-width: 470px; }
  .credential-card-media { height: 220px; }
}

.results-possibilities { align-self: center; }
.results-possibilities > p { margin: 0 0 17px; color: #625850; font-size: .91rem; font-weight: 650; line-height: 1.55; }
.price-card > .price-per-session {
  margin: 17px 0 0;
  padding: 13px 14px;
  border-radius: 10px;
  background: #edf1e9;
  color: #465942;
  font-size: .83rem;
  line-height: 1.5;
}
.price-per-session b { font-weight: 800; }
.price-card > .price-installments { margin-top: 16px; }

/* Compact eligibility list. */
.fit-section .section-heading { margin-bottom: 30px; }
.fit-content { max-width: 850px; }
.fit-content h3 { margin: 0 0 19px; font-size: 1.22rem; line-height: 1.4; }
.fit-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d9cdc0; }
.fit-list li { padding: 17px 0; border-bottom: 1px solid #d9cdc0; font-size: 1rem; font-weight: 650; line-height: 1.55; }
.fit-alternative { max-width: 780px; margin: 26px 0 0; color: #625850; font-size: .91rem; line-height: 1.65; }
.fit-care-note { max-width: 780px; margin: 16px 0 0; color: #766d65; font-size: .78rem; line-height: 1.6; }

@media (max-width: 500px) {
  .fit-section .section-heading { margin-bottom: 25px; }
  .fit-content h3 { font-size: 1.08rem; }
  .fit-list li { padding: 15px 0; font-size: .92rem; }
  .fit-alternative { margin-top: 22px; font-size: .87rem; }
}
