
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#172b40;background:#fff;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}header{border-bottom:1px solid #e6eaf0;background:white;position:sticky;top:0;z-index:5}.wrap{max-width:1120px;margin:auto;padding:0 28px}nav{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0}.brand{font-weight:800;font-size:19px;line-height:1.2;display:flex;align-items:center;gap:12px}.logo{background:#174b42;color:white;padding:13px 10px;border-radius:12px;font-size:15px}.links{display:flex;gap:24px;font-size:14px;font-weight:bold}.btn{display:inline-block;background:#174b42;color:white;border-radius:7px;padding:12px 22px;font-weight:bold;font-size:14px;border:0;cursor:pointer}.secondary{background:white;color:#174b42;border:1px solid #ccd9d4}.hero{background:#f1f6f3;padding:72px 0}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center}.eyebrow{color:#28765f;font-size:12px;font-weight:bold;letter-spacing:2px;text-transform:uppercase}h1{font-size:54px;line-height:1.12;letter-spacing:-2px;margin:18px 0 22px}h2{font-size:32px;line-height:1.2;margin:12px 0}h3{font-size:20px;margin:12px 0}p{color:#607080}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.board{background:#fff;border-radius:20px;padding:32px;box-shadow:0 15px 40px #174b4210}.row{padding:17px 0;border-bottom:1px solid #edf0f2;display:flex;justify-content:space-between;gap:20px}.row:last-child{border:0}.tag{font-size:11px;background:#edf5ef;color:#28765f;border-radius:20px;padding:4px 10px;white-space:nowrap}.strip{padding:21px 0;border-bottom:1px solid #e9edf0;color:#61726b;font-size:13px;text-align:center}section{padding:66px 0;scroll-margin-top:85px}.intro{max-width:660px;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #e2e8e5;border-radius:12px;padding:27px;background:white}.num{font-size:12px;color:#28765f;letter-spacing:1px;font-weight:bold}.card p{font-size:14px}.card a{color:#174b42;font-weight:bold;font-size:14px}.soft{background:#f7f9fb}.founder{display:grid;grid-template-columns:230px 1fr;gap:45px;align-items:center}.portrait{width:230px;border-radius:16px;background:#e8eeeb}.founder p{max-width:710px}.contact{background:#174b42;color:white;border-radius:18px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact p{color:#d5e7df}label{display:block;font-size:13px;margin:10px 0 5px}input,select,textarea{width:100%;padding:12px;border:1px solid #c8d7d1;border-radius:5px;font:inherit}form .btn{background:#e5bd66;color:#173b32;margin-top:15px}.notice{font-size:12px;color:#d5e7df}footer{padding:28px 0;font-size:12px;color:#667581}.foot{display:flex;justify-content:space-between;gap:20px}.demo{font-size:11px;background:#fff5dc;color:#765c27;padding:7px 15px;text-align:center}@media(max-width:760px){.links{gap:12px;flex-wrap:wrap;font-size:12px}nav{align-items:flex-start;flex-direction:column}.grid,.founder,.contact{grid-template-columns:1fr;gap:25px}.cards{grid-template-columns:1fr}h1{font-size:40px}.hero{padding:45px 0}section{padding:44px 0}.wrap{padding:0 20px}.foot{flex-direction:column}.contact{padding:24px}}
.tabbar{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 25px}.tab{background:#fff;color:#174b42;border:1px solid #cbdad3;border-radius:7px;padding:11px 18px;font:600 14px Arial,sans-serif;cursor:pointer}.tab.active{background:#174b42;color:#fff;border-color:#174b42}.tab:focus-visible{outline:3px solid #e5bd66;outline-offset:3px}[hidden]{display:none!important}.programme-note{margin-bottom:25px}#tutor-registration{scroll-margin-top:100px}.resource-card{padding:0;overflow:hidden}.subject-picture{display:block;width:100%;height:152px}.resource-content{padding:24px}.resource-content h3{font-size:18px}.resource-card .resource-content{min-height:230px}.accounting-photo{background-image:linear-gradient(110deg,rgba(10,30,48,.91),rgba(10,30,48,.65)),url("/wp-content/uploads/tutorpalz/study-background.jpg");background-size:cover;background-position:center}.accounting-photo h3,.accounting-photo p,.accounting-photo a{color:#fff}.accounting-photo .tag{background:#ffffffeb;color:#174b42}.photo-card{background-image:linear-gradient(110deg,var(--card-tone),rgba(12,24,42,.58)),url("/wp-content/uploads/tutorpalz/study-background.jpg");background-size:cover;background-position:center}.photo-card h3,.photo-card p,.photo-card a{color:white}.photo-card .tag{background:rgba(255,255,255,.93);color:#174b42}.photo-card .resource-content{min-height:250px}.photo-card:nth-child(3n+2){background-position:35% center}.photo-card:nth-child(3n){background-position:75% center}.tone-navy{--card-tone:rgba(16,45,75,.94)}.tone-purple{--card-tone:rgba(82,46,104,.94)}.tone-forest{--card-tone:rgba(24,81,67,.94)}.tone-blue{--card-tone:rgba(22,78,114,.94)}.tone-teal{--card-tone:rgba(18,93,101,.94)}.tone-plum{--card-tone:rgba(102,54,87,.94)}.tone-indigo{--card-tone:rgba(48,61,119,.94)}.tone-slate{--card-tone:rgba(53,75,92,.94)}.tone-ochre{--card-tone:rgba(119,81,35,.94)}.tone-burgundy{--card-tone:rgba(104,50,72,.94)}.tone-violet{--card-tone:rgba(80,59,120,.94)}.tone-ocean{--card-tone:rgba(23,89,105,.94)}.brand-image{display:block;width:150px;height:100px;object-fit:contain}.brand{flex-shrink:0}nav{padding:8px 0}.links{gap:18px}@media(max-width:760px){nav{flex-direction:row;flex-wrap:wrap;align-items:center}.brand-image{width:120px;height:80px}.links{width:100%;padding-bottom:10px;gap:14px}section{scroll-margin-top:170px}}.tuition-audiences{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}.audience-students,.audience-teachers{padding:28px;border:1px solid #dce6e0;border-radius:14px}.audience-teachers{background:#f1f6f3}.tuition-audiences p{font-size:14px}.tuition-audiences .tab{padding:10px 13px}.audience-teachers .btn{margin-top:10px}@media(max-width:760px){.tuition-audiences{grid-template-columns:1fr}.audience-students,.audience-teachers{padding:22px}}#tutors #free-tuition>.wrap{padding:0;max-width:none}#tutors .grid{gap:30px}#tutors form{max-width:650px}.links{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}@media(max-width:760px){.links{justify-content:flex-start}}.exam-years-card{grid-column:1/-1}.exam-year-row{padding:16px 0;border-bottom:1px solid #e2e8e5}.exam-year-row h4{margin:0 0 8px;font-size:18px}.exam-downloads{display:flex;gap:12px;flex-wrap:wrap}.exam-download{display:inline-block;border:1px solid #174b42;border-radius:5px;padding:10px 18px;background:#174b42;color:white;font:600 14px Arial,sans-serif;text-decoration:none}.exam-download:disabled{background:#f0f2f4;color:#77818a;border-color:#d6dce1;cursor:not-allowed}.exam-year-row small{display:block;color:#607080;margin-top:7px}.exam-session{display:grid;grid-template-columns:110px 1fr;gap:10px 18px;align-items:center;padding:10px 0}.session-label{font-size:14px}.exam-session .exam-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:510px}.exam-session .exam-download{text-align:center;padding:12px 16px}.exam-session small{grid-column:2}.exam-session .marking-scheme:not(:disabled){background:#fff;color:#174b42}@media(max-width:560px){.exam-session{grid-template-columns:1fr}.exam-session small{grid-column:1}.exam-session .exam-download{padding:12px 8px;font-size:12px}}.card a.paid-buy-button{color:#fff;background:#174b42}.paid-buy-button:visited{color:#fff}#paid-resource-enquiry form{max-width:650px}.syllabus-download{color:#fff;background:#174b42}#subject-resources .cards{align-items:stretch}#subject-resources .cards>.card:not(.exam-years-card){display:flex;flex-direction:column}#subject-resources .cards>.card:not(.exam-years-card)>.btn{margin-top:auto;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;justify-content:center}#subject-resources .cards>.card:not(.exam-years-card)>p[role="status"]{order:2;min-height:40px;margin:12px 0 0}#subject-resources .cards>.card:not(.exam-years-card):has(.paid-buy-button)::after{content:"";display:block;min-height:40px;margin-top:12px}.inside-button{align-self:flex-start;background:#eef5f2;color:#174b42;border:1px solid #c5d8ce;border-radius:5px;font:600 13px Arial,sans-serif;padding:8px 12px;cursor:pointer;margin:0 0 10px}.inside-button span{margin-right:5px}#resource-contents-dialog{border:0;border-radius:14px;padding:35px;max-width:560px;width:calc(100% - 40px);color:#172b40;box-shadow:0 20px 80px #0004}#resource-contents-dialog::backdrop{background:#10263899}.contents-close{float:right;background:#eef2f4;border:0;border-radius:5px;padding:8px 12px;cursor:pointer}#contents-list{padding-left:22px}#contents-list li{margin:12px 0}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.teacher-profile{padding:0;overflow:hidden}.teacher-profile svg{width:100%;display:block}.profile-body{padding:20px}.teacher-tagline{font-size:14px;color:#174b42;display:block}.profile-body p{font-size:13px}.profile-body h3{font-size:18px}#teacher-profile-dialog{border:0;border-radius:14px;padding:32px;max-width:600px;width:calc(100% - 40px)}#teacher-profile-dialog::backdrop{background:#10263899}#teacher-profile-details dt{font-weight:bold;margin-top:14px}#teacher-profile-details dd{margin:4px 0;color:#607080}@media(max-width:900px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.profile-grid{grid-template-columns:1fr}}.tuition-audiences{grid-template-columns:1fr}.hero-photo{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #174b4220;border:6px solid #fff}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero .grid{grid-template-columns:1fr 1.15fr;gap:40px}@media(max-width:760px){.hero .grid{grid-template-columns:1fr}.hero-photo{border-radius:18px}}.tutor-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:24px 0}.tutor-tabs{display:flex;gap:12px;margin-bottom:24px}.tutor-face{display:block;width:100%;height:220px;object-fit:contain;background:#f5f8f8}.teacher-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.teacher-id{border:1px solid #cbdad4;border-radius:6px;padding:9px;font-size:12px;font-weight:bold}.verification-badge{display:inline-block;border-radius:20px;background:#fff3da;color:#785815;padding:5px 10px;font-size:12px}.shortlist-btn{margin-top:14px;padding:9px 12px;border:1px solid #174b42;border-radius:6px;background:white;color:#174b42;cursor:pointer}@media(max-width:760px){.tutor-filters{grid-template-columns:1fr}} .tutor-match-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#edf7f3;border:1px solid #d3e7df;border-radius:14px;padding:24px;margin:24px 0}.tutor-match-callout p{margin-bottom:0;max-width:620px}.tutor-match-callout .btn{flex-shrink:0}.tutor-request-panel{border:1px solid #d3e7df;border-radius:14px;padding:28px;margin:24px 0;scroll-margin-top:120px}.match-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.match-consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px}.match-consent input{width:auto;margin-top:5px}.match-demo{font-size:13px;color:#765c27}@media(max-width:760px){.tutor-match-callout{flex-direction:column;align-items:flex-start}.match-form-grid{grid-template-columns:1fr}.tutor-request-panel{padding:20px}}.demo-class-btn{display:block;width:100%;margin-top:14px}.verification-badge{background:#e4f4ec;color:#174b42}.tutor-name-id{font-size:12px;font-weight:600;color:#607080;white-space:nowrap}.demo-class-btn{background:#2166b1;color:#fff}.demo-class-btn:hover{background:#174d89}.demo-class-btn:focus-visible{outline:3px solid #f0b650;outline-offset:3px}.course-hub{background:#f5f8fc}.course-guidance{padding:22px 26px;background:#fff;border-left:4px solid #2166b1;border-radius:12px;margin-bottom:26px}.course-guidance p{font-size:14px;margin:8px 0}.course-disclosure{font-size:12px!important}.course-category-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.course-category{border:1px solid #cbd9e6;background:white;color:#24415e;padding:11px 16px;border-radius:24px;font:inherit;font-size:14px;cursor:pointer}.course-category.selected{background:#174b42;color:#fff;border-color:#174b42}.course-category:focus-visible{outline:3px solid #f0b650;outline-offset:3px}.course-search-label{max-width:500px}.course-results-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:26px 0 16px}.course-results-heading span{font-size:13px;color:#607080}.course-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-card{background:white;border:1px solid #e0e7ef;border-radius:14px;padding:24px;display:flex;flex-direction:column;box-shadow:0 5px 20px #173b3206}.course-number{font-size:13px;font-weight:bold;color:#2166b1}.course-card h3{font-size:19px}.course-card p{font-size:14px;margin-bottom:20px}.course-link{margin-top:auto;align-self:flex-start;background:#2166b1}.course-footer-note{padding:22px 0;font-size:14px}.course-footer-note a{font-weight:bold;color:#174b42}@media(max-width:850px){.course-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.course-cards{grid-template-columns:1fr}.course-results-heading{align-items:flex-start;flex-direction:column;gap:0}}#tutors a.btn[href="#tutor-registration"],#tutor-registration button.btn{color:#fff;background:#174b42}.school-section{background:#f4f8fb}.school-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.school-hero img{width:100%;height:auto;border-radius:20px;box-shadow:0 15px 40px #173b3215}.school-note{font-size:13px}.school-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.school-service{background:white;border:1px solid #dce7ec;border-radius:14px;padding:26px;display:flex;flex-direction:column}.school-service p{font-size:14px}.school-service .btn{margin-top:auto;align-self:flex-start}.school-enquiry{padding:30px;background:#fff;border-radius:14px;margin-top:30px;scroll-margin-top:110px}@media(max-width:850px){.school-services{grid-template-columns:repeat(2,minmax(0,1fr))}.school-hero{grid-template-columns:1fr}}@media(max-width:560px){.school-services{grid-template-columns:1fr}}.page-intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;margin-bottom:30px}.page-intro-grid .intro{margin-bottom:0;max-width:none}.page-intro-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px;box-shadow:0 12px 35px #173b3218}.contact .page-intro-photo{margin-bottom:24px}@media(max-width:760px){.page-intro-grid{grid-template-columns:1fr;gap:20px}.page-intro-photo{max-height:330px}}.tutor-filters{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.tutor-filters{grid-template-columns:1fr}}.sample-class-btn{display:block;width:100%;background:#d98617;color:#fff;margin-top:18px}.sample-class-btn:hover{background:#b36a0c}#tutor-signin-dialog{border:0;border-radius:14px;padding:30px;max-width:520px;width:calc(100% - 40px)}#tutor-signin-dialog::backdrop{background:#10263899}.adult-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.adult-learning-choice{padding:20px;border:1px solid #cdded7;border-radius:10px;background:#f0f7f4;text-align:left;font:inherit;font-weight:bold;color:#174b42;cursor:pointer}.adult-learning-choice:hover{background:#dfefe7}@media(max-width:760px){.adult-learning-grid{grid-template-columns:1fr}}
/* University learning buttons match the green school-level style. */
[id$="-university"] .tab,[id$="-university"] .adult-learning-choice{background:#174b42;color:#fff;border-color:#174b42}
[id$="-university"] .tab:hover,[id$="-university"] .adult-learning-choice:hover{background:#226454;border-color:#226454}
[id$="-university"] button:focus-visible{outline:3px solid #e5bd66;outline-offset:3px}

/* Compact university tabs follow the school-level selection pattern. */
[id$="-university"] .tab{background:#fff;color:#174b42;border-color:#cbdad3}
[id$="-university"] .tab:hover{background:#f0f7f4;border-color:#174b42}
[id$="-university"] .tab.active{background:#174b42;color:#fff;border-color:#174b42}

/* Simple subject hubs: searchable rows and four content filters. */
#subject-resources .wrap,#teacher-subject-resources .wrap{max-width:960px}
.subject-hub-header{background:#0b3f29;color:#fff;padding:24px;border-radius:12px 12px 0 0}
.subject-hub-header h2{font-size:27px;color:#fff;margin:8px 0}
.subject-hub-header p{color:#fff;font-size:14px;margin:6px 0}
.subject-hub-brand{font-weight:bold}.subject-breadcrumb{font-size:12px!important}
.subject-hub-tools{background:#fff;padding:18px 20px}.subject-search-label{margin:0;font-size:12px}.subject-search-label input{border-radius:30px;margin:6px 0 12px;font-size:14px}
.subject-filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.subject-filter{border:1px solid #d6ddd8;border-radius:24px;background:#fff;color:#39483e;padding:7px 16px;cursor:pointer;font:inherit;font-size:13px}.subject-filter.selected{background:#174b42;color:#fff;border-color:#174b42}
.subject-content-list{display:block;background:#fff;padding:0 20px 20px}.subject-list-item{border:1px solid #dce3de;border-radius:9px;background:#fff;margin-bottom:12px;overflow:hidden}
.subject-list-item summary,.subject-course-row{display:flex;align-items:center;gap:18px;padding:18px;cursor:pointer;list-style:none}.subject-list-item summary::-webkit-details-marker{display:none}.subject-item-icon{color:#15914b;font-size:23px;flex-shrink:0}.subject-item-name{flex:1;min-width:0}.subject-item-name strong{display:block;font-size:15px;color:#172b40}.subject-item-name small{display:block;font-size:12px;color:#65736b;margin-top:4px}.subject-view{border:1px solid #dce3de;border-radius:20px;padding:4px 12px;font-size:12px;white-space:nowrap;background:#fff;color:#174b42}.subject-item-body{padding:0 20px 20px 59px}.subject-item-body p{font-size:14px}.subject-item-body .btn{margin-top:10px}.subject-empty,.subject-video-status p{padding:18px;border:1px solid #dce3de;border-radius:9px;font-size:14px;background:#fff}.subject-empty{margin:0 20px 20px}.subject-filter:focus-visible,.subject-list-item summary:focus-visible{outline:3px solid #e5bd66;outline-offset:2px}
@media(max-width:600px){.subject-hub-header{padding:20px}.subject-hub-tools,.subject-content-list{padding-left:12px;padding-right:12px}.subject-list-item summary,.subject-course-row{gap:10px;padding:14px}.subject-item-body{padding:0 14px 16px}.subject-item-name strong{font-size:14px}}

#teacher-profile-dialog{width:min(820px,94vw);max-width:820px;padding:0;max-height:90vh;overflow:auto;border:0;border-radius:14px}.profile-banner{background:#0b3f29;color:#fff;padding:18px 24px}.profile-banner small,.profile-banner strong{display:block}.profile-content{padding:24px}.profile-identity{display:flex;align-items:center;gap:22px}.profile-identity img{width:120px;height:150px;object-fit:cover;border-radius:10px}.profile-identity h2{font-size:27px}.profile-verified{color:#16884d;margin:5px 0}.profile-stats,.profile-contribution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0;text-align:center}.profile-stats strong,.profile-stats small,.profile-contribution-grid strong,.profile-contribution-grid small{display:block}.profile-contribution-grid>div{border:1px solid #dce3de;border-radius:9px;padding:18px}.profile-contribution-grid strong{font-size:26px}.profile-contribution-grid small{font-size:13px}.profile-content #profile-demo-request{width:100%;justify-content:center}.profile-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.profile-video-card video{width:100%;max-height:300px;background:#111;border-radius:9px;margin-top:8px}.profile-video-card strong{display:block;font-size:14px}.profile-recognition{background:#edf8f1;color:#174b42;padding:20px;border-radius:8px}.profile-material-row{display:flex;gap:15px;flex-wrap:wrap;justify-content:space-between;padding:18px 0;border-bottom:1px solid #e2e8e5}.profile-preview-note{font-size:12px}.tutor-video-manager{margin-top:40px;border-top:1px solid #dce3de;padding-top:25px}.tutor-video-manager form{max-width:620px}.profile-content h3{margin-top:26px}@media(max-width:600px){.profile-content{padding:18px}.profile-identity{gap:14px}.profile-identity img{width:85px;height:110px}.profile-identity h2{font-size:21px}.profile-video-grid{grid-template-columns:1fr}}

.profile-model-notice{padding:12px 16px;background:#fff7df;border:1px solid #ebd99e;border-radius:8px;font-size:13px;color:#665322}

/* Tutor profile model: biography, paired videos, contributions and booking. */
.profile-banner{display:flex;align-items:center;justify-content:space-between}.profile-banner span{font-size:12px}.profile-stats{grid-template-columns:repeat(3,1fr)}.profile-stats strong{font-size:20px}.profile-stats small{font-size:12px;color:#607080}.profile-content>h3{font-size:18px}.profile-meet{border-bottom:1px solid #e2e8e5;padding-bottom:20px;margin-bottom:24px}.profile-meet-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-meet-grid h4{font-size:15px;margin:8px 0 0}.profile-meet-grid small{color:#607080;font-size:12px}.profile-meet-grid .profile-video-grid{display:block}.profile-meet-grid .profile-video-card{margin-bottom:12px}.profile-contribution-grid{margin:16px 0}.profile-recognition{margin:20px 0}.profile-content #profile-material-tabs{display:flex;gap:0;margin:16px 0}.profile-content #profile-material-tabs button{flex:1;border:0;color:#607080;background:transparent}.profile-content #profile-material-tabs button.selected{color:#172b40;background:#f0f2f1}.profile-content #profile-learning-materials h4{font-size:15px;font-weight:500;margin:24px 0 4px}.profile-booking{border-top:1px solid #e2e8e5;padding-top:10px;margin-top:24px}.profile-booking-meta{display:flex;justify-content:space-between;gap:20px;margin:12px 0 20px}.profile-booking-meta small,.profile-booking-meta strong{display:block}.profile-booking-meta small{font-size:12px;color:#607080}.profile-booking-meta strong{font-size:18px}.profile-booking-meta>div:last-child{text-align:right}.profile-booking #profile-demo-request{border-radius:30px;background:#0b3f29;color:#fff}@media(max-width:600px){.profile-meet-grid{grid-template-columns:1fr}.profile-stats strong{font-size:16px}}



/* ==========================================================================
   ELEMENTOR FULL INTEGRATION & GRANULAR WIDGET BRIDGE
   ========================================================================== */

/* Universal Resets */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Strict Hidden Panel Enforcement across all Elementor containers */
.elementor-element[hidden],
.e-con[hidden],
.e-con-inner[hidden],
[hidden],
#tutor-request[hidden],
#panel-tutors-1[hidden],
#panel-tutors-2[hidden],
#student-registration[hidden],
#resources-university[hidden],
#resources-adult[hidden],
#teacher-resources-university[hidden],
#teacher-resources-adult[hidden],
#subject-resources[hidden],
#teacher-subject-resources[hidden],
#paid-resource-enquiry[hidden],
#school-enquiry[hidden],
[id^="panel-"][hidden] {
    display: none !important;
}

/* Base Body & Typography */
body.elementor-page {
    font-family: Arial, sans-serif !important;
    color: #172b40 !important;
    background-color: #ffffff !important;
    margin: 0 !important;
    line-height: 1.65 !important;
    font-size: 16px !important;
}

/* Universal Elementor Container Overrides */
.elementor-element.e-con {
    --gap: 0px;
}

/* Only genuine .wrap containers receive the 1120px max-width and 28px side padding */
.wrap,
.wrap.e-con,
.wrap.e-con-boxed,
.elementor-element.wrap {
    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
    display: block !important;
}
.wrap > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Inner containers that are not .wrap should reset default Elementor boxed paddings and margins, except cards and specially padded containers */
.e-con-boxed:not(.wrap):not(.card):not([class*="card"]):not(.contact):not(#tutor-registration):not(.brand-col):not(.nav-buttons-col):not(.callout-text-wrap):not(.callout-btn-wrap):not(.footer-nav-buttons):not(.tutor-match-callout) {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.e-con-boxed:not(.wrap):not(.card):not([class*="card"]):not(.contact):not(#tutor-registration):not(.brand-col):not(.nav-buttons-col):not(.callout-text-wrap):not(.callout-btn-wrap):not(.footer-nav-buttons):not(.tutor-match-callout) > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Pristine Card styling matching reference HTML */
.card,
.card.e-con,
.card.e-con-boxed,
.elementor-element.card,
.elementor-element[class*="card"] {
    border: 1px solid #e2e8e5 !important;
    border-radius: 12px !important;
    padding: 27px !important;
    padding-left: 27px !important;
    padding-right: 27px !important;
    padding-top: 27px !important;
    padding-bottom: 27px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Elementor container cards use flex-column with flex-start alignment */
.card.e-con,
.card.e-con-boxed,
.elementor-element.card.e-con {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* Programme Note Cards inside tabs */
.card.programme-note {
    display: block !important;
    margin-bottom: 25px !important;
}

/* Tag Pill Badges - never stretch horizontally */
.tag,
span.tag,
.card .tag,
.programme-note .tag {
    display: inline-block !important;
    width: auto !important;
    max-width: fit-content !important;
    align-self: flex-start !important;
    font-size: 11px !important;
    background: #edf5ef !important;
    color: #28765f !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
}

/* Photo and resource cards maintain zero outer padding */
.card.resource-card,
.card.photo-card,
.elementor-element.resource-card,
.elementor-element.photo-card {
    padding: 0 !important;
    overflow: hidden !important;
}

.card > .e-con-inner,
.card.e-con > .e-con-inner,
.elementor-element.card > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0px !important;
}

.card h3,
.card.programme-note h3,
.card .elementor-heading-title,
.card h3.elementor-heading-title {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #172b40 !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.card p,
.card.programme-note p,
.card .elementor-widget-text-editor p {
    font-size: 14px !important;
    color: #607080 !important;
    line-height: 1.65 !important;
    margin: 14px 0 !important;
    padding: 0 !important;
}

.card a:not(.btn):not(.elementor-button),
.card.programme-note a {
    color: #174b42 !important;
    font-weight: bold !important;
    font-size: 14px !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.card a:not(.btn):not(.elementor-button):hover,
.card.programme-note a:hover {
    text-decoration: underline !important;
}

.card .elementor-widget-button {
    margin: 0 !important;
    padding: 0 !important;
    align-self: flex-start !important;
    width: auto !important;
}

.card .elementor-button,
.card .btn,
.card a.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #174b42 !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 10px 18px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    border: none !important;
}


/* Top-Level Section Spacings & Backgrounds matching reference HTML */
.elementor-element.tuition-section,
.elementor-element.tutors-section,
.elementor-element.resources-section,
.elementor-element.teacher-resources-section,
.elementor-element.course-hub,
.elementor-element.schools-section,
.elementor-element.contact-section,
.elementor-element[id="tuition"],
.elementor-element[id="tutors"],
.elementor-element[id="resources"],
.elementor-element[id="teacher-resources"],
.elementor-element[id="teacher-subject-resources"],
.elementor-element[id="subject-resources"],
.elementor-element[id="courses"],
.elementor-element[id="paid-resource-enquiry"],
.elementor-element[id="schools"],
.elementor-element[id="contact"] {
    padding: 66px 0 !important;
    scroll-margin-top: 85px !important;
    width: 100% !important;
}

.elementor-element.soft,
.elementor-element[id="resources"],
.elementor-element[id="teacher-resources"],
.elementor-element[id="teacher-subject-resources"],
.elementor-element[id="subject-resources"],
.elementor-element[id="paid-resource-enquiry"] {
    background: #f7f9fb !important;
}

.elementor-element.course-hub,
.elementor-element[id="courses"] {
    background: #f5f8fc !important;
}

.elementor-element.school-section,
.elementor-element.schools-section,
.elementor-element[id="schools"] {
    background: #f4f8fb !important;
}

.elementor-element[id="tuition"],
.elementor-element[id="tutors"],
.elementor-element.tuition-section,
.elementor-element.tutors-section {
    background: #ffffff !important;
}

/* 1. ANNOUNCEMENT BAR */
.elementor-element.demo,
.demo {
    font-size: 11px !important;
    background: #fff5dc !important;
    color: #765c27 !important;
    padding: 7px 15px !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 !important;
}
.demo .elementor-widget-text-editor p,
.demo p {
    margin: 0 !important;
    color: #765c27 !important;
    font-size: 11px !important;
}

/* 2. HEADER & NAVIGATION */
.site-header-container {
    border-bottom: 1px solid #e6eaf0 !important;
    background: #ffffff !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    width: 100% !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
}
.site-header-container .header-wrap,
.site-header-container .header-wrap > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 25px !important;
    padding: 8px 0 !important;
    width: 100% !important;
}
.site-header-container .brand-col,
.site-header-container .brand-col.e-con,
.site-header-container .brand-col.e-con-boxed,
.site-header-container .brand-col > .e-con-inner {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-header-container .brand-image img,
.brand-image img {
    display: block !important;
    width: 150px !important;
    height: 100px !important;
    object-fit: contain !important;
}
.site-header-container .nav-buttons-col,
.site-header-container .nav-buttons-col.e-con,
.site-header-container .nav-buttons-col.e-con-boxed {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-header-container .nav-buttons-col > .e-con-inner,
.site-header-container .links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    row-gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-header-container .nav-buttons-col .elementor-widget-button,
.site-header-container .nav-buttons-col .elementor-widget-button.nav-btn {
    width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
}

/* Navigation Links (Text Buttons matching .links a) */
.nav-btn .elementor-button,
.elementor-widget-button.nav-btn .elementor-button {
    background: transparent !important;
    color: #172b40 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    line-height: normal !important;
}
.nav-btn .elementor-button:hover,
.elementor-widget-button.nav-btn .elementor-button:hover {
    color: #174b42 !important;
    background: transparent !important;
}

/* 3. HERO SECTION */
.hero {
    background: #f1f6f3 !important;
    padding: 72px 0 !important;
    width: 100% !important;
}
.hero .grid {
    display: block !important;
}
.hero .grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr 1.15fr !important;
    gap: 40px !important;
    align-items: center !important;
    width: 100% !important;
}
.hero-content-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
.eyebrow .elementor-heading-title,
span.eyebrow {
    color: #28765f !important;
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 8px !important;
}
.hero-heading .elementor-heading-title,
h1.elementor-heading-title {
    font-size: 54px !important;
    line-height: 1.12 !important;
    letter-spacing: -2px !important;
    margin: 18px 0 22px !important;
    color: #172b40 !important;
    font-weight: 800 !important;
}
.hero-paragraph p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #607080 !important;
    margin-bottom: 24px !important;
}
.hero .actions,
.hero .actions.e-con,
.actions,
.actions.e-con {
    display: block !important;
    margin-top: 28px !important;
    width: 100% !important;
}
.hero .actions > .e-con-inner,
.actions > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    width: 100% !important;
}
.actions .elementor-widget-button,
.actions .elementor-widget {
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
}
.actions .elementor-button {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
}

.hero-photo,
.hero-photo.e-con,
.hero-photo-col.hero-photo {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(23,75,66,0.14) !important;
    border: 6px solid #ffffff !important;
    display: block !important;
    background: #ffffff !important;
}
.hero-photo > .e-con-inner {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
.hero-photo img,
.hero-photo .hero-photo-img img,
.hero-photo-img img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3/2 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
}

/* 4. STRIP */
.strip {
    padding: 21px 0 !important;
    border-bottom: 1px solid #e9edf0 !important;
    color: #61726b !important;
    font-size: 13px !important;
    text-align: center !important;
    background: #ffffff !important;
    width: 100% !important;
}
.strip-text p {
    margin: 0 !important;
    color: #61726b !important;
    font-size: 13px !important;
}

/* 4.1 TUTOR MATCH CALLOUT */
.tutor-match-callout,
.tutor-match-callout.e-con,
.tutor-match-callout.e-con-boxed,
.elementor-element.tutor-match-callout {
    background: #edf7f3 !important;
    border: 1px solid #d3e7df !important;
    border-radius: 14px !important;
    padding: 24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    margin: 24px 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}
.tutor-match-callout > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.tutor-match-callout .callout-text-wrap,
.tutor-match-callout .callout-text-wrap.e-con,
.tutor-match-callout .callout-text-wrap.e-con-boxed,
.tutor-match-callout .callout-text-wrap > .e-con-inner {
    width: auto !important;
    max-width: 620px !important;
    flex: 1 1 auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
}
.tutor-match-callout .callout-text-wrap .elementor-widget,
.tutor-match-callout .callout-text-wrap .elementor-widget-heading,
.tutor-match-callout .callout-text-wrap .elementor-widget-text-editor {
    margin: 0 !important;
    padding: 0 !important;
}
.tutor-match-callout .callout-text-wrap h3,
.tutor-match-callout .callout-text-wrap .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
    margin: 12px 0 16px 0 !important;
    padding: 0 !important;
    color: #172b40 !important;
    font-weight: bold !important;
}
.tutor-match-callout .callout-text-wrap p,
.tutor-match-callout .callout-text-wrap .elementor-widget-text-editor p {
    font-size: 16px !important;
    color: #607080 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 620px !important;
    line-height: 1.65 !important;
}
.tutor-match-callout .callout-btn-wrap,
.tutor-match-callout .callout-btn-wrap.e-con,
.tutor-match-callout .callout-btn-wrap.e-con-boxed {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}
.tutor-match-callout .callout-btn-wrap > .e-con-inner {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}
.tutor-match-callout .callout-btn-wrap .elementor-widget-button {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
}
.tutor-match-callout .btn,
.tutor-match-callout .callout-btn-wrap .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #174b42 !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    padding: 12px 22px !important;
    font-weight: bold !important;
    font-size: 14px !important;
    line-height: normal !important;
    height: auto !important;
    min-height: auto !important;
    border: 0 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.tutor-match-callout .btn:hover,
.tutor-match-callout .callout-btn-wrap .elementor-button:hover {
    background: #0f352e !important;
    color: #ffffff !important;
}

/* 5. NATIVE BUTTON WIDGET STYLES & UNIVERSAL WIDGET RESET */

/* Universal Reset for ALL Elementor Button Widgets:
   In Elementor, custom classes (like .btn, .secondary, .tab) are attached to the widget wrapper <div>.
   The wrapper MUST BE completely transparent, unbordered, zero-padded, and shadow-free so that
   only the inner clickable .elementor-button is styled, preventing double borders and nested boxes. */
.elementor-widget-button,
.elementor-widget-button.btn,
.elementor-widget-button.secondary,
.elementor-widget-button.tab,
.elementor-widget-button.hero-cta-primary,
.elementor-widget-button.hero-cta-secondary,
.elementor-widget-button.header-cta,
.elementor-widget-button.course-category,
.elementor-widget-button.shortlist-btn,
.elementor-widget-button.sample-class-btn,
.elementor-widget-button.demo-class-btn,
.elementor-widget-button.inside-button,
.elementor-widget-button.exam-download,
.elementor-widget-button.marking-scheme,
.elementor-widget-button.paid-buy-button,
.elementor-widget-button.syllabus-download,
.elementor-widget-button.course-link {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.elementor-widget-button > .elementor-widget-container,
.elementor-widget-button > .elementor-widget-container > .elementor-button-wrapper {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* Primary Button (.btn, .hero-cta-primary, .header-cta) */
.btn .elementor-button,
.elementor-button.btn,
.elementor-widget-button.btn .elementor-button,
.header-cta .elementor-button,
.hero-cta-primary .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #174b42 !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    padding: 12px 22px !important;
    font-family: Arial, sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    line-height: 23.1px !important;
    border: 0 !important;
    cursor: pointer !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
}
.btn .elementor-button:hover,
.hero-cta-primary .elementor-button:hover,
.header-cta .elementor-button:hover {
    background: #0f352e !important;
    color: #ffffff !important;
}

/* Secondary Button (.btn.secondary, .hero-cta-secondary) */
.btn.secondary .elementor-button,
.elementor-widget-button.secondary .elementor-button,
.elementor-widget-button.btn.secondary .elementor-button,
.hero-cta-secondary .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    color: #174b42 !important;
    border: 1px solid #ccd9d4 !important;
    border-radius: 7px !important;
    padding: 12px 22px !important;
    font-family: Arial, sans-serif !important;
    font-weight: bold !important;
    font-size: 14px !important;
    line-height: 23.1px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease !important;
}
.btn.secondary .elementor-button:hover,
.elementor-widget-button.secondary .elementor-button:hover,
.hero-cta-secondary .elementor-button:hover {
    background: #f0f7f4 !important;
    color: #174b42 !important;
}

/* Tabbar & Tab Buttons */
.tabbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 20px 0 25px !important;
    width: 100% !important;
}

.tabbar.e-con,
.elementor-element.tabbar.e-con {
    display: block !important;
}

/* Learning Hierarchy & Tabbar Spacing Optimization */
.learning-structure .eyebrow,
.learning-structure .elementor-heading-title {
    margin-bottom: 6px !important;
}

.learning-structure .tabbar,
.learning-structure .tabbar.e-con,
.learning-structure div.tabbar,
#resources-academic,
#resources-academic .tabbar,
#resources-school .tabbar,
#resources-school div.tabbar,
#resources-university .tabbar,
#resources-adult .tabbar,
#teacher-resources-academic,
#teacher-resources-academic .tabbar,
#teacher-resources-school .tabbar,
#teacher-resources-school div.tabbar,
#teacher-resources-university .tabbar,
#teacher-resources-adult .tabbar,
[id^="panel-resources-"] .tabbar,
[id^="panel-teacher-"] .tabbar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 6px 0 12px !important;
}

/* Intermediate filter tier headings */
#resources-school h3,
#resources-school .elementor-heading-title,
#resources-school h3.elementor-heading-title,
#resources-university h3,
#resources-university .elementor-heading-title,
#resources-adult h3,
#resources-adult .elementor-heading-title,
#teacher-resources-school h3,
#teacher-resources-school .elementor-heading-title,
#teacher-resources-school h3.elementor-heading-title,
#teacher-resources-university h3,
#teacher-resources-university .elementor-heading-title,
#teacher-resources-adult h3,
#teacher-resources-adult .elementor-heading-title {
    color: #172b40 !important;
    font-size: 20px !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
    margin: 14px 0 8px !important;
}

/* Adequate breathing room before content cards */
[id^="panel-resources-boards-"] .tabbar,
[id^="panel-teacher-resources-boards-"] .tabbar {
    margin: 6px 0 22px !important;
}
.tabbar > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
}
.tabbar .elementor-widget-button,
.tabbar .elementor-widget {
    width: auto !important;
    display: inline-flex !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tab .elementor-button,
.elementor-widget-button.tab .elementor-button,
button.tab,
.tab:not(.elementor-widget-button) {
    background: #ffffff !important;
    color: #174b42 !important;
    border: 1px solid #cbdad3 !important;
    border-radius: 7px !important;
    padding: 11px 18px !important;
    font: 600 14px Arial, sans-serif !important;
    cursor: pointer !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
}
.tab.active .elementor-button,
.elementor-widget-button.tab.active .elementor-button,
button.tab.active,
.tab.active:not(.elementor-widget-button) {
    background: #174b42 !important;
    color: #ffffff !important;
    border-color: #174b42 !important;
}
.tab .elementor-button:hover,
button.tab:hover,
.tab:not(.elementor-widget-button):hover {
    background: #f0f7f4 !important;
    border-color: #174b42 !important;
}
.tab.active .elementor-button:hover,
button.tab.active:hover,
.tab.active:not(.elementor-widget-button):hover {
    background: #174b42 !important;
    color: #ffffff !important;
}

/* Course categories */
.course-category .elementor-button,
.elementor-widget-button.course-category .elementor-button,
.course-category:not(.elementor-widget-button) {
    border: 1px solid #cbd9e6 !important;
    background: #ffffff !important;
    color: #24415e !important;
    padding: 11px 16px !important;
    border-radius: 24px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
}
.course-category.selected .elementor-button,
.elementor-widget-button.course-category.selected .elementor-button,
.course-category.selected:not(.elementor-widget-button) {
    background: #174b42 !important;
    color: #ffffff !important;
    border-color: #174b42 !important;
}

/* Tutor-Tabs (Search tutors / shortlist buttons) */
.tutor-tabs {
    display: block !important;
    margin-bottom: 24px !important;
    width: 100% !important;
}
.tutor-tabs > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}
.tutor-tabs .elementor-widget-button,
.tutor-tabs .elementor-widget {
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
}
.tutor-tabs .elementor-button {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 6. GENERAL HEADINGS & TYPOGRAPHY */
h2.elementor-heading-title,
.elementor-widget-heading h2 {
    font-size: 32px !important;
    line-height: 1.2 !important;
    margin: 12px 0 !important;
    color: #172b40 !important;
    font-weight: bold !important;
}
h3.elementor-heading-title,
.elementor-widget-heading h3 {
    font-size: 20px !important;
    margin: 10px 0 !important;
    color: #172b40 !important;
    font-weight: bold !important;
}
.elementor-widget-text-editor p {
    color: #607080;
    line-height: 1.65;
}

/* 7. CALLOUT BOX & FORMS */
.tutor-match-callout,
.tutor-match-callout.e-con,
.tutor-match-callout.e-con-boxed,
.elementor-element.tutor-match-callout {
    background: #edf7f3 !important;
    border: 1px solid #d3e7df !important;
    border-radius: 14px !important;
    padding: 24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    margin: 24px 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tutor-match-callout > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tutor-match-callout .callout-text-wrap {
    flex: 1 1 auto !important;
    width: auto !important;
}
.tutor-match-callout .callout-text-wrap p {
    margin: 0 !important;
    max-width: 620px !important;
    color: #607080 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}
.tutor-match-callout .callout-btn-wrap {
    flex: 0 0 auto !important;
    width: auto !important;
}
.tutor-match-callout .elementor-widget-button,
.tutor-match-callout .btn {
    width: auto !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.tutor-match-callout h3.elementor-heading-title,
.tutor-match-callout h3 {
    margin: 0 0 6px 0 !important;
    color: #174b42 !important;
    font-size: 20px !important;
    font-weight: bold !important;
}
@media (max-width: 760px) {
    .tutor-match-callout > .e-con-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* Dropdown Filters (3 Columns: Exam Board / University, Subject, Experience) */
.tutor-filters,
.tutor-filters.e-con,
.tutor-filters.e-con-boxed,
.elementor-element.tutor-filters {
    width: 100% !important;
    display: block !important;
    margin: 24px 0 !important;
    padding: 0 !important;
}
.tutor-filters > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
}
.tutor-filters .elementor-widget-text-editor,
.tutor-filters .elementor-widget-text-editor > .elementor-widget-container,
.tutor-filters .elementor-widget {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: end !important;
}
.tutor-filters label {
    display: block !important;
    font-size: 13px !important;
    font-weight: normal !important;
    margin: 0 !important;
    color: #172b40 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.tutor-filters select {
    display: block !important;
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #c8d7d1 !important;
    border-radius: 5px !important;
    font: inherit !important;
    font-size: 14px !important;
    margin-top: 5px !important;
    background: #ffffff !important;
    color: #172b40 !important;
    box-sizing: border-box !important;
    height: 45px !important;
    outline: none !important;
}
.tutor-filters select:focus {
    border-color: #174b42 !important;
}
@media (max-width: 760px) {
    .tutor-filters .elementor-widget-text-editor,
    .tutor-filters .elementor-widget-text-editor > .elementor-widget-container,
    .tutor-filters .elementor-widget {
        grid-template-columns: 1fr !important;
    }
}

/* Elementor Pro Form Styling */
.tutor-request-panel {
    border: 1px solid #d3e7df !important;
    border-radius: 14px !important;
    padding: 28px !important;
    background: #ffffff !important;
    margin: 24px 0 !important;
}
.elementor-widget-form {
    width: 100% !important;
}
.elementor-widget-form .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    row-gap: 12px !important;
    column-gap: 0 !important;
}
.elementor-widget-form .elementor-field-group {
    padding: 0 10px !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
}
.elementor-widget-form .elementor-field-group.elementor-column-width-50 {
    width: 50% !important;
}
.elementor-widget-form .elementor-field-group.elementor-column-width-100 {
    width: 100% !important;
}
.elementor-widget-form label.elementor-field-label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
    color: #172b40 !important;
}
.elementor-widget-form input.elementor-field-textual,
.elementor-widget-form select.elementor-field-textual,
.elementor-widget-form textarea.elementor-field-textual {
    width: 100% !important;
    padding: 11px 14px !important;
    border: 1px solid #c8d7d1 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    background: #ffffff !important;
    color: #172b40 !important;
    box-sizing: border-box !important;
}
.elementor-widget-form input.elementor-field-textual:focus,
.elementor-widget-form select.elementor-field-textual:focus,
.elementor-widget-form textarea.elementor-field-textual:focus {
    border-color: #174b42 !important;
    outline: 2px solid rgba(23,75,66,0.15) !important;
}
.elementor-widget-form .elementor-field-type-submit {
    padding: 10px !important;
    width: 100% !important;
}
.elementor-widget-form .elementor-button {
    background: #174b42 !important;
    color: #ffffff !important;
    border-radius: 7px !important;
    padding: 13px 26px !important;
    font-weight: bold !important;
    font-size: 14px !important;
    border: none !important;
    cursor: pointer !important;
    width: auto !important;
}

/* 8. CARDS GRIDS */
.cards,
.igcse-cards-grid {
    display: block !important;
    width: 100% !important;
}
.cards > .e-con-inner,
.igcse-cards-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
}
.card {
    border: 1px solid #e2e8e5 !important;
    border-radius: 12px !important;
    padding: 27px !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
}
.card .elementor-widget-button,
.school-service .elementor-widget-button,
.course-card .elementor-widget-button {
    width: auto !important;
    margin-top: 16px !important;
    align-self: flex-start !important;
    display: inline-flex !important;
}
.card .elementor-button,
.school-service .elementor-button,
.course-card .elementor-button {
    width: auto !important;
    display: inline-flex !important;
    align-self: flex-start !important;
}
.resource-card.photo-card {
    border-radius: 14px !important;
    overflow: hidden !important;
    background-image: linear-gradient(110deg, var(--card-tone, rgba(23,75,66,0.9)), rgba(12,24,42,0.58)), url("/wp-content/uploads/tutorpalz/study-background.jpg") !important;
    background-size: cover !important;
    background-position: center !important;
    padding: 0 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important;
}
.resource-card .resource-content {
    padding: 24px !important;
    min-height: 240px !important;
    display: flex !important;
    flex-direction: column !important;
}
.resource-card .resource-content h3.elementor-heading-title,
.resource-card .resource-content h3 {
    color: #ffffff !important;
    font-size: 20px !important;
    margin-top: 0 !important;
}
.resource-card .resource-content p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    flex-grow: 1 !important;
}
.resource-card .resource-content .explore-btn .elementor-button,
.resource-card .resource-content .explore-btn a {
    color: #ffffff !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 14px !important;
    align-self: flex-start !important;
}
.num .elementor-heading-title,
span.num {
    font-size: 12px !important;
    color: #28765f !important;
    letter-spacing: 1px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 8px !important;
}

/* 8b. DYNAMIC PROFILE GRID (4-COLUMN TUTOR CARDS) */
.profile-grid,
.profile-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
}
.teacher-profile {
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e2e8e5 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
}
.tutor-face {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    object-fit: contain !important;
    background: #f5f8f8 !important;
}
.profile-body {
    padding: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.profile-body h3 {
    font-size: 18px !important;
    margin: 0 0 6px 0 !important;
}
.profile-body strong {
    font-size: 14px !important;
    color: #174b42 !important;
}
.profile-tagline {
    font-size: 13px !important;
    color: #607080 !important;
    margin: 6px 0 !important;
}
.verification-badge {
    display: inline-block !important;
    background: #e4f4ec !important;
    color: #174b42 !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 11px !important;
    font-weight: bold !important;
    margin: 8px 0 !important;
    align-self: flex-start !important;
}
.teacher-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
}
.teacher-actions .btn {
    width: 100% !important;
    text-align: center !important;
}
.shortlist-btn {
    margin-top: 10px !important;
    padding: 9px 12px !important;
    border: 1px solid #174b42 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #174b42 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    text-align: center !important;
}
.shortlist-btn:hover {
    background: #f0f7f4 !important;
}

/* 9. TWO-COLUMN GRIDS (.grid) */
#teacher-profiles {
    margin-top: 35px !important;
}
#hero-registration,
#student-registration {
    margin-top: 32px !important;
    scroll-margin-top: 180px !important;
}
#tutor-registration,
.tutor-registration-box {
    margin-top: 38px !important;
    padding: 32px !important;
    background: #f1f6f3 !important;
    border-radius: 14px !important;
    scroll-margin-top: 100px !important;
    display: block !important;
    width: 100% !important;
}
#tutor-registration > .e-con-inner,
.tutor-registration-box > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1.25fr 1fr !important;
    gap: 45px !important;
    align-items: center !important;
    width: 100% !important;
}

.free-tuition-wrap .grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1.25fr 1fr !important;
    gap: 45px !important;
    align-items: center !important;
    width: 100% !important;
}

.board {
    background: #fff !important;
    border-radius: 20px !important;
    padding: 32px !important;
    box-shadow: 0 15px 40px rgba(23,75,66,0.1) !important;
}

/* 10. COURSES HUB */
.course-hub {
    background: #f5f8fc !important;
}
#course-results.course-cards,
.course-cards {
    display: block !important;
    width: 100% !important;
}
#course-results.course-cards,
.course-cards > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
}
.course-card {
    background: #ffffff !important;
    border: 1px solid #e0e7ef !important;
    border-radius: 14px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 5px 20px rgba(23,59,50,0.04) !important;
}
.course-number .elementor-heading-title,
span.course-number {
    font-size: 13px !important;
    font-weight: bold !important;
    color: #2166b1 !important;
    display: block !important;
    margin-bottom: 6px !important;
}
.course-card p {
    font-size: 14px !important;
    margin-bottom: 20px !important;
    color: #607080 !important;
}
.course-link .elementor-button,
.course-link {
    background: #2166b1 !important;
    color: #ffffff !important;
    border-radius: 6px !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
    font-weight: bold !important;
}

/* 11. SCHOOLS SECTION */
.school-section {
    background: #f4f8fb !important;
}
.school-hero {
    display: block !important;
    width: 100% !important;
}
.school-hero > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    align-items: center !important;
    width: 100% !important;
}
.school-hero-img img,
.school-hero-photo img {
    width: 100% !important;
    height: auto !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 40px rgba(23,59,50,0.1) !important;
}
.school-services {
    display: block !important;
    margin-top: 28px !important;
    width: 100% !important;
}
.school-services > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
}
.school-service {
    background: #ffffff !important;
    border: 1px solid #dce7ec !important;
    border-radius: 14px !important;
    padding: 26px !important;
    display: flex !important;
    flex-direction: column !important;
}
.school-enquiry {
    padding: 30px !important;
    background: #fff !important;
    border-radius: 14px !important;
    margin-top: 30px !important;
    scroll-margin-top: 110px !important;
}

/* 12. CONTACT SECTION */
.contact {
    background: #174b42 !important;
    color: #ffffff !important;
    border-radius: 18px !important;
    padding: 40px !important;
    display: block !important;
    width: 100% !important;
}
.contact > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    width: 100% !important;
}
.contact h2.elementor-heading-title,
.contact h3.elementor-heading-title,
.contact .elementor-heading-title,
.contact p {
    color: #ffffff !important;
}
.contact p {
    color: #d5e7df !important;
}
.contact label.elementor-field-label {
    color: #ffffff !important;
}
.contact .eyebrow .elementor-heading-title,
.contact span.eyebrow,
.contact-eyebrow .elementor-heading-title {
    color: #e5bd66 !important;
}
.contact .elementor-widget-form .elementor-button,
.form-gold-submit .elementor-button {
    background: #e5bd66 !important;
    color: #173b32 !important;
    font-weight: bold !important;
}
.contact .elementor-widget-form .elementor-button:hover,
.form-gold-submit .elementor-button:hover {
    background: #d4a94f !important;
}

/* 13. ADULT LEARNING */
.adult-learning-grid {
    display: block !important;
    margin: 24px 0 !important;
    width: 100% !important;
}
.adult-learning-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
}
.adult-learning-choice-btn .elementor-button {
    width: 100% !important;
    padding: 20px !important;
    border: 1px solid #cdded7 !important;
    border-radius: 10px !important;
    background: #f0f7f4 !important;
    text-align: left !important;
    justify-content: flex-start !important;
    font-weight: bold !important;
    color: #174b42 !important;
    font-size: 15px !important;
}
.adult-learning-choice-btn .elementor-button:hover {
    background: #dfefe7 !important;
}

/* 14. FOOTER */
footer,
.site-footer-container,
.tutorpalz-footer {
    padding: 28px 0 !important;
    font-size: 12px !important;
    color: #667581 !important;
    border-top: 1px solid #edf0f2 !important;
    background: #ffffff !important;
}
.foot,
.wrap.foot {
    display: block !important;
    width: 100% !important;
}
.foot > .e-con-inner,
.wrap.foot > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 20px !important;
    width: 100% !important;
}
.foot-links,
.footer-nav-buttons {
    display: block !important;
    width: auto !important;
}
.foot-links > .e-con-inner,
.footer-nav-buttons > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    gap: 18px !important;
    align-items: center !important;
    width: auto !important;
}
.foot-links .elementor-widget-button,
.footer-nav-buttons .elementor-widget-button {
    width: auto !important;
    display: inline-flex !important;
}
.foot-link .elementor-button,
.foot-links .elementor-button {
    background: transparent !important;
    color: #667581 !important;
    padding: 0 !important;
    font-size: 12px !important;
    border: none !important;
    box-shadow: none !important;
    line-height: normal !important;
}
.foot-link .elementor-button:hover,
.foot-links .elementor-button:hover {
    color: #174b42 !important;
}

/* 15. PAGE INTRO GRIDS */
.page-intro-grid {
    display: block !important;
    margin-bottom: 30px !important;
    width: 100% !important;
}
.page-intro-grid > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1.1fr 1fr !important;
    gap: 36px !important;
    align-items: center !important;
    width: 100% !important;
}
.page-intro-photo img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3/2 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 35px rgba(23,59,50,0.1) !important;
}

/* RESPONSIVE BREAKPOINTS MATCHING REFERENCE CSS */
@media (max-width: 900px) {
    #tutor-results.profile-grid,
    .profile-grid,
    .profile-grid > .e-con-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .wrap,
    .wrap.e-con-boxed,
    .elementor-element.wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .site-header-container .header-wrap > .e-con-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .site-header-container .nav-buttons-col > .e-con-inner {
        justify-content: flex-start !important;
        gap: 10px !important;
    }
    .hero {
        padding: 45px 0 !important;
    }
    .hero .grid > .e-con-inner,
    .school-hero > .e-con-inner,
    .contact > .e-con-inner,
    .page-intro-grid > .e-con-inner,
    #tutor-registration > .e-con-inner,
    .free-tuition-wrap .grid > .e-con-inner {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }
    .contact {
        padding: 24px !important;
    }
    .cards,
    .cards > .e-con-inner,
    .igcse-cards-grid,
    .igcse-cards-grid > .e-con-inner,
    #course-results.course-cards,
    .course-cards,
    .course-cards > .e-con-inner,
    .school-services,
    .school-services > .e-con-inner,
    .adult-learning-grid,
    .adult-learning-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
    }
    .elementor-widget-form .elementor-field-group.elementor-column-width-50 {
        width: 100% !important;
    }
    .hero-heading .elementor-heading-title,
    h1.elementor-heading-title {
        font-size: 40px !important;
    }
    .hero-photo {
        border-radius: 18px !important;
    }
    .foot > .e-con-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .tutor-match-callout > .e-con-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 16px !important;
        height: auto !important;
    }
    .tutor-match-callout .callout-text-wrap,
    .tutor-match-callout .callout-text-wrap.e-con,
    .tutor-match-callout .callout-text-wrap.e-con-boxed,
    .tutor-match-callout .callout-text-wrap > .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        height: auto !important;
    }
    .tutor-match-callout .callout-btn-wrap,
    .tutor-match-callout .callout-btn-wrap.e-con,
    .tutor-match-callout .callout-btn-wrap.e-con-boxed,
    .tutor-match-callout .callout-btn-wrap > .e-con-inner {
        width: auto !important;
        flex: 0 0 auto !important;
        height: auto !important;
    }
}

@media (max-width: 560px) {
    #tutor-results.profile-grid,
    .profile-grid,
    .profile-grid > .e-con-inner,
    #course-results.course-cards,
    .course-cards,
    .course-cards > .e-con-inner,
    .cards,
    .cards > .e-con-inner,
    .igcse-cards-grid,
    .igcse-cards-grid > .e-con-inner,
    .school-services,
    .school-services > .e-con-inner,
    .adult-learning-grid,
    .adult-learning-grid > .e-con-inner {
        grid-template-columns: 1fr !important;
    }
}
