/* Teaching uses the shared medium-plum, pink and cyan studio design. */
.teaching-hero { height: 760px; min-height: 760px; }
.teaching-hero h1 { font-size: clamp(100px,10.4vw,150px); }
.teaching-hero .hero-content { padding-top: 12px; padding-bottom: 60px; }
.teaching-hero .hero-description { max-width: 640px; font-size: 18px; }
.teaching-hero .hero-image img { object-position: 74% 35%; }
.teaching-hero::before { background: linear-gradient(90deg,#353044f5,#353044d9 32%,#35304470 58%,#35304414 87%),linear-gradient(0deg,var(--bg),#45435200 35%); }
.teaching-proof { display: flex; gap: 38px; max-width: 600px; margin-top: 29px; padding-top: 22px; border-top: 1px solid #b9b0ce66; }
.teaching-proof > div { display: grid; gap: 5px; }
.teaching-proof strong { font: 700 42px/1 var(--heading); color: var(--cyan); }
.teaching-proof span { color: var(--text); font-size: 13px; line-height: 1.5; }
.teaching-tutor-label { position: absolute; right: max(var(--gutter),calc((100vw - 1450px)/2)); bottom: 105px; display: grid; gap: 7px; padding: 18px 22px; border-right: 2px solid var(--cyan); background: #353044bb; backdrop-filter: blur(8px); }
.teaching-tutor-label strong { font: 700 35px/1 var(--heading); }
.teaching-tutor-label span { font-size: 11px; letter-spacing: .08em; color: var(--muted); }
.teaching-jump { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 25px; padding-block: 24px; border-bottom: 1px solid #b9b0ce55; }
.teaching-jump a { display: flex; gap: 20px; font-size: 15px; font-weight: 600; padding-block: 5px; }
.teaching-jump a span { color: var(--pink-text); font-size: 12px; }
.teaching-jump a:hover { color: var(--cyan); }
.teaching-page section[id] { scroll-margin-top: 105px; }
.teaching-about { padding-block: 80px; }
.teaching-about-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: center; }
.teaching-portraits { position: relative; padding: 0 50px 55px 0; }
.teaching-portrait,.teaching-city,.teaching-live-gallery figure,.teaching-students-grid figure { margin: 0; overflow: hidden; }
.teaching-portrait { position: relative; border: 1px solid #ff47be99; border-left: 2px solid var(--pink); border-radius: 7px; }
.teaching-portrait > img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.teaching-portrait figcaption { position: absolute; bottom: 20px; left: 20px; padding: 8px 12px; color: white; background: #353044bb; font-size: 12px; letter-spacing: .08em; }
.teaching-city { position: absolute; width: 38%; right: 0; bottom: 0; border: 2px solid var(--cyan); border-radius: 5px; box-shadow: 0 0 22px #54e7f222; }
.teaching-city img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.teaching-about-copy > .eyebrow { color: var(--cyan); font-size: 13px; margin-bottom: 22px; }
.teaching-about h2 { font-size: clamp(56px,5.6vw,80px); }
.teaching-page h2 > span { color: var(--pink-text); }
.teaching-about-copy p { margin-top: 23px; font-size: 17px; line-height: 1.9; color: var(--muted); }
.teaching-about-copy blockquote { margin: 26px 0; border-left: 2px solid var(--cyan); padding: 12px 0 12px 22px; font-size: 19px; line-height: 1.75; color: var(--text); }
.teaching-about-copy .text-link { color: var(--cyan); }
.teaching-live-gallery { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; margin-top: 65px; }
.teaching-live-gallery figure { position: relative; border: 1px solid #ff47be77; border-radius: 6px; }
.teaching-live-gallery figure:nth-child(2) { border-color: #54e7f277; }
.teaching-live-gallery img { width: 100%; height: 380px; object-fit: cover; object-position: 50% 35%; }
.teaching-live-gallery figcaption { position: absolute; bottom: 18px; left: 18px; right: 18px; padding: 10px 13px; background: #353044c9; font-size: 12px; letter-spacing: .08em; }
.teaching-offers { padding-block: 75px; border-block: 1px solid #b9b0ce44; background: radial-gradient(ellipse at 100% 0,#ff47be12,transparent 50%),#4d465b; }
.teaching-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; margin-bottom: 42px; }
.teaching-section-heading h2 { font-size: clamp(53px,5.7vw,81px); }
.teaching-section-heading > p { max-width: 420px; color: var(--muted); font-size: 17px; line-height: 1.85; }
.teaching-offer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.teaching-offer { display: flex; flex-direction: column; min-width: 0; padding: 35px; background: linear-gradient(140deg,#66506e55,#51495f); border: 1px solid #ff47be99; border-left: 3px solid var(--pink); border-radius: 7px; box-shadow: -3px 0 20px #ff47be15; }
.teaching-offer-production { background: linear-gradient(140deg,#4e637244,#51495f); border-color: #54e7f299; border-left-color: var(--cyan); box-shadow: -3px 0 20px #54e7f215; }
.teaching-offer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; letter-spacing: .07em; color: var(--muted); }
.teaching-offer-top > span:first-child { color: var(--pink-text); border: 1px solid #ff47be77; padding: 5px 9px; }
.teaching-offer-production .teaching-offer-top > span:first-child { color: var(--cyan); border-color: #54e7f277; }
.teaching-offer-number { color: var(--muted); font-size: 13px; margin-top: 28px; }
.teaching-offer h3 { font: 700 clamp(44px,4.3vw,64px)/.96 var(--heading); letter-spacing: -.015em; margin-top: 12px; }
.teaching-offer > p { font-size: 17px; line-height: 1.85; color: var(--muted); margin-top: 24px; max-width: 500px; }
.teaching-offer ul { padding-left: 20px; margin-block: 26px 34px; font-size: 16px; line-height: 1.85; }
.teaching-offer li { padding-left: 3px; margin-bottom: 8px; }
.teaching-offer li::marker { color: var(--pink-text); }
.teaching-offer-production li::marker { color: var(--cyan); }
.teaching-price-row { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin-top: auto; padding-top: 25px; border-top: 1px solid #b9b0ce55; }
.teaching-price-row > div { display: grid; gap: 9px; }
.teaching-price-row > div > span { color: var(--muted); font-size: 12px; letter-spacing: .08em; }
.teaching-price-row strong { font: 700 clamp(54px,5vw,72px)/1 var(--heading); }
.teaching-price-row .button { font-size: 15px; padding: 15px 19px; gap: 22px; }
.teaching-curriculum-link { font-size: 14px; color: var(--cyan); text-decoration: underline; text-underline-offset: 5px; margin-top: 24px; }
.teaching-individual { grid-column: span 2; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 35px; padding: 34px; border: 1px solid #b9b0ce77; border-radius: 7px; background: #51495f; }
.teaching-individual .eyebrow { color: var(--cyan); font-size: 12px; }
.teaching-individual h3 { font: 700 37px/1 var(--heading); margin-top: 15px; }
.teaching-individual p { font-size: 16px; color: var(--muted); line-height: 1.8; max-width: 570px; margin-top: 15px; }
.teaching-hourly { display: grid; gap: 8px; white-space: nowrap; }
.teaching-hourly strong { font: 700 64px/1 var(--heading); }
.teaching-hourly span { font-size: 12px; color: var(--muted); letter-spacing: .08em; }
.teaching-individual .button { font-size: 15px; gap: 26px; }
.teaching-payment-note { color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 25px; }
.teaching-curriculum { padding-block: 80px; }
.teaching-course-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; align-items: start; }
.teaching-course { min-width: 0; border: 1px solid #ff47be99; border-radius: 7px; background: #51495f; overflow: hidden; }
.teaching-course-production { border-color: #54e7f299; }
.teaching-course > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 27px 30px; cursor: pointer; list-style: none; border-bottom: 1px solid transparent; }
.teaching-course > summary::-webkit-details-marker { display: none; }
.teaching-course[open] > summary { border-bottom-color: #b9b0ce55; }
.teaching-course summary > span { display: grid; gap: 10px; }
.teaching-course summary small { color: var(--pink-text); font-size: 12px; letter-spacing: .12em; }
.teaching-course-production summary small { color: var(--cyan); }
.teaching-course summary strong { font: 700 clamp(30px,3vw,43px)/1.05 var(--heading); text-transform: uppercase; }
.teaching-course summary em { font-style: normal; color: var(--muted); font-size: 14px; }
.teaching-course summary svg { width: 20px; height: 20px; color: var(--cyan); transition: transform .2s; }
.teaching-course[open] > summary svg { transform: rotate(180deg); }
.teaching-course-intro { padding: 28px 30px; background: #63517022; border-bottom: 1px solid #b9b0ce55; }
.teaching-course-intro h3 { font-size: 18px; line-height: 1.5; }
.teaching-course-intro p { margin-top: 14px; font-size: 16px; color: var(--muted); line-height: 1.8; }
.teaching-course-intro > span { display: block; color: var(--cyan); font-size: 13px; margin-top: 18px; }
.teaching-module { padding: 28px 30px; border-bottom: 1px solid #b9b0ce55; }
.teaching-module-heading { display: flex; align-items: flex-start; gap: 18px; }
.teaching-module-heading > span { color: var(--pink-text); font-size: 14px; padding-top: 2px; }
.teaching-course-production .teaching-module-heading > span { color: var(--cyan); }
.teaching-module h3 { font-size: 21px; line-height: 1.4; }
.teaching-module-heading p { color: var(--muted); font-size: 14px; margin-top: 7px; }
.teaching-module ul { padding-left: 21px; margin: 23px 0 0; color: var(--muted); font-size: 16px; line-height: 1.85; }
.teaching-module li { margin-bottom: 9px; padding-left: 3px; }
.teaching-module li::marker { color: var(--pink-text); }
.teaching-course-production li::marker { color: var(--cyan); }
.teaching-course-action { padding: 26px 30px; color: var(--cyan); }
.teaching-process { padding-block: 70px; background: #4d465b; border-block: 1px solid #b9b0ce44; }
.teaching-process .eyebrow { color: var(--cyan); font-size: 13px; margin-bottom: 22px; }
.teaching-process h2 { font-size: clamp(47px,5vw,72px); }
.teaching-steps { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; padding: 0; margin: 40px 0 0; }
.teaching-steps li { border-top: 1px solid #54e7f277; padding-top: 23px; }
.teaching-steps li > span { color: var(--pink-text); font: 700 42px/1 var(--heading); }
.teaching-steps h3 { font-size: 20px; margin-top: 20px; }
.teaching-steps p { color: var(--muted); font-size: 16px; line-height: 1.85; margin-top: 16px; }
.teaching-students { padding-block: 75px; }
.teaching-students-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.teaching-students-lead { display: flex; flex-direction: column; justify-content: center; padding: 15px 20px 20px 0; }
.teaching-students-lead .eyebrow { font-size: 12px; color: var(--cyan); margin-bottom: 23px; }
.teaching-students-lead h2 { font-size: clamp(40px,4.3vw,61px); }
.teaching-students-lead p { font-size: 16px; color: var(--muted); line-height: 1.85; margin-top: 23px; }
.teaching-students-grid figure { border: 1px solid #ff47be88; border-radius: 5px; background: #51495f; }
.teaching-students-grid figure:nth-child(2n) { border-color: #54e7f288; }
.teaching-students-grid img { width: 100%; height: 100%; aspect-ratio: 3/2; object-fit: cover; transition: filter .25s; }
.teaching-students-grid figure:hover img { filter: brightness(1.08); }
.teaching-guarantee { padding-block: 65px; border-block: 1px solid #ff47be77; background: radial-gradient(ellipse at 0 70%,#ff47be17,transparent 60%),#51495f; }
.teaching-guarantee-grid { display: grid; grid-template-columns: minmax(200px,.6fr) minmax(0,1.4fr); gap: 65px; align-items: center; }
.teaching-guarantee-mark { display: block; color: var(--cyan); font: 700 clamp(100px,11vw,158px)/1 var(--heading); }
.teaching-guarantee .eyebrow { margin-top: 20px; color: var(--muted); font-size: 12px; line-height: 1.8; max-width: 245px; }
.teaching-guarantee h2 { font-size: clamp(43px,4.8vw,68px); }
.teaching-guarantee p { color: var(--muted); font-size: 17px; line-height: 1.85; margin-top: 25px; }
.teaching-guarantee .teaching-refund-example { padding: 18px 20px; border-left: 2px solid var(--cyan); background: #54e7f208; font-size: 16px; }
.teaching-refund-example strong { color: var(--text); }
.teaching-guarantee .inline-link { display: inline-block; font-size: 15px; margin-top: 23px; }
.teaching-faq { padding-block: 80px; }
.teaching-faq-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 75px; align-items: start; }
.teaching-faq-intro h2 { font-size: clamp(50px,5vw,72px); }
.teaching-faq-intro > p { color: var(--muted); font-size: 17px; line-height: 1.85; margin-top: 24px; }
.teaching-faq-intro .teaching-notice { font-size: 16px; padding: 20px; border: 1px solid #54e7f266; border-left: 2px solid var(--cyan); background: #54e7f208; }
.teaching-notice strong { color: var(--text); }
.teaching-faq-intro .text-link { margin-top: 26px; color: var(--cyan); }
.teaching-faq-list details { border-top: 1px solid #b9b0ce77; }
.teaching-faq-list details:last-child { border-bottom: 1px solid #b9b0ce77; }
.teaching-faq-list summary { display: flex; align-items: flex-start; gap: 15px; padding: 23px 0; cursor: pointer; list-style: none; font-size: 17px; line-height: 1.7; font-weight: 600; }
.teaching-faq-list summary::-webkit-details-marker { display: none; }
.teaching-question-number { font-size: 12px; color: var(--pink-text); padding-top: 4px; }
.teaching-faq-list summary > span:nth-child(2) { flex: 1; }
.teaching-faq-list summary > svg { width: 19px; height: 19px; margin-top: 5px; color: var(--cyan); transition: transform .2s; }
.teaching-faq-list details[open] summary > svg { transform: rotate(45deg); }
.teaching-faq-list details[open] summary { color: var(--pink-text); }
.teaching-faq-list details > div { padding: 0 10px 25px 33px; color: var(--muted); font-size: 16px; line-height: 1.9; }
.teaching-booking { position: relative; overflow: hidden; padding-block: 75px; background: radial-gradient(ellipse at 90% 10%,#54e7f21c,transparent 55%),linear-gradient(120deg,#59405f,#403b50); border-top: 1px solid #ff47be77; }
.teaching-booking .eyebrow { font-size: 13px; color: var(--cyan); }
.teaching-booking h2 { margin-top: 25px; font-size: clamp(70px,9vw,130px); }
.teaching-booking p { color: var(--muted); font-size: 18px; margin-top: 28px; max-width: 650px; line-height: 1.85; }
.teaching-booking-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 30px; }
.teaching-booking-actions .button { font-size: 15px; gap: 28px; }
.teaching-booking-actions .text-link { color: var(--cyan); padding: 15px 0; }
.teaching-booking .teaching-location { margin-top: 35px; font-size: 12px; letter-spacing: .1em; }
@media(max-width:1100px) { .teaching-about-grid { gap: 40px; } .teaching-live-gallery img { height: 320px; } .teaching-offer { padding: 29px; } .teaching-individual { gap: 25px; } .teaching-faq-grid { gap: 40px; } .teaching-steps { gap: 22px; } }
@media(max-width:1000px) { .teaching-tutor-label { display: none; } .teaching-section-heading { gap: 30px; } .teaching-section-heading > p { max-width: 350px; } .teaching-course-columns { gap: 20px; } .teaching-course > summary,.teaching-course-intro,.teaching-module,.teaching-course-action { padding-inline: 23px; } .teaching-students-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .teaching-guarantee-grid { gap: 35px; } }
@media(max-width:800px) {
  .teaching-about-grid { grid-template-columns: 1fr; gap: 40px; }
  .teaching-portraits { max-width: 580px; }
  .teaching-section-heading { display: block; }
  .teaching-section-heading > p { max-width: 600px; margin-top: 25px; }
  .teaching-offer-grid,.teaching-course-columns { grid-template-columns: 1fr; }
  .teaching-individual { grid-column: auto; grid-template-columns: minmax(0,1fr) auto; }
  .teaching-individual > .button { grid-column: span 2; justify-self: start; }
  .teaching-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .teaching-guarantee-grid,.teaching-faq-grid { grid-template-columns: 1fr; gap: 35px; }
  .teaching-guarantee-grid > div:first-child { display: flex; align-items: center; gap: 30px; }
  .teaching-guarantee .eyebrow { margin-top: 0; max-width: 245px; }
}
@media(max-width:650px) {
  .teaching-hero { height: 830px; min-height: 830px; }
  .teaching-hero .hero-content { padding-top: 53px; padding-bottom: 90px; }
  .teaching-hero h1 { font-size: clamp(78px,21vw,103px); }
  .teaching-hero .hero-eyebrow { font-size: 11px; letter-spacing: .08em; gap: 6px; }
  .teaching-hero .hero-description { font-size: 17px; max-width: 345px; line-height: 1.85; }
  .teaching-hero .hero-image img { object-position: 72% 50%; }
  .teaching-hero::before { background: linear-gradient(90deg,#353044f0,#353044bb 65%,#35304475),linear-gradient(0deg,var(--bg),#45435200 40%); }
  .teaching-hero .hero-actions { gap: 20px; flex-wrap: wrap; }
  .teaching-hero .hero-actions .text-link { font-size: 14px; }
  .teaching-proof { gap: 20px; justify-content: space-between; margin-top: 27px; padding-top: 21px; }
  .teaching-proof strong { font-size: 38px; }
  .teaching-proof span { font-size: 12px; max-width: 96px; }
  .teaching-jump { justify-content: flex-start; gap: 9px 22px; padding-block: 20px; }
  .teaching-jump a { gap: 9px; font-size: 14px; }
  .teaching-jump a span { font-size: 11px; }
  .teaching-about { padding-block: 50px; }
  .teaching-about .section-label,.teaching-offers .section-label,.teaching-curriculum .section-label,.teaching-students .section-label,.teaching-faq .section-label { flex-direction: column; gap: 8px; }
  .teaching-page .section-label > span:last-child { text-align: left; }
  .teaching-portraits { padding: 0 30px 40px 0; }
  .teaching-portrait figcaption { left: 14px; bottom: 14px; font-size: 10px; padding: 7px 9px; }
  .teaching-about h2 { font-size: 59px; }
  .teaching-about-copy > .eyebrow { font-size: 12px; }
  .teaching-about-copy p { font-size: 16px; }
  .teaching-about-copy blockquote { font-size: 18px; padding-left: 18px; }
  .teaching-live-gallery { grid-template-columns: 1fr; gap: 16px; margin-top: 40px; }
  .teaching-live-gallery img { height: 300px; }
  .teaching-live-gallery figcaption { font-size: 11px; }
  .teaching-offers { padding-block: 50px; }
  .teaching-section-heading h2 { font-size: 58px; }
  .teaching-section-heading > p { font-size: 16px; }
  .teaching-offer { padding: 28px 23px; }
  .teaching-offer h3 { font-size: 52px; }
  .teaching-offer > p { font-size: 16px; }
  .teaching-offer ul { margin-block: 23px 30px; }
  .teaching-price-row { align-items: flex-start; }
  .teaching-price-row strong { font-size: 64px; }
  .teaching-price-row .button { margin-top: 5px; }
  .teaching-individual { padding: 28px 23px; gap: 25px 15px; }
  .teaching-individual > div:first-child { grid-column: span 2; }
  .teaching-hourly strong { font-size: 58px; }
  .teaching-individual > .button { grid-column: 2; grid-row: 2; justify-self: end; padding-inline: 16px; gap: 15px; }
  .teaching-curriculum,.teaching-students,.teaching-faq { padding-block: 50px; }
  .teaching-course summary strong { font-size: 34px; }
  .teaching-course > summary { padding-block: 25px; }
  .teaching-module h3 { font-size: 21px; }
  .teaching-module-heading { gap: 12px; }
  .teaching-module ul { padding-left: 20px; }
  .teaching-process { padding-block: 50px; }
  .teaching-process h2 { font-size: 50px; }
  .teaching-steps { grid-template-columns: 1fr; gap: 25px; margin-top: 32px; }
  .teaching-steps li { padding-top: 20px; }
  .teaching-steps h3 { margin-top: 16px; }
  .teaching-steps p { margin-top: 12px; }
  .teaching-students-grid { grid-template-columns: 1fr; gap: 17px; }
  .teaching-students-lead { padding: 0 0 15px; }
  .teaching-students-lead h2 { font-size: 58px; }
  .teaching-students-lead p { margin-top: 21px; }
  .teaching-guarantee { padding-block: 48px; }
  .teaching-guarantee-mark { font-size: 105px; }
  .teaching-guarantee-grid > div:first-child { gap: 25px; }
  .teaching-guarantee .eyebrow { font-size: 11px; }
  .teaching-guarantee h2 { font-size: 46px; }
  .teaching-guarantee p { font-size: 16px; }
  .teaching-faq-intro h2 { font-size: 59px; }
  .teaching-faq-intro > p { font-size: 16px; }
  .teaching-faq-list summary { font-size: 16px; gap: 11px; padding-block: 22px; }
  .teaching-faq-list details > div { padding-left: 26px; padding-right: 0; }
  .teaching-booking { padding-block: 55px; }
  .teaching-booking h2 { font-size: 81px; }
  .teaching-booking p { font-size: 17px; }
  .teaching-booking-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .teaching-booking-actions .button { min-width: 275px; }
}
@media print { .teaching-page { background: white; color: #111; } .teaching-jump,.teaching-portraits,.teaching-live-gallery,.teaching-students,.teaching-booking,.teaching-course-action,.teaching-curriculum-link { display: none; } .teaching-about-grid,.teaching-course-columns,.teaching-faq-grid,.teaching-guarantee-grid { display: block; } .teaching-page section { padding-block: 25px; background: white; border-color: #888; } .teaching-offer,.teaching-individual,.teaching-course { background: white; border-color: #888; box-shadow: none; } .teaching-page h2 span,.teaching-page p,.teaching-page li,.teaching-page .eyebrow,.teaching-page .teaching-payment-note,.teaching-page .teaching-question-number,.teaching-guarantee-mark,.teaching-page a,.teaching-module-heading > span,.teaching-module-heading p,.teaching-course summary small,.teaching-course summary em,.teaching-course-intro > span,.teaching-hourly span,.teaching-price-row > div > span { color: #111; } .teaching-offer .button,.teaching-individual .button { display: none; } .teaching-offer h3 { font-size: 35px; } .teaching-module { break-inside: avoid; } }
