.detail-page{min-height:calc(100vh - 66px);background:linear-gradient(135deg,#fbfcff,#f7f9ff 58%,#fcfdff)}.detail-shell{width:min(1500px,calc(100% - 64px));margin:0 auto;padding:14px 0 45px}.detail-layout{margin-top:15px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start}.detail-main{min-width:0;display:grid;gap:18px}.card{border:1px solid #e2e7ef;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(27,43,76,.045)}.profile-hero{min-height:390px;padding:16px;display:grid;grid-template-columns:285px minmax(360px,1fr) 285px}.portrait{position:relative;min-height:355px;overflow:hidden;border-radius:11px;background:#f3f0ec}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 34%}.online-badge{position:absolute;top:11px;left:11px;padding:5px 8px;border:1px solid #70c28a;border-radius:6px;background:rgba(242,255,245,.94);color:#16873b;font-size:14px;font-weight:700}.heart{border:0;background:transparent;color:#7f8ca2;cursor:pointer}.portrait .heart{position:absolute;top:8px;right:8px;width:34px;height:34px;padding:6px;border-radius:50%;background:rgba(255,255,255,.7)}.heart svg{width:22px;height:22px}.heart.selected{color:#ff607d}.heart.selected svg{fill:currentColor}.verify-badge{position:absolute;bottom:10px;left:10px;padding:7px 9px;display:flex;align-items:center;gap:5px;border-radius:6px;background:rgba(255,255,255,.95);box-shadow:0 3px 10px rgba(28,43,70,.1);color:#46546b;font-size:13px;font-weight:700}.verify-badge svg{width:14px;height:14px;color:#4468ec}.profile-copy{min-width:0;padding:20px 29px}.identity{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.identity h1{margin:0;color:#111b35;font-size:29px;letter-spacing:-.045em}.hero-rating{color:#ffb019;font-size:20px}.hero-rating b{color:#293650;font-size:17px}.hero-rating em{color:#788398;font-size:15px;font-style:normal}.recommend{padding:5px 8px;border-radius:6px;background:#eeeaff;color:#6151d9;font-size:13px;font-weight:700}.education{margin:13px 0 14px;color:#3c485f;font-size:17px;line-height:1.8}.stat-pills,.specialty-pills{display:flex;flex-wrap:wrap;gap:7px}.stat-pills{margin-bottom:10px}.stat-pills span,.specialty-pills span{padding:6px 10px;border-radius:99px;font-size:14px}.stat-pills span{background:#f2f4f8;color:#344158}.specialty-pills span{background:#eef3ff;color:#3157d9;font-weight:650}.intro{margin:31px 0 0;color:#435067;font-size:15px;line-height:1.85}.verification-row{margin-top:17px;display:flex;flex-wrap:wrap;gap:12px;color:#34865b;font-size:13px}.quick-facts{margin:12px 0;padding:12px 0 12px 28px;display:flex;flex-direction:column;justify-content:center;gap:15px;border-left:1px solid #e6eaf1}.quick-facts div{padding-right:8px}.quick-facts dt{margin-bottom:4px;color:#768298;font-size:13px}.quick-facts dd{margin:0;color:#3e4b62;font-size:14px;line-height:1.5}.detail-sidebar{position:sticky;top:83px;display:grid;gap:14px}.detail-sidebar .card{padding:22px}.detail-sidebar h2{margin:0 0 13px;color:#19243e;font-size:20px}.response{margin:0 0 17px;color:#4b9b70;font-size:13px}.response i{width:7px;height:7px;margin-right:6px;display:inline-block;border-radius:50%;background:#4fc47d}.contact-card>button{width:100%;height:44px;margin-top:8px;border-radius:7px;font-size:15px;font-weight:750}.primary-contact{border:0;background:linear-gradient(135deg,#315cf0,#4147e4);box-shadow:0 7px 15px rgba(49,87,238,.18);color:#fff}.secondary-contact{border:1px solid #8fa6f7;background:#fff;color:#3158e7}.activity{margin:20px 0 13px;padding:13px;border:1px solid #e5e9f0;border-radius:8px;background:#fbfcff}.activity div{display:flex;justify-content:space-between;line-height:1.9}.activity dt{color:#68758a;font-size:13px}.activity dd{margin:0;color:#273550;font-size:14px}.activity div:first-child dd{color:#3158e6}.share-row{display:flex;align-items:center;gap:9px}.share-row span{margin-right:auto;color:#47546b;font-size:14px}.share-row button{width:27px;height:27px;border:1px solid #dce2eb;border-radius:50%;background:#fff;color:#4d65bb;font-size:13px}.fee-card dl{margin:0}.fee-card dl div{padding:7px 0;display:flex;justify-content:space-between;gap:10px}.fee-card dt,.fee-card dd{font-size:13px}.fee-card dt{font-weight:700}.fee-card dd{margin:0;color:#4d5b74}.fee-card>p,.schedule-card>p{margin:11px 0 0;color:#7b8798;font-size:13px}.schedule-card table{width:100%;border-collapse:separate;border-spacing:5px 9px;text-align:center}.schedule-card th,.schedule-card td{color:#45526a;font-size:13px}.schedule-card tbody th{text-align:left}.schedule-card td i{width:9px;height:9px;margin:auto;display:block;border:2px solid #4164ed;border-radius:50%;background:#fff}.detail-card{min-height:400px;padding:0 17px 27px}.detail-tabs{height:55px;padding:0 2px;display:flex;border-bottom:1px solid #e4e8ef;overflow-x:auto}.detail-tabs button{position:relative;min-width:max-content;padding:0 20px;border:0;background:transparent;color:#566278;font-size:15px}.detail-tabs button.active{color:#3157e8;font-weight:750}.detail-tabs button.active::after{content:"";position:absolute;right:15px;bottom:-1px;left:15px;height:2px;background:#3157ec}.tab-panel{display:none;padding:24px 0 0}.tab-panel.active{display:block}.tab-panel>h2,.intro-columns h2{margin:0 0 15px;color:#202d45;font-size:19px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.feature-grid article{min-height:100px;padding:15px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto 1fr;column-gap:10px;border:1px solid #e3e7ef;border-radius:10px}.feature-grid i{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eff3ff;color:#4365e8;font-size:23px;font-style:normal}.feature-grid h3{margin:4px 0 6px;font-size:14px}.feature-grid p{margin:0;color:#68758a;font-size:13px;line-height:1.6}.intro-columns{margin-top:21px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e8ebf1}.intro-columns>article{padding-right:26px}.intro-columns>article+article{padding-left:26px;border-left:1px solid #e6eaf0}.check-list{margin:0;padding:0;display:grid;gap:14px;list-style:none;color:#4f5d73;font-size:13px}.check-list li::before{content:"✓";width:17px;height:17px;margin-right:8px;display:inline-grid;place-items:center;border-radius:50%;background:#eef3ff;color:#3159e7}.lesson-methods>div{display:flex;align-items:center;gap:11px;margin-bottom:11px}.lesson-methods i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f0f4ff;color:#4161dc;font-style:normal}.lesson-methods p{margin:0}.lesson-methods strong,.lesson-methods span{display:block}.lesson-methods strong{margin-bottom:3px;font-size:13px}.lesson-methods span{color:#778397;font-size:13px}.lesson-table dl{margin:0 0 26px;display:grid;grid-template-columns:150px 1fr;border-top:1px solid #e5e9ef}.lesson-table dt,.lesson-table dd{margin:0;padding:11px 13px;border-bottom:1px solid #e5e9ef;font-size:13px}.lesson-table dt{background:#f8f9fc;font-weight:700}.lesson-table dd{color:#526078}.process{margin:0 0 27px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);list-style:none}.process li{position:relative;text-align:center}.process li:not(:last-child)::after{content:"→";position:absolute;top:10px;right:-4px;color:#9da8b9}.process b{width:26px;height:26px;margin:0 auto 7px;display:grid;place-items:center;border-radius:50%;background:#4162e8;color:#fff;font-size:13px}.process span{font-size:13px}.curriculum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.curriculum span{padding:11px;border-radius:7px;background:#f3f6ff;color:#435783;font-size:13px}.curriculum span::before{content:"STEP ";color:#4162e8;font-weight:750}.timeline{padding-left:18px;border-left:2px solid #e5eaff}.timeline article{position:relative;padding:0 0 26px 20px}.timeline i{position:absolute;top:3px;left:-25px;width:12px;height:12px;border:3px solid #4164ec;border-radius:50%;background:#fff}.timeline time{color:#4162e5;font-size:13px}.timeline h3{margin:6px 0;font-size:16px}.timeline h3 span{margin-left:7px;padding:3px 6px;border-radius:5px;background:#eef9f2;color:#25864b;font-size:13px}.timeline p{margin:0;color:#718096;font-size:13px}.review-summary{padding:20px;display:grid;grid-template-columns:190px 1fr;border-radius:10px;background:#f8faff}.review-summary>div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #e1e6ef}.review-summary strong{font-size:37px}.review-summary span{color:#ffad19;letter-spacing:2px}.review-summary small{margin-top:7px;color:#7b8798;font-size:13px}.review-summary dl{margin:0;padding-left:25px;display:grid;grid-template-columns:90px 1fr;align-items:center;gap:7px}.review-summary dt{font-size:13px}.review-summary dt b{float:right}.review-summary dd{height:6px;margin:0;border-radius:10px;background:#e6ebf4}.review-summary dd i{height:100%;display:block;border-radius:10px;background:#4a69e9}.review-list{margin-top:15px;display:grid;gap:10px}.review-list article,.qa-list article{padding:17px;border:1px solid #e4e8ef;border-radius:10px}.review-list article>div{display:flex;align-items:center;gap:10px}.review-list article span{color:#ffad19;font-size:14px}.review-list article em{padding:3px 6px;border-radius:5px;background:#eef9f2;color:#27864c;font-size:13px;font-style:normal}.review-list article time{margin-left:auto;color:#8a94a4;font-size:13px}.review-list h3{margin:12px 0 7px;font-size:15px}.review-list p{margin:0 0 9px;color:#66748a;font-size:13px;line-height:1.7}.review-list small{color:#8a94a4;font-size:13px}.question-head{display:flex;align-items:center;justify-content:space-between}.question-head h2{margin:0 0 6px;font-size:19px}.question-head p{margin:0;color:#7a8698;font-size:13px}.question-head button{padding:8px 12px;border:1px solid #4164eb;border-radius:6px;background:#fff;color:#3157e5;font-size:13px}.qa-list{margin-top:17px;display:grid;gap:10px}.qa-list h3{margin:0;font-size:14px}.qa-list h3 b{margin-right:7px;color:#315be9}.qa-list article>div{margin-top:13px;padding:13px;border-radius:8px;background:#f7f9ff}.qa-list span{padding:3px 6px;border-radius:5px;background:#e9efff;color:#3459df;font-size:13px}.qa-list p{margin:8px 0 0;color:#59677d;font-size:13px;line-height:1.6}.mobile-cta{display:none}.toast{position:fixed;z-index:80;right:24px;bottom:24px;padding:12px 17px;border-radius:8px;background:#26344e;color:#fff;font-size:14px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.detail-dialog{width:min(420px,calc(100% - 28px));padding:34px;border:0;border-radius:15px;box-shadow:0 20px 60px rgba(20,31,55,.22);text-align:center}.detail-dialog::backdrop{background:rgba(15,24,43,.48);backdrop-filter:blur(2px)}.dialog-close{position:absolute;top:12px;right:15px;border:0;background:transparent;color:#788497;font-size:26px}.dialog-icon{width:54px;height:54px;margin:0 auto 17px;display:grid;place-items:center;border-radius:50%;background:#edf2ff;color:#315aeb;font-size:27px}.detail-dialog h2{margin:0 0 10px;font-size:22px}.detail-dialog>p{margin:0 0 22px;color:#6e7a8f;font-size:13px;line-height:1.65}.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.auth-actions a,.dialog-primary{height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #4163ea;border-radius:7px;background:#fff;color:#3158e5;font-size:14px;font-weight:700;text-decoration:none}.auth-actions .dialog-primary,.form-dialog .dialog-primary{border:0;background:linear-gradient(135deg,#315cf0,#4147e4);color:#fff}.form-dialog{width:min(600px,calc(100% - 28px));text-align:left}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-grid .full{grid-column:1/-1}.form-dialog label,.form-dialog legend{color:#47546a;font-size:13px;font-weight:700}.form-dialog input,.form-dialog select,.form-dialog textarea{width:100%;margin-top:6px;padding:0 11px;border:1px solid #dce2eb;border-radius:7px;outline:0;font:inherit;font-size:14px}.form-dialog input,.form-dialog select{height:40px}.form-dialog textarea{padding-block:10px;resize:vertical}.form-dialog form>.dialog-primary{width:100%;margin-top:18px}.booking-dialog form{display:grid;gap:13px}.booking-dialog fieldset{padding:11px;border:1px solid #e0e5ed;border-radius:8px}.booking-dialog fieldset label{margin-right:17px}.booking-dialog fieldset input{width:auto;height:auto;margin-right:4px;accent-color:#3158ea}
@media(max-width:1250px){.detail-shell{width:min(1180px,calc(100% - 36px))}.detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.profile-hero{grid-template-columns:220px 1fr}.quick-facts{grid-column:1/-1;padding:18px 5px 2px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e6eaf1;border-left:0}.profile-copy{padding-inline:23px}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.detail-layout{grid-template-columns:1fr}.detail-sidebar{position:static;grid-template-columns:1fr 1fr}.contact-card{grid-row:span 2}.profile-hero{grid-template-columns:240px 1fr}.quick-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.detail-shell{width:calc(100% - 28px);padding-bottom:85px}.detail-layout{margin-top:9px}.profile-hero{padding:11px;grid-template-columns:1fr}.portrait{height:410px;min-height:0}.profile-copy{padding:20px 7px}.identity h1{font-size:26px}.quick-facts{grid-template-columns:1fr 1fr;padding:17px 6px 6px}.detail-sidebar{display:grid;grid-template-columns:1fr}.contact-card{grid-row:auto}.detail-tabs button{padding-inline:15px}.feature-grid{grid-template-columns:1fr}.intro-columns{grid-template-columns:1fr}.intro-columns>article{padding:0}.intro-columns>article+article{margin-top:22px;padding:20px 0 0;border-top:1px solid #e6eaf0;border-left:0}.lesson-table dl{grid-template-columns:110px 1fr}.process{grid-template-columns:1fr;gap:7px}.process li{display:flex;align-items:center;gap:11px;text-align:left}.process li:not(:last-child)::after{content:"↓";top:24px;right:auto;left:10px}.process b{margin:0}.curriculum{grid-template-columns:1fr 1fr}.review-summary{grid-template-columns:1fr}.review-summary>div{padding-bottom:17px;border-right:0;border-bottom:1px solid #e1e6ef}.review-summary dl{padding:17px 0 0}.mobile-cta{position:fixed;z-index:50;right:0;bottom:0;left:0;height:66px;padding:8px 14px;display:grid;grid-template-columns:52px 1fr 1.35fr;gap:8px;border-top:1px solid #dfe4ed;background:rgba(255,255,255,.97);box-shadow:0 -7px 25px rgba(29,42,70,.08)}.mobile-cta button{border:1px solid #4164ec;border-radius:7px;background:#fff;color:#3159e5;font-weight:700}.mobile-cta button:last-child{border:0;background:#365be9;color:#fff}.mobile-cta .heart{font-size:25px}.dialog-grid{grid-template-columns:1fr}.dialog-grid .full{grid-column:auto}}

/* Readable type scale for profile details, reviews and dialogs. */
.online-badge,.verify-badge,.recommend{font-size:15px}
.stat-pills span,.specialty-pills span{font-size:16px}
.intro{font-size:17px;line-height:1.8}
.verification-row{font-size:15px}
.quick-facts dt{color:#657287;font-size:15px}
.quick-facts dd{font-size:16px;line-height:1.55}
.response{font-size:15px}
.contact-card>button{font-size:17px}
.activity dt,.activity dd{font-size:16px}
.share-row span{font-size:16px}
.share-row button{font-size:14px}
.fee-card dt,.fee-card dd{font-size:16px}
.fee-card>p,.schedule-card>p{color:#657287;font-size:15px;line-height:1.5}
.schedule-card th,.schedule-card td{font-size:15px}
.detail-tabs button{font-size:17px}
.tab-panel>h2,.intro-columns h2{font-size:21px}
.feature-grid article{min-height:125px}
.feature-grid h3{font-size:18px}
.feature-grid p{color:#59677c;font-size:16px;line-height:1.65}
.check-list{font-size:16px;line-height:1.55}
.lesson-methods strong{font-size:17px}
.lesson-methods span{color:#657287;font-size:15px}
.lesson-table dt,.lesson-table dd{font-size:16px;line-height:1.55}
.process b{font-size:15px}
.process span{font-size:15px}
.curriculum span{font-size:16px}
.timeline time{font-size:15px}
.timeline h3{font-size:19px}
.timeline h3 span{font-size:14px}
.timeline p{color:#59677c;font-size:16px;line-height:1.6}
.review-summary small{color:#657287;font-size:15px}
.review-summary dt{font-size:15px}
.review-list article span{font-size:16px}
.review-list article em{font-size:14px}
.review-list article time{font-size:14px}
.review-list h3{font-size:19px}
.review-list p{color:#536177;font-size:16px;line-height:1.75}
.review-list small{color:#657287;font-size:14px}
.question-head h2{font-size:21px}
.question-head p{color:#657287;font-size:15px}
.question-head button{font-size:16px}
.qa-list h3{font-size:17px}
.qa-list span{font-size:14px}
.qa-list p{font-size:16px;line-height:1.7}
.toast{font-size:16px}
.detail-dialog>p{color:#59677c;font-size:16px}
.auth-actions a,.dialog-primary{font-size:17px}
.form-dialog label,.form-dialog legend{font-size:16px}
.form-dialog input,.form-dialog select,.form-dialog textarea{font-size:17px}

@media(max-width:780px){.intro{font-size:17px}.feature-grid article{min-height:115px}.lesson-table dl{grid-template-columns:125px 1fr}.mobile-cta button{font-size:17px}}

.detail-profile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#e8eef9,#f8faff);color:#52647f;font-size:73px;font-weight:850}

.locked-detail{padding:40px 32px;text-align:center}.locked-detail h2{margin:0 0 12px;color:#19243e;font-size:21px}.locked-detail>p{margin:0 auto 18px;max-width:440px;color:#5b6a83;font-size:14px;line-height:1.7}.locked-balance{color:#3157e5!important;font-weight:700}.locked-balance strong{font-size:18px}.locked-detail form{display:inline-block;margin-bottom:14px}.locked-hint{color:#8994a8!important;font-size:13px!important}.locked-hint a{color:#3157e5;text-decoration:none;font-weight:700}
