/* Tutor discovery. No shared navigation, fixed controls or business logic changes. */
:is(.kn-tutors-home,.kn-teacher-search,.kn-tutor-profile-page,.kn-tutor-related){--kn-t-ink:#12304c;--kn-t-navy:#09243e;--kn-t-blue:#007aab;--kn-t-muted:#526a7b;--kn-t-line:#d7e4ed;--kn-t-pale:#edf5fa;--kn-t-action:#0065af;--kn-t-action-hover:#085482;--kn-t-emphasis:#085482;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;color:var(--kn-t-ink);line-height:1.55}
:is(.kn-tutors-home,.kn-teacher-search,.kn-tutor-profile-page,.kn-tutor-related),:is(.kn-tutors-home,.kn-teacher-search,.kn-tutor-profile-page,.kn-tutor-related) *{box-sizing:border-box}
:is(.kn-tutors-home,.kn-teacher-search,.kn-tutor-profile-page) :is(a,button,input,select,summary):focus-visible{outline:3px solid #007aab;outline-offset:3px}
:is(.kn-tutors-home,.kn-teacher-search,.kn-tutor-profile-page) a:hover{opacity:1}
.kn-tutors-home.tutor-container{padding:34px 0 36px;background:#f4f8fb!important;background-image:none!important;background-attachment:scroll!important;text-align:center;overflow-wrap:anywhere}
.kn-tutors-home .kn-tutors-inner{width:calc(100% - 80px);max-width:1160px;margin:0 auto;padding:0}
.kn-tutors-home .kn-tutors-heading{margin:0 0 14px;padding:0;border:0;background:none;text-align:center}
.kn-tutors-home .kn-tutors-eyebrow{margin:0 0 5px;padding:0;color:#00759d;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em}
.kn-tutors-home .kn-tutors-heading h2{margin:0;padding:0;color:var(--kn-t-navy);background:none;font-size:30px;line-height:1.35;letter-spacing:.02em}
.kn-tutors-home .kn-tutors-heading h2::before,.kn-tutors-home .kn-tutors-heading h2::after{content:none}
.kn-tutors-home .kn-tutors-heading>p:last-child{max-width:38em;margin:8px auto 0;padding:0;color:var(--kn-t-muted);font-size:14px;line-height:1.55}
.kn-tutors-home .kn-tutors-count{display:inline-block;margin-left:14px;padding:5px 10px;border:1px solid #bdd6e6;border-radius:20px;background:#e5f2fa;color:var(--kn-t-emphasis);font-size:13px;font-weight:700;line-height:1.3;letter-spacing:0;vertical-align:middle}
.kn-tutors-home .tutor-auto-slider{max-width:1160px;margin:0 auto}
.kn-tutors-home .tutor-list-wrapper{margin:0;padding:5px 0 8px;overflow:hidden}
.kn-tutors-home .tutor-list{gap:0;column-gap:0;margin:0;align-items:stretch;list-style:none;padding:0}
.kn-tutors-home .tutor-list-member.kn-tutor-card{width:calc((100% - 64px)/5)!important;height:auto;margin:0 0 3px;border:1px solid var(--kn-t-line);border-radius:12px;background:#fff;box-shadow:0 3px 10px #12304c0a;text-align:left;font-weight:400;overflow:hidden}
.kn-tutors-home .kn-tutor-card .kn-tutor-card__link{display:flex;flex-direction:column;padding:0;gap:0;align-items:stretch;position:relative;width:100%;height:100%;color:var(--kn-t-ink);text-decoration:none;background:#fff}
.kn-tutors-home .kn-tutor-card .kn-tutor-card__link::after{content:none}
.kn-tutors-home .kn-tutor-card .kn-tutor-card__link:focus-visible{outline-offset:-3px;border-radius:11px}
.kn-tutors-home .kn-tutor-card .face-photo{width:100%;height:174px;aspect-ratio:auto;overflow:hidden;background:#e8eff3}
.kn-tutors-home .kn-tutor-card .face-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 24%;border-radius:0}
.kn-tutors-home .kn-tutor-card .university{display:flex;align-items:center;width:100%;min-height:40px;margin:0;padding:7px 12px;background:#e6f2fa;color:#074a77;border-radius:0;font-size:14px;line-height:1.35;font-weight:700;white-space:normal;text-wrap:wrap;overflow-wrap:anywhere}
.kn-tutors-home .kn-tutor-card .info{display:grid;grid-template-rows:minmax(44px,1fr) auto auto;gap:5px;flex:1;position:static;width:100%;padding:6px 12px;background:none;color:var(--kn-t-ink);border-radius:0}
.kn-tutors-home .kn-tutor-card__identity{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:44px;text-align:center}
.kn-tutors-home .kn-tutor-card .info .name{margin:0 0 2px;padding:0;font-size:18px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.kn-tutors-home .kn-tutor-card .info .age-sex{margin:0;padding:0;color:var(--kn-t-muted);font-size:12px;font-weight:400;line-height:1.45}
.kn-tutors-home .kn-tutor-card .info .hourly-wage{width:auto;margin:0;padding:5px 0 0;border-top:1px solid #e3edf3;border-radius:0;background:none;color:var(--kn-t-emphasis);font-size:14px;line-height:1.4;font-weight:700}
.kn-tutors-home .kn-tutor-card__action{display:flex;align-items:center;justify-content:center;gap:0;min-height:32px;margin:0;padding:5px 9px;border-radius:6px;background:#edf5fa;color:#00658d;font-size:11px;font-weight:700;line-height:1.4}
.kn-tutors-home .kn-tutor-card__link:hover .kn-tutor-card__action{background:#dceef7;color:#094965}
.kn-tutors-home .tutor-auto-slider:not(.is-initialized) .tutor-list-wrapper{overflow-x:auto}
.kn-tutors-home .tutor-auto-slider:not(.is-initialized) .tutor-list{gap:12px}
.kn-tutors-home .tutor-auto-slider:not(.is-initialized) .kn-tutor-card{flex:0 0 212px}
.kn-tutors-home .splide__arrows{display:flex;align-items:center;justify-content:center;gap:14px;position:static;margin:8px auto 0}
.kn-tutors-home .splide__arrow{display:flex;align-items:center;justify-content:center;position:static;transform:none;flex:0 0 44px;width:44px;height:44px;padding:12px;border:1px solid #c4dbe8;border-radius:50%;background:#fff;opacity:1;color:#175674;cursor:pointer}
.kn-tutors-home .splide__arrow svg{width:15px;height:15px;fill:currentColor}
.kn-tutors-home .splide__arrow:disabled{opacity:.4;cursor:default}
.kn-tutors-home .splide__arrow:not(:disabled):hover{background:#e5f2f8}
.kn-tutors-home .kn-tutors-cta{margin:16px auto 0;text-align:center}
.kn-tutors-home .kn-tutors-cta a{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;max-width:100%;padding:11px 28px;background:var(--kn-t-action);color:#fff;border:1px solid var(--kn-t-action);border-radius:9px;box-shadow:0 3px 8px #12304c16;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none}
.kn-tutors-home .kn-tutors-cta a::after{content:none}
.kn-tutors-home .kn-tutors-cta a:hover{background:var(--kn-t-action-hover)}
.kn-tutors-home .kn-tutors-cta a:active{transform:translateY(1px)}

/* Compact native search. Named controls, values and LP templates are preserved. */
.kn-teacher-search.contents{width:100%;max-width:none;margin:0;padding:26px 40px 24px;background:#f4f8fb;overflow-wrap:anywhere}
.kn-teacher-search.contents>.kn-teacher-search,.kn-teacher-search.contents>.tutor-result-wrapper{width:100%;max-width:1160px;margin-left:auto;margin-right:auto}
.kn-teacher-search.search_table.search-tutor,.kn-teacher-search.contents .search-tutor{width:100%;max-width:980px;margin:0 auto;padding:0;background:none;overflow:visible}
.contents:not(.kn-teacher-search):not(.university-landing)>.kn-teacher-search.search_table.search-tutor{width:calc(100% - 80px);margin:26px auto 24px}
.kn-teacher-search #search_form .search-tutor-form{width:100%;max-width:980px;margin:0 auto 24px;padding:20px 24px;border:1px solid var(--kn-t-line);border-radius:12px;background:#fff;box-shadow:0 3px 14px #12304c06}
.kn-teacher-search #search_form .h2-tutor-list{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 14px;padding:0;background:none;color:var(--kn-t-ink);font-size:24px;font-weight:700;line-height:1.4;text-align:center}
.kn-teacher-search #search_form .h2-tutor-list::before{content:"";display:block;flex:0 0 30px;width:30px;height:31px;background:url("/common/img/katenavi/h2_tutorList.svg") center/contain no-repeat}
.kn-teacher-search #search_form .h2-tutor-list::after{content:none}
.kn-teacher-search #search_form .search-tutor-form .search-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;width:100%;font-size:13px;--h3Width:80px}
.kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm){display:flex;align-items:flex-start;gap:12px;margin:0;min-width:0}
.kn-teacher-search #search_form .search-tutor-form .search-table h3{flex:0 0 80px;width:80px;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;color:#294b63;font-size:13px;font-weight:700;line-height:1.5;white-space:normal;text-wrap:wrap;text-align:left}
.kn-teacher-search #search_form .search-tutor-form .search-table h3 span{display:block;width:auto;height:auto;padding:11px 0;border-radius:0;background:none;color:inherit;line-height:1.5}
.kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm)>div{flex:1;min-width:0;width:auto;line-height:1.7}
.kn-teacher-search #search_form .search-tutor-form .search-table :is(input[type="text"],input[type="search"],select){box-sizing:border-box;max-width:100%;height:44px!important;min-height:44px!important;margin:0;padding:9px 10px!important;border:1px solid #b6cad8;border-radius:7px;background:#fff;color:#12304c;font-family:inherit;font-size:13px;line-height:1.5!important}
.kn-teacher-search #search_form .search-tutor-form .search-table :is(input[type="text"],input[type="search"]){width:100%}
.kn-teacher-search #search_form .search-table select[name="adds"]{width:100%}
.kn-teacher-search #search_form .search-table .kn-wage-range{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:5px;width:100%;max-width:434px}
.kn-teacher-search #search_form .search-table .kn-wage-bound{display:flex;align-items:center;gap:3px;min-width:0;width:100%;margin:0;padding:0;line-height:1.5;white-space:nowrap}
.kn-teacher-search #search_form .search-table .kn-wage-bound select{flex:1 1 auto;min-width:0;width:100%;max-width:none;padding-left:5px!important;padding-right:5px!important}
.kn-teacher-search #search_form .search-table .kn-wage-currency{flex:0 0 auto;color:#294b63;font-size:12px}
.kn-teacher-search #search_form .search-table .kn-wage-separator{text-align:center;color:#526a7b;line-height:1.5}
.kn-teacher-search #search_form .search-table .kn-wage-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0;white-space:nowrap}
.kn-teacher-search #search_form .university-picker--search{width:100%;min-width:0}
.kn-teacher-search #search_form .university-picker__choices{box-sizing:border-box;max-width:100%}
.kn-teacher-search #search_form .kn-search-subjects{grid-column:1/-1;min-width:0;margin:2px 0;padding:0;border:1px solid #d7e4ed;border-radius:8px;background:#f6f9fc}
.kn-teacher-search #search_form .kn-search-subjects>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 13px;color:#294b63;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.kn-teacher-search #search_form .kn-search-subjects>summary::-webkit-details-marker{display:none}
.kn-teacher-search #search_form .kn-search-subjects>summary::after{content:"＋";color:#0c557e;font-size:18px;line-height:1}
.kn-teacher-search #search_form .kn-search-subjects[open]>summary::after{content:"−"}
.kn-teacher-search #search_form .kn-search-subjects__hint{margin-left:auto;color:#526a7b;font-size:11px;font-weight:400}
.kn-teacher-search #search_form .search-table .commonForm{width:100%;margin:0;padding:0 13px 12px;border:0;border-top:1px solid #e4edf3;background:none}
.kn-teacher-search #search_form .search-table .commonForm h4{margin:10px 0 3px;padding:0;border:0;background:none;color:#49677c;font-size:12px;font-weight:700;line-height:1.5}
.kn-teacher-search #search_form .checkForm{display:flex;flex-wrap:wrap;gap:0 12px}
.kn-teacher-search #search_form .checkForm label{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin:0;padding:4px 0;color:#294b63;font-size:13px;line-height:1.5}
.kn-teacher-search #search_form input[type="checkbox"]{accent-color:#087b9c;flex-shrink:0}
.kn-teacher-search #search_form .button{display:flex;justify-content:center;width:100%;max-width:320px;margin:16px auto 0;padding:0;background:none}
.kn-teacher-search #search_form .kn-search-submit{position:relative;bottom:0;display:block;width:100%;min-width:0;min-height:48px;height:auto;margin:0;padding:11px 22px;border:1px solid var(--kn-t-action);border-radius:8px;background:var(--kn-t-action);color:#fff;box-shadow:0 3px 8px #12304c16;font-family:inherit;font-size:15px;font-weight:700;line-height:1.5;cursor:pointer}
.kn-teacher-search #search_form .kn-search-submit:hover{bottom:0;background:var(--kn-t-action-hover);box-shadow:0 3px 8px #12304c16}
.kn-teacher-search #search_form .kn-search-submit:active{transform:translateY(1px)}
.kn-teacher-search.contents .tutor-result-wrapper{padding:0;background:none}
.kn-teacher-search.contents .tutor-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0;padding:0;list-style:none}
.kn-teacher-search.contents .tutor-result>li.kn-search-result-card{display:flex;flex-direction:column;width:100%;height:auto;min-width:0;margin:0;padding:16px;border:1px solid var(--kn-t-line);border-radius:12px;background:#fff;box-shadow:0 3px 12px #12304c08;text-align:left}
.kn-teacher-search .tutor-result .kn-search-result-card .profile{min-width:0}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-head{display:flex;align-items:center;gap:12px;margin:0 0 9px}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-head>div:last-child{min-width:0;flex:1}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-icon{flex:0 0 82px;width:82px;height:96px;max-width:none;max-height:none;border-radius:8px;background:#e8eff3;overflow:hidden}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%}
.kn-teacher-search .tutor-result .kn-search-result-card .profile .name{margin:0 0 5px;padding:0;color:#12304c;font-size:18px;font-weight:700;line-height:1.35;text-align:left;overflow-wrap:anywhere}
.kn-teacher-search .tutor-result .kn-search-result-card .profile .age-sex{margin:0;padding:0;color:var(--kn-t-muted);font-size:12px;font-weight:400;line-height:1.55;text-align:left}
.kn-teacher-search .tutor-result .kn-search-result-card .post-date{position:static;margin:0 0 8px;color:#586f82;font-size:11px;line-height:1.4;text-align:right}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table{display:table;width:100%;margin:8px 0 0;border:0;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.5}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table tbody{display:table-row-group;width:auto}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table tr{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:8px;width:100%;padding:6px 0;border-bottom:1px solid #e8eff4}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table tr:last-child{border-bottom:0}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table th{display:block;width:auto;min-width:0;margin:0;padding:4px 6px;border:0;border-radius:5px;background:#f7f9fb;color:#526a7b;font-size:11px;font-weight:700;line-height:1.5;text-align:center;white-space:normal;text-wrap:wrap}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table td{display:block;min-width:0;width:auto;margin:0;padding:3px 0;color:#12304c;line-height:1.5;overflow-wrap:anywhere}
.kn-teacher-search .tutor-result .kn-search-result-card .profile-table td>div{flex-wrap:wrap}
.kn-teacher-search .tutor-result .kn-search-result-card .tutor-choices{flex-wrap:wrap;gap:3px 6px}
.kn-teacher-search .tutor-result .kn-search-result-card .tutor-choices__item{background:#f7f9fb;color:#526a7b;border-color:#dce5ec}
.kn-teacher-search .tutor-result .kn-search-result-card .tutor-choices__item.is-selected{background:#e5f2fa;color:#085482;border-color:#bdd6e6}
.kn-teacher-search .tutor-result .kn-search-result-card .recruit-see-more{width:100%;height:auto;min-height:0;margin:auto 0 0;padding-top:12px;background:none}
.kn-teacher-search .tutor-result .kn-search-result-card .recruit-see-more a{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;margin:0;padding:9px 12px;border:1px solid #085482;border-radius:7px;background:#fff;color:#085482;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:none;position:static}
.kn-teacher-search .tutor-result .kn-search-result-card .recruit-see-more a:hover{background:#e5f2fa;color:#085482}
.kn-teacher-search .tutor-result .kn-search-result-card .recruit-see-more a::after{content:none}

@media(max-width:1100px){.kn-tutors-home .tutor-list-member.kn-tutor-card{width:calc((100% - 48px)/4)!important}.kn-teacher-search.contents .tutor-result{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.kn-tutors-home .tutor-list-member.kn-tutor-card{width:calc((100% - 32px)/3)!important}.kn-teacher-search #search_form .search-tutor-form .search-table{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
 .kn-tutors-home .tutor-list-member.kn-tutor-card{width:calc((100% - 12px)/2)!important}
 .kn-tutors-home.tutor-container{padding:22px 0 28px}
 .kn-tutors-home .kn-tutors-inner{width:calc(100% - 32px);margin:0 auto;padding:0}
 .kn-tutors-home .kn-tutors-heading{margin-bottom:12px}
 .kn-tutors-home .kn-tutors-heading h2{font-size:25px;line-height:1.3}
 .kn-tutors-home .kn-tutors-count{display:table;margin:7px auto 0;padding:4px 9px;font-size:12px}
 .kn-tutors-home .kn-tutors-heading>p:last-child{max-width:26em;margin-top:7px;font-size:12px;line-height:1.5}
 .kn-tutors-home .tutor-auto-slider{max-width:600px}
 .kn-tutors-home .kn-tutor-card .face-photo{height:180px}
 .kn-tutors-home .kn-tutor-card .university{font-size:14px}
 .kn-tutors-home .kn-tutors-cta{margin-top:12px}
 .kn-tutors-home .kn-tutors-cta a{width:auto;max-width:100%;gap:16px;padding:11px 20px;font-size:14px}
 .kn-teacher-search.contents{padding:20px 16px 24px}
 .contents:not(.kn-teacher-search):not(.university-landing)>.kn-teacher-search.search_table.search-tutor{width:calc(100% - 32px);margin:20px auto 22px}
 .kn-teacher-search #search_form .search-tutor-form{margin:0 auto 20px;padding:16px}
 .kn-teacher-search #search_form .h2-tutor-list{margin-bottom:12px;font-size:22px}
 .kn-teacher-search #search_form .search-tutor-form .search-table{gap:8px}
 .kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm){gap:10px}
 .kn-teacher-search #search_form .search-tutor-form .search-table h3{flex:0 0 70px;width:70px;font-size:12px}
 .kn-teacher-search #search_form .search-tutor-form .search-table h3 span{padding:12px 0}
 .kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm)>div{width:auto;flex:1}
 .kn-teacher-search #search_form .search-tutor-form .search-table .kn-wage-range{grid-template-columns:minmax(0,1fr);gap:4px}
 .kn-teacher-search #search_form .search-table .kn-wage-separator{display:none}
 .kn-teacher-search #search_form .search-table .kn-wage-bound{gap:4px}
 .kn-teacher-search #search_form .search-table .kn-wage-bound::before{content:"下限";font-size:11px;color:#526a7b}
 .kn-teacher-search #search_form .search-table .kn-wage-bound:last-child::before{content:"上限"}
 .kn-teacher-search #search_form .checkForm{gap:0 10px}
 .kn-teacher-search #search_form .checkForm label{min-height:44px;font-size:12px}
 .kn-teacher-search.contents .tutor-result{grid-template-columns:minmax(0,1fr);gap:14px;margin:16px 0}
 .kn-teacher-search.contents .tutor-result>li.kn-search-result-card{width:100%;margin:0;padding:14px}
 .kn-teacher-search .tutor-result .kn-search-result-card .profile-head{gap:12px;margin-bottom:8px}
 .kn-teacher-search .tutor-result .kn-search-result-card .profile-table tr{grid-template-columns:78px minmax(0,1fr);gap:8px;padding:5px 0}
 .kn-teacher-search .tutor-result .kn-search-result-card .recruit-see-more{padding-top:10px}
}
/* Two complete mobile cards; widths retain the same gap as Splide. */
@media(max-width:500px){
 .kn-tutors-home .kn-tutor-card .face-photo{height:144px}
 .kn-tutors-home .kn-tutor-card .university{min-height:40px;padding:7px 8px;font-size:14px}
 .kn-tutors-home .kn-tutor-card .info{padding:6px 8px}
 .kn-tutors-home .kn-tutor-card .info .name{font-size:16px}
 .kn-tutors-home .kn-tutor-card__action{gap:0;padding:5px 4px;font-size:11px}
 .kn-teacher-search #search_form .search-tutor-form{padding:12px}
 .kn-teacher-search #search_form .h2-tutor-list{margin-bottom:8px}
 .kn-teacher-search #search_form .search-tutor-form .search-table{gap:4px}
 .kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm){gap:8px}
 .kn-teacher-search #search_form .search-tutor-form .search-table h3{flex-basis:76px;width:76px}
 .kn-teacher-search #search_form .button{margin-top:10px}
}
@media(min-width:375px) and (max-width:500px){
 .kn-teacher-search #search_form .search-tutor-form .search-table .kn-wage-range{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:5px}
 .kn-teacher-search #search_form .search-table .kn-wage-separator{display:block}
 .kn-teacher-search #search_form .search-table .kn-wage-bound::before,.kn-teacher-search #search_form .search-table .kn-wage-bound:last-child::before{content:none}
}
@media(max-width:360px){
 .kn-tutors-home .kn-tutors-heading h2{font-size:23px}
 .kn-tutors-home .kn-tutor-card .face-photo{height:132px}
 .kn-teacher-search #search_form .search-tutor-form{padding:14px 12px}
 .kn-teacher-search #search_form .search-tutor-form .search-table h3{flex-basis:64px;width:64px;font-size:11px}
 .kn-teacher-search #search_form .search-tutor-form .search-table>div:not(.commonForm){gap:6px}
 .kn-teacher-search .tutor-result .kn-search-result-card .profile-icon{flex-basis:74px;width:74px;height:90px}
 .kn-teacher-search .tutor-result .kn-search-result-card .profile .name{font-size:17px;word-break:normal;overflow-wrap:break-word}
 .kn-teacher-search .tutor-result .kn-search-result-card .profile-table tr{grid-template-columns:70px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 .kn-tutors-home *,.kn-teacher-search *,.kn-tutor-profile-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Generated related navigation is exclusive to tutor profiles, including signed-in readers. */
.kn-tutor-related{max-width:100%;margin:30px 0 0;padding:22px;border:1px solid #d7e4ed;border-radius:12px;background:#f3f8fb;text-align:left;overflow-wrap:anywhere}
.kn-tutor-related :is(h2,h3,h4),.userCard--info .kn-tutor-related :is(h2,h3,h4){width:auto;max-width:100%;height:auto;margin:0 0 14px;padding:0;border:0;border-radius:0;background:none;color:#12304c;font-size:17px;font-weight:700;line-height:1.5;white-space:normal;text-wrap:wrap}
.kn-tutor-related :is(h2,h3,h4)::before,.kn-tutor-related :is(h2,h3,h4)::after{content:none}
.kn-tutor-related :is(h2,h3,h4) span,.userCard--info .kn-tutor-related :is(h2,h3,h4) span{display:inline;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit}
.kn-tutor-related .kn-tutor-related__eyebrow{margin:0 0 8px;padding:0;color:#00759d;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.12em}
.kn-tutor-related .kn-tutor-related__intro{margin:0 0 18px;padding:0;color:#526a7b;font-size:13px;line-height:1.8}
.kn-tutor-related>div,.kn-tutor-related ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.kn-tutor-related li{margin:0;padding:0;list-style:none;min-width:0}
.kn-tutor-related a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:10px 13px;border:1px solid #c4dae8;border-radius:8px;background:#fff;color:#175674;font-size:14px;font-weight:500;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.kn-tutor-related a:hover{border-color:#8fbfd5;background:#e5f2f8;color:#094965}
.kn-tutor-related a>span[aria-hidden]{margin-left:auto;padding-left:12px;color:#00759d}


/* Profile refresh only. Profile cards and consultation actions.
   PC/SP and anonymous/student Info share this presentation root.
   Data, authentication branches, generated subject choices and CTA hooks stay intact. */
#contents.kn-tutor-profile-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:28px 24px 24px;background:#f3f7fb;color:#18374e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page *,#contents.kn-tutor-profile-page *::before,#contents.kn-tutor-profile-page *::after{box-sizing:border-box}
#contents.kn-tutor-profile-page .kn-profile-page-heading{width:100%;max-width:1040px;height:auto;margin:0 auto 20px;padding:0;border:0;border-radius:0;background:none;color:#183c59;font-size:clamp(23px,2.2vw,30px);font-weight:700;line-height:1.5;text-align:center;white-space:normal;text-wrap:wrap}
#contents.kn-tutor-profile-page .kn-profile-page-heading::before,#contents.kn-tutor-profile-page .kn-profile-page-heading::after{content:none}
#contents.kn-tutor-profile-page .kn-profile-shell{width:100%;max-width:1040px;margin:0 auto;padding:0;border:0;background:none;box-shadow:none}
#contents.kn-tutor-profile-page .kn-profile-frame{width:100%;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none}
#contents.kn-tutor-profile-page .kn-profile-frame>.post-date{position:static;margin:0 0 10px;padding:0;color:#536c81;font-size:12px;line-height:1.6;text-align:right}
#contents.kn-tutor-profile-page .kn-profile-card{display:block;width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
#contents.kn-tutor-profile-page .kn-profile-overview{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:12px 24px;width:100%;margin:0;padding:22px;border:1px solid #d7e3ed;border-radius:16px;background:#fff;box-shadow:0 6px 22px #18374e08}
#contents.kn-tutor-profile-page .kn-profile-photo{grid-column:1;grid-row:1/3;display:block;width:150px;min-width:0;max-width:100%;height:200px;margin:0;padding:0;border:0;border-radius:12px;background:#e8f0f6;overflow:hidden}
#contents.kn-tutor-profile-page .kn-profile-photo img{display:block;width:100%!important;max-width:100%!important;height:100%!important;max-height:none;aspect-ratio:3/4;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;object-position:center 20%}
#contents.kn-tutor-profile-page .kn-profile-identity{grid-column:2;grid-row:1;min-width:0;width:100%;margin:0;padding:0;text-align:left;white-space:normal}
#contents.kn-tutor-profile-page .kn-profile-identity h3{width:auto;height:auto;margin:0 0 8px;padding:0;border:0;border-radius:0;background:none;color:#123b5c;font-size:26px;font-weight:700;line-height:1.45;text-align:left;white-space:normal;text-wrap:wrap;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .kn-profile-identity h3::before,#contents.kn-tutor-profile-page .kn-profile-identity h3::after{content:none}
#contents.kn-tutor-profile-page .kn-profile-identity p{margin:0;padding:0;color:#5b7286;font-size:14px;font-weight:400;line-height:1.8;text-align:left}
#contents.kn-tutor-profile-page .kn-profile-facts{grid-column:2;grid-row:2;display:block;min-width:0;width:100%;margin:0;padding:0}
#contents.kn-tutor-profile-page .kn-profile-table{display:table;table-layout:fixed;width:100%;margin:0;padding:0;border:0;border-collapse:collapse;background:none;font-size:14px;line-height:1.8}
#contents.kn-tutor-profile-page .kn-profile-table tbody{display:table-row-group;width:auto}
#contents.kn-tutor-profile-page .kn-profile-table tr{display:table-row;width:auto;margin:0;padding:0;border:0;background:none}
#contents.kn-tutor-profile-page .kn-profile-table th{display:table-cell;width:126px;min-width:0;margin:0;padding:8px 16px 8px 0;border:0;border-bottom:1px solid #e6edf3;border-radius:0;background:none;color:#60788c;font-size:12px;font-weight:500;line-height:1.8;text-align:left;vertical-align:top;white-space:normal;text-wrap:wrap}
#contents.kn-tutor-profile-page .kn-profile-table th span{display:inline;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit;white-space:normal}
#contents.kn-tutor-profile-page .kn-profile-table td{display:table-cell;width:auto;min-width:0;margin:0;padding:8px 0;border:0;border-bottom:1px solid #e6edf3;background:none;color:#18374e;font-size:14px;line-height:1.8;vertical-align:top;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .kn-profile-table tr:last-child :is(th,td){border-bottom:0}
#contents.kn-tutor-profile-page .kn-profile-table td>div{max-width:100%;flex-wrap:wrap}
#contents.kn-tutor-profile-page .kn-profile-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin:14px 0 0;padding:0;border:0;background:none}
#contents.kn-tutor-profile-page .kn-profile-section{min-width:0;margin:0;padding:18px;border:1px solid #d7e3ed;border-radius:14px;background:#fff;box-shadow:0 4px 16px #18374e04;text-align:left}
#contents.kn-tutor-profile-page .kn-profile-section--subjects,#contents.kn-tutor-profile-page .kn-profile-section--intro{grid-column:1/-1}
#contents.kn-tutor-profile-page .kn-profile-section--school{grid-column:1/-1}
#contents.kn-tutor-profile-page .kn-profile-section h4{width:auto;height:auto;margin:0 0 10px;padding:0 0 8px;border:0;border-bottom:1px solid #e2ebf2;border-radius:0;background:none;color:#173e5d;font-size:17px;font-weight:700;line-height:1.5;text-align:left;white-space:normal;text-wrap:wrap}
#contents.kn-tutor-profile-page .kn-profile-section h4:not(:first-child){margin-top:16px}
#contents.kn-tutor-profile-page .kn-profile-section h4 span{display:inline;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit;white-space:normal}
#contents.kn-tutor-profile-page .kn-profile-section h4::before,#contents.kn-tutor-profile-page .kn-profile-section h4::after{content:none}
#contents.kn-tutor-profile-page .kn-profile-content{margin:0;padding:0;color:#29495e;font-size:15px;line-height:1.75;text-align:left;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .kn-profile-section .inst_sub{width:auto;margin:12px 0 4px;padding:0;border:0;border-radius:0;background:none;color:#58768d;font-size:13px;font-weight:700;line-height:1.6;text-align:left}
#contents.kn-tutor-profile-page .kn-profile-section .userCard_body_checkbox{width:100%;margin:0 0 10px;padding:0;border:0;background:none}
#contents.kn-tutor-profile-page .tutor-choices{display:flex;flex-wrap:wrap;gap:4px 6px;width:auto;max-width:100%;margin:0;padding:0}
#contents.kn-tutor-profile-page .tutor-choices__item{display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:4px 7px;border:1px solid #dce5ec;border-radius:7px;background:#f7f9fb;color:#586f82;font-size:12px;line-height:1.6;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .tutor-choices__item.is-selected{border-color:#bdd6e6;background:#e5f2fa;color:#085482;font-weight:700}
#contents.kn-tutor-profile-page .kn-profile-related{grid-column:1/-1;min-width:0;margin:0;padding:0}
#contents.kn-tutor-profile-page .kn-profile-related:not(:has(*)){display:none}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related{width:100%;max-width:none;margin:0;padding:18px;border:1px solid #d7e3ed;border-radius:14px;background:#eaf3fb;box-shadow:none;text-align:left}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related :is(h2,h3,h4){margin:0 0 10px;padding:0;border:0;background:none;color:#173e5d;font-size:18px;line-height:1.6}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related__eyebrow{margin-bottom:4px;text-align:center}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related__intro{margin-bottom:12px;font-size:12px;line-height:1.6;text-align:center}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related>div,#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related ul{justify-content:center}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related a{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #c6dced;border-radius:9px;background:#fff;color:#145b8a;font-size:14px;font-weight:500;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related a:hover{border-color:#83b5da;background:#f6fbff}
#contents.kn-tutor-profile-page .kn-profile-contact{width:100%;max-width:1040px;margin:16px auto 0;padding:20px;border:1px solid #c9deed;border-radius:16px;background:#edf5fa;box-shadow:none;text-align:center;scroll-margin-top:104px;scroll-margin-bottom:160px}
#contents.kn-tutor-profile-page .kn-profile-contact .kn-tutor-consult__action{display:flex;justify-content:center;width:100%;margin:0;padding:0;border:0;background:none}
#contents.kn-tutor-profile-page .kn-profile-contact .kn-tutor-consult__button{position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:540px;min-height:56px;height:auto;margin:0;padding:14px 22px;border:1px solid var(--kn-t-action);border-radius:10px;background:var(--kn-t-action);color:#fff;box-shadow:0 4px 12px #0065af1a;font-family:inherit;font-size:17px;font-weight:700;line-height:1.6;text-align:center;text-decoration:none;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
#contents.kn-tutor-profile-page .kn-profile-contact .kn-tutor-consult__button:hover{background:var(--kn-t-action-hover);color:#fff;box-shadow:0 4px 12px #0065af1a;transform:none}
#contents.kn-tutor-profile-page .kn-profile-contact .kn-tutor-consult__button::after{content:none}
#contents.kn-tutor-profile-page .kn-profile-contact .tutor-consult-help{width:100%;max-width:700px;margin:12px auto 0;padding:0;color:#42647e;font-size:12px;line-height:1.7;text-align:center}
#contents.kn-tutor-profile-page .kn-profile-contact .tutor-consult-help a{color:#005fc7;text-decoration:underline;text-underline-offset:3px}
#contents.kn-tutor-profile-page .kn-profile-member-contact{display:flex;justify-content:center;align-items:center;width:100%;max-width:1040px;margin:24px auto 0;padding:24px;border:1px solid #c9def2;border-radius:14px;background:#eaf3ff;color:#345771;font-size:14px;line-height:1.8;text-align:center}
#contents.kn-tutor-profile-page .kn-profile-member-button{position:static;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:420px;min-height:52px;margin:0;padding:13px 20px;border:1px solid var(--kn-t-action);border-radius:10px;background:var(--kn-t-action);color:#fff;box-shadow:none;font-family:inherit;font-size:16px;font-weight:700;line-height:1.6;text-decoration:none}
#contents.kn-tutor-profile-page .kn-profile-member-button:hover{background:var(--kn-t-action-hover);color:#fff;transform:none}
#contents.kn-tutor-profile-page :is(.kn-tutor-consult__button,.kn-profile-member-button,.kn-tutor-related a):focus-visible,#contents.kn-tutor-profile-page+.kn-profile-back a:focus-visible{outline:3px solid #0c80ed;outline-offset:4px}
#contents.kn-tutor-profile-page+.kn-profile-back{width:100%;margin:0;padding:0 16px 24px;background:#f3f7fb;text-align:center}
#contents.kn-tutor-profile-page+.kn-profile-back a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;margin:0;padding:10px 22px;border:1px solid #c6d7e4;border-radius:9px;background:#fff;color:#315e7e;box-shadow:none;font-size:14px;font-weight:500;line-height:1.6;text-decoration:none}
#contents.kn-tutor-profile-page+.kn-profile-back a::after{content:none}
@media(max-width:768px){
 #contents.kn-tutor-profile-page{padding:20px 16px 24px}
 #contents.kn-tutor-profile-page .kn-profile-page-heading{margin-bottom:16px;font-size:23px}
 #contents.kn-tutor-profile-page .kn-profile-overview{grid-template-columns:104px minmax(0,1fr);gap:12px 16px;padding:16px;border-radius:14px}
 #contents.kn-tutor-profile-page .kn-profile-photo{grid-row:1;width:104px;height:139px;border-radius:9px}
 #contents.kn-tutor-profile-page .kn-profile-identity{align-self:center}
 #contents.kn-tutor-profile-page .kn-profile-identity h3{font-size:22px;line-height:1.5}
 #contents.kn-tutor-profile-page .kn-profile-identity p{font-size:12px;line-height:1.8}
 #contents.kn-tutor-profile-page .kn-profile-facts{grid-column:1/-1;grid-row:2}
 #contents.kn-tutor-profile-page .kn-profile-table th{width:100px;padding:7px 12px 7px 0;font-size:12px}
 #contents.kn-tutor-profile-page .kn-profile-table td{padding:7px 0;font-size:14px}
 #contents.kn-tutor-profile-page .kn-profile-body{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
 #contents.kn-tutor-profile-page .kn-profile-section{padding:16px;border-radius:12px}
 #contents.kn-tutor-profile-page .kn-profile-section h4{font-size:17px;margin-bottom:10px;padding-bottom:8px}
 #contents.kn-tutor-profile-page .kn-profile-content{font-size:14px;line-height:1.75}
 #contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related{margin:0;padding:16px;border-radius:12px}
 #contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related>div,#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related ul{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 #contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related a{width:100%;font-size:13px}
 #contents.kn-tutor-profile-page .kn-profile-contact{margin-top:16px;padding:18px 16px;border-radius:14px}
 #contents.kn-tutor-profile-page .kn-profile-contact .kn-tutor-consult__button{min-height:56px;padding:13px 16px;font-size:16px}
 #contents.kn-tutor-profile-page .kn-profile-contact .tutor-consult-help{font-size:12px;text-align:left}
 #contents.kn-tutor-profile-page .kn-profile-member-contact{margin-top:20px;padding:20px 18px}
}
@media(max-width:360px){
 #contents.kn-tutor-profile-page .kn-profile-overview{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:14px}
 #contents.kn-tutor-profile-page .kn-profile-photo{width:84px;height:112px}
 #contents.kn-tutor-profile-page .kn-profile-identity h3{font-size:20px}
 #contents.kn-tutor-profile-page .kn-profile-table th{width:82px;padding-right:10px;font-size:11px}
 #contents.kn-tutor-profile-page .kn-profile-section,#contents.kn-tutor-profile-page .kn-profile-related .kn-tutor-related{padding:14px}
 #contents.kn-tutor-profile-page .tutor-choices__item{font-size:11px;padding:4px 6px}
}

/* Match the legacy body:has selectors without changing shared CSS. */
.kn-teacher-search #search_form .search-tutor-form .search-table input[type="text"][name="academic_background"]{height:44px!important;min-height:44px!important;padding:9px 10px!important}
