/* QTASS frontend patterns. Reuse existing typography, palette and interaction engines. */
.qtass-institute { --qt-section-space: clamp(56px,7vw,100px); --qt-gap: clamp(24px,4vw,64px); --qt-card-line: 1px solid rgba(82,40,60,.12); }
.qtass-institute .qtass-section { padding-block: var(--qt-section-space); }
.qt-split { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: center; gap: var(--qt-gap); }
.qt-split > *, .qt-booking-layout > *, .qt-workshop-card > * { min-width: 0; }
.qtass-institute .qtass-hero { background: var(--qtass-plum-950); color: var(--qtass-ivory); }
.qtass-institute .qtass-hero .eyebrow { color: var(--qtass-gold-300); }
.qtass-institute .qtass-hero h1 { font-size: var(--fs-h1); line-height: 1.12; }
.qtass-institute .qtass-home-hero { min-height: 78svh; padding-block: clamp(64px,8vw,116px); }
.qt-home-hero__copy > p { max-width: 600px; }
.qtass-home-hero__subtitle { font-family: var(--font-heading); font-size: var(--fs-h3); line-height: 1.35; }
.qtass-hero .qt-brand-line { font-size: var(--fs-label); letter-spacing: .12em; color: var(--qtass-gold-300); margin: 28px 0; }
.qtass-hero .qt-home-hero__statement { font-size: var(--fs-body-lg); max-width: 520px; }
.qtass-hero__actions { gap: 14px; flex-wrap: wrap; }
.qtass-hero .button--gold::after { content: none; }
.qt-home-hero__visual, .qt-editorial-hero__visual, .qt-editorial-image, .qt-founder-portrait { margin: 0; }
.qt-editorial-hero__visual { max-width: 100%; }
.qt-home-hero__visual img, .qt-editorial-hero__visual img, .qt-editorial-image img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 160px 160px 14px 14px; }
.qt-home-hero__visual img { border-radius: 50% 50% 8px 8px; }
.qt-home-hero__visual figcaption { margin-top: 20px; font-size: var(--fs-meta); color: #d7c7d0; text-align: center; }
.qt-editorial-hero { padding-block: clamp(60px,7vw,100px); }
.qt-editorial-hero--coaching .qt-editorial-hero__visual img { border-radius: 18px; }
.qt-editorial-hero--workshop .qt-editorial-hero__visual img { border-radius: 50%; aspect-ratio: 1; }
.qt-brand-statement .site-shell { max-width: 880px; text-align: center; }
.qt-brand-statement .prose { margin: 0 auto; font-size: var(--fs-body-lg); }
.qt-service-entry-visual { margin: -24px -24px 24px; overflow: hidden; aspect-ratio: 4/3; }
.qt-service-entry-visual img { width: 100%; height: 100%; object-fit: cover; }
.qtass-service-grid--five { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; }
.qtass-service-grid--four .qtass-service-entry { padding: 24px; overflow: hidden; border-radius: 12px; display: flex; flex-direction: column; }
.qtass-service-grid--four h3 { font-size: var(--fs-h4); line-height: 1.3; }
.qtass-service-grid--four p { font-size: var(--fs-body); }
.qtass-service-grid--four .text-link { margin-top: auto; padding-top: 14px; }
.qt-home-reading h2, .qt-home-coaching h2 { max-width: 600px; }
.qt-values-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 40px; }
.qt-values-list article { border-top: var(--qt-card-line); padding-top: 24px; }
.qt-values-list__number { display: block; color: var(--qtass-gold-500); font-family: var(--font-heading); font-size: var(--fs-h2); margin-bottom: 22px; }
.qt-values-list h3 { font-size: var(--fs-h4); line-height: 1.35; }
.qt-values-list p { color: var(--muted); }
.qt-vision-mission { display: grid; grid-template-columns: 1fr 1fr; gap: var(--qt-gap); }
.qt-about-hero { text-align: center; min-height: 420px; display: grid; align-items: center; }
.qt-about-hero p { margin-inline: auto; }
.qtass-institute:not(.qtass-restored-layout) .home-instructor { background: #fcfaf7; }
.qtass-institute:not(.qtass-restored-layout) .home-instructor::before, .qtass-institute:not(.qtass-restored-layout) .home-instructor::after { content: none; }
.qtass-founder-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: var(--qt-gap); }
.qt-founder-portrait img { width: 100%; height: auto; display: block; border-radius: 180px 180px 12px 12px; max-height: 560px; object-fit: cover; }
.qt-founder-portrait figcaption { color: var(--muted); font-size: var(--fs-meta); margin-top: 14px; }
.qt-inquiry-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; margin-top: 42px; }
.qt-inquiry-grid article { padding: 28px 0; border-top: var(--qt-card-line); }
.qt-inquiry-grid h3 { font-size: var(--fs-h4); margin-top: 20px; }
.qt-inquiry-grid p { margin-bottom: 0; color: var(--muted); }
.qt-inquiry-number { font-size: var(--fs-meta); color: var(--qtass-gold-500); }
.qtass-service-catalog h2 { margin-bottom: 36px; }
.qtass-institute .qtass-service-list { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
.qtass-service-card--reading .qtass-service-card__image { aspect-ratio: 16/7; }
.qtass-service-card__image img { width: 100%; height: 100%; object-fit: cover; }
.qtass-service-card h3 { font-size: var(--fs-h3); }
.qtass-service-card__body { display: flex; flex-direction: column; gap: 14px; padding: clamp(24px,3vw,36px); }
.qtass-service-card__body > * { margin: 0; }
.qtass-service-card__body .button { align-self: start; margin-top: auto; }
.qtass-service-price { color: var(--qtass-plum-900); font-family: var(--font-heading); font-size: var(--fs-h3); line-height: 1.25; margin-block: 16px; }
.qtass-hero .qtass-service-price { color: var(--qtass-ivory); }
.qtass-service-card--coaching { background: #fcfaf7; border-top: 3px solid var(--qtass-plum-700); }
.qt-coaching-count { font-family: var(--font-heading); font-size: var(--fs-display); color: var(--qtass-plum-800); line-height: 1.2; }
.qt-coaching-count span { font-family: var(--font-body); font-size: var(--fs-body); }
.qt-coaching-context article { padding: 32px; border: var(--qt-card-line); background: rgba(255,255,255,.45); border-radius: 14px; }
.qt-coaching-context ul { padding-left: 20px; }
.qt-coaching-context li { margin-bottom: 15px; }
.qt-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 44px; }
.qt-methods h3 { font-size: var(--fs-h4); margin-top: 22px; }
.qt-methods__line { display: block; width: 48px; height: 2px; background: var(--qtass-gold-500); }
.qt-process-list { list-style: none; padding: 0; margin: 44px 0 24px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 28px; }
.qt-process-list li { padding-top: 22px; border-top: var(--qt-card-line); }
.qt-process-list span { font-family: var(--font-heading); color: var(--qtass-gold-500); font-size: var(--fs-h2); }
.qt-process-list h3 { font-size: var(--fs-h4); margin: 22px 0 0; }
.qt-reading-process__note { color: var(--muted); font-size: var(--fs-body-sm); }
.qt-question-bank__list details, .qt-workshop-faq details { border-bottom: var(--qt-card-line); padding: 20px 0; }
.qt-question-bank__list summary, .qt-workshop-faq summary { cursor: pointer; font-weight: 600; }
.qt-question-bank__list p, .qt-workshop-faq p { margin-top: 16px; color: var(--muted); }
.qt-booking-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: var(--qt-gap); align-items: start; }
.qt-booking-flow { display: flex; flex-wrap: wrap; list-style: none; gap: 12px 20px; padding: 0; margin-block: 28px; counter-reset: booking; }
.qt-booking-flow li { counter-increment: booking; font-size: var(--fs-meta); }
.qt-booking-flow li::before { content: counter(booking,decimal-leading-zero) " "; color: var(--qtass-gold-500); font-weight: 600; }
.qt-booking-selector > details { border: var(--qt-card-line); border-radius: 14px; background: #fcfaf7; margin-bottom: 16px; overflow: hidden; }
.qt-booking-selector > details > summary { padding: 22px 24px; cursor: pointer; font-weight: 600; }
.qtass-booking { background: #fffdf9; border: var(--qt-card-line); padding: 28px; border-radius: 14px; margin: 0; min-width: 0; }
.qt-booking-selector .qtass-booking { border: 0; border-radius: 0; border-top: var(--qt-card-line); }
.qtass-booking > p { font-size: var(--fs-meta); }
.qtass-booking .qtass-booking-toolbar { gap: 16px; margin-block: 22px; justify-content: space-between; }
.qtass-booking select { width: 100%; min-height: 44px; }
.qtass-calendar { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.qtass-calendar button { min-width: 0; padding: 6px 0; font-size: var(--fs-button); min-height: 44px; }
.qtass-booking-slots button { min-height: 44px; }
.qtass-booking [data-booking-feedback] { min-height: 44px; font-size: var(--fs-body-sm); }
.qt-booking-signin { display: block; margin-top: 18px; }
.qt-booking-section { scroll-margin-top: 24px; }
.qt-demo-label { display: inline-block; align-self: start; font-size: var(--fs-badge); font-weight: 500; padding: 4px 9px; border: var(--qt-card-line); border-radius: 6px; color: var(--muted); background: #fcfaf7; }
.qtass-hero .qt-demo-label { color: var(--qtass-ivory); background: transparent; border-color: #735667; }
.qt-mode-preview .qt-mode-grid { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 20px; }
.qt-mode-preview .qt-mode-card { flex: 0 0 280px; scroll-snap-align: start; }
.qt-mode-single--owned .qt-mode-practice-header { padding: 28px 0; }
.qt-mode-single--owned .qt-mode-practice-header > .site-shell > p:not(.eyebrow) { display: none; }
.qt-mode-single--owned .qt-mode-breadcrumb { margin-bottom: 12px; }
.qt-mode-single--owned .qt-mode-purchase { order: 0; }
.qt-mode-cover { margin: 0; overflow: hidden; }
.qt-mode-cover img { width: 100%; height: auto; display: block; }
.qt-mode-practice-title { font-size: var(--fs-h1); margin-top: 32px; }
.qt-mode-account .qt-mode-card__image { aspect-ratio: 16/8; }
.qt-mode-account .qt-mode-card__excerpt { display: none; }
.qt-mode-account .qt-mode-card__body { padding: 20px; gap: 10px; }
.qt-mode-account .qt-mode-card h3 { font-size: var(--fs-h4); }
.qt-workshop-list { display: grid; gap: 20px; }
.qt-workshop-card { display: grid; grid-template-columns: 140px minmax(0,1fr) 220px; align-items: center; gap: 28px; border: var(--qt-card-line); border-radius: 16px; background: #fffdf9; padding: 28px; }
.qt-workshop-date { color: var(--qtass-plum-800); text-align: center; padding: 18px; border-radius: 12px; background: #f5ebdd; }
.qt-workshop-date time { display: flex; flex-direction: column; }
.qt-workshop-date strong { font-size: var(--fs-display); font-family: var(--font-heading); line-height: 1.1; }
.qt-workshop-date span { font-size: var(--fs-meta); line-height: 1.6; }
.qt-workshop-card h3 { font-size: var(--fs-h3); }
.qt-workshop-card__copy p { margin-bottom: 10px; }
.qt-workshop-card__action { border-left: var(--qt-card-line); padding-left: 28px; }
.qt-workshop-card__action .button { width: 100%; }
.qt-event-facts { border-block: 1px solid rgba(255,245,229,.15); margin: 24px 0; padding-block: 16px; }
.prose .qt-event-facts { border-color: rgba(82,40,60,.12); }
.qtass-hero .qt-event-facts p { margin-block: 6px; font-size: var(--fs-body); }
.qt-calendar-empty { padding: 24px 0; border-block: var(--qt-card-line); }
.qtass-service-detail { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: var(--qt-gap); align-items: start; }
.qtass-institute-detail .qtass-service-scope { padding-block: 0; }
.qt-scope-note { padding-block: 28px; color: var(--muted); font-size: var(--fs-meta); text-align: center; }
.qt-scope-note p { margin: 0; }
.qt-scope-note .site-shell { width: 100%; }
.qt-footer-legal { color: #ded0dc; font-size: var(--fs-meta); line-height: 1.7; padding-top: 24px; padding-bottom: 20px; border-top: 1px solid rgba(255,245,229,.12); }
.qt-footer-legal p { margin-bottom: 12px; }
.qt-account-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.qt-account-page-header { margin-bottom: 32px; }
.qt-account-page-header + .qtass-account-view > header, .qt-account-reading-status + .qtass-account-view > header { display: none; }
.qt-coaching-account-summary + .qtass-account-view > header { display: none; }
.qt-course-hero-price { font-family: var(--font-heading); font-size: var(--fs-h3); }
.qt-account-actions > a { position: relative; padding: 26px; border: var(--qt-card-line); border-radius: 12px; background: #fcfaf7; color: var(--ink); text-decoration: none; }
.qtass-institute .qt-account-actions h3 { font-size: var(--fs-h4); line-height: 1.3; }
.qt-account-actions p { font-size: var(--fs-body-sm); color: var(--muted); margin-bottom: 0; }
.qt-account-actions span { display: block; margin-top: 20px; }
.qt-status-pipeline { display: flex; gap: 12px 28px; list-style: none; flex-wrap: wrap; padding: 0; counter-reset: pipeline; }
.qt-status-pipeline li { counter-increment: pipeline; font-size: var(--fs-meta); }
.qt-status-pipeline li::before { content: counter(pipeline,decimal-leading-zero) " · "; color: var(--qtass-gold-500); }
.qt-account-reading-status { padding: 24px; border: var(--qt-card-line); border-radius: 12px; margin-bottom: 32px; background: #f5ebdd; }
.qt-account-reading-status > p:last-child { font-size: var(--fs-meta); margin-bottom: 0; }
/* A structured education surface; retain the current carousel and AJAX hooks. */
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses { background: #fcfaf7; color: var(--ink); min-height: 0; padding-block: var(--qt-section-space); }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses::before, .qtass-institute:not(.qtass-restored-layout) .home-featured-courses::after { content: none; }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses .section-heading h2 { color: var(--ink); font-size: var(--fs-h2); text-shadow: none; letter-spacing: -.015em; }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses .eyebrow { color: var(--qtass-plum-700); letter-spacing: .1em; }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses .section-heading .eyebrow::before, .qtass-institute:not(.qtass-restored-layout) .home-featured-courses .section-heading .eyebrow::after { content: none; }
.qtass-institute:not(.qtass-restored-layout) .course-archive .catalog-featured { background: #fcfaf7; color: var(--ink); min-height: 0; height: auto; padding-block: var(--qt-section-space); }
.qtass-institute:not(.qtass-restored-layout) .catalog-featured > .site-shell { min-height: 0; }
.qtass-institute:not(.qtass-restored-layout) .catalog-featured__intro h1 { color: var(--ink); text-shadow: none; font-size: var(--fs-h1); }
.qtass-institute:not(.qtass-restored-layout) .catalog-featured__description { color: var(--muted); }
.qtass-institute .course-card.course-card--education { display: flex; flex-direction: column; padding: 0; background: #fffdf9; color: var(--ink); border: var(--qt-card-line); border-radius: 16px; box-shadow: 0 8px 24px rgba(50,24,47,.035); }
.qtass-institute .course-card--education:hover { box-shadow: 0 10px 28px rgba(50,24,47,.06); border-color: rgba(201,138,45,.4); }
.qtass-institute .course-card--education .course-card__media { aspect-ratio: 16/10; border-radius: 0; }
.qtass-institute .course-card--education .course-card__media img { width: 100%; height: 100%; object-fit: cover; }
.qtass-institute .course-card--education .course-card__body { display: flex; flex-direction: column; gap: 14px; min-height: 0; padding: 24px; background: none; }
.qtass-institute .course-card--education .course-card__body > * { margin: 0; }
.qtass-institute .course-card--education h3 { color: var(--ink); font-size: var(--fs-card-title); min-height: 0; height: auto; line-height: 1.3; text-shadow: none; }
.qtass-institute .course-card--education h3 a { color: inherit; -webkit-line-clamp: 3; }
.qtass-institute .course-card--education .course-card__meta { border: 0; padding: 0; background: none; color: var(--muted); font-size: var(--fs-meta); letter-spacing: 0; border-radius: 0; }
.qtass-institute .course-card__excerpt { font-size: var(--fs-body); color: var(--muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.qtass-institute .course-card--education .course-card__footer { margin-top: auto; padding-top: 8px; }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses .home-slider-wrap--courses .home-slider-button { color: var(--qtass-ivory); box-shadow: none; background: var(--qtass-plum-800); width: 44px; height: 44px; }
.qtass-institute:not(.qtass-restored-layout) .home-slider-dots button.is-active { background: var(--qtass-plum-700); }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses__all .button { color: var(--ink); border-color: var(--qtass-plum-700); background: transparent; box-shadow: none; }
.qtass-institute:not(.qtass-restored-layout) .home-featured-courses__all .button::after { content: none; }
.qtass-institute :where(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--qtass-gold-500); outline-offset: 4px; }
.qtass-institute :where(h1,h2,h3,p,li,a) { overflow-wrap: break-word; }
@media (max-width: 1199px) {
 .qtass-service-grid--four, .qtass-service-grid--five { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .qt-values-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .qt-workshop-card { grid-template-columns: 112px minmax(0,1fr) 180px; gap: 22px; padding: 24px; }
 .qt-inquiry-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .qt-account-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 899px) {
 .qt-split, .qt-booking-layout, .qtass-founder-layout, .qtass-service-detail { grid-template-columns: minmax(0,1fr); }
 .qt-editorial-hero__visual { max-width: 100%; width: 100%; }
 .qt-home-hero__visual { max-width: 480px; margin-inline: auto; }
 .qt-home-reading .qt-editorial-image { order: 1; }
 .qt-founder-portrait { max-width: 480px; width: 100%; }
 .qt-methods { grid-template-columns: 1fr; gap: 24px; }
 .qt-methods article { border-bottom: var(--qt-card-line); padding-bottom: 20px; }
 .qt-process-list { gap: 18px; }
 .qt-process-list h3 { font-size: var(--fs-body); font-family: var(--font-body); }
 .qt-workshop-card { grid-template-columns: 90px minmax(0,1fr); }
 .qt-workshop-card__action { grid-column: 2; border-left: 0; padding-left: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
 .qt-workshop-card__action .button { width: auto; }
 .qt-workshop-card__action .qtass-service-price { margin: 0; }
 .qt-mode-single--owned .qt-mode-purchase { order: 0; }
}
@media (max-width: 599px) {
 .qtass-restored-layout .course-catalog { overflow-x: clip; }
 .qtass-restored-layout .catalog-topics .topic-chips { margin-inline: 0; max-width: 100%; }
 .qtass-institute .site-shell { width: calc(100% - 40px); }
 .qtass-institute .qtass-home-hero { min-height: auto; padding-block: 56px; }
 .qt-home-hero__visual { max-width: 340px; }
 .qt-split { gap: 36px; }
 .qtass-service-grid--four, .qtass-service-grid--five, .qt-values-list, .qtass-institute .qtass-service-list, .qt-vision-mission, .qt-account-actions { grid-template-columns: minmax(0,1fr); }
 .qtass-service-grid--four .qtass-service-entry { display: grid; grid-template-columns: 76px minmax(0,1fr); column-gap: 18px; padding: 22px; }
 .qt-service-entry-visual { grid-row: 1/5; width: 76px; aspect-ratio: 1; margin: 0; border-radius: 10px; }
 .qtass-service-grid--four .qtass-service-entry > p.eyebrow { display: none; }
 .qtass-service-grid--four .qtass-service-entry > span.eyebrow { font-size: var(--fs-badge); }
 .qtass-service-grid--four .qtass-service-entry h3 { font-size: var(--fs-h4); }
 .qtass-service-grid--four .qtass-service-entry .text-link { grid-column: 2; }
 .qt-values-list { gap: 14px; }
 .qt-values-list article { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 18px; }
 .qt-values-list__number { grid-row: 1/3; margin: 0; }
 .qt-values-list p { grid-column: 2; }
 .qt-inquiry-grid { gap: 10px 22px; }
 .qt-inquiry-grid h3 { font-size: var(--fs-h4); }
 .qt-inquiry-grid p { font-size: var(--fs-body); }
 .qt-process-list { grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
 .qt-process-list li { display: flex; align-items: center; gap: 20px; padding-block: 18px; }
 .qt-process-list h3 { font-size: var(--fs-h4); font-family: var(--font-heading); margin: 0; }
 .qt-coaching-context article, .qtass-booking { padding: 22px; }
 .qtass-calendar { gap: 2px; }
 .qt-workshop-card { grid-template-columns: 68px minmax(0,1fr); gap: 16px; padding: 20px; align-items: start; }
 .qt-workshop-date { padding: 14px 6px; }
 .qt-workshop-date strong { font-size: var(--fs-h2); }
 .qt-workshop-date span { font-size: var(--fs-badge); }
 .qt-workshop-card h3 { font-size: var(--fs-h4); }
 .qt-workshop-card__action { grid-column: 1/-1; }
 .qt-mode-preview .qt-mode-card { flex-basis: min(280px,85vw); }
 .qtass-institute .course-card--education .course-card__body { padding: 22px; }
 .qtass-institute:not(.qtass-restored-layout) .catalog-featured__intro { width: 100%; }
 .qt-mode-practice-title { font-size: var(--fs-h1); }
 .qtass-booking [type=submit] { width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
 .qtass-institute .course-card, .qtass-institute .qt-mode-card { transition: none; }
 .qtass-institute .course-card:hover, .qtass-institute .qt-mode-card:hover { transform: none; }
}
