/* Isolated tutor catalogue, release198. Shared shell and other routes retain their design. */
body.tutors-catalog-page{--bg:#032d23;--surface:#073b30;--surface2:#0d493c;--border:#52765f;--text:#fff1d7;--muted:#bed4cb;--accent:#ffd18e;--tc-input:#052f26;--tc-shadow:#001d1760;background:var(--bg);color:var(--text)}
:root[data-theme=light] body.tutors-catalog-page{--bg:#f5f1e5;--surface:#fffaf0;--surface2:#eaf0df;--border:#94a78c;--text:#123f32;--muted:#486459;--accent:#88500d;--tc-input:#fffdf7;--tc-shadow:#58704b12}
.tutors-catalog-page .inner-section{padding-top:24px;padding-bottom:64px}
.tc-page{font-family:Onest,sans-serif;font-size:15px;line-height:1.65}
.tc-page *{box-sizing:border-box;min-width:0}
.tc-page [hidden]{display:none!important}
.tc-page h1,.tc-page h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;letter-spacing:-.025em;text-wrap:balance}
.tc-page h2{font-size:clamp(32px,3.4vw,46px);line-height:1.1;margin:0;color:var(--text)}
.tc-page h3{font-family:Onest,sans-serif;font-size:20px;line-height:1.35;letter-spacing:-.02em;color:var(--text);margin:0}
.tc-page p{margin:0;color:var(--muted)}
.tc-page .art.tc-icon{width:32px;height:32px;flex:0 0 32px;object-fit:contain;margin:0;filter:none}
.tc-page .art.tc-section-art{width:78px;height:78px;object-fit:contain;flex:none}
.tc-page a{text-decoration:none}
.tc-page :is(button,input,summary,a):focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.tc-page button,.tc-page input{font:inherit}
.tc-page button{cursor:pointer}
.tc-page .tc-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--border);border-radius:14px;background:var(--tc-input);color:var(--accent);font-size:14px;font-weight:650;line-height:1.45;text-align:center;transition:background .18s,border-color .18s,transform .18s}
.tc-page .tc-button:hover{border-color:var(--accent);background:var(--surface2);transform:translateY(-1px)}
.tc-page .tc-button.tc-primary{color:#35230a;background:linear-gradient(110deg,#ffdb9e,#ffc879);border-color:#ffdea6}
.tc-page .tc-button.tc-primary:hover{background:#ffe0ad;border-color:#ffe9be}
.tc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tc-kicker{font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)!important;margin:0 0 9px!important}
.tc-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.tc-hero{margin:0 0 70px}
.tc-eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text)!important;margin:0 0 16px!important}
.tc-scene{position:relative;aspect-ratio:1672/941;isolation:isolate;border-radius:26px;overflow:hidden;background:#06392f}
.tc-scene>img{display:block;width:100%;height:100%;object-fit:contain}
.tc-page .tc-scene h1{position:absolute;left:3.2%;top:17%;width:38%;margin:0;padding:0;color:#fff1d7;font-size:clamp(30px,4.5vw,61px);line-height:1.03;text-shadow:none;z-index:1}
.tc-scene h1 span{display:block;color:#ffd18e;margin-top:.38em}
.tc-hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin:26px 0}
.tc-hero-bottom>p{max-width:680px;font-size:16px;line-height:1.75}
.tc-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:22px 0 0;list-style:none;border-top:1px solid var(--border)}
.tc-quick-facts li{display:flex;align-items:baseline;gap:12px;color:var(--muted);font-size:13px}
.tc-quick-facts strong{color:var(--text);font-size:17px;white-space:nowrap}
.tc-filter-panel{padding:26px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 16px 48px var(--tc-shadow)}
.tc-page fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.tc-page legend,.tc-field-label{display:flex;align-items:center;gap:9px;color:var(--text);font-size:13px;font-weight:650;margin:0 0 12px;padding:0;line-height:1.4}
.tc-page legend .art.tc-icon{width:28px;height:28px;flex-basis:28px}
.tc-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tc-chip{position:relative;cursor:pointer;margin:0!important}
.tc-chip input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;border:0}
.tc-chip span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid var(--border);border-radius:13px;color:var(--text);background:var(--tc-input);font-size:13px;line-height:1.45}
.tc-chip input:checked+span{background:#ffd18e;color:#35230a;border-color:#ffdaa1}
.tc-chip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}
.tc-chip:hover span{border-color:var(--accent)}
.tc-filter-row{display:grid;grid-template-columns:1.35fr 1.2fr .8fr 1fr;gap:20px;margin:25px 0;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:start}
.tc-field-label,.tc-filter-row legend{min-height:18px;margin:0 0 12px}
.tc-city-open{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:9px 12px;color:var(--text);background:var(--tc-input);border:1px solid var(--border);border-radius:13px;text-align:left;font-size:13px!important;font-weight:550}
.tc-city-open .tc-chevron{margin-left:auto}
.tc-filter-row small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin:8px 0 0}
.tc-format .tc-chips{gap:5px;flex-wrap:nowrap}
.tc-format .tc-chip{flex:1}
.tc-format .tc-chip span{min-height:48px;padding:9px 8px}
.tc-page .tc-budget input,.tc-page .tc-city-search input{appearance:none;-webkit-appearance:none;width:100%;height:48px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:var(--tc-input);color:var(--text);font-size:14px;box-shadow:none;outline-offset:3px}
.tc-page input::placeholder{color:var(--muted);opacity:1}
.tc-page input[type=number]{appearance:textfield;-moz-appearance:textfield}
.tc-page input[type=number]::-webkit-inner-spin-button,.tc-page input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}
.tc-select{position:relative;border:0;margin:0;padding:0;background:none}
.tc-select>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:13px;background:var(--tc-input);cursor:pointer;font-size:13px;list-style:none}
.tc-page summary::-webkit-details-marker{display:none}
.tc-page summary::marker{content:''}
.tc-select>fieldset{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:7px;border:1px solid var(--border);border-radius:13px;background:var(--surface);z-index:5;max-height:320px;overflow-y:auto;box-shadow:0 16px 35px #001c1740}
.tc-select>fieldset>label{display:block;position:relative;font-size:13px;cursor:pointer}
.tc-select input{appearance:none;position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}
.tc-select label span{display:block;min-height:40px;padding:9px;border-radius:8px}
.tc-select input:checked+span{background:var(--surface2);color:var(--accent);font-weight:700}
.tc-select input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}
.tc-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:none;margin:0 3px 4px 8px;color:var(--accent)}
.tc-select[open] .tc-chevron{transform:rotate(225deg);margin-top:6px}
.tc-filter-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.tc-filter-footer>p{font-size:12px;max-width:500px}
.tc-reset{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;color:var(--muted);font-size:13px;text-decoration:underline!important;text-underline-offset:4px}
.tc-results{margin:55px 0 70px;scroll-margin-top:20px}
.tc-results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.tc-counter{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;border:1px solid var(--border);border-radius:14px;padding:12px 16px;color:var(--text)!important;background:var(--surface)}
.tc-result-context{margin:0 0 23px!important;max-width:900px;font-size:13px}
.tc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:start}
.tc-card{grid-column:span 2;display:flex;flex-direction:column;min-height:510px;background:var(--surface);border:1px solid var(--border);border-radius:23px;padding:23px;overflow:hidden;box-shadow:0 12px 30px var(--tc-shadow)}
.tc-card.tc-last-pair{grid-column:span 3}
.tc-card.tc-last-single{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:1fr 1.4fr;gap:12px 36px;padding:28px}
.tc-last-single .tc-card-profile{grid-column:1;grid-row:1/3}
.tc-last-single .tc-card-meta{grid-column:1;grid-row:3}
.tc-last-single .tc-card-description{grid-column:2;grid-row:1;margin:0}
.tc-last-single .tc-area{grid-column:1;grid-row:4}
.tc-last-single .tc-card-bottom{grid-column:2;grid-row:2/5;margin:0}
.tc-last-single .tc-card-price{padding:0 0 15px}
.tc-card-profile{display:flex;align-items:center;gap:15px;margin-bottom:17px}
.tc-portrait{display:block;flex:0 0 86px;width:86px;height:86px;object-fit:cover;border-radius:20px;border:1px solid var(--border)}
.tc-subject-label{display:block;color:var(--accent);font-size:12px;font-weight:600;margin:0 0 6px}
.tc-card h3{font-size:21px;line-height:1.2}
.tc-card-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin:0 0 14px;color:var(--muted);font-size:12px}
.tc-card-meta>span{display:flex;align-items:center;gap:6px}
.tc-card-meta .art.tc-icon{width:23px;height:23px;flex-basis:23px}
.tc-card-description{font-size:14px;line-height:1.75;margin:0 0 12px!important}
.tc-page .tc-area{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 17px}
.tc-card-bottom{margin-top:auto}
.tc-card-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:17px 0;border-top:1px solid var(--border)}
.tc-card-price strong{color:var(--text);font-size:25px;letter-spacing:-.03em;line-height:1.25}
.tc-card-price>span{color:var(--muted);font-size:12px}
.tc-card-bottom>.tc-button{width:100%}
.tc-card-details{margin:17px 0 0;padding:0;border:0;border-top:1px solid var(--border);border-radius:0;background:none}
.tc-card-details>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font-size:12px;font-weight:650;min-height:60px;padding:13px 0 0;color:var(--text)}
.tc-card-details .art.tc-icon{width:27px;height:27px;flex-basis:27px}
.tc-plus{flex:none;width:22px;height:22px;position:relative;display:inline-block;border-radius:50%;background:var(--surface2);margin-left:auto}
.tc-plus:before,.tc-plus:after{content:'';position:absolute;background:var(--accent);border-radius:1px;left:6px;right:6px;height:2px;top:10px}
.tc-plus:after{transform:rotate(90deg)}
.tc-page details[open]>summary .tc-plus:after{transform:rotate(0)}
.tc-card-details>div{padding-top:16px}
.tc-card-details dl{margin:0 0 17px;font-size:12px}
.tc-card-details dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}
.tc-card-details dt{color:var(--muted)}
.tc-card-details dd{margin:0;color:var(--text);text-align:right;white-space:nowrap}
.tc-card-details ul{list-style:none;margin:0 0 14px;padding:0;font-size:12px;color:var(--muted)}
.tc-card-details li{position:relative;padding:0 0 0 25px;margin:10px 0}
.tc-card-details li:before{content:'✓';display:flex;align-items:center;justify-content:center;position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:5px;background:#ffd18e;color:#183b2d;font-size:12px;font-weight:800}
.tc-card-details>div>p{font-size:11px}
.tc-more-row{text-align:center;margin:28px 0 22px}
.tc-more-row .tc-button{min-width:290px}
.tc-source{font-size:12px;max-width:900px;margin:0 auto!important;text-align:center}
.tc-empty{text-align:center;padding:32px 24px;border:1px solid var(--border);border-radius:23px;background:var(--surface)}
.tc-page .art.tc-empty-art{display:block;width:85px;height:85px;margin:0 auto 15px}
.tc-empty>p{max-width:520px;margin:12px auto 20px}
.tc-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tc-info-card{padding:25px;background:var(--surface);border:1px solid var(--border);border-radius:23px}
.tc-page .art.tc-info-art{width:76px;height:76px;display:block;object-fit:contain;margin-bottom:17px}
.tc-info-card .tc-kicker{font-size:10px;min-height:32px}
.tc-info-card h3{margin-bottom:12px;font-size:23px}
.tc-info-card>p:last-child{font-size:14px;line-height:1.8}
.tc-first-lesson{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;padding:35px;margin:70px 0;background:var(--surface);border:1px solid var(--border);border-radius:26px}
.tc-first-intro>.tc-section-art{margin:0 0 16px}
.tc-first-intro>p:not(.tc-kicker){margin:18px 0 23px;font-size:14px;line-height:1.8}
.tc-checklist{list-style:none;margin:0;padding:0;display:grid;gap:0;align-content:start}
.tc-checklist>li{display:flex;gap:17px;padding:20px 0;border-bottom:1px solid var(--border)}
.tc-checklist>li:first-child{padding-top:0}
.tc-checklist>li:last-child{border:0;padding-bottom:0}
.tc-checklist>li>span{flex:0 0 34px;font-family:'Cormorant Garamond',Georgia,serif;font-size:33px;line-height:1;color:var(--accent)}
.tc-checklist h3{font-size:17px;margin:0 0 8px}
.tc-checklist p{font-size:13px;line-height:1.75}
.tc-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:start}
.tc-faq-grid>details{padding:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.tc-faq-grid summary{display:flex;align-items:center;gap:12px;padding:20px;min-height:98px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;line-height:1.55}
.tc-faq-grid summary .tc-icon{flex-basis:32px}
.tc-faq-grid summary>span:not(.tc-plus){flex:1}
.tc-faq-grid details>p{padding:0 22px 22px;font-size:14px;line-height:1.85}
.tc-related{display:flex;gap:14px;align-items:center;justify-content:space-between;padding-top:26px;margin-top:30px;border-top:1px solid var(--border)}
.tc-related>span{color:var(--muted);font-size:13px;max-width:300px}
.tc-city-dialog{width:min(650px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--border);border-top:3px solid #ffd18e;border-radius:25px;padding:28px;background:var(--surface);color:var(--text);box-shadow:0 30px 100px #001a16a0;margin:auto;overflow:auto}
.tc-city-dialog::backdrop{background:#001b17ba;backdrop-filter:blur(6px)}
body.tutors-catalog-page:has(.tc-city-dialog[open]){overflow:hidden}
.tc-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}
.tc-dialog-top h2{font-size:38px}
.tc-dialog-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;font-size:30px!important;line-height:1;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:13px}
.tc-city-dialog>p{margin:16px 0;font-size:14px}
.tc-city-search{display:block;margin:20px 0;font-size:13px;color:var(--text)}
.tc-city-search>span{display:block;font-weight:600;margin-bottom:9px}
.tc-city-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:22px}
.tc-city-options>button{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 13px;text-align:left;font-size:13px;color:var(--text);border:1px solid var(--border);border-radius:14px;background:var(--tc-input)}
.tc-city-options>button:hover{border-color:var(--accent)}
.tc-city-options>button[aria-pressed=true]{background:var(--surface2);border-color:var(--accent)}
.tc-city-tick{width:17px;height:17px;flex:none;margin-left:auto}
[aria-pressed=true]>.tc-city-tick:after{content:'✓';color:var(--accent);font-weight:800}
.tc-city-no-match{border:1px solid var(--border);padding:15px;border-radius:13px}
@media(max-width:1100px){
 .tc-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-hero-bottom{grid-template-columns:1fr}.tc-quick-facts li{flex-direction:column;gap:4px}.tc-card{padding:19px}.tc-card-profile{gap:11px}.tc-portrait{width:70px;height:70px;flex-basis:70px;border-radius:16px}.tc-card h3{font-size:19px}.tc-card-description{font-size:13px}.tc-first-lesson{gap:30px;padding:28px}.tc-related{flex-wrap:wrap}.tc-related>span{max-width:none;flex:1 0 100%}
}
@media(max-width:900px){
 .tc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tc-card,.tc-card.tc-last-pair{grid-column:span 1;min-height:490px}.tc-card.tc-last-single{grid-column:1/-1;min-height:0;grid-template-columns:1fr 1.3fr;gap:12px 24px}.tc-card-profile{gap:15px}.tc-portrait{width:82px;height:82px;flex-basis:82px}.tc-card h3{font-size:21px}.tc-card-description{font-size:14px}.tc-info-grid{gap:15px}.tc-info-card{padding:20px}.tc-info-card h3{font-size:20px}.tc-info-card>p:last-child{font-size:13px}.tc-first-lesson{grid-template-columns:1fr}.tc-first-intro{max-width:600px}.tc-first-intro>.art{float:right;margin-left:20px}.tc-faq-grid summary{font-size:14px;padding:16px}.tc-filter-footer{align-items:flex-start;flex-direction:column;gap:16px}.tc-results-heading{align-items:flex-start}.tc-counter{white-space:normal;max-width:200px}.tc-scene{border-radius:21px}
}
@media(max-width:650px){
 .tutors-catalog-page .inner-section{padding-top:17px;padding-bottom:40px}.tc-page{font-size:14px}.tc-page h2{font-size:33px;line-height:1.12}.tc-section-heading{gap:12px;margin-bottom:20px}.tc-page .art.tc-section-art{width:55px;height:55px}.tc-hero{margin-bottom:45px}.tc-eyebrow{font-size:10px;gap:8px;margin-bottom:12px!important}.tc-eyebrow .art.tc-icon{width:26px;height:26px;flex-basis:26px}.tc-scene{border-radius:14px}.tc-page .tc-scene h1{top:10%;left:3.4%;width:39%;font-size:clamp(17px,4.65vw,30px);line-height:1.06}.tc-scene h1 span{margin-top:.34em}.tc-hero-bottom{gap:19px;margin:20px 0}.tc-hero-bottom>p{font-size:14px;line-height:1.8}.tc-hero-bottom .tc-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}.tc-page .tc-button{min-height:48px;font-size:13px}.tc-quick-facts{gap:10px;padding-top:18px}.tc-quick-facts strong{font-size:14px}.tc-quick-facts li{font-size:10px;line-height:1.6}.tc-kicker{font-size:10px}.tc-filter-panel{padding:18px;border-radius:20px}.tc-filter-row{grid-template-columns:1fr;gap:19px;margin:20px 0;padding:20px 0}.tc-filter-row .tc-format .tc-chips{width:100%}.tc-chips{gap:7px}.tc-chip span{font-size:12px;padding:10px 12px}.tc-page legend,.tc-field-label{font-size:12px}.tc-filter-footer .tc-actions{width:100%;justify-content:space-between;gap:6px}.tc-filter-footer .tc-primary{padding:10px 13px}.tc-reset{font-size:12px;padding:10px 0}.tc-results{margin:37px 0 45px}.tc-results-heading{flex-direction:column;gap:17px}.tc-counter{max-width:none;padding:9px 14px}.tc-result-context{font-size:12px}.tc-grid{grid-template-columns:minmax(0,1fr);gap:17px}.tc-card,.tc-card.tc-last-pair,.tc-card.tc-last-single{grid-column:1;min-height:0;display:flex;gap:0;padding:21px;border-radius:21px}.tc-card.tc-last-single .tc-card-description{margin-bottom:12px!important}.tc-last-single .tc-card-price{padding:17px 0}.tc-card-profile{gap:15px;margin-bottom:17px}.tc-portrait{width:82px;height:82px;flex-basis:82px}.tc-card h3{font-size:22px}.tc-card-meta{margin-bottom:15px}.tc-card-description{font-size:14px;line-height:1.8}.tc-card-price strong{font-size:26px}.tc-more-row .tc-button{min-width:0;width:100%}.tc-source{font-size:11px;text-align:left}.tc-info-grid{grid-template-columns:1fr;gap:14px}.tc-info-card{padding:21px;display:grid;grid-template-columns:64px 1fr;gap:6px 16px}.tc-page .tc-info-art.art{grid-column:1;grid-row:1/3;width:64px;height:64px;margin:0}.tc-info-card .tc-kicker{grid-column:2;min-height:0;font-size:10px;margin:0!important;align-self:end}.tc-info-card h3{grid-column:2;font-size:23px;margin:0}.tc-info-card>p:last-child{grid-column:1/-1;font-size:14px;margin-top:9px}.tc-first-lesson{padding:22px;margin:45px 0;gap:28px;border-radius:22px}.tc-checklist>li{gap:12px}.tc-checklist h3{font-size:16px}.tc-checklist>li>span{font-size:28px}.tc-faq-grid{grid-template-columns:1fr;gap:12px}.tc-faq-grid summary{padding:17px 15px;min-height:85px;font-size:14px;gap:10px}.tc-faq-grid details>p{font-size:13px;padding:0 18px 20px}.tc-faq-grid summary .tc-icon{width:27px;height:27px;flex-basis:27px}.tc-related{display:grid;grid-template-columns:1fr;gap:12px}.tc-related>span{font-size:12px}.tc-city-dialog{padding:21px 18px;border-radius:21px}.tc-dialog-top h2{font-size:32px}.tc-city-options{grid-template-columns:1fr;gap:8px}.tc-city-options>button{min-height:54px}.tc-city-dialog>p{font-size:13px}.tc-city-dialog>.tc-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.tc-page *{scroll-behavior:auto!important;transition:none!important}}
